/* ─────────────────────────────────────────────────────────────
 * Mero landing — page styles.
 * Depends on tokens.css + typography.css (loaded ahead of this).
 * Local --ink/--amber/--stone variables below mirror the brand
 * tokens 1:1 so this stylesheet stays self-contained.
 * ───────────────────────────────────────────────────────────── */

:root {
  --ink:#0F1F3A; --amber:#F4B223; --amber-hover:#E6A61E; --stone:#F5F2EA; --graphite:#5C6678;
  --bg:#060F18; --raised:#152844; --raised-2:#1d3354;
  --t-pri:#F5F2EA; --t-sec:rgba(245,242,234,.72); --t-ter:rgba(245,242,234,.55); --t-muted:rgba(245,242,234,.40);
  --border:rgba(245,242,234,.12); --hairline:rgba(245,242,234,.08); --border-strong:rgba(245,242,234,.2);
  --amber-soft:rgba(244,178,35,.12);
  --serif:'Source Serif 4',Georgia,serif; --sans:'Inter',system-ui,sans-serif; --mono:'IBM Plex Mono',Menlo,monospace;
  --focus:0 0 0 2px #F4B223,0 0 0 4px #0F1F3A;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--t-pri);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{min-height:100vh;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none;transition:color .15s ease}
button,input{font:inherit}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin:0 0 18px}

/* Typography */
.h-display{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.025em;line-height:.96;color:var(--t-pri);margin:0}
.h-section{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(34px,4.4vw,56px);line-height:1;letter-spacing:-.02em;margin:0;color:var(--t-pri)}
.body-l{font-size:18px;color:var(--t-sec);line-height:1.55}
.body-m{font-size:16px;color:var(--t-sec);line-height:1.6}
.body-s{font-size:14px;color:var(--t-sec);line-height:1.6}
.mono-meta{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--t-ter)}

/* CTA — single rule */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 26px;background:var(--amber);color:var(--ink);border:none;border-radius:100px;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .15s ease}
.btn-primary:hover{background:var(--amber-hover)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:1.5px solid var(--amber);color:var(--amber);border-radius:100px;font-size:14px;font-weight:600;letter-spacing:.02em;background:transparent;transition:background .15s ease}
.btn-secondary:hover{background:var(--amber-soft)}

/* ───────────────────────────────────────────────────────────── */
/* Header — weekly-planning identity                              */
/*  Row 1: logo · 7-day strip · waitlist pill                     */
/*  Row 2: quiet mono section nav                                 */
/*  Bottom: 1px amber-to-hairline fade rule                       */
/* ───────────────────────────────────────────────────────────── */
.site-header{position:sticky;top:0;background:rgba(6,15,24,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:50;border-bottom:none}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0,rgba(245,242,234,.06) 18%,rgba(244,178,35,.55) 50%,rgba(245,242,234,.06) 82%,transparent 100%);pointer-events:none}
.site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px;height:56px}
.logo{display:inline-flex;align-items:center;color:var(--stone);line-height:0;justify-self:start}
.logo .brand-lockup{height:36px;width:auto;display:block}
.footer .logo .brand-lockup{height:36px}
@media (max-width:900px){.logo .brand-lockup{height:32px}}
@media (max-width:520px){.logo .brand-lockup{height:30px}.footer .logo .brand-lockup{height:30px}}

/* Day strip — center of the header on desktop */
.day-strip{justify-self:center;display:grid;grid-template-columns:repeat(7,30px);column-gap:5px;list-style:none;padding:0;margin:0}
.day-strip li{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--t-ter);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;transition:color .18s ease,background .18s ease,border-color .18s ease}
.day-strip li.is-today{color:var(--amber);background:rgba(244,178,35,.12);border-color:rgba(244,178,35,.42)}
@media (max-width:900px){.day-strip{grid-template-columns:repeat(7,26px);column-gap:4px}.day-strip li{width:26px;height:26px;font-size:10px}}
@media (max-width:720px){.day-strip{display:none}}

/* Mobile-only "today" chip — sits between logo and waitlist */
.header-today{display:none}
@media (max-width:720px){.header-today{display:inline-flex;align-items:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;background:rgba(244,178,35,.12);color:var(--amber);border:1px solid rgba(244,178,35,.4);border-radius:100px;margin-right:8px;white-space:nowrap}}
@media (max-width:380px){.header-today{display:none}}

/* Section nav — second row, quiet mono caption integrated with day strip */
.site-nav{border-top:1px solid var(--hairline);background:transparent}
.site-nav .container{display:flex;justify-content:center;align-items:center;height:28px;column-gap:28px;padding:0 24px}
.site-nav a{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--t-ter);white-space:nowrap;transition:color .15s ease}
.site-nav a:hover{color:var(--amber)}
@media (max-width:720px){.site-nav .container{column-gap:16px;height:26px}.site-nav a{font-size:9.5px;letter-spacing:.14em}}
@media (max-width:520px){.site-nav{display:none}}

/* Waitlist pill — same amber treatment, slightly tighter */
.header-cta{display:inline-flex;align-items:center;height:36px;padding:0 18px;background:var(--amber);color:var(--ink);border-radius:100px;font-size:13px;font-weight:600;letter-spacing:.02em;justify-self:end;white-space:nowrap}
.header-cta:hover{background:var(--amber-hover)}
@media (max-width:520px){.header-cta{height:34px;padding:0 16px;font-size:12.5px}}

/* Hero */
.hero{padding:24px 0 48px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;position:relative}
.hero-headline{font-size:clamp(40px,5.2vw,72px);max-width:13ch}
.hero-headline em{font-style:italic}
.hero-headline .accent{color:var(--amber)}
.hero-body{font-size:clamp(16px,1.25vw,17.5px);margin:18px 0 24px;max-width:460px;color:var(--t-sec);line-height:1.55}
.hero-body strong{color:var(--t-pri);font-weight:500}
.hero .eyebrow{margin-bottom:14px}
.hero .waitlist-card{max-width:460px}

.waitlist-card{max-width:520px;background:transparent;border:none;border-radius:0;padding:0;backdrop-filter:none}
.waitlist-row{display:flex;gap:10px;transition:opacity .25s ease}
.waitlist-row .input{flex:1;height:56px;padding:0 22px;background:rgba(245,242,234,.04);border:1px solid var(--border);border-radius:100px;color:var(--t-pri);font-family:var(--sans);font-size:15px;transition:border-color .15s ease}
.waitlist-row .btn-primary{height:56px}
.waitlist-row .input:focus{outline:none;border-color:var(--amber);box-shadow:var(--focus)}
.waitlist-row .input::placeholder{color:var(--t-ter)}
.waitlist-fine{margin:12px 4px 0;display:flex;align-items:center;gap:8px;color:var(--t-sec);font-size:12.5px;line-height:1.4}
.waitlist-fine .dot{width:5px;height:5px;background:var(--amber);border-radius:50%;flex:none}
.waitlist[data-state="error"] .waitlist-fine{color:#F4A993}

/* Hero phone */
.hero-visual{display:flex;justify-content:center;align-items:flex-start;position:relative;width:100%;overflow:hidden;min-height:540px}
.device-stack{position:relative;width:100%;max-width:300px;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 90%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 90%,transparent 100%)}
@media (max-width:960px){.hero-visual{min-height:0;overflow:visible}.device-stack{max-width:240px}}
@media (max-width:520px){.device-stack{max-width:220px}}
.phone{aspect-ratio:9/19.5;background:var(--ink);border-radius:46px;border:1px solid var(--border);padding:14px;position:relative;box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4)}
.phone::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:96px;height:24px;background:#000;border-radius:14px;z-index:2}
.phone-screen{width:100%;height:100%;border-radius:34px;background:#0a1322;padding:56px 14px 18px;overflow:hidden;position:relative}
.phone-status{display:flex;justify-content:space-between;align-items:center;font-family:var(--sans);font-size:10px;color:var(--stone);position:absolute;top:18px;left:0;right:0;padding:0 28px;font-weight:500}
.phone-h-title{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.phone-h-title svg{width:12px;height:16px}
.phone-h-title span{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--stone)}
.phone-week{font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:var(--t-ter);text-transform:uppercase;margin-left:auto}

.phone-banner{padding:12px;background:linear-gradient(180deg,#152844,#0e1d34);border-radius:12px;margin-bottom:8px;border:1px solid rgba(245,242,234,.06)}
.phone-banner .meta{font-family:var(--mono);font-size:7.5px;letter-spacing:.15em;color:var(--amber);text-transform:uppercase;margin-bottom:6px}
.phone-banner .h{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--stone);margin:0 0 4px}
.phone-banner .sub{font-size:9px;color:var(--t-ter);margin:0;line-height:1.35}
.phone-row{padding:9px 10px;background:#13243e;border-radius:11px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;font-size:9px}
.phone-row.active{border-left:2.5px solid var(--amber);padding-left:8px}
.phone-row .left{display:flex;flex-direction:column;gap:2px}
.phone-row .meta{font-family:var(--mono);font-size:7px;letter-spacing:.12em;color:var(--t-ter);text-transform:uppercase}
.phone-row .title{font-family:var(--serif);font-style:italic;font-size:10.5px;color:var(--stone)}
.phone-tag{font-family:var(--mono);font-size:7px;letter-spacing:.1em;color:var(--amber);text-transform:uppercase;padding:2.5px 7px;border:1px solid rgba(244,178,35,.4);border-radius:7px;background:rgba(244,178,35,.04)}
.phone-tag.muted{color:var(--t-ter);border-color:rgba(245,242,234,.18);background:transparent}
.phone-cta{position:absolute;left:14px;right:14px;bottom:50px;height:32px;background:var(--amber);border-radius:100px;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.18em;color:var(--ink);text-transform:uppercase}
.phone-tabs{position:absolute;left:14px;right:14px;bottom:14px;height:30px;display:flex;align-items:center;justify-content:space-around;font-family:var(--sans);font-size:8px;color:var(--t-ter);letter-spacing:.15em;text-transform:uppercase;font-weight:500}
.phone-tabs .on{color:var(--stone);border-bottom:1.5px solid var(--amber);padding-bottom:3px}

/* Section */
.section{padding:clamp(72px,8vw,112px) 0;border-top:1px solid var(--hairline)}
.section--no-border{border-top:none}
.section-heading{max-width:760px;margin-bottom:48px}
.section-heading-center{text-align:center;margin:0 auto 56px}
.section-body{font-size:18px;color:var(--t-sec);max-width:62ch;margin:20px 0 0;line-height:1.55}

/* PROBLEM section — pull quote */
.problem{background:linear-gradient(180deg,#060f18,#0a1626)}
.pull-quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.25;letter-spacing:-.015em;color:var(--t-pri);max-width:880px;padding:48px 0;margin:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.pull-quote .accent{color:var(--amber)}

/* Compare */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.compare-card{padding:36px 32px;border:1px solid var(--border);border-radius:20px;background:rgba(21,40,68,.4)}
.compare-card.muted{background:transparent}
.compare-card .label{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin:0 0 24px;display:flex;align-items:center;gap:10px}
.compare-card.muted .label{color:var(--t-ter)}
.compare-card.muted .label::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--t-muted)}
.compare-card:not(.muted) .label::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--amber)}
.compare-card ul{list-style:none;padding:0;margin:0}
.compare-card li{padding:14px 0;border-top:1px solid var(--hairline);font-size:15px;color:var(--t-sec);display:flex;align-items:flex-start;gap:12px}
.compare-card li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--t-muted);margin-top:9px}
.compare-card:not(.muted) li{color:var(--t-pri)}
.compare-card:not(.muted) li::before{background:var(--amber)}

/* ICP / built-for */
.icp{background:radial-gradient(ellipse at top right,rgba(244,178,35,.05),transparent 50%),var(--bg)}
.icp-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:32px}
.icp-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.icp-list li{padding:18px 22px;background:rgba(21,40,68,.4);border:1px solid var(--border);border-radius:14px;display:flex;align-items:flex-start;gap:14px;font-size:15px;color:var(--t-pri)}
.icp-list .check{flex:none;width:22px;height:22px;border-radius:50%;background:var(--amber);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-top:1px}

/* Feature showcase */
.feature-row{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:64px 0;border-bottom:1px solid var(--hairline)}
.feature-row:last-child{border-bottom:none}
.feature-row.reverse{grid-template-columns:.95fr 1.05fr}
.feature-row.reverse .feature-visual{order:-1}
.feature-copy h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(28px,3vw,38px);line-height:1.1;margin:14px 0 18px;color:var(--t-pri);max-width:16ch}
.feature-copy .body-l{max-width:48ch}
.feature-details{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}
.feature-details li{padding-left:22px;position:relative;color:var(--t-sec);font-size:15px}
.feature-details li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:1.5px;background:var(--amber)}

/* Phone variants for feature blocks */
.phone--small{max-width:340px;margin:0 auto}
.feature-row .phone-screen{padding:54px 16px 16px}
.feature-row .phone-row{padding:11px 12px;margin-bottom:7px}
.feature-row .phone-row .title{font-size:11.5px}
.feature-row .phone-row .meta{font-size:8px}
.feature-row .phone-banner{padding:14px;margin-bottom:10px}
.feature-row .phone-banner .h{font-size:20px}
.feature-row .phone-banner .meta{font-size:9px}
.feature-row .phone-banner .sub{font-size:10px}

/* Carb-timing editorial lead-in */
.carb-timing-block{text-align:center;max-width:64ch;margin:0 auto 32px;padding:48px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.carb-timing-block h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.015em;margin:0 0 24px;color:var(--t-pri)}
.carb-timing-block h3 .accent{color:var(--amber)}
.carb-timing-block .lead{margin:0 auto 28px;max-width:60ch;color:var(--t-sec)}
.carb-timing-block .voc{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.5;color:var(--t-pri);margin:0 auto;max-width:54ch;padding-top:20px;border-top:1px solid var(--hairline)}
.carb-timing-block .voc cite{display:block;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.18em;color:var(--t-ter);text-transform:uppercase;margin-top:14px}

/* Testimonials */
.testimonials{background:linear-gradient(180deg,#0a1626,#060f18)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px}
.testimonial{padding:48px 36px 32px;background:transparent;border:1px solid var(--hairline);border-radius:14px;display:flex;flex-direction:column;gap:36px;position:relative;transition:border-color .2s ease}
.testimonial::before{content:"";position:absolute;top:0;left:36px;width:40px;height:2px;background:var(--amber)}
.testimonial:hover{border-color:var(--border-strong)}
.testimonial .quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:23px;line-height:1.4;letter-spacing:-.012em;color:var(--t-pri);margin:0}
.testimonial .person{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:24px;border-top:1px solid var(--hairline)}
.testimonial .av{width:38px;height:38px;border-radius:50%;flex:none;background:linear-gradient(135deg,#1d3354,#152844);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--t-sec);font-weight:500}
.testimonial .who{font-size:13.5px;color:var(--t-sec);line-height:1.35;font-weight:500;letter-spacing:.005em}
.testimonial .who span{display:block;color:var(--t-ter);font-size:10.5px;margin-top:6px;font-weight:500;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;line-height:1.5}

/* How */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;position:relative}
.how-grid::before{content:"";position:absolute;top:48px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--amber),var(--amber),transparent);opacity:.3}
.how-card{padding:28px 24px;background:var(--bg);border:1px solid var(--border);border-radius:16px;position:relative;z-index:2}
.how-step{width:36px;height:36px;border-radius:50%;background:var(--amber);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:600;margin-bottom:24px}
.how-card h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;line-height:1.15;margin:0 0 10px;color:var(--t-pri)}
.how-card p{font-size:14px;color:var(--t-sec);margin:0;line-height:1.5}

/* Founder note */
.founder{background:var(--raised);border-radius:24px;padding:48px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;margin:48px 0}
.founder-avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#F4B223,#C9622E);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:36px;color:var(--ink);font-weight:500;border:3px solid var(--bg)}
.founder p{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.4;color:var(--t-pri);margin:0 0 14px;max-width:62ch}
.founder .sig{font-family:var(--sans);font-style:normal;font-size:14px;color:var(--t-ter);letter-spacing:.02em}
.founder .sig strong{color:var(--t-sec);font-weight:500}

/* Instagram strip */
.instagram{padding:80px 0;border-top:1px solid var(--hairline);background:var(--bg)}
.instagram-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}
.instagram-head h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:32px;margin:0;color:var(--t-pri)}
.instagram-head a{color:var(--amber);font-size:14px;font-weight:500}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ig-tile{aspect-ratio:1;border-radius:14px;background:var(--raised);border:1px solid var(--border);position:relative;overflow:hidden;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.ig-tile .ig-meta{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--amber);text-transform:uppercase}
.ig-tile .ig-h{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.2;color:var(--stone);margin:0}
.ig-tile.meal{background:var(--stone);color:var(--ink);border-color:rgba(15,31,58,.08)}
.ig-tile.meal .ig-h,.ig-tile.meal .ig-meta{color:var(--ink)}
.ig-tile.meal .ig-meta{opacity:.55}
.ig-tile.meal .ig-tag{font-size:10px;font-family:var(--mono);letter-spacing:.16em;color:var(--ink);opacity:.55;text-transform:uppercase}
.ig-tile.meal .ig-food{flex:1;display:flex;align-items:center;justify-content:center;margin:6px 0 4px;min-height:0}
.ig-tile.meal .ig-food svg{width:62%;max-width:140px;height:auto}
.ig-tile.meal .ig-h--meal{font-size:16px;line-height:1.2;margin:0 0 4px}
.ig-tile.editorial{background:var(--raised-2)}

/* FAQ — collapsed accordion */
.faq-grid{margin:48px auto 0;display:flex;flex-direction:column;gap:0;max-width:880px}
.faq-item{border-top:1px solid var(--hairline);padding:0;transition:background-color .18s ease}
.faq-item:last-child{border-bottom:1px solid var(--hairline)}
.faq-item:hover{background:rgba(245,242,234,.018)}
.faq-item[open]{background:rgba(244,178,35,.028)}
.faq-q{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;color:var(--t-pri);margin:0;padding:26px 60px 26px 18px;cursor:pointer;list-style:none;position:relative;transition:color .15s ease;line-height:1.3}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-style:normal;font-weight:400;font-size:22px;line-height:1;color:var(--amber);transition:transform .2s ease}
.faq-item[open] .faq-q::after{content:"–"}
.faq-item:hover .faq-q,.faq-item[open] .faq-q{color:var(--amber)}
.faq-q:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}
.faq-a{font-size:15.5px;color:var(--t-sec);margin:0;padding:0 60px 30px 18px;line-height:1.65;max-width:72ch}

/* Closing CTA — amber room */
.amber-room{position:relative;overflow:hidden;background:linear-gradient(180deg,#0F1F3A,#152844 50%,#0F1F3A);padding:0;border-top:1px solid var(--hairline)}
.amber-room-inner{padding:96px 0;text-align:center;position:relative}
.amber-room-inner::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:80px;height:1px;background:var(--amber);opacity:.7}
.amber-room h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.025em;margin:0 auto 24px;max-width:14ch;color:var(--t-pri);position:relative}
.amber-room p{font-size:19px;color:var(--t-sec);max-width:560px;margin:0 auto 32px;position:relative}
.amber-room form{max-width:480px;margin:0 auto;position:relative}
.amber-room .waitlist-row .input{background:rgba(245,242,234,.06);border-color:var(--border-strong);font-size:16px}
.amber-room .fine{margin-top:20px;color:var(--t-ter);font-size:13px;position:relative}
.amber-room .waitlist[data-state="error"] .fine{color:#F4A993}

/* ───────────────────────────────────────────────────────────── */
/* Footer — editorial, like the back page of a printed guide      */
/*  Full-width amber rule on top                                  */
/*  Large serif italic statement: "The week is the unit."         */
/*  Three calm blocks: brand · product nav · company+social text  */
/* ───────────────────────────────────────────────────────────── */
.footer{position:relative;padding:0;background:var(--bg);border-top:none}
.footer-rule{height:1px;background:var(--amber);opacity:.55}
.footer-statement{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.02em;color:var(--t-pri);text-align:center;margin:96px auto 64px;max-width:14ch;padding:0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:64px;align-items:start;padding:0 24px 64px}
.footer-block{min-width:0}
.footer-block--brand .brand-lockup{height:36px;margin-bottom:18px;width:auto;display:block}
.footer-block--brand .footer-tagline{font-family:var(--serif);font-style:italic;font-weight:500;font-size:17px;color:var(--t-sec);margin:0;max-width:24ch;line-height:1.4}
.footer-block--brand .footer-meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--t-muted);margin:16px 0 0;font-weight:500}
.footer h4{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--t-muted);margin:0 0 18px;font-weight:500}
.footer-block + .footer-block h4:first-child{margin-top:0}
.footer-block h4 + h4{margin-top:32px}
.footer-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-block li a{font-size:13.5px;color:var(--t-sec);letter-spacing:0;transition:color .15s ease;line-height:1.4}
.footer-block li a:hover{color:var(--amber)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 30px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--t-muted);text-transform:uppercase;flex-wrap:wrap;gap:18px;margin:0}
.footer-bottom__meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-bottom__meta span{white-space:nowrap}
.footer-social{display:flex;flex-direction:row;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.footer-social li{margin:0}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--t-sec);background:transparent;transition:color .15s ease,background .15s ease}
.footer-social a:hover,.footer-social a:focus-visible{color:var(--amber);background:rgba(244,178,35,.1);outline:none}
.footer-social a:focus-visible{box-shadow:var(--focus)}
.footer-social svg{width:18px;height:18px;display:block;fill:currentColor}
@media (max-width:760px){
  .footer-statement{font-size:clamp(34px,7vw,52px);margin:64px auto 48px;max-width:18ch}
  .footer-grid{grid-template-columns:1fr;gap:40px;padding-bottom:48px}
  .footer-block--brand{order:-1}
  .footer-bottom{font-size:9.5px;letter-spacing:.14em;padding:20px 24px 28px}
}

/* Legal pages (privacy / terms / support / data-deletion) */
.legal-page{padding:64px 0 96px}
.legal-page__container{max-width:740px;margin:0 auto;padding:0 24px}
.legal-page__headline{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(36px,4.6vw,56px);line-height:1.05;letter-spacing:-.02em;margin:14px 0 24px;color:var(--t-pri)}
.legal-page__lede{font-size:19px;line-height:1.5;color:var(--t-sec);max-width:62ch;margin:0 0 14px}
.legal-page__updated{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-ter);margin:0 0 48px}
.legal-section{margin:0 0 36px;border-top:1px solid var(--hairline);padding-top:36px}
.legal-section:first-of-type{border-top:none;padding-top:0}
.legal-section h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:26px;line-height:1.2;margin:0 0 16px;color:var(--t-pri)}
.legal-section p{font-size:16px;line-height:1.65;color:var(--t-sec);margin:0 0 14px;max-width:62ch}
.legal-section p:last-child{margin-bottom:0}
.legal-section a{color:var(--amber);border-bottom:1px solid transparent;transition:border-color .15s ease}
.legal-section a:hover{border-bottom-color:var(--amber)}
.legal-section ul,.legal-section ol{margin:0 0 14px;padding-left:22px;color:var(--t-sec);font-size:16px;line-height:1.65}
.legal-section li{margin:0 0 8px;max-width:62ch}
.legal-section li:last-child{margin-bottom:0}
.legal-callout{margin:32px 0;padding:28px 32px;background:rgba(21,40,68,.5);border:1px solid var(--border);border-radius:14px}
.legal-callout h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;margin:0 0 12px;color:var(--t-pri)}
.legal-callout p{font-size:15.5px;line-height:1.6;color:var(--t-sec);margin:0 0 10px;max-width:62ch}
.legal-callout p:last-child{margin-bottom:0}
.legal-callout a{color:var(--amber);font-weight:500}

/* Sticky mobile CTA */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;padding:14px;background:rgba(6,15,24,.95);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:60}
.sticky-cta form{display:flex;gap:8px}
.sticky-cta .input{flex:1;height:48px;padding:0 16px;background:rgba(245,242,234,.05);border:1px solid var(--border);border-radius:100px;color:var(--t-pri);font-size:14px}
.sticky-cta .btn-primary{height:48px;padding:0 20px;font-size:14px}

/* Form success state — waitlist.js toggles waitlist--success on the form on a confirmed POST */
.waitlist--success .waitlist-row{opacity:.35;pointer-events:none}

/* ───────────────────────────────────────────────────────────── */
/* App device — the screen-pack PNGs already render the screen   */
/* content edge-to-edge, so we don't add a phone bezel. We just  */
/* round the corners to match an iOS screen radius and add a     */
/* soft drop shadow for depth.                                   */
/* ───────────────────────────────────────────────────────────── */
.app-device{position:relative;width:100%;max-width:284px;margin:0 auto}
.app-device img{display:block;width:100%;height:auto;border-radius:36px;box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.25)}
.app-device--lg{max-width:308px}
.app-device--lg img{border-radius:40px}
.app-device--sm{max-width:240px}
.app-device--sm img{border-radius:30px}
@media (max-width:960px){.app-device,.app-device--lg{max-width:248px}.app-device img,.app-device--lg img{border-radius:32px}}
@media (max-width:520px){.app-device,.app-device--lg{max-width:228px}.app-device img,.app-device--lg img{border-radius:30px}.app-device--sm{max-width:208px}.app-device--sm img{border-radius:28px}}

/* Hero variant — sets up the hero column visual without a full phone mock */
.hero-device{display:flex;justify-content:center;align-items:flex-start;width:100%;position:relative}

/* In-body product figure — used inside section body to show a single product screen with caption */
.product-figure{margin:32px auto 0;max-width:320px;text-align:center}
.product-figure .app-device{max-width:260px;margin:0 auto}
.product-figure figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-ter);text-align:center;margin-top:18px;line-height:1.5}
.product-figure--lg{max-width:360px}
.product-figure--lg .app-device{max-width:300px}

/* Two-up product figure pair — used when a section needs to show two screens side-by-side */
.product-pair{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:36px auto 0;align-items:start;max-width:680px}
.product-pair .product-figure{margin:0}
@media (max-width:720px){.product-pair{grid-template-columns:1fr;gap:48px}}

/* Subpage hero — denser composition than homepage */
.hero--sub{padding:32px 0 56px}
.hero--sub .hero-headline{font-size:clamp(32px,4.2vw,56px);max-width:16ch}
.hero--sub .hero-grid{align-items:center}

/* ───────────────────────────────────────────────────────────── */
/* Product vocabulary — day chips, status chips, macro burndown, */
/* data strip. Reused across all pages to ground abstract copy   */
/* in the actual app's visual language.                          */
/* ───────────────────────────────────────────────────────────── */

/* Day-chip strip — the 7-day row from Plan/Today */
.day-chips{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;list-style:none;padding:0;margin:0}
.day-chips li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 2px 12px;background:rgba(245,242,234,.04);border:1px solid var(--border);border-radius:12px;min-width:0}
.day-chips li .d{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--t-ter);text-transform:uppercase;margin-bottom:4px}
.day-chips li .n{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--t-pri);line-height:1}
.day-chips li.active{background:rgba(244,178,35,.12);border-color:var(--amber)}
.day-chips li.active .d,.day-chips li.active .n{color:var(--amber)}
.day-chips li.muted{opacity:.5}

/* Status chip — HARD / EASY / REST / AM SESSION / PM SESSION / LONG */
.day-tag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:100px;background:rgba(245,242,234,.06);color:var(--t-sec);border:1px solid var(--border);white-space:nowrap;vertical-align:middle}
.day-tag--hard{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.day-tag--easy{background:rgba(245,242,234,.06);color:var(--t-sec)}
.day-tag--rest{background:transparent;color:var(--t-ter)}
.day-tag--long{background:rgba(244,178,35,.08);color:var(--amber);border-color:rgba(244,178,35,.4)}
.day-tag--am::before,.day-tag--pm::before{content:"";width:5px;height:5px;background:var(--amber);border-radius:50%;margin-right:7px;flex:none}

/* Mini macro burndown — three thin progress bars (Protein/Carbs/Fat) */
.macro-burndown{display:grid;grid-template-columns:48px 1fr 70px;gap:12px;align-items:center;row-gap:10px;font-family:var(--mono)}
.macro-burndown .lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-ter)}
.macro-burndown .bar{height:6px;border-radius:3px;background:rgba(245,242,234,.08);position:relative;overflow:hidden}
.macro-burndown .bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--fill,60%);background:var(--bar-color,var(--amber));border-radius:3px}
.macro-burndown .bar--protein{--bar-color:var(--amber)}
.macro-burndown .bar--carbs{--bar-color:rgba(245,242,234,.55)}
.macro-burndown .bar--fat{--bar-color:#7FA05B}
.macro-burndown .v{font-family:var(--sans);font-size:11.5px;color:var(--t-sec);text-align:right;letter-spacing:0;text-transform:none}

/* Data strip — mono caption above section eyebrows */
.data-strip{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-ter);margin:0 0 14px;font-weight:500}

/* Editorial numeral — used as background marker behind step headings */
.step-marker{position:relative}
.step-marker .step-marker__num{position:absolute;top:-26px;left:-6px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:96px;line-height:1;color:rgba(244,178,35,.08);user-select:none;pointer-events:none;letter-spacing:-.04em}
@media (max-width:960px){.step-marker .step-marker__num{font-size:80px;top:-22px}}

/* Mini prep checklist — 3-row prep fragment for /meal-prep-for-athletes */
.prep-fragment{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:8px}
.prep-fragment li{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(245,242,234,.03);border:1px solid var(--hairline);border-radius:10px;font-size:13px;color:var(--t-pri);font-weight:500}
.prep-fragment li .box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border);flex:none;display:flex;align-items:center;justify-content:center;background:transparent}
.prep-fragment li.done .box{background:var(--amber);border-color:var(--amber)}
.prep-fragment li.done .box::after{content:"";width:8px;height:4px;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(-45deg);margin-top:-3px}
.prep-fragment li.done{color:var(--t-sec)}
.prep-fragment li .meta{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-ter);margin-left:auto;flex:none}

/* Refined compare — divided columns rather than card-on-card */
.compare-grid--divided{display:grid;grid-template-columns:1fr 1px 1fr;gap:40px;margin-top:48px;align-items:start}
.compare-grid--divided > .rule{background:var(--hairline);align-self:stretch;width:1px}
.compare-grid--divided .compare-card{padding:0;border:none;background:transparent;border-radius:0}
.compare-grid--divided .compare-card.muted{background:transparent}
.compare-grid--divided .compare-card .label{padding-bottom:18px;border-bottom:1px solid var(--hairline);margin-bottom:0}
.compare-grid--divided .compare-card li{padding:16px 0;border-top:none;border-bottom:1px solid var(--hairline)}
.compare-grid--divided .compare-card li:first-of-type{border-top:none}
@media (max-width:760px){.compare-grid--divided{grid-template-columns:1fr;gap:24px}.compare-grid--divided > .rule{width:auto;height:1px}}

/* Responsive breakpoints */
@media (max-width:960px){
  .hero-grid,.icp-grid,.compare-grid,.feature-row,.feature-row.reverse{grid-template-columns:1fr;gap:48px}
  .feature-row.reverse .feature-visual{order:0}
  .how-grid{grid-template-columns:1fr 1fr}
  .how-grid::before{display:none}
  .testimonial-grid{grid-template-columns:1fr}
  .ig-grid{grid-template-columns:1fr 1fr}
  .founder{grid-template-columns:1fr;text-align:center}
  .founder-avatar{margin:0 auto}
}

@media (max-width:520px){
  /* .site-nav and .footer-grid responsive rules now live with their components above */
}

@media (max-width:480px){
  .waitlist-row{flex-direction:column}
  .waitlist-row .btn-primary{width:100%}
  .sticky-cta{display:block}
  body{padding-bottom:90px}
}
</content>
</invoke>