
  @font-face{
    font-family:'DM Sans';
    src:url('fonts/DM-Sans-variable-normal.woff2') format('woff2');
    font-weight:400 700; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'DM Sans';
    src:url('fonts/DM-Sans-400-italic.woff2') format('woff2');
    font-weight:400; font-style:italic; font-display:swap;
  }
  @font-face{
    font-family:'Caveat';
    src:url('fonts/Caveat-variable.woff2') format('woff2');
    font-weight:500 700; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Dream Avenue';
    src:url('fonts/Dream-Avenue-400-normal.woff2') format('woff2');
    font-weight:400; font-style:normal; font-display:swap;
  }
  
  
  @font-face{
    font-family:'Cairo';
    src:url('fonts/Cairo-400-normal.woff2') format('woff2');
    font-weight:400; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Cairo';
    src:url('fonts/Cairo-500-normal.woff2') format('woff2');
    font-weight:500; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Cairo';
    src:url('fonts/Cairo-600-normal.woff2') format('woff2');
    font-weight:600; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Cairo';
    src:url('fonts/Cairo-700-normal.woff2') format('woff2');
    font-weight:700; font-style:normal; font-display:swap;
  }
  :root{
    --teal:#0D4940;
    --berry:#833454;
    --mint:#CAD3C1;
    --cloud:#F2F2E9;
    --orange:#D73C29;
    --blush:#ECC6C7;
    --black:#1a1a1a;
    --serif: 'Dream Avenue', serif; /* brand header/display face */
    --sans: 'DM Sans', sans-serif;   /* brand body face */
    --sans-ar: 'Cairo', sans-serif;  /* reserved for Arabic content only */
    --logo: 'Dream Avenue', serif;   /* logo/script accent face */
    --hand: 'Caveat', cursive;        /* hand-drawn annotation face */
  }
  [lang="ar"], [dir="rtl"]{ font-family:var(--sans-ar); }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{
    margin:0;
    font-family:var(--sans);
    background:var(--cloud);
    color:var(--black);
    line-height:1.55;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }
  h1,h2,h3,h4{font-family:var(--serif); margin:0; font-weight:500; letter-spacing:-0.01em;}
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  section{position:relative;}

  /* ---------- NAV ---------- */
  .nav-zone{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:22px 24px;
    animation:navDropIn .7s cubic-bezier(.2,.8,.2,1) .1s both;
    transition:padding .35s ease;
  }
  .nav-zone.scrolled{ padding:16px 24px; }
  .nav-zone.scrolled .nav-icon,
  .nav-zone.scrolled .nav-burger{
    box-shadow:0 6px 18px rgba(0,0,0,0.28);
  }
  @keyframes navDropIn{
    from{ opacity:0; transform:translateY(-18px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .nav-inner{
    max-width:1180px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    position:relative;
  }
  .nav-icon{
    width:58px; height:58px; border-radius:50%;
    background:var(--teal);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 16px rgba(13,73,64,0.3);
    transition:opacity .15s ease;
    flex-shrink:0;
  }
  .nav-icon svg{ width:24px; height:24px; }

  .nav-burger{
    width:58px; height:58px; border-radius:50%; border:none;
    background:var(--teal); cursor:pointer;
    display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px;
    box-shadow:0 4px 16px rgba(13,73,64,0.3);
    flex-shrink:0;
  }
  .nav-burger span{
    display:block; width:22px; height:2.4px; background:var(--cloud); border-radius:2px;
    transition:transform .3s ease, opacity .3s ease;
  }
  /* Burger -> X and icon fade: driven by .pinned (works everywhere, click/tap-based)
     and additionally by :hover, but ONLY on devices that have genuine mouse hover
     (touch devices get a "sticky hover" after tap in many browsers, which would
     otherwise leave the icon hidden/burger crossed indefinitely). */
  .nav-zone.pinned .nav-burger span:nth-child(1){ transform:translateY(8.4px) rotate(45deg); }
  .nav-zone.pinned .nav-burger span:nth-child(2){ opacity:0; }
  .nav-zone.pinned .nav-burger span:nth-child(3){ transform:translateY(-8.4px) rotate(-45deg); }
  .nav-zone.pinned .nav-icon{ opacity:0; }

  .nav-links{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    display:flex; align-items:stretch; gap:22px;
    background:var(--teal); padding:0 26px; border-radius:60px;
    box-shadow:0 6px 24px rgba(13,73,64,0.28);
    opacity:0; pointer-events:none; height:66px;
    width:max-content; max-width:calc(100vw - 216px);
    transition:opacity .3s ease .15s;
  }
  .nav-zone.pinned .nav-links{ opacity:1; pointer-events:auto; }

  @media(hover:hover) and (pointer:fine) and (min-width:1151px){
    .nav-zone:hover .nav-links{ opacity:1; pointer-events:auto; }
    .nav-zone:hover .nav-icon{ opacity:0; }
    .nav-zone:hover .nav-burger span:nth-child(1){ transform:translateY(8.4px) rotate(45deg); }
    .nav-zone:hover .nav-burger span:nth-child(2){ opacity:0; }
    .nav-zone:hover .nav-burger span:nth-child(3){ transform:translateY(-8.4px) rotate(-45deg); }
  }
  .nav-logo-lockup{ height:26px; width:auto; aspect-ratio:860.76/120; max-width:190px; display:block; flex-shrink:0; align-self:center; margin-right:10px; object-fit:contain; }
  .nav-links a{
    display:flex; align-items:center;
    font-size:14.5px; letter-spacing:0.01em; color:var(--cloud); font-weight:500; white-space:nowrap;
  }
  .nav-links a:hover{ color:var(--blush); }
  .nav-cta{
    background:var(--orange) !important; color:#fff !important;
    padding:11px 20px; border-radius:30px; font-size:14px !important;
    height:auto !important; align-self:center;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .nav-cta:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(215,60,41,0.35); }
  .nav-cta:active{ transform:translateY(0) scale(.96); }

  /* ---------- REVEAL ---------- */
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- PURPOSE STATEMENT ---------- */
  .purpose{
    padding:110px 0 116px; text-align:center; position:relative; overflow:hidden;
    background:
      radial-gradient(50% 60% at 50% 0%, rgba(236,198,199,0.4) 0%, rgba(236,198,199,0) 70%),
      radial-gradient(45% 55% at 100% 100%, rgba(202,211,193,0.35) 0%, rgba(202,211,193,0) 65%),
      var(--cloud);
  }
  .purpose-glow{
    position:absolute; top:38%; left:50%; width:340px; height:340px;
    transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
    background:radial-gradient(circle, rgba(131,52,84,0.14) 0%, rgba(131,52,84,0) 72%);
  }
  .purpose-ornament{
    display:flex; align-items:center; justify-content:center; gap:22px;
    margin-bottom:26px; position:relative; z-index:1;
  }
  .purpose-line{
    width:64px; height:1px; background:linear-gradient(90deg, transparent, var(--mint));
  }
  .purpose-ornament .purpose-line:last-child{ background:linear-gradient(90deg, var(--mint), transparent); }
  .purpose-star{
    color:var(--berry); display:block; flex-shrink:0;
    opacity:0; transform:scale(.6) rotate(-18deg);
    transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
  }
  .purpose-ornament.in .purpose-star{ opacity:1; transform:scale(1) rotate(0deg); }
  .purpose-star path{
    stroke-dasharray:520; stroke-dashoffset:520;
    transition:stroke-dashoffset 1.3s ease-out .25s;
  }
  .purpose-ornament.in .purpose-star path{ stroke-dashoffset:0; }
  .purpose h2{
    max-width:860px; margin:0 auto; font-size:clamp(28px,4vw,44px);
    line-height:1.45; font-weight:400; color:var(--teal); position:relative; z-index:1;
    font-family:var(--sans);
  }
  .purpose-accent{ color:var(--berry); }
  @media(max-width:860px){
    .purpose{ padding:68px 0 76px; }
    .purpose-star{ width:64px; height:64px; }
    .purpose-line{ width:32px; }
    .purpose-ornament{ gap:14px; margin-bottom:20px; }
    .purpose-glow{ width:240px; height:240px; }
  }

  /* ---------- SCROLL PROGRESS ---------- */
  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:0%; z-index:200;
    background:linear-gradient(90deg,var(--berry),var(--blush),var(--mint),var(--teal));
    transition:width .12s ease-out;
  }

  /* ---------- CUSTOM CURSOR ---------- */
  @media (hover:hover) and (pointer:fine){
    body.cue-cursor-active, body.cue-cursor-active *{ cursor:none !important; }
  }
  .cue-cursor-dot, .cue-cursor-ring{
    position:fixed; top:0; left:0; z-index:9999; pointer-events:none;
    opacity:0; transition:opacity .35s ease;
  }
  body.cue-cursor-active .cue-cursor-dot, body.cue-cursor-active .cue-cursor-ring{ opacity:1; }
  .cue-cursor-dot{
    width:7px; height:7px; margin:-3.5px 0 0 -3.5px; border-radius:50%;
    background:var(--orange);
    transition:opacity .3s ease, width .3s cubic-bezier(.2,.8,.2,1), height .3s cubic-bezier(.2,.8,.2,1), margin .3s cubic-bezier(.2,.8,.2,1);
  }
  .cue-cursor-ring{
    width:34px; height:34px; margin:-17px 0 0 -17px; border-radius:50%;
    border:1.5px solid var(--cloud); mix-blend-mode:difference;
    display:flex; align-items:center; justify-content:center;
    transition:opacity .3s ease, width .4s cubic-bezier(.2,.8,.2,1), height .4s cubic-bezier(.2,.8,.2,1),
      margin .4s cubic-bezier(.2,.8,.2,1), border-width .3s ease;
  }
  .cue-cursor-label{
    font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.06em;
    color:var(--cloud); text-transform:uppercase; opacity:0; white-space:nowrap;
    transition:opacity .25s ease; transform:translateY(1px);
  }
  /* Reading state: over body copy the ring shrinks to a faint outline so it
     no longer sits on top of the words underneath it while someone reads. */
  body.cue-cursor-text .cue-cursor-dot{ width:5px; height:5px; margin:-2.5px 0 0 -2.5px; opacity:.55; }
  body.cue-cursor-text .cue-cursor-ring{ width:15px; height:15px; margin:-7.5px 0 0 -7.5px; border-width:1px; opacity:.4; }
  body.cue-cursor-hover .cue-cursor-dot{ width:0; height:0; margin:0; opacity:0; }
  body.cue-cursor-hover .cue-cursor-ring{ width:58px; height:58px; margin:-29px 0 0 -29px; }
  body.cue-cursor-view .cue-cursor-dot{ width:0; height:0; margin:0; opacity:0; }
  body.cue-cursor-view .cue-cursor-ring{ width:82px; height:82px; margin:-41px 0 0 -41px; }
  body.cue-cursor-view .cue-cursor-label{ opacity:1; }

  /* ---------- BLOB / MOTIFS ---------- */
  .blob{position:absolute; z-index:0; pointer-events:none;}
  .drift{animation:drift 14s ease-in-out infinite;}
  @keyframes drift{
    0%,100%{ transform:translate(0,0) rotate(0deg); }
    50%{ transform:translate(14px,-18px) rotate(4deg); }
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:100vh;
    display:flex; align-items:center;
    padding:140px 0 120px;
    overflow:hidden;
    position:relative;
    z-index:0;
    background:
      radial-gradient(120% 85% at 50% 20%, rgba(8,6,6,0) 0%, rgba(8,6,6,0.35) 55%, rgba(8,6,6,0.7) 100%),
      linear-gradient(180deg, rgba(8,6,6,0.62) 0%, rgba(8,6,6,0.12) 30%, rgba(8,6,6,0.2) 58%, rgba(6,5,5,0.88) 100%),
      linear-gradient(115deg, rgba(13,73,64,0.4) 0%, rgba(131,52,84,0.22) 48%, rgba(13,73,64,0.28) 100%),
      url('images/hero-bg.jpg') center 30%/cover no-repeat;
  }
  /* Parallax: pin the hero image while the next section scrolls up over it.
     Fixed backgrounds are unreliable on touch devices, so this is desktop-only;
     mobile keeps a normal scrolling background. */
  @media (hover:hover) and (pointer:fine){
    .hero{ background-attachment:fixed, fixed, fixed, fixed; }
  }
  .hero-inner{
    max-width:1180px; margin:0 auto; position:relative; z-index:2;
    display:grid; grid-template-columns:1fr 0.92fr; gap:56px; align-items:center; text-align:left;
  }
  .hero-right{
    background:rgba(8,6,6,0.22); backdrop-filter:blur(6px);
    border:1px solid rgba(242,242,233,0.14);
    border-radius:26px; padding:26px 26px 22px;
  }
  .hero-poll-tag{ color:var(--blush) !important; text-shadow:0 2px 12px rgba(0,0,0,0.4); }
  .hero-right .poll-card{
    margin-top:16px; opacity:0; transform:translateY(18px) scale(.97);
    transition:opacity .6s cubic-bezier(.22,1,.36,1) .12s, transform .6s cubic-bezier(.22,1,.36,1) .12s;
  }
  .hero-right.in .poll-card{ opacity:1; transform:translateY(0) scale(1); }
  .hero-right .poll-live{ opacity:0; transform:scale(.6); transition:opacity .4s ease .5s, transform .4s cubic-bezier(.34,1.56,.64,1) .5s; }
  .hero-right.in .poll-live{ opacity:1; transform:scale(1); }
  .hero-right .poll-opt{ opacity:0; transform:translateY(12px); transition:opacity .45s ease, transform .45s ease; }
  .hero-right.in .poll-opt{ opacity:1; transform:translateY(0); }
  .hero-right.in .poll-opt:nth-child(1){ transition-delay:.32s; }
  .hero-right.in .poll-opt:nth-child(2){ transition-delay:.4s; }
  .hero-right.in .poll-opt:nth-child(3){ transition-delay:.48s; }
  .hero-right.in .poll-opt:nth-child(4){ transition-delay:.56s; }
  .hero-right .poll-note{ opacity:0; transition:opacity .4s ease .68s; }
  .hero-right.in .poll-note{ opacity:1; }
  .hero-poll-stat{
    margin-top:20px; opacity:0; transform:translateY(10px);
    transition:opacity .5s ease .74s, transform .5s ease .74s;
  }
  .hero-right.in .hero-poll-stat{ opacity:1; transform:translateY(0); }
  .hero-poll-stat .num{ color:var(--blush); }
  .hero-poll-stat .label{ color:rgba(242,242,233,0.94); }

  /* scroll-down indicator */
  .scroll-cue{
    position:absolute; bottom:40px; left:max(32px, calc(50% - 558px));
    z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px;
    cursor:pointer; background:none; border:none; padding:0;
    color:rgba(253,251,246,0.85);
  }
  .scroll-cue span{
    font-family:var(--sans); font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:inherit; opacity:.85;
  }
  .scroll-cue .wheel-track{
    width:24px; height:38px; border-radius:14px; border:1.5px solid currentColor;
    display:flex; justify-content:center; padding-top:7px; box-sizing:border-box;
  }
  .scroll-cue .wheel-dot{
    width:4px; height:8px; border-radius:3px; background:var(--orange);
    animation:wheel-scroll 1.8s ease-in-out infinite;
  }
  .scroll-cue .chevrons{ display:flex; flex-direction:column; gap:2px; margin-top:-2px; }
  .scroll-cue .chevrons svg{ width:12px; height:7px; animation:chevron-fade 1.8s ease-in-out infinite; }
  .scroll-cue .chevrons svg:nth-child(2){ animation-delay:.25s; }
  .scroll-cue:hover{ color:var(--blush); }
  @keyframes wheel-scroll{
    0%{ transform:translateY(0); opacity:1; }
    60%{ transform:translateY(12px); opacity:0; }
    61%{ transform:translateY(0); opacity:0; }
    100%{ transform:translateY(0); opacity:1; }
  }
  @keyframes chevron-fade{
    0%,100%{ opacity:.25; }
    50%{ opacity:1; }
  }
  @media (prefers-reduced-motion: reduce){
    .scroll-cue .wheel-dot, .scroll-cue .chevrons svg{ animation:none; }
  }
  .eyebrow{
    font-family:var(--sans); font-style:italic; font-weight:700; font-size:16px; color:var(--blush); margin-bottom:8px; display:inline-block;
    text-shadow:0 2px 14px rgba(0,0,0,0.35);
  }
  .hero h1{
    font-size:clamp(32px,5vw,50px); color:#fdfbf6; line-height:1.14; font-weight:400;
    font-style:italic;
    text-shadow:0 4px 26px rgba(0,0,0,0.4), 0 1px 4px rgba(0,0,0,0.5);
  }
  .hero h1 strong{ font-style:normal; font-weight:700; }
  .hero .sub{
    margin:22px 0 0; font-size:21px; max-width:520px; color:rgba(253,251,246,0.92);
    text-shadow:0 2px 16px rgba(0,0,0,0.4);
  }
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--orange); color:#fff; font-weight:500; font-size:15px;
    padding:15px 30px; border-radius:40px;
    border:none; cursor:pointer; text-decoration:none;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(215,60,41,0.3); }
  .btn:active{ transform:translateY(0) scale(.96); box-shadow:0 4px 12px rgba(215,60,41,0.25); }
  .cta-wrap .btn{
    font-family:var(--hand); font-weight:600; font-size:24px; letter-spacing:.01em;
    padding:13px 32px 15px;
  }
  .btn-outline{
    background:transparent; border:1.5px solid var(--teal); color:var(--teal);
  }
  .btn-outline:hover{ box-shadow:0 10px 24px rgba(13,73,64,0.15); }

  /* hand-drawn circle wrap for CTA */
  .cta-wrap{ position:relative; display:inline-block; color:var(--blush); margin-top:44px; }
  .cta-wrap svg.scribble{
    position:absolute; left:50%; top:-35px; transform:translateX(-50%);
    width:calc(100% + 60px); height:calc(100% + 148px);
    pointer-events:none; overflow:visible;
  }
  .hand-note-wrap{
    position:absolute; left:-2%; top:140%; transform:rotate(-4deg);
    display:flex; align-items:flex-start; gap:6px;
    pointer-events:none;
  }
  .hand-note-icon{
    flex-shrink:0; margin-top:2px; color:var(--mint);
    opacity:0; transform:scale(.5) rotate(-20deg);
    transition:opacity .35s ease, transform .35s cubic-bezier(.34,1.56,.64,1);
  }
  .cta-wrap:hover .hand-note-icon, .cta-wrap:focus-within .hand-note-icon{
    opacity:1; transform:scale(1) rotate(0deg);
  }
  .hand-note{
    font-family:var(--hand); font-weight:600; font-size:19px; line-height:1.3;
    color:var(--mint); white-space:nowrap; text-align:left;
  }
  .hand-note .char{ opacity:0; display:inline-block; transition:opacity .15s ease; }
  .cta-wrap:hover .hand-note .char, .cta-wrap:focus-within .hand-note .char{
    opacity:1; transition:opacity .15s ease; transition-delay:var(--d, 0s);
  }
  .hand-note .char.is-space{ width:.3em; }
  .hand-note .caret{
    display:inline-block; width:2px; height:0.9em; background:currentColor;
    margin-left:2px; vertical-align:-0.1em; opacity:0;
  }
  .cta-wrap:hover .hand-note .caret, .cta-wrap:focus-within .hand-note .caret{ animation:caret-type 1.4s steps(1) forwards; }
  @keyframes caret-type{
    0%{ opacity:1; }
    92%{ opacity:1; }
    100%{ opacity:0; }
  }
  @media(max-width:640px){
    .hand-note-wrap{
      left:50%; top:100%; transform:translateX(-50%) rotate(-3deg);
      margin-top:40px; flex-direction:column; align-items:center;
    }
    .hand-note{ white-space:normal; text-align:center; font-size:17px; }
  }
  .cta-wrap svg.scribble path{
    fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; opacity:.92;
  }
  .cta-wrap svg.scribble .s-main{ stroke-width:2; stroke-dasharray:622; stroke-dashoffset:622; }
  .cta-wrap svg.scribble .s-main-oval{ stroke-dasharray:408; stroke-dashoffset:408; }
  .cta-wrap svg.scribble .s-barb{ stroke-width:2; stroke-dasharray:14; stroke-dashoffset:14; }
  .cta-wrap:hover svg.scribble .s-main, .cta-wrap:focus-within svg.scribble .s-main{
    animation:draw 1.1s cubic-bezier(.3,.6,.4,1) forwards;
  }
  .cta-wrap:hover svg.scribble .s-barb, .cta-wrap:focus-within svg.scribble .s-barb{
    animation:draw .18s ease forwards 1.1s;
  }
  @keyframes draw{ to{ stroke-dashoffset:0; } }

  /* ---------- POLL ---------- */
  .poll-section{ padding:110px 0; position:relative; overflow:hidden; }
  .poll-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center; position:relative; z-index:1; }
  .poll-copy h2{ font-size:clamp(26px,3.4vw,36px); color:var(--teal); margin-top:12px; line-height:1.2; }
  .poll-copy p{ margin-top:16px; font-size:16px; color:#4a5650; max-width:400px; }
  .poll-stat{ display:flex; align-items:center; gap:12px; margin-top:32px; }
  .poll-stat .num{ font-family:var(--hand); font-weight:700; font-size:44px; color:var(--berry); }
  .poll-stat .label{ font-size:13px; color:#6b7772; max-width:140px; line-height:1.35; }
  .poll-card{
    background:#fff; border-radius:24px;
    padding:38px 40px 34px; box-shadow:0 18px 44px rgba(13,73,64,0.12);
    position:relative; z-index:2; border:1px solid var(--mint);
  }
  .poll-card-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
  .poll-live{
    display:inline-flex; align-items:center; gap:6px; font-family:var(--sans);
    font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--berry); flex-shrink:0; margin-top:4px;
  }
  .poll-live .dot{ width:7px; height:7px; border-radius:50%; background:var(--orange); animation:poll-pulse 1.6s ease-in-out infinite; }
  @keyframes poll-pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.6); opacity:.35; } }
  .tag{
    font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--berry); font-weight:700;
  }
  .poll-q{ font-family:var(--sans); font-weight:700; font-size:22px; margin-top:12px; color:var(--teal); }
  .poll-opts{ margin-top:24px; display:flex; flex-direction:column; gap:10px; }
  .poll-opt{
    border:1.5px solid var(--mint); border-radius:14px; padding:14px 14px;
    cursor:pointer; font-size:13.5px; transition:.25s; position:relative; overflow:hidden;
    background:var(--cloud); display:flex; align-items:center; gap:9px;
  }
  .poll-opt:hover{ border-color:var(--teal); }
  .poll-opt .radio{
    width:16px; height:16px; border-radius:50%; border:1.5px solid #b6c2b3; flex-shrink:0;
    position:relative; z-index:1; transition:border-color .25s; background:#fff;
  }
  .poll-opt.picked{ border-color:var(--teal); background:#fff; cursor:default; }
  .poll-opt.picked .radio{ border-color:var(--teal); }
  .poll-opt.picked .radio::after{
    content:''; position:absolute; inset:3px; border-radius:50%; background:var(--teal);
  }
  .poll-opt .fill{
    position:absolute; left:0; top:0; bottom:0; background:var(--mint); z-index:0; width:0%;
    transition:width .7s ease;
  }
  .poll-opt .label{ position:relative; z-index:1; flex:1; display:flex; justify-content:space-between; align-items:center; gap:8px; white-space:nowrap; overflow:hidden; }
  .poll-opt .pct{ font-weight:700; color:var(--teal); font-family:var(--sans); font-size:14px; }
  .poll-note{ margin-top:18px; font-family:var(--hand); font-weight:600; font-size:19px; color:#6b7772; }

  /* ---------- SUNBURST MARK ---------- */
  .sunburst{ display:flex; justify-content:center; margin:0 0 20px; }
  .sunburst svg path{ stroke:var(--berry); stroke-width:4.6; stroke-linecap:round; fill:none; }

  /* ---------- CUE DEFINITION ---------- */
  .cue-def{ padding:130px 0 120px; position:relative; overflow:hidden; }
  .cue-def::before{
    content:'cue'; position:absolute; top:-0.18em; left:-0.04em; z-index:0;
    font-family:var(--serif); font-style:italic; font-weight:600;
    font-size:min(32vw, 460px); line-height:1; color:var(--teal); opacity:0.05;
    pointer-events:none; white-space:nowrap; user-select:none;
  }
  .cue-grid{
    display:grid; grid-template-columns:1.05fr 0.85fr; gap:80px; align-items:center;
    position:relative; z-index:1;
  }
  .cue-eyebrow-row{ display:flex; align-items:center; gap:12px; margin-bottom:28px; }
  .cue-eyebrow-row .sunburst{ margin:0; }
  .cue-eyebrow{
    font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--berry); font-weight:700;
  }
  .cue-word-row{ display:flex; align-items:baseline; gap:12px; }
  .cue-word{ font-family:var(--serif); font-style:italic; font-size:50px; color:var(--teal); }
  .cue-leader{
    flex:1; min-width:24px; height:0; align-self:center;
    border-bottom:1.5px dotted var(--mint);
  }
  .cue-pos{ font-family:var(--sans); font-size:14px; color:var(--berry); white-space:nowrap; }
  .cue-mean{ margin-top:22px; font-size:17px; color:#33403c; line-height:1.7; max-width:460px; }
  .cue-mean .num{ font-family:var(--sans); font-weight:700; font-style:normal; color:var(--berry); margin-right:4px; }
  .cue-divider{ width:36px; height:1px; background:var(--mint); margin:30px 0; }
  .cue-example{
    font-family:var(--hand); font-weight:600; font-style:normal; font-size:26px; color:var(--berry);
    line-height:1.35; border-left:2px solid var(--blush); padding-left:16px; max-width:400px;
  }
  .cue-example span{ display:block; font-family:var(--sans); font-style:normal; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#9aa6a0; margin-top:10px; }

  /* polaroid-style photo, breaks the "card on the right" rhythm from the poll section */
  .cue-photo-wrap{ position:relative; display:flex; justify-content:center; z-index:1; }
  .cue-photo{
    position:relative; background:#fffdf9; padding:14px 14px 58px;
    border-radius:4px; max-width:360px; width:100%;
    box-shadow:0 26px 60px rgba(13,73,64,0.22), 0 4px 14px rgba(13,73,64,0.10);
    transform:rotate(-3.5deg);
    transition:transform .5s cubic-bezier(.22,1,.36,1);
  }
  .cue-photo-wrap:hover .cue-photo{ transform:rotate(-0.5deg) scale(1.015); }
  .cue-photo .frame{ position:relative; border-radius:2px; overflow:hidden; aspect-ratio:4/5; }
  .cue-photo .frame img{ width:100%; height:100%; object-fit:cover; display:block; }
  .cue-photo .frame::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(160deg, rgba(13,73,64,0.30), rgba(131,52,84,0.18) 60%, rgba(13,73,64,0.06));
    mix-blend-mode:multiply;
  }
  .cue-photo .cue-mark{
    position:absolute; left:14px; right:14px; bottom:16px; z-index:2;
    display:flex; align-items:center; gap:8px;
  }
  .cue-photo .cue-mark svg{ width:21px; height:21px; flex-shrink:0; color:var(--teal); transform:translateY(2px); }
  .cue-photo .cue-mark span{ color:var(--teal); font-family:var(--logo); font-size:17px; }
  .cue-pin{
    position:absolute; top:-13px; left:50%; transform:translateX(-50%) rotate(-4deg);
    width:48px; height:20px; border-radius:2px;
    background:linear-gradient(180deg, rgba(236,198,199,0.95), rgba(236,198,199,0.75));
    box-shadow:0 4px 10px rgba(0,0,0,0.15); z-index:3;
  }
  .cue-tag{
    position:absolute; bottom:-16px; right:-8px; z-index:3;
    background:var(--orange); color:#fff; font-family:var(--sans); font-weight:700;
    font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
    padding:8px 15px; border-radius:30px; box-shadow:0 8px 20px rgba(215,60,41,0.32);
    transform:rotate(3deg);
  }

  /* ---------- BANNER ---------- */
  .banner{
    background:var(--teal); color:var(--cloud);
    padding:130px 0; text-align:center;
    position:relative; overflow:hidden;
  }
  .banner-glow{
    position:absolute; top:50%; left:50%; width:560px; height:560px;
    background:radial-gradient(circle, rgba(236,198,199,0.14) 0%, rgba(236,198,199,0) 70%);
    pointer-events:none;
    opacity:0; transform:translate(-50%,-50%) scale(.7);
    transition:opacity 1.4s ease .05s, transform 1.6s cubic-bezier(.22,1,.36,1) .05s;
  }
  .banner.in .banner-glow{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  .banner-motif{
    position:absolute; top:50%; left:50%; width:360px; height:360px;
    fill:none; stroke:rgba(242,242,233,0.09); stroke-width:1;
    pointer-events:none;
    opacity:0; transform:translate(-50%,-50%) scale(.55);
    transition:opacity 1.1s cubic-bezier(.22,1,.36,1) .1s, transform 1.3s cubic-bezier(.22,1,.36,1) .1s;
    overflow:visible;
  }
  .banner.in .banner-motif{
    opacity:1; transform:translate(-50%,-50%) scale(1);
  }
  .banner-ring{ transform-origin:50% 50%; transform-box:fill-box; }
  .banner.in .banner-ring-1{ animation:banner-ring-1-motion 8s ease-in-out 1.6s infinite; }
  .banner.in .banner-ring-2{
    stroke:rgba(242,242,233,0.16);
    animation:banner-ring-2-motion 26s linear .8s infinite;
  }
  .banner.in .banner-ring-3{
    stroke:rgba(215,60,41,0.18);
    animation:banner-ring-3-motion 34s linear 0s infinite;
  }
  @keyframes banner-ring-1-motion{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.07); }
  }
  @keyframes banner-ring-2-motion{
    0%{ transform:scale(1) rotate(0deg); }
    50%{ transform:scale(.9) rotate(180deg); }
    100%{ transform:scale(1) rotate(360deg); }
  }
  @keyframes banner-ring-3-motion{
    0%{ transform:scale(1) rotate(0deg); }
    50%{ transform:scale(1.12) rotate(-180deg); }
    100%{ transform:scale(1) rotate(-360deg); }
  }
  .banner h3{
    position:relative; z-index:1;
    font-size:clamp(22px,3.2vw,34px); font-weight:400; color:var(--cloud);
    display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:0.4em;
    max-width:740px; margin:0 auto;
    transform:scale(.86);
    transition:transform 1.5s cubic-bezier(.16,1,.3,1);
  }
  .banner.in h3{ transform:scale(1); }
  .banner-word{ opacity:0; transform:translateY(18px); }
  .banner.in .banner-word{ animation:banner-rise .85s cubic-bezier(.22,1,.36,1) forwards; }
  .banner.in .banner-word:nth-child(1){ animation-delay:.05s; }
  .banner.in .banner-word:nth-child(2){ animation-delay:.4s; }
  .banner.in .banner-word:nth-child(3){ animation-delay:.85s; }
  @keyframes banner-rise{ to{ opacity:1; transform:translateY(0); } }
  .banner-script{ position:relative; display:inline-block; }
  .banner-script em{
    font-family:var(--logo); font-style:normal; color:var(--blush);
    font-size:1.5em; line-height:1; padding:0 .06em; display:inline-block;
  }
  .banner-underline{
    position:absolute; left:2%; bottom:-8px; width:96%; height:16px; overflow:visible;
  }
  .banner-underline path{
    fill:none; stroke:var(--orange); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;
    stroke-dasharray:340; stroke-dashoffset:340;
  }
  .banner.in .banner-underline path{
    animation:banner-draw 1s ease-out forwards; animation-delay:1.15s;
  }
  @keyframes banner-draw{ to{ stroke-dashoffset:0; } }
  @media (prefers-reduced-motion: reduce){
    .banner-word{ opacity:1; transform:none; animation:none; }
    .banner-underline path{ stroke-dashoffset:0; animation:none; }
  }

  /* ---------- CHOOSE YOUR PATH ---------- */
  .paths{
    padding:100px 0 110px; position:relative; overflow:hidden;
    background:
      radial-gradient(60% 70% at 12% 0%, rgba(236,198,199,0.35) 0%, rgba(236,198,199,0) 60%),
      radial-gradient(55% 65% at 100% 10%, rgba(202,211,193,0.4) 0%, rgba(202,211,193,0) 60%),
      var(--cloud);
  }
  .paths-head{ max-width:720px; margin:0 auto; text-align:center; position:relative; z-index:1; }
  .paths-tag{ display:inline-flex; align-items:center; gap:8px; }
  .paths-tag svg{ flex-shrink:0; }
  .paths-head h2{
    margin-top:14px; font-size:clamp(28px,4vw,44px); color:var(--teal); line-height:1.15; font-weight:500;
  }
  .paths-accent{ color:var(--berry); }
  .paths-head p{ margin-top:18px; font-size:16px; line-height:1.6; color:#4a5650; }

  .paths-grid{
    margin-top:56px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
    position:relative; z-index:1;
  }
  .path-card{
    background:#fff; border:1px solid var(--mint); border-radius:20px;
    padding:42px 26px 32px; text-align:center; position:relative; overflow:hidden;
    box-shadow:0 16px 36px -26px rgba(13,73,64,.3);
    display:flex; flex-direction:column; align-items:center;
    transition:opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1),
      box-shadow .35s ease;
    opacity:0; transform:translateY(52px) scale(.93);
  }
  .path-card::before{
    content:''; position:absolute; top:0; left:0; right:0; height:4px;
    background:var(--berry); transform:scaleX(0); transform-origin:left;
    transition:transform .7s cubic-bezier(.22,1,.36,1) .25s;
  }
  .path-card.in::before{ transform:scaleX(1); }
  .path-card:nth-child(2)::before{ background:var(--teal); }
  .path-card:nth-child(3)::before{ background:var(--teal); }
  .path-card:nth-child(4)::before{ background:var(--orange); }

  .path-num{
    position:absolute; top:18px; right:22px; font-family:var(--sans); font-size:12px;
    font-weight:700; letter-spacing:.06em; color:var(--mint);
    opacity:0; transition:opacity .5s ease .5s;
  }
  .path-card.in .path-num{ opacity:1; }

  .path-card.in{ opacity:1; transform:translateY(0) scale(1); }
  .paths-grid .path-card:nth-child(2){ transition-delay:.12s; }
  .paths-grid .path-card:nth-child(3){ transition-delay:.24s; }
  .paths-grid .path-card:nth-child(4){ transition-delay:.36s; }
  .path-card.in:hover{ transform:translateY(-8px); box-shadow:0 28px 52px -20px rgba(13,73,64,.4); }

  .path-icon{
    width:64px; height:64px; margin:0 auto 20px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--blush); color:var(--berry);
    opacity:0; transform:scale(.3) rotate(-25deg);
    transition:transform .65s cubic-bezier(.34,1.56,.64,1) .3s, opacity .45s ease .3s,
      background .3s ease, color .3s ease;
  }
  .path-card.in .path-icon{ opacity:1; transform:scale(1) rotate(0deg); }
  .path-card.in:hover .path-icon{ transform:scale(1.1) rotate(-8deg); }
  .path-card:nth-child(2) .path-icon{ background:var(--mint); color:var(--teal); }
  .path-card:nth-child(3) .path-icon{ background:rgba(13,73,64,0.12); color:var(--teal); }
  .path-card:nth-child(4) .path-icon{ background:rgba(215,60,41,0.12); color:var(--orange); }
  .path-card.in:hover:nth-child(1) .path-icon{ background:var(--berry); color:#fff; }
  .path-card.in:hover:nth-child(2) .path-icon{ background:var(--teal); color:#fff; }
  .path-card.in:hover:nth-child(3) .path-icon{ background:var(--teal); color:#fff; }
  .path-card.in:hover:nth-child(4) .path-icon{ background:var(--orange); color:#fff; }

  .path-card h4{
    font-family:var(--sans); font-size:16px; font-weight:700; letter-spacing:0.05em;
    text-transform:uppercase; color:var(--teal); line-height:1.35;
    min-height:2.7em; display:flex; align-items:center; justify-content:center;
    opacity:0; transform:translateY(10px);
    transition:opacity .5s ease .38s, transform .5s ease .38s;
  }
  .path-card.in h4{ opacity:1; transform:translateY(0); }
  .path-card p{
    margin:10px 0 22px; font-size:14.5px; line-height:1.55; color:#4a5650;
    opacity:0; transform:translateY(10px);
    transition:opacity .5s ease .44s, transform .5s ease .44s;
  }
  .path-card.in p{ opacity:1; transform:translateY(0); }
  .path-btn{
    margin-top:auto !important; margin-bottom:0 !important; font-size:14px !important; padding:12px 22px !important;
    display:inline-flex !important; align-items:center; gap:8px !important;
    opacity:0; transform:translateY(10px);
    transition:opacity .5s ease .5s, transform .5s ease .5s,
      background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .path-card.in .path-btn{ opacity:1; transform:translateY(0); }
  .path-btn svg{ transition:transform .3s cubic-bezier(.22,1,.36,1); flex-shrink:0; }
  .path-btn:hover svg{ transform:translateX(5px); }
  .path-btn:hover{ background:var(--teal); color:#fff; box-shadow:0 10px 20px rgba(13,73,64,.25); }

  .path-card.active{ box-shadow:0 28px 52px -20px rgba(13,73,64,.4); transform:translateY(-4px); }
  .path-card.active .path-btn{
    background:var(--berry); color:#fff; border-color:var(--berry);
  }
  .path-card:nth-child(2).active .path-btn{ background:var(--teal); border-color:var(--teal); }
  .path-card:nth-child(3).active .path-btn{ background:var(--teal); border-color:var(--teal); }
  .path-card:nth-child(4).active .path-btn{ background:var(--orange); border-color:var(--orange); }

  /* ---------- PATH DETAIL PANEL ---------- */
  .path-detail{
    max-height:0; opacity:0; overflow:hidden; margin-top:0;
    border-radius:24px;
    transition:max-height .6s cubic-bezier(.22,1,.36,1), opacity .5s ease, margin-top .6s ease;
  }
  .path-detail.open{ max-height:1100px; opacity:1; margin-top:32px; }
  .path-detail-inner{
    position:relative; padding:52px 48px; overflow:hidden;
    background:
      radial-gradient(120% 140% at 0% 0%, rgba(215,60,41,0.35) 0%, rgba(215,60,41,0) 45%),
      radial-gradient(120% 140% at 100% 100%, rgba(202,211,193,0.25) 0%, rgba(202,211,193,0) 45%),
      linear-gradient(135deg, var(--teal) 0%, #0a3a32 55%, var(--berry) 140%);
    color:var(--cloud); border-radius:24px;
    box-shadow:0 30px 70px -20px rgba(13,73,64,0.4);
  }
  .path-detail-icon-bg{
    position:absolute; right:-60px; bottom:-60px; width:340px; height:340px;
    opacity:.08; pointer-events:none; z-index:0;
  }
  .path-detail-close{
    position:absolute; top:26px; right:26px; width:38px; height:38px; border-radius:50%;
    background:rgba(8,26,22,0.35); border:1px solid rgba(242,242,233,0.3);
    color:var(--cloud); display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition:background .2s ease, border-color .2s ease, transform .2s ease; z-index:2;
    box-shadow:0 4px 14px rgba(0,0,0,0.2);
  }
  .path-detail-close:hover{ background:var(--orange); border-color:var(--orange); transform:rotate(90deg); }
  .path-detail-grid{
    position:relative; z-index:1; display:grid; grid-template-columns:1.3fr 1fr;
    gap:52px; align-items:start;
  }
  .path-detail-head{
    display:flex; align-items:center; gap:18px; margin-bottom:32px;
    padding-bottom:26px; border-bottom:1px solid rgba(242,242,233,0.16);
  }
  .path-detail-icon{
    flex-shrink:0; width:60px; height:60px; border-radius:18px;
    background:rgba(242,242,233,0.14); border:1px solid rgba(242,242,233,0.25);
    display:flex; align-items:center; justify-content:center; color:var(--blush);
    box-shadow:0 8px 20px -6px rgba(0,0,0,0.3);
  }
  .path-detail-head h4{
    font-family:var(--serif); font-weight:500; font-size:25px; color:var(--cloud); margin:0;
  }
  .path-detail-tagline{ margin-top:5px; font-size:14.5px; color:rgba(242,242,233,0.75); }
  .path-detail-cols{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .path-detail-col{
    background:rgba(242,242,233,0.06); border:1px solid rgba(242,242,233,0.14);
    border-radius:16px; padding:22px 22px 18px;
  }
  .path-detail-col h5{
    font-family:var(--serif); font-style:italic; font-weight:400; font-size:17px;
    color:rgba(242,242,233,0.85); margin-bottom:16px;
  }
  .path-detail-col ul{ list-style:none; margin:0; padding:0; }
  .path-detail-col li{
    font-size:14.5px; padding:8px 0 8px 24px; color:var(--cloud); position:relative;
    line-height:1.4;
  }
  .path-detail-col li + li{ border-top:1px solid rgba(242,242,233,0.09); }
  .path-detail-col li::before{
    content:''; position:absolute; left:0; top:15px; width:6px; height:6px; border-radius:50%;
    background:var(--blush);
  }
  .path-detail-cta{
    text-align:center; padding:36px 28px 92px; border-radius:20px;
    background:rgba(242,242,233,0.08); border:1px solid rgba(242,242,233,0.18);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:6px; position:relative; overflow:hidden;
    margin-top:56px; min-height:280px;
  }
  .path-detail-cta::before{
    content:''; position:absolute; top:-40%; left:50%; transform:translateX(-50%);
    width:260px; height:260px; border-radius:50%;
    background:radial-gradient(circle, rgba(215,60,41,0.25) 0%, rgba(215,60,41,0) 70%);
    pointer-events:none;
  }
  .path-detail-cta-eyebrow{
    font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:700;
    color:var(--blush); position:relative;
  }
  .path-detail-cta-label{
    font-family:var(--serif); font-style:italic; font-size:20px; color:var(--cloud);
    margin-bottom:8px; margin-top:6px; position:relative; line-height:1.3;
  }
  .path-cta-wrap{ color:var(--blush); position:relative; }
  .path-cta-wrap .btn{ background:var(--orange); }
  .path-cta-wrap .btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(215,60,41,0.35); }
  .path-hand-note .hand-note{ color:rgba(242,242,233,0.85); }
  .path-hand-note .hand-note-icon{ color:rgba(242,242,233,0.85); }
  .path-hand-note.hand-note-wrap{ top:155%; }

  @media(max-width:900px){
    .path-detail-grid{ grid-template-columns:1fr; gap:32px; }
    .path-detail-cta{ padding:32px 24px; }
  }
  @media(max-width:700px){
    .path-detail-inner{ padding:36px 26px; }
    .path-detail-cols{ grid-template-columns:1fr; gap:16px; }
    .path-detail.open{ max-height:1300px; }
  }

  /* ---------- MARQUEE ---------- */
  .marquee{
    background:var(--cloud); padding:26px 0; overflow:hidden;
    border-top:1px solid var(--mint); border-bottom:1px solid var(--mint);
  }
  .marquee-track{
    display:flex; width:max-content;
    animation:marquee-scroll 24s linear infinite;
  }
  .marquee-track span{
    font-family:var(--serif); font-size:26px; color:var(--black);
    white-space:nowrap; padding:0 28px;
  }
  @keyframes marquee-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  @media (prefers-reduced-motion: reduce){
    .marquee-track{ animation:none; }
  }

  /* ---------- WHAT WE DO — scroll-driven clip-path reveal ---------- */
  .what-pin-wrap{ position:relative; height:260vh; background:var(--cloud); }
  .what-pin-sticky{
    position:sticky; top:0; height:100vh; overflow:hidden;
    display:flex; align-items:center; justify-content:center; background:var(--cloud);
  }
  /* Once the reveal finishes, we swap sticky -> fixed via JS so the image stays
     pinned in the background while the next section scrolls up over it (same
     parallax technique as the hero). Releases back to sticky if scrolled back up. */
  .what-pin-sticky.locked{ position:fixed; top:0; left:0; right:0; z-index:1; }
  .what-pin-sticky .what-lines{
    position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;
    gap:88px;
  }
  .what-line{
    font-family:var(--sans); font-weight:400; font-size:clamp(24px,4.2vw,44px);
    color:var(--black); line-height:1.3; text-align:center; white-space:nowrap;
    will-change:opacity;
  }
  .what-line.bottom{ color:#5b6862; }
  .what-reveal-img{
    position:absolute; inset:0; width:100%; height:100%; z-index:2;
    clip-path:inset(46% 37% round 16px);
    will-change:clip-path;
  }
  .what-reveal-img img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  }
  .what-reveal-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,8,8,0.15) 0%, rgba(10,8,8,0.48) 100%);
    opacity:0.15; will-change:opacity;
  }
  .what-header-title{
    position:absolute; z-index:3; left:0; right:0; text-align:center; pointer-events:none;
    color:#fff; font-family:var(--serif); font-style:italic; font-weight:400;
    font-size:clamp(30px,5vw,54px); opacity:0; will-change:opacity;
  }
  @media (prefers-reduced-motion: reduce){
    .what-pin-wrap{ height:auto; }
    .what-pin-sticky{ position:relative; height:70vh; min-height:440px; }
    .what-reveal-img{ clip-path:none !important; }
    .what-reveal-overlay{ opacity:0.4 !important; }
    .what-line{ display:none; }
    .what-header-title{ opacity:1 !important; }
  }

  .what-rows{ min-height:100vh; display:flex; align-items:center; padding:20px 0 40px; background:var(--cloud); position:relative; z-index:2; box-sizing:border-box; }
  .what-steps{
    position:relative; max-width:660px; margin:0 auto;
    background:#fff; border-radius:28px; padding:20px 44px 8px;
    box-shadow:0 30px 60px -40px rgba(13,73,64,.35); border:1px solid #ece7d9;
  }
  .what-steps::before{
    content:''; position:absolute; left:77px; top:12px; bottom:34px; width:2px; z-index:0;
    background:var(--mint); transform:scaleY(0); transform-origin:top;
    transition:transform 1.1s cubic-bezier(.22,1,.36,1) .2s;
  }
  .what-steps.in::before{ transform:scaleY(1); }
  .what-row{
    display:grid; grid-template-columns:68px 1fr; gap:26px; align-items:flex-start;
    padding:26px 0; position:relative; z-index:1;
  }
  .what-row:not(:last-child){ border-bottom:1px dashed #ece7d9; }
  .what-row-marker{
    width:68px; height:68px; border-radius:50%; background:var(--blush); border:none;
    display:flex; align-items:center; justify-content:center; position:relative; z-index:1;
    box-shadow:0 10px 24px -12px rgba(13,73,64,0.25);
    color:var(--berry);
    opacity:0; transform:scale(.6);
    transition:opacity .6s cubic-bezier(.34,1.56,.64,1), transform .6s cubic-bezier(.34,1.56,.64,1),
      background .3s ease, color .3s ease;
  }
  .what-row-icon{
    display:flex; opacity:0; transform:scale(.3) rotate(-25deg);
    transition:opacity .45s ease .32s, transform .5s cubic-bezier(.34,1.56,.64,1) .32s;
  }
  .what-row.in .what-row-icon{ opacity:1; transform:scale(1) rotate(0deg); }
  .what-row-icon svg{ width:28px; height:28px; }
  .what-row-marker::after{
    content:''; position:absolute; inset:-6px; border-radius:50%;
    border:1.5px solid currentColor; opacity:0; transform:scale(.8);
  }
  .what-row.in .what-row-marker::after{
    animation:marker-pulse 1s cubic-bezier(.22,1,.36,1) .55s;
  }
  @keyframes marker-pulse{
    0%{ opacity:.55; transform:scale(.8); }
    100%{ opacity:0; transform:scale(1.35); }
  }
  .what-row:hover .what-row-marker{ transform:scale(1.08); }
  .what-row:hover .what-row-icon{ transform:scale(1) rotate(-8deg); }
  .what-row:nth-child(2) .what-row-marker{ background:var(--mint); color:var(--teal); }
  .what-row:nth-child(3) .what-row-marker{ color:var(--orange); }
  .what-row.in .what-row-marker{ opacity:1; transform:scale(1); }
  .what-row-num{
    font-family:var(--sans); font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--berry); font-weight:700; display:block; margin-bottom:6px;
    opacity:0; transform:translateY(14px);
    transition:opacity .6s ease, transform .6s ease;
  }
  .what-row:nth-child(2) .what-row-num{ color:var(--teal); }
  .what-row:nth-child(3) .what-row-num{ color:var(--orange); }
  .what-row h3{
    font-family:var(--serif); font-style:italic; font-size:clamp(28px,4vw,38px);
    color:var(--teal); line-height:1;
    opacity:0; transform:translateY(22px);
    transition:opacity .7s ease .08s, transform .7s ease .08s;
  }
  .what-row p{
    margin-top:10px; font-size:16px; color:#33403c; max-width:460px; line-height:1.6;
    opacity:0; transform:translateY(18px);
    transition:opacity .7s ease .18s, transform .7s ease .18s;
  }
  .what-row.in .what-row-num,
  .what-row.in h3,
  .what-row.in p{ opacity:1; transform:translateY(0); }

  .what-cta{
    max-width:660px; margin:36px auto 0; text-align:center;
    opacity:0; transform:translateY(16px);
    transition:opacity .6s ease, transform .6s ease;
  }
  .what-cta.in{ opacity:1; transform:translateY(0); }
  .what-cta-btn{ gap:10px !important; }
  .what-cta-btn svg{ transition:transform .3s cubic-bezier(.22,1,.36,1); }
  .what-cta-btn:hover svg{ transform:translateX(4px); }

  /* ---------- ASSESSMENT ---------- */
  .assess{ padding:100px 0; background:var(--mint); overflow:hidden; position:relative; }
  .assess-watermark{
    position:absolute; left:-60px; top:50%; transform:translateY(-50%);
    width:420px; height:420px; opacity:.16; pointer-events:none; z-index:0;
    color:var(--cloud);
  }
  .assess-inner{
    display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center;
    transition:grid-template-columns .5s cubic-bezier(.22,1,.36,1), gap .5s cubic-bezier(.22,1,.36,1);
    position:relative;
  }
  .assess-inner.result-wide{ grid-template-columns:0fr 1fr; gap:0; }
  .assess-copy{
    min-width:0; overflow:hidden; opacity:1; transform:translateX(0);
    transition:opacity .25s ease, transform .25s ease;
  }
  .assess-copy.copy-hidden{ opacity:0; transform:translateX(-24px); pointer-events:none; }
  .assess-copy h2{ font-size:clamp(26px,3.6vw,36px); color:var(--teal); }
  .assess-copy p{ margin-top:16px; font-size:16px; color:#233a34; max-width:440px;}
  .assess-card{
    background:var(--cloud); border-radius:26px; overflow:hidden;
    box-shadow:0 20px 50px rgba(13,73,64,0.16);
    position:relative;
    transition:position 0s, top 0s;
  }
  .assess-card-backdrop{
    position:fixed; inset:0; background:rgba(13,32,28,0);
    opacity:0; pointer-events:none; z-index:998;
    transition:background .4s ease, opacity .4s ease;
  }
  .assess-card-backdrop.show{
    background:rgba(13,32,28,0.55); opacity:1; pointer-events:auto;
  }
  .assess-card.result-active{
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    width:min(92vw, 900px); z-index:999;
    max-height:90vh; display:flex; flex-direction:column;
  }
  .assess-card.result-active .assess-result{ display:flex; flex-direction:column; flex:1; min-height:0; }
  .assess-card.result-active .assess-result-scroll{ min-height:0; }
  .assess-card-top{ height:6px; background:linear-gradient(90deg, var(--orange), var(--berry)); }
  .assess-form{
    padding:34px 40px 38px; opacity:1; transform:translateY(0) scale(1);
    transition:opacity .35s ease, transform .35s ease;
  }
  .assess-form.fading{ opacity:0; transform:translateY(-14px) scale(.98); pointer-events:none; }
  .assess-result{ padding:0 40px 40px; }
  .progress-dots{ display:flex; gap:8px; margin-bottom:26px; }
  .progress-dots .seg{ flex:1; height:5px; border-radius:10px; background:#dfe6de; overflow:hidden; }
  .progress-dots .seg span{ display:block; height:100%; width:0%; background:var(--orange); transition:width .4s ease; }
  .progress-dots .seg.done span{ width:100%; }
  .progress-dots .seg.active span{ width:55%; }
  .progress-label{ font-size:12px; color:var(--berry); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:10px; font-weight:700;}
  .assess-q{ font-family:var(--sans); font-weight:700; font-size:21px; color:var(--teal); margin-bottom:20px; min-height:60px;}
  .assess-opts{ display:flex; flex-direction:column; gap:10px; }
  .assess-opt{
    border:1.5px solid #c9d3c6; background:#fff; border-radius:14px; padding:11px 16px 11px 11px;
    font-size:14px; cursor:pointer; transition:.2s;
    display:flex; align-items:center; gap:12px;
  }
  .assess-opt:hover{ border-color:var(--orange); background:var(--blush); }
  .assess-opt .letter{
    width:26px; height:26px; border-radius:50%; background:var(--teal); color:var(--cloud);
    font-family:var(--sans); font-weight:700; font-size:12px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; transition:background .2s ease;
  }
  .assess-opt:hover .letter{ background:var(--orange); }
  .assess-result{
    display:none; opacity:0; transform:translateY(18px) scale(.98); position:relative;
    transition:opacity .45s cubic-bezier(.22,1,.36,1), transform .45s cubic-bezier(.22,1,.36,1);
  }
  .assess-result.show{ display:block; }
  .assess-result.show.visible{ opacity:1; transform:translateY(0) scale(1); }
  .assess-result-scroll{
    max-height:min(78vh, 760px); overflow-y:auto; padding-right:8px;
    scrollbar-width:thin; scrollbar-color:rgba(13,73,64,0.3) transparent;
  }
  .assess-card.result-active .assess-result-scroll{
    max-height:none; flex:1; overflow-y:auto;
  }
  .assess-result-scroll::-webkit-scrollbar{ width:6px; }
  .assess-result-scroll::-webkit-scrollbar-track{ background:transparent; }
  .assess-result-scroll::-webkit-scrollbar-thumb{ background:rgba(13,73,64,0.25); border-radius:10px; }
  .assess-result-scroll::-webkit-scrollbar-thumb:hover{ background:rgba(13,73,64,0.4); }
  .assess-close{
    position:absolute; top:20px; right:20px; width:34px; height:34px; border-radius:50%;
    background:rgba(13,73,64,0.06); border:1px solid rgba(13,73,64,0.14);
    color:var(--teal); display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition:background .2s ease, transform .2s ease, border-color .2s ease;
    z-index:2;
  }
  .assess-close:hover{ background:var(--berry); border-color:var(--berry); color:#fff; transform:rotate(90deg); }
  .assess-level{ font-family:var(--logo); font-weight:400; font-size:24px; color:#233a34; padding-top:30px; }
  .assess-level strong{ color:var(--teal); font-weight:400; }
  .assess-percent{ font-family:var(--sans); font-weight:800; font-size:40px; color:var(--berry); margin-top:2px; line-height:1; }
  .assess-bar{ width:100%; height:9px; border-radius:10px; background:var(--mint); margin-top:14px; overflow:hidden; }
  .assess-bar-fill{ height:100%; width:0%; border-radius:10px; background:linear-gradient(90deg, var(--berry), var(--orange)); transition:width 1s cubic-bezier(.22,1,.36,1); }
  .assess-tagline{ margin-top:12px; font-family:var(--hand); font-weight:600; font-size:20px; line-height:1.3; color:var(--berry); }
  .assess-insights-title{ margin-top:20px; font-family:var(--sans); font-weight:700; font-size:14.5px; color:var(--teal); }
  .assess-insights{ margin-top:10px; display:grid; grid-template-columns:1fr; gap:9px; }
  .assess-inner.result-wide .assess-insights{ grid-template-columns:1fr 1fr; }
  .assess-insight{
    display:flex; align-items:flex-start; gap:10px;
    background:#fff; border-radius:12px; padding:12px 14px; border:1px solid var(--mint);
  }
  .assess-insight svg{ flex-shrink:0; color:var(--berry); margin-top:1px; width:17px; height:17px; }
  .assess-insight-statement{ font-size:12.5px; font-weight:700; color:#233a34; line-height:1.4; }
  .assess-insight-response{ margin-top:3px; font-size:11.5px; color:#6b7772; }
  .assess-narrative{
    margin-top:16px; padding:16px 18px; background:#fff; border-radius:12px; border-left:3px solid var(--orange);
    display:grid; grid-template-columns:1fr; gap:0;
  }
  .assess-inner.result-wide .assess-narrative{ grid-template-columns:1fr 1fr; column-gap:28px; }
  .assess-narrative-intro{ font-family:var(--serif); font-style:italic; font-size:15px; color:var(--berry); line-height:1.4; }
  .assess-narrative-body{ margin-top:9px; font-size:13px; line-height:1.55; color:#3a463f; }
  .assess-narrative-cue{ margin-top:9px; font-size:13px; line-height:1.5; color:#233a34; }
  .assess-narrative-cue strong{ color:var(--teal); }
  .assess-narrative-closing{ margin-top:9px; font-size:12px; line-height:1.5; color:#6b7772; }
  .assess-inner.result-wide .assess-narrative-intro{ grid-column:1; grid-row:1; }
  .assess-inner.result-wide .assess-narrative-body{ grid-column:1; grid-row:2; }
  .assess-inner.result-wide .assess-narrative-cue{ grid-column:2; grid-row:1; margin-top:0; }
  .assess-inner.result-wide .assess-narrative-closing{ grid-column:2; grid-row:2; }
  .assess-based-on{ margin-top:16px; font-size:12px; line-height:1.5; color:#6b7772; }
  .assess-actions{ margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; }
  .assess-actions .btn{ font-size:14px !important; padding:12px 22px !important; }
  .assess-form.hide{ display:none; }
  @media(max-width:900px){
    .assess-inner.result-wide{ grid-template-columns:1fr; }
    .assess-inner.result-wide .assess-insights{ grid-template-columns:1fr; }
    .assess-inner.result-wide .assess-narrative{ grid-template-columns:1fr; }
    .assess-inner.result-wide .assess-narrative-intro{ grid-column:1; grid-row:auto; }
    .assess-inner.result-wide .assess-narrative-body{ grid-column:1; grid-row:auto; }
    .assess-inner.result-wide .assess-narrative-cue{ grid-column:1; grid-row:auto; margin-top:9px; }
    .assess-inner.result-wide .assess-narrative-closing{ grid-column:1; grid-row:auto; }
  }

  /* ---------- WHO WE HELP ---------- */
  .who{ padding:100px 0; }
  .who-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:44px;}
  .who-card{
    border-radius:22px; background:#fff; border:1px solid var(--mint); overflow:hidden;
    box-shadow:0 18px 40px -24px rgba(13,73,64,.35);
    border-top:5px solid var(--berry);
    transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1),
      box-shadow .3s ease, transform .3s ease;
    opacity:0; transform:translateY(46px) scale(.96);
  }
  .who-card:nth-child(2){ border-top-color:var(--teal); }
  .who-card.in{ opacity:1; transform:translateY(0) scale(1); }
  .who-card.in:hover{ transform:translateY(-6px); box-shadow:0 24px 48px -20px rgba(13,73,64,.4); }
  .who-grid .who-card:nth-child(2){ transition-delay:.12s; }
  .who-card .who-img{ width:100%; height:230px; object-fit:cover; display:block; }
  .who-card .who-body{ padding:32px 38px 38px; }
  .who-card .who-kicker{
    display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em;
    text-transform:uppercase; color:var(--berry); margin-bottom:10px;
  }
  .who-card:nth-child(2) .who-kicker{ color:var(--teal); }
  .who-card h4{ color:var(--berry); font-size:22px; }
  .who-card:nth-child(2) h4{ color:var(--teal); }
  .who-card p{ margin-top:12px; font-size:16px; color:#4a5650; }

  /* ---------- SECTION DIVIDER ---------- */
  .sec-divider{
    display:flex; align-items:center; justify-content:center; gap:18px;
    max-width:1140px; margin:0 auto 56px; padding:0 24px;
    opacity:0; transform:translateY(16px);
    transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);
  }
  .sec-divider.in{ opacity:1; transform:translateY(0); }
  .sec-divider-line{
    flex:1; height:1px; max-width:220px;
    background:linear-gradient(90deg, transparent, var(--mint));
  }
  .sec-divider-line + .sec-divider-mark + .sec-divider-line{
    background:linear-gradient(90deg, var(--mint), transparent);
  }
  .sec-divider-mark{
    width:36px; height:36px; border-radius:50%; border:1px solid var(--blush);
    background:var(--blush); display:flex; align-items:center; justify-content:center;
    color:var(--berry); flex-shrink:0;
  }

  /* ---------- VIDEO ---------- */
  .video-sec{
    padding:100px 0; position:relative; overflow:hidden;
    background:
      radial-gradient(45% 55% at 50% 0%, rgba(202,211,193,0.45) 0%, rgba(202,211,193,0) 70%),
      radial-gradient(50% 60% at 100% 100%, rgba(236,198,199,0.4) 0%, rgba(236,198,199,0) 70%),
      var(--cloud);
  }
  .video-frame{
    position:relative; max-width:820px; margin:44px auto 0; aspect-ratio:16/9;
    background:linear-gradient(135deg,var(--teal),#123f37);
    border-radius:24px; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .video-frame video{ width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; }
  .play-btn{
    width:74px; height:74px; border-radius:50%; background:var(--orange);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    box-shadow:0 0 0 14px rgba(255,255,255,0.08);
    transition:transform .3s, opacity .3s;
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    z-index:2; pointer-events:none;
  }
  .video-frame.playing .play-btn{ opacity:0; }
  .video-frame:hover .play-btn{ transform:translate(-50%,-50%) scale(1.08); }
  .play-btn svg{ margin-left:4px; }
  .video-caption{ position:absolute; bottom:20px; left:24px; color:var(--cloud); font-size:13px; opacity:.75; z-index:2; pointer-events:none;}
  .video-frame.playing .video-caption{ opacity:0; }

  /* ---------- BOOK A CALL ---------- */

  .book-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center; text-align:left; }
  .book-copy h2{ font-size:clamp(26px,3.6vw,38px); color:var(--berry); max-width:460px; margin-top:14px; }
  .book-copy p.sub{ margin-top:16px; font-size:16px; color:#5c2c3d; max-width:420px; }
  .book-photo-wrap{ display:flex; flex-direction:column; align-items:center; }
  .book-photo-inner{ position:relative; }
  .book-photo{ transform:rotate(3deg); }
  .book-photo:hover{ transform:rotate(0deg) scale(1.02); }
  .book-hashtags{
    margin-top:26px; max-width:300px; text-align:center;
    font-family:var(--hand); font-weight:600; font-size:19px; line-height:1.5;
    color:var(--berry); transform:rotate(-1.5deg);
    opacity:0; transition:opacity .8s ease .3s, transform .8s ease .3s;
  }
  .reveal.in .book-hashtags{ opacity:1; }
  .book-hashtags span{ color:var(--orange); font-family:var(--sans); font-weight:700; }

  /* ---------- FOOTER ---------- */
  footer{
    position:relative; z-index:0; overflow:hidden;
    background:radial-gradient(120% 140% at 12% 0%, #135049 0%, var(--teal) 46%, #082e28 100%);
    color:var(--cloud); padding:110px 0 34px;
  }
  /* Footer does nothing special for almost the whole page. Only once the user
     has scrolled into the final "Book a Call" section do we pin the footer to
     the bottom of the viewport (via JS), so Book a Call can visibly slide up
     and reveal it — never active anywhere else on the page. */
  footer.pinned{ position:fixed; bottom:0; left:0; right:0; }
  #footerSpacer{ display:block; }
  .book{
    padding:100px 0; text-align:center; background:var(--blush);
    position:relative; z-index:2; overflow:hidden;
    border-radius:0 0 32px 32px;
    box-shadow:0 30px 50px -20px rgba(0,0,0,0.25);
  }
  footer::before{
    content:''; position:absolute; top:0; left:0; right:0; height:4px; z-index:2;
    background:linear-gradient(90deg,var(--berry),var(--blush),var(--mint),var(--teal));
  }
  .foot-watermark{
    position:absolute; right:-0.05em; bottom:-0.3em; z-index:0;
    font-family:var(--serif); font-style:italic; font-weight:600;
    font-size:min(26vw,320px); line-height:1; color:var(--blush); opacity:0.06;
    pointer-events:none; user-select:none;
  }
  .foot-wrap{ position:relative; z-index:1; }

  .foot-panel{
    background:rgba(242,242,233,0.045); border:1px solid rgba(242,242,233,0.1);
    border-radius:28px; padding:56px 56px 52px;
    box-shadow:0 30px 60px -30px rgba(0,0,0,0.35);
  }

  .foot-logo-lockup{ display:block; height:38px; width:auto; margin-bottom:26px; }
  .foot-invite{ font-family:var(--hand); font-style:normal; font-weight:600; font-size:26px; line-height:1.35; max-width:320px; color:var(--blush); margin-top:2px; }
  .foot-social{ display:flex; gap:12px; margin-top:28px; }
  .foot-social-btn{
    width:40px; height:40px; border-radius:50%; border:1px solid rgba(242,242,233,0.28);
    display:flex; align-items:center; justify-content:center; color:var(--cloud);
    transition:background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
  }
  .foot-social-btn:hover{ background:var(--blush); border-color:var(--blush); color:var(--teal); transform:translateY(-3px); }

  .foot-top{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:40px 44px; }
  .foot-top > div:nth-of-type(2){ border-left:1px solid rgba(242,242,233,0.12); padding-left:44px; }

  .foot-col h5{
    position:relative; padding-top:16px; font-size:12px; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--mint); margin-bottom:18px; font-weight:700;
  }
  .foot-col h5::before{ content:''; position:absolute; top:0; left:0; width:22px; height:3px; border-radius:2px; background:var(--mint); }
  .foot-top > div:nth-of-type(3) h5::before{ background:var(--blush); }
  .foot-top > div:nth-of-type(4) h5::before{ background:var(--orange); }

  .foot-link{
    display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--cloud);
    opacity:.82; margin-bottom:13px; text-decoration:none;
    transition:opacity .2s ease, transform .2s ease, color .2s ease;
  }
  .foot-link:hover{ opacity:1; color:var(--blush); transform:translateX(4px); }
  .foot-link svg{ flex-shrink:0; opacity:.75; transition:opacity .2s ease; }
  .foot-link:hover svg{ opacity:1; }
  .foot-def h5{
    font-family:var(--sans); font-style:italic; font-weight:700; letter-spacing:0;
    text-transform:none; font-size:18px; color:var(--blush); padding-top:18px;
  }
  .foot-def h5::before{ background:var(--orange); }
  .foot-def p{ font-size:14px; color:var(--cloud); opacity:.72; line-height:1.7; margin:0; }

  .foot-bottom{
    margin-top:44px; padding-top:26px; border-top:1px solid rgba(242,242,233,0.15);
    display:flex; justify-content:space-between; align-items:center;
    font-size:12px; opacity:.65; flex-wrap:wrap; gap:16px;
  }
  .foot-bottom-right{ display:flex; align-items:center; gap:22px; }
  .lang-toggle{ display:flex; gap:8px; }
  .lang-toggle span{ padding:4px 10px; border-radius:20px; border:1px solid rgba(242,242,233,0.3); cursor:pointer; transition:background .2s ease, color .2s ease; }
  .lang-toggle span.active{ background:var(--cloud); color:var(--teal); }
  .lang-toggle span:hover:not(.active){ border-color:var(--cloud); }
  .back-to-top{
    display:inline-flex; align-items:center; gap:6px; color:var(--cloud); text-decoration:none;
    opacity:.85; transition:opacity .2s ease, transform .2s ease;
  }
  .back-to-top:hover{ opacity:1; transform:translateY(-2px); }

  @media(max-width:960px){
    .foot-panel{ padding:44px 32px; }
    .foot-top{ grid-template-columns:1fr 1fr; }
    .foot-top > div:nth-of-type(2){ border-left:none; padding-left:0; }
    .paths-grid{ grid-template-columns:1fr 1fr; }
  }

  @media(max-width:860px){
    .hero{ padding:110px 0 130px; min-height:auto; }
    .hero-inner{ grid-template-columns:1fr; text-align:left; }
    .hero-right{ padding:22px 20px 20px; margin-top:96px; }
    .scroll-cue{ display:none; }
    .poll-opt .label{ white-space:normal; }
    .poll-opt{ align-items:flex-start; }
    .assess, .who, .video-sec, .book, .paths{ padding:72px 0; }
    .paths-grid{ grid-template-columns:1fr; gap:20px; }
    .paths-grid{ margin-top:40px; }
    .poll-section{ padding:76px 0; }
    .wrap{ padding:0 22px; }
    .assess-inner, .who-grid, .book-grid{ grid-template-columns:1fr; }
    .book-grid{ text-align:center; gap:36px; }
    .book-copy h2, .book-copy p.sub{ margin-left:auto; margin-right:auto; }
    .what-pin-wrap{ height:220vh; }
    .what-reveal-img{ clip-path:inset(44% 20% round 14px); }
    .what-steps{ padding:16px 20px 6px 80px; border-radius:22px; }
    .what-steps::before{ left:110px; }
    .what-row{ grid-template-columns:60px 1fr; gap:16px; padding:22px 0; }
    .what-row-marker{ width:60px; height:60px; }
    .what-row-icon svg{ width:24px; height:24px; }
    .foot-panel{ padding:36px 24px; border-radius:20px; }
    .foot-logo-lockup{ height:44px; }
    .foot-top{ grid-template-columns:1fr; gap:40px; }
    .foot-top > div:nth-of-type(2){ border-left:none; padding-left:0; }
    .foot-bottom{ flex-direction:column; align-items:flex-start; }
    .foot-bottom-right{ width:100%; justify-content:space-between; }
    .poll-grid{ grid-template-columns:1fr; gap:40px; }
    .cue-grid{ grid-template-columns:1fr; gap:44px; }
    .cue-photo-wrap{ order:-1; }
    .cue-photo{ transform:rotate(0deg); max-width:320px; }
    .cue-def::before{ font-size:44vw; opacity:0.045; }
    .poll-copy p, .poll-copy .poll-stat{ margin-left:auto; margin-right:auto; }
  }

  /* Nav switches to the stacked dropdown well before the pill would run out of
     room to fit all links without overlapping the icon/burger buttons. */
  @media(max-width:1150px){
    .nav-links{
      position:absolute; top:calc(100% + 14px); left:0; right:0; transform:translateY(0);
      flex-direction:column; align-items:stretch; gap:2px;
      border-radius:24px; padding:26px 18px 24px; height:auto; width:auto; max-width:none;
      max-height:calc(100vh - 120px); overflow-y:auto;
    }
    .nav-zone.pinned .nav-links{ transform:translateY(0); }
    .nav-logo-lockup{
      height:clamp(30px, 8vw, 38px); width:auto; aspect-ratio:860.76/120; max-width:none;
      margin:0 auto 20px; padding-bottom:18px;
      border-bottom:1px solid rgba(242,242,233,0.14); object-fit:contain;
    }
    .nav-links a{
      font-size:16.5px; padding:16px 4px; width:100%; justify-content:flex-start;
      border-bottom:1px solid rgba(242,242,233,0.12);
      box-sizing:border-box;
    }
    .nav-links a:last-of-type{ border-bottom:none; }
    .nav-cta, .nav-links a.nav-cta{
      width:100%; box-sizing:border-box; justify-content:center; text-align:center;
      padding:18px 24px !important; margin-top:16px; border-bottom:none;
      border-radius:14px !important; font-weight:600; font-size:16px !important;
    }
  }

  @media(max-width:359px){
    .nav-logo-lockup{ height:24px; }
    .foot-logo-lockup{ height:32px; }
  }
