/* ==========================================================================
   ZoomGTM — neo-callcenter-ux
   Tokens: ink #070628 · signal #514fee · paper #f7f7ff
   Rules: headings weight 400 · hairline shadows · one accent · pill shapes
   ========================================================================== */
:root{
  --ink-5:#0706280d; --ink-7:#07062812; --ink-10:#0706281a; --ink-20:#07062833;
  --ink-40:#07062866; --ink-60:#07062899; --ink-70:#070628b3; --ink-100:#070628;
  --signal-5:#514fee0d; --signal-10:#514fee1a; --signal-20:#514fee33;
  --signal-60:#514fee99; --signal-70:#514feeb3; --signal-100:#514fee;
  --paper-10:#f7f7ff1a; --paper-20:#f7f7ff33; --paper-40:#f7f7ff66;
  --paper-60:#f7f7ff99; --paper-70:#f7f7ffb3; --paper-80:#f7f7ffcc; --paper-100:#f7f7ff;

  --bg-page:var(--paper-100); --bg-subtle:#f2f2fb;
  --text-primary:var(--ink-100); --text-secondary:var(--ink-60); --text-tertiary:var(--ink-40);
  --border-subtle:var(--ink-5); --border-default:var(--ink-20);

  --font-display:"Schibsted Grotesk","TWK Lausanne",Arial,sans-serif;
  --font-body:Inter,sans-serif;

  --sp-7xs:.375rem; --sp-6xs:.5rem; --sp-5xs:.625rem; --sp-4xs:.75rem; --sp-3xs:1rem;
  --sp-2xs:1.25rem; --sp-xs:1.5rem; --sp-s:2rem; --sp-sm:2.5rem; --sp-m:3rem; --sp-l:4rem;
  --sp-xl:4.5rem; --sp-2xl:6rem; --sp-3xl:8rem;

  --max-sm:896px; --max-l:1152px; --max-xl:1280px;
  --r-3xs:12px; --r-s:18px; --r-m:24px; --r-l:32px; --r-round:9999px;

  --shadow-hairline:0 0 0 .5px #00000014, 0 1.5px 1.5px #0000000a, inset 0 0 0 .75px #fafafa40;
  --shadow-card:0 0 0 1px #0000000a, 0 2px 2px #0000000a;
  --shadow-raised:0 0 0 1px #00000014, 0 2px 2px #0000000a, inset 0 0 0 1px #fafafa40;
  --shadow-focus:0 0 0 2px var(--signal-20);

  --ease:cubic-bezier(.4,0,.2,1); --t-base:.2s; --t-slow:.3s;
  --transition-base:all var(--t-base) var(--ease);

  --grad-hero:linear-gradient(180deg,#070628 0%,#09083a 4%,#0d0c52 8%,#141173 12%,#1b1894 16%,
    #2623b8 22%,#3a38d6 28%,#5552ea 36%,#6f6df5 50%,#9a99f8 65%,#c2c1fb 78%,#e3e3fd 88%,#f7f7fe 100%);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --grad-glass:linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.4));
  --grad-glass-card:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.7));
  --grad-slab-sheen:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.15));
  --grad-text-light:linear-gradient(#fff,rgba(255,255,255,.85));
  --grad-footer:linear-gradient(#f7f7ff,#f3f2ff 35%,#ecebff 65%,#e6e4ff);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-page);color:var(--text-primary);
  font:400 1.125rem/30px var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0;letter-spacing:normal}
p{margin:0}
img{max-width:100%;display:block}
.wrap{max-width:var(--max-xl);margin:0 auto;padding:0 var(--sp-xs)}
.section{padding:var(--sp-3xl) 0}
.section--tight{padding-top:0}        /* stacked full-bleed cards: avoid doubled gutters */
.section--flush{padding-bottom:0}     /* last section before the footer */
.section__title{font-size:2.5rem;line-height:52px;margin:var(--sp-4xs) 0 var(--sp-s)}
@media(max-width:960px){.section{padding:var(--sp-2xl) 0}
  .section__title{font-size:1.75rem;line-height:36px}}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--sp-xs);top:var(--sp-xs);z-index:200;background:#fff;padding:var(--sp-4xs) var(--sp-3xs);
  border-radius:var(--r-round);box-shadow:var(--shadow-raised)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:var(--sp-7xs);border:0;cursor:pointer;
  border-radius:var(--r-round);font-family:var(--font-body);font-weight:500;
  text-decoration:none;white-space:nowrap;transition:var(--transition-base)}
.btn--sm{padding:.75rem 1rem;font-size:.875rem}
.btn--md{padding:1rem 1.25rem;font-size:1rem}
.btn--primary{background:var(--signal-100);color:var(--paper-100)}
.btn--primary:hover{background:var(--signal-70)}
.btn--secondary{background:#fff;color:var(--signal-100);box-shadow:var(--shadow-card)}
.btn--secondary:hover{background:whitesmoke}
.btn--onDark{background:var(--paper-100);color:var(--signal-100)}
.btn--onDark:hover{background:#fff}
.btn--ghost{background:var(--paper-10);color:var(--paper-100)}
.btn--ghost:hover{background:var(--paper-20)}
.btn:focus-visible{outline:0;box-shadow:var(--shadow-focus)}

/* ---- eyebrow / badge ---- */
.eyebrow{display:inline-flex;align-items:center;gap:var(--sp-6xs);
  font:500 .875rem/22px var(--font-body);color:var(--signal-100)}
.eyebrow svg{width:16px;height:16px}
.badge{display:inline-block;padding:var(--sp-7xs) var(--sp-4xs);border-radius:var(--r-round);
  background:var(--signal-5);color:var(--signal-100);font:500 .875rem/22px var(--font-body)}
.badge--onDark{background:var(--paper-10);color:var(--paper-100)}

/* ---- announce + nav ---- */
.announce{display:flex;align-items:center;justify-content:center;gap:var(--sp-6xs);flex-wrap:wrap;
  background:var(--ink-100);color:var(--paper-80);
  font:400 .875rem/22px var(--font-body);padding:var(--sp-4xs) var(--sp-xs)}
.announce a{color:var(--paper-100);text-decoration:none}
.announce a:hover{text-decoration:underline}
.announce .dot{width:6px;height:6px;border-radius:var(--r-round);background:var(--signal-100)}

.nav{position:sticky;top:0;z-index:100;padding:var(--sp-3xs) var(--sp-xs);
  margin-bottom:-94px}   /* own height — lets the hero start at the very top */
/* Hairline under the transparent nav, full bleed, like the reference. */
.nav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--paper-10);opacity:1;transition:opacity var(--t-base) var(--ease)}
.nav.is-scrolled::after{opacity:0}
.nav__container{display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max-l);margin:0 auto;height:62px;padding:var(--sp-4xs) var(--sp-xs);
  border-radius:var(--r-round);background:none;box-shadow:none;
  transition:background var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease)}
/* Scrolled: the glass pill returns. At rest the nav is transparent so the hero
   gradient runs edge to edge behind it. */
.nav.is-scrolled .nav__container{
  background:var(--grad-glass),rgba(255,255,255,.5);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:var(--shadow-hairline)}
.nav__logo{display:flex;align-items:center;gap:var(--sp-6xs);text-decoration:none;
  font:700 1.25rem/1 var(--font-display);color:var(--paper-100);
  transition:color var(--t-slow) var(--ease)}
.nav.is-scrolled .nav__logo{color:var(--ink-100)}
.nav__mark{width:22px;height:22px}
.nav__links{display:flex;gap:var(--sp-xs)}
.nav__links a,.nav__signin{font:500 .875rem/22px var(--font-body);color:var(--paper-70);
  text-decoration:none;transition:color var(--t-base) var(--ease)}
.nav__links a:hover,.nav__signin:hover{color:var(--paper-100)}
.nav.is-scrolled .nav__links a,.nav.is-scrolled .nav__signin{color:var(--ink-60)}
.nav.is-scrolled .nav__links a:hover,.nav.is-scrolled .nav__signin:hover{color:var(--ink-100)}
.nav__actions{display:flex;align-items:center;gap:var(--sp-3xs)}
.nav__trigger{display:none;align-items:center;justify-content:center;width:38px;height:38px;
  padding:0;border:0;cursor:pointer;border-radius:var(--r-round);background:var(--paper-10);
  color:var(--paper-100);transition:var(--transition-base)}
.nav__trigger:hover{background:var(--paper-20)}
.nav.is-scrolled .nav__trigger{background:var(--ink-5);color:var(--ink-100)}
.nav.is-scrolled .nav__trigger:hover{background:var(--ink-10)}
.nav__trigger svg{width:18px;height:18px}
.nav__sheet{display:none;
  /* Absolute so opening the menu never changes the header's height — in flow it
     would push the hero down and leave page background behind the nav row. */
  position:absolute;left:var(--sp-xs);right:var(--sp-xs);top:86px;
  padding:var(--sp-3xs);border-radius:var(--r-m);
  background:var(--grad-glass),rgba(255,255,255,.7);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-raised)}
.nav__sheet.is-open{display:block}
.nav__sheet a{display:block;padding:var(--sp-4xs) var(--sp-6xs);text-decoration:none;
  font:500 1rem/28px var(--font-body);color:var(--ink-100)}
.nav__sheet a+a{border-top:1px solid var(--border-subtle)}
@media(max-width:960px){
  .nav__links,.nav__signin{display:none}
  .nav__trigger{display:inline-flex}
}
@media(min-width:961px){.nav__sheet{display:none!important}}

/* ---- hero ---- */
.hero{position:relative;isolation:isolate;overflow:hidden;
  min-height:1140px;padding:calc(94px + var(--sp-2xl)) var(--sp-xs) 0;
  text-align:center;background:var(--grad-hero)}
@supports (background:linear-gradient(in oklab,#000,#fff)){
  .hero{background:linear-gradient(in oklab 180deg,#070628 0%,#09083a 4%,#0d0c52 8%,#141173 12%,
    #1b1894 16%,#2623b8 22%,#3a38d6 28%,#5552ea 36%,#6f6df5 50%,#9a99f8 65%,#c2c1fb 78%,
    #e3e3fd 88%,#f7f7fe 100%)}
}

/* film grain over the gradient */
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--noise);background-size:160px 160px;opacity:.03;mix-blend-mode:soft-light}

/* background stack: measurement grid + dotted globe */
.hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.hero__grid{position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:56px 56px;background-position:center top;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.25) 58%,transparent 78%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.25) 58%,transparent 78%)}
.hero__grid::after{content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.22) 1px,transparent 1.2px);
  background-size:56px 56px;background-position:center top;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 55%);
  mask-image:linear-gradient(180deg,#000 0%,transparent 55%)}
/* The dotted sphere. Two nested elements so each carries exactly one mask —
   mask-composite is unreliable across browsers. The outer element fades the
   sphere edge; the inner one punches the world map out of a vertical gradient,
   so the dots read light over the dark top and dark over the pale bottom. */
.hero__globe{position:absolute;left:50%;top:46%;transform:translateX(-50%);display:block;
  width:1180px;height:1180px;max-width:165vw;max-height:165vw;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 62%,rgba(0,0,0,.55) 82%,transparent 97%);
  mask-image:radial-gradient(circle at 50% 50%,#000 62%,rgba(0,0,0,.55) 82%,transparent 97%)}
.hero>*:not(.hero__bg){position:relative;z-index:1}
.hero__badge{margin-bottom:var(--sp-xs);background:var(--paper-10);color:var(--paper-100)}
.hero__title{max-width:20ch;margin:0 auto;font-size:4.25rem;line-height:80px;
  background:var(--grad-text-light);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{max-width:56ch;margin:var(--sp-xs) auto 0;font-size:1.125rem;line-height:30px;color:var(--paper-60)}
.hero__cta{display:flex;gap:var(--sp-4xs);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-s)}
.hero__panel{max-width:var(--max-xl);margin:var(--sp-3xl) auto 0;padding:var(--sp-s);
  border-radius:var(--r-m);
  background:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.40));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-raised);
  transform:scale(.9) translateY(40px);opacity:0;transition:transform .7s var(--ease),opacity .7s var(--ease)}
.hero__panel.is-in{transform:none;opacity:1}
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3xs);text-align:left}
.board__cell{padding:var(--sp-3xs);border-radius:var(--r-3xs);background:#fff;box-shadow:var(--shadow-card)}
.board__label{font:400 .875rem/24px var(--font-body);color:var(--text-secondary)}
.board__value{font:400 2rem/44px var(--font-display);color:var(--text-primary)}
.board__value em{font-style:normal;color:var(--signal-100)}
.board__meta{font:500 .875rem/22px var(--font-body);color:var(--signal-100)}
@media(max-width:960px){
  /* No announcement bar on small screens, and the hero starts right under
     the 62px nav row instead of carrying the desktop top pad. */
  .announce{display:none}
  .hero{min-height:auto;padding-top:calc(94px + var(--sp-3xs));padding-bottom:var(--sp-3xl)}
  .hero__title{font-size:2.25rem;line-height:44px}
  .board{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){.board{grid-template-columns:1fr}}

/* ---- clock-in heatmap ----------------------------------------------------
   Green is the one sanctioned break from the single-accent rule: it is a
   status hue, the same green used by the "live" pills, not a second brand
   colour. Cells carry a 3px radius because they are data marks, not cards. */
.heat{position:relative;margin-top:var(--sp-3xs);padding-top:var(--sp-3xs);
  border-top:1px solid var(--border-subtle)}
.heat__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3xs);
  flex-wrap:wrap;margin-bottom:var(--sp-4xs)}
.heat__title{font:400 .875rem/24px var(--font-body);color:var(--text-secondary)}
.heat__legend{display:flex;align-items:center;gap:4px;
  font:400 .75rem/20px var(--font-body);color:var(--text-tertiary)}
.heat__legend i{width:11px;height:11px;border-radius:3px;display:block}
.heat__scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:2px}
.heat__inner{width:-moz-fit-content;width:fit-content;margin:0 auto}
.heat__months{display:grid;gap:3px;margin-left:34px;margin-bottom:3px;
  font:400 .6875rem/14px var(--font-body);color:var(--text-tertiary)}
.heat__months span{grid-row:1;white-space:nowrap}
.heat__body{display:flex;gap:6px}
.heat__days{display:grid;grid-template-rows:repeat(7,13px);gap:3px;width:28px;
  font:400 .6875rem/13px var(--font-body);color:var(--text-tertiary)}
.heat__days span:nth-child(1){grid-row:2}
.heat__days span:nth-child(2){grid-row:4}
.heat__days span:nth-child(3){grid-row:6}
.heat__grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);
  grid-auto-columns:13px;gap:3px}
.heat__grid i{display:block;width:13px;height:13px;border-radius:3px}
[data-level="0"]{background:var(--ink-7)}
[data-level="1"]{background:#cdeedd}
[data-level="2"]{background:#8ad7ae}
[data-level="3"]{background:#42b97c}
[data-level="4"]{background:#12a150}
.heat__grid i{cursor:default;transition:outline-color var(--t-fast,.1s) var(--ease)}
.heat__grid i:hover{outline:2px solid var(--ink-40);outline-offset:1px}
.heat__tip{position:absolute;z-index:5;pointer-events:none;opacity:0;
  transform:translate(-50%,-100%);
  padding:var(--sp-4xs) var(--sp-3xs);border-radius:var(--r-3xs);
  background:var(--ink-100);color:var(--paper-100);
  box-shadow:var(--shadow-raised);
  transition:opacity var(--t-base) var(--ease);
  min-width:190px}
.heat__tip.is-on{opacity:1}
.heat__tip b{display:block;font:500 .8125rem/20px var(--font-body);color:var(--paper-100)}
.heat__tip dl{display:grid;grid-template-columns:auto auto;gap:2px var(--sp-4xs);
  margin-top:var(--sp-7xs)}
.heat__tip dt{font:400 .75rem/18px var(--font-body);color:var(--paper-60)}
.heat__tip dd{margin:0;text-align:right;font:500 .75rem/18px var(--font-body);color:var(--paper-100)}
.heat__tip .quiet{color:var(--paper-60);font-weight:400}
@media(max-width:600px){.heat__title{font-size:.8125rem}}

/* ---- marquee ---- */
.marquee{overflow:hidden;padding:var(--sp-s) 0}
.marquee__caption{text-align:center;margin-bottom:var(--sp-s);
  font:400 .875rem/22px var(--font-body);color:var(--text-secondary)}
.marquee{position:relative}
.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;
  pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--bg-page),transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,var(--bg-page),transparent)}
.marquee__track{display:flex;align-items:center;gap:var(--sp-2xl);width:max-content;
  animation:marquee 42s linear infinite}
.marquee__logo{flex:0 0 auto;white-space:nowrap;
  font:700 1.375rem/28px var(--font-display);color:var(--ink-40)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---- statement ---- */
.statement{max-width:var(--max-sm);margin:0 auto;text-align:center;font-size:2rem;line-height:44px}
.statement span{color:var(--text-tertiary)}

/* ---- bento ---- */
.bento__row{display:grid;border-top:1px solid var(--border-subtle)}
.bento__row--split{grid-template-columns:1fr 1fr}
.bento__row--split>*+*{border-left:1px solid var(--border-subtle)}
.bento__cell{min-height:480px;padding:var(--sp-m);display:flex;flex-direction:column;
  gap:var(--sp-2xs);overflow:hidden}
.bento__heading{font-size:2rem;line-height:44px}
.bento__body{max-width:38ch;color:var(--text-secondary)}
.bento__visual{flex:1;position:relative;margin-top:var(--sp-3xs);border-radius:var(--r-m);
  background:var(--bg-subtle);padding:var(--sp-xs);display:flex;flex-direction:column;gap:var(--sp-6xs);
  justify-content:center}
.row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3xs);
  padding:var(--sp-4xs) var(--sp-3xs);border-radius:var(--r-3xs);background:#fff;
  box-shadow:var(--shadow-card);font:400 .9375rem/24px var(--font-body);color:var(--text-primary)}
.row b{font-weight:500}
.row span{color:var(--text-secondary);font-size:.875rem;white-space:nowrap}
.row .up{color:var(--signal-100);font-weight:500}
.pill{display:inline-block;padding:2px 10px;border-radius:var(--r-round);
  font:500 .75rem/20px var(--font-body);background:var(--signal-10);color:var(--signal-100)}
.pill--live{background:#12a15019;color:#0e7a3c}
.pill--queue{background:#f5a5241f;color:#8a5a05}
@media(max-width:960px){
  .bento__row--split{grid-template-columns:1fr}
  .bento__row--split>*+*{border-left:0;border-top:1px solid var(--border-subtle)}
  .bento__cell{min-height:auto;padding:var(--sp-s) var(--sp-xs)}
  .bento__heading{font-size:1.75rem;line-height:36px}
}

/* ---- slab ---- */
.slab{max-width:1248px;margin:0 auto;padding:var(--sp-xl) var(--sp-2xl);border-radius:var(--r-l);
  background:var(--grad-slab-sheen),var(--ink-100);color:var(--paper-100);position:relative;overflow:hidden}
.slab__title{font-size:2.5rem;line-height:52px;margin:var(--sp-xs) 0 var(--sp-3xs)}
.slab__body{max-width:52ch;color:var(--paper-60);font-size:1.125rem;line-height:30px}
.slab__cta{margin-top:var(--sp-xs)}
.metrics{display:flex;gap:var(--sp-2xl);margin:var(--sp-xl) 0 0;flex-wrap:wrap}
.metrics dt{font:400 3rem/1.1 var(--font-display)}
.metrics dd{margin:var(--sp-6xs) 0 0;max-width:18ch;font-size:1rem;line-height:28px;color:var(--paper-60)}
.slab__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-xs);margin-top:var(--sp-xl)}
.slab__tile{padding:var(--sp-xs);border-radius:var(--r-s);background:var(--paper-7,#f7f7ff12);
  box-shadow:inset 0 0 0 1px var(--paper-10)}
.slab__tile h3{font-size:1.25rem;line-height:30px;margin-bottom:var(--sp-6xs)}
.slab__tile p{font-size:.9375rem;line-height:26px;color:var(--paper-60)}
@media(max-width:960px){
  .slab{padding:var(--sp-s) var(--sp-xs);border-radius:var(--r-m)}
  .slab__title{font-size:1.75rem;line-height:36px}
  .metrics{flex-direction:column;gap:var(--sp-s)}
  .slab__grid{grid-template-columns:1fr}
}

/* ---- quote ---- */
.quote{max-width:var(--max-sm);margin:0 auto;text-align:center}
.quote__logo-text{font:700 1.375rem/28px var(--font-display);color:var(--ink-40);
  margin-bottom:var(--sp-s)}
.quote__text{margin:0;font-family:var(--font-display);font-weight:400;
  font-size:2rem;line-height:44px;color:var(--text-primary)}
@media(max-width:960px){.quote__text{font-size:1.5rem;line-height:36px}}
.quote__avatar{width:44px;height:44px;border-radius:var(--r-round);margin:var(--sp-s) auto var(--sp-6xs);
  background:var(--signal-20);display:grid;place-items:center;
  font:500 1rem/1 var(--font-body);color:var(--signal-100)}
.quote__name{font:500 1rem/28px var(--font-body)}
.quote__title{font:400 .875rem/24px var(--font-body);color:var(--text-secondary)}

/* ---- indigo card ---- */
.indigo-card{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-m);align-items:center;
  padding:var(--sp-m);border-radius:var(--r-l);background:var(--signal-100);color:var(--paper-100)}
.indigo-card h2{font-size:2rem;line-height:44px}
.indigo-card p{color:var(--paper-70);margin:var(--sp-3xs) 0 var(--sp-xs)}
.track{display:flex;flex-direction:column;gap:var(--sp-6xs)}
.track__item{display:flex;align-items:center;gap:var(--sp-4xs);padding:var(--sp-4xs) var(--sp-3xs);
  border-radius:var(--r-3xs);background:var(--paper-10);
  font:400 .9375rem/26px var(--font-body);color:var(--paper-100)}
.track__num{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;
  border-radius:var(--r-round);background:var(--paper-100);color:var(--signal-100);
  font:500 .8125rem/1 var(--font-body)}
@media(max-width:960px){.indigo-card{grid-template-columns:1fr;padding:var(--sp-s)}
  .indigo-card h2{font-size:1.75rem;line-height:36px}}

/* ---- offices ---- */
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-xs)}
.office{padding:var(--sp-s);border-radius:var(--r-m);background:var(--grad-glass-card);
  box-shadow:var(--shadow-card);transition:var(--transition-base)}
.office:hover{box-shadow:var(--shadow-raised)}
.office h3{font-size:1.5rem;line-height:36px;margin:var(--sp-6xs) 0 var(--sp-5xs)}
.office p{font-size:1rem;line-height:28px;color:var(--text-secondary)}
@media(max-width:1100px){.offices{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.offices{grid-template-columns:1fr}}

/* ---- faq ---- */
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--sp-2xl)}
.faq h2{font-size:2.5rem;line-height:52px;margin:var(--sp-4xs) 0 var(--sp-3xs)}
.faq__intro{color:var(--text-secondary);font-size:1rem;line-height:28px}
.faq__rows{display:flex;flex-direction:column;gap:var(--sp-3xs)}
.faq-item{padding:var(--sp-xs);border-radius:var(--r-s);background:var(--grad-glass-card);
  box-shadow:var(--shadow-card);transition:var(--transition-base)}
.faq-item:hover{box-shadow:var(--shadow-raised)}
.faq-item__q{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-xs);
  width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left;
  font:500 1rem/28px var(--font-body);color:var(--text-primary)}
.faq-item__q em{font-style:normal;color:var(--text-tertiary);font-weight:400;font-size:1.25rem;line-height:28px}
.faq-item__a{overflow:hidden;max-height:0;transition:max-height var(--t-slow) var(--ease);
  font-size:1rem;line-height:28px;color:var(--text-secondary)}
.faq-item.is-open .faq-item__a{max-height:420px;margin-top:var(--sp-6xs)}
@media(max-width:960px){.faq{grid-template-columns:1fr;gap:var(--sp-s)}
  .faq h2{font-size:1.75rem;line-height:36px}}

/* ---- final cta ---- */
.final{text-align:center;max-width:var(--max-sm);margin:0 auto}
.final h2{font-size:2.5rem;line-height:52px;margin:var(--sp-3xs) 0 var(--sp-3xs)}
.final p{color:var(--text-secondary);margin-bottom:var(--sp-s)}
.final__cta{display:flex;gap:var(--sp-4xs);justify-content:center;flex-wrap:wrap}
@media(max-width:960px){.final h2{font-size:1.75rem;line-height:36px}}

/* ---- footer ---- */
.footer{padding:var(--sp-3xl) var(--sp-xs) 0;background:var(--grad-footer);overflow:hidden}
.footer__top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--sp-m);
  max-width:var(--max-xl);margin:0 auto}
.footer__brand{display:flex;align-items:center;gap:var(--sp-6xs);
  font:700 1.25rem/1 var(--font-display);color:var(--ink-100);text-decoration:none}
.footer__blurb{margin-top:var(--sp-3xs);max-width:34ch;
  font:400 1rem/28px var(--font-body);color:var(--text-secondary)}
.footer__addr{margin-top:var(--sp-xs);display:flex;flex-direction:column;gap:var(--sp-4xs)}
.footer__addr div{font:400 .875rem/24px var(--font-body);color:var(--text-secondary)}
.footer__addr b{display:block;font-weight:500;color:var(--text-primary)}
.footer__mail{color:inherit;text-decoration:none}
.footer__mail:hover{color:var(--signal-100)}
.footer__head{font:400 .875rem/24px var(--font-body);color:var(--text-tertiary);margin-bottom:var(--sp-4xs)}
.footer__link{display:block;padding:var(--sp-6xs) 0;text-decoration:none;
  font:400 1rem/28px var(--font-body);color:var(--text-primary);transition:var(--transition-base)}
.footer__link:hover{color:var(--signal-100)}
.footer__legal{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-xs);
  flex-wrap:wrap;max-width:var(--max-xl);margin:var(--sp-s) auto 0;padding-top:var(--sp-s);
  border-top:1px solid var(--border-subtle);
  font:400 .875rem/24px var(--font-body);color:var(--text-secondary)}
.footer__legal nav{display:flex;gap:var(--sp-3xs);flex-wrap:wrap}
.footer__legal a{color:var(--text-secondary);text-decoration:none}
.footer__legal a:hover{color:var(--signal-100)}
.footer__social{display:flex;gap:var(--sp-4xs)}
.footer__social a{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-round);
  background:var(--ink-5);color:var(--ink-60);text-decoration:none;transition:var(--transition-base);
  font:500 .75rem/1 var(--font-body)}
.footer__social a:hover{background:var(--signal-10);color:var(--signal-100)}
.footer__watermark{display:block;margin-top:var(--sp-s);font:400 200px/.8 var(--font-display);
  color:var(--signal-10);text-align:center;transform:translateY(20%);user-select:none;pointer-events:none}
@media(max-width:960px){
  .footer__top{grid-template-columns:repeat(2,1fr)}
  .footer__watermark{font-size:80px}
}

/* ---- cookie consent ---- */
.cc{position:fixed;left:var(--sp-xs);bottom:var(--sp-xs);z-index:200;width:min(420px,calc(100vw - 3rem));
  padding:var(--sp-xs);border-radius:var(--r-m);overflow:hidden;
  background:linear-gradient(160deg,rgba(247,247,255,.96),rgba(236,235,255,.90) 55%,rgba(226,225,253,.88));
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 0 0 1px var(--signal-20),0 8px 24px #0706281f,inset 0 0 0 1px #ffffff80;
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.cc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--ink-100),var(--signal-100) 55%,#9a99f8)}
.cc.is-open{opacity:1;transform:none;pointer-events:auto}
.cc h2{font-size:1.25rem;line-height:30px;margin-bottom:var(--sp-6xs)}
.cc p{font:400 .9375rem/24px var(--font-body);color:var(--text-secondary)}
.cc p a{color:var(--signal-100)}
.cc__actions{display:flex;flex-wrap:wrap;gap:var(--sp-6xs);margin-top:var(--sp-3xs)}
.cc__actions .btn{flex:1 1 auto;justify-content:center}
.cc__link{background:none;border:0;padding:var(--sp-4xs) var(--sp-6xs);cursor:pointer;
  font:500 .875rem/22px var(--font-body);color:var(--text-secondary);
  border-radius:var(--r-round);transition:var(--transition-base)}
.cc__link:hover{color:var(--signal-100);background:var(--signal-10)}
.cc__link:focus-visible,.cc .btn:focus-visible{outline:0;box-shadow:var(--shadow-focus)}
.cc__prefs{display:none;margin-top:var(--sp-3xs);padding:var(--sp-6xs) var(--sp-4xs);
  border-radius:var(--r-s);background:rgba(255,255,255,.65);
  box-shadow:inset 0 0 0 1px var(--signal-20)}
.cc.is-expanded .cc__prefs{display:block}
.cc__row{display:flex;align-items:flex-start;gap:var(--sp-4xs);padding:var(--sp-6xs) 0}
.cc__row+.cc__row{border-top:1px solid var(--signal-10)}
.cc__row h3{font:500 .9375rem/24px var(--font-body);color:var(--text-primary)}
.cc__row p{font-size:.875rem;line-height:22px}
.cc__row .grow{flex:1}
.cc__fixed{font:500 .75rem/20px var(--font-body);color:var(--signal-100);
  background:var(--signal-10);border-radius:var(--r-round);padding:0 var(--sp-5xs);margin-top:2px;
  white-space:nowrap}
/* switch */
.cc__switch{position:relative;flex:0 0 40px;width:40px;height:24px;margin-top:2px}
.cc__switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc__switch span{position:absolute;inset:0;border-radius:var(--r-round);
  background:var(--ink-20);transition:var(--transition-base);pointer-events:none}
.cc__switch span::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;
  border-radius:var(--r-round);background:#fff;box-shadow:var(--shadow-card);
  transition:var(--transition-base)}
.cc__switch input:checked+span{background:var(--signal-100)}
.cc__switch input:checked+span::after{transform:translateX(16px)}
.cc__switch input:focus-visible+span{box-shadow:var(--shadow-focus)}
@media(max-width:600px){
  .cc{left:var(--sp-4xs);right:var(--sp-4xs);bottom:var(--sp-4xs);width:auto}
  .cc__actions .btn{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){.cc{transition:none}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .hero__panel{transform:none;opacity:1}
}
