/* sochra Hybrid tokens: design book brand/03-colour (light + dark) and brand/04-typography */
@font-face{font-family:Geist;src:url(fonts/Geist.ttf);font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(fonts/GeistMono.ttf);font-display:swap}
:root{color-scheme:light dark;--canvas:#F7F8F3;--surface:#FFFFFF;--sunken:#EEF1E8;--text:#0E2A22;--muted:#4A5C54;--border:#DDE3D8;--border-strong:#66776F;
--focus:#1D5C8F;--primary:#0E2A22;--primary-contrast:#F7F8F3;--accent-soft:#EEF6DA;--link:#1D5C8F;--stop:#1E7B4E;--profit:#1E7B4E;--profit-soft:#E8F3EC;
--warning:#7A5A00;--warning-soft:#FFF3D6;--critical:#B23A26;--critical-soft:#FBECE8;--info-soft:#E8F0F7;
--band-dark:#0E2A22;--band-dark-card:#13332A;--band-dark-text:#F7F8F3;--band-dark-muted:#B8C6BF;--band-dark-link:#9CCBF2;
--sans:Geist,ui-sans-serif,system-ui,sans-serif;--mono:'Geist Mono',ui-monospace,monospace;--tag-radius:5px}
@media (prefers-color-scheme:dark){:root{--canvas:#0E2A22;--surface:#13332A;--sunken:#1A3D31;--text:#F7F8F3;--muted:#B8C6BF;--border:#24493C;--border-strong:#8AA096;
--focus:#D2EC3C;--primary:#F7F8F3;--primary-contrast:#0E2A22;--accent-soft:#1F4436;--link:#9CCBF2;--stop:#D2EC3C;--profit:#B5DE6E;--profit-soft:#1D3A2B;
--warning:#F5C451;--warning-soft:#302F25;--critical:#FF8A73;--critical-soft:#33292A;--info-soft:#1C3442;--band-dark:#0B231C;--band-dark-card:#13332A}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text);font:400 15px/1.5 var(--sans);font-variant-numeric:tabular-nums}
a{color:var(--link);text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
strong{font-weight:600}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}
header.site{background:var(--surface);border-bottom:1px solid var(--border);position:relative}
header.site .wrap{display:flex;align-items:center;gap:24px;min-height:64px}
.logo img{height:34px;width:auto}
nav.desk{display:flex;gap:4px;margin-left:auto;font-size:14px}nav a{color:var(--text);text-decoration:none;padding:12px 10px;min-height:44px;display:inline-flex;align-items:center}
nav a[aria-current]{box-shadow:inset 0 -2px var(--text)}
details.menu{display:none}details.menu summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:8px;font-weight:500}
details.menu summary::-webkit-details-marker{display:none}
details.menu nav{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;padding:8px 24px 16px;z-index:5}
details.menu nav .btn{margin-top:8px;justify-content:center}
.btn{display:inline-flex;align-items:center;min-height:44px;background:var(--primary);color:var(--primary-contrast);border-radius:8px;padding:10px 18px;text-decoration:none;border:0;font:500 15px var(--sans);cursor:pointer}
.btn[disabled]{opacity:.6;cursor:progress}.btn.quiet{background:transparent;color:var(--text);border:1px solid var(--border-strong)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
h1{font-size:44px;line-height:1.1;letter-spacing:-.03em;font-weight:600;margin:0 0 16px}
h2{font-size:28px;line-height:1.2;letter-spacing:-.02em;font-weight:600;margin:0 0 12px}h3{font-size:16px;font-weight:600;margin:0 0 6px}
.lede{font-size:18px;color:var(--muted);max-width:620px}
section{padding:64px 0}.band{background:var(--surface);border-block:1px solid var(--border)}
.hero{padding:56px 0}.hero .rule{width:48px;height:4px;background:var(--stop);margin-bottom:20px}
.hero-grid{display:grid;grid-template-columns:5fr 6fr;gap:40px;align-items:center}
.outcomes{padding:0;list-style:none;margin:0 0 20px}.outcomes li{padding-left:24px;position:relative;margin:6px 0}.outcomes li::before{content:"▲";position:absolute;left:0;color:var(--profit);font-size:12px;top:3px}
.frame{border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:0 20px 50px rgba(14,42,34,.18)}
.frame .bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--sunken);border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}
.frame .bar i{width:10px;height:10px;border-radius:50%;background:var(--border-strong);display:block}.frame .bar span{margin-left:12px}
figure{margin:0}figure.shot{position:relative}figure.shot img{border:1px solid var(--border);border-radius:10px;background:var(--surface)}
figure.shot.bare img{border:0;border-radius:0}figcaption{font-size:12px;color:var(--muted);margin-top:8px}figure.bare figcaption{padding:0 12px 8px}
.preview{position:static;display:inline-block;margin:0 0 8px;width:max-content}figure.shot>.preview{display:block}.small-shot{max-width:420px;margin:16px 0 24px}
.feature{display:grid;grid-template-columns:4fr 7fr;gap:40px;align-items:center;margin:24px 0 48px}.feature.flip .ftext{order:2}
.dark{background:var(--band-dark);color:var(--band-dark-text)}.dark .muted,.dark figcaption{color:var(--band-dark-muted)}.dark a{color:var(--band-dark-link)}
.dark figure.shot img{border-color:#24493C}
.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.band .card{background:var(--canvas)}
.card .fig{font-size:30px;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:6px 0}
.bands .mid{border:2px solid var(--border-strong)}.billing{margin:16px 0 4px;font-weight:500}.sub{margin:32px 0 12px}
.ticks{padding-left:20px;margin:8px 0 0}.trust{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--muted);margin-top:20px}
.trust li::before{content:"✓ ";color:var(--profit)}
.muted{color:var(--muted)}.nowrap{white-space:nowrap}.hero-plat{text-wrap:pretty}.small{font-size:13px}.cap{font-size:12px;color:var(--muted)}
.chip{display:inline-block;white-space:nowrap;font-size:13px;font-weight:500;padding:2px 6px;border-radius:5px;min-height:22px;line-height:18px;box-sizing:border-box;border:1px solid transparent;background:var(--sunken);vertical-align:middle}
.chip.warn{background:var(--warning-soft);color:var(--warning)}.chip.ok{background:var(--profit-soft);color:var(--profit)}.chip.ok{border:1px solid transparent}
.access{background:var(--info-soft);border-left:3px solid var(--link);padding:12px 16px;border-radius:6px}
code{font-family:var(--mono);font-size:13px}.mono-list{padding-left:18px}
.confirm{background:var(--warning-soft);color:var(--warning);font-weight:500;padding:0 4px;border-radius:4px}
.doc{max-width:760px}.doc h2{font-size:20px;margin-top:32px}.doc .meta{font-size:13px;color:var(--muted);border-left:3px solid var(--stop);padding-left:12px;margin-bottom:24px}
table{border-collapse:collapse;width:100%;background:var(--surface);font-size:14px;margin:16px 0}th,td{border-bottom:1px solid var(--border);text-align:left;padding:10px;vertical-align:top}th{font-weight:500;font-size:13px;color:var(--muted)}
.diagram{margin:24px 0}.diagram svg{max-width:100%;height:auto}.diagram .node rect{fill:var(--surface);stroke:var(--border-strong)}.diagram .hub rect{fill:var(--primary)}
.diagram .hub text{fill:var(--primary-contrast)}.diagram text{fill:var(--text)}.diagram .mut{fill:var(--muted)}.diagram .edge path{stroke:var(--stop);stroke-width:2;fill:none}
form.pilot{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.f{display:flex;flex-direction:column;gap:4px}.f.wide{grid-column:1/-1}
.f label{font-size:13px;font-weight:500}form.pilot input,form.pilot select,form.pilot textarea{min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;font:15px var(--sans);background:var(--surface);color:var(--text)}
label.check{display:flex;gap:10px;align-items:center;font-weight:400;font-size:14px;min-height:44px}label.check input{min-height:auto;width:20px;height:20px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{background:var(--critical-soft);color:var(--critical);padding:10px 14px;border-radius:8px}.note{background:var(--info-soft);padding:10px 14px;border-radius:8px}
.ok{background:var(--profit-soft);padding:16px;border-radius:12px}.statelabel{font:500 12px var(--mono);text-transform:uppercase;color:var(--muted);border-top:1px dashed var(--border-strong);padding-top:12px}
.chip.ok{padding:2px 6px;border-radius:5px}
.state{padding:24px 0}.superseded{background:var(--warning-soft);color:var(--warning);padding:12px 0;font-weight:500}.superseded a{color:inherit}
footer.site{border-top:1px solid var(--border);padding:32px 0;font-size:13px;color:var(--muted)}footer.site .wrap{display:flex;gap:8px 20px;flex-wrap:wrap}footer.site a{color:var(--muted);min-height:44px;display:inline-flex;align-items:center}
@media (max-width:1023px){.hero-grid,.feature{grid-template-columns:1fr;gap:24px}.feature.flip .ftext{order:0}}
@media (max-width:760px){.g3,.g2,form.pilot{grid-template-columns:1fr}h1{font-size:34px}h2{font-size:24px}nav.desk{display:none}
details.menu{display:block;margin-left:auto}.hero{padding:32px 0}section{padding:44px 0}}
.skip{position:absolute;left:8px;top:-60px;background:var(--primary);color:var(--primary-contrast);padding:10px 14px;border-radius:8px;z-index:10}.skip:focus{top:8px}
.ill svg{max-width:100%;height:auto;display:block}
.ill .tile{fill:var(--surface);stroke:var(--border-strong)}.band .ill .tile{fill:var(--canvas)}.ill .accent{fill:var(--stop)}
.ill text{fill:var(--text)}.ill .mut{fill:var(--muted)}.ill .step circle{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5}.ill .accent-step circle{fill:var(--accent-soft);stroke:var(--stop)}
.ill .arrow{stroke:var(--stop);stroke-width:2;fill:none;marker-end:none}.ill .shield{fill:var(--profit-soft);stroke:var(--profit);stroke-width:2}.ill .tick{fill:none;stroke:var(--profit);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.trustrow{display:flex;align-items:center;gap:16px;margin-top:20px}.trustrow .trust{margin:0}.trustrow .ill svg{width:48px}
#get-started .ill{margin:8px 0 4px;max-width:360px}
#get-started{position:relative}#pilot{position:absolute;top:0;left:0;scroll-margin-top:72px}
header.site.sticky{position:sticky;top:0;z-index:20}
.chip.demo{background:var(--info-soft);color:var(--link);font-size:12px;margin-left:6px}
.quotes{background:var(--surface);border-block:1px solid var(--border)}.quotes .card,.quotes .tile{background:var(--canvas)}
h2.big{font-size:36px;letter-spacing:-.03em;margin-top:12px}.fh{font-size:22px;letter-spacing:-.02em;line-height:1.25}
@media (max-width:760px){header.site .wrap>.btn{display:inline-flex;margin-left:auto;padding:8px 14px;min-height:44px}details.menu{margin-left:0}h2.big{font-size:28px}}
@media (max-width:360px){header.site .wrap{gap:10px;padding:0 12px}header.site .wrap>.btn{padding:8px 10px;font-size:14px}details.menu summary{padding:10px}}
@media (max-width:760px){header.site .logo{margin-right:4px}}
.feature.flip{grid-template-columns:7fr 4fr}
@media (max-width:1023px){.feature.flip{grid-template-columns:1fr}}
/* Header control states (hover, pressed, keyboard focus, current page), light and dark via tokens */
header.site nav a,header.site .logo,header.site .btn,details.menu summary{border-radius:8px;transition:background-color .12s,box-shadow .12s,transform .06s}
header.site nav a:hover,details.menu summary:hover,header.site .logo:hover{background:var(--sunken)}
header.site nav a:active,details.menu summary:active,header.site .logo:active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border-strong)}
header.site .btn:hover{background:var(--text);box-shadow:0 0 0 2px var(--accent-soft)}
header.site .btn:active{transform:translateY(1px);box-shadow:inset 0 2px 0 rgba(0,0,0,.25);filter:brightness(.92)}
header.site a:focus-visible,header.site .btn:focus-visible,details.menu summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
header.site nav a[aria-current=page]{font-weight:600;box-shadow:inset 0 -3px var(--stop)}
details.menu[open] summary{background:var(--accent-soft);border-color:var(--stop)}
/* In-page anchors: current section (JS sets aria-current=location; no-JS fallback via :target) */
header.site nav a[aria-current=location],
body:has(#pricing:target) header.site nav a[href="/#pricing"]{font-weight:600;box-shadow:inset 0 -3px var(--stop)}
body:has(#pricing:target) header.site nav a[href="/"][aria-current]{font-weight:inherit;box-shadow:none}
section[id]{scroll-margin-top:72px}
/* Integrations page */
.int-hero{padding:72px 0 48px}.int-hero h1{max-width:760px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stop);margin:0 0 8px}
.flow{margin:0}.flow-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 120px 1fr 120px 1fr;align-items:center;gap:0}
.flow-col{display:flex;flex-direction:column;gap:10px}.flow-k{font-size:13px;font-weight:600;color:var(--muted)}
.flow-src{list-style:none;margin:0;padding:0;display:grid;gap:8px}.flow-src li{display:flex;align-items:center;gap:10px;background:var(--canvas);border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;font-weight:500;min-height:48px}
.flow-core,.flow-you{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-radius:12px;padding:18px;min-height:168px;justify-content:center}
.flow-core{background:var(--primary);color:var(--primary-contrast)}.flow-core .muted{color:inherit;opacity:.8}.flow-core strong{font-size:20px}
.flow-you{background:var(--canvas);border:2px solid var(--stop)}.flow-you strong{font-size:18px}
.flow-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 8px;margin-top:24px}
.flow-line{display:block;width:100%;height:2px;background:var(--stop);position:relative}.flow-line::after{content:"";position:absolute;right:-1px;top:-5px;border:6px solid transparent;border-left:8px solid var(--stop);border-right:0}
.flow-pill{font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--text);border:1px solid var(--stop);border-radius:var(--tag-radius);padding:2px 10px;white-space:nowrap}
.flow figcaption{margin-top:16px;font-size:14px;max-width:760px}
.mono{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border-radius:8px;background:var(--accent-soft);color:var(--text);font:600 12px var(--mono);border:1px solid var(--border-strong)}
.mono.lg{min-width:44px;height:44px;font-size:14px}.muted-mono{background:var(--sunken);color:var(--muted);border-color:var(--border)}
.plat header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.plat header h3{margin:0;flex:1}
.plat dl{margin:0}.plat dt{font-size:13px;font-weight:600;color:var(--muted);margin-top:10px}.plat dd{margin:2px 0 0}
.perm{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.perm summary{cursor:pointer;font-weight:500;min-height:44px;display:flex;align-items:center;color:var(--link);text-decoration:underline}
.plans{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.plans .plan{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;color:var(--muted)}.plans .plan>span:nth-child(2){color:var(--text);font-weight:500}
.chip.planned{background:transparent;border:1px dashed var(--border-strong);color:var(--muted)}
.cando .crosses{padding-left:20px;margin:8px 0 0}.tickmark{color:var(--stop);font-weight:600}.crossmark{color:var(--critical);font-weight:600}
.cta-end{text-align:center}.cta-end .btn{margin-top:8px}
@media (max-width:1024px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.flow-row{grid-template-columns:1fr}.flow-link{margin:4px 0;height:56px;flex-direction:row;gap:10px}
 .flow-line{width:2px;height:40px}.flow-line::after{right:-5px;top:auto;bottom:-1px;border:6px solid transparent;border-top:8px solid var(--stop);border-bottom:0}
 .flow-core,.flow-you{min-height:0}.plats{grid-template-columns:1fr}}
@media (max-width:520px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.int-hero{padding:40px 0 24px}}
.blogo,.nicon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:48px;border-radius:10px;background:var(--canvas);border:1px solid var(--border);flex:none}
.blogo img{width:auto;height:28px}.blogo.wide{width:84px}.blogo.wide img{height:26px}.nicon svg{width:24px;height:24px;color:var(--text)}.muted-icon svg{color:var(--muted)}
.blogo.wide{width:104px}.blogo.wide img{height:22px}
/* Flow: logos in source tiles, richer sochra core */
.flow-src .blogo,.flow-src .nicon{width:44px;height:36px;border-radius:8px}.flow-src .blogo img{height:22px}.flow-src .blogo.wide{width:64px}.flow-src .blogo.wide img{height:16px}.flow-src .nicon svg{width:20px;height:20px}
.flow-row{grid-template-columns:1fr 104px 1.5fr 104px 1fr}
.flow-core{position:relative;align-items:stretch;justify-content:flex-start;gap:12px;background:var(--surface);color:var(--text);border:2px solid var(--stop);box-shadow:0 0 0 6px var(--accent-soft),0 12px 32px -12px color-mix(in srgb,var(--stop) 45%,transparent)}
.flow-core .core-head{display:flex;align-items:center;gap:10px}.flow-core .core-head strong{font-size:18px;line-height:1.25}
.core-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.core-rows li{display:flex;gap:10px;align-items:flex-start;background:var(--canvas);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.core-rows li>span:last-child{display:flex;flex-direction:column;font-size:13px;color:var(--muted)}.core-rows b{font-weight:600;color:var(--text);font-size:14px}
.ci{flex:none;display:inline-flex;width:28px;height:28px;border-radius:8px;align-items:center;justify-content:center;background:var(--sunken)}.ci svg{width:18px;height:18px}
.ci.up{color:var(--profit);background:var(--profit-soft)}.ci.warn{color:var(--warning);background:var(--warning-soft)}.ci.draft{color:var(--link);background:var(--info-soft)}
.core-chip{align-self:flex-start}
.flow-you{min-height:0;align-self:center}
@media (max-width:1100px){.flow-row{grid-template-columns:1fr 84px 1.4fr 84px 1fr}}
@media (max-width:860px){.flow-row{grid-template-columns:1fr}}
/* Info pages (privacy, terms, dpa, subprocessors, security, support, cookies) */
.info-hero{padding:56px 0 32px;background:var(--surface);border-bottom:1px solid var(--border)}.info-hero h1{margin:0 0 8px}.info-hero .lede{margin:0 0 12px}
.info-hero .meta{display:inline-block;font-size:13px;color:var(--muted);border-left:3px solid var(--stop);padding-left:10px;margin:0}
.info-layout{display:grid;grid-template-columns:minmax(0,720px);gap:48px;padding-top:40px;padding-bottom:56px}
.info-layout.has-toc{grid-template-columns:240px minmax(0,720px)}
.toc{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}
.toc summary{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;min-height:44px;display:flex;align-items:center;cursor:pointer;list-style:none}
.toc summary::-webkit-details-marker{display:none}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--border)}
.toc a{display:block;padding:6px 12px;margin-left:-1px;border-left:3px solid transparent;color:var(--muted);text-decoration:none;font-size:14px;line-height:1.35}
.toc a:hover{color:var(--text);background:var(--sunken)}.toc a:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.toc a[aria-current=location]{color:var(--text);font-weight:600;border-left-color:var(--stop)}
.info-doc{max-width:720px;font-size:16px;line-height:1.7}.info-doc h2{font-size:22px;margin:40px 0 8px;scroll-margin-top:88px}.info-doc li[id]{scroll-margin-top:88px}
.info-doc ol>li,.info-doc ul>li{margin:6px 0}
.inshort{background:var(--accent-soft);border:1px solid var(--stop);border-radius:12px;padding:18px 22px;margin:0 0 28px}
.inshort .inshort-h{font-size:15px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.05em}.inshort ul{margin:0 0 8px;padding-left:20px}.inshort p{margin:0}
.facts{display:grid;gap:12px;margin:0 0 20px}.facts.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fact{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;line-height:1.45}
.fact.wide{margin-bottom:8px;border-left:4px solid var(--stop)}.fact-k{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.fact strong{font-size:16px;overflow-wrap:anywhere}.fact span:last-child{font-size:14px;color:var(--muted)}
.tablewrap{overflow-x:auto;margin:16px 0}.subs{font-size:14px;line-height:1.5}.subs td:first-child{font-weight:600}
.confirm{background:var(--warning-soft);color:var(--warning);border-radius:4px;padding:0 4px;font-size:.92em}
.info-links{background:var(--surface);border-top:1px solid var(--border);padding:40px 0}.info-links ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.info-links a{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--canvas);text-decoration:none;color:var(--text)}
.info-links a span{font-size:13px;color:var(--muted)}.info-links a:hover{border-color:var(--border-strong);background:var(--sunken)}.info-links a[aria-current=page]{border-color:var(--stop);box-shadow:inset 0 -3px var(--stop)}
.cta-band{background:var(--primary);color:var(--primary-contrast);padding:40px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{margin:0 0 4px;color:inherit}.cta-band p{margin:0;opacity:.85}.cta-band .btn,.cta-band .btn.p{background:var(--primary-contrast);color:var(--primary)}
@media (max-width:1024px){.info-layout.has-toc{grid-template-columns:1fr;gap:16px}.toc{position:static;max-height:none;border:1px solid var(--border);border-radius:12px;padding:0 14px;background:var(--surface)}
 .toc summary::after{content:"+";margin-left:auto;font-size:18px}.toc details[open] summary::after{content:"–"}.toc ol{margin-bottom:12px}.info-links ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.facts.g3{grid-template-columns:1fr}.info-hero{padding:36px 0 24px}
 .subs thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.subs,.subs tbody,.subs tr,.subs td{display:block;width:100%}
 .subs tr{border:1px solid var(--border);border-radius:12px;padding:8px 12px;margin-bottom:10px;background:var(--surface)}.subs td{border:0;padding:4px 0}.subs td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
 .tablewrap:has(.subs){overflow:visible}}
@media (max-width:520px){.info-links ul{grid-template-columns:1fr}}
.info-layout>*{min-width:0}.toc a{overflow-wrap:anywhere}
.toc a[aria-current]{box-shadow:none}.info-links a{min-height:0;align-items:flex-start}
.plans{grid-template-columns:repeat(7,minmax(0,1fr))}@media (max-width:1240px){.plans{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1024px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}.plats{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:860px){.plats{grid-template-columns:1fr}}
/* Dev & Design must-fixes: reduced motion, 44px targets, 3px skip focus */
@media (prefers-reduced-motion:reduce){header.site nav a,header.site .logo,header.site .btn,details.menu summary,.ts{transition:none!important}header.site .btn:active{transform:none!important}html{scroll-behavior:auto}}
header.site .logo{display:inline-flex;align-items:center;min-height:44px}
.fact strong a{display:inline-flex;align-items:center;min-height:44px}
form.pilot label.check{min-height:44px;padding:4px 0}
.skip:focus,.skip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
footer.site .linkbtn{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--link);text-decoration:underline;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
/* Cookie consent. Bottom bar only. Reject, Accept, Choose partners stay in DOM order at every width. */
.consent.bar{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:3px solid var(--stop);box-shadow:0 -4px 16px rgba(14,42,34,.08);z-index:30}
.consent.bar .wrap{display:flex;align-items:center;gap:24px;padding-top:16px;padding-bottom:16px}
.consent.bar .copy{flex:1}
.consent.bar h2{font-size:16px;font-weight:600;margin:0 0 4px}
.consent.bar p{margin:0;font-size:14px;color:var(--muted)}
.consent .actions{display:flex;gap:12px;flex-wrap:wrap}
.consent .btn{justify-content:center;min-height:44px;border-radius:10px}
.consent .btn-choice{background:var(--primary);color:var(--primary-contrast);border:1px solid var(--primary);font-weight:500;min-width:120px}
.consent .btn-tertiary{background:transparent;color:var(--text);border:1px solid var(--border-strong);font-weight:400;min-width:120px}
.consent .btn-tertiary:hover{background:var(--sunken)}
.consent .btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-weight:500}
.consent .btn:focus-visible,.consent .linkbtn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.consent-toast{position:fixed;left:24px;bottom:24px;background:var(--primary);color:var(--primary-contrast);border-radius:10px;padding:12px 16px;font-size:14px;display:flex;gap:16px;align-items:center;z-index:30}
.consent-toast button{background:none;border:0;font:inherit;color:var(--primary-contrast);text-decoration:underline;cursor:pointer;min-height:44px}
dialog.consent-dialog{border:0;padding:0;margin:auto;background:transparent;width:min(560px,calc(100vw - 32px));max-width:560px}
dialog.consent-dialog::backdrop{background:rgba(14,42,34,.55)}
dialog.consent-dialog .dialog{background:var(--surface);border-radius:12px;padding:24px;box-shadow:0 16px 40px rgba(14,42,34,.25);max-height:calc(100vh - 32px);overflow:auto}
dialog.consent-dialog h2{font-size:20px;font-weight:600;margin:0 0 8px;letter-spacing:-.01em}
dialog.consent-dialog .dialog>p{margin:0 0 16px;color:var(--muted);font-size:14px}
.consent .row{border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:12px;display:flex;gap:16px;align-items:flex-start}
.consent .row .t{flex:1}.consent .row h3,.consent .vendor h4{font-size:15px;font-weight:600;margin:0 0 2px}
.consent .vendor h4{font-size:14px}
.consent .row p,.consent .vendor p{margin:0;font-size:14px;color:var(--muted)}
.consent .vendor p{font-size:13px}
.consent .state{font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;padding-top:2px}
.consent .switch{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;white-space:nowrap}
.consent .switch input{appearance:none;width:44px;height:24px;border-radius:12px;border:1px solid var(--border-strong);background:var(--sunken);position:relative;cursor:pointer;margin:0}
.consent .switch input::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--border-strong)}
.consent .switch input:checked{background:var(--primary);border-color:var(--primary)}
.consent .switch input:checked::after{left:22px;background:var(--primary-contrast)}
.consent .switch input:disabled{cursor:not-allowed}
.consent .switch input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.consent .gpc-note{background:var(--info-soft);border-left:3px solid var(--link);border-radius:6px;padding:10px 12px;font-size:14px;margin:0 0 12px;color:var(--text)}
.consent .row.adv{flex-direction:column;gap:12px}
.consent .advhead{display:flex;gap:16px;align-items:flex-start;width:100%}
/* Quiet helper text under the Advertising choice: 4px below the head (row gap is 12px), aligned with the label text. */
.consent .row.adv .adv-note{margin:-8px 0 0;padding:0;font-size:14px;line-height:1.5;color:var(--muted);background:none;border:0}
.consent .vendors{list-style:none;margin:0;padding:0;width:100%;border-top:1px solid var(--border)}
.consent .vendor{display:flex;gap:16px;align-items:flex-start;padding:10px 0 10px 12px;border-bottom:1px solid var(--border)}
.consent .vendor:last-child{border-bottom:0}
dialog.consent-dialog .actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}
@media (max-width:760px){
 .consent.bar .wrap{flex-direction:column;align-items:stretch;gap:12px}
 .consent.bar .actions{flex-direction:column;gap:8px}
 .consent.bar .actions .btn{width:100%;min-width:0}
 .consent-toast{left:12px;right:12px;bottom:12px}
 dialog.consent-dialog .dialog{padding:20px}
 .consent .row,.consent .advhead,.consent .vendor{flex-direction:column;gap:8px}
 dialog.consent-dialog .actions .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){.consent .switch input::after{transition:none}}
/* Pricing v8, from docs/design/pricing-v8 (pricing-v2.css + pricing-v8.css). Tokens only. */
.pv2 .plan-name{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--profit);margin:0 0 4px}
.pv2 .card h3{font-size:17px;margin:0}
.pv2 .card .fig{font-variant-numeric:tabular-nums}
.pv2 .card ul.inc{margin:12px 0 0;padding-left:18px;font-size:14px;color:var(--text)}
.pv2 .card ul.inc li{margin:4px 0}
.pv2 .card .btn{margin-top:16px;width:100%}
.pv2 .card .btn.quiet{background:transparent;color:var(--text);border:1px solid var(--border-strong)}
.pv2 .bands .mid{border:2px solid var(--profit)}
.pv2 .tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;background:var(--profit-soft);color:var(--profit);margin-bottom:8px}
.pv2 .g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.pv2 .g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv2 .larger{margin-top:28px;padding:20px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--border)}
.pv2 .larger h3.row-h{font-size:20px;margin:0 0 4px}
.pv2 .larger>p{margin:0 0 16px;color:var(--text)}
.pv2 .larger .card{background:var(--surface)}
.pv2 .card.talk{border:1px dashed var(--border-strong)}
.pv2 .talkstrip{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:12px;background:var(--band-dark);color:var(--band-dark-text,#F7F8F3)}
.pv2 .talkstrip p{margin:0}.pv2 .talkstrip .muted2{color:var(--band-dark-muted,#B8C6BF)}
.pv2 .talkstrip .btn{background:#F7F8F3;color:#0E2A22;margin:0}
.pv2 .explain{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pv2 .explain .box{padding:16px 18px;border-radius:12px;background:var(--canvas);border:1px solid var(--border);border-left:4px solid var(--link)}
.pv2 .explain h3{font-size:16px;margin:0 0 6px}.pv2 .explain p{margin:0;font-size:15px}
.pv2 .explain ol{margin:6px 0 0;padding-left:20px;font-size:15px}
.pv2 a:focus-visible,.pv2 .btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media (max-width:1240px){.pv2 .g5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.pv2 .g5,.pv2 .g3{grid-template-columns:repeat(2,minmax(0,1fr))}.pv2 .explain{grid-template-columns:1fr}}
@media (max-width:520px){.pv2 .g5,.pv2 .g3{grid-template-columns:1fr}.pv2 .larger{padding:14px}}
.pv2 .fig .small{white-space:nowrap}
.pv2 .shopnote{margin:0 0 16px;font-size:14px;max-width:60ch;color:var(--text)}
.pv2 .cap{font-size:14px}
.pv2 .fig .small.vat{white-space:normal;display:inline-block}
.truststrip{padding-top:0}
/* Platform cards fit at 320 (no horizontal scroll); long scope names wrap instead of widening the card. */
.plats>.card{min-width:0}@media (max-width:520px){.plat header{flex-wrap:wrap;row-gap:8px}.plat header h3{flex:1 1 auto}}.plat code{overflow-wrap:anywhere}

/* Site entry: Get started section, pilot form, result pages, status tags. Square corners: 8px buttons and fields, 5px tags, no pills. */
.tl{color:var(--link);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.btn.p{background:var(--primary);color:var(--primary-contrast)}
.btn .ic{width:18px;height:18px;flex:none;margin-right:8px}
.btn[aria-busy=true],.btn[aria-disabled=true]{background:var(--sunken);color:var(--muted);border:1px dashed var(--border-strong);opacity:1;cursor:not-allowed}
.tag{display:inline-block;font:700 12px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border:1px solid currentColor;border-radius:var(--tag-radius);white-space:nowrap;vertical-align:middle}
.tag.live{color:var(--profit);background:var(--profit-soft)}.tag.soon{color:var(--muted);border-style:dashed;background:var(--surface)}
.card.plat.soon{border-style:dashed}
.alert{border-left:4px solid var(--critical);background:var(--critical-soft);padding:12px 16px;color:var(--text)}
.alert.info{border-color:var(--link);background:var(--info-soft)}.alert.ok{border-color:var(--profit);background:var(--profit-soft)}
.alert b{display:block}.alert h1{font-size:22px;line-height:1.3;margin:0}.alert p{margin:4px 0 0}
.alert[role=alert] a+a{margin-left:0}
.result{max-width:640px;padding-top:56px;padding-bottom:56px}.result .back{margin-top:20px}
.gs{background:var(--surface);border-top:1px solid var(--border)}
.gs-in{display:grid;grid-template-columns:1fr 520px;gap:56px}
.gs h2{font-size:36px;line-height:1.15;margin:0 0 8px}.gs-lede{color:var(--muted);margin:0}
.steps{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}
.steps li{display:flex;gap:12px;align-items:center}
.steps b{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;background:var(--primary);color:var(--primary-contrast);border-radius:4px}
form.pilot{display:flex;flex-direction:column;gap:16px;margin:0}
form.pilot label.f{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
/* The EEA note's live region stays in the tree (so it announces) but takes no space while empty. */
form.pilot label.f .live:empty{margin-top:-6px}
form.pilot .in{width:100%;min-height:44px;border:1px solid var(--border-strong);border-radius:8px;padding:9px 12px;font:16px/1.4 var(--sans);color:var(--text);background:var(--surface)}
form.pilot .in[aria-invalid=true]{border:2px solid var(--critical)}
form.pilot .hint{font-weight:400;font-size:14px;color:var(--muted)}
.msg-err{font-weight:600;font-size:14px;color:var(--critical);display:flex;gap:6px}
.msg-err:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--critical);border-radius:2px;font-size:12px;flex:none}
.nudge{font-weight:400;font-size:14px;color:var(--text);background:var(--info-soft);border-left:4px solid var(--link);padding:8px 12px}
.nudge[hidden]{display:none}
form.pilot .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.pilot .chk{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:400;min-height:44px}
form.pilot .chk input{width:22px;height:22px;min-height:0;padding:0;margin:0;accent-color:var(--primary);flex:none}
form.pilot .wants{border:0;padding:0;margin:0;min-width:0}.wants legend{padding:0;font-weight:600;font-size:15px}
.wants .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:0 16px;margin-top:4px}
form.pilot .chk.opt{cursor:pointer}
.wants input[aria-invalid=true]{outline:2px solid var(--critical);outline-offset:1px;border-radius:0}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
form.pilot .privacy{font-size:14px;color:var(--muted);margin:0}
.gs-form [hidden]{display:none}
@media (max-width:1100px){.gs-in{grid-template-columns:1fr;gap:32px}}
@media (max-width:480px){.gs h2{font-size:28px}form.pilot .two{grid-template-columns:1fr}.hero .ctas .btn{width:100%;justify-content:center}}
header.site .wrap>.signin{margin-left:auto}header.site .wrap>.signin+.btn{margin-left:0}
@media (max-width:360px){header.site .wrap>.signin{display:none}}
.hero .trial{margin-top:14px}
@media (min-width:761px) and (max-width:900px){nav.desk a{padding:12px 8px}}
@media (min-width:761px){header.site a.logo{flex-shrink:0}}
