/* ============================================================
   Stella Maris Solutions — studio edition
   Type: Fraunces (display) · Inter (text) · IBM Plex Mono (labels)
   Palette from the logo: navy wordmark + azure droplet, on warm paper
   ============================================================ */

:root{
  --navy-900:#0a1120;
  --navy-800:#0e1830;
  --navy:#16294d;
  --azure:#2979bf;
  --azure-600:#2e82d0;
  --azure-400:#6aa6e2;
  --ink:#171d28;
  --slate:#49546a;
  --steel:#8590a3;
  --paper:#f3f1ec;
  --paper-2:#ece9e2;
  --card:#faf9f6;
  --line:rgba(20,32,58,.13);
  --line-light:rgba(255,255,255,.14);
  --white:#ffffff;

  --maxw:1240px;
  --pad:clamp(22px,5vw,56px);
  --r:14px;
  --r-lg:20px;
  --ease:cubic-bezier(.16,1,.3,1);

  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html:not(.lenis){scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:var(--navy);color:var(--paper)}
:focus-visible{outline:2px solid var(--azure-600);outline-offset:4px;border-radius:3px}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- typography ---------- */
.display,h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07;letter-spacing:-.01em;color:var(--navy)}
h1,.hero-title{font-size:clamp(2.7rem,6.5vw,5.6rem);font-weight:400;letter-spacing:-.02em;line-height:1.02}
h2,.sec-head h2{font-size:clamp(2.05rem,4.4vw,3.55rem);font-weight:400;line-height:1.05}
h3{font-size:1.36rem;font-weight:500;letter-spacing:-.005em}
.display em,h1 em,h2 em,h3 em,em{font-style:italic}
.display em{font-weight:400}

p{text-wrap:pretty}

/* mono label system */
.label,.idx,.kicker-meta,.status,.o-idx,.step-num,.step-tick,.cap-idx,.case-no,.case-sector,
.tier-no,.tier-price,.why-no,.about-sig,.tier-flag{
  font-family:var(--mono);font-weight:400;letter-spacing:.04em;
}
.label{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate);
}
.label i{font-style:normal;color:var(--azure);font-size:.85em}
.label-light{color:rgba(255,255,255,.62)}
.label-light i{color:var(--azure-400)}

.sec-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.idx{font-size:.78rem;color:var(--azure);letter-spacing:.05em}

/* ---------- buttons & links ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-weight:600;font-size:.96rem;letter-spacing:.005em;
  padding:.9em 1.5em;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .25s, color .25s, border-color .25s;
  will-change:transform;
}
.btn-lg{padding:1.05em 1.9em;font-size:1rem}
.btn-sm{padding:.6em 1.2em;font-size:.88rem}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 30px rgba(16,33,61,.18)}
.btn-primary:hover{background:var(--azure-600);box-shadow:0 16px 40px rgba(41,121,191,.32)}
.btn-arrow{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .btn-arrow{transform:translateX(5px)}

.arrow-link{display:inline-flex;align-items:center;gap:.5em;font-weight:500;color:var(--navy);font-size:.98rem;position:relative}
.arrow-link span{transition:transform .3s var(--ease)}
.arrow-link::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.arrow-link:hover::after{transform:scaleX(1);transform-origin:left}
.arrow-link:hover span{transform:translateY(3px)}
.arrow-link-light{color:rgba(255,255,255,.82)}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb, var(--paper) 80%, transparent);
  backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid transparent;transition:border-color .4s, background .4s;
}
.site-header.scrolled{border-bottom-color:var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:78px}

.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--navy)}
.brand-star{width:23px;height:23px;fill:var(--azure);flex:none;filter:drop-shadow(0 1px 5px rgba(41,121,191,.4))}
.brand-text{font-family:var(--serif);font-size:1.34rem;font-weight:600;line-height:1;display:flex;flex-direction:column}
.brand-sub{font-family:var(--mono);font-size:.52rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--steel);margin-top:4px}

.nav{display:flex;align-items:center;gap:2.2rem}
.navlink{font-size:.95rem;font-weight:500;color:var(--slate);transition:color .2s}
.navlink:hover{color:var(--navy)}
.navlink span{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:left 100%;padding-bottom:3px;transition:background-size .35s var(--ease)}
.navlink:hover span{background-size:100% 1px}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:24px;height:1.6px;background:var(--navy);transition:.3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

.mobile-nav{display:none;flex-direction:column;gap:.2rem;padding:0 var(--pad);max-height:0;overflow:hidden;transition:max-height .4s var(--ease), padding .4s var(--ease);background:var(--paper);border-bottom:1px solid var(--line)}
.mobile-nav.open{max-height:420px;padding-block:14px 28px}
.mobile-nav a:not(.btn){padding:.85rem .2rem;font-weight:500;color:var(--navy);border-bottom:1px solid var(--line);font-size:1.05rem}
.mobile-nav .btn{margin-top:18px}

/* ---------- sections ---------- */
.section{padding-block:clamp(72px,9.5vw,140px);position:relative}
.rule{height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease);margin-bottom:clamp(40px,5vw,72px)}
.rule.in{transform:scaleX(1)}
.sec-head{max-width:880px;margin-bottom:clamp(44px,5.5vw,76px)}
.sec-head h2{max-width:16ch}
.sec-sub{margin-top:1.5rem;color:var(--slate);font-size:1.1rem;max-width:54ch}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,96px) clamp(56px,7vw,104px)}
.hero-glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(720px 460px at 80% 6%, rgba(106,166,226,.20), transparent 60%),
    radial-gradient(620px 520px at 2% 96%, rgba(41,121,191,.10), transparent 60%);
}
.constellation{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.7}
.constellation .con-lines line{stroke:var(--azure);stroke-width:1;opacity:.2}
.constellation .con-stars circle{fill:var(--azure);opacity:.45}

.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-copy{max-width:46ch}
.hero-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;margin-bottom:2rem}
.status{display:inline-flex;align-items:center;gap:.55em;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--navy);
  background:rgba(41,121,191,.08);border:1px solid rgba(41,121,191,.22);padding:.45em .85em;border-radius:999px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#36c98f;box-shadow:0 0 0 0 rgba(54,201,143,.5);animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(54,201,143,.5)}70%,100%{box-shadow:0 0 0 7px rgba(54,201,143,0)}}
.kicker-meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--steel)}
.hero-title{margin-bottom:1.7rem}
.lede{font-size:clamp(1.08rem,1.4vw,1.24rem);color:var(--slate);line-height:1.62;max-width:48ch}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;margin-top:2.4rem}

.hero-mark{position:relative;display:grid;place-items:center;min-height:320px}
.mark-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, rgba(106,166,226,.30), rgba(106,166,226,0) 68%);
  filter:blur(8px);animation:pulse 7s ease-in-out infinite}
.hero-logo{position:relative;width:min(88%,440px);animation:float 9s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.07);opacity:1}}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:1.4rem;background:var(--paper)}
.marquee-track{display:flex;width:max-content;animation:marq 34s linear infinite}
.marquee span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,3.1vw,2.5rem);color:var(--navy);white-space:nowrap;padding-right:.4em}
.marquee i{font-style:normal;color:var(--azure);margin-inline:.5em;font-size:.7em;vertical-align:middle}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- outcomes ---------- */
.outcomes{padding-block:clamp(54px,6vw,90px)}
.outcomes-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px)}
.outcomes-lead{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:400;color:var(--navy);line-height:1.22;max-width:14ch}
.outcome{position:relative;padding-top:1.4rem;border-top:1px solid var(--line)}
.o-idx{display:block;font-size:.72rem;color:var(--azure);margin-bottom:1.4rem}
.outcome h3{font-size:1.32rem;margin-bottom:.6rem}
.outcome p{color:var(--slate);font-size:.99rem}

/* ---------- manifesto ---------- */
.manifesto{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;padding-block:clamp(90px,12vw,180px)}
.manifesto-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 500px at 50% 120%, rgba(41,121,191,.28), transparent 60%)}
.manifesto .container{position:relative}
.manifesto .label{margin-bottom:2.4rem}
.manifesto-text{font-size:clamp(1.95rem,4.6vw,4.1rem);font-weight:400;line-height:1.12;color:#fff;max-width:20ch;letter-spacing:-.015em}
.manifesto-text em{font-style:italic;color:var(--azure-400)}

/* ---------- method / steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,40px)}
.step{position:relative;padding-top:1.6rem;border-top:1.5px solid var(--navy)}
.step-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2.4rem}
.step-num{font-size:1rem;color:var(--navy)}
.step-tick{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--steel)}
.step h3{font-size:1.5rem;margin-bottom:.7rem}
.step p{color:var(--slate)}

/* ---------- capabilities list ---------- */
.cap-list{border-top:1px solid var(--line)}
.cap{display:grid;grid-template-columns:auto 1fr 1.1fr auto;align-items:center;gap:clamp(16px,3vw,48px);
  padding:clamp(1.5rem,2.6vw,2.3rem) .4rem;border-bottom:1px solid var(--line);position:relative;transition:padding-left .4s var(--ease)}
.cap::before{content:"";position:absolute;inset:0;background:var(--card);opacity:0;transition:opacity .4s var(--ease);z-index:-1;border-radius:8px}
.cap:hover{padding-left:1.4rem}
.cap:hover::before{opacity:1}
.cap-idx{font-size:.78rem;color:var(--azure)}
.cap h3{font-size:clamp(1.35rem,2.2vw,1.95rem);font-weight:500;transition:transform .4s var(--ease)}
.cap p{color:var(--slate);font-size:1rem;max-width:42ch}
.cap-arrow{font-size:1.4rem;color:var(--navy);opacity:0;transform:translate(-8px,8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.cap:hover .cap-arrow{opacity:1;transform:none}

/* ---------- selected work ---------- */
.case{padding-block:clamp(2.4rem,4vw,3.6rem);border-top:1px solid var(--line)}
.case:last-of-type{border-bottom:1px solid var(--line)}
.case-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:1.6rem}
.case-no{font-size:.78rem;color:var(--azure);text-transform:uppercase;letter-spacing:.08em}
.case-sector{font-size:.74rem;color:var(--steel);text-transform:uppercase;letter-spacing:.1em}
.case-title{font-size:clamp(2.05rem,4.4vw,3.5rem);font-weight:400;margin-bottom:2.2rem;letter-spacing:-.015em}
.case-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,46px)}
.case-col .k{display:block;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--azure);margin-bottom:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}
.case-col p{color:var(--slate);font-size:1rem;line-height:1.62}

/* ---------- engagements ---------- */
.tiers{border-top:1px solid var(--line)}
.tier{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:clamp(18px,3vw,52px);
  padding:clamp(1.7rem,3vw,2.6rem) .4rem;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease)}
.tier:hover{padding-left:1.2rem}
.tier-no{font-size:.78rem;color:var(--azure);padding-top:.5rem}
.tier-main h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;margin-bottom:.6rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.tier-main p{color:var(--slate);max-width:52ch;font-size:1rem}
.tier-flag{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#fff;background:var(--azure-600);padding:.3em .7em;border-radius:999px;transform:translateY(-2px)}
.tier-price{font-size:.92rem;color:var(--navy);text-align:right;padding-top:.6rem;white-space:nowrap}
.is-core{background:linear-gradient(90deg, rgba(41,121,191,.05), transparent 70%)}
.tiers-note{margin-top:2.2rem;color:var(--steel);font-size:.95rem;font-family:var(--mono);letter-spacing:.02em}

/* ---------- why (dark) ---------- */
.why{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.why-glow{position:absolute;top:-25%;right:-12%;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle,rgba(41,121,191,.3),transparent 65%);pointer-events:none}
.why-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
.why-copy h2{color:#fff;margin-bottom:1.6rem}
.why-copy>p{color:rgba(255,255,255,.76);margin-bottom:1.1rem;font-size:1.07rem;max-width:46ch}
.why-copy em{color:#fff;font-style:italic}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem 2rem;padding-top:.6rem}
.why-list li{padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.18)}
.why-no{display:block;font-size:.72rem;color:var(--azure-400);margin-bottom:1rem}
.why-list h3{color:#fff;font-size:1.2rem;margin-bottom:.5rem}
.why-list p{color:rgba(255,255,255,.66);font-size:.96rem}

/* ---------- about ---------- */
.about-body{max-width:720px}
.about-body p{color:var(--slate);font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.55;margin-bottom:1.4rem;font-family:var(--serif);font-weight:400}
.about-sig{font-family:var(--mono)!important;font-size:.86rem!important;color:var(--navy)!important;letter-spacing:.04em;margin-top:2rem}

/* ---------- cta (dark) ---------- */
.cta{background:linear-gradient(168deg,var(--navy-800),var(--navy-900));color:#fff;position:relative;overflow:hidden;text-align:center}
.cta-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(640px 380px at 50% -5%, rgba(41,121,191,.32), transparent 62%)}
.cta-inner{position:relative;max-width:760px;margin-inline:auto;display:flex;flex-direction:column;align-items:center}
.cta .label{margin-bottom:1.8rem}
.cta h2{color:#fff;margin-bottom:1.3rem;font-size:clamp(2.2rem,5vw,4rem)}
.cta-sub{color:rgba(255,255,255,.8);font-size:1.14rem;max-width:50ch;margin-bottom:2.6rem}
.cta-actions{display:flex;gap:1rem 2rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:0}
.cta .btn-primary{background:var(--azure-600)}
.cta .btn-primary:hover{background:#fff;color:var(--navy)}

.cta-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;text-align:left;width:100%;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);padding:clamp(1.6rem,3vw,2.6rem);border-radius:var(--r-lg)}
.field{display:flex;flex-direction:column;gap:.5rem}
.field-wide{grid-column:1/-1}
.cta-form label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.cta-form input,.cta-form textarea{font-family:var(--sans);font-size:1rem;color:#fff;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.85em .95em;transition:border-color .25s, background .25s}
.cta-form input:focus,.cta-form textarea:focus{outline:none;border-color:var(--azure-400);background:rgba(255,255,255,.09)}
.cta-form textarea{resize:vertical}
.cta-form .btn{grid-column:1/-1;margin-top:.3rem}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-900);color:rgba(255,255,255,.66);padding-top:clamp(64px,8vw,110px);overflow:hidden}
.footer-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;padding-bottom:clamp(40px,6vw,72px)}
.brand-light{color:#fff}
.brand-light .brand-sub{color:var(--steel)}
.footer-tag{margin-top:1.2rem;font-family:var(--serif);font-style:italic;font-size:1.18rem;color:rgba(255,255,255,.6);max-width:30ch}
.footer-cols{display:flex;gap:clamp(36px,5vw,80px);flex-wrap:wrap}
.footer-col{display:flex;flex-direction:column;gap:.7rem}
.footer-col .label{margin-bottom:.4rem;color:var(--steel)}
.footer-col a,.footer-col span:not(.label){font-size:.96rem;color:rgba(255,255,255,.72);transition:color .2s}
.footer-col a:hover{color:#fff}
.mega-wordmark{font-family:var(--serif);font-weight:400;font-size:clamp(4rem,18.5vw,16.5rem);line-height:.84;letter-spacing:-.025em;
  color:transparent;background:linear-gradient(180deg, rgba(122,158,210,.22), rgba(122,158,210,.03));-webkit-background-clip:text;background-clip:text;
  white-space:nowrap;margin-bottom:-.06em;user-select:none}
.footer-base{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-block:30px;border-top:1px solid rgba(255,255,255,.1);font-family:var(--mono);font-size:.78rem;color:var(--steel);letter-spacing:.02em}

/* ---------- grain + cursor + progress ---------- */
.grain{position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor{position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid rgba(22,41,77,.45);border-radius:50%;
  transform:translate(-50%,-50%);pointer-events:none;z-index:9999;opacity:0;
  transition:width .28s var(--ease),height .28s var(--ease),background .28s,border-color .28s,opacity .3s}
.cursor.is-on{opacity:1}
.cursor.is-hover{width:58px;height:58px;background:rgba(41,121,191,.1);border-color:rgba(41,121,191,.35)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--azure-600);z-index:10000;transition:width .1s linear}

/* ---------- reveal / line-mask ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
html.js [data-split]{opacity:0}
.line{display:block;overflow:hidden;padding:0 .16em .09em;margin:0 -.16em}
.line-inner{display:block;transform:translateY(115%);transition:transform 1s var(--ease)}
.line.in .line-inner{transform:none}
.w{display:inline-block}
.w.em{font-style:italic}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{max-width:none;order:2}
  .hero-mark{order:1;min-height:auto;margin-bottom:.5rem;justify-items:start}
  .hero-logo{width:min(48%,240px)}
  .mark-glow{width:58%}
  .outcomes-grid{grid-template-columns:1fr 1fr;gap:28px}
  .outcomes-lead{grid-column:1/-1;max-width:none}
  .steps{grid-template-columns:1fr}
  .step{border-top-width:1px}
  .case-cols{grid-template-columns:1fr}
  .why-inner{grid-template-columns:1fr;gap:40px}
  .cursor{display:none}
}
@media (max-width:680px){
  .nav{display:none}
  .nav-toggle{display:flex}
  .mobile-nav{display:flex}
  .outcomes-grid{grid-template-columns:1fr}
  .cap{grid-template-columns:auto 1fr;gap:14px 20px}
  .cap p{grid-column:2;max-width:none}
  .cap-arrow{display:none}
  .tier{grid-template-columns:auto 1fr;gap:10px 20px}
  .tier-price{grid-column:2;text-align:left;padding-top:0}
  .why-list{grid-template-columns:1fr}
  .cta-form{grid-template-columns:1fr}
  .footer-top{flex-direction:column;gap:32px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  html.js [data-split]{opacity:1}
  .line-inner{transform:none}
  .marquee-track{animation:none}
}
