/* PR and Authority v12.html styles, fix pass E. Every stylesheet and head style block of the page in its original order, in one render-blocking file (same cascade). Rebuild from the page sources when a shared file changes. */
/* ==== site-shell-v7.css ==== */
/* Site shell v7 (forked from v6): adds the For Agencies panel and the Agencies sheet segment. Site shell v6 (forked from v5): Services and Industries mega panels (desktop), full-screen menu sheet (mobile). Injected by site-shell-v6.js.
   v6-only rules use .mx6 / .mx6-sheet so they win if a page also loads the v5 sheet. */
.nav-inner{position:relative}
.nav-links>.nav-dd.mx-on{position:static}
.mx-panel{position:absolute;left:0;right:0;top:100%;z-index:120;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;pointer-events:none}
.nav-dd.mx-on:hover:not(.is-closed) .mx-panel,.nav-dd.mx-on:focus-within:not(.is-closed) .mx-panel,.nav-dd.mx-on.is-open .mx-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .18s ease,transform .18s ease,visibility 0s}
.nav-dd.mx-on:hover:not(.is-closed)>a .nav-dd-caret,.nav-dd.mx-on:focus-within:not(.is-closed)>a .nav-dd-caret{transform:rotate(180deg)}
.mx-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,264px);gap:4px;padding:12px;border:1px solid var(--border-strong,#323944);border-radius:14px;background:rgba(9,13,24,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 28px 70px rgba(0,0,0,.5)}
.mx-col{min-width:0;padding:8px 4px}
.mx-h{margin:0 8px 6px;padding:2px 0 10px;border-bottom:1px solid var(--border-2,#232935);font:500 11px/1.2 var(--font-mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3,#8C98AB)}
.mx-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.nav .mx-panel a.mx-it{display:flex;align-items:flex-start;gap:11px;min-height:44px;padding:8px;border-radius:8px;color:var(--fg-1);text-decoration:none;box-shadow:none!important;white-space:normal;font-size:inherit}
.nav .mx-panel a.mx-it:hover,.nav .mx-panel a.mx-it:focus-visible{background:rgba(127,140,160,.12);padding-bottom:8px}
.nav .mx-panel a.mx-it:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}
.mx-ico{width:32px;height:32px;flex:none;display:grid;place-items:center;border:1px solid var(--border-2,#232935);border-radius:8px;background:rgba(58,160,210,.08);color:var(--signal);transition:border-color .18s ease,background .18s ease}
.mx-ico svg{width:17px;height:17px}
.mx-it:hover .mx-ico{border-color:var(--signal);background:rgba(58,160,210,.16)}
.mx-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.mx-tx b{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:600 13.5px/1.25 var(--font-sans);color:var(--fg-1);letter-spacing:-.005em}
.mx-tx small{font:400 12px/1.35 var(--font-sans);color:var(--fg-3)}
.mx-it[aria-current="page"] b{color:var(--signal)}
.mx-new{font:600 9.5px/1 var(--font-mono,monospace);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#05131D;background:var(--brand-sun,#F5B83D);padding:3px 5px;border-radius:4px}
.mx-feat{display:flex;flex-direction:column;gap:12px;margin:4px;padding:18px;border:1px solid var(--border-2,#232935);border-radius:10px;background:linear-gradient(180deg,rgba(58,160,210,.12),rgba(58,160,210,.02) 70%)}
.mx-feat .mx-h{margin:0;border:0;padding:0}
.mx-feat h3{margin:0;font:800 19px/1.08 var(--font-display);letter-spacing:-.025em;text-transform:uppercase;color:var(--fg-1)}
.mx-feat p{margin:0;font-size:13px;line-height:1.5;color:var(--fg-2)}
.mx-cap{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 10px;border:1px solid var(--border-strong);border-radius:999px;font:500 11.5px/1.3 var(--font-mono,monospace);color:var(--fg-1)}
.mx-cap i{width:7px;height:7px;flex:none;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 3px rgba(61,220,151,.18)}
.mx-cap.is-last i{background:var(--brand-sun,#F5B83D);box-shadow:0 0 0 3px rgba(245,184,61,.2)}
.mx-cap.is-full i{background:#8C98AB;box-shadow:none}
.nav .mx-panel a.mx-book{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:auto;padding:12px 14px;border-radius:var(--radius-sm,8px);background:var(--signal);color:#05131D;font-weight:600;font-size:13.5px;box-shadow:none!important;text-decoration:none}
.nav .mx-panel a.mx-book:hover{background:var(--blue-300,#7FC4EA);padding-bottom:12px}
.nav .mx-panel a.mx-book svg,.mx-sheet .mx-book svg{width:14px;height:14px}
.nav .mx-panel a.mx-all{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--fg-2);box-shadow:none!important;padding:0}
.nav .mx-panel a.mx-all:hover{color:var(--fg-1);padding-bottom:0}
@media (max-width:1280px){.mx-in{grid-template-columns:repeat(4,minmax(0,1fr)) 210px}.mx-tx small{font-size:11.5px}.mx-feat{padding:14px}}
[data-theme="light"] .mx-in{background:rgba(250,252,254,.98);box-shadow:0 28px 70px rgba(12,20,36,.16)}

/* mobile sheet */
.mx-sheet{position:fixed;inset:0;z-index:400;display:flex;flex-direction:column;background:rgba(7,9,13,.985);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--fg-1);font-family:var(--font-sans)}
.mx-sheet[hidden]{display:none}
.mx-sh-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(16px,5vw,28px);border-bottom:1px solid var(--border-2)}
.mx-sh-top img{height:52px;width:auto;display:block}
.mx-x{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm,8px);background:transparent;color:var(--fg-1);cursor:pointer}
.mx-x svg{width:18px;height:18px}
.mx-sh-body{flex:1;overflow-y:auto;overscroll-behavior:contain;width:100%;max-width:640px;margin:0 auto;padding:16px clamp(16px,5vw,28px) 20px;display:flex;flex-direction:column;gap:16px}
.mx-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:12px;background:rgba(255,255,255,.02)}
.mx-seg button{min-height:44px;padding:0 4px;border:0;border-radius:8px;background:transparent;color:var(--fg-2);font:600 13px/1 var(--font-sans);cursor:pointer;transition:background .18s ease,color .18s ease}
.mx-seg button[aria-selected="true"]{background:var(--signal);color:#05131D}
.mx-seg button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.mx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mx-tile{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:84px;padding:12px;border:1px solid var(--border-2);border-radius:10px;background:rgba(255,255,255,.025);color:var(--fg-1);text-decoration:none;font:600 13.5px/1.25 var(--font-sans);animation:mxIn .32s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 35ms)}
.mx-tile .mx-ico{width:30px;height:30px}
.mx-tile span.mx-nm{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.mx-tile[aria-current="page"]{border-color:var(--signal)}
.mx-tile:active{background:rgba(58,160,210,.12)}
@keyframes mxIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mx-sheet a.mx-all{display:inline-flex;align-items:center;gap:8px;min-height:44px;align-self:flex-start;color:var(--fg-2);font-size:14px;text-decoration:none}
.mx-sheet a.mx-all svg{width:14px;height:14px}
.mx-lbl{margin:0 0 -6px;font:500 11px/1 var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.mx-chips{display:flex;flex-wrap:wrap;gap:8px}
.mx-chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--border-strong);border-radius:999px;color:var(--fg-1);text-decoration:none;font:500 14px/1 var(--font-sans)}
.mx-chips a[aria-current="page"]{border-color:var(--signal);color:var(--signal)}
.mx-util{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px}
.mx-langs{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm,8px);overflow:hidden}
.mx-langs button{min-width:52px;min-height:44px;border:0;border-right:1px solid var(--border-strong);background:transparent;color:var(--fg-3);font:500 12px/1 var(--font-mono,monospace);letter-spacing:.1em;cursor:pointer}
.mx-langs button:last-child{border-right:0}
.mx-langs button.is-on{background:rgba(58,160,210,.14);color:var(--signal)}
.mx-theme{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm,8px);background:transparent;color:var(--fg-1);font:500 14px/1 var(--font-sans);cursor:pointer}
.mx-theme svg{width:16px;height:16px}
.mx-sh-foot{display:flex;gap:8px;width:100%;max-width:640px;margin:0 auto;padding:12px clamp(16px,5vw,28px) calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-2)}
.mx-sheet a.mx-book{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:10px;background:var(--signal);color:#05131D;font:600 15px/1 var(--font-sans);text-decoration:none}
.mx-sheet a.mx-wa{width:52px;min-height:52px;flex:none;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:10px;color:var(--fg-1)}
.mx-sheet a.mx-wa svg{width:20px;height:20px}
[data-theme="light"] .mx-sheet{background:rgba(250,252,254,.99)}
[data-theme="light"] .mx-tile,[data-theme="light"] .mx-seg{background:#fff}
@media (prefers-reduced-motion:reduce){.mx-panel,.mx-tile,.mx-seg button{transition:none!important;animation:none!important}}

/* ===== v6 ===== */
.nav-links .nav-ind{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--fg-2);font:500 14px/inherit var(--font-sans);cursor:pointer;transition:color var(--dur-base,.2s) var(--ease-out,ease)}
.nav-links .nav-ind:hover,.nav-links .nav-ind.is-active{color:var(--fg-1);box-shadow:inset 0 -2px 0 var(--brand-sun);padding-bottom:2px}
.nav-links .nav-ind.is-active{color:var(--signal)}
.nav-links .nav-ind:focus-visible{outline:2px solid var(--signal);outline-offset:4px;border-radius:4px}
.nav-ind .nav-dd-caret{width:10px;height:10px;transition:transform .18s ease}
.nav-dd.mx6:hover:not(.is-closed)>.nav-ind .nav-dd-caret,.nav-dd.mx6:focus-within:not(.is-closed)>.nav-ind .nav-dd-caret{transform:rotate(180deg)}
.nav-dd.mx6 .mx-in.mx-in--svc{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(240px,280px)}
.nav-dd.mx6 .mx-in.mx-in--ind{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);max-width:860px}
.nav-dd.mx6 .mx-in--ind .mx-col ul{gap:4px}
.nav-dd.mx6 .mx-in--ind a.mx-it{padding:12px 10px}
.nav-dd.mx6 .mx-in--ind .mx-tx b{font-size:14.5px}
.nav-dd.mx6 .mx-in--ind .mx-tx small{font-size:12.5px}
.nav-dd.mx6 .mx-feat--ind{background:linear-gradient(180deg,rgba(245,184,61,.12),rgba(245,184,61,.02) 70%)}
@media (max-width:1280px){.nav-dd.mx6 .mx-in.mx-in--svc{grid-template-columns:repeat(3,minmax(0,1fr)) 220px}}
.mx6-sheet .mx6-lbls{display:grid;grid-template-columns:3fr 1fr;gap:12px;margin:0 0 -8px;padding:0 6px;font:500 11px/1 var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.mx6-sheet .mx6-lbls span+span{text-align:center}
.mx6-sheet .mx-seg.mx6-seg{grid-template-columns:repeat(3,minmax(0,1fr)) 1px minmax(0,1.15fr)}
.mx6-sheet .mx6-seg button.is-ind{grid-column:5;position:relative}
.mx6-sheet .mx6-seg::after{content:"";grid-column:4;grid-row:1;align-self:stretch;margin:6px 0;background:var(--border-strong)}
.mx6-sheet .mx-grid.is-ind{grid-template-columns:1fr}
.mx6-sheet .mx-tile--wide{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;min-height:72px}
.mx6-sheet .mx-tile--wide .mx-nm{flex-direction:column;align-items:flex-start;gap:4px}
.mx6-sheet .mx-tile--wide small{font:400 12.5px/1.35 var(--font-sans);color:var(--fg-3)}

/* ===== v7 ===== */
.nav-dd.mx6 .mx-in.mx-in--agn{grid-template-columns:minmax(0,1fr) minmax(260px,300px);max-width:980px;margin-left:auto}
.mx-agn-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px!important}
.nav-dd.mx6 .mx-in--agn a.mx-it{padding:11px 10px}
.nav-dd.mx6 .mx-feat--agn{background:linear-gradient(180deg,rgba(255,92,122,.13),rgba(255,92,122,.02) 70%)}
.nav .mx-panel a.mx-all.mx-tel{min-height:30px;margin-top:-6px;font-family:var(--font-mono,monospace);font-size:12px;color:var(--fg-3)}
/* 9 header items since the For Agencies tab: the phone collapses to its icon (number stays in the For Agencies panel and the aria-label) below 1460 */
@media (min-width:1081px) and (max-width:1460px){.nav-tools .ck-phone .num{display:none!important}.nav-tools .ck-phone{width:auto!important;padding-left:4px!important;padding-right:4px!important}}
@media (min-width:1361px) and (max-width:1460px){.nav-inner{gap:20px!important}.nav-links{gap:18px!important}.nav-links a,.nav-links .nav-ind{font-size:13.5px!important}.nav-auth span{display:none!important}.nav-logo .logo-img{height:76px!important}}
@media (min-width:1081px) and (max-width:1360px){.nav-inner{gap:16px!important}.nav-links{gap:15px!important}.nav-links a,.nav-links .nav-ind{font-size:13px!important}.nav .nav-cta{display:none!important}.nav-auth span{display:none!important}.nav-tools .lang-switch{display:none!important}.nav-logo .logo-img{height:64px!important}.nav-links>li:first-child{display:none!important}}
@media (min-width:1081px) and (max-width:1220px){.nav-links{gap:12px!important}.nav-links a,.nav-links .nav-ind{font-size:12.5px!important}.nav-logo .logo-img{height:56px!important}.nav-tools .nav-auth{display:none!important}}
.mx7-sheet,.mx6-sheet .mx-seg.mx7-seg{grid-template-columns:repeat(3,minmax(0,1fr)) 1px minmax(0,1.15fr) minmax(0,1.05fr)}
.mx6-sheet .mx7-seg button{font-size:12.5px;padding:0 2px}
.mx6-sheet .mx7-seg button.is-agn{grid-column:6}
.mx6-sheet .mx6-lbls.mx7-lbls{grid-template-columns:repeat(3,minmax(0,1fr)) 1px minmax(0,1.15fr) minmax(0,1.05fr);gap:4px;padding:0 4px}
.mx6-sheet .mx7-lbls span:first-child{grid-column:1/4}
.mx6-sheet .mx7-lbls span:nth-child(2){grid-column:5;text-align:center}
.mx6-sheet .mx7-lbls span:nth-child(3){grid-column:6;text-align:center}
.mx6-sheet .mx7-seg button.is-agn[aria-selected="true"]{background:#FF5C7A;color:#1A0610}

/* ==== inline style #fixD-shell ==== */
/* fix pass D: header rules the shell adds, present from first paint so the header never jumps */a[href*="Sign In"],a[href*="Sign%20In"],a[aria-label="Sign in"]{display:none !important}.lang-switch{overflow:visible}.lang-switch button{position:relative}.lang-switch button:first-child{border-radius:var(--radius-sm,8px) 0 0 var(--radius-sm,8px)}.lang-switch button:last-child{border-radius:0 var(--radius-sm,8px) var(--radius-sm,8px) 0}.theme-toggle,.nav-auth,.nav-burger,.nav-tools .ck-phone{position:relative}.lang-switch button::after,.theme-toggle::after,.nav-auth::after,.nav-burger::after,.nav-tools .ck-phone::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.mx-panel{opacity:0;visibility:hidden}.mx-sheet[hidden]{display:none}.nav-links a.nav-hot{position:relative}.sh-hot{position:relative;display:inline-block;width:8px;height:11px;margin-left:3px;vertical-align:super;line-height:0;pointer-events:none}.nav-hot > .sh-hot{position:absolute;top:-6px;left:calc(100% + 1px);margin:0;vertical-align:baseline}.sh-hot svg{position:absolute;display:block;overflow:visible}.sh-flame{left:0;top:0;width:8px;height:11px;filter:drop-shadow(0 0 4px rgba(252,185,19,.55));transform-origin:50% 100%;animation:shFlick 1.6s ease-in-out infinite}.sh-spark{left:7px;top:-3px;width:5px;height:5px;opacity:0;transform-origin:50% 50%;animation:shTwink 2.8s ease-in-out infinite .4s}.mx-tile .sh-hot,.mx-it .sh-hot{width:7px;height:10px;margin-left:5px;vertical-align:2px}.mx-tile .sh-flame,.mx-it .sh-flame{width:7px;height:10px}.nav-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes shFlick{0%,100%{transform:scale(.95)}50%{transform:scale(1.05)}}@keyframes shTwink{0%,55%,100%{opacity:0;transform:scale(.4) rotate(0)}70%{opacity:1;transform:scale(1) rotate(45deg)}85%{opacity:0;transform:scale(.5) rotate(90deg)}}@media (prefers-reduced-motion:reduce){.sh-flame{animation:none}.sh-spark{display:none}}
/* ==== tokens-v2.css ==== */
/* ============================================================
   OUNTERNET — Colors & Type
   Design system tokens for ounternet.agency and ounternet.io
   Brand heritage: Lochmara blue, Green Haze, Sun (from 2015 brand book)
   2026 refresh: engineered, data-dense, AI-native, dark-first
   ============================================================ */

:root {
  /* ---------- BRAND HERITAGE (from 2015 brand book) ---------- */
  --brand-lochmara:      #0080C3;   /* primary blue */
  --brand-lochmara-dark: #016095;
  --brand-green-haze:    #00A551;   /* secondary — use sparingly */
  --brand-green-dark:    #007E3B;
  --brand-sun:           #FCB913;   /* accent — use sparingly */
  --brand-sun-dark:      #B8890D;

  /* ---------- CORE PALETTE (2026 refresh) ---------- */
  /* Desaturated, technical extensions of Lochmara */
  --blue-50:   #EBF6FC;
  --blue-100:  #D2EAF6;
  --blue-200:  #A6D5ED;
  --blue-300:  #6FBBE0;
  --blue-400:  #3AA0D2;
  --blue-500:  #0080C3;  /* = Lochmara */
  --blue-600:  #016095;
  --blue-700:  #064A74;
  --blue-800:  #0A3955;
  --blue-900:  #0B2838;
  --blue-950:  #071A27;

  /* Near-neutral ink — slightly blue-biased so it reads engineered */
  --ink-0:     #FFFFFF;
  --ink-50:    #F7F8FA;
  --ink-100:   #EEF0F3;
  --ink-200:   #DDE1E7;
  --ink-300:   #C2C8D1;
  --ink-400:   #8E95A1;
  --ink-500:   #6B7280;
  --ink-600:   #4A5260;
  --ink-700:   #323944;
  --ink-800:   #1F242C;
  --ink-900:   #12151B;
  --ink-950:   #0A0C11;

  /* Semantic color */
  --success:   #00A551;  /* Green Haze */
  --warning:   #FCB913;  /* Sun */
  --danger:    #D64545;
  --info:      #0080C3;

  /* ---------- SEMANTIC TOKENS — LIGHT ---------- */
  --bg:             var(--ink-0);
  --bg-subtle:      var(--ink-50);
  --bg-muted:       var(--ink-100);
  --bg-inverse:     var(--ink-950);

  --surface:        var(--ink-0);
  --surface-raised: var(--ink-0);
  --surface-sunken: var(--ink-50);

  --fg-1:           var(--ink-950);   /* primary text */
  --fg-2:           var(--ink-700);   /* secondary text */
  --fg-3:           var(--ink-500);   /* tertiary / meta */
  --fg-4:           var(--ink-400);   /* disabled / placeholder */
  --fg-inverse:     var(--ink-0);
  --dim:            #74839D;          /* AA-safe dim meta text, 5.04:1 on dark bg */

  --border-1:       var(--ink-200);   /* default border */
  --border-2:       var(--ink-100);   /* subtle dividers */
  --border-strong:  var(--ink-300);
  --border-focus:   var(--blue-500);

  --accent:         var(--blue-500);
  --accent-hover:   var(--blue-600);
  --accent-press:   var(--blue-700);
  --accent-soft:    var(--blue-50);
  --accent-fg:      var(--ink-0);     /* text on accent bg */

  /* ---------- TYPOGRAPHY ---------- */
  /* Display: Satoshi (Fontshare). Body: Instrument Sans. Per build spec §02. */
  --font-display: "Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-sans:    "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  /* Yellow = structural third colour: highlights, underlines, tags, hover ticks.
     Green = verified metrics ONLY (never status dots, never decoration). */
  --structural:   var(--brand-sun);
  --verified:     var(--brand-green-haze);
  --font-mono:    "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Scale — 1.2 minor-third, tightened at display end */
  --fs-xs:   12px;
  --fs-sm:   13px;
  --fs-base: 15px;
  --fs-md:   17px;
  --fs-lg:   20px;
  --fs-xl:   24px;
  --fs-2xl:  32px;
  --fs-3xl:  44px;
  --fs-4xl:  60px;
  --fs-5xl:  80px;
  --fs-6xl:  112px;

  /* Line heights */
  --lh-tight:  1.05;
  --lh-snug:   1.2;
  --lh-normal: 1.45;
  --lh-relaxed:1.6;

  /* Weights */
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semibold:600;
  --fw-bold:    700;

  /* Letter-spacing — tight for display, open for eyebrow/caps */
  --tracking-tight:  -0.02em;
  --tracking-tighter:-0.035em;
  --tracking-normal: 0;
  --tracking-wide:   0.06em;
  --tracking-caps:   0.12em;

  /* ---------- SPACING (4px base) ---------- */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;
  --space-32:128px;

  /* ---------- RADII ---------- */
  /* Kept small/tight — engineered, not friendly-blob */
  --radius-xs:  2px;
  --radius-sm:  4px;
  --radius-md:  6px;
  --radius-lg:  10px;
  --radius-xl:  14px;
  --radius-2xl: 20px;
  --radius-full: 9999px;

  /* ---------- ELEVATION ---------- */
  /* Restrained; prefer borders over shadows on light surfaces */
  --shadow-xs: 0 1px 2px rgba(10, 12, 17, 0.04);
  --shadow-sm: 0 1px 2px rgba(10, 12, 17, 0.06), 0 1px 3px rgba(10, 12, 17, 0.04);
  --shadow-md: 0 4px 8px -2px rgba(10, 12, 17, 0.06), 0 2px 4px -2px rgba(10, 12, 17, 0.04);
  --shadow-lg: 0 12px 24px -8px rgba(10, 12, 17, 0.10), 0 4px 8px -4px rgba(10, 12, 17, 0.06);
  --shadow-xl: 0 24px 48px -12px rgba(10, 12, 17, 0.18);

  /* Inner/focus */
  --ring-focus: 0 0 0 3px rgba(0, 128, 195, 0.28);
  --inset-line: inset 0 0 0 1px rgba(10, 12, 17, 0.06);

  /* ---------- MOTION ---------- */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --dur-fast:   120ms;
  --dur-base:   200ms;
  --dur-slow:   360ms;

  /* ---------- LAYOUT ---------- */
  --container-max: 1280px;
  --container-pad: clamp(20px, 4vw, 48px);
  --grid-gutter:   24px;
}

/* ---------- DARK THEME ---------- */
/* This is the PRIMARY context for the 2026 refresh. Most surfaces
   in the agency/io sites ship dark by default. */
[data-theme="dark"], .theme-dark {
  --bg:             var(--ink-950);
  --bg-subtle:      #0D1017;
  --bg-muted:       #141821;
  --bg-inverse:     var(--ink-0);

  --surface:        #0F131A;
  --surface-raised: #161B24;
  --surface-sunken: #0A0C11;

  --fg-1:           #F2F4F7;
  --fg-2:           #BCC3CF;
  --fg-3:           #8C94A2;
  --fg-4:           #5D6471;
  --fg-inverse:     var(--ink-950);

  --border-1:       #232935;
  --border-2:       #1A1F28;
  --border-strong:  #323944;
  --border-focus:   var(--blue-400);

  --accent:         var(--blue-400);
  --accent-hover:   var(--blue-300);
  --accent-press:   var(--blue-500);
  --accent-soft:    rgba(58, 160, 210, 0.12);
  --accent-fg:      var(--ink-950);

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 4px 8px -2px rgba(0, 0, 0, 0.55), 0 2px 4px -2px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 12px 24px -8px rgba(0, 0, 0, 0.6), 0 4px 8px -4px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 24px 48px -12px rgba(0, 0, 0, 0.7);

  --ring-focus: 0 0 0 3px rgba(58, 160, 210, 0.32);
  --inset-line: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

/* ============================================================
   SEMANTIC TYPE ROLES
   Use these on real elements, not the raw --fs-* vars.
   ============================================================ */

.t-display-xl,
.t-display-lg,
.t-display-md,
.t-display-sm,
.t-heading-xl,
.t-heading-lg,
.t-heading-md,
.t-heading-sm {
  font-family: var(--font-display);
  color: var(--fg-1);
}

.t-display-xl { font-size: var(--fs-6xl); line-height: 0.96; letter-spacing: var(--tracking-tighter); font-weight: 500; }
.t-display-lg { font-size: var(--fs-5xl); line-height: 1.00; letter-spacing: var(--tracking-tighter); font-weight: 500; }
.t-display-md { font-size: var(--fs-4xl); line-height: 1.02; letter-spacing: var(--tracking-tight);    font-weight: 500; }
.t-display-sm { font-size: var(--fs-3xl); line-height: 1.06; letter-spacing: var(--tracking-tight);    font-weight: 500; }

.t-heading-xl { font-size: var(--fs-2xl); line-height: 1.15; letter-spacing: var(--tracking-tight);    font-weight: 600; }
.t-heading-lg { font-size: var(--fs-xl);  line-height: 1.2;  letter-spacing: var(--tracking-tight);    font-weight: 600; }
.t-heading-md { font-size: var(--fs-lg);  line-height: 1.25; letter-spacing: var(--tracking-normal);   font-weight: 600; }
.t-heading-sm { font-size: var(--fs-md);  line-height: 1.3;  letter-spacing: var(--tracking-normal);   font-weight: 600; }

.t-body-lg  { font-family: var(--font-sans); font-size: var(--fs-md);   line-height: var(--lh-relaxed); color: var(--fg-2); }
.t-body     { font-family: var(--font-sans); font-size: var(--fs-base); line-height: var(--lh-normal);  color: var(--fg-2); }
.t-body-sm  { font-family: var(--font-sans); font-size: var(--fs-sm);   line-height: var(--lh-normal);  color: var(--fg-2); }

.t-label    { font-family: var(--font-sans); font-size: var(--fs-sm);   font-weight: 500; color: var(--fg-1); letter-spacing: 0; }
.t-meta     { font-family: var(--font-sans); font-size: var(--fs-xs);   color: var(--fg-3); }

.t-eyebrow  {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  color: var(--fg-3);
}

.t-mono     { font-family: var(--font-mono); font-size: var(--fs-sm); color: var(--fg-2); }
.t-code     { font-family: var(--font-mono); font-size: 0.9em; background: var(--bg-muted); padding: 2px 6px; border-radius: var(--radius-xs); color: var(--fg-1); }

/* ============================================================
   ELEMENT DEFAULTS
   ============================================================ */

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

body {
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--fg-1);
  background: var(--bg);
}

h1 { font: 500 var(--fs-4xl)/1.02 var(--font-display); letter-spacing: var(--tracking-tight); color: var(--fg-1); }
h2 { font: 500 var(--fs-3xl)/1.06 var(--font-display); letter-spacing: var(--tracking-tight); color: var(--fg-1); }
h3 { font: 600 var(--fs-2xl)/1.15 var(--font-display); letter-spacing: var(--tracking-tight); color: var(--fg-1); }
h4 { font: 600 var(--fs-xl)/1.2  var(--font-display); color: var(--fg-1); }
h5 { font: 600 var(--fs-lg)/1.25 var(--font-sans);    color: var(--fg-1); }
h6 { font: 600 var(--fs-md)/1.3  var(--font-sans);    color: var(--fg-1); }

p  { color: var(--fg-2); line-height: var(--lh-normal); }

a  { color: var(--accent); text-decoration: none; text-underline-offset: 3px; }
a:hover { text-decoration: underline; }

code, pre { font-family: var(--font-mono); }
pre { background: var(--bg-muted); padding: var(--space-4); border-radius: var(--radius-md); border: 1px solid var(--border-1); overflow-x: auto; }

hr { border: 0; border-top: 1px solid var(--border-1); }

::selection { background: var(--blue-500); color: white; }

/* ==== conversion-kit.css ==== */
/* OUNTERNET conversion kit. One stylesheet, drop into any page after tokens-v2.css.
   Uses tokens-v2 only. Signal blue for action, never green (green is reserved for verified metrics). */
:root{--ck-sig:var(--signal,#3AA0D2);--ck-sig-hover:var(--blue-300,#6FBBE0);--ck-on:#05131D;--ck-err:#FF9A8F;--ck-panel:color-mix(in srgb,var(--surface) 72%,transparent);--ck-panel-solid:var(--surface-raised)}
[data-theme="light"]{--ck-sig:#016095;--ck-sig-hover:#064A74;--ck-on:#FFFFFF;--ck-err:#B42318;--ck-panel:color-mix(in srgb,var(--surface) 88%,transparent)}
[data-ck] [hidden],.ck-overlay [hidden],.ck-demo [hidden]{display:none!important}
.ck-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ck-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ck-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-3);display:inline-flex;align-items:center;gap:10px;margin:0}
.ck-eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
.ck-eyebrow--sig{color:var(--ck-sig)}
.ck-h2{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,4.6vw,64px);line-height:.98;letter-spacing:-.035em;text-transform:uppercase;color:var(--fg-1);margin:0;text-wrap:balance}
.ck-lede{color:var(--fg-2);font-size:clamp(15px,1.2vw,17px);line-height:1.6;max-width:56ch;margin:0;text-wrap:pretty}
.ck :focus-visible,.ck-btn:focus-visible,.ck-phone:focus-visible,.ck-mbar a:focus-visible,.ck-chip:has(input:focus-visible),.ck-demo button:focus-visible{outline:2px solid var(--ck-sig);outline-offset:3px}

/* Buttons */
.ck-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 22px;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);text-align:center}
body[style*="cursor: none"] .ck-btn,body.ck-nocursor .ck-btn{cursor:none}
.ck-btn:hover{text-decoration:none}
.ck-btn--primary{background:var(--ck-sig);border-color:var(--ck-sig);color:var(--ck-on)}
.ck-btn--primary:hover{background:var(--ck-sig-hover);border-color:var(--ck-sig-hover);color:var(--ck-on)}
.ck-btn--ghost{background:transparent;border-color:var(--border-strong);color:var(--fg-1)}
.ck-btn--ghost:hover{border-color:var(--fg-1);color:var(--fg-1)}
.ck-btn--link{background:none;border:0;padding:12px 2px;color:var(--ck-sig);text-decoration:underline;text-underline-offset:4px;min-height:44px;font-weight:500}
.ck-btn--link:hover{color:var(--fg-1)}
.ck-btn[disabled]{opacity:.7;cursor:progress}
.ck-btn svg{width:16px;height:16px;flex:none}
.ck-wa-ico{width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:url("/assets/si/whatsapp.svg") center/contain no-repeat;mask:url("/assets/si/whatsapp.svg") center/contain no-repeat}
.ck-spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ckspin .8s linear infinite;flex:none}
@keyframes ckspin{to{transform:rotate(360deg)}}
.ck-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* C3 + C4: capacity pill, one-line note, trust row. No box; sits under the CTA row and never wider than it. */
.ck-under{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;min-width:0}
.ck-capacity{display:inline-flex;align-items:center;gap:9px;height:36px;margin:0;padding:0 16px 0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(10,14,26,.55);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);font-family:var(--font-sans);font-size:13.5px;font-weight:500;line-height:1;color:#EEF2F8;white-space:nowrap}
.ck-cap-dot{position:relative;width:7px;height:7px;border-radius:50%;background:#2DD4BF;flex:none}
.ck-cap-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#2DD4BF;opacity:.55;animation:ckpulse 2.4s ease-out infinite}
@keyframes ckpulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.6);opacity:0}}
.ck-cap-note{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.45;color:rgba(255,255,255,.72);text-wrap:pretty;text-shadow:0 1px 2px rgba(5,7,11,.55)}
.ck-trust-wrap{overflow:hidden;max-width:100%}
.ck-trust{list-style:none;margin:0 0 0 -11px;padding:0;display:flex;flex-wrap:wrap;row-gap:6px;font-family:var(--font-sans);font-size:13px;line-height:1.3;color:rgba(255,255,255,.78);text-shadow:0 1px 2px rgba(5,7,11,.55)}
.ck-trust li{display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-left:1px solid rgba(255,255,255,.22);white-space:nowrap}
.ck-tick{width:13px;height:13px;flex:none;color:#2DD4BF}
[data-theme="light"] .ck-capacity{background:rgba(255,255,255,.78);border-color:rgba(10,14,26,.1);color:var(--fg-1)}
[data-theme="light"] .ck-cap-note{color:var(--fg-2);text-shadow:none}
[data-theme="light"] .ck-trust{color:var(--fg-2);text-shadow:none}
[data-theme="light"] .ck-trust li{border-left-color:var(--border-strong)}
[data-theme="light"] .ck-tick{color:#0F8F80}
/* Off-photo placements (final CTA band, Apply aside, Contact): same shape, token colours */
.ck-final .ck-cap-note,.ck-aside .ck-cap-note{color:var(--fg-2);text-shadow:none}
.ck-final .ck-trust,.ck-aside .ck-trust{color:var(--fg-2);text-shadow:none}
.ck-final .ck-capacity,.ck-aside .ck-capacity{background:color-mix(in srgb,var(--surface) 70%,transparent);border-color:var(--border-1);color:var(--fg-1)}
/* Over photography (page heroes): a feathered, borderless dark halo keeps every glyph at 4.5:1 or better,
   even over the brightest pixel of the image. It reads as shade, not a box. */
.hero .ck-under,.ck-on-photo .ck-under{position:relative;isolation:isolate}
.hero .ck-under::before,.ck-on-photo .ck-under::before{content:"";position:absolute;inset:-44px -56px -44px -52px;z-index:-1;background:rgba(5,7,11,.8);filter:blur(22px);border-radius:48px;pointer-events:none}
[data-theme="light"] .hero .ck-under::before,[data-theme="light"] .ck-on-photo .ck-under::before{background:rgba(255,255,255,.84)}
@media (prefers-reduced-motion:reduce){.ck-cap-dot::after{animation:none;opacity:0}}

/* Panels (C2, forms, dialogs) */
.ck-panel{border:1px solid var(--border-1);background:var(--ck-panel);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-radius:var(--radius-md);padding:clamp(20px,2.6vw,32px)}
/* C2 call deliverable card */
.ck-deliver h2,.ck-deliver h3{font-family:var(--font-display);font-weight:700;font-size:clamp(20px,1.8vw,24px);letter-spacing:-.02em;line-height:1.15;color:var(--fg-1);margin:0 0 18px}
.ck-deliver ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:ckd}
.ck-deliver li{counter-increment:ckd;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;color:var(--fg-2);font-size:15px;line-height:1.55}
.ck-deliver li::before{content:counter(ckd,decimal-leading-zero);font-family:var(--font-mono);font-size:11px;color:var(--ck-sig);padding-top:4px}
.ck-deliver li b{color:var(--fg-1);font-weight:600}
.ck-deliver-foot{margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--border-1);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}

/* Form fields */
.ck-form{display:flex;flex-direction:column;gap:18px}
.ck-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;align-items:start}
.ck-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ck-field>label,.ck-label{font-size:14px;font-weight:600;color:var(--fg-1)}
.ck-label .opt,.ck-field>label .opt{font-weight:400;color:var(--fg-3)}
.ck-input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--fg-1);font-family:var(--font-sans);font-size:16px;line-height:1.4}
textarea.ck-input{min-height:96px;resize:vertical}
.ck-input:focus{outline:none;border-color:var(--ck-sig);box-shadow:var(--ring-focus)}
.ck-input[aria-invalid="true"]{border-color:var(--ck-err)}
.ck-input:disabled{opacity:.5}
.ck-help{margin:0;font-size:13px;line-height:1.5;color:var(--fg-3)}
.ck-err{margin:0;font-size:13px;line-height:1.45;color:var(--ck-err);font-weight:500;display:flex;gap:6px}
.ck-err::before{content:"!";font-family:var(--font-mono);font-weight:700}
.ck-err[hidden]{display:none}
.ck-count{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);align-self:flex-end}
.ck-check{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:var(--fg-2);cursor:pointer}
.ck-check input{width:20px;height:20px;accent-color:var(--ck-sig);margin:0;flex:none}
.ck-consent{margin:0;font-size:12.5px;line-height:1.5;color:var(--fg-3)}
.ck-consent a{color:var(--fg-2);text-decoration:underline}
.ck-submit-row{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ck-alert{border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:16px 18px;display:flex;flex-direction:column;gap:12px;font-size:14.5px;line-height:1.5;color:var(--fg-1);background:var(--surface-sunken)}
.ck-alert[hidden]{display:none}
.ck-alert--err{border-color:var(--ck-err)}
.ck-alert--ok{border-color:var(--ck-sig)}
.ck-alert p{margin:0;color:var(--fg-1)}

/* Chips: multi = buttons with aria-pressed, single = radio inputs */
.ck-chips{display:flex;flex-wrap:wrap;gap:10px}
.ck-chip{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--fg-1);font-family:var(--font-sans);font-size:15px;font-weight:500;cursor:pointer;text-align:left;transition:border-color var(--dur-fast),background var(--dur-fast)}
.ck-chip:hover{border-color:var(--fg-2)}
.ck-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ck-chip .box{width:18px;height:18px;border:1.5px solid var(--fg-3);border-radius:var(--radius-xs);flex:none;display:grid;place-items:center}
.ck-chip--radio .box{border-radius:50%}
.ck-chip[aria-pressed="true"],.ck-chip:has(input:checked){border-color:var(--ck-sig);background:color-mix(in srgb,var(--ck-sig) 12%,transparent)}
.ck-chip[aria-pressed="true"] .box,.ck-chip:has(input:checked) .box{border-color:var(--ck-sig);background:var(--ck-sig)}
.ck-chip[aria-pressed="true"] .box::after{content:"";width:9px;height:5px;border-left:2px solid var(--ck-on);border-bottom:2px solid var(--ck-on);transform:translateY(-1px) rotate(-45deg)}
.ck-chip:has(input:checked) .box::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--ck-on)}
.ck-chips--col{flex-direction:column;align-items:stretch}
@media(min-width:640px){.ck-chips--col{flex-direction:row;align-items:center}}

/* C1 application */
.ck-apply{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:960px){.ck-apply{grid-template-columns:minmax(0,1fr)}}
.ck-app{padding:clamp(20px,3vw,40px);min-height:460px;display:flex;flex-direction:column;gap:24px}
.ck-prog{display:flex;flex-direction:column;gap:10px}
.ck-prog-t{margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
.ck-prog-bar{height:3px;background:var(--border-1);border-radius:3px;overflow:hidden}
.ck-prog-bar i{display:block;height:100%;background:var(--ck-sig);transition:width var(--dur-slow) var(--ease-out)}
.ck-step{display:flex;flex-direction:column;gap:18px}
.ck-step[hidden]{display:none}
.ck-step-h{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1.12;letter-spacing:-.025em;color:var(--fg-1);margin:0;text-wrap:balance}
.ck-step-h:focus{outline:none}
.ck-step-h:focus-visible{outline:2px solid var(--ck-sig);outline-offset:6px}
.ck-step-h .opt{font-weight:500;color:var(--fg-3);font-size:.7em;letter-spacing:0}
.ck-app-nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:auto;padding-top:8px}
.ck-app-nav .ck-btn--primary{min-width:160px}
.ck-screen{display:flex;flex-direction:column;gap:18px}
.ck-screen[hidden]{display:none}
.ck-proc{display:flex;align-items:center;gap:14px;font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);font-weight:700;color:var(--fg-1)}
.ck-proc .ck-spin{width:24px;height:24px}
.ck-cal{border:1px solid var(--border-1);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-sunken)}
.ck-cal iframe{display:block;width:100%;height:680px;border:0}
.ck-cal-empty{padding:28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}
.ck-cal-empty .t{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--fg-1);margin:0}
.ck-cal-empty p{margin:0;color:var(--fg-2);font-size:14.5px;line-height:1.55;max-width:52ch}
.ck-aside{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px}
@media(max-width:960px){.ck-aside{position:static}}
.ck-aside .ck-under{margin-top:0;padding:0 4px}

/* C5 risk reversal */
.ck-risk{display:flex;flex-direction:column;gap:clamp(28px,4vw,48px)}
.ck-risk-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border-1)}
@media(max-width:1100px){.ck-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ck-risk-grid{grid-template-columns:minmax(0,1fr)}}
.ck-risk-grid li{padding:24px 24px 24px 0;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--border-2)}
@media(min-width:621px){.ck-risk-grid li+li{padding-left:24px;border-left:1px solid var(--border-2)}.ck-risk-grid li:nth-child(3){border-left:0;padding-left:0}}
@media(min-width:1101px){.ck-risk-grid li:nth-child(3){border-left:1px solid var(--border-2);padding-left:24px}}
.ck-risk-grid .n{font-family:var(--font-mono);font-size:11px;color:var(--ck-sig);letter-spacing:.08em}
.ck-risk-grid b{font-family:var(--font-display);font-size:18px;line-height:1.25;font-weight:700;color:var(--fg-1);letter-spacing:-.01em}
.ck-risk-grid p{margin:0;font-size:14.5px;line-height:1.55;color:var(--fg-2)}

/* C6 visibility check */
.ck-vis{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:900px){.ck-vis{grid-template-columns:minmax(0,1fr)}}
.ck-vis-copy{display:flex;flex-direction:column;gap:16px}
.ck-vis-t{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3vw,40px);line-height:1.02;letter-spacing:-.03em;text-transform:uppercase;color:var(--fg-1);margin:0;text-wrap:balance}
.ck-vis--compact{grid-template-columns:minmax(0,1fr);gap:16px}
.ck-vis--compact .ck-vis-t{font-size:clamp(20px,2vw,24px);text-transform:none;letter-spacing:-.02em;font-weight:700}

/* C7 exit intent dialog */
.ck-overlay{position:fixed;inset:0;z-index:10001;background:rgba(5,7,11,.72);display:grid;place-items:center;padding:20px}
.ck-overlay[hidden]{display:none}
.ck-dialog{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--ck-panel-solid);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:clamp(22px,3vw,32px);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:16px}
.ck-dialog h2{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.6vw,32px);text-transform:uppercase;letter-spacing:-.03em;line-height:1;margin:0;color:var(--fg-1)}
.ck-dialog h2:focus{outline:none}
.ck-dialog-close{align-self:flex-start}

/* C8 header phone */
.ck-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;justify-content:center;padding:0 8px;color:var(--fg-2);font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em;text-decoration:none;white-space:nowrap;border-radius:var(--radius-sm)}
.ck-phone:hover{color:var(--ck-sig);text-decoration:none}
.ck-phone svg{width:16px;height:16px;flex:none}
@media(max-width:1279px){.ck-phone .num{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* C9 sticky mobile bar */
.ck-mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:97;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr 1fr;border-top:1px solid var(--border-strong);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ck-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px;font-size:14px;font-weight:600;text-decoration:none;color:var(--fg-1)}
.ck-mbar .apply{background:var(--ck-sig);color:var(--ck-on)}
.ck-mbar--solo{grid-template-columns:1fr}
@media(max-width:767px){.ck-mbar{display:grid}body.ck-has-mbar{padding-bottom:calc(56px + env(safe-area-inset-bottom))}body.ck-app-open .ck-mbar{display:none}body.ck-app-open.ck-has-mbar{padding-bottom:0}}


/* C11 FAQ */
.ck-faq{max-width:860px;border-top:1px solid var(--border-1)}
.ck-faq-item{border-bottom:1px solid var(--border-1)}
.ck-faq-q{margin:0;font:inherit}
.ck-faq-q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:18px 2px;background:none;border:0;color:var(--fg-1);font-family:var(--font-display);font-weight:700;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.01em;text-align:left;cursor:pointer}
.ck-faq-q button:hover{color:var(--ck-sig)}
.ck-faq-q .ico{font-family:var(--font-mono);color:var(--ck-sig);font-size:20px;flex:none;width:20px;text-align:center}
.ck-faq-a{padding:0 2px 22px;color:var(--fg-2);font-size:15px;line-height:1.6;max-width:64ch}
.ck-faq-a p{margin:0}
.ck-faq-a[hidden]{display:none}

/* C12 testimonials */
.ck-testi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.ck-testi figure{margin:0;display:flex;flex-direction:column;gap:14px}
.ck-testi blockquote{margin:0;font-size:16.5px;line-height:1.55;color:var(--fg-1)}
.ck-testi figcaption{font-size:13px;color:var(--fg-3);display:flex;flex-direction:column;gap:3px}
.ck-testi figcaption strong{color:var(--fg-1)}
.ck-testi .res{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}

/* C13 article inline CTA */
.ck-inline{margin:40px 0;padding:clamp(20px,2.6vw,28px)}
.ck-inline-t{margin:0 0 14px;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.25;color:var(--fg-1)}
.ck-inline .ck-ctas{margin-top:14px}

/* Final CTA band */
.ck-final{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:center}
@media(max-width:960px){.ck-final{grid-template-columns:minmax(0,1fr)}}
.ck-final-copy{display:flex;flex-direction:column;gap:20px}
.ck-final .ck-h2 .sig{color:var(--ck-sig)}

/* Demo switch (review only) */
.ck-demo{position:fixed;right:16px;bottom:16px;z-index:10002;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:8px}
@media(max-width:767px){.ck-demo{bottom:calc(16px + env(safe-area-inset-bottom))}body.ck-has-mbar:not(.ck-app-open) .ck-demo{bottom:72px}}
.ck-demo>button{min-height:44px;padding:10px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--ck-panel-solid);color:var(--fg-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.ck-demo-menu{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--ck-panel-solid);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}
.ck-demo-menu[hidden]{display:none}
.ck-demo-menu button{min-height:44px;padding:8px 14px;text-align:left;background:none;border:0;border-radius:var(--radius-xs);color:var(--fg-1);font-family:var(--font-sans);font-size:14px;cursor:pointer}
.ck-demo-menu button:hover{background:var(--bg-muted)}

@media (prefers-reduced-motion:reduce){.ck-spin{animation-duration:2.4s}.ck-prog-bar i,.ck-btn,.ck-chip{transition:none}}

/* Text link: "Apply for [service]" and "Want a plan like this?" lines */
.ck-textlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:20px;color:var(--ck-sig);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ck-textlink:hover{color:var(--fg-1)}
.ck-textlink svg{width:14px;height:14px}
.ck-caseline{margin:14px 0 0;font-size:14.5px;color:var(--fg-2)}
.ck-caseline a{color:var(--ck-sig);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.ck-caseline a:hover{color:var(--fg-1)}
.ck-band{padding:clamp(64px,8vw,128px) 0;border-top:1px solid var(--border-2)}

/* Article rail */
.ck-rail{display:none}
@media(min-width:1280px){.ck-rail{display:block;position:sticky;top:104px;align-self:start}}
.ck-rail-card{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base);padding:20px}
.ck-rail-card.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.ck-rail-card .ck-inline-t{font-size:17px;margin-bottom:14px}
.ck-ctas--col{flex-direction:column;align-items:stretch}
.ck-ctas--col .ck-btn{width:100%}
@media (prefers-reduced-motion:reduce){.ck-rail-card{transition:none;transform:none}}

/* Inline CTAs inside article prose: neutralise prose heading and paragraph spacing */
.prose .ck-inline h2.ck-vis-t,.prose .ck-inline .ck-inline-t{margin:0 0 6px;font-size:clamp(20px,2vw,24px);line-height:1.2}
.prose .ck-inline p{margin:0 0 12px}
.prose .ck-inline .ck-vis{gap:12px}
.prose .ck-inline .ck-form{gap:14px}
.ck-vis-band{padding:clamp(20px,3vw,36px)}.ck-vis-band .ck-panel{border:0;background:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}

/* Auto mobile menu (pages without their own) */
.ck-mburger{display:none;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.ck-mburger span{display:block;width:18px;height:1.5px;background:var(--fg-1)}
.ck-mburger:focus-visible{outline:2px solid var(--ck-sig);outline-offset:3px}
@media(max-width:1080px){.ck-mburger{display:inline-flex}}
.ck-mmenu{position:fixed;left:0;right:0;top:84px;z-index:99;padding:16px clamp(20px,4vw,48px) 24px;background:var(--ck-panel-solid);border-bottom:1px solid var(--border-strong);display:flex;flex-direction:column;gap:16px}
.ck-mmenu[hidden]{display:none}
.ck-mmenu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ck-mmenu li a{display:flex;align-items:center;min-height:48px;color:var(--fg-1);font-size:17px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--border-2)}
.ck-mmenu li a[aria-current]{color:var(--ck-sig)}
.nav-links a[aria-current="page"],.m-menu a[aria-current="page"]{color:var(--ck-sig)}

/* ==== consent-v1.css ==== */
/* OUNTERNET consent v1: banner, preferences dialog, embed gate. Tokens from tokens-v2.css with safe fallbacks. */
.cc-banner,.cc-dlg,.cc-gate{--cc-fg:var(--fg-1,#F2F5F9);--cc-fg2:var(--fg-2,#C4CCD6);--cc-bd:var(--border-strong,#3A4250);--cc-sig:var(--ck-sig,#3AA0D2);font-family:var(--font-sans,system-ui,sans-serif);color:var(--cc-fg)}
.cc-banner{position:fixed;left:16px;bottom:16px;z-index:9990;width:min(440px,calc(100vw - 32px));padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--cc-bd);border-radius:var(--radius-md,14px);background:color-mix(in srgb,var(--surface,#11151C) 90%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 18px 50px rgba(0,0,0,.4)}
.cc-banner[hidden],.cc-dlg-wrap[hidden]{display:none!important}
.cc-title{margin:0;font-family:var(--font-display,inherit);font-weight:700;font-size:19px;letter-spacing:-.01em;line-height:1.25;color:var(--cc-fg)}
.cc-body{margin:0;font-size:15px;line-height:1.55;color:var(--cc-fg2)}
.cc-body a,.cc-links a{color:var(--cc-fg);text-decoration:underline;text-underline-offset:3px}
.cc-body a:hover,.cc-links a:hover{color:var(--cc-sig)}
.cc-links{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.cc-gpc{margin:0;padding:8px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--cc-sig) 50%,transparent);font-size:14px;line-height:1.45;color:var(--cc-fg)}
.cc-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}
.cc-btn{min-height:46px;padding:10px 12px;border:1px solid var(--cc-fg2);border-radius:var(--radius-sm,10px);background:var(--surface-sunken,rgba(255,255,255,.04));color:var(--cc-fg);font:600 14.5px/1.2 var(--font-sans,system-ui,sans-serif);cursor:pointer;transition:border-color .15s,background .15s}
.cc-btn:hover{border-color:var(--cc-fg);background:color-mix(in srgb,var(--cc-fg) 8%,transparent)}
.cc-btn:focus-visible,.cc-sw:focus-visible,.cc-see:focus-visible,.cc-x:focus-visible,.cc-links a:focus-visible,.cc-body a:focus-visible,.cc-gate-link:focus-visible{outline:2px solid var(--cc-sig);outline-offset:3px}
.cc-btn--sig{background:var(--cc-sig);border-color:var(--cc-sig);color:var(--ck-on,#05131D)}
.cc-btn--sig:hover{background:var(--ck-sig-hover,var(--cc-sig));border-color:var(--ck-sig-hover,var(--cc-sig))}
@media (max-width:767px){
.cc-banner{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;padding:18px 18px calc(16px + env(safe-area-inset-bottom))}
body.cc-open .ck-mbar{bottom:var(--cc-h,0px)}
.cc-btns{grid-template-columns:1fr 1fr 1fr}
.cc-btn{font-size:14px;padding:10px 6px}
}
/* dialog */
.cc-dlg-wrap{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center;padding:16px}
.cc-scrim{position:absolute;inset:0;background:rgba(5,8,14,.55)}
.cc-dlg{position:relative;width:min(620px,100%);max-height:min(88vh,860px);overflow:auto;padding:24px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--cc-bd);border-radius:var(--radius-md,14px);background:var(--surface,#11151C);box-shadow:0 24px 70px rgba(0,0,0,.5)}
.cc-dlg:focus{outline:none}
.cc-dlg-h{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cc-dlg-h h2{margin:0;font-family:var(--font-display,inherit);font-weight:700;font-size:22px;color:var(--cc-fg)}
.cc-x{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--cc-bd);border-radius:var(--radius-sm,10px);background:transparent;color:var(--cc-fg);cursor:pointer}
.cc-x svg{width:16px;height:16px}
.cc-rows{display:flex;flex-direction:column}
.cc-row{padding:14px 0;border-top:1px solid var(--border-1,#262C36);display:flex;flex-direction:column;gap:6px}
.cc-row-t{display:flex;align-items:center;gap:12px}
.cc-row-t h3{margin:0;flex:1;font-size:16px;font-weight:600;color:var(--cc-fg)}
.cc-row p{margin:0;font-size:14.5px;line-height:1.5;color:var(--cc-fg2)}
.cc-always{font:500 12.5px var(--font-mono,ui-monospace,monospace);color:var(--cc-fg2)}
.cc-sw{position:relative;flex:none;width:52px;height:30px;margin:7px 0;border:1px solid var(--cc-fg2);border-radius:99px;background:var(--surface-sunken,rgba(255,255,255,.04));cursor:pointer;padding:0}
.cc-sw::before{content:"";position:absolute;inset:-8px -4px}
.cc-sw .k{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--cc-fg2);transition:transform .18s,background .18s}
.cc-sw[aria-checked="true"]{background:var(--cc-sig);border-color:var(--cc-sig)}
.cc-sw[aria-checked="true"] .k{transform:translateX(22px);background:var(--ck-on,#05131D)}
.cc-sw:disabled{cursor:not-allowed;opacity:.75}
.cc-see{align-self:flex-start;min-height:44px;padding:0;border:0;background:none;color:var(--cc-fg);font:600 14px var(--font-sans,system-ui,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cc-list ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.cc-list li{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px;background:var(--surface-sunken,rgba(255,255,255,.04));font-size:14px;line-height:1.45;color:var(--cc-fg2)}
.cc-list b{font:500 13.5px var(--font-mono,ui-monospace,monospace);color:var(--cc-fg);word-break:break-word}
.cc-none{font-size:14px;color:var(--cc-fg2)}
body.cc-dlg-open{overflow:hidden}
@media (max-width:520px){.cc-dlg{padding:18px}.cc-dlg .cc-btns{grid-template-columns:1fr}}
/* embed gate */
.cc-gate{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--cc-bd);border-radius:var(--radius-md,14px);background:var(--ck-panel,color-mix(in srgb,var(--surface,#11151C) 72%,transparent));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.cc-gate p{margin:0;font-size:15.5px;line-height:1.5;color:var(--cc-fg)}
.cc-gate-a{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.cc-gate-a .cc-btn{min-width:150px}
.cc-gate-link{color:var(--cc-fg);font-size:14.5px;text-decoration:underline;text-underline-offset:3px}
.cc-gate--ask{margin-bottom:12px}
/* form consent (form-consent-v1.js) */
.fc-opt{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:6px 0;font-size:14.5px;line-height:1.5;color:var(--fg-2,#C4CCD6);cursor:pointer}
.fc-opt input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--ck-sig,#3AA0D2);cursor:pointer}
.fc-opt input:focus-visible{outline:2px solid var(--ck-sig,#3AA0D2);outline-offset:3px}
.ck-consent a{color:var(--fg-1,#F2F5F9)}
@media print{.cc-banner,.cc-dlg-wrap{display:none!important}}
@media (prefers-reduced-motion:reduce){.cc-sw .k,.cc-btn{transition:none}}

/* ==== inline style ==== */

/* ============================================================
   OUNTERNET, AI Platform Advertising & GEO
   Inherits the site system: Satoshi display, Instrument Sans body,
   JetBrains Mono meta, Lochmara signal, grain + custom cursor.
   ============================================================ */
:root{--font-display:"Satoshi",ui-sans-serif,system-ui,sans-serif;--signal:var(--blue-400);--signal-strong:var(--blue-500);--grain-opacity:0.06}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip;scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg-1);font-family:var(--font-sans);cursor:none}
@media (hover:none){body{cursor:auto}.cursor,.cursor-ring{display:none !important}}
@media (prefers-reduced-motion:reduce){body{cursor:auto}.cursor,.cursor-ring{display:none !important}*{animation-duration:0.01ms !important;transition-duration:0.01ms !important}}
::selection{background:var(--brand-sun);color:#0A0C11}
a,button,[data-magnetic]{cursor:none}

/* texture + cursor (site-wide) */
.grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:var(--grain-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.cursor{border-radius:50%;position:fixed;width:22px;height:22px;background:url("assets/favicon-ounternet.png") center / contain no-repeat;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform var(--dur-fast) var(--ease-out),width var(--dur-base) var(--ease-out),height var(--dur-base) var(--ease-out)}
.cursor-ring{display:none;position:fixed;width:32px;height:32px;border-radius: 50%;border:1px solid var(--fg-3);top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width var(--dur-slow) var(--ease-out),height var(--dur-slow) var(--ease-out),border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);mix-blend-mode:difference}
.cursor.is-hover{width:30px;height:30px;border-radius:50%;}
.cursor-ring.is-hover{width:64px;height:64px;border-color:var(--signal);background:rgba(58,160,210,0.06)}
.loader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity 500ms var(--ease-out),visibility 500ms var(--ease-out)}
.loader img{width:56px;height:56px;object-fit:contain;animation:loaderPulse 1.1s ease-in-out infinite}
.loader.is-done{opacity:0;visibility:hidden}
@keyframes loaderPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(0.85);opacity:0.5}}

/* primitives */
.container{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,48px);position:relative}
.section{position:relative;padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--border-2)}
.eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-3);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--fg-3);display:inline-block}
.eyebrow--signal{color:var(--brand-sun)}
.eyebrow--signal::before{background:var(--brand-sun)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
@media (max-width:900px){.sec-head{grid-template-columns:1fr;gap:20px}}
.sec-head h2{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3.4vw,48px);line-height:1;letter-spacing:-0.035em;text-transform:uppercase;margin-top:20px;max-width:20ch}
.sec-head h2 .signal{color:var(--signal)}
.sec-head p{color:var(--fg-2);font-size:17px;line-height:1.6;max-width:62ch}
@media (max-width:640px){.sec-head p{font-size:15.5px}}
.note{font-family:var(--font-mono);font-size:11px;line-height:1.7;color:var(--fg-4);letter-spacing:0.02em;max-width:74ch}

/* nav (site) */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;background:rgba(10,12,17,0.55);border-bottom:1px solid rgba(35,41,53,0);transition:border-color var(--dur-slow) var(--ease-out),background var(--dur-slow) var(--ease-out)}
.nav.is-scrolled{border-bottom-color:var(--border-1);background:rgba(10,12,17,0.85)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.nav-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-0.02em;color:var(--fg-1);text-decoration:none}
.nav-logo .logo-img{height:84px;width:auto;display:block;filter:drop-shadow(0 1px 10px rgba(0,0,0,0.4)) brightness(1.2) saturate(1.05)}
@media (max-width:640px){.nav-logo .logo-img{height:68px}}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{color:var(--fg-2);text-decoration:none;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:color var(--dur-base) var(--ease-out)}
.nav-links a:hover{color:var(--fg-1);box-shadow:inset 0 -2px 0 var(--brand-sun);padding-bottom:2px}
.nav-links a.is-active{color:var(--signal);box-shadow:inset 0 -2px 0 var(--brand-sun);padding-bottom:2px}
.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--fg-1);text-decoration:none;background:transparent;transition:all var(--dur-base) var(--ease-out)}
.nav-cta:hover{border-color:var(--signal);color:var(--signal)}
.nav-cta .arrow{width:14px;height:14px}
.nav-auth{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--fg-2);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}
.nav-auth:hover{color:var(--signal)}
.nav-auth svg{width:16px;height:16px;flex:none}
@media (max-width:560px){.nav-auth span{display:none}}
@media (max-width:1080px){.nav-links{display:none}}

/* buttons (site) */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 24px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:14px;font-weight:500;text-decoration:none;cursor:none;border:1px solid transparent;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);white-space:nowrap;min-height:44px}
.btn--primary{background:var(--signal);color:#05131D;border-color:var(--signal)}
.btn--primary:hover{background:var(--blue-300);border-color:var(--blue-300)}
.btn--ghost{background:transparent;color:var(--fg-1);border-color:var(--border-strong)}
.btn--ghost:hover{border-color:var(--fg-1)}
.btn .arrow{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}
.btn:hover .arrow{transform:translate(2px,-2px)}

/* reveal system: opacity + 14px rise, 500ms, staggered 60ms */
html.js-reveal .rv:not(.is-in){opacity:0;transform:translateY(14px);transition:opacity 500ms cubic-bezier(.2,.8,.2,1),transform 500ms cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}


/* site shell above is copied from AI Ads and GEO v4; team and credential styles below likewise */
/* ============================================================
   TEAM
   ============================================================ */
.team-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);border-top:1px solid var(--border-1);padding-top:clamp(28px,3vw,40px)}
.person{display:flex;flex-direction:column;gap:14px;min-width:0}
/* one circle for all five: same size, same baseline, same gap */
.pshot{width:96px;height:96px;border-radius:50%;display:block;flex:none;position:relative}
.pshot img{width:100%;height:100%;display:block;border-radius:50%}
/* plain photographs: crop to the face, inset 3px so the added ring's OUTER
   edge lands on 96px, matching the baked-in rings exactly */
.pshot.is-photo img{width:calc(100% - 6px);height:calc(100% - 6px);margin:3px;object-fit:cover;object-position:50% 28%;box-shadow:0 0 0 3px #A8D4F0;background:#10141C}
/* baked-in ring artwork: the blue disc is 0.895 of the source box, so scale by
   1/0.895 to sit the ring flush with the 96px edge. No CSS ring, no background,
   so the transparent PNG shows the page behind it. */
.pshot.is-art img{object-fit:contain;background:none;border-radius:0;transform:scale(1.117)}
.person .pname{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:-0.01em;color:var(--fg-1);line-height:1.25}
.person .prole{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.09em;color:var(--fg-3);margin-top:-8px;line-height:1.4}
@media (max-width:1024px){.team-row{gap:12px}.pshot{width:80px;height:80px}.person .pname{font-size:15px}}
/* two rows, three then two, centred: flex wrap does this without nth-child hacks */
@media (max-width:768px){.team-row{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 20px}.person{flex:0 0 calc(33.333% - 14px);align-items:center;text-align:center}}
@media (max-width:360px){.person{flex:0 0 calc(50% - 10px)}}
/* ---- credential badges: two groups, one earned, one built on ---- */
.credrow{display:flex;align-items:flex-start;gap:clamp(18px,2.4vw,32px);margin-top:clamp(28px,3vw,40px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--border-2)}
.credgroup{min-width:0}
.credgroup:first-child{flex:1 1 auto}
.credlabel{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.14em;color:var(--fg-4);margin-bottom:12px}
.credtiles{display:flex;flex-wrap:wrap;gap:10px}
.creddiv{width:1px;align-self:stretch;background:var(--border-strong);flex:none}
.cred{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--border-1);border-radius:12px;background:var(--surface);transition:transform 200ms var(--ease-out),border-color 200ms var(--ease-out),background 200ms var(--ease-out)}
.cred:hover{transform:translateY(-2px);border-color:var(--border-strong);background:var(--surface-raised)}
.cred-tile{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface-raised);border:1px solid var(--border-2)}
.cred-tile--pair{width:68px;gap:8px}
.cred-hair{width:1px;align-self:stretch;margin:7px 0;background:var(--border-2);flex:none}
.cred-mark{display:block;flex:none}
.cred:hover .cred-tile{background:var(--surface-sunken);border-color:var(--border-strong)}
.cred-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.cred-nm{font-size:14px;font-weight:600;line-height:1.35;color:var(--fg-1);letter-spacing:-0.005em}
.cred-src{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--fg-4)}
/* desktop: genuinely one row. Tiles share their group's width and long names
   wrap inside the tile rather than pushing a tile onto a second line. */
@media (min-width:1260px){.credtiles{flex-wrap:nowrap}.cred{flex:1 1 0;min-width:210px}.credgroup:first-child{min-width:650px}.credgroup:last-child{flex:0 0 auto}}
@media (prefers-reduced-motion:reduce){.cred,.cred-tile{transition:none}.cred:hover{transform:none}}
@media (max-width:1259px){.credrow{flex-direction:column;gap:26px}.creddiv{width:100%;height:1px;align-self:auto}}
@media (max-width:768px){.cred{flex:1 1 calc(50% - 5px)}}
@media (max-width:360px){.cred{flex:1 1 100%}}


/* ============================================================
   MOBILE PASS
   ============================================================ */
@media (max-width:400px){
.scene .hc{border-radius:14px}
.hero h1{font-size:clamp(34px,10.5vw,44px);letter-spacing:-0.025em}
.hero .hero-sub{font-size:16px}
.hc-body{min-height:210px}
.lf-card,.lf-done{padding:18px 16px}
.check-panel,.scan{padding:18px 16px}
.case{padding:20px 16px}
.tier{padding:20px 16px}
.tier.is-rec{padding-top:38px}
.shift{padding:12px 10px}
}
@media (max-width:560px){
.price-grid{grid-template-columns:1fr}
.sec-head h2{font-size:clamp(26px,8vw,34px)}
}

/* sticky conversion rails */
.slim{position:fixed;top:0;left:0;right:0;z-index:99;transform:translateY(-100%);transition:transform 320ms cubic-bezier(.2,.8,.2,1);background:rgba(8,10,15,0.94);border-bottom:1px solid var(--border-1)}
.slim.is-on{transform:none}
.slim-inner{display:flex;align-items:center;gap:16px;padding:11px 0}
.slim .txt{flex:1}
.slim-mark{flex:none;display:flex;align-items:center}
.slim-mark img{width:22px;height:22px;object-fit:contain;display:block}
.slim .txt{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slim .txt b{color:var(--fg-1);font-weight:500}
.slim .acts{display:flex;gap:10px;flex:none}
.slim a{display:inline-flex;align-items:center;min-height:36px;padding:8px 15px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;text-decoration:none;border:1px solid var(--border-strong);color:var(--fg-1)}
.slim a.pri{background:var(--signal);border-color:var(--signal);color:#05131D}
@media (max-width:1080px){.slim{display:none}}
.om-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:97;grid-template-columns:1fr 1fr;border-top:1px solid var(--border-strong);background:rgba(10,12,17,0.96);transform:translateY(100%);transition:transform 320ms cubic-bezier(.2,.8,.2,1)}
.om-sticky.is-on{transform:none}
.om-sticky a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:14px;font-weight:600;text-decoration:none;min-height:44px}
.om-sticky .call{background:var(--signal);color:#05131D}
.om-sticky .wa{color:var(--fg-1)}
@media (max-width:768px){.om-sticky{display:grid}body{padding-bottom:56px}}

/* NAV TOOLS, language + theme */
.nav-tools { display: flex; align-items: center; gap: 10px; flex: none; }
@media (max-width: 1000px) { .nav-inner { gap: 20px; } .nav-cta { display: none; } }
.lang-switch { display: flex; flex: none; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); overflow: hidden; }
.lang-switch button { background: transparent; border: 0; border-right: 1px solid var(--border-strong); color: var(--fg-3); font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-caps); padding: 9px 12px; cursor: pointer; transition: color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
.lang-switch button:last-child { border-right: 0; }
.lang-switch button:hover { color: var(--fg-1); }
.lang-switch button.is-on { background: rgba(58,160,210,0.12); color: var(--signal); }
.theme-toggle { width: 36px; height: 36px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: transparent; color: var(--fg-2); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); flex: none; }
.theme-toggle:hover { border-color: var(--signal); color: var(--signal); }
.theme-toggle svg { width: 16px; height: 16px; }
.theme-toggle .ico-moon { display: none; }
[data-theme="light"] .theme-toggle .ico-sun { display: none; }
[data-theme="light"] .theme-toggle .ico-moon { display: block; }
@media (max-width: 640px) { .lang-switch button { padding: 9px 9px; } 

}
/* ==== site-footer.css ==== */
/* ============================================================
   OUNTERNET — Shared final CTA + footer styles
   SOURCE OF TRUTH. Copied verbatim from Homepage v3.html.
   Every page links this file; do not restyle the footer per page.
   ============================================================ */

/* ---------------- FINAL CTA ---------------- */
.finalcta {
  padding: clamp(100px, 14vw, 200px) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--border-1);
}
.finalcta h2 {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(56px, 10vw, 168px); line-height: 0.9; letter-spacing: -0.045em;
  text-transform: uppercase;
  max-width: 18ch; margin: 0 auto 32px;
}
.finalcta h2 .signal { color: var(--signal); }
.finalcta p { max-width: 52ch; margin: 0 auto 48px; color: var(--fg-2); font-size: 17px; line-height: 1.6; }
.finalcta .ctas { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.finalcta .slots { margin-top: 28px; font-family: var(--font-mono); font-size: 11px; color: var(--fg-3); letter-spacing: 0.06em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; }
.finalcta .slots .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--brand-sun); box-shadow: 0 0 10px var(--brand-sun); }

/* ---------------- FOOTER ---------------- */
.footer {
  position: relative;
  padding: 80px 0 40px;
  background: #05070B;
  border-top: 1px solid var(--border-1);
  overflow: hidden;
}
.footer::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0);
  background-size: 24px 24px;
  opacity: 0.5;
  pointer-events: none;
}

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}
@media (max-width: 860px) { .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .footer-top { grid-template-columns: 1fr; } }

.footer-col h4 { font-family: var(--font-mono); font-size: 11px; color: var(--fg-3); text-transform: uppercase; letter-spacing: var(--tracking-caps); margin-bottom: 20px; font-weight: 500; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.footer-col li { list-style: none; }
.footer-col a { color: var(--fg-1); text-decoration: none; font-size: 14px; transition: color var(--dur-base) var(--ease-out); display: inline-flex; align-items: center; gap: 8px; }
.footer-col a:hover { color: var(--signal); }
.footer-col li .meta { font-family: var(--font-mono); font-size: 10px; color: var(--fg-4); letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.footer-col a .out { width: 11px; height: 11px; flex: none; opacity: 0.55; }
.footer-col a:hover .out { opacity: 1; }

.footer-main .live {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-size: 11px; color: var(--fg-3);
  text-transform: uppercase; letter-spacing: var(--tracking-caps);
  padding: 8px 14px; border: 1px solid var(--border-1); border-radius: var(--radius-full);
  margin-bottom: 24px;
}
.footer-main .live .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 10px var(--signal); animation: pulse 2s ease-in-out infinite; }
.footer-main h3 { font-family: var(--font-display); font-weight: 700; font-size: 28px; line-height: 1.1; letter-spacing: -0.02em; max-width: 18ch; margin-bottom: 16px; }
.footer-main p { color: var(--fg-2); font-size: 14px; line-height: 1.6; max-width: 34ch; margin-bottom: 24px; }

.subscribe {
  display: flex;
  gap: 8px;
  max-width: 400px;
  padding: 6px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: rgba(10,12,17,0.6);
  transition: border-color var(--dur-base) var(--ease-out);
}
.subscribe:focus-within { border-color: var(--signal); box-shadow: var(--ring-focus); }
.subscribe input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--fg-1);
  font-family: var(--font-sans);
  font-size: 14px;
  padding: 10px 12px;
}
.subscribe input::placeholder { color: var(--fg-4); }
.subscribe button {
  background: var(--signal);
  color: #05131D;
  border: 0;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 13px;
  cursor: none;
  transition: background var(--dur-base) var(--ease-out);
}
.subscribe button:hover { background: var(--blue-300); }

.footer-wordmark {
  font-family: var(--font-display); font-weight: 900;
  font-size: clamp(48px, 10vw, 140px);
  line-height: 0.85;
  letter-spacing: -0.05em;
  text-align: center;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px var(--fg-3);
  text-transform: uppercase;
  user-select: none;
  padding: 40px 0 0.14em;
  position: relative;
  z-index: 2;
  overflow-x: clip;
  overflow-y: visible;
}
.footer-wordmark .dot-accent { color: var(--signal); -webkit-text-stroke: 0; }

.footer-bottom {
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  padding: 32px 0 0;
  margin-top: 40px;
  border-top: 1px solid var(--border-1);
  font-family: var(--font-mono); font-size: 10px; color: var(--fg-4); text-transform: uppercase; letter-spacing: var(--tracking-caps);
  position: relative; z-index: 2;
}
.footer-bottom .legal { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-bottom a { color: var(--fg-4); text-decoration: none; transition: color var(--dur-base) var(--ease-out); }
.footer-bottom a:hover { color: var(--signal); }

[data-theme="light"] .footer { background: var(--ink-100); }
[data-theme="light"] .footer::before { background-image: radial-gradient(circle at 1px 1px, rgba(10,12,17,0.10) 1px, transparent 0); }

/* ---------------- HEADER NAV: seven items ---------------- */
/* One authoritative breakpoint for the whole site: the seven-item row
   shows above 1080px, the burger menu owns everything below it. */
@media (max-width: 1080px) {
  .nav-links { display: none !important; }
  .nav .nav-cta { display: none !important; }
  .nav-burger { display: inline-flex !important; }
}
.nav-links { gap: 22px; }
@media (max-width: 1320px) { .nav-links { gap: 18px; } .nav-links a { font-size: 13.5px; } }
@media (max-width: 1180px) { .nav-links { gap: 14px; } .nav-links a { font-size: 13px; } .nav-cta { padding: 10px 13px; font-size: 12.5px; } }
.nav-links a { white-space: nowrap; }
.nav-links a .out { width: 10px; height: 10px; opacity: 0.5; flex: none; }
.nav-links a:hover .out { opacity: 1; }

.om-footer .place{color:var(--fg-2)}
.om-footer .legal span{color:var(--fg-3)}

/* v2 footer: service pages indented under Services */
.footer-col li.ft-sub a{padding-left:14px;font-size:.94em}

/* legal row (v2 footer) */
.footer-bottom .ft-co{margin:0;max-width:72ch;line-height:1.55}
.footer-bottom .legal a{color:inherit;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.footer-bottom .legal a:hover,.footer-bottom .legal a[aria-current="page"]{color:var(--fg-1);text-decoration:underline;text-underline-offset:3px}
.footer-bottom .legal a:focus-visible{outline:2px solid var(--ck-sig,#3AA0D2);outline-offset:2px}
.lg-miss{padding:1px 6px;border-radius:4px;background:color-mix(in srgb,#F5A524 22%,transparent);border:1px solid #F5A524;color:var(--fg-1);font:600 .82em var(--font-mono,monospace)}

/* ==== inline style #om-navlight ==== */
[data-theme="light"] .nav{background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom:1px solid var(--border-1)}
[data-theme="light"] .nav.is-scrolled{background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom-color:var(--border-1)}

/* ==== inline style #om-cred-light ==== */

[data-theme="light"] .cred-tile{background:var(--surface-sunken);border-color:var(--border-1)}
[data-theme="light"] .cred:hover .cred-tile{background:#fff;border-color:var(--border-strong)}
[data-theme="light"] .cred:hover{background:var(--surface-sunken)}

/* ==== mvp-v1.css ==== */
/* Product and MVP v1. Hero stage is always space-dark; the sections below follow the site theme. */
a{color:var(--fg-1)}a:hover{color:var(--signal)}
.mv-glass{position:relative;border:1px solid var(--border-1);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--fg-1) 5%,transparent),color-mix(in srgb,var(--fg-1) 1%,transparent)),var(--ck-panel);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fg-1) 7%,transparent)}

.loader.is-done{pointer-events:none}
/* narrow phones: LinkedIn, sign in and theme live in the burger menu, so the bar keeps logo, language, call and menu inside 375px */
@media (max-width:480px){.nav-inner{gap:10px}.nav-tools{gap:6px}.nav-tools .nav-auth,.nav-tools .theme-toggle{display:none}.nav-logo .logo-img{height:54px}.lang-switch button{padding:9px 7px}}
/* ---------- HERO ---------- */
.mv{--nav-h:76px;--fg-1:#F2F5FA;--fg-2:#B9C3D3;--fg-3:#8C98AB;--fg-4:#5E6B80;--border-1:rgba(255,255,255,.1);--border-2:rgba(255,255,255,.08);--border-strong:rgba(255,255,255,.22);--ck-panel:rgba(10,14,26,.62);position:relative;background:#0A0E1A;color:var(--fg-1)}
.mv-scroll{position:relative}
.mv-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.mv-stage{position:absolute;inset:0;background:#0A0E1A;isolation:isolate}
/* exact scroll length: 6 chapters of 100vh after the 100vh pin, 700vh in all; matches TOTAL and unit in mvp-v1.js */
.mv-steps{height:600vh;pointer-events:none}
.mv-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;opacity:0;transition:opacity .9s var(--ease-out);touch-action:pan-y;pointer-events:none}
.mv--gl .mv-canvas{opacity:1;transition:none}
.mv-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;pointer-events:none;transition:opacity .8s var(--ease-out)}
.mv--loading .mv-poster{opacity:.6}
.mv--cards .mv-poster{opacity:.28}
.mv-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,14,26,.86) 0,rgba(10,14,26,.5) 38%,rgba(10,14,26,0) 62%)}

/* intro copy */
.mv-intro{position:absolute;z-index:3;left:clamp(24px,5vw,80px);top:calc(var(--nav-h) + 24px);bottom:72px;width:min(640px,calc(100% - 48px));display:flex;flex-direction:column;justify-content:center;gap:20px;opacity:calc(1 - var(--intro,0));transform:translateY(calc(var(--intro,0) * -40px));transition:visibility 0s linear 0s}
.mv-intro.is-off{visibility:hidden;transition:visibility 0s linear .35s}
.mv-intro .ck-eyebrow{color:#7FB8FF}
.mv-h1{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(38px,4.6vw,74px);line-height:.98;letter-spacing:-.035em;text-transform:uppercase;color:#fff;text-wrap:balance}
.mv-h1 .accent{color:#7FB8FF}
.mv-sub{margin:0;font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--fg-2);max-width:46ch;text-wrap:pretty}
.mv-ctas{display:flex;flex-wrap:wrap;gap:12px}
.mv-intro .ck-under{margin-top:2px}
@media (max-height:760px){.mv-intro{gap:14px}.mv-h1{font-size:clamp(34px,4vw,58px)}.mv-sub{font-size:15.5px}}

/* chapter cards, on the side opposite the action */
.mv-card{position:absolute;z-index:3;left:clamp(24px,5vw,80px);top:50%;width:min(440px,38vw);display:flex;flex-direction:column;gap:14px;padding:26px 28px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015)),rgba(10,14,26,.66);border:1px solid rgba(74,158,255,.24);box-shadow:0 30px 70px -30px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.07);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);opacity:0;visibility:hidden;transform:translateY(calc(-50% + 14px));transition:opacity .4s var(--ease-out),transform .55s var(--ease-out),visibility 0s linear .4s}
.mv-card.is-on{opacity:1;visibility:visible;transform:translateY(-50%);transition:opacity .4s var(--ease-out),transform .55s var(--ease-out),visibility 0s linear 0s}
.mv-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mv-num{font:500 12px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#7FB8FF}
.mv-tag{font:500 10.5px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#CFE0F5;padding:6px 10px;border-radius:999px;border:1px solid rgba(45,212,191,.4);background:rgba(45,212,191,.08)}
.mv-card h2{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(26px,2.5vw,40px);line-height:1.02;letter-spacing:-.03em;text-transform:uppercase;color:#fff;text-wrap:balance}
.mv-card p.mv-body{margin:0;font-size:16px;line-height:1.55;color:var(--fg-2);text-wrap:pretty}
.mv-ill{display:none}

/* step rail */
.mv-rail{position:absolute;z-index:5;right:clamp(10px,1.6vw,24px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;margin:0;padding:0 0 0 14px;list-style:none;opacity:calc(var(--intro,0));transition:opacity .3s}
.mv-rail::before,.mv-rail::after{content:"";position:absolute;left:3px;top:14px;bottom:14px;width:1px;background:rgba(255,255,255,.14);pointer-events:none}
.mv-rail::after{background:#4A9EFF;transform-origin:top;transform:scaleY(var(--prog,0))}
.mv-rail li{display:contents}
.mv-rail-b{position:relative;display:flex;align-items:center;gap:9px;min-height:44px;padding:0 6px;border:0;background:none;color:#8C98AB;font:500 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:left}
.mv-rail-b::before{content:"";position:absolute;left:-14px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#34405A;box-shadow:0 0 0 3px #0A0E1A;transition:background .2s,transform .2s}
.mv-rail-b .n{color:#5E6B80}
.mv-rail-b:hover{color:#E6ECF5}
.mv-rail-b[aria-current="step"]{color:#fff}
.mv-rail-b[aria-current="step"] .n{color:#7FB8FF}
.mv-rail-b[aria-current="step"]::before{background:#4A9EFF;transform:scale(1.4);box-shadow:0 0 0 3px #0A0E1A,0 0 10px #4A9EFF}
.mv-rail-b:focus-visible{outline:2px solid #4A9EFF;outline-offset:2px;border-radius:6px}
@media (max-width:1100px){.mv-rail-b .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.mv-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;margin:0;display:flex;align-items:center;gap:10px;font:500 10.5px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#8C98AB;pointer-events:none;opacity:calc(1 - var(--intro,0) * 2)}
.mv-hint::before{content:"";width:1px;height:18px;background:linear-gradient(#4A9EFF,transparent);transform-origin:top;animation:mvdrip 1.8s ease-in-out infinite}
@keyframes mvdrip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* build overlay: typed by scroll progress, anchored to panel 4 by the scene */
.mv-code{position:absolute;left:0;top:0;z-index:2;width:240px;height:320px;margin:0;padding:14px 14px;border-radius:10px;background:rgba(6,10,20,.78);border:1px solid rgba(74,158,255,.28);overflow:hidden;pointer-events:none;opacity:0;transition:opacity .35s}
.mv-code.is-on{opacity:1}
.mv--cards .mv-code,.mv--loading .mv-code{display:none}
.mv-code pre{margin:0;font:500 10.5px/1.7 var(--font-mono);color:#9FD3FF;white-space:pre;overflow:hidden}
.mv-code pre::after{content:"";display:inline-block;width:7px;height:13px;margin-left:1px;vertical-align:-2px;background:#2DD4BF}
.mv-live{position:absolute;left:0;top:0;z-index:4;margin:0;display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;background:rgba(10,14,26,.72);border:1px solid rgba(45,212,191,.5);font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#DFFBF6;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .4s}
.mv-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#2DD4BF;box-shadow:0 0 10px #2DD4BF}
.mv-live.is-on{opacity:1}
.mv--cards .mv-live,.mv--loading .mv-live{left:auto;top:auto;right:16%;bottom:16%;transform:none!important}

/* 2.5D panels: shown at 4s if WebGL is not ready, over the concept poster */
.mv-fb{display:none;position:absolute;z-index:1;top:0;bottom:0;right:0;width:58%;overflow:hidden;perspective:1400px;pointer-events:none}
.mv--cards .mv-fb{display:block}
.mv-fb-row{position:absolute;top:50%;left:12%;display:flex;gap:36px;transform-style:preserve-3d;transform:translate3d(calc(var(--u,0) * -264px + 0px),-50%,0) rotateY(-14deg);transition:transform .5s var(--ease-out)}
.mv-fb-p{flex:none;width:228px;height:300px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border-radius:16px;background:linear-gradient(180deg,rgba(74,158,255,.12),rgba(74,158,255,.03)),rgba(10,14,26,.5);border:1px solid rgba(74,158,255,.28);box-shadow:0 0 30px -8px rgba(74,158,255,.3),inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.5;transition:opacity .35s,transform .35s,border-color .35s}
.mv-fb-p svg{width:100%;height:auto;color:#9CC8FF}
.mv-fb-p span{font:500 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#CFE0F5}
.mv[data-ch="1"] .mv-fb-p:nth-child(1),.mv[data-ch="2"] .mv-fb-p:nth-child(2),.mv[data-ch="3"] .mv-fb-p:nth-child(3),.mv[data-ch="4"] .mv-fb-p:nth-child(4),.mv[data-ch="5"] .mv-fb-p:nth-child(5),.mv[data-ch="6"] .mv-fb-p:nth-child(6){opacity:1;border-color:#4A9EFF;transform:translateZ(40px)}
.mv--xfade .mv-canvas{animation:mvin .8s var(--ease-out) both}
@keyframes mvin{from{opacity:0}to{opacity:1}}
.mv-final{display:none}
.mv-endline{margin:0;padding:28px 0 0;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);text-align:center}
.mv>.container{padding-bottom:40px}
@media (max-width:1100px){.mv-card{width:min(400px,44vw)}.mv-card p.mv-body{font-size:15px}}

/* ---------- flat: under 768px and reduced motion ---------- */
.mv--flat .mv-pin{position:static;height:auto;overflow:visible}
.mv--flat .mv-stage{position:relative;inset:auto;display:flex;flex-direction:column;gap:18px;padding:calc(var(--nav-h) + 28px) 20px 24px}
.mv--flat .mv-canvas,.mv--flat .mv-shade,.mv--flat .mv-fb,.mv--flat .mv-rail,.mv--flat .mv-hint,.mv--flat .mv-code,.mv--flat .mv-steps,.mv--flat .mv-live{display:none}
.mv--flat .mv-intro{order:-1;position:static;width:auto;opacity:1;transform:none;visibility:visible;gap:18px;padding-bottom:8px}
.mv--flat .mv-poster{position:static;display:block;width:100%;height:auto;aspect-ratio:1344/752;opacity:1;border-radius:14px;border:1px solid rgba(255,255,255,.08)}
.mv--flat .mv-card{position:relative;left:auto;top:auto;width:auto;opacity:1;visibility:visible;transform:none;padding:20px 20px 22px}
.mv--flat .mv-ill{display:block;margin:-4px -4px 4px;padding:14px;border-radius:12px;background:rgba(74,158,255,.06);border:1px solid rgba(74,158,255,.18);color:#9CC8FF}
.mv--flat .mv-ill svg{display:block;width:100%;max-width:320px;height:auto;margin:0 auto}
.mv--flat .mv-final{display:block;position:relative;margin:0}
.mv--flat .mv-final img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.08)}
.mv--flat .mv-final figcaption{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:999px;background:rgba(10,14,26,.8);border:1px solid rgba(45,212,191,.5);font:500 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#DFFBF6;white-space:nowrap}
.mv--flat .mv-final figcaption::before{content:"";width:7px;height:7px;border-radius:50%;background:#2DD4BF}
.mv--flat .mv-h1{font-size:clamp(34px,9.5vw,52px)}
@media (min-width:768px){.mv--flat .mv-stage{padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mv--flat .mv-intro,.mv--flat .mv-poster,.mv--flat .mv-final{grid-column:1/-1}.mv--flat .mv-intro{max-width:760px}}
@media (prefers-reduced-motion:reduce){.mv-hint::before{animation:none}.mv-card,.mv-card.is-on{transition:none}}

/* ---------- A. the edge ---------- */
.mv-edge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mv-edge .mv-glass{padding:28px 26px;display:flex;flex-direction:column;gap:12px}
.mv-edge .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}
.mv-edge h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-.02em;color:var(--fg-1)}
.mv-edge p{margin:0;color:var(--fg-2);font-size:15.5px;line-height:1.55}
@media (max-width:900px){.mv-edge{grid-template-columns:minmax(0,1fr)}}

/* ---------- B. work ---------- */
.mw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.mw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mw-grid{grid-template-columns:minmax(0,1fr)}}
.mw-card{display:flex;flex-direction:column;overflow:hidden}
.mw-stage{position:relative;height:230px;display:grid;place-items:center;background:radial-gradient(ellipse 70% 70% at 50% 60%,rgba(74,158,255,.14),transparent 70%),#0B1120;border-bottom:1px solid var(--border-1)}
.mw-cap{position:absolute;right:12px;bottom:10px;margin:0;font:500 9.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#8C98AB}
.mw-laptop{width:74%;display:flex;flex-direction:column;align-items:center}
.mw-lid{width:100%;aspect-ratio:16/10;padding:3.5%;border-radius:10px 10px 4px 4px;background:#101A2E;border:1px solid rgba(74,158,255,.4);box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
.mw-base{width:116%;height:9px;border-radius:0 0 10px 10px;background:linear-gradient(#1A2640,#0E1626);border:1px solid rgba(74,158,255,.3);border-top:0}
.mw-phone{height:88%;aspect-ratio:9/19;padding:5px;border-radius:18px;background:#101A2E;border:1px solid rgba(74,158,255,.4);box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
.mw-scr{position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;background:#0B1324}
.mw-phone .mw-scr{border-radius:13px}
.mw-scr img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.mw-ui{position:absolute;inset:0}
.mw-ui i{position:absolute;display:block;border-radius:3px}
.mw-ui .a{left:6%;right:6%;top:6%;height:9%;background:#16233F}
.mw-ui .b{left:6%;top:21%;width:52%;height:40%;background:linear-gradient(180deg,rgba(74,158,255,.7),rgba(45,212,191,.15))}
.mw-ui .c{left:62%;right:6%;top:21%;height:18%;background:#1B2A48}
.mw-ui .d{left:62%;right:6%;top:43%;height:18%;background:#1B2A48}
.mw-ui .e{left:6%;right:6%;top:67%;height:12%;background:#24324F}
.mw-ui--1 .b{background:linear-gradient(180deg,rgba(45,212,191,.65),rgba(74,158,255,.12))}.mw-ui--1 .e{background:#F5A524;width:40%;right:auto}
.mw-ui--2 .b{width:88%;height:30%}.mw-ui--2 .c{left:6%;right:52%;top:55%}.mw-ui--2 .d{left:52%;top:55%}.mw-ui--2 .e{top:78%;background:#4A9EFF;width:30%;right:auto}
.mw-ui.is-phone .a{height:6%}.mw-ui.is-phone .b{width:88%;height:26%;top:16%}.mw-ui.is-phone .c{left:6%;right:6%;top:46%;height:10%}.mw-ui.is-phone .d{left:6%;right:6%;top:59%;height:10%}.mw-ui.is-phone .e{left:6%;right:6%;top:86%;height:7%;width:auto;background:#F5A524}
.mw-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.mw-kind{margin:0 0 4px;align-self:flex-start;font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--fg-2)}
.mw-kind--ours{border-color:rgba(245,165,36,.55);color:var(--brand-sun,#F5A524)}
.mw-kind--credential{border-color:rgba(45,212,191,.55);color:#2DD4BF}
[data-theme="light"] .mw-kind--credential{color:#0F8F80}
[data-theme="light"] .mw-kind--ours{color:#9A5B00}
.mw-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--fg-1)}
.mw-tag{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.mw-desc{margin:6px 0 0;color:var(--fg-2);font-size:15px;line-height:1.55}
.mw-body .ck-textlink{margin-top:auto;padding-top:8px}

/* ---------- C. estimator ---------- */
.mv-est{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:960px){.mv-est{grid-template-columns:minmax(0,1fr)}}
.mv-est-in{display:flex;flex-direction:column;gap:28px}
.mv-q{display:flex;flex-direction:column;gap:12px}
.mv-q-l{margin:0;font-size:15px;font-weight:600;color:var(--fg-1)}
.mv-q-l .opt{font-weight:400;color:var(--fg-3)}
.mv-est .ck-chip{cursor:pointer;font-size:14.5px;color:var(--fg-1)}
.mv-toggle{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:12px 18px 12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--fg-1);font:500 14.5px var(--font-sans);text-align:left;cursor:pointer}
.mv-toggle .sw{flex:none;position:relative;width:40px;height:22px;border-radius:999px;background:var(--border-strong);transition:background .2s}
.mv-toggle .sw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.mv-toggle[aria-pressed="true"]{border-color:var(--ck-sig)}
.mv-toggle[aria-pressed="true"] .sw{background:var(--ck-sig)}
.mv-toggle[aria-pressed="true"] .sw::after{transform:translateX(18px)}
.mv-toggle:focus-visible,.mv-est .ck-chip:focus-visible{outline:2px solid var(--ck-sig);outline-offset:2px}
.is-design-only [data-build]{opacity:.45}
.mv-est-note{margin:-4px 0 0;font-size:13px;color:var(--fg-3)}
.mv-est-out{position:sticky;top:120px;padding:26px 26px 24px;display:flex;flex-direction:column;gap:14px}
.mv-est-k{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.mv-range{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(26px,2.6vw,38px);line-height:1.08;letter-spacing:-.03em;color:var(--fg-1)}
.mv-weeks{margin:0;font-size:17px;color:var(--fg-1)}
.mv-review{margin:0;font-size:14.5px;color:var(--signal)}
.mv-disc{margin:0;padding-bottom:16px;border-bottom:1px solid var(--border-1);font-size:13.5px;line-height:1.5;color:var(--fg-3)}
.mv-cap .ck-row{grid-template-columns:minmax(0,1fr)}
.mv-cap .ck-btn{align-self:flex-start}

/* ---------- D. pricing ---------- */
.mv-price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.mv-price{grid-template-columns:minmax(0,1fr)}}
.mv-price .mv-glass{padding:28px 26px;display:flex;flex-direction:column;gap:10px}
.mv-price h3{margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);font-weight:500}
.mv-price .from{margin:4px 0 0;font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3vw,42px);letter-spacing:-.03em;line-height:1;color:var(--fg-1)}
.mv-price .from small{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.mv-price p{margin:0;color:var(--fg-2);font-size:15px;line-height:1.55}
.mv-price .dur{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-1);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.mv-price .is-main{border-color:color-mix(in srgb,var(--signal) 55%,transparent)}

/* ---------- G. final band ---------- */
.mv-final-band .ck-final-copy .ck-fresh{margin-top:6px}

/* ==== mvp-v2.css ==== */
/* Product and MVP v2: brief form section, slim CTA strip, estimator hand-off. Kit classes carry the look. */
.mb-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
@media(min-width:1024px){.mb-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.mb-aside{position:sticky;top:124px}}
@media(max-width:1023px){.mb-aside{position:static}}
.mb-main{min-width:0}
.mb-panel{padding:clamp(20px,3vw,40px)}
.mb-panel .ck-form{gap:24px}
.mb-group{gap:12px}
.mb-group [role="radiogroup"][aria-invalid="true"] .ck-chip{border-color:var(--ck-err)}
.mb-submit{min-width:200px}
.mb-ok{display:flex;flex-direction:column;gap:14px;align-items:flex-start;border:1px solid var(--ck-sig);border-radius:var(--radius-sm);padding:clamp(20px,3vw,32px);background:var(--surface-sunken)}
.mb-ok[hidden]{display:none}
.mb-ok:focus{outline:none}
.mb-ok:focus-visible{outline:2px solid var(--ck-sig);outline-offset:4px}
.mb-attached[hidden]{display:none}
.mb-att-chip{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 14px;border:1px solid var(--ck-sig);border-radius:999px;background:color-mix(in srgb,var(--ck-sig) 12%,transparent);color:var(--fg-1);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;text-align:left}
.mb-att-chip .x{font-size:18px;line-height:1;color:var(--ck-sig)}
.mb-att-chip:hover{border-color:var(--fg-1)}
.mb-att-chip:focus-visible,.mb-panel .ck-chip:has(input:focus-visible){outline:2px solid var(--ck-sig);outline-offset:3px}
.mb-aside .ck-under{margin-top:0;padding:0 4px}
.mb-fresh{margin-top:clamp(28px,4vw,48px)}
.mb-est-go{margin:18px 0 4px}
.mb-est-go .ck-btn{width:100%}
.mb-strip{padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);background:color-mix(in srgb,var(--surface) 60%,transparent)}
.mb-strip-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.mb-strip-in p{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(18px,1.8vw,24px);letter-spacing:-.02em;line-height:1.25;color:var(--fg-1);text-wrap:balance;max-width:48ch}
@media(max-width:560px){.mb-strip-in .ck-btn{width:100%}}
#brief{scroll-margin-top:110px}
@media (prefers-reduced-motion:reduce){.mb-att-chip{transition:none}}

/* ==== pr-v3.css ==== */
/* PR and Authority v3: v2 plus the reserved rail gutter and the proof section at the end of this file.
   PR and Authority v2. Shares the drawing system of the other service pages through the PR v1 base below, then
   adds the editorial v2 layer. No blur layers anywhere on this page. */
/* PR and Authority v1. Builds on mvp-v1.css and mvp-v2.css and shares the drawing system of Industrial B2B v2,
   SEO and Content v1 and Brand and Design v1. The scene reads unscaled offsets inside .pr-in. Stage labels are 12px or more. */
/* SEO and Content v1. Builds on mvp-v1.css (hero shell, glass, rail, flat cards) and mvp-v2.css (form layout).
   Shares the Industrial B2B v2 drawing system. The scene reads unscaled offsets inside .pr-in. Stage labels are 12px or more. */
/* hero copy is visible from the first paint; the scroll fade only applies once the hero script has run */
.pr .mv-intro{opacity:1;transform:none}
.pr.mv--ready .mv-intro{opacity:calc(1 - var(--intro,0));transform:translateY(calc(var(--intro,0) * -40px))}
.pr .mv-intro{width:min(520px,40vw)}
.pr .mv-h1{font-size:clamp(32px,3.4vw,56px)}
.pr .mv-card{width:min(440px,38vw)}
@media (max-width:1100px){.pr .mv-card{width:min(400px,38vw)}}
@media (max-height:760px){.pr .mv-h1{font-size:clamp(28px,3vw,46px)}}
.pr .mv-shade{background:linear-gradient(90deg,rgba(10,14,26,.9) 0,rgba(10,14,26,.6) 34%,rgba(10,14,26,0) 56%)}
.pr-act{position:absolute;z-index:2;left:calc(clamp(24px,5vw,80px) + min(520px,40vw) + clamp(12px,2vw,36px));right:clamp(150px,12.4vw,178px);top:calc(var(--nav-h) + 18px);bottom:56px;pointer-events:none}
@media (max-width:1100px){.pr-act{right:64px}}
.pr-in{position:absolute;inset:0;container-type:size}
.mv--loading .pr-act,.mv--cards .pr-act{visibility:hidden}
.mv--flat .pr-act,.mv--flat .pr-poster2{display:none}
.pr-glass{background:linear-gradient(180deg,rgba(74,158,255,.12),rgba(10,16,32,.74));border:1px solid rgba(127,184,255,.28);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);color:#E6EEFA}
/* portrait tablets: copy on top, the scene below it */
@media (max-width:1023px) and (min-height:700px){.pr .mv-intro{bottom:auto;width:calc(100% - 120px);justify-content:flex-start}.pr .mv-card{top:calc(var(--nav-h) + 20px);width:calc(100% - 48px - 80px)}.pr .mv-card,.pr .mv-card.is-on{transform:none}.pr-act{left:24px;right:72px;top:max(50%,calc(var(--nav-h) + 400px));bottom:48px}.pr .mv-shade{background:linear-gradient(180deg,rgba(10,14,26,.92) 0,rgba(10,14,26,.6) 42%,rgba(10,14,26,0) 60%)}}
/* short viewports */
@media (min-width:768px) and (max-height:700px){
.pr .mv-intro{justify-content:flex-start;top:calc(var(--nav-h) + 10px);bottom:24px;gap:12px}
.pr .mv-h1{font-size:clamp(24px,2.7vw,36px)}
.pr .mv-sub{font-size:14.5px;line-height:1.45}
.pr .mv-ctas{flex-wrap:nowrap;gap:10px}
.pr .mv-ctas .btn{padding:11px 16px;font-size:13px;white-space:normal}
.pr .mv-intro .ck-under{display:none}
.pr .mv-card{padding:18px 20px;gap:10px}
.pr .mv-card h2{font-size:clamp(20px,2vw,28px)}
.pr .mv-card p.mv-body{font-size:14.5px}
.pr-act{top:calc(var(--nav-h) + 6px);bottom:28px}
.pr .mv-hint{display:none}
.pr .mv-rail{top:calc(50% + 34px)}
}

/* ---------- form ---------- */
.mb-grid .ck-chips{flex-wrap:wrap}
.ck-chip:has(input[type="checkbox"]:checked) .box::after{width:9px;height:5px;border-radius:0;background:none;border-left:2px solid var(--ck-on);border-bottom:2px solid var(--ck-on);transform:translateY(-1px) rotate(-45deg)}
/* ================= v2 sections: engineering drawing system ================= */
:root{--ix-b:#4A9EFF;--ix-t:#2DD4BF;--ix-a:#F5A524;--ix-bt:#7FB8FF;--ix-tt:#5EEAD4;--ix-at:#F5B94A;--ix-line:color-mix(in srgb,var(--fg-1) 16%,transparent)}
[data-theme="light"]{--ix-bt:#1D5FB8;--ix-tt:#0F766E;--ix-at:#9A5B00}
.ix-grid{position:relative;isolation:isolate}
.ix-grid::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--fg-1) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--fg-1) 3%,transparent) 1px,transparent 1px);background-size:24px 24px}
.ix-ruler{height:9px;border-top:1px solid var(--border-1);background:repeating-linear-gradient(90deg,var(--border-strong) 0 1px,transparent 1px 24px) 0 0/100% 5px no-repeat,repeating-linear-gradient(90deg,var(--border-strong) 0 1px,transparent 1px 120px) 0 0/100% 9px no-repeat;opacity:.8}
html.ix-io .ix-r:not(.is-in){opacity:0;transform:translateY(12px)}
.ix-r{transition:opacity .45s ease-out var(--d,0ms),transform .45s ease-out var(--d,0ms)}
.ix-draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s ease-out var(--d,0ms)}
.is-in .ix-draw,.is-on .ix-draw{stroke-dashoffset:0}
.ix-line{margin:28px 0 0;color:var(--fg-1);font-size:18px;line-height:1.55;max-width:64ch}
.ix-viz-k{margin:0;font:500 12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.ix-note{margin:20px 0 0;font:500 12px/1.5 var(--font-mono);letter-spacing:.06em;color:var(--fg-3)}
.src{margin:0;font-size:12px;line-height:1.5;color:var(--fg-3)}
/* ---------- F. programme as a datasheet ---------- */
.ix-prog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:1023px){.ix-prog{grid-template-columns:1fr}}
.ix-ds{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ix-ds-h{margin:0;padding:12px 20px;font:600 12px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-1);background:color-mix(in srgb,var(--ix-b) 16%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ix-b) 40%,transparent)}
.ix-ds-t{margin:0;padding:6px 20px 0}
.ix-ds-t div{display:grid;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--border-1)}
.ix-ds-t div:last-child{border-bottom:0}
.ix-ds-t dt{font:500 12px/1.7 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.ix-ds-t dd{margin:0;font-size:16px;line-height:1.5;color:var(--fg-1)}
.ix-ds .ck-btn{margin:16px 20px 20px;align-self:flex-start}
.ix-year{display:flex;flex-direction:column;gap:14px;max-width:600px;width:100%}
.ix-brk{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px 5px}
.ix-brk span{position:relative;height:30px;border-top:2px solid;border-left:1px solid;border-right:1px solid;border-radius:3px 3px 0 0}
.ix-brk b{position:absolute;left:6px;top:4px;font:500 12px var(--font-mono);white-space:nowrap}
.ix-brk .b1{grid-row:1;border-color:var(--ix-b)}.ix-brk .b1 b{color:var(--ix-bt)}
.ix-brk .b2{grid-row:2;border-color:var(--ix-t)}.ix-brk .b2 b{color:var(--ix-tt)}
.ix-brk .b3{grid-row:3;border-color:color-mix(in srgb,var(--fg-1) 45%,transparent);border-right-style:dashed}.ix-brk .b3 b{color:var(--fg-2)}
.ix-cells{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px}
.ix-cells i{aspect-ratio:1;border-radius:3px;border:1px solid var(--border-strong);transition:background .25s,border-color .25s}
.ix-cells i.is-lit.z1{background:var(--ix-b);border-color:var(--ix-b)}
.ix-cells i.is-lit.z2{background:color-mix(in srgb,var(--ix-t) 75%,var(--ix-b));border-color:var(--ix-t)}
.ix-cells i.is-lit.z3{background:color-mix(in srgb,var(--ix-t) 55%,transparent);border-color:color-mix(in srgb,var(--ix-t) 70%,transparent)}
.ix-cells i.q{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--ix-a)}
.ix-legend-l{margin:0;font:500 12px var(--font-mono);letter-spacing:.06em;color:var(--fg-3)}
.ix-year-notes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ix-year-notes li{display:flex;gap:12px;align-items:flex-start}
.ix-year-notes p{margin:0;font-size:16px;line-height:1.5;color:var(--fg-2)}
.ix-year-notes b{color:var(--fg-1);font-weight:600}
.key{flex:none;width:18px;height:10px;margin-top:7px;border-top:2px solid}
.key.b1{border-color:var(--ix-b)}.key.b2{border-color:var(--ix-t)}.key.b3{border-color:color-mix(in srgb,var(--fg-1) 45%,transparent);border-top-style:dashed}
.key.q{width:12px;height:12px;margin:5px 3px 0;border:0;border-radius:3px;box-shadow:0 0 0 1.5px var(--ix-a)}
/* ---------- G. fit check ---------- */
.ix-fit{display:flex;flex-direction:column;max-width:880px}
.ix-fq{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 28px;padding:16px 0;border-bottom:1px solid var(--border-1)}
.ix-fq:first-child{border-top:1px solid var(--border-1)}
.ix-fq p{margin:0;font-size:17px;line-height:1.5;color:var(--fg-1)}
.ix-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:99px;padding:3px;gap:3px}
.ix-seg button{min-width:72px;min-height:44px;padding:0 18px;border:0;border-radius:99px;background:transparent;color:var(--fg-2);font:600 15px var(--font-sans);cursor:pointer}
.ix-seg button:hover{color:var(--fg-1)}
.ix-seg button:focus-visible{outline:2px solid var(--ix-t);outline-offset:2px}
.ix-seg button[aria-pressed="true"][data-v="1"]{background:color-mix(in srgb,var(--ix-t) 22%,transparent);color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--ix-t)}
.ix-seg button[aria-pressed="true"][data-v="0"]{background:color-mix(in srgb,var(--fg-1) 12%,transparent);color:var(--fg-1)}
@media (max-width:560px){.ix-fq{grid-template-columns:1fr}}
.ix-fit-res{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;min-height:44px;margin-top:22px}
.ix-fit-res p{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(18px,1.8vw,22px);line-height:1.4;color:var(--fg-1)}
.ix-fit-res p:empty,.ix-fit-res .ck-btn[hidden]{display:none}
/* ---------- I. standards band ---------- */
.ix-std{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ix-std li{display:flex;flex-direction:column;gap:14px;padding:4px clamp(16px,2vw,28px);border-left:1px solid var(--border-strong)}
.ix-std li:first-child{border-left:0;padding-left:0}
.ix-std svg{width:28px;height:28px;stroke:var(--ix-at);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ix-std span{font-size:16px;line-height:1.5;color:var(--fg-1)}
@media (max-width:900px){.ix-std{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.ix-std li:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:520px){.ix-std{grid-template-columns:1fr}.ix-std li{border-left:0;padding:0 0 20px;border-bottom:1px solid var(--border-1)}}
/* ---------- reduced motion: final states, no travel ---------- */
@media (prefers-reduced-motion:reduce){
.ix-r,.ix-draw,.ix-node,.ix-st,.ix-lk p,.ix-lk::before,.ix-rows li,.ix-ai-l i,.ix-ai-s span,.ix-scale .new,.ix-bars .now .bar i,.ix-split i,.ix-dots i,.ix-fn .dot,.ix-cells i,.ix-m{transition:none!important}
.ix-flow::after,.ix-jr-dot{display:none}.ix-scale .arr{transition:none!important}
.ix-cb{animation:none}
}

/* safety: without a running observer every final state shows */
html:not(.ix-io) .ix-draw{stroke-dashoffset:0}
html:not(.ix-io) .ix-st{opacity:1}
html:not(.ix-io) .ix-lk p{opacity:1;transform:none;color:var(--fg-1)}
html:not(.ix-io) .ix-lk::before{transform:scaleY(1)}
html:not(.ix-io) .ix-lk .ix-node{border-color:var(--ix-a);background:var(--ix-a)}
html:not(.ix-io) .ix-jr-end{opacity:1;transform:none}
html:not(.ix-io) .ix-jr-track .p{stroke-dashoffset:0}
html:not(.ix-io) .ix-jr-dot{display:none}
html:not(.ix-io) .ix-scale .new{left:var(--x)}
html:not(.ix-io) .ix-scale .arr-l{opacity:1}
html:not(.ix-io) .ix-look-txt~.ix-look-dev .ix-m-search{opacity:1;visibility:visible}
html:not(.ix-io) .ix-mslot .ix-m{opacity:1;visibility:visible}
html:not(.ix-io) .ix-mslot .ix-ai-l i,html:not(.ix-io) .ix-look-dev .ix-ai-l i{transform:none}
html:not(.ix-io) .ix-ai-s span{opacity:1;transform:none}
html:not(.ix-io) .ix-cells i.z1{background:var(--ix-b);border-color:var(--ix-b)}
html:not(.ix-io) .ix-cells i.z2{background:color-mix(in srgb,var(--ix-t) 75%,var(--ix-b));border-color:var(--ix-t)}
html:not(.ix-io) .ix-cells i.z3{background:color-mix(in srgb,var(--ix-t) 55%,transparent);border-color:color-mix(in srgb,var(--ix-t) 70%,transparent)}
html:not(.ix-io) .ix-fn .dot{border-color:var(--ix-t);background:var(--ix-t)}
html:not(.ix-io) .ix-anat-lines .ix-dot{opacity:1}


/* ================= PR and Authority: hero overlays ================= */
.pr-glass{background:linear-gradient(180deg,rgba(74,158,255,.12),rgba(10,16,32,.78));border:1px solid rgba(127,184,255,.3);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);color:#E6EEFA}
.pr-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;font:600 12.5px/1.3 var(--font-sans);white-space:nowrap;color:#E6EEFA;background:rgba(10,16,32,.84);border:1px solid rgba(74,158,255,.6);opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.pr-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:#4A9EFF;box-shadow:0 0 8px #4A9EFF}
.pr-chip.a{border-color:#F5A524}.pr-chip.a::before{background:#F5A524;box-shadow:0 0 8px #F5A524}
.pr-chip.t{border-color:rgba(45,212,191,.7)}.pr-chip.t::before{background:#2DD4BF;box-shadow:0 0 8px #2DD4BF}
.pr-chip.is-on{opacity:1;transform:none}
/* the release document: lines appear as the intro particles land (--ip from the scene, 1 without it) */
.pr-doc{position:absolute;left:31cqw;width:38cqw;top:10cqh;height:72cqh;padding:3.2cqh 2.6cqw;display:flex;flex-direction:column;gap:1.6cqh;border-radius:12px;background:linear-gradient(180deg,rgba(245,165,36,.07),rgba(10,16,32,.82));border:1px solid rgba(245,165,36,.45);box-shadow:0 0 50px rgba(245,165,36,.16),0 18px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.07);opacity:clamp(0,calc((var(--ip,1) - .25) * 4),1);transform:scale(.9);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pr-doc:not(.is-on){opacity:0}
.pr[data-ch="2"] .pr-doc{transform:scale(1)}
.pr[data-ch="3"] .pr-doc{transform:scale(.62)}
.pr-doc>i,.pr-doc .qt i,.pr-doc .bp i,.pr-doc .ct i{display:block;height:max(6px,1.1cqh);border-radius:4px;background:rgba(207,224,245,.3)}
.pr-doc>i,.pr-doc .qt{opacity:clamp(0,calc((var(--ip,1) - var(--t,0)) * 9),1)}
.pr-doc .hl{height:max(11px,2.3cqh);width:80%;background:rgba(245,165,36,.55);transition:background .4s,box-shadow .4s}
.pr-doc .hl.s{width:56%;height:max(9px,1.7cqh)}
.pr-doc .hl.is-on{background:#F5A524;box-shadow:0 0 14px rgba(245,165,36,.5)}
.pr-doc .s{width:62%}
.pr-dk-k{margin:0;font:500 12px/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#C9B48F}
.pr-doc .dl{width:34%;background:rgba(127,184,255,.4);opacity:0;transition:opacity .4s}
.pr-doc .dl.is-on{opacity:1}
.pr-doc .qt{display:flex;flex-direction:column;gap:.9cqh;padding:1.6cqh 1.4cqw;border-left:2px solid #2DD4BF;border-radius:4px;background:rgba(45,212,191,.08)}
.pr-doc .qt i{background:rgba(207,240,235,.45)}
.pr-doc .bp,.pr-doc .ct{display:flex;flex-direction:column;gap:.8cqh;padding-top:1.2cqh;border-top:1px solid rgba(127,184,255,.2);opacity:0;transition:opacity .45s}
.pr-doc .bp.is-on,.pr-doc .ct.is-on{opacity:1}
.pr-doc .ct i{width:40%;background:rgba(127,184,255,.35)}
.pr-dk{position:absolute;padding:5px 11px;border-radius:99px;font:600 12.5px/1.3 var(--font-sans);white-space:nowrap;color:#E6EEFA;background:rgba(10,16,32,.9);border:1px solid #F5A524;opacity:0;transition:opacity .4s,transform .6s cubic-bezier(.2,.8,.2,1)}
.pr-dk.d1{right:-9cqw;top:5cqh;transform:translate(18cqw,-8cqh) rotate(8deg)}
.pr-dk.d2{left:-11cqw;top:34cqh;transform:translate(-16cqw,6cqh) rotate(-8deg)}
.pr-dk.d3{right:-8cqw;top:58cqh;transform:translate(16cqw,10cqh) rotate(6deg)}
.pr-dk.is-on{opacity:1;transform:none}
.pr-tick{position:absolute;right:-12px;bottom:-12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#F5A524;box-shadow:0 0 16px rgba(245,165,36,.7);opacity:0;transform:scale(.4);transition:opacity .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.pr-tick svg{width:18px;height:18px;stroke:#2A1A02;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pr-tick.is-on{opacity:1;transform:none}
.pr-c2{left:50%;bottom:2cqh;translate:-50% 0}
.pr-count{position:absolute;right:0;top:0;margin:0;padding:6px 12px;border-radius:8px;font:500 13px/1.2 var(--font-mono);color:#CFE0F5;background:rgba(10,16,32,.8);border:1px solid rgba(127,184,255,.35);opacity:0;transition:opacity .3s}
.pr-count b{font-weight:600;color:#E6EEFA;font-variant-numeric:tabular-nums}
.pr-count.is-on{opacity:1}
.pr-c3{left:50%;bottom:2cqh;translate:-50% 0}
.pr-serp{position:absolute;left:0;width:56cqw;top:4cqh;bottom:12cqh;padding:14px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateX(-14px);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.pr-serp.is-on{opacity:1;transform:none}
.pr-serp .fld{display:flex;align-items:center;gap:10px;height:36px;padding:0 14px;border-radius:99px;border:1px solid rgba(127,184,255,.45)}
.pr-serp .fld svg{width:16px;height:16px;stroke:#9CC8FF;stroke-width:1.8;stroke-linecap:round}
.pr-serp .fld b{font:600 13px var(--font-sans);color:#E6EEFA}
.pr-serp .row{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-radius:6px;border:1px solid rgba(127,184,255,.14)}
.pr-serp .row i,.pr-serp .news i{display:block;height:6px;width:70%;border-radius:3px;background:rgba(207,224,245,.24)}
.pr-serp .row i.s,.pr-serp .news i.s{width:46%;background:rgba(207,224,245,.14)}
.pr-serp .row.site{border-color:rgba(127,184,255,.35)}
.pr-serp .news{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pr-serp .news div{display:flex;flex-direction:column;gap:6px;padding:10px 8px;min-height:58px;border-radius:8px;border:1px solid #F5A524;background:rgba(245,165,36,.1);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .4s}
.pr-serp .news div.is-on{opacity:1;transform:none}
.pr-ai{position:absolute;left:60cqw;right:0;top:14cqh;bottom:22cqh;padding:14px;display:flex;flex-direction:column;gap:12px;border-color:rgba(45,212,191,.55);opacity:0;transform:translateY(10px);transition:opacity .4s,transform .5s}
.pr-ai.is-on{opacity:1;transform:none}
.pr-ai .hd{margin:0;display:flex;align-items:center;gap:8px;font:600 12.5px var(--font-mono);letter-spacing:.06em;color:#5EEAD4}
.pr-ai .hd svg{width:16px;height:16px;stroke:#2DD4BF;stroke-width:1.5;stroke-linejoin:round}
.pr-ai .ln{display:flex;flex-direction:column;gap:9px}
.pr-ai .ln i{display:block;height:7px;width:94%;border-radius:4px;background:rgba(207,224,245,.3)}
.pr-ai .ln i.s{width:60%}
.pr-ai .pr-chip.in{position:relative;align-self:flex-start}
.pr-c4{left:0;bottom:2cqh}
.pr-auth{position:absolute;inset:0 0 10cqh;opacity:0;transition:opacity .4s}
.pr-auth.is-on{opacity:1}
.pr-alines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#F5A524;stroke-width:3;stroke-linecap:round}
.pr-alines path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s ease-out var(--d,0ms);filter:drop-shadow(0 0 6px rgba(245,165,36,.5))}
.pr-auth.is-on .pr-alines path{stroke-dashoffset:0}
.pr-at{position:absolute;left:var(--x);top:var(--y);width:20cqw;height:15cqh;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;border-radius:10px;background:linear-gradient(180deg,rgba(74,158,255,.18),rgba(10,16,32,.85));border:1px solid rgba(160,200,255,.6);box-shadow:0 12px 30px rgba(0,0,0,.4);opacity:0;transform:translateZ(0) scale(.6);transition:opacity .4s,transform .55s cubic-bezier(.2,.8,.2,1)}
.pr-auth.is-on .pr-at{opacity:1;transform:none}
.pr-auth.is-on .pr-at:nth-of-type(2){transition-delay:.08s}.pr-auth.is-on .pr-at:nth-of-type(3){transition-delay:.16s}.pr-auth.is-on .pr-at:nth-of-type(4){transition-delay:.24s}.pr-auth.is-on .pr-at:nth-of-type(5){transition-delay:.32s}
.pr-at i{display:block;height:7px;width:80%;border-radius:4px;background:rgba(235,242,255,.6)}
.pr-at i.s{width:52%;background:rgba(207,224,245,.3)}
.pr-site{position:absolute;right:6cqw;bottom:6cqh;display:flex;align-items:center;gap:10px}
.pr-site span{width:30px;height:30px;border-radius:50%;background:#F5A524;box-shadow:0 0 24px rgba(245,165,36,.8),0 0 0 6px rgba(245,165,36,.18)}
.pr-site b{font:600 13px var(--font-sans);color:#FFE3B0}
.pr-c5{left:0;bottom:0}
.pr-trust{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.pr-trust.is-on{opacity:1}
.pr-feat{position:absolute;left:0;right:0;top:4cqh;padding:12px 16px;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(-8px);transition:opacity .4s,transform .5s}
.pr-feat.is-on{opacity:1;transform:none}
.pr-feat b{font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#CFE0F5;white-space:nowrap}
.pr-feat i{flex:1;height:26px;border-radius:13px;border:1px solid rgba(207,224,245,.4);background:rgba(207,224,245,.06)}
.pr-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#4A9EFF;stroke-width:1.6;stroke-dasharray:1;stroke-linecap:round}
.pr-path path{stroke-dasharray:1;stroke-dashoffset:1}
.pr-st{position:absolute;top:56cqh;padding:6px 12px;border-radius:99px;font:600 12.5px var(--font-sans);white-space:nowrap;color:#E6EEFA;background:rgba(10,16,32,.85);border:1px solid rgba(74,158,255,.5);opacity:.35;transition:opacity .3s,border-color .3s}
.pr-st:nth-of-type(1){left:2cqw}.pr-st:nth-of-type(2){left:30cqw}.pr-st:nth-of-type(3){left:58cqw}
.pr-st.is-on{opacity:1;border-color:#4A9EFF}
.pr-cal{position:absolute;right:2cqw;top:48cqh;width:64px;height:64px;display:grid;place-items:center;border-radius:12px;background:rgba(245,165,36,.16);border:1.5px solid #F5A524;box-shadow:0 0 24px rgba(245,165,36,.35);opacity:.35;transition:opacity .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.pr-cal svg{width:32px;height:32px;stroke:#F5A524;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pr-cal.is-on{opacity:1;transform:scale(1.06)}
.pr-person{position:absolute;left:-18px;top:-18px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgba(74,158,255,.22);border:1.5px solid #4A9EFF;box-shadow:0 0 16px rgba(74,158,255,.5)}
.pr-person svg{width:20px;height:20px;stroke:#CFE0F5;stroke-width:1.6;stroke-linecap:round}
.pr-poster2{opacity:0!important}
.pr.mv--cards:is([data-ch="4"],[data-ch="5"],[data-ch="6"]) .mv-poster:not(.pr-poster2){opacity:0}
.pr.mv--cards:is([data-ch="4"],[data-ch="5"],[data-ch="6"]) .pr-poster2{opacity:.8!important}
.pr .mv-tag{width:auto;max-width:100%;flex:none;height:auto;min-height:28px;padding:5px 12px;border-radius:14px;white-space:nowrap;line-height:1.35}
.pr .mv-card-top{flex-wrap:wrap;gap:8px 12px}

/* ================= sections ================= */
.pr-break{display:flex;align-items:center;height:24px}
.pr-break i{flex:1;height:1px;background:var(--border-1)}
.pr-break svg{flex:none;width:60px;height:24px;stroke:#2DD4BF;stroke-width:1.4;stroke-linecap:round}
.pr-line,.pr-honest{margin:24px 0 0;max-width:70ch;font-size:17px;line-height:1.6;color:var(--fg-1)}
.pr-ul{position:relative;display:inline-block}
.pr-ul svg{position:absolute;left:-2%;bottom:-5px;width:104%;height:9px;fill:none;stroke:#F5A524;stroke-width:2.4;stroke-linecap:round;overflow:visible}
.pr-ul path{vector-effect:non-scaling-stroke}
/* A */
.pr-seg{display:inline-flex;gap:6px;padding:4px;border:1px solid var(--border-strong);border-radius:16px}
.pr-seg button{min-height:44px;padding:0 18px;border:0;border-radius:12px;background:transparent;color:var(--fg-2);font:600 15px var(--font-sans);cursor:pointer;white-space:nowrap}
.pr-seg button[aria-pressed="true"]{background:color-mix(in srgb,#F5A524 18%,transparent);color:var(--fg-1);box-shadow:inset 0 0 0 1px #F5A524}
.pr-seg button:focus-visible{outline:2px solid #2DD4BF;outline-offset:2px}
.pr-sp{position:relative;margin-top:20px;max-width:880px;padding:18px;display:grid}
.pr-sp .fld{display:flex;align-items:center;gap:10px;height:42px;padding:0 16px;margin-bottom:14px;border-radius:99px;border:1px solid var(--border-strong)}
.pr-sp .fld svg{width:16px;height:16px;stroke:var(--fg-2);stroke-width:1.8;stroke-linecap:round}
.pr-sp .fld b{font-size:16px;color:var(--fg-1)}
.pr-sp .st{grid-area:2/1;display:flex;flex-direction:column;gap:10px;transition:opacity .4s}
.pr-sp .fld{grid-area:1/1}
#prBA:not([data-s="1"]) .s1,#prBA[data-s="1"] .s0{opacity:0;visibility:hidden}
.pr-r{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-1)}
.pr-r span{font-size:15px;color:var(--fg-1)}
.pr-r i{display:block;height:6px;width:60%;border-radius:3px;background:color-mix(in srgb,var(--fg-1) 18%,transparent)}
.pr-r.you{border-color:color-mix(in srgb,#4A9EFF 60%,transparent)}
.pr-r.dim{opacity:.4}
.pr-news{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pr-news div{display:flex;flex-direction:column;gap:8px;padding:12px 10px;border-radius:8px;border:1px solid #F5A524;background:color-mix(in srgb,#F5A524 10%,transparent)}
.pr-news b{font:500 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-1)}
.pr-news i{display:block;height:6px;border-radius:3px;background:color-mix(in srgb,var(--fg-1) 22%,transparent)}
@media (max-width:640px){.pr-news{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pr-aic{margin-top:6px;padding:14px;border-radius:10px;border:1px solid color-mix(in srgb,#2DD4BF 50%,transparent);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.pr-aic .hd{width:100%;margin:0;display:flex;align-items:center;gap:8px;font:600 12.5px var(--font-mono);color:var(--fg-2)}
.pr-aic .hd svg{width:14px;height:14px;stroke:#2DD4BF;stroke-width:1.5}
.pr-aic .t{margin:0;font-size:16px;color:var(--fg-1)}
.pr-innews{padding:4px 10px;border-radius:99px;font:600 12.5px var(--font-sans);color:#2A1A02;background:#F5A524}
/* B */
.pr-flow{position:relative;padding-top:6px}
.pr-fl{position:absolute;left:0;right:0;top:24px;width:100%;height:20px;fill:none;stroke:#2DD4BF;stroke-width:1.6;opacity:.7}
.pr-fl path{vector-effect:non-scaling-stroke}
.pr-pulse{position:absolute;top:28px;left:2%;width:12px;height:12px;border-radius:50%;background:#2DD4BF;box-shadow:0 0 14px #2DD4BF;opacity:0}
.pr-flow.is-in .pr-pulse{animation:prTravel 2.2s cubic-bezier(.4,.1,.3,1) .5s 1 both}
@keyframes prTravel{0%{left:2%;opacity:0}8%,92%{opacity:1}100%{left:97%;opacity:0}}
.pr-flow ol{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pr-flow li{display:flex;flex-direction:column;gap:8px}
.pr-flow .n{width:30px;height:30px;margin:4px 0 10px;display:grid;place-items:center;border-radius:50%;background:var(--bg);border:1.5px solid #2DD4BF;font:600 12px var(--font-mono);color:#5EEAD4}
.pr-flow.is-in .n{animation:prLight .4s ease-out calc(.5s + var(--i) * .5s) both}
@keyframes prLight{to{background:#2DD4BF;color:#03231E}}
.pr-flow b{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.2vw,30px);color:var(--fg-1)}
.pr-flow p{margin:0;font-size:16px;line-height:1.5;color:var(--fg-2)}
@media (max-width:860px){.pr-flow ol{grid-template-columns:1fr;padding-left:34px}.pr-fl,.pr-pulse{display:none}.pr-flow ol::before{content:"";position:absolute;left:14px;top:12px;bottom:12px;width:1.5px;background:color-mix(in srgb,#2DD4BF 50%,transparent)}.pr-flow .n{margin:0 0 0 -34px;position:absolute}.pr-flow li{position:relative}}
/* C */
.pr-grid{display:block;width:100%;height:auto}
.pr-grid rect{fill:color-mix(in srgb,var(--fg-1) 7%,transparent);transition:fill .45s}
.pr-grid rect.on.g0{fill:#4A9EFF}.pr-grid rect.on.g1{fill:#2DD4BF}.pr-grid rect.on.g2{fill:#F5A524}.pr-grid rect.on.g3{fill:#9C8CFF}.pr-grid rect.on.g4{fill:#E8A9B8}
.pr-leg{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;color:var(--fg-2)}
.pr-leg li{display:flex;align-items:center;gap:8px}
.pr-leg i{width:14px;height:14px;border-radius:4px}
.pr-leg .g0{background:#4A9EFF}.pr-leg .g1{background:#2DD4BF}.pr-leg .g2{background:#F5A524}.pr-leg .g3{background:#9C8CFF}.pr-leg .g4{background:#E8A9B8}
.pr-outlets{margin:14px 0 0;font-size:16px;color:var(--fg-1)}
.pr-outlets[hidden]{display:none}
/* D */
.pr-rules{max-width:980px}
.pr-rules .ix-ds-t div{grid-template-columns:minmax(160px,.4fr) minmax(0,1fr)}
.pr-rules .ix-ds-t div[hidden]{display:none}
.pr-rules dt{display:flex;align-items:flex-start;gap:10px}
.pr-rules dt svg{flex:none;width:18px;height:18px;margin-top:1px;stroke:#2DD4BF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
@media (max-width:620px){.pr-rules .ix-ds-t div{grid-template-columns:1fr;gap:6px}}
.pr-sample{margin-top:18px;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--fg-1)}
.pr-sample[hidden]{display:none}
.pr-sample svg{width:14px;height:14px}
/* E */
.bd-pk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);align-items:stretch}
@media (max-width:960px){.bd-pk{grid-template-columns:1fr}}
.bd-pkc{position:relative;display:flex;flex-direction:column}
.bd-pkc .for{margin:16px 20px 6px;font-size:16px;line-height:1.55;color:var(--fg-1);flex:1}
.bd-pkc .ix-ds-t div{grid-template-columns:1fr;gap:4px}
.bd-pkc .ck-btn{margin:16px 20px 20px;align-self:flex-start;white-space:nowrap}
.bd-pkc.is-rec{border-color:#F5A524;box-shadow:0 0 0 1px #F5A524,0 18px 50px rgba(245,165,36,.12)}
.bd-rec{position:absolute;right:16px;top:-12px;padding:4px 10px;border-radius:99px;font:600 12px var(--font-mono);letter-spacing:.06em;color:#2A1A02;background:#F5A524}
/* F */
.sc-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border:1px solid var(--border-strong);border-radius:16px;max-width:100%}
.sc-tabs button{min-height:44px;padding:0 16px;border:0;border-radius:12px;background:transparent;color:var(--fg-2);font:600 15px var(--font-sans);cursor:pointer;white-space:nowrap}
.sc-tabs button:hover{color:var(--fg-1)}
.sc-tabs button:focus-visible,.pr-tp:focus-visible{outline:2px solid #2DD4BF;outline-offset:2px}
.sc-tabs button[aria-selected="true"]{background:color-mix(in srgb,#2DD4BF 22%,transparent);color:var(--fg-1);box-shadow:inset 0 0 0 1px #2DD4BF}
.pr-tp{margin-top:28px;padding:4px 0 4px clamp(18px,2.4vw,32px);border-left:1px solid #2DD4BF;display:flex;flex-direction:column;gap:22px;transition:opacity .12s}
.pr-tp.is-fade{opacity:0}
.pr-shape{margin:8px 0 0;font:500 clamp(16px,1.6vw,20px)/1.5 var(--font-mono);color:var(--fg-1)}
.pr-shape b{font-weight:600;color:#F5B94A}
.pr-tp2{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,4vw,56px)}
@media (max-width:760px){.pr-tp2{grid-template-columns:1fr}}
.pr-need{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.pr-need li{position:relative;padding-left:22px;font-size:16px;line-height:1.5;color:var(--fg-1)}
.pr-need li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:1.5px;background:#2DD4BF}
.pr-best{margin:10px 0 0;font-size:16px;line-height:1.5;color:var(--fg-1)}
.pr-tp .ck-btn{align-self:flex-start;white-space:nowrap}
.ix-fit-res .ck-btn--ghost[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.pr-pulse,.pr-flow .n{animation:none!important}.pr-flow .n{background:#2DD4BF;color:#03231E}.pr-grid rect,.pr-sp .st,.pr-tp{transition:none!important}}

/* ================= PR and Authority v2 ================= */
/* stability: nothing on this page uses a blur layer */
*,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.pr2-serif{font-family:"Newsreader",Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.01em}
.pr2{--tk:34px}
.pr2 .mv-intro{opacity:1;transform:none;width:min(540px,41vw);top:calc(var(--nav-h) + var(--tk) + 20px)}
.pr2.mv--ready .mv-intro{opacity:calc(1 - var(--intro,0));transform:translateY(calc(var(--intro,0) * -40px))}
.pr2 .mv-h1{text-transform:none;font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:clamp(34px,3.7vw,60px);line-height:1.04;letter-spacing:-.02em}
.pr2 .mv-card h2{font-family:"Newsreader",Georgia,serif;font-weight:500;letter-spacing:-.01em}
.pr2 .mv-card{width:min(440px,38vw)}
.pr2 .mv-tag{width:auto;max-width:100%;flex:none;height:auto;min-height:28px;padding:5px 12px;border-radius:14px;white-space:nowrap}
.pr2 .mv-card-top{flex-wrap:wrap;gap:8px 12px}
.pr2 .mv-shade{background:linear-gradient(90deg,rgba(10,14,26,.92) 0,rgba(10,14,26,.6) 34%,rgba(10,14,26,0) 56%)}
@media (max-height:760px){.pr2 .mv-h1{font-size:clamp(28px,3.1vw,46px)}}
@media (min-width:768px) and (max-height:700px){.pr2 .mv-intro{gap:12px;bottom:20px}.pr2 .mv-sub{font-size:14.5px;line-height:1.45}.pr2 .mv-intro .ck-under{display:none}.pr2 .mv-hint{display:none}}
/* ticker */
.pr2-ticker{position:absolute;z-index:4;left:0;right:0;top:var(--nav-h);height:var(--tk);display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(8,11,20,.94)}
.pr2-tk-l{flex:none;height:100%;display:flex;align-items:center;white-space:nowrap;padding:0 14px;font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#0A0E1A;background:#F5A524}
.pr2-tk-m{flex:1;overflow:hidden;height:100%}
.pr2-tk-t{display:inline-flex;height:100%;align-items:center;white-space:nowrap;animation:pr2Tick 70s linear infinite}
.pr2-tk-t span{display:inline-flex;align-items:center;gap:10px;padding:0 28px;font:500 13.5px var(--font-sans);color:#DCE3EE;border-right:1px solid rgba(255,255,255,.1)}
.pr2-tk-t span b{font:600 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#F5A524}
.pr2-tk-t .dup{display:inline-flex;padding:0;border:0}
.pr2-ticker:hover .pr2-tk-t,.pr2-ticker:focus-within .pr2-tk-t{animation-play-state:paused}
@keyframes pr2Tick{to{transform:translateX(-50%)}}
/* hero overlay */
.pr2-act{position:absolute;z-index:2;left:calc(clamp(24px,5vw,80px) + min(540px,41vw) + clamp(12px,2vw,36px));right:clamp(150px,12.4vw,178px);top:calc(var(--nav-h) + var(--tk) + 14px);bottom:56px;pointer-events:none}
@media (max-width:1100px){.pr2-act{right:64px}}
.pr2-in{position:absolute;inset:0;container-type:size}
.mv--loading .pr2-act,.mv--cards .pr2-act{visibility:hidden}
.mv--flat .pr2-act,.mv--flat .pr2-poster2,.mv--flat .pr2-ticker{display:none}
.pr2-poster2{opacity:0!important}
.pr2.mv--cards .mv-poster{opacity:.8;transition:opacity .8s}
.pr2.mv--cards:is([data-ch="4"],[data-ch="5"],[data-ch="6"],[data-ch="7"]) .mv-poster:not(.pr2-poster2){opacity:0}
.pr2.mv--cards:is([data-ch="4"],[data-ch="5"],[data-ch="6"],[data-ch="7"]) .pr2-poster2{opacity:.8!important}
.a-node{position:absolute;left:40cqw;width:20cqw;top:32cqh;height:20cqh}
.a-ring{position:absolute;left:18cqw;width:64cqw;top:12cqh;height:60cqh}
.a-outer{position:absolute;left:2cqw;width:96cqw;top:0;height:84cqh}
.pr2-in [data-on]{opacity:0;transition:opacity .4s,transform .45s cubic-bezier(.2,.8,.2,1)}
.pr2-in [data-on].is-on{opacity:1}
.pr2-glass{background:rgba(14,22,40,.93);border:1px solid rgba(170,196,232,.26);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.06);color:#E6EEFA}
.pr2-nl{position:absolute;left:50cqw;top:55cqh;translate:-50% 0;padding:5px 12px;border-radius:99px;font:600 13px var(--font-mono);letter-spacing:.04em;white-space:nowrap;color:#FFE3B0;background:rgba(40,26,4,.85);border:1px solid #F5A524}
.pr2-nl.dom{color:#0A0E1A;background:#F5A524}
.pr2-ai{position:absolute;padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-color:rgba(45,212,191,.5)}
.pr2-ai.a1{left:58cqw;right:0;top:8cqh}.pr2-ai.a6{left:0;width:36cqw;top:0}
.pr2-ai .hd{margin:0;display:flex;align-items:center;gap:8px;font:600 12.5px var(--font-mono);letter-spacing:.06em;color:#5EEAD4}
.pr2-ai .hd svg,.pr2-k .ai .hd svg{width:15px;height:15px;fill:none;stroke:#2DD4BF;stroke-width:1.5;stroke-linejoin:round}
.pr2-ai .tx{margin:0;font-size:14.5px;line-height:1.45;color:#E6EEFA}
.pr2-ai .tx b{color:#FFC768}
.pr2-ai .src{margin:0;font:500 12.5px/1.45 var(--font-mono);color:#B8C4D6}
.pr2-doc{position:absolute;left:58cqw;right:2cqw;top:2cqh;bottom:18cqh;padding:16px 18px;display:flex;flex-direction:column;gap:9px;overflow:hidden;border-color:rgba(245,165,36,.5)}
.pr2-doc .k{margin:0;font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#B8C4D6}
.pr2-doc i{display:block;height:7px;width:92%;border-radius:4px;background:rgba(207,224,245,.3)}
.pr2-doc i.h{height:16px;width:78%;background:#F5A524}
.pr2-doc i.dl{width:40%;height:6px;background:rgba(94,234,212,.5)}
.pr2-doc i.s{width:62%}
.pr2-doc .q{padding:8px 0 8px 12px;border-left:3px solid #F5A524;display:flex;flex-direction:column;gap:7px}
.pr2-doc .bp{margin-top:auto;padding:10px;border-radius:6px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:7px}
.pr2-doc [data-on]{transform:translateY(6px)}.pr2-doc [data-on].is-on{transform:none}
.pr2-tick{position:absolute;right:14px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font:600 12px var(--font-sans);color:#0A0E1A;background:#F5A524}
.pr2-tick svg{width:14px;height:14px;fill:none;stroke:#0A0E1A;stroke-width:2;stroke-linecap:round}
.pr2-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;font:600 12.5px/1.3 var(--font-sans);white-space:nowrap;color:#E6EEFA;background:rgba(10,16,32,.92);border:1px solid rgba(45,212,191,.7);transform:translateX(-10px)}
.pr2-chip.is-on{transform:none}
.pr2-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:#2DD4BF}
.pr2-chip.a{border-color:#F5A524}.pr2-chip.a::before{background:#F5A524}
.pr2-chip.c1{right:44cqw;top:16cqh}.pr2-chip.c2{right:44cqw;top:28cqh}.pr2-chip.c3{right:44cqw;top:40cqh}.pr2-chip.c4{left:30cqw;top:72cqh}
.pr2-count{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:2px}
.pr2-count b{font:500 clamp(40px,9cqh,76px)/1 "Newsreader",Georgia,serif;color:#F2F5F9}
.pr2-count span{font:500 12.5px var(--font-mono);letter-spacing:.06em;color:#B8C4D6}
.pr2-sites{position:absolute;left:2cqw;width:20cqw;top:4cqh;height:78cqh;display:flex;flex-direction:column;justify-content:space-between}
.pr2-sites .st{height:12cqh;padding:0 12px;display:flex;flex-direction:column;justify-content:center;gap:6px;border-radius:8px;background:rgba(14,22,40,.93);border:1px solid rgba(245,165,36,.5);transform:translateX(-12px);transition:transform .45s calc(var(--i) * 70ms)}
.pr2-sites.is-on .st{transform:none}
.pr2-sites i{display:block;height:6px;width:80%;border-radius:3px;background:rgba(207,224,245,.35)}.pr2-sites i.s{width:50%}
.pr2-beams,.pr2-traffic,.pr2-graph,.pr2-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none}
.pr2-beams path,.pr2-traffic path,.pr2-graph path,.pr2-path path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s ease-out}
.pr2-beams path{stroke:#F5A524;stroke-width:3.5;stroke-linecap:round}
.pr2-beams path:nth-child(2){transition-delay:.08s}.pr2-beams path:nth-child(3){transition-delay:.16s}.pr2-beams path:nth-child(4){transition-delay:.24s}.pr2-beams path:nth-child(5){transition-delay:.32s}
.pr2-traffic path{stroke:#2DD4BF;stroke-width:3;stroke-linecap:round;transition-duration:1.4s}
.pr2-graph path{stroke:rgba(45,212,191,.75);stroke-width:1.6}
.pr2-path path{stroke:#4A9EFF;stroke-width:2;stroke-dasharray:1}
.is-on>path,.pr2-beams.is-on path,.pr2-traffic.is-on path,.pr2-graph.is-on path{stroke-dashoffset:0}
.pr2-path.is-on path{stroke-dashoffset:var(--pd,1);transition:none}
.pr2-serp{position:absolute;left:54cqw;right:0;top:2cqh;bottom:18cqh;padding:14px;display:flex;flex-direction:column;gap:10px}
.pr2-serp .fld{display:flex;align-items:center;gap:10px;height:36px;padding:0 14px;border-radius:99px;border:1px solid rgba(160,195,240,.45)}
.pr2-serp .fld svg{width:16px;height:16px;fill:none;stroke:#9CC8FF;stroke-width:1.8;stroke-linecap:round}
.pr2-serp .fld b{font:500 14px var(--font-sans);color:#E6EEFA}
.pr2-serp .rw{display:flex;flex-direction:column;gap:5px;padding:9px 10px;border-radius:8px;background:rgba(255,255,255,.03)}
.pr2-serp .rw b{font:600 13px var(--font-sans);color:#9CC8FF}
.pr2-serp .rw.you{border:1px solid rgba(245,165,36,.55)}.pr2-serp .rw.you b{color:#FFC768}
.pr2-serp .rw i{display:block;height:6px;width:70%;border-radius:3px;background:rgba(207,224,245,.22)}
.pr2-serp .nw{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.pr2-gn{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;padding:6px 12px;border-radius:99px;font:600 12.5px var(--font-sans);white-space:nowrap;color:#E6EEFA;background:rgba(10,16,32,.94);border:1px solid rgba(45,212,191,.7)}
.pr2-gn.f{border-color:rgba(74,158,255,.8)}
.pr2-web{position:absolute;left:0;width:52cqw;top:0;height:52cqh;padding:12px 14px;display:flex;flex-direction:column;gap:10px;transform:translateY(10px)}
.pr2-web.is-on,.pr2-deck.is-on{transform:none}
.pr2-web .bar{display:flex;gap:6px}.pr2-web .bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25)}
.pr2-web .hero{display:flex;flex-direction:column;gap:7px;padding:8px 0}
.pr2-web .hero i{display:block;height:7px;width:76%;border-radius:4px;background:rgba(207,224,245,.28)}.pr2-web .hero i.h{height:14px;width:58%;background:#F2F5F9}.pr2-web .hero i.s{width:50%}
.pr2-web .af,.pr2-deck .t{margin:auto 0 0;font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#B8C4D6}
.pr2-deck{position:absolute;left:58cqw;right:0;top:6cqh;height:36cqh;padding:14px;display:flex;flex-direction:column;gap:10px;transform:translateY(10px)}
.pr2-deck .t{margin:0;font:500 18px "Newsreader",Georgia,serif;letter-spacing:0;text-transform:none;color:#F2F5F9}
.pr2-deck .pg{margin-top:auto;font:500 12px var(--font-mono);color:#8C98AB}
.pr2-person{position:absolute;left:27%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#4A9EFF;box-shadow:0 0 0 4px rgba(74,158,255,.25)}
.pr2-call{position:absolute;left:70cqw;top:66cqh;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font:600 13.5px var(--font-sans);color:#0A0E1A;background:#F5A524;box-shadow:0 0 24px rgba(245,165,36,.45)}
.pr2-call svg{width:18px;height:18px;fill:none;stroke:#0A0E1A;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pr2-dials{position:absolute;left:8cqw;right:8cqw;top:86cqh;bottom:0;display:flex;justify-content:space-between;gap:12px}
.pr2-dial{--v:.1;width:26cqw;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0}
.pr2-dial svg{flex:1;min-height:0;width:100%;max-width:120px;overflow:visible}
.pr2-dial .tr{fill:none;stroke:rgba(255,255,255,.14);stroke-width:5;stroke-linecap:round}
.pr2-dial .fl{fill:none;stroke:#F5A524;stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--v));transition:stroke-dashoffset .5s}
.pr2-dial .nd{stroke:#F2F5F9;stroke-width:2.5;stroke-linecap:round;transform-origin:50px 52px;transform:rotate(calc(-90deg + var(--v) * 180deg));transition:transform .5s}
.pr2-dial span{font:500 12px/1.25 var(--font-mono);letter-spacing:.02em;color:#C4CCD6;text-align:center}
/* logos */
.lg{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.pr2-lo{position:relative;display:inline-flex;align-items:center;gap:6px}
.pr2-lo img,.pr2-nc img,.pr2-wc img,.pr2-rl img{display:block;width:auto;filter:brightness(0) invert(.86)}
.pr2-lo img{height:16px}
.pr2-lo em,.pr2-wc em{font:600 10.5px/1 var(--font-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border-radius:4px;color:#0A0E1A;background:#F5A524}
.pr2-lo em{font-size:12px}
.pr2-nc{display:flex;flex-direction:column;gap:7px;padding:9px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(160,195,240,.2)}
.pr2-nc img{height:13px;max-width:100%}
.pr2-nc i{display:block;height:5px;width:86%;border-radius:3px;background:rgba(207,224,245,.25)}
.pr2-web .lg img,.pr2-deck .lg img{height:15px}
.pr2-hlogos{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.pr2-own{margin:0;font:500 12px/1.5 var(--font-mono);color:#AEB8C7;max-width:62ch}
.pr2-ill{display:flex;align-items:center;justify-content:center;padding:18px}
.pr2-ill .lg img{height:18px}
/* ================= sections ================= */
.pr2-cols{position:relative}
.pr2-cols::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:calc(100% / 6) 100%;background-position:calc(50% + .5px) 0}
.pr2-band{background:color-mix(in srgb,#4A9EFF 3%,var(--bg))}
.pr2-xl{font-size:clamp(40px,6vw,88px);line-height:1;letter-spacing:-.025em}
.sec-head h2.pr2-serif{font-size:clamp(32px,4vw,58px);line-height:1.05}
.pr2-wall{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}
.pr2-wc{position:relative;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;border-left:1px solid var(--border-1);transition:background .25s;outline:none}
.pr2-wc:first-child{border-left:0}
.pr2-wc img{height:clamp(28px,3vw,42px);max-width:80%;transition:filter .25s}
.pr2-wc .nm{font:500 12px var(--font-mono);color:var(--fg-2)}
.pr2-wc em{position:absolute;right:12px;top:12px}
.pr2-wc:hover,.pr2-wc:focus-visible{background:#F3EFE8}
.pr2-wc:hover img,.pr2-wc:focus-visible img{filter:none}
.pr2-wc:hover .nm,.pr2-wc:focus-visible .nm{color:#2A2E36}
.pr2-wc:focus-visible{box-shadow:inset 0 0 0 2px #F5A524}
.pr2-more{margin:22px 0 8px;font:500 clamp(24px,2.6vw,36px)/1.2 "Newsreader",Georgia,serif;color:var(--fg-1)}
.pr2-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:14px;font-weight:600;font-size:16px;color:var(--fg-1);text-decoration:none;border-bottom:1px solid #F5A524}
.pr2-link svg{width:14px;height:14px}
.pr2-link:hover{color:#F5A524}
.pr2-link[hidden]{display:none}
.pr2-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border-strong)}
.pr2-k{padding:28px clamp(16px,2.4vw,36px) 10px;border-left:1px solid var(--border-1);display:flex;flex-direction:column;gap:14px}
.pr2-k:first-child{border-left:0;padding-left:0}
.pr2-num{margin:0;font:500 clamp(48px,5vw,76px)/.9 "Newsreader",Georgia,serif;color:#F5A524}
.pr2-k h3{margin:0;font:500 clamp(24px,2.2vw,32px)/1.1 "Newsreader",Georgia,serif;color:var(--fg-1)}
.pr2-k .v{width:100%;max-width:240px;height:110px}
.pr2-k .gauge .tr{fill:none;stroke:rgba(255,255,255,.12);stroke-width:8;stroke-linecap:round}
.pr2-k .gauge .fl{fill:none;stroke:#F5A524;stroke-width:8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:.25;transition:stroke-dashoffset 1.2s ease-out .3s}
html.ix-io .pr2-k:not(.is-in) .gauge .fl{stroke-dashoffset:.92}
.pr2-k .bars rect{fill:#4A9EFF;transform-origin:center bottom;transform-box:fill-box;transition:transform .7s cubic-bezier(.3,.7,.2,1)}
.pr2-k .bars rect:nth-child(2){transition-delay:.08s}.pr2-k .bars rect:nth-child(3){transition-delay:.16s}.pr2-k .bars rect:nth-child(4){transition-delay:.24s}.pr2-k .bars rect:nth-child(5){transition-delay:.32s}.pr2-k .bars rect:nth-child(6){transition-delay:.4s;fill:#2DD4BF}
html.ix-io .pr2-k:not(.is-in) .bars rect{transform:scaleY(.12)}
.pr2-k .ai{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid rgba(45,212,191,.45);background:rgba(14,22,40,.6);height:auto}
.pr2-k .ai .hd{margin:0;display:flex;align-items:center;gap:8px;font:600 12px var(--font-mono);color:#5EEAD4}
.pr2-k .ai i{display:block;height:6px;width:90%;border-radius:3px;background:rgba(207,224,245,.28);transform-origin:left;transition:transform .6s ease-out .3s}.pr2-k .ai i.s{width:60%;transition-delay:.5s}
.pr2-k .ai span{align-self:flex-start;padding:3px 10px;border-radius:99px;font:600 12px var(--font-sans);color:#0A0E1A;background:#F5A524;transition:opacity .4s .9s}
html.ix-io .pr2-k:not(.is-in) .ai i{transform:scaleX(0)}html.ix-io .pr2-k:not(.is-in) .ai span{opacity:0}
.pr2-k dl{margin:0;display:grid;gap:4px}
.pr2-k dt{margin-top:10px;font:600 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.pr2-k dd{margin:0;font-size:16px;line-height:1.55;color:var(--fg-1)}
.pr2-pay{margin:44px 0 0;max-width:34ch;font-size:clamp(24px,2.6vw,36px);line-height:1.25;color:var(--fg-1)}
@media (max-width:900px){.pr2-three{grid-template-columns:1fr}.pr2-k{border-left:0;padding-left:0;border-top:1px solid var(--border-1)}.pr2-k:first-child{border-top:0}}
/* knowledge graph */
.pr2-llm{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:960px){.pr2-llm{grid-template-columns:1fr}}
.pr2-kg{position:relative;aspect-ratio:6/5}
.pr2-kg .ln{position:absolute;inset:0;width:100%;height:100%}
.pr2-kg .ln path{fill:none;stroke:rgba(45,212,191,.6);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .9s ease-out var(--d,0ms)}
html.ix-io .pr2-kg:not(.is-in) .ln path{stroke-dashoffset:1}
.pr2-kg .nodes button{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;border:1px solid rgba(45,212,191,.6);background:rgba(10,16,32,.95);color:var(--fg-1);font:600 14px var(--font-sans);cursor:default;white-space:nowrap}
.pr2-kg .nodes button.o{border-color:rgba(170,196,232,.45)}
.pr2-kg .nodes button.o img{height:15px;filter:brightness(0) invert(.86)}
.pr2-kg .nodes button.p{border-color:rgba(74,158,255,.8)}
.pr2-kg .nodes button.c{padding:14px 20px;font:500 20px "Newsreader",Georgia,serif;color:#0A0E1A;background:#F5A524;border-color:#F5A524;box-shadow:0 0 30px rgba(245,165,36,.4)}
.pr2-kg .nodes button:hover,.pr2-kg .nodes button:focus-visible{border-color:#F5A524;outline:none;box-shadow:0 0 0 2px #F5A524}
.pr2-kg .why{position:absolute;left:0;right:0;bottom:-8px;margin:0;font:500 14px var(--font-mono);color:var(--fg-2);text-align:center}
.pr2-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.pr2-steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;font-size:17px;line-height:1.5;color:var(--fg-1)}
.pr2-steps li::before{content:counter(s);font:500 34px/1 "Newsreader",Georgia,serif;color:#F5A524}
.pr2-hon{margin:26px 0 0;font-size:16px;line-height:1.55;color:var(--fg-2)}
/* before and after: logos in the news row */
.pr-news[data-logos]{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
/* packages */
.pr2-pk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border-strong)}
.pr2-pk article{position:relative;padding:30px clamp(16px,2.4vw,34px) 26px;border-left:1px solid var(--border-1);display:flex;flex-direction:column;gap:14px}
.pr2-pk article:first-child{border-left:0}
.pr2-pk .is-start{border-top:3px solid #F5A524;margin-top:-2px}
.pr2-pk .lab{position:absolute;top:-14px;left:clamp(16px,2.4vw,34px);padding:4px 10px;border-radius:99px;font:600 12px var(--font-mono);letter-spacing:.06em;color:#0A0E1A;background:#F5A524}
.pr2-pk h3{margin:0;font:600 13px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2)}
.pr2-price{margin:0;font-size:clamp(30px,3vw,44px);line-height:1.05;color:var(--fg-1)}
.pr2-pk p:not(.pr2-price){margin:0;font-size:16px;line-height:1.55;color:var(--fg-2);flex:1}
.pr2-pk .ck-btn{align-self:flex-start;white-space:nowrap}
@media (max-width:960px){.pr2-pk{grid-template-columns:1fr}.pr2-pk article{border-left:0;border-top:1px solid var(--border-1);padding-left:0}.pr2-pk .lab{left:0}}
/* report */
.pr2-rep{position:relative;max-width:980px;padding:22px clamp(16px,2.4vw,28px)}
.pr2-rep .tag{position:absolute;right:18px;top:16px;margin:0;font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#B8C4D6}
.pr2-rep .hd{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.pr2-rep .hd b{font:600 13px var(--font-mono);letter-spacing:.06em;color:#FFC768}
.pr2-rep .hd span{font:500 clamp(20px,2vw,26px)/1.2 "Newsreader",Georgia,serif;color:#F2F5F9}
.pr2-rep table{width:100%;border-collapse:collapse;margin-top:8px;font-size:15px}
.pr2-rep th{text-align:left;padding:12px 8px;font:500 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#AEB8C7;border-bottom:1px solid rgba(255,255,255,.1)}
.pr2-rep td{padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.06);color:#E6EEFA;vertical-align:middle}
.pr2-rl img{height:15px}
.pr2-rep .lk{display:inline-flex;padding:3px 10px;border-radius:99px;font:600 12px var(--font-sans);color:#9CC8FF;border:1px solid rgba(74,158,255,.6)}
.pr2-rep .lv{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--font-sans);color:#5EEAD4}
.pr2-rep .lv::before{content:"";width:8px;height:8px;border-radius:50%;background:#2DD4BF}
.pr2-rep .ft{margin:14px 0 0;font:500 13px var(--font-mono);color:#B8C4D6}
@media (max-width:620px){.pr2-rep th:nth-child(2),.pr2-rep td:nth-child(2){display:none}}
@media (prefers-reduced-motion:reduce){.pr2-tk-t{animation:none}.pr2-in [data-on],.pr2-beams path,.pr2-traffic path,.pr2-graph path,.pr2-k *{transition:none!important}}

.pr2-serif{text-transform:none}
.pr2-tn{font:600 13px var(--font-sans);color:#DCE3EE}

/* square, full colour logos such as a corporate tile stay as supplied */
img.sq{filter:none!important;height:auto!important;width:auto}
.pr2-lo img.sq{height:26px!important}.pr2-nc img.sq{height:22px!important}.pr2-wc img.sq{height:clamp(52px,5vw,72px)!important;max-width:none}.pr2-rl img.sq,.pr2-web .lg img.sq,.pr2-deck .lg img.sq,.pr2-kg img.sq{height:24px!important}.pr2-ill .lg img.sq{height:30px!important}

.pr2 .mv-card{margin-top:calc(var(--tk) / 2 + 8px)}
.pr2 .mv-card h2,.pr2 .mv-h1{text-transform:none}
@media (max-height:760px){.pr2.mv--gl .mv-card .mv-ill,.pr2.mv--cards .mv-card .mv-ill{display:none}}

.sec-head h2.pr2-serif,.pr2-xl{font-family:"Newsreader",Georgia,serif;font-weight:500;text-transform:none;letter-spacing:-.015em}
.pr2-rep .lk{white-space:nowrap}

/* ================= PR and Authority v3 ================= */
/* the rail owns a gutter; copy, chapter titles, the overlay and the canvas all start after it */
.pr3{--gut:200px;--bar:0px;--cx:calc(var(--gut) + clamp(32px,3.2vw,56px));--iw:min(520px,calc((100% - var(--gut)) * .43))}
@media (max-width:1279px){.pr3{--gut:56px;--cx:calc(var(--gut) + 32px)}}
@media (max-width:1023px){.pr3{--gut:0px;--bar:44px;--cx:clamp(24px,4vw,40px);--iw:min(460px,46%)}}
.pr3.mv--flat{--gut:0px;--bar:0px}
.pr3 .mv-steps{height:700vh}
.pr3 .mv-canvas,.pr3 .mv-poster,.pr3 .mv-shade{left:var(--gut);width:calc(100% - var(--gut))}
.pr3 .mv-intro{left:var(--cx);width:var(--iw);top:calc(var(--nav-h) + var(--tk) + var(--bar) + 24px);justify-content:safe center}
.pr3 .mv-card{left:var(--cx);width:min(440px,calc((100% - var(--gut)) * .4));margin-top:calc((var(--tk) + var(--bar)) / 2 + 12px)}
.pr3 .pr2-act{left:calc(var(--cx) + var(--iw) + clamp(16px,2vw,36px));right:clamp(20px,2.4vw,40px);top:calc(var(--nav-h) + var(--tk) + var(--bar) + 14px)}
.pr3 .mv-hint{left:calc(var(--gut) + (100% - var(--gut)) / 2)}
.pr3.mv--flat .mv-intro,.pr3.mv--flat .mv-card{width:auto;margin-top:0;left:auto}
@media (max-width:1023px){.pr3 .mv-card{width:min(400px,42%)}}
.pr3-rail{position:absolute;z-index:5;left:0;top:calc(var(--nav-h) + var(--tk));bottom:0;width:var(--gut);display:flex;flex-direction:column;justify-content:center;padding:0 14px 0 30px;background:#0A0E1A;border-right:1px solid rgba(255,255,255,.08);opacity:var(--rv,0);transition:opacity .2s}
.pr3-rail.is-off{visibility:hidden;pointer-events:none}
.pr3-rail:not(.is-off):focus-within{opacity:1}
.mv--flat .pr3-rail{display:none}
.pr3-rail .mv-rail{position:relative;right:auto;top:auto;transform:none;opacity:1;transition:none}
.pr3-rail .mv-rail-b{white-space:normal;text-align:left;line-height:1.3;letter-spacing:.08em;padding:6px;min-height:40px}
.pr3-rail .mv-rail-b .n{flex:none}
.pr3-rl{display:none;margin:0}
.pr3-rl b{font-weight:500;color:#7FB8FF}
@media (min-width:1024px) and (max-width:1279px){
.pr3-rail{padding:0;align-items:center}
.pr3-rl{display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;transform:rotate(180deg);margin:0 0 18px;font:500 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#E6ECF5;white-space:nowrap}
.pr3-rail .mv-rail{width:24px;padding:0}
.pr3-rail .mv-rail::before,.pr3-rail .mv-rail::after{left:11.5px}
.pr3-rail .mv-rail-b{width:24px;min-height:36px;padding:0;justify-content:center}
.pr3-rail .mv-rail-b::before{left:8.5px}
}
@media (min-width:1024px) and (max-width:1279px) and (max-height:640px){.pr3-rail .mv-rail-b{min-height:28px}.pr3-rl{margin-bottom:12px}}
@media (max-width:1279px){.pr3-rail .mv-rail-b .n,.pr3-rail .mv-rail-b .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (max-width:1023px){
.pr3-rail{right:0;width:auto;bottom:auto;height:var(--bar);flex-direction:row;align-items:center;gap:16px;padding:0 clamp(16px,3vw,32px);border-right:0;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(8,11,20,.96)}
.pr3-rl{display:flex;flex:0 0 22ch;align-items:baseline;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#E6ECF5}
.pr3-rail .mv-rail{flex:1;flex-direction:row;gap:4px;padding:0;height:100%}
.pr3-rail .mv-rail::before,.pr3-rail .mv-rail::after{display:none}
.pr3-rail .mv-rail-b{flex:1;height:100%;min-height:0;padding:0}
.pr3-rail .mv-rail-b::before{left:0;right:0;width:auto;height:3px;margin-top:-1.5px;border-radius:2px;transform:none!important;box-shadow:none!important;background:rgba(255,255,255,.18)}
.pr3-rail .mv-rail-b.is-done::before,.pr3-rail .mv-rail-b[aria-current="step"]::before{background:#4A9EFF}
}

/* ---------- proof from real work: editorial case strips ---------- */
.pr3-proof[hidden]{display:none}
.pr3-cases{display:flex;flex-direction:column;border-top:1px solid var(--border-strong)}
.pr3-cs{--pad:clamp(24px,4vw,64px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);grid-template-areas:"txt viz" "txt figs" "txt foot";grid-template-rows:auto auto 1fr;padding:clamp(56px,7vw,104px) 0;border-bottom:1px solid var(--border-1)}
.pr3-cs-l{grid-area:txt;padding-right:var(--pad);display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.pr3-viz,.pr3-figs,.pr3-foot{padding-left:var(--pad);border-left:1px solid var(--border-1)}
.pr3-viz{grid-area:viz;margin:0;padding-bottom:36px;display:flex;flex-direction:column;gap:12px}
.pr3-figs{grid-area:figs;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 36px}
.pr3-figs[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.pr3-figs>div{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border-1);min-width:0}
.pr3-figs dt{font:600 12px/1.45 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
.pr3-figs dd{margin:0}
.pr3-figs .v{order:-1;font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.02em;color:var(--fg-1);font-variant-numeric:tabular-nums}
.pr3-figs .s{font:500 12px/1.5 var(--font-mono);color:var(--fg-3)}
.pr3-foot{grid-area:foot;margin:0;padding-top:28px;font:500 12px/1.6 var(--font-mono);color:var(--fg-3);max-width:80ch}
.pr3-tag{margin:0;font:600 12px/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ix-at)}
.pr3-who{margin:0;display:flex;flex-wrap:wrap;gap:4px 12px;font:500 13px/1.5 var(--font-mono);color:var(--fg-2)}
.pr3-cs h3{margin:0;font-size:clamp(30px,3.4vw,52px);line-height:1.06;letter-spacing:-.015em;color:var(--fg-1);text-wrap:balance}
.pr3-story{margin:0;max-width:46ch;font-size:17px;line-height:1.65;color:var(--fg-2);text-wrap:pretty}
.pr3-q{margin:0;padding-left:18px;border-left:2px solid #F5A524;font-size:clamp(20px,1.8vw,24px);line-height:1.4;color:var(--fg-1)}
.pr3-cs .pr2-link{margin-top:4px}
.pr3-cap{margin:0;font:500 12px/1.5 var(--font-mono);color:var(--fg-3)}
.pr3-pf-end{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-top:clamp(48px,6vw,80px)}
.pr3-pf-line{margin:0;max-width:30ch;font-size:clamp(26px,2.8vw,40px);line-height:1.2;color:var(--fg-1)}
.pr3-pf-acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.pr3-pf-acts .pr2-link{margin-top:0}
.pr3-pf-acts .ck-btn{white-space:nowrap}
@media (max-width:860px){
.pr3-cs{grid-template-columns:minmax(0,1fr);grid-template-areas:"viz" "figs" "txt" "foot";grid-template-rows:none;padding:48px 0}
.pr3-cs-l{padding:32px 0 0}
.pr3-viz,.pr3-figs,.pr3-foot{padding-left:0;border-left:0}
.pr3-viz{padding-bottom:28px}
.pr3-figs,.pr3-figs[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
.pr3-foot{padding-top:20px}
}
/* strip 1: abstract search page */
.pr3-sv{max-width:620px;padding:18px;display:flex;flex-direction:column;gap:12px}
.pr3-sv .q{display:flex;align-items:center;gap:10px;height:38px;padding:0 14px;border-radius:99px;border:1px solid rgba(160,195,240,.4)}
.pr3-sv .q svg{width:16px;height:16px;fill:none;stroke:#9CC8FF;stroke-width:1.8;stroke-linecap:round}
.pr3-sv .q i{display:block;height:7px;width:46%;border-radius:4px;background:rgba(207,224,245,.35)}
.pr3-sv .aio{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:10px;border:1px solid rgba(45,212,191,.5);background:rgba(45,212,191,.05)}
.pr3-sv .hd{margin:0;display:flex;align-items:center;gap:8px;font:600 12.5px var(--font-mono);letter-spacing:.06em;color:#5EEAD4}
.pr3-sv .hd svg{width:15px;height:15px;fill:none;stroke:#2DD4BF;stroke-width:1.5;stroke-linejoin:round}
.pr3-sv .aio>i,.pr3-sv .org i,.pr3-sv .rw i{display:block;height:6px;width:92%;border-radius:3px;background:rgba(207,224,245,.26)}
.pr3-sv i.s{width:60%!important}
.pr3-sv .src{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pr3-sv .c{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:99px;font:600 13px/1.3 var(--font-sans);color:#C4CCD6;border:1px solid rgba(170,196,232,.3);background:rgba(10,16,32,.6)}
.pr3-sv .c b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font:600 11px var(--font-mono);color:#C4CCD6;background:rgba(255,255,255,.08)}
.pr3-sv .c i{width:52px;height:6px;border-radius:3px;background:rgba(207,224,245,.3)}
.pr3-sv .c.you{color:#0A0E1A;background:#F5A524;border-color:#F5A524}
.pr3-sv .c.you b{color:#F5A524;background:#0A0E1A}
.pr3-sv .org{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:8px;border:1px solid rgba(245,165,36,.55)}
.pr3-sv .org .pg{font:500 12px var(--font-mono);letter-spacing:.06em;color:#B8C4D6}
.pr3-sv .org b{font:600 15px var(--font-sans);color:#FFC768}
.pr3-sv .rw{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.03);opacity:.6}
/* strip 2: bilingual enquiries into a booking diary */
.pr3-dv{position:relative;max-width:620px;min-height:230px;padding:22px;display:grid;grid-template-columns:auto 44px minmax(0,1fr);align-items:center;overflow:hidden}
.pr3-dv .ln{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#2DD4BF;stroke-width:2.5;opacity:.4;pointer-events:none}
.pr3-dv .ln path,.pr3-dv .fl path,.pr3-lv .ln path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round}
.pr3-dv .stream{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}
.pr3-dv .e{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:99px;font:600 12px var(--font-mono);letter-spacing:.06em;color:#E6EEFA;background:rgba(10,16,32,.94);border:1px solid rgba(74,158,255,.7)}
.pr3-dv .e.tr{border-color:rgba(245,165,36,.8)}
.pr3-dv .e::after{content:"";width:30px;height:5px;border-radius:3px;background:rgba(207,224,245,.3)}
.pr3-dv .fl{position:relative;z-index:1;width:100%;height:150px;fill:none;stroke:rgba(156,200,255,.55);stroke-width:1.5}
.pr3-dv .diary{position:relative;z-index:1;padding:12px;border-radius:10px;background:rgba(10,16,32,.94);border:1px solid rgba(170,196,232,.26)}
.pr3-dv .diary .hd{margin:0 0 10px;font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#B8C4D6}
.pr3-dv .dg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.pr3-dv .dg i{aspect-ratio:1.5;border-radius:3px;border:1px solid rgba(170,196,232,.22)}
.pr3-dv .dg i.f{background:#2DD4BF;border-color:#2DD4BF}
@media (max-width:480px){.pr3-dv{grid-template-columns:auto 28px minmax(0,1fr);padding:16px}.pr3-dv .e::after{width:16px}}
/* strip 3: launch release fanning out to outlets */
.pr3-lv{position:relative;max-width:620px;min-height:220px;padding:22px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:24px;align-items:center;overflow:hidden}
.pr3-lv .ln{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#2DD4BF;stroke-width:2.5;opacity:.4}
.pr3-lv .rel{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:10px;background:rgba(10,16,32,.94);border:1px solid rgba(245,165,36,.55)}
.pr3-lv .rel .k{margin:0;font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#B8C4D6}
.pr3-lv .rel i{display:block;height:6px;width:90%;border-radius:3px;background:rgba(207,224,245,.3)}.pr3-lv .rel i.h{height:12px;width:70%;background:#F5A524}.pr3-lv .rel i.s{width:56%}
.pr3-lv .outs{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}
.pr3-lv .oc{display:flex;align-items:center;min-height:40px;padding:8px 12px;border-radius:8px;background:rgba(14,22,40,.94);border:1px solid rgba(170,196,232,.3)}
.pr3-lv .oc img{height:15px;width:auto;filter:brightness(0) invert(.86)}
/* one entry animation per strip, only once the observer runs; final state is the default */
.pr3-cases.is-anim .pr3-cs:not(.is-in) :is(.pr3-sv .aio,.pr3-sv .org,.pr3-sv .c,.pr3-dv .e,.pr3-lv .oc,.pr3-lv .rel){opacity:0;transform:translateY(10px)}
.pr3-cases.is-anim .pr3-cs:not(.is-in) .pr3-dv .e{transform:translateX(-22px)}
.pr3-cases.is-anim .pr3-cs:not(.is-in) .pr3-lv .oc{transform:translateX(-30px) rotate(-4deg)}
.pr3-cases.is-anim .pr3-cs:not(.is-in) .pr3-dv .dg i.f{background:transparent;border-color:rgba(170,196,232,.22)}
.pr3-cases.is-anim .pr3-cs:not(.is-in) :is(.ln,.fl) path{stroke-dashoffset:1}
.pr3-cases.is-anim .pr3-cs:not(.is-in) .pr3-figs>div{opacity:0}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-sv .aio{transition:opacity .45s .1s,transform .5s .1s cubic-bezier(.2,.8,.2,1)}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-sv .c{transition:opacity .35s calc(.45s + var(--i) * .12s),transform .4s calc(.45s + var(--i) * .12s)}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-sv .org{transition:opacity .45s .85s,transform .5s .85s cubic-bezier(.2,.8,.2,1)}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-dv .e{transition:opacity .35s calc(var(--i) * .1s),transform .5s calc(var(--i) * .1s) cubic-bezier(.2,.8,.2,1)}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-dv .dg i.f{transition:background .25s calc(.5s + var(--i) * 45ms),border-color .25s calc(.5s + var(--i) * 45ms)}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-lv .rel{transition:opacity .4s,transform .45s}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-lv .oc{transition:opacity .35s calc(.35s + var(--i) * .1s),transform .5s calc(.35s + var(--i) * .1s) cubic-bezier(.2,.8,.2,1)}
.pr3-cases.is-anim .pr3-cs.is-in .ln path{transition:stroke-dashoffset 1.2s ease-out .3s}
.pr3-cases.is-anim .pr3-cs.is-in .fl path{transition:stroke-dashoffset .6s ease-out .3s}
.pr3-cases.is-anim .pr3-cs.is-in .pr3-figs>div{transition:opacity .4s}
@media (prefers-reduced-motion:reduce){.pr3-cs *{transition:none!important}}

/* ==== nav-dd.css ==== */
/* Main nav: Services dropdown (All services and each service page). Loaded by the latest version of each page. */
.nav-dd{position:relative;display:flex;align-items:center}
.nav-dd>a .nav-dd-caret{width:9px;height:9px;flex:none;opacity:.7;transition:transform .18s ease}
.nav-dd:hover:not(.is-closed)>a .nav-dd-caret,.nav-dd:focus-within:not(.is-closed)>a .nav-dd-caret{transform:rotate(180deg)}
.nav-dd-menu{position:absolute;top:100%;left:-16px;z-index:60;min-width:210px;margin:0;padding:12px 0 0;list-style:none;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.nav-dd-menu::before{content:"";position:absolute;inset:12px 0 0;z-index:-1;border:1px solid var(--border-strong,#323944);border-radius:var(--radius-sm,10px);background:rgba(10,14,26,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
[data-theme="light"] .nav-dd-menu::before{background:rgba(250,252,254,.96);box-shadow:0 18px 40px rgba(12,20,36,.12)}
.nav-dd:hover:not(.is-closed) .nav-dd-menu,.nav-dd:focus-within:not(.is-closed) .nav-dd-menu{opacity:1;visibility:visible;transform:none;transition:opacity .16s ease,transform .16s ease,visibility 0s}
.nav-dd-menu li{display:block;padding:0 6px}
.nav-dd-menu li:first-child{padding-top:6px}
.nav-dd-menu li:last-child{padding-bottom:6px}
.nav-links .nav-dd-menu a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px;white-space:nowrap;box-shadow:none!important;color:var(--fg-2)}
.nav-links .nav-dd-menu a:hover,.nav-links .nav-dd-menu a:focus-visible{background:rgba(127,140,160,.12);color:var(--fg-1);padding-bottom:10px}
.nav-links .nav-dd-menu a[aria-current="page"]{color:var(--signal,#4A9EFF)}
.nav-dd-menu li.nav-dd-grp{padding:8px 6px 0}
.nav-dd-grp span{display:block;padding:10px 12px 4px;border-top:1px solid var(--border-1,#262C36);font:500 12px/1.4 var(--font-mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3,#8C98AB);white-space:nowrap}
/* mobile menus: Services becomes a label with indented service links */
.m-menu a.m-dd-label,.ck-mmenu a.m-dd-label{cursor:default;opacity:.62}
.m-menu a.m-dd-sub,.ck-mmenu a.m-dd-sub{padding-left:22px!important;font-size:clamp(18px,5vw,24px);letter-spacing:-.01em}
.ck-mmenu a.m-dd-sub{font-size:inherit}
@media (prefers-reduced-motion:reduce){.nav-dd-menu,.nav-dd>a .nav-dd-caret{transition:none!important}}

/* ==== node-chip-v2.css ==== */
/* Keycap node v2. Shared chip component for every latest page. Load after the page CSS.
   Two layers: a role-tinted base slab (host ::after, 5px below the face) and a top face (.kc-face, added by node-chip-v2.js).
   Without JS the host itself takes the keycap look (face plus a solid 5px edge) and keeps its old dot.
   Roles: blue = reach, teal = system, amber = the client or the active item. Transform and opacity motion only. No blur layers. */
:root{--kc-blue:#4A9EFF;--kc-teal:#2DD4BF;--kc-amber:#F5A524}
/* role colours, used by both the no-JS look and the enhanced look */
:is(.nf-node,.da-src,.da-chip,.da-pn,.pr-chip,.pr2-chip,.hc-chip,.hc-src,.hc-q-src,.sc-chip,.sc-float,.bd-chip,.in-chip,.in-ringlbl,.mk-f,.pm-ring,.mv-live,.mv-final figcaption,.aia-clock,.aia-chip,.wd-chip,.stk-tab,.ck-capacity,.ck-chip,.mb-att-chip,.mv-tag,.in-src,.aia-tools li,.ix-chip,.ae-chip,.kc){--kc-c:#7FB8FF;--kc-edge:#1B3F72;--kc-glow:rgba(74,158,255,.42)}
:is(.mk-f,.wd-chip,.mv-live,.aia-clock,.ck-capacity,.mv-final figcaption,.mv-tag,.aia-tools li,.ix-chip,.kc-teal,.t):is(.nf-node,.da-src,.da-chip,.da-pn,.pr-chip,.pr2-chip,.hc-chip,.hc-src,.hc-q-src,.sc-chip,.sc-float,.bd-chip,.in-chip,.in-ringlbl,.mk-f,.pm-ring,.mv-live,.mv-final figcaption,.aia-clock,.aia-chip,.wd-chip,.stk-tab,.ck-capacity,.ck-chip,.mb-att-chip,.mv-tag,.in-src,.aia-tools li,.ix-chip,.ae-chip,.kc){--kc-c:#5EEAD4;--kc-edge:#0E5550;--kc-glow:rgba(45,212,191,.38)}
:is(.a,.rev,.is-you,.kc-amber,[aria-current="true"],[aria-current="step"],[aria-current="page"],[aria-selected="true"],[aria-pressed="true"],.is-active,.is-cur,:has(>input:checked),:has(>.kc-face>input:checked)):is(.nf-node,.da-src,.da-chip,.da-pn,.pr-chip,.pr2-chip,.hc-chip,.hc-src,.hc-q-src,.sc-chip,.sc-float,.bd-chip,.in-chip,.in-ringlbl,.mk-f,.pm-ring,.mv-live,.mv-final figcaption,.aia-clock,.aia-chip,.wd-chip,.stk-tab,.ck-capacity,.ck-chip,.mb-att-chip,.mv-tag,.in-src,.aia-tools li,.ix-chip,.ae-chip,.kc){--kc-c:#FFC768;--kc-edge:#7A4D06;--kc-glow:rgba(245,165,36,.5)}

/* ---------- no-JS look: the host is the face ---------- */
:is(.nf-node,.da-src,.da-chip,.da-pn,.pr-chip,.pr2-chip,.hc-chip,.hc-src,.hc-q-src,.sc-chip,.sc-float,.bd-chip,.in-chip,.in-ringlbl,.mk-f,.pm-ring,.mv-live,.mv-final figcaption,.aia-clock,.aia-chip,.wd-chip,.stk-tab,.ck-capacity,.ck-chip,.mb-att-chip,.mv-tag,.in-src,.aia-tools li,.ix-chip,.ae-chip):not(.kc-on){border-radius:12px!important;border:1px solid rgba(170,196,232,.3)!important;background:linear-gradient(180deg,rgba(44,60,92,.97),rgba(20,29,49,.97))!important;box-shadow:0 5px 0 0 var(--kc-edge),0 12px 24px -10px var(--kc-glow),inset 0 1px 0 rgba(255,255,255,.16)!important;color:#EEF3FA;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* ---------- enhanced: host becomes a frame, ::after is the base slab ---------- */
.kc-on.kc-on.kc-on{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:12px!important;min-height:0!important;height:auto!important;overflow:visible!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;isolation:isolate;gap:0!important;line-height:1!important;flex-shrink:0!important}
.kc-on.kc-rel{position:relative}
.kc-on::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;top:var(--kc-depth,5px)!important;bottom:calc(var(--kc-depth,5px) * -1)!important;width:auto!important;height:auto!important;margin:0!important;border:0!important;border-radius:12px!important;background:linear-gradient(180deg,var(--kc-edge),color-mix(in srgb,var(--kc-edge) 62%,#000))!important;box-shadow:0 12px 24px -10px var(--kc-glow),inset 0 -1px 0 rgba(0,0,0,.35)!important;z-index:-1!important;opacity:1!important;transform:none!important;translate:none!important;animation:none!important;pointer-events:none;transition:background .25s}
.kc-on::before{display:none!important}
.kc-inline{--kc-depth:2px}
.kc-inline.kc-on::after{box-shadow:0 8px 14px -10px var(--kc-glow),inset 0 -1px 0 rgba(0,0,0,.35)!important}
.kc-face{position:relative;z-index:1;box-sizing:border-box;width:100%;display:inline-flex;align-items:center;gap:10px;min-height:var(--kc-h,44px);padding:0 16px 0 8px;border-radius:12px;border:1px solid rgba(170,196,232,.3);background:linear-gradient(180deg,rgba(46,62,96,.95),rgba(19,28,48,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.25);color:#EEF3FA;font:600 14px/1.2 var(--font-sans,"Instrument Sans",system-ui,sans-serif);letter-spacing:0;text-transform:none;text-align:left;white-space:nowrap;overflow:hidden;transform:perspective(600px) rotateX(var(--kc-rx,0deg)) rotateY(var(--kc-ry,0deg)) translateY(var(--kc-y,0px));transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,color .2s}
.kc-nowell>.kc-face{padding:0 16px}
.kc-mono>.kc-face{font:600 13px/1.2 var(--font-mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:.02em}
.kc-compact{--kc-h:36px}
.kc-compact>.kc-face{gap:8px;padding:0 12px 0 5px;font-size:13px}
.kc-compact .kc-well{width:24px;height:24px}
@media (max-height:760px){.aia-clock.kc-on{right:clamp(200px,23vw,240px)!important}}
/* Performance funnel ring labels sit beside the hero copy: smallest key, no well on mid widths */
.pm-ring.kc-on{--kc-h:30px;--kc-depth:4px}
.pm-ring.kc-on>.kc-face{gap:6px;padding:0 10px 0 4px;font-size:12px}
.pm-ring.kc-on .kc-well{width:22px;height:22px}
@media (max-width:1180px){.pm-ring.kc-on .kc-well{display:none}.pm-ring.kc-on>.kc-face{padding:0 10px}}
.kc-face::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(110px circle at var(--kc-mx,50%) var(--kc-my,0%),rgba(255,255,255,.2),rgba(255,255,255,0) 62%);opacity:0;transition:opacity .2s;pointer-events:none}
.kc-face>:is(i:empty,.ck-cap-dot,.sw){display:none!important}
.kc-face b,.kc-face strong{font-weight:inherit}
.kc-face .kc-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* icon well */
.kc-well{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(6,10,20,.78);box-shadow:inset 0 2px 4px rgba(0,0,0,.65),inset 0 -1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.05);color:var(--kc-c);transition:box-shadow .25s,color .25s}
.kc-well svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* hover, focus, press */
.kc-node:is(:hover,:focus-visible,:focus-within)>.kc-face{--kc-y:-2px;border-color:rgba(200,220,245,.5)}
.kc-inline:is(:hover,:focus-visible,:focus-within)>.kc-face{--kc-y:-1px;border-color:rgba(200,220,245,.5)}
.kc-on:hover>.kc-face::after,.kc-on.kc-hot>.kc-face::after{opacity:1}
.kc-node.kc-press>.kc-face{--kc-y:4px;transition-duration:.06s}
.kc-inline.kc-press>.kc-face{--kc-y:1px;transition-duration:.06s}
.kc-on:focus-visible,.kc-on:has(input:focus-visible){outline:2px solid #F5A524!important;outline-offset:4px!important;border-radius:12px}
/* active or selected: amber well, one pulse; the slab turns amber through the role vars */
.kc-on:is(.is-you,[aria-current="true"],[aria-current="step"],[aria-current="page"],[aria-selected="true"],[aria-pressed="true"],.is-active,.is-cur,.kc-act) .kc-well,.kc-on:has(input:checked) .kc-well{color:#FFC768;box-shadow:inset 0 2px 4px rgba(0,0,0,.6),0 0 0 1px rgba(245,165,36,.65),0 0 14px rgba(245,165,36,.55);animation:kcPulse .9s ease-out 1}
@keyframes kcPulse{0%{transform:scale(1)}35%{transform:scale(1.14)}100%{transform:scale(1)}}
/* selected form chips sink and take the amber face */
.kc-inline:is([aria-pressed="true"],[aria-selected="true"],:has(input:checked))>.kc-face{--kc-y:1px;background:linear-gradient(180deg,rgba(245,165,36,.34),rgba(122,77,6,.62));border-color:#F5A524;color:#FFF6E6}
.kc-inline:is([aria-pressed="true"],:has(input:checked))>.kc-face .box{border-color:#FFC768!important;background:#F5A524!important}
/* idle float, staggered */
.kc-node>.kc-face{animation:kcFloat 7s ease-in-out var(--kc-d,0s) infinite}
@keyframes kcFloat{0%,100%{translate:0 0}50%{translate:0 -1.5px}}
/* ports: a 6px socket where a connector line plugs in */
.kc-on[data-port]::before{content:""!important;display:block!important;position:absolute!important;z-index:3!important;width:6px!important;height:6px!important;margin:0!important;border-radius:50%!important;background:#0A0E1A!important;border:0!important;box-shadow:0 0 0 1.5px var(--kc-c),0 0 0 3.5px rgba(10,14,26,.92)!important;top:calc(50% - 3px)!important;left:auto;right:auto;bottom:auto;opacity:1!important;transform:none!important;translate:none!important;animation:none!important;transition:background .25s,box-shadow .25s}
.kc-on[data-port="r"]::before{right:-3px!important;left:auto!important}
.kc-on[data-port="l"]::before{left:-3px!important;right:auto!important}
.kc-on[data-port="t"]::before{top:-3px!important;left:calc(50% - 3px)!important}
.kc-on[data-port="b"]::before{top:auto!important;bottom:-8px!important;left:calc(50% - 3px)!important}
.kc-on.kc-port-on::before{background:var(--kc-c)!important;box-shadow:0 0 0 1.5px var(--kc-c),0 0 0 3.5px rgba(10,14,26,.92),0 0 12px var(--kc-c)!important}
/* light theme, outside the always-dark stages */
[data-theme="light"] .kc-on:not(:is(.mv,.nf-hero,.ty-hero,.stk,.jr,.shp-on .stk,[data-kc-dark]) *){--kc-edge:#C3CCD8;--kc-glow:rgba(20,40,80,.16)}
[data-theme="light"] .kc-on:not(:is(.mv,.nf-hero,.ty-hero,.stk,.jr,[data-kc-dark]) *)>.kc-face{background:linear-gradient(180deg,#FFFFFF,#EEF2F7);border-color:rgba(10,20,40,.14);color:#0F1729;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(10,20,40,.06)}
[data-theme="light"] .kc-on:not(:is(.mv,.nf-hero,.ty-hero,.stk,.jr,[data-kc-dark]) *) .kc-well{background:#E6EBF2;box-shadow:inset 0 2px 3px rgba(10,20,40,.2),inset 0 -1px 0 #fff;color:#1D5FB8}
[data-theme="light"] .kc-teal.kc-on:not(:is(.mv,.nf-hero,.ty-hero,.stk,.jr,[data-kc-dark]) *) .kc-well{color:#0F766E}
[data-theme="light"] .kc-inline:is([aria-pressed="true"],:has(input:checked)):not(:is(.mv,.nf-hero,.ty-hero,[data-kc-dark]) *)>.kc-face{background:linear-gradient(180deg,#FFF3DC,#FBE2B4);border-color:#C98210;color:#3D2600}
[data-theme="light"] .kc-inline:is([aria-pressed="true"],:has(input:checked)):not(:is(.mv,.nf-hero,.ty-hero,[data-kc-dark]) *){--kc-edge:#D9A54A}
[data-theme="light"] :is(.ck-capacity,.ck-chip,.mb-att-chip,.aia-tools li,.ix-chip,.ae-chip):not(.kc-on):not(:is(.mv,.nf-hero,.ty-hero,[data-kc-dark]) *){background:linear-gradient(180deg,#FFFFFF,#EEF2F7)!important;color:#0F1729;border-color:rgba(10,20,40,.14)!important;box-shadow:0 5px 0 0 #C3CCD8,inset 0 1px 0 #fff!important}
@media (prefers-reduced-motion:reduce){.kc-face,.kc-well,.kc-on::after{transition:none!important}.kc-node>.kc-face{animation:none}.kc-on .kc-well{animation:none!important}}

/* ==== capacity-v1.css ==== */
/* Capacity (intake) v1. Motion is finite (two pulses, then a steady glow): no endless loops. Shared by every service page. Mount with data-capacity="<lane>" and an optional
   data-capacity-variant="pill|panel|bar". Numbers come from OUNTERNET_CONFIG.capacity only (capacity-v1.js).
   State is always written out in text; colour only repeats it. Keycap tiles follow node-chip-v2. No blur layers. */
.cap{--cap-c:#5EEAD4;--cap-edge:#0E5550;--cap-glow:rgba(45,212,191,.38)}
.cap[data-state="last"]{--cap-c:#FFC768;--cap-edge:#7A4D06;--cap-glow:rgba(245,165,36,.45)}
.cap[data-state="full"]{--cap-c:#9AA6B8;--cap-edge:#2A3140;--cap-glow:rgba(154,166,184,0)}
.cap-dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--cap-c);box-shadow:0 0 0 3px color-mix(in srgb,var(--cap-c) 22%,transparent)}
.cap[data-state="full"] .cap-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--cap-c)}
.cap:not([data-state="full"]) .cap-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--cap-c);opacity:0;animation:capPing 2.4s cubic-bezier(.2,.8,.2,1) 2}
@keyframes capPing{0%{transform:scale(.6);opacity:.7}70%,100%{transform:scale(1.8);opacity:0}}

/* a) pill */
.cap-pill{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:8px 14px 8px 12px;border-radius:999px;border:1px solid var(--border-strong,rgba(170,196,232,.3));background:color-mix(in srgb,var(--surface,#10141C) 70%,transparent);color:var(--fg-1,#EEF3FA);font:500 13px/1.3 var(--font-sans,"Instrument Sans",system-ui,sans-serif);letter-spacing:0;margin:0;max-width:100%;border-radius:20px;text-wrap:pretty}
@media (min-width:421px){.cap[data-state="open"] .cap-pill,.cap[data-state="last"] .cap-pill{white-space:nowrap;border-radius:999px}}
@media (min-width:641px){.cap[data-state="full"] .cap-pill{white-space:nowrap;border-radius:999px}.cap[data-state="full"] .cap-pill .cap-dot{align-self:center;margin-top:0}}
.cap-pill .cap-dot{align-self:flex-start;margin-top:5px}
.cap-pill .cap-t{min-width:0}

/* b) intake panel */
.cap-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
@media (max-width:900px){.cap-panel{grid-template-columns:1fr;gap:36px}}
.cap-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-caps,.14em);color:var(--brand-sun,#F5A524);display:inline-flex;align-items:center;gap:10px;margin:0}
.cap-eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
.cap-h{font-size:clamp(30px,3.6vw,52px);line-height:1.02;letter-spacing:-.025em;margin:18px 0 0;max-width:16ch;text-wrap:balance;color:var(--fg-1)}
.cap-body{color:var(--fg-2);font-size:17px;line-height:1.6;max-width:48ch;margin:20px 0 0;text-wrap:pretty}
.cap-board{display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.cap-slots{list-style:none;margin:0;padding:0 0 6px;display:flex;flex-wrap:wrap;gap:clamp(10px,1.4vw,16px);width:100%}
.cap-slot{position:relative;isolation:isolate;flex:1 1 0;min-width:84px;max-width:150px;width:clamp(112px,10vw,150px)}
.cap-slot::after{content:"";position:absolute;left:0;right:0;top:6px;bottom:-6px;border-radius:14px;background:linear-gradient(180deg,var(--slot-edge),color-mix(in srgb,var(--slot-edge) 62%,#000));box-shadow:0 14px 26px -12px var(--slot-glow),inset 0 -1px 0 rgba(0,0,0,.35);z-index:-1}
.cap-face{position:relative;box-sizing:border-box;width:100%;min-height:96px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid rgba(170,196,232,.3);background:linear-gradient(180deg,rgba(46,62,96,.97),rgba(19,28,48,.97));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.25);color:#EEF3FA;font:600 15px/1.2 var(--font-sans,"Instrument Sans",system-ui,sans-serif);text-decoration:none;text-align:left;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .2s}
.cap-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(6,10,20,.78);box-shadow:inset 0 2px 4px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.05);color:var(--slot-c)}
.cap-ico svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cap-slot.is-open{--slot-c:#5EEAD4;--slot-edge:#0E5550;--slot-glow:rgba(45,212,191,.5)}
.cap-slot.is-open .cap-face{cursor:pointer;border-color:rgba(94,234,212,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 22px -4px rgba(45,212,191,.32);animation:capGlow 3s ease-in-out 2}
.cap-slot.is-open .cap-face:hover{transform:translateY(-2px);border-color:rgba(94,234,212,.8)}
.cap-slot.is-open .cap-face:active{transform:translateY(3px)}
.cap-slot.is-open .cap-face:focus-visible{outline:2px solid #5EEAD4;outline-offset:4px}
@keyframes capGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 22px -4px rgba(45,212,191,.32)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 26px -2px rgba(45,212,191,.42)}}
.cap-slot.is-taken{--slot-c:#8793A6;--slot-edge:#232A36;--slot-glow:rgba(0,0,0,0)}
.cap-slot.is-taken::after{top:1px;bottom:-1px}
.cap-slot.is-taken .cap-face{transform:translateY(5px);background:linear-gradient(180deg,rgba(30,38,54,.96),rgba(15,20,32,.96));border-color:rgba(170,196,232,.14);color:#8E9AAD;box-shadow:inset 0 2px 6px rgba(0,0,0,.55)}
.cap .cap-slots .cap-slot a.cap-face{color:#EEF3FA;text-decoration:none}
.cap-cta{white-space:nowrap}
/* compact tiles: cards, tables, review sheets */
.cap-slots--compact{gap:8px;padding-bottom:4px}
.cap-slots--compact .cap-slot{flex:1 1 0;min-width:60px;max-width:104px;width:auto}
.cap-slots--compact .cap-slot::after{top:4px;bottom:-4px;border-radius:10px}
.cap-slots--compact .cap-slot.is-taken::after{top:1px;bottom:-1px}
.cap-slots--compact .cap-face{min-height:60px;padding:9px 10px;gap:6px;border-radius:10px;font-size:12.5px}
.cap-slots--compact .cap-slot.is-taken .cap-face{transform:translateY(3px)}
.cap-slots--compact .cap-ico{width:22px;height:22px}
.cap-slots--compact .cap-ico svg{width:11px;height:11px}
.cap-status{display:flex;align-items:center;gap:10px;margin:0;color:var(--fg-1);font-size:15px;font-weight:500;line-height:1.4}
.cap-cta{min-height:44px}

/* c) mobile sticky bar */
.cap-bar{display:none}
@media (max-width:767px){
.cap-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:97;align-items:center;gap:12px;padding:10px clamp(14px,4vw,20px) calc(10px + env(safe-area-inset-bottom));background:rgba(10,12,17,.97);border-top:1px solid var(--border-strong);transform:translateY(105%);transition:transform 320ms cubic-bezier(.2,.8,.2,1)}
.cap-bar.is-on{transform:none}
.cap-bar-t{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin:0;color:#EEF3FA;font:500 13px/1.3 var(--font-sans,system-ui,sans-serif)}
.cap-bar-cta{flex:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:var(--radius-sm,8px);background:var(--ck-sig,#3AA0D2);color:var(--ck-on,#05131D);font-size:14px;font-weight:600;text-decoration:none}
.cap-bar-cta:focus-visible{outline:2px solid #fff;outline-offset:2px}
body.cap-has-bar .ck-mbar,body.cap-has-bar .om-sticky{display:none!important}
body.cap-has-bar{padding-bottom:calc(66px + env(safe-area-inset-bottom))!important}
}
[data-theme="light"] .cap-bar{background:rgba(250,251,253,.97)}
[data-theme="light"] .cap-bar-t{color:var(--fg-1)}

@media (prefers-reduced-motion:reduce){.cap-dot::after,.cap-slot.is-open .cap-face{animation:none!important}.cap-bar{transition:none}.cap-face{transition:none}}

/* full state: pool tiles stay truthful, but open tiles are not offered on a full lane */
.cap[data-state="full"] .cap-slot.is-open .cap-face{animation:none;cursor:default;border-color:rgba(170,196,232,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.cap[data-state="full"] .cap-slot.is-open{--slot-c:#9AA6B8;--slot-edge:#2A3140;--slot-glow:rgba(0,0,0,0)}

/* generic waitlist form (swapped in for the page form) */
.cap-wl{display:flex;flex-direction:column;gap:18px}
.cap-wl[hidden],.cap-wl [hidden],.cap-wl-on form[hidden]{display:none!important}
.cap-wl-h{margin:0;font-size:clamp(24px,2.6vw,34px);line-height:1.08;letter-spacing:-.02em;color:var(--fg-1)}
.cap-wl-h:focus{outline:none}
.cap-wl .ck-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.cap-wl .ck-row{grid-template-columns:1fr}}
.cap-wl-note{margin:0;color:var(--fg-2);font-size:14px;line-height:1.5}
.cap-wl-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.cap-wl-send{min-height:44px;white-space:nowrap;flex:none}
.cap-wl-row .ck-consent{flex:1 1 260px;margin:0}
.cap-wl-back{background:none;border:0;padding:0;min-height:44px;color:var(--ck-sig,#3AA0D2);font:600 14px var(--font-sans,system-ui,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cap-wl-back:focus-visible{outline:2px solid var(--ck-sig,#3AA0D2);outline-offset:3px}
.cap-wl-ok:focus{outline:none}
.cap-wl-ok p{margin:10px 0 0;color:var(--fg-2);font-size:16px;line-height:1.55}
/* intake panel section on service pages */
.cap-sec .cap-h{max-width:18ch}
.cap-hero{margin-top:16px}

/* ==== footer-fix-v1.css ==== */
/* Footer fix v1. Pins the shared footer to the Homepage v4 measurements on pages whose own CSS changed them
   (case studies use a 1200px container, the visibility monitor uses a system font). Same container, font and rhythm as
   Homepage v4; also stops long service names in the Navigate column from overlapping at tablet widths. */
footer.footer{font-family:var(--font-sans,"Instrument Sans",system-ui,sans-serif)}
footer.footer>.container{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,48px);position:relative}
footer.footer .footer-col h4{line-height:1.2}
footer.footer .footer-col li{height:auto;line-height:22px}
footer.footer .footer-col a{font-size:14px;line-height:1.45}
footer.footer .footer-col li.ft-sub a{font-size:.94em}

/* ==== lang-switch-v1.css ==== */
/* Language switch v1. Copied verbatim from Homepage v4 (header switch + mobile panel row). Loaded only by pages that
   had no switch of their own. Mobile: header switch hidden under 768px, the row lives in the menu panel, as on Homepage v4. */
.lang-switch { display: flex; flex: none; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); overflow: hidden; }
.lang-switch button { background: transparent; border: 0; border-right: 1px solid var(--border-strong); color: var(--fg-3); font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-caps); padding: 9px 12px; cursor: pointer; transition: color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
.lang-switch button:last-child { border-right: 0; }
.lang-switch button:hover { color: var(--fg-1); }
.lang-switch button.is-on { background: rgba(58,160,210,0.12); color: var(--signal); }
.lang-switch button:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }
@media (max-width: 640px) { .lang-switch button { padding: 9px 9px; } }
@media (max-width: 767px) { .nav-tools .lang-switch { display: none !important; } }
.m-menu .m-langs{display:flex;gap:8px;margin:26px 0 0}
.m-menu .m-langs button{border:1px solid var(--border-strong);background:transparent;color:var(--fg-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;padding:10px 16px;border-radius:var(--radius-sm);min-height:44px;cursor:pointer}
.m-menu .m-langs button.is-on{color:var(--signal);border-color:var(--signal);background:rgba(58,160,210,.1)}

/* ==== inline style #fixD-reserve ==== */
/* fix pass D: space for the capacity line before its script fills it */.cap-hero:empty{min-height:36px}

/* ---- fix pass E: rendering cost ---- */
/* 1. sections below the first screen skip style, layout and paint until near the viewport. Sections holding a pinned scroll engine are left alone. html.cv-off turns it off (anchor jumps). */
/* 2. phones: the first screen keeps its look but stops running effects (no backdrop blur, no CSS loops) */
@media (max-width:767px){
.nav,.nav *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.nav.is-scrolled{background-color:color-mix(in srgb,var(--bg,#05070b) 94%,transparent)}
.grain{animation:none!important}
main > section:first-of-type,main > section:first-of-type *,main > section:first-of-type *::before,main > section:first-of-type *::after,
.hero,.hero *,.hero *::before,.hero *::after,#hero,#hero *,.jr-ch0,.jr-ch0 *,.jr-ch0 *::before,.jr-ch0 *::after{animation:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

/* ---- fix pass F ---- */
/* content-visibility now uses a data attribute set in the HTML (no :has() selector, cheaper style recalc) */
@supports (content-visibility:auto){html:not(.cv-off) [data-cv]{content-visibility:auto;contain-intrinsic-size:auto 900px}}
/* quick contact bar: its space is reserved from first paint, it moves with transform only */
@media (max-width:767px){body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}body.ck-app-open{padding-bottom:0}.ck-mbar{transition:transform .3s cubic-bezier(.2,.8,.2,1);will-change:transform}body.cc-open .ck-mbar{bottom:0!important;transform:translateY(calc(-1 * var(--cc-h,0px)))}}

/* ==== pass M: accessibility (grey text lightened slightly to 4.5:1 on the dark theme) ==== */
html:not([data-theme="light"]){--fg-4:#8B93A0}

/* ==== pass N ==== */
/* pass N: the film grain is a CSS layer on html::after, not an element, so it can never be the largest paint */
html::after{content:"";animation:none!important}
@media (max-width:767px){html::after{animation:none!important}}

/* ==== pass Q: shared client logos v2 ==== */
/* client logos v2 (pass Q): shared tiles, strips and card badges for client and partner logos (v1 rules plus compact strip and badges) */
.cl-logo{display:inline-flex;align-items:center;justify-content:center;line-height:0;border-radius:12px}
.cl-logo img{display:block;width:auto;height:100%;max-height:100%;max-width:100%}
.cl-tile--own,.cl-tile--dark{background:transparent}
.cl-tile--white{background:#fff;padding:8px 12px}
.cl-tile--text{line-height:1.2;font-weight:700;letter-spacing:.02em;color:var(--fg-1)}
.cl-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}
.cl-strip li{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cl-strip a{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:6px}
.cl-strip .cl-logo{height:56px}
.cl-strip .cl-tile--text{height:56px;padding:0 4px;font-size:18px}
.cl-kind{font-size:12px;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase}
.cs-hero-name .cl-logo{height:56px}
.cs-hero-name .cl-tile--white{height:64px}
.b3-name .cl-logo{height:40px}
.cs-hero-logos{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 14px}
.cs-hero-logos .cl-logo{height:56px}
.cs-hero-logos .cl-x{font-size:20px;color:var(--fg-3)}

[data-client-logos]:not([data-cl-done]){min-height:72px}
[data-client-logos][data-variant="compact"]:not([data-cl-done]){min-height:58px}
.cl-strip--compact{flex-wrap:wrap;gap:10px 22px}
.cl-strip--compact .cl-logo{height:40px}
.cl-strip--compact .cl-tile--text{height:40px;font-size:15px}
.cl-strip--compact li{position:relative;flex-direction:row;align-items:center;gap:6px}
.cl-strip--compact a{flex-direction:row;align-items:center;gap:6px}
.cl-strip--compact img{filter:grayscale(1);opacity:.85;transition:filter .25s,opacity .25s}
.cl-strip--compact a:hover img,.cl-strip--compact a:focus-visible img{filter:none;opacity:1}
.cl-strip--compact .cl-kind{font-size:10.5px;padding:2px 6px;border:1px solid var(--border-1);border-radius:999px;color:var(--fg-2)}
.cl-badge{position:absolute;left:14px;bottom:14px;z-index:2}
.cl-badge .cl-logo{height:40px;box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
.cl-badge .cl-tile--text{background:rgba(10,12,17,.75);color:#fff;padding:0 12px;border-radius:10px;font-size:15px}
.cl-band{padding:clamp(28px,4vw,44px) 0}
.cl-band h2{margin:0 0 14px;font-size:clamp(20px,2.2vw,28px)}
.ft-trust{padding:20px 0;border-top:1px solid var(--border-1)}
.ft-trust p{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.cl-badge{display:flex;gap:8px;align-items:center}
.cl-badge .cl-tile--dark{background:rgba(10,12,17,.72);padding:6px 10px}
.card-cover{position:relative}

/* ==== pass W: phones use the full container width for the hero intro and every scene card ==== */
@media (max-width:767px){.mv .mv-intro,.mv .mv-card,.mv .mv-final{left:20px!important;right:20px!important;width:auto!important;max-width:none!important}.mv .mv-intro p,.mv .mv-card p,.mv .mv-sub{max-width:none!important}}

/* pass AA: Roboto only, .pr2-serif headlines in Roboto light */
.pr2-serif{font-family:"Roboto","Roboto Fallback",system-ui,sans-serif!important;font-weight:300;letter-spacing:-.02em;font-style:normal}
.pr2-serif em,.pr2-serif i{font-style:normal;font-weight:400}
