/* Shared Header — single visual source for /, /privacy and /terms. */
:root{--header-height:76px;--header-v2-height:var(--header-height);}
.header-v2{position:sticky;top:0;z-index:50;padding:0;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(5,8,18,.60);box-shadow:none;backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.header-v2.is-scrolled{border-bottom-color:rgba(190,198,255,.14);background:rgba(5,8,18,.78);box-shadow:0 12px 28px rgba(0,0,0,.22),0 1px 0 rgba(139,207,255,.035)}
.header-v2 .container{position:relative;width:min(var(--max),calc(100% - 56px));margin:0 auto}.header-v2 .header-inner{display:grid;grid-template-columns:minmax(225px,1fr) auto minmax(225px,1fr);align-items:center;gap:26px;min-height:var(--header-height);margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.header-v2 .brand{justify-self:start;display:inline-flex;align-items:center;gap:12px;min-width:0;min-height:44px;color:#f5f5f7;text-decoration:none;white-space:nowrap;transition:opacity .2s ease}.header-v2 .brand:hover{color:#fff;opacity:.94}.header-v2 .brand::before,.header-v2 .brand::after{content:none;display:none}.header-v2 .brand-orb{display:block;width:42px;height:42px;flex:0 0 42px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(87,116,255,.22))}.header-v2 .brand-wordmark{display:grid;gap:4px;align-content:center;min-width:0}.header-v2 .brand-primary{color:#f5f5f7;font:760 16px/.9 "IBM Plex Sans",Arial,sans-serif;letter-spacing:.035em}.header-v2 .brand-secondary{color:#a4a7ba;font:520 8.5px/1 "IBM Plex Sans",Arial,sans-serif;letter-spacing:.185em}
.header-v2 .nav{justify-self:center;display:flex;align-items:center;gap:24px;margin:0;padding:0;border:0;background:transparent}.header-v2 .nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0;color:rgba(232,235,248,.66);font-size:14px;font-weight:500;line-height:1;letter-spacing:-.01em;text-decoration:none;transition:color .2s ease}.header-v2 .nav a::after{content:"";position:absolute;right:0;bottom:3px;left:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#8476ff,#8bcfff);box-shadow:0 0 12px rgba(126,110,255,.70);opacity:0;transform:scaleX(.35);transform-origin:center;transition:opacity .2s ease,transform .2s ease}.header-v2 .nav a:hover,.header-v2 .nav a:focus-visible,.header-v2 .nav a.is-active{color:#fbfcff}.header-v2 .nav a:hover::after,.header-v2 .nav a:focus-visible::after,.header-v2 .nav a.is-active::after{opacity:1;transform:scaleX(1)}
.header-v2 .contact-top{justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 16px;border:1px solid rgba(197,205,255,.48);border-radius:13px;background:linear-gradient(135deg,#7262ed 0%,#7165ef 54%,#6276e7 100%);color:#fff;font-size:13px;font-weight:650;line-height:1;text-decoration:none;box-shadow:0 9px 24px rgba(91,73,230,.27),inset 0 1px 0 rgba(255,255,255,.20);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.header-v2 .contact-top::after{content:"↗";font-size:15px;font-weight:500;line-height:1;transition:transform .2s ease}.header-v2 .contact-top:hover{color:#fff;filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 12px 28px rgba(91,73,230,.40),inset 0 1px 0 rgba(255,255,255,.24)}.header-v2 .contact-top:hover::after{transform:translate(2px,-2px)}
.header-v2 .menu-toggle{justify-self:end;display:none;width:42px;height:42px;padding:0;border:1px solid rgba(194,203,255,.18);border-radius:12px;background:rgba(255,255,255,.035);color:#f5f6ff;box-shadow:none;place-content:center;gap:6px;cursor:pointer}.header-v2 .menu-toggle span{display:block;width:18px;height:1px;background:currentColor}.header-v2 .mobile-nav{position:absolute;top:var(--header-height);right:0;z-index:60;display:block;width:min(332px,calc(100vw - 28px));max-height:none;margin:0;padding:8px;border:1px solid rgba(184,193,255,.16);border-radius:14px;background:rgba(8,9,17,.96);box-shadow:0 24px 70px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(22px) saturate(125%);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .2s ease,transform .22s ease,visibility .2s ease}.header-v2 .mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(10px)}.header-v2 .mobile-nav a{display:flex;align-items:center;min-height:48px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:rgba(240,242,252,.70);font-size:14px;line-height:1;text-decoration:none}.header-v2 .mobile-nav a:hover,.header-v2 .mobile-nav a.is-active{color:#fff;background:rgba(129,111,255,.12)}.header-v2 .mobile-nav a:last-child{margin-top:5px;border:1px solid rgba(197,205,255,.36);background:linear-gradient(135deg,#7262ed,#6377e8);color:#fff;font-weight:650}
.header-v2 :is(a,button):focus-visible{outline:2px solid #8bcfff;outline-offset:3px}
@media(max-width:1366px) and (min-width:1201px){:root{--header-height:82px}.header-v2 .container{width:min(1060px,calc(100% - 44px))}.header-v2 .header-inner{grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);gap:16px;min-height:var(--header-height)}.header-v2 .brand{gap:10px}.header-v2 .brand-orb{width:38px;height:38px;flex-basis:38px}.header-v2 .brand-primary{font-size:14px}.header-v2 .brand-secondary{font-size:7.8px;letter-spacing:.17em}.header-v2 .nav{gap:18px}.header-v2 .nav a{font-size:13.5px}.header-v2 .contact-top{min-height:40px;padding:0 12px;font-size:11.5px}}
@media(max-width:1200px) and (min-width:901px){:root{--header-height:82px}.header-v2 .container{width:min(var(--max),calc(100% - 44px))}.header-v2 .header-inner{display:flex;justify-content:space-between;gap:10px;min-height:var(--header-height)}.header-v2 .nav{display:none}.header-v2 .brand{gap:10px}.header-v2 .brand-orb{width:38px;height:38px;flex-basis:38px}.header-v2 .brand-primary{font-size:14px}.header-v2 .brand-secondary{font-size:7.8px;letter-spacing:.17em}.header-v2 .contact-top{display:inline-flex;margin-left:auto;min-height:40px;padding:0 13px;font-size:12px}.header-v2 .menu-toggle{display:grid;width:40px;height:40px}}
@media(max-width:900px){:root{--header-height:72px}.header-v2 .header-inner{display:flex;justify-content:space-between;gap:10px;min-height:var(--header-height)}.header-v2 .nav{display:none}.header-v2 .contact-top{display:inline-flex;margin-left:auto;min-height:38px;padding:0 12px;font-size:12px}.header-v2 .menu-toggle{display:grid;width:40px;height:40px}}
@media(max-width:560px){.header-v2 .container{width:calc(100% - 32px)}.header-v2 .brand{gap:10px}.header-v2 .brand-orb{width:34px;height:34px;flex-basis:34px}.header-v2 .brand-wordmark{gap:3px}.header-v2 .brand-primary{font-size:13px}.header-v2 .brand-secondary{font-size:7px;letter-spacing:.16em}.header-v2 .contact-top{width:38px;padding:0;font-size:0}.header-v2 .contact-top::after{font-size:16px}.header-v2 .mobile-nav{right:0;width:min(318px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.header-v2,.header-v2 *{transition:none!important}}


/* Scrollspy owns persistent underline; focus keeps only the keyboard outline. */
.header-v2 .nav a:focus-visible{color:#fbfcff}.header-v2 .nav a:focus-visible::after{opacity:0;transform:scaleX(.35)}
.header-v2 .nav a:hover::after,.header-v2 .nav a.is-active::after{opacity:1;transform:scaleX(1)}
main section[id]{scroll-margin-top:calc(var(--header-height) + 24px)}

/* Focus Group wordmark */
.header-v2 .brand-wordmark{gap:5px}
.header-v2 .brand-primary{color:#f5f5f7;font-weight:780;font-size:17px;letter-spacing:.055em}
.header-v2 .brand-secondary{color:#9ca1b5;font-weight:500;font-size:9px;letter-spacing:.24em}
@media(max-width:1366px) and (min-width:1201px){.header-v2 .brand-primary{font-size:15px}.header-v2 .brand-secondary{font-size:8px;letter-spacing:.22em}}
@media(max-width:1200px) and (min-width:901px){.header-v2 .brand-primary{font-size:15px}.header-v2 .brand-secondary{font-size:8px;letter-spacing:.22em}}
@media(max-width:560px){.header-v2 .brand-primary{font-size:13.5px}.header-v2 .brand-secondary{font-size:7.5px;letter-spacing:.2em}}
