/* ============================================================
   NRT SITE v3.0 — SHARED STYLESHEET
   Brand kit: navy #0B1220 · volt #E9FF33 gradient · azure #29A9E0 · mint #34DFA1
   Type: Cinzel (headlines, uppercase) / Jost (body 300, labels 500). TWO FACES ONLY.
   Space Mono was removed 22 Sept — it is a Trailblaze typeface and sharing it
   across brands is comingling. Do not reintroduce a monospace here.
   NO PRICING on site pages — Expo assets only, per Sept 14 2026 ruling.
   ============================================================ */
/* ---- PALETTE v3.1 — Sept 18 2026 -------------------------------
   Base stays deep navy (our build). Surfaces, accents and the
   secondary hues now come from the designer's Site Kit.
   VOLT REMAINS THE ACTION COLOR — Eli's call, Sept 18.
   Kit colors:  slate #434862 · nav #2C3145 · azure #29A9E0 · mint #34DFA1
   Retired: rose #E7B8C4, lavender #B7A9E0 (names kept, remapped,
   so the 16 pages referencing them repaint without edits).
------------------------------------------------------------------ */
:root{
  /* Navy ground keeps the contrast; the kit's slate-purple comes in as the
     alternating band and card surface, so both palettes are visibly present. */
  --abyss:#0B1220; --abyss2:#272D45; --abyss3:#2C3145; --slate:#434862;
  --granite:#9AA0B8; --granite-dim:#727892; --brand:#29A9E0;
  /* ACTION COLOUR — option C, Sept 18: volt-green into mint.
     Token names kept so all 18 pages repaint without edits.        */
  --volt-warm:#9BEF3C; --volt:#67E76E; --volt-deep:#34DFA1;
  --azure:#29A9E0; --mint:#34DFA1; --sky:#6FC5EC;
  --rose:#34DFA1; --lavender:#6FC5EC; --ivory:#F4F6FA;
  --hair:rgba(244,246,250,.13); --hair-strong:rgba(244,246,250,.26);
  --grad:linear-gradient(100deg,var(--volt-warm) 0%,var(--volt) 50%,var(--volt-deep) 100%);
  --grad-cool:linear-gradient(100deg,var(--mint) 0%,var(--azure) 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--abyss);color:var(--ivory);font-family:'Jost',sans-serif;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--volt);outline-offset:3px}
h1,h2,h3,h4{font-family:'Cinzel',serif;font-weight:400;text-transform:uppercase;letter-spacing:.045em;line-height:1.14}
.wrap{max-width:1680px;margin:0 auto;padding:0 clamp(22px,3.5vw,72px)}
.eyebrow{font-family:'Jost',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--brand)}
.mono{font-family:'Jost',sans-serif;font-weight:500}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- NAV ---------- */
.topbar{position:sticky;top:0;z-index:80;background:rgba(11,18,32,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,34px);height:76px}
.nav .brand img{height:34px;filter:drop-shadow(0 0 10px rgba(103,231,110,.2))}
.nav ul{display:flex;align-items:center;gap:clamp(12px,1.8vw,30px);list-style:none;margin-left:auto}
.nav ul a,.nav ul button{font-family:'Jost',sans-serif;font-size:14.5px;font-weight:400;letter-spacing:.02em;color:var(--ivory);background:none;border:none;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:6px;transition:color .2s}
.nav ul a:hover,.nav ul button:hover{color:var(--volt)}
.caret{width:9px;height:9px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s}
.has-menu[aria-expanded="true"] .caret{transform:rotate(-135deg) translate(-3px,-3px)}
/* CTA pill — must outrank `.nav ul a` (which sets background:none). */
.nav ul .navcta,.navcta{font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;background:var(--grad);color:var(--abyss);padding:13px 22px;border-radius:999px;transition:.25s;
  box-shadow:0 0 0 1px rgba(155,239,60,.45), 0 0 14px rgba(103,231,110,.4), 0 0 34px rgba(52,223,161,.22)}
.nav ul .navcta:hover,.navcta:hover{background:var(--grad);color:var(--abyss);transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(155,239,60,.8), 0 0 22px rgba(103,231,110,.65), 0 0 54px rgba(52,223,161,.4)}
.burger{display:none;margin-left:auto;background:none;border:none;color:var(--ivory);cursor:pointer;padding:10px}
.burger span{display:block;width:24px;height:1.5px;background:currentColor;margin:5px 0}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--abyss2);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);box-shadow:0 26px 60px rgba(0,0,0,.55);display:none}
.mega.open{display:block}
.mega .wrap{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(24px,4vw,72px);padding-top:38px;padding-bottom:44px}
.mega h4{font-size:14px;letter-spacing:.14em;color:var(--volt);margin-bottom:10px}
.mega .blurb{color:var(--granite);font-size:14.5px;max-width:34ch}
.mega .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:8px 26px}
.mega .cols a{display:block;padding:11px 14px;border:1px solid transparent;border-radius:3px;font-size:15px;transition:.2s}
.mega .cols a:hover{border-color:var(--hair-strong);background:rgba(244,246,250,.05);color:var(--volt);transform:translateX(3px)}
.mega .cols a small{display:block;font-size:12.5px;color:var(--granite-dim)}

/* ---------- PAGE HERO ---------- */
.phero{padding:clamp(52px,7vw,104px) 0 clamp(44px,5vw,78px);
  background:radial-gradient(80% 80% at 84% 16%, rgba(41,169,224,.15), transparent 62%),
             radial-gradient(60% 60% at 4% 86%, rgba(52,223,161,.08), transparent 60%),var(--abyss)}
.crumb{font-family:'Jost',sans-serif;font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--granite-dim);margin-bottom:22px}
.crumb a:hover{color:var(--volt)}
.phero h1{font-size:clamp(34px,5.4vw,78px);margin:14px 0 0;line-height:1.02;max-width:17ch}
.rule{width:92px;height:2px;background:var(--grad);margin:26px 0 24px;box-shadow:0 0 14px rgba(103,231,110,.5)}
.phero .lede{color:var(--granite);font-size:clamp(16.5px,1.3vw,19.5px);max-width:52ch}
.phero .lede b{color:var(--ivory);font-weight:500}

/* ---------- BUTTONS ---------- */
/* CTA glow: tight inner halo + wide soft bloom, gently breathing. */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;font-family:'Jost',sans-serif;font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:19px 34px;border-radius:999px;background:var(--grad);color:var(--abyss);border:none;cursor:pointer;transition:box-shadow .3s ease,transform .3s cubic-bezier(.2,.8,.3,1);
  box-shadow:0 0 0 1px rgba(155,239,60,.5), 0 0 18px rgba(103,231,110,.45), 0 0 46px rgba(52,223,161,.28);
  animation:ctaBreathe 3.6s ease-in-out infinite}
.btn:hover{transform:translateY(-2px);animation-play-state:paused;
  box-shadow:0 0 0 1px rgba(155,239,60,.8), 0 0 26px rgba(103,231,110,.7), 0 0 70px rgba(52,223,161,.45)}
.btn:active{transform:translateY(0)}
@keyframes ctaBreathe{
  0%,100%{box-shadow:0 0 0 1px rgba(155,239,60,.5), 0 0 18px rgba(103,231,110,.42), 0 0 44px rgba(52,223,161,.24)}
  50%    {box-shadow:0 0 0 1px rgba(155,239,60,.7), 0 0 24px rgba(103,231,110,.62), 0 0 62px rgba(52,223,161,.38)}
}
.btn .arw{transition:transform .28s}
.btn:hover .arw{transform:translateX(5px)}
.btn-ghost{background:none;color:var(--ivory);border:1px solid var(--hair-strong);box-shadow:none;animation:none}
.btn-ghost:hover{border-color:var(--volt);color:var(--volt);transform:translateY(-2px);
  box-shadow:0 0 18px rgba(103,231,110,.22)}
.acts{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:36px}

/* ---------- SECTIONS ---------- */
.band{padding:clamp(66px,8vw,128px) 0}
.band-alt{background:linear-gradient(180deg,transparent,var(--abyss2) 12%,var(--abyss2) 88%,transparent)}
.sec-head{max-width:62ch;margin-bottom:clamp(34px,4.5vw,60px)}
.sec-head h2{font-size:clamp(26px,3.4vw,46px);margin:14px 0 18px}
.sec-head p{color:var(--granite);font-size:17px;max-width:54ch}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}

/* ---------- CARDS / LISTS ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1px;background:var(--hair)}
.card{background:rgba(67,72,98,.5);padding:clamp(26px,2.4vw,40px);display:flex;flex-direction:column;gap:13px;transition:.3s;min-height:250px}
.card:hover{background:rgba(67,72,98,.92)}
.card .num{font-family:'Jost',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.22em;color:var(--volt)}
.card h3{font-size:clamp(17px,1.45vw,22px);letter-spacing:.055em}
.card p{color:var(--granite);font-size:15.5px;flex:1}
.card .go{font-family:'Jost',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:9px;transition:.25s}
.card:hover .go{color:var(--volt);gap:15px}
.checks{list-style:none}
.checks li{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-top:1px solid var(--hair);font-size:16px}
.checks li:last-child{border-bottom:1px solid var(--hair)}
.checks .tk{font-family:'Jost',sans-serif;font-weight:500;color:var(--volt);font-size:13px}
.checks b{font-weight:500}
.checks span{color:var(--granite);display:block;font-size:15px}
.steps{list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--hair);font-size:16px}
.steps li:last-child{border-bottom:1px solid var(--hair)}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:.18em;color:var(--volt);padding-top:4px}
.steps b{font-weight:500}
.steps span{color:var(--granite);display:block;font-size:15px}
.pills{display:flex;flex-wrap:wrap;gap:12px}
.pill{border:1px solid var(--hair-strong);border-radius:999px;padding:13px 24px;font-size:15px;transition:.25s;display:flex;align-items:center;gap:10px}
.pill:hover{border-color:var(--volt);color:var(--volt);background:rgba(103,231,110,.05)}
.pill .d{width:5px;height:5px;border-radius:50%;background:var(--brand)}
.pill:hover .d{background:var(--volt)}
.pill.on{border-color:var(--volt);color:var(--volt)}

/* ---------- PHOTOGRAPHY ---------- */
.shot{position:relative;overflow:hidden;border:1px solid var(--hair);
  background:linear-gradient(135deg,var(--abyss3),var(--slate))}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,18,32,.06),rgba(11,18,32,.52))}
.shot-tall{aspect-ratio:4/5}
.shot-wide{aspect-ratio:21/9}
.shot-sq{aspect-ratio:1/1}
.strip{position:relative;overflow:hidden;min-height:clamp(280px,38vw,470px);
  background:linear-gradient(135deg,var(--abyss3),var(--slate))}
.strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.strip .veil{position:absolute;inset:0;background:
  linear-gradient(95deg,rgba(11,18,32,.94) 0%,rgba(11,18,32,.78) 42%,rgba(44,49,69,.42) 100%)}
.strip .inner{position:relative;padding:clamp(40px,5.5vw,86px) 0}
.strip h2{font-size:clamp(24px,3.4vw,46px);margin:14px 0 18px;max-width:17ch}
.strip p{color:var(--granite);font-size:17px;max-width:46ch}

/* quote + callout */
.quote{text-align:center}
.quote blockquote{font-style:italic;font-weight:300;font-size:clamp(19px,2.2vw,30px);line-height:1.5;max-width:28ch;margin:0 auto}
.quote .attr{margin-top:20px;font-family:'Jost',sans-serif;font-weight:500;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--granite)}
.quote .attr b{color:var(--rose);font-weight:400}
.note{border-left:2px solid var(--brand);padding:6px 0 6px 20px;color:var(--granite);font-size:15px;max-width:58ch}

/* final cta */
.final{text-align:center;padding:clamp(72px,9vw,146px) 0;
  background:radial-gradient(70% 90% at 50% 100%, rgba(103,231,110,.09), transparent 62%)}
.final h2{font-size:clamp(30px,5vw,72px);line-height:1.02}
.final p{color:var(--granite);font-size:17.5px;max-width:46ch;margin:22px auto 0}

/* footer */
footer{border-top:1px solid var(--hair);padding:56px 0 46px}
.fgrid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px}
footer .flogo{height:30px;margin-bottom:16px}
footer h5{font-family:'Jost',sans-serif;font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--granite-dim);margin-bottom:14px}
footer li{list-style:none;margin-bottom:9px}
footer li a{font-size:14.5px;color:var(--granite);transition:.2s}
footer li a:hover{color:var(--volt)}
.fbot{margin-top:44px;padding-top:24px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:12px 28px;font-family:'Jost',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--granite-dim)}
.fbot a{color:var(--brand)}
.fbot .sp{margin-left:auto}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.8,.3,1)}
.rv.on{opacity:1;transform:none}

@media(max-width:1020px){.two{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
  .nav ul{display:none}
  .burger{display:block}
  .nav ul.mob{display:flex;position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:stretch;gap:0;background:var(--abyss2);border-bottom:1px solid var(--hair);padding:12px 0;margin:0}
  .nav ul.mob li{padding:0 clamp(22px,3.5vw,72px)}
  .nav ul.mob a,.nav ul.mob button{padding:14px 0;width:100%;border-bottom:1px solid var(--hair)}
  .nav ul.mob .navcta{border-bottom:none;justify-content:center;margin-top:10px}
  .mega .wrap{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .fbot .sp{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}
