@font-face{font-family:'GT Ultra';src:url(../fonts/GTUltraFineThin.woff2) format('woff2');font-weight:100;font-style:normal;font-display:swap;}
  @font-face{font-family:'GT Ultra';src:url(../fonts/GTUltraFineThinItalic.woff2) format('woff2');font-weight:100;font-style:italic;font-display:swap;}
  @font-face{font-family:'Untitled Sans';src:url(../fonts/UntitledSansLight.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap;}
  @font-face{font-family:'Untitled Sans';src:url(../fonts/UntitledSansLightItalic.woff2) format('woff2');font-weight:300;font-style:italic;font-display:swap;}
  @font-face{font-family:'Untitled Sans';src:url(../fonts/UntitledSansRegular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
  @font-face{font-family:'Untitled Sans';src:url(../fonts/UntitledSansRegularItalic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;}
  @font-face{font-family:'Untitled Sans';src:url(../fonts/UntitledSansMedium.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap;}
  @font-face{font-family:'Untitled Sans';src:url(../fonts/UntitledSansMediumItalic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap;}

  :root{
    --accent:#FF3C00;
    --accent-deep:#C42E00;
    --bg:#0A0605;
    --ink:#F5F0E8;
    --muted:rgba(245,240,232,.52);
    --line:rgba(245,240,232,.16);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  h1,h2,h3,p,.big,.lbl,.love,.sub,.brandline,.back-line,.ps-line,.sig{text-wrap:balance;}
  html{scroll-behavior:smooth;}
  html,body{overflow-x:clip;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Untitled Sans',-apple-system,sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--accent);color:#fff;}

  /* fizz — real bubbles: white/amber, filled, small */
  .fizz{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
  .bubble{
    position:absolute;bottom:-30px;
    border-radius:50%;
    animation:rise linear infinite;
  }
  .bubble.b-w{border:1.5px solid rgba(245,240,232,.4);}
  .bubble.b-a{border:1.5px solid rgba(255,182,110,.35);}
  @keyframes rise{
    0%{transform:translateY(0) translateX(0) scale(.8);opacity:0;}
    8%{opacity:1;}
    92%{opacity:1;}
    100%{transform:translateY(-108vh) translateX(var(--sway)) scale(1.05);opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){
    .bubble{display:none;}
    *{animation:none !important;transition:none !important;}
  }

  main{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 24px;}
  section{padding:13vh 0;}
  .reveal,.hreveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease;}
  .reveal.in,.hreveal.in{opacity:1;transform:none;}

  /* brand devices */
  .gt-i{font-family:'GT Ultra',serif;font-style:italic;font-weight:100;}
  .eyebrow{
    font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    font-weight:500;color:var(--accent);margin-bottom:28px;
  }
  .eyebrow em{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    text-transform:none;letter-spacing:.01em;font-size:17px;margin-right:7px;
  }
  .wm{font-weight:500;letter-spacing:-.01em;white-space:nowrap;}
  .wm sup{font-size:.45em;font-weight:400;}

  .topbar{
    position:relative;z-index:1;
    display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;
    max-width:680px;margin:0 auto;padding:24px 24px 0;
    font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;
  }
  .topbar .gt-i{text-transform:none;letter-spacing:.01em;font-size:15px;color:var(--accent);}

  /* HERO */
  .hero{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding-top:5vh;}
  .hero h1{
    font-family:'GT Ultra',serif;font-weight:100;
    font-size:clamp(76px,19vw,180px);
    line-height:.98;letter-spacing:-.01em;
  }
  .hero h1 .dot{color:var(--accent);}
  .hero .sub{
    margin-top:36px;
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(21px,5.2vw,27px);
    color:var(--muted);max-width:30ch;line-height:1.45;
  }
  .cap{
    margin-top:44px;width:92px;height:92px;cursor:pointer;
    user-select:none;-webkit-tap-highlight-color:transparent;
    transform-origin:50% 50%;
  }
  .cap svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 12px rgba(255,60,0,.2));}
  .cap .spin{animation:spinSlow 60s linear infinite;}
  @keyframes spinSlow{to{transform:rotate(360deg);}}
  .cap-msg{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:15px;color:var(--muted);margin-top:14px;min-height:1.4em;
  }

  h2{
    font-family:'GT Ultra',serif;font-weight:100;
    font-size:clamp(38px,9vw,60px);
    letter-spacing:-.005em;line-height:1.06;margin-bottom:34px;
  }
  p.body{font-size:clamp(16px,4vw,19px);line-height:1.65;margin-bottom:22px;max-width:56ch;font-weight:300;}
  p.body .gt-i{font-size:1.12em;color:var(--ink);}

  .brandline{
    font-size:clamp(21px,5.2vw,28px);line-height:1.45;font-weight:300;
    color:var(--ink);margin-bottom:26px;
  }
  .brandline .wm{color:var(--accent);}

  /* homework beats */
  .beat{border-top:1px solid var(--line);padding:24px 0;}
  .beat:last-child{border-bottom:1px solid var(--line);}
  .beat .year{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:17px;color:var(--accent);margin-bottom:8px;
  }
  .beat p{font-size:clamp(17px,4.2vw,21px);line-height:1.5;font-weight:400;}
  .beat p em{font-family:'GT Ultra',serif;font-style:italic;font-weight:100;font-size:1.1em;color:var(--muted);}

  /* orange band — white over orange, no horizontal overflow */
  .band{
    position:relative;z-index:1;
    background:var(--accent);color:#F5F0E8;
    margin-inline:calc(50% - 50vw);
    padding-inline:calc(50vw - 50%);
    padding-block:13vh;
  }
  .band .eyebrow{color:#F5F0E8;opacity:.85;}
  .band p.body{color:#F5F0E8;font-weight:400;}
  .band p.body .gt-i{color:#fff;}
  .band .big{
    font-family:'GT Ultra',serif;font-weight:100;
    font-size:clamp(42px,10vw,70px);
    line-height:1.04;margin-bottom:34px;color:#fff;
  }
  .band .big span{font-style:italic;}

  /* services */
  .svc-list{margin:38px 0 8px;}
  .svc{
    display:flex;align-items:baseline;gap:16px;
    border-top:1px solid var(--line);
    padding:17px 0;
  }
  .svc:last-child{border-bottom:1px solid var(--line);}
  .svc .n{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:16px;color:var(--accent);min-width:32px;
  }
  .svc .t{font-weight:500;font-size:clamp(17px,4.4vw,22px);}
  .svc .d{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(15px,3.8vw,18px);
    color:var(--muted);margin-left:auto;text-align:right;max-width:14ch;line-height:1.3;
  }
  .svc-close{font-size:clamp(16px,4vw,19px);line-height:1.65;margin-top:28px;max-width:56ch;font-weight:300;}
  .svc-close .gt-i{font-size:1.12em;}

  /* founders */
  .founders{display:flex;flex-direction:column;gap:48px;margin-top:44px;}
  @media(min-width:600px){.founders{flex-direction:row;gap:26px;}.founder{flex:1;}}
  .capframe{
    width:160px;height:160px;position:relative;margin-bottom:20px;
    background:var(--accent);
    display:flex;align-items:center;justify-content:center;
  }
  .capframe img{
    width:126px;height:126px;border-radius:50%;object-fit:cover;
    border:4px solid var(--bg);display:block;
  }
  .founder h3{font-weight:500;font-size:21px;margin-bottom:4px;}
  .founder .studio{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:17px;color:var(--accent);margin-bottom:5px;
  }
  .founder .role{
    font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;
    color:var(--muted);margin-bottom:12px;
  }
  .founder p{font-size:15px;line-height:1.6;max-width:34ch;font-weight:300;}
  .founder p em{font-family:'GT Ultra',serif;font-style:italic;font-weight:100;font-size:1.1em;color:var(--muted);}
  .story-toggle{
    display:inline-block;margin-top:14px;background:none;border:none;cursor:pointer;
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    font-weight:500;color:var(--accent);padding:0;
    -webkit-tap-highlight-color:transparent;
  }
  .story-toggle em{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    text-transform:none;letter-spacing:.01em;font-size:15px;margin-right:6px;
  }
  .story{
    display:grid;grid-template-rows:0fr;
    transition:grid-template-rows .7s cubic-bezier(.4,0,.2,1);
  }
  .story.open{grid-template-rows:1fr;}
  .story > div{overflow:hidden;}
  .story .story-title{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:20px;color:var(--ink);margin:18px 0 12px;
  }
  .story p{
    font-size:14.5px;line-height:1.7;color:rgba(245,240,232,.72);
    margin-bottom:12px;max-width:40ch;font-weight:300;
  }
  .story p:last-child{margin-bottom:6px;}

  /* mexico stats */
  .mx p.love{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(30px,7.5vw,48px);
    line-height:1.22;margin-bottom:44px;
  }
  .mx p.love strong{color:var(--accent);font-weight:100;}
  .stat{
    display:flex;flex-direction:column;align-items:flex-start;gap:10px;
    border-top:1px solid var(--line);padding:24px 0;
  }
  .stat:last-child{border-bottom:1px solid var(--line);}
  .stat .num{
    font-family:'GT Ultra',serif;font-weight:100;
    font-size:clamp(44px,11vw,72px);color:var(--accent);
    font-variant-numeric:tabular-nums;line-height:1;
  }
  .stat .lbl{font-weight:300;font-size:clamp(15px,3.9vw,18px);line-height:1.5;max-width:44ch;}
  .stat .lbl em{font-family:'GT Ultra',serif;font-style:italic;font-weight:100;font-size:1.1em;color:var(--muted);}

  /* gift video */
  .vidbox{
    position:relative;margin-top:44px;border-radius:18px;overflow:hidden;
    border:1px solid var(--line);
    background:#120B08;
    box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
    cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .vidbox video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#120B08;}
  .vid-fallback{
    display:none;aspect-ratio:16/9;
    align-items:center;justify-content:center;flex-direction:column;gap:10px;
  }
  .vidbox.novideo .vid-fallback{display:flex;}
  .vidbox.novideo video{display:none;}
  .vid-fallback .gt-i{font-size:22px;color:var(--muted);}
  .vid-fallback span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
  .sound{
    position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;
    background:rgba(10,6,5,.72);border:1px solid rgba(245,240,232,.25);
    display:flex;align-items:center;justify-content:center;
    backdrop-filter:blur(4px);
  }
  .sound svg{width:18px;height:18px;}
  .vid-caption{
    display:flex;justify-content:space-between;gap:14px;margin-top:16px;
    font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400;
  }
  .vid-caption .gt-i{text-transform:none;letter-spacing:.01em;font-size:14px;color:var(--accent);}

  /* close */
  .toast{
    font-family:'GT Ultra',serif;font-weight:100;
    font-size:clamp(54px,13vw,100px);margin:34px 0 8px;
  }
  .toast span{color:var(--accent);}
  .sig{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(22px,5.4vw,28px);margin-top:32px;line-height:1.45;
  }

  /* ===== 3D MEMBERSHIP CARD ===== */
  .cardsec{padding-bottom:7vh;}
  .cardstage{
    margin-top:48px;
    perspective:1200px;
    display:flex;justify-content:center;
  }
  .card3d{
    position:relative;
    width:min(86vw,420px);
    aspect-ratio:1.586;
    transform-style:preserve-3d;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .face{
    position:absolute;inset:0;border-radius:18px;
    backface-visibility:hidden;-webkit-backface-visibility:hidden;
    overflow:hidden;
    box-shadow:0 34px 70px -18px rgba(255,60,0,.28), 0 10px 26px rgba(0,0,0,.6);
  }
  .face.front{
    background:linear-gradient(135deg,#FF5A24 0%,#FF3C00 42%,#C42E00 100%);
    color:#F5F0E8;
    padding:22px 24px;
    display:flex;flex-direction:column;
  }
  .face.back{
    background:linear-gradient(135deg,#171009 0%,#0A0605 55%,#20130A 100%);
    color:var(--ink);
    border:1px solid rgba(245,240,232,.18);
    transform:rotateY(180deg);
    padding:22px 24px;
    display:flex;flex-direction:column;
  }
  .face::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(115deg,
      transparent 30%,
      rgba(255,255,255,.30) 46%,
      rgba(255,214,170,.18) 52%,
      transparent 68%);
    transform:translateX(var(--shine,-140%));
    mix-blend-mode:screen;
  }
  .card-top{display:flex;justify-content:space-between;align-items:flex-start;}
  .card-wm{font-weight:500;font-size:clamp(14px,3.6vw,17px);letter-spacing:-.01em;}
  .card-wm sup{font-size:.45em;}
  .card-no{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(15px,3.8vw,18px);
  }
  .card-mid{margin-top:auto;}
  .card-name{
    font-family:'GT Ultra',serif;font-weight:100;
    font-size:clamp(28px,7.4vw,38px);letter-spacing:.01em;line-height:1;
  }
  .card-title{
    font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;
    margin-top:11px;
  }
  .card-bottom{
    display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
    margin-top:20px;
    font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;opacity:.85;
  }
  .card-bottom .gt-i{text-transform:none;letter-spacing:.01em;font-size:12.5px;max-width:17ch;text-align:right;line-height:1.25;}
  .back-print{
    position:absolute;right:-90px;bottom:-110px;width:300px;height:300px;
    opacity:.08;pointer-events:none;
  }
  .back-label{
    font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--accent);
  }
  .back-line{
    margin-top:auto;
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(18px,4.7vw,23px);line-height:1.42;
  }
  .back-meta{
    margin-top:16px;display:flex;gap:26px;
    font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;opacity:.65;
  }
  .ps-line{
    text-align:center;margin-top:8vh;
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(19px,4.8vw,23px);color:var(--muted);
  }

  /* secret overlay — white over orange */
  .secret{
    position:fixed;inset:0;z-index:50;
    background:var(--accent);
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .5s ease;
  }
  .secret.on{opacity:1;pointer-events:auto;}
  .secret-inner{max-width:520px;padding:32px;text-align:center;color:#F5F0E8;}
  .secret-inner .eyebrow{color:#F5F0E8;opacity:.85;margin-bottom:22px;justify-content:center;}
  .secret-inner h3{
    font-family:'GT Ultra',serif;font-weight:100;color:#fff;
    font-size:clamp(38px,10vw,58px);line-height:1.04;margin-bottom:22px;
  }
  .secret-inner p{
    font-family:'GT Ultra',serif;font-style:italic;font-weight:100;
    font-size:clamp(19px,5vw,24px);line-height:1.48;
  }

  footer{
    display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
    padding:56px 0 44px;font-size:10px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--muted);font-weight:400;
  }
  footer a{color:var(--accent);text-decoration:none;}
