/* Home page. Built on the Confetti look from event.css: deep purple, warm gold, pink, mint;
   Bricolage Grotesque with Caveat for the handwritten bits. Sections vary in shape on purpose. */
:root{--bg:#1b1033;--bg2:#22133f;--ink:#fff7ee;--muted:#cbbbe6;--card:rgba(255,255,255,.07);--line:rgba(255,255,255,.16);
  --gold:#ffc94d;--gold-ink:#241235;--gold-shadow:#b98a17;--pink:#ff5fa2;--mint:#5ef2c2;--sky:#7cc8ff;--paper:#fffaf2;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.55 "Bricolage Grotesque",system-ui,sans-serif;overflow-x:hidden;
  background-image:radial-gradient(1200px 700px at 95% -10%,#5b2a9a 0,transparent 60%),radial-gradient(900px 600px at -15% 8%,#7a1f5c 0,transparent 55%);background-repeat:no-repeat}
a{color:var(--gold)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.center{text-align:center}
.hand{font-family:"Caveat",cursive;font-weight:700;color:var(--gold);letter-spacing:0}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:0 0 14px}
h2{font-size:clamp(32px,5.4vw,52px)}
h3{font-size:22px;letter-spacing:-.01em;line-height:1.15;margin-bottom:6px}
p{margin:0 0 14px}
.lead{font-size:20px;color:var(--muted);max-width:56ch}
.small{font-size:15px;color:var(--muted)}
section{padding:72px 0}
.skip{position:absolute;left:-9999px;top:8px;background:var(--gold);color:var(--gold-ink);padding:10px 14px;border-radius:10px;z-index:10;font-weight:700}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:999px;padding:14px 26px;font:800 18px/1.1 "Bricolage Grotesque",system-ui,sans-serif;
  background:var(--gold);color:var(--gold-ink);text-decoration:none;box-shadow:0 6px 0 var(--gold-shadow);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--gold-shadow)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 14px}
.ctas.center{justify-content:center}

/* top bar */
.bar{position:relative;z-index:2}
.bar-in{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.brand{color:var(--ink);text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.bar-link{color:var(--ink);font-weight:600;text-decoration:none;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;min-height:44px;display:inline-flex;align-items:center}
.bar-link:hover{border-color:var(--gold)}

/* phone frames around real screenshots */
.phone{margin:0;border-radius:38px;padding:10px;background:#0d0719;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.4) inset;max-width:320px}
.phone img{border-radius:29px;width:100%}
.tilt-l{transform:rotate(-3deg)}
.tilt-r{transform:rotate(3deg)}

/* hero */
.hero{padding:28px 0 64px}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(42px,7.4vw,84px);letter-spacing:-.045em;line-height:.95}
.hero h1 .hand{display:block;font-size:.62em;line-height:1.05;margin-top:12px;background:linear-gradient(90deg,var(--gold),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-phone{justify-self:center;transform:rotate(2deg)}

/* problem: a handwritten list, no cards */
.familiar{background:var(--bg2);border-block:1px solid var(--line)}
.scrawl{list-style:none;margin:20px 0 26px;padding:0}
.scrawl li{font-family:"Caveat",cursive;font-size:clamp(26px,3.6vw,34px);line-height:1.2;color:var(--muted);padding:10px 0 10px 40px;position:relative;border-bottom:1px dashed var(--line)}
.scrawl li::before{content:"✗";position:absolute;left:4px;top:12px;color:var(--pink);font-family:"Bricolage Grotesque",sans-serif;font-size:24px;font-weight:800}
.answer{font-size:22px;font-weight:600;max-width:52ch}

/* image beside text */
.split-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.split.rev .split-in{grid-template-columns:1.2fr .8fr}
.split .phone{justify-self:center}
.ticks{list-style:none;margin:18px 0 0;padding:0}
.ticks li{padding:8px 0 8px 34px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:13px;width:20px;height:20px;border-radius:50%;background:var(--mint)}
.ticks li::after{content:"";position:absolute;left:6px;top:17px;width:8px;height:5px;border-left:2.5px solid var(--gold-ink);border-bottom:2.5px solid var(--gold-ink);transform:rotate(-45deg)}

/* secret word: a gold band */
.secret{background:var(--gold);color:var(--gold-ink);padding:56px 0}
.secret h2 .hand{color:var(--gold-ink);font-size:.6em;display:inline-block}
.secret p{font-size:19px;max-width:54ch}
.secret-in{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.wordbox{background:var(--bg);color:var(--ink);border-radius:26px;padding:24px;box-shadow:8px 8px 0 var(--gold-ink);text-align:center;transform:rotate(-2deg)}
.wordlabel{display:block;color:var(--muted);font-size:16px;margin-bottom:12px}
.wordfield{display:block;border:1.5px solid var(--line);border-radius:999px;padding:12px 16px;letter-spacing:.3em;font-weight:600;background:rgba(0,0,0,.25)}

/* food: three columns, notes in the middle */
.food-head{max-width:720px;margin-bottom:36px}
.food-grid{display:grid;grid-template-columns:1fr 1.15fr .8fr;gap:40px;align-items:center}
.food-notes .note-row{border-left:3px solid var(--pink);padding:2px 0 2px 18px;margin-bottom:22px}
.food-notes .note-row:nth-child(2){border-color:var(--mint)}
.food-notes .note-row:nth-child(3){border-color:var(--sky)}
.food-notes .note-row:nth-child(4){border-color:var(--gold)}
.food-notes p{color:var(--muted);margin:0}
.small-phone{max-width:240px;transform:rotate(4deg)}

/* restaurant sheet: on paper */
.sheet-sec{background:var(--paper);color:#17121f}
.sheet-sec .small{color:#5a5266}
.sheet-sec h2{color:#1b1033}
.sheet-sec .ticks li::before{background:#4b2a86}
.sheet-sec .ticks li::after{border-color:#fff}
.sheet-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.paper{margin:0;background:#fff;border:1px solid #dcd7e3;border-radius:6px;box-shadow:0 2px 0 #dcd7e3,0 30px 60px rgba(40,20,70,.18);padding:10px;transform:rotate(1.2deg)}
.paper img{border-radius:2px}

/* themes: a scrolling strip */
.theme-strip{list-style:none;margin:28px 0 0;padding:0 0 14px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory}
.theme-strip li{scroll-snap-align:start}
.theme-strip img{border-radius:18px;border:1px solid var(--line);aspect-ratio:360/517;object-fit:cover;width:100%}
.theme-strip span{display:block;font-size:15px;color:var(--muted);margin-top:10px;line-height:1.3}
.theme-strip b{display:block;color:var(--ink);font-size:17px}

/* privacy: a definition list */
.private{border-top:1px solid var(--line)}
.private-in{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px 56px;align-items:start}
.private-in>p{grid-column:2}
.facts{margin:0}
.facts div{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:200px 1fr;gap:16px}
.facts div:first-child{padding-top:0}
.facts dt{font-weight:800;color:var(--mint)}
.facts dd{margin:0;color:var(--muted)}

/* close */
.close{padding:84px 0 96px;background:radial-gradient(700px 360px at 50% 100%,rgba(255,95,162,.25),transparent 70%)}
.close h2{font-size:clamp(36px,6vw,64px)}
.close h2 .hand{display:block;font-size:.7em;margin-top:6px}
.close .lead{margin:0 auto}

.foot{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:16px}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;align-items:center}
.foot p{margin:0}
.foot a{color:var(--muted);display:inline-block;padding:10px 2px}
.brand-s{font-weight:800;color:var(--ink)}

@media (max-width:900px){
  .hero-in,.split-in,.split.rev .split-in,.sheet-in,.secret-in,.private-in{grid-template-columns:1fr}
  .split.rev .phone{order:2}
  .food-grid{grid-template-columns:1fr 1fr}
  .food-grid .small-phone{display:none}
  .private-in>p{grid-column:1}
}
@media (max-width:640px){
  body{font-size:17px}
  section{padding:52px 0}
  .wrap{padding:0 16px}
  .hero{padding:12px 0 48px}
  .hero-in{gap:36px}
  .hero-phone{max-width:280px}
  .lead{font-size:18px}
  .ctas .btn{flex:1 1 100%}
  .split-in{gap:36px}
  .split .phone{max-width:270px}
  .food-grid{grid-template-columns:1fr;gap:32px}
  .food-grid>.phone:first-child{max-width:270px;justify-self:center}
  .secret{padding:44px 0}
  .wordbox{transform:none}
  .sheet-in{gap:32px}
  .paper{transform:none}
  .theme-strip{grid-auto-columns:42%;margin-right:-16px;padding-right:16px}
  .facts div{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
