/* AXIS homepage. Ported from a licensed template: composition, rhythm and
   responsive behaviour kept, identity replaced. Light ground, one accent,
   two curves. Every visitor readable string lives in index.html. */

:root{
  --bg:#F4F4F2; --bg2:#EDEDEA; --panel:#FFFFFD;
  --ink:#050505; --ink-soft:rgba(5,5,5,.78); --gray:rgba(5,5,5,.56); --faint:rgba(5,5,5,.5);
  --line:rgba(5,5,5,.12); --line2:rgba(5,5,5,.2);
  --accent:#E8FF47; --accent-dim:rgba(232,255,71,.32); --accent-ink:#0A0A05;
  --glass:linear-gradient(180deg, rgba(255,255,253,.74), rgba(246,246,242,.46));
  --glass-edge:0 1px 0 rgba(255,255,255,.9) inset, 0 20px 45px rgba(10,10,5,.06);
  --glass-edge-up:0 1px 0 rgba(255,255,255,.9) inset, 0 28px 60px rgba(10,10,5,.10);
  --ease:cubic-bezier(.32,.72,0,1); --spring:cubic-bezier(.34,1.4,.44,1);
  --r-lg:1.4rem; --r-md:1rem; --r-sm:.65rem;
  --display:'Clash Display','General Sans',system-ui,sans-serif;
  --body:'General Sans',system-ui,sans-serif;
  --measure:min(1260px, calc(100% - 144px));
}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:var(--accent);color:var(--accent-ink)}
button,input,textarea{font-family:inherit}
html{scroll-behavior:auto}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* skip link: hidden until it takes focus */
.skip{
  position:fixed;top:12px;left:12px;z-index:30;
  padding:12px 18px;border-radius:12px;
  background:var(--ink);color:var(--bg);
  font:500 14px/1 var(--body);text-decoration:none;
  transform:translateY(-200%);opacity:0;
  transition:transform .2s var(--ease),opacity .2s var(--ease);
}
.skip:focus-visible{transform:translateY(0);opacity:1;outline:2px solid var(--accent);outline-offset:3px}

.bg-sheen{
  position:fixed;inset:-20%;
  z-index:0;pointer-events:none;
  background:
    linear-gradient(115deg,
      rgba(255,255,255,0)    18%,
      rgba(255,255,255,.75)  27%,
      rgba(255,255,255,0)    34%,
      rgba(230,230,224,.55)  46%,
      rgba(255,255,255,0)    55%,
      rgba(255,255,255,.6)   68%,
      rgba(255,255,255,0)    78%);
  filter:blur(30px);
}
/* width and height are explicit: Three sets the canvas attributes to
   CSS px times devicePixelRatio, and a replaced element with inset:0 but
   auto width shrinks to that intrinsic size, which doubles the canvas on
   every retina screen. */
#scene{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
/* clip, not hidden: the head pools reach past the gutters and must never
   become scrollable overflow, and clip creates no scroll container */
main{position:relative;z-index:2;overflow-x:clip}

/* ============ shared rhythm ============ */
.wrap{width:var(--measure);margin:0 auto}
section{position:relative}
.section{
  min-height:100vh;
  padding:17vh 0 11vh;
  display:flex;flex-direction:column;align-items:center;
  scroll-margin-top:110px;
}
.section-head{text-align:center;margin-bottom:9.5vh}
/* depth of field: a soft pool of ground behind every head so the helix never
   crosses an eyebrow or a sub line. The pose values are untouched. */
.section-head{position:relative;isolation:isolate}
.section-head::before{content:"";position:absolute;inset:-36px -72px;z-index:-1;pointer-events:none;background:rgba(244,244,242,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%)}
.section-head.tight{margin-bottom:0}
.eyebrow{
  font:600 10px/1 var(--body);
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--faint);
}
.section-head .eyebrow{margin-bottom:18px}
.section-head .eyebrow::before,.faq-head .eyebrow::before{
  content:'';display:inline-block;vertical-align:1px;
  width:7px;height:7px;margin-right:11px;border-radius:50%;
  background:var(--ink);
}
.section-title{
  font:500 clamp(38px,4.4vw,62px)/1.1 var(--display);
  letter-spacing:-.015em;
  color:var(--ink);
}
.section-sub{
  margin:20px auto 0;
  max-width:640px;
  font:400 clamp(15px,1.15vw,18px)/1.55 var(--body);
  color:var(--gray);
}

/* the owned device: two-tone headlines, the accent word in soft grey */
.acc{font-family:var(--display);font-weight:400;color:var(--gray)}

/* reveals: rise 24px, staggered by class, never by an inline style */
[data-reveal]{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
  transition-delay:var(--d,0s);
}
[data-reveal].is-in{opacity:1;transform:translateY(0)}
.d1{--d:.1s}.d2{--d:.2s}.d3{--d:.3s}.d4{--d:.4s}

/* ============ controls, shared states ============ */
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.btn-primary,.btn-dark,.btn-ghost,.btn-light,.signin,.buy,.q-arrow{
  transition:transform .16s var(--spring),box-shadow .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.btn-primary:hover,.btn-dark:hover,.btn-ghost:hover,.btn-light:hover,.signin:hover,.buy:hover,.q-arrow:hover{transform:translateY(-1px)}
.btn-primary:active,.btn-dark:active,.btn-ghost:active,.btn-light:active,.signin:active,.buy:active,.q-arrow:active{transform:translateY(0)}
.btn-primary[disabled],.btn-dark[disabled],.btn-ghost[disabled],.buy[disabled]{opacity:.6;pointer-events:none}
.btn-primary,.btn-dark,.btn-ghost,.btn-light{
  display:inline-block;border-radius:13px;
  font:500 16px/1 var(--body);padding:19px 34px;cursor:pointer;text-decoration:none;
  white-space:nowrap;
}
.btn-primary{background:var(--accent);color:var(--accent-ink);border:0;box-shadow:0 6px 22px -10px rgba(232,255,71,.5)}
.btn-primary:hover{box-shadow:0 14px 30px -12px rgba(10,10,5,.28)}
.btn-dark{background:var(--ink);color:var(--bg);border:0}
.btn-dark:hover{box-shadow:0 14px 30px -12px rgba(10,10,5,.4)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line2)}
.btn-ghost:hover{background:rgba(255,255,253,.7);box-shadow:0 14px 30px -14px rgba(10,10,5,.18)}
/* a ghost button for a dark ground */
.btn-light{background:transparent;color:var(--bg);border:1px solid rgba(244,244,242,.32)}
.btn-light:hover{background:rgba(244,244,242,.1);border-color:rgba(244,244,242,.6)}
.btn-primary.sm,.btn-light.sm{padding:15px 24px;font-size:15px;border-radius:11px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
[data-lead-submit].is-sending{animation:pulse 1.6s var(--ease) infinite}

/* content dissolves before it slides behind the floating nav */
body::before{
  content:'';position:fixed;top:0;left:0;right:0;height:112px;
  z-index:9;pointer-events:none;
  background:linear-gradient(180deg,var(--bg) 32%,rgba(244,244,242,0));
}

/* ============ NAV ============ */
.nav{
  position:fixed;
  top:28px;left:40px;right:40px;
  height:66px;
  z-index:10;
  display:flex;align-items:center;
  padding:0 14px 0 28px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(248,248,245,.96), rgba(238,238,234,.9));
  -webkit-backdrop-filter:blur(16px) saturate(1.1);
  backdrop-filter:blur(16px) saturate(1.1);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset, 0 10px 30px rgba(10,10,5,.05);
  opacity:0;transform:translateY(-8px);
  transition:opacity .9s var(--ease) .25s,transform .9s var(--ease) .25s;
}
body.is-loaded .nav{opacity:1;transform:translateY(0)}
.brand{
  display:flex;align-items:center;gap:9px;
  font:500 19px/1 var(--display);letter-spacing:.06em;
  color:var(--ink);text-decoration:none;
}
.brand-mark{display:block;fill:var(--ink)}
.nav-links{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:8px;list-style:none}
.nav-links a{
  display:block;padding:10px 14px;color:var(--ink-soft);text-decoration:none;
  font-size:15px;letter-spacing:.005em;
  transition:color .2s var(--ease);
}
.nav-links a:hover{color:var(--ink)}
.nav-links > li > a{position:relative}
.nav-links > li > a.is-on{color:var(--ink)}
.nav-links > li > a.is-on::after{
  content:'';position:absolute;left:16px;right:16px;bottom:4px;
  height:2px;border-radius:2px;
  background:var(--ink);
}
.brand{transition:color .2s var(--ease)}
.brand:hover{color:var(--ink-soft)}
.brand:active,.nav-links a:active,.foot-links a:active,.ask-band .tel:active,.faq-q:active{color:var(--ink)}
.signin{
  margin-left:auto;
  background:var(--ink);color:var(--bg);
  border:0;border-radius:12px;
  font:500 15px/1 var(--body);
  padding:15px 26px;cursor:pointer;text-decoration:none;
  white-space:nowrap;
}
.signin:hover{box-shadow:0 12px 26px -12px rgba(10,10,5,.4)}


/* dropdowns: the nav glass, hung from Industry and Services */
.has-menu{position:relative}
.has-menu > a{display:flex;align-items:center;gap:6px}
.caret{display:block;color:currentColor;transition:transform .25s var(--ease)}
.has-menu:hover > a .caret,.has-menu:focus-within > a .caret{transform:rotate(180deg)}
.menu{
  position:absolute;top:calc(100% + 10px);left:50%;
  min-width:276px;padding:9px;list-style:none;
  border-radius:16px;
  background:rgba(8,8,6,.93);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 22px 50px -18px rgba(10,10,5,.55), 0 1px 0 rgba(255,255,255,.08) inset;
  opacity:0;visibility:hidden;
  transform:translate(-50%, -6px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s linear .25s;
}
/* an invisible bridge so the pointer can cross from the link to the panel */
.menu::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.has-menu:hover .menu,.has-menu:focus-within .menu{
  opacity:1;visibility:visible;
  transform:translate(-50%, 0);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s;
}
.menu a{
  display:flex;align-items:flex-start;gap:13px;
  padding:12px 14px;border-radius:11px;
  text-decoration:none;white-space:nowrap;
  transition:background-color .18s var(--ease);
}
/* the parallelogram marker from the report sidebar, repeated in the menu */
.menu-head{
  padding:10px 14px 11px;margin-bottom:7px;
  border-bottom:1px solid rgba(244,244,242,.1);
  font:600 10px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;
  color:rgba(244,244,242,.42);
}
.m-mark{
  flex:none;margin-top:6px;
  width:14px;height:10px;border-radius:2px;
  background:rgba(244,244,242,.26);transform:skewX(-14deg);
  transition:background-color .18s var(--ease);
}
.m-text{display:flex;flex-direction:column;gap:3px}
.m-text b{font:500 15px/1.25 var(--body);color:var(--bg);letter-spacing:-.005em}
.m-text small{font:400 12.5px/1.35 var(--body);color:rgba(244,244,242,.55)}
.menu a:hover,.menu a:focus-visible{background:rgba(244,244,242,.09)}
.menu a:hover .m-mark,.menu a:focus-visible .m-mark{background:var(--accent)}
.menu a:focus-visible{outline-color:var(--accent)}

/* ============ INTERNAL PAGES ============ */
body.sub .section{min-height:0;padding:12vh 0 7vh}
body.sub .faq{padding:12vh 0 8vh}
body.sub .section-head{margin-bottom:6vh}
.price-duo{width:var(--measure);margin:0 auto;display:grid;grid-template-columns:minmax(0,440px) 1fr;gap:64px;align-items:center;justify-content:center}
.price-duo .plan{flex:none}
@media (max-width:900px){.price-duo{grid-template-columns:1fr;gap:34px}}
.page-hero{min-height:0;padding:176px 0 90px}
.page-hero .hero-grid{grid-template-columns:1fr;max-width:880px}
.hero.compact{min-height:0;padding:164px 0 88px}
.plans.solo{justify-content:center}
.plans.solo .plan{flex:none;width:min(480px,100%)}
.img-card{
  border-radius:20px;overflow:hidden;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 34px 70px -30px rgba(10,10,5,.3);
}
.img-card img{display:block;width:100%;height:auto}
.hero-visual > .img-card{animation:cardfloat 7s ease-in-out infinite}
.chips-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip2{
  padding:10px 16px;border-radius:999px;
  border:1px solid var(--line2);background:rgba(255,255,253,.65);
  font:500 13.5px/1 var(--body);color:var(--ink-soft);
}
.alt{width:var(--measure);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.alt + .alt{margin-top:70px}
.alt.rev .alt-copy{order:2}
.alt-copy .eyebrow{margin-bottom:14px}
.alt-copy h3{font:500 clamp(24px,2.3vw,33px)/1.15 var(--display);letter-spacing:-.016em;color:var(--ink)}
.alt-copy > p{margin-top:14px;max-width:48ch;font:400 15.5px/1.6 var(--body);color:var(--gray)}
.alt-copy ul{list-style:none;margin-top:20px;display:grid;gap:11px}
.alt-copy li{display:flex;gap:11px;align-items:flex-start;font:400 14.5px/1.5 var(--body);color:var(--ink-soft)}
.alt-copy li svg{flex:none;margin-top:3px;fill:var(--ink)}
.alt-copy .btn-pill{margin-top:24px}
.kwrap{width:var(--measure);margin:0 auto}
.kwrap .kpis{grid-template-columns:repeat(4,1fr)}

/* ============ EFFECT KIT: edge orbs, textures, aurora, spotlight ============ */
.orb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform;filter:blur(80px);z-index:-1}
.orb.ov{background:radial-gradient(circle,rgba(232,255,71,.3),transparent 62%)}
.orb.ow{background:radial-gradient(circle,rgba(255,255,253,.95),transparent 65%)}
.orb.po1{width:440px;height:440px;left:-160px;top:6%}
.orb.po2{width:400px;height:400px;right:-150px;bottom:4%}
.sec-tex{position:absolute;inset:0;z-index:-1;pointer-events:none}
.tex-grid{
  background-image:linear-gradient(rgba(5,5,5,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(5,5,5,.05) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 42%,#000 28%,transparent 76%);
  mask-image:radial-gradient(ellipse 70% 70% at 50% 42%,#000 28%,transparent 76%);
}
.tex-dots{
  background-image:radial-gradient(rgba(5,5,5,.09) 1.2px,transparent 1.3px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
}
.hero-aurora{
  position:absolute;inset:-20%;z-index:-1;pointer-events:none;
  background:conic-gradient(from 200deg at 50% 50%,transparent 0 22%,rgba(232,255,71,.15) 32%,transparent 46%,rgba(18,220,237,.07) 60%,transparent 75%);
  filter:blur(70px);
  animation:aurora 26s linear infinite;
}
@keyframes aurora{to{transform:rotate(360deg)}}
.spot{
  position:absolute;width:640px;height:640px;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(232,255,71,.11),transparent 65%);
  filter:blur(30px);top:-14%;left:-16%;pointer-events:none;
  animation:spotMove 18s ease-in-out infinite alternate;
}
@keyframes spotMove{to{left:62%;top:24%}}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  padding:140px 0 70px;overflow:hidden;
}
.hero-grid{
  position:relative;width:var(--measure);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;
}
.hero-copy{position:relative;isolation:isolate}
.hero-copy::before{content:"";position:absolute;inset:-36px -52px;z-index:-1;pointer-events:none;background:rgba(244,244,242,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%)}
.hpill{
  display:inline-flex;align-items:center;gap:9px;
  padding:10px 17px;border-radius:999px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 6px 18px -10px rgba(10,10,5,.14);
  font:500 13px/1 var(--body);color:var(--gray);
}
.hdot{width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 0 rgba(5,5,5,.25);animation:hbeat 2.2s var(--ease) infinite}
@keyframes hbeat{0%{box-shadow:0 0 0 0 rgba(5,5,5,.25)}70%{box-shadow:0 0 0 8px rgba(5,5,5,0)}100%{box-shadow:0 0 0 0 rgba(5,5,5,0)}}
.hero-h{
  margin-top:26px;
  font:500 clamp(46px,5.2vw,82px)/1.04 var(--display);
  letter-spacing:-.025em;color:var(--ink);text-wrap:balance;
}
.grad{font-weight:400;color:var(--gray)}
.outline{
  font-style:normal;font-weight:500;color:transparent;
  -webkit-text-stroke:2.5px var(--ink);
}
.hero-h .hl{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero-h .hl > span{display:inline-block;transform:translateY(112%);transition:transform .9s var(--ease)}
.hero-h .hl:nth-child(2) > span{transition-delay:.12s}
.hero-h.is-in .hl > span{transform:translateY(0)}
.btn-pill .arr{display:inline-block;margin-left:10px;transition:transform .25s var(--ease)}
.btn-pill:hover .arr{transform:translateX(5px)}
.hero-lead{margin-top:24px;max-width:48ch;font:400 clamp(16px,1.25vw,18.5px)/1.6 var(--body);color:var(--gray)}
.hero-actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.btn-pill{
  display:inline-block;border-radius:999px;cursor:pointer;text-decoration:none;text-align:center;
  font:500 15.5px/1 var(--body);padding:18px 30px;white-space:nowrap;
  transition:transform .16s var(--spring),box-shadow .25s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease);
}
.btn-pill:hover{transform:translateY(-2px)}
.btn-pill:active{transform:translateY(0)}
.btn-pill.dark{background:var(--ink);color:var(--bg);box-shadow:0 10px 26px -12px rgba(10,10,5,.5)}
.btn-pill.dark:hover{box-shadow:0 16px 34px -12px rgba(10,10,5,.55)}
.btn-pill.ghost{background:rgba(255,255,253,.6);color:var(--ink);border:1px solid var(--line2)}
.btn-pill.ghost:hover{border-color:var(--ink);background:var(--panel);box-shadow:0 12px 26px -16px rgba(10,10,5,.3)}
.hero-trust{
  margin-top:42px;padding-top:26px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(3,1fr);
}
.hero-trust > div{padding:0 26px;border-left:1px solid var(--line);min-width:0}
.hero-trust > div:first-child{padding-left:0;border-left:0}
.hero-trust b{
  display:block;
  font:500 clamp(24px,2vw,30px)/1 var(--display);letter-spacing:-.02em;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.hero-trust small{display:block;margin-top:7px;font:400 13px/1.4 var(--body);color:var(--faint)}
/* the tilting monthly report */
.hero-visual{position:relative;perspective:1200px}
.hero-visual > .report{animation:cardfloat 7s ease-in-out infinite}
@keyframes cardfloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.report{
  position:relative;
  border-radius:22px;padding:20px;
  background:rgba(255,255,253,.9);
  border:1px solid var(--line);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 40px 90px -34px rgba(10,10,5,.35), 0 1px 0 rgba(255,255,255,.9) inset;
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .25s var(--ease);
  will-change:transform;
}
.r-bar{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.r-mark{
  width:26px;height:26px;border-radius:7px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent);
}
.r-mark svg{fill:var(--accent-ink)}
.r-title{font:500 13.5px/1 var(--body);color:var(--ink)}
.r-range{margin-left:auto;font:400 12.5px/1 var(--body);color:var(--faint)}
.r-kpis{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.r-kpi{border-radius:13px;padding:14px 15px 12px;background:var(--bg);border:1px solid var(--line)}
.r-kpi.hi{background:var(--accent);border-color:transparent}
.r-kpi small{display:block;font:500 11px/1.3 var(--body);color:var(--faint)}
.r-kpi.hi small{color:rgba(10,10,5,.6)}
.r-kpi b{display:block;margin-top:7px;font:500 21px/1 var(--display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.r-chart{margin-top:12px;border-radius:13px;border:1px solid var(--line);background:var(--bg);padding:14px 14px 10px}
.r-bars{display:block;width:100%;height:96px}
.r-bars rect{fill:rgba(5,5,5,.2)}
.r-bars rect.hi{fill:var(--ink)}
.r-note{margin-top:13px;font:400 12.5px/1.5 var(--body);color:var(--faint)}
.report::after{
  content:'';position:absolute;inset:0;border-radius:22px;pointer-events:none;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.4) 50%,transparent 58%);
  transform:translateX(-130%);
  animation:cardsheen 7.5s var(--ease) infinite;
}
@keyframes cardsheen{0%{transform:translateX(-130%)}48%{transform:translateX(130%)}100%{transform:translateX(130%)}}
.float-chip{
  position:absolute;
  padding:11px 16px;border-radius:999px;
  font:500 13px/1 var(--body);white-space:nowrap;
  animation:hbob 5.5s ease-in-out infinite;
}
.float-chip.fc1{top:-16px;left:-22px;background:var(--ink);color:var(--bg);box-shadow:0 16px 36px -14px rgba(10,10,5,.5)}
.float-chip.fc2{bottom:44px;right:-16px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 14px 30px -14px rgba(10,10,5,.3);animation-delay:-2.7s}
@keyframes hbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ============ KEEP: the bento ============ */
.bento-head{width:var(--measure);margin:0 auto 52px;text-align:left;position:relative;isolation:isolate}
.bento-head::before{content:"";position:absolute;top:-28px;bottom:-28px;left:-56px;width:min(720px,110%);z-index:-1;pointer-events:none;background:rgba(244,244,242,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%)}
.bento-title{
  font:500 clamp(38px,4.4vw,62px)/1.08 var(--display);
  letter-spacing:-.02em;color:var(--ink);text-wrap:balance;
}
.bento-sub{margin-top:18px;max-width:58ch;font:400 clamp(15px,1.15vw,18px)/1.55 var(--body);color:var(--gray)}
.bento{width:var(--measure);display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tile{
  grid-column:span 1;
  border-radius:20px;padding:28px 26px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 10px 30px -22px rgba(10,10,5,.25);
  display:flex;flex-direction:column;text-align:left;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);
  transition-delay:0s;
}
.tile:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(10,10,5,.35);border-color:var(--line2)}
.tile.wide{grid-column:span 2}
.tile.glow{
  position:relative;overflow:hidden;color:var(--bg);
  background:rgba(10,10,7,.86);border-color:rgba(255,255,255,.09);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 10px 30px -22px rgba(10,10,5,.4);
}
.tile.glow::before{content:'';position:absolute;right:-28%;top:-42%;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(232,255,71,.16),transparent 65%);pointer-events:none;animation:glowbreathe 8s ease-in-out infinite}
.tile h3{position:relative;font:500 clamp(19px,1.6vw,23px)/1.22 var(--display);letter-spacing:-.014em;color:inherit}
.tile p{position:relative;margin-top:11px;font:400 14.5px/1.55 var(--body);color:var(--gray);flex:1}
.tile.glow p{color:rgba(244,244,242,.72)}
.tile-stat{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.tile-stat b{font:500 clamp(28px,2.4vw,38px)/1 var(--display);letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}
.tile-stat small{font:400 13px/1.4 var(--body);color:var(--faint)}
.tile-link{
  position:relative;margin-top:18px;align-self:flex-start;
  font:500 14.5px/1 var(--body);color:var(--accent);text-decoration:none;
  border-bottom:1px solid rgba(232,255,71,.5);padding-bottom:4px;
  transition:border-color .2s var(--ease);
}
.tile-link:hover{border-color:var(--accent)}

/* ============ LINES ============ */
.cards{display:flex;gap:30px;width:var(--measure);align-items:stretch}
.card{
  flex:1;
  border-radius:20px;
  padding:22px 22px 34px;
  text-align:left;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 10px 30px -22px rgba(10,10,5,.25);
  display:flex;flex-direction:column;
}
.card.featured{
  position:relative;overflow:hidden;
  background:rgba(10,10,7,.86);border-color:rgba(255,255,255,.09);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 26px 55px -18px rgba(10,10,5,.4);
}
.card.featured::before{content:'';position:absolute;right:-24%;top:-32%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(232,255,71,.12),transparent 65%);pointer-events:none;animation:glowbreathe 10s ease-in-out infinite}
.card.featured .eyebrow{color:rgba(244,244,242,.5)}
.card.featured h3{color:var(--bg)}
.card.featured > p:not(.eyebrow){color:rgba(244,244,242,.72)}
.card.featured .gets{border-top-color:rgba(244,244,242,.16)}
.card.featured .gets li{color:rgba(244,244,242,.78)}
.card.featured .gets li svg{fill:var(--accent)}
.card-fig{
  position:relative;overflow:hidden;
  aspect-ratio:3 / 2;max-width:100%;
  border-radius:18px;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
/* the picture sits inset from the top left and bleeds off the bottom right,
   the way the template framed its own shots */
.card-fig img{
  position:absolute;
  left:22px;top:22px;
  width:calc(100% - 22px);height:calc(100% - 22px);
  object-fit:cover;object-position:left top;
  border-radius:12px 0 0 0;
  box-shadow:-12px -12px 30px rgba(10,10,5,.12);
  display:block;
}
.card-fig::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg, rgba(255,255,255,.42), rgba(255,255,255,0) 44%);
}
.card .eyebrow{margin-top:30px;padding:0 6px}
.card h3{margin-top:12px;padding:0 6px;font:500 26px/1.2 var(--display);letter-spacing:-.01em;color:var(--ink)}
.card > p:not(.eyebrow){margin-top:12px;padding:0 6px;font:400 16px/1.55 var(--body);color:var(--gray)}
.gets{
  list-style:none;
  margin:24px 6px 0;padding-top:22px;border-top:1px solid var(--line);
  display:grid;gap:12px;align-content:start;flex:1;
}
.gets li{display:flex;align-items:flex-start;gap:11px;font:400 15px/1.45 var(--body);color:var(--ink-soft)}
.gets li svg{flex:none;margin-top:3px;fill:var(--ink)}
/* once revealed, the glass lifts under the pointer */
.card.is-in,.plan.is-in{transition:transform .3s var(--ease),box-shadow .3s var(--ease);transition-delay:0s}
.card.is-in:hover,.plan.is-in:hover{transform:translateY(-5px);box-shadow:var(--glass-edge-up)}

.g1{background:linear-gradient(140deg,#F6C8E8 0%,#F0FFA0 48%,#B9ECF6 100%)}
.g2{background:linear-gradient(140deg,#B9ECF6,#F3FFB0)}
.g3{background:linear-gradient(140deg,#F0FFA0,#F6C8E8)}
.g4{background:linear-gradient(140deg,#E4E4DE,#F0FFA0)}
.g5{background:linear-gradient(140deg,#F6FFC4,#B9ECF6)}

/* a slim dark band between sections: the ask, repeated where the decision forms */
.strip{
  width:var(--measure);
  margin:56px auto 0;
  padding:20px 20px 20px 34px;
  border-radius:18px;
  background:var(--ink);color:var(--bg);
  box-shadow:0 22px 50px -20px rgba(10,10,5,.35);
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.strip p{font:400 clamp(15px,1.2vw,18px)/1.4 var(--body);color:rgba(244,244,242,.86);max-width:56ch}
.strip-actions{display:flex;gap:10px;flex-wrap:wrap}

/* ============ PROOF: the monthly page in the template's window ============ */
.showcase-panel{
  position:relative;isolation:isolate;
  width:var(--measure);
  border-radius:26px;
  padding:26px;
  background:var(--glass);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:var(--glass-edge);
}
.showcase-panel::before{
  content:'';position:absolute;right:-140px;bottom:-150px;z-index:-1;
  width:440px;height:440px;border-radius:50%;
  background:rgba(232,255,71,.2);filter:blur(90px);pointer-events:none;
  animation:glowbreathe 12s ease-in-out infinite;
}
.app{
  border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg, #FDFDFB, #F5F5F2);
  border:1px solid rgba(255,255,253,.7);
  display:grid;grid-template-columns:232px 1fr;
  min-height:460px;
}
.app-bar{
  grid-column:1 / -1;
  height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:0 22px;border-bottom:1px solid var(--line);
}
.app-bar .title{font:500 13px/1 var(--body);color:var(--ink-soft);letter-spacing:.02em}
.app-bar .range{font:400 13px/1 var(--body);color:var(--gray)}
.app-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
/* the live mark: an ink dot that breathes while a source is answering */
.live{display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--body);color:var(--ink)}
.live[hidden]{display:none}
.live i{width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 0 rgba(5,5,5,.28);animation:beat 1.8s var(--ease) infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 rgba(5,5,5,.28)}70%{box-shadow:0 0 0 9px rgba(5,5,5,0)}100%{box-shadow:0 0 0 0 rgba(5,5,5,0)}}
.app-side{border-right:1px solid var(--line);padding:22px 18px}
.side-item{
  display:flex;align-items:center;gap:11px;
  padding:11px 13px;border-radius:11px;
  font-size:14px;color:var(--gray);
}
.side-item i{width:14px;height:10px;border-radius:2px;background:var(--line);display:block;transform:skewX(-14deg)}
.side-item.on{background:rgba(5,5,5,.07);color:var(--ink);font-weight:500}
.side-item.on i{background:var(--ink)}
.app-side .side-item{border:0;background-color:transparent;font-family:inherit;font-size:14px;width:100%;cursor:pointer;text-align:left;transition:color .2s var(--ease),background-color .2s var(--ease)}
.app-side .side-item:hover{color:var(--ink)}
.app-side .side-item.on{background:rgba(5,5,5,.07)}
.app-main{padding:26px 28px 24px;text-align:left;display:flex;flex-direction:column;gap:22px}
.kpis{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px}
.kpi{
  border-radius:14px;padding:18px 18px 16px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(10,10,5,.03);
  display:flex;flex-direction:column;
}
.k-label{font:600 10px/1.3 var(--body);letter-spacing:.16em;color:var(--faint)}
.kpi b{
  margin-top:12px;
  font:500 clamp(26px,2.3vw,34px)/1 var(--display);
  letter-spacing:-.03em;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.kpi b .acc{font-weight:500;background:none;-webkit-text-fill-color:var(--ink);color:var(--ink)}
.kpi small{margin-top:10px;font:400 13px/1.4 var(--body);color:var(--gray)}
.chart{
  border-radius:14px;padding:18px 18px 14px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(10,10,5,.03);
}
.chart-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font:600 10px/1.3 var(--body);letter-spacing:.16em;color:var(--faint);
}
.chart-head span:last-child{font-weight:400;letter-spacing:0;font-size:13px;text-transform:none;color:var(--gray)}
.bars{display:block;width:100%;height:150px;margin-top:14px}
.bars .day{fill:rgba(5,5,5,.26)}
.bars .day.hi{fill:var(--ink)}
.chart-foot{
  margin-top:8px;padding-top:8px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:12px;
  font:400 12px/1 var(--body);color:var(--gray);
}
.chart-foot span:nth-child(2){color:var(--ink-soft);font-weight:500}
.report-note{font:400 14px/1.6 var(--body);color:var(--gray);max-width:78ch}
.app-list{list-style:none;display:grid;gap:0;border-radius:14px;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.app-list li{display:flex;gap:18px;align-items:baseline;padding:16px 18px;border-top:1px solid var(--line)}
.app-list li:first-child{border-top:0}
.app-list b{flex:none;width:150px;font:500 14px/1.4 var(--body);color:var(--ink)}
.app-list span{font:400 14px/1.5 var(--body);color:var(--gray)}
/* chips and the plan badge are the parallelogram: skew the box, unskew the letters */
.chip,.badge{
  display:inline-block;
  font:600 10px/1 var(--body);letter-spacing:.12em;
  padding:5px 9px;border-radius:3px;
  color:var(--accent-ink);background:var(--accent-dim);
  transform:skewX(-14deg);
}
.chip > span,.badge > span{display:inline-block;transform:skewX(14deg)}

/* ============ HOW ============ */
.timeline{
  width:var(--measure);
  display:grid;grid-template-columns:repeat(4, 1fr);gap:34px;
  position:relative;padding-top:48px;
}
.timeline::before{
  content:'';position:absolute;top:5px;left:6%;right:6%;
  height:1px;background:linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
}
.step{text-align:center;position:relative;isolation:isolate}
.step::after{content:"";position:absolute;inset:-44px -22px -32px;z-index:-1;pointer-events:none;background:rgba(244,244,242,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%)}
/* the step marker is the parallelogram, not a dot */
.step::before{
  content:'';position:absolute;top:-48px;left:50%;margin-left:-5px;
  width:10px;height:10px;border-radius:50%;
  background:var(--ink);
}
.step.on::before{box-shadow:0 0 0 5px rgba(5,5,5,.05)}
.step em{
  font:400 clamp(44px,4.2vw,60px)/1 var(--display);font-style:normal;
  color:var(--ink);letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.step h4{margin-top:14px;font:500 clamp(22px,1.9vw,27px)/1.15 var(--display);letter-spacing:-.012em;color:var(--ink)}
.step p{margin-top:12px;font:400 clamp(15px,1.2vw,17px)/1.55 var(--body);color:var(--gray)}

/* ============ PRICE ============ */
.plans{display:flex;gap:30px;width:var(--measure);align-items:stretch}
.plan{
  flex:1;border-radius:20px;padding:40px 32px 34px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 10px 30px -22px rgba(10,10,5,.25);
  display:flex;flex-direction:column;
}
.plan.featured{
  position:relative;overflow:hidden;
  background:rgba(10,10,7,.86);border-color:rgba(255,255,255,.09);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 26px 55px -18px rgba(10,10,5,.4);
}
.plan.featured::before{content:'';position:absolute;left:-24%;bottom:-40%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(232,255,71,.12),transparent 65%);pointer-events:none;animation:glowbreathe 10s ease-in-out infinite}
.plan.featured .eyebrow{color:rgba(244,244,242,.5)}
.plan.featured h3,.plan.featured .price b{color:var(--bg)}
.plan.featured .price i{color:rgba(244,244,242,.62)}
.plan.featured > p:not(.eyebrow){color:rgba(244,244,242,.72)}
.plan.featured ul{border-top-color:rgba(244,244,242,.16)}
.plan.featured li{color:rgba(244,244,242,.78)}
.plan.featured li svg{fill:var(--accent)}
.plan .badge{align-self:flex-start;margin:0 0 18px;font-size:11px;letter-spacing:.14em;padding:8px 14px;background:var(--accent);border-radius:999px;transform:none}
.plan .badge > span{transform:none}
.plan .eyebrow{margin-bottom:12px}
.plan h3{font:500 24px/1.2 var(--display);letter-spacing:-.01em;color:var(--ink)}
.price{margin-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.price b{font:500 54px/1 var(--display);letter-spacing:-.025em;color:var(--ink)}
.price i{font:400 15px/1.3 var(--body);font-style:normal;color:var(--gray)}
.plan > p:not(.eyebrow){margin-top:14px;font:400 15px/1.55 var(--body);color:var(--gray)}
.plan ul{list-style:none;margin-top:28px;padding-top:26px;border-top:1px solid var(--line);display:grid;gap:14px;align-content:start;flex:1}
.plan li{display:flex;align-items:flex-start;gap:11px;font:400 15px/1.45 var(--body);color:var(--ink-soft)}
.plan li svg{flex:none;margin-top:3px;fill:var(--ink)}
.plan .buy{
  margin-top:34px;width:100%;display:block;text-align:center;
  border:1px solid var(--line2);background:transparent;
  border-radius:13px;cursor:pointer;text-decoration:none;
  font:500 15px/1 var(--body);color:var(--ink);padding:17px 20px;
}
.plan .buy:hover{background:rgba(255,255,253,.75);box-shadow:0 14px 30px -14px rgba(10,10,5,.18)}
.plan.featured .buy{background:var(--accent);border-color:transparent;color:var(--accent-ink);font-weight:500}
.plan.featured .buy:hover{background:var(--accent);box-shadow:0 14px 30px -10px rgba(232,255,71,.5)}
.plans-note{
  width:var(--measure);
  margin:30px auto 0;text-align:center;
  font:400 13px/1.5 var(--body);color:var(--gray);
}

/* ============ KEEP ============ */
/* one terms panel, six cells, three by two */
.terms{
  width:var(--measure);
  display:grid;grid-template-columns:repeat(3, 1fr);
  border-radius:26px;overflow:hidden;
  background:var(--glass);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:var(--glass-edge);
}
.term{
  padding:44px 36px 40px;text-align:left;
  display:flex;flex-direction:column;
  border-left:1px solid var(--line);border-top:1px solid var(--line);
}
.term:nth-child(3n+1){border-left:0}
.term:nth-child(-n+3){border-top:0}
.term h3{margin-top:14px;font:500 clamp(24px,2vw,30px)/1.18 var(--display);letter-spacing:-.012em;color:var(--ink)}
.term p:not(.eyebrow){margin-top:16px;font:400 17px/1.6 var(--body);color:var(--gray);flex:1}

/* ============ QUESTIONS ============ */
.faq{
  width:var(--measure);margin:0 auto;
  padding:17vh 0 11vh;scroll-margin-top:110px;
  display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;
}
.faq-head{position:sticky;top:130px}
.faq-head > div{position:relative;isolation:isolate}
.faq-head > div::before{content:"";position:absolute;inset:-32px -52px;z-index:-1;pointer-events:none;background:rgba(244,244,242,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 78%)}
.q-title{
  font:500 clamp(40px,4.6vw,66px)/1.08 var(--display);
  letter-spacing:-.015em;color:var(--ink);
}
.faq-sub{margin-top:20px;max-width:440px;font:400 clamp(15px,1.15vw,17.5px)/1.55 var(--body);color:var(--gray)}
.q-arrow{display:none}
.faq-item{
  border:1px solid var(--line);border-radius:16px;
  background:var(--glass);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 30px -24px rgba(10,10,5,.3);
  margin-top:12px;overflow:hidden;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.faq-item:first-child{margin-top:0}
.faq-item:hover{border-color:var(--line2)}
.faq-item.is-open{
  border-color:var(--line2);
  background:linear-gradient(180deg, rgba(255,255,253,.96), rgba(250,250,240,.82));
  box-shadow:0 22px 44px -26px rgba(10,10,5,.35);
}
.faq-h{font:inherit;margin:0}
.faq-q{
  width:100%;background:transparent;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:21px 22px;text-align:left;
  font:500 clamp(16.5px,1.4vw,19px)/1.4 var(--body);
  letter-spacing:-.008em;color:var(--ink-soft);
  transition:color .2s var(--ease);
}
.faq-q:hover,.faq-item.is-open .faq-q{color:var(--ink)}
.faq-q:hover .faq-sign::before,.faq-q:hover .faq-sign::after{background:var(--ink)}
.faq-sign{flex:none;position:relative;width:16px;height:16px}
.faq-sign::before,.faq-sign::after{
  content:'';position:absolute;left:0;top:7px;
  width:16px;height:1.5px;background:var(--ink-soft);
  transition:transform .35s var(--ease);
}
.faq-sign::after{transform:rotate(90deg)}
.faq-item.is-open .faq-sign::after{transform:rotate(0deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-a > div{overflow:hidden}
.faq-a p{
  max-width:64ch;padding:0 22px 22px;
  font:400 15.5px/1.62 var(--body);color:var(--gray);
}

/* ============ START ============ */
.cta{padding:15vh 0 4vh;text-align:center}
.cta-actions{margin-top:40px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ CONTACT ============ */
.contact{padding:0 40px 44px;scroll-margin-top:110px}
/* the contact band: its own light section, glows bleeding in from the edges */
.ask-wrap{
  position:relative;overflow:hidden;
  margin:0 -40px;padding:76px 40px;
}
.ag{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
@keyframes glowbreathe{0%,100%{opacity:.7}50%{opacity:1}}
.ag1{width:420px;height:420px;left:-120px;top:-100px;background:radial-gradient(circle,rgba(255,255,253,.9),transparent 65%)}
.ag2{width:400px;height:400px;right:9%;bottom:-200px;background:radial-gradient(circle,rgba(232,255,71,.34),transparent 60%);filter:blur(44px);animation:glowbreathe 9s ease-in-out infinite}
.ask-band{
  position:relative;z-index:1;
  width:var(--measure);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px 72px;
}
.ask-left .eyebrow{margin-bottom:16px}
.ask-band h2{font:500 clamp(22px,2vw,28px)/1.1 var(--display);letter-spacing:-.01em;color:var(--ink)}
.ask-band .tel{
  display:inline-block;margin-top:18px;
  font:400 clamp(44px,4.6vw,66px)/1 var(--display);
  color:var(--ink);text-decoration:none;letter-spacing:-.025em;
  transition:color .2s var(--ease);
}
.ask-band .tel:hover{color:var(--ink-soft)}
.ask-note{margin-top:16px;max-width:34ch;font:400 15px/1.5 var(--body);color:var(--gray)}
.ask-gets{list-style:none;margin-top:28px;display:grid;gap:12px}
.ask-gets li{display:flex;align-items:flex-start;gap:11px;font:400 15px/1.45 var(--body);color:var(--ink-soft)}
.ask-gets svg{flex:none;margin-top:3px;fill:var(--ink)}
.form-card{
  position:relative;isolation:isolate;
  border-radius:22px;padding:30px 28px 24px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 34px 70px -30px rgba(10,10,5,.28);
}
.form-card h3{font:500 clamp(22px,1.9vw,27px)/1.15 var(--display);letter-spacing:-.016em;color:var(--ink);margin-bottom:20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead{display:grid;gap:6px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font:500 13px/1.2 var(--body);color:var(--ink-soft);letter-spacing:.01em}
.field input,.field textarea{
  width:100%;
  font:400 16px/1.4 var(--body);color:var(--ink);
  padding:14px 16px;border-radius:12px;
  border:1px solid var(--line2);background:var(--panel);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.field textarea{resize:vertical;min-height:112px}
.field input:hover,.field textarea:hover{border-color:rgba(5,5,5,.34)}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-color:var(--ink)}
.field.is-bad input,.field.is-bad textarea{border-color:var(--ink)}
.err{min-height:1.2em;font:500 13px/1.2 var(--body);color:var(--ink)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lead-actions{margin-top:6px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.lead-actions .btn-dark{padding:17px 30px;font-size:15px}
.form-status{font:400 14px/1.45 var(--body);color:var(--ink-soft);min-height:1.45em}
.form-status a{color:var(--ink);font-weight:500;text-underline-offset:3px;transition:color .2s var(--ease)}
.form-status a:hover{color:var(--ink-soft)}
.tags{margin:56px 40px 0;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.tag{
  flex:1;padding:15px 10px;text-align:center;
  border:1px solid var(--line2);border-radius:999px;
  font:500 13px/1 var(--body);letter-spacing:.18em;
  color:var(--ink-soft);white-space:nowrap;
}
/* ============ FOOTER ============ */
/* the ink band from the strip and the bar, widened into the close of the page */
.footer{
  position:relative;overflow:hidden;
  margin:0;
  border-radius:26px;
  background:var(--ink);color:var(--bg);
  box-shadow:0 22px 50px -20px rgba(10,10,5,.35);
  padding:46px 52px 22px;
}
.footer-top,.footer-base{position:relative;z-index:1}
/* the volt light carries over from the form section into the footer */
.footer::before{
  content:'';position:absolute;top:-200px;right:calc(9% - 40px);
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,255,71,.18),transparent 60%);
  filter:blur(44px);pointer-events:none;
  animation:glowbreathe 9s ease-in-out infinite;
}
/* the giant quiet wordmark fills the footer's air */
.f-watermark{
  position:absolute;left:50%;bottom:-.34em;transform:translateX(-50%);
  font:600 clamp(170px,26vw,380px)/1 var(--display);letter-spacing:-.03em;
  color:rgba(244,244,242,.055);
  pointer-events:none;white-space:nowrap;user-select:none;
}
.footer-top{width:min(var(--measure),100%);margin:0 auto;display:grid;grid-template-columns:1.05fr 1.5fr;gap:36px 56px;align-items:start}
.f-logo{
  display:inline-flex;align-items:center;gap:9px;
  font:500 20px/1 var(--display);letter-spacing:.06em;
  color:var(--bg);text-decoration:none;
  transition:color .2s var(--ease);
}
.f-logo:hover{color:rgba(244,244,242,.75)}
.f-mark{display:block;fill:var(--accent)}
.f-brand > p{margin-top:18px;max-width:34ch;font:400 15px/1.6 var(--body);color:rgba(244,244,242,.6)}
.f-tel{
  display:inline-block;margin-top:24px;
  font:400 clamp(28px,2.4vw,36px)/1 var(--display);
  color:var(--bg);text-decoration:none;letter-spacing:-.02em;
  transition:color .2s var(--ease);
}
.f-tel:hover{color:var(--accent)}
.f-cols{display:grid;grid-template-columns:repeat(3, 1fr);gap:28px}
.f-head{
  font:600 10px/1 var(--body);
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(244,244,242,.42);
  margin-bottom:16px;
}
.f-col a{
  display:block;padding:7px 0;
  font:400 15px/1.35 var(--body);color:rgba(244,244,242,.76);
  text-decoration:none;transition:color .2s var(--ease);
}
.f-col a:hover{color:var(--bg)}
.footer-base{
  width:min(var(--measure),100%);
  margin:76px auto 0;padding-top:22px;
  border-top:1px solid rgba(244,244,242,.14);
  display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;
}
.footer-base small{font:400 14px/1.4 var(--body);color:rgba(244,244,242,.5)}
.f-base-links{display:flex;gap:24px;flex-wrap:wrap}
.f-base-links a{
  font:400 14px/1.3 var(--body);color:rgba(244,244,242,.66);text-decoration:none;
  transition:color .2s var(--ease);
}
.f-base-links a:hover{color:var(--bg);text-decoration:underline;text-underline-offset:4px}
.footer a:focus-visible{outline-color:var(--accent)}

/* ============ THE BAR ============ */
/* a slim fixed ask that rides in once the hero has gone and steps out again
   while the start and contact sections are on screen, so the page never
   asks twice at once */
.bar{
  position:fixed;left:50%;bottom:18px;z-index:9;
  width:min(780px, calc(100% - 32px));
  padding:10px 10px 10px 24px;
  border-radius:16px;
  background:rgba(5,5,5,.9);color:var(--bg);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:0 22px 50px -18px rgba(10,10,5,.55), 0 1px 0 rgba(255,255,255,.08) inset;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  transform:translate(-50%, 140%);visibility:hidden;
  transition:transform .6s var(--spring),visibility 0s linear .6s;
}
.bar.is-on{transform:translate(-50%, 0);visibility:visible;transition:transform .6s var(--spring),visibility 0s}
.bar p{font:400 15px/1.35 var(--body);color:rgba(244,244,242,.86)}
.bar-actions{display:flex;gap:8px;flex:none}
.bar .btn-primary.sm,.bar .btn-light.sm{padding:13px 18px;font-size:14px;border-radius:10px}
body[data-capture] .bar{display:none}

/* ============ responsive ============ */


@media (max-width:1100px){
  .footer-top{grid-template-columns:1fr;gap:44px}
  .app{grid-template-columns:1fr}
  .app-side{display:flex;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px;gap:6px}
  .app-side .side-item{width:auto;white-space:nowrap;padding:9px 12px}
  .kpis{grid-template-columns:1fr 1fr}
  .bento{grid-template-columns:1fr 1fr}
  .terms{grid-template-columns:1fr 1fr}
  .term:nth-child(3n+1){border-left:1px solid var(--line)}
  .term:nth-child(2n+1){border-left:0}
  .term:nth-child(-n+3){border-top:1px solid var(--line)}
  .term:nth-child(-n+2){border-top:0}
}
@media (max-width:900px){
  :root{--measure:calc(100% - 60px)}
  .footer{padding:34px 24px 18px}
  .f-watermark{font-size:clamp(90px,30vw,150px);bottom:-.26em}
  .footer-top{gap:36px}
  .f-cols{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-base{margin-top:52px;flex-direction:column;align-items:flex-start}
  .cards,.plans{flex-direction:column}
  .alt{grid-template-columns:1fr;gap:30px}
  .alt.rev .alt-copy{order:0}
  .alt + .alt{margin-top:48px}
  .kwrap .kpis{grid-template-columns:1fr 1fr}
  .bento{grid-template-columns:1fr}
  .tile.wide{grid-column:span 1}
  .bento-head{padding:0}
  .card{padding:18px 18px 30px}
  .strip{margin-top:40px;padding:20px;justify-content:center;text-align:center}
  .strip p{max-width:none}
  .strip-actions{width:100%;justify-content:center}
  .showcase-panel{padding:14px}
  .app-bar{height:auto;padding:14px 18px;flex-direction:column;align-items:flex-start;gap:8px}
  .app-right{justify-content:flex-start;gap:10px}
  .app-main{padding:18px 16px 18px;gap:14px}
  .kpis{gap:10px}
  .kpi{padding:14px 14px 12px}
  .kpi b{font-size:clamp(22px,6.4vw,28px)}
  .bars{height:120px}
  .timeline{grid-template-columns:1fr;gap:44px;padding-top:0}
  .timeline::before{display:none}
  .step{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:4px 20px;align-items:start}
  .step::before{position:static;display:block;margin:0;top:auto;left:auto;grid-column:1 / -1}
  .step::after{inset:-24px -16px}
  .step em{grid-row:2 / 4;font-size:clamp(48px,13vw,60px)}
  .step h4{margin-top:.12em}
  .step p{margin-top:8px}
  .terms{grid-template-columns:1fr}
  .terms .term{padding:30px 24px 28px;border-left:0;border-top:1px solid var(--line)}
  .terms .term:first-child{border-top:0}
  .nav{left:16px;right:16px;padding:0 10px 0 20px}
  .nav-links{display:none}
  .signin .num{display:none}
  .faq{grid-template-columns:1fr;gap:40px}
  .faq-head{position:static}
  .tags{margin:40px 16px 0}
  .tag{flex:initial;padding:13px 22px}
  .contact{padding:0 16px 96px}
  .foot{margin:44px 16px 0}
  .hero{padding:120px 0 56px;min-height:0}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-visual{max-width:540px}
  .orb{filter:blur(60px)}
  .orb.po1,.orb.po2{width:260px;height:260px}
  .hero-trust{grid-template-columns:1fr}
  .hero-trust > div{padding:14px 0 0;margin-top:14px;border-left:0;border-top:1px solid var(--line)}
  .hero-trust > div:first-child{padding-top:0;margin-top:0;border-top:0}
  .float-chip.fc1{left:-4px}
  .float-chip.fc2{right:-4px}
  /* stacked mobile sections are far taller than the desktop rhythm, so the
     helix crosses headings no matter where it is posed: drop it back to a
     background texture rather than fighting each pose. */
  #scene{opacity:.42}
  .hero-copy::before{inset:-32px -20px}
  .section{padding:13vh 0 9vh}
  .section-head{margin-bottom:7vh;padding:0 30px}
  .section-head::before,.faq-head > div::before{inset:-28px 0}
  .cta .section-head{padding:0 30px}
  .faq{padding:13vh 0 9vh}
  .row2{grid-template-columns:1fr}
  .plans,.cards{gap:18px}
  .ask-wrap{margin:0 -16px;padding:52px 16px}
  .ask-band{grid-template-columns:1fr;gap:30px}
  .ag{filter:blur(70px)}
  .ask-band .tel{font-size:clamp(38px,11vw,48px)}
  .plan{padding:36px 26px 32px}
  .price b{font-size:46px}
  .bar{bottom:12px;width:calc(100% - 24px);padding:8px;gap:8px}
  .bar p{display:none}
  .bar-actions{flex:1}
  .bar-actions a{flex:1;text-align:center}
  .bar .num{display:none}
}
@media (max-width:420px){
  .tags{gap:10px}
  .tag{padding:11px 16px;font-size:12px;letter-spacing:.14em}
  .foot-links{gap:14px 20px}
  .kpis{grid-template-columns:1fr}
}

/* ============ reduced motion ============ */
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .nav{opacity:1;transform:none;transition:none}
  .skip{transition:none}
  .btn-primary,.btn-dark,.btn-ghost,.btn-light,.signin,.buy,.q-arrow{transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
  .btn-primary:hover,.btn-dark:hover,.btn-ghost:hover,.btn-light:hover,.signin:hover,.buy:hover,.q-arrow:hover{transform:none}
  .faq-sign::before,.faq-sign::after{transition:none}
  .card.is-in,.plan.is-in{transition:box-shadow .3s var(--ease)}
  .card.is-in:hover,.plan.is-in:hover{transform:none}
  .menu{transition:opacity .25s var(--ease),visibility 0s linear .25s;transform:translate(-50%,0)}
  .caret{transition:none}
  .faq-a{transition:none}
  [data-lead-submit].is-sending{animation:none;opacity:.6}
  .float-chip{animation:none}
  .report{transform:none;transition:none}
  .hero-visual > .report{animation:none}
  .hero-h .hl > span{transform:none;transition:none}
  .hdot{animation:none}
  .ag2,.footer::before,.tile.glow::before,.plan.featured::before,.card.featured::before,.showcase-panel::before{animation:none}
  .hero-aurora,.spot,.report::after{animation:none}
  .report::after{display:none}
  .btn-pill:hover{transform:none}
  .tile{transition:box-shadow .25s var(--ease),border-color .25s var(--ease)}
  .tile:hover{transform:none}
  .bar{transition:none}
  .bar.is-on{transition:none}
  .live i{animation:none}
  #scene{opacity:.35}
}

/* Fallback: if the module never executes, reveal everything so the page still
   reads as a complete static document instead of a blank screen. */
html.no-module .nav,
html.no-module [data-reveal]{
  opacity:1 !important;transform:none !important;
}
html.no-module #scene{display:none}
body[data-capture] *,body[data-capture] *::before,body[data-capture] *::after{
  transition:none !important;animation:none !important;
}

/* ============ CONVERSION KIT: pains, fit, road, truth ============ */
.pains{width:var(--measure);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pain{
  display:flex;gap:15px;align-items:flex-start;
  padding:24px 26px;border-radius:18px;
  background:rgba(255,255,253,.6);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 18px 40px -30px rgba(10,10,5,.2);
}
.pain .x{
  flex:none;margin-top:1px;width:27px;height:27px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--ink);color:var(--bg);
  font:600 13px/1 var(--body);
}
.pain b{display:block;font:500 15.5px/1.35 var(--body);letter-spacing:-.005em;color:var(--ink)}
.pain small{display:block;margin-top:6px;font:400 13.5px/1.55 var(--body);color:var(--gray)}
.pain.flip{
  grid-column:1/-1;position:relative;overflow:hidden;
  background:rgba(10,10,7,.86);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -28px rgba(10,10,5,.5);
}
.pain.flip::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(460px 220px at 6% 0%,rgba(232,255,71,.17),transparent 70%);
  animation:glowbreathe 9s ease-in-out infinite;
}
.pain.flip .x{background:var(--accent);color:var(--ink)}
.pain.flip b{color:var(--bg)}
.pain.flip small{color:rgba(244,244,242,.62)}
.pain.flip .btn-pill{position:relative;margin-top:16px;background:var(--accent);color:var(--ink);padding:14px 24px;font-size:14px}

.fit{width:var(--measure);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.fit-card{
  padding:36px 34px;border-radius:24px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 26px 54px -32px rgba(10,10,5,.24);
}
.fit-card .eyebrow{margin-bottom:14px}
.fit-card h3{font:500 clamp(21px,1.8vw,25px)/1.2 var(--display);letter-spacing:-.014em;color:var(--ink)}
.fit-card > p{margin-top:12px;font:400 14.5px/1.55 var(--body);color:var(--gray)}
.fit-card ul{list-style:none;margin-top:22px;display:grid;gap:13px}
.fit-card li{display:flex;gap:11px;align-items:flex-start;font:400 14.5px/1.5 var(--body);color:var(--ink-soft)}
.fit-card li svg{flex:none;margin-top:3px;fill:var(--ink)}
.fit-card li .dash{flex:none;margin-top:9px;width:13px;height:2px;border-radius:2px;background:var(--gray);opacity:.7}
.fit-card.yes{
  position:relative;overflow:hidden;
  background:rgba(10,10,7,.86);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 34px 70px -30px rgba(10,10,5,.55);
}
.fit-card.yes::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(380px 260px at 100% 0%,rgba(232,255,71,.15),transparent 70%);
  animation:glowbreathe 9s ease-in-out infinite;
}
.fit-card.yes .eyebrow{color:var(--accent)}
.fit-card.yes h3{color:var(--bg)}
.fit-card.yes > p{color:rgba(244,244,242,.6)}
.fit-card.yes li{color:rgba(244,244,242,.8)}
.fit-card.yes li svg{fill:var(--accent)}

.road{width:var(--measure);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.road-tile{
  position:relative;overflow:hidden;
  padding:32px 30px;border-radius:24px;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 24px 50px -30px rgba(10,10,5,.22);
}
.road-tile em{
  display:block;font-style:normal;
  font:500 clamp(42px,4vw,58px)/1 var(--display);letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:2px var(--ink);
}
.road-tile h4{margin-top:16px;font:500 18.5px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink)}
.road-tile > p{margin-top:10px;font:400 14px/1.55 var(--body);color:var(--gray)}
.road-tile ul{list-style:none;margin-top:16px;display:grid;gap:10px}
.road-tile li{display:flex;gap:10px;align-items:flex-start;font:400 13.5px/1.45 var(--body);color:var(--ink-soft)}
.road-tile li svg{flex:none;margin-top:3px;fill:var(--ink)}
.road-tile.glowy{
  background:rgba(10,10,7,.86);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -28px rgba(10,10,5,.5);
}
.road-tile.glowy::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(320px 220px at 100% 100%,rgba(232,255,71,.16),transparent 70%);
  animation:glowbreathe 9s ease-in-out infinite;
}
.road-tile.glowy em{-webkit-text-stroke:2px var(--accent)}
.road-tile.glowy h4{color:var(--bg)}
.road-tile.glowy > p{color:rgba(244,244,242,.6)}
.road-tile.glowy li{color:rgba(244,244,242,.8)}
.road-tile.glowy li svg{fill:var(--accent)}

.truth{width:var(--measure);margin:0 auto;max-width:920px;text-align:center}
.truth p{font:500 clamp(23px,2.5vw,36px)/1.3 var(--display);letter-spacing:-.016em;color:var(--ink);text-wrap:balance}
.truth small{display:block;margin-top:18px;font:400 14.5px/1.5 var(--body);color:var(--gray)}

@media (max-width:980px){
  .road{grid-template-columns:1fr;gap:14px}
}
@media (max-width:860px){
  .pains{grid-template-columns:1fr}
  .fit{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .pain.flip::before,.fit-card.yes::before,.road-tile.glowy::before{animation:none}
}
