:root{
    --pine:#1A1A18;
    --pine-deep:#171614;
    --pine-mid:#3A3935;
    --pine-light:#55534C;
    --marigold:#D97757;
    --marigold-deep:#A65032;
    --sand:#FAFAF8;
    --paper:#FFFFFF;
    --ink:#1C1B18;
    --ink-soft:#55524A;
    --line:#E3E1DB;
    --sage:#8C887D;
    --ink-faint:#8C887D;
    --line-soft:#EDEBE6;
    --radius:16px;
    --radius-card:26px;
    --radius-pill:999px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{
    font-family:'Inter',system-ui,sans-serif;
    background:var(--sand);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{text-decoration:none;color:inherit;}
  img,svg,video{display:block;max-width:100%;}
  button{font:inherit;cursor:pointer;border:none;background:none;}

  /* ============ PAGE SHELL + MARGIN LINE-ART ============ */
  .page{
    position:relative;
    padding:16px;
    min-height:100vh;
  }
  .margin-art{
    position:absolute;
    top:0;
    width:180px;
    height:100%;
    pointer-events:none;
    opacity:.55;
    z-index:0;
  }
  .margin-art.left{left:-60px;}
  .margin-art.right{right:-60px; transform:scaleX(-1);}
  .margin-art path{fill:none;stroke:var(--pine);stroke-width:.7;opacity:.35;}

  /* ============ HERO CARD ============ */
  .hero-wrap{
    position:relative;
    max-width:1560px;
    margin:0 auto;
    z-index:1;
  }
  .hero-card{
    position:relative;
    border-radius:var(--radius-card);
    overflow:hidden;
    background:var(--pine-deep);
    min-height:clamp(560px, 84vh, 820px);
    display:flex;
    flex-direction:column;
    isolation:isolate;
  }
  .hero-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:0;
    opacity:0;
    transition:opacity .8s ease;
  }
  .hero-media.ready{opacity:1;}
  .play-btn .icon-play{display:none;}
  .play-btn .icon-pause{display:block;}
  .play-btn.is-paused .icon-play{display:block;}
  .play-btn.is-paused .icon-pause{display:none;}
  .hero-media-fallback{
    position:absolute;
    inset:0;
    z-index:0;
    background:
      radial-gradient(120% 90% at 22% 18%, #4A4740 0%, transparent 58%),
      radial-gradient(100% 80% at 82% 72%, #333129 0%, transparent 62%),
      linear-gradient(160deg,#201F1B 0%,#1A1A18 48%,#171614 100%);
  }
  .hero-scrim{
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(180deg, rgba(23,22,20,.66) 0%, rgba(23,22,20,.28) 34%, rgba(23,22,20,.55) 66%, rgba(23,22,20,.88) 100%);
  }
  .swoosh{
    position:absolute;
    left:0;right:0;bottom:0;
    width:100%;
    height:58%;
    z-index:2;
    pointer-events:none;
  }

  /* ============ NAV ============ */
  .nav{
    position:relative;
    z-index:6;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px clamp(18px,3vw,40px);
  }
  .logo{
    display:flex;
    align-items:center;
    gap:11px;
    background:var(--paper);
    border-radius:16px;
    padding:10px 18px 10px 14px;
    box-shadow:0 10px 30px -12px rgba(23,22,20,.5);
  }
  .logo .mark{
    width:32px;height:32px;
    border-radius:50%;
    background:var(--pine);
    position:relative;flex-shrink:0;
  }
  .logo .mark::before{
    content:"";position:absolute;left:50%;top:7px;
    transform:translateX(-50%);
    width:2px;height:17px;background:var(--marigold);border-radius:2px;
  }
  .logo .mark::after{
    content:"";position:absolute;left:8px;top:16px;
    width:16px;height:9px;
    border-top:2px solid var(--marigold);
    border-radius:16px 16px 0 0;
  }
  .logo .word{
    font-family:'Fraunces',serif;
    font-size:19px;font-weight:600;letter-spacing:-.01em;
    color:var(--ink);line-height:1;
  }
  .logo .word em{font-style:italic;font-weight:500;color:var(--marigold-deep);}
  .logo .tag{
    display:block;
    font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--sage);margin-top:3px;font-weight:600;
  }

  .nav-links{
    display:flex;
    align-items:center;
    gap:clamp(20px,2.6vw,42px);
  }
  .nav-links a{
    color:#F1EDE0;
    font-size:16px;
    font-weight:500;
    padding:6px 0;
    position:relative;
    transition:color .18s ease;
  }
  .nav-links a::after{
    content:"";
    position:absolute;left:0;right:0;bottom:0;
    height:2px;border-radius:2px;
    background:var(--marigold);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .22s ease;
  }
  .nav-links a:hover::after,
  .nav-links a.active::after{transform:scaleX(1);}
  .nav-links a.active{color:#fff;}

  /* ============ STABLE (STICKY) HEADER ============ */
  .site-header-fixed{
    position:fixed;top:0;left:0;right:0;z-index:60;
    display:flex;align-items:center;justify-content:space-between;
    gap:20px;
    padding:11px clamp(18px,3vw,40px);
    background:rgba(255,255,255,.92);
    -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
    border-bottom:1px solid rgba(26,26,24,.1);
    box-shadow:0 14px 30px -22px rgba(26,26,24,.35);
    transform:translateY(-100%);
    transition:transform .35s cubic-bezier(.22,.9,.3,1);
  }
  .site-header-fixed.is-visible{transform:translateY(0);}
  .site-header-fixed .logo{
    box-shadow:none;
    padding:5px 14px 5px 8px;
    background:transparent;
  }
  .site-header-fixed .logo .mark{width:26px;height:26px;}
  .site-header-fixed .logo .mark::before{top:6px;height:14px;}
  .site-header-fixed .logo .mark::after{top:13px;width:13px;height:7px;left:6.5px;}
  .site-header-fixed .logo .word{font-size:16px;}
  .site-header-fixed .logo .tag{display:none;}
  .site-header-fixed .nav-links a{color:var(--ink-soft);font-size:14.5px;}
  .site-header-fixed .nav-links a::after{background:var(--marigold);}
  .site-header-fixed .nav-links a:hover{color:var(--pine);}
  .site-header-fixed .nav-links a.active{color:var(--pine);}
  .site-header-fixed .profile-btn{
    display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;flex-shrink:0;
    border-radius:50%;
    background:#F0EFEA;
    border:1px solid rgba(26,26,24,.16);
    color:var(--ink-soft);
    transition:background .2s ease,border-color .2s ease,color .2s ease;
  }
  .site-header-fixed .profile-btn:hover{background:#EBE5D3;border-color:rgba(26,26,24,.3);color:var(--pine);}
  .site-header-fixed .profile-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

  /* The base .burger styling (near-white lines, faint white background) is
     built for the dark hero-card overlay. Nested inside the light/white
     site-header-fixed bar it becomes invisible, so give it its own look here:
     saffron lines on a light chip, matching .profile-btn's treatment. */
  .site-header-fixed .burger{background:#F0EFEA;border-color:rgba(26,26,24,.16);}
  .site-header-fixed .burger span{background:var(--marigold-deep);}

  @media (max-width:900px){
    .site-header-fixed .nav-links{display:none;}
  }
  @media (max-width:480px){
    .site-header-fixed{padding:9px 14px;}
    .site-header-fixed .logo .word{font-size:17.5px;}
    .site-header-fixed .profile-btn{width:34px;height:34px;}
  }

  .burger{
    display:none;
    width:46px;height:46px;
    border-radius:14px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.28);
    align-items:center;justify-content:center;
    flex-direction:column;gap:5px;
    backdrop-filter:blur(8px);
  }
  .burger span{
    display:block;width:19px;height:2px;
    background:#F1EDE0;border-radius:2px;
    transition:transform .25s ease, opacity .2s ease;
  }
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .mobile-menu{
    display:none;
    position:relative;z-index:6;
    margin:0 clamp(18px,3vw,40px);
    padding:0 20px;
    border-radius:18px;
    background:rgba(23,22,20,.82);
    border:1px solid rgba(255,255,255,.16);
    backdrop-filter:blur(14px);
    max-height:0;overflow:hidden;
    transition:max-height .3s ease, padding .3s ease;
  }
  .mobile-menu.open{max-height:320px;padding:8px 20px 14px;}
  .mobile-menu a{
    display:block;
    color:#F1EDE0;font-size:16px;font-weight:500;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .mobile-menu a:last-child{border-bottom:none;}

  /* ============ HERO CONTENT ============ */
  .hero-body{
    position:relative;z-index:5;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:clamp(24px,4vh,44px);
    padding:clamp(24px,4vh,44px) clamp(20px,4vw,64px) clamp(28px,4vh,48px);
    text-align:center;
  }
  .hero-head{max-width:940px;margin:0 auto;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.24);
    color:#EFE9D8;
    font-size:12px;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;
    padding:7px 15px;border-radius:var(--radius-pill);
    backdrop-filter:blur(8px);
    margin-bottom:clamp(14px,2.4vh,22px);
  }
  .eyebrow .dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--marigold);flex-shrink:0;
  }
  h1{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(32px,4.6vw,58px);
    line-height:1.14;
    letter-spacing:-.015em;
    color:#FFFDF7;
    text-wrap:balance;
  }
  h1 .dim{color:rgba(255,253,247,.62);}
  h1 .accent{
    font-style:italic;
    color:#EAB08D;
  }
  .sub{
    margin:clamp(14px,2.2vh,20px) auto 0;
    max-width:720px;
    font-size:clamp(16.5px,1.15vw,16.5px);
    line-height:1.68;
    color:rgba(241,237,224,.84);
    text-wrap:pretty;
  }
  .sub strong{color:#FFFDF7;font-weight:600;}

  /* Play */
  .play-zone{display:flex;justify-content:center;align-items:center;}
  .play-btn{
    position:relative;
    width:clamp(64px,6vw,86px);
    height:clamp(64px,6vw,86px);
    border-radius:50%;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.4);
    backdrop-filter:blur(10px);
    display:flex;align-items:center;justify-content:center;
    transition:transform .2s ease, background .2s ease;
  }
  .play-btn:hover{transform:scale(1.07);background:rgba(255,255,255,.3);}
  .play-btn:focus-visible{outline:3px solid var(--marigold);outline-offset:4px;}
  .play-btn svg{width:24%;height:auto;margin-left:9%;fill:#FFFDF7;}
  .play-btn::before{
    content:"";position:absolute;inset:-10px;
    border-radius:50%;border:1px solid rgba(255,255,255,.28);
    animation:ripple 3s ease-out infinite;
  }
  @keyframes ripple{
    0%{transform:scale(.95);opacity:.8;}
    70%{transform:scale(1.25);opacity:0;}
    100%{opacity:0;}
  }

  /* ============ FACT CARDS ============ */
  .facts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(10px,1.1vw,18px);
    max-width:1180px;
    margin:0 auto;
    width:100%;
  }
  .fact{
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.24);
    backdrop-filter:blur(10px);
    border-radius:16px;
    padding:clamp(13px,1.4vw,20px);
    text-align:left;
    transition:background .2s ease, transform .2s ease;
  }
  .fact:hover{background:rgba(255,255,255,.2);transform:translateY(-3px);}
  .fact .label{
    font-size:11px;font-weight:600;
    letter-spacing:.12em;text-transform:uppercase;
    color:rgba(241,237,224,.72);
    margin-bottom:9px;
  }
  .fact .value{
    display:flex;align-items:center;gap:9px;
    font-size:clamp(16.5px,1.15vw,17px);
    font-weight:600;color:#FFFDF7;
    line-height:1.25;
  }
  .fact .value svg{width:17px;height:17px;flex-shrink:0;stroke:var(--marigold);}

  /* ============ TRUST + CTA ============ */
  .closing{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vh,20px);}
  .trust{
    display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;
    background:rgba(23,22,20,.55);
    border:1px solid rgba(255,255,255,.2);
    backdrop-filter:blur(10px);
    padding:10px 20px;border-radius:var(--radius-pill);
    color:#F1EDE0;font-size:clamp(14.5px,1vw,14.5px);font-weight:500;
  }
  .trust .shield{display:flex;align-items:center;gap:8px;}
  .trust .shield svg{width:15px;height:15px;stroke:#9A968A;flex-shrink:0;}
  .trust .divider{width:1px;height:16px;background:rgba(255,255,255,.25);}
  .trust .stars{color:var(--marigold);letter-spacing:1px;}

  .cta-shell{
    display:flex;align-items:center;gap:10px;
    background:rgba(255,255,255,.95);
    padding:9px;border-radius:var(--radius-pill);
    box-shadow:0 18px 44px -18px rgba(23,22,20,.75);
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-weight:600;
    font-size:clamp(16.5px,1.1vw,16px);
    padding:14px clamp(18px,1.8vw,30px);
    border-radius:var(--radius-pill);
    transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
    white-space:nowrap;
  }
  .btn:focus-visible{outline:3px solid var(--marigold);outline-offset:3px;}
  .btn-secondary{
    background:transparent;
    color:var(--pine);
    border:1.5px solid transparent;
  }
  .btn-secondary:hover{background:var(--sand);border-color:var(--line);}
  .btn-secondary svg{width:17px;height:17px;stroke:var(--pine-light);}
  .btn-primary{
    background:var(--pine);
    color:#F4EFE1;
    box-shadow:0 3px 0 0 var(--pine-deep);
  }
  .btn-primary:hover{background:var(--pine-mid);transform:translateY(-2px);box-shadow:0 5px 0 0 var(--pine-deep);}
  .btn-primary:active{transform:translateY(1px);box-shadow:0 1px 0 0 var(--pine-deep);}
  .btn-primary .chip{
    background:rgba(240,188,110,.22);
    color:#EAB08D;
    font-size:12.5px;font-weight:600;
    padding:4px 11px;border-radius:var(--radius-pill);
  }
  .btn-primary .arrow{transition:transform .18s ease;}
  .btn-primary:hover .arrow{transform:translateX(3px);}

  /* ============ RESPONSIVE ============ */
  /* Laptop / small desktop */
  @media (max-width:1200px){
    .margin-art{display:none;}
  }
  /* iPad landscape */
  @media (max-width:1024px){
    h1{font-size:clamp(33px,5vw,44px);}
    .facts{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;}
    .hero-card{min-height:auto;}
    .hero-body{padding-bottom:36px;}
  }
  /* iPad portrait / large phones */
  @media (max-width:900px){
    .nav-links{display:none;}
    .burger{display:flex;}
    .mobile-menu{display:block;}
    .hero-body{gap:32px;padding-top:34px;}
    .play-zone{margin:4px 0;}
  }
  /* Phones */
  @media (max-width:640px){
    .page{padding:10px;}
    .hero-card{border-radius:20px;}
    .nav{padding:14px 14px;}
    .logo{padding:8px 14px 8px 11px;border-radius:14px;}
    .logo .word{font-size:20px;}
    .hero-body{padding:26px 18px 30px;gap:26px;}
    h1{font-size:30px;line-height:1.2;}
    .eyebrow{font-size:12.5px;padding:6px 12px;letter-spacing:.06em;}
    .facts{gap:9px;}
    .fact{padding:12px;border-radius:13px;}
    .fact .label{font-size:11px;letter-spacing:.09em;margin-bottom:6px;}
    .fact .value{font-size:16px;gap:7px;}
    .fact .value svg{width:15px;height:15px;}
    .trust{padding:9px 15px;gap:9px;font-size:14px;}
    .trust .divider{display:none;}
    .cta-shell{
      flex-direction:column-reverse;
      width:100%;max-width:400px;
      border-radius:22px;padding:10px;gap:8px;
    }
    .btn{width:100%;padding:15px 20px;font-size:17.5px;}
    .play-btn{width:58px;height:58px;}
  }
  @media (max-width:380px){
    .facts{grid-template-columns:1fr;}
    h1{font-size:27px;}
  }
  /* Short landscape phones */
  @media (max-height:520px) and (orientation:landscape){
    .hero-card{min-height:auto;}
    .play-zone{display:none;}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;}
  }

  /* ==================== SECTION 2 — THE PROBLEM ==================== */

  .photo img,.photo video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
  .mono{
    font-family:'IBM Plex Mono',monospace;
    font-size:10.5px;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:500;
  }

  .section{
    max-width:1320px;
    margin:0 auto;
    padding:clamp(56px,9vh,110px) clamp(20px,4vw,64px);
  }

  /* ───────── HEADER ───────── */
  .head{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:clamp(24px,5vw,72px);
    align-items:end;
    padding-bottom:clamp(30px,4vh,44px);
    border-bottom:1px solid var(--line);
    margin-bottom:clamp(30px,4vh,48px);
  }
  .kicker{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--ink-faint);
    margin-bottom:clamp(16px,2.4vh,24px);
  }
  .kicker .num{color:var(--marigold-deep);}
  .kicker .rule{flex:1;max-width:90px;height:1px;background:var(--line);}
  h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(32px,4vw,52px);
    line-height:1.08;
    letter-spacing:-.03em;
    max-width:16ch;
  }
  h2 .not{
    display:block;
    font-style:italic;
    font-weight:400;
    color:var(--marigold-deep);
  }
  .head .lede{
    font-size:clamp(17.5px,1.2vw,17.5px);
    line-height:1.62;
    color:var(--ink-soft);
    max-width:40ch;
    padding-left:22px;
    border-left:1px solid var(--line);
  }
  .head .lede strong{color:var(--ink);font-weight:600;}

  /* ───────── PROBLEM HEAD — centered ───────── */
  #problem .head{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  #problem .head .kicker{justify-content:center;}
  #problem .head .kicker .rule{display:none;}
  #problem h2{max-width:22ch;}
  #problem .head .lede{
    padding-left:0;
    border-left:none;
    max-width:52ch;
  }

  /* ───────── DIPTYCH ───────── */
  .slot-note{
    position:absolute;inset:0;z-index:4;
    display:flex;align-items:center;justify-content:center;
    padding:20px;text-align:center;
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(237,231,216,.6);
  }
  .panel-truth .slot-note{color:var(--ink-faint);}

  .diptych{
    position:relative;
    perspective:1400px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(16px,2.2vw,30px);
  }
  .panel{
    transform-style:preserve-3d;
    transition:transform .4s cubic-bezier(.22,.9,.3,1),box-shadow .4s ease;
    will-change:transform;
  }
  .diptych-vs{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    z-index:5;
    width:52px;height:52px;
    border-radius:50%;
    background:var(--marigold);
    color:var(--pine-deep);
    display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:12px;letter-spacing:.04em;
    box-shadow:0 14px 30px -10px rgba(0,0,0,.4),0 0 0 6px var(--sand);
  }

  /* -- the outcome line -- */
  .outcome{
    margin-top:clamp(16px,2.2vh,22px);
    padding-top:clamp(14px,1.8vh,18px);
    font-family:'IBM Plex Mono',monospace;
    font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  }
  .panel-story .outcome{color:#9A968A;border-top:1px dashed rgba(237,231,216,.22);}
  .panel-truth .outcome{color:var(--pine);border-top:1px solid var(--line-soft);}

  .panel{
    border-radius:var(--radius);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform .35s cubic-bezier(.22,.9,.3,1),box-shadow .35s ease;
  }
  .panel-story:hover{
    box-shadow:0 30px 50px -28px rgba(0,0,0,.55);
  }
  .panel-truth:hover{
    box-shadow:0 30px 50px -28px rgba(26,26,24,.28);
  }
  .panel .photo img,.panel .photo video{transition:transform .5s ease;}
  .panel:hover .photo img,.panel:hover .photo video{transform:scale(1.04);}
  .panel-story .photo,.panel-truth .photo{overflow:hidden;}

  /* -- Panel A: the common story -- */
  .panel-story{
    background:var(--pine-deep);
    color:#EDE7D8;
  }
  .panel-story .photo{
    position:relative;
    aspect-ratio:16/10;
    background:linear-gradient(150deg,#26241F 0%,#1C1B18 60%,#141311 100%);
  }
  .panel-story .photo img,
  .panel-story .photo video{
    filter:grayscale(.86) contrast(1.06) brightness(.66);
  }
  .panel-truth .photo img,
  .panel-truth .photo video{
    filter:saturate(1.02) contrast(1.02);
  }
  .panel-story .photo::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,19,17,.25) 0%,rgba(20,19,17,0) 45%,rgba(20,19,17,.92) 100%);
  }
  .panel-story .photo .stamp{
    position:absolute;
    left:clamp(18px,2vw,28px);
    bottom:clamp(16px,2vh,22px);
    z-index:2;
    color:rgba(237,231,216,.72);
  }
  .panel-body{
    padding:clamp(22px,2.6vw,36px) clamp(20px,2.4vw,34px) clamp(26px,3vw,38px);
    flex:1;
    display:flex;
    flex-direction:column;
  }
  .panel-title{
    font-family:'Fraunces',serif;
    font-size:clamp(24px,1.85vw,27px);
    font-weight:500;
    letter-spacing:-.02em;
    line-height:1.15;
    margin:10px 0 14px;
  }
  .panel-story .panel-title{color:#FFFDF7;}
  .panel-story .label{
    color:#FFFDF7;
    background:rgba(154,150,138,.2);
    border:1px solid rgba(154,150,138,.55);
    font-size:clamp(17.5px,1.7vw,19px);
    letter-spacing:.005em;
    text-transform:none;
    font-weight:700;
    display:inline-block;
    padding:9px 18px;
    border-radius:999px;
    margin-bottom:2px;
  }
  .panel-story p{
    font-size:clamp(16.5px,1.05vw,15.5px);
    line-height:1.68;
    color:rgba(237,231,216,.78);
    max-width:44ch;
  }

  .failures{
    list-style:none;
    margin-top:clamp(20px,2.6vh,28px);
    padding-top:clamp(18px,2.4vh,24px);
    border-top:1px dashed rgba(237,231,216,.22);
  }
  .failures li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:9px 0;
    font-size:clamp(16px,1vw,15px);
    line-height:1.45;
    color:rgba(237,231,216,.62);
    text-decoration:line-through;
    text-decoration-color:rgba(237,231,216,.35);
    text-decoration-thickness:1px;
  }
  .failures .x{
    flex-shrink:0;
    width:24px;height:24px;
    border-radius:50%;
    background:rgba(217,109,85,.16);
    display:flex;align-items:center;justify-content:center;
    margin-top:-1px;
    color:#9A968A;
    text-decoration:none;
  }
  .failures .x svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;}


  /* ---- illustration slot (left panel) ---- */
  .photo-illus{
    background:#EDECE7;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(20px,3vw,40px);
  }
  .photo-illus .illus{
    width:100%;height:100%;
    object-fit:contain;
    filter:none;
  }
  .photo-illus::after{
    background:linear-gradient(180deg,rgba(233,225,206,0) 60%,rgba(210,199,175,.55) 100%);
  }
  .photo-illus .stamp{color:rgba(26,25,23,.55);}
  .photo-illus.missing .illus{display:none;}
  .photo-illus.missing::before{
    content:"Questions-bro.svg not found in this folder";
    position:absolute;inset:0;z-index:4;
    display:flex;align-items:center;justify-content:center;
    padding:24px;text-align:center;
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(26,25,23,.45);
  }

  /* -- Panel B: the uncomfortable truth -- */
  .panel-truth{
    background:var(--paper);
    border:1px solid var(--line);
  }
  .panel-truth .photo{
    position:relative;
    aspect-ratio:16/10;
    background:linear-gradient(150deg,#EFE7D4 0%,#E3D9C0 100%);
    border-bottom:1px solid var(--line);
  }
  .panel-truth .photo .seal{
    position:absolute;
    right:clamp(16px,1.8vw,24px);
    bottom:clamp(-22px,-2vw,-18px);
    z-index:3;
    width:clamp(64px,6vw,80px);
    height:clamp(64px,6vw,80px);
    border-radius:50%;
    background:var(--paper);
    border:1px solid var(--marigold);
    color:var(--marigold-deep);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    text-align:center;
    line-height:1;
    box-shadow:0 14px 30px -16px rgba(20,19,17,.45);
  }
  .panel-truth .seal svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
  .panel-truth .seal span{font-family:'IBM Plex Mono',monospace;font-size:7.5px;letter-spacing:.1em;}
  .panel-truth .label{
    color:var(--pine-deep);
    background:rgba(217,119,87,.18);
    border:1px solid rgba(217,119,87,.55);
    font-size:clamp(17.5px,1.7vw,19px);
    letter-spacing:.005em;
    text-transform:none;
    font-weight:700;
    display:inline-block;
    padding:9px 18px;
    border-radius:999px;
    margin-bottom:2px;
  }
  .panel-truth .panel-title{color:var(--ink);}
  .panel-truth p{
    font-size:clamp(16.5px,1.05vw,15.5px);
    line-height:1.68;
    color:var(--ink-soft);
    max-width:44ch;
  }
  .panel-truth p strong{color:var(--ink);font-weight:600;}

  .checks{
    list-style:none;
    margin-top:clamp(20px,2.6vh,28px);
    padding-top:clamp(18px,2.4vh,24px);
    border-top:1px solid var(--line-soft);
  }
  .checks li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:9px 0;
    font-size:clamp(16px,1vw,15px);
    line-height:1.45;
    color:var(--ink);
    font-weight:500;
  }
  .checks .tick{
    flex-shrink:0;
    width:24px;height:24px;
    border-radius:50%;
    background:rgba(26,26,24,.1);
    display:flex;align-items:center;justify-content:center;
    margin-top:-1px;
    color:var(--pine);
  }
  .checks .tick svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}

  /* ───────── CLOSING LINE ───────── */
  .verdict{
    margin-top:clamp(28px,4vh,48px);
    padding-top:clamp(22px,3vh,32px);
    border-top:1px solid var(--line);
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
  }
  .verdict p{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-size:clamp(20px,1.7vw,24px);
    font-weight:400;
    letter-spacing:-.02em;
    color:var(--pine);
    max-width:34ch;
    line-height:1.3;
  }
  .verdict a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:15px;
    font-weight:500;
    color:var(--ink);
    text-decoration:none;
    padding-bottom:5px;
    border-bottom:1px solid var(--ink);
    transition:gap .2s ease,color .2s ease,border-color .2s ease;
  }
  .verdict a:hover{gap:15px;color:var(--marigold-deep);border-color:var(--marigold-deep);}
  .verdict a:focus-visible{outline:2px solid var(--marigold);outline-offset:4px;}

  /* ───────── RESPONSIVE ───────── */
  @media (max-width:1024px){
    .head{grid-template-columns:minmax(0,1fr);gap:26px;align-items:start;}
    .head .lede{padding-left:18px;max-width:52ch;}
    h2{max-width:20ch;}
  }
  /* iPad portrait — panels stack, media goes wide and shallow */
  .swipe-hint{display:none;}

  @media (max-width:860px){
    .swipe-hint{
      display:block;
      text-align:center;
      color:var(--ink-faint);
      font-size:11px;
      letter-spacing:.12em;
      margin:0 0 12px;
    }
    .diptych{
      display:flex;
      grid-template-columns:none;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;
      gap:14px;
      margin:0 -20px;
      padding:4px 20px 10px;
    }
    .diptych::-webkit-scrollbar{display:none;}
    .diptych .panel{
      flex:0 0 86%;
      scroll-snap-align:center;
      max-width:420px;
    }
    .diptych-vs{
      position:relative;
      top:auto;left:auto;transform:none;
      flex:0 0 auto;
      align-self:center;
      margin:0 2px;
      scroll-snap-align:center;
      box-shadow:0 10px 22px -8px rgba(0,0,0,.4),0 0 0 5px var(--sand);
    }
    .panel-story .photo,.panel-truth .photo{aspect-ratio:16/9;}
    .panel-truth .photo .seal{bottom:-26px;width:70px;height:70px;}
    .panel-truth .panel-body{padding-top:36px;}
  }
  /* Large phones */
  @media (max-width:560px){
    .panel-story .photo,.panel-truth .photo{aspect-ratio:5/3;}
    .panel-truth .photo .seal{right:14px;bottom:-22px;width:60px;height:60px;}
    .panel-truth .seal svg{width:14px;height:14px;}
    .panel-truth .seal span{font-size:8.5px;}
    .panel-truth .panel-body{padding-top:30px;}
    .panel-story .photo .stamp{left:14px;bottom:12px;font-size:11px;letter-spacing:.1em;}
  }
  /* Small Android / iPhone SE */
  @media (max-width:380px){
    .section{padding:38px 14px 44px;}
    .diptych{margin:0 -14px;padding:4px 14px 10px;}
    .panel-story .photo,.panel-truth .photo{aspect-ratio:3/2;}
    h2{font-size:27px;}
    .panel-title{font-size:21.5px;}
    .failures li,.checks li{font-size:15.5px;gap:9px;}
  }
  /* Landscape phones — stop the media eating the viewport */
  @media (max-height:520px) and (orientation:landscape){
    .panel-story .photo,.panel-truth .photo{aspect-ratio:21/9;}
  }
  @media (max-width:640px){
    .section{padding:44px 18px 52px;}
    .diptych{margin:0 -18px;padding:4px 18px 10px;}
    h2{font-size:30px;max-width:100%;}
    .head{padding-bottom:24px;margin-bottom:26px;}
    .head .lede{font-size:17px;padding-left:14px;}
    .panel-title{font-size:24px;}
    .panel-story p,.panel-truth p{font-size:16.5px;}
    .failures li,.checks li{font-size:16px;padding:8px 0;gap:10px;}
    .verdict{flex-direction:column;align-items:flex-start;gap:18px;}
    .verdict p{font-size:21px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;}
  }


  /* ==================== SECTION 3 — HOW IT WORKS (WALKING PATH) ==================== */
  .how{
    background:#F5F4F0;
    padding:clamp(52px,8vh,104px) clamp(16px,4vw,64px);
  }
  .how-inner{max-width:760px;margin:0 auto;}

  .how-kicker{
    display:flex;align-items:center;justify-content:center;gap:12px;
    color:var(--sage);
    margin-bottom:clamp(14px,2vh,20px);
  }
  .how-kicker .num{color:var(--marigold-deep);}
  .how-kicker .rule{width:44px;height:1px;background:var(--line);}

  .how-card{
    background:#FFFFFF;
    border:1px solid var(--line);
    border-radius:clamp(16px,2vw,26px);
    padding:clamp(28px,4vw,60px) clamp(20px,3.4vw,52px) clamp(30px,4vw,56px);
    box-shadow:0 30px 70px -50px rgba(26,26,24,.35);
    text-align:center;
  }
  .how-card h2{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(28px,3.2vw,40px);
    line-height:1.12;
    letter-spacing:-.03em;
    color:var(--pine);
    max-width:20ch;
    margin:0 auto;
    padding-bottom:clamp(16px,2.2vh,24px);
    border-bottom:2px solid var(--pine);
  }
  .how-card h2 .three{font-style:italic;font-weight:500;color:var(--marigold-deep);}

  /* ---- the walking path ---- */
  .walk-path{
    position:relative;
    margin-top:clamp(30px,4.4vh,48px);
  }
  .walk-line{
    position:absolute;
    left:calc(clamp(46px,4.6vw,56px) / 2);
    top:calc(clamp(46px,4.6vw,56px) / 2);
    bottom:calc(clamp(46px,4.6vw,56px) / 2);
    width:2px;
    transform:translateX(-1px);
    background-image:repeating-linear-gradient(to bottom,var(--line) 0 6px,transparent 6px 15px);
    z-index:0;
  }
  .walk-line-fill{
    position:absolute;top:0;left:0;width:100%;height:0%;
    background-image:repeating-linear-gradient(to bottom,var(--marigold) 0 6px,transparent 6px 15px);
    transition:height .05s linear;
  }
  .walk-marker{
    position:absolute;
    left:calc(clamp(46px,4.6vw,56px) / 2);
    top:calc(clamp(46px,4.6vw,56px) / 2);
    width:36px;height:36px;
    margin-left:-18px;margin-top:-18px;
    z-index:3;
    will-change:transform;
  }
  .walk-marker-bob{
    width:100%;height:100%;
    border-radius:50%;
    background:var(--marigold);
    display:flex;align-items:center;justify-content:center;
    color:#F6F5F1;
    box-shadow:0 10px 22px -8px rgba(217,119,87,.75);
    animation:walkBob 1.1s ease-in-out infinite;
  }
  .walk-marker svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
  @keyframes walkBob{
    0%,100%{transform:translateY(0) rotate(-4deg);}
    50%{transform:translateY(-4px) rotate(4deg);}
  }

  .how-flow{
    list-style:none;
    position:relative;
    z-index:1;
  }
  .how-step{
    display:grid;
    grid-template-columns:clamp(46px,4.6vw,56px) minmax(0,1fr);
    gap:clamp(16px,2.2vw,24px);
    align-items:start;
    text-align:left;
    padding:clamp(20px,3.2vh,34px) 0;
  }
  .how-step:first-child{padding-top:0;}
  .how-step:last-child{padding-bottom:0;}
  .how-waypoint{
    width:clamp(46px,4.6vw,56px);
    height:clamp(46px,4.6vw,56px);
    border-radius:50%;
    border:1px solid rgba(217,119,87,.5);
    background:#F6F5F1;
    display:flex;align-items:center;justify-content:center;
    transition:background .35s ease,border-color .35s ease,transform .35s ease;
  }
  .how-digit{
    color:var(--marigold-deep);
    font-family:'Fraunces',serif;
    font-size:clamp(19px,1.5vw,20px);
    font-weight:500;
    line-height:1;
    letter-spacing:-.01em;
    transition:color .35s ease;
  }
  .how-step.is-passed .how-waypoint{
    background:var(--marigold);
    border-color:var(--marigold);
    transform:scale(1.06);
  }
  .how-step.is-passed .how-digit{color:#FFFDF7;}
  .how-copy h3{
    font-family:'Fraunces',serif;
    font-size:clamp(22px,2vw,25px);
    font-weight:500;
    letter-spacing:-.026em;
    line-height:1.16;
    color:var(--ink);
    margin-bottom:8px;
    opacity:.55;
    transition:opacity .35s ease;
  }
  .how-step.is-passed .how-copy h3{opacity:1;}
  .how-copy p{
    font-size:clamp(16px,1vw,15px);
    line-height:1.58;
    color:var(--ink-soft);
    max-width:38ch;
    opacity:.55;
    transition:opacity .35s ease;
  }
  .how-step.is-passed .how-copy p{opacity:1;}
  .how-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:clamp(11px,1.6vh,15px);
    padding:6px 13px;
    border-radius:999px;
    background:#F0EFEA;
    border:1px solid var(--line);
    color:var(--pine);
    font-family:'IBM Plex Mono',monospace;
    font-size:9.5px;
    letter-spacing:.11em;
    text-transform:uppercase;
    font-weight:500;
    transition:border-color .35s ease;
  }
  .how-step.is-passed .how-chip{border-color:rgba(217,119,87,.6);}
  .how-chip .dot{
    width:5px;height:5px;border-radius:50%;
    background:var(--marigold);flex-shrink:0;
  }

  /* ---- closing line ---- */
  .how-foot{
    margin-top:clamp(22px,3vh,34px);
    text-align:center;
  }
  .how-foot p{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-size:clamp(19px,1.5vw,21px);
    font-weight:400;
    letter-spacing:-.02em;
    color:var(--pine);
    max-width:34ch;
    margin:0 auto clamp(16px,2.2vh,22px);
    line-height:1.32;
  }
  .how-foot a{
    display:inline-flex;align-items:center;gap:10px;
    font-size:15px;font-weight:500;
    color:var(--ink);
    text-decoration:none;
    padding-bottom:5px;
    border-bottom:1px solid var(--ink);
    transition:gap .2s ease,color .2s ease,border-color .2s ease;
  }
  .how-foot a:hover{gap:15px;color:var(--marigold-deep);border-color:var(--marigold-deep);}
  .how-foot a:focus-visible{outline:2px solid var(--marigold);outline-offset:4px;}

  /* ---- responsive ---- */
  @media (max-width:640px){
    .how{padding:44px 14px 52px;}
    .how-card{padding:26px 18px 30px;border-radius:18px;}
    .how-card h2{font-size:28px;max-width:16ch;padding-bottom:16px;}
    .how-copy h3{font-size:22px;}
    .how-copy p{font-size:16px;max-width:30ch;}
    .how-foot p{font-size:20px;}
  }
  @media (max-width:380px){
    .how{padding:38px 12px 44px;}
    .how-card{padding:22px 15px 26px;}
    .how-card h2{font-size:25px;}
    .how-waypoint{width:42px;height:42px;}
    .how-digit{font-size:17.5px;}
    .how-copy h3{font-size:21px;}
    .how-copy p{font-size:15.5px;}
    .how-chip{font-size:10.5px;padding:6px 12px;letter-spacing:.1em;}
  }


  /* ==================== STICKY CTA ==================== */
  .sticky-cta{
    position:fixed;
    left:50%;
    bottom:max(18px, env(safe-area-inset-bottom));
    transform:translate(-50%, 150%);
    z-index:80;
    display:flex;
    align-items:center;
    gap:10px;
    background:rgba(255,255,255,.96);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    padding:9px;
    border-radius:var(--radius-pill);
    box-shadow:0 22px 50px -18px rgba(23,22,20,.55), 0 2px 8px rgba(23,22,20,.12);
    opacity:0;
    pointer-events:none;
    transition:transform .42s cubic-bezier(.2,.75,.25,1), opacity .3s ease;
    max-width:calc(100vw - 24px);
  }
  .sticky-cta.show{
    transform:translate(-50%, 0);
    opacity:1;
    pointer-events:auto;
  }
  .sticky-cta .btn{
    font-size:clamp(16px,1vw,15px);
    padding:12px clamp(16px,1.6vw,26px);
  }
  .sticky-cta .btn-secondary svg{width:16px;height:16px;}

  @media (max-width:640px){
    .sticky-cta{
      left:12px;right:12px;
      transform:translateY(150%);
      width:auto;
      max-width:none;
      justify-content:center;
      padding:8px;
      gap:8px;
      bottom:max(12px, env(safe-area-inset-bottom));
    }
    .sticky-cta.show{transform:translateY(0);}
    .sticky-cta .btn{
      flex:1;
      padding:13px 12px;
      font-size:16.5px;
      gap:7px;
    }
    .sticky-cta .btn .chip{display:none;}
    .sticky-cta .btn-secondary svg{display:none;}
  }
  @media (max-width:380px){
    .sticky-cta .btn{font-size:15.5px;padding:12px 9px;}
    .sticky-cta .btn-primary .arrow{display:none;}
  }
  @media (prefers-reduced-motion:reduce){
    .sticky-cta{transition:opacity .2s ease;}
  }


  /* ==================== SECTION 4 — TEACHER PROFILES ==================== */
  .teachers{
    background:#F6F5F1;
    padding:clamp(52px,8vh,104px) 0 clamp(52px,8vh,100px);
    overflow:hidden;
  }
  .teachers-head{
    max-width:1240px;
    margin:0 auto clamp(26px,3.6vh,42px);
    padding:0 clamp(16px,4vw,64px);
    text-align:center;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    justify-items:center;
    column-gap:clamp(18px,3vw,48px);
  }
  .album{
    position:relative;
    width:clamp(110px,10vw,150px);
    height:clamp(96px,8.6vw,130px);
    flex:none;
  }
  .album-photo{
    position:absolute;
    width:clamp(64px,6vw,88px);
    height:clamp(82px,7.8vw,112px);
    object-fit:cover;
    border-radius:9px;
    border:4px solid #F6F5F1;
    box-shadow:0 16px 30px -12px rgba(26,26,24,.4);
  }
  .album-left .p1{top:2px;left:0;transform:rotate(-10deg);z-index:1;}
  .album-left .p2{top:26%;left:38%;transform:rotate(8deg);z-index:2;}
  .album-right .p1{top:2px;right:0;transform:rotate(10deg);z-index:1;}
  .album-right .p2{top:26%;right:38%;transform:rotate(-8deg);z-index:2;}
  .album-photo.is-missing{display:none;}
  .teachers-kicker{
    display:flex;align-items:center;justify-content:center;gap:12px;
    color:var(--sage);
    margin-bottom:clamp(12px,1.8vh,18px);
  }
  .teachers-kicker .num{color:var(--marigold-deep);}
  .teachers-kicker .rule{width:44px;height:1px;background:var(--line);}
  .teachers h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(29px,3.2vw,42px);
    line-height:1.1;
    letter-spacing:-.03em;
    color:var(--ink);
    max-width:18ch;
    margin:0 auto;
  }
  .teachers h2 em{font-style:italic;color:var(--pine);}

  .rail-nav{display:flex;gap:9px;}
  .rail-nav button{
    width:42px;height:42px;
    border-radius:50%;
    border:1px solid rgba(26,26,24,.28);
    background:transparent;
    color:var(--pine);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease;
  }
  .rail-nav button:hover{background:var(--pine);border-color:var(--pine);color:#F6F5F1;}
  .rail-nav button:focus-visible{outline:2px solid var(--marigold);outline-offset:3px;}
  .rail-nav button:disabled{opacity:.3;cursor:default;background:transparent;color:var(--pine);border-color:rgba(26,26,24,.2);}
  .rail-nav svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  /* ---- the rail ---- */
  .rail{
    display:flex;
    gap:clamp(12px,1.4vw,20px);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:4px clamp(16px,4vw,64px) 8px;
    margin:0 auto;
    max-width:1240px;
  }
  .rail::-webkit-scrollbar{display:none;}

  .tcard{
    flex:0 0 auto;
    width:clamp(212px,23vw,268px);
    scroll-snap-align:start;
    background:#FFFFFF;
    border:1px solid rgba(26,26,24,.16);
    border-radius:18px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease;
  }
  .tcard:hover{
    border-color:rgba(26,26,24,.42);
    transform:translateY(-3px);
    box-shadow:0 22px 40px -28px rgba(26,26,24,.5);
  }

  .tcard .shot{
    position:relative;
    aspect-ratio:4/5;
    background:#EDECE7;
    overflow:hidden;
  }
  .tcard .shot img{
    display:block;width:100%;height:100%;
    object-fit:cover;object-position:center top;
  }
  .tcard .shot .fallback{
    position:absolute;inset:0;
    display:none;
    align-items:center;justify-content:center;
    font-family:'Fraunces',serif;
    font-size:30px;
    color:rgba(26,26,24,.42);
    letter-spacing:.02em;
  }
  .tcard .shot.missing img{display:none;}
  .tcard .shot.missing .fallback{display:flex;}

  .tcard .rating{
    position:absolute;
    top:11px;right:11px;
    display:inline-flex;align-items:center;gap:5px;
    padding:5px 10px 5px 8px;
    border-radius:999px;
    background:rgba(23,22,20,.82);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    border:1px solid rgba(252,250,244,.28);
    color:#F6F5F1;
    font-size:11.5px;
    font-weight:600;
    letter-spacing:.01em;
    line-height:1;
  }
  .tcard .rating svg{
    width:11px;height:11px;
    fill:var(--marigold);
    flex-shrink:0;
  }
  .tcard .rating .count{
    font-family:'IBM Plex Mono',monospace;
    font-size:9px;
    font-weight:400;
    color:rgba(252,250,244,.6);
    letter-spacing:.06em;
  }

  .tcard .vbadge{
    position:absolute;
    left:11px;bottom:11px;
    display:inline-flex;align-items:center;gap:6px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(252,250,244,.94);
    border:1px solid rgba(26,26,24,.28);
    color:var(--pine);
    font-family:'IBM Plex Mono',monospace;
    font-size:8.5px;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:500;
  }
  .tcard .vbadge svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}

  .tcard .info{
    padding:14px 15px 15px;
    display:flex;
    flex-direction:column;
    flex:1;
  }
  .tcard h3{
    font-family:'Fraunces',serif;
    font-size:clamp(19.5px,1.35vw,19px);
    font-weight:500;
    letter-spacing:-.02em;
    line-height:1.2;
    color:var(--ink);
  }
  .tcard .meta{
    margin-top:5px;
    font-size:12.5px;
    line-height:1.45;
    color:var(--ink-soft);
  }
  .tcard .tags{
    display:flex;flex-wrap:wrap;gap:5px;
    margin-top:11px;
    margin-bottom:14px;
  }
  .tcard .tags span{
    padding:3.5px 9px;
    border-radius:999px;
    border:1px solid rgba(26,26,24,.2);
    background:#F6F5F1;
    color:var(--pine);
    font-size:10.5px;
    font-weight:500;
    letter-spacing:.01em;
  }
  .tcard .book{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    padding:11px 14px;
    border-radius:999px;
    background:#F3F2EE;
    border:1px solid rgba(26,26,24,.3);
    box-shadow:0 0 0 3px rgba(26,26,24,.05);
    color:var(--ink);
    font-size:13.5px;
    font-weight:600;
    letter-spacing:.01em;
    text-decoration:none;
    transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
  }
  .tcard .book .arrow{transition:transform .18s ease;}
  .tcard .book:hover{
    background:var(--pine);
    border-color:var(--pine);
    color:#F6F5F1;
    box-shadow:0 0 0 3px rgba(26,26,24,.14);
  }
  .tcard .book:hover .arrow{transform:translateX(4px);}
  .tcard .book:focus-visible{outline:2px solid var(--marigold);outline-offset:3px;}

  /* ---- footer link ---- */
  .teachers-foot{
    max-width:1240px;
    margin:clamp(22px,3vh,34px) auto 0;
    padding:0 clamp(16px,4vw,64px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
  }
  .teachers-foot .hint{
    font-size:13px;
    color:var(--ink-faint);
  }
  .btn-seeall{
    display:inline-flex;align-items:center;gap:10px;
    padding:15px 30px;
    border-radius:999px;
    background:var(--pine);
    border:1px solid var(--pine);
    color:#F6F5F1;
    font-size:15px;font-weight:600;
    letter-spacing:.01em;
    text-decoration:none;
    box-shadow:0 14px 30px -18px rgba(26,26,24,.8);
    transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .btn-seeall .arrow{transition:transform .2s ease;}
  .btn-seeall:hover{
    background:#2A2A26;
    transform:translateY(-2px);
    box-shadow:0 18px 36px -18px rgba(26,26,24,.9);
  }
  .btn-seeall:hover .arrow{transform:translateX(4px);}
  .btn-seeall:focus-visible{outline:3px solid var(--marigold);outline-offset:3px;}

  /* ---- responsive ---- */
  @media (max-width:860px){
    .teachers-head{grid-template-columns:minmax(0,1fr);}
    .album{display:none;}
    .teachers h2{max-width:100%;}
    .rail-nav{display:none;}
    .tcard{width:clamp(196px,52vw,240px);}
  }
  @media (max-width:640px){
    .teachers{padding:44px 0 48px;}
    .teachers h2{font-size:29px;}
    .rail{gap:11px;padding-left:16px;padding-right:16px;}
    .tcard{width:clamp(188px,64vw,228px);border-radius:16px;}
    .tcard .shot{aspect-ratio:1/1;}
    .tcard .info{padding:12px 13px 13px;}
    .tcard .rating{top:9px;right:9px;padding:4px 8px 4px 7px;font-size:13px;}
    .tcard .rating .count{display:none;}
    .teachers-foot{padding:0 16px;justify-content:center;}
    .btn-seeall{width:100%;justify-content:center;padding:15px 20px;}
  }
  @media (max-width:380px){
    .teachers h2{font-size:26px;}
    .tcard{width:72vw;}
    .tcard h3{font-size:19px;}
    .tcard .tags span{font-size:12px;padding:3px 8px;}
  }


  /* ==================== SECTION 5 — YOGA STYLES ==================== */
  .styles{
    background:var(--sand);
    padding:clamp(52px,8vh,104px) clamp(16px,4vw,64px);
  }
  .styles-inner{max-width:1240px;margin:0 auto;}
  .sec-head{text-align:center;margin-bottom:clamp(28px,4vh,48px);}
  .sec-kicker{
    display:flex;align-items:center;justify-content:center;gap:12px;
    color:var(--sage);
    margin-bottom:clamp(12px,1.8vh,18px);
  }
  .sec-kicker .num{color:var(--marigold-deep);}
  .sec-kicker .rule{width:44px;height:1px;background:var(--line);}
  .sec-head h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(29px,3.2vw,42px);
    line-height:1.1;
    letter-spacing:-.03em;
    color:var(--ink);
    max-width:20ch;
    margin:0 auto;
  }
  .sec-head h2 em{font-style:italic;color:var(--pine);}
  .sec-head .sub{
    margin:clamp(12px,1.8vh,16px) auto 0;
    max-width:46ch;
    font-size:clamp(17px,1.05vw,16px);
    line-height:1.6;
    color:var(--ink-soft);
  }

  .style-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(16px,1.8vw,26px);
  }
  .pick-card{
    position:relative;
    aspect-ratio:3/4.15;
    perspective:1500px;
    transition:transform .22s ease;
  }
  .pick-card:hover{transform:translateY(-5px);}
  .pick-inner{
    all:unset;
    box-sizing:border-box;
    position:relative;
    display:block;
    width:100%;height:100%;
    cursor:pointer;
    transform-style:preserve-3d;
    transition:transform .65s cubic-bezier(.23,1,.32,1);
    border-radius:18px;
  }
  .pick-card.is-flipped .pick-inner{transform:rotateY(180deg);}
  .pick-inner:focus-visible{outline:3px solid var(--marigold);outline-offset:4px;}

  .pick-face{
    position:absolute;inset:0;
    backface-visibility:hidden;-webkit-backface-visibility:hidden;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 40px -24px rgba(26,26,24,.55);
  }
  /* ---- FRONT ---- */
  .pick-front{background:linear-gradient(160deg,var(--pine),var(--pine-deep));}
  .pick-front img{
    position:absolute;inset:0;
    width:100%;height:100%;object-fit:cover;
    transition:transform .5s ease;
  }
  .pick-card:hover .pick-front img{transform:scale(1.06);}
  .pick-front::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,19,17,0) 32%,rgba(20,19,17,.9) 100%);
  }
  .pick-ico{
    display:none;
    position:absolute;inset:0;z-index:1;
    align-items:center;justify-content:center;
    color:rgba(252,250,244,.7);
  }
  .pick-ico svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
  .pick-card.photo-missing .pick-front img{display:none;}
  .pick-card.photo-missing .pick-ico{display:flex;}
  .pick-index{
    position:absolute;top:10px;left:10px;z-index:2;
    font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.1em;
    color:#F6F5F1;background:rgba(20,19,17,.4);
    padding:4px 8px;border-radius:999px;
    backdrop-filter:blur(2px);
  }
  .pick-corner{
    position:absolute;top:9px;right:9px;z-index:2;
    width:26px;height:26px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,.6);
    display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,.75);
  }
  .pick-corner svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .pick-title{
    position:absolute;left:14px;right:14px;bottom:42px;z-index:2;
    color:#FFFDF7;
    font-family:'Fraunces',serif;font-weight:500;
    font-size:clamp(17.5px,1.3vw,18px);letter-spacing:-.02em;line-height:1.15;
  }
  .pick-desc{
    position:absolute;left:14px;right:14px;bottom:22px;z-index:2;
    font-size:11.5px;line-height:1.5;color:rgba(252,250,244,.72);
  }
  .pick-tap{
    position:absolute;left:14px;bottom:11px;z-index:2;
    display:flex;align-items:center;gap:6px;
    font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--marigold);
  }
  .pick-tap svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  /* ---- BACK ---- */
  .pick-back{
    transform:rotateY(180deg);
    background:var(--pine-deep);
    border:2px solid var(--marigold);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:10px;text-align:center;padding:22px;
  }
  .pick-back .pick-index{background:rgba(217,119,87,.25);color:var(--marigold);}
  .pick-back .check-circle{
    width:50px;height:50px;border-radius:50%;
    background:var(--marigold);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 22px -8px rgba(217,119,87,.7);
  }
  .pick-back .check-circle svg{width:24px;height:24px;stroke:var(--pine-deep);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;}
  .pick-back h4{
    font-family:'Fraunces',serif;font-weight:500;font-size:17px;
    color:#FFFDF7;letter-spacing:-.02em;
  }
  .pick-back .style-name{
    font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
    color:rgba(237,231,216,.6);
  }
  .pick-back .undo{
    margin-top:8px;
    font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(237,231,216,.5);
    display:flex;align-items:center;gap:6px;
  }
  .pick-back .undo svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  .styles-more{
    margin-top:clamp(28px,4vh,40px);
    display:flex;flex-direction:column;align-items:center;gap:14px;
    text-align:center;
  }
  .styles-more .note{
    font-size:13.5px;color:var(--ink-soft);
    transition:opacity .2s ease;
  }
  .styles-more .note strong{color:var(--pine);font-weight:600;}
  .styles-more .btn-other svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  @media (max-width:1000px){ .style-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
  @media (max-width:760px){ .style-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:640px){
    .styles{padding:44px 16px 50px;}
    .sec-head h2{font-size:29px;}
    .pick-title{font-size:17px;bottom:38px;}
    .pick-desc{font-size:13px;bottom:20px;}
    .pick-back h4{font-size:18px;}
  }
  @media (max-width:400px){
    .style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .sec-head h2{font-size:26px;}
    .pick-desc{display:none;}
    .pick-card{aspect-ratio:3/4.4;}
  }


  /* ==================== SECTION 6 — WHAT VERIFIED MEANS (STAMP TRAIL) ==================== */
  .verified{
    background:var(--pine-deep);
    color:#EDE7D8;
    padding:clamp(52px,8vh,104px) clamp(16px,4vw,64px);
  }
  .verified-inner{max-width:1240px;margin:0 auto;}
  .verified .sec-kicker{color:rgba(237,231,216,.5);}
  .verified .sec-kicker .num{color:var(--marigold);}
  .verified .sec-kicker .rule{background:rgba(237,231,216,.25);}
  .verified .sec-head h2{color:#FFFDF7;}
  .verified .sec-head h2 em{color:var(--marigold);}
  .verified .sec-head .sub{color:rgba(237,231,216,.72);}

  .vgrid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(28px,4vw,64px);
    align-items:start;
  }

  /* -- left: the three checkpoints, triggered on scroll -- */
  .vsteps{display:flex;flex-direction:column;}
  .vstep{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:clamp(14px,1.6vw,20px);
    padding:clamp(48px,8vh,96px) 0;
    border-bottom:1px solid rgba(237,231,216,.14);
  }
  .vstep:first-child{padding-top:0;}
  .vstep:last-child{border-bottom:none;padding-bottom:12px;}
  .vstep .ico{
    position:relative;
    width:38px;height:38px;
    border-radius:50%;
    border:1px solid rgba(217,119,87,.5);
    background:rgba(217,119,87,.08);
    color:var(--marigold);
    display:flex;align-items:center;justify-content:center;
    transition:background .3s ease,border-color .3s ease,transform .3s ease;
  }
  .vstep .ico svg{
    position:absolute;width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
    transition:opacity .2s ease,transform .2s ease;
  }
  .vstep .ico .ico-check{opacity:0;transform:scale(.5);stroke-width:2.6;}
  .vstep .ico .ico-default{opacity:1;transform:scale(1);}
  .vstep.is-stamped .ico{background:var(--marigold);border-color:var(--marigold);transform:scale(1.08);}
  .vstep.is-stamped .ico-default{opacity:0;transform:scale(.5);}
  .vstep.is-stamped .ico-check{opacity:1;transform:scale(1);color:var(--pine-deep);}
  .vstep h3{
    font-family:'Fraunces',serif;
    font-size:clamp(20.5px,1.6vw,22px);
    font-weight:500;
    letter-spacing:-.022em;
    line-height:1.2;
    color:#FFFDF7;
    margin-bottom:7px;
    transition:color .3s ease;
  }
  .vstep p{
    font-size:clamp(16px,1vw,15px);
    line-height:1.6;
    color:rgba(237,231,216,.72);
    max-width:44ch;
  }
  .vstep .flag{
    display:inline-block;margin-top:9px;
    font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(237,231,216,.35);
    transition:color .3s ease;
  }
  .vstep.is-stamped .flag{color:var(--marigold);}
  .vstep .flag .off{display:inline;}
  .vstep .flag .on{display:none;}
  .vstep.is-stamped .flag .off{display:none;}
  .vstep.is-stamped .flag .on{display:inline;}

  /* -- right: the sticky certificate that gets stamped -- */
  .vcert-wrap{
    position:sticky;
    top:clamp(90px,13vh,130px);
  }
  .vcert{
    position:relative;
    background:#F6F5F1;
    border:1px solid rgba(26,26,24,.16);
    border-radius:16px;
    padding:clamp(22px,2.6vw,30px);
    box-shadow:0 46px 90px -46px rgba(0,0,0,.6);
    color:var(--ink);
    overflow:hidden;
  }
  .vcert::before{
    content:'';
    position:absolute;inset:9px;
    border:1px dashed rgba(26,26,24,.25);
    border-radius:9px;
    pointer-events:none;
  }
  .vcert-head{
    display:flex;justify-content:space-between;align-items:baseline;
    margin-bottom:18px;position:relative;z-index:1;
  }
  .vcert-kicker{
    font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--marigold-deep);
  }
  .vcert-id{
    font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--ink-faint);
  }
  .vcert-id2{
    display:flex;align-items:center;gap:12px;position:relative;z-index:1;
  }
  .vcert-photo{
    width:58px;height:58px;border-radius:50%;overflow:hidden;
    border:2px solid var(--pine);flex-shrink:0;background:#EDECE7;
  }
  .vcert-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
  .vcert-name .nm{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);display:block;letter-spacing:-.01em;}
  .vcert-name .rl{font-size:11.5px;color:var(--ink-soft);margin-top:2px;display:block;}
  .vcert-line{height:1px;background:rgba(26,26,24,.16);margin:18px 0;position:relative;z-index:1;}

  .vcert-stamps{
    position:relative;
    height:clamp(150px,20vw,190px);
    z-index:1;
  }
  .stamp{
    position:absolute;
    width:clamp(78px,9vw,96px);height:clamp(78px,9vw,96px);
    border-radius:50%;
    border:3px double var(--pine);
    display:flex;align-items:center;justify-content:center;
    text-align:center;padding:6px;
    font-family:'IBM Plex Mono',monospace;
    font-size:8px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;
    color:var(--pine);
    opacity:0;
    transform:scale(2.4) rotate(var(--rot,-12deg));
    transition:opacity .2s ease,transform .5s cubic-bezier(.32,1.6,.5,1);
    mix-blend-mode:multiply;
  }
  .stamp.is-stamped{opacity:.85;transform:scale(1) rotate(var(--rot,-12deg));}
  .stamp-1{top:2px;left:0;--rot:-11deg;}
  .stamp-2{top:22px;left:36%;--rot:7deg;}
  .stamp-3{top:6px;right:0;--rot:-5deg;}

  .vcert-seal{
    position:absolute;left:50%;bottom:-4px;z-index:2;
    width:clamp(96px,11vw,116px);height:clamp(96px,11vw,116px);
    transform:translate(-50%,14px) scale(.5) rotate(-16deg);
    opacity:0;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#E2916D,#A65032 72%);
    border:3px solid #7A4028;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    color:#3A2016;
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    box-shadow:0 20px 40px -14px rgba(0,0,0,.55);
    transition:opacity .5s cubic-bezier(.25,1.6,.4,1),transform .5s cubic-bezier(.25,1.6,.4,1);
  }
  .vcert-seal.is-shown{opacity:1;transform:translate(-50%,14px) scale(1) rotate(-9deg);}
  .vcert-seal svg{width:20px;height:20px;stroke:#3A2016;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}

  /* -- the provenance strip -- */
  .vstats{
    margin-top:clamp(34px,5vh,58px);
    padding-top:clamp(24px,3.4vh,34px);
    border-top:1px solid rgba(237,231,216,.16);
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(14px,2vw,30px);
  }
  .vstat .n{
    font-family:'Fraunces',serif;
    font-size:clamp(25px,2.4vw,32px);
    font-weight:500;
    letter-spacing:-.03em;
    color:#FFFDF7;
    line-height:1.1;
    display:block;
  }
  .vstat .k{
    display:block;
    margin-top:7px;
    color:rgba(237,231,216,.5);
    line-height:1.5;
  }
  .vnote{
    margin-top:clamp(20px,2.8vh,28px);
    font-size:clamp(16px,1vw,15px);
    line-height:1.62;
    color:rgba(237,231,216,.6);
    max-width:66ch;
  }
  .vnote strong{color:rgba(237,231,216,.9);font-weight:600;}

  @media (max-width:940px){
    .vgrid{grid-template-columns:minmax(0,1fr);gap:8px;}
    .vcert-wrap{position:static;margin-top:8px;}
    .vcert{max-width:460px;margin:0 auto;}
    .vstep{padding:28px 0;}
    .vstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
  }
  @media (max-width:640px){
    .verified{padding:44px 16px 50px;}
    .vstep{grid-template-columns:32px minmax(0,1fr);gap:13px;padding:22px 0;}
    .vstep .ico{width:32px;height:32px;}
    .vstep .ico svg{width:15px;height:15px;}
    .vstep h3{font-size:20px;}
    .vstep p{font-size:16px;}
  }
  @media (max-width:400px){
    .vstats{grid-template-columns:minmax(0,1fr);gap:16px;}
    .vstat .n{font-size:26px;}
  }

  /* ==================== SECTION 7 — TESTIMONIALS (TABLET CONCEPT) ==================== */
  .voices{
    background:#F5F4F0;
    padding:clamp(56px,9vh,112px) clamp(16px,4vw,64px);
    overflow:hidden;
  }
  .voices-inner{max-width:1240px;margin:0 auto;}

  .voices .sec-head{text-align:left;margin-bottom:clamp(20px,3vh,28px);}
  .voices .sec-kicker{justify-content:flex-start;}
  .voices .sec-head h2{
    margin:0;max-width:14ch;
    color:var(--ink);
    font-size:clamp(30px,3vw,40px);
  }
  .voices .sec-head h2 em{font-style:italic;color:var(--marigold-deep);}

  .voices-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);
    gap:clamp(32px,5vw,84px);
    align-items:center;
  }
  .voices-lede{
    font-size:clamp(17px,1.05vw,16.5px);
    line-height:1.7;
    color:var(--ink-soft);
    max-width:42ch;
    margin-bottom:clamp(26px,3.6vh,38px);
  }

  /* -- closing CTA (now in left column) -- */
  .voices-foot{
    display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  }
  .voices-faces{display:flex;align-items:center;}
  .voices-faces img{
    width:36px;height:36px;
    border-radius:50%;
    object-fit:cover;
    object-position:center top;
    border:2px solid #F5F4F0;
    margin-left:-11px;
    background:#EDECE7;
  }
  .voices-faces img:first-child{margin-left:0;}
  .voices-foot .lead{font-size:13.5px;color:var(--ink-soft);}
  .voices-foot .ask{
    display:inline-flex;align-items:center;gap:10px;
    padding:15px 30px;
    border-radius:999px;
    background:var(--pine);
    border:1px solid var(--pine);
    color:#F6F5F1;
    font-size:15px;font-weight:600;
    text-decoration:none;
    box-shadow:0 14px 30px -18px rgba(26,26,24,.55);
    transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .voices-foot .ask .arrow{transition:transform .2s ease;}
  .voices-foot .ask:hover{background:#2A2A26;transform:translateY(-2px);}
  .voices-foot .ask:hover .arrow{transform:translateX(4px);}
  .voices-foot .ask:focus-visible{outline:3px solid var(--marigold);outline-offset:3px;}

  /* ---------- THE TABLET ---------- */
  .tablet-stage{
    position:relative;
    display:flex;justify-content:center;
    perspective:1800px;
  }
  .tablet{
    position:relative;
    width:min(100%,320px);
    aspect-ratio:3/4.05;
    background:linear-gradient(155deg,#2b2f30,#0d0f10);
    border-radius:34px;
    padding:16px 13px;
    box-shadow:
      0 50px 90px -30px rgba(0,0,0,.7),
      0 0 0 1px rgba(255,255,255,.06) inset;
    transform:rotateY(-8deg) rotateX(3deg);
    transition:transform .4s ease;
  }
  .tablet-stage:hover .tablet{transform:rotateY(-4deg) rotateX(1.5deg);}
  .tablet-cam{
    position:absolute;top:7px;left:50%;transform:translateX(-50%);
    width:6px;height:6px;border-radius:50%;
    background:#111;box-shadow:0 0 0 2px rgba(255,255,255,.05);
  }
  .tablet-screen{
    position:relative;
    width:100%;height:100%;
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(180deg,#FAFAF8,#EFEEE9);
  }
  .tablet-home{
    position:absolute;bottom:6px;left:50%;transform:translateX(-50%);
    width:44px;height:4px;border-radius:999px;
    background:rgba(255,255,255,.22);
  }
  .tablet-glow{
    position:absolute;inset:-50px;z-index:-1;
    background:radial-gradient(closest-side,rgba(217,119,87,.42),transparent 70%);
    filter:blur(14px);
  }

  /* -- review feed -- */
  .review-feed{
    position:absolute;inset:0;
    overflow:hidden;
  }
  .review-feed::before,.review-feed::after{
    content:'';position:absolute;left:0;right:0;height:34px;z-index:3;pointer-events:none;
  }
  .review-feed::before{top:0;background:linear-gradient(180deg,#FAFAF8,transparent);}
  .review-feed::after{bottom:0;background:linear-gradient(0deg,#EFEEE9,transparent);}
  .review-track{
    display:flex;flex-direction:column;
    animation:reviewScroll 26s linear infinite;
  }
  .review-track.is-paused{animation-play-state:paused;}
  @keyframes reviewScroll{
    from{transform:translateY(0);}
    to{transform:translateY(-50%);}
  }
  .review-item{
    padding:16px 17px;
    display:flex;flex-direction:column;gap:9px;
    border-bottom:1px solid rgba(26,26,24,.09);
    border-left:3px solid transparent;
    cursor:pointer;
    background:transparent;
    transition:background .2s ease,border-color .2s ease;
  }
  .review-item:hover,.review-item.is-active{
    background:rgba(26,26,24,.045);
    border-left-color:var(--marigold);
  }
  .review-top{display:flex;align-items:center;gap:10px;}
  .review-top img{
    width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:center top;
    border:1px solid rgba(26,26,24,.15);flex-shrink:0;background:#EDECE7;
  }
  .review-top .nm{
    font-family:'Fraunces',serif;font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.2;
  }
  .review-top .rl{display:block;font-size:10.5px;color:var(--ink-faint);margin-top:1px;}
  .review-top .stars{margin-left:auto;display:flex;gap:1px;flex-shrink:0;}
  .review-top .stars svg{width:9px;height:9px;fill:var(--marigold);}
  .review-quote{font-size:12px;line-height:1.55;color:var(--ink-soft);}
  .review-play{
    display:inline-flex;align-items:center;gap:6px;
    font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--marigold-deep);
  }
  .review-play svg{width:16px;height:16px;fill:var(--marigold-deep);stroke:none;}
  .review-item:not([data-video]) .review-play{display:none;}

  /* -- video stage -- */
  .video-stage{
    position:absolute;inset:0;z-index:4;
    background:#000;
    display:flex;flex-direction:column;
  }
  .video-stage[hidden]{display:none;}
  .video-stage video{flex:1;width:100%;height:100%;object-fit:cover;}
  .video-caption{
    position:absolute;left:14px;right:44px;bottom:14px;z-index:2;
    color:#FFFDF7;
  }
  .video-caption .nm{font-family:'Fraunces',serif;font-size:14px;}
  .video-caption .rl{display:block;font-size:10.5px;color:rgba(255,255,255,.65);margin-top:2px;}
  .video-close{
    position:absolute;top:10px;right:10px;z-index:5;
    width:30px;height:30px;border-radius:50%;
    background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);
    color:#fff;font-size:16px;line-height:1;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
  }
  .video-fallback{
    position:absolute;inset:0;z-index:2;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    background:linear-gradient(160deg,#211f1a,#141310);
    color:rgba(237,231,216,.7);text-align:center;padding:20px;
  }
  .video-fallback svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;}
  .video-fallback span{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;}

  @media (max-width:940px){
    .voices-grid{grid-template-columns:minmax(0,1fr);gap:40px;}
    .voices .sec-head,.voices .sec-kicker{justify-content:center;text-align:center;}
    .voices .sec-head h2{margin:0 auto;max-width:20ch;}
    .voices-lede{margin-left:auto;margin-right:auto;text-align:center;}
    .voices-foot{align-items:center;margin:0 auto;}
    .tablet{width:min(100%,300px);}
  }
  @media (max-width:640px){
    .voices{padding:48px 16px 52px;}
    .voices-foot .ask{width:100%;justify-content:center;}
    .tablet{transform:none;width:min(100%,260px);}
    .tablet-stage:hover .tablet{transform:none;}
  }

  /* ==================== SECTION 9 — STATS / SOCIAL PROOF (GLASS PANEL) ==================== */
  .proof{
    background:#F6F5F1;
    padding:clamp(56px,9vh,112px) clamp(16px,4vw,64px) clamp(90px,12vh,130px);
  }
  .proof-inner{max-width:1080px;margin:0 auto;}
  .proof .sec-head{text-align:center;margin-bottom:clamp(28px,4vh,42px);}
  .proof .sec-kicker{justify-content:center;}
  .proof .sec-head h2{margin:0 auto;max-width:22ch;}
  .proof .sec-head .sub{margin:10px auto 0;max-width:44ch;color:var(--ink-soft);font-size:13.5px;}

  .cinema{
    position:relative;
  }
  .cinema-glow{
    position:absolute;
    inset:-8% -6%;
    z-index:0;
    background:
      radial-gradient(38% 55% at 12% 20%,rgba(217,119,87,.55),transparent 70%),
      radial-gradient(34% 50% at 88% 78%,rgba(154,150,138,.4),transparent 70%),
      radial-gradient(30% 45% at 80% 15%,rgba(26,26,24,.28),transparent 70%);
    filter:blur(38px);
    animation:cinemaGlow 9s ease-in-out infinite alternate;
    pointer-events:none;
  }
  @keyframes cinemaGlow{
    0%{transform:scale(1) rotate(0deg);}
    100%{transform:scale(1.08) rotate(3deg);}
  }
  .cinema-frame{
    position:relative;
    z-index:1;
    aspect-ratio:16/9;
    border-radius:22px;
    overflow:hidden;
    background:linear-gradient(160deg,#2b2f30,#121110);
    box-shadow:0 50px 90px -40px rgba(0,0,0,.5);
  }
  .cinema-frame::before{
    content:'';
    position:absolute;inset:0;z-index:4;
    border-radius:inherit;
    padding:2px;
    background:conic-gradient(from var(--ang,0deg),var(--marigold),#9A968A,var(--pine),var(--marigold));
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    animation:ringSpin 6s linear infinite;
    pointer-events:none;
    opacity:.85;
  }
  .cinema-frame.is-playing::before{display:none;}
  @keyframes ringSpin{
    from{--ang:0deg;}
    to{--ang:360deg;}
  }
  .cinema-frame img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  }
  .cinema-frame::after{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(20,19,17,.05) 0%,rgba(20,19,17,.55) 100%);
  }
  .cinema-play{
    all:unset;
    box-sizing:border-box;
    position:absolute;inset:0;z-index:2;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
  }
  .cinema-play span{
    position:relative;
    width:clamp(58px,8vw,84px);height:clamp(58px,8vw,84px);
    border-radius:50%;
    background:rgba(20,19,17,.5);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.3);
    display:flex;align-items:center;justify-content:center;
    transition:background .2s ease,transform .2s ease;
  }
  .cinema-play span::before,
  .cinema-play span::after{
    content:'';
    position:absolute;inset:0;
    border-radius:50%;
    border:1.5px solid rgba(217,119,87,.6);
    animation:playPulse 2.2s ease-out infinite;
  }
  .cinema-play span::after{animation-delay:1.1s;}
  @keyframes playPulse{
    0%{transform:scale(1);opacity:.8;}
    100%{transform:scale(1.7);opacity:0;}
  }
  .cinema-play:hover span{background:var(--marigold);transform:scale(1.07);}
  .cinema-play svg{width:36%;height:36%;fill:#FFFDF7;margin-left:4%;position:relative;z-index:1;}
  .cinema-frame.is-playing .cinema-play,
  .cinema-frame.is-playing img{display:none;}
  .cinema-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;}

  /* -- the frosted glass stat panel, overlapping the bottom edge -- */
  .glass-panel{
    position:relative;
    z-index:4;
    margin:clamp(-56px,-8vw,-38px) auto 0;
    width:min(100%, 960px);
    background:rgba(255,253,247,.78);
    -webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
    border:1px solid rgba(255,255,255,.6);
    border-radius:20px;
    box-shadow:0 30px 60px -30px rgba(26,26,24,.35);
    padding:clamp(18px,2.6vw,28px) clamp(18px,3vw,34px);
  }
  .glass-lead{
    display:flex;align-items:center;gap:9px;
    margin-bottom:clamp(16px,2.2vh,20px);
    padding-bottom:clamp(14px,2vh,18px);
    border-bottom:1px dashed rgba(26,26,24,.16);
    font-size:12px;font-weight:600;
    color:var(--pine);
  }
  .glass-lead .badge{
    flex-shrink:0;
    width:26px;height:26px;border-radius:50%;
    background:linear-gradient(155deg,var(--marigold),#A65032);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 14px -6px rgba(217,119,87,.7);
  }
  .glass-lead .badge svg{width:13px;height:13px;stroke:#3A2016;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
  .glass-lead strong{color:var(--marigold-deep);font-weight:700;}
  .glass-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(10px,2vw,20px);
  }
  .glass-stat{
    text-align:center;
    padding:0 4px;
    border-left:1px solid rgba(26,26,24,.12);
    opacity:0;
    transform:translateY(14px);
    transition:opacity .5s ease,transform .5s ease;
    transition-delay:calc(var(--i,0) * .1s);
  }
  .glass-stat:first-child{border-left:none;}
  .glass-panel.is-in .glass-stat{opacity:1;transform:translateY(0);}
  .glass-stat .ico{
    width:30px;height:30px;margin:0 auto 8px;
    border-radius:50%;
    background:rgba(217,119,87,.14);
    display:flex;align-items:center;justify-content:center;
    color:var(--marigold-deep);
  }
  .glass-stat .ico svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .glass-stat .n{
    display:block;
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(28px,3.4vw,36px);
    letter-spacing:-.03em;
    color:var(--pine);
    line-height:1.1;
  }
  .glass-stat .k{
    display:block;
    margin-top:5px;
    font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink-faint);
    font-weight:600;
  }

  .proof-note{
    text-align:center;
    margin-top:clamp(20px,3vh,30px);
    font-size:11.5px;
    color:var(--ink-faint);
  }

  @media (max-width:760px){
    .glass-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;}
    .glass-stat:nth-child(3){border-left:none;}
    .glass-stat:nth-child(odd){border-left:none;}
    .glass-stat:nth-child(even){border-left:1px solid rgba(26,26,24,.12);}
  }
  @media (max-width:480px){
    .glass-panel{margin-top:-24px;border-radius:16px;padding:16px 14px;}
    .glass-lead{font-size:13px;}
    .glass-stat .n{font-size:26px;}
    .cinema-frame{border-radius:16px;}
    .cinema-glow{display:none;}
  }
  @media (prefers-reduced-motion:reduce){
    .cinema-glow,.cinema-frame::before,.cinema-play span::before,.cinema-play span::after{animation:none;}
  }

  /* ==================== SECTION 9b — GLOBAL PRESENCE VIDEO ==================== */
  /* Video already carries its own baked-in map/stats animation — same lesson as the
     auth-page video: no text overlaid on top, and it's inset (not edge-to-edge cover)
     within its frame so that content doesn't get cropped at the border. */
  .global-presence{
    background:var(--paper);
    padding:clamp(52px,8vh,104px) clamp(16px,4vw,64px);
  }
  .global-presence-inner{max-width:1080px;margin:0 auto;}
  .global-presence .sec-head{text-align:center;margin-bottom:clamp(28px,4vh,42px);}
  .global-presence .sec-kicker{justify-content:center;}
  .global-presence .sec-head h2{margin:0 auto;max-width:24ch;}
  .global-presence .sec-head h2 em{font-style:italic;color:var(--marigold-deep);}

  .global-presence-frame{
    position:relative;
    background:var(--pine-deep);
    border-radius:var(--radius-card);
    aspect-ratio:16/9;
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 40px 80px -40px rgba(26,26,24,.35);
  }
  .global-presence-video{
    width:86%;height:86%;
    object-fit:cover;object-position:center;
    border-radius:16px;
  }
  @media (max-width:640px){
    .global-presence{padding:44px 14px 52px;}
    .global-presence-frame{aspect-ratio:4/5;border-radius:20px;}
    .global-presence-video{width:90%;height:90%;border-radius:14px;}
  }

  /* ==================== SECTION 10 — FAQ (CHAT THREAD) ==================== */
  .faq{
    background:#FFFFFF;
    padding:clamp(56px,9vh,112px) clamp(16px,4vw,64px);
  }
  .faq-inner{max-width:720px;margin:0 auto;}
  .faq .sec-head{text-align:center;margin-bottom:clamp(30px,4.4vh,46px);}
  .faq .sec-kicker{justify-content:center;}
  .faq .sec-head h2{margin:0 auto;}

  .chat-thread{display:flex;flex-direction:column;gap:clamp(20px,3.2vh,28px);}
  .chat-row{display:flex;}
  .chat-row.q{justify-content:flex-end;margin-bottom:2px;}
  .chat-row.a{justify-content:flex-start;align-items:flex-end;gap:10px;}

  .chat-avatar{
    width:32px;height:32px;flex-shrink:0;
    border-radius:50%;
    background:var(--pine);
    color:#F6F5F1;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:600;font-size:11px;letter-spacing:-.02em;
  }

  .bubble{
    max-width:74%;
    padding:13px 18px;
    border-radius:18px;
    font-size:14px;
    line-height:1.6;
    opacity:0;
    transform:translateY(14px) scale(.97);
    transition:opacity .4s ease,transform .4s cubic-bezier(.22,.9,.3,1);
  }
  .chat-row.is-in .bubble{opacity:1;transform:translateY(0) scale(1);}

  .q-bubble{
    background:var(--pine);
    color:#FFFDF7;
    border-bottom-right-radius:5px;
    font-weight:500;
  }
  .a-bubble{
    background:#F0EFEA;
    color:var(--ink-soft);
    border:1px solid var(--line);
    border-bottom-left-radius:5px;
    position:relative;
  }
  .a-bubble strong{color:var(--pine);font-weight:600;}

  .a-text{display:none;}
  .a-bubble.is-typed .a-text{display:block;animation:textIn .35s ease;}
  .a-bubble.is-typed .typing{display:none;}
  @keyframes textIn{
    from{opacity:0;transform:translateY(4px);}
    to{opacity:1;transform:translateY(0);}
  }

  .typing{
    display:inline-flex;align-items:center;gap:4px;
    padding:4px 2px;
  }
  .typing span{
    width:6px;height:6px;border-radius:50%;
    background:var(--ink-faint);
    animation:typingBounce 1.1s infinite ease-in-out;
  }
  .typing span:nth-child(2){animation-delay:.15s;}
  .typing span:nth-child(3){animation-delay:.3s;}
  @keyframes typingBounce{
    0%,60%,100%{transform:translateY(0);opacity:.4;}
    30%{transform:translateY(-4px);opacity:1;}
  }

  .chat-tag{
    display:flex;justify-content:flex-start;
    margin:2px 0 0 42px;
    font-family:'IBM Plex Mono',monospace;
    font-size:9px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--marigold-deep);
    opacity:0;
    transition:opacity .3s ease;
  }
  .chat-tag.is-shown{opacity:1;}

  /* -- the category slider (finger/drag driven, no arrows) -- */
  .faq-nav{
    display:flex;align-items:center;justify-content:center;gap:9px;
    margin-bottom:clamp(20px,3vh,26px);
  }
  .faq-dots{display:flex;align-items:center;gap:9px;}
  .faq-dot{
    width:7px;height:7px;padding:0;border:none;border-radius:50%;
    background:rgba(26,26,24,.16);
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
  }
  .faq-dot.is-active{background:var(--marigold);transform:scale(1.4);}

  .faq-swipe-hint{
    text-align:center;
    margin:0 0 clamp(18px,2.6vh,24px);
    font-family:'IBM Plex Mono',monospace;
    font-size:10px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--ink-faint);
    display:flex;align-items:center;justify-content:center;gap:8px;
  }
  .faq-swipe-hint svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;animation:swipeNudge 1.8s ease-in-out infinite;}
  @keyframes swipeNudge{
    0%,100%{transform:translateX(0);opacity:.6;}
    50%{transform:translateX(4px);opacity:1;}
  }

  .faq-track-wrap{overflow:hidden;}
  .faq-track{
    display:flex;
    cursor:grab;
    touch-action:pan-y;
    transition:transform .5s cubic-bezier(.23,1,.32,1);
  }
  .faq-track.is-dragging{
    cursor:grabbing;
    transition:none;
  }
  .faq-slide{
    flex:0 0 100%;
    min-width:0;
    padding:0 2px;
    user-select:none;
  }
  .faq-cat{
    display:inline-flex;align-items:center;gap:8px;
    margin-bottom:clamp(20px,3vh,28px);
    padding:7px 15px;
    border-radius:999px;
    background:#F6F5F1;
    border:1px solid rgba(217,119,87,.45);
    color:var(--marigold-deep);
    font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;
  }
  .faq-cat .idx{color:var(--ink-faint);font-weight:500;}

  /* -- follow-up nudge + CTA at the end of each chat -- */
  .chat-followup{margin-top:clamp(16px,2.4vh,20px);}
  .chat-row.followup{
    display:flex;justify-content:flex-start;align-items:flex-end;gap:10px;
    opacity:0;transform:translateY(10px);
    transition:opacity .4s ease,transform .4s cubic-bezier(.22,.9,.3,1);
  }
  .chat-row.followup.is-in{opacity:1;transform:translateY(0);}
  .followup-bubble{
    background:#F6F5F1;
    border:1px dashed rgba(217,119,87,.4);
    color:var(--ink-soft);
    font-style:italic;
  }
  .followup-cta{
    display:inline-flex;align-items:center;gap:8px;
    margin:12px 0 0 42px;
    padding:10px 18px;
    border-radius:999px;
    background:var(--marigold);
    color:var(--pine-deep);
    font-size:13px;font-weight:600;
    text-decoration:none;
    box-shadow:0 12px 22px -12px rgba(217,119,87,.7);
    opacity:0;transform:translateY(8px);
    transition:opacity .4s ease,transform .4s cubic-bezier(.22,.9,.3,1),background .2s ease;
  }
  .followup-cta.is-in{opacity:1;transform:translateY(0);}
  .followup-cta:hover{background:#E2916D;}
  .followup-cta .arrow{transition:transform .2s ease;}
  .followup-cta:hover .arrow{transform:translateX(3px);}

  .chat-tag svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-right:5px;vertical-align:-1px;}

  @media (max-width:640px){
    .faq{padding:44px 16px 50px;}
    .bubble{max-width:84%;font-size:16px;padding:11px 15px;}
    .chat-tag{margin-left:38px;}
  }

  /* ==================== SECTION 11 — FINAL CTA (CARD) ==================== */
  .final{
    padding:clamp(40px,6vh,64px) clamp(16px,4vw,64px) clamp(56px,8vh,96px);
  }
  .final-card{
    position:relative;
    overflow:hidden;
    max-width:1040px;
    margin:0 auto;
    border-radius:clamp(24px,3vw,32px);
    background:#FAFAF8;
    border:1px solid var(--line);
    padding:clamp(44px,7vh,72px) clamp(24px,5vw,64px);
    text-align:center;
    color:var(--ink);
    box-shadow:0 40px 80px -40px rgba(26,26,24,.25);
  }
  .final-glow{
    position:absolute;inset:-15%;z-index:0;
    background:
      radial-gradient(40% 60% at 18% 15%,rgba(217,119,87,.14),transparent 70%),
      radial-gradient(36% 55% at 85% 85%,rgba(26,26,24,.08),transparent 70%);
    filter:blur(60px);
    animation:cinemaGlow 12s ease-in-out infinite alternate;
    pointer-events:none;
  }
  .final-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
  .final-kicker{
    display:inline-flex;align-items:center;gap:8px;
    margin-bottom:clamp(18px,2.6vh,24px);
    padding:8px 18px;
    border-radius:999px;
    background:#F6F5F1;
    border:1px solid rgba(217,119,87,.4);
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--marigold-deep);
  }
  .final-kicker .dot{width:4px;height:4px;border-radius:50%;background:var(--marigold);flex-shrink:0;}
  .final h2{
    font-family:'Fraunces',serif;font-weight:700;
    font-size:clamp(32px,4.2vw,46px);
    letter-spacing:-.03em;line-height:1.14;
    color:var(--pine);
    max-width:18ch;
  }
  .final h2 em{font-style:italic;color:var(--marigold-deep);}

  .final-timer{
    display:inline-flex;align-items:center;gap:9px;
    margin-top:clamp(22px,3.4vh,30px);
    padding:8px 18px 8px 14px;
    border-radius:999px;
    background:#F0EFEA;
    border:1px solid var(--line);
  }
  .final-timer .pulse{
    position:relative;
    width:7px;height:7px;border-radius:50%;
    background:var(--marigold);
    flex-shrink:0;
  }
  .final-timer .pulse::after{
    content:'';position:absolute;inset:-4px;
    border-radius:50%;border:1px solid var(--marigold);
    animation:playPulse 2s ease-out infinite;
  }
  .final-timer .lbl{
    font-family:'IBM Plex Mono',monospace;
    font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink-faint);
  }
  .final-timer .val{
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;font-size:13px;letter-spacing:.03em;
    color:var(--marigold-deep);
    min-width:3.4ch;text-align:left;
  }

  .final-ctas{
    margin-top:clamp(28px,4vh,36px);
    display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
  }
  .final .btn-primary{
    background:var(--pine);
    color:#F6F5F1;
    box-shadow:0 16px 32px -14px rgba(26,26,24,.4);
  }
  .final .btn-primary:hover{background:#2A2A26;}
  .final .btn-secondary{
    background:transparent;
    border:1px solid rgba(26,26,24,.25);
    color:var(--ink);
  }
  .final .btn-secondary:hover{background:#F0EFEA;border-color:rgba(26,26,24,.4);}

  @media (max-width:640px){
    .final{padding:24px 12px 52px;}
    .final-card{padding:36px 22px 44px;border-radius:22px;}
    .final h2{max-width:none;}
    .final-ctas{flex-direction:column;align-items:stretch;}
    .final-ctas .btn{justify-content:center;}
  }

  /* ==================== FOOTER ==================== */
  .site-footer{
    background:#171614;
    color:rgba(237,231,216,.65);
    padding:clamp(48px,7vh,72px) clamp(20px,4vw,64px) clamp(22px,3.6vh,30px);
  }
  .footer-inner{max-width:1240px;margin:0 auto;}
  .footer-top{
    display:grid;
    grid-template-columns:1.25fr repeat(3,1fr);
    gap:clamp(28px,4vw,48px);
    padding-bottom:clamp(30px,5vh,46px);
    border-bottom:1px solid rgba(237,231,216,.14);
  }
  .footer-brand .logo{
    font-family:'Fraunces',serif;font-weight:600;
    font-size:22px;letter-spacing:-.02em;
    color:#FFFDF7;
    display:inline-flex;align-items:center;gap:9px;
  }
  .footer-brand .logo .dot{width:7px;height:7px;border-radius:50%;background:var(--marigold);flex-shrink:0;}
  .footer-brand p{
    margin-top:12px;
    font-size:13px;line-height:1.65;
    color:rgba(237,231,216,.5);
    max-width:30ch;
  }
  .footer-col h4{
    font-family:'IBM Plex Mono',monospace;
    font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
    color:rgba(237,231,216,.38);
    margin-bottom:15px;
  }
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .footer-col a{
    position:relative;
    display:inline-block;
    font-size:13.5px;
    color:rgba(237,231,216,.78);
    padding-bottom:2px;
    transition:color .2s ease;
  }
  .footer-col a::after{
    content:'';position:absolute;left:0;bottom:0;
    width:0;height:1px;background:var(--marigold);
    transition:width .25s ease;
  }
  .footer-col a:hover{color:#FFFDF7;}
  .footer-col a:hover::after{width:100%;}
  .footer-bottom{
    display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;
    padding-top:clamp(20px,3vh,26px);
    font-size:11.5px;letter-spacing:.02em;
    color:rgba(237,231,216,.42);
  }
  .footer-bottom .dot{margin:0 9px;opacity:.5;}
  .footer-bottom a{color:rgba(237,231,216,.6);}
  .footer-bottom a:hover{color:#FFFDF7;}

  @media (max-width:860px){
    .footer-top{grid-template-columns:repeat(2,1fr);row-gap:clamp(28px,5vh,40px);}
    .footer-brand{grid-column:1 / -1;}
  }
  @media (max-width:480px){
    .footer-top{grid-template-columns:1fr;}
    .site-footer{padding:44px 18px 24px;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
  }
