/* Public-site refinement: keep the existing palette and native controls. */
:root{--muted:#5f6f67}
.desktop-nav{font-family:var(--sans);font-size:13px;gap:13px}
.ddcol a,.mobile-menu{font-family:var(--sans);font-size:14px}
.ddcol h4{font-size:10px;letter-spacing:.1em;line-height:1.5}
.ddmenu.ddwide.industry-groups{grid-template-columns:repeat(4,max-content);gap:28px;padding:26px}
.industry-groups .ddcol{gap:12px}
.mobile-menu .industry-label{padding-left:18px;margin-top:12px;color:var(--green-ink)}
.mobile-menu .indent{color:var(--ink2)}
.sect{padding:72px 0}
.sec-head{margin-bottom:36px}
.footnote,.mathnote{font-family:var(--sans);font-size:13px;line-height:1.75;letter-spacing:0}
.steps .sd{font-family:var(--sans);font-size:14px}
.request-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 24px;padding:0}
.request-flow li{position:relative;padding:28px 28px 28px 0}
.request-flow li+li{border-left:1px solid var(--line);padding-left:28px}
.request-flow li+li:before{content:"→";position:absolute;left:-13px;top:26px;width:25px;background:var(--paper);text-align:center;color:var(--green-ink)}
.flow-step{font:600 11px var(--mono);letter-spacing:.1em;color:var(--green-ink)}
.request-flow h3{font:400 28px/1.12 var(--serif);margin:18px 0 12px}
.request-flow p{font-size:14.5px;color:var(--ink2);line-height:1.7}
.flow-allow{color:var(--green-ink)}.flow-hold{color:var(--amber)}.flow-deny{color:var(--red)}
.stage-details>summary{cursor:pointer;font:500 14px var(--sans);color:var(--green-ink);padding:12px 0;width:fit-content}
.stage-details[open]>summary{margin-bottom:18px}
.stage-details>summary:focus-visible,a:focus-visible{outline:2px solid var(--green-ink);outline-offset:4px}
.console-preview .sec-head{max-width:72ch}
.console-preview figure{margin:0;border:1px solid var(--line);background:var(--card);box-shadow:0 16px 40px -30px var(--ink)}
.console-preview figure>a{display:block;aspect-ratio:1280/375;overflow:hidden}
.console-preview img{display:block;width:100%;height:auto}
.console-preview figcaption{border-top:1px solid var(--line);padding:14px 20px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}
.console-preview figcaption a{color:var(--green-ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.design-home #products .prods{display:block;border-top:1px solid var(--line)}
.design-home #products .prod{display:grid;grid-template-columns:40px minmax(190px,.8fr) 1.2fr;gap:24px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);padding:26px 0}
.design-home #products .prod .pnum{position:static;color:var(--green-ink);font-size:12px}
.design-home #products .prod h3{font-size:27px}
.design-home #products .prod p{margin:0;font-size:15px}
.design-home #proof .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.design-home #proof .proof{display:block}
.design-home #proof .proof .p{border:0;border-bottom:1px solid var(--line);padding:20px 0}
.design-home #proof .proof .p:first-child{padding-top:0}
.design-home #proof .proof h3{font:600 15px var(--sans);letter-spacing:0;text-transform:none}
.design-home #proof .proof p{margin-top:6px}
@media(min-width:861px) and (max-width:1040px){.desktop-nav{font-size:12px;gap:10px}.ddmenu.ddwide.industry-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}}
@media(max-width:860px){.sect{padding:52px 0}.sec-head{margin-bottom:28px}.request-flow{grid-template-columns:1fr}.request-flow li,.request-flow li+li{padding:24px 0;border-left:0}.request-flow li+li{border-top:1px solid var(--line)}.request-flow li+li:before{content:"↓";top:-13px;left:auto;right:12px}.request-flow h3{font-size:26px;margin-top:12px}.design-home #products .prod{grid-template-columns:28px 1fr;gap:12px}.design-home #products .prod p{grid-column:2}.design-home #proof .wrap{grid-template-columns:1fr;gap:0}.console-preview figure>a{aspect-ratio:1280/375}.console-preview figcaption{display:block;font-size:12px}.console-preview figcaption a{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Founder-approved homepage film: explicit playback in a native dialog. */
.homepage-film-trigger{aspect-ratio:16/9;cursor:pointer;display:block;width:100%;padding:0;border:1px solid #ccd8ce;text-align:left;box-shadow:0 18px 45px -30px #18352b60}
.homepage-film-trigger img{display:block;width:100%;height:100%;object-fit:cover}
.homepage-film-trigger .film-chip{background:#fffdf9ed;color:#16211d;border:1px solid #cbd6cc;font-family:var(--sans);font-size:11px;padding:9px 12px;border-radius:30px}
.homepage-film-trigger:hover .film-chip{background:#16211d;color:#fffdf9}
.homepage-film-trigger:focus-visible,.homepage-film-close:focus-visible{outline:3px solid #0a7f6a;outline-offset:5px}
.homepage-film-dialog{position:fixed;inset:0;margin:auto;width:min(1280px,calc(100% - 56px));max-width:none;max-height:95vh;padding:0;overflow:auto;border:1px solid #446a5c;border-radius:12px;background:#0d2420;color:#faf7f2;box-shadow:0 20px 100px #0006}
.homepage-film-dialog::backdrop{background:#081510db;backdrop-filter:blur(8px)}
.homepage-film-top{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:13px var(--sans)}
.homepage-film-close{padding:7px 12px;background:transparent;color:inherit;border:1px solid #638577;border-radius:5px;font:12px var(--sans);cursor:pointer;white-space:nowrap}
.homepage-film-dialog video{display:block;width:100%;max-height:75vh;background:#faf7f2;border-radius:0 0 11px 11px}
.homepage-film-dialog video::cue{background:#0d2420e8;color:#fffdf9}

@media(max-width:600px){.homepage-film-dialog{width:calc(100% - 20px)}.homepage-film-top{padding:12px;font-size:11px}}
@media(min-width:861px) and (max-width:960px){.hero .wrap{grid-template-columns:1.05fr .95fr;grid-template-areas:"intro receipt" "fine receipt";column-gap:32px;align-items:start}.hero-visual{margin-left:auto}.hero h1{font-size:56px}.hero .cta{gap:12px}.hero .btn{padding:13px 17px}}
