/* ============================================================================
   EVARA — flagship design system  ·  "AI dawn"
   Earthy dusk dreamscapes (the lavender→peach brand gradient as a natural sky)
   + frosted glassmorphism UI. Light, warm, premium, futuristic.
   Display: Fraunces · Body: Plus Jakarta Sans · Data: JetBrains Mono
   ========================================================================== */

/* ---- Tokens ---------------------------------------------------------------- */
:root{
  /* light dusk-earth surfaces */
  --sand:      #EDE4DA;   /* warm light base */
  --blush:     #F3E7E1;   /* soft blush light */
  --porcelain: #FBF6F1;   /* raised light surface */
  --mist:      #E7E0E4;   /* cool lilac-grey light */

  /* dusk darks (warm, purple-tinted — never sterile black) */
  --dusk:      #2A2130;
  --dusk-2:    #201826;
  --night:     #16121C;
  --hair-d: rgba(246,239,234,.16);
  --hair-d-soft: rgba(246,239,234,.09);
  --hair-l: rgba(40,30,46,.14);
  --hair-l-soft: rgba(40,30,46,.07);

  /* accents (brand) */
  --lavender:    #B09BE9;
  --lavender-hi: #C9B6FF;
  --lavender-deep:#7E66C4;
  --peach:       #FFB88A;
  --peach-hi:    #FFCBA6;
  --peach-deep:  #F0955E;
  --glow:        #F6C7D2;   /* the orb's soft pink glow */
  --chrome:      #BFC3CE;   /* metallic sphere accent */

  /* text */
  --ink:              #251E2B;
  --tx-on-light:      #251E2B;
  --tx-on-light-soft: rgba(37,30,43,.66);
  --tx-on-light-mute: rgba(37,30,43,.44);
  --tx-on-dark:       #F7F0EB;
  --tx-on-dark-soft:  rgba(247,240,235,.74);
  --tx-on-dark-mute:  rgba(247,240,235,.48);

  /* glass */
  --glass:        rgba(255,255,255,.16);
  --glass-hi:     rgba(255,255,255,.30);
  --glass-brd:    rgba(255,255,255,.34);
  --glass-dark:   rgba(28,22,36,.44);
  --glass-dark-brd: rgba(255,255,255,.16);
  --glass-blur:   blur(26px) saturate(1.35);

  /* type */
  --f-display:'Fraunces', Georgia, serif;
  --f-body:'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --f-mono:'JetBrains Mono', ui-monospace, Menlo, monospace;

  /* rhythm */
  --maxw: 1240px;
  --gutter: clamp(20px, 5vw, 64px);
  --sect: clamp(76px, 11vw, 150px);
  --radius: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;

  /* motion — Emil-style strong curves */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-io:  cubic-bezier(0.77, 0, 0.175, 1);

  --grad: linear-gradient(118deg, var(--lavender) 0%, var(--glow) 48%, var(--peach) 100%);
  --grad-warm: linear-gradient(118deg, var(--lavender), var(--peach));
  --sky: linear-gradient(180deg, #b9a7d8 0%, #d9b8c6 38%, #f0c6ab 70%, #f6e2cf 100%);

  /* back-compat aliases for older inline references */
  --cream:#F7F0EB; --void:#16121C; --aubergine:#201826; --aubergine-2:#251C30;
  --hairline-d:rgba(246,239,234,.16); --hairline-d-soft:rgba(246,239,234,.09);
  --hairline-l:rgba(40,30,46,.14);
}

/* ---- Reset ----------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; overflow-x:clip; }
body{
  font-family:var(--f-body);
  background:var(--sand);
  color:var(--tx-on-light);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video,canvas{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input,textarea,select{ font-family:inherit; font-size:inherit; }
::selection{ background:var(--lavender); color:#fff; }
:focus-visible{ outline:2px solid var(--lavender-deep); outline-offset:3px; border-radius:6px; }

html.lenis,html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-stopped{ overflow:hidden; }

/* ---- Layout ---------------------------------------------------------------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.wrap-wide{ max-width:1360px; }
[id]{ scroll-margin-top:96px; }
section{ position:relative; }
.pad-y{ padding-block:var(--sect); }

/* section surfaces */
.sect-light{ background:var(--sand); color:var(--tx-on-light); }
.sect-blush{ background:var(--blush); color:var(--tx-on-light); }
.sect-porcelain{ background:var(--porcelain); color:var(--tx-on-light); }
.sect-mist{ background:var(--mist); color:var(--tx-on-light); }
.sect-dusk{ background:var(--dusk); color:var(--tx-on-dark); }
.sect-night{ background:var(--night); color:var(--tx-on-dark); }
/* back-compat aliases (existing HTML) */
.sect-cream{ background:var(--sand); color:var(--tx-on-light); }
.sect-dark{ background:var(--dusk); color:var(--tx-on-dark); }
.sect-ink{ background:var(--night); color:var(--tx-on-dark); }
.sect-aubergine{ background:var(--dusk-2); color:var(--tx-on-dark); }

/* full-bleed dreamscape section */
.sect-scene{ color:var(--tx-on-dark); background:#c9b6c4; overflow:hidden; }
.sect-scene__bg{ position:absolute; inset:0; z-index:0; }
.sect-scene__bg img{ width:100%; height:100%; object-fit:cover; }
.sect-scene__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,26,.28), rgba(20,16,26,.12) 40%, rgba(20,16,26,.42)); }
.sect-scene > .wrap{ position:relative; z-index:1; }

/* soft gradient aura blobs (decorative, behind content) */
.aura{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; pointer-events:none; z-index:0; }
.aura--lav{ background:radial-gradient(circle, var(--lavender), transparent 68%); }
.aura--peach{ background:radial-gradient(circle, var(--peach), transparent 68%); }
.aura--glow{ background:radial-gradient(circle, var(--glow), transparent 66%); }

/* ---- Typography ------------------------------------------------------------ */
.display{
  font-family:var(--f-display); font-weight:340; font-optical-sizing:auto;
  font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;
  line-height:1.02; letter-spacing:-.02em; text-wrap:balance;
  font-size:clamp(2.8rem, 6.6vw, 5.6rem);
}
.display-sm{
  font-family:var(--f-display); font-weight:360; font-optical-sizing:auto;
  line-height:1.05; letter-spacing:-.02em; text-wrap:balance;
  font-size:clamp(2rem, 4.4vw, 3.3rem);
}
.h2{
  font-family:var(--f-display); font-weight:380; line-height:1.07;
  letter-spacing:-.02em; text-wrap:balance; font-size:clamp(1.9rem, 3.8vw, 3rem);
}
.h3{ font-family:var(--f-body); font-weight:600; line-height:1.2; letter-spacing:-.01em; font-size:clamp(1.15rem,1.8vw,1.45rem); }
em,.em{ font-family:var(--f-display); font-style:italic; font-weight:360; font-variation-settings:'opsz' 90,'SOFT' 40,'WONK' 1; }
.lead{ font-size:clamp(1.08rem,1.5vw,1.3rem); line-height:1.58; color:var(--tx-on-light-soft); max-width:60ch; text-wrap:pretty; }
.sect-dusk .lead,.sect-night .lead,.sect-aubergine .lead,.sect-scene .lead,.sect-dark .sect .lead{ color:var(--tx-on-dark-soft); }
.sect-dusk .lead,.sect-night .lead,.sect-aubergine .lead,.sect-dark .lead,.sect-scene .lead{ color:var(--tx-on-dark-soft); }
.body-lg{ font-size:1.12rem; line-height:1.62; }

.eyebrow{
  font-family:var(--f-mono); font-weight:500; font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; display:inline-flex; align-items:center; gap:.7em; color:var(--lavender-deep);
}
.eyebrow::before{ content:""; width:20px; height:1px; background:currentColor; opacity:.7; }
.eyebrow.no-tick::before{ display:none; }
.sect-dusk .eyebrow,.sect-night .eyebrow,.sect-aubergine .eyebrow,.sect-dark .eyebrow,.sect-scene .eyebrow{ color:var(--lavender-hi); }

.stat-num{ font-family:var(--f-display); font-weight:340; font-size:clamp(2.5rem,5vw,4rem); line-height:.95; letter-spacing:-.03em; }
.mono{ font-family:var(--f-mono); }

/* ---- Glass ----------------------------------------------------------------- */
.glass{
  background:var(--glass); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd); border-radius:var(--radius-lg);
  box-shadow:0 20px 50px -24px rgba(40,26,50,.42), inset 0 1px 0 rgba(255,255,255,.4);
}
.glass--dark{
  background:var(--glass-dark); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-dark-brd); color:var(--tx-on-dark);
  box-shadow:0 24px 60px -26px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.14);
}
.glass--solid{ background:rgba(251,246,241,.78); }

/* ---- Buttons (Emil craft: scale-on-press, strong ease) --------------------- */
.btn{
  --bg:var(--ink); --fg:#fff;
  display:inline-flex; align-items:center; gap:.55em; padding:15px 26px; border-radius:999px;
  background:var(--bg); color:var(--fg); font-weight:600; font-size:.98rem; letter-spacing:-.01em;
  position:relative; isolation:isolate; will-change:transform;
  transition:transform 200ms var(--ease-out), box-shadow 300ms var(--ease-out), background 300ms;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:scale(.97); }
.btn .arw{ transition:transform 300ms var(--ease-out); }
.btn:hover .arw{ transform:translateX(4px); }
.btn--primary{ --bg:var(--ink); --fg:#fff; box-shadow:0 8px 24px -10px rgba(37,30,43,.5); }
.btn--accent{ --bg:var(--ink); --fg:#fff; background:var(--ink); position:relative; }
.btn--accent{ --bg:transparent; color:var(--ink); background:var(--grad-warm); box-shadow:0 10px 30px -12px rgba(255,158,104,.6); }
.btn--accent:hover{ box-shadow:0 14px 34px -12px rgba(176,155,233,.65); }
.btn--ghost{ --bg:transparent; color:var(--ink); border:1px solid var(--hair-l); backdrop-filter:blur(8px); }
.sect-dusk .btn--ghost,.sect-night .btn--ghost,.sect-aubergine .btn--ghost,.sect-dark .btn--ghost,.sect-scene .btn--ghost{ color:var(--tx-on-dark); border-color:var(--hair-d); }
.btn--ghost:hover{ border-color:var(--lavender); }
.btn--lg{ padding:18px 32px; font-size:1.05rem; }

.link-arrow{ display:inline-flex; align-items:center; gap:.4em; font-weight:600; font-size:.96rem; border-bottom:1px solid transparent; transition:border-color .3s, gap .3s var(--ease-out); }
.link-arrow:hover{ border-color:currentColor; gap:.7em; }

/* ---- Chips ----------------------------------------------------------------- */
.chip{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.02em; padding:6px 13px; border-radius:999px;
  border:1px solid var(--hair-l); color:var(--tx-on-light-soft); display:inline-flex; align-items:center; gap:.5em; white-space:nowrap;
  background:rgba(255,255,255,.4); backdrop-filter:blur(8px); }
.sect-dusk .chip,.sect-night .chip,.sect-aubergine .chip,.sect-dark .chip,.sect-scene .chip{ border-color:var(--hair-d); color:var(--tx-on-dark-soft); background:rgba(255,255,255,.06); }
.chip .dot{ width:6px; height:6px; border-radius:50%; background:var(--peach-deep); }
.chip .dot.lav{ background:var(--lavender-deep); }

/* ---- Nav ------------------------------------------------------------------- */
.nav{ position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--gutter); transition:background .5s var(--ease-out), padding .5s var(--ease-out), border-color .5s; border-bottom:1px solid transparent; }
.nav.scrolled{ background:linear-gradient(180deg, rgba(22,15,28,.52) 0%, rgba(16,11,22,.64) 100%); backdrop-filter:blur(30px) saturate(1.45); -webkit-backdrop-filter:blur(30px) saturate(1.45); border-bottom:1px solid var(--hair-d-soft); padding-block:12px; }
.nav__logo{ height:26px; }
.nav__logo svg,.nav__logo img{ height:100%; width:auto; }
.nav__links{ display:flex; align-items:center; gap:4px; }
.nav__link{ padding:9px 15px; border-radius:999px; font-size:.92rem; font-weight:500; color:var(--tx-on-light-soft); transition:color .3s, background .3s; }
.nav__link:hover{ color:var(--ink); background:rgba(40,30,46,.05); }
.nav__right{ display:flex; align-items:center; gap:14px; }
/* nav starts over the light dreamscape hero → dark text; when scrolled stays dark on light */
.nav__has-menu{ position:relative; }
.nav__menu{ position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(8px); width:340px; padding:10px;
  background:rgba(251,246,241,.86); backdrop-filter:blur(28px) saturate(1.4); border:1px solid var(--glass-brd); border-radius:20px;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .35s var(--ease-out), transform .35s var(--ease-out), visibility .35s;
  box-shadow:0 30px 60px -24px rgba(40,26,50,.4); }
.nav__has-menu:hover .nav__menu{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.nav__menu-item{ display:flex; gap:13px; align-items:flex-start; padding:13px 14px; border-radius:14px; transition:background .3s; }
.nav__menu-item:hover{ background:rgba(40,30,46,.05); }
.nav__menu-ico{ flex:0 0 34px; height:34px; border-radius:10px; display:grid; place-items:center; background:var(--grad-warm); color:#fff; }
.nav__menu-ico svg{ width:18px; height:18px; }
.nav__menu-t{ font-weight:600; font-size:.94rem; color:var(--ink); }
.nav__menu-d{ font-size:.8rem; color:var(--tx-on-light-mute); line-height:1.4; margin-top:2px; }
.nav__burger{ display:none; width:44px; height:44px; border-radius:12px; border:1px solid var(--hair-l); align-items:center; justify-content:center; background:rgba(255,255,255,.4); }
.nav__burger span,.nav__burger span::before,.nav__burger span::after{ display:block; width:18px; height:1.7px; background:var(--ink); transition:.35s var(--ease-out); }
.nav__burger span{ position:relative; }
.nav__burger span::before,.nav__burger span::after{ content:""; position:absolute; left:0; }
.nav__burger span::before{ top:-6px; } .nav__burger span::after{ top:6px; }
body.menu-open .nav__burger span{ background:transparent; }
body.menu-open .nav__burger span::before{ top:0; transform:rotate(45deg); }
body.menu-open .nav__burger span::after{ top:0; transform:rotate(-45deg); }

.mobile-menu{ position:fixed; inset:0; z-index:99; background:var(--sky); padding:96px var(--gutter) 40px; display:flex; flex-direction:column; gap:4px;
  transform:translateY(-100%); transition:transform .6s var(--ease-io); overflow-y:auto; }
body.menu-open .mobile-menu{ transform:translateY(0); }
.mobile-menu a{ font-family:var(--f-display); font-size:1.9rem; font-weight:360; padding:12px 0; border-bottom:1px solid var(--hair-l-soft); letter-spacing:-.02em; color:var(--ink); }

/* ---- Footer ---------------------------------------------------------------- */
.footer{ background:var(--night); color:var(--tx-on-dark); padding-top:var(--sect); border-top:1px solid var(--hair-d-soft); position:relative; overflow:hidden; }
.footer__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; padding-bottom:60px; position:relative; z-index:1; }
.footer__logo{ height:30px; margin-bottom:22px; }
.footer h5{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--tx-on-dark-mute); margin-bottom:18px; }
.footer__col a{ display:block; padding:7px 0; color:var(--tx-on-dark-soft); font-size:.95rem; transition:color .3s, padding-left .3s; }
.footer__col a:hover{ color:var(--lavender-hi); padding-left:5px; }
.footer__bottom{ display:flex; justify-content:space-between; align-items:center; padding:26px 0; border-top:1px solid var(--hair-d-soft); font-size:.85rem; color:var(--tx-on-dark-mute); flex-wrap:wrap; gap:16px; position:relative; z-index:1; }
.footer__social{ display:flex; gap:10px; }
.footer__social a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--hair-d); display:grid; place-items:center; transition:.35s var(--ease-out); }
.footer__social a:hover{ border-color:var(--lavender); background:var(--hair-d-soft); transform:translateY(-2px); }
.footer__social svg{ width:17px; height:17px; }

/* ---- Reveal (enhance already-visible default) ------------------------------ */
.reveal{ opacity:0; transform:translateY(24px); }
.reveal-ready .reveal{ transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
[data-stagger] > *{ opacity:0; transform:translateY(20px); }
.reveal-ready [data-stagger].in > *{ opacity:1; transform:none; transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
  .reveal,[data-stagger] > *{ opacity:1 !important; transform:none !important; }
}

/* ---- Helpers --------------------------------------------------------------- */
.grid{ display:grid; gap:24px; }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,88px); align-items:center; }
.hairline{ height:1px; background:var(--hair-l); border:0; }
.sect-dusk .hairline,.sect-night .hairline,.sect-aubergine .hairline,.sect-dark .hairline,.sect-scene .hairline{ background:var(--hair-d); }

/* ---- Decorative orb -------------------------------------------------------- */
.orb{ position:absolute; border-radius:50%; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 38% 34%, #fff, var(--glow) 42%, rgba(246,199,210,0) 72%);
  filter:blur(2px); }

@media (max-width: 900px){
  .nav__links{ display:none; }
  .nav__right .btn{ display:none; }
  .nav__burger{ display:flex; }
  .two-col{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width: 560px){ .footer__grid{ grid-template-columns:1fr; } .btn{ padding:14px 22px; } }

/* ============================================================================
   COMPONENTS (glass / dreamscape language)
   ========================================================================== */
.sh{ max-width:720px; }
.sh .h2{ margin-top:16px; }
.sh .lead{ margin-top:20px; }
.sh--center{ margin-inline:auto; text-align:center; }
.sh--center .eyebrow{ justify-content:center; }
.sh--center .lead{ margin-inline:auto; }

/* ---- Stats (glass) ---- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.stat{ padding:30px 26px; border-radius:var(--radius-lg); background:rgba(255,255,255,.5); border:1px solid var(--glass-brd);
  backdrop-filter:var(--glass-blur); box-shadow:0 16px 40px -26px rgba(40,26,50,.35); }
.sect-dusk .stat,.sect-night .stat,.sect-aubergine .stat,.sect-dark .stat,.sect-scene .stat{ background:var(--glass-dark); border-color:var(--glass-dark-brd); color:var(--tx-on-dark); }
.stat__num{ font-family:var(--f-display); font-weight:340; font-size:clamp(2.2rem,3.8vw,3.2rem); line-height:.95; letter-spacing:-.03em; color:var(--ink); }
.sect-dusk .stat__num,.sect-night .stat__num,.sect-aubergine .stat__num,.sect-dark .stat__num,.sect-scene .stat__num{ color:var(--tx-on-dark); }
.stat__num .u{ color:var(--lavender-deep); }
.sect-dusk .stat__num .u,.sect-scene .stat__num .u,.sect-night .stat__num .u{ color:var(--lavender-hi); }
.stat__lab{ margin-top:12px; font-size:.92rem; color:var(--tx-on-light-soft); line-height:1.45; }
.sect-dusk .stat__lab,.sect-night .stat__lab,.sect-aubergine .stat__lab,.sect-dark .stat__lab,.sect-scene .stat__lab{ color:var(--tx-on-dark-soft); }
.stat__src{ margin-top:10px; font-family:var(--f-mono); font-size:.64rem; letter-spacing:.03em; color:var(--tx-on-light-mute); text-transform:uppercase; }
.sect-dusk .stat__src,.sect-scene .stat__src,.sect-night .stat__src{ color:var(--tx-on-dark-mute); }
@media(max-width:840px){ .stats{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:460px){ .stats{ grid-template-columns:1fr; } }

/* ---- Cards (glass) ---- */
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.cards-3{ grid-template-columns:repeat(3,1fr); }
.card{ position:relative; padding:30px; border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; min-height:100%;
  background:rgba(255,255,255,.55); border:1px solid var(--glass-brd); backdrop-filter:var(--glass-blur);
  box-shadow:0 18px 44px -28px rgba(40,26,50,.4); transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out), border-color .5s; }
.card:hover{ transform:translateY(-5px); box-shadow:0 30px 60px -30px rgba(40,26,50,.5); border-color:var(--lavender); }
.sect-dusk .card,.sect-night .card,.sect-aubergine .card,.sect-dark .card,.sect-scene .card{ background:var(--glass-dark); border-color:var(--glass-dark-brd); color:var(--tx-on-dark); }
.card__glow{ position:absolute; inset:0; background:radial-gradient(420px 200px at var(--mx,80%) -10%, rgba(176,155,233,.22), transparent 70%); opacity:0; transition:opacity .5s; pointer-events:none; }
.card:hover .card__glow{ opacity:1; }
.card__ico{ width:52px; height:52px; border-radius:15px; display:grid; place-items:center; background:var(--grad-warm); color:#fff; margin-bottom:22px; box-shadow:0 8px 20px -10px rgba(240,149,94,.6); }
.card__ico svg{ width:24px; height:24px; }
.card__k{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; color:var(--tx-on-light-mute); margin-bottom:12px; }
.sect-dusk .card__k,.sect-scene .card__k,.sect-night .card__k,.sect-aubergine .card__k{ color:var(--tx-on-dark-mute); }
.card__t{ font-family:var(--f-display); font-weight:360; font-size:1.5rem; letter-spacing:-.02em; line-height:1.1; color:var(--ink); }
.sect-dusk .card__t,.sect-scene .card__t,.sect-night .card__t,.sect-aubergine .card__t,.sect-dark .card__t{ color:var(--tx-on-dark); }
.card__d{ margin-top:13px; color:var(--tx-on-light-soft); font-size:.98rem; line-height:1.55; flex:1; }
.sect-dusk .card__d,.sect-scene .card__d,.sect-night .card__d,.sect-aubergine .card__d,.sect-dark .card__d{ color:var(--tx-on-dark-soft); }
.card__foot{ margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.card__price{ font-family:var(--f-mono); font-size:.8rem; color:var(--peach-deep); }
.sect-dusk .card__price,.sect-scene .card__price{ color:var(--peach-hi); }
.card--lg{ grid-column:span 2; }
.card--feature{ background:linear-gradient(155deg, rgba(201,182,255,.32), rgba(255,203,166,.24)); border-color:var(--glass-hi); }
.sect-dusk .card--feature,.sect-scene .card--feature,.sect-night .card--feature{ background:linear-gradient(155deg, rgba(176,155,233,.28), rgba(28,22,36,.5)); }
@media(max-width:820px){ .cards,.cards-3{ grid-template-columns:1fr; } .card--lg{ grid-column:span 1; } }

/* ---- Feature split ---- */
.feature{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,6vw,80px); align-items:center; }
.feature--rev{ grid-template-columns:.95fr 1.05fr; }
.feature--rev .feature__media{ order:-1; }
.feature__media{ position:relative; border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 70px -36px rgba(40,26,50,.5); }
.feature__media img{ width:100%; height:100%; object-fit:cover; }
.feature__media--wide{ aspect-ratio:5/4; }
@media(max-width:820px){ .feature,.feature--rev{ grid-template-columns:1fr; } .feature--rev .feature__media{ order:0; } }

/* ---- Steps ---- */
.steps{ display:grid; gap:2px; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--hair-l); }
.sect-dusk .steps,.sect-night .steps,.sect-scene .steps,.sect-aubergine .steps,.sect-dark .steps{ border-color:var(--hair-d); }
.step{ background:rgba(255,255,255,.4); display:grid; grid-template-columns:130px 1fr auto; gap:28px; padding:30px 26px; align-items:baseline; transition:background .4s; }
.sect-dusk .step,.sect-night .step,.sect-scene .step,.sect-aubergine .step,.sect-dark .step{ background:rgba(255,255,255,.05); }
.step:hover{ background:rgba(255,255,255,.65); }
.sect-dusk .step:hover,.sect-scene .step:hover,.sect-night .step:hover{ background:rgba(255,255,255,.1); }
.step__n{ font-family:var(--f-mono); font-size:.78rem; letter-spacing:.08em; color:var(--lavender-deep); }
.sect-dusk .step__n,.sect-scene .step__n,.sect-night .step__n{ color:var(--lavender-hi); }
.step__t{ font-family:var(--f-display); font-size:clamp(1.3rem,2.3vw,1.85rem); font-weight:360; letter-spacing:-.02em; color:var(--ink); }
.sect-dusk .step__t,.sect-scene .step__t,.sect-night .step__t,.sect-aubergine .step__t,.sect-dark .step__t{ color:var(--tx-on-dark); }
.step__d{ color:var(--tx-on-light-soft); font-size:.98rem; max-width:46ch; margin-top:8px; }
.sect-dusk .step__d,.sect-scene .step__d,.sect-night .step__d,.sect-aubergine .step__d,.sect-dark .step__d{ color:var(--tx-on-dark-soft); }
@media(max-width:720px){ .step{ grid-template-columns:1fr; gap:8px; } }

/* ---- CTA band (dreamscape scene) ---- */
.ctaband{ position:relative; border-radius:var(--radius-xl); overflow:hidden; padding:clamp(48px,7vw,92px); text-align:center; color:var(--tx-on-dark); box-shadow:0 40px 90px -44px rgba(40,26,50,.6); }
.ctaband__bg{ position:absolute; inset:0; z-index:0; }
.ctaband__bg img{ width:100%; height:100%; object-fit:cover; }
.ctaband__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,26,.32), rgba(20,16,26,.5)); }
.ctaband > *{ position:relative; z-index:1; }
.ctaband .h2{ max-width:18ch; margin-inline:auto; color:#fff; }
.ctaband .lead{ margin:18px auto 30px; color:rgba(255,255,255,.85); }
.ctaband__cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---- Quote ---- */
.quote{ font-family:var(--f-display); font-weight:340; font-style:italic; font-size:clamp(1.5rem,3vw,2.25rem); line-height:1.3; letter-spacing:-.01em; }
.quote__by{ margin-top:24px; display:flex; align-items:center; gap:14px; }
.quote__by b{ font-family:var(--f-body); font-weight:600; font-style:normal; font-size:.95rem; }
.quote__by span{ font-size:.9rem; color:var(--tx-on-light-soft); }
.sect-dusk .quote__by span,.sect-scene .quote__by span,.sect-night .quote__by span{ color:var(--tx-on-dark-soft); }

/* ---- Founders ---- */
.founders{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.founder{ position:relative; border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 70px -40px rgba(40,26,50,.5); }
.founder img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.founder:hover img{ transform:scale(1.04); }
.founder__cap{ position:absolute; left:14px; right:14px; bottom:14px; padding:16px 18px; border-radius:16px;
  background:var(--glass-dark); backdrop-filter:blur(14px); border:1px solid var(--glass-dark-brd); }
.founder__cap b{ font-family:var(--f-display); font-weight:400; font-size:1.3rem; color:#fff; }
.founder__cap span{ display:block; font-family:var(--f-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--lavender-hi); margin-top:3px; }
@media(max-width:560px){ .founders{ grid-template-columns:1fr; } }

/* ---- Marquee ---- */
.marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.marquee__track{ display:flex; gap:56px; width:max-content; animation:scrollx 36s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__item{ font-family:var(--f-mono); font-size:.82rem; letter-spacing:.05em; color:var(--tx-on-light-mute); white-space:nowrap; display:flex; align-items:center; gap:10px; }
.sect-dusk .marquee__item,.sect-scene .marquee__item,.sect-night .marquee__item{ color:var(--tx-on-dark-mute); }
.marquee__item::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--lavender-deep); opacity:.7; }
@keyframes scrollx{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee__track{ animation:none; } }

/* ---- FAQ ---- */
.faq{ border-top:1px solid var(--hair-l); }
.sect-dusk .faq,.sect-night .faq,.sect-scene .faq{ border-color:var(--hair-d); }
.faq__item{ border-bottom:1px solid var(--hair-l); }
.sect-dusk .faq__item,.sect-night .faq__item,.sect-scene .faq__item{ border-color:var(--hair-d); }
.faq__q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0; text-align:left;
  font-family:var(--f-display); font-size:clamp(1.15rem,2vw,1.5rem); font-weight:360; letter-spacing:-.01em; color:var(--ink); transition:color .3s; }
.sect-dusk .faq__q,.sect-night .faq__q,.sect-scene .faq__q{ color:var(--tx-on-dark); }
.faq__q:hover{ color:var(--lavender-deep); }
.faq__ico{ flex:0 0 auto; width:26px; height:26px; position:relative; }
.faq__ico::before,.faq__ico::after{ content:""; position:absolute; background:var(--lavender-deep); transition:transform .4s var(--ease-out); }
.sect-dusk .faq__ico::before,.sect-dusk .faq__ico::after,.sect-scene .faq__ico::before,.sect-scene .faq__ico::after,.sect-night .faq__ico::before,.sect-night .faq__ico::after{ background:var(--lavender-hi); }
.faq__ico::before{ top:12px; left:3px; right:3px; height:1.7px; }
.faq__ico::after{ left:12px; top:3px; bottom:3px; width:1.7px; }
.faq__item.open .faq__ico::after{ transform:scaleY(0); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .5s var(--ease-io); }
.faq__a-inner{ padding-bottom:26px; color:var(--tx-on-light-soft); max-width:66ch; line-height:1.62; }
.sect-dusk .faq__a-inner,.sect-night .faq__a-inner,.sect-scene .faq__a-inner{ color:var(--tx-on-dark-soft); }

/* ---- Trust row ---- */
.trustrow{ display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; }
.trustrow__i{ display:flex; align-items:center; gap:8px; font-size:.88rem; color:var(--tx-on-light-soft); }
.sect-dusk .trustrow__i,.sect-scene .trustrow__i,.sect-night .trustrow__i{ color:var(--tx-on-dark-soft); }
.trustrow__i svg{ width:17px; height:17px; color:var(--lavender-deep); }
.sect-dusk .trustrow__i svg,.sect-scene .trustrow__i svg,.sect-night .trustrow__i svg{ color:var(--lavender-hi); }

/* ---- Pill list ---- */
.pill-list{ display:flex; flex-direction:column; gap:2px; }
.pill-list li{ list-style:none; display:grid; grid-template-columns:auto 1fr; gap:16px; padding:18px 0; border-bottom:1px solid var(--hair-l); align-items:start; }
.sect-dusk .pill-list li,.sect-scene .pill-list li,.sect-night .pill-list li{ border-color:var(--hair-d); }
.pill-list .tick{ width:27px; height:27px; border-radius:50%; background:var(--grad-warm); color:#fff; display:grid; place-items:center; margin-top:2px; }
.pill-list .tick svg{ width:15px; height:15px; }
.pill-list b{ font-weight:600; }
.pill-list p{ color:var(--tx-on-light-soft); font-size:.95rem; margin-top:3px; }
.sect-dusk .pill-list p,.sect-scene .pill-list p,.sect-night .pill-list p{ color:var(--tx-on-dark-soft); }

/* ---- Page hero (service pages) ---- */
.phero{ padding-top:clamp(140px,19vh,210px); padding-bottom:var(--sect); position:relative; overflow:hidden; color:var(--tx-on-dark); }
.phero__bg{ position:absolute; inset:0; z-index:0; }
.phero__bg img{ width:100%; height:100%; object-fit:cover; }
.phero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,26,.24), rgba(20,16,26,.12) 44%, rgba(22,18,28,.66) 92%); }
.phero .wrap{ position:relative; z-index:1; }
.phero .display{ max-width:17ch; }
.phero .lead{ margin-top:22px; color:var(--tx-on-dark-soft); }
.breadcrumb{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; color:var(--tx-on-dark-mute); margin-bottom:24px; display:flex; gap:10px; align-items:center; }
.breadcrumb a{ color:var(--tx-on-dark-soft); } .breadcrumb a:hover{ color:var(--lavender-hi); }

/* ---- Adaptive callout ------------------------------------------------------ */
.callout{ margin-top:40px; padding:26px 32px; border-radius:var(--radius-lg); border:1px solid var(--glass-brd);
  background:linear-gradient(120deg, rgba(176,155,233,.16), rgba(255,184,138,.12)); backdrop-filter:var(--glass-blur);
  display:flex; gap:22px; align-items:center; flex-wrap:wrap; justify-content:space-between; }
.sect-dusk .callout,.sect-night .callout,.sect-scene .callout,.sect-aubergine .callout,.sect-dark .callout{ background:var(--glass-dark); border-color:var(--glass-dark-brd); }
.callout > p{ font-family:var(--f-display); font-style:italic; font-size:clamp(1.1rem,2vw,1.45rem); max-width:46ch; line-height:1.3; color:var(--ink); margin:0; }
.sect-dusk .callout > p,.sect-scene .callout > p,.sect-night .callout > p,.sect-aubergine .callout > p,.sect-dark .callout > p{ color:var(--tx-on-dark); }

/* ---- Adaptive nav (light vs dark hero) ------------------------------------ */
.nav__logo .logo-light{ display:none; }
.nav__logo .logo-dark{ display:block; }
.nav--over-dark .nav__logo .logo-light{ display:block; }
.nav--over-dark .nav__logo .logo-dark{ display:none; }
.nav.scrolled .nav__logo .logo-light{ display:block; }
.nav.scrolled .nav__logo .logo-dark{ display:none; }
.nav--over-dark .nav__link{ color:var(--tx-on-dark-soft); }
.nav--over-dark .nav__link:hover{ color:#fff; background:rgba(255,255,255,.1); }
.nav--over-dark:not(.scrolled) .nav__burger{ border-color:var(--hair-d); background:rgba(255,255,255,.08); }
.nav--over-dark:not(.scrolled) .nav__burger span,
.nav--over-dark:not(.scrolled) .nav__burger span::before,
.nav--over-dark:not(.scrolled) .nav__burger span::after{ background:#fff; }
.nav.scrolled .nav__link{ color:var(--tx-on-dark-soft); }
.nav.scrolled .nav__link:hover{ color:#fff; background:rgba(255,255,255,.1); }
.nav.scrolled .nav__burger span,
.nav.scrolled .nav__burger span::before,
.nav.scrolled .nav__burger span::after{ background:#fff; }
/* CTA on the right loses its glow in the scrolled (dark) nav */
.nav.scrolled .nav__right .btn--accent{ box-shadow:none; }

/* ============================================================================
   v3 OVERRIDES — vibrant images (no overlays), refined glass, uppercase nav,
   no button-movement, animated life
   ========================================================================== */

/* 1. Images at 100% — remove all scenic overlays */
.sect-scene__bg::after,
.phero__bg::after,
.ctaband__bg::after{ display:none !important; }

/* text legibility over vibrant scenes via shadow (not an image overlay) */
.on-scene, .phero .display, .phero .lead, .phero .eyebrow, .phero .breadcrumb,
.ctaband .h2, .ctaband .lead, .ctaband .eyebrow,
.sect-scene > .wrap .h2, .sect-scene > .wrap .lead, .sect-scene > .wrap .eyebrow{
  text-shadow:0 1px 3px rgba(16,10,22,.72), 0 2px 22px rgba(16,10,22,.6), 0 4px 60px rgba(16,10,22,.5);
}
.phero .lead, .sect-scene > .wrap .lead, .ctaband .lead{ color:#fff !important; }
.phero .breadcrumb, .phero .breadcrumb a{ color:rgba(255,255,255,.9); }

/* 2. Refined glassmorphism — cleaner, more readable, more vibrant edge */
.glass--dark, .sect-scene .card, .ansard{
  background:rgba(22,16,28,.42);
  backdrop-filter:blur(30px) saturate(1.6); -webkit-backdrop-filter:blur(30px) saturate(1.6);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 30px 70px -30px rgba(20,12,28,.7), inset 0 1px 0 rgba(255,255,255,.28), inset 0 0 40px rgba(255,255,255,.04);
}
.sect-scene .card__d, .sect-scene .card__t{ text-shadow:0 1px 12px rgba(18,12,24,.4); }
.sect-scene .card__d{ color:rgba(247,240,235,.9); }
.card{ background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.7); box-shadow:0 22px 50px -30px rgba(40,26,50,.45), inset 0 1px 0 rgba(255,255,255,.9); }
.stat{ background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.7); box-shadow:0 18px 44px -30px rgba(40,26,50,.4), inset 0 1px 0 rgba(255,255,255,.9); }

/* 3. Nav uppercase */
.nav__link{ text-transform:uppercase; letter-spacing:.11em; font-size:.74rem; font-weight:600; }

/* 4. Buttons — no hover movement, tasteful non-moving hover */
.btn{ transition:box-shadow .4s var(--ease-out), background .4s var(--ease-out), filter .3s; }
.btn:hover{ transform:none; }
.btn--primary:hover{ box-shadow:0 12px 30px -10px rgba(37,30,43,.6); }
.btn--accent:hover{ filter:saturate(1.08) brightness(1.03); box-shadow:0 16px 40px -12px rgba(176,155,233,.7); }
.btn:active{ transform:scale(.98); }
.btn .arw{ transition:transform .35s var(--ease-out); }
.btn:hover .arw{ transform:translateX(4px); }

/* 5. Dropdown menu — fix layout (title/desc stacked, spaced), refine */
.nav__menu{ width:392px; padding:12px; border-radius:22px; }
.nav__menu-item{ align-items:center; padding:14px 15px; gap:15px; }
.nav__menu-ico{ flex:0 0 40px; height:40px; border-radius:12px; }
.nav__menu-ico svg{ width:20px; height:20px; }
.nav__menu-t{ display:block; font-size:.98rem; font-weight:600; letter-spacing:-.01em; }
.nav__menu-d{ display:block; font-size:.82rem; margin-top:4px; line-height:1.45; }

/* 6. Come-alive: soft parallax + drift for scene bgs, refined reveal */
.sect-scene__bg img, .phero__bg img{ will-change:transform; transform:scale(1.06); }
.reveal{ transform:translateY(30px); filter:blur(0); }
.reveal-ready .reveal{ transition:opacity 1s var(--ease-out), transform 1s var(--ease-out); }

/* ---- Team cards (prominent photos, subtle bottom label) -------------------- */
.team{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tcard{ position:relative; border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:4/5;
  box-shadow:0 30px 70px -40px rgba(40,26,50,.5); }
.tcard img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease-out); }
.tcard:hover img{ transform:scale(1.05); }
.tcard figcaption{ position:absolute; left:0; right:0; bottom:0; padding:24px 22px 20px;
  background:linear-gradient(to top, rgba(18,12,24,.8), rgba(18,12,24,.2) 60%, transparent); }
.tcard figcaption b{ display:block; font-family:var(--f-body); font-weight:600; font-size:1.18rem; color:#fff; letter-spacing:-.01em; }
.tcard figcaption span{ display:block; font-size:.82rem; color:rgba(255,255,255,.82); margin-top:3px; }
@media(max-width:760px){ .team{ grid-template-columns:1fr; max-width:420px; margin-inline:auto; } }

/* ---- v3.1 nav fixes: sentence case, links right, aligned, dropdown bridge -- */
.nav__link{ text-transform:none; letter-spacing:-.01em; font-size:.84rem; font-weight:500; padding:8px 13px; }
/* nav CTA button: smaller than in-page buttons */
.nav__right .btn{ font-size:.82rem; padding:11px 19px; }
.nav__links{ margin-left:auto; margin-right:10px; align-items:center; }
.nav__has-menu{ display:inline-flex; align-items:center; }
.nav__has-menu > .nav__link{ display:inline-flex; align-items:center; gap:5px; }
.nav__menu{ top:calc(100% + 4px); }
.nav__menu::before{ content:""; position:absolute; top:-16px; left:-10px; right:-10px; height:18px; }

/* ---- v3.2: dark scene overlays for text legibility (per request) ---------- */
.phero__bg::after, .sect-scene__bg::after{ display:block !important; content:""; position:absolute; inset:0;
  background:linear-gradient(178deg, rgba(15,9,20,.5) 0%, rgba(15,9,20,.28) 42%, rgba(15,9,20,.62) 100%); }
.ctaband__bg::after{ display:block !important; content:""; position:absolute; inset:0;
  background:linear-gradient(178deg, rgba(15,9,20,.42), rgba(15,9,20,.55)); }

/* ---- v3.2: footer sizing + bigger Facebook icon -------------------------- */
.footer__grid > div > p{ font-size:.85rem !important; }
.footer__col a{ font-size:.85rem; }
.footer__bottom{ font-size:.78rem; }
.footer__social a:last-child svg{ width:22px; height:22px; }

/* ---- v3.2: smooth image fade-in ------------------------------------------ */
.imgfade{ opacity:0; transition:opacity .9s var(--ease-out); }
.imgfade.loaded{ opacity:1; }

/* ---- v3.2: VSL video placeholder ----------------------------------------- */
.vsl{ position:relative; border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:16/9; border:1px solid var(--glass-dark-brd);
  background:linear-gradient(135deg,#251d30,#15111c); box-shadow:0 40px 90px -44px rgba(0,0,0,.7); }
.vsl__inner{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px;
  background:radial-gradient(circle at 50% 45%, rgba(176,155,233,.2), transparent 62%); }
.vsl__play{ width:82px; height:82px; border-radius:50%; background:var(--grad-warm); color:#2a1f14; display:grid; place-items:center;
  box-shadow:0 14px 44px -10px rgba(176,155,233,.6); transition:box-shadow .4s, filter .3s; }
.vsl__play svg{ width:32px; height:32px; margin-left:5px; }
.vsl__play:hover{ filter:brightness(1.05); box-shadow:0 20px 54px -10px rgba(176,155,233,.85); }
.vsl__label{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tx-on-dark-mute); }

/* ============================================================================
   v4 — depth pass: full-bleed cinematic CTAs w/ frosted glass panel,
   floating 3D spheres, charcoal (de-purpled) sections, cleaner page heroes,
   readable quote, revenue calculator
   ========================================================================== */

/* --- charcoal surface (replaces lilac/purple sect-mist per request) -------- */
:root{ --charcoal:#211E25; --charcoal-2:#1A171E; }
.sect-charcoal{ background:var(--charcoal); color:var(--tx-on-dark); }

/* --- footer legal links ----------------------------------------------------- */
.footer__legal{ display:flex; gap:18px; }
.footer__legal a{ color:var(--tx-on-dark-mute); font-size:.8rem; transition:color .3s; }
.footer__legal a:hover{ color:var(--lavender-hi); }
@media(max-width:560px){ .footer__bottom{ flex-direction:column; align-items:flex-start; gap:14px; } }

/* --- legal / prose pages ---------------------------------------------------- */
.legal{ max-width:770px; }
.legal__meta{ font-family:var(--f-mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--tx-on-light-mute); margin-top:16px; }
.legal h2{ font-family:var(--f-display); font-weight:400; font-size:clamp(1.35rem,2.5vw,1.85rem); letter-spacing:-.02em; margin:46px 0 14px; color:var(--ink); line-height:1.15; }
.legal h3{ font-family:var(--f-body); font-weight:600; font-size:1.05rem; margin:28px 0 10px; color:var(--ink); }
.legal p{ color:var(--tx-on-light-soft); margin-bottom:15px; line-height:1.72; }
.legal ul{ margin:0 0 18px 0; padding-left:22px; color:var(--tx-on-light-soft); }
.legal li{ margin-bottom:9px; line-height:1.62; }
.legal a{ color:var(--lavender-deep); border-bottom:1px solid transparent; transition:border-color .3s; }
.legal a:hover{ border-color:currentColor; }
.legal strong{ color:var(--ink); font-weight:600; }
.legal em,.legal i{ font-style:italic; }
.legal hr{ border:0; height:1px; background:var(--hair-l); margin:32px 0; }

/* --- risk-reversal band (DBR "you don't pay until we deliver") -------------- */
.norisk{ text-align:center; max-width:760px; margin-inline:auto; }
.norisk__ico{ width:74px; height:74px; border-radius:50%; margin:0 auto 26px; display:grid; place-items:center;
  background:radial-gradient(circle at 50% 35%, rgba(176,155,233,.28), rgba(255,184,138,.14)); border:1px solid var(--glass-brd); }
.norisk__ico svg{ width:32px; height:32px; color:var(--peach-deep); }
.norisk .eyebrow{ justify-content:center; color:var(--peach-deep); }
.norisk .eyebrow::before{ display:none; }
.norisk h2{ margin-top:18px; }
.norisk p{ margin:22px auto 0; }

/* numbered badge variant of the pill-list tick */
.pill-list .tick--n{ font-family:var(--f-body); font-weight:700; font-size:.85rem; color:#fff; }

/* gradient italic emphasis (for headings) */
.em-grad{ font-family:var(--f-display); font-style:italic; font-weight:360; letter-spacing:-.01em;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* --- walkthrough video (Tella embed) --------------------------------------- */
.vwrap{ position:relative; max-width:980px; margin:46px auto 0; border-radius:26px; padding:14px;
  background:linear-gradient(135deg, rgba(201,182,255,.55), rgba(246,199,210,.42) 45%, rgba(255,203,166,.5));
  box-shadow:0 50px 110px -52px rgba(40,26,50,.55); }
.vframe{ position:relative; padding-bottom:56.25%; height:0; border-radius:16px; overflow:hidden; background:#16111d; }
.vframe iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* --- quiet-leak stat cards (#40) ------------------------------------------- */
.leakcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:52px; }
.leakcard{ padding:32px 28px; border-radius:var(--radius-lg); background:rgba(255,255,255,.62);
  border:1px solid var(--glass-brd); box-shadow:0 18px 44px -30px rgba(40,26,50,.4); }
.sect-dusk .leakcard,.sect-night .leakcard,.sect-charcoal .leakcard{ background:rgba(255,255,255,.05); border-color:var(--hair-d); box-shadow:none; }
.leakcard__n{ font-family:var(--f-body); font-weight:800; font-size:clamp(2.4rem,4.6vw,3.2rem); letter-spacing:-.03em; color:var(--ink); line-height:1; }
.sect-dusk .leakcard__n,.sect-night .leakcard__n,.sect-charcoal .leakcard__n{ color:#fff; }
.leakcard__t{ font-weight:700; font-size:1.02rem; margin-top:16px; color:var(--ink); }
.sect-dusk .leakcard__t,.sect-night .leakcard__t,.sect-charcoal .leakcard__t{ color:#fff; }
.leakcard__d{ margin-top:14px; color:var(--tx-on-light-soft); font-size:.96rem; line-height:1.6; }
.sect-dusk .leakcard__d,.sect-night .leakcard__d,.sect-charcoal .leakcard__d{ color:var(--tx-on-dark-soft); }
@media(max-width:820px){ .leakcards{ grid-template-columns:1fr; } }

/* --- for / against qualifier cards (#43) ----------------------------------- */
.qual{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.qualcard{ padding:clamp(28px,3.4vw,40px); border-radius:var(--radius-xl); background:rgba(255,255,255,.72);
  border:1px solid var(--glass-brd); box-shadow:0 22px 50px -30px rgba(40,26,50,.4); }
.qualcard--no{ background:rgba(255,255,255,.5); }
.qualcard__h{ font-family:var(--f-mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-on-light-mute); margin-bottom:8px; }
.qual ul{ list-style:none; }
.qual li{ display:grid; grid-template-columns:auto 1fr; gap:14px; padding:14px 0; align-items:start; font-size:1rem; color:var(--tx-on-light); border-top:1px solid var(--hair-l-soft); line-height:1.45; }
.qual li:first-child{ border-top:0; }
.qual li svg{ width:21px; height:21px; margin-top:1px; flex:0 0 auto; }
.qual__yes svg{ color:var(--lavender-deep); } .qual__no svg{ color:var(--peach-deep); }
@media(max-width:760px){ .qual{ grid-template-columns:1fr; } }

/* --- page hero: no leading dash on the eyebrow (cleaner) -------------------- */
.phero .eyebrow::before, .hero .eyebrow::before{ display:none; }
.phero .eyebrow, .hero .eyebrow{ gap:0; }
/* hero eyebrows always light (results/about pheros lacked sect-dark) */
.phero .eyebrow, .hero .eyebrow{ color:var(--lavender-hi); }

/* --- floating 3D spheres (chrome / glass orbs for depth) -------------------- */
.spheres{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.sphere{ position:absolute; border-radius:50%; will-change:transform;
  background:
    radial-gradient(circle at 32% 28%, #ffffff 0%, rgba(255,255,255,.65) 8%, rgba(201,182,255,.55) 26%, rgba(126,102,196,.35) 52%, rgba(20,14,28,.55) 82%),
    radial-gradient(circle at 70% 80%, rgba(255,184,138,.5), transparent 60%);
  box-shadow:inset 0 -8px 22px rgba(20,12,28,.5), inset 0 6px 14px rgba(255,255,255,.35), 0 30px 60px -20px rgba(20,12,28,.55);
  animation:sphereFloat 12s ease-in-out infinite; }
.sphere--peach{ background:
    radial-gradient(circle at 34% 30%, #ffffff 0%, rgba(255,203,166,.7) 16%, rgba(240,149,94,.42) 48%, rgba(30,16,20,.5) 84%),
    radial-gradient(circle at 72% 78%, rgba(201,182,255,.4), transparent 60%); }
.sphere--glass{ background:radial-gradient(circle at 34% 28%, rgba(255,255,255,.55), rgba(255,255,255,.06) 42%, rgba(255,255,255,.02) 70%);
  border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(3px); box-shadow:inset 0 4px 14px rgba(255,255,255,.3), 0 24px 50px -18px rgba(20,12,28,.5); }
@keyframes sphereFloat{ 0%,100%{ transform:translate3d(0,0,0) } 50%{ transform:translate3d(0,-22px,0) } }
@media (prefers-reduced-motion: reduce){ .sphere{ animation:none; } }
@media (max-width:640px){ .sphere{ opacity:.55; } .sphere--sm-hide{ display:none; } }

/* --- FULL-BLEED CTA BAND: fix bg bug + full width + frosted glass panel ----- */
section:has(> .wrap > .ctaband){ padding-block:0; }
.ctaband{ width:100vw; margin-left:calc(50% - 50vw); border-radius:0;
  padding:clamp(96px,14vw,190px) var(--gutter); display:grid; place-items:center; text-align:center;
  box-shadow:none; }
.ctaband__bg{ position:absolute !important; inset:0; z-index:0; }
.ctaband__bg::after{ display:block !important; content:""; position:absolute; inset:0;
  background:radial-gradient(120% 120% at 50% 40%, rgba(15,9,20,.35), rgba(12,8,17,.72) 90%); }
/* fix: the generic `.ctaband > *` rule must NOT re-position the background */
.ctaband > .ctaband__bg{ position:absolute; z-index:0; }
/* frosted glass panel that holds the copy (the #24 aesthetic) */
.ctaband__panel{ position:relative; z-index:2; width:min(720px,100%);
  padding:clamp(38px,5.5vw,68px) clamp(28px,4.5vw,56px); border-radius:var(--radius-xl);
  background:rgba(22,16,28,.62); backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 50px 110px -40px rgba(12,7,18,.8), inset 0 1px 0 rgba(255,255,255,.26), inset 0 0 60px rgba(255,255,255,.04);
  will-change:transform; }
.ctaband__panel .eyebrow{ justify-content:center; color:var(--lavender-hi); margin-bottom:16px; }
.ctaband__panel .eyebrow::before{ display:none; }
.ctaband__panel .h2{ color:#fff; max-width:20ch; margin:0 auto; }
.ctaband__panel .lead{ color:rgba(255,255,255,.86) !important; margin:18px auto 30px; max-width:52ch; text-shadow:none; }
.ctaband__panel .ctaband__cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:4px; }
.ctaband__panel .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.4); }
.ctaband__panel .btn--ghost:hover{ border-color:var(--lavender-hi); }
/* kill the old on-scene text-shadow inside the panel (no longer over raw image) */
.ctaband__panel .h2, .ctaband__panel .lead, .ctaband__panel .eyebrow{ text-shadow:none; }

/* --- readable quote / callout (home #25) ----------------------------------- */
.callout{ padding:30px 34px; border-left:3px solid var(--lavender-hi); align-items:center; }
.sect-scene .callout, .callout{ background:rgba(16,11,22,.72); backdrop-filter:blur(12px) saturate(1.3);
  border-top:1px solid rgba(255,255,255,.14); border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.callout > p{ font-family:var(--f-display); font-style:italic; font-weight:400; line-height:1.32;
  font-size:clamp(1.2rem,2.1vw,1.6rem) !important; max-width:46ch; color:#fff !important;
  letter-spacing:.005em; text-shadow:0 1px 18px rgba(10,6,14,.55); }
.sect-scene .callout .link-arrow, .callout .link-arrow{ color:var(--peach-hi); white-space:nowrap; }

/* --- REVENUE CALCULATOR (DBR) ---------------------------------------------- */
.calc{ display:grid; grid-template-columns:1.05fr .95fr; gap:20px; align-items:stretch; }
.calc__panel{ padding:clamp(26px,3vw,40px); border-radius:var(--radius-xl);
  background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 50px -30px rgba(40,26,50,.45), inset 0 1px 0 rgba(255,255,255,.9); }
.calc__row{ margin-bottom:26px; }
.calc__row:last-of-type{ margin-bottom:0; }
.calc__head{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.calc__label{ font-weight:600; font-size:.98rem; color:var(--ink); }
.calc__val{ font-family:var(--f-display); font-weight:400; font-size:1.5rem; letter-spacing:-.02em; color:var(--lavender-deep); }
.calc__hint{ font-size:.82rem; color:var(--tx-on-light-mute); margin-top:9px; }
.calc input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:6px; margin-top:14px;
  border-radius:999px; background:linear-gradient(90deg,var(--lavender) var(--fill,40%), rgba(40,30,46,.14) var(--fill,40%)); outline:none; }
.calc input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%;
  background:var(--grad-warm); border:3px solid #fff; box-shadow:0 4px 12px -2px rgba(240,149,94,.6); cursor:pointer; transition:transform .2s var(--ease-out); }
.calc input[type=range]::-webkit-slider-thumb:hover{ transform:scale(1.12); }
.calc input[type=range]::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:var(--peach-deep); border:3px solid #fff; cursor:pointer; }
.calc__reset{ display:inline-flex; align-items:center; gap:8px; margin-top:26px; font-family:var(--f-mono); font-size:.74rem;
  letter-spacing:.04em; color:var(--tx-on-light-mute); text-transform:uppercase; transition:color .3s; }
.calc__reset:hover{ color:var(--lavender-deep); }
.calc__reset svg{ width:14px; height:14px; }
/* output card — dusk glass, not gold */
.calc__out{ position:relative; overflow:hidden; padding:clamp(28px,3vw,40px); border-radius:var(--radius-xl); color:var(--tx-on-dark);
  background:linear-gradient(158deg, #2c2336 0%, #1b1522 68%, #17111d 100%); border:1px solid rgba(255,255,255,.12);
  box-shadow:0 40px 90px -44px rgba(12,7,18,.8), inset 0 1px 0 rgba(255,255,255,.12); display:flex; flex-direction:column; }
.calc__out::before{ content:""; position:absolute; top:-40%; right:-30%; width:80%; height:80%; border-radius:50%;
  background:radial-gradient(circle, rgba(176,155,233,.28), transparent 68%); filter:blur(20px); pointer-events:none; }
.calc__outhead{ display:flex; align-items:center; justify-content:space-between; gap:12px; position:relative; z-index:1; }
.calc__outk{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-on-dark-mute); }
.calc__pill{ font-family:var(--f-mono); font-size:.66rem; letter-spacing:.04em; padding:5px 11px; border-radius:999px;
  border:1px solid var(--hair-d); color:var(--tx-on-dark-soft); display:inline-flex; align-items:center; gap:7px; }
.calc__pill .dot{ width:6px; height:6px; border-radius:50%; background:var(--peach); }
.calc__big{ font-family:var(--f-display); font-weight:340; font-size:clamp(3.2rem,7vw,5rem); line-height:1; letter-spacing:-.03em;
  color:#fff; margin:14px 0 22px; position:relative; z-index:1; }
.calc__breakdown{ border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--hair-d); position:relative; z-index:1; }
.calc__line{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 18px; background:rgba(255,255,255,.03); }
.calc__line + .calc__line{ border-top:1px solid var(--hair-d-soft); }
.calc__line:last-child{ background:rgba(176,155,233,.12); }
.calc__lt{ font-size:.92rem; color:var(--tx-on-dark-soft); }
.calc__lt small{ display:block; font-family:var(--f-mono); font-size:.66rem; color:var(--tx-on-dark-mute); margin-top:3px; letter-spacing:.02em; }
.calc__ln{ font-family:var(--f-display); font-weight:360; font-size:1.35rem; letter-spacing:-.02em; color:#fff; white-space:nowrap; }
.calc__cta{ margin-top:22px; position:relative; z-index:1; }
.calc__cta .btn{ width:100%; justify-content:center; }
.calc__foot{ margin-top:20px; font-size:.82rem; color:var(--tx-on-light-mute); text-align:center; max-width:70ch; margin-inline:auto; }
@media(max-width:820px){ .calc{ grid-template-columns:1fr; } }

/* ============================================================================
   Liquid-glass secondary buttons (next-gen glassmorphism) — replaces flat ghost
   ========================================================================== */
.btn--ghost{
  color:var(--ink);
  background:linear-gradient(140deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.12) 52%, rgba(255,255,255,.22) 100%);
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(18px) saturate(1.8);
  -webkit-backdrop-filter:blur(18px) saturate(1.8);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.75), inset 0 -10px 20px rgba(255,255,255,.10), 0 10px 30px -14px rgba(40,26,50,.4);
  transition:background .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .4s var(--ease-out);
}
.btn--ghost:hover{
  background:linear-gradient(140deg, rgba(255,255,255,.48), rgba(255,255,255,.2));
  border-color:rgba(255,255,255,.85);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.9), inset 0 -10px 20px rgba(255,255,255,.16), 0 16px 40px -14px rgba(176,155,233,.5);
}
/* over dark scenes / sections / glass panels: lighter translucent glass, white text */
.sect-dusk .btn--ghost, .sect-night .btn--ghost, .sect-aubergine .btn--ghost,
.sect-dark .btn--ghost, .sect-scene .btn--ghost, .sect-charcoal .btn--ghost,
.phero .btn--ghost, .ctaband__panel .btn--ghost{
  color:#fff;
  background:linear-gradient(140deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.07) 55%, rgba(255,255,255,.13) 100%);
  border-color:rgba(255,255,255,.42);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55), inset 0 -10px 20px rgba(255,255,255,.06), 0 12px 34px -16px rgba(0,0,0,.5);
}
.sect-dusk .btn--ghost:hover, .sect-night .btn--ghost:hover, .sect-scene .btn--ghost:hover,
.sect-charcoal .btn--ghost:hover, .phero .btn--ghost:hover, .ctaband__panel .btn--ghost:hover{
  background:linear-gradient(140deg, rgba(255,255,255,.32), rgba(255,255,255,.13));
  border-color:rgba(255,255,255,.65);
}
/* home hero sits over a LIGHT dune scene → keep dark ink text on the glass */
.hero__cta .btn--ghost{
  color:var(--ink);
  background:linear-gradient(140deg, rgba(255,255,255,.4), rgba(255,255,255,.16));
  border-color:rgba(255,255,255,.6);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.8), 0 12px 34px -16px rgba(20,12,28,.35);
}

/* --- solar showcase (#47): dusk-gradient bg + big floating cut-out laptop --- */
.solar-showcase{ background:linear-gradient(155deg, #dccfeb 0%, #ecd8d1 50%, #f5ddc7 100%); color:var(--tx-on-light); overflow:hidden; }
.solar-showcase .feature{ align-items:center; }
.solar-showcase__media{ position:relative; }
.solar-laptop{ display:block; width:128%; max-width:none; margin-left:-14%;
  filter:drop-shadow(0 44px 60px rgba(48,30,58,.32)); }
@media(max-width:820px){ .solar-laptop{ width:110%; margin-left:-5%; } }

/* --- Shift "insight" block (#48): break the wall of text --------------------- */
.insight{ max-width:66ch; margin-top:40px; padding:26px 30px; border-radius:0 18px 18px 0;
  border-left:3px solid var(--lavender-hi);
  background:rgba(255,255,255,.05); border-top:1px solid var(--hair-d); border-right:1px solid var(--hair-d); border-bottom:1px solid var(--hair-d);
  backdrop-filter:blur(8px); }
.insight__k{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--lavender-hi); }
.insight__lead{ font-family:var(--f-display); font-weight:400; font-size:clamp(1.25rem,2.2vw,1.6rem); line-height:1.25; color:#fff; margin-top:12px; letter-spacing:-.01em; }
.insight__d{ margin-top:14px; color:var(--tx-on-dark-soft); font-size:1rem; line-height:1.6; }
.insight__d b{ color:var(--peach-hi); font-weight:600; }

/* --- "Always On AI Bots" full-width panel (#49) ----------------------------- */
.botpanel{ display:block; margin-top:18px; padding:clamp(24px,3vw,32px); border-radius:var(--radius-lg);
  background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 50px -30px rgba(40,26,50,.45), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out), border-color .5s; }
.botpanel:hover{ border-color:var(--lavender); box-shadow:0 30px 60px -30px rgba(40,26,50,.5); transform:translateY(-3px); }
.botpanel__head{ display:flex; align-items:center; gap:16px; padding-bottom:22px; margin-bottom:24px; border-bottom:1px solid var(--hair-l); }
.botpanel__ico{ width:46px; height:46px; border-radius:13px; background:var(--grad-warm); display:grid; place-items:center; color:#fff; flex:0 0 auto; box-shadow:0 8px 20px -10px rgba(240,149,94,.6); }
.botpanel__ico svg{ width:23px; height:23px; }
.botpanel__k{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; color:var(--tx-on-light-mute); display:block; }
.botpanel__t{ font-family:var(--f-display); font-weight:360; font-size:1.5rem; letter-spacing:-.02em; color:var(--ink); line-height:1.1; }
.botpanel__link{ margin-left:auto; color:var(--peach-deep); white-space:nowrap; }
.botpanel__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.botpanel__item b{ font-weight:600; font-size:1rem; color:var(--ink); }
.botpanel__item p{ margin-top:6px; font-size:.9rem; color:var(--tx-on-light-soft); line-height:1.5; }
@media(max-width:820px){ .botpanel__grid{ grid-template-columns:1fr 1fr; gap:22px 26px; } .botpanel__head{ flex-wrap:wrap; } .botpanel__link{ margin-left:0; } }
@media(max-width:480px){ .botpanel__grid{ grid-template-columns:1fr; } }

/* --- nav mega-menu: bright frosted glass · 3 cols × 2 rows · no icons -------- */
/* Glassmorphism recipe: a BRIGHT translucent fill (not a muddy dark tint) +
   strong blur + a saturation boost so the blurred backdrop stays vivid + a
   luminous 1px edge + a specular inset top-highlight for real depth. */
.nav__menu{
  position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(10px);
  width:min(600px, 92vw); max-width:92vw; padding:14px;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.58) 100%);
  backdrop-filter:blur(40px) saturate(1.9); -webkit-backdrop-filter:blur(40px) saturate(1.9);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 32px 64px -22px rgba(30,18,40,.4), 0 4px 12px rgba(30,18,40,.1),
             inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.35);
}
.nav__has-menu:hover .nav__menu{ transform:translateX(-50%) translateY(0); }
.nav__menu::before{ content:""; position:absolute; top:-16px; left:0; right:0; height:18px; }
.nav__menu-item{ display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:14px 15px; border-radius:16px; text-align:left; transition:background .3s var(--ease-out); }
.nav__menu-item:hover{ background:rgba(255,255,255,.6); }
.nav__menu-ico{ display:none; }
.nav__menu-t{ display:block; font-size:.95rem; font-weight:600; letter-spacing:-.01em; color:var(--ink); }
.nav__menu-d{ display:block; font-size:.8rem; margin-top:5px; line-height:1.45; color:var(--tx-on-light-mute); }

/* --- hero background images fade in smoothly on page load ------------------- */
@keyframes heroBgFade{ from{ opacity:0 } to{ opacity:1 } }
.hero__media, .phero__bg{ animation:heroBgFade 1.15s var(--ease-out) both; }
@media (prefers-reduced-motion: reduce){ .hero__media, .phero__bg{ animation:none; opacity:1; } }

/* ============================================================================
   Footer redesign: oasis scene bg + full-width floating liquid-glass card (#55)
   ========================================================================== */
.footer{
  background:linear-gradient(180deg, rgba(18,12,24,.28), rgba(18,12,24,.42)), url(/assets/scenes/oasis.jpg) center/cover no-repeat;
  padding:clamp(16px,2.4vw,28px); padding-top:clamp(16px,2.4vw,28px);
  border-top:none; overflow:hidden; position:relative;
}
.footer .wrap{
  max-width:none; width:100%; margin:0;
  padding:clamp(72px,8vw,120px) clamp(28px,4.5vw,56px) clamp(48px,5vw,68px);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(22,15,28,.52) 0%, rgba(16,11,22,.64) 100%);
  backdrop-filter:blur(30px) saturate(1.45); -webkit-backdrop-filter:blur(30px) saturate(1.45);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 44px 90px -40px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.24), inset 0 0 60px rgba(255,255,255,.03);
}
.footer__grid{ padding-bottom:clamp(56px,6vw,80px); }

/* ============================================================================
   Batch: plain pre-footer CTA · hero opacity · wider dropdown · footer glass
   ========================================================================== */

/* pre-footer CTA band: plain premium gradient (no scene image) so it doesn't
   clash with the new oasis footer */
.ctaband__bg{ display:none !important; }
.ctaband{ background:
  radial-gradient(120% 95% at 50% -10%, rgba(126,102,196,.30), transparent 56%),
  linear-gradient(180deg, #241b31 0%, #1a1422 55%, #15101c 100%); }

/* home hero background at 0.8 opacity */
@keyframes heroBgFade80{ from{ opacity:0 } to{ opacity:.8 } }
.hero__media{ animation-name:heroBgFade80; opacity:.8; }

/* services dropdown: wider so it's shorter in height */
.nav__menu{ width:min(760px, 94vw); }

/* footer glass card: more transparent so the oasis image reads through */
.footer .wrap{
  background:linear-gradient(180deg, rgba(22,15,28,.34) 0%, rgba(16,11,22,.46) 100%);
  backdrop-filter:blur(3px) saturate(1.4); -webkit-backdrop-filter:blur(3px) saturate(1.4);
}

/* light home-nav text gets a soft shadow for legibility over the dune hero */
.nav--over-dark:not(.scrolled) .nav__link{ text-shadow:0 1px 12px rgba(18,12,26,.45); }

/* ============================================================================
   Dropdown → same glassmorphism as the footer (dark glass, light text) +
   smaller headings · glass proof stat cards (home)
   ========================================================================== */
.nav__menu{
  background:linear-gradient(180deg, rgba(18,12,24,.58), rgba(18,12,24,.70)), url(/assets/scenes/oasis.jpg) center/cover no-repeat;
  backdrop-filter:blur(3px) saturate(1.4); -webkit-backdrop-filter:blur(3px) saturate(1.4);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 44px 90px -40px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.24), inset 0 0 60px rgba(255,255,255,.03);
}
.nav__menu-item:hover{ background:rgba(255,255,255,.08); }
.nav__menu-t{ font-family:var(--f-mono); font-weight:500; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--tx-on-dark-mute); }
.nav__menu-d{ color:var(--tx-on-dark-soft); }

/* home Proof stat cards → premium glassmorphism (like the footer) */
#proof .card{
  background:linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.035) 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 66px -42px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.3), inset 0 0 50px rgba(255,255,255,.03);
  backdrop-filter:blur(8px) saturate(1.35); -webkit-backdrop-filter:blur(8px) saturate(1.35);
}

/* home hero: fixed opacity + warm maroon backdrop behind the media */
.hero{ background:#472626; }
.hero__media{ opacity:0.7 !important; }
