/* ============================================================
   Pratham Digital Solutions
   Vibe: Ethereal Glass  |  Layout: Editorial Split + Asym Bento
   ============================================================ */

@font-face{
  font-family:'Sora';
  src:url('../fonts/Sora-latin.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122;
}
@font-face{
  font-family:'Jakarta';
  src:url('../fonts/PlusJakartaSans-latin.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122;
}
@font-face{
  font-family:'Jakarta';
  src:url('../fonts/PlusJakartaSans-latin-ext.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0;
}

/* ---------- tokens ---------- */
:root{
  --bg:#05070d;
  --bg-2:#080b14;
  --plate:rgba(255,255,255,.045);
  --core:#0a0e18;
  --hair:rgba(255,255,255,.09);
  --hair-2:rgba(255,255,255,.055);

  --txt:#eaeffb;
  --txt-2:#98a4bf;
  --txt-3:#6b7794;

  --acc:#3b7bff;
  --acc-2:#6aa5ff;
  --acc-3:#4dd4ff;
  --wa:#25d366;

  --r-out:30px;
  --r-in:24px;
  --r-sm:14px;

  --shell:1200px;
  --ease:cubic-bezier(.32,.72,0,1);
  --ease-soft:cubic-bezier(.22,1,.36,1);
  --dur:.7s;

  --nav-h:68px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--txt);
  font-family:'Jakarta',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{ margin:0; font-family:'Sora',system-ui,sans-serif; font-weight:700; letter-spacing:-.028em; line-height:1.08; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
svg{ display:block; flex-shrink:0; }
::selection{ background:rgba(59,123,255,.32); }

.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:24px; }
#top-sentinel{ position:absolute; top:0; height:1px; width:1px; }

/* gradient shine on emphasis words (same family, italic-free) */
.shine{
  font-style:normal;
  background:linear-gradient(96deg,var(--acc) 0%,var(--acc-2) 38%,var(--acc-3) 72%,var(--acc-2) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  animation:shine 9s var(--ease-soft) infinite;
}
@keyframes shine{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }

/* ---------- ambient layers (fixed, pointer-events:none) ---------- */
.aurora{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.aurora__orb{
  position:absolute; display:block; border-radius:50%;
  filter:blur(90px); opacity:.5;
  will-change:transform;
}
.aurora__orb--blue{ width:52vw; height:52vw; left:-12vw; top:-14vw; background:radial-gradient(circle,#2f6bff 0%,transparent 66%); animation:drift1 26s var(--ease-soft) infinite; }
.aurora__orb--violet{ width:46vw; height:46vw; right:-12vw; top:2vw; background:radial-gradient(circle,#7c3aed 0%,transparent 66%); opacity:.42; animation:drift2 32s var(--ease-soft) infinite; }
.aurora__orb--cyan{ width:38vw; height:38vw; left:22vw; top:62vh; background:radial-gradient(circle,#06b6d4 0%,transparent 66%); opacity:.3; animation:drift3 29s var(--ease-soft) infinite; }
.aurora__orb--emerald{ width:34vw; height:34vw; right:8vw; bottom:-8vw; background:radial-gradient(circle,#10b981 0%,transparent 66%); opacity:.22; animation:drift1 36s var(--ease-soft) infinite reverse; }
@keyframes drift1{ 0%,100%{ transform:translate3d(0,0,0) scale(1); } 50%{ transform:translate3d(6vw,5vh,0) scale(1.12); } }
@keyframes drift2{ 0%,100%{ transform:translate3d(0,0,0) scale(1.05); } 50%{ transform:translate3d(-7vw,7vh,0) scale(.92); } }
@keyframes drift3{ 0%,100%{ transform:translate3d(0,0,0) scale(.95); } 50%{ transform:translate3d(5vw,-6vh,0) scale(1.15); } }

.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* scroll progress via CSS scroll-driven animation (no scroll listener) */
.scrollbar{ position:fixed; top:0; left:0; right:0; height:2px; z-index:70; pointer-events:none; }
.scrollbar span{
  display:block; height:100%; transform-origin:0 50%; transform:scaleX(0);
  background:linear-gradient(90deg,var(--acc),var(--acc-3));
}
@supports (animation-timeline:scroll()){
  .scrollbar span{ animation:progress linear; animation-timeline:scroll(root block); }
  @keyframes progress{ to{ transform:scaleX(1); } }
}

main,.close,.foot{ position:relative; z-index:2; }

/* ---------- buttons ---------- */
.cta{
  position:relative; display:inline-flex; align-items:center; gap:14px;
  padding:11px 11px 11px 24px; border-radius:999px;
  font-family:'Sora',sans-serif; font-weight:600; font-size:.94rem; letter-spacing:-.01em;
  color:#fff; white-space:nowrap;
  background:linear-gradient(135deg,var(--acc) 0%,#2f6bff 55%,#5b8dff 100%);
  box-shadow:0 10px 30px -12px rgba(59,123,255,.85), inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease), filter .55s var(--ease);
  will-change:transform;
}
.cta:hover{ box-shadow:0 18px 44px -14px rgba(59,123,255,.95), inset 0 1px 0 rgba(255,255,255,.34); filter:saturate(1.12); }
.cta:active{ transform:scale(.975); }
.cta__pip{
  display:grid; place-items:center; width:32px; height:32px; border-radius:999px;
  background:rgba(255,255,255,.17); box-shadow:inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .55s var(--ease), background .55s var(--ease);
}
.cta:hover .cta__pip{ transform:translate(3px,-1px) scale(1.06); background:rgba(255,255,255,.26); }
.cta--lg{ padding:14px 14px 14px 30px; font-size:1.02rem; }
.cta--lg .cta__pip{ width:38px; height:38px; }
.cta--sm{ padding:7px 7px 7px 18px; font-size:.86rem; gap:11px; }
.cta--sm .cta__pip{ width:27px; height:27px; }

.ghost{
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 24px; border-radius:999px;
  font-family:'Sora',sans-serif; font-weight:600; font-size:.94rem; color:var(--txt);
  background:rgba(255,255,255,.045);
  border:1px solid var(--hair);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .55s var(--ease), background .55s var(--ease), border-color .55s var(--ease);
}
.ghost svg{ color:var(--wa); }
.ghost:hover{ background:rgba(255,255,255,.085); border-color:rgba(255,255,255,.16); transform:translateY(-2px); }
.ghost:active{ transform:scale(.975); }

/* ---------- brand ---------- */
.brand{ display:inline-flex; align-items:center; gap:11px; }
.brand__mark{
  display:grid; place-items:center; width:34px; height:34px; border-radius:11px;
  font-family:'Sora',sans-serif; font-weight:800; font-size:1rem; color:#fff;
  background:linear-gradient(140deg,var(--acc) 0%,#7c3aed 100%);
  box-shadow:0 6px 18px -8px rgba(59,123,255,.9), inset 0 1px 0 rgba(255,255,255,.35);
}
.brand__word{ display:flex; flex-direction:column; line-height:1.06; font-family:'Sora',sans-serif; font-weight:700; font-size:.95rem; letter-spacing:-.02em; }
.brand__word em{ font-style:normal; font-weight:500; font-size:.58rem; letter-spacing:.15em; text-transform:uppercase; color:var(--txt-3); margin-top:3px; }

/* ---------- floating island nav ---------- */
.nav{ position:fixed; top:0; left:0; right:0; z-index:60; padding:18px 24px 0; display:flex; justify-content:center; pointer-events:none; }
.nav__island{
  pointer-events:auto;
  display:flex; align-items:center; gap:34px;
  width:100%; max-width:var(--shell);
  height:var(--nav-h); padding:0 10px 0 20px;
  border-radius:999px;
  background:rgba(10,14,24,.55);
  border:1px solid var(--hair-2);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  transition:background .6s var(--ease), border-color .6s var(--ease), box-shadow .6s var(--ease), transform .6s var(--ease);
}
.nav.is-stuck .nav__island{
  background:rgba(8,11,20,.82);
  border-color:var(--hair);
  box-shadow:0 18px 46px -22px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.08);
}
.nav__links{ display:flex; gap:6px; margin-left:auto; }
.nav__links a{
  position:relative; padding:8px 15px; border-radius:999px;
  font-size:.9rem; font-weight:500; color:var(--txt-2);
  transition:color .45s var(--ease), background .45s var(--ease);
}
.nav__links a:hover{ color:var(--txt); background:rgba(255,255,255,.06); }

.burger{ display:none; width:42px; height:42px; border:0; border-radius:999px; background:rgba(255,255,255,.06); position:relative; cursor:pointer; }
.burger span{
  position:absolute; left:13px; width:16px; height:1.6px; border-radius:2px; background:var(--txt);
  transition:transform .5s var(--ease), opacity .35s var(--ease);
}
.burger span:nth-child(1){ top:18px; }
.burger span:nth-child(2){ top:23px; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(2.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ transform:translateY(-2.5px) rotate(-45deg); }

/* full-screen glass sheet */
.sheet{
  position:fixed; inset:0; z-index:55;
  display:flex; flex-direction:column; justify-content:center; gap:14px;
  padding:120px 32px 60px;
  background:rgba(5,7,13,.9);
  backdrop-filter:blur(28px) saturate(150%);
  -webkit-backdrop-filter:blur(28px) saturate(150%);
  opacity:0; visibility:hidden;
  transition:opacity .55s var(--ease), visibility .55s var(--ease);
}
.sheet.is-open{ opacity:1; visibility:visible; }
.sheet__links{ display:flex; flex-direction:column; }
.sheet__links a{
  padding:16px 0; border-bottom:1px solid var(--hair-2);
  font-family:'Sora',sans-serif; font-size:1.8rem; font-weight:600; letter-spacing:-.03em;
  overflow:hidden;
}
.sheet__links a span, .sheet__foot{
  display:block;
  transform:translateY(28px); opacity:0;
  transition:transform .7s var(--ease) calc(var(--i) * 70ms), opacity .7s var(--ease) calc(var(--i) * 70ms);
}
.sheet.is-open .sheet__links a span, .sheet.is-open .sheet__foot{ transform:none; opacity:1; }
.sheet__foot{ margin-top:34px; display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.sheet__tel{ display:inline-flex; align-items:center; gap:9px; color:var(--txt-2); font-weight:500; font-size:.95rem; }
.sheet__tel svg{ color:var(--acc-2); }

@media (max-width:920px){
  .nav__links{ display:none; }
  .nav__island .cta--sm{ display:none; }
  .burger{ display:block; margin-left:auto; }
}

/* ---------- reveal ---------- */
/* Gated on .js so content stays visible if scripts fail or are blocked. */
.js [data-r]{
  opacity:0; transform:translateY(38px); filter:blur(9px);
  transition:opacity .95s var(--ease-soft) calc(var(--i,0) * 85ms),
             transform .95s var(--ease-soft) calc(var(--i,0) * 85ms),
             filter .95s var(--ease-soft) calc(var(--i,0) * 85ms);
  will-change:transform,opacity;
}
.js [data-r].in{ opacity:1; transform:none; filter:blur(0); }

/* ---------- eyebrow ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  padding:7px 15px 7px 12px; border-radius:999px;
  font-size:.71rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase;
  color:var(--txt-2);
  background:rgba(255,255,255,.05); border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
.eyebrow::before{
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--acc-3); box-shadow:0 0 10px 1px rgba(77,212,255,.9);
}

/* ============ HERO ============ */
.hero{ padding-top:calc(var(--nav-h) + 58px); }
.hero__row{
  display:grid; grid-template-columns:1fr 1.04fr; gap:34px; align-items:center;
  min-height:calc(100dvh - var(--nav-h) - 262px);
  padding-block:24px 26px;
}
.hero__title{
  margin-top:24px;
  font-size:clamp(2.05rem,3.55vw,3.05rem);
  font-weight:700;
}
.hero__title .line{ display:block; }
.hero__sub{
  margin-top:24px; max-width:44ch;
  font-size:clamp(1rem,1.15vw,1.1rem); color:var(--txt-2);
}
.hero__act{ margin-top:38px; display:flex; flex-wrap:wrap; gap:14px; }

/* device stage */
.hero__art{ perspective:1400px; }
.stage{
  position:relative; aspect-ratio:1/.98; width:100%; max-width:475px; margin-inline:auto;
  display:grid; place-items:center;
  transform-style:preserve-3d;
  transform:rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg));
  transition:transform .9s var(--ease-soft);
}
.stage__halo{
  position:absolute; inset:14% 12%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,123,255,.42) 0%,rgba(124,58,237,.2) 42%,transparent 70%);
  filter:blur(46px);
  animation:pulse 7s var(--ease-soft) infinite;
}
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:.85; } 50%{ transform:scale(1.14); opacity:1; } }

.phone{ position:relative; transform:translateZ(46px); animation:float 8s var(--ease-soft) infinite; }
@keyframes float{ 0%,100%{ transform:translateZ(46px) translateY(0); } 50%{ transform:translateZ(46px) translateY(-14px); } }
.phone__shell{
  width:236px; padding:7px; border-radius:44px;
  background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.03) 42%,rgba(255,255,255,.09));
  box-shadow:0 42px 90px -30px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.22);
}
.phone__screen{
  position:relative; border-radius:35px; padding:22px 15px 13px;
  background:linear-gradient(178deg,#0c1120 0%,#080c16 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
  display:flex; flex-direction:column; gap:9px;
  overflow:hidden;
}
.phone__notch{ position:absolute; top:9px; left:50%; transform:translateX(-50%); width:52px; height:5px; border-radius:99px; background:rgba(255,255,255,.13); }
.ph-row{ display:flex; align-items:center; justify-content:space-between; }
.ph-bar{ display:block; height:7px; border-radius:99px; background:rgba(255,255,255,.5); }
.ph-bar.dim{ background:rgba(255,255,255,.22); height:5px; }
.ph-bar.tall{ height:11px; background:rgba(255,255,255,.85); }
.w30{ width:30%; } .w40{ width:40%; } .w60{ width:60%; } .w70{ width:70%; }
.ph-dot{ width:8px; height:8px; border-radius:50%; background:var(--acc-3); box-shadow:0 0 8px rgba(77,212,255,.9); }
.ph-card{
  position:relative; border-radius:15px; padding:12px 13px; display:flex; flex-direction:column; gap:7px;
  background:linear-gradient(135deg,var(--acc) 0%,#2a5fe0 100%);
  box-shadow:0 10px 22px -12px rgba(59,123,255,.9), inset 0 1px 0 rgba(255,255,255,.26);
}
.ph-chip{ position:absolute; right:12px; bottom:12px; width:22px; height:15px; border-radius:4px; background:rgba(255,255,255,.35); }
.ph-card--chart{ background:rgba(255,255,255,.045); border:1px solid var(--hair-2); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.ph-spark{ width:100%; height:auto; }
.ph-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.ph-grid i{ aspect-ratio:1; border-radius:10px; background:rgba(255,255,255,.07); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.ph-list{ display:flex; flex-direction:column; gap:6px; }
.ph-list i{ height:16px; border-radius:7px; background:rgba(255,255,255,.05); }
.ph-tabs{ display:flex; justify-content:space-between; padding:8px 6px 0; margin-top:auto; border-top:1px solid var(--hair-2); }
.ph-tabs i{ width:15px; height:5px; border-radius:99px; background:rgba(255,255,255,.14); }
.ph-tabs i.on{ background:var(--acc-2); box-shadow:0 0 8px rgba(106,165,255,.8); }

.chip{
  position:absolute; display:inline-flex; align-items:center; gap:8px;
  padding:8px 15px 8px 11px; border-radius:999px;
  font-size:.78rem; font-weight:600; white-space:nowrap; color:var(--txt);
  background:rgba(14,19,32,.78);
  border:1px solid var(--hair);
  box-shadow:0 14px 30px -16px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.09);
  transform:translateZ(80px);
  animation:bob 6s var(--ease-soft) infinite;
}
.chip svg{ color:var(--c); }
.chip::before{
  content:''; position:absolute; inset:-1px; border-radius:inherit; padding:1px;
  background:linear-gradient(140deg,color-mix(in srgb,var(--c) 65%,transparent),transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none;
}
@keyframes bob{ 0%,100%{ transform:translateZ(80px) translateY(0); } 50%{ transform:translateZ(80px) translateY(-11px); } }
.chip--1{ top:8%;  left:2%;  animation-delay:-.2s; }
.chip--2{ top:32%; left:-3%; animation-delay:-1.5s; }
.chip--3{ top:58%; left:1%;  animation-delay:-2.8s; }
.chip--4{ top:15%; right:1%; animation-delay:-.9s; }
.chip--5{ top:43%; right:-3%;animation-delay:-2.1s; }
.chip--6{ top:69%; right:2%; animation-delay:-3.4s; }

/* ticker */
.ticker{ margin-top:18px; padding-block:20px; border-block:1px solid var(--hair-2); overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); }
.ticker__track{ display:flex; width:max-content; animation:slide 34s linear infinite; }
.ticker__set{ display:flex; align-items:center; gap:26px; padding-right:26px; }
.ticker__set span{ font-family:'Sora',sans-serif; font-size:.88rem; font-weight:500; color:var(--txt-2); white-space:nowrap; letter-spacing:.01em; }
.ticker__set i{ width:4px; height:4px; border-radius:50%; background:var(--acc); box-shadow:0 0 8px rgba(59,123,255,.7); }
@keyframes slide{ to{ transform:translate3d(-50%,0,0); } }

@media (max-width:900px){
  .hero{ padding-top:calc(var(--nav-h) + 22px); }
  .hero__row{ grid-template-columns:1fr; gap:12px; min-height:0; padding-block:8px 24px; }
  .hero__art{ order:-1; }
  .stage{ max-width:290px; aspect-ratio:1/1.02; }
  .phone__shell{ width:172px; }
  .chip{ font-size:.68rem; padding:6px 11px 6px 8px; }
  .chip--1,.chip--3{ left:-8%; }
  .chip--2{ left:-12%; }
  .chip--4,.chip--6{ right:-8%; }
  .chip--5{ right:-12%; }
  .hero__title{ margin-top:16px; }
  .hero__sub{ margin-top:16px; max-width:none; font-size:.98rem; }
  .hero__act{ margin-top:24px; gap:10px; }
  .hero__act .cta,.hero__act .ghost{ flex:1 1 auto; justify-content:center; }
}
@media (max-width:420px){
  .stage{ max-width:250px; }
  .phone__shell{ width:152px; }
  .chip--2,.chip--5{ display:none; }
  .chip--1{ top:6%; } .chip--3{ top:62%; }
  .chip--4{ top:12%; } .chip--6{ top:66%; }
}

/* ============ sections ============ */
.sec,.close{ scroll-margin-top:calc(var(--nav-h) + 30px); }
.sec{ padding-block:clamp(90px,11vw,150px); }
.sec__head{ margin-bottom:clamp(40px,5vw,64px); }
.sec__head--c{ text-align:center; }
.sec__title{ font-size:clamp(1.85rem,3.5vw,2.9rem); }
.sec__sub{ margin-top:16px; color:var(--txt-2); max-width:52ch; margin-inline:auto; }

/* ---------- double-bezel plate ---------- */
.plate{
  position:relative; padding:7px; border-radius:var(--r-out);
  background:var(--plate);
  border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .8s var(--ease), border-color .8s var(--ease);
}
.plate::after{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(59,123,255,.16),transparent 62%);
  opacity:0; transition:opacity .7s var(--ease);
}
.plate:hover{ transform:translateY(-4px); border-color:var(--hair); }
.plate:hover::after{ opacity:1; }
.plate__in{
  position:relative; height:100%; padding:clamp(28px,3.4vw,44px);
  border-radius:var(--r-in);
  background:linear-gradient(168deg,#0c1120 0%,var(--core) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075);
  overflow:hidden;
}

.bento{ display:grid; grid-template-columns:1.32fr 1fr; gap:20px; align-items:stretch; }

.badge{
  display:inline-flex; align-items:center; gap:9px;
  padding:7px 15px 7px 11px; border-radius:999px; margin-bottom:22px;
  font-size:.76rem; font-weight:600; letter-spacing:.02em; color:var(--txt);
  background:color-mix(in srgb,var(--c) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--c) 34%,transparent);
}
.badge svg{ color:var(--c); }

.plate h3{ font-size:clamp(1.32rem,1.9vw,1.65rem); line-height:1.16; }
.plate p{ margin-top:13px; color:var(--txt-2); max-width:44ch; font-size:.98rem; }

.caps{ margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.caps--rows{ grid-template-columns:repeat(2,1fr); }
.caps li{
  display:flex; align-items:center; gap:10px;
  padding:13px 14px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.035);
  border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  font-size:.85rem; font-weight:500; color:#cfd8ee;
  transition:transform .55s var(--ease), background .55s var(--ease), border-color .55s var(--ease);
}
.caps li svg{ color:var(--acc-2); }
.caps li:hover{ transform:translateY(-3px); background:rgba(255,255,255,.07); border-color:var(--hair); }
.plate--app .caps li svg{ color:#a78bfa; }

@media (max-width:1000px){
  .bento{ grid-template-columns:1fr; }
  .caps,.caps--rows{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .caps,.caps--rows{ grid-template-columns:1fr; }
}

/* ---------- industries rails ---------- */
.sec--ind{ padding-block:clamp(70px,9vw,120px); }
.rail{ display:flex; flex-direction:column; gap:16px; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.rail__track{ display:flex; width:max-content; animation:slide 46s linear infinite; }
.rail__track--rev{ animation:slide-r 52s linear infinite; }
@keyframes slide-r{ from{ transform:translate3d(-50%,0,0); } to{ transform:translate3d(0,0,0); } }
.rail:hover .rail__track{ animation-play-state:paused; }
.rail__set{ display:flex; gap:16px; padding-right:16px; }
.ind{
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 26px; border-radius:999px; white-space:nowrap;
  font-family:'Sora',sans-serif; font-size:.94rem; font-weight:500; color:var(--txt);
  background:rgba(255,255,255,.04);
  border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:background .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease);
}
.ind svg{ color:var(--c); }
.ind:hover{ background:color-mix(in srgb,var(--c) 12%,rgba(255,255,255,.04)); border-color:color-mix(in srgb,var(--c) 40%,transparent); transform:translateY(-3px); }

/* ---------- why us cascade ---------- */
.cascade{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tile{
  position:relative; padding:32px 30px 34px; border-radius:var(--r-out);
  background:linear-gradient(168deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,.02) 100%);
  border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  transition:transform .8s var(--ease), border-color .8s var(--ease);
}
.tile::after{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--c) 20%,transparent),transparent 62%);
  opacity:0; transition:opacity .7s var(--ease);
}
.tile:hover{ transform:translateY(-6px); border-color:color-mix(in srgb,var(--c) 32%,transparent); }
.tile:hover::after{ opacity:1; }
.tile__ico{
  display:grid; place-items:center; width:50px; height:50px; border-radius:16px; margin-bottom:22px;
  color:var(--c);
  background:color-mix(in srgb,var(--c) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--c) 30%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  transition:transform .7s var(--ease);
}
.tile:hover .tile__ico{ transform:translateY(-3px) scale(1.06); }
.tile h3{ font-size:1.12rem; }
.tile p{ margin-top:11px; color:var(--txt-2); font-size:.93rem; }

@media (max-width:1000px){ .cascade{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .cascade{ grid-template-columns:1fr; } }

/* ---------- closing CTA ---------- */
.close{ padding-bottom:clamp(70px,8vw,110px); }
.plate--close .plate__in{ padding:clamp(38px,5vw,66px); }
.plate--close .plate__in::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(700px circle at 82% 12%,rgba(59,123,255,.2),transparent 62%),
             radial-gradient(520px circle at 12% 96%,rgba(124,58,237,.16),transparent 62%);
}
.close__grid{ position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:center; }
.close__title{ font-size:clamp(1.75rem,3.2vw,2.65rem); }
.close__sub{ margin-top:18px; color:var(--txt-2); max-width:42ch; }
.close__act{ display:flex; flex-direction:column; align-items:flex-end; gap:22px; }
.close__tel{ display:flex; flex-direction:column; gap:9px; align-items:flex-end; }
.close__tel a{ display:inline-flex; align-items:center; gap:9px; color:var(--txt-2); font-weight:500; font-size:.94rem; transition:color .45s var(--ease); }
.close__tel a svg{ color:var(--acc-2); }
.close__tel a:hover{ color:var(--txt); }

@media (max-width:860px){
  .close__grid{ grid-template-columns:1fr; gap:30px; }
  .close__act{ align-items:flex-start; }
  .close__tel{ align-items:flex-start; }
}

/* ---------- footer ---------- */
.foot{ border-top:1px solid var(--hair-2); padding-block:56px 40px; }
.foot__top{ display:grid; grid-template-columns:1.5fr 1.2fr 1fr; gap:48px; }
.foot__note{ margin-top:18px; color:var(--txt-3); max-width:36ch; font-size:.9rem; }
.foot__owner{ margin-top:20px; font-family:'Sora',sans-serif; font-weight:600; font-size:.95rem; color:var(--txt); }
.foot__owner span{ display:block; font-family:'Jakarta',sans-serif; font-weight:500; font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; color:var(--txt-3); margin-top:3px; }

.foot__h{ font-family:'Sora',sans-serif; font-size:.76rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--txt-3); margin-bottom:20px; }

.office{ display:flex; gap:12px; font-style:normal; font-size:.9rem; color:var(--txt-2); line-height:1.55; }
.office + .office{ margin-top:18px; }
.office__ico{
  display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border-radius:10px;
  color:var(--acc-2); background:rgba(59,123,255,.12); border:1px solid rgba(59,123,255,.26);
}

.foot__reach{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.foot__reach .foot__h{ margin-bottom:8px; }
.foot__tel{ display:inline-flex; align-items:center; gap:10px; font-size:.92rem; font-weight:500; color:var(--txt-2); transition:color .45s var(--ease); }
.foot__tel svg{ color:var(--acc-2); }
.foot__tel--wa svg{ color:var(--wa); }
.foot__tel:hover{ color:var(--txt); }

.foot__bar{
  margin-top:48px; padding-top:26px; border-top:1px solid var(--hair-2);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:.85rem; color:var(--txt-3);
}
.foot__bar a{ color:var(--txt-2); font-weight:500; transition:color .45s var(--ease); }
.foot__bar a:hover{ color:var(--acc-2); }

@media (max-width:900px){
  .foot__top{ grid-template-columns:1fr 1fr; gap:40px; }
  .foot__brandcol{ grid-column:1 / -1; }
  .foot__note{ max-width:52ch; }
}
@media (max-width:600px){
  .foot__top{ grid-template-columns:1fr; gap:36px; }
}

/* ---------- floating contact dock ---------- */
.dock{
  position:fixed; right:22px; bottom:22px; z-index:65;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}
.fab{
  position:relative; display:grid; place-items:center;
  width:54px; height:54px; border-radius:999px; border:0; cursor:pointer;
  transition:transform .6s var(--ease), opacity .4s var(--ease);
}
.fab::after{
  content:''; position:absolute; inset:0; border-radius:inherit; border:1.5px solid currentColor;
  animation:ring 2.8s var(--ease-soft) infinite;
}
@keyframes ring{ 0%{ transform:scale(1); opacity:.55; } 70%,100%{ transform:scale(1.55); opacity:0; } }
.fab:hover{ transform:scale(1.08); }
.fab:active{ transform:scale(.96); }

.fab--wa{ color:#04220f; background:var(--wa); box-shadow:0 16px 34px -12px rgba(37,211,102,.75), inset 0 1px 0 rgba(255,255,255,.4); }
.fab--wa::after{ border-color:var(--wa); }
.fab--call{ color:#fff; background:linear-gradient(140deg,var(--acc) 0%,#2a5fe0 100%); box-shadow:0 16px 34px -12px rgba(59,123,255,.85), inset 0 1px 0 rgba(255,255,255,.32); }
.fab--call::after{ border-color:var(--acc-2); }
.fab--call svg{ transition:transform .6s var(--ease); }
.fab--call[aria-expanded="true"] svg{ transform:rotate(135deg); }
.fab--call[aria-expanded="true"]::after{ animation:none; opacity:0; }

.dock__numbers{ display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.dock__numbers a{
  display:inline-flex; align-items:center; gap:11px;
  padding:11px 15px; border-radius:999px;
  font-size:.9rem; font-weight:600; white-space:nowrap; color:var(--txt);
  background:rgba(12,17,29,.9);
  border:1px solid var(--hair);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 14px 30px -14px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.09);
  transform:translateY(10px) scale(.94); opacity:0;
  transition:transform .5s var(--ease) calc(var(--i,0) * 60ms), opacity .5s var(--ease) calc(var(--i,0) * 60ms), border-color .4s var(--ease);
}
.dock__numbers a svg{ color:var(--acc-2); }
.dock__numbers a:hover{ border-color:rgba(59,123,255,.5); }
.dock__numbers.is-open a{ transform:none; opacity:1; }
.dock__numbers a:nth-child(1){ --i:1; }
.dock__numbers a:nth-child(2){ --i:0; }

.menu-open .dock{ opacity:0; pointer-events:none; }

@media (max-width:600px){
  .dock{ right:16px; bottom:16px; gap:10px; }
  .fab{ width:50px; height:50px; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  [data-r]{ opacity:1 !important; transform:none !important; filter:none !important; }
  .sheet__links a span,.sheet__foot{ opacity:1; transform:none; }
  .aurora__orb,.phone,.chip,.stage__halo,.fab::after{ animation:none !important; }
  .ticker__track,.rail__track{ animation:none !important; }
  .stage{ transform:none !important; }
}

/* ============================================================
   Locality landing pages
   ============================================================ */
.loc__hero{ padding:calc(var(--nav-h) + 74px) 0 0; }
.crumbs{ display:flex; gap:10px; font-size:.85rem; color:var(--txt-3); margin-bottom:22px; }
.crumbs a{ color:var(--txt-2); }
.crumbs a:hover{ color:var(--acc-2); }

.loc__h1{ font-size:clamp(1.9rem,3.5vw,3rem); max-width:18ch; }
.loc__kicker{ margin-top:18px; color:var(--txt-2); font-size:1.05rem; max-width:52ch; }
.loc__act{ margin-top:32px; display:flex; flex-wrap:wrap; gap:14px; }

.loc__body{ padding-block:clamp(56px,7vw,90px); }
.loc__grid{ display:grid; grid-template-columns:1.55fr .95fr; gap:44px; align-items:start; }
.loc__prose p{ color:var(--txt-2); margin-bottom:18px; font-size:1rem; line-height:1.75; }
.loc__prose .lede{ font-size:1.12rem; color:var(--txt); line-height:1.65; }
.loc__prose h2{ font-size:clamp(1.35rem,2.1vw,1.75rem); margin:38px 0 22px; }

.loc__focus{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.loc__focus li{
  padding:22px 22px 24px; border-radius:var(--r-in);
  background:rgba(255,255,255,.04); border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .6s var(--ease), border-color .6s var(--ease);
}
.loc__focus li:hover{ transform:translateY(-3px); border-color:var(--hair); }
.loc__focus h3{ font-size:1rem; }
.loc__focus p{ margin:9px 0 0; font-size:.92rem; }

.loc__aside{ position:sticky; top:calc(var(--nav-h) + 28px); }
.loc__asideh{ font-size:1.05rem; margin-bottom:18px; }
.office--stack{ margin-bottom:16px; }
/* Specificity must beat `.plate h3` (0,1,1), which otherwise forces 1.65rem. */
.loc__aside .loc__nearh{ font-family:'Sora',sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--txt-3); margin:26px 0 12px; }
.loc__nearby{ display:flex; flex-wrap:wrap; gap:7px; }
.loc__nearby li{
  padding:6px 12px; border-radius:999px; font-size:.8rem; color:var(--txt-2);
  background:rgba(255,255,255,.045); border:1px solid var(--hair-2);
}

.loc__faq{ padding-block:0 clamp(56px,7vw,90px); }
.qa{ display:grid; gap:16px; max-width:58rem; }
.qa__item{
  padding:28px 30px 30px; border-radius:var(--r-in);
  background:rgba(255,255,255,.035); border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
.qa__item h3{ font-size:1.1rem; margin-bottom:12px; }
.qa__item p{ color:var(--txt-2); line-height:1.75; font-size:.97rem; }

.loc__other{ padding-block:0 clamp(60px,8vw,100px); }
.loc__links{ display:flex; flex-wrap:wrap; gap:10px; }
.loc__links a{
  padding:11px 20px; border-radius:999px; font-size:.9rem; font-weight:500; color:var(--txt-2);
  background:rgba(255,255,255,.04); border:1px solid var(--hair-2);
  transition:color .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease);
}
.loc__links a:hover{ color:var(--txt); border-color:rgba(59,123,255,.45); transform:translateY(-2px); }

/* footer areas block */
.foot__areas{ margin-top:44px; padding-top:32px; border-top:1px solid var(--hair-2); }
.foot__arealinks{ display:flex; flex-wrap:wrap; gap:9px; }
.foot__arealinks a{
  padding:8px 15px; border-radius:999px; font-size:.83rem; color:var(--txt-3);
  background:rgba(255,255,255,.035); border:1px solid var(--hair-2);
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.foot__arealinks a:hover{ color:var(--txt-2); border-color:var(--hair); }

@media (max-width:960px){
  .loc__grid{ grid-template-columns:1fr; gap:34px; }
  .loc__aside{ position:static; }
}
@media (max-width:600px){
  .loc__focus{ grid-template-columns:1fr; }
  .loc__hero{ padding-top:calc(var(--nav-h) + 44px); }
}

.sec__sub--l{ margin-inline:0; margin-top:16px; max-width:58ch; }
.sec--areas .loc__links{ margin-top:8px; }

.foot__tel--mail svg{ color:var(--acc-3); }
.close__tel a[href^="mailto:"] svg{ color:var(--acc-3); }

.foot__gst{ font-variant-numeric:tabular-nums; letter-spacing:.02em; }

/* ============================================================
   Enquiry form
   ============================================================ */
.enq{ padding-block:clamp(60px,7vw,96px) 0; }
.plate--enq .plate__in{ padding:clamp(32px,4vw,52px); }
.enq__grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:start; }
.enq__title{ font-size:clamp(1.6rem,2.7vw,2.25rem); }
.enq__sub{ margin-top:16px; color:var(--txt-2); max-width:40ch; }
.enq__points{ margin-top:26px; display:grid; gap:11px; }
.enq__points li{ display:flex; gap:11px; align-items:flex-start; font-size:.93rem; color:var(--txt-2); }
.enq__points svg{ color:var(--acc-3); margin-top:3px; }
.enq__alt{ margin-top:30px; padding-top:24px; border-top:1px solid var(--hair-2); display:flex; flex-wrap:wrap; gap:18px; }
.enq__alt a{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:500; color:var(--txt-2); transition:color .4s var(--ease); }
.enq__alt a:hover{ color:var(--txt); }
.enq__alt a:nth-child(1) svg{ color:var(--acc-2); }
.enq__alt a:nth-child(2) svg{ color:var(--wa); }
.enq__alt a:nth-child(3) svg{ color:var(--acc-3); }

.form{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field--full{ grid-column:1 / -1; }
.field label{ font-size:.84rem; font-weight:600; color:var(--txt); letter-spacing:.01em; }
.field .opt{ font-weight:400; color:var(--txt-3); font-size:.78rem; }
.field input,.field select,.field textarea{
  width:100%; padding:13px 15px; border-radius:var(--r-sm);
  font-family:inherit; font-size:.95rem; color:var(--txt);
  background:rgba(255,255,255,.045);
  border:1px solid var(--hair);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
}
.field textarea{ resize:vertical; min-height:96px; }
.field input::placeholder,.field textarea::placeholder{ color:var(--txt-3); }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--acc);
  background:rgba(255,255,255,.07);
  box-shadow:0 0 0 3px rgba(59,123,255,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.field [aria-invalid="true"]{ border-color:#f4607a; }
.field__err{ font-size:.8rem; color:#ff8ea1; }
/* Native select arrow is invisible on a dark background in some browsers. */
.field select{ appearance:none; -webkit-appearance:none; padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398a4bf' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center; background-size:16px;
}
.form__btn{ width:100%; justify-content:center; margin-top:4px; }
.form__note{ margin-top:12px; font-size:.8rem; color:var(--txt-3); text-align:center; }

/* honeypot: off-screen rather than display:none, which some bots detect */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.note{ display:flex; gap:13px; padding:16px 18px; border-radius:var(--r-sm); margin-bottom:20px; font-size:.9rem; }
.note strong{ display:block; margin-bottom:3px; }
.note span{ color:var(--txt-2); }
.note--ok{ background:rgba(37,211,102,.11); border:1px solid rgba(37,211,102,.34); }
.note--ok svg{ color:var(--wa); margin-top:2px; }
.note--err{ background:rgba(244,96,122,.1); border:1px solid rgba(244,96,122,.34); }

@media (max-width:900px){
  .enq__grid{ grid-template-columns:1fr; gap:34px; }
}
@media (max-width:540px){
  .form{ grid-template-columns:1fr; }
}

/* ---------- 404 ---------- */
.e404{ min-height:calc(100dvh - 260px); display:grid; place-items:center; text-align:center; padding:calc(var(--nav-h) + 80px) 0 90px; }
.e404__code{ font-family:'Sora',sans-serif; font-size:clamp(4rem,11vw,7.5rem); font-weight:800; line-height:1; letter-spacing:-.05em; }
.e404 h1{ margin-top:14px; font-size:clamp(1.4rem,2.6vw,2rem); }
.e404 p{ margin-top:16px; color:var(--txt-2); max-width:46ch; margin-inline:auto; }
.e404__act{ margin-top:32px; display:flex; flex-wrap:wrap; gap:13px; justify-content:center; }
.e404__links{ margin-top:44px; padding-top:30px; border-top:1px solid var(--hair-2); }

/* ---------- process steps (service pages) ---------- */
.steps{ display:grid; gap:16px; counter-reset:step; }
.steps li{ display:grid; gap:4px; padding-left:34px; position:relative; counter-increment:step; }
.steps li::before{
  content:counter(step); position:absolute; left:0; top:1px;
  width:23px; height:23px; border-radius:50%; display:grid; place-items:center;
  font-family:'Sora',sans-serif; font-size:.7rem; font-weight:700; color:var(--acc-2);
  background:rgba(59,123,255,.14); border:1px solid rgba(59,123,255,.3);
}
.steps strong{ font-size:.94rem; }
.steps span{ font-size:.88rem; color:var(--txt-2); line-height:1.6; }
.loc__nearby a{ color:inherit; }
.loc__nearby li:has(a):hover{ border-color:rgba(59,123,255,.45); color:var(--txt); }

/* ---------- cost page ---------- */
.cost__intro{ max-width:62ch; margin-bottom:clamp(44px,5vw,64px); }
.cost__intro p{ color:var(--txt-2); line-height:1.75; margin-bottom:16px; }
.cost__intro .lede{ font-size:1.12rem; color:var(--txt); }
.cost__h2{ font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:28px; }
.cost__h3{ font-size:1.15rem; margin-bottom:20px; }

.tiers{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.tier{
  position:relative; display:flex; flex-direction:column; gap:9px;
  padding:28px 24px 26px; border-radius:var(--r-in);
  background:rgba(255,255,255,.04); border:1px solid var(--hair-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  transition:transform .7s var(--ease), border-color .7s var(--ease);
}
.tier::after{
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),rgba(59,123,255,.15),transparent 62%);
  opacity:0; transition:opacity .6s var(--ease);
}
.tier:hover{ transform:translateY(-4px); border-color:var(--hair); }
.tier:hover::after{ opacity:1; }
.tier--pick{ border-color:rgba(59,123,255,.42); background:rgba(59,123,255,.07); }
.tier__flag{
  align-self:flex-start; padding:5px 11px; border-radius:999px; margin-bottom:4px;
  font-size:.67rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  color:var(--acc-2); background:rgba(59,123,255,.16); border:1px solid rgba(59,123,255,.32);
}
.tier h3{ font-size:1.02rem; }
.tier__price{ font-family:'Sora',sans-serif; font-size:1.18rem; font-weight:700; color:var(--acc-2); letter-spacing:-.02em; }
.tier__who{ font-size:.87rem; color:var(--txt); }
.tier__incl{ font-size:.85rem; color:var(--txt-2); line-height:1.6; }
.tier__cta{
  margin-top:auto; padding-top:16px; display:inline-flex; align-items:center; gap:7px;
  font-size:.85rem; font-weight:600; color:var(--acc-2);
  transition:gap .4s var(--ease);
}
.tier__cta:hover{ gap:11px; }

.cost__split{ margin-top:clamp(52px,6vw,80px); display:grid; grid-template-columns:1.1fr .9fr; gap:44px; }
.addons{ display:grid; gap:2px; }
.addons li{ padding:15px 0; border-bottom:1px solid var(--hair-2); }
.addons li:last-child{ border-bottom:0; }
.addons__top{ display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
.addons__top strong{ font-size:.94rem; }
.addons__top span{ font-size:.86rem; color:var(--acc-2); font-weight:600; white-space:nowrap; }
.addons p{ margin-top:5px; font-size:.86rem; color:var(--txt-2); line-height:1.6; }
.terms{ display:grid; gap:13px; }
.terms li{ display:flex; gap:11px; align-items:flex-start; font-size:.9rem; color:var(--txt-2); line-height:1.6; }
.terms svg{ color:var(--acc-3); margin-top:3px; }

@media (max-width:1000px){ .tiers{ grid-template-columns:repeat(2,1fr); } .cost__split{ grid-template-columns:1fr; gap:36px; } }
@media (max-width:560px){ .tiers{ grid-template-columns:1fr; } }
