/* Reelish landing page. Tokens only; see ../designSystem/ui_kits/website/Home.jsx for the reference layout. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:var(--text-link)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--ring);outline-offset:3px}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
.ic{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--bottle-900);color:var(--paper);padding:10px 16px;border-radius:var(--radius-sm);z-index:10}
.skip:focus{left:8px}

.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.wrap.narrow{max-width:820px}
.band-brand{background:var(--surface-brand)}
.section{padding:var(--section-y) 0}
.section-tail{padding:0 0 var(--section-y)}
.row{display:flex;align-items:center}.gap8{gap:8px}.mb14{margin-bottom:14px}

/* type */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}
.eyebrow.ink{color:var(--bottle-900)}.eyebrow.muted{color:var(--text-muted)}.eyebrow.pickle{color:var(--pickle-400)}
h1{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tracking-display);font-weight:700;color:var(--bottle-900);margin-top:20px}
h2{font-size:var(--fs-h1);line-height:1.1;letter-spacing:var(--tracking-heading);color:var(--text-heading);margin:12px 0 40px;max-width:560px}
h3{font-size:var(--fs-h3);letter-spacing:-.01em;color:var(--text-heading)}
.lead{font-size:var(--fs-body-lg);line-height:1.55}
.ink{color:var(--bottle-900)}
.on-dark{color:var(--paper)}.on-dark-muted{color:var(--text-on-dark-muted)}
.hl{background:linear-gradient(transparent 60%,var(--paper) 60%)}
.fine{margin-top:16px;font-size:13.5px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;letter-spacing:.01em;line-height:1.1;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:transform var(--dur-micro) var(--ease),background var(--dur-micro) var(--ease)}
.btn:hover{transform:var(--hover-lift)}.btn:active{transform:var(--press-sink)}
.btn-sm{padding:9px 16px;font-size:13px;min-height:36px;border-radius:var(--radius-sm)}
.btn-lg{padding:16px 30px;font-size:16px;min-height:52px;border-radius:var(--radius-md)}
.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}
.btn-accent{background:var(--accent);color:var(--on-accent);border-color:var(--pickle-500)}.btn-accent:hover{background:var(--accent-hover)}
.btn.block{display:flex;width:100%}
.nav-links a:not(.btn){color:var(--bottle-900)}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:block;height:auto}
.nav-links{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:500}

/* hero */
.hero-section{padding-bottom:96px}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;padding-top:48px}
.hero .lead{margin:24px 0 32px;max-width:480px}
.waitlist{display:flex;gap:10px;flex-wrap:wrap;max-width:520px}
.field{flex:1 1 240px}
.field input{width:100%;min-height:52px;padding:0 14px;font:inherit;font-size:15px;color:var(--text-body);background:var(--surface-card);border:1.5px solid var(--border-control);border-radius:var(--radius)}
.field input:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--surface-tint);outline:0}
.field input[aria-invalid="true"]{border-color:var(--danger-line)}
.wl-msg{flex-basis:100%;font-size:14px;font-weight:600;color:var(--bottle-900);min-height:0}
.wl-msg:empty{display:none}
.wl-msg.ok{display:inline-flex;gap:10px;align-items:center;padding:14px 18px;background:var(--card);border-radius:var(--radius-md)}
.wl-msg.err{color:var(--danger-fg);background:var(--card);padding:10px 14px;border-radius:var(--radius)}
.waitlist.done .field,.waitlist.done .btn{display:none}

.phone-wrap{display:flex;justify-content:center}
.phone{width:300px;background:var(--card);border-radius:36px;padding:12px;box-shadow:var(--elev-float);border:1px solid var(--border)}
.phone-screen{border-radius:26px;background:var(--paper);padding:20px 18px 22px;min-height:420px}
.phone-screen h3{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:4px}
.meta{font-size:12.5px;color:var(--text-muted)}
.phone-screen .meta{margin-bottom:14px}
.ingredients li{display:flex;align-items:center;gap:14px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}
.ingredients .qty{min-width:64px;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-heading)}
.ingredients .ing{font-family:var(--font-serif);font-size:17px;line-height:1.4}
.ingredients em{color:var(--text-muted)}

.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral-fg)}
.badge-card{background:var(--card)}
.badge-success{background:var(--success-bg);color:var(--success-fg)}

/* cards */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-card)}
.card.inverse{background:var(--bottle-900);border-color:transparent;color:var(--text-on-dark);border-radius:var(--radius-xl)}
.step{padding:28px}
.step-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.chip{width:44px;height:44px;border-radius:12px;background:var(--pickle-300);color:var(--bottle-900);display:inline-flex;align-items:center;justify-content:center}
.step h3{margin-bottom:8px}
.step p{font-size:15px;line-height:1.6}

/* promise */
.promise{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:48px}
.promise h2{margin:14px 0}
.status-panel{background:var(--surface-tint);border-radius:var(--radius-lg);padding:24px;color:var(--text-body)}
.status{display:flex;flex-direction:column;gap:14px}
.status li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--text-heading)}
.status .dot{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:1.5px solid transparent}
.status .done .dot{background:var(--primary);color:var(--on-primary)}
.status .failed{font-weight:700}
.status .failed .dot{background:var(--danger-fg);color:#fff}
.status .todo{color:var(--text-muted)}
.status .todo .dot{border-color:var(--border-control)}
.refunded{margin-top:18px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--success-fg)}

/* library */
.recipe{overflow:hidden;box-shadow:var(--elev-flat)}
.thumb{position:relative;aspect-ratio:4/3;background:var(--pickle-300);color:var(--bottle-800);display:flex;align-items:center;justify-content:center}
.thumb .badge{position:absolute;left:10px;top:10px}
.recipe-body{padding:14px 16px 16px}
.recipe-body h3{font-size:16px;font-weight:700;line-height:1.25}
.recipe-body .meta{margin-top:4px}
.stats{display:flex;gap:14px;margin-top:10px;font-size:12.5px;color:var(--text-muted)}
.stats span{display:inline-flex;align-items:center;gap:5px}

/* pricing */
.pricing{background:var(--pickle-200)}
.pricing-grid{display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center}
.pricing h2{color:var(--bottle-900);margin-bottom:16px}
.pricing .lead{max-width:460px}
.tags{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:var(--radius-full);border:1.5px solid var(--bottle-900);color:var(--bottle-900);font-size:13px;font-weight:500}
.pack{padding:28px;border-radius:var(--radius-lg);max-width:360px;background:var(--bottle-900);color:var(--text-on-dark);box-shadow:var(--elev-card)}
.price{display:flex;align-items:baseline;gap:10px;margin-top:10px}
.price .amt{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--paper)}
.price span:last-child{font-size:15px;color:var(--text-on-dark-muted)}
.per{margin-top:6px;font-size:13.5px;color:var(--text-on-dark-muted)}
.pack ul{margin:22px 0 26px;display:grid;gap:12px}
.pack li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4}
.pack li .ic{color:var(--accent);margin-top:1px}

/* faq */
.faq{border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 0;cursor:pointer;font-size:16px;font-weight:600;color:var(--text-heading);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{transition:transform var(--dur-control) var(--ease)}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq p{padding:0 0 18px;max-width:640px;line-height:1.6}

/* footer */
.footer{background:var(--bottle-900);color:var(--text-on-dark-muted);padding:48px 0;font-size:14px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.footer a{color:inherit}

@media (max-width:860px){
  .hero,.pricing-grid,.promise,.cols3{grid-template-columns:1fr}
  .promise{padding:28px}
  .pricing-grid{gap:40px}
  .pack{max-width:none}
  .nav-links a:not(.btn){display:none}
  :root{--section-y:64px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
a.u{text-decoration:underline;text-underline-offset:3px}
/* privacy page */
.doc{max-width:var(--container-narrow);margin:0 auto;padding:56px var(--gutter) 96px}
.doc h1{font-size:34px;margin:0 0 8px}
.doc h2{font-size:20px;margin:36px 0 8px;max-width:none}
.doc p,.doc li{line-height:1.65;margin:0 0 12px}
.doc ul{list-style:disc;padding-left:22px}
.doc .meta{margin-bottom:24px}
