@font-face{font-family:Jakarta;src:url("assets/fonts/jakarta.ttf") format("truetype");font-weight:200 800;font-display:swap}
@font-face{font-family:Chivo;src:url("assets/fonts/chivo-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Chivo;src:url("assets/fonts/chivo-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:ChivoMono;src:url("assets/fonts/chivomono-400.ttf") format("truetype");font-weight:400;font-display:swap}
:root{--paper:#f8fafc;--ink:#0d274c;--blue:#1d4ed8;--mist:#dce6ea;--muted:#526676;--line:#0d274c24}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 Chivo,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Jakarta,Arial,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{display:block}button,a,input,select{touch-action:manipulation}
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}
.p-hero{min-height:calc(100svh - 100px);display:flex;align-items:center;flex-direction:column;justify-content:center;padding:24px 24px 30px;overflow:hidden;position:relative}
.p-hero-copy{text-align:center}.p-hero h1{font-size:clamp(5rem,10.3vw,10rem);line-height:.98;font-weight:600;letter-spacing:-.06em;word-spacing:.035em}.p-hero h1 span{display:block}.p-hero-copy>p{font-size:1rem;margin-top:30px;color:var(--muted)}
.p-flow{width:min(900px,85vw);height:180px;position:relative;margin:24px auto 12px}
.p-flow-lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.p-flow-lines path{stroke:#97abc0;stroke-width:1}.p-flow-lines .flow-out{stroke:var(--blue);stroke-width:1.5}.flow-end{fill:var(--blue)}
.p-flow-input{position:absolute;display:grid;place-items:center;background:#f8f8f4;border:1px solid #cad4dc;border-radius:4px;width:102px;height:38px;left:7%;font-size:.8125rem;box-shadow:0 4px 14px #0d274c04}
.input-one{top:15px;transform:rotate(-6deg)}.input-two{top:71px;left:9%;transform:rotate(3deg)}.input-three{top:127px;transform:rotate(-3deg)}
.p-flow-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;background:var(--blue);color:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 12px var(--paper)}
.p-flow-core svg{width:62px}.p-flow-result{position:absolute;right:1%;top:50%;transform:translateY(-50%);padding:12px 18px;background:var(--paper);font-size:.9375rem}
.p-discover{display:flex;align-items:center;gap:18px;font-size:.875rem;margin-top:6px}
.p-round{display:grid;place-items:center;border:1px solid #bbc9d3;width:38px;height:38px;border-radius:50%;font-size:1rem}
@media(max-width:700px){.p-hero{min-height:calc(100svh - 80px);padding:40px 20px 28px}.p-hero h1{font-size:clamp(4.5rem,16vw,7.5rem)}.p-hero-copy>p{font-size:.875rem;margin-top:24px}.p-flow{width:100%;height:180px;margin-top:38px}.p-flow-input{width:75px;font-size:.75rem;left:0}.input-two{left:2%}.p-flow-core{width:65px;height:65px;box-shadow:0 0 0 7px var(--paper)}.p-flow-core svg{width:46px}.p-flow-result{right:-7px;padding-inline:5px;font-size:.8125rem}.p-discover{font-size:.8125rem;margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Quiet page structure */
html{scroll-behavior:smooth;scroll-padding-top:28px}body:has(.p-dialog[open]){overflow:hidden}
.p-wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.p-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.p-brand{width:139px;display:block;line-height:1}.p-brand img{width:100%;height:auto}
.p-header nav{display:flex;align-items:center;gap:35px;font-size:.875rem}
.p-header nav>a{position:relative;padding:8px 0}.p-header nav>a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.p-header nav>a:hover:after{transform:scaleX(1)}.p-nav-contact{display:flex;gap:25px;align-items:center}.p-nav-contact span{font-size:1.25rem}
.p-skip{position:fixed;z-index:100;left:20px;top:-100px;background:var(--ink);color:white;padding:12px 25px}.p-skip:focus{top:20px}
.p-method{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;padding-block:160px 175px}
.p-method h2,.p-memory h2{font-size:clamp(2.4rem,4.2vw,4rem);font-weight:600;line-height:1.12;letter-spacing:-.06em}
.p-method-intro>p{color:var(--muted);margin-top:28px;font-size:1rem}
.p-method-list{margin-top:-18px}
.p-service{border-bottom:1px solid var(--line)}
.p-service summary{display:flex;align-items:center;gap:24px;list-style:none;cursor:pointer;min-height:104px}
.p-service summary::-webkit-details-marker{display:none}.p-order{font-size:.8125rem;color:var(--muted);width:23px;flex:none}
.p-service h3{font-size:clamp(1.5rem,2.7vw,2.375rem);font-weight:400;letter-spacing:-.05em;transition:transform .35s}
.p-service-arrow{margin-left:auto;font-size:1.2rem;width:37px;height:37px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;transition:transform .35s,border-color .35s}
.p-service summary:hover .p-service-arrow,.p-service summary:focus-visible .p-service-arrow{border-color:#8097ac;transform:rotate(45deg)}
.p-service summary:hover h3{transform:translateX(6px)}
.p-service[open] summary .p-service-arrow{transform:rotate(90deg)}
.p-service-body{padding:0 40px 32px 47px;max-width:505px}
.p-service-body>p{color:var(--muted);font-size:1rem;line-height:1.7}
.p-service-body>p+p{margin-top:1em}
.p-service-body>span{display:block;font-size:.875rem;margin-top:19px}
/* Three-state scroll narrative */
.p-workflow{position:relative;isolation:isolate;background:var(--ink);color:var(--paper);height:100svh;min-height:660px;max-height:1100px;padding:40px max(56px,calc((100vw - 1320px)/2));display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.p-stage-top{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.9375rem;color:#c0d2e4}
.p-stage-demo{color:var(--paper);background:none;border:0;border-bottom:1px solid #63809e;padding:8px 0;display:flex;gap:20px;align-items:center;font-size:.875rem}
.p-stage-demo span{transition:transform .25s}.p-stage-demo:hover span{transform:translate(3px,-3px)}
.p-stage-scenes{position:relative;min-height:0}
.p-scene{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;opacity:0;visibility:hidden}
.p-scene.is-active{opacity:1;visibility:visible}
.p-scene-copy h2{font-size:clamp(2.5rem,4.9vw,4.6rem);line-height:1.1;font-weight:400;letter-spacing:-.055em}
.p-scene-copy>p{font-size:1rem;line-height:1.7;color:#b7cde1;margin-top:28px}
.p-scene-art{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;perspective:1100px}
.p-receipt{width:min(355px,100%);background:var(--paper);color:var(--ink);padding:32px;border-radius:3px;box-shadow:20px 28px 0 #174069,0 35px 75px #03142d50;transform:rotate(-7deg)}
.p-receipt-top{display:flex;justify-content:space-between;font-size:1.25rem}.p-receipt-top>span:first-child{font-weight:600}
.p-receipt-code{display:block;font:400 .75rem ChivoMono,monospace;color:var(--muted);margin-top:15px}
.p-receipt-amount{font:400 2.55rem/1.3 ChivoMono,monospace;letter-spacing:-.06em;margin-top:50px;white-space:nowrap}
.p-receipt-amount>span{font-size:1.35rem;letter-spacing:-.04em}
.p-receipt-label{font-size:.8125rem;color:var(--muted);margin-top:5px}
.p-receipt-lines{display:flex;flex-direction:column;gap:10px;margin-top:35px}.p-receipt-lines i{height:3px;background:#bac7cf;width:90%}.p-receipt-lines i:nth-child(2){width:70%}.p-receipt-lines i:nth-child(3){width:82%}
.p-receipt-bottom{margin-top:37px;padding-top:14px;border-top:1px solid #bfcbd2;display:flex;justify-content:space-between;font-size:.8125rem}
.p-art-caption{position:absolute;right:0;bottom:-65px;font-size:.75rem;color:#aac4db}
.p-checksheet{width:min(410px,100%);border:1px solid #507190;background:#153659;box-shadow:0 35px 80px #04162d55;transform:rotate(2deg);border-radius:6px;overflow:hidden}
.p-checksheet-head{display:flex;justify-content:space-between;align-items:center;padding:25px 27px;border-bottom:1px solid #45617d;font-size:1.0625rem}
.p-small-code{font:400 .75rem ChivoMono,monospace;color:#b7d2e9}
.p-art-check{display:flex;align-items:center;gap:18px;padding:24px 28px;border-bottom:1px solid #45617d}
.p-art-check>span{color:#afdfc8;width:27px;height:27px;border:1px solid #72a492;border-radius:50%;display:grid;place-items:center;font-size:.875rem}
.p-art-check>div{flex:1;display:flex;justify-content:space-between;gap:10px;color:#b9d0e4;font-size:.875rem}
.p-art-check strong{font-weight:400;color:#eff5fb}
.p-checksheet-foot{padding:21px 28px;font-size:.875rem;color:#c7ecdd;background:#1a4549}
.p-handoff{width:min(350px,100%);border-radius:6px;background:#dce6ea;color:var(--ink);padding:30px;position:relative}
.p-handoff-check{width:51px;height:51px;background:var(--ink);color:#ecf4ed;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;margin-bottom:26px}
.p-handoff>.p-small-code{color:var(--muted)}.p-handoff h3{font-weight:400;font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin-top:12px}
.p-handoff-tags{display:flex;gap:9px;margin-top:30px;font-size:.75rem;color:var(--muted)}.p-handoff-tags span+span{border-left:1px solid #a5b8c5;padding-left:9px}
.p-handoff-bottom{border-top:1px solid #a7b9c8;padding-top:17px;margin-top:24px;font-size:.8125rem;display:flex;justify-content:space-between}
.p-stage-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:20px}
.p-stage-nav{display:flex;gap:28px}.p-stage-nav button{color:#a6bed4;background:none;border:0;padding:9px 0;font-size:.875rem;display:flex;align-items:center;gap:12px;min-height:40px}.p-stage-nav button>span{font:400 .75rem ChivoMono,monospace;color:#7f9bb8}
.p-stage-nav button[aria-pressed=true]{color:white}.p-stage-nav button[aria-pressed=true]>span{color:#7bd4fb}
.p-scroll-hint{font-size:.8125rem;color:#9fb9d0}
.p-stage-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#2d4a6c}.p-stage-progress>span{display:block;width:100%;height:100%;transform:scaleX(.04);transform-origin:left;background:#38bdf8}
.p-workflow :focus-visible{outline-color:#7bd4fb}
/* Optional memory: one decision with its provenance */
.p-memory{padding-block:175px 165px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.p-addon{display:block;margin-bottom:26px;font-size:.875rem;color:var(--muted)}
.p-memory-copy>p{margin-top:28px;font-size:1rem;color:var(--muted);line-height:1.7}
.p-text-action{background:none;border:0;padding:0;display:flex;gap:22px;align-items:center;margin-top:32px;font-size:.875rem;color:var(--ink)}
.p-text-action .p-round{transition:background .3s,color .3s,transform .3s}
.p-text-action:hover .p-round{background:var(--ink);color:#fff;transform:rotate(45deg)}
.p-memory-visual{position:relative;height:390px;width:100%;background:none;border:0;color:var(--ink);perspective:1300px;isolation:isolate;display:block}
.p-memory-sheet{position:absolute;display:block;width:min(320px,85%);height:245px;left:50%;top:50%;margin-left:max(-160px,-42.5%);margin-top:-122px;background:#fff;border:1px solid #bbcbd5;border-radius:4px;padding:22px;text-align:left;box-shadow:0 15px 28px #12345706;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.sheet-back{transform:translate(28px,-35px) rotate(11deg);background:#dce6ea;z-index:0;font-size:.8125rem;color:var(--muted)}
.sheet-mid{transform:translate(-25px,-16px) rotate(-7deg);background:#edf1ef;z-index:1;font-size:.8125rem;color:var(--muted)}
.sheet-front{transform:rotate(1deg);z-index:2;display:flex;flex-direction:column;justify-content:space-between}
.p-memory-sheet-head{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.p-memory-sheet-head>span:last-child{font-family:ChivoMono,monospace}
.p-memory-quote{font:400 1.5rem/1.35 Jakarta,sans-serif;letter-spacing:-.045em}
.p-memory-sheet-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d1dce1;padding-top:13px;font-size:.75rem;color:var(--muted)}
.p-memory-question{position:absolute;z-index:3;bottom:1%;left:8%;right:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 22px;background:var(--ink);color:#eef3f7;border:1px solid #28476b;border-radius:5px;font-size:.8125rem;transform:rotate(-3deg);transition:transform .45s}
.p-memory-visual:hover .sheet-back,.p-memory-visual:focus-visible .sheet-back{transform:translate(42px,-54px) rotate(15deg)}
.p-memory-visual:hover .sheet-mid,.p-memory-visual:focus-visible .sheet-mid{transform:translate(-42px,-27px) rotate(-11deg)}
.p-memory-visual:hover .sheet-front,.p-memory-visual:focus-visible .sheet-front{transform:translateY(-7px) rotate(-1deg)}
.p-memory-visual:hover .p-memory-question,.p-memory-visual:focus-visible .p-memory-question{transform:translateY(5px) rotate(0)}
/* Close with one invitation */
.p-contact{border-top:1px solid var(--line);padding-block:90px 120px;display:flex;justify-content:space-between;gap:60px;align-items:end}
.p-contact h2{font-size:clamp(3rem,6.5vw,6rem);line-height:1.08;font-weight:400;letter-spacing:-.065em}
.p-contact-intro{min-width:0}
.p-contact-intro>p{max-width:54ch;margin-top:28px;color:var(--muted);font-size:1rem}
.p-contact-link{display:flex;gap:30px;align-items:center;font-size:1rem;margin-bottom:8px}
.p-contact-circle{width:82px;height:82px;border:1px solid #7e93a8;border-radius:50%;display:grid;place-items:center;font-size:2.2rem;transition:background .3s,color .3s}
.p-contact-link:hover .p-contact-circle{background:var(--ink);color:#fff}
.p-footer{display:flex;align-items:center;gap:30px;padding-block:25px 32px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.p-footer img{width:115px;height:auto;display:block}.p-footer>a:nth-child(2){margin-left:auto}
.p-noscript{margin:30px;text-align:center;overflow-wrap:anywhere}
/* Deep examples open only on request */
.p-dialog{width:min(980px,calc(100% - 40px));max-height:calc(100svh - 48px);padding:0;border:0;border-radius:12px;color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #06152f55;overflow:auto;overscroll-behavior:contain}
.p-dialog::backdrop{background:#081a35a8;backdrop-filter:blur(9px)}
.p-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 34px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:5}
.p-dialog-head h2{font-size:1.5rem;font-weight:600;letter-spacing:-.035em;line-height:1.3}.p-dialog-head>div>span{font-size:.75rem;color:var(--muted);display:block;margin-bottom:3px}
.p-close{width:42px;height:42px;flex:none;background:transparent;color:var(--ink);border:1px solid #a6b8c6;border-radius:50%;font-size:1.7rem;font-weight:400;line-height:1}
.p-close:hover{background:var(--ink);color:#fff}
.p-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 34px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.p-dialog-foot button{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:.75rem;padding:8px 0}
.lab-cases,.lab-tabs{display:flex;gap:7px;padding:23px 34px 0}
.lab-cases button,.lab-tabs button{border:1px solid #b7c8d3;border-radius:30px;padding:8px 18px;min-height:40px;color:var(--muted);font-size:.875rem;background:transparent}
.lab-cases [aria-pressed=true],.lab-tabs [aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.lab-invoice-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:30px 34px 36px;align-items:start}
.lab-invoice-document{background:#fff;padding:25px;border:1px solid #cbd6dd;border-radius:4px;box-shadow:0 9px 20px #0d274c05}
.lab-document-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.lab-document-heading strong{font-size:1.2rem;font-weight:600}.lab-document-heading>span{font-size:.75rem;color:var(--muted)}
.lab-code{font:400 .75rem ChivoMono,monospace;color:var(--muted);display:block;margin-top:13px}
.lab-invoice-document>label{display:block;margin:30px 0 8px;font-size:.8125rem;color:var(--muted)}
.lab-amount{display:flex;gap:10px;align-items:center;border-bottom:1px solid #a2b5c5;padding-bottom:7px}
.lab-amount input{min-width:0;width:100%;font:400 1.65rem/1.3 ChivoMono,monospace;letter-spacing:-.04em;border:0;background:none;color:var(--ink);border-radius:0;padding:0}
.lab-amount>span{font-size:1.25rem}
.lab-error{font-size:.8125rem;color:#9c3424;margin-top:9px;line-height:1.4}
.lab-totals{margin:24px 0 0;font-size:.875rem}.lab-totals>div{display:flex;gap:12px;justify-content:space-between;padding:7px 0}.lab-totals dt{color:var(--muted)}.lab-totals dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.lab-document-hint{display:block;margin-top:25px;font-size:.75rem;color:var(--muted)}
.lab-step-rail{display:flex;gap:0;font-size:.75rem;margin-bottom:24px;color:var(--muted)}
.lab-step-rail>span{flex:1;border-top:2px solid #bfccd4;padding-top:9px}.lab-step-rail>span.active{color:var(--blue);border-color:var(--blue)}.lab-step-rail>span.done{color:#31664e;border-color:#668e7b}
.lab-output{min-height:245px}
.lab-output h3{font-size:1.8rem;line-height:1.2;font-weight:400;letter-spacing:-.05em;max-width:350px}
.lab-output>p{font-size:.9375rem;color:var(--muted);line-height:1.6;margin-top:17px}
.lab-state{display:block;font-size:.8125rem;color:var(--blue);margin-bottom:13px}
.lab-state.warn{color:#965115}.lab-state.good{color:#246145}
.lab-checks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px}
.lab-checks li{font-size:.875rem;display:flex;gap:10px;align-items:center}.lab-checks li>span{color:#246145}.lab-checks li.failed>span{color:#a14921}
.lab-result-details{font-size:.8125rem;margin-top:15px;color:var(--muted)}.lab-result-details summary{cursor:pointer;color:var(--ink);padding:5px 0}
.lab-result-details p{padding-top:7px}
.lab-controls{margin-top:24px}
.p-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:white;padding:12px 21px;min-height:47px;border-radius:5px;font-size:.875rem;gap:15px}
.p-button:hover{background:var(--blue);border-color:var(--blue)}.p-button:disabled{opacity:.5;cursor:default}
.p-button.secondary{background:transparent;color:var(--ink);border-color:#afc1ce}
.lab-playback{display:flex;gap:20px;margin-top:10px}
.lab-playback button{background:none;border:0;font-size:.8125rem;color:var(--muted);padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.lab-status{font-size:.75rem;color:var(--muted);margin-top:14px;min-height:20px}
.lab-handoff{font:400 .8125rem/1.6 ChivoMono,monospace;margin-top:23px}.lab-handoff>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:7px 0}.lab-handoff dt{color:var(--muted)}.lab-handoff dd{margin:0;text-align:right;overflow-wrap:anywhere}
.lab-memory-panel{padding:30px 34px 25px;min-height:350px}
.lab-memory-panel h3{font-size:1.9rem;font-weight:400;letter-spacing:-.05em;line-height:1.2}
.lab-memory-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center}
.lab-memory-note{background:#e6edef;padding:26px;border-radius:5px}.lab-memory-note>span{display:block;font:400 .75rem ChivoMono,monospace;color:var(--muted);margin-bottom:25px}
.lab-memory-note blockquote{font:400 1.2rem/1.45 Jakarta,sans-serif;letter-spacing:-.03em;margin:0}
.lab-memory-note>small{font-size:.75rem;color:var(--muted);display:block;margin-top:27px}
.lab-memory-panel p{color:var(--muted);font-size:.9375rem;line-height:1.7;margin-top:17px}
.lab-memory-panel .p-button{margin-top:25px}
.lab-memory-status{font-size:.75rem;color:var(--muted);margin:0 34px 22px}
.lab-source{margin-top:20px;font-size:.8125rem;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}
.lab-source>summary{color:var(--blue);cursor:pointer}.lab-source p{font-size:.8125rem;margin-top:10px}
.lab-case-label{display:block;font-size:.8125rem;color:var(--muted);margin:19px 0 7px}
.lab-memory-panel select{width:100%;max-width:410px;background:#fff;color:var(--ink);border:1px solid #b1c3d1;border-radius:5px;padding:11px 35px 11px 13px;font-size:.9375rem}
.lab-recall{display:grid;grid-template-columns:1fr 90px 1fr;gap:18px;align-items:center;margin:28px 0}
.lab-recall>span{font:400 .8125rem ChivoMono,monospace}.lab-recall>span:last-child{text-align:right}.lab-recall i{height:1px;background:#a7bacb;position:relative}.lab-recall i:after{content:"";position:absolute;height:5px;width:5px;border-radius:50%;background:var(--blue);right:0;top:-2px}
.lab-recall.running i:after{animation:recallSignal 1s linear infinite}
@keyframes recallSignal{from{transform:translateX(-85px)}to{transform:translateX(0)}}
.lab-recall.paused i:after{animation-play-state:paused}
.lab-recall-result{padding:18px 22px;background:#e5eeea;border-left:2px solid #608575;margin-top:20px}.lab-recall-result.warn{background:#f3eadd;border-color:#b5813e}
.lab-recall-result h4{font:400 1.0625rem/1.5 Chivo,sans-serif;margin:0}.lab-recall-result p{font-size:.875rem;margin-top:8px}
.lab-recall-result ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:5px 15px;font-size:.75rem;color:var(--muted)}
.lab-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 14px}
.lab-prompts button{border:1px solid #bdcbd5;border-radius:4px;padding:8px 12px;min-height:37px;font-size:.8125rem;color:var(--muted);background:transparent}
.lab-question-form{display:flex;gap:10px}.lab-question-form input{flex:1;min-width:0;width:100%;padding:13px;border:1px solid #aebfcc;border-radius:5px;background:white;font-size:1rem;color:var(--ink)}
.lab-question-form .p-button{margin:0}
.lab-answer{padding:21px 24px;margin-top:20px;background:#e8efee;border-radius:5px}
.lab-answer>span{font-size:.75rem;color:var(--muted)}.lab-answer>p{font-size:1rem;margin-top:10px}
.lab-memory-panel .lab-mini-note{font-size:.75rem;line-height:1.5;margin-top:17px}
.lab-memory-empty{max-width:430px;padding:30px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Narrow layouts keep the same story, without pinning */
@media(min-width:1600px){.p-hero h1{font-size:10.5rem}.p-flow{margin-block:35px 22px}.p-method{padding-block:180px 200px}}
@media(max-width:1100px){.p-wrap{width:calc(100% - 72px)}.p-method{gap:7%;padding-block:120px}.p-service summary{gap:17px}.p-service-body{padding-left:40px;padding-right:8px}.p-workflow{padding-inline:36px}.p-scene{gap:6%}.p-receipt{width:300px;padding:26px}.p-receipt-amount{font-size:2.25rem}.p-checksheet{width:350px}.p-memory{padding-block:140px;gap:6%}.p-memory-sheet{width:285px;margin-left:-142px}.p-memory-quote{font-size:1.3rem}.p-contact{padding-block:80px 90px}.p-contact-link{gap:20px}.p-contact-circle{width:64px;height:64px;font-size:1.8rem}}
@media(max-width:800px){
 .p-header{height:80px}.p-brand{width:123px}.p-header nav{gap:24px}.p-header nav>a:not(.p-nav-contact){display:none}
 .p-hero{min-height:calc(100svh - 80px)}
 .p-method{grid-template-columns:1fr;gap:50px;padding-block:100px}
 .p-method h2,.p-memory h2{font-size:2.9rem}.p-method-intro>p{margin-top:23px}.p-method-intro>p br{display:none}
 .p-method-list{margin:0}.p-service h3{font-size:1.9rem}.p-service summary{min-height:98px}.p-service-body{max-width:100%;padding-right:30px}
 .p-workflow{height:auto;min-height:0;max-height:none;padding:28px 36px}
 .p-stage-scenes{height:640px}.p-scene{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:32px;align-items:start;padding:33px 0 35px}
 .p-scene-copy h2{font-size:2.5rem;line-height:1.08}.p-scene-copy h2 br{display:none}.p-scene-copy>p{margin-top:15px;font-size:.9375rem}.p-scene-copy>p br{display:none}
 .p-scene-art{align-self:center}.p-receipt{width:270px;padding:23px;box-shadow:14px 17px 0 #174069,0 20px 50px #04162d55}.p-receipt-amount{margin-top:24px;font-size:2.2rem}.p-receipt-lines{margin-top:22px}.p-receipt-bottom{margin-top:25px}.p-art-caption{right:6%;bottom:-45px}
 .p-checksheet{width:min(350px,100%)}.p-art-check{padding:21px 24px}.p-checksheet-head{padding:19px 24px}.p-checksheet-foot{padding:18px 24px}
 .p-handoff{width:290px;padding:24px}.p-handoff-check{width:40px;height:40px;margin-bottom:17px}.p-handoff h3{font-size:1.8rem}.p-handoff-tags{margin-top:22px}
 .p-stage-nav{gap:24px}.p-stage-bottom{padding-top:16px}.p-scroll-hint{display:none}
 .p-memory{padding-block:110px;gap:55px;grid-template-columns:1fr}.p-memory-copy>p{margin-top:24px}.p-memory-copy>p br{display:none}.p-memory-visual{width:min(480px,100%);height:370px;justify-self:center}
 .p-memory-sheet{width:320px;margin-left:-160px}.p-memory-quote{font-size:1.5rem}
 .p-contact{gap:35px;display:block;padding-block:70px 80px}.p-contact h2{font-size:3.6rem}.p-contact-link{justify-content:space-between;margin-top:35px;max-width:430px}
 .p-dialog{width:calc(100% - 28px);max-height:calc(100svh - 30px)}.p-dialog-head{padding:20px 24px}.lab-cases,.lab-tabs{padding-inline:24px}
 .lab-invoice-grid{gap:25px;padding:25px 24px;grid-template-columns:.8fr 1.2fr}.lab-invoice-document{padding:19px}.lab-document-heading{flex-wrap:wrap}.lab-amount input{font-size:1.3rem}.lab-output h3{font-size:1.5rem}.lab-output{min-height:245px}
 .p-dialog-foot{padding-inline:24px}
 .lab-memory-panel{padding:25px 24px}.lab-memory-grid{gap:25px}.lab-memory-note{padding:20px}.lab-memory-note blockquote{font-size:1.1rem}.lab-memory-panel h3{font-size:1.6rem}
 .lab-memory-status{margin-inline:24px}
}
@media(max-width:540px){
 .p-wrap{width:calc(100% - 40px)}.p-header{height:78px}.p-brand{width:117px}
 .p-hero{min-height:calc(100svh - 78px);padding-inline:20px;justify-content:center}
 .p-hero h1{font-size:clamp(4.35rem,17vw,6rem)}.p-hero-copy>p{font-size:.8125rem;letter-spacing:0;margin-top:23px}
 .p-flow{width:100%;height:170px;margin-top:38px;margin-bottom:5px}.p-flow-input{left:0;width:70px}.input-one{top:12px}.input-two{top:66px;left:1%}.input-three{top:120px}
 .p-flow-core{width:57px;height:57px;box-shadow:0 0 0 7px var(--paper)}.p-flow-core svg{width:41px}.p-flow-result{font-size:.8125rem;right:-2px;padding-right:0}
 .p-discover{font-size:.8125rem;margin-top:17px}.p-round{width:35px;height:35px}
 .p-method{padding-block:90px;gap:40px}.p-method h2,.p-memory h2{font-size:2.55rem}.p-method-intro>p{font-size:1rem;max-width:250px}.p-method-intro>p br{display:block}
 .p-service summary{gap:14px;min-height:88px}.p-order{font-size:.75rem;width:22px}.p-service h3{font-size:1.65rem}.p-service-arrow{width:30px;height:30px}
 .p-service-body{padding:0 0 27px 36px}.p-service-body>p{font-size:.9375rem}.p-service-body>span{font-size:.8125rem;margin-top:15px}
 .p-workflow{padding:24px 20px}.p-stage-top{font-size:.8125rem;gap:15px}.p-stage-demo{font-size:.75rem;gap:9px}
 .p-stage-scenes{height:610px}.p-scene{padding-top:38px;gap:28px}.p-scene-copy h2{font-size:2.4rem;max-width:350px}.p-scene-copy h2 br{display:inline}.p-scene-copy>p{font-size:.875rem;margin-top:18px;max-width:280px}.p-scene-copy>p br{display:block}
 .p-stage-nav{justify-content:space-between;width:100%;gap:8px}.p-stage-nav button{font-size:.8125rem;gap:7px}.p-stage-nav button>span{font-size:.75rem}
 .p-receipt{width:250px}.p-receipt-top{font-size:1.125rem}.p-receipt-amount{font-size:2rem}
 .p-art-caption{right:3%;bottom:-45px}.p-checksheet{width:290px}.p-art-check{padding:20px}.p-checksheet-head,.p-checksheet-foot{padding:20px}.p-art-check>div{font-size:.8125rem}
 .p-memory{padding-block:95px;gap:45px}.p-addon{font-size:.8125rem;margin-bottom:22px}.p-memory-copy>p{font-size:.9375rem;max-width:320px}.p-text-action{margin-top:25px}
 .p-memory-visual{height:330px;width:100%}.p-memory-sheet{width:260px;margin-left:-130px;height:225px;margin-top:-112px;padding:20px}
 .sheet-back{transform:translate(19px,-30px) rotate(9deg)}.sheet-mid{transform:translate(-18px,-14px) rotate(-5deg)}
 .p-memory-quote{font-size:1.3rem}.p-memory-sheet-bottom{font-size:.75rem;gap:5px;flex-wrap:wrap}.p-memory-sheet-head{font-size:.75rem}.p-memory-question{left:0;bottom:0;font-size:.75rem;padding:16px 17px;gap:10px}
 .p-memory-visual:hover .sheet-back,.p-memory-visual:focus-visible .sheet-back{transform:translate(22px,-42px) rotate(12deg)}
 .p-memory-visual:hover .sheet-mid,.p-memory-visual:focus-visible .sheet-mid{transform:translate(-22px,-22px) rotate(-8deg)}
 .p-contact{padding-block:60px 75px}.p-contact h2{font-size:3.15rem}.p-contact-circle{width:58px;height:58px}.p-contact-link{font-size:.9375rem}
 .p-footer{flex-wrap:wrap;gap:25px;padding-block:26px}.p-footer img{width:105px}.p-footer>a:nth-child(2){margin-left:auto;font-size:.75rem}.p-footer>span{width:100%;text-align:right;font-size:.75rem}
 .p-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px);border-radius:9px}.p-dialog-head{padding:18px 20px}.p-dialog-head h2{font-size:1.3rem}.p-close{width:36px;height:36px}
 .lab-cases,.lab-tabs{padding:18px 20px 0;gap:6px}.lab-cases button,.lab-tabs button{padding:8px 14px;font-size:.8125rem;min-height:38px}
 .lab-invoice-grid{display:block;padding:22px 20px 28px}.lab-invoice-document{padding:22px}.lab-document-heading{flex-wrap:nowrap}.lab-invoice-document>label{margin-top:20px}.lab-amount input{font-size:1.5rem}.lab-totals{margin-top:17px}.lab-document-hint{margin-top:15px}
 .lab-run{margin-top:27px}.lab-step-rail{margin-bottom:22px}.lab-output{min-height:0}.lab-output h3{font-size:1.625rem}.lab-controls{margin-top:23px}
 .lab-controls>.p-button{width:100%}.lab-status{margin-top:14px}
 .p-dialog-foot{padding:15px 20px;gap:12px;align-items:start;line-height:1.5}.p-dialog-foot button{white-space:nowrap;padding:0}
 .lab-memory-panel{padding:24px 20px;min-height:0}.lab-memory-grid{grid-template-columns:1fr;gap:25px}.lab-memory-note{padding:22px}.lab-memory-note>span{margin-bottom:18px}.lab-memory-note>small{margin-top:20px}
 .lab-memory-panel .p-button{margin-top:22px}.lab-memory-panel h3{font-size:1.6rem}.lab-memory-status{margin-inline:20px}.lab-recall{grid-template-columns:1fr 42px 1fr;gap:10px}.lab-recall>span{font-size:.75rem}
 .lab-recall-result{padding:15px 17px}.lab-recall-result ul{display:block}.lab-recall-result li+li{margin-top:6px}
 .lab-prompts{gap:6px}.lab-prompts button{font-size:.75rem;padding:7px 9px}.lab-question-form{flex-wrap:wrap}.lab-question-form input{flex-basis:100%}.lab-question-form .p-button{width:100%;margin:0}.lab-answer{padding:18px}
 .lab-memory-empty{padding-block:10px}
}
@media(max-width:360px){.p-hero h1{font-size:4.3rem}.p-memory-sheet{width:236px;margin-left:-118px}.p-memory-quote{font-size:1.2rem}.p-memory-sheet-bottom{display:block}.p-memory-sheet-bottom>span{display:block;margin-top:3px}.p-flow-input{width:65px}.p-flow-result{font-size:.75rem}.p-checksheet{width:100%}.p-contact h2{font-size:2.85rem}}
@media(prefers-reduced-motion:reduce){.p-workflow{height:auto;min-height:700px;max-height:none}.p-stage-scenes{min-height:560px}.p-scroll-hint{display:none}}

h2,h3{word-spacing:.025em}.p-scene-copy h2{letter-spacing:-.045em}

/* Reflow also at enlarged browser text settings. */
.p-method>*,.p-memory>*,.p-scene>*,.p-service h3,.p-dialog-head>div,.lab-memory-grid>*,.lab-invoice-grid>*{min-width:0}
.p-service h3,.p-dialog-head h2,.lab-output h3,.lab-memory-panel h3{overflow-wrap:anywhere}
.p-memory-sheet-head,.p-memory-sheet-bottom{flex-wrap:wrap;gap:6px 10px}
@media(max-width:800px){
 .p-method,.p-memory{grid-template-columns:minmax(0,1fr)}
 .p-scene{grid-template-columns:minmax(0,1fr)}
 .p-stage-top,.p-stage-nav{flex-wrap:wrap}
 .p-stage-nav{gap:8px 24px}
 .p-scene-copy h2{font-size:clamp(1.5rem,8vw,2.5rem)}
 .p-handoff h3{font-size:clamp(1.25rem,6.5vw,1.8rem)}
 .p-method h2,.p-memory h2{font-size:clamp(1.5rem,9vw,2.9rem);overflow-wrap:anywhere}
 .p-contact h2{font-size:clamp(1.5rem,11vw,3.6rem);overflow-wrap:anywhere}
}
@media(max-width:540px){
 .p-hero h1{font-size:clamp(2.3rem,17vw,6rem)}
 .p-hero-copy{max-width:100%}
 .p-flow-input{width:clamp(70px,24vw,100px);font-size:clamp(.625rem,3.2vw,.75rem)}
 .p-flow-result{font-size:clamp(.625rem,3.4vw,.8125rem)}
 .p-service h3{font-size:clamp(1.125rem,6.8vw,1.65rem);flex:1}
 .p-service-arrow{flex:none}
 .p-stage-scenes{height:max(610px,24rem)}
 .p-receipt,.p-checksheet,.p-handoff{max-width:100%}
 .p-receipt-amount{font-size:clamp(1rem,8vw,2rem)}
 .p-receipt-amount>span{font-size:clamp(.75rem,4.5vw,1.35rem)}
 .p-art-check>div{flex-wrap:wrap}
 .p-text-action{flex-wrap:wrap}
 .p-memory-visual{height:max(350px,23rem)}
 .p-memory-sheet.sheet-front{height:auto;min-height:225px;gap:25px}
 .p-memory-sheet-head{font-size:clamp(.5rem,3.1vw,.75rem)}
 .p-memory-quote{font-size:clamp(.875rem,5.2vw,1.3rem)}
 .p-memory-question{font-size:clamp(.625rem,3.1vw,.75rem)}
 .p-contact-link{flex-wrap:wrap}
 .lab-cases,.lab-tabs{flex-wrap:wrap}
 .lab-tabs button{flex:1}
 .p-dialog-foot>span{min-width:0}.p-dialog-foot{flex-wrap:wrap}
}
