/* GRK three-colour system. Surface variations are blends, not extra accents. */
:root {
  --midnight: #050608;
  --ivory: #f7f4ef;
  --sage: #f2c75c;
  --blue: #0659f5;
  --background: var(--midnight);
  --foreground: var(--ivory);
  --accent: var(--sage);
  --muted: color-mix(in srgb, var(--ivory) 74%, var(--midnight));
  --surface: color-mix(in srgb, var(--ivory) 5%, var(--midnight));
  --surface-raised: color-mix(in srgb, var(--ivory) 9%, var(--midnight));
  --border: color-mix(in srgb, var(--ivory) 18%, transparent);
  --card-bg: color-mix(in srgb, var(--surface) 89%, transparent);
  --button-bg: var(--accent);
  --button-fg: var(--midnight);
  --sans: 'Segoe UI', Inter, Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
  --shell: min(1180px, calc(100% - 80px));
  --ease: cubic-bezier(.2,.8,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; scrollbar-color: transparent transparent; scrollbar-width: thin; overflow-x:clip; }
html:hover { scrollbar-color: color-mix(in srgb,var(--sage) 40%,transparent) transparent; }
body { margin:0; overflow-x:clip; background:var(--background); color:var(--foreground); font:16px/1.6 var(--sans); }
body::before { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 85% 5%,color-mix(in srgb,var(--blue) 25%,transparent),transparent 50%),radial-gradient(ellipse at 5% 78%,color-mix(in srgb,var(--blue) 13%,transparent),transparent 46%); }
body.drawer-open { overflow:hidden; }
.site-header .drawer-handle { width:195px; }
@media(max-width:760px){.site-header .drawer-handle{width:176px}}
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-underline-offset:5px; }
button { color:inherit; }
button:disabled { opacity:.5; cursor:not-allowed; }
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--sage); outline-offset:5px; }
input:focus-visible,textarea:focus-visible { outline:2px solid var(--midnight); outline-offset:3px; }
[hidden] { display:none !important; }
svg { overflow:visible; }
.sprite { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width:22px; height:22px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.shell { width:var(--shell); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:24px; z-index:150; padding:12px; background:var(--ivory); color:var(--midnight); }
.skip-link:focus { top:12px; }
.site-header { position:fixed; top:20px; left:50%; transform:translateX(-50%); width:min(1240px,calc(100% - 48px)); height:72px; z-index:80; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px; padding:0 12px 0 20px; border:1px solid var(--border); border-radius:18px; background:color-mix(in srgb,var(--midnight) 82%,transparent); backdrop-filter:blur(24px); box-shadow:0 8px 40px color-mix(in srgb,var(--midnight) 30%,transparent); }
.brand { display:inline-flex; align-items:center; gap:10px; width:max-content; text-decoration:none; }
.brand img { display:block; }
.brand .brand-logo { width:220px; height:auto; object-fit:contain; border-radius:0; mix-blend-mode:screen; }
.brand .brand-lockup { display:grid; gap:3px; justify-items:center; line-height:1; }
.brand-art { display:block; width:132px; height:41px; overflow:hidden; mix-blend-mode:screen; }
.brand .brand-caption { display:block; font-size:10px; letter-spacing:3px; color:var(--sage); line-height:1; }
footer .brand .full-emblem { width:220px; height:auto; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-card { padding:22px; border:1px solid var(--border); border-radius:12px; background:color-mix(in srgb,var(--blue) 4%,var(--ivory)); }
.service-card .node-icon { color:var(--midnight); background:color-mix(in srgb,var(--sage) 28%,var(--ivory)); }
.service-card h3 { margin:18px 0 10px; font-size:18px; line-height:1.3; font-weight:600; }
.service-card p { color:var(--muted); font-size:13px; }
.drawer-callout { display:flex; gap:24px; align-items:center; margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.drawer-callout p { margin:0; font-size:13px; flex:1; }
.discovery-detail h3 { font-size:28px; line-height:1.3; }
.discovery-detail .eyebrow { color:var(--midnight); }
.discovery-detail p,.discovery-detail li { font-size:14px; }
.call-intro { max-width:660px; }
.call-duration { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border:1px solid var(--border); border-radius:30px; font-size:11px; background:color-mix(in srgb,var(--sage) 22%,var(--ivory)); }
.call-duration .icon { width:16px; height:16px; }
.call-intro h3 { margin:20px 0 12px; font-size:32px; font-weight:550; letter-spacing:-.7px; }
.call-intro p { color:var(--muted); }
.call-agenda { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:26px 0; }
.call-agenda article { display:flex; align-items:start; gap:15px; border:1px solid var(--border); border-radius:12px; padding:20px; background:color-mix(in srgb,var(--blue) 3%,var(--ivory)); }
.call-number { font-size:11px; font-weight:650; padding-top:3px; }
.call-agenda h4 { font-size:15px; font-weight:600; margin:0 0 7px; }
.call-agenda p { font-size:12px; color:var(--muted); margin:0; line-height:1.75; }
.call-preparation { display:flex; align-items:start; gap:14px; padding:18px 20px; border:1px solid var(--border); border-radius:12px; }
.call-preparation strong { font-size:13px; }
.call-preparation p { margin:5px 0 0; font-size:12px; color:var(--muted); }
.call-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:24px; }
.call-hint { margin:12px 0 0; font-size:11px !important; color:var(--muted); }
@media(max-width:760px){.call-agenda{grid-template-columns:1fr}.call-intro h3{font-size:26px}.brand-art{width:110px;height:35px}.brand .brand-caption{font-size:9px}.brand .full-emblem{width:210px;height:auto}}
.partner-page { padding-top:140px; padding-bottom:70px; }
.partner-page h1 { font-size:48px; }
.partner-page .plan-card { background:var(--surface); }
.partner-page .plan-card.featured { background:color-mix(in srgb,var(--blue) 18%,var(--midnight)); }
.partner-toolbar { display:flex; flex-wrap:wrap; gap:12px; margin:25px 0 35px; }
.partner-panel { margin-bottom:50px; }
.partner-panel>h2 { font-size:30px; }
.partner-access { max-width:500px; padding:35px; border-radius:20px; }
.partner-access input { color:var(--ivory); background:var(--surface-raised); }
.partner-access label { display:grid; gap:8px; font-size:13px; margin-bottom:20px; }
.partner-access :focus-visible { outline-color:var(--sage); }
.partner-access [role=status] { margin-top:18px; font-size:13px; }
@media(max-width:760px){.brand .brand-logo{width:106px;height:43px}.service-grid{grid-template-columns:1fr}.drawer-callout{flex-direction:column;align-items:start}.partner-page h1{font-size:34px}.partner-page{padding-top:115px}.drawer-tabs button{font-size:10px}.contact-section .actions{margin-top:24px}}
.brand span { display:grid; gap:3px; line-height:1; }
.brand strong { font-size:25px; font-weight:700; letter-spacing:-1px; }
.brand small { font-size:9px; letter-spacing:2.1px; }
.site-header nav { display:flex; gap:28px; }
.site-header nav a { padding-block:14px; text-decoration:none; color:var(--muted); font-size:13px; font-weight:550; transition:color .2s; }
.site-header nav a:hover { color:var(--ivory); }
.drawer-handle { justify-self:end; position:relative; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:5px 5px 5px 20px; width:173px; height:48px; border:1px solid var(--border); border-radius:30px; background:var(--ivory); color:var(--midnight); }
.handle-label { font-size:13px; font-weight:650; white-space:nowrap; }
.handle-coin { position:relative; display:block; width:36px; height:36px; background:var(--sage); border-radius:50%; perspective:300px; }
.handle-coin .icon { position:absolute; inset:7px; transition:transform .32s var(--ease),opacity .2s; backface-visibility:hidden; }
.coin-back { transform:rotateY(-180deg); opacity:0; }
.drawer-open .coin-front { transform:rotateY(180deg); opacity:0; }
.drawer-open .coin-back { transform:rotateY(0); opacity:1; }
.drawer-handle:hover { box-shadow:0 0 20px color-mix(in srgb,var(--sage) 24%,transparent); }
.basket-count { position:absolute; top:-5px; right:-5px; min-width:20px; height:20px; display:grid; place-items:center; font-size:11px; font-weight:700; background:var(--sage); border:2px solid var(--midnight); border-radius:50%; }
.hero { position:relative; display:grid; grid-template-columns:1.15fr 1fr; gap:66px; align-items:center; padding-top:176px; padding-bottom:80px; min-height:760px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 22px; font-size:11px; line-height:1.4; font-weight:650; letter-spacing:1.9px; text-transform:uppercase; color:var(--sage); }
.tiny-line { width:22px; height:1px; background:var(--sage); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(48px,5.35vw,74px); line-height:1.09; letter-spacing:-3.6px; font-weight:560; margin-bottom:24px; }
em { font-family:var(--serif); font-weight:400; color:var(--sage); }
.intro { max-width:480px; font-size:17px; line-height:1.75; color:var(--muted); margin-bottom:30px; }
.actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:50px; padding:13px 20px; border:1px solid transparent; border-radius:9px; font-size:13px; line-height:1.5; font-weight:650; text-decoration:none; transition:background .2s,box-shadow .2s,border-color .2s; }
.button .icon { width:19px; height:19px; }
.primary { background:var(--button-bg); color:var(--button-fg); }
.primary:hover { background:color-mix(in srgb,var(--sage) 80%,var(--ivory)); box-shadow:0 0 28px color-mix(in srgb,var(--sage) 16%,transparent); }
.secondary { border-color:var(--border); background:transparent; color:var(--foreground); }
.secondary:hover { background:color-mix(in srgb,var(--ivory) 8%,transparent); }
.text-link { font-size:13px; padding-block:13px; text-decoration:none; border-bottom:1px solid var(--border); }
.text-link:hover { border-color:var(--accent); }
.hero-note { margin:23px 0 0; font-size:12px; color:var(--muted); }
.glass { border:1px solid var(--border); background:linear-gradient(135deg,color-mix(in srgb,var(--ivory) 5%,transparent),transparent 60%),var(--card-bg); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ivory) 6%,transparent),0 22px 65px color-mix(in srgb,var(--midnight) 22%,transparent); backdrop-filter:blur(22px); }
.workflow-visual { position:relative; border-radius:24px; transform:rotate(-1.5deg); }
.workflow-visual::before { content:''; position:absolute; width:76%; aspect-ratio:1; top:12%; right:-10%; border-radius:50%; background:var(--sage); filter:blur(110px); opacity:.11; z-index:-1; }
.visual-top,.visual-bottom { display:flex; justify-content:space-between; align-items:center; padding:19px 22px; font-size:9px; letter-spacing:1.3px; }
.visual-top { border-bottom:1px solid var(--border); }
.status-dot { display:flex; gap:7px; align-items:center; color:var(--sage); font-size:10px; letter-spacing:0; }
.status-dot::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--sage); }
.flow-canvas { position:relative; padding:24px 25px; display:grid; gap:14px; }
.path-line { position:absolute; left:68px; top:42px; bottom:50px; width:1px; background:linear-gradient(var(--sage),color-mix(in srgb,var(--sage) 10%,transparent)); }
.flow-block { position:relative; display:flex; gap:15px; align-items:center; padding:17px; border:1px solid var(--border); border-radius:12px; background:var(--surface-raised); }
.flow-b { margin-left:27px; }
.flow-c { margin-left:54px; }
.node-icon { display:grid; place-items:center; width:40px; height:40px; flex:none; border:1px solid var(--border); border-radius:10px; color:var(--sage); background:var(--surface); }
.flow-block small { display:block; font-size:8px; color:var(--sage); letter-spacing:1.5px; }
.flow-block strong { font-size:14px; font-weight:550; }
.flow-block p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.flow-end { display:flex; align-items:center; gap:12px; padding:15px 0 0 18px; color:var(--sage); font-size:12px; }
.flow-end .icon:last-child { margin-left:auto; width:17px; }
.visual-bottom { border-top:1px solid var(--border); color:var(--muted); }
.visual-bottom>span { display:flex; align-items:center; gap:10px; }
.visual-bottom .icon { width:14px; height:14px; }
.visual-bottom small { font-size:10px; letter-spacing:0; }
.audiences { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding-block:26px; }
.audiences>span { color:var(--muted); font-size:9px; letter-spacing:1.5px; max-width:140px; }
.audiences p { font-size:15px; font-weight:500; margin:0; color:var(--muted); }
.section { padding-top:112px; scroll-margin-top:0; }
.section-heading { max-width:690px; margin-bottom:40px; }
h2 { font-size:clamp(34px,3.6vw,48px); letter-spacing:-1.5px; line-height:1.17; font-weight:550; margin-bottom:20px; }
.section-heading>p:last-child,.section-heading.split>p { color:var(--muted); max-width:470px; font-size:15px; }
.section-heading .eyebrow { margin-bottom:16px; }
.section-heading.split { max-width:none; display:flex; align-items:end; gap:60px; justify-content:space-between; }
.section-heading.split>p { max-width:330px; }
.solution-stack { display:grid; gap:26px; }
.solution-card { --card-bg:var(--surface); display:grid; grid-template-columns:1.1fr 1fr; position:sticky; top:114px; border-radius:24px; overflow:hidden; transform-origin:center top; }
.solution-card:nth-child(2) { top:129px; }
.solution-card:nth-child(3) { top:144px; }
.solution-card:hover { border-color:color-mix(in srgb,var(--sage) 55%,transparent); box-shadow:0 0 34px color-mix(in srgb,var(--sage) 10%,transparent),inset 0 1px 0 color-mix(in srgb,var(--ivory) 8%,transparent); }
.solution-copy { padding:34px 38px 38px; }
.card-top { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:42px; }
.card-top .eyebrow { font-size:9px; letter-spacing:1.2px; margin:0; }
.badge { display:inline-block; padding:6px 10px; border:1px solid var(--border); border-radius:30px; color:var(--sage); font-size:9px; line-height:1.4; white-space:normal; }
.solution-copy h3 { font-size:34px; line-height:1.2; letter-spacing:-1px; font-weight:530; margin-bottom:18px; }
.solution-copy>p { max-width:470px; font-size:14px; color:var(--muted); line-height:1.8; }
.tags { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:7px; margin:22px 0; }
.tags li { padding:6px 9px; border:1px solid var(--border); border-radius:5px; font-size:10px; color:var(--muted); }
.text-button { display:inline-flex; align-items:center; gap:15px; padding:10px 0; min-height:44px; background:none; border:0; font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--border); }
.text-button:hover { text-decoration-color:currentColor; }
.text-button .icon { width:18px; height:18px; }
.solution-art { display:flex; position:relative; padding:45px; flex-direction:column; align-items:center; justify-content:center; border-left:1px solid var(--border); background:radial-gradient(ellipse at 90% 70%,color-mix(in srgb,var(--sage) 13%,transparent),transparent 70%); }
.mini-page { width:87%; background:color-mix(in srgb,var(--ivory) 96%,transparent); color:var(--midnight); border-radius:12px; padding:24px 28px 35px; transform:rotate(-5deg); box-shadow:0 20px 35px color-mix(in srgb,var(--midnight) 20%,transparent); }
.mini-brand { font-size:8px; letter-spacing:1.2px; font-weight:700; display:block; padding-bottom:22px; border-bottom:1px solid color-mix(in srgb,var(--midnight) 15%,transparent); }
.mini-page strong { display:block; margin:22px 0 16px; font-size:22px; line-height:1.25; font-weight:550; letter-spacing:-.6px; }
.mini-text { display:block; width:80%; height:4px; margin-bottom:7px; border-radius:2px; background:color-mix(in srgb,var(--midnight) 16%,transparent); }
.mini-text.short { width:65%; }
.mini-cta { display:flex; align-items:center; justify-content:space-between; margin-top:25px; background:var(--midnight); color:var(--ivory); padding:10px 14px; border-radius:5px; font-size:10px; }
.mini-cta .icon { width:14px; }
.floating-record { position:relative; align-self:end; display:flex; align-items:center; gap:13px; background:var(--surface-raised); border:1px solid var(--border); border-radius:12px; padding:15px; width:87%; margin-top:-21px; box-shadow:0 16px 50px color-mix(in srgb,var(--midnight) 30%,transparent); }
.floating-record strong,.floating-record small { display:block; }
.floating-record strong { font-size:12px; }
.floating-record small { font-size:9px; color:var(--muted); }
.floating-record>.icon { color:var(--sage); margin-left:auto; width:16px; }
.automation-row { display:flex; align-items:center; gap:18px; padding:20px; width:100%; background:var(--surface-raised); border:1px solid var(--border); border-radius:12px; font-size:13px; }
.automation-row>.icon { color:var(--sage); }
.line-check { display:grid; place-items:center; margin-left:auto; color:var(--sage); }
.line-check .icon { width:16px; }
.connector { height:27px; width:1px; background:var(--sage); opacity:.6; }
.art-caption { color:var(--muted); font-size:10px; margin:22px 0 0; text-align:center; }
.operations-core { display:grid; justify-items:center; width:200px; padding:30px 24px; background:var(--surface-raised); border:1px solid var(--border); border-radius:22px; box-shadow:0 0 70px color-mix(in srgb,var(--sage) 8%,transparent); }
.operations-core>.icon { width:43px; height:43px; color:var(--sage); margin-bottom:17px; }
.operations-core strong { font-size:17px; }
.operations-core small { font-size:10px; color:var(--muted); }
.operations-branches { width:100%; display:flex; gap:10px; justify-content:center; margin-top:45px; position:relative; }
.operations-branches::before { content:''; position:absolute; left:16%; right:16%; height:30px; top:-30px; border:1px solid var(--border); border-bottom:0; border-radius:12px 12px 0 0; }
.operations-branches span { padding:12px 15px; border:1px solid var(--border); background:var(--surface-raised); border-radius:7px; font-size:10px; }
.sample-card { display:flex; gap:24px; align-items:center; padding:28px 32px; margin-top:30px; border-radius:18px; }
.sample-icon { display:grid; place-items:center; width:64px; height:64px; flex:none; border-radius:17px; border:1px solid var(--border); color:var(--sage); }
.sample-icon .icon { width:29px; height:29px; }
.sample-card .eyebrow { font-size:9px; margin-bottom:7px; }
.sample-card h3 { font-size:22px; font-weight:550; margin:0 0 6px; }
.sample-card p:not(.eyebrow) { max-width:650px; font-size:13px; color:var(--muted); margin:0; }
.sample-card .button { margin-left:auto; flex:none; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.process-card { padding:24px 0; border-top:1px solid var(--border); }
.step-number { font-size:11px; color:var(--sage); letter-spacing:1.5px; }
.process-card h3 { margin:25px 0 12px; font-size:20px; font-weight:550; }
.process-card p { color:var(--muted); font-size:13px; }
.about-panel { display:grid; grid-template-columns:1fr 1fr; gap:80px; border-radius:24px; padding:48px; }
.about-copy>p:not(.eyebrow) { color:var(--muted); font-size:14px; }
.about-signoff { display:block; margin-top:25px; font:italic 24px var(--serif); color:var(--sage); }
.founders { display:flex; flex-direction:column; justify-content:center; }
.founders article { display:flex; align-items:center; gap:22px; padding:23px 0; border-bottom:1px solid var(--border); }
.founders article:last-child { border-bottom:0; }
.founder-initial { display:grid; place-items:center; width:52px; height:60px; flex:none; background:var(--surface-raised); border:1px solid var(--border); border-radius:40px 40px 12px 12px; color:var(--sage); font:26px var(--serif); }
.founders h3 { font-size:19px; font-weight:550; margin:0 0 3px; }
.founders p { font-size:11px; margin:0 0 5px; color:var(--sage); }
.founders small { font-size:11px; color:var(--muted); }
.question-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.question-card { display:flex; align-items:center; text-align:left; padding:24px; gap:20px; border-radius:14px; transition:box-shadow .2s,border-color .2s; }
.question-card>.icon:first-child { color:var(--sage); }
.question-card span { font-size:14px; max-width:320px; }
.question-card>.icon:last-child { margin-left:auto; width:18px; }
.question-card:hover,.sample-card:hover { border-color:color-mix(in srgb,var(--sage) 65%,transparent); box-shadow:0 0 32px color-mix(in srgb,var(--sage) 11%,transparent); }
.faq-list { margin-top:42px; }
details { border-bottom:1px solid var(--border); }
details:not([open])>:not(summary) { display:none; }
summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:64px; padding-block:18px; font-size:14px; cursor:pointer; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary .icon { width:18px; height:18px; color:var(--sage); transition:transform .2s; }
details[open]>summary .icon { transform:rotate(45deg); }
details>p { max-width:840px; margin:0 0 24px; font-size:13px; color:var(--muted); }
.contact-section { display:flex; gap:50px; justify-content:space-between; align-items:center; padding:80px 0; margin-top:95px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.contact-section h2 { font-size:clamp(38px,4.5vw,62px); }
.contact-section p:not(.eyebrow) { color:var(--muted); font-size:14px; margin:0; }
.contact-section .button { min-width:185px; }
footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; padding:38px 0 24px; }
footer p { text-align:center; font-size:12px; color:var(--muted); margin:0; }
footer>span { font-size:10px; color:var(--muted); }
.preview-note { grid-column:1/-1; text-align:center; font-size:10px; color:var(--muted); }
.js-ready .reveal,.js-ready .fold-card { opacity:0; transform:translateY(24px); transition:opacity .5s var(--ease),transform .55s var(--ease); }
.js-ready .fold-card { opacity:1; transform:perspective(1400px) translateY(35px) rotateX(7deg); }
.js-ready .is-visible { opacity:1; transform:none; }
.drawer-scrim { position:fixed; inset:0; z-index:60; background:color-mix(in srgb,var(--midnight) 70%,transparent); backdrop-filter:blur(9px); }
.options-drawer { --foreground:var(--midnight); --muted:color-mix(in srgb,var(--midnight) 77%,var(--ivory)); --border:color-mix(in srgb,var(--midnight) 20%,transparent); position:fixed; z-index:70; right:max(24px,calc((100% - 1240px)/2)); top:105px; bottom:18px; width:min(1030px,calc(100% - 48px)); padding:38px; color:var(--midnight); background:var(--ivory); border:1px solid color-mix(in srgb,var(--ivory) 60%,transparent); border-radius:22px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--midnight) 25%,transparent) transparent; box-shadow:0 28px 90px color-mix(in srgb,var(--midnight) 50%,transparent); animation:drawer-in .3s var(--ease); }
@keyframes drawer-in { from { opacity:0; } to { opacity:1; } }
.drawer-heading .eyebrow { color:var(--midnight); font-size:9px; margin-bottom:12px; }
.drawer-back { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:6px 0; margin:0 0 16px; border:0; background:none; color:var(--midnight); font-size:12px; font-weight:600; }
.drawer-back .icon { width:17px; height:17px; transform:rotate(180deg); }
.drawer-back:hover span { text-decoration:underline; text-underline-offset:4px; }
.drawer-heading h2 { font-size:34px; line-height:1.15; margin-bottom:12px; }
.drawer-heading>p:last-child { font-size:13px; max-width:620px; color:var(--muted); }
.drawer-tabs { display:flex; width:max-content; max-width:100%; gap:4px; margin:24px 0 22px; padding:4px; border:1px solid var(--border); border-radius:9px; }
.drawer-tabs button { background:none; border:0; padding:12px 18px; min-height:44px; color:var(--midnight); border-radius:6px; font-size:12px; }
.drawer-tabs [aria-selected=true] { color:var(--ivory); background:var(--midnight); }
#tab-count { display:inline-grid; place-items:center; min-width:19px; margin-left:4px; font-size:10px; }
.rate-note,.scope-note,.form-note { font-size:11px; line-height:1.75; color:var(--muted); }
.rate-note { margin-bottom:20px; max-width:850px; }
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.plan-card { position:relative; display:flex; flex-direction:column; border:1px solid var(--border); padding:22px; border-radius:12px; }
.plan-card.featured { background:color-mix(in srgb,var(--sage) 18%,var(--ivory)); border-color:var(--sage); }
.plan-card .plan-tag { color:var(--muted); font-size:9px; letter-spacing:1px; text-transform:uppercase; margin-bottom:14px; }
.plan-card h3 { font-size:19px; line-height:1.25; font-weight:600; min-height:48px; margin-bottom:15px; }
.price { font-size:29px; letter-spacing:-1px; margin:0 0 2px; font-weight:550; }
.price small { font-size:11px; letter-spacing:0; font-weight:400; }
.price-label { font-size:10px; color:var(--muted); margin:0 0 15px; }
.plan-description { min-height:48px; font-size:11px; color:var(--muted); }
.plan-card ul { list-style:none; padding:0; margin:2px 0 23px; display:grid; gap:9px; }
.plan-card li { display:flex; gap:7px; align-items:start; font-size:11px; }
.plan-card li .icon { width:13px; height:17px; }
.plan-card .button { margin-top:auto; font-size:11px; padding:11px 12px; min-height:44px; background:var(--midnight); color:var(--ivory); }
.plan-card .button[aria-pressed=true] { background:var(--sage); color:var(--midnight); }
.plan-meta { margin:10px 0 0; font-size:9px; color:var(--muted); text-align:center; }
.comparison { margin-top:22px; }
.comparison summary { font-size:12px; }
.table-scroll { overflow:auto; }
table { width:100%; border-collapse:collapse; margin-bottom:20px; min-width:510px; }
caption { text-align:left; font-size:11px; padding:10px 0; color:var(--muted); }
th,td { padding:13px 9px; border-bottom:1px solid var(--border); font-size:11px; text-align:center; }
th:first-child,td:first-child { text-align:left; }
td .icon { width:17px; height:17px; }
.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; }
.custom-option { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; background:none; padding:23px 0 0; border:0; text-align:left; }
.custom-option strong,.custom-option small { display:block; }
.custom-option strong { font-size:14px; }
.custom-option small { margin-top:5px; font-size:11px; color:var(--muted); }
.custom-option>span:last-child { display:flex; align-items:center; gap:12px; font-size:12px; }
.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.support-grid .plan-card h3 { min-height:auto; }
.support-grid .plan-description { min-height:auto; }
.basket-empty { text-align:center; border:1px dashed var(--border); border-radius:12px; padding:35px; }
.basket-empty p { font-size:13px; color:var(--muted); }
.basket-empty .icon { width:32px; height:32px; }
.basket-item { display:flex; align-items:center; gap:18px; padding:20px 0; border-bottom:1px solid var(--border); }
.basket-item>div { flex:1; }
.basket-item h3 { margin:0 0 4px; font-size:16px; }
.basket-item p { margin:0; font-size:11px; color:var(--muted); }
.basket-item .price { font-size:20px; }
.remove-item { background:none; border:0; text-decoration:underline; font-size:12px; min-height:44px; min-width:60px; }
#basket-summary { padding:25px 0 0; }
#basket-summary p { display:flex; justify-content:space-between; font-size:14px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px; }
.form-grid label,.message-label { display:grid; gap:9px; font-size:12px; font-weight:600; }
.form-grid label span { display:contents; font-weight:400; color:var(--muted); }
.full-width { grid-column:1/-1; }
input,textarea { width:100%; min-width:0; padding:12px 14px; min-height:46px; border:1px solid var(--border); border-radius:7px; background:color-mix(in srgb,var(--ivory) 50%,transparent); color:var(--midnight); font-size:16px; line-height:1.5; }
textarea { resize:vertical; }
input::placeholder { color:var(--muted); font-size:13px; }
.form-note { margin:22px 0; }
.message-label { margin-bottom:20px; }
.options-drawer .secondary { border-color:var(--border); color:var(--midnight); }
.options-drawer :focus-visible { outline-color:var(--midnight); }
.sample-detail { max-width:750px; }
.sample-detail .badge { border-color:var(--midnight); color:var(--midnight); margin-bottom:24px; }
.sample-detail h3 { font-size:30px; font-weight:550; }
.sample-detail p { font-size:14px; }
.sample-detail ul { margin:25px 0; padding-left:20px; font-size:13px; color:var(--muted); }
.sample-detail li { padding-bottom:8px; }
.sample-detail p.form-note { font-size:11px; }
#drawer-feedback { font-size:12px; margin:18px 0 0; color:var(--midnight); }
@media (max-width:1080px) {
  :root { --shell:min(100% - 56px,1180px); }
  .hero { gap:35px; min-height:700px; }
  h1 { font-size:55px; letter-spacing:-2.8px; }
  .hero .actions { gap:13px; }
  .hero .button { gap:12px; font-size:12px; padding:12px 15px; }
  .flow-canvas { padding:20px 15px; }
  .flow-block { padding:14px; gap:10px; }
  .flow-c { margin-left:28px; }
  .flow-b { margin-left:14px; }
  .solution-copy { padding:30px; }
  .card-top { flex-wrap:wrap; margin-bottom:30px; }
  .solution-art { padding:30px; }
  .about-panel { gap:35px; padding:35px; }
  .options-drawer { padding:28px; }
}
@media (max-width:760px) {
  :root { --shell:calc(100% - 40px); }
  .site-header { top:12px; width:calc(100% - 24px); height:65px; grid-template-columns:1fr auto; padding-left:12px; gap:10px; border-radius:14px; }
  .site-header nav { display:none; }
  .brand strong { font-size:22px; }
  .brand small { font-size:8px; }
  .drawer-handle { width:152px; height:45px; gap:12px; padding-left:14px; }
  .handle-label { font-size:12px; }
  .handle-coin { width:33px; height:33px; }
  .handle-coin .icon { width:19px; height:19px; }
  .hero { display:block; min-height:auto; padding-top:131px; padding-bottom:45px; }
  h1 { font-size:clamp(42px,8.4vw,62px); letter-spacing:-2px; }
  .intro { font-size:16px; }
  .hero .actions { gap:18px; }
  .workflow-visual { margin-top:45px; transform:none; max-width:500px; }
  .flow-canvas { padding:22px; }
  .flow-b { margin-left:24px; }
  .flow-c { margin-left:48px; }
  .audiences { flex-wrap:wrap; justify-content:start; gap:13px 25px; }
  .audiences>span { max-width:none; width:100%; }
  .audiences p { font-size:13px; }
  .section { padding-top:70px; scroll-margin-top:15px; }
  .section-heading.split { display:block; }
  .section-heading { margin-bottom:30px; }
  h2 { font-size:35px; letter-spacing:-1px; }
  .solution-card { grid-template-columns:1fr; position:relative; top:auto !important; }
  .solution-copy { padding:25px; }
  .solution-copy h3 { font-size:30px; }
  .solution-art { min-height:300px; border-left:0; border-top:1px solid var(--border); padding:30px; }
  .capture-art { padding:30px 40px; }
  .mini-page { max-width:320px; }
  .floating-record { max-width:300px; margin-right:0; }
  .sample-card { align-items:start; flex-wrap:wrap; padding:25px; gap:16px; }
  .sample-icon { width:45px; height:45px; }
  .sample-card>div { flex:1; min-width:210px; }
  .sample-card .button { margin:0; }
  .process-grid { grid-template-columns:1fr 1fr; gap:15px 25px; }
  .process-card { padding-top:17px; }
  .process-card h3 { margin-top:18px; }
  .about-panel { display:block; padding:28px; }
  .founders { margin-top:20px; }
  .founders article { gap:16px; }
  .question-grid { grid-template-columns:1fr; }
  .question-card { padding:20px; gap:17px; }
  .contact-section { display:block; margin-top:60px; padding:45px 0; }
  .contact-section .button { margin-top:25px; }
  footer { grid-template-columns:1fr; gap:22px; }
  footer p,.preview-note { text-align:left; }
  .options-drawer { top:90px; bottom:10px; right:12px; width:calc(100% - 24px); padding:24px; border-radius:16px; }
  .drawer-heading h2 { font-size:28px; }
  .drawer-tabs { width:100%; }
  .drawer-tabs button { padding:10px 8px; flex:1; font-size:11px; }
  .plan-grid,.support-grid { grid-template-columns:1fr; }
  .plan-card { padding:22px; }
  .plan-card h3 { min-height:auto; }
  .plan-description { min-height:auto; }
  .form-grid { grid-template-columns:1fr; }
  .custom-option { align-items:start; }
  .custom-option>span:last-child { flex:none; }
  .basket-item { flex-wrap:wrap; gap:12px; }
  .basket-item .price { font-size:17px; }
}
@media (max-height:520px) and (min-width:600px) {
  .hero { padding-top:125px; }
  .options-drawer { top:95px; bottom:8px; }
  .solution-card { position:relative; top:auto !important; }
}
@media (hover:none) { html { scrollbar-color:auto; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .js-ready .reveal,.js-ready .fold-card { opacity:1; transform:none; }
  .workflow-visual { transform:none; }
  .solution-card { position:relative; top:auto !important; }
}
