
  @property --sweep { syntax:'<angle>'; initial-value:0deg; inherits:false; }

  :root{
    --terracotta:#CD5A37; --terracotta-soft:#C8856E; --terracotta-deep:#B04A2A;
    --charcoal:#2D2926; --charcoal-deep:#231F1C;
    --sand:#D6CDC1; --sand-light:#E4DCD1;
    --cream:#FAF7F2; --cream-warm:#F5EFE7;
    --body:#4A4542; --muted:#7A716B; --white:#FFFFFF;
    --display:"Playfair Display",Georgia,serif;
    --accent:"Cormorant Garamond",Georgia,serif;
    --sans:"DM Sans",-apple-system,"Segoe UI",sans-serif;
    --pad-band:clamp(64px,8.5vw,118px);
    --ease:cubic-bezier(.22,.75,.3,1);
  }
  *{box-sizing:border-box;}
  body{background:var(--cream);color:var(--body);font-family:var(--sans);
    font-size:16px;-webkit-font-smoothing:antialiased;text-wrap:pretty;}
  p{margin:0;} strong{font-weight:700;color:var(--charcoal);}

  .band{padding:var(--pad-band) 24px;position:relative;overflow:clip;
    &.cream{background:var(--cream);} &.white{background:var(--white);}
    &.dark{background:var(--charcoal);color:rgb(255 255 255/.72);}
    &.sand{background:var(--sand);} &.terra{background:var(--terracotta);color:rgb(255 255 255/.9);}}
  .wrap{max-width:1440px;margin:0 auto;position:relative;z-index:2;}

  .eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
    color:var(--terracotta);margin:0 0 22px;display:flex;align-items:center;gap:12px;
    &::before,&::after{content:"";height:1px;width:26px;background:currentColor;opacity:.45;}
    &.center{justify-content:center;}}
  .dark .eyebrow{color:var(--terracotta-soft);} .terra .eyebrow{color:rgb(255 255 255/.78);}

  .hero h1{color: #fff;}
  h1,h2{margin:0;font-family:var(--display);font-weight:800;color:var(--charcoal);
    letter-spacing:-.035em;line-height:.98;text-wrap:balance;}
  h1{font-size:clamp(40px,6.2vw,68px);} h2{font-size:clamp(31px,4.4vw,47px);}
  .dark :is(h1,h2),.terra :is(h1,h2){color:var(--white);}
  .script{display:block;font-family:var(--accent);font-style:italic;font-weight:600;
    color:var(--terracotta);letter-spacing:-.005em;line-height:1.02;font-size:1.06em;margin-top:.06em;}
  .terra .script{color:rgb(255 255 255/.94);}
  h3{margin:0;font-family:var(--display);font-weight:700;font-size:21px;
    letter-spacing:-.018em;line-height:1.24;color:var(--charcoal);text-wrap:balance;}
  .dark h3{color:var(--white);}
  .lede{font-size:19px;line-height:1.62;margin-top:24px;max-width:60ch;}
  .dark .lede{color:rgb(255 255 255/.74);} .terra .lede{color:rgb(255 255 255/.92);}
  .quote{font-family:var(--accent);font-style:italic;font-size:23px;line-height:1.42;
    color:var(--terracotta);margin-top:20px;max-width:52ch;}

  .btn{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;padding:17px 38px;border-radius:50px;
    text-decoration:none;border:1.5px solid transparent;cursor:pointer;
    transition:transform .22s var(--ease),background .22s var(--ease),color .22s var(--ease),box-shadow .22s var(--ease);
    &:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;}
    &:hover{transform:translateY(-2px);}
    & .ar{transition:transform .22s var(--ease);} &:hover .ar{transform:translateX(4px);}}
  .btn-primary{background:var(--terracotta);color:var(--white);
    box-shadow:0 6px 22px -10px color-mix(in oklab,var(--terracotta) 80%,black);
    &:hover{background:var(--terracotta-deep);box-shadow:0 12px 32px -12px color-mix(in oklab,var(--terracotta) 85%,black);}}
  .btn-ghost{background:transparent;color:var(--charcoal);border-color:rgb(45 41 38/.32);
    &:hover{background:var(--charcoal);color:var(--white);}}
  .dark .btn-ghost{color:#fff;border-color:rgb(255 255 255/.4);&:hover{background:#fff;color:var(--charcoal);}}
  .terra .btn-ghost{color:#fff;border-color:rgb(255 255 255/.55);&:hover{background:#fff;color:var(--terracotta);}}
  .btn-white{background:var(--white);color:var(--terracotta);box-shadow:0 8px 26px -12px rgb(0 0 0/.35);}
  .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;&.center{justify-content:center;}}
  .reassure{font-size:13.5px;color:var(--muted);margin-top:16px;
    .terra &,.dark &{color:rgb(255 255 255/.6);}}

  .watermark{position:absolute;font-family:var(--display);font-weight:900;
    font-size:clamp(280px,40vw,500px);line-height:.72;color:rgb(255 255 255/.03);
    right:-.06em;bottom:-.18em;pointer-events:none;user-select:none;z-index:1;}
  .watermark.ink{color:rgb(45 41 38/.035);}

  /* ── HERO ── */
  .hero{background:radial-gradient(120% 90% at 80% 6%, rgb(205 90 55/.22), transparent 62%),var(--charcoal);
    padding:clamp(80px,11vw,132px) 24px clamp(56px,7vw,84px);}
  .hero-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:56px;align-items:end;}
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:38px;align-items:start;}}
  .hero .lede{color:rgb(255 255 255/.74);}
  .halo{position:absolute;top:-140px;right:-120px;width:520px;height:260px;
    border:1px solid rgb(205 90 55/.28);border-radius:50% 50% 0 0/100% 100% 0 0;
    transform:rotate(180deg);z-index:1;}
  .halo::before,.halo::after{content:"";position:absolute;inset:34px 34px 0;
    border:1px solid rgb(205 90 55/.18);border-radius:50% 50% 0 0/100% 100% 0 0;}
  .halo::after{inset:70px 70px 0;border-color:rgb(205 90 55/.1);}
  .stack{display:flex;flex-direction:column;gap:20px;padding-bottom:4px;}
  .stat{border-left:2px solid var(--terracotta);padding-left:18px;
    & b{display:block;font-family:var(--display);font-size:clamp(28px,3.4vw,34px);font-weight:800;
      color:var(--white);line-height:1.03;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
    & span{font-size:13.5px;color:rgb(255 255 255/.56);line-height:1.4;display:block;margin-top:5px;}}

  /* ── MARQUEE ── */
  .marquee{background:var(--terracotta);padding:22px 0;overflow:hidden;
    border-block:1px solid rgb(255 255 255/.07);}
  .marquee .track{display:flex;width:max-content;animation:slide 42s linear infinite;}
  .marquee ul{display:flex;align-items:center;gap:40px;list-style:none;margin:0;padding:0 20px;}
  .marquee li{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.01em;
    color:#fff;white-space:nowrap;}
  .marquee li.hi{color:#fff;}
  .marquee li::after{content:"·";margin-left:40px;color:#fff;}
  @keyframes slide{to{transform:translateX(-50%);}}
  .marquee:hover .track{animation-play-state:paused;}

  /* ── ROUTES ── */
  .routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:20px;margin-top:46px;}
  .route{position:relative;background:var(--white);border:1px solid rgb(45 41 38/.1);
    border-radius:24px;padding:30px 28px;display:flex;flex-direction:column;gap:12px;overflow:hidden;
    transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease);
    &::before{content:"";position:absolute;top:-52px;right:-52px;width:130px;height:65px;
      border-radius:50% 50% 0 0/100% 100% 0 0;background:rgb(205 90 55/.07);
      transition:transform .5s var(--ease);transform:translateY(14px);}
    &:hover{transform:translateY(-5px);border-color:rgb(205 90 55/.4);
      box-shadow:0 20px 44px -28px rgb(45 41 38/.55);}
    &:hover::before{transform:translateY(0) scale(1.15);}
    & .sym{font-family:var(--accent);font-style:italic;font-size:34px;font-weight:600;
      color:var(--terracotta);line-height:1;position:relative;}
    & p{font-size:15px;line-height:1.62;position:relative;}}

  /* ── LAUNCH CURVE ── */
  .chartwrap{margin-top:52px;background:var(--white);border:1px solid rgb(45 41 38/.1);
    border-radius:28px;padding:clamp(26px,4vw,44px);overflow-x:auto;}
  .chartwrap svg{display:block;width:100%;min-width:640px;height:auto;}
  .chartcap{margin-top:20px;font-size:14px;color:var(--muted);text-align:center;max-width:64ch;
    margin-inline:auto;}
  .curveline{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 2.2s var(--ease) .2s forwards;}
  @keyframes draw{to{stroke-dashoffset:0;}}
  .curvefill{opacity:0;animation:fadein .9s var(--ease) 1.5s forwards;}
  @keyframes fadein{to{opacity:1;}}

  /* ── RUNWAY ── */
  .runway{margin-top:52px;}
  .rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    padding-top:56px;}
  .rail::before{content:"";position:absolute;left:6%;right:6%;top:74px;height:2px;
    background:rgb(255 255 255/.14);}
  .phase{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;}
  .phase button{background:none;border:0;cursor:pointer;font-family:var(--sans);
    display:flex;flex-direction:column;align-items:center;gap:12px;padding:4px 8px;width:100%;
    &:focus-visible{outline:2px solid var(--terracotta);outline-offset:6px;border-radius:14px;}}
  .phase .tick{width:20px;height:20px;border-radius:50%;background:var(--charcoal);
    border:2px solid rgb(255 255 255/.26);transition:all .3s var(--ease);position:relative;z-index:2;}
  .phase .tlabel{font-family:var(--display);font-size:15px;font-weight:800;
    color:rgb(255 255 255/.5);letter-spacing:-.01em;transition:color .3s var(--ease);}
  .phase .tsub{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:rgb(255 255 255/.34);transition:color .3s var(--ease);}
  .phase[data-on="true"] .tick{background:var(--terracotta);border-color:var(--terracotta);
    transform:scale(1.35);box-shadow:0 0 0 8px rgb(205 90 55/.16);}
  .phase[data-on="true"] .tlabel{color:#fff;}
  .phase[data-on="true"] .tsub{color:var(--terracotta-soft);}
  .phase button:hover .tlabel{color:rgb(255 255 255/.85);}
  @media(max-width:720px){
    .rail{grid-template-columns:1fr;gap:4px;padding-top:12px;}
    .rail::before{left:19px;right:auto;top:26px;bottom:26px;width:2px;height:auto;}
    .phase button{flex-direction:row;gap:16px;justify-content:flex-start;}
    .phase{align-items:flex-start;}
  }
  .rpanel{margin-top:44px;background:rgb(255 255 255/.045);border:.8px solid rgb(255 255 255/.1);
    border-radius:24px;padding:clamp(26px,3.6vw,38px);display:grid;
    grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,48px);}
  @media(max-width:800px){.rpanel{grid-template-columns:1fr;gap:22px;}}
  .rpanel .rl .rk{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--terracotta-soft);}
  .rpanel .rl h3{font-family:var(--display);font-size:clamp(25px,3.2vw,32px);font-weight:800;
    color:#fff;letter-spacing:-.03em;line-height:1.06;margin-top:8px;}
  .rpanel .rl p{margin-top:14px;font-size:16px;line-height:1.66;color:rgb(255 255 255/.7);}
  .rpanel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
  .rpanel li{font-size:15px;line-height:1.55;color:rgb(255 255 255/.72);
    padding-left:24px;position:relative;}
  .rpanel li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;
    border-radius:50%;background:var(--terracotta);}

  /* ── INCLUDED ── */
  .incl{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:18px;margin-top:46px;}
  .icard{position:relative;background:var(--cream-warm);border:1px solid rgb(45 41 38/.1);
    border-radius:22px;padding:28px 26px;display:flex;flex-direction:column;gap:11px;overflow:hidden;
    transition:transform .3s var(--ease),border-color .3s var(--ease);
    &::after{content:"";position:absolute;left:-28px;bottom:-28px;width:88px;height:44px;
      border-radius:50% 50% 0 0/100% 100% 0 0;background:rgb(205 90 55/.08);}
    &:hover{transform:translateY(-4px);border-color:rgb(205 90 55/.4);}
    & .ix{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--terracotta);position:relative;}
    & p{font-size:14.8px;line-height:1.62;position:relative;}}

  /* ── PROOF ── */
  .proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px;margin-top:46px;}
  .case{position:relative;background:rgb(255 255 255/.66);border:1px solid rgb(45 41 38/.1);
    border-radius:24px;padding:32px 30px;display:flex;flex-direction:column;gap:14px;overflow:hidden;
    transition:transform .32s var(--ease),background .32s var(--ease);
    &::before{content:"";position:absolute;top:-44px;right:-44px;width:132px;height:66px;
      border-radius:50% 50% 0 0/100% 100% 0 0;background:rgb(205 90 55/.09);
      transition:transform .5s var(--ease);}
    &:hover{transform:translateY(-5px);background:rgb(255 255 255/.9);}
    &:hover::before{transform:scale(1.2) translateY(6px);}
    & .who{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
      color:var(--terracotta);position:relative;}
    & .big{font-family:var(--display);font-size:clamp(32px,4vw,40px);font-weight:800;
      color:var(--charcoal);line-height:1;letter-spacing:-.035em;position:relative;
      font-variant-numeric:tabular-nums;}
    & .big em{font-family:var(--accent);font-style:italic;font-size:.5em;font-weight:600;
      color:var(--terracotta);display:block;letter-spacing:0;margin-top:7px;line-height:1.2;}
    & p{font-size:14.5px;line-height:1.62;position:relative;}}

  /* ── FIT ── */
  .fit{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;}
  @media(max-width:760px){.fit{grid-template-columns:1fr;}}
  .fitcard{border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:14px;
    & h3{font-size:20px;}
    & ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
    & li{font-size:15px;line-height:1.58;padding-left:26px;position:relative;}
    &.yes{background:var(--cream-warm);border:1px solid rgb(205 90 55/.3);}
    &.yes li::before{content:"✓";position:absolute;left:0;color:var(--terracotta);font-weight:700;}
    &.no{border:1px dashed rgb(45 41 38/.24);}
    &.no li::before{content:"—";position:absolute;left:0;color:var(--muted);}}

  /* ── FAQ ── */
  .faqs{margin-top:44px;max-width:780px;}
  details.faq{border-top:1px solid rgb(45 41 38/.14);
    &:last-of-type{border-bottom:1px solid rgb(45 41 38/.14);}
    & summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
      font-family:var(--display);font-size:19px;font-weight:700;color:var(--charcoal);
      letter-spacing:-.015em;line-height:1.3;
      &::-webkit-details-marker{display:none;}
      &::after{content:"";position:absolute;right:8px;top:32px;width:11px;height:11px;
        border-right:2px solid var(--terracotta);border-bottom:2px solid var(--terracotta);
        transform:rotate(45deg);transition:transform .3s var(--ease);}
      &:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;}}
    &[open] summary::after{transform:rotate(-135deg);top:36px;}
    & .ans{padding:0 0 26px;font-size:15.5px;line-height:1.7;max-width:66ch;}}

  .closer{text-align:center;background:linear-gradient(var(--sweep),
    color-mix(in oklab,var(--terracotta) 88%,black), var(--terracotta) 55%,
    color-mix(in oklab,var(--terracotta) 84%,#E8A07E));animation:sweep 18s linear infinite;}
  @keyframes sweep{to{--sweep:360deg;}}
  .closer .wrap{max-width:740px;} .closer .lede{margin-inline:auto;}
  .closer .halo2{position:absolute;left:50%;top:-90px;width:640px;height:320px;
    transform:translateX(-50%);border:1px solid rgb(255 255 255/.16);
    border-radius:0 0 50% 50%/0 0 100% 100%;z-index:1;}

  .todo{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;
    color:var(--terracotta-deep);background:rgb(205 90 55/.12);
    border:1px dashed rgb(205 90 55/.55);border-radius:4px;padding:2px 8px;}
  .dark .todo,.terra .todo{color:#FFDCCB;background:rgb(255 255 255/.12);border-color:rgb(255 255 255/.4);}

  @keyframes rise{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
  .hero-grid > *{animation:rise .85s var(--ease) both;}
  .hero-grid > *:nth-child(2){animation-delay:.2s;}

  @supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
    .reveal{animation:settle .9s var(--ease) both;animation-timeline:view();animation-range:entry 5% cover 26%;}
    @keyframes settle{from{opacity:.4;transform:translateY(22px);}to{opacity:1;transform:none;}}}}

  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation:none!important;transition:none!important;}
    .curveline{stroke-dashoffset:0;} .curvefill{opacity:1;}}
