/* =========================================================
   Cookie Ninja — editorial ninja system
   Fraunces + Inter · clean black / red / white
   ========================================================= */
:root{
  --ink:#0e0e10;        /* page black */
  --panel:#161619;      /* raised black */
  --panel-2:#1d1d21;
  --line:rgba(255,255,255,.12);
  --line-2:rgba(255,255,255,.20);
  --white:#f6f6f4;
  --muted:rgba(246,246,244,.6);
  --muted-2:rgba(246,246,244,.42);
  --red:#df3b32;        /* ninja red */
  --red-2:#b62b23;
  --red-soft:rgba(223,59,50,.14);
  --paper:#f5f4f0;      /* clean near-white */
  --paper-2:#ffffff;
  --paper-ink:#121212;
  --paper-ink-2:#2a2926;
  --paper-line:#e3e1d9;
  --paper-muted:#6a6862;
  --cookie:#c97f3d;     /* mascot cookie tone (food, not chrome) */

  --display:"Fraunces","Georgia",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --radius-sm:10px; --radius:14px; --radius-lg:22px; --pill:999px;
  --shadow:0 4px 18px rgba(0,0,0,.28);
  --shadow-lg:0 28px 64px -22px rgba(0,0,0,.6);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  font-size:16px;line-height:1.6;
  color:var(--white);
  background:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.05;letter-spacing:-.02em;font-variation-settings:"opsz" 96,"SOFT" 70}
em{font-style:italic;font-weight:400;color:var(--red)}

/* ---------- labels ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:.6rem}
.eyebrow::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
.eyebrow.light{color:var(--red)}
.classified{
  display:inline-block;font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--white);border:1px solid var(--line);background:transparent;
  padding:7px 16px;border-radius:var(--pill);margin-bottom:1.3rem;
}
.classified.dark{color:var(--red);border-color:var(--red);background:transparent}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.02em;padding:14px 26px;border-radius:var(--pill);border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s,border-color .2s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-2);border-color:var(--red-2);transform:translateY(-1px)}
.btn-primary:disabled{background:var(--panel-2);color:var(--muted-2);border-color:var(--line);cursor:not-allowed;transform:none}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.btn-glass{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.btn-glass:hover{background:rgba(255,255,255,.22)}
.btn-lg{font-size:15px;padding:17px 32px}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:18px clamp(1rem,4vw,3rem);transition:background .3s,box-shadow .3s,padding .3s}
.nav .brand-name,.nav .nav-links a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.nav.scrolled{background:rgba(245,244,240,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--paper-line);padding:12px clamp(1rem,4vw,3rem)}
.nav.scrolled .brand-name,.nav.scrolled .nav-links a{color:var(--paper-ink);text-shadow:none}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:600}
.brand-mark{font-size:1.5rem}
.brand-name{font-size:1.3rem;letter-spacing:-.02em;transition:color .3s}
.nav-links{display:flex;gap:1.6rem;margin-left:auto;font-weight:500;font-size:14px}
.nav-links a:hover{color:var(--red)!important;text-shadow:none}
.nav-cta{margin-left:1rem}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:0;cursor:pointer;padding:9px;margin-left:.3rem}
.nav-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.5);transition:transform .25s,opacity .2s,background .3s}
.nav.scrolled .nav-toggle span{background:var(--paper-ink);box-shadow:none}
.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .nav-toggle span:nth-child(2){opacity:0}
.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .nav-toggle{display:flex}
  .nav-cta{margin-left:auto}
  .nav-links{position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;gap:0;display:none;background:rgba(14,14,16,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:15px clamp(1.2rem,5vw,3rem);font-size:16px;color:#fff!important;text-shadow:none;border-top:1px solid rgba(255,255,255,.07)}
  .nav.scrolled .nav-links{background:rgba(245,244,240,.98)}
  .nav.scrolled .nav-links a{color:var(--paper-ink)!important;border-top-color:var(--paper-line)}
}

/* ---------- HERO (image slider) ---------- */
.hero{position:relative;height:100svh;min-height:600px;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
.hero-slides{position:absolute;inset:0;z-index:0}
.hslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;transform:scale(1.05)}
.hslide.active{opacity:1;animation:kenburns 7s ease forwards}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.16)}}
.ninja-slide{background:radial-gradient(circle at 78% 70%,#1a1a1d,#070708 78%);animation:none!important;transform:none!important}
.ninja-stage{position:absolute;right:clamp(1.5rem,6vw,6rem);bottom:clamp(1.5rem,6vw,5rem);display:flex;flex-direction:column;align-items:center;gap:.8rem;transform:none!important;animation:none!important}
.ninja-stage .ninja-cookie .cookie{width:150px;height:150px}
.ninja-stage .mask{top:54px;height:42px}.ninja-stage .eye{width:20px;height:20px}.ninja-stage .eye::after{width:9px;height:9px;top:5px;left:5px}
.ninja-tagline{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.1rem,2.2vw,1.7rem);color:var(--red)}
@media(max-width:860px){.ninja-stage{display:none}}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,7,8,.86) 0%,rgba(7,7,8,.55) 45%,rgba(7,7,8,.2) 100%)}
.hero-content{position:relative;z-index:2;max-width:1150px;margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem);width:100%}
.hero-content h1{font-size:clamp(2.3rem,8vw,6rem);color:#fff;font-variation-settings:"opsz" 144,"SOFT" 90;letter-spacing:-.03em}
.hero-content h1 .hl{color:var(--red);font-style:italic;font-weight:400}
.lede{font-family:var(--display);font-style:italic;font-size:clamp(1.1rem,2.1vw,1.5rem);margin:1.3rem 0 2rem;max-width:34ch;color:rgba(246,246,244,.82)}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-dots{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:.6rem}
.hero-dots button{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:transparent;cursor:pointer;padding:0;transition:.2s}
.hero-dots button.active{background:#fff;width:26px;border-radius:999px}
.hero-scroll{position:absolute;bottom:1.8rem;right:2rem;z-index:3;color:#fff;font-size:1.5rem;opacity:.8;animation:bobv 1.8s ease-in-out infinite}
@keyframes bobv{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@media(max-width:820px){.hero-scroll{display:none}.lede{max-width:none}
  /* darker veil so white hero text stays legible over the bright kitchen photos */
  .hero-scrim{background:linear-gradient(180deg,rgba(7,7,8,.66),rgba(7,7,8,.5) 45%,rgba(7,7,8,.78))}
  .hero-content h1 br{display:none} /* let the headline wrap naturally to fit the phone */
  /* the doorstep "drop" photo has the kids + box + door on the right — shift its focal point so they stay in frame on tall portrait screens (center would crop to empty concrete) */
  .hero-slides .hslide:nth-child(5){background-position:76% center}
}

/* mascot (cookie = food tone; mask = black) */
.ninja-cookie{position:relative;animation:bob 4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(3deg)}}
.cookie{position:relative;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e0a86a,var(--cookie) 70%,#b06c30);box-shadow:var(--shadow-lg),inset 0 -10px 22px rgba(80,45,15,.5)}
.chip{position:absolute;width:24px;height:20px;background:#3a2412;border-radius:46% 54% 50% 50%/55% 45% 55% 45%;box-shadow:inset 0 -3px 4px rgba(0,0,0,.35)}
.c1{top:24px;left:34px}.c2{top:54px;right:30px}.c3{bottom:36px;left:26px}.c4{bottom:26px;right:44px}.c5{top:86px;left:84px}
.mask{position:absolute;top:72px;left:0;right:0;height:54px;background:linear-gradient(#1a1a1d,#070708);display:flex;align-items:center;justify-content:center;gap:24px;box-shadow:0 3px 8px rgba(0,0,0,.4)}
.mask::after{content:"";position:absolute;right:-24px;top:12px;width:54px;height:12px;background:#070708;transform:rotate(-12deg);border-radius:4px}
.eye{width:26px;height:26px;background:#fff;border-radius:50%;position:relative}
.eye::after{content:"";position:absolute;width:12px;height:12px;background:var(--ink);border-radius:50%;top:7px;left:7px}

/* ---------- COUNTDOWN ---------- */
.countdown{position:relative;z-index:1;background:var(--paper);color:var(--paper-ink);text-align:center;padding:clamp(2.4rem,5vw,3.6rem) 1rem;border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line)}
.cd-label{display:block;font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--red);margin-bottom:1rem}
.cd-clock{display:flex;align-items:flex-start;justify-content:center;gap:.5rem}
.cd-unit{display:flex;flex-direction:column;align-items:center;min-width:74px}
.cd-num{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,6vw,3.6rem);color:var(--paper-ink);line-height:1;font-variation-settings:"opsz" 96}
.cd-tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-muted);margin-top:.5rem}
.cd-colon{font-family:var(--display);font-size:clamp(1.8rem,5vw,2.8rem);color:var(--red);padding-top:.1em}
.cd-sub{margin-top:1.3rem;color:var(--paper-muted);font-size:15px}
.cd-sub strong{color:var(--red);font-weight:600}

/* ---------- sections ---------- */
.section{position:relative;z-index:1;padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,3rem);max-width:1150px;margin:0 auto}
.section-tint{max-width:none;background:var(--paper);color:var(--paper-ink)}
.section-tint > *{max-width:1150px;margin-left:auto;margin-right:auto}
.section-dark{max-width:none;background:linear-gradient(135deg,#121214,#070708)}
.section-title{font-size:clamp(2rem,4.5vw,3.2rem);text-align:center;color:#fff}
.section-sub{text-align:center;color:var(--muted);font-size:1.1rem;margin:.7rem auto 2.6rem;max-width:48ch}

/* light-section text resets */
.section-tint .section-title{color:var(--paper-ink)}
.section-tint .section-sub{color:var(--paper-muted)}
.section-tint .eyebrow{color:var(--red)}

/* ---------- MISSION (light) ---------- */
.section.mission{max-width:none;background:var(--paper);color:var(--paper-ink)}
.section.mission > *{max-width:1150px;margin-left:auto;margin-right:auto}
.mission .mission-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.mission-art{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;border:1px solid var(--paper-line)}
.mission-art img{width:100%;height:100%;object-fit:cover}
.mission-stamp{position:absolute;top:1.2rem;right:1.2rem;z-index:3;font-weight:600;letter-spacing:.2em;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:6px;padding:.35em .8em;transform:rotate(8deg);font-size:.72rem}
/* real-photo collage */
.mission-collage{position:relative;aspect-ratio:4/5}
.mission-collage img{position:absolute;border-radius:var(--radius);object-fit:cover;border:5px solid var(--paper-2);box-shadow:var(--shadow-lg)}
.mission-collage .mc-a{width:74%;height:76%;top:0;right:0;transform:rotate(3deg);z-index:2}
.mission-collage .mc-b{width:60%;height:56%;bottom:0;left:0;transform:rotate(-4deg);z-index:1}
@media(max-width:820px){.mission-collage{aspect-ratio:16/11}}
.mission-copy h2{font-size:clamp(2rem,4.5vw,3.2rem);color:var(--paper-ink);margin-bottom:1rem}
.mission-copy p{color:var(--paper-muted);font-size:1.08rem;margin-bottom:1rem;max-width:46ch}
.mission-copy p strong{color:var(--paper-ink);font-weight:600}
.mission-perk{display:flex;gap:1rem;background:var(--paper-2);border:1px solid var(--red);border-radius:var(--radius);padding:1.1rem 1.2rem;margin:1.4rem 0 1.6rem}
.perk-emoji{font-size:1.6rem}
.mission-perk strong{display:block;font-family:var(--display);color:var(--paper-ink);font-size:1.05rem;margin-bottom:.2rem}
.mission-perk span{font-size:.92rem;color:var(--paper-muted)}
.mission-sig{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--paper-ink);line-height:1.4;margin:1.4rem 0 .5rem;max-width:46ch}
.mission-by{font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:1.6rem}
@media(max-width:820px){.mission .mission-grid{grid-template-columns:1fr;gap:1.8rem}.mission-art{aspect-ratio:16/10}.mission-copy p{max-width:none}}

/* ---------- OCCASIONS (black) ---------- */
.occasions-section{background:var(--ink);padding:clamp(3.5rem,7vw,5.5rem) clamp(1rem,4vw,3rem)}
.occasions-inner{max-width:1150px;margin:0 auto}
.occasions-head{margin-bottom:clamp(28px,4vw,42px)}
.occasions-head h2{font-size:clamp(1.9rem,4.4vw,3.2rem);color:#fff;display:inline}
.occasions-head .kicker-i{font-family:var(--display);font-style:italic;font-weight:400;color:var(--muted);font-size:.46em;margin-left:.4em;white-space:nowrap}
.occasions{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:980px){.occasions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.occasions{grid-template-columns:1fr 1fr}}
.occasion{display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;min-height:124px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;cursor:pointer;font:inherit;color:inherit;transition:transform .18s,border-color .18s,background .18s}
.occasion:hover{transform:translateY(-3px);border-color:var(--red);background:var(--panel-2)}
.occasion .ico{font-size:26px;line-height:1}
.occasion .ttl{font-family:var(--display);font-size:18px;color:#fff;margin-top:auto}

/* ---------- MENU bento (dark) ---------- */
.menu-section{position:relative;z-index:1;padding:clamp(3.5rem,7vw,5.5rem) clamp(1rem,4vw,3rem);max-width:1200px;margin:0 auto}
.menu-head{text-align:center;margin-bottom:2.6rem}
.menu-bighead{font-size:clamp(2.4rem,6vw,4rem);color:#fff}
.menu-head p{color:var(--muted);font-size:1.08rem;margin-top:.5rem}
.drop-pill{display:inline-flex;align-items:center;gap:.5em;margin-top:1.1rem;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--white);background:transparent;border:1px solid var(--line);padding:.55em 1.1em;border-radius:var(--pill)}
.drop-pill::first-letter{color:var(--red)}
.menu-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:236px;grid-auto-flow:row dense;gap:12px}
.mcard{position:relative;overflow:hidden;border-radius:var(--radius);cursor:pointer;background:#000;border:1px solid var(--line);transition:transform .18s,border-color .18s}
.mcard:hover{transform:translateY(-4px);border-color:var(--line-2)}
.mcard.feature{grid-column:span 2;grid-row:span 2}
.mcard.sold-out{cursor:default}
.mcard.sold-out img{filter:grayscale(1) brightness(.55)}
.mcard.sold-out:hover{transform:none;border-color:var(--line)}
.mcard.sold-out:hover img{transform:none}
.pick.sold-out{opacity:.55}
.pick.sold-out .pemoji img{filter:grayscale(1)}
.mcard img,.mcard .mvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.mcard:hover .mvid{transform:scale(1.06)}
.mcard:hover img{transform:scale(1.06)}
.mscrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,8,.94) 0%,rgba(7,7,8,.25) 52%,rgba(7,7,8,.5) 100%)}
.mbadge{position:absolute;top:1rem;left:1rem;z-index:2;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:.42em .8em;border-radius:6px;border:1px solid;background:rgba(0,0,0,.35);backdrop-filter:blur(4px)}
.mbadge.amber,.mbadge.red{color:var(--red);border-color:var(--red)}
.mbadge.teal{color:var(--white);border-color:var(--line-2)}
.minfo{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.3rem;color:#fff}
.mtitle{font-family:var(--display);font-weight:500;font-size:1.5rem;line-height:1.1}
.mcard.feature .mtitle{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.mreal{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-top:.4rem;font-weight:600}
.mdesc{font-size:.95rem;color:var(--muted);margin-top:.55rem;max-width:46ch;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .3s ease}
.mcard:hover .mdesc,.mcard.feature .mdesc{max-height:140px;opacity:1}
.madd{display:inline-block;margin-top:.85rem;background:var(--red);color:#fff;font-weight:600;font-size:13px;padding:.6em 1.2em;border-radius:var(--pill);opacity:0;transform:translateY(6px);transition:.22s}
.mcard:hover .madd,.mcard.feature .madd{opacity:1;transform:none}
@media(max-width:780px){.menu-bento{grid-template-columns:1fr 1fr;grid-auto-rows:172px}.mcard.feature{grid-column:span 2;grid-row:span 2}.mcard.feature .mtitle{font-size:1.9rem}.mdesc{display:none}.mcard.feature .mdesc{display:block;max-height:160px;opacity:1}.madd{opacity:1;transform:none}}
@media(max-width:480px){.menu-bento{grid-template-columns:1fr}.mcard.feature{grid-column:span 1}}

/* ---------- STEPS (paper, editorial) ---------- */
.how-head{text-align:center;margin-bottom:2.8rem}
.how-head h2{font-size:clamp(2rem,4.5vw,3.2rem)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,32px)}
.step{border-top:1px solid var(--paper-ink);padding-top:20px}
.step-num{display:inline-block;font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.step-emoji{font-size:1.8rem;display:block;margin:.2rem 0 .6rem}
.step h3{font-size:1.15rem;color:var(--paper-ink);margin-bottom:.35rem}
.step p{font-size:.93rem;color:var(--paper-muted);line-height:1.55}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}

/* ---------- REVIEWS (paper) ---------- */
.reviews{max-width:none;background:var(--paper);color:var(--paper-ink)}
.reviews > *{max-width:1150px;margin-left:auto;margin-right:auto}
.reviews .eyebrow{color:var(--red)}
.reviews .how-head h2{color:var(--paper-ink)}
.review-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.3rem}
.rev{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius);padding:1.7rem;display:flex;flex-direction:column;gap:1rem}
.rev .stars{color:var(--red);font-size:1rem;letter-spacing:2px}
.rev p{color:var(--paper-ink-2);font-size:1.02rem;flex:1;font-family:var(--display);line-height:1.45}
.rev .who{display:flex;align-items:center;gap:.7rem}
.rev .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.rev .who strong{font-family:var(--display);color:var(--paper-ink);font-size:1rem;display:block}
.rev .who span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-muted);font-weight:600}

/* ---------- REVEAL CTA (dark) ---------- */
.reveal-grid{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.reveal-copy h2{font-size:clamp(1.9rem,4vw,2.9rem);margin:.4rem 0 1rem;color:#fff}
.reveal-copy p{color:var(--muted);font-size:1.08rem;max-width:42ch}
.reveal-copy p strong{color:var(--red);font-weight:600}
.ticks{list-style:none;margin:1.4rem 0 1.8rem;display:flex;flex-direction:column;gap:.6rem}
.ticks li{padding-left:1.6em;position:relative;color:var(--white);font-weight:500}
.ticks li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--red)}
.reveal-actions{display:flex;gap:.8rem;flex-wrap:wrap}

/* mission card visual */
.reveal-card-visual{position:relative;display:flex;justify-content:center;padding-top:18px}
.rcv-stamp{position:absolute;top:-6px;right:8%;z-index:3;background:var(--red);color:#fff;font-family:var(--display);font-size:.9rem;line-height:1.05;text-align:center;width:88px;height:88px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);box-shadow:var(--shadow-lg)}
.rcv-stamp em{font-style:italic;font-weight:500;font-size:1.2rem;margin-top:.1rem}
.rcv-card{position:relative;background:var(--paper);color:var(--paper-ink);border-radius:18px;padding:2rem 1.8rem;width:min(380px,100%);box-shadow:var(--shadow-lg)}
.rcv-card::before{content:"";position:absolute;inset:10px;border:1px dashed var(--paper-line);border-radius:12px;pointer-events:none}
.rcv-card>*{position:relative}
.rcv-k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-muted);font-weight:600}
.rcv-num{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--paper-ink);margin-top:.25rem;letter-spacing:-.02em}
.rcv-status{font-family:var(--display);font-style:italic;color:var(--red);font-size:1.05rem;margin-top:.15rem}
.rcv-rule{height:1px;background:var(--paper-line);margin:1.1rem 0}
.rcv-field{margin-bottom:.8rem}
.rcv-v{font-family:var(--display);font-size:1.05rem;color:var(--paper-ink);margin-top:.15rem;line-height:1.25}
.rcv-v.rcv-i{font-style:italic}
.rcv-qr{display:flex;gap:.9rem;align-items:center;margin-top:.7rem}
.rcv-qr img{width:78px;height:78px;border:1px solid var(--paper-line);border-radius:8px;background:#fff;padding:5px;flex:none}
.rcv-tap{font-family:var(--display);font-size:.98rem;color:var(--paper-ink)}
.rcv-url{font-size:.82rem;font-weight:600;color:var(--paper-ink);margin-top:.15rem}
.reveal-phone{display:flex;justify-content:center}
.phone{width:230px;height:460px;background:#000;border-radius:36px;padding:12px;box-shadow:var(--shadow-lg);position:relative;border:1px solid var(--line-2)}
.phone-notch{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:90px;height:20px;background:#000;border-radius:0 0 14px 14px;z-index:2}
.phone-screen{background:var(--ink);height:100%;border-radius:26px;padding:1.4rem 1rem;display:flex;flex-direction:column;gap:.7rem;border:1px solid var(--line)}
.rv-head{font-family:var(--display);color:#fff;text-align:center;margin-top:1rem}
.rv-video{flex:1;background:linear-gradient(135deg,#26120f,#0b0b0c);border-radius:14px;display:grid;place-items:center;color:#fff;font-size:2rem;border:1px solid var(--line)}
.rv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}
.rv-grid span{aspect-ratio:1;background:var(--panel-2);border-radius:6px}
.rv-cta{background:var(--red);color:#fff;text-align:center;font-weight:600;padding:.6em;border-radius:var(--pill);font-size:.85rem}
@media(max-width:820px){.reveal-grid{grid-template-columns:1fr;gap:2rem}.reveal-copy p{max-width:none}}

/* ---------- FINAL CTA (dark by default) ---------- */
.final-cta{text-align:center}
.final-cta h2{font-size:clamp(2rem,4.5vw,3.2rem);color:#fff;margin-top:.4rem}
.final-cta p{color:var(--muted);font-size:1.1rem;margin:.7rem 0 1.6rem}
.cta-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
/* light variant */
.section.final-cta.light{max-width:none;background:var(--paper);color:var(--paper-ink)}
.section.final-cta.light > *{max-width:1150px;margin-left:auto;margin-right:auto}
.final-cta.light h2{color:var(--paper-ink)}
.final-cta.light p{color:var(--paper-muted)}
.final-cta.light .btn-ghost{color:var(--paper-ink);border-color:var(--paper-line)}
.final-cta.light .btn-ghost:hover{background:var(--paper-ink);color:var(--paper)}

/* ---------- FOOTER ---------- */
.footer{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;padding:2.6rem 1rem;text-align:center;color:var(--muted);font-weight:500;font-size:14px;border-top:1px solid var(--line)}
.footer .muted{color:var(--muted-2);font-style:italic}

/* =========================================================
   MODAL / WIZARD  (paper)
   ========================================================= */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.modal-card{position:relative;background:var(--paper);color:var(--paper-ink);width:min(580px,100%);max-height:92vh;overflow-y:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem clamp(1.2rem,4vw,2.4rem);animation:pop .25s ease}
@keyframes pop{from{transform:scale(.95) translateY(10px);opacity:0}to{transform:none;opacity:1}}
.modal-close{position:absolute;top:1rem;right:1rem;background:var(--paper-2);border:1px solid var(--paper-line);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--paper-ink)}
.modal-close:hover{background:var(--red);color:#fff;border-color:var(--red)}
.wizard-progress{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:1.6rem}
.wizard-progress .dot{width:30px;height:30px;border-radius:50%;background:var(--paper-2);border:1px solid var(--paper-line);color:var(--paper-muted);font-family:var(--display);font-weight:600;display:grid;place-items:center;font-size:.9rem;transition:.2s}
.wizard-progress .dot.active{background:var(--red);border-color:var(--red);color:#fff}
.wizard-progress .dot.done{background:var(--paper-ink);border-color:var(--paper-ink);color:#fff}
.wizard-progress .bar{width:22px;height:2px;background:var(--paper-line);border-radius:2px}
.step-pane{display:none;animation:fade .25s ease}
.step-pane.active{display:block}
@keyframes fade{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.step-pane h3{font-family:var(--display);font-size:1.6rem;color:var(--paper-ink);margin-bottom:.3rem}
.pane-sub{color:var(--paper-muted);margin-bottom:1rem}
.pick-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.4rem}
.pick{display:flex;align-items:center;gap:.9rem;padding:.9rem 1rem;background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius);cursor:pointer;transition:.15s;text-align:left;width:100%;color:var(--paper-ink)}
.pick:hover{border-color:var(--paper-ink)}
.pick.selected{border-color:var(--red);background:var(--red-soft)}
.pick .pemoji{font-size:1.7rem;display:grid;place-items:center}
.pick .pbody{flex:1}
.pick .pbody strong{font-family:var(--display);color:var(--paper-ink);font-size:1.05rem;display:block;font-weight:600}
.pick .pbody span{font-size:.86rem;color:var(--paper-muted)}
.pick .pprice{font-family:var(--display);font-weight:600;color:var(--red);font-size:1.1rem}
.pick .pqty{font-family:var(--display);font-weight:600;color:var(--paper-ink);min-width:54px;text-align:right}
.pick .stepper{display:flex;align-items:center;gap:.5rem}
.pick .stepper button{width:28px;height:28px;border-radius:50%;border:1px solid var(--paper-line);background:var(--paper-2);font-weight:700;cursor:pointer;color:var(--paper-ink)}
.pick .stepper button:hover{border-color:var(--red);color:var(--red)}
.slots{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:1.4rem}
.slot-day{font-family:var(--display);font-weight:600;color:var(--paper-ink);margin-bottom:.5rem}
.slot-row{display:flex;flex-wrap:wrap;gap:.5rem}
.slot{padding:.55em 1em;border-radius:var(--pill);border:1px solid var(--paper-line);background:var(--paper-2);cursor:pointer;font-weight:500;font-size:.9rem;color:var(--paper-ink);transition:.15s}
.slot:hover{border-color:var(--paper-ink)}
.slot.selected{background:var(--red);color:#fff;border-color:var(--red)}
.slot.full{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.slot small{display:block;font-size:.7rem;font-weight:600;opacity:.8}
.gift-toggle{display:flex;align-items:flex-start;gap:.6rem;background:var(--red-soft);border:1px solid var(--red);border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:1.1rem;font-size:.92rem;color:var(--paper-ink-2);cursor:pointer}
.gift-toggle input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--red)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.2rem}
.form-grid label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;color:var(--paper-ink-2);font-size:.86rem}
.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid textarea,.form-grid select{font-family:var(--sans);padding:.7em .9em;border:1px solid var(--paper-line);border-radius:var(--radius-sm);font-size:1rem;background:var(--paper-2);color:var(--paper-ink);resize:vertical}
.form-grid select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23df3b32' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right .9em center;padding-right:2.2em}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}}
.review{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.2rem}
.review-row{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.92rem;color:var(--paper-ink-2)}
.review-row.total{border-top:1px solid var(--paper-line);margin-top:.4rem;padding-top:.6rem;font-family:var(--display);font-weight:600;color:var(--paper-ink);font-size:1.2rem}
.review-row .muted{color:var(--paper-muted)}
.review-row.discount{color:var(--red);font-weight:600}
/* pay screen (Venmo / Cash App) */
.pay-block{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius);padding:1.2rem;margin-bottom:1.2rem;text-align:center}
.pay-amount{font-family:var(--display);font-size:1.7rem;color:var(--paper-ink)}
.pay-amount strong{color:var(--red)}
.pay-note{font-size:.92rem;color:var(--paper-muted);margin-top:.3rem}
.pay-note strong{color:var(--paper-ink);letter-spacing:.04em}
.pay-btns{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1rem 0 .2rem}
.pay-venmo{background:#3d95ce;border-color:#3d95ce;color:#fff}
.pay-venmo:hover{background:#2f7fb3;border-color:#2f7fb3}
.pay-cashapp{background:#00c244;border-color:#00c244;color:#fff}
.pay-cashapp:hover{background:#00a93b;border-color:#00a93b}
.pay-fine{font-size:.78rem;color:var(--paper-muted);margin-top:.8rem}
.wizard-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem}
/* ghost button inside the paper modal */
.modal .btn-ghost{color:var(--paper-ink);border-color:var(--paper-line)}
.modal .btn-ghost:hover{background:var(--paper-ink);color:var(--paper);border-color:var(--paper-ink)}
.confirm{text-align:center}
.confirm-emoji{font-size:3.2rem;margin-bottom:.5rem}
.confirm h3{margin-bottom:.5rem}
.confirm p{color:var(--paper-muted);margin-bottom:1.2rem}

/* ===== 15% off promo popup ===== */
.promo{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem}
.promo[hidden]{display:none}
.promo-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}
.promo-card{position:relative;background:var(--paper);color:var(--paper-ink);width:min(440px,100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(30px,5vw,46px);text-align:center;animation:pop .3s ease}
.promo-close{position:absolute;top:1rem;right:1rem;background:var(--paper-2);border:1px solid var(--paper-line);width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--paper-ink);font-size:.95rem}
.promo-close:hover{background:var(--red);color:#fff;border-color:var(--red)}
.promo-eyebrow{display:inline-block;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:.4rem}
.promo-offer{font-family:var(--display);font-size:clamp(66px,14vw,108px);line-height:.92;letter-spacing:-.04em;color:var(--paper-ink);font-variation-settings:"opsz" 144,"SOFT" 80}
.promo-offer em{color:var(--red);font-style:italic}
.promo-sub{font-family:var(--display);font-size:clamp(24px,4vw,34px);margin-top:.3rem;color:var(--paper-ink)}
.promo-fine{color:var(--paper-muted);font-size:15px;margin:.9rem auto 1.5rem;max-width:34ch;line-height:1.5}
.promo-decline{display:block;margin:1rem auto 0;background:none;border:0;color:var(--paper-muted);font-family:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.promo-decline:hover{color:var(--paper-ink)}

/* ----- mystery hunt step (paper) ----- */
.see-link{display:inline-block;margin:-.4rem 0 1.1rem;color:var(--red);font-weight:600;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.see-link:hover{color:var(--red-2)}
.hunt-toggle{margin-bottom:1.2rem}
.hunt-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.3rem}
.hunt-field{display:flex;flex-direction:column;gap:.5rem}
.hunt-label{font-family:var(--display);font-weight:600;color:var(--paper-ink);font-size:1rem}
.hunt-hint{font-size:.8rem;color:var(--paper-muted)}
.stepper.inline{display:inline-flex;align-items:center;gap:.9rem;align-self:flex-start}
.stepper.inline button{width:34px;height:34px;border-radius:50%;border:1px solid var(--paper-line);background:var(--paper-2);font-weight:700;font-size:1.1rem;cursor:pointer;color:var(--paper-ink)}
.stepper.inline button:hover{border-color:var(--red);color:var(--red)}
.hunt-num{font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--paper-ink);min-width:1.2em;text-align:center}
.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}
.hchip{padding:.45em .85em;border-radius:var(--pill);border:1px solid var(--paper-line);background:var(--paper-2);cursor:pointer;font-weight:500;font-size:.85rem;color:var(--paper-ink);font-family:var(--sans)}
.hchip:hover{border-color:var(--paper-ink)}
.hchip.selected{background:var(--red);color:#fff;border-color:var(--red)}
.hunt-clues{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.2rem}
.clue-row{display:flex;align-items:center;gap:.7rem}
.clue-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--paper);border:1px solid var(--paper-line);color:var(--paper-ink);font-family:var(--display);font-weight:600;display:grid;place-items:center;font-size:.9rem}
.clue-text{flex:1;font-family:var(--sans);padding:.65em .9em;border:1px solid var(--paper-line);border-radius:var(--radius-sm);font-size:.95rem;background:var(--paper-2);color:var(--paper-ink)}
.clue-text:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.upload-btn{flex:none;cursor:pointer}
.upload-btn.photo{width:46px;height:46px;border-radius:var(--radius-sm);border:1px dashed var(--paper-line);background:var(--paper-2);display:grid;place-items:center;overflow:hidden;font-size:1.2rem}
.upload-btn.photo.has{border-style:solid;border-color:var(--red)}
.upload-btn.photo img{width:100%;height:100%;object-fit:cover}
.hunt-reveal{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;background:var(--paper-ink);color:var(--paper);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1.3rem}
.hr-body{display:flex;flex-direction:column;gap:.2rem}
.hr-body strong{font-family:var(--display);font-size:1.05rem}
.hr-body span{font-size:.88rem;color:rgba(246,246,244,.7)}
.upload-btn.video{display:inline-block;margin-top:.7rem;background:var(--red);color:#fff;font-weight:600;font-size:.88rem;padding:.55em 1.1em;border-radius:var(--pill);align-self:flex-start}
.upload-btn.video:hover{background:var(--red-2)}
.hr-qr{flex:none;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.hr-qr img{width:88px;height:88px;border-radius:8px;background:#fff;padding:6px;display:block}
.hr-qr span{font-size:.72rem;line-height:1.25;color:rgba(246,246,244,.7)}
@media(max-width:520px){.hunt-reveal{flex-direction:column;align-items:flex-start}.hr-qr{flex-direction:row;align-self:stretch}.hr-qr span{text-align:left}}
.deploy-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}
.submit-note{font-size:.8rem;color:var(--paper-muted)}
@media(max-width:520px){.hunt-row{grid-template-columns:1fr}}

/* =========================================================
   ABOUT PAGE
   ========================================================= */
.about-page{background:var(--ink)}
.about-hero{position:relative;background:linear-gradient(135deg,#121214,#070708);color:var(--white);padding:clamp(7rem,14vw,10rem) clamp(1rem,4vw,3rem) clamp(4rem,8vw,6rem);overflow:hidden}
.dossier-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 30% 40%,#000,transparent 75%)}
.about-hero-inner{position:relative;z-index:1;max-width:1150px;margin:0 auto}
.about-hero h1{font-size:clamp(3rem,9vw,6rem);color:#fff;margin:.3rem 0;font-variation-settings:"opsz" 144,"SOFT" 90;letter-spacing:-.03em}
.about-hero h1 .hl{color:var(--red);font-style:italic;font-weight:400}
.about-hero .lede{font-size:clamp(1.1rem,2.2vw,1.5rem);color:rgba(246,246,244,.82);max-width:42ch;margin-top:1.2rem}
.scroll-hint{font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:2.4rem}

.objective{text-align:center;max-width:840px}
.objective h2{font-size:clamp(2.2rem,5vw,3.6rem);color:#fff;margin:.4rem 0 1.2rem}
.objective p{color:var(--muted);font-size:clamp(1.05rem,2vw,1.25rem);max-width:56ch;margin:0 auto}

.behind-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.behind-photos{position:relative;height:clamp(340px,42vw,460px)}
.behind-photos img{position:absolute;border-radius:var(--radius);object-fit:cover;box-shadow:var(--shadow-lg);border:4px solid var(--paper-2)}
.behind-photos .ph-a{width:62%;height:74%;top:0;left:0;z-index:1;transform:rotate(-3deg)}
.behind-photos .ph-b{width:55%;height:64%;bottom:0;right:0;z-index:2;transform:rotate(3deg)}
.behind-badge{position:absolute;top:8%;right:4%;z-index:3;background:var(--red);color:#fff;font-family:var(--display);font-weight:600;font-size:1.4rem;line-height:1;text-align:center;width:104px;height:104px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transform:rotate(8deg)}
.behind-badge span{font-family:var(--sans);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-top:.3rem}
.behind-copy h2{font-size:clamp(1.9rem,4vw,3rem);color:var(--paper-ink);margin:.4rem 0 1rem}
.behind-copy p{color:var(--paper-muted);font-size:1.08rem;margin-bottom:1rem;max-width:46ch}
.behind-copy p strong{color:var(--paper-ink);font-weight:600}
@media(max-width:820px){.behind-grid{grid-template-columns:1fr;gap:2.5rem}.behind-copy p{max-width:none}}

.payload-head{text-align:center;margin-bottom:2.8rem}
.payload-head h2{font-size:clamp(2rem,4.2vw,3.2rem);color:#fff}
.payload-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.pcard{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.6rem 1.8rem;color:var(--white);min-height:300px;display:flex;flex-direction:column;transition:transform .18s,border-color .18s}
.pcard:hover{transform:translateY(-6px);border-color:var(--red)}
.pcard-glyph{position:absolute;top:-6px;right:-2px;font-size:5.5rem;opacity:.1}
.pcard-tag{font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:auto}
.pcard h3{font-family:var(--display);font-size:1.6rem;color:#fff;margin:1.6rem 0 .6rem}
.pcard p{color:var(--muted);font-size:.98rem;line-height:1.55}
@media(max-width:820px){.payload-cards{grid-template-columns:1fr}.pcard{min-height:0}}

.origin-head{text-align:center;margin-bottom:2.6rem}
.origin-head h2{font-size:clamp(2rem,4.2vw,3.2rem)}
.origin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}
.origin-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;border:1px solid var(--paper-line)}
.origin-photo img{width:100%;height:100%;object-fit:cover}
.timeline{list-style:none;display:flex;flex-direction:column;gap:1.6rem;position:relative}
.timeline li{display:flex;gap:1.1rem;position:relative}
.timeline li:not(:last-child)::before{content:"";position:absolute;left:23px;top:54px;bottom:-1.6rem;width:1px;background:var(--paper-line)}
.tl-dot{flex:none;width:48px;height:48px;border-radius:50%;background:var(--paper-2);border:1px solid var(--red);display:grid;place-items:center;font-size:1.3rem;z-index:1}
.tl-when{font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.timeline h3{font-family:var(--display);font-size:1.4rem;color:var(--paper-ink);margin:.2rem 0 .4rem}
.timeline p{color:var(--paper-muted);font-size:1rem;max-width:48ch}
@media(max-width:820px){.origin-grid{grid-template-columns:1fr;gap:2rem}}

.nav-links a.active{color:var(--red)!important}
