/* --- embedded font (Figtree, the lockup's own face; latin subsets) --- */
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  /* Sampled from the reference site, weighted by how much of the page each
     colour actually covers: white ground, a friendly sky blue carrying the
     brand, a warm yellow for the things that ask to be pressed, and a soft
     grey for the bands that separate one section from the next. */
  --bg:#FFFFFF;
  --bg-soft:#F4F7FA;
  --panel:#FFFFFF;
  --line-soft:rgba(0,0,0,.10);
  --line:rgba(0,0,0,.14);
  --text:#454545;
  --muted:#5C5C5C;
  --dim:#6E6E6E;
  --accent:#41A5DD;
  /* the logo blue, 9% darker: the only shade of it that clears 3:1 for
     large text on the light panels. Display headings only. */
  --accent-ink:#3B96CA;
  --accent-deep:#2B87BE;
  --accent-soft:#E8F4FB;
  --accent-strong:#1B6E9E;
  /* the light blue that carries every glow on the dark bands */
  --glow:#6FC8F2;
  --warm:#FFC907;
  --warm-deep:#E8B300;
  --radius:20px;
  --container:1280px;
  /* the bar carries the tabs beside the logo while there is room, and drops
     them onto a row of their own when there is not */
  --bar-h:104px;
  --tabs-h:0px;
  --nav-h:calc(var(--bar-h) + var(--tabs-h));
  --grid:90px;
  --sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --label:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
/* Site-wide backdrop: a polished-surface sheen — soft light sweeps and ambient
   pools over the navy base. Fixed, so it sits still while the page scrolls.
   Rendered in CSS rather than the PNG: identical look, stays crisp on large
   displays instead of upscaling, and costs nothing to download.
   (The same artwork exists as images/bg-sheen.png if you'd rather use that —
   swap this block for: background:url(images/bg-sheen.png) center/cover fixed;) */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(58% 52% at 16% 18%, rgba(65,165,221,.15), transparent 70%),
    radial-gradient(62% 58% at 86% 84%, rgba(110,140,242,.10), transparent 70%),
    linear-gradient(118deg, transparent 32%, rgba(185,203,252,.06) 47%, transparent 61%),
    linear-gradient(118deg, transparent 58%, rgba(168,188,250,.038) 71%, transparent 83%);
}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}

/* ============================================================
   DECOR
   ============================================================ */
.grid-bg{display:none}
.grid-bg-unused{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:
    repeating-linear-gradient(to right,var(--line-soft) 0 1px,transparent 1px var(--grid)),
    repeating-linear-gradient(to bottom,var(--line-soft) 0 1px,transparent 1px var(--grid));
  mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);
}
/* clock hands — visibly turning to read as round-the-clock cover */
@keyframes hand-spin{to{transform:rotate(360deg)}}
.ck-h,.ck-m,.ck-s{transform-origin:200px 162px}
.ck-h{animation:hand-spin 240s linear infinite}
.ck-m{animation:hand-spin 40s linear infinite}
.ck-s{animation:hand-spin 5s linear infinite}

/* sparkle glints — the "shine" motif, in place of the old crosses */
.glint{display:none}
.glint-unused{position:absolute;pointer-events:none;z-index:2;color:var(--accent);opacity:.9;filter:drop-shadow(0 0 7px rgba(65,165,221,.65))}
.glint svg{width:20px;height:20px;display:block}
.glint.sm svg{width:13px;height:13px;opacity:.8}
/* sparkles standing in space that becomes copy at narrower widths */
@media (max-width:1360px){.glint.col-narrow{display:none}}
@media (max-width:1180px){.glint.col-stack{display:none}}

.eyebrow{
  display:flex;align-items:center;gap:14px;
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--dim);
}
.eyebrow::after{content:"";width:20px;height:2px;background:var(--accent);flex:none}

h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.05}
h1{font-size:clamp(42px,5.9vw,80px);letter-spacing:-.04em;font-weight:600}
h2{font-size:clamp(29px,3.3vw,46px)}
.h2-lg{font-size:clamp(31px,4vw,57px)}
h3{font-size:clamp(19px,1.7vw,24px);letter-spacing:-.022em}
p{margin:0}
.lead{color:var(--muted);font-size:17px;line-height:1.62}

.btn-light{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);color:#FFFFFF;font-weight:500;font-size:16px;
  padding:19px 34px;border-radius:999px;transition:transform .25s,background .25s;
}
.btn-light:hover{background:#fff;transform:translateY(-1px)}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,0.33);border-radius:999px;
  padding:12px 26px;font-size:15px;transition:border-color .25s,background .25s;
}
.btn-ghost:hover{border-color:rgba(0,0,0,0.75);background:rgba(0,0,0,0.075)}

.logo{display:flex;align-items:center;gap:10px;flex:none;padding-block:8px}
/* trimmed artwork: these heights are ~36% lower than the padded lockup's and
   still draw the wordmark at the same width on screen */
.logo-lockup{height:55px;width:auto;display:block}
.logo-word{font-size:26px;font-weight:500;letter-spacing:-.02em}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:60;
  /* near-opaque by default: without a working blur, a 10% transparent bar
     lets the page scroll past in full legibility behind the tabs */
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(0,0,0,0.075);
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .nav{background:rgba(255,255,255,.9);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative}
.nav-inner::before,.nav-inner::after{display:none}
.nav-inner::before{left:24px}
.nav-inner::after{right:24px}
/* ---------- nav promo sign ---------- */
.nav-promo{
  position:relative;isolation:isolate;overflow:hidden;flex:none;
  display:inline-flex;align-items:center;gap:11px;
  padding:10px 22px;border-radius:999px;background:#FFFFFF;
}
/* a light travelling around the edge */
.nav-promo::before{
  content:"";position:absolute;left:50%;top:50%;z-index:-2;
  width:190%;aspect-ratio:1;translate:-50% -50%;
  background:conic-gradient(from 0deg,#CBE4F3 0 54%,#41A5DD 70%,#8FD2F0 77%,#CBE4F3 86%);
  animation:promo-spin 4.2s linear infinite;
}
.nav-promo::after{
  content:"";position:absolute;inset:1.4px;z-index:-1;border-radius:inherit;background:#FFFFFF;
  transition:background .25s;
}
@keyframes promo-spin{to{rotate:1turn}}
.promo-dot{position:relative;width:7px;height:7px;border-radius:50%;flex:none;background:var(--accent);box-shadow:0 0 9px rgba(65,165,221,.85)}
.promo-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:dot-pulse 1.9s ease-out infinite}
@keyframes dot-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.4);opacity:0}}
.promo-txt{font-size:13.5px;color:#454545;white-space:nowrap;transition:color .25s}
.promo-txt b{font-weight:700;color:var(--accent-strong)}
.promo-sep{color:var(--dim);margin:0 3px}
/* White text was left over from the dark theme: on this pill it painted the
   words out entirely and left the two bold figures floating. The fill tints
   instead, and the words deepen. */
.nav-promo:hover::after{background:var(--accent-soft)}
.nav-promo:hover .promo-txt{color:var(--accent-strong)}
/* The sign runs at the top of the hero, under the bar, where the tabs now sit.
   Centred as one block: the dot rides in the text flow so a wrapped sign does
   not end up off-centre by the width of the dot. */
.hero-promo{
  display:block;width:fit-content;max-width:100%;
  margin:0 auto 32px;text-align:center;
}
.hero-promo .promo-txt{display:inline;white-space:normal;line-height:1.5}
.hero-promo .promo-dot{display:inline-block;vertical-align:middle;margin:0 11px 2px 0}
/* ---------- nav call button ---------- */
.nav-call{
  display:inline-flex;align-items:center;gap:11px;flex:none;
  border:1px solid rgba(0,0,0,.16);border-radius:999px;padding:9px 20px 9px 11px;
  background:#FFFFFF;
  transition:border-color .25s,background .25s,transform .25s;
}
.nav-call:hover{border-color:rgba(65,165,221,.55);background:var(--accent-soft);transform:translateY(-1px)}
.nav-call-ico{
  width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:rgba(65,165,221,.14);border:1px solid rgba(65,165,221,.45);color:var(--accent);
}
.nav-call-txt{display:flex;flex-direction:column;line-height:1.12}
.nav-call-lbl{font-family:var(--label);font-weight:600;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.nav-call-num{font-size:16px;font-weight:600;letter-spacing:-.01em;color:#454545;margin-top:3px;white-space:nowrap}

/* ============================================================
   HERO
   ============================================================ */
/* no flat fill here — the hero shows the site-wide sheen like every other section */
.hero{position:relative;padding-top:calc(var(--nav-h) + 18px);padding-bottom:26px;overflow:hidden}
/* Illustration kept in the markup but hidden — delete this line to bring it back. */
.hero-scene,.hero-veil{display:none}
.hero-scene{position:absolute;inset:0;z-index:0}
.hero-scene svg{width:100%;height:100%}
.hero-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 24%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.05) 58%,rgba(255,255,255,.3) 100%),
    linear-gradient(to bottom,rgba(255,255,255,.95) 0%,rgba(255,255,255,.42) 20%,transparent 48%,rgba(255,255,255,.5) 100%);
}
.hero .container{position:relative;z-index:4}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:56px;align-items:start}
.hero-copy{padding-top:30px;max-width:640px}
.hero-copy h1{margin:26px 0 0}
.hero-copy .lead{margin-top:30px;max-width:47ch}
.hero-cta{display:flex;align-items:center;gap:26px;margin-top:44px;flex-wrap:wrap}
.hero-stat{display:flex;align-items:center;gap:16px}
.flame{
  width:46px;height:46px;border-radius:50%;background:#FFFFFF;
  border:1px solid rgba(0,0,0,0.105);display:grid;place-items:center;flex:none;
}
.hero-stat p{font-size:14.5px;line-height:1.5;color:var(--muted);max-width:29ch}
.backed{display:flex;align-items:center;gap:34px;margin-top:58px;flex-wrap:wrap}
.backed-label{
  display:flex;align-items:center;gap:12px;text-transform:uppercase;
  font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.2em;color:var(--dim);
}
.backed-label::after{content:"";width:18px;height:2px;background:var(--accent)}
.backed-logos{display:flex;align-items:center;gap:38px;opacity:.75}

/* ---------- hero call-back form ---------- */
.cb-form{
  margin-top:36px;max-width:560px;display:grid;grid-template-columns:1fr 1fr;gap:16px;
  background:var(--bg-soft);
  border:1px solid rgba(0,0,0,.10);border-radius:22px;padding:26px 26px 24px;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 60px rgba(0,0,0,0.11);
}
.cb-row{display:flex;flex-direction:column;gap:8px;min-width:0}
.cb-row.full{grid-column:1/-1}
.cb-row label{font-family:var(--label);font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.cb-field{
  width:100%;background:#FFFFFF;border:1px solid rgba(0,0,0,.16);border-radius:12px;
  padding:14px 16px;color:var(--text);font-family:var(--sans);font-size:15.5px;line-height:1.2;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.cb-field::placeholder{color:#8593A5}
.cb-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,165,221,.18);background:#FFFFFF}
.cb-select{position:relative;display:flex}
.cb-select select{appearance:none;-webkit-appearance:none;padding-right:46px;cursor:pointer;color-scheme:dark}
.cb-select svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#55657A}
.cb-submit{
  grid-column:1/-1;width:100%;margin-top:2px;background:var(--accent);color:#17212E;
  font-family:var(--sans);font-weight:600;font-size:16px;border:0;border-radius:999px;
  padding:17px;cursor:pointer;transition:transform .2s,background .2s;
}
.cb-submit:hover{background:#5BB4E5;transform:translateY(-1px)}
.cb-note{grid-column:1/-1;margin:0;min-height:17px;font-size:13.5px;color:#4ADE80}
.cb-note.err{color:#FF6B7A}
/* only present once "Other" is chosen; .cb-row is display:flex, which would
   otherwise win over the hidden attribute */
.cb-row[hidden]{display:none}
textarea.cb-field{resize:vertical;min-height:92px;line-height:1.45}
/* drops the panel chrome for forms that already sit inside a panel */
.cb-form.bare{
  background:none;border:0;box-shadow:none;backdrop-filter:none;
  padding:0;max-width:none;margin-top:30px;
}

/* ---------- chat ---------- */
/* The panel ends level with the form beside it and is never sized by the
   conversation: the slot is the grid item, stretching to a row the copy
   column defines, and the panel fills it out of flow — so however long the
   chat runs it cannot push the row taller. */
.chat-slot{position:relative;align-self:stretch}
.chat{
  position:absolute;inset:0;
  background:#F0F4F9;border:1px solid rgba(0,0,0,0.09);
  border-radius:24px;padding:26px 24px;
  display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
  box-shadow:0 40px 90px rgba(0,0,0,0.132);
}
.chat-scroll{display:flex;flex-direction:column;gap:15px;margin-block:auto;transition:opacity .45s ease}
.chat-scroll.fading{opacity:0}
/* Sits above the top fade (z-index 2) so it stays reachable as messages pass under it. */
.chat-snd{
  position:absolute;top:13px;right:13px;z-index:3;width:40px;height:40px;
  border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0;
  background:rgba(0,0,0,0.09);border:1px solid rgba(0,0,0,0.15);
  color:#55657A;transition:color .2s,background .2s,border-color .2s;
}
.chat-snd:hover{color:#fff;background:rgba(0,0,0,0.195);border-color:rgba(0,0,0,0.33)}
.chat-snd:focus-visible{outline:2px solid #41A5DD;outline-offset:2px}
.chat-snd .off{display:none}
.chat-snd.muted .on{display:none}
.chat-snd.muted .off{display:block}
/* fades the top of the message stack into the panel so a part-filled chat
   reads as history scrolled out of view. Sits inside the border, so the
   panel frame and rounded corners stay intact. */
.chat::before{
  content:"";position:absolute;left:1px;right:1px;top:1px;height:96px;z-index:2;
  pointer-events:none;border-radius:23px 23px 0 0;
  background:linear-gradient(to bottom,#F0F4F9 0 52%,rgba(240,244,249,0));
}
.msg{display:flex;gap:12px;align-items:flex-start;opacity:0;transform:translateY(8px);animation:msgIn .45s ease forwards}
.msg.user{justify-content:flex-end}
.bubble{background:#DCEAF7;border-radius:16px;padding:12px 17px;font-size:15px;line-height:1.45;max-width:78%}
.msg.bot .bubble{background:#FFFFFF;border:1px solid rgba(0,0,0,.07);max-width:82%;color:#2A3646}
.av{width:40px;height:40px;border-radius:50%;flex:none;background:linear-gradient(160deg,#9AD3D0,#3E6F6C)}
.av-bot{
  width:40px;height:40px;border-radius:50%;flex:none;background:#FFFFFF;
  border:1px solid rgba(0,0,0,0.135);display:grid;place-items:center;color:#454545;
}
@keyframes msgIn{to{opacity:1;transform:none}}
.caret{display:inline-block;width:1.5px;height:15px;background:#454545;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pick{background:#FFFFFF;border:1px solid rgba(0,0,0,0.09);border-radius:14px;padding:15px 10px;text-align:center}
.pick .sym{font-size:13px;font-weight:500;margin-top:8px;color:#454545;letter-spacing:.02em}
.pick .amt{font-size:15px;font-weight:500;margin-top:9px}
.pick .amt span{color:var(--muted)}
.pick .qty{font-size:11px;color:var(--dim);margin-top:3px}
.pick.more{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--dim);font-size:11px;letter-spacing:.08em}
.spark{width:100%;height:20px;margin-top:9px}
.confirm{margin-top:11px;background:#FFFFFF;border:1px solid rgba(0,0,0,0.105);border-radius:16px;padding:18px;text-align:center}
.ok{width:29px;height:29px;border-radius:50%;background:#22C55E;display:grid;place-items:center;margin:0 auto 10px}
.confirm .t{font-size:13.5px;font-weight:500}
/* text-align:left overrides the centring inherited from .confirm, which was
   centring the title over the longer line beneath it */
.built{margin-top:14px;border:1px dashed rgba(0,0,0,0.225);border-radius:14px;padding:13px 15px;display:flex;align-items:center;gap:13px;text-align:left}
.built .t{display:block;margin-bottom:2px}
.stack{display:flex;flex:none}
.stack span{width:26px;height:26px;border-radius:50%;border:2px solid #FFFFFF;margin-left:-9px;display:grid;place-items:center;font-size:9px;font-weight:700;color:#454545}
.stack span:first-child{margin-left:0}
.built .t{font-size:15px;font-weight:500;line-height:1.2}
.built .s{font-size:11.5px;color:var(--dim)}

/* ============================================================
   STATS
   ============================================================ */
.stats{position:relative;padding:28px 0 16px;overflow:hidden}
.stats-grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.stat .num{font-size:clamp(40px,4.7vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1}
.stat .cap{
  display:flex;align-items:center;gap:12px;margin-top:20px;text-transform:uppercase;
  font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.2em;color:var(--dim);
}
.stat .cap::after{content:"";width:16px;height:2px;background:var(--accent);flex:none}
/* ---------- contact / social marks ---------- */
/* ---------- contact CTA ---------- */
.contact-cta{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.cta-phone{
  position:relative;flex:none;width:136px;height:136px;border-radius:50%;
  display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 50% 38%,#5CB4E5,#1B6E9E);
  box-shadow:0 18px 46px rgba(65,165,221,.34);
  transition:transform .3s;
}
.cta-phone:hover{transform:scale(1.05)}
/* one centred column: the heading, the number, then the social marks under it */
.cta-copy{display:flex;flex-direction:column;align-items:center;text-align:center}
.cta-social{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:22px}
.cta-social .social,.cta-social .social::before{border-radius:19px}
.cta-social .social{width:72px;height:72px}
/* sized individually: each glyph fills a different share of its viewBox */
.cta-social .social.tt svg{width:43px;height:43px}
.cta-social .social.ig svg{width:38px;height:38px}
.cta-social .social.fb svg{width:38px;height:38px}
.cta-social .social.em svg{width:38px;height:38px}
.cta-phone svg{position:relative;z-index:2}
/* expanding rings — reads as a live, ringing line */
.cta-ring{
  position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(65,165,221,.65);
  animation:ripple 2.8s cubic-bezier(.2,.6,.3,1) infinite;
}
.cta-ring.d2{animation-delay:1.4s}
@keyframes ripple{
  0%{transform:scale(.78);opacity:.6}
  70%{opacity:0}
  100%{transform:scale(1.75);opacity:0}
}
.cta-kicker{font-size:clamp(30px,3.7vw,52px);font-weight:600;letter-spacing:-.032em;line-height:1.04}
.cta-kicker em{font-style:normal;color:var(--accent-ink)}
.cta-num{
  position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:14px;
  background:#FFFFFF;color:var(--text);border:1px solid rgba(0,0,0,.14);border-radius:999px;padding:18px 34px;
  font-size:22px;font-weight:600;letter-spacing:-.01em;
  transition:transform .25s,box-shadow .25s,background .25s;
}
.cta-actions{display:flex;align-items:stretch;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}
/* #25D366 is WhatsApp's own green, and the glyph sits white on it exactly as
   it does in their app icon. The label is near-black rather than white: white
   on this green is about 2:1, which is unreadable, while this is over 8:1. */
.cta-wa{
  display:inline-flex;align-items:center;gap:12px;flex:none;
  background:#25D366;color:#062B14;border-radius:999px;padding:18px 30px;
  font-size:22px;font-weight:600;letter-spacing:-.01em;
  transition:transform .25s,box-shadow .25s,background .25s;
}
.cta-wa-mark{width:29px;height:29px;flex:none;display:grid;place-items:center;color:#fff}
/* the glyph follows its holder: without this the svg's own width attribute
   caps it, so raising the holder at a breakpoint silently did nothing */
.cta-wa-mark svg{width:100%;height:100%;display:block}
.cta-wa:hover{background:#1FBF5B;transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,0.121)}
.cta-num:hover{background:var(--accent-soft);border-color:rgba(65,165,221,.5);transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,0.121)}
.cta-num:hover svg{animation:ring-shake .75s ease}
.cta-num::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(105deg,transparent 36%,rgba(0,0,0,0.9) 50%,transparent 64%);
  transform:translateX(-130%);
}
.cta-num:hover::after{animation:shine .85s ease}
@keyframes shine{to{transform:translateX(130%)}}
@keyframes ring-shake{
  0%,100%{transform:rotate(0)}
  15%{transform:rotate(-15deg)}30%{transform:rotate(13deg)}
  45%{transform:rotate(-10deg)}60%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}
}
.cta-sub{margin-top:15px;font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

/* ---------- social marks (under the discount panel) ---------- */
.social-follow{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:0}
.social{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:88px;height:88px;border-radius:24px;color:#454545;
  transition:color .28s,transform .28s;
}
/* sized individually: each glyph fills a different share of its viewBox */
.social.tt svg{width:62px;height:62px}
.social.ig svg{width:55px;height:55px}
.social.fb svg{width:55px;height:55px}
.social.em svg{width:55px;height:55px}
.social::before{
  content:"";position:absolute;inset:0;border-radius:26px;opacity:0;transition:opacity .3s;
  background:radial-gradient(circle at 50% 45%,rgba(65,165,221,.22),transparent 70%);
}
.social:hover{color:var(--accent);transform:translateY(-4px)}
.social:hover::before{opacity:1}
.social svg{position:relative;z-index:1}


/* ============================================================
   CLEANING — THE HALOS
   Each service is one object standing on a pale disc. On a white page
   an object needs ground under it, not light behind it, so the glow
   that carried these on the dark ground is now a soft tint plus a real
   shadow. The ring still turns; it is the only thing that does.
   ============================================================ */
.halo-sec{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FB 46%,#FFFFFF 100%);
  padding:68px 0 74px;
}
/* three very faint washes, drifting on long mismatched loops, so the ground
   has some life in it without ever becoming a pattern you notice */
.aur{position:absolute;inset:-30%;z-index:0;pointer-events:none;filter:blur(72px);opacity:.5}
.aur i{position:absolute;border-radius:50%}
.aur i:nth-child(1){width:52%;aspect-ratio:1;left:-6%;top:2%;
  background:radial-gradient(circle,rgba(65,165,221,.16),transparent 68%);animation:aur1 22s ease-in-out infinite}
.aur i:nth-child(2){width:46%;aspect-ratio:1;right:-4%;top:18%;
  background:radial-gradient(circle,rgba(111,200,242,.14),transparent 68%);animation:aur2 27s ease-in-out infinite}
.aur i:nth-child(3){width:40%;aspect-ratio:1;left:34%;bottom:-10%;
  background:radial-gradient(circle,rgba(27,110,158,.1),transparent 70%);animation:aur3 31s ease-in-out infinite}
@keyframes aur1{50%{transform:translate(14%,10%) scale(1.15)}}
@keyframes aur2{50%{transform:translate(-12%,14%) scale(1.1)}}
@keyframes aur3{50%{transform:translate(8%,-12%) scale(1.18)}}

.halo-head{position:relative;z-index:2;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:18px;margin-bottom:56px}
.halo-head h2{line-height:1.02}
.halo-head em{font-style:normal;color:var(--accent-ink)}

.halo-grid{position:relative;z-index:2;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 34px}
.tile{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}
.orb{position:relative;width:100%;max-width:230px;aspect-ratio:1;
  display:grid;place-items:center;margin:0 0 24px}
/* the ring: a conic gradient masked down to a 1px border */
.orb::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1px;
  background:conic-gradient(from 0deg,transparent 0 24%,rgba(65,165,221,.75) 42%,
    rgba(27,110,158,.85) 50%,rgba(65,165,221,.75) 58%,transparent 76% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:halospin 9s linear infinite;opacity:.75;z-index:1}
.orb::after{content:"";position:absolute;inset:3%;border-radius:50%;
  background:radial-gradient(circle at 50% 38%,#FFFFFF 0%,#EDF5FB 52%,#DCEAF5 100%);
  box-shadow:inset 0 -10px 26px rgba(43,135,190,.09),0 16px 36px rgba(23,50,72,.09)}
@keyframes halospin{to{rotate:360deg}}
.orb img{position:absolute;z-index:2;left:12%;top:12%;width:76%;height:76%;
  object-fit:contain;
  filter:drop-shadow(0 12px 16px rgba(23,50,72,.22));
  animation:halofloat 7s ease-in-out infinite}
.tile:nth-child(2n) .orb img{animation-delay:-2.3s}
.tile:nth-child(3n) .orb img{animation-delay:-4.1s}
@keyframes halofloat{50%{transform:translateY(-9px)}}
/* wide artwork gets more of the circle than the square shots, but not more
   than the circle actually holds: a rectangle of this aspect only fits inside
   a radius up to 84% of the diameter, and at 88% the corners of the drawing
   were crossing the ring */
.orb.wide img{left:9%;width:82%}
.tile:hover .orb::before{opacity:1;animation-duration:3.4s}
.tile:hover .orb::after{box-shadow:inset 0 -10px 26px rgba(43,135,190,.14),0 22px 46px rgba(23,50,72,.15)}

.t-n{font-size:11px;font-weight:700;letter-spacing:.24em;color:#236E9B;margin-bottom:12px}
.t-t{font-size:clamp(19px,1.6vw,23px);letter-spacing:-.028em;line-height:1.15;text-wrap:balance}
.t-l{margin-top:12px;font-size:15px;line-height:1.5;color:var(--muted);max-width:24ch;text-wrap:balance}
.t-k{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:auto;padding-top:18px;
  list-style:none;padding-left:0;padding-right:0}
/* the tiles lead to their own page now, so each one says so rather than
   relying on people guessing that a picture is clickable */
.tile{text-decoration:none;color:inherit;border-radius:22px;padding:14px 10px 18px;
  transition:background .3s,transform .3s,box-shadow .3s}
.tile:hover{background:rgba(255,255,255,.72);transform:translateY(-3px);
  box-shadow:0 20px 44px rgba(23,50,72,.08)}
.t-go{display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#236E9B}
.t-go svg{width:15px;height:15px;transition:translate .3s}
.tile:hover .t-go svg{translate:4px 0}
.t-k li{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#67737F;background:#F4F7FA;border:1px solid rgba(0,0,0,.06);
  border-radius:999px;padding:6px 11px}
@media (max-width:1080px){.halo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}}
@media (max-width:860px){
  .halo-sec{padding:50px 0 54px}
  .halo-head{margin-bottom:40px}
  .halo-grid{gap:38px 22px}
  .orb{max-width:186px;margin-bottom:18px}
}
@media (max-width:560px){.halo-grid{grid-template-columns:1fr;gap:40px}.orb{max-width:210px}}
/* nothing here needs to move for the page to work */
@media (prefers-reduced-motion:reduce){
  .aur i,.orb::before,.orb img{animation:none}
}

.ring-wrap{position:relative;width:360px;height:210px}
.orbit-ico{position:absolute;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;box-shadow:0 5px 14px rgba(0,0,0,0.121)}
.rows{width:100%;padding:0 24px;display:flex;flex-direction:column;gap:12px}
.row{display:flex;align-items:center;gap:11px;background:#F4F7FA;border:1px solid rgba(0,0,0,0.09);border-radius:999px;padding:8px 11px}
.row .ico{width:27px;height:27px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:13px}
.row .nm{font-size:14px;font-weight:500}
.row .pct{margin-left:auto;display:flex;align-items:center;gap:4px;background:#12301F;color:#4ADE80;font-size:12px;font-weight:500;border-radius:999px;padding:4px 8px;flex:none}
.terms{font-family:var(--label);font-weight:600;font-size:11.5px;line-height:2.1;color:#8593A5;letter-spacing:.02em;padding:0 26px;white-space:nowrap}
.terms b{color:#55657A;font-weight:400}
.learn-row{display:flex;align-items:center;gap:12px;margin-top:14px;padding:0 28px}
.learn-bubble{background:#F4F7FA;border:1px solid rgba(0,0,0,0.105);border-radius:14px;padding:11px 15px;font-size:13.5px;color:#2A3646}
.lang{position:relative;width:100%;height:100%}
.lang .chip{position:absolute;background:#F4F7FA;border:1px solid rgba(0,0,0,0.12);border-radius:999px;padding:8px 13px;font-size:12.5px;color:#55657A;white-space:nowrap}

/* ============================================================
   MODEL
   ============================================================ */
.model{position:relative;padding:0 0 56px;overflow:hidden}
.model-grid{
  position:relative;z-index:3;display:grid;grid-template-columns:420px minmax(0,1fr);
  grid-template-areas:"clock head" "clock body";
  column-gap:88px;row-gap:0;align-items:center;
}
.model-head{grid-area:head;align-self:end}
.node-map{grid-area:clock}
.model-copy{grid-area:body;align-self:start}
.model-head .eyebrow{margin-bottom:22px}
.model-copy p{margin-top:22px;color:var(--muted);font-size:17px;line-height:1.62;max-width:58ch}
.node-map{position:relative;width:400px;height:330px}
.node{
  position:absolute;display:grid;place-items:center;background:#FFFFFF;
  border:1.4px solid rgba(65,165,221,.85);box-shadow:0 0 10px rgba(65,165,221,.16);
}
.node.circ{width:76px;height:76px;border-radius:50%}
.node.sq{width:96px;height:80px;border-radius:20px}
.node .lbl{font-family:var(--label);font-weight:600;font-size:12.5px;letter-spacing:.1em;color:#454545}

/* ============================================================
   SIMPLICITY
   ============================================================ */
.simple{position:relative;padding:0 0 46px;overflow:hidden}
.simple-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 600px;gap:56px;align-items:center}
.simple-copy .eyebrow{margin-bottom:22px}
.simple-copy p{margin-top:22px;color:var(--muted);font-size:17px;line-height:1.62;max-width:42ch}
.phone-wrap{position:relative;border-radius:14px;overflow:hidden;min-height:630px;display:grid;place-items:center;padding:30px}
.phone-scene{position:absolute;inset:0;z-index:0}
.cov-map{width:100%;max-width:560px;display:flex;flex-direction:column;gap:26px}
/* holds the live map at a steady shape at any width, and eases its edges
   into the band so it sits in the section rather than on top of it */
.cov-frame{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:8/5;
  box-shadow:0 14px 34px rgba(4,26,40,.30)}
.cov-frame .cov-live{position:absolute;inset:0;background:#18222D}
/* the dark style is already graded; a filter would only flatten it */
.cov-live .leaflet-tile-pane{filter:none}
/* the vignette sits under the controls, so it cannot swallow a click */
.cov-frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:450;
  background:radial-gradient(130% 112% at 50% 50%,transparent 74%,rgba(4,20,34,.30) 100%);
}
/* required credit, kept legible but quiet, in the dark map's own key */
.cov-live .leaflet-control-attribution{
  font-size:9.5px;line-height:1.5;padding:1px 7px;
  background:rgba(12,22,32,.74);color:#9FB6C8;border-radius:7px 0 0 0;
}
.cov-live .leaflet-control-attribution a{color:#7FC6EC}
/* Leaflet ships the zoom buttons white, which reads as two holes punched
   in a dark map */
.cov-live .leaflet-bar{border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 22px rgba(0,0,0,.45)}
.cov-live .leaflet-bar a{
  background:rgba(20,32,44,.94);color:#D7E7F2;border-bottom-color:rgba(255,255,255,.14);
}
.cov-live .leaflet-bar a:hover{background:rgba(34,50,66,.97);color:#fff}
/* County names sit on the shapes rather than in a separate key. They used a
   stack of white shadows to stay legible over a busy basemap, which left
   them looking smeared; on a clean ground they can be plain dark type. */
.cov-lbl{
  background:none;border:0;box-shadow:none;padding:0;
  font-family:var(--label);font-weight:700;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:#F2F8FC;white-space:nowrap;
  -webkit-text-stroke:3px rgba(4,14,22,.62);paint-order:stroke fill;
}
.cov-lbl::before{display:none}
/* the short forms, set smaller so they sit inside the shapes on a phone */
.cov-lbl-sm{font-size:9px;letter-spacing:.06em;-webkit-text-stroke-width:2.5px}
/* until the map is touched the wheel scrolls the page, not the map */
.cov-hint{
  position:absolute;inset:0;z-index:460;display:grid;place-items:center;
  background:rgba(10,51,80,.22);color:#fff;font-family:var(--label);font-weight:700;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  opacity:0;transition:opacity .2s;pointer-events:none;border-radius:inherit;
}
.cov-frame.hint .cov-hint{opacity:1}
.cov-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 22px}
.cov-legend span{display:flex;align-items:center;gap:11px;font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#55657A}
.cov-legend i{width:12px;height:12px;border-radius:3px;flex:none;background:rgba(65,165,221,.28);border:1px solid #41A5DD;box-shadow:0 0 8px rgba(65,165,221,.35)}
.phone{
  position:relative;z-index:2;width:376px;background:rgba(0,0,0,.10);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,0.15);
  border-radius:26px;padding:13px;box-shadow:0 30px 70px rgba(0,0,0,0.11);
}
.phone-head{display:flex;align-items:center;gap:10px;background:#F4F7FA;border-radius:16px;padding:11px 13px;margin-bottom:15px}
.phone-head .ttl{flex:1;text-align:center;font-size:15.5px;font-weight:500}
.pm{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px}
.pm.u{justify-content:flex-end}
.pm .b{background:#EAF0F6;border-radius:16px;padding:11px 15px;font-size:14.5px;line-height:1.4}
.pm.bot .b{background:#F4F7FA}
.ex-card{background:#FFFFFF;border:1px solid rgba(0,0,0,0.105);border-radius:16px;padding:13px 15px;display:flex;align-items:center;gap:12px}
.ex-card .nm{font-size:16.5px;font-weight:500;line-height:1.15}
.ex-card .sub{font-size:11.5px;color:var(--dim)}
.ex-card .val{margin-left:auto;text-align:right}
.ex-card .val .v{font-size:16.5px;font-weight:500}
.ex-card .val .u{font-size:11px;color:#4ADE80}
.ex-swap{width:29px;height:29px;border-radius:50%;background:#F4F7FA;border:1px solid rgba(0,0,0,0.135);display:grid;place-items:center;margin:-8px auto;position:relative;z-index:3}
.ex-card.sol{border-color:rgba(74,222,128,.28);margin-left:24px}
.confirm-btn{margin-top:15px;width:100%;background:#FFC907;color:#454545;font-weight:500;font-size:15.5px;border-radius:14px;padding:16px;text-align:center}

/* ============================================================
   BRAIN
   ============================================================ */
/* keeps the fixed nav from covering the target when the promo links here */
.brain{position:relative;display:grid;align-items:center;overflow:hidden;padding:26px 0 32px;scroll-margin-top:calc(var(--nav-h) + 16px)}
.brain-scene{position:absolute;inset:0;z-index:0}
.brain .container{position:relative;z-index:4}
/* the logo and socials that sat beside the form are gone, so the form is
   the whole row and centres itself rather than hugging one edge */
.brain-grid{display:grid;grid-template-columns:minmax(0,700px);justify-content:center}
/* No disc: the lockup is the brand mark, so it stands on the section's own
   ground at full size rather than being boxed and shrunk to fit a circle. */
/* the sign links here rather than to the section, whose first column is the
   lockup — landing there showed the logo instead of the form */
.brain-panel{background:#FFFFFF;border:1px solid rgba(0,0,0,0.105);border-radius:16px;padding:36px 40px 38px;scroll-margin-top:calc(var(--nav-h) + 18px)}

/* ============================================================
   THE "AND" BREAK  —  hands the reader from cleaning to removals
   ============================================================ */
.and-break{display:flex;align-items:center;justify-content:center;gap:26px;padding:6px 0 0}
.and-line{height:1px;flex:1;max-width:220px;background:linear-gradient(90deg,transparent,rgba(65,165,221,.5))}
.and-line.r{background:linear-gradient(90deg,rgba(65,165,221,.5),transparent)}
.and-word{
  font-weight:700;font-size:clamp(48px,7.4vw,96px);letter-spacing:.05em;line-height:1;flex:none;
  background:linear-gradient(100deg,#41A5DD 0,#8FD2F0 42%,#41A5DD 84%);
  background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:and-sweep 5.5s linear infinite;
}
@keyframes and-sweep{to{background-position:240% 0}}
.and-tag{text-align:center;margin:14px 0 0;color:var(--muted);font-size:clamp(15px,1.7vw,18px)}
.and-chev{
  display:grid;place-items:center;margin:16px auto 0;width:34px;height:34px;
  color:var(--accent);animation:and-bob 2s ease-in-out infinite;
}
@keyframes and-bob{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(10px);opacity:1}}

/* ============================================================
   REMOVALS  —  deliberately not the cards layout: one wide band,
   an illustration, and the service list as chips rather than copy
   ============================================================ */
.moves{position:relative;padding:26px 0 40px;overflow:hidden}
.moves-glow{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(820px 340px at 20% 34%,rgba(65,165,221,.07),transparent 70%);
}
.moves .container{position:relative;z-index:2}
.moves-top{max-width:780px}
.moves-top h2 em{font-style:normal;color:var(--accent-ink)}
.moves-lead{margin-top:22px;color:var(--muted);max-width:64ch;line-height:1.66}
.moves-lead+.moves-lead{margin-top:14px}
.moves-body{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:54px;align-items:center;margin-top:46px}
.van{width:100%;height:auto;display:block}
.chips-label{
  font-family:var(--label);font-weight:600;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--dim);margin:0 0 16px;display:flex;align-items:center;gap:12px;
}
.chips-label::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(65,165,221,.4),transparent)}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{
  display:inline-flex;align-items:center;gap:10px;padding:11px 18px 11px 15px;border-radius:999px;
  background:rgba(65,165,221,.08);border:1px solid rgba(65,165,221,.22);
  color:#454545;font-size:14.5px;line-height:1.2;
  transition:background .25s,border-color .25s,transform .25s;
}
.chips li::before{
  content:"";width:6px;height:6px;border-radius:50%;flex:none;
  background:var(--accent);box-shadow:0 0 9px rgba(65,165,221,.9);
}
.chips li:hover{background:rgba(65,165,221,.17);border-color:rgba(65,165,221,.46);transform:translateY(-2px)}
.moves-strip{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 38px;margin-top:48px;
  font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.moves-strip span{display:inline-flex;align-items:center;gap:38px}
.moves-strip span+span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}
.moves-close{text-align:center;margin:20px 0 0;font-size:clamp(17px,2.1vw,23px);color:var(--muted)}
.moves-close strong{color:var(--text);font-weight:700}

/* ---------- section tabs ---------- */
.tabs{
  display:flex;align-items:center;justify-content:center;gap:4px;
  min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
}
.tabs::-webkit-scrollbar{display:none}
.tabs a{
  flex:none;display:inline-flex;align-items:center;min-height:40px;
  padding:0 15px;border-radius:999px;white-space:nowrap;
  font-size:14px;font-weight:600;color:var(--dim);
  transition:color .2s,background .2s;
}
.tabs a:hover{color:var(--accent-strong);background:rgba(65,165,221,.1)}
/* the section you are actually looking at */
.tabs a[aria-current="true"]{color:var(--accent-strong);background:rgba(65,165,221,.13)}
/* the offer keeps its place in the bar, as a tab that looks like one */
.tabs a.tab-offer{color:#FFFFFF;background:var(--accent-strong)}
.tabs a.tab-offer:hover,.tabs a.tab-offer[aria-current="true"]{color:#FFFFFF;background:#15597F}

/* ---------- courier ---------- */
.courier{position:relative;padding:36px 0 28px;overflow:hidden}
/* every section a tab points at has to clear the fixed bar when jumped to */
.stats,.halo-sec,.moves,.courier,.simple{scroll-margin-top:calc(var(--nav-h) + 14px)}
.courier-glow{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(760px 320px at 78% 30%,rgba(65,165,221,.08),transparent 70%);
}
.courier .container{position:relative;z-index:2}
/* the words and the artwork share the top of the section */
.courier-head{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);
  gap:44px;align-items:center;
}
.courier-top h2 em{font-style:normal;color:var(--accent-ink)}
/* the haul, photographed rather than drawn: same pool of light and shadow as
   the kit, since it is a cut-out and lost the floor it stood on too */
.courier-artwrap{position:relative;display:grid;place-items:center}
.courier-artwrap::before{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:104%;height:124%;pointer-events:none;
  background:radial-gradient(50% 44% at 50% 50%,rgba(65,165,221,.2),rgba(65,165,221,0) 70%);
}
.courier-art{
  position:relative;width:100%;height:auto;display:block;max-width:560px;
  filter:drop-shadow(0 22px 26px rgba(23,33,46,.2));
}

/* Three stops on a run, rather than three boxes in a row: the dashes carry
   the eye from one to the next, which is the whole point of the section. */
.steps{
  list-style:none;margin:48px 0 0;padding:0;position:relative;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.steps li:not(:last-child)::after{
  content:"";position:absolute;left:58px;right:-20px;top:23px;
  border-top:2px dashed rgba(65,165,221,.42);
}
.steps li{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding-right:22px}
.step-n{
  width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--accent-strong);color:#FFFFFF;font-size:19px;font-weight:700;
  box-shadow:0 10px 22px rgba(27,110,158,.32);margin-bottom:8px;
}
.step-t{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--text)}
.step-s{font-size:14.5px;line-height:1.6;color:var(--muted)}

.courier .chips-label{margin:32px 0 16px}
.stores{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.stores li{
  display:flex;align-items:center;gap:15px;
  background:#FFFFFF;border:1px solid rgba(0,0,0,0.05);
  border-radius:18px;padding:16px 18px;
  box-shadow:0 10px 26px rgba(23,33,46,.055);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.stores li:hover{
  transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,33,46,.1);
  border-color:rgba(65,165,221,.35);
}
/* The shops supply their own colour, so the slot is clear space rather than
   a tinted chip that would fight them. Sized by weight of ink, not by
   bounding box: a solid tile and a bare wordmark read very differently at
   the same box size, which is what left the row looking uneven. The five
   tiles carry equal ink; the wordmark runs out of slot width first and sits
   a little lighter, which is how a thin wordmark reads anyway. */
/* --lg scales the whole set at once: sized for a phone card, these read
   small in a wider one, and the ink has to stay in proportion */
.store-ico{
  --lg:1.15;
  width:calc(92px * var(--lg));height:calc(38px * var(--lg));
  flex:none;display:grid;place-items:center;
}
/* no width:auto here -- it outranks the per-shop widths below */
.store-ico img{display:block;height:auto;max-width:100%}
.si-ikea{width:calc(58.8px * var(--lg))}
.si-bandq{width:calc(38.1px * var(--lg))}
.si-wickes{width:calc(53.9px * var(--lg))}
.si-screwfix{width:calc(92.0px * var(--lg))}
.si-howdens{width:calc(47.6px * var(--lg))}
.si-travis{width:calc(40.9px * var(--lg))}
.store-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.store-nm{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.store-sub{font-size:12.5px;color:var(--dim)}
/* the catch-all reads as a footnote to the row, not a seventh shop */
.stores li.store-more{
  grid-column:1/-1;background:none;box-shadow:none;
  border-style:dashed;border-color:rgba(0,0,0,0.15);
  justify-content:center;text-align:center;color:var(--muted);font-size:14.5px;
}
.stores li.store-more:hover{transform:none;box-shadow:none;border-color:rgba(65,165,221,.45)}
.courier-close{text-align:center;margin:18px 0 0;font-size:clamp(17px,2.1vw,23px);color:var(--muted)}
.courier-close strong{
  color:var(--text);font-weight:700;
  /* An even tint behind the whole line. The sweep this replaced began part
     way down the line box, so its edge cut across the middle of the lowercase
     letters and broke them up -- a highlight has to sit behind the text, not
     through it. */
  background:rgba(65,165,221,.20);
  padding:3px 12px 4px;border-radius:7px;
  /* if it wraps, each line keeps its own tint rather than one long smear */
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  /* the phrase moves to the next line whole rather than splitting */
  white-space:nowrap;
}

/* ---------- photographs ---------- */

/* ---------- the fleet ---------- */
/* Contained, but with no frame and no visible edges: the mask takes the outer
   vans down to nothing so they read as leaving the light rather than being cut
   off by a box. The glow behind and the ellipse beneath do the rest of the
   work the cut-out threw away when it lost the floor. */
.fleet{
  position:relative;margin:26px auto 30px;max-width:880px;
  display:grid;place-items:center;
}
.fleet::before{
  content:"";position:absolute;left:50%;top:44%;translate:-50% -50%;
  width:104%;height:150%;pointer-events:none;
  background:radial-gradient(52% 46% at 50% 50%,rgba(150,214,246,.26),rgba(150,214,246,0) 70%);
}
.fleet::after{
  content:"";position:absolute;left:50%;bottom:6%;translate:-50% 0;
  width:64%;height:34px;pointer-events:none;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(2,16,26,.5),rgba(2,16,26,0) 72%);
}
.fleet img{
  position:relative;display:block;width:100%;height:auto;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%);
}

/* the removals band: the same deep ground, and everything in it relit */
.band-deep.moves{
  background:linear-gradient(168deg,#0A3350 0%,#11506F 52%,#0A3350 100%);
  padding:44px 0 38px;
}
.band-deep .moves-strip{color:rgba(231,242,249,.74)}
.band-deep .moves-close{color:rgba(231,242,249,.82)}
.band-deep .chips-label{color:rgba(231,242,249,.72)}
.band-deep .chips-label::after{background:linear-gradient(90deg,rgba(111,200,242,.55),transparent)}
.band-deep .chips li{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.17);color:#E9F3FA;
}
.band-deep .chips li:hover{
  background:rgba(255,255,255,.14);border-color:rgba(111,200,242,.55);
}
.band-deep .chips li::before{background:#6FC8F2;box-shadow:0 0 9px rgba(111,200,242,.9)}
/* ============================================================
   THE DEEP BAND
   Every section used to be the same pale wash, which is what made
   twelve of them read as one long template. These two take the brand’s
   deep blue instead, so the page has a middle: somewhere the eye rests
   before the offer asks it for something. The artwork keeps its light
   ground and floats on top, which is both how it was drawn and the
   cheapest way to make it look deliberate.
   ============================================================ */
.band-wrap{
  position:relative;
  background:linear-gradient(168deg,#0A3350 0%,#11506F 44%,#0A3350 100%);
}
.band-deep{color:#E7F2F9;background:none}
.band-deep .grid-bg,.band-deep .glint{display:none}
.band-deep h2,.band-deep h3{color:#FFFFFF}
.band-deep p{color:rgba(231,242,249,.76)}
.band-deep strong,.band-deep b{color:#FFFFFF}
.band-deep .eyebrow{color:rgba(231,242,249,.82)}
.band-deep .eyebrow::after{background:#6FC8F2}
.band-deep u{text-decoration-color:rgba(231,242,249,.45)}
/* the band opens and closes with real air rather than butting into its
   neighbours, which is what makes it read as a passage and not a mistake */
.band-deep.model{padding:40px 0 20px;margin-top:14px}
.band-deep.simple{padding:0 0 46px}
/* a hairline that fades out at both ends, with a small mark on the centre:
   enough to say the section changed without drawing a hard line across a
   band whose whole point is that the gradient runs through it */
.band-split{position:relative;z-index:3;padding:30px 0 34px}
.band-split .container{display:flex;align-items:center;justify-content:center;gap:16px}
.band-split i{height:1px;flex:1;max-width:260px}
.band-split i:first-child{background:linear-gradient(90deg,transparent,rgba(111,200,242,.5))}
.band-split i:last-child{background:linear-gradient(90deg,rgba(111,200,242,.5),transparent)}
.band-split span{
  width:7px;height:7px;flex:none;rotate:45deg;border-radius:2px;
  background:rgba(111,200,242,.8);box-shadow:0 0 14px rgba(111,200,242,.55);
}
/* the live map brings its own light ground, so the panel holding it is glass
   and the band shows through around it rather than being covered by a card */
.band-deep .phone-wrap{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-radius:26px;padding:16px 16px 22px;
  box-shadow:0 34px 70px rgba(4,26,40,.34);min-height:0;
}
.band-deep .cov-legend span{color:rgba(231,242,249,.88)}
/* and the clock does not: a white dial on deep blue is the whole point */
.band-deep .node .lbl{color:rgba(231,242,249,.8)}
/* on a wide screen the contact block is a single centred column: without
   more scale it reads as a scrap of text stranded in a very broad band */
@media (min-width:1100px){
  .store-ico{--lg:1.3}
  .cta-kicker{font-size:62px}
  .cta-num,.cta-wa{font-size:25px;padding:20px 38px}
  .cta-social{gap:24px;margin-top:26px}
  .cta-social .social{width:80px;height:80px}
  .cta-social .social,.cta-social .social::before{border-radius:21px}
  .cta-social .social.tt svg{width:48px;height:48px}
  .cta-social .social.ig svg,
  .cta-social .social.fb svg,
  .cta-social .social.em svg{width:42px;height:42px}
}
@media (min-width:1181px){
  .band-deep .model-grid{grid-template-columns:minmax(0,500px) minmax(0,1fr);column-gap:76px;row-gap:0}
}
/* match the box to the dial: a fixed height letterboxed it, which read as
   dead band above and below */
.band-deep .node-map{width:100%;max-width:430px;height:auto;aspect-ratio:400/330;margin-inline:auto}
/* a pool of light under the dial, so it sits in the dark rather than on it */
.band-deep .node-map::before{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:132%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(111,200,242,.20),rgba(111,200,242,0) 68%);
}
/* ============================================================
   FOOTER
   ============================================================ */
.footer{position:relative;border-top:1px solid rgba(0,0,0,0.105);padding:24px 0 24px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.footer-links{display:flex;gap:32px;font-size:14.5px;color:var(--muted);flex-wrap:wrap}
.footer-links a:hover{color:var(--text)}
.footer .cr{font-family:var(--label);font-weight:500;font-size:11.5px;color:var(--dim);letter-spacing:.06em}

/* Only hide reveal targets when JS is actually running, so the page is
   fully readable with JS disabled or if the observer never fires. */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.js .rv.in{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* the sign needs real width; below this the NAV can't hold it beside the call
   button. The footer copy has room to wrap, so it stays. */
/* Below this the disc, the copy and the lockup cannot sit side by side. Left
   to wrap on their own, two would share a line and the third would strand
   below it, leaving the copy — and so the call button — off centre. Stack
   them deliberately instead and centre the lot.

   The threshold is measured, not guessed: the three columns need about
   1146px between them. With the disc gone the pair needs about 986px, so
   they fit from roughly 1035px of viewport up and the threshold comes back
   down accordingly. */

@media (max-width:1080px){
  .hero-promo .promo-txt{font-size:12.8px}
  .hero{padding-top:calc(var(--nav-h) + 18px)}
}
@media (max-width:1180px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .chat-slot{height:470px}
  /* stacked, the heading leads and the dial follows it */
  .model-grid{grid-template-columns:1fr;grid-template-areas:"head" "clock" "body";column-gap:0;row-gap:30px}
  /* match the box to the dial so it does not sit in a field of empty band */
  .band-deep .node-map{max-width:340px}
  .model-copy p{margin-top:0}
  /* centred wherever the section stacks, not only on phones */
  .node-map{margin-inline:auto}

  .simple-grid{grid-template-columns:1fr;gap:44px}
}
@media (max-width:1000px){
  .moves-body{grid-template-columns:1fr;gap:30px}
  .van{max-width:430px;margin-inline:auto}
}
@media (max-width:860px){
  :root{--bar-h:82px;--grid:70px}
  /* stacked, every section's padding lands end to end, so the page grows a
     band of empty ground between each one. Trim them on narrow screens. */
  .band-deep.moves{padding:34px 0 28px}
  .courier{padding:30px 0 20px}
  .band-deep.model{padding:30px 0 14px;margin-top:10px}
  .band-deep.simple{padding:0 0 32px}
  .brain{padding:22px 0 24px}
  .footer{padding:20px 0 20px}
  .courier .chips-label{margin:24px 0 14px}
  .hero{padding-top:calc(var(--nav-h) + 14px)}
  .stats-grid{grid-template-columns:1fr;gap:44px}
  /* smaller chips so the shorter ones pair up rather than forming a plain list */
  .chips{gap:8px}
  .chips li{font-size:13.5px;padding:11px 16px 11px 13px;gap:9px;width:100%}
  /* stacked, the separator dots ended up hanging off the left of each line */
  .moves-strip{flex-direction:column;gap:11px;margin-top:38px}
  .moves-strip span{gap:0}
  .moves-strip span+span::before{display:none}
  .contact-cta{gap:0}
  .cta-phone{width:104px;height:104px}
  .cta-phone svg{width:46px;height:46px}
  .cta-num{font-size:18px;padding:15px 26px;gap:11px}
  .cta-actions{gap:10px;justify-content:center;flex-wrap:nowrap}
  .cta-wa{padding:0;width:57px;justify-content:center;gap:0}
  .cta-wa-txt{display:none}
  .cta-wa-mark{width:32px;height:32px}
  /* the footer sign keeps its place on small screens by wrapping instead of
     forcing the page wider than the viewport */
  .footer .nav-promo{border-radius:18px;padding:12px 18px;align-items:flex-start;max-width:100%}
  .footer .promo-txt{white-space:normal;line-height:1.55;font-size:13px}
  .footer .promo-dot{margin-top:6px}
  /* stacked and centred, with the sign leading rather than trailing the logo */
  .footer-inner{flex-direction:column;align-items:center;text-align:center;gap:26px}
  .footer-inner .nav-promo{order:1}
  .footer-inner .logo{order:2}
  .footer-inner .cr{order:3}
  .cta-social{gap:8px}
  .cta-social .social,.cta-social .social::before{border-radius:20px}
  .cta-social .social{width:76px;height:76px}
  .cta-social .social.tt svg{width:52px;height:52px}
  .cta-social .social.ig svg{width:46px;height:46px}
  .cta-social .social.fb svg{width:46px;height:46px}
  .cta-social .social.em svg{width:46px;height:46px}
  .social-follow{gap:8px;margin-top:44px}
  .social{width:76px;height:76px;border-radius:20px}
  .social.tt svg{width:52px;height:52px}
  .social.ig svg{width:46px;height:46px}
  .social.fb svg{width:46px;height:46px}
  .social.em svg{width:46px;height:46px}
  .ring-wrap{transform:scale(.86)}
  .node-map{width:min(340px,100%);height:300px;margin-inline:auto}
  .phone{width:100%;max-width:352px}
  /* was min-height:560px — the map only needs ~280px, leaving a dead void */
  .phone-wrap{min-height:auto;padding:12px 0}
  .brain-panel{padding:30px 24px 34px}
      .stats{padding:22px 0 14px}
  /* the AND now follows the cards, so this section stops sooner */
  .model{padding-bottom:58px}
  .simple{padding-bottom:48px}
  .backed{gap:22px}
  .backed-logos{gap:26px}
  .cb-form{grid-template-columns:1fr;padding:22px;margin-top:30px}
  /* the call button has to give ground for the lockup to stay readable */
  .logo-lockup{height:40px}
  .nav-inner{gap:14px}
  .nav-call{padding:6px 11px 6px 6px;gap:7px}
  .nav-call-ico{width:26px;height:26px}
  .nav-call-lbl{font-size:8px;letter-spacing:.13em}
  .nav-call-num{font-size:12.5px;margin-top:2px}
  /* absolutely-positioned flourishes collide with copy at narrow widths */
  .glint{display:none}
}
/* the lockup gives ground only once the bar genuinely runs out of room */
@media (max-width:412px){
  .logo-lockup{height:37px}
  .container{padding-inline:18px}
}
@media (max-width:365px){
  /* keeps the call button a comfortable target on the smallest phones */
  .nav-call{padding-block:11px}
  .cta-social{gap:6px}
  .cta-social .social,.cta-social .social::before{border-radius:18px}
  .cta-social .social{width:64px;height:64px}
  .cta-social .social.tt svg{width:42px;height:42px}
  .cta-social .social.ig svg{width:37px;height:37px}
  .cta-social .social.fb svg{width:37px;height:37px}
  .cta-social .social.em svg{width:37px;height:37px}
  .logo-lockup{height:31px}
  .cta-num{font-size:16px;padding:13px 20px;gap:9px}
  .cta-wa{width:50px}
  .cta-wa-mark{width:28px;height:28px}
  /* four marks in one row need the padding around each glyph to give way */
  .social-follow{gap:6px}
  .social{width:64px;height:64px;border-radius:18px}
  .social.tt svg{width:42px;height:42px}
  .social.ig svg{width:37px;height:37px}
  .social.fb svg{width:37px;height:37px}
  .social.em svg{width:37px;height:37px}
  .nav-call-num{font-size:11.5px}
  .nav-call-ico{width:23px;height:23px}
}
@media (max-width:1080px){
  .fleet{margin-top:22px}
}
/* ---------- tabs and courier, as the room runs out ---------- */
@media (max-width:1080px){
  /* the artwork takes the full width under the words */
  .courier-head{grid-template-columns:1fr;gap:30px}
  .courier-artwrap{order:2}
  .courier-art{max-width:520px}
  .stores{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1120px){
  /* no room beside the logo, so the tabs take a row of their own */
  :root{--tabs-h:46px}
  .nav-inner{
    display:grid;grid-template-columns:1fr auto;
    grid-template-rows:var(--bar-h) 1fr;
    grid-template-areas:"logo call" "tabs tabs";
    gap:0 20px;align-items:center;
  }
  .nav-inner>.logo{grid-area:logo;align-self:center}
  .nav-inner>.nav-call{grid-area:call;align-self:center}
  .nav-inner>.tabs{grid-area:tabs;justify-content:flex-start;align-self:start;gap:3px}
  .tabs a{padding:0 13px;font-size:13.5px}
  /* the row holds more than it shows, so say so at the edge it runs off */
  .nav-inner::after{
    display:block;content:"";position:absolute;right:0;bottom:2px;
    width:40px;height:40px;pointer-events:none;z-index:2;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.96) 70%);
  }
}
@media (max-width:860px){
  /* stacked, the run turns and goes down the side */
  .steps{grid-template-columns:1fr;gap:26px;margin-top:36px}
  .steps li{padding:0 0 0 68px;gap:6px}
  .steps li:not(:last-child)::after{left:23px;right:auto;top:52px;bottom:-32px;border-top:0;border-left:2px dashed rgba(65,165,221,.42)}
  .step-n{position:absolute;left:0;top:0;width:46px;height:46px;margin:0}
  .step-t{font-size:18.5px}
  .courier{padding-bottom:24px}
  .courier-close{margin-top:30px}
}
@media (max-width:620px){
  .stores{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   SERVICE PAGES
   The old layout was one object repeated: a heading over a grid of
   pale boxes, six times, on near-white. That sameness is what reads
   as a template. This one changes scale and ground at every section -
   a stage for the product, a proof strip that overlaps it, an
   editorial list against a sticky heading, a navy band so the page
   has a centre, and a closing panel instead of a closing line.
   ============================================================ */
:root,.sp{--sp-ink:#102A3C;--sp-body:#4A5B69;--sp-quiet:#536A7D;--sp-line:rgba(16,42,60,.11)}
.sp h1,.sp h2,.sp h3{color:var(--sp-ink)}

/* Reveal. transform carries the entrance and is staggered by --d;
   hovers use the separate `translate` property so they never inherit
   the entrance's duration or delay. */
.js .sp .rv{
  transition-property:opacity,transform,translate,background-color,border-color,box-shadow,padding;
  transition-duration:.8s,.8s,.35s,.35s,.35s,.35s,.35s;
  transition-timing-function:cubic-bezier(.2,.7,.3,1);
  transition-delay:calc(var(--d,0) * 80ms),calc(var(--d,0) * 80ms),0s,0s,0s,0s,0s}

/* shared furniture */
.sp-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--label);font-size:11.5px;
  font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#4D6679}
.sp-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;flex:none;
  background:linear-gradient(90deg,var(--accent),var(--glow))}
.sp-eyebrow.on-dark,.on-dark .sp-eyebrow{color:rgba(231,242,249,.8)}
.sp-h2{margin-top:16px;font-size:clamp(34px,4.3vw,60px);letter-spacing:-.045em;line-height:1;text-wrap:balance}
.sp-head{margin-bottom:48px}
.sp-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}

.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;color:var(--sp-quiet)}
.crumbs a{color:var(--sp-quiet);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.crumbs a:hover{color:var(--accent-strong);border-bottom-color:currentColor}
.crumbs span[aria-hidden]{opacity:.45}
.crumbs [aria-current]{color:var(--sp-ink);font-weight:600}

/* buttons */
.sp-btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;text-decoration:none;
  font-weight:600;font-size:16px;letter-spacing:-.01em;line-height:1;padding:10px 26px 10px 10px;min-height:56px;
  transition:translate .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,background .3s,border-color .3s,color .3s}
.sp-btn svg{flex:none}
.sp-btn:hover{translate:0 -2px}
.sp-btn-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;flex:none;
  background:rgba(255,255,255,.18)}
.sp-btn-call{background:#1B6E9E;color:#FFFFFF;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 16px 32px rgba(27,110,158,.3),0 3px 8px rgba(27,110,158,.18)}
.sp-btn-call:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 22px 44px rgba(27,110,158,.38),0 4px 10px rgba(27,110,158,.2)}
.sp-btn-wa{background:#FFFFFF;color:#1A6B44;border:1px solid rgba(26,107,68,.22);padding-left:22px;
  box-shadow:0 10px 24px rgba(16,42,60,.06)}
.sp-btn-wa:hover{border-color:rgba(26,107,68,.45);box-shadow:0 16px 32px rgba(16,42,60,.1)}
.sp-btn-call.on-dark{background:#FFFFFF;color:#0F2F47;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.sp-btn-call.on-dark .sp-btn-ico{background:#E4F1FA;color:#1B6E9E}
.sp-btn-wa.on-dark{background:rgba(255,255,255,.08);color:#FFFFFF;border-color:rgba(255,255,255,.3);box-shadow:none}
.sp-btn-wa.on-dark:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55)}

/* ---------- hero ---------- */
.sp-hero{position:relative;isolation:isolate;overflow:hidden;
  padding:calc(var(--nav-h) + 40px) 0 128px;
  background:radial-gradient(90% 80% at 82% 18%,#E3F0FA 0%,rgba(227,240,250,0) 60%),
             linear-gradient(180deg,#FFFFFF 0%,#F1F6FA 100%)}
.sp-hero .aur{opacity:.6}
.sp-hero-grid{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(16,42,60,.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(16,42,60,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(60% 70% at 74% 42%,#000 0%,transparent 72%);
  mask-image:radial-gradient(60% 70% at 74% 42%,#000 0%,transparent 72%)}
.sp-hero-in{position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:40px 56px;align-items:center}
.sp-kicker{display:flex;align-items:center;gap:14px;margin-top:28px;font-size:12px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:#4D6679}
.sp-idx{font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.06em;color:#1B6E9E}
.sp-idx i{font-style:normal;color:var(--sp-quiet)}
.sp-kicker span+span{padding-left:14px;border-left:1px solid var(--sp-line)}
.sp-h1{margin-top:18px;font-size:clamp(46px,6.1vw,88px);letter-spacing:-.052em;line-height:.95;text-wrap:balance}
.sp-lead{margin-top:26px;font-size:clamp(17px,1.35vw,19.5px);line-height:1.6;color:var(--sp-body);max-width:46ch}
.sp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.sp-tags{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;row-gap:10px}
.sp-tags li{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#4D6679;padding:0 14px}
.sp-tags li:first-child{padding-left:0}
.sp-tags li+li{border-left:1px solid var(--sp-line)}

/* the stage: a lit disc, a turning ring, a dashed orbit, and the object
   floating above them with two annotations pinned to it */
.sp-stage{position:relative;margin:0;width:100%;max-width:520px;aspect-ratio:1;justify-self:center}
.sp-stage::before{content:"";position:absolute;inset:-6%;border-radius:50%;
  border:1px dashed rgba(27,110,158,.2)}
.sp-ring{position:absolute;inset:0;border-radius:50%;padding:1.5px;opacity:.85;
  background:conic-gradient(from 0deg,transparent 0 20%,rgba(65,165,221,.85) 40%,
    rgba(27,110,158,.95) 50%,rgba(65,165,221,.85) 60%,transparent 80% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;animation:halospin 14s linear infinite}
.sp-disc{position:absolute;inset:5%;border-radius:50%;
  background:radial-gradient(circle at 50% 34%,#FFFFFF 0%,#EEF6FC 46%,#D6E8F5 100%);
  box-shadow:inset 0 -22px 46px rgba(43,135,190,.14),0 50px 90px rgba(16,42,60,.16),0 12px 26px rgba(16,42,60,.07)}
.sp-stage img{position:absolute;z-index:2;left:13%;top:13%;width:74%;height:74%;object-fit:contain;
  filter:drop-shadow(0 24px 26px rgba(16,42,60,.22));animation:halofloat 7s ease-in-out infinite}
.sp-stage img.wide{left:9%;width:82%}
.sp-call{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  padding:11px 17px 11px 13px;border-radius:999px;font-size:13.5px;font-weight:600;letter-spacing:-.01em;
  color:var(--sp-ink);background:rgba(255,255,255,.94);border:1px solid rgba(16,42,60,.08);
  box-shadow:0 16px 36px rgba(16,42,60,.14),0 2px 6px rgba(16,42,60,.06);animation:spcall 6s ease-in-out infinite}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .sp-call{background:rgba(255,255,255,.76);
    -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
}
.sp-call i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--accent);
  box-shadow:0 0 0 4px rgba(65,165,221,.2)}
.sp-call.c1{top:10%;left:-4%}
.sp-call.c2{bottom:12%;right:-2%;animation-delay:-3s}
@keyframes spcall{50%{transform:translateY(-7px)}}

/* ---------- proof strip, pulled up over the hero's edge ---------- */
.sp-proof{position:relative;z-index:5;margin-top:-68px}
.sp-proof-card{list-style:none;margin:0;padding:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  background:#FFFFFF;border:1px solid rgba(16,42,60,.07);border-radius:24px;
  box-shadow:0 34px 80px rgba(16,42,60,.11),0 6px 18px rgba(16,42,60,.05)}
.sp-proof-card li{display:flex;flex-direction:column;gap:9px;padding:26px 30px}
.sp-proof-card li+li{border-left:1px solid var(--sp-line)}
.sp-proof-card b{font-size:clamp(26px,2.5vw,38px);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--sp-ink)}
/* the figures carry the brand blue. Both ends of the gradient clear 3:1,
   which is the bar for text this large and this heavy: #1B6E9E is 5.6,
   #3B96CA is 3.3. A flat colour stays underneath for anything that cannot
   clip a background to text. */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .sp-proof-card b{background:linear-gradient(120deg,#1B6E9E 0%,#2B87BE 55%,#3B96CA 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent}
}
.sp-proof-card span{font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sp-quiet)}

/* ---------- scope: sticky heading, editorial numbered list ---------- */
.sp-scope{padding:112px 0 100px}
.sp-split{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:40px 88px;align-items:start}
.sp-side{position:sticky;top:calc(var(--nav-h) + 40px)}
.sp-side-note{margin-top:22px;font-size:16px;line-height:1.62;color:var(--sp-body);max-width:34ch}
.sp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--sp-line)}
.sp-list li{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:baseline;
  padding:23px 6px;border-bottom:1px solid var(--sp-line)}
.sp-list li:hover{background-color:rgba(65,165,221,.05);padding-left:16px}
.sp-list-n{font-size:13px;font-weight:700;letter-spacing:.12em;color:#1B6E9E;font-variant-numeric:tabular-nums}
.sp-list-t{font-size:clamp(17px,1.5vw,21px);font-weight:500;letter-spacing:-.02em;line-height:1.35;color:var(--sp-ink)}

/* ---------- the difference ---------- */
.sp-diff{position:relative;padding:104px 0 108px;background:linear-gradient(180deg,#F3F7FA 0%,#EDF3F8 100%)}
.sp-diff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.df{position:relative;overflow:hidden;background:#FFFFFF;border:1px solid rgba(16,42,60,.07);border-radius:24px;
  padding:36px 38px 38px;box-shadow:0 18px 42px rgba(16,42,60,.06)}
.df::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--accent),var(--glow));transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.df:hover::before{transform:scaleX(1)}
.df:hover{border-color:rgba(65,165,221,.3);box-shadow:0 28px 60px rgba(16,42,60,.1)}
.df-n{position:absolute;top:16px;right:26px;font-size:76px;font-weight:700;letter-spacing:-.06em;line-height:1;
  color:transparent;-webkit-text-stroke:1.2px rgba(27,110,158,.2);pointer-events:none}
.df h3{padding-right:84px;font-size:clamp(21px,1.8vw,25px);letter-spacing:-.03em;line-height:1.15}
.df p{margin-top:14px;font-size:16px;line-height:1.64;color:var(--sp-body);max-width:52ch}

/* ---------- process: the navy band ---------- */
.sp-steps{position:relative;isolation:isolate;overflow:hidden;padding:108px 0 116px;color:#E7F2F9;
  background:linear-gradient(158deg,#0A3350 0%,#0F4A6B 55%,#0A3350 100%)}
.sp-steps::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 90% at 30% 50%,#000,transparent 75%);
  mask-image:radial-gradient(70% 90% at 30% 50%,#000,transparent 75%)}
.sp-steps-glow{position:absolute;right:-12%;top:-30%;width:62%;aspect-ratio:1;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(111,200,242,.3),transparent)}
.sp .sp-steps h2,.sp .sp-steps h3{color:#FFFFFF}
.sp-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 44px}
.sp-line li{position:relative}
.st-n{display:flex;align-items:flex-end;height:84px;font-size:clamp(60px,6vw,84px);font-weight:700;
  letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(111,200,242,.75)}
.st-dot{display:block;width:13px;height:13px;border-radius:50%;margin:20px 0 28px;background:var(--glow);
  box-shadow:0 0 0 6px rgba(111,200,242,.16),0 0 26px rgba(111,200,242,.85)}
/* connector from each dot to the next: the dot's centre sits at 84 + 20 + 6.5 */
.sp-line li:not(:last-child)::after{content:"";position:absolute;top:110px;left:28px;right:-44px;height:1px;
  background:linear-gradient(90deg,rgba(111,200,242,.65),rgba(111,200,242,.12))}
.sp-line h3{font-size:clamp(20px,1.7vw,24px);letter-spacing:-.025em;line-height:1.2}
.sp-line p{margin-top:12px;font-size:15.5px;line-height:1.62;color:rgba(231,242,249,.78);max-width:34ch}

/* ---------- questions ---------- */
.sp-faq{padding:112px 0 96px}
.sp-qa{border-top:1px solid var(--sp-line)}
.qa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px 44px;
  padding:28px 0 30px;border-bottom:1px solid var(--sp-line)}
.qa h3{font-size:clamp(18px,1.4vw,20px);letter-spacing:-.02em;line-height:1.3}
.qa p{font-size:15.5px;line-height:1.66;color:var(--sp-body)}

/* ---------- the other five ---------- */
.sp-more{padding:24px 0 100px}
.sp-all{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#1B6E9E;text-decoration:none}
.sp-all svg{width:16px;height:16px;transition:translate .3s}
.sp-all:hover svg{translate:4px 0}
.sp-more-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.mc{position:relative;min-width:0;display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:#FFFFFF;border:1px solid rgba(16,42,60,.07);border-radius:22px;padding:12px 12px 22px;
  box-shadow:0 12px 30px rgba(16,42,60,.05)}
.mc:hover{translate:0 -5px;border-color:rgba(65,165,221,.35);box-shadow:0 26px 54px rgba(16,42,60,.11)}
.mc-stage{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;
  background:radial-gradient(circle at 50% 36%,#FFFFFF 0%,#EAF3FA 58%,#D9E9F5 100%)}
.mc-stage img{position:absolute;left:14%;top:14%;width:72%;height:72%;object-fit:contain;
  filter:drop-shadow(0 10px 14px rgba(16,42,60,.18));transition:scale .55s cubic-bezier(.2,.7,.3,1)}
.mc-stage img.wide{left:8%;width:84%}
/* the office cutaway is a scene faded to a circle, not a cut-out - at the
   default size it read as a blurred disc in a square. Filling the tile turns
   the fade into a vignette on the corners instead */
.mc-stage img.fill{left:-6%;top:-6%;width:112%;height:112%;filter:none}
.mc:hover .mc-stage img{scale:1.07}
.mc-n{margin-top:16px;padding:0 6px;font-size:11px;font-weight:700;letter-spacing:.2em;color:#1B6E9E}
.mc-t{margin-top:6px;padding:0 44px 0 6px;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--sp-ink)}
.mc-go{position:absolute;right:14px;bottom:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:#EDF5FA;color:#1B6E9E;transition:background .3s,color .3s}
.mc-go svg{width:14px;height:14px}
.mc:hover .mc-go{background:#1B6E9E;color:#FFFFFF}

/* ---------- close ---------- */
.sp-end{padding:0 0 104px}
.sp-end-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;
  padding:clamp(40px,5.4vw,76px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 56px;align-items:center;
  color:#E7F2F9;background:linear-gradient(150deg,#0A3350 0%,#11506F 58%,#0B3B5A 100%);
  box-shadow:0 44px 96px rgba(10,51,80,.3)}
.sp-end-panel .aur{opacity:1}
.sp-end-copy,.sp-end-actions{position:relative;z-index:1}
.sp .sp-end h2{margin-top:16px;font-size:clamp(32px,3.8vw,54px);letter-spacing:-.045em;line-height:1.02;
  color:#FFFFFF;max-width:17ch;text-wrap:balance}
.sp-end p{margin-top:18px;font-size:16.5px;line-height:1.62;color:rgba(231,242,249,.8);max-width:54ch}
.sp-end p strong{color:#FFFFFF;font-weight:600}
.sp-end-actions{display:flex;flex-direction:column;gap:12px;min-width:270px}

/* ---------- smaller screens ---------- */
@media (max-width:1180px){
  .sp-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .sp-hero-in{grid-template-columns:1fr;gap:56px}
  .sp-stage{max-width:440px}
  .sp-split{grid-template-columns:1fr;gap:34px}
  .sp-side{position:static}
  .sp-end-panel{grid-template-columns:1fr}
  .sp-end-actions{flex-direction:row;flex-wrap:wrap;min-width:0}
}
@media (max-width:860px){
  .sp-hero{padding:calc(var(--nav-h) + 24px) 0 100px}
  .sp-proof{margin-top:-56px}
  .sp-proof-card{grid-template-columns:1fr 1fr;padding:4px}
  .sp-proof-card li{padding:18px 18px 20px}
  .sp-proof-card li:nth-child(3){border-left:0}
  .sp-proof-card li:nth-child(n+3){border-top:1px solid var(--sp-line)}
  .sp-scope,.sp-faq{padding:76px 0 66px}
  .sp-diff{padding:74px 0 78px}
  .sp-diff-grid{grid-template-columns:1fr;gap:14px}
  .sp-steps{padding:78px 0 84px}
  .sp-head{margin-bottom:34px}
  /* the timeline turns vertical: numeral left, words right */
  .sp-line{grid-template-columns:1fr;gap:34px}
  .sp-line li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:20px;align-items:start}
  .st-n{grid-column:1;grid-row:1 / span 2;height:auto;font-size:54px}
  .st-dot,.sp-line li:not(:last-child)::after{display:none}
  .sp-line h3,.sp-line p{grid-column:2}
  .sp-line p{margin-top:8px}
  .qa{grid-template-columns:1fr;gap:8px;padding:22px 0 24px}
  .sp-more{padding:10px 0 76px}
  .sp-end{padding-bottom:76px}
}
@media (max-width:560px){
  .sp-stage{max-width:310px}
  .sp-call{font-size:12px;padding:8px 13px 8px 10px;gap:8px}
  .sp-call.c1{left:-6%}
  .sp-call.c2{right:-6%}
  .sp-cta .sp-btn,.sp-end-actions .sp-btn{flex:1 1 100%;justify-content:center}
  .sp-list li{grid-template-columns:48px minmax(0,1fr);padding:18px 2px}
  .df{padding:28px 24px 30px}
  .df-n{font-size:58px;right:18px}
  .df h3{padding-right:64px}
  .sp-more-grid{grid-template-columns:1fr 1fr;gap:12px}
  /* half-width cards cannot spare 44px beside the title for the arrow, so it
     moves onto the corner of the image */
  .mc-t{padding-right:6px;font-size:15px}
  .mc-go{top:20px;right:20px;bottom:auto;width:28px;height:28px}
  .sp-end-panel{border-radius:24px}
}
@media (prefers-reduced-motion:reduce){
  .sp-ring,.sp-stage img,.sp-call,.sp .aur i{animation:none}
}

/* ============================================================
   HOME, IN THE SERVICE-PAGE LANGUAGE
   Same moves as the service pages: display type in a deep ink at a
   much bigger scale, numbered eyebrows, a proof strip pulled over the
   hero's edge, and navy panels for the two moments that ask for
   something - the voucher and the final call.
   ============================================================ */

/* Headings take the ink at zero added specificity, so the navy bands'
   own white headings (.band-deep h2 and friends) still win untouched. */
:where(body) :is(h1,h2,h3){color:var(--sp-ink)}

/* eyebrows: the gradient bar leads rather than trails */
.eyebrow{gap:12px;font-weight:700;letter-spacing:.24em;color:#4D6679}
.eyebrow::after{display:none}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;flex:none;
  background:linear-gradient(90deg,var(--accent),var(--glow))}

.h2-lg{font-size:clamp(34px,4.3vw,60px);letter-spacing:-.045em;line-height:1}

/* ---------- hero ---------- */
.hero{padding-bottom:112px;
  background:radial-gradient(90% 80% at 82% 18%,#E3F0FA 0%,rgba(227,240,250,0) 60%),
             linear-gradient(180deg,#FFFFFF 0%,#F1F6FA 100%)}
.hero-copy h1{font-size:clamp(44px,5.9vw,80px);letter-spacing:-.052em;line-height:.95}
.hero-copy h1 em{font-style:normal;color:#2B87BE}
.hero-copy .hp-lead{margin-top:22px;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--sp-body);max-width:44ch}
.hero .cb-form{border-radius:24px;
  box-shadow:0 34px 80px rgba(16,42,60,.11),0 6px 18px rgba(16,42,60,.05)}

/* ---------- voucher: copy and form on one navy panel ---------- */
.brain{padding:40px 0 60px}
.brain-scene{opacity:.5}
.brain-grid{position:relative;isolation:isolate;overflow:hidden;
  grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:40px 64px;align-items:center;justify-content:stretch;
  border-radius:32px;padding:clamp(34px,5vw,68px);color:#E7F2F9;
  background:linear-gradient(150deg,#0A3350 0%,#11506F 58%,#0B3B5A 100%);
  box-shadow:0 44px 96px rgba(10,51,80,.3)}
.brain-grid::before{content:"";position:absolute;right:-12%;top:-40%;width:62%;aspect-ratio:1;z-index:-1;
  pointer-events:none;background:radial-gradient(closest-side,rgba(111,200,242,.3),transparent)}
.brain-copy .eyebrow{color:rgba(231,242,249,.8)}
.brain-copy h2{margin-top:16px;font-size:clamp(32px,3.8vw,54px);letter-spacing:-.045em;line-height:1.02;
  color:#FFFFFF;max-width:14ch;text-wrap:balance}
.brain-copy h2 em{font-style:normal;color:var(--glow)}
.brain-lead{margin-top:18px;font-size:16.5px;line-height:1.62;color:rgba(231,242,249,.8);max-width:40ch}
.brain-points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.brain-points li{display:flex;align-items:center;gap:12px;font-size:15.5px;font-weight:500;color:#FFFFFF}
.brain-points li::before{content:"";width:22px;height:22px;border-radius:50%;flex:none;
  border:1px solid rgba(111,200,242,.45);
  background:rgba(111,200,242,.14) no-repeat center/12px
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.4l3.2 3.2L13 4.8' fill='none' stroke='%236FC8F2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.brain-panel{border:0;border-radius:22px;padding:30px 32px 32px;box-shadow:0 30px 60px rgba(0,0,0,.25)}
/* the heading sits inside the card now, so the form follows it directly */
.brain-panel .cb-form.bare{margin-top:0}
.brain-panel-h{margin:0 0 18px;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#4D6679}

/* ---------- the final call: a closing panel ---------- */
.stats{padding:24px 0 72px}
.contact-cta.hp-end{position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 56px;align-items:center;justify-content:stretch;
  border-radius:32px;padding:clamp(40px,5.4vw,76px);color:#E7F2F9;
  background:linear-gradient(150deg,#0A3350 0%,#11506F 58%,#0B3B5A 100%);
  box-shadow:0 44px 96px rgba(10,51,80,.3)}
.hp-end .aur{opacity:1}
.hp-end .cta-copy{position:relative;z-index:1;align-items:flex-start;text-align:left}
.hp-end .eyebrow{color:rgba(231,242,249,.8)}
.hp-end .cta-kicker{margin-top:16px;font-size:clamp(34px,4.4vw,62px);letter-spacing:-.045em;line-height:1;color:#FFFFFF}
.hp-end .cta-kicker em{color:var(--glow)}
.hp-end .cta-lead{margin-top:18px;font-size:16.5px;line-height:1.62;color:rgba(231,242,249,.8);max-width:44ch}
.hp-end .cta-social{justify-content:flex-start;gap:10px;margin-top:28px}
.hp-end .cta-social .social{width:52px;height:52px;border-radius:16px;color:#FFFFFF;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.hp-end .cta-social .social::before{border-radius:16px}
.hp-end .cta-social .social svg,
.hp-end .cta-social .social.tt svg{width:24px;height:24px}
.hp-end .cta-social .social:hover{color:var(--glow);border-color:rgba(111,200,242,.5)}
.hp-end .cta-actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;
  justify-content:flex-start;gap:12px;margin:0;min-width:280px}
.hp-end .cta-sub{margin-top:6px;text-align:center;color:rgba(231,242,249,.72)}

@media (max-width:980px){
  .brain-grid{grid-template-columns:1fr}
  .contact-cta.hp-end{grid-template-columns:1fr}
  .hp-end .cta-actions{min-width:0}
}
@media (max-width:860px){
  .hero{padding-bottom:96px}
  .brain{padding:28px 0 44px}
  .brain-grid,.contact-cta.hp-end{border-radius:24px}
  .brain-panel{padding:24px 20px 26px}
  .stats{padding-bottom:56px}
  .hp-end .cta-sub{text-align:left}
}

/* ============================================================
   OPTICAL WEIGHT ON SMALL SCREENS
   The headings are roughly half the size on a phone - the hero
   goes 80px to 42px, the section headings 57px to 31px - and the
   same weight number reads lighter the smaller it gets. The glyph
   geometry is identical either way; it is the eye and the device's
   rasteriser that differ. Figtree is a real variable font with a
   continuous weight axis, so the weight can be raised without jumping
   to a separate static cut. 640 was not enough to read as bold on a
   real phone, so this is 700.

   If the titles still do not look bold on a device, the cause is not
   here - it is the font not loading or its weight axis not being
   applied. /font-test.html reports which, from the device itself.
   ============================================================ */
@media (max-width:860px){
  h1,h2,h3,.h2-lg,.t-t,.cta-kicker{font-weight:700}
}
