
@import url('/assets/css/fonts.css');

/* ============ TOKENS ============ */
*,*::before,*::after{box-sizing:border-box}
:root{
  --e1:0 2px 4px rgba(14,17,22,.06),0 6px 12px rgba(14,17,22,.09),0 17px 27px -10px rgba(14,17,22,.11);
  --e2:0 3px 8px rgba(0,0,0,.35),0 44px 100px -44px rgba(0,0,0,.7);
  --e3:0 2px 6px rgba(14,17,22,.06),0 22px 48px -26px rgba(14,17,22,.28);
  --paper:#FAFAF8; --paper-2:#F3F3F1;
  --ink:#0E1116; --ink-2:#161A20; --ink-line:#272D37; --ink-text:#B6BEC9; --ink-mut:#7E8794;
  --text:#16191D; --text-2:#5A6068; --text-3:#6B6F74;
  --line:#E3E4E0; --line-2:#CBCDC7; --line-d:#B9BBB4;
  --blue:#0070EB; --blue-deep:#0053AD; --blue-glow:#298FFF; --blue-wash:#EDF4FC;
  --tint-blue:#DEE9F5; --tint-pink:#F3E3E4;
  --ok:#1E7631; --warn:#AD4B00; --block:#C0341D; --hold:#8A5C00;
  --mono:'Space Mono',ui-monospace,Menlo,monospace;
  --grot:'Space Grotesk',-apple-system,'Segoe UI',sans-serif;
  --orbit:'Orbitron',var(--grot);
  --wrap:1240px;
  --ink-deep:#0B0D11;
  --redact:#5B3E9E; --block-mut:#D4552F; --hold-mut:#C98A1B;
  --lbl:#6E747D; --lbl-ink:#7C8697;
  --plate-title:#1A1D21; --plate-note:#5A616B; --plate-kicker:#6C7077; --plate-zone:#F4F5F3; --plate-zone-line:#9AA0A8; --plate-cell-line:#4A505A; --plate-accent:#1F5FA8; --plate-accent-wash:#E7EFF8;
  --draw-label:#6E7267; --draw-line:#9A9D97; --draw-line-d:#3A4252; --draw-packet:#6B7686; --draw-packet-ok:#57A773; --draw-hatch:#4A5262;
}
html{--focus-ring:var(--blue);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-radius:3px;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--grot);
  font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-family:var(--mono);font-weight:700;text-transform:uppercase;color:var(--text);text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:none;padding:0;color:inherit}
::selection{background:var(--tint-blue)}
:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--focus-ring-radius)}
:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--focus-ring-radius)}
section[id]{scroll-margin-top:72px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
/* marquee-diagram breakout [FRAI-566 round 2]: a plate that should read at
   marquee scale rides its own wider wrap; below --wrap it is a no-op */
.wrap--wide{max-width:1400px}
.mono{font-family:var(--mono)}

.lbl{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6E747D}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;
  font-size:13px;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;
  padding:15px 24px;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}
.btn--primary{background:var(--ink);color:#fff;border-color:var(--ink);
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.btn--primary:hover{background:var(--blue);border-color:var(--blue)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line-d)}
.btn--ghost:hover{border-color:var(--text)}
.btn--onink{background:#fff;color:var(--ink);border-color:#fff;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.btn--onink:hover{background:var(--blue-glow);border-color:var(--blue-glow)}
.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--focus-ring-radius)}
.btn--primary:focus-visible,.btn--onink:focus-visible{clip-path:none}

/* ============ LINE-WORK SYSTEM ============ */
.sec{position:relative}
.band__hatch{position:absolute;top:22px;right:32px;width:96px;height:9px;
  background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(182,190,201,.30) 4px 5px)}

/* ============ NAV ============ */
.nav{position:sticky;top:0;z-index:70;background:rgba(250,250,248,.9);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
.nav__in{max-width:var(--wrap);margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:11px;flex:none}
.logo b{font-family:var(--orbit);font-weight:700;font-size:15px;letter-spacing:.07em;color:var(--text)}
.nav__links{display:flex;gap:22px}
.nav__links a{position:relative;font-size:13.5px;font-weight:500;color:var(--text-2);padding:6px 0;white-space:nowrap}
.nav__links a::after{content:"";position:absolute;left:0;bottom:2px;height:1px;width:100%;background:var(--text);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .22s cubic-bezier(.22,.61,.36,1)}
.nav__links a:hover{color:var(--text)}
.nav__links a:hover::after{transform:scaleX(1)}
/* the animated underline is for top-level nav links only; panel links have their own hover states */
.nav__links .ddpanel a::after{content:none}
/* top-level bare links (Pricing) match the dropdown buttons' type size */
.nav__links > a{font-size:15px;padding:6px 2px}
@media(prefers-reduced-motion:reduce){.nav__links a::after{transition:none}}
.nav__cta{margin-left:auto;display:flex;align-items:center;gap:16px}
.nav__cta .trial{font-family:var(--mono);font-size:10.5px;letter-spacing:.10em;text-transform:uppercase;color:#6E747D;white-space:nowrap}
.nav .btn{padding:10px 18px;font-size:12px;white-space:nowrap}
.nav__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;
  border:1px solid var(--line-2);border-radius:2px;padding:0 10px}
.nav__burger span{display:block;height:1.5px;background:var(--text);transition:transform .2s,opacity .2s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav__panel{max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;visibility:hidden;
  border-top:1px solid transparent;background:rgba(250,250,248,.88);backdrop-filter:saturate(150%) blur(14px);
  transition:max-height .34s cubic-bezier(.22,.61,.36,1),opacity .26s ease,transform .26s ease,border-color .2s,visibility 0s linear .34s}
.nav__panel.open{max-height:calc(100dvh - 64px);opacity:1;transform:none;pointer-events:auto;visibility:visible;border-top-color:var(--line);overflow-y:auto;transition-delay:0s,0s,0s,0s,0s}
@media(prefers-reduced-motion:reduce){.nav__panel{transition:none}}
.nav__panel > a{display:block;padding:15px 32px;font-size:15px;font-weight:500;color:var(--text);border-bottom:1px solid var(--line)}
/* mobile panel groups: the top-nav dropdowns, expandable on touch [slack round 3] */
.nav__panel .pgrp{border-bottom:1px solid var(--line)}
.nav__panel .pgrp summary{display:flex;align-items:center;justify-content:space-between;padding:15px 32px;
  font-size:15px;font-weight:500;color:var(--text);cursor:pointer;list-style:none}
.nav__panel .pgrp summary::-webkit-details-marker{display:none}
.nav__panel .pgrp summary .caret{margin-right:2px;color:var(--text-3)}
.nav__panel .pgrp[open] summary .caret{transform:rotate(225deg) translateY(-1px)}
.nav__panel .pgrp__list{padding:0 0 8px}
.nav__panel .pgrp__list a{display:block;padding:11px 32px 11px 48px;font-size:14.5px;color:var(--text-2)}
.nav__panel .pgrp__list a[aria-current="true"]{color:var(--blue-deep);font-weight:600}
/* mobile mirror of the Product dropdown's boxed action row (.dd-span) */
.nav__panel .pgrp__list a.pgrp__span{margin:6px 32px 12px 48px;padding:12px 14px;border:1px solid var(--line-2);
  border-radius:2px;background:var(--paper-2);text-align:center;font-weight:600;color:var(--text)}
@media(min-width:861px){.nav__panel .pgrp--lang{display:none}}
.nav__panel .panel-cta .btn{color:#fff}
.nav__panel .panel-cta{padding:18px 32px 22px;display:flex;flex-direction:column;gap:12px}
.nav__panel .panel-cta .trial{font-family:var(--mono);font-size:10.5px;letter-spacing:.10em;text-transform:uppercase;color:#6E747D}
.nav__dd{position:relative;display:flex}
.nav__ddbtn{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:500;color:var(--text-2);padding:6px 2px;position:relative}
.nav__ddbtn:hover,.nav__ddbtn[aria-expanded="true"]{color:var(--text)}
.caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s}
[aria-expanded="true"] > .caret{transform:rotate(225deg) translateY(-1px)}
/* width:max-content sizes every panel to its own content, so the 26/30px
   padding is real breathing room at any width — an abspos panel otherwise
   shrink-to-fits against its tiny .nav__dd containing block and nowrap
   descriptors overflow their grid track (founder-flagged padding bug). */
.ddpanel{position:absolute;top:calc(100% + 18px);left:-26px;width:max-content;min-width:250px;background:rgba(250,250,248,1);
  backdrop-filter:saturate(150%) blur(16px);border:1px solid var(--line);
  box-shadow:var(--e3);padding:26px 30px 22px;opacity:0;transform:translateY(8px);pointer-events:none;visibility:hidden;
  transition:opacity .22s cubic-bezier(.16,.84,.28,1),transform .22s cubic-bezier(.16,.84,.28,1),visibility 0s linear .22s}
.nav__dd.open .ddpanel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s,0s,0s}
/* Page scrim under an open desktop dropdown (founder-flagged, Jul 2026): the
   panels already stack above all page content (.nav z-index 70), but saturated
   page elements — the homepage hero's blue chat bubble — continue at full
   strength right at the panel's edge and read as a stray box overlapping the
   open menu. Dim everything below the bar while a dropdown is open so the menu
   reads unambiguously on top. Canon modal-scrim ink (§ modals, rgba ink .44);
   z-index:-1 keeps it under the panels inside the nav's stacking context;
   pointer-events:none preserves outside-click close, hover grace, and scroll. */
.nav::after{content:"";position:absolute;z-index:-1;top:100%;left:0;right:0;height:100dvh;
  background:rgba(14,17,22,.44);opacity:0;pointer-events:none;
  transition:opacity .22s cubic-bezier(.16,.84,.28,1)}
.nav:has(.nav__dd.open)::after{opacity:1}
@media(prefers-reduced-motion:reduce){.nav::after{transition:none}}
.ddpanel a{display:block;padding:9px 0;font-size:14px;color:var(--text-2)}
.ddpanel a[hidden]{display:none}
[hidden]{display:none !important}
.ddpanel a:hover{color:var(--text)}
.ddpanel a:hover b{color:var(--blue-deep)}
.ddpanel a b{display:block;font-weight:600;color:var(--text);transition:color .14s}
.ddpanel a span{display:block;font-size:12.5px;line-height:1.45;color:var(--text-3);margin-top:2px}
.ddlbl{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:12px;color:var(--text-3)}
.ddpanel--product{display:grid;grid-template-columns:1fr 1fr;gap:0;min-width:600px;padding-bottom:0}
.ddpanel--product > div{padding:0 30px 14px 0}
.ddpanel--product > div + div{border-left:1px solid var(--line);padding:0 0 14px 30px}
.ddpanel--product > div{min-width:180px}
.ddpanel--product a{padding-bottom:13px}
/* nested platform sub-items: the engine and the graph power the runtime.
   Tree grammar from the drawing system — a 1px rail with elbow stubs, one
   quiet type step down; hierarchy is structural, never decorative. */
.dd-sub{position:relative;margin-top:2px;padding-left:18px}
.dd-sub::before{content:"";position:absolute;left:2px;top:0;height:calc(100% - 41px);width:1px;background:var(--line-2)}
.dd-sub a{position:relative}
/* elbow stubs must outrank the .nav__links .ddpanel a::after{content:none} underline suppressor */
.nav__links .ddpanel .dd-sub a::after{content:"";position:absolute;left:-16px;top:19px;width:10px;height:1px;background:var(--line-2);transform:none;transition:none}
.ddpanel--product .dd-sub a{padding-bottom:11px}
.dd-sub a b{font-size:13px}
.dd-sub a span{font-size:12px}
/* full-width education row beneath both Product-dropdown columns — boxed
   action-row treatment (founder ask, Jul 2026: the bare centered link read
   as a lost footnote). Existing grammar only, no new species: E0 flat
   (hairline + the --paper-2 register, like plate caps rows), full-bleed to
   the panel edges and flush with the panel foot so it reads as the panel's
   action bar; hover = button-family background feedback (<=.2s, token-only)
   plus the panel's stock b -> --blue-deep color shift. */
.ddpanel--product .dd-span{grid-column:1/-1;display:block;margin:2px -30px 0;padding:15px 30px 17px;
  border-top:1px solid var(--line);background:var(--paper-2);text-align:center;text-decoration:none;
  transition:background .15s}
.ddpanel--product .dd-span b{display:inline-block}
.ddpanel--product .dd-span:hover{background:var(--blue-wash)}
/* app-first Product panel: three labeled groups (Workspace / Governance /
   Security) on the same grouped grammar; columns size to content and
   descriptors wrap instead of forcing the panel wide. */
.ddpanel--product3{grid-template-columns:auto auto auto;min-width:0}
.ddpanel--product3 > div{min-width:200px;max-width:290px;padding:0 26px 14px 26px}
.ddpanel--product3 > div + div{border-left:1px solid var(--line);padding:0 26px 14px 26px}
.ddpanel--product3 > div:first-of-type{padding-left:0}
.ddpanel--product3 > div:last-of-type{padding-right:0}
.ddpanel--product3 a span{white-space:normal}
/* gated-resources group at the foot of the Resources dropdown [FRAI-612]:
   Academy + Solution Center as two-line entries (Product-panel grammar) with
   explicit sign-in / create-account actions (mono-caps Label M species)
   routing into the Auth0 front door instead of a code-prompt landing. */
/* Solutions dropdown lead entry [Adam, Jul 2026]: the Solution Configurator
   heads the list as the entry point — bold via the panel's stock <b> grammar,
   set apart from the solution-page list by the existing hairline divider. */
.ddpanel--list .dd-lead{padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.nav__panel .pgrp__list a.pgrp__lead{font-weight:600;color:var(--text);
  padding-bottom:13px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.dd-gate{border-top:1px solid var(--line);margin-top:10px;padding-top:12px}
.dd-gate > a{padding-bottom:5px}
.dd-gate > a span{max-width:34ch;white-space:normal}
.dd-gate__auth{display:flex;gap:16px;padding:0 0 11px}
.dd-gate__auth a{display:inline-block;padding:3px 0;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.10em;text-transform:uppercase;color:var(--text-3)}
.dd-gate__auth a:hover{color:var(--blue-deep)}
.nav__panel .pgrp__auth{display:flex;gap:20px;padding:0 32px 12px 48px}
.nav__panel .pgrp__auth a{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.10em;
  text-transform:uppercase;color:var(--text-3);padding:3px 0}
.nav__panel .pgrp__auth a:hover{color:var(--blue-deep)}
.ddpanel--lang{left:auto;right:0;min-width:150px}
.nav__lang{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.1em;color:var(--text-2);border:1px solid var(--line-2);border-radius:2px;padding:7px 10px}
.nav__lang:hover,.nav__lang[aria-expanded="true"]{color:var(--text);border-color:var(--text-3)}
.nav__lang .caret{width:5px;height:5px}
.nav__signin{font-size:14px;font-weight:500;color:var(--text-2);position:relative;padding:6px 2px}
.nav__signin:hover{color:var(--text)}
@media(max-width:860px){.nav__signin,.nav__dd--lang{display:none}}
@media(max-width:1340px){.nav__cta .trial{display:none}}
@media(max-width:1150px){.nav__links{display:none}.nav__burger{display:flex}}
@media(max-width:560px){.nav__cta .btn{display:none}}

/* ============ HERO ============ */
.hero{position:relative}
.lnk-t{position:relative}
.lnk-t::after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:100%;background:currentColor;
  transform:scaleX(1);transform-origin:right}
a:hover .lnk-t::after{animation:lnkwipe .52s cubic-bezier(.77,0,.18,1)}
@keyframes lnkwipe{0%{transform:scaleX(1);transform-origin:right}45%{transform:scaleX(0);transform-origin:right}
  55%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
.lnk-a{position:relative;display:inline-block;width:.82em;height:.82em;overflow:hidden;transform:translateY(2px)}
.lnk-a svg{position:absolute;inset:0;transition:transform .34s cubic-bezier(.22,.61,.36,1)}
.lnk-a .a2{transform:translate(-115%,115%)}
a:hover .lnk-a .a1{transform:translate(115%,-115%)}
a:hover .lnk-a .a2{transform:translate(0,0)}
@media(prefers-reduced-motion:reduce){.lnk-a svg{transition:none}a:hover .lnk-t::after{animation:none}}
.js-rv .rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease-out,transform .65s cubic-bezier(.16,.84,.28,1);transition-delay:var(--rvd,0s)}
.js-rv .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js-rv .rv{opacity:1;transform:none;transition:none}}
.js-rv .rv .ddpanel{opacity:0;transform:translateY(8px);pointer-events:none;visibility:hidden;transition:opacity .22s cubic-bezier(.16,.84,.28,1),transform .22s cubic-bezier(.16,.84,.28,1),visibility 0s linear .22s}
.js-rv .rv .nav__dd.open .ddpanel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s,0s,0s}
.foot__hatch{position:absolute;top:34px;right:32px;width:132px;height:10px;
  background:repeating-linear-gradient(45deg,#CBCDC7 0,#CBCDC7 4px,transparent 4px,transparent 8px);pointer-events:none}
/* restored after v68 regression sweep */
.console__bar{padding:12px 16px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#98A2B0;border-bottom:1px solid #232936}
.console__plate{position:relative;border:1px solid #232936;border-radius:3px;overflow:hidden;background:#0E1116;box-shadow:var(--e2)}
.console__tabs{display:flex;gap:8px;margin:36px 0 14px;overflow-x:auto;scrollbar-width:none;max-width:100%}
/* ≤540 the four homepage tabs outgrow the wrap and the cut falls exactly on
   the third tab's edge, so the hidden-scrollbar idiom leaves no affordance
   that a fourth view exists (polish pass 2); wrapping is the sanctioned tab
   behavior the --pad variant already uses. */
@media(max-width:540px){.console__tabs{flex-wrap:wrap;overflow-x:visible}}
.console__tabs button{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 16px;border:1px solid #2A3040;background:#131824;color:#98A2B0;border-radius:2px;
  transition:background .15s,color .15s,border-color .15s}
.console__tabs button[aria-pressed="true"]{background:#fff;border-color:#fff;color:#16191D}
.console__tabs--pad{margin:0 0 14px;flex-wrap:wrap}
.console__tabs--pad button{background:#fff;border-color:#CBCDC7;color:#5F635B}
.console__tabs--pad button[aria-pressed="true"]{background:#16191D;border-color:#16191D;color:#fff}
/* two-level app showcase: L1 = experience, L2 = shots within it */
.showcase{position:relative}
.showcase__l1{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.showcase__l1 button{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:11px 18px;border:1px solid #CBCDC7;background:#fff;color:#5F635B;border-radius:2px;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s}
.showcase__l1 button[aria-selected="true"]{background:#16191D;border-color:#16191D;color:#fff}
.showcase__l2{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;min-height:31px}
.showcase__l2 button{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 12px;border:1px solid transparent;background:transparent;color:#878B82;border-radius:2px;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s}
.showcase__l2 button:hover{color:#16191D}
.showcase__l2 button[aria-selected="true"]{background:var(--blue-wash);border-color:var(--tint-blue);color:var(--blue-deep)}
.showcase__l2--solo{display:none}
.console__shot{display:block;width:100%;height:auto}
.console__shot[hidden]{display:none}
/* homepage platform toggle: CSS-only view switching (radio technique); the
   labels restate .console__tabs button styles so both tab species render
   identically. Per-view descriptor line sits between the switcher row and
   the screenshot plate. */
.vswitch__radio{position:absolute;width:1px;height:1px;margin:-1px;opacity:0;pointer-events:none}
.console__tabs label{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 16px;border:1px solid #2A3040;background:#131824;color:#98A2B0;border-radius:2px;cursor:pointer;flex:none;
  transition:background .15s,color .15s,border-color .15s}
#cv-work:checked~.cswitch__tabs label[for="cv-work"],#cv-sec:checked~.cswitch__tabs label[for="cv-sec"],
#cv-gov:checked~.cswitch__tabs label[for="cv-gov"],#cv-pro:checked~.cswitch__tabs label[for="cv-pro"]{background:#fff;border-color:#fff;color:#16191D}
#cv-work:focus-visible~.cswitch__tabs label[for="cv-work"],#cv-sec:focus-visible~.cswitch__tabs label[for="cv-sec"],
#cv-gov:focus-visible~.cswitch__tabs label[for="cv-gov"],#cv-pro:focus-visible~.cswitch__tabs label[for="cv-pro"]{outline:2px solid var(--blue-glow);outline-offset:2px}
.cswitch .console__plate .console__shot{display:none}
#cv-work:checked~.console__plate .cshot--work{display:block}
#cv-sec:checked~.console__plate .cshot--sec{display:block}
#cv-gov:checked~.console__plate .cshot--gov{display:block}
#cv-pro:checked~.console__plate .cshot--pro{display:block}
.cswitch .console__cap{display:none;margin:4px 0 22px;text-align:left;font-size:14.5px;line-height:1.5;color:#96A0AE;max-width:92ch}
#cv-work:checked~.ccap--work{display:block}
#cv-sec:checked~.ccap--sec{display:block}
#cv-gov:checked~.ccap--gov{display:block}
#cv-pro:checked~.ccap--pro{display:block}
/* from-to band under the marquee (dark band + mono label grammar); chips
   carry provider marks on the standard ink cell (1px hairline — dashed
   borders are banned by canon §3/§7a; the earlier dashed ring is retired) */
.band--fromto .sec__head h2{max-width:26ch}
.ft{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(28px,4vw,56px);margin-top:56px;padding-bottom:clamp(88px,10vw,128px)}
.ft__side{display:flex;flex-direction:column;min-width:0}
.ft__lbl{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mut);padding-bottom:10px;border-bottom:1px solid var(--ink-line);margin-bottom:30px}
.ft__chips{display:flex;flex-wrap:wrap;gap:17px 21px;padding:5px 5px 0 5px;align-content:flex-start}
.ft__chip{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-text);background:#131824;border:1px solid #2A3040;border-radius:2px;padding:9px 15px 9px 11px;white-space:nowrap}
.ft__chip img{display:block;width:27px;height:27px;object-fit:contain;flex:none}
.ft__note{margin:30px 0 0;padding-top:4px;font-size:14.5px;line-height:1.55;color:#96A0AE;max-width:44ch;margin-top:auto}
.ft__arrow{display:flex;align-items:center;justify-content:center}
.ft__arrow svg{width:72px;height:14px;display:block}
.ft__stack{display:flex;flex-direction:column}
.ft__app{position:relative;z-index:1;background:#131824;border:1px solid #2A3040;border-radius:2px;box-shadow:var(--e2)}
.ft__lbl--brand{display:flex;align-items:flex-end}
.ft__lbl--brand img{display:block;height:15px;width:auto}
.ft__tabs{display:flex;gap:4px;padding:14px 16px;border-bottom:1px solid #232936;flex-wrap:wrap}
.ft__tab{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7E8794;border-radius:2px;padding:7px 11px;white-space:nowrap}
.ft__tab--on{background:#fff;color:#16191D}
.ft__composer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 16px;padding:10px 8px 10px 14px;border:1px solid #2A3040;border-radius:2px;font-size:13.5px;line-height:1;color:#7E8794}
.ft__send{width:24px;height:24px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;flex:none}
.ft__send svg{width:12px;height:12px;display:block}
.ft__models{display:flex;align-items:center;gap:16px;padding:14px 16px;border-top:1px solid #232936;flex-wrap:wrap}
.ft__models-lbl{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7E8794;margin-right:4px}
.ft__models img{display:block;height:17px;width:auto;filter:invert(.82) brightness(1.5);opacity:.92}
.ft__models img[alt="Meta"]{height:14px}
.ft__models img[alt="Mistral"]{height:15px}
.ft__more{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7E8794}
/* the runtime is the foundation the workspace stands on: a wider slab the
   window overlaps and casts its shadow onto, never a row appended inside it */
.ft__rt{display:flex;align-items:center;justify-content:center;gap:11px;background:#0B0D11;border:1px solid #232936;margin:-8px -28px 0;padding:30px 26px 21px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;border-radius:2px}
.ft__rt img{display:block;width:16px;height:16px;flex:none}
@media(max-width:720px){.ft__rt{margin:-8px 0 0}}
.ft__sq{width:5px;height:5px;background:#6B7686;flex:none}
.ft__sq--blue{background:var(--blue-glow)}
@media(max-width:880px){
  .ft{grid-template-columns:1fr;gap:20px}
  .ft__arrow{padding:8px 0}
  .ft__arrow svg{transform:rotate(90deg)}
  .ft__note{margin-top:30px}
}
.rstack{position:relative}
.rghost{position:absolute;inset:0;background:#fff;border:1px solid var(--line-2);border-radius:3px;display:block}
.rghost--1{transform:translate(13px,-13px);opacity:.5}
.rghost--2{transform:translate(26px,-26px);opacity:.24}
.rstack .receipt{position:relative}
.prove .pad--tight{justify-self:end;max-width:656px;width:100%;padding-top:clamp(44px,4.4vw,60px)}
.cta{padding:clamp(96px,11vw,148px) 0 clamp(76px,9vw,116px)}
.cta h2{font-size:clamp(36px,4.4vw,60px);line-height:1.08;letter-spacing:-.012em;max-width:22ch}
.cta__row{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.link--onink{display:inline-flex;align-items:baseline;gap:9px;align-self:center;margin-left:12px;
  font-family:var(--mono);font-size:13.5px;font-weight:700;letter-spacing:.02em;color:#fff}
.link--onink:hover{color:var(--blue-glow)}
.cta__trial{margin:18px 0 0 -1.5px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lbl)}
.cta .cta__trial{color:var(--lbl-ink)}
#semantic .pad--reveal-r{padding-right:clamp(36px,3.8vw,58px)}
.hero__in{position:relative;max-width:var(--wrap);margin:0 auto;padding:clamp(88px,9vw,116px) 32px clamp(84px,8.5vw,104px)}
.hero__grid{display:grid;grid-template-columns:minmax(380px,.84fr) minmax(500px,1.16fr);gap:clamp(56px,6vw,84px);align-items:center}
@media(max-width:1080px){.hero__grid{grid-template-columns:1fr;gap:48px}}
.hero h1{font-size:clamp(36px,4.1vw,56px);line-height:1.05;letter-spacing:-.02em}
:lang(de) .hero h1{hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal;font-size:clamp(32px,3.3vw,44px)}
:lang(ja) .hero h1{word-break:keep-all;line-break:strict;overflow-wrap:normal;font-size:clamp(30px,3.2vw,44px)}
.hero__sub{margin-top:26px;max-width:52ch;font-size:17px;color:var(--text-2);line-height:1.65}
.hero__sub b{color:var(--text);font-weight:600}
.hero__ctas{margin-top:38px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
/* hero media: engineered runtime schematic on an ink plate */
.hero__media .pad{padding:clamp(16px,2.1vw,30px)}
.hplate{position:relative;background:#fff;border:1px solid var(--line-2);border-radius:3px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
  box-shadow:var(--e1)}
/* crown bar: same treatment as the Semantic Security Engine bar (wash + 50% blue rule + emblem + deep-blue mono) */
.hplate__bar{display:flex;justify-content:center;align-items:center;gap:9px;padding:13px 16px;background:var(--blue-wash);border-bottom:1px solid rgba(0,112,235,.5)}
.hplate__bar .t{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep)}
.hplate__viz{display:block;width:100%;height:auto}
.hplate__stack{display:none;padding:12px}
.hs__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:400px){.hs__grid{grid-template-columns:1fr}}
.hs__cell{background:#fff;border:1px solid var(--tint-blue);padding:10px 12px}
.hs__cell b{display:block;font-size:13px;font-weight:600;color:var(--blue-deep)}
.hs__cell span{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue-deep)}
.hs__engine{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;
  background:var(--blue-wash);border:1px solid rgba(0,112,235,.5);
  font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--blue-deep);text-transform:uppercase}
.hs__graph{margin-top:8px;text-align:center;padding:9px;border:1px solid var(--tint-blue);background:#FBFBF9;
  font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.08em;color:var(--blue-deep);text-transform:uppercase}
@media(max-width:640px){.hplate__viz{display:none}.hplate__stack{display:block}}
.hplate__cycle{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:11px 12px;border-top:1px solid var(--line)}
.hplate__cycle span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4A5058}
.hplate__cycle i{font-style:normal;color:var(--blue);font-size:11px}

/* ============ INSTRUMENT (product frame) ============ */
.stage{position:relative;padding:0 0 128px}
.pad{position:relative;padding:clamp(22px,3.4vw,48px);overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.pad__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top;border-radius:inherit}
.chip{font-size:9.5px;font-weight:700;letter-spacing:.1em;padding:4px 9px;border-radius:2px;white-space:nowrap;font-family:var(--mono)}
.chip--obs{background:var(--blue-wash);color:var(--blue-deep);border:1px solid var(--tint-blue)}
.chip--det{background:#FDF1E3;color:var(--warn);border:1px solid #F3DFC4}
.chip--blk{background:#FBEAE6;color:var(--block);border:1px solid #F2D2CB}
.chip--hld{background:#FBF3E0;color:var(--hold);border:1px solid #EFE1BC}
.chip--red{background:#F4EDFB;color:#5B3E9E;border:1px solid #E4D8F3}
.chip--ok{background:#EAF4EC;color:var(--ok);border:1px solid #D3E7D8}

/* model marquee */
.mstrip{padding:8px 0 0}
.marquee{position:relative;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee__track{display:flex;gap:84px;align-items:center;width:max-content;animation:mq 34s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .marquee__track img[aria-hidden]{display:none}}
.marquee__track img{filter:grayscale(1) opacity(.6);transition:filter .2s;flex:none}
.marquee__track img:hover{filter:grayscale(0) opacity(1)}

/* ============ INK BAND: THE RUNTIME PATH ============ */
.band{background:var(--ink);color:var(--ink-text)}
.band h2{color:#fff}
#console{padding-bottom:clamp(88px,9vw,128px)}
.sec__lead{margin:48px 0 0;font-size:17.5px;line-height:1.62;color:var(--text-2);max-width:62ch}
.band .sec__lead{color:#96A0AE}
.sec__head{padding:104px 0 0}
.sec__head h2{max-width:22ch}
.sec__head::after{content:"";display:block;height:1px;background:var(--line);margin-top:28px}
.band .sec__head::after{background:var(--ink-line)}
.sec__head h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.015em;line-height:1.12}
/* header row with the one sanctioned right-aligned action link (§5b law:
   title alone above the rule; the row may carry one action link) */
.sec__head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sec__head-row .link{white-space:nowrap;margin-bottom:6px}
@media(max-width:720px){
  .hero__in{padding:64px 32px 64px}
  .sec__head{padding-top:72px}
  .sec__head::after{margin-top:24px}
  .sec__lead{margin-top:36px}
  .flow{margin-top:48px}
  .band__assert{margin:64px 0 0;padding:0 0 88px}
  .duo{padding:48px 0 88px}
  .console{padding:48px 0 88px}
  .sem{padding:36px 32px 88px}
  .prove{padding:36px 32px 88px}
  .stage{padding:0 0 88px}
  .cta{padding:80px 0 88px}
}

/* the flow: one structural line, four borderless columns, one-time entrance */
.flow{margin-top:64px}
.flow__caps{display:flex;justify-content:space-between;margin-bottom:10px}
.flow__caps span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mut)}
.flow__line{display:block;height:1px;background:var(--ink-line);transform-origin:left}
.flow__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;margin-top:32px}
.flow__st{position:relative}
.flow__node{position:absolute;top:-36px;left:0;width:7px;height:7px;background:var(--blue)}
.flow__st .n{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#7C8697}
.flow__st h3{font-size:16px;margin:11px 0 8px;letter-spacing:.01em;color:#fff}
.flow__st p{font-size:13.5px;line-height:1.6;color:#96A0AE}
@media(max-width:900px){
  .flow__caps,.flow__line,.flow__node{display:none}
  .flow__grid{grid-template-columns:repeat(2,1fr);gap:36px;row-gap:44px;margin-top:0}
}
@media(max-width:540px){.flow__grid{grid-template-columns:1fr}}
.band__assert{margin:64px 0 0;padding:0 0 128px}
.arch__viz{display:block;width:100%;height:auto}
.arch__v[hidden]{display:none}
.arch__stack{display:none}
.arch__cap{margin-top:22px;text-align:center;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#96A0AE}
@media(max-width:640px){
  .arch__viz{display:none}
  /* the injected expand control belongs to the hidden SVG; without this it
     floats over the HTML fallback stack (390px review, polish pass 1).
     Doubled selector so it outweighs .cc-fig__exp's display:inline-flex,
     which sits later in the sheet at single-class specificity. */
  .cc-fig__exp.arch__exp{display:none}
  .arch__stack{display:flex;flex-direction:column;gap:8px}
  .as__row{display:flex;justify-content:space-between;gap:10px;border:1px solid #2A3040;background:#131824;padding:12px 14px;font-size:12px;color:#96A0AE}
  .as__row b{color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
  .as__lbl{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7E8794}
  .as__cells{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .as__cells b{border:1px solid #2A3040;background:#0E1116;color:#fff;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-align:center;padding:10px 0}
  .as__row--layer{flex-direction:column;gap:3px}
}
/* ============ PRODUCTS ============ */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:64px 0 128px}
@media(max-width:920px){.duo{grid-template-columns:1fr}}
.offer{border:1px solid var(--line-2);border-radius:3px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.pp{position:relative;border-bottom:1px solid var(--line);background:#fff}
.pp__bar{position:relative;text-align:center;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding:11px 14px;border-bottom:1px solid var(--line);background:#fff}
.pp__viz{position:relative;display:block;width:100%;height:auto}
.offer__body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.offer .lbl{display:block}
.offer .whofor{font-family:var(--mono);font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:#4A5058}
.offer p.desc{margin-top:16px;font-size:15.5px;color:var(--text-2);max-width:56ch}
.offer ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
/* Integer line box: at the body's 1.6 line-height these 14.5px bullets sit on 23.2px
   boxes, so each successive bullet lands 0.2px further off the pixel grid and the third
   one rasterizes visibly heavier than the first two at 1x DPR. Pinning the line box to
   a whole pixel keeps all three bullets at the same subpixel offset and weight. */
.offer li{font-size:14.5px;line-height:23px;color:var(--text-2);padding-left:18px;position:relative}
.offer li::before{content:"";position:absolute;left:0;top:10px;width:10px;height:2px;background:var(--text)}
.offer .link{display:inline-flex;align-items:baseline;gap:9px;margin-top:auto;padding-top:26px;font-family:var(--mono);font-size:13.5px;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-deep)}
.offer .link{color:var(--text)}
.offer .link:hover{color:var(--blue-deep)}
.duo__note{grid-column:1/-1;padding:18px 24px;border:1px solid var(--line);border-radius:3px;background:var(--paper-2);
  font-size:14.5px;color:var(--text-2)}
.duo__note b{color:var(--text);font-weight:600}

/* ============ SEMANTIC ============ */
.sem{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:48px 32px 128px}
@media(max-width:960px){.sem{grid-template-columns:1fr}}
.sem .body{margin-top:18px;font-size:17px;color:var(--text-2);max-width:56ch}
.caps{margin-top:30px;border-top:1px solid var(--line)}
.caprow{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:15px 2px;border-bottom:1px solid var(--line)}
@media(max-width:560px){.caprow{grid-template-columns:1fr;gap:4px}}
.caprow b{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.caprow p{font-size:14px;color:var(--text-2);line-height:1.55}
.sem__meta{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);line-height:2}
.sem__meta b{color:var(--blue-deep)}
.gplate{position:relative;border:1px solid var(--line-2);background:#fff;box-shadow:var(--e1)}
.gplate__bar{position:relative;text-align:center;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding:11px 14px;border-bottom:1px solid var(--line);background:#fff}
.gplate__body{position:relative}
.gplate__body svg{position:relative;display:block;width:100%;height:auto}
/* graph rests static: no looping animation on marketing sections */
/* journey-plate kit (platform pages): framework tag pinned right on the bar
   (SEALED-chip position), caption bound to its plate, mobile pans wide
   drawings instead of shrinking them (§10.3) [FRAI-566] */
.gplate__tag{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:9.5px;letter-spacing:.14em;color:var(--text-3)}
@media(max-width:640px){.gplate__tag{position:static;transform:none;display:block;margin-top:3px}}
.gplate--pan .gplate__body{overflow-x:auto}
@media(max-width:720px){.gplate--pan .gplate__body svg{min-width:880px}}
/* plate expand-to-inspect [FRAI-566 round 2]: the cc-fig expand affordance on
   every .gplate — corner control in the bar, zoom cursor on the drawing, and
   a full-screen pan surface for the cc-lightbox on phones */
.gplate__exp{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin-right:0;z-index:2}
.gplate--expandable .gplate__bar{padding-right:48px}
.gplate--expandable .gplate__tag{right:48px}
.gplate--expandable .gplate__body{cursor:zoom-in}
/* the same expand affordance on titled product plates (.pp) and the runtime
   architecture drawing (.arch) — wired by the shared plate expander in site.js */
.pp--expandable .pp__bar{position:relative;padding-right:48px}
.pp__exp{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin-right:0;z-index:2}
.pp--expandable .vizwrap{cursor:zoom-in}
.arch--expandable .arch__v{position:relative;cursor:zoom-in}
.arch__exp{position:absolute;right:10px;top:10px;margin-right:0;z-index:2;background:#131824;border-color:#2A3040;color:#98A2B0}
.arch__exp:hover{border-color:var(--blue-glow);color:var(--blue-glow)}
.cc-lightbox__body--ink{background:var(--ink)}
.gcap{margin-top:12px;max-width:70ch;font-size:13.5px;line-height:1.6;color:var(--text-2)}
/* annotation strip (§5c): LABEL → item rows, the designed alternative to
   dot-separated list-lines; left-aligned mono caps on the grid */
.astrip{display:flex;flex-wrap:wrap;column-gap:36px;row-gap:12px;margin-top:34px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.astrip span{color:var(--text-2)}
.astrip b{color:var(--text);font-weight:700}
.astrip .to{color:var(--text-3);padding:0 7px}
.band .astrip span{color:#96A0AE}
.band .astrip b{color:#fff}
.band .astrip .to{color:#7E8794}

/* ============ PROVE ============ */
.prove{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:48px 32px 128px}
@media(max-width:960px){.prove{grid-template-columns:1fr}}
.prove .body{margin-top:18px;font-size:17px;color:var(--text-2);max-width:56ch}
.receipt{position:relative;border:1px solid var(--line-2);border-radius:3px;background:#fff;overflow:hidden;max-width:520px;justify-self:end;width:100%;box-shadow:var(--e1)}
@media(max-width:960px){.receipt{justify-self:start}}
.receipt__bar{position:relative;display:flex;justify-content:center;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--paper)}
.receipt__bar .chip{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.receipt__bar span{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6E747D}
/* narrow receipts: reserve the absolute chip/info zones so the centered title
   can never run under the SEALED chip (mobile clipping report, slack round 3) */
@media(max-width:640px){
  .receipt__bar{padding-left:64px;padding-right:64px}
  .receipt__bar span{font-size:9px;letter-spacing:.08em;white-space:nowrap}
}
.receipt dl{margin:0;padding:10px 18px 16px;display:grid;grid-template-columns:130px 1fr;row-gap:10px;font-family:var(--mono);font-size:13px}
.receipt dl dd{margin:0;font-weight:700;color:var(--text)}
.receipt dt{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;padding-top:2px}
.receipt dd{margin:0;color:var(--text)}
.receipt__hash{padding:12px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--text-3);letter-spacing:.04em;word-break:break-all}

/* material pads as pedestals */
.pad--tight{padding:clamp(14px,1.9vw,26px)}
.pad--reveal-r{padding-right:clamp(64px,8vw,132px)}
.pad__hatch{position:absolute;top:0;right:0;width:clamp(28px,3.4vw,46px);height:62%;
  background:repeating-linear-gradient(45deg,rgba(74,82,98,.34) 0,rgba(74,82,98,.34) 1px,transparent 1px,transparent 7px);
  pointer-events:none}
.hero{position:relative}
footer{position:relative;padding:64px 0 26px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr 1fr 1fr;gap:30px}
@media(max-width:880px){.foot__grid{grid-template-columns:1fr 1fr}}
.foot__brand p{margin-top:14px;font-size:13.5px;color:var(--text-2);max-width:34ch}
.foot__social{display:flex;gap:14px;margin-top:18px}
.foot__social a{color:var(--text-3);display:block;transition:color .22s cubic-bezier(.22,.61,.36,1)}
.foot__social a:hover,.foot__social a:focus-visible{color:var(--text)}
.foot__social svg{width:16px;height:16px;display:block}
.foot__col .lbl{display:block;margin-bottom:14px}
.foot__col a{display:block;width:fit-content;position:relative;font-size:13.5px;color:var(--text-2);padding:4px 0}
.foot__col a::after{content:"";position:absolute;left:0;bottom:2px;height:1px;width:100%;background:var(--text);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .22s cubic-bezier(.22,.61,.36,1)}
.foot__col a:hover{color:var(--text)}
.foot__col a:hover::after{transform:scaleX(1)}
/* EN-fallback badge [GR-9510]: nav/footer chrome links with no locale mirror
   still route to a real EN page — flag it so a ja/de/fr visitor isn't
   surprised the whole site flips language on click. */
.chrome-en-badge{display:inline-block;margin-left:6px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--line-2);border-radius:2px;padding:1px 5px;vertical-align:middle}
.ddpanel a .chrome-en-badge{display:inline-block;font-size:9px;margin-top:0;vertical-align:middle}
.foot__fine{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}

/* ==== §10 extended components (design-system v78) ==== */
/* Two-tier page heads (§10.4): compact content scale is the DEFAULT; the
   hero clamp is opt-in via --display for flagship landing heroes only.
   Guard: design/build/check-head-spacing.mjs (ds:check) fails a bare
   .page__head that regains >48px top padding. [FRAI-463/FRAI-497] */
.page__head{padding:clamp(28px,3.5vw,44px) 0 0}
.page__head h1{font-size:clamp(32px,3.2vw,48px);line-height:1.08;letter-spacing:-.018em;max-width:26ch}
.page__head .rule{margin-top:28px;border-top:1px solid var(--line)}
.page__head--display{padding:clamp(72px,9vw,120px) 0 0}
.page__head--display .rule{margin-top:34px}
.page__lead{margin:40px 0 0;font-size:17.5px;line-height:1.62;color:var(--text-2);max-width:62ch}
.doc__head h1{font-size:clamp(28px,2.8vw,40px)}
.datelbl{display:block;margin-top:14px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
/* forms */
.form{max-width:560px}
.form__note{font-family:var(--mono);font-size:10.5px;color:var(--text-3);letter-spacing:.04em;margin-bottom:24px}
.fld{margin-bottom:22px}
.fld label{display:block;margin-bottom:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.fld__req{color:var(--block)}
.fld input,.fld select,.fld textarea{width:100%;background:#fff;border:1px solid var(--line-2);border-radius:2px;
  font-family:var(--sans);font-size:14.5px;color:var(--text);padding:12px 14px}
.fld input::placeholder,.fld textarea::placeholder{color:var(--text-3)}
.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{border-color:var(--blue);outline:2px solid rgba(0,112,235,.25);outline-offset:0}
.fld--error.fld--error input{border-color:#C0341D}
.fld__err{margin-top:7px;font-size:12.5px;color:#C0341D}
.fld--check{display:flex;gap:10px;align-items:flex-start}
.fld--check span{font-size:12.5px;color:var(--text-2)}
.fld--check a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.form__ok{border:1px solid var(--line-2);border-radius:3px;background:#fff;overflow:hidden}
.form__ok .bar{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:11px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.form__ok .bar .chip--ok{color:#1E7631;background:#EAF3EC;border:1px solid #CFE4D4;border-radius:2px;padding:2px 8px}
.form__ok p{padding:18px 16px;font-size:14.5px;color:var(--text-2);margin:0}
/* tables */
.tbl{width:100%;border-collapse:collapse;margin-top:40px}
.tbl th{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);
  text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-2)}
.tbl td{font-size:14px;color:var(--text-2);padding:13px 14px;border-bottom:1px solid var(--line)}
.tbl td.d{font-family:var(--mono);font-size:13px;color:var(--text)}
.tbl th.tbl__rowhead{font-family:var(--grot);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;text-align:left;color:var(--text-2);padding:13px 14px;border-bottom:1px solid var(--line)}
.tblwrap{overflow-x:auto}
/* a table that closes a light section carries the standard section end, the same
   convention as .rundown/.duo--3 below — without it the table's last row sits flush
   against the next section (visible where the next section is a dark band, e.g. /security) */
.sec:not(.band) .tbl:last-child{margin-bottom:clamp(72px,8vw,112px)}
/* prose (blog/legal) */
.prose{max-width:68ch;font-size:17px;line-height:1.7;color:var(--text-2)}
.prose h2{font-family:var(--sans);font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--text);margin:44px 0 14px;text-transform:none}
.prose h3{font-family:var(--sans);font-size:19px;font-weight:600;color:var(--text);margin:32px 0 10px;text-transform:none}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin-bottom:8px}
.prose blockquote{margin:26px 0;padding:2px 0 2px 20px;border-left:2px solid var(--blue);font-size:19px;color:var(--text)}
.prose code{font-family:var(--mono);font-size:14px;background:var(--paper-2);border:1px solid var(--line);padding:1px 5px;border-radius:2px}
.prose a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
/* prose long-form structures (markdown render targets: figure/caption, code block, callout) */
.prose figure{margin:34px 0}
.prose figure img{display:block;width:100%;border:1px solid var(--line-2);border-radius:2px}
.prose figcaption{margin-top:10px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.prose pre{margin:26px 0;padding:16px 18px;background:var(--paper-2);border:1px solid var(--line);border-radius:2px;overflow-x:auto;
  font-family:var(--mono);font-size:14px;line-height:1.55;color:var(--text)}
.prose pre code{background:none;border:0;padding:0;font-size:inherit}
/* long-form tables get the same air below as the 40px above (.tbl margin-top),
   so a following paragraph never crowds the last row */
.prose .tbl{margin-bottom:40px}
.callout{margin:30px 0;padding:16px 20px 18px;background:var(--paper-2);border:1px solid var(--line);border-radius:2px}
.callout--warn{border-color:var(--warn)}
.callout__lbl{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.prose .callout p{font-size:15.5px;margin:0}
.prose .callout p+p{margin-top:8px}
/* article cards */
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px}
@media(max-width:760px){.posts{grid-template-columns:1fr}}
.post{border:1px solid var(--line-2);border-radius:3px;background:#fff;padding:26px;display:block}
.post h3{font-size:19px;font-weight:600;margin:10px 0 8px;color:var(--text)}
.post p{font-size:14.5px;color:var(--text-2);margin:0}
.post:hover h3{color:var(--blue-deep)}
/* faq */
.faq{margin-top:56px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  padding:20px 2px;font-size:16px;font-weight:600;color:var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:18px;color:var(--text-3);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 2px 20px;font-size:15px;color:var(--text-2);max-width:68ch}
/* problem note */
.mnote{max-width:62ch;font-size:18px;line-height:1.65;color:var(--text-2)}
.sec .mnote:last-child{margin-bottom:clamp(48px,6vw,80px)}
.mnote b{color:var(--text)}
.mnote a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
/* founder cards */
.founders{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:56px}
@media(max-width:860px){.founders{grid-template-columns:1fr}}
.founder{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:3px;background:#fff}
.founder img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.04);border-bottom:1px solid var(--line)}
.founder>div{display:flex;flex-direction:column;flex:1;padding:20px 20px 24px}
/* Bios vary in length; pin the LinkedIn row to the card bottom so the links
   align across a row of cards. */
.founder .link--body{margin-top:auto;padding-top:26px;align-self:flex-start}
.founder .n{font-size:19px;font-weight:600;color:var(--text)}
.founder .r{display:block;margin-top:4px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.founder p{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--text-2)}
/* wide drawing section (the visual-journey plate under product/solution heroes) */
.vizwrap{overflow-x:auto}
@media(max-width:720px){.vizwrap .pp__viz{min-width:880px}}
/* pan affordance: drawings keep a legible min-width on phones and scroll
   sideways; a one-time hint chip makes that discoverable (slack round 3).
   site.js injects .vizhint into any .vizwrap or .gplate__body that pans;
   guarded by tests/pan-hint.test.mjs */
.vizhost{position:relative}
.vizhint{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:999px;background:var(--ink);color:#fff;font-size:15px;line-height:1;
  box-shadow:var(--e1);opacity:.92;transition:opacity .3s;pointer-events:none;animation:viznudge 1.5s ease-in-out 3}
.vizhint.off{opacity:0}
@keyframes viznudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-7px)}}
@media(prefers-reduced-motion:reduce){.vizhint{animation:none}}
/* v6: full-bleed symmetric pad — material bleeds to the window edges; the plate CONTENT is
   capped to the wrap px system (not vw-derived) so it scales under browser zoom like the
   rest of the page. vw-sized widths render at constant physical size when the user zooms. */
.vizbleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding:clamp(28px,3.4vw,56px) clamp(24px,4vw,72px)}
.vizbleed .pp,.vizbleed .showcase,.vizbleed .console__plate{max-width:var(--wrap);margin-left:auto;margin-right:auto}
/* duo variants (template pages) — classes so mobile collapse survives */
.duo--flat{padding:0}
/* capability-grid normalization [visual-polish batch]: .duo--3 no longer inherits the
   homepage section padding (the §10.1 build trap). Standard anatomy applies everywhere:
   rule/lead -> grid = 48px, and when the grid closes its section it carries the standard
   section end. The homepage grid states its own padding inline. */
.duo--3{grid-template-columns:1fr 1fr 1fr;padding:48px 0 0}
.sec .duo--3:last-child:not(.duo--home){padding-bottom:clamp(72px,9vw,110px)}
.duo--home{padding:64px 0 128px}
@media(max-width:720px){.duo--home{padding:48px 0 88px}}
.duo--split{grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.duo--stack{grid-template-columns:1fr}
.split2{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;align-items:center;padding:32px 36px}
.stats--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.duo--3,.duo--split{grid-template-columns:1fr}}
@media(max-width:960px){.stats--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.split2{grid-template-columns:1fr}}
/* dash lists (pricing plates, module cards) */
.dashlist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.dashlist li{font-size:14.5px;color:var(--text-2);padding-left:18px;position:relative}
.dashlist li::before{content:"";position:absolute;left:0;top:10px;width:10px;height:2px;background:var(--text)}
/* pricing configurator */
.cfg{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start;margin-top:48px}
@media(max-width:960px){.cfg{grid-template-columns:1fr;gap:30px}}
.cfg__controls{display:flex;flex-direction:column;gap:30px;min-width:0}
.cfg__group{border:0;padding:0;margin:0;min-width:0}
.cfg__group legend{padding:0;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin-bottom:16px}
.cfg__core{position:relative;border:1px solid var(--blue);border-radius:3px;background:var(--blue-wash);padding:20px 22px}
.cfg__core .m{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:11px}
.cfg__core .m::before{content:"";width:13px;height:13px;border-radius:2px;background:var(--blue);position:relative;display:inline-block}
.cfg__core .m::after{content:"";position:absolute;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-8.5px,1px) rotate(45deg)}
.cfg__core h3{font-size:17px;font-weight:600;color:var(--text);margin:0}
.cfg__core h3 span{font-family:var(--mono);font-size:13.5px;font-weight:700;color:var(--blue-deep);letter-spacing:0;margin-left:4px}
.cfg__core p{margin:8px 0 0;font-size:14px;color:var(--text-2);line-height:1.5}
.cfg__mods{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media(max-width:560px){.cfg__mods{grid-template-columns:1fr}}
.cfg__mod{background:#fff;border:1px solid var(--line-2);border-radius:3px;position:relative;transition:border-color .15s,background .15s}
.cfg__mod:hover{border-color:var(--line-d)}
.cfg__mod.on{border-color:var(--blue);background:var(--blue-wash)}
.cfg__mod-pick{display:block;width:100%;text-align:left;font-family:inherit;padding:15px 42px 16px 42px;cursor:pointer}
.cfg__mod-check{position:absolute;left:16px;top:16px;width:16px;height:16px;border:1px solid var(--line-d);border-radius:3px;background:#fff}
.cfg__mod.on .cfg__mod-check{background:var(--blue);border-color:var(--blue)}
.cfg__mod.on .cfg__mod-check::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cfg__mod-name{display:block;font-size:14.5px;font-weight:600;color:var(--text)}
.cfg__mod-desc{display:block;margin-top:5px;font-size:12.5px;color:var(--text-2);line-height:1.45}
.cfg__mod-price{display:block;margin-top:10px;font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--text)}
.cfg__bundle{margin-top:16px;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text-2);line-height:1.5}
.cfg__bundle b{color:var(--blue-deep)}
.cfg__users{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cfg__users input{width:140px;background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:12px 14px;font-family:var(--mono);font-size:16px;font-weight:700;color:var(--text)}
.cfg__users input:focus-visible{border-color:var(--blue);outline:2px solid rgba(0,112,235,.25);outline-offset:0}
.cfg__presets{display:flex;gap:6px;flex-wrap:wrap}
.cfg__preset{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;padding:10px 13px;border:1px solid var(--line-2);border-radius:2px;background:#fff;color:var(--text-2);cursor:pointer}
.cfg__preset:hover{border-color:var(--line-d)}
.cfg__preset[aria-pressed=true]{border-color:var(--text);color:var(--text);background:var(--paper-2)}
.cfg__ladder{display:flex;gap:3px;margin-top:16px}
/* 8 rate segments cannot fit one row on phones: wrap to a 4x2 grid so the
   rates stay legible instead of overlapping (mobile report, slack round 3) */
@media(max-width:640px){.cfg__ladder{display:grid;grid-template-columns:repeat(4,1fr)}}
.cfg__ladder .seg{flex:1;border:1px solid var(--line);border-radius:2px;background:#fff;padding:11px 4px 10px;text-align:center;min-width:0}
.cfg__ladder .seg.on{border-color:var(--blue);background:var(--blue-wash)}
.cfg__ladder .seg .r{display:block;font-family:var(--mono);font-size:15px;font-weight:700;color:var(--text);letter-spacing:0}
.cfg__ladder .seg.on .r{color:var(--blue-deep)}
.cfg__ladder .seg .u{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--text-3);margin-top:4px;text-transform:uppercase}
.cfg__note{margin-top:14px;font-size:14.5px;color:var(--text-2);line-height:1.55}
.cfg__seg{display:inline-flex;border:1px solid var(--line-2);border-radius:2px;overflow:hidden}
.cfg__seg button{font-family:var(--mono);font-size:13.5px;font-weight:700;letter-spacing:.05em;padding:13px 24px;background:#fff;color:var(--text-2);cursor:pointer;border:0;border-right:1px solid var(--line-2)}
.cfg__seg button:last-child{border-right:0}
.cfg__seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.cfg__prepay{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:15px;color:var(--text-2);cursor:pointer}
.cfg__prepay input{width:16px;height:16px;accent-color:var(--blue);flex:none}
.cfg__prepay input:disabled{opacity:.4}
.cfg__prepay input:disabled+span{opacity:.5}
.cfg__panel{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}
@media(max-width:960px){.cfg__panel{position:static}}
.cfg__panel .receipt{max-width:none;width:100%}
.cfg__big{padding:18px 18px 16px;display:flex;align-items:baseline;gap:8px}
.cfg__big .n{font-family:var(--mono);font-weight:700;font-size:clamp(30px,3.6vw,40px);letter-spacing:-.01em;color:var(--text)}
.cfg__big .u{font-family:var(--mono);font-size:13px;color:var(--text-3)}
.cfg__eff{padding:0 18px 14px;font-family:var(--mono);font-size:12px;color:var(--text-2);border-bottom:1px solid var(--line)}
.cfg__eff b{color:var(--blue-deep);font-weight:700}
.cfg__panel .btn{width:100%;justify-content:center}
.cfg__trial{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);text-align:center}
/* cfg info layer: one small i note per component; expanders inline, one open at a time */
.cfg__ratesline{margin:14px 0 0;font-size:13px;color:var(--text-3);max-width:62ch}
.cfg__ikey{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid var(--line-d);border-radius:2px;background:#fff;color:var(--text-2);font-family:var(--mono);font-size:10.5px;font-weight:700;line-height:1;vertical-align:-2px}
.cfg__info{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:2px;background:#fff;color:var(--text-2);font-family:var(--mono);font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.cfg__info span{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:inherit}
.cfg__info:hover{border-color:var(--blue);color:var(--blue-deep)}
.cfg__info[aria-expanded=true]{background:var(--blue-wash);border-color:var(--blue);color:var(--blue-deep)}
.cfg__info--corner{position:absolute;right:12px;top:12px}
.receipt__bar .cfg__info{position:absolute;left:10px;top:50%;transform:translateY(-50%)}
.cfg__inforow{display:flex;align-items:flex-start;gap:10px;margin-top:14px}
.cfg__inforow>p{flex:1;margin-top:0}
.cfg__inforow--mid{align-items:center;margin-top:0}
.cfg__exp{border:1px solid var(--line-2);background:#FBFBF9;padding:13px 15px 14px;font-size:13px;line-height:1.55;color:var(--text-2)}
.cfg__group .cfg__exp,.cfg__core .cfg__exp{margin-top:12px}
.cfg__mod .cfg__exp{margin:2px 15px 15px}
.receipt .cfg__exp{margin:2px 14px 14px}
.cfg__panel>.cfg__exp{margin:0}
.cfg__exp p{margin:0 0 9px}
.cfg__exp p:last-child{margin-bottom:0}
.cfg__exp b{font-family:var(--mono);font-weight:700;color:var(--text)}
.cfg__exp a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.cfg__exp .dashlist{gap:7px;margin:0 0 9px}
.cfg__exp .dashlist:last-child{margin-bottom:0}
.cfg__exp .dashlist li{font-size:12.5px;padding-left:16px}
.cfg__exp .dashlist li::before{top:9px;width:8px}
.cfg__bands{width:100%;border-collapse:collapse;margin-top:11px}
.cfg__bands th{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);text-align:left;padding:5px 10px 5px 0;border-bottom:1px solid var(--line-2)}
.cfg__bands td{font-size:12.5px;color:var(--text-2);padding:5px 10px 5px 0;border-bottom:1px solid var(--line)}
.cfg__bands td.d{font-family:var(--mono);font-weight:700;font-size:12px;color:var(--text)}
.cfg__bands tr:last-child td{border-bottom:0}
.cfg__sov{margin:0;font-size:12px;color:var(--text-3);text-align:center;line-height:1.5}
/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
@media(max-width:760px){.stats{grid-template-columns:1fr}}
.stat b{display:block;font-family:var(--mono);font-size:clamp(34px,4vw,56px);font-weight:700;letter-spacing:-.01em;color:var(--text)}
.stat span{display:block;margin-top:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
/* download rows */
.dl{margin-top:48px;border-top:1px solid var(--line)}
.dl__row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 2px;border-bottom:1px solid var(--line)}
.dl__row .n{font-size:16px;font-weight:600;color:var(--text)}
.dl__row .n a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.dl__row .n a:hover{color:var(--blue-deep)}
.dl__row .v{font-family:var(--mono);font-size:12.5px;color:var(--text-3)}
/* press kit: framed preview thumb beside a download row */
.dl__lead{display:flex;align-items:center;gap:16px;min-width:0}
.dl__thumb{flex:none;width:112px;height:64px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:2px;background:#FFF}
@media(max-width:560px){.dl__thumb{width:84px;height:52px}}
/* press kit: copy-hex button in the swatch table */
.hexcopy{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;margin-left:8px;padding:3px 8px;border:1px solid var(--line-2);border-radius:2px;background:transparent;color:var(--text-2);cursor:pointer;vertical-align:1px}
.hexcopy:hover{border-color:var(--text);color:var(--text)}
.hexcopy:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.hexcopy.ok,.art-share__copy.ok{border-color:#D3E7D8;background:#EAF4EC;color:var(--ok)}
/* 404 */
.err{min-height:62vh;display:flex;flex-direction:column;justify-content:center}
.err h1{font-size:clamp(36px,4.4vw,60px);color:#fff}
.err p{margin:22px 0 34px;font-size:17px;color:#98A2B0;max-width:52ch}
/* a11y */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--text);padding:10px 16px;z-index:99;border:1px solid var(--line-2)}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.band :focus-visible{outline-color:#298FFF}

.band .tbl td{border-color:#232936;color:#98A2B0}
.band .tbl th{color:#7E8794;border-color:#2A3040}
.band .sec__head h2{color:#fff}

/* what-you-get rundown (product pages) */
.rundown{margin:clamp(56px,7vw,88px) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px 40px;border-top:1px solid var(--line);padding-top:40px}
@media(max-width:900px){.rundown{grid-template-columns:1fr}}
.rundown li{font-size:15px;line-height:1.6;color:var(--text-2);padding-left:20px;position:relative}
.rundown li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:2px;background:var(--text)}
.rundown li b{display:block;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin-bottom:8px}
.sec .rundown:last-child{margin-bottom:clamp(72px,8vw,112px)}

/* blog */
.posts{margin-bottom:clamp(72px,9vw,110px)}
.posts .post--feature{grid-column:1/-1;padding:clamp(28px,3.6vw,46px);box-shadow:var(--e1);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.post--feature h2{font-size:clamp(24px,2.9vw,36px);line-height:1.14;letter-spacing:-.015em;margin:16px 0 14px;max-width:30ch}
.post--feature p{font-size:15.5px;max-width:64ch}
.post--feature:hover h2{color:var(--blue-deep)}
.bloglink{display:inline-flex;align-items:baseline;gap:9px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.post .bloglink{margin-top:20px}
.post:hover .bloglink,a.bloglink:hover{color:var(--blue-deep)}
/* media cards (material-imagery library, design/graphics.json) */
.post--media{padding:0;overflow:hidden}
.post--media .post__body{padding:24px 26px 26px}
.post__media{aspect-ratio:1200/630;background:var(--paper-2);border-bottom:1px solid var(--line)}
.post__media img{display:block;width:100%;height:100%;object-fit:cover}
.posts .post--feature.post--media{display:grid;grid-template-columns:1.02fr .98fr;padding:0}
.posts .post--feature.post--media .post__media{aspect-ratio:auto;height:100%;min-height:300px;border-bottom:0;border-left:1px solid var(--line);order:2}
.posts .post--feature.post--media .post__body{order:1;padding:clamp(28px,3.6vw,46px)}
@media(max-width:860px){
  .posts .post--feature.post--media{display:block}
  .posts .post--feature.post--media .post__media{aspect-ratio:1200/630;height:auto;min-height:0;border-left:0;border-bottom:1px solid var(--line)}
}
/* article hero (one per article, from the same library as its index card) */
.art__hero{margin:28px 0 0;max-width:880px}
.art__hero img{display:block;width:100%;height:auto;aspect-ratio:1200/380;object-fit:cover;border:1px solid var(--line-2);border-radius:3px}
/* blog article furniture (hub link, byline + share row, contents rail,
   standfirst lead, article-scoped body ink),
   composed at build time by scripts/build-site.mjs on EN articles */
.art-standfirst{padding:2px 0 2px 20px;border-left:2px solid var(--blue)}
.art-prose{color:var(--text)}
.art-back a{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);text-decoration:none}
.art-back a:hover{color:var(--blue-deep)}
.art-back svg{width:11px;height:11px;display:block}
.art-meta{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:14px 28px;flex-wrap:wrap}
.art-meta .datelbl{margin-top:0}
.art-share{display:inline-flex;align-items:center;gap:10px}
.art-share__lbl{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.art-share__copy{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line-2);border-radius:2px;background:transparent;color:var(--text-2);cursor:pointer}
.art-share__copy:hover{border-color:var(--text);color:var(--text)}
/* copied state shares the .hexcopy.ok rule (comma-joined there) */
.art-share__net{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line-2);border-radius:2px;background:transparent;color:var(--text-2)}
.art-share__net:hover{border-color:var(--text);color:var(--text)}
.art-share__net svg{width:14px;height:14px;display:block;fill:currentColor}
.art-cols{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:48px;align-items:start;margin-top:48px}
.art-rail nav{position:sticky;top:96px}
.art-toc__lbl{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.art-toc ol{list-style:none;margin:0;padding:0}
.art-toc a{display:block;padding:7px 0 7px 14px;border-left:1px solid var(--line);font-size:13.5px;line-height:1.4;color:var(--text-2);text-decoration:none}
.art-toc a:hover{color:var(--text)}
.art-toc a.on{color:var(--text);border-left-color:var(--blue)}
.prose h2[id]{scroll-margin-top:84px}
@media(max-width:960px){.art-cols{grid-template-columns:1fr;gap:32px}.art-rail nav{position:static}}

/* tco */
/* TCO calculator (resources/tco-calculator) — namespaced; do not reuse outside this page */
.tco{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:start;margin-top:48px}
@media(max-width:1020px){.tco{grid-template-columns:1fr;gap:30px}}
.tco__controls{display:flex;flex-direction:column;gap:34px;min-width:0}
.tco__group{border:0;padding:0;margin:0;min-width:0}
.tco__group legend{padding:0;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin-bottom:16px}
.tco__hint{margin-top:14px;font-size:14.5px;color:var(--text-2);line-height:1.55}
.tco__users{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tco__users input{width:140px;background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:12px 14px;font-family:var(--mono);font-size:16px;font-weight:700;color:var(--text)}
.tco__users input:focus-visible{border-color:var(--blue);outline:2px solid rgba(0,112,235,.25);outline-offset:0}
.tco__presets{display:flex;gap:6px;flex-wrap:wrap}
.tco__preset{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;padding:10px 13px;border:1px solid var(--line-2);border-radius:2px;background:#fff;color:var(--text-2);cursor:pointer;transition:border-color .15s}
.tco__preset:hover{border-color:var(--line-d)}
.tco__preset[aria-pressed=true]{border-color:var(--text);color:var(--text);background:var(--paper-2)}
.tco__cats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.tco__cats{grid-template-columns:1fr}}
.tco__cat{position:relative;min-width:0;display:flex;flex-direction:column}
.tco__cat-btn{display:flex;flex-direction:column;flex:1 0 auto;width:100%;text-align:left;background:#fff;border:1px solid var(--line-2);border-radius:3px;padding:15px 44px 14px 42px;position:relative;cursor:pointer;transition:border-color .15s,background .15s;font-family:inherit}
.tco__cat-btn:hover{border-color:var(--line-d)}
.tco__cat-btn[aria-pressed=true]{border-color:var(--blue);background:var(--blue-wash)}
.tco__check{position:absolute;left:16px;top:17px;width:16px;height:16px;border:1px solid var(--line-d);border-radius:3px;background:#fff}
.tco__cat-btn[aria-pressed=true] .tco__check{background:var(--blue);border-color:var(--blue)}
.tco__cat-btn[aria-pressed=true] .tco__check::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tco__cat-name{display:block;font-size:14.5px;font-weight:600;color:var(--text);padding-right:6px}
.tco__cat-what{display:block;margin-top:5px;font-size:12.5px;color:var(--text-2);line-height:1.45}
.tco__cat-map{display:block;margin-top:8px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-deep)}
.tco__cat-amt{display:block;margin-top:auto;padding-top:7px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--text)}
.tco__cat-btn[aria-pressed=false] .tco__cat-amt,.tco__cat-btn[aria-pressed=false] .tco__cat-map{color:var(--text-3)}
.tco__info{position:absolute;right:10px;top:12px;width:24px;height:24px;border:1px solid var(--line-2);border-radius:50%;background:#fff;color:var(--text-2);font-family:var(--mono);font-size:12px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,background .15s,color .15s}
.tco__info:hover{border-color:var(--text-3);color:var(--text)}
.tco__info[aria-expanded=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.tco__panel{border:1px solid var(--line-2);border-top:0;border-radius:0 0 3px 3px;background:var(--paper-2);padding:13px 16px 14px;font-size:12.5px;color:var(--text-2);line-height:1.5}
.tco__panel p{margin:0}
.tco__panel label{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:11px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.tco__panel input{width:96px;background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:7px 10px;font-family:var(--mono);font-size:13px;color:var(--text)}
.tco__panel input:focus-visible,.tco__spend input:focus-visible{border-color:var(--blue);outline:2px solid rgba(0,112,235,.25);outline-offset:0}
.tco__unit{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--text-3);text-transform:none}
.tco__spend{display:grid;grid-template-columns:auto auto;gap:10px 14px;align-items:center;justify-content:start}
@media(max-width:560px){.tco__spend{grid-template-columns:1fr}}
.tco__spend label{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.tco__spend input{width:130px;background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:9px 12px;font-family:var(--mono);font-size:14px;color:var(--text)}
.tco__aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px;min-width:0}
@media(max-width:1020px){.tco__aside{position:static}}
.tco__aside .receipt{max-width:none;width:100%;justify-self:stretch}
.tco__aside .btn{width:100%;justify-content:center}
.tco__echo{padding:10px 18px 0;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.tco__side{padding:12px 18px 14px;border-bottom:1px solid var(--line)}
.tco__side-lbl{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.tco__side-total{display:block;margin-top:6px;font-family:var(--mono);font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.tco__side-total--fr{color:var(--blue-deep)}
.tco__side-total i{font-style:normal;font-size:12px;color:var(--text-3);margin-left:4px;letter-spacing:0}
.tco__lines{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px}
.tco__lines li{display:flex;justify-content:space-between;gap:12px;color:var(--text-2)}
.tco__lines li span{color:var(--text);white-space:nowrap}
.tco__modnames{margin-top:7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;color:var(--text-3)}
.tco__eff{margin-top:10px;font-family:var(--mono);font-size:10.5px;color:var(--text-3)}
.tco__delta{padding:13px 18px 15px;border-bottom:1px solid var(--line);background:var(--paper)}
.tco__delta b{display:block;margin-top:5px;font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ok)}
.tco__delta--up b{color:var(--text)}
.tco__delta-sub{display:block;margin-top:4px;font-family:var(--mono);font-size:10.5px;color:var(--text-2)}
.tco__note{margin:0;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--text-2);line-height:1.55}
.tco__note--one{font-weight:600;color:var(--text)}
@media(prefers-reduced-motion:reduce){.tco__cat-btn,.tco__info,.tco__preset{transition:none}}
/* end tco */

/* assess */
.aq{margin-top:64px;max-width:780px}
.aq__progress{display:flex;align-items:center;gap:16px}
.aq__count{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}
.aq__segs{flex:1;display:flex;gap:3px}
.aq__seg{height:2px;flex:1;background:var(--line-2)}
.aq__seg.on{background:var(--blue)}
.aq__pane{margin-top:36px}
.aq__pane--anim{animation:aqin .3s ease both}
@keyframes aqin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.aq__pane--anim{animation:none}}
.aq__fs{border:0;margin:0;padding:0;min-width:0}
.aq__fs legend{padding:0}
.aq__dimlbl{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep)}
.aq__q{font-family:var(--grot);font-size:clamp(20px,2.5vw,26px);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--text);text-transform:none;margin:12px 0 0;max-width:52ch}
.aq__opts{display:grid;gap:10px;margin-top:26px}
.aq__opt{position:relative;display:block;cursor:pointer}
.aq__opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.aq__card{display:flex;align-items:flex-start;gap:13px;background:#fff;border:1px solid var(--line-2);border-radius:3px;padding:15px 17px;font-size:15px;line-height:1.5;color:var(--text-2);transition:border-color .15s,background .15s,color .15s}
.aq__opt:hover .aq__card{border-color:var(--line-d)}
.aq__opt input:checked+.aq__card{border-color:var(--blue);background:var(--blue-wash);color:var(--text)}
.aq__opt input:focus-visible+.aq__card{outline:2px solid var(--blue);outline-offset:2px}
.aq__dot{flex:none;position:relative;width:15px;height:15px;margin-top:3px;border:1px solid var(--line-d);border-radius:50%;background:#fff;transition:border-color .15s,background .15s}
.aq__opt input:checked+.aq__card .aq__dot{border-color:var(--blue);background:var(--blue)}
.aq__opt input:checked+.aq__card .aq__dot::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.aq__why{margin-top:24px;min-height:56px}
.aq__why.on{padding:14px 16px;border:1px solid var(--line-2);background:#FBFBF9}
.aq__whylbl{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:5px}
.aq__why p{font-size:14.5px;line-height:1.55;color:var(--text-2);max-width:60ch}
.aq__nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:34px;margin-bottom:clamp(48px,6vw,80px)}
.aq__nav .btn[disabled]{opacity:.4;cursor:default;pointer-events:none}
.aq__back{visibility:hidden}
.aq__back.on{visibility:visible}
.aq__res h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.012em;line-height:1.12}
.aq__tally{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.aq__overall{margin-top:18px;font-size:16.5px;line-height:1.62;color:var(--text-2);max-width:62ch}
.aq__dims{margin-top:38px;border-top:1px solid var(--line)}
.aq__dimrow{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:20px 2px;border-bottom:1px solid var(--line)}
@media(max-width:560px){.aq__dimrow{grid-template-columns:1fr;gap:10px}}
.aq__dimrow .chip{justify-self:start;align-self:start;margin-top:2px}
.aq__dimhead{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.aq__dimhead span{color:var(--text-3)}
.aq__dimbody p{margin:7px 0 0;font-size:14.5px;line-height:1.55;color:var(--text-2);max-width:62ch}
.aq__dimlink{display:inline-flex;align-items:baseline;gap:8px;margin-top:11px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.aq__dimlink:hover{color:var(--blue-deep)}
.aq__resnav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:36px}
.aq__guided{margin-top:24px;font-size:14.5px;line-height:1.55;color:var(--text-2);max-width:62ch}
.aq__guided a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.aq__staticnote{font-size:15px;color:var(--text-2);max-width:62ch}
.aq__staticlist{margin:28px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:16px;max-width:70ch}
.aq__staticlist li{font-size:15px;line-height:1.55;color:var(--text-2)}
.aq__staticlist b{display:block;color:var(--text);font-weight:600}
.aq__staticlist span{display:block;margin-top:4px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-3)}
@media(max-width:720px){.aq{margin-top:48px}}
/* end assess */

/* lead-capture gate (TCO calculator + questionnaire results) */
.leadgate{border:1px solid var(--line-2);border-radius:3px;background:#fff;overflow:hidden}
.leadgate__bar{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--paper);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.leadgate__body{padding:16px}
.leadgate__sub{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--text-2)}
.leadgate .form__note{margin-bottom:14px}
.leadgate .fld{margin-bottom:14px}
.leadgate .btn{width:100%;justify-content:center}
.leadgate__note{margin:16px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-2)}
.aq .leadgate{margin-top:26px;max-width:560px}
.tco--gated .tco__side,.tco--gated #tcoSpendLine{filter:blur(7px);pointer-events:none;user-select:none}

/* product/why-ai-native-security (page-scoped: .wan) — do not reuse outside this page */
.wan .pad--tight .hplate{max-width:100%;margin-left:auto;margin-right:auto}

/* wan v3 layout */
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.wan section[id]{scroll-margin-top:86px}
.wan .toc{max-width:980px;margin:46px auto 0;border-top:1px solid var(--line)}
.wan .toc a{display:grid;grid-template-columns:44px minmax(260px,420px) 1fr 20px;gap:16px;align-items:baseline;padding:19px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);transition:background .15s ease}
.wan .toc a:hover{background:#EDF4FC}
.wan .toc .n{font-family:var(--mono);font-weight:700;font-size:11.5px;color:#0053AD}
.wan .toc b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.wan .toc .d{font-size:14px;color:var(--text-3)}
.wan .toc .ar{font-family:var(--mono);font-weight:700;color:#0053AD;font-size:13px;justify-self:end}
.wan .pt__row{display:grid;grid-template-columns:minmax(300px,5fr) 7fr;gap:clamp(28px,5vw,72px);align-items:start;margin-bottom:clamp(48px,5.5vw,72px)}
.wan .pt__row .n{display:block;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.18em;color:#0053AD;margin-bottom:16px}
.wan .pt__row h2{font-size:clamp(24px,2.8vw,33px);letter-spacing:-.015em;line-height:1.14;max-width:none}
.wan .pt__row>p{font-size:16.5px;line-height:1.62;color:var(--text-2);max-width:58ch;margin:6px 0 0}
.wan .pp__bar{display:flex;align-items:center;justify-content:center;background:#EDF4FC;color:#0053AD;border-bottom:1px solid rgba(0,112,235,.35)}
@media(max-width:860px){.wan .toc a{grid-template-columns:38px 1fr 18px}.wan .toc .d{display:none}.wan .pt__row{grid-template-columns:1fr;gap:16px}}

/* wan v4 spacing */
.wan .arch__cap{margin-top:32px;font-family:var(--grot);font-size:14.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-2);max-width:92ch;margin-left:auto;margin-right:auto;line-height:1.5}
.wan section[id].sec{padding-top:clamp(56px,6.5vw,88px)}
.wan section#wire.sec,.wan section#rules.sec{padding-top:0}

/* pricing: currency conversion row */
.receipt__fx{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 18px;padding:12px 0;border-top:1px solid var(--line)}
.receipt__fx label{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.receipt__fx select{font:inherit;font-size:13px;color:var(--text);background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:4px 8px}
.receipt__fx .fx{font-size:13px;color:var(--text-2)}

/* access gates + team portal chrome */
.gatebox{border:1px solid var(--line-2);background:#FBFBF9;padding:22px 24px;max-width:660px}
.gatebox__t{margin:0;font-size:15.5px;line-height:1.6;color:var(--text-2)}
.gatebox__t b{color:var(--text)}
.gatebox__t a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.gate__form{margin-top:16px}
.gate__row{display:flex;gap:10px;flex-wrap:wrap}
.gate__row input{flex:1;min-width:200px;max-width:300px;background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:11px 14px;font:inherit;font-size:15px}
.gate__row input:focus-visible{border-color:var(--blue);outline:2px solid rgba(0,112,235,.25);outline-offset:0}
.gate__err{margin:10px 0 0;font-size:13.5px;color:#C0341D}
.cgate{max-width:680px;padding:clamp(28px,4vw,56px) 0 clamp(48px,7vw,96px)}
.cgate__note{font-size:15.5px;line-height:1.6;color:var(--text-2)}
.cgate__note b{color:var(--text)}
/* asset library */
.prose--lib{max-width:none}
.prose--lib>p{max-width:74ch}
.alib{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px;margin:22px 0 34px}
.alib--shots{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.alib--people{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.alib--marks{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.alib__tile{margin:0;border:1px solid var(--line);background:#FFF;border-radius:2px;overflow:hidden}
.alib__prev{display:flex;align-items:center;justify-content:center;height:118px;padding:20px;background:#FFF}
.alib__prev--dark{background:var(--ink)}
.alib__prev--soft{background:var(--paper-2);height:84px;padding:16px}
.alib__prev img{max-width:100%;max-height:100%;object-fit:contain}
.alib__prev--shot{height:148px;padding:0}
.alib__prev--shot img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:top}
.alib--people .alib__prev--shot{height:180px}
.alib--people .alib__prev--shot img{object-position:center 20%}
.alib__meta{display:block;border-top:1px solid var(--line);padding:10px 12px 11px}
.alib__name{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.alib__name a{color:inherit;text-decoration:none}
.alib__name a:hover{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.alib__fmts{display:block;margin-top:5px;font-size:13px;color:var(--text-2)}
.prose .alib__fmts a{color:var(--blue-deep)}

.console__tabs::-webkit-scrollbar{display:none}
.console__tabs>button{flex:none}

/* locale typography */
:lang(ja) body,:lang(ja) input,:lang(ja) select,:lang(ja) button{font-family:'Space Grotesk','Hiragino Kaku Gothic ProN','Hiragino Sans','Noto Sans JP','Yu Gothic',-apple-system,sans-serif}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{font-family:'Space Mono','Hiragino Kaku Gothic ProN','Noto Sans JP',ui-monospace,monospace;letter-spacing:.02em}
:lang(ja) .page__lead,:lang(ja) p{line-height:1.85}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
:lang(de) p,:lang(de) li{hyphens:auto;-webkit-hyphens:auto}
:lang(de) h1,:lang(de) h2,:lang(de) h3,:lang(de) legend,:lang(de) dt,:lang(de) td{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}

/* motion polish */
@media(hover:hover){
  .post,.offer,.pp{transition:transform .3s cubic-bezier(.16,.84,.28,1),box-shadow .3s cubic-bezier(.16,.84,.28,1)}
  a.post:hover,a.offer:hover{transform:translateY(-3px);box-shadow:var(--e2,0 10px 30px rgba(11,13,17,.08))}
  .btn{transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}
  .btn:active{transform:scale(.985)}
}
@media(prefers-reduced-motion:reduce){.post,.offer,.pp,.btn{transition:none}a.post:hover,a.offer:hover{transform:none}}

/* portal design-system swatches */
.ds__swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:18px 0 8px}
.ds__sw{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}
.ds__sw span{width:34px;height:24px;border-radius:2px;flex:none}
.ds__sw code{font-size:11px;color:var(--text-3)}

/* mobile table scroll */
@media(max-width:720px){
  table.tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  table.tbl td,table.tbl th{white-space:normal;min-width:150px}
}

/* results report */
.aq{padding-bottom:clamp(48px,6vw,88px)}
.aq__report{margin-top:26px;border:1px solid var(--line-2);border-radius:3px;background:#fff;box-shadow:var(--e1);overflow:hidden}
.aq__report-bar{display:flex;align-items:center;gap:9px;padding:11px 16px;background:#EDF4FC;border-bottom:1px solid rgba(0,112,235,.35);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0053AD}
.aq__report-bar .d{margin-left:auto;color:#4A5058;letter-spacing:.08em}
.aq__report-hd{padding:18px 20px 20px;border-bottom:1px solid var(--line)}
.aq__report-hd .aq__tally{margin-top:0}
.aq__report-hd .aq__overall{margin-top:14px}
.aq__report .aq__dims{margin-top:0;border-top:0}
.aq__report .aq__dimrow{grid-template-columns:104px 1fr;gap:22px;padding:20px;border-bottom:1px solid var(--line)}
.aq__report .aq__dimrow:last-child{border-bottom:0}
.aq__report .aq__dimhead{font-size:12.5px}
.aq__report .aq__dimbody p{font-size:14.5px;line-height:1.6;max-width:66ch;margin:8px 0 0;color:var(--text-2)}
.aq__dimlink::after{content:"\2192";font-family:var(--grot);margin-left:2px}
.aq__report-foot{padding:12px 20px;background:#FBFBF9;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#96A0AE}


/* ===== Customer Center ===== */
.sec--tight{padding-top:0}
.cc-confbar{position:sticky;top:0;z-index:40;background:var(--tint-pink);color:var(--block);border-bottom:1px solid #E7C9C4;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:7px 12px}
.cc-wrap{display:grid;grid-template-columns:170px minmax(0,1fr) 340px;gap:clamp(22px,3vw,48px);align-items:start;padding-top:clamp(38px,4.5vw,64px);max-width:min(1560px,100% - 48px)}
.cc-toc{position:sticky;top:52px;display:flex;flex-direction:column;gap:0}
.cc-toc__brand{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:16px}
.cc-toc a{position:relative;font-size:14px;color:var(--text-2);text-decoration:none;padding:9px 0 9px 18px;line-height:1.35}
.cc-toc a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:transparent}
.cc-toc a:hover{color:var(--text)}
.cc-toc a.on{color:var(--text);font-weight:600}
.cc-main{min-width:0}
.cc-main .page__head{padding-top:0} /* head sits flush with the sticky rail top */
.cc-toc{padding-top:6px}
.cc-block{padding-bottom:clamp(40px,5vw,64px);scroll-margin-top:64px}
.cc-block h2{font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;margin:0 0 12px}
.cc-block h3{font-size:17px;font-weight:650;margin:0 0 8px}
.cc-block p{font-size:15.5px;line-height:1.62;color:var(--text-2);max-width:70ch}
.cc-block p b{color:var(--text)}
.cc-lede{font-size:clamp(17px,2vw,19px)!important;color:var(--text)!important;line-height:1.55!important;max-width:62ch;margin-top:18px!important}
.cc-callout{margin-top:18px;background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:4px;padding:14px 18px;font-size:14.5px;color:var(--text-2)}
.cc-callout b{color:var(--text)}
.cc-fig{margin:24px 0 0;border:1px solid var(--line);border-radius:4px;background:#fff;overflow:hidden}
.cc-fig__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:10px 14px;background:var(--paper-2)}
.cc-fig__cap{font-size:13px;color:var(--text-2);line-height:1.4}
.cc-fig__pdf{flex:none;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-deep);background:#fff;border:1px solid var(--line-2);border-radius:3px;padding:7px 12px;cursor:pointer}
.cc-fig__pdf:hover{border-color:var(--blue);color:var(--blue)}
.cc-fig__pdf svg{width:13px;height:13px;flex:none}
.cc-fig__viz{padding:16px;overflow-x:auto}
.cc-fig__viz svg.dgm{width:100%;height:auto;min-width:600px;display:block}
.cc-review{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hold);background:var(--holdw,#F5EEDB);border:1px solid #E4D3A0;border-radius:2px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}
/* Full-bleed card runs (runtime functions, decision posture): auto-fit
   collapses the empty tracks auto-fill reserves, so 3-4 cards stretch across
   the whole column; their headers step up to carry the wider cards. Narrow
   viewports keep the same minmax wrap as the base grid. */
.cc-grid--fit{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cc-grid--fit .cc-scard h4{font-size:15px}
.cc-scard{border:1px solid var(--line);border-radius:4px;background:#fff;padding:15px 16px}
.cc-scard h4{margin:0 0 5px;font-size:13.5px;font-family:var(--mono);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blue-deep)}
.cc-scard p{margin:0;font-size:13.5px;color:var(--text-2);line-height:1.5}
/* Customer Center hub: orientation shelves (A-02) [FRAI-567]. The affordance
   is the layout — numbered kickers group the cards into the order a real
   security review runs; no explainer prose anywhere. */
.cc-shelves{margin-top:6px}
.cc-shelf{margin-top:26px}
.cc-shelf__k{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.cc-shelf__n{font-size:12px;color:var(--blue)}
.cc-shelf .posts{margin:14px 0 0;gap:14px}
.cc-shelf .post{padding:18px 20px}
.cc-shelf .post h3{margin:0 0 6px;font-size:16px}
.cc-shelf .post p{font-size:13.5px;line-height:1.5}
.cc-shelf .post--split{padding:0;display:flex;flex-direction:column}
.post--split .post__main{display:block;padding:18px 20px 10px;color:inherit}
.post--split:hover h3{color:var(--blue-deep)}
.cc-shelf__sub{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;margin:auto 20px 16px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-deep)}
.cc-shelf__sub:hover{color:var(--blue)}

/* Customer Center FAQ router (A-18) [FRAI-567]: routed rows carry a scent
   line and a destination pill; inline rows stay the cc-q accordion. No JS =
   the toolbar stays hidden and the groups render expanded under their names. */
.cc-faqr__h{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px;margin:22px 0 0;font-size:17px;font-weight:650}
.cc-faqr--js .cc-faqr__h{display:none}
.cc-faqr .ic-toolbar{margin-top:16px}
.cc-faqr .ic-search{flex-basis:auto} /* column toolbar under 640px: 260px basis would become height */
.cc-faqrow--route{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline;border-bottom:1px solid var(--line);padding:12px 2px;color:inherit}
.cc-faqrow--route[hidden]{display:none}
.cc-faqrow__q{font-size:15px;font-weight:550;color:var(--text)}
.cc-faqrow__s{grid-column:1;font-size:13.5px;color:var(--text-3);line-height:1.5;max-width:72ch}
.cc-faqrow__pill{grid-row:1/3;grid-column:2;align-self:center;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--blue-deep);border:1px solid var(--line-2);border-radius:999px;padding:5px 12px}
.cc-faqrow--route:hover .cc-faqrow__q{color:var(--blue-deep)}
.cc-faqrow--route:hover .cc-faqrow__pill{border-color:var(--blue);color:var(--blue)}
@media(max-width:640px){.cc-faqrow--route{grid-template-columns:1fr}.cc-faqrow__pill{grid-row:auto;grid-column:1;justify-self:start;margin-top:6px}}

.cc-q{border-bottom:1px solid var(--line)}
.cc-q summary{cursor:pointer;padding:12px 2px;font-size:15px;font-weight:550;color:var(--text);list-style:none;display:flex;justify-content:space-between;gap:12px}
.cc-q summary::-webkit-details-marker{display:none}
.cc-q summary::after{content:"+";font-family:var(--mono);color:var(--blue);font-weight:700}
.cc-q[open] summary::after{content:"–"}
.cc-q .a{padding:0 2px 14px;font-size:14.5px;color:var(--text-2);line-height:1.6;max-width:72ch;margin:0}
.cc-cta{border-top:1px solid var(--line);padding-top:34px}
.cc-cta .btn{margin-top:8px}
.cc-gatecard{margin-top:26px;max-width:560px;border:1px solid var(--line-2);border-radius:3px;background:#fff;padding:20px 22px}
.cc-gatecard .gate__row{margin-top:16px}
.cc-gatecard .gate__err{margin:10px 0 0}
.cc-ack{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--text-2);cursor:pointer}
.cc-ack input{margin-top:3px;flex:none;width:15px;height:15px;accent-color:var(--blue-deep)}
.cc-ack span{display:block;line-height:1.55}
.cc-ack b{color:var(--text)}
@media(max-width:820px){.cc-toc{position:static;flex-direction:row;flex-wrap:wrap;top:auto}.cc-toc a{border-left:0;border-bottom:2px solid var(--line);padding:5px 8px}}

/* guide agent (one chrome, two docks): the FAB pill + floating panel is the
   base definition, shared verbatim by the Customer Center and the Team Portal
   under 1181px. Wide screens dock the same panel as the sticky rail column
   below (.cc-agent--fab opts a page out and holds FAB mode at every width —
   interim for center/messaging + center/phrases until v5 re-syncs them). */
.cc-agent{position:fixed;right:20px;bottom:20px;z-index:60;display:block}
.cc-agent__fab{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--e3)}
.cc-agent__spark{width:8px;height:8px;border-radius:50%;background:var(--blue-glow);box-shadow:0 0 0 0 rgba(41,143,255,.6);animation:ccpulse 2.4s infinite}
.cc-agent__panel{display:none;position:absolute;right:0;bottom:56px;width:min(380px,calc(100vw - 40px));height:min(520px,70vh);flex-direction:column;background:#fff;border:1px solid var(--line-2);border-radius:6px;box-shadow:var(--e2);overflow:hidden}
.cc-agent[data-state="open"] .cc-agent__panel{display:flex}
.cc-agent[data-state="open"] .cc-agent__fab{display:none}
.cc-agent__hd{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--ink)}
.cc-agent__mark{width:18px;height:18px;flex:none}
.cc-agent__title{font-weight:650;font-size:14px;color:#fff}
.cc-agent__title{margin-right:auto}
.cc-agent__x{border:0;background:none;font-size:20px;line-height:1;color:#9aa;cursor:pointer;padding:0 2px}
.cc-agent__log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}
.cc-msg{font-size:13.5px;line-height:1.5;max-width:92%}
.cc-msg--u{align-self:flex-end;background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:10px 10px 2px 10px;padding:8px 12px;color:var(--text)}
.cc-msg--a{align-self:flex-start;color:var(--text-2)}
.cc-msg--a .cc-cite{display:block;margin-top:6px;font-size:12px}
.cc-chips{display:flex;flex-wrap:wrap;gap:6px}
.cc-chips button{font-size:12px;color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:999px;padding:6px 11px;cursor:pointer;font-family:inherit}
.cc-chips button:hover{border-color:var(--blue)}
.cc-receipt{margin-top:7px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.cc-receipt summary{cursor:pointer;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ok);padding:5px 9px;background:#E9F1EA;list-style:none}
.cc-receipt summary::-webkit-details-marker{display:none}
.cc-receipt table{width:100%;font-size:11.5px;border-collapse:collapse}
.cc-receipt td{padding:4px 9px;border-top:1px solid var(--line);color:var(--text-2)}
.cc-receipt td:first-child{font-family:var(--mono);color:var(--text-3);width:38%}
.cc-agent__form{display:flex;gap:8px;padding:12px 14px 8px;border-top:1px solid var(--line)}
.cc-agent__form input{flex:1;border:1px solid var(--line-2);border-radius:4px;padding:9px 11px;font-size:13.5px;font-family:inherit;min-width:0}
.cc-agent__form .btn{padding:9px 14px;font-size:13px}
.cc-agent__note{padding:4px 14px 14px;line-height:1.5;display:flex;flex-direction:column;gap:6px}
.cc-agent__disclaim{font-size:11px;color:var(--text-3)}
.cc-agent__fine{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--line-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1180px){.cc-wrap{grid-template-columns:200px minmax(0,1fr)}}
@media(min-width:1181px){
  /* the wide Customer Center docks the agent into its reserved rail column */
  .cc-agent:not(.cc-agent--fab){position:sticky;top:60px;right:auto;bottom:auto;z-index:auto;align-self:start;display:flex;flex-direction:column}
  .cc-agent:not(.cc-agent--fab) .cc-agent__fab{display:none}
  .cc-agent:not(.cc-agent--fab) .cc-agent__panel{display:flex;position:static;width:auto;height:calc(100vh - 120px);min-height:460px;max-height:760px;box-shadow:var(--e1)}
  .cc-agent:not(.cc-agent--fab) .cc-agent__x{display:none}
}
@media(max-width:820px){.cc-wrap{grid-template-columns:1fr}}
@keyframes ccpulse{0%{box-shadow:0 0 0 0 rgba(41,143,255,.55)}70%{box-shadow:0 0 0 7px rgba(41,143,255,0)}100%{box-shadow:0 0 0 0 rgba(41,143,255,0)}}
@media(prefers-reduced-motion:reduce){.cc-agent__spark{animation:none}}

/* region toggle */
.cc-regionbar{display:inline-flex;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;margin:20px 0 6px}
.cc-regionbar button{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;background:#fff;border:0;border-right:1px solid var(--line-2);color:var(--text-2);cursor:pointer}
.cc-regionbar button:last-child{border-right:0}
.cc-regionbar button[aria-pressed="true"]{background:var(--ink);color:#fff}
.ccr{display:none}
body[data-ccregion="na"] .ccr[data-region="na"]{display:block}
body[data-ccregion="emea"] .ccr[data-region="emea"]{display:block}
body[data-ccregion="jp"] .ccr[data-region="jp"]{display:block}

/* interactive deployment guide */
.cc-guide{border:1px solid var(--line-2);border-radius:4px;background:#fff;margin-top:26px;overflow:hidden}
.cc-guide__hd{padding:16px 20px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.cc-guide__hd h3{margin:0;font-size:16px}
.cc-guide__hd p{margin:4px 0 0;font-size:13px;color:var(--text-2)}
.cc-guide__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:18px 20px}
.cc-guide__f label{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.cc-guide__f select{width:100%;border:1px solid var(--line-2);border-radius:3px;padding:9px 10px;font-size:13.5px;font-family:inherit;background:#fff}
.cc-guide__go{padding:0 20px 18px}
.cc-guide__plan{border-top:1px solid var(--line);padding:20px;display:none}
.cc-guide__plan.on{display:block}
.cc-phase{margin-bottom:18px}
.cc-phase h4{margin:0 0 6px;font-size:14px}
.cc-phase h4 span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--blue);margin-right:8px;text-transform:uppercase}
.cc-phase ul{margin:0;padding-left:1.1em}
.cc-phase li{font-size:13.5px;color:var(--text-2);margin:4px 0;line-height:1.5}

/* residency matrices */
.cc-mx{border-collapse:collapse;width:100%;font-size:12.5px;min-width:720px}
.cc-mx th,.cc-mx td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.4}
.cc-mx thead th{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);background:var(--paper-2);border-bottom:1px solid var(--line-2)}
.cc-mx tbody tr:last-child td{border-bottom:0}
.cc-mx__dim{font-weight:650;color:var(--text)}
.cc-mx__sub{display:block;font-weight:400;font-size:11px;color:var(--text-3);margin-top:2px}
.cc-mx__cost td{border-top:1px solid var(--line-2)}
.cc-costchip{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:2px}
.cc-costchip.c1{background:#E9F2EC;color:#2A7D46}
.cc-costchip.c2{background:#EEF3E4;color:#5C7A2E}
.cc-costchip.c3{background:#F5EEDB;color:#8A5C00}
.cc-costchip.c4{background:#F7E9E2;color:#A9541B}
.cc-costchip.c5{background:#F7E4E2;color:#B4331D}
.cc-vis__ok{color:#2A7D46;font-weight:700;margin-right:3px}
.cc-vis__notes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
@media(max-width:700px){.cc-vis__notes{grid-template-columns:1fr}}
.cc-vis__note{font-size:13px;line-height:1.5;border-radius:4px;padding:12px 14px}
.cc-vis__note b{color:var(--text)}
.cc-vis__note--ok{background:#E9F2EC;color:#2E5B3C}
.cc-vis__note--blue{background:var(--blue-wash);color:var(--blue-deep)}

/* horizontal journey stepper */
.cc-tl{position:relative;display:flex;gap:0;margin:16px 0 6px;padding:26px 0 4px;overflow-x:auto}
.cc-tl__axis{position:absolute;top:-2px;right:2px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--text)}
.cc-tl__step{position:relative;flex:1 1 0;min-width:132px;padding:18px 14px 0 0}
.cc-tl__step::before{content:"";position:absolute;top:5px;left:0;right:0;height:2px;background:var(--tint-blue)}
.cc-tl__step:last-child::before{right:14px}
.cc-tl__step:last-child::after{content:"";position:absolute;top:1.5px;right:8px;border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
.cc-tl__dot{position:absolute;top:1px;left:0;width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid var(--blue)}
.cc-tl__step b{display:block;font-size:13.5px;color:var(--text);line-height:1.3}
.cc-tl__step span:not(.cc-tl__dot){display:block;font-size:11.5px;color:var(--text-2);margin-top:3px;line-height:1.4}
.cc-tl__note{font-size:12.5px!important;color:var(--text-3)!important;margin:6px 0 0!important;max-width:78ch}
@media(max-width:700px){.cc-tl__step{min-width:150px}}

/* PDF export print sheets [Kentaro + Mikaleh, Jul 2026]: every Export PDF
   surface (Solution Center figures and Overview deck, the hosting brief, the
   pricing configurator) rides the shared #ccPrintStage body child. The sheet
   grammar is one landscape page per .cc-sheet: a branded masthead (logo mark,
   document title, export date, confidentiality strip where the source page
   carries one), the sheet body, and a firstrecon.ai footer with page context.
   .cc-sheet--fill pins the sheet to exactly one page (full-bleed figures and
   slides); plain sheets may flow when their content genuinely overruns. */
#ccPrintStage{display:none}
@media print{
  @page{size:letter landscape;margin:0}
  html,body{background:#fff}
  body>*{display:none!important}
  #ccPrintStage{display:block!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cc-sheet{display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;break-after:page;page-break-after:always;padding:10mm 12mm}
  .cc-sheet--fill{height:100vh;min-height:0;overflow:hidden}
  .cc-sheet:last-child{break-after:auto;page-break-after:auto}
  .cc-print-hd{display:flex;align-items:center;gap:16px;padding:0 0 10px;border-bottom:1.5px solid #000}
  .cc-sheet__logo{height:15px;width:auto;flex:none;display:block}
  .cc-sheet__doc{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#000;border-left:1px solid #000;padding-left:16px;line-height:1.4}
  .cc-sheet__meta{margin-left:auto;flex:none;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#000}
  .cc-sheet__conf{font-weight:700;border:1px solid #000;padding:3px 8px 2px}
  .cc-sheet__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:16px 0 14px}
  .cc-sheet__body--center{align-items:center;justify-content:center}
  .cc-sheet__body--center svg{width:100%;height:100%}
  .cc-print-ft{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #000;padding-top:8px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:#000}
  .cc-print-ft span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* password visibility toggle */
.pwwrap{position:relative;flex:1;display:flex;min-width:0}
.pwwrap{max-width:300px}
.pwwrap input{width:100%;max-width:none;padding-right:42px}
.pweye{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--text-3);padding:7px;display:flex;align-items:center}
.pweye:hover{color:var(--text-2)}
.pweye svg{width:17px;height:17px;display:block}

/* ===== Center v4 ===== */
/* nav active + L2 */
.cc-toc a[aria-current="page"]{color:var(--text);font-weight:650}
.cc-toc a[aria-current="page"]::before{background:var(--blue)}
.cc-toc .cc-toc__l2{display:flex;flex-direction:column;margin:2px 0 10px;padding:2px 0 2px 0}
.cc-toc .cc-toc__l2 a{font-size:13px;color:var(--text-2);padding:6px 0 6px 34px;line-height:1.4}
.cc-toc .cc-toc__l2 a::before{left:18px;width:8px;height:1.5px;background:var(--line-2);top:50%}
.cc-toc .cc-toc__l2 a:hover{color:var(--text)}
.cc-toc .cc-toc__l2 a.on{color:var(--blue-deep);font-weight:600}
.cc-toc .cc-toc__l2 a.on::before{background:var(--blue);width:12px}
/* generated section links under a link that is itself a sub-page row
   (.cc-toc__l2a) step one more level in, keeping the dash-then-label grammar */
.cc-toc .cc-toc__l2--deep a{padding-left:50px}
.cc-toc .cc-toc__l2--deep a::before{left:34px}
.cc-toc .cc-toc__l2--deep .cc-toc__ind{left:34px}
/* figure interactivity */
.cc-fig__viz{cursor:zoom-in}
.cc-fig__gal{flex:none;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);text-decoration:none;margin-right:10px}
.cc-fig__gal:hover{color:var(--blue-deep)}
.dgm-hot{cursor:help}
.dgm-hot:hover rect{stroke:var(--blue);stroke-width:2}
.cc-tip{position:fixed;z-index:200;max-width:300px;background:var(--ink);color:#E8EAED;border-radius:5px;padding:11px 13px;font-size:12.5px;line-height:1.5;box-shadow:var(--e2);pointer-events:none;display:none}
.cc-tip b{display:block;color:#fff;margin-bottom:3px;font-size:13px}
.cc-lightbox{position:fixed;inset:0;z-index:150;background:rgba(14,17,22,.72);display:none;align-items:center;justify-content:center;padding:34px}
.cc-lightbox.on{display:flex}
.cc-lightbox__panel{background:#fff;border-radius:6px;max-width:min(1500px,96vw);max-height:92vh;width:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--e2)}
.cc-lightbox__hd{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line)}
/* The lightbox caption is the expanded view's single figure header (the
   artwork's internal sheet header is dropped from the clone in site.js), so
   it wears the house mono figure-label treatment (Jordan, Jul 2026). */
.cc-lightbox__cap{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.cc-lightbox__x{margin-left:auto;border:0;background:none;font-size:26px;line-height:1;color:var(--text-3);cursor:pointer}
.cc-lightbox__body{overflow:auto;padding:20px}
.cc-lightbox__body svg{width:100%;height:auto;min-width:760px}
/* gallery */
.cc-gal{border:1px solid var(--line);border-radius:4px;background:#fff;margin:26px 0 0;overflow:hidden}
.cc-gal__tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.cc-gal__tabs button{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:11px 14px;border:0;border-right:1px solid var(--line);background:none;color:var(--text-2);cursor:pointer}
.cc-gal__tabs button[aria-selected="true"]{background:#fff;color:var(--blue-deep);box-shadow:inset 0 -2px 0 var(--blue)}
.cc-gal__item{display:none;padding:16px}
.cc-gal__item.on{display:block}
.cc-gal__item svg{width:100%;height:auto;min-width:600px}
.cc-gal__item{overflow-x:auto;cursor:zoom-in}
.cc-gal__note{padding:0 16px 14px;font-size:12.5px;color:var(--text-3)}
/* journey switcher (deployment, #path deep links) [FRAI-567] */
.cc-pathbar{display:flex;width:max-content;max-width:100%;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;margin:16px 0 2px}
.cc-pathbar__tab{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:9px 18px;background:#fff;border:0;border-right:1px solid var(--line-2);color:var(--text-2);cursor:pointer}
.cc-pathbar__tab:last-child{border-right:0}
.cc-pathbar__tab[aria-selected="true"]{background:var(--ink);color:#fff}
.cc-pathbar__tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.cc-paths--js .cc-path__h{display:none}
.cc-paths:not(.cc-paths--js) .cc-path{margin-top:30px}
.cc-paths:not(.cc-paths--js) .cc-path:first-of-type{margin-top:6px}
.cc-tl__day1{position:relative;margin:2px 0 0;height:20px}
.cc-tl__day1 span{position:absolute;left:0;width:56%;border-top:2px solid var(--ok);color:var(--ok);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;padding-top:4px;text-align:center}
/* planner visual output */
.cc-guide__plan.on{display:block}
.cc-plan__hd{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.cc-plan__title{font-weight:650;font-size:15px;margin-right:auto}
.cc-plan__print{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-deep);background:#fff;border:1px solid var(--line-2);border-radius:3px;padding:7px 12px;cursor:pointer}
.cc-fwbadge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:3px;padding:4px 9px;white-space:nowrap}
.cc-fwbadge::before{content:"";width:9px;height:10px;background:var(--blue-deep);clip-path:polygon(50% 0,100% 20%,100% 60%,50% 100%,0 60%,0 20%)}
.cc-badges{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 4px}
/* planner v2 [FRAI-567]: owner-lane timeline (the v1 owner chips, made
   spatial), posture rungs from the fig12 ladder, derived prerequisites */
.cc-guide__checks{display:flex;flex-direction:column;gap:7px;padding-top:3px}
.cc-check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text);cursor:pointer}
.cc-check input{accent-color:var(--blue);margin:0}
.cc-plan2{display:grid;grid-template-columns:112px repeat(3,1fr);gap:12px 14px;min-width:720px;margin-top:8px}
.cc-plan2__phh{position:relative;padding-top:18px}
.cc-plan2__phh::before{content:"";position:absolute;top:7px;left:0;right:-14px;height:2px;background:var(--tint-blue)}
.cc-plan2__phh:last-child::before{right:0}
.cc-plan2__phh:last-child::after{content:"";position:absolute;top:2.5px;right:-1px;border:5px solid transparent;border-left:8px solid var(--blue)}
.cc-plan2__phh .ph::before{content:"";position:absolute;top:2px;left:0;width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid var(--blue)}
.cc-plan2__phh .ph{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:2px}
.cc-plan2__phh h4{margin:0 0 7px;font-size:14px}
.cc-posture{display:inline-block;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:2px;padding:2px 7px;white-space:nowrap}
.cc-plan2__lane{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-top:12px;line-height:1.6}
.cc-plan2__lane--fr{color:var(--blue-deep)}
.cc-plan2__cell{border:1px solid var(--line);border-radius:4px;background:#fff;padding:10px 12px}
.cc-plan2__cell--fr{background:var(--blue-wash);border-color:var(--tint-blue)}
.cc-plan2__cell ul{margin:0;padding-left:1.05em}
.cc-plan2__cell li{font-size:12.5px;color:var(--text-2);margin:4px 0;line-height:1.5}
.cc-plan2__none{color:var(--text-3)}
.cc-plan__prereq{margin-top:18px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:4px;background:var(--paper-2);padding:12px 16px}
.cc-plan__prereq h4{margin:0 0 6px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.cc-plan__prereq ul{margin:0;padding-left:1.05em}
.cc-plan__prereq li{font-size:12.5px;color:var(--text-2);margin:3px 0;line-height:1.5}
.cc-guide__cta{margin-top:14px}
/* matrix upgrade */
.cc-mx thead th{font-size:10.5px;padding:12px}
.cc-mx thead th:not(:first-child){background:var(--blue-wash);color:var(--blue-deep);border-left:1px solid var(--line)}
.cc-mx tbody td:not(:first-child){border-left:1px solid var(--line)}
/* regionbar spacing */
.cc-regionbar{margin:26px 0 12px}

/* integrations catalog */
.ic-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:36px 0 22px}
.ic-search{flex:1 1 260px;min-width:200px;position:relative}
#mdl .ic-search,#ic .ic-search{flex-basis:auto} /* column toolbar under 640px: 260px basis would become height (same scoped fix as .cc-faqr) */
.ic-search input{width:100%;border:1px solid var(--line-2);border-radius:3px;background:#fff;
  padding:11px 14px 11px 38px;font-size:14px;font-family:inherit;color:var(--text)}
.ic-search input:focus{border-color:var(--blue)}
.ic-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;
  color:var(--text-3);pointer-events:none}
.ic-pills{display:flex;gap:8px;flex-wrap:wrap}
.ic-pill{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  border:1px solid var(--line-2);border-radius:3px;background:#fff;color:var(--text-2);
  padding:9px 14px;transition:border-color .15s,color .15s,background .15s}
.ic-pill:hover{border-color:var(--text-3);color:var(--text)}
.ic-pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ic-count{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.05em;margin:0 0 18px}
.ic-empty{display:none;padding:48px 0;text-align:center;color:var(--text-3);font-size:14px}
.ic-empty.on{display:block}

/* public grid: dense logo tiles */
.ic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ic-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;
  border:1px solid var(--line);border-radius:3px;background:#fff;padding:20px 12px 16px;text-align:center;
  transition:border-color .15s,box-shadow .15s;min-height:126px}
.ic-tile:hover{border-color:var(--line-d);box-shadow:var(--e1)}
.ic-tile__logo{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center}
.ic-tile__logo img{width:100%;height:100%;object-fit:contain}
.ic-tile__name{font-size:12.5px;font-weight:650;color:var(--text);line-height:1.25}
.ic-tile__cat{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.ic-tile__soon{position:absolute;top:8px;right:8px;font-family:var(--mono);font-size:8px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--hold);background:#F5EEDB;border:1px solid #E4D3A0;
  border-radius:2px;padding:2px 5px}
.ic-tile__desc{font-size:11px;line-height:1.4;color:var(--text-2);max-height:0;opacity:0;overflow:hidden;
  transition:max-height .18s ease,opacity .15s ease}
.ic-tile:hover .ic-tile__desc,.ic-tile:focus-within .ic-tile__desc{max-height:60px;opacity:1}
@media(hover:none){.ic-tile__desc{max-height:60px;opacity:1}}

/* center: list-cards with expand */
.ic-list{display:flex;flex-direction:column;gap:10px}
.ic-card{border:1px solid var(--line-2);border-radius:3px;background:#fff}
.ic-card__summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.ic-card__summary::-webkit-details-marker{display:none}
.ic-card__logo{width:28px;height:28px;flex:none;display:flex;align-items:center;justify-content:center}
.ic-card__logo img{width:100%;height:100%;object-fit:contain}
.ic-card__head{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ic-card__name{font-size:14.5px;font-weight:650;color:var(--text)}
.ic-card__short{font-size:12.5px;color:var(--text-2)}
.ic-card__cat{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-3);white-space:nowrap}
.ic-card__chev{width:16px;height:16px;flex:none;color:var(--text-3);transition:transform .15s}
.ic-card[open] .ic-card__chev{transform:rotate(180deg)}
.ic-card__body{border-top:1px solid var(--line);padding:16px 18px 20px}
.ic-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ic-card__field dt{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);margin:0 0 5px}
.ic-card__field dd{margin:0;font-size:13px;line-height:1.5;color:var(--text-2)}
.ic-card__status{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-radius:2px;padding:1px 7px;white-space:nowrap}
.ic-card__status--live{background:#EAF4EC;color:var(--ok);border:1px solid #D3E7D8}
.ic-card__status--soon{background:#F5EEDB;color:var(--hold);border:1px solid #E4D3A0}
.ic-card__status--request{background:var(--blue-wash);color:var(--blue-deep);border:1px solid var(--tint-blue)}
.ic-card__status--review{background:var(--blue-wash);color:var(--blue-deep);border:1px solid var(--tint-blue)}

@media(max-width:640px){
  .ic-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  .ic-toolbar{flex-direction:column;align-items:stretch}
}

/* public /integrations sticky filter rail. The .ic-search / .ic-pill /
   .ic-count classes are shared with the Solution Center tech pages, so every
   rule here is scoped under .ic-rail — never restyle .ic-* globally. The rail
   reuses the .art-toc / .cc-toc vertical grammar already on the site (mono-caps
   rail label, hairline left rule per row, blue left rule for the active row)
   and its 96px sticky offset and 960px collapse. Under 960px the rail becomes
   the stacked search-then-chips toolbar the page shipped with. */
/* The rail column is the sticky element itself. Sticking a child of the grid
   item instead gives it no travel: align-items:start sizes the item to its own
   content, so the child has nothing to slide inside of. */
.ic-rail{display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;align-items:start;margin-top:48px}
.ic-rail__side{position:sticky;top:96px;align-self:start}
.ic-rail__main{min-width:0}
.ic-rail .ic-search{min-width:0}
.ic-rail .ic-count{margin:12px 0 0}
.ic-rail__lbl{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:28px 0 10px}
.ic-rail .ic-pills{display:flex;flex-direction:column;gap:0}
.ic-rail .ic-pill{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;text-align:left;
  font-family:inherit;font-size:13.5px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4;
  border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--text-2);
  padding:7px 0 7px 14px;cursor:pointer;transition:color .15s,border-color .15s}
.ic-rail .ic-pill:hover{color:var(--text);background:transparent}
.ic-rail .ic-pill.on{color:var(--text);font-weight:600;background:transparent;border-left-color:var(--blue)}
.ic-rail__n{flex:none;font-family:var(--mono);font-size:10.5px;color:var(--text-3);font-variant-numeric:tabular-nums}
.ic-rail .ic-pill.on .ic-rail__n{color:var(--text-2)}

@media(max-width:960px){
  .ic-rail{grid-template-columns:1fr;gap:24px;margin-top:36px}
  .ic-rail__side{position:static}
  .ic-rail__lbl{display:none}
  .ic-rail .ic-count{margin:14px 0 0}
  .ic-rail .ic-pills{flex-direction:row;flex-wrap:wrap;gap:8px}
  .ic-rail .ic-pill{width:auto;justify-content:flex-start;
    font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    border:1px solid var(--line-2);border-radius:3px;background:#fff;padding:9px 14px}
  .ic-rail .ic-pill:hover{border-color:var(--text-3);color:var(--text)}
  .ic-rail .ic-pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .ic-rail .ic-pill.on .ic-rail__n{color:var(--ink-text)}
}

/* day-one KPIs */
.cc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0 10px}
.cc-kpi{border:1px solid var(--line);border-radius:4px;background:#fff;padding:14px 16px}
.cc-kpi b{display:block;font-family:var(--mono);font-size:26px;font-weight:700;color:var(--blue-deep);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.cc-kpi span{display:block;font-size:11.5px;color:var(--text-2);margin-top:3px;line-height:1.4}

/* matrix v2: slide-strength */
.cc-mx__ic{width:15px;height:15px;vertical-align:-2px;margin-right:8px;color:var(--text-3)}
.cc-mx thead th{background:var(--paper-2)!important;color:var(--text-2)!important;border-left:1px solid var(--line)!important;vertical-align:bottom}
.cc-mx__oh{padding:10px 10px 12px!important}
.cc-mx__on{display:block;font-size:8.5px;letter-spacing:.12em;color:var(--text-3);margin-bottom:5px}
.cc-mx__opt{display:block;border-radius:4px;padding:8px 10px;font-size:12px;letter-spacing:.02em;text-align:center}
.cc-mx__opt.o1{background:#EFF4FA;color:#1F5FA8}
.cc-mx__opt.o2{background:#E2ECF8;color:#1F5FA8}
.cc-mx__opt.o3{background:#D3E3F5;color:#194E8C}
.cc-mx__opt.o4{background:#C2D9F2;color:#153F72}
.cc-mx__opt.o5{background:#1F5FA8;color:#fff}
.cc-mx tbody tr:nth-child(odd) td{background:#FCFCFB}
.cc-mx tbody td{padding:12px 14px}
.cc-mx tbody tr td:hover{background:var(--tint-blue)}

.ic-count{display:block;margin:14px 0 18px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-3)}
.cc-toc__l2--static{display:flex;flex-direction:column}
.cc-regionpanel{border:1px solid var(--line);border-radius:4px;background:#fff;padding:20px 22px;margin-top:14px}
.cc-regionpanel__tag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:2px;padding:4px 10px;margin-bottom:12px}
.cc-regionpanel p{margin:.5em 0}

/* ===== consent banner (vanilla-cookieconsent v3) — brand overrides ===== */
#cc-main{
  --cc-font-family:var(--grot);
  --cc-bg:#fff;
  --cc-primary-color:var(--text);
  --cc-secondary-color:var(--text-2);
  --cc-btn-primary-bg:var(--ink);
  --cc-btn-primary-color:#fff;
  --cc-btn-primary-hover-bg:var(--ink-2);
  --cc-btn-primary-border-color:var(--ink);
  --cc-btn-secondary-bg:#fff;
  --cc-btn-secondary-color:var(--text);
  --cc-btn-secondary-border-color:var(--line-2);
  --cc-btn-secondary-hover-bg:var(--paper-2);
  --cc-separator-border-color:var(--line);
  --cc-toggle-on-bg:var(--blue);
  --cc-toggle-readonly-bg:var(--line-2);
  --cc-cookie-category-block-bg:var(--paper);
  --cc-cookie-category-block-border:var(--line);
  --cc-cookie-category-block-hover-bg:var(--paper-2);
  --cc-cookie-category-expanded-block-hover-bg:var(--paper-2);
  --cc-modal-border-radius:8px;
  --cc-btn-border-radius:6px;
  --cc-modal-transition-duration:.18s;
  font-size:15px;
}
#cc-main .cm__title,#cc-main .pm__title{font-family:var(--grot);letter-spacing:-.01em}
#cc-main .cm__desc,#cc-main .pm__section-desc{color:var(--text-2);line-height:1.55}
#cc-main .cm{box-shadow:var(--e3);border:1px solid var(--line)}
#cc-main button{font-family:var(--grot);font-weight:600}
.cc-footer-settings{cursor:pointer}

/* anchor targets clear the sticky confbar/nav stack; smooth in-page motion */
.cc-main [id],.cc-main h2[id],.cc-main h3[id]{scroll-margin-top:84px}

/* ===== Center toc motion ===== */
.cc-toc .cc-toc__l2{position:relative}
.cc-toc .cc-toc__ind{position:absolute;left:18px;top:0;width:12px;height:2px;background:var(--blue);opacity:0;transform:translateY(var(--indy,12px));transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .22s ease;pointer-events:none}
.cc-toc .cc-toc__l2.has-ind .cc-toc__ind{opacity:1}
.cc-toc .cc-toc__l2.has-ind a.on::before{background:transparent}
@media (prefers-reduced-motion: no-preference){
  .cc-toc a{transition:color .15s ease}
  .cc-toc>a::before{transition:background-color .18s ease}
  .cc-toc>a:hover::before{background:var(--line-d)}
  .cc-toc>a[aria-current="page"]:hover::before{background:var(--blue)}
  .cc-toc .cc-toc__l2 a{transition:color .15s ease,transform .22s cubic-bezier(.22,.61,.36,1),opacity .28s ease}
  .cc-toc .cc-toc__l2 a:hover{transform:translateX(3px)}
  .cc-toc .cc-toc__l2 a::before{transition:background-color .15s ease,width .2s cubic-bezier(.22,.61,.36,1)}
  .cc-toc .cc-toc__l2 a:hover::before{width:12px;background:var(--text-3)}
  .cc-toc .cc-toc__l2 a.pre{opacity:0;transform:translateY(-5px)}
}
@media (prefers-reduced-motion: reduce){.cc-toc .cc-toc__ind{transition:opacity .2s ease}}

/* ==========================================================================
   APPENDED · Customer Center data-residency page, founder redlines Jul 5.
   Scope: resources/customer-center/data-residency.html only.
   .cc-mx--opts = the deployment-options capability matrix on that page.
   1) Dimension labels never wrap and hang past the icon, so label and
      icon read as one aligned line ("Tenancy & isolation", "Who handles
      raw content", "Cost & ops effort").
   2) The explanatory note under the matrix spans the table's full width,
      aligning with its left and right edges.
   ========================================================================== */
.cc-mx--opts{min-width:820px}
.cc-mx--opts td.cc-mx__dim{position:relative;padding-left:37px;white-space:nowrap;line-height:1.3}
.cc-mx--opts td.cc-mx__dim .cc-mx__ic{position:absolute;left:14px;top:13px;margin-right:0}
#cc-models .cc-tl__note{max-width:none}

/* ==========================================================================
   APPENDED · Customer Center typography pass, founder redlines Jul 5.
   Scope: resources/customer-center/* (.cc-main prose). Append-only.
   1) Paragraph rhythm: consecutive prose <p> inside .cc-block were touching
      (global p{margin:0}). Zero-specificity :where() wrappers so every
      existing component rule (.cc-scard p, .cc-guide__hd p, .cc-tl__note,
      .cc-regionpanel p, .cc-q .a) still wins; adjacent-margin collapsing
      keeps figures (24px) and KPI grids (16px) from double-spacing.
   2) Measure: prose list items capped near the 70ch paragraph measure.
      Tables (.cc-mx), figures (.cc-fig), galleries (.cc-gal), KPI tiles,
      journey steppers (.cc-tl), and the rollout planner ([data-guide],
      .cc-phase) are not matched and stay full width.
   3) A REVIEW chip that starts a paragraph, list item, or table cell sits
      flush with the text edge instead of hanging 4px off it.
   4) #cc-copilot per-surface matrix, first column: the Copilot mark is
      fixed at the cell's left edge and the label hangs aligned beside it,
      so multi-line labels never wrap underneath the mark.
   ========================================================================== */
:where(.cc-main .cc-block) p{margin:0 0 14px}
:where(.cc-main .cc-block) p:where(:last-child){margin-bottom:0}
:where(.cc-main .cc-block) li{max-width:72ch}
:where(.cc-main .cc-block) :where([data-guide],.cc-guide,.cc-phase,.cc-tl) li{max-width:none}
:where(.cc-main) :where(p,li,td) > .cc-review:first-child{margin-left:0}
#cc-copilot .cc-mx td.cc-mx__dim{position:relative;padding-left:38px}
#cc-copilot .cc-mx td.cc-mx__dim .cc-mslogo{position:absolute;left:14px;top:12px;width:16px;height:16px}

/* figure expand button (founder redline: explicit affordance in fig bar) */
.cc-fig__exp{flex:none;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);color:var(--blue-deep);background:#fff;border:1px solid var(--line-2);border-radius:3px;padding:7px 8px;margin-right:8px;cursor:pointer}
.cc-fig__exp svg{width:13px;height:13px}
.cc-fig__exp:hover,.cc-fig__pdf:hover{border-color:var(--blue);color:var(--blue)}

/* standalone deep links on light home sections (body guidance to platform/solutions pages) */
.link--body{display:inline-flex;align-items:baseline;gap:9px;margin-top:26px;font-family:var(--mono);font-size:13.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.link--body:hover{color:var(--blue-deep)}

/* ===== team center · sales section [FRAI-463] ===== */
/* customer center embed frame (composed at build time; see scripts/build-site.mjs) */
.ccx{border:1px solid var(--line-2);border-radius:4px;background:#fff;margin:30px 0;overflow:hidden}
.ccx__bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--blue-wash)}
.ccx__tag{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.ccx__open{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.ccx__body{padding:14px 18px 4px}
.ccx__body .cc-block{padding-bottom:12px}
.ccx__body .cc-block h2{font-size:19px;margin:4px 0 10px}
.ccx__fig{font-size:13px}
.ccx__fig a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.ccx__note{margin:0;padding:9px 16px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.5;color:var(--text-3);background:var(--paper-2)}

/* region guidance toggle (GLOBAL / NA / EU / JP); global content is unmarked, deltas are .rg blocks */
.rgbar{display:inline-flex;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;margin:16px 0 6px}
.rgbar button{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;background:#fff;border:0;border-right:1px solid var(--line-2);color:var(--text-2);cursor:pointer}
.rgbar button:last-child{border-right:0}
.rgbar button[aria-pressed="true"]{background:var(--ink);color:#fff}
.rg{display:none}
body[data-region="na"] .rg[data-region="na"]{display:block}
body[data-region="eu"] .rg[data-region="eu"]{display:block}
body[data-region="jp"] .rg[data-region="jp"]{display:block}

/* Call kit selector (audience × stage -> the kit for that moment) */
.msel{border:1px solid var(--line-2);border-radius:4px;background:#fff;overflow:hidden;margin-top:24px}
.msel__hd{padding:14px 20px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.msel__hd p{margin:0;font-size:13px;color:var(--text-2)}
.msel__picks{display:grid;gap:16px;padding:18px 20px}
.msel__row label{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px}
.msel__chips{display:flex;flex-wrap:wrap;gap:6px}
.msel__chips button{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;background:#fff;border:1px solid var(--line-2);border-radius:2px;color:var(--text-2);cursor:pointer}
.msel__chips button:hover{border-color:var(--blue);color:var(--blue-deep)}
.msel__chips button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.msel__out{border-top:1px solid var(--line);padding:20px;display:none}
.msel__out.on{display:block}
.msel__pitch{margin:0 0 6px;font-size:14.5px;color:var(--text-2)}
.msel__pitch b{color:var(--text)}
.msel__lead{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--text-2)}
.msel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.msel__cell{border:1px solid var(--line);border-radius:4px;padding:13px 15px;background:#fff}
.msel__cell h4{margin:0 0 8px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.msel__cell ul{margin:0;padding:0;list-style:none}
.msel__cell li{font-size:13.5px;margin:6px 0;line-height:1.5;color:var(--text-2)}
.msel__cell a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.msel__why{color:var(--text-3);font-size:12.5px}

/* named-asset slot: the asset does not exist yet; the chip names what is needed */
.revslot{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;border:1px solid #E4D3A0;border-radius:3px;background:#FBF6E7;padding:12px 14px;margin:12px 0}
.revslot b{font-size:13.5px;color:var(--text)}
.revslot span:not(.cc-review){font-size:13px;color:var(--text-2)}

/* single-surface canvas: a sticky search bar filters sectioned content in
   place; section jumping belongs to the cc-toc rail [FRAI-463] */
#ct-sales{padding-bottom:0} /* the finder follows immediately — the library index is the page */
.sf{position:sticky;top:64px;z-index:40;background:var(--paper);padding:14px 0 12px;border-bottom:1px solid var(--line);margin-top:34px}
.sf__row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.sf__row .ic-search{flex:1 1 230px;max-width:340px}
.sf__count{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin:0 0 0 auto}
.sfs{border-top:1px solid var(--line);margin-top:44px}
.sf-off{display:none!important}
#centerContent [id]{scroll-margin-top:136px}
.prose h4{font-family:var(--grot);font-size:16.5px;font-weight:600;color:var(--text);margin:24px 0 8px;text-transform:none}
.sf-hit{animation:sfhit 1.4s cubic-bezier(.22,.61,.36,1) 1}
@keyframes sfhit{from{background:var(--blue-wash)}to{background:transparent}}
@media(prefers-reduced-motion:reduce){.sf-hit{animation:none}}
@media(max-width:720px){
  .sf__row .ic-search{max-width:none}
  .sf__count{flex:none;margin-left:auto}
  #centerContent [id]{scroll-margin-top:150px}
}

/* ===== customer center · roadmap [FRAI-463][FRAI-567] =====
   One forward board, two renders (status columns / list) off the same #rmData
   payload. Status colors are semantic (the status IS the story):
   preview = --blue, planned = ink. E0 flat cards, hairlines, mono caps labels;
   the detail panel is the one elevated element (E3). The bar's cc-fig__exp
   control expands the live board in the cc-lightbox pattern. */
.rm{position:relative;border:1px solid var(--line-2);border-radius:4px;background:#fff;overflow:hidden}
.rm__bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.rm__views{display:inline-flex;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;background:#fff}
.rm__views button{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;background:#fff;border:0;border-right:1px solid var(--line-2);color:var(--text-2);cursor:pointer}
.rm__views button:last-child{border-right:0}
.rm__views button[aria-pressed="true"]{background:var(--ink);color:#fff}
.rm__bar .cc-fig__exp{margin-right:0}
.rm__stage{padding:0}
.rm__stage--board{min-height:min(52vh,560px)}
/* status card, shared by board and detail triggers */
.rm-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-left:3px solid var(--sc,var(--line-2));border-radius:3px;padding:12px 14px;margin-top:10px;cursor:pointer;font-family:inherit}
.rm-card:hover{border-color:var(--blue);border-left-color:var(--sc,var(--blue))}
.rm-card--preview{--sc:var(--blue)}
.rm-card--planned{--sc:var(--ink)}
.rm-card__meta{display:block;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-top:6px}
.rm-card b{display:block;font-size:14px;font-weight:600;color:var(--text);line-height:1.35}
.rm-card .cc-review{margin:7px 0 0}
.rm-card--ms{background:var(--ink);border-color:var(--ink)}
.rm-card--ms b{color:#fff}
.rm-card--ms .rm-card__meta{color:#7E8794}
.rm-card--ms:hover{border-color:var(--blue)}
.rm-chip--plan{background:var(--paper-2);color:var(--text-2);border:1px solid var(--line-2)}
/* the board: status columns for what is coming */
.rm-bd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px}
.rm-bd__col{border:1px solid var(--line);border-radius:3px;background:var(--paper-2);padding:12px 12px 14px;align-self:start}
.rm-bd__hd b{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.rm-bd__hd b i{font-style:normal;color:var(--text-3);margin-left:7px}
.rm-bd__hd span{display:block;font-size:11.5px;color:var(--text-3);margin-top:3px}
.rm-bd__note{margin-top:10px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:12px 14px;font-size:12.5px;line-height:1.55;color:var(--text-2)}
/* list: the dense read */
.rm-ls{padding:4px 16px 16px;overflow-x:auto}
.rm-ls table{width:100%;border-collapse:collapse;min-width:560px}
.rm-ls th{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);text-align:left;padding:12px 12px 9px;border-bottom:1px solid var(--line-2)}
.rm-ls td{font-size:13.5px;color:var(--text-2);padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.rm-ls tr:last-child td{border-bottom:0}
.rm-ls__btn{font-family:inherit;font-size:14px;font-weight:600;color:var(--text);background:none;border:0;padding:0;cursor:pointer;text-align:left;line-height:1.4}
.rm-ls__btn:hover{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.rm-ls__q{font-family:var(--mono);font-size:12px;color:var(--text)}
.rm-ls .cc-review{margin-left:0}
/* detail panel: slide-in, the board's one elevated element */
.rm-dt{position:absolute;top:0;right:0;bottom:0;width:min(400px,92%);z-index:5;background:#fff;border-left:1px solid var(--line-2);box-shadow:var(--e3);padding:18px 22px 22px;overflow-y:auto;opacity:0;transform:translateX(14px)}
.rm-dt.on{opacity:1;transform:none}
.rm-dt__bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.rm-dt__x{margin-left:auto;border:0;background:none;font-size:24px;line-height:1;color:var(--text-3);cursor:pointer;padding:0 2px}
.rm-dt__x:hover{color:var(--text)}
.rm-dt h3{margin:0 0 6px;font-size:17px;line-height:1.35;letter-spacing:.01em}
.rm-dt__line{margin:0 0 12px;font-size:14.5px;font-weight:500;color:var(--text);line-height:1.5}
.rm-dt__body{margin:0 0 4px;font-size:13.5px;line-height:1.6;color:var(--text-2)}
.rm-dt__sec{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:18px 0 6px}
.rm-dt ul{margin:0;padding:0;list-style:none}
.rm-dt li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.55;color:var(--text-2);margin:5px 0}
.rm-dt li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--text)}
.rm-dt__meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin-top:6px}
.rm-dt__meta dt{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-top:2px}
.rm-dt__meta dd{margin:0;font-family:var(--mono);font-size:12px;color:var(--text)}
.rm-dt__link{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.rm-dt__link:hover{color:var(--blue)}
/* shipped work: one quiet line under the board, pointing at the release log */
.rm-shipped{margin:10px 2px 0;font-size:12.5px;color:var(--text-3)}
.rm-shipped a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.rm-shipped a:hover{color:var(--blue)}
/* the board inside its lightbox: flush panel, expand control retires */
.cc-lightbox__body--rm{padding:20px}
.cc-lightbox__body--rm .cc-fig__exp{display:none}
@media(prefers-reduced-motion:no-preference){
  .rm-dt{transition:opacity .26s ease,transform .26s cubic-bezier(.22,.61,.36,1)}
  .rm-card{transition:border-color .16s ease}
}
@media(max-width:960px){
  .rm-bd{grid-template-columns:1fr}
}
@media(max-width:720px){
  .rm__stage--board{min-height:0}
  .rm-dt{position:fixed;inset:auto 0 0 0;top:auto;width:100%;max-height:78vh;border-left:0;border-top:1px solid var(--line-2);z-index:90;transform:translateY(14px)}
  .rm-dt.on{transform:none}
  .cc-lightbox__body--rm .rm-dt{z-index:160}
}

/* ===== coming-soon shells: /status + /resources/release-notes [FRAI-463] =====
   Receipt-flavored panel (mono bar + one sentence), noindex until real. */
.soon{max-width:600px;margin-top:44px;border:1px solid var(--line-2);border-radius:3px;background:#fff}
.soon__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--paper-2);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.soon__bar .chip{margin-left:auto}
.soon__body{padding:16px 18px}
.soon__body p{margin:0 0 12px;font-size:14.5px;line-height:1.62;color:var(--text-2);max-width:62ch}
.soon__body p:last-child{margin-bottom:0}
.soon__body a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.soon__body a:hover{color:var(--blue)}
.soon__body a.link{color:var(--text);text-decoration:none}
.soon__body a.link:hover{color:var(--blue-deep)}

/* ===== Customer Center: diagram gallery reel [FRAI-567] =====
   /resources/customer-center/gallery walks every figure in CAPS, one per
   view: vertical scroll-snap in a fixed viewport, prev/next + position on
   the right edge, figure chrome (caption bar, hotspots, expand, PDF) as-is.
   Programmatic motion is JS scrollTo; reduced motion gets plain jumps. */
.cc-galrow{display:flex;align-items:center;gap:9px;margin:16px 0 0;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:var(--paper-2);font-size:13.5px;color:var(--text-2);max-width:70ch}
.cc-galrow svg{width:15px;height:15px;flex:none;color:var(--blue-deep)}
.cc-galrow a{flex:none;margin-left:auto;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-deep);text-decoration:none;white-space:nowrap}
.cc-galrow a:hover{color:var(--blue)}
@media(max-width:600px){.cc-galrow{flex-wrap:wrap}.cc-galrow a{margin-left:24px}}
.cc-galv-wrap{position:relative;margin-top:18px}
.cc-galv{position:relative;height:calc(100vh - 190px);height:calc(100dvh - 190px);min-height:440px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;border:1px solid var(--line);border-radius:4px;background:#fff}
.cc-galv:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cc-galv__item{height:100%;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;display:flex;padding:16px 72px 16px 18px}
.cc-galv__item .cc-fig{margin:0;flex:1;min-width:0;display:flex;flex-direction:column}
.cc-galv__item .cc-fig__viz{flex:1;min-height:0;display:flex;padding:12px 16px;overflow:hidden}
.cc-galv__item .cc-fig__viz svg.dgm{width:100%;height:100%;min-width:0}
.cc-galv__nav{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;z-index:6}
.cc-galv__btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-2);border-radius:3px;background:#fff;color:var(--blue-deep);cursor:pointer}
.cc-galv__btn svg{width:15px;height:15px}
.cc-galv__btn:hover{border-color:var(--blue);color:var(--blue)}
.cc-galv__btn:disabled{opacity:.35;cursor:default}
.cc-galv__btn:disabled:hover{border-color:var(--line-2);color:var(--blue-deep)}
.cc-galv__pos{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--text-2);white-space:nowrap}
@media(max-width:820px){
  .cc-galv{height:calc(100vh - 150px);height:calc(100dvh - 150px);min-height:380px}
  .cc-galv__item{padding:12px 12px 58px}
  .cc-galv__nav{top:auto;bottom:10px;right:12px;transform:none;flex-direction:row;gap:8px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:5px 9px}
}

/* footer language switcher (E-07) */
.foot__lang{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:12.5px}
.foot__lang a{color:var(--text-3)}
.foot__lang a:hover{color:var(--text)}
.foot__lang b{color:var(--text-2);font-weight:600}

/* integration logos: mono at rest, vendor color on hover/focus (E-03) */
.ic-tile__logo,.ic-card__logo{position:relative}
.ic-tile__logo .clr,.ic-card__logo .clr{position:absolute;top:0;left:0;opacity:0;transition:opacity .18s}
.ic-tile:hover .ic-tile__logo .clr,.ic-tile:focus-visible .ic-tile__logo .clr,
.ic-card:hover .ic-card__logo .clr,.ic-card:focus-within .ic-card__logo .clr{opacity:1}
@media (prefers-reduced-motion:reduce){.ic-tile__logo .clr,.ic-card__logo .clr{transition:none}}

/* ==== §11 platform page architecture (v5 re-arch) [FRAI-566] ====
   Register kit for the two platform depth pages: hero instrument rail,
   ink thesis plate, manifesto claim rail, journey stop switcher, fusion
   triptych, paired bench panels, plate split, constellation legend,
   compounding timeline, and the same-key comparative diptych. Every
   register composes existing tokens; drawings are untouched. */

/* platform hero: display head beside an instrument rail */

/* ink thesis plate: the light master drawing floats on the band */
.band .gplate{border-color:#2A3040;box-shadow:var(--e2)}
.band .gcap{color:#96A0AE}

/* manifesto: mono claim rail + evidence prose */
.claims{margin-top:48px;border-top:1px solid var(--line)}
.claim{display:grid;grid-template-columns:minmax(190px,250px) 1fr;gap:clamp(20px,3vw,48px);padding:22px 2px;border-bottom:1px solid var(--line)}
@media(max-width:720px){.claim{grid-template-columns:1fr;gap:8px}}
.claim b{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.claim p{font-size:15.5px;line-height:1.62;color:var(--text-2);max-width:64ch}
.pull{margin-top:clamp(40px,5vw,64px);font-size:clamp(20px,2.3vw,27px);font-weight:600;line-height:1.5;letter-spacing:-.012em;color:var(--text);max-width:40ch}
.pull b{color:var(--blue-deep)}
.aside-note{margin-top:26px;font-size:15px;line-height:1.6;color:var(--text-3);max-width:58ch}

/* journey stop switcher: sticky stop rail + advancing stage; no JS = the
   rail stays hidden and the stops stack (§ the deployment switcher grammar) */
.jstops{margin-top:48px}
.jstops__stage,.jstops__panel{min-width:0;max-width:100%}
.jstops:not(.jstops--js) .jstops__panel+.jstops__panel{margin-top:44px}
.jstops--js{display:grid;grid-template-columns:264px minmax(0,1fr);gap:clamp(24px,3.2vw,52px);align-items:start}
.jstops__rail{display:flex;flex-direction:column;position:sticky;top:88px;border-left:1px solid var(--line-2)}
.jstops__tab{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:baseline;text-align:left;padding:12px 14px 12px 18px;margin-left:-1px;border-left:2px solid transparent;transition:background .15s,border-color .15s}
.jstops__tab .n{grid-row:1/3;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-3)}
.jstops__tab .t{font-size:14.5px;font-weight:600;color:var(--text-2)}
.jstops__tab .k{grid-column:2;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:3px}
.jstops__tab:hover .t{color:var(--text)}
.jstops__tab[aria-selected="true"]{background:#fff;border-left-color:var(--blue)}
.jstops__tab[aria-selected="true"] .t{color:var(--text)}
.jstops__tab[aria-selected="true"] .n,.jstops__tab[aria-selected="true"] .k{color:var(--blue-deep)}
.jstops--js .jstops__panel>.gplate{margin-top:0!important}
.jstops__nav{display:flex;align-items:center;gap:14px;margin-top:22px}
.jstops__pos{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--text-3);margin:0 auto}
.jstops__nav:has(.jstops__step--prev:only-of-type) .jstops__pos{margin-left:auto}
.jstops__step{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line-2);border-radius:2px;background:#fff;padding:10px 14px;transition:border-color .15s,color .15s}
.jstops__step:hover{border-color:var(--text);color:var(--text)}
@media(max-width:900px){
  .jstops--js{grid-template-columns:minmax(0,1fr);gap:18px}
  .jstops__rail{position:static;flex-direction:row;overflow-x:auto;border-left:0;border-bottom:1px solid var(--line-2);scrollbar-width:none}
  .jstops__rail::-webkit-scrollbar{display:none}
  .jstops__tab{flex:none;display:block;border-left:0;border-bottom:2px solid transparent;margin:0 0 -1px;padding:10px 14px}
  .jstops__tab .t{display:block;font-size:13px;white-space:nowrap}
  .jstops__tab .k{display:none}
  .jstops__tab[aria-selected="true"]{border-bottom-color:var(--blue)}
}
@media(prefers-reduced-motion:reduce){.jstops__tab,.jstops__step{transition:none}}

/* fusion triptych (ink): certainty, judgment, and the fused third rail */
.fuse{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);margin-top:56px}
@media(max-width:860px){.fuse{grid-template-columns:1fr;gap:32px}}
.fuse__cell{border-top:1px solid var(--ink-line);padding-top:16px}
.fuse__cell .k{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7C8697}
.fuse__cell p{margin-top:10px;font-size:15px;line-height:1.62;color:#96A0AE}
.fuse__cell--fr{border-top:2px solid var(--blue);padding-top:15px}
.fuse__cell--fr .k{color:var(--blue-glow)}
.fuse__cell--fr p{color:#C7D0DC}

/* paired benches: two def panels in one spread */
.bench{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;align-items:stretch}
@media(max-width:920px){.bench{grid-template-columns:1fr}}
.bench__panel{border:1px solid var(--line-2);border-radius:3px;background:#fff;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column}
.bench__panel h2{font-size:clamp(20px,2.2vw,26px);letter-spacing:-.015em;line-height:1.2;margin-top:10px;max-width:none}
.bench__panel>p{margin-top:18px;font-size:15px;line-height:1.62;color:var(--text-2)}
.bench__list{margin-top:auto;padding-top:26px}
.bench__row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:11px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.bench__row b{color:var(--text);font-weight:700}
.bench__row .to{color:var(--text-3)}
.bench__row span:not(.to){color:var(--text-2)}

/* split with a plate pedestal beside prose */
.gsplit{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,5vw,80px);align-items:center;margin-top:48px}
@media(max-width:960px){.gsplit{grid-template-columns:1fr}}

/* six-context legend riding the constellation pad */
.legend6{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;position:relative}
@media(max-width:900px){.legend6{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.legend6{grid-template-columns:1fr}}
.legend6>div{background:#fff;border:1px solid var(--line-2);padding:13px 15px}
.legend6 b{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.legend6 span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--text-2)}
.legend6__k{grid-column:1/-1;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);padding-top:8px}

/* compounding timeline: starts full, then compounds */
.gtl{position:relative;display:flex;margin-top:56px;padding-top:24px;overflow-x:auto}
.gtl__step{position:relative;flex:1 1 0;min-width:180px;padding:20px 24px 0 0}
.gtl__step::before{content:"";position:absolute;top:4px;left:0;right:0;height:2px;background:var(--tint-blue)}
.gtl__step:last-child::before{right:20px}
.gtl__step:last-child::after{content:"";position:absolute;top:.5px;right:12px;border:5px solid transparent;border-left:8px solid var(--blue);border-right:0}
.gtl__dot{position:absolute;top:0;left:0;width:9px;height:9px;background:var(--blue)}
.gtl__step b{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.gtl__step p{margin-top:8px;font-size:14px;line-height:1.55;color:var(--text-2);max-width:30ch}

/* same key, two decisions: comparative diptych on ink */
.cmp{display:grid;grid-template-columns:1fr 56px 1fr;gap:clamp(16px,2.4vw,32px);margin-top:56px;align-items:stretch}
@media(max-width:860px){.cmp{grid-template-columns:1fr;gap:14px}}
.cmp__panel{border:1px solid var(--ink-line);background:var(--ink-2);padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column}
.cmp__panel .k{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#98A2B0}
.cmp__panel p{margin-top:14px;font-size:15px;line-height:1.62;color:#96A0AE}
.cmp__out{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cmp__axis{position:relative;display:flex;align-items:center;justify-content:center}
.cmp__axis::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--ink-line)}
.cmp__key{position:relative;background:var(--ink);border:1px solid var(--ink-line);padding:12px 7px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;writing-mode:vertical-rl}
@media(max-width:860px){.cmp__axis{padding:4px 0}.cmp__axis::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:1px}.cmp__key{writing-mode:horizontal-tb;padding:8px 14px}}
.cmp__coda{margin-top:30px;font-size:16.5px;line-height:1.62;color:#C7D0DC;max-width:62ch}

/* plate lightbox inspect scale [FRAI-566 round 2] — rides after the
   cc-lightbox base rules so the phone override wins the cascade: clones pan
   at legible width, and on phones the lightbox is the whole screen */
.cc-lightbox__body svg.gplate-clone{min-width:1000px}
@media(max-width:640px){
  .cc-lightbox{padding:0}
  .cc-lightbox__panel{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;border-radius:0}
}

/* Sovereign AI Models solution */
.sov-hero{overflow:hidden;padding-bottom:clamp(48px,6vw,72px)}
.sov-hero__copy{padding:clamp(64px,8vw,112px) 0 0;text-align:center}
.sov-hero__copy h1{font-size:clamp(42px,5.5vw,74px);line-height:1.02;letter-spacing:-.025em;max-width:18ch;margin:18px auto 0}
.sov-hero__copy .page__lead{max-width:68ch;margin:26px auto 0}
.sov-hero__copy .cta__row{justify-content:center;margin-top:30px}
.sov-hero__copy .cta__row .link--body{gap:13px}
.sov-map{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(260px,.8fr) 96px minmax(0,1fr);align-items:stretch;border:1px solid var(--line-2);background:var(--paper)}
.sov-map__rail{padding:clamp(26px,3vw,42px);display:flex;flex-direction:column;justify-content:center;min-height:250px}
.sov-map__rail b{font-size:clamp(19px,2vw,26px);line-height:1.15;color:var(--text);margin-top:16px}
.sov-map__rail p{font-size:14px;line-height:1.6;color:var(--text-2);margin:12px 0 0;max-width:32ch}
.sov-map__step{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--paper-2)}
.sov-map__step span{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-deep)}
.sov-map__step i{position:relative;width:26px;height:1px;background:var(--blue)}
.sov-map__step i::after{content:"";position:absolute;right:0;top:-2.5px;width:6px;height:6px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:rotate(45deg)}
.sov-map__core{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:250px;padding:28px;background:var(--blue);color:var(--paper)}
.sov-map__core img{width:34px;height:34px;margin-bottom:18px}
.sov-map__core span{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.78}
.sov-map__core b{font-family:var(--mono);font-size:clamp(20px,2.1vw,28px);line-height:1.08;margin-top:12px;max-width:10ch}
.sov-map__core p{font-size:12px;margin:12px 0 0;opacity:.82}
.sov-control{background:var(--ink);color:var(--paper);padding-bottom:clamp(72px,8vw,104px)}
.sov-control .sec__lead{color:var(--ink-text);max-width:75ch}
.sov-control__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-line);border-left:1px solid var(--ink-line);margin-top:52px}
.sov-control__grid article{min-height:220px;padding:28px 26px;border-right:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line)}
.sov-control__grid article>span{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--blue-glow)}
.sov-control__grid h3{font-size:20px;color:var(--paper);margin:54px 0 0}
.sov-control__grid p{font-size:13.5px;line-height:1.55;color:var(--ink-text);margin:10px 0 0}
.sov-card__title{font-size:19px!important;font-weight:600!important;color:var(--text)!important;margin:2px 0 8px!important}
@media(max-width:900px){
  .sov-map{grid-template-columns:1fr}
  .sov-map__rail,.sov-map__core{min-height:0}
  .sov-map__step{min-height:64px;border-left:0;border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .sov-map__step i{transform:rotate(90deg);margin:6px 0}
  .sov-control__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .sov-hero__copy{text-align:left}
  .sov-hero__copy h1,.sov-hero__copy .page__lead{margin-left:0}
  .sov-hero__copy .cta__row{justify-content:flex-start;align-items:flex-start}
  .sov-control__grid{grid-template-columns:1fr}
  .sov-control__grid article{min-height:0}
  .sov-control__grid h3{margin-top:28px}
}

/* Legacy Team Center chrome (.ctabs tab bar + .center-note) — still used by the
   live /center pages on staging; the portal rebuild that retires them holds in
   draft PR #14, so these rules must keep shipping until it lands. [FRAI-463] */
.center-note{border:1px solid var(--line-2);border-radius:3px;background:var(--paper-2);padding:14px 16px;
  font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:40px}
.ctabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);background:#FBFBF9;padding:8px 10px;margin:26px 0 8px;border-radius:2px}
.ctabs__brand{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--text-3);padding:0 10px}
.ctabs a{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);padding:8px 12px;border-radius:2px}
.ctabs a:hover{background:#EDF4FC;color:var(--blue-deep)}
.ctabs a[aria-current=page]{background:var(--ink);color:#fff}

/* Homepage hero: in-chat Semantic Security reasoning trail. */
@font-face{font-family:"FRA Hero Icons";src:url("/assets/fonts/fra-home-hero-icons.woff2") format("woff2");font-style:normal;font-weight:900;font-display:block}
/* Soft-card framing (approved mockup Variant B): white card, hairline border, E3 shadow.
   Radius 17px = the demo family's own bubble radius (canon system radius is 2-3px; 16px is unsanctioned,
   so the card reuses the closest value already shipped in this component). Heights grow by the added
   padding (border-box) so the fixed 44px step grid inside is untouched. */
.home-reasoning{width:100%;height:552px;min-width:0;display:grid;grid-template-rows:auto 1fr auto;padding:24px 28px;
  background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--e3);color:var(--text)}
.home-reasoning__prompt-wrap{width:min(78%,440px);margin:0 8px 24px auto}
.home-reasoning__prompt{position:relative;width:100%;padding:12px 16px;border:1px solid var(--blue);border-radius:17px 17px 4px 17px;background:var(--blue);color:#fff;font-size:14px;line-height:1.45;box-shadow:0 8px 20px rgba(0,112,235,.16)}
.home-reasoning__prompt::after{content:"";position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);background:var(--blue);clip-path:polygon(0 0,100% 0,100% 100%)}
.home-reasoning__secured{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:8px 4px 0 0;color:var(--text-3);font-size:10.5px;font-weight:500;white-space:nowrap}
.home-reasoning__secured img{display:block;width:13px;height:15px}
.home-reasoning__body{--trail-inset:20px;position:relative;height:308px;min-height:308px}
.home-reasoning__highlight{--highlight-top:0px;position:absolute;z-index:1;top:var(--highlight-top);left:4px;width:calc(100% - 8px);height:44px;box-sizing:border-box;border-radius:12px;background:rgba(0,112,235,.055);opacity:0;pointer-events:none;transition:top 220ms cubic-bezier(.22,.61,.36,1),opacity 160ms ease}
.home-reasoning__highlight.is-visible{opacity:1}
.home-reasoning__steps{position:relative;z-index:2;width:100%;height:308px;min-height:0;display:grid;grid-template-rows:repeat(7,44px);align-content:start;padding-left:var(--trail-inset)}
.home-reasoning__step{position:relative;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;visibility:hidden;opacity:0;transform:translateY(2px);transition:opacity 220ms ease,transform 220ms ease}
.home-reasoning__step::after{content:"";position:absolute;z-index:0;top:17px;bottom:-1px;left:8px;width:1px;background:var(--line-2);transform:scaleY(0);transform-origin:top center;transition:transform 280ms ease}
.home-reasoning__step:last-of-type::after{display:none}
.home-reasoning__step.is-visible{visibility:visible;opacity:1;transform:none}
.home-reasoning__step.is-done::after{transform:scaleY(1)}
/* The node anchors to the step, not the title row, so the icon stays centered
   against the full bar on one-line and two-line steps alike. */
.home-reasoning__row{display:flex;min-width:0;align-items:center;padding-left:24px;padding-top:0}
.home-reasoning__row:only-child{height:auto;padding-top:0}
.home-reasoning__node{position:absolute;z-index:1;top:50%;left:0;margin-top:-8px;display:flex;width:16px;height:16px;align-items:center;justify-content:center;border:1px solid var(--paper);border-radius:999px;background:var(--paper)}
.home-reasoning__fa{display:none;font-family:"FRA Hero Icons";font-style:normal;font-weight:900;font-size:10px;line-height:1;text-rendering:auto}
.home-reasoning__fa--check::before{content:"\f00c"}.home-reasoning__fa--sparkles::before{content:"\f890"}.home-reasoning__fa--shield::before{content:"\f2f7"}.home-reasoning__fa--arrow::before{content:"\f062"}
.home-reasoning__step.is-done .home-reasoning__fa--check{display:block;color:var(--ok)}
.home-reasoning__step.is-active .home-reasoning__fa--sparkles{display:block;color:var(--blue);animation:home-reasoning-spark 800ms ease-in-out infinite alternate}
.home-reasoning__step.is-active .home-reasoning__node{border-color:transparent;background:transparent}
.home-reasoning__step--final.is-active .home-reasoning__fa--sparkles,.home-reasoning__step--final.is-done .home-reasoning__fa--sparkles{display:none}
.home-reasoning__step--final.is-active .home-reasoning__fa--shield,.home-reasoning__step--final.is-done .home-reasoning__fa--shield{display:block;color:var(--blue-deep)}
.home-reasoning__label{position:relative;min-width:0;margin:0;color:var(--text-2);font-size:13px;font-weight:500;line-height:19px;letter-spacing:.01em}
.home-reasoning__step:not(.home-reasoning__step--final).is-active .home-reasoning__label{background:linear-gradient(90deg,var(--text-2) 0%,var(--text-2) 32%,var(--text-3) 50%,var(--text-2) 68%,var(--text-2) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:home-reasoning-shimmer 1.2s ease-in-out infinite}
.home-reasoning__label--provider{display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.home-reasoning__provider{display:inline-flex;min-width:92px;align-items:center;gap:6px;color:var(--ink);font-weight:600}
.home-reasoning__provider-logo{display:block;width:21px;height:21px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff;object-fit:contain}
.home-reasoning__provider-name{display:inline-block;min-width:58px}
.home-reasoning__cursor{position:absolute;top:0;left:calc(100% + 3px);color:var(--blue);-webkit-text-fill-color:var(--blue);font-weight:500;line-height:inherit;opacity:0}
.home-reasoning__step.is-active .home-reasoning__cursor{opacity:1;animation:home-reasoning-cursor 800ms step-end infinite}
[data-home-hero-reasoning].is-resetting .home-reasoning__step,[data-home-hero-reasoning].is-resetting .home-reasoning__step::after,[data-home-hero-reasoning].is-resetting .home-reasoning__detail,[data-home-hero-reasoning].is-resetting .home-reasoning__highlight{transition:none}
.home-reasoning__detail{height:17px;margin:0 0 0 16px;padding-left:8px;color:var(--text-2);font-size:12px;line-height:17px;letter-spacing:.01em;opacity:0;transition:opacity 180ms ease;white-space:nowrap}
.home-reasoning__step.is-active .home-reasoning__detail,.home-reasoning__step--final.is-visible .home-reasoning__detail{opacity:1}
.home-reasoning__composer{min-height:54px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:28px;padding:10px 12px 10px 15px;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--text-3);font-size:14px}
.home-reasoning__send{width:27px;height:27px;display:grid;place-items:center;justify-self:end;border-radius:999px;background:var(--ink);color:#fff;font-size:11px}
.home-reasoning__send .home-reasoning__fa{display:block}
@keyframes home-reasoning-spark{from{color:var(--blue-deep);opacity:.5}to{color:var(--blue-glow);opacity:1}}
@keyframes home-reasoning-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes home-reasoning-cursor{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(max-width:700px){.home-reasoning{height:528px;padding:18px 16px}.home-reasoning__body{--trail-inset:16px;height:287px;min-height:287px}.home-reasoning__prompt-wrap{width:min(87%,430px);margin-bottom:22px}.home-reasoning__prompt{font-size:13px}.home-reasoning__highlight{height:41px}.home-reasoning__steps{width:100%;height:287px;grid-template-rows:repeat(7,41px)}.home-reasoning__step{min-height:41px}.home-reasoning__row,.home-reasoning__row:only-child{height:41px;padding-top:0}.home-reasoning__detail{display:none}.home-reasoning__composer{min-height:60px;margin-top:24px}}
@media(max-width:380px){.home-reasoning{height:516px}.home-reasoning__prompt-wrap{width:90%}.home-reasoning__prompt{padding:10px 13px}.home-reasoning__label,.home-reasoning__detail{font-size:11.5px}.home-reasoning__provider-logo{width:15px;height:15px}}
/* ja typography: phrase-based wrapping so katakana product names and compounds
   never break mid-word in display text (progressive enhancement, Chromium). */
html[lang="ja"] :is(h1,h2,h3,h4,.hero__sub,.sc-slide b,.sc-slide h3,.fw__st b,.lbl){word-break:auto-phrase}

/* Services matrix (svcmx): the one shared Consulting & Professional Services
   framework graphic (site-src/partials/services-matrix.html), rendered on every
   /services page. A page wrapper's data-svcmx-focus dims every row but its own,
   so each offering page shows its slice inside the whole practice. Canon spec PR
   for this component pattern is pending (design-system program). */
.svcmx-plate{background:#FFF;border:1px solid var(--line-2);border-radius:3px;box-shadow:var(--e1)}
.svcmx-plate__bar{font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);text-align:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.svcmx{display:grid;grid-template-columns:250px repeat(3,1fr)}
.svcmx__corner{background:transparent}
.svcmx__lane{padding:18px 20px 14px;font:700 11.5px/1.2 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text)}
.svcmx__lane::before{content:"";display:inline-block;width:5px;height:5px;background:var(--blue);margin-right:9px;vertical-align:1px}
.svcmx__chip{display:inline-block;margin-top:12px;padding:4px 7px 3px;border:1px solid var(--line-d);border-radius:2px;font:700 8.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.svcmx__row{padding:24px 20px}
.svcmx > .svcmx__row,.svcmx > .svcmx__cell{border-top:1px solid var(--line)}
.svcmx__name{display:block;font:700 13px/1.45 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text);transition:color .14s}
a.svcmx__name:hover{color:var(--blue-deep)}
.svcmx__row p{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-2)}
.svcmx__row--fde{box-shadow:inset 2px 0 0 var(--blue)}
.svcmx__row--fde .svcmx__name{color:var(--blue-deep)}
.svcmx [data-svcmx-row="fde"]{background:var(--blue-wash)}
.svcmx__cell{padding:24px 20px;font:500 15px/1.5 var(--grot);color:var(--text)}
.svcmx__tag{display:none}
.svcmx-wrap[data-svcmx-focus="consulting"] [data-svcmx-row]:not([data-svcmx-row="consulting"]),
.svcmx-wrap[data-svcmx-focus="fde"] [data-svcmx-row]:not([data-svcmx-row="fde"]),
.svcmx-wrap[data-svcmx-focus="mag"] [data-svcmx-row]:not([data-svcmx-row="mag"]),
.svcmx-wrap[data-svcmx-focus="ctem"] [data-svcmx-row]:not([data-svcmx-row="ctem"]){opacity:.35}
/* services hero: copy + drawn program exhibit (homepage hero anatomy) */
.svc-hero{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(460px,1.1fr);gap:56px;align-items:center}
@media(max-width:960px){.svc-hero{grid-template-columns:1fr;gap:40px}}
/* offering selector (services overview): quiet index + one active detail panel,
   the homepage cswitch radio mechanic applied to the practice framework */
.svcled__row{border-top:1px solid var(--line)}
.svcled__row:last-child{border-bottom:1px solid var(--line)}
.svcled__row>label{display:block;padding:34px 0;cursor:pointer}
.svcled__ttl{display:block;font:700 clamp(21px,2.6vw,32px)/1.18 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--text-3);transition:color .14s}
.svcled__sub{display:block;margin-top:10px;font:400 15px/1.5 var(--grot);color:var(--text-3)}
.svcled__row>label:hover .svcled__ttl{color:var(--text)}
.svcled__body{display:none;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:56px;align-items:center;padding:0 0 46px}
.svcled__cells{display:grid;gap:10px}
.svcled__cell{background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:3px;padding:15px 18px;font-size:14.5px;line-height:1.55;color:var(--text-2)}
.svcled__cell b{color:var(--blue-deep);font-weight:600}
.svcled__media{border:1px solid var(--line-2);border-radius:3px;overflow:hidden;aspect-ratio:16/11}
.svcled__media img{display:block;width:100%;height:100%;object-fit:cover}
.svc-hero-media{border:1px solid var(--line-2);border-radius:3px;overflow:hidden;aspect-ratio:21/9;margin-top:56px}
.svc-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.svcled__list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.svcled__list li{position:relative;padding-left:20px;font-size:16.5px;line-height:1.6;color:var(--text-2);max-width:62ch}
.svcled__list li::before{content:"";position:absolute;left:0;top:.68em;width:10px;height:2px;background:var(--text)}
.svcsel__promise{margin:0;font:600 21px/1.5 var(--grot);color:var(--text);max-width:46ch;text-wrap:balance}
.svcsel__rows{margin-top:32px;display:grid;gap:22px}
.svcsel__row{display:grid;grid-template-columns:230px 1fr;gap:22px;align-items:baseline}
.svcsel__row b{font:700 15.5px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text);font-weight:700}
.svcsel__row b::before{content:"";display:inline-block;width:6px;height:6px;background:var(--blue);margin-right:11px;vertical-align:1px}
.svcsel__row p{margin:0;font-size:16.5px;line-height:1.6;color:var(--text-2);max-width:56ch}
.svcsel__meta{margin-top:32px;display:flex;align-items:center;gap:20px}
#svc-consulting:checked~.svcled__rows .svcled__row--consulting .svcled__body,
#svc-caio:checked~.svcled__rows .svcled__row--caio .svcled__body,
#svc-fde:checked~.svcled__rows .svcled__row--fde .svcled__body,
#svc-mag:checked~.svcled__rows .svcled__row--mag .svcled__body,
#svc-ctem:checked~.svcled__rows .svcled__row--ctem .svcled__body{display:grid}
#svc-consulting:checked~.svcled__rows .svcled__row--consulting .svcled__ttl,
#svc-caio:checked~.svcled__rows .svcled__row--caio .svcled__ttl,
#svc-fde:checked~.svcled__rows .svcled__row--fde .svcled__ttl,
#svc-mag:checked~.svcled__rows .svcled__row--mag .svcled__ttl,
#svc-ctem:checked~.svcled__rows .svcled__row--ctem .svcled__ttl{color:var(--text)}
#svc-consulting:checked~.svcled__rows .svcled__row--consulting .svcled__sub,
#svc-caio:checked~.svcled__rows .svcled__row--caio .svcled__sub,
#svc-fde:checked~.svcled__rows .svcled__row--fde .svcled__sub,
#svc-mag:checked~.svcled__rows .svcled__row--mag .svcled__sub,
#svc-ctem:checked~.svcled__rows .svcled__row--ctem .svcled__sub{color:var(--text-2)}
#svc-consulting:focus-visible~.svcled__rows label[for="svc-consulting"],
#svc-caio:focus-visible~.svcled__rows label[for="svc-caio"],
#svc-fde:focus-visible~.svcled__rows label[for="svc-fde"],
#svc-mag:focus-visible~.svcled__rows label[for="svc-mag"],
#svc-ctem:focus-visible~.svcled__rows label[for="svc-ctem"]{outline:2px solid var(--blue);outline-offset:-2px}
@media(max-width:900px){
.svcled__row>label{padding:24px 0}
.svcled__body{padding:0 0 36px 0;grid-template-columns:1fr;gap:28px}
.svcsel__row{grid-template-columns:1fr;gap:6px}
}
/* FDE operating model (services band): deck anchor-and-satellites, ink register */
.fdemod{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:32px;margin-top:44px}
.fdemod__anchor{background:#131824;border:1px solid #2A3040;border-radius:3px;padding:30px}
.fdemod__anchor h3{margin:0;font:600 clamp(21px,2.2vw,26px)/1.35 var(--grot);color:#FFF;text-wrap:balance;text-transform:none;letter-spacing:0}
.fdemod__anchor p{margin:16px 0 0;font-size:15.5px;line-height:1.6;color:#A9B2C0}
.fdemod__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fdemod__cell{background:#131824;border:1px solid #2A3040;border-radius:3px;padding:20px}
.fdemod__cell b{display:block;font:700 12.5px/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#FFF}
.fdemod__cell b::before{content:"";display:inline-block;width:5px;height:5px;background:var(--blue-glow);margin-right:8px;vertical-align:1px}
.fdemod__cell p{margin:9px 0 0;font-size:14px;line-height:1.58;color:#A9B2C0}
.fdemod__close{margin:36px 0 0;font:600 17.5px/1.5 var(--grot);color:#FFF;text-wrap:balance}
@media(max-width:960px){.fdemod{grid-template-columns:1fr}.fdemod__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fdemod__grid{grid-template-columns:1fr}}
/* services split feature + light cell grid (deep pages) */
.svc-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:960px){.svc-split{grid-template-columns:1fr;gap:40px}}
.svc-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
@media(max-width:960px){.svc-cells{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.svc-cells{grid-template-columns:1fr}}
/* from-to transformation ledger (FDE page): classic consulting vs FDE */
.fromto{display:grid;gap:16px;margin-top:44px}
.fromto__row{display:grid;grid-template-columns:1fr 56px 1fr;align-items:stretch}
.fromto__from,.fromto__to{border:1px solid var(--line);border-radius:3px;padding:20px 22px;background:#FFF}
.fromto__to{background:var(--blue-wash);border-color:var(--blue)}
.fromto__row b{display:block;font:600 17px/1.35 var(--grot);color:var(--text)}
.fromto__row p{margin:7px 0 0;font-size:14.5px;line-height:1.55;color:var(--text-2)}
.fromto__arrow{display:flex;align-items:center;justify-content:center;color:var(--line-d)}
.fromto__arrow svg{width:22px;height:10px}
@media(max-width:820px){.fromto__row{grid-template-columns:1fr}.fromto__arrow{display:none}}

/* FDE deep page: first-year sequence (in-page, no diagram scaffolding) */
.yr{display:flex;gap:14px;margin-top:48px}
.yr__uc{flex:1 1 0;border:1px solid var(--line);border-radius:3px;background:#FFF;padding:20px 22px 22px}
.yr__uc b{display:block;font:700 12.5px/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text)}
.yr__uc p{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:var(--text-2)}
.yr__uc--next{background:transparent;border-color:var(--line-2)}
.yr__uc--next b{color:var(--text-3)}
.yr__fnd{margin-top:14px;background:var(--blue-wash);border:1px solid var(--tint-blue);border-left:4px solid var(--blue);border-radius:3px;padding:19px 22px;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.yr__fnd b{font:700 12.5px/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--blue-deep);white-space:nowrap}
.yr__fnd span{font-size:15px;line-height:1.55;color:var(--text-2)}
@media(max-width:900px){.yr{flex-direction:column}.yr__uc{flex:none}}

/* Services per-page signature visuals */
/* Consulting: engagement modes as display rows (talent-ledger register) */
.bigrows{list-style:none;margin:26px 0 0;padding:0}
.bigrows li{padding:26px 0;border-top:1px solid var(--line)}
.bigrows li:first-child{border-top:0;padding-top:6px}
.bigrows b{display:flex;align-items:center;gap:18px;font:700 clamp(19px,2.1vw,27px)/1.15 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--text)}
.bigrows b::before{content:"";width:11px;height:11px;background:var(--blue);flex:none}
.bigrows p{margin:12px 0 0 29px;font-size:15.5px;line-height:1.62;color:var(--text-2);max-width:52ch}
/* MAG: the year as one segmented bar (ink band) */
.calstrip{margin-top:52px}
.calstrip__row{display:grid;grid-template-columns:repeat(12,1fr);border:1px solid #3A4252;border-radius:2px;overflow:hidden}
.calstrip__m{height:64px;background:#131824;border-left:1px solid #2A3040;display:flex;align-items:center;justify-content:center}
.calstrip__m:first-child{border-left:0}
.calstrip__m--q{background:var(--blue)}
.calstrip__m--q b{font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#FFF}
@media(max-width:700px){.calstrip__row{grid-template-columns:repeat(6,1fr)}.calstrip__m:nth-child(7){border-left:0}}
/* CTEM: the estate as one labeled bar */
.estbar{margin-top:52px}
.estbar__bar{display:grid;grid-template-columns:repeat(4,1fr);border-radius:2px;overflow:hidden}
.estbar__bar span{height:56px;background:#0E1116;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 10px;font:700 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#FFF;border-left:2px solid var(--paper-2)}
.estbar__bar span:first-child{border-left:0}
.estbar__bar span.ai{background:var(--blue)}
.estbar__legend{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:22px}
.estbar__legend p{margin:0;font-size:14.5px;line-height:1.58;color:var(--text-2)}
@media(max-width:900px){.estbar__bar{grid-template-columns:repeat(2,1fr)}.estbar__bar span:nth-child(3){border-left:0}.estbar__bar span{border-top:2px solid var(--paper-2)}.estbar__bar span:nth-child(-n+2){border-top:0}.estbar__legend{grid-template-columns:repeat(2,1fr)}}
/* FDE deep page: five-discipline talent ledger (display-scale rows) */
.fivebar{list-style:none;margin:0;padding:0}
.fivebar li{display:flex;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--line);font:700 clamp(20px,2.3vw,30px)/1.15 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--text)}
.fivebar li::before{content:"";width:12px;height:12px;background:var(--blue);flex:none}
.fivebar li:first-child{border-top:0;padding-top:4px}

/* FDE deep page: engagement doors (three-option grid) */
.doorx{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.doorx__card{background:#FFF;border:1px solid var(--line);border-radius:3px;padding:28px 30px 30px}
.doorx__card b{display:block;font:700 13.5px/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text)}
.doorx__card b::before{content:"";display:inline-block;width:10px;height:2px;background:var(--text);margin-right:12px;vertical-align:4px}
.doorx__card p{margin:12px 0 0;font-size:15.5px;line-height:1.62;color:var(--text-2)}
.doorx--two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.doorx,.doorx--two{grid-template-columns:1fr}}

/* FDE deep page: operating-model spine chart (ink band, no boxes) */
.orgmap{margin-top:0}
.orgmap__row{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.orgmap__fn{max-width:300px;margin:0 auto;text-align:center}
.orgmap__fn b{display:block;font:700 12.5px/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#FFF}
.orgmap__fn b::before{content:"";display:inline-block;width:5px;height:5px;background:var(--blue-glow);margin-right:9px;vertical-align:1px}
.orgmap__fn p{margin:9px 0 0;font-size:14.5px;line-height:1.58;color:#A9B2C0}
.orgmap__stems{display:grid;grid-template-columns:repeat(3,1fr)}
.orgmap__stems i{display:block;width:2px;height:40px;background:#3A4252;margin:10px auto}
.orgmap__bar{border:1px solid #3A4252;background:#131824;border-radius:3px;padding:30px 36px;text-align:center}
.orgmap__bar h3{margin:0;font:600 clamp(21px,2.3vw,28px)/1.3 var(--grot);color:#FFF;text-transform:none;letter-spacing:0}
.orgmap__bar p{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:#A9B2C0}
.orgmap__row--two{grid-template-columns:repeat(2,1fr)}
.orgmap__stems--two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){
  .orgmap__row{grid-template-columns:1fr;gap:22px}
  .orgmap__stems{display:none}
  .orgmap__row--top{margin-bottom:22px}
  .orgmap__row--btm{margin-top:22px}
}

/* FDE deep page: typographic row lists (use-case wall, engagement doors) */
.tlist{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.tlist--solo{grid-template-columns:1fr}
.tlist__row{padding:26px 0 28px;border-top:1px solid var(--line)}
.tlist__row:first-child{border-top:0;padding-top:0}
.tlist:not(.tlist--solo) .tlist__row:nth-child(2){border-top:0;padding-top:0}
@media(max-width:900px){.tlist:not(.tlist--solo) .tlist__row:nth-child(2){border-top:1px solid var(--line);padding-top:26px}}
.tlist__row b{display:block;font:700 13.5px/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text)}
.tlist__row b::before{content:"";display:inline-block;width:10px;height:2px;background:var(--text);margin-right:12px;vertical-align:4px}
.tlist__row p{margin:10px 0 0 22px;font-size:16.5px;line-height:1.62;color:var(--text-2);max-width:56ch}
@media(max-width:900px){.tlist{grid-template-columns:1fr;column-gap:0}}

/* FDE deep page: top-aligned splits, review-packet plate, keyed dash lists */
.svc-split--start{align-items:start}
.svcled__list b{color:var(--text);font-weight:600}
.packet{background:var(--blue-wash);border:1px solid var(--tint-blue);border-radius:3px;padding:clamp(26px,3vw,40px)}
.packet__ttl{display:block;font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep)}
.packet .svcled__list{margin-top:26px;gap:15px}
.packet .svcled__list li{font-size:15.5px}
/* outcomes argument band (services): the four commitments, unboxed and unmerged.
   No header: scale and the blue-lit promise clauses carry the section. */
.ns-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 64px}
.ns-item p{margin:0;font:600 clamp(22px,2.5vw,29px)/1.4 var(--grot);color:#FFF;text-wrap:balance}
.ns-item em{font-style:normal;color:var(--blue-glow)}
/* annotation strip (canon §5c): LABEL → item → item */
.astrip{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;font:700 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.astrip .astrip__lbl{color:var(--text-3)}
.astrip svg{width:18px;height:8px;flex:none;color:var(--line-d)}
@media(max-width:900px){
.svcmx{display:block}
.ns-grid{grid-template-columns:1fr;gap:28px}
.svcmx__corner,.svcmx__lane{display:none}
.svcmx__row,.svcmx__cell{border-top:1px solid var(--line)}
.svcmx__tag{display:block;margin-bottom:8px;font:700 10.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
}
@media(prefers-reduced-motion:reduce){.home-reasoning__step,.home-reasoning__step::after,.home-reasoning__detail,.home-reasoning__highlight{transition:none}.home-reasoning__step.is-active .home-reasoning__fa--sparkles,.home-reasoning__step.is-active .home-reasoning__label,.home-reasoning__step.is-active .home-reasoning__cursor{animation:none}.home-reasoning__step:not(.home-reasoning__step--final).is-active .home-reasoning__label{background:none;color:var(--text-2);-webkit-text-fill-color:currentColor}.home-reasoning__step.is-active .home-reasoning__cursor{opacity:1}}
