:root { --ink:#101010; --paper:#f7f5f1; --red:#a32020; --gold:#d9a900; --amber:#b66a00; --muted:#706c66; --line:rgba(16,16,16,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.site-header { height:104px; padding:0 5vw; display:grid; grid-template-columns:210px 1fr auto; align-items:center; gap:30px; border-bottom:1px solid var(--line); background:rgba(247,245,241,.94); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.brand img { width:142px; }
nav { display:flex; justify-content:center; gap:38px; font-size:13px; letter-spacing:.08em; }
nav a,.footer-links a { transition:color .2s ease; }
nav a:hover,.footer-links a:hover { color:var(--red); }
.header-cta { padding:13px 20px; border:1px solid var(--ink); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }

.hero { min-height:calc(100vh - 104px); display:grid; grid-template-columns:1.02fr .98fr; overflow:hidden; }
.hero-copy { padding:10vh 7vw 7vh; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 25px; color:var(--red); text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:700; }
.hero h1,.section h2 { margin:0; font-weight:500; letter-spacing:-.055em; line-height:.98; }
.hero h1 { font-size:clamp(58px,6.4vw,104px); }
.hero-lead { max-width:610px; margin:34px 0 0; color:#4d4945; font-size:18px; line-height:1.7; }
.hero-actions { display:flex; gap:14px; margin-top:40px; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:0 25px; font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--red); color:#fff; }
.button-quiet { border:1px solid var(--line); background:rgba(255,255,255,.35); }
.hero-facts { display:flex; gap:30px; margin-top:52px; padding-top:24px; border-top:1px solid var(--line); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.hero-facts strong { font-size:18px; margin-right:5px; }

.hero-visual { position:relative; min-height:690px; background:#e9e2d7; overflow:hidden; }
.sun-disc { position:absolute; width:530px; height:530px; border-radius:50%; background:var(--red); top:50%; left:52%; transform:translate(-50%,-53%); opacity:.95; }
.hero-card { position:absolute; width:min(23vw,295px); border-radius:20px; box-shadow:0 30px 75px rgba(0,0,0,.23); }
.hero-card-one { left:10%; top:19%; transform:rotate(-9deg); z-index:2; }
.hero-card-two { left:37%; top:12%; transform:rotate(2deg); z-index:3; }
.hero-card-three { left:61%; top:22%; transform:rotate(9deg); z-index:2; }
.hero-visual>p { position:absolute; right:5%; bottom:4%; color:#fff; font-size:10px; letter-spacing:.24em; text-transform:uppercase; }

.manifesto-strip { min-height:150px; padding:30px 7vw; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; gap:35px; text-align:center; }
.manifesto-strip p { margin:0; color:var(--red); font-family:serif; font-size:48px; }
.manifesto-strip span { font-size:clamp(17px,2vw,27px); letter-spacing:-.02em; }

.section { padding:120px 7vw; }
.section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:12vw; align-items:end; margin-bottom:65px; }
.section h2 { font-size:clamp(46px,5.5vw,82px); }
.section-heading>p { margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product-card { position:relative; overflow:hidden; border:1px solid var(--line); background:#fff; }
.product-number { position:absolute; top:20px; right:20px; font-size:11px; letter-spacing:.16em; z-index:2; }
.product-image-wrap { height:430px; display:grid; place-items:center; padding:52px; overflow:hidden; background:#eee9e2; }
.product-card.gold .product-image-wrap { background:#efe7c9; }
.product-card.amber .product-image-wrap { background:#e8d9c5; }
.product-card.red .product-image-wrap { background:#ead5d4; }
.product-image-wrap img { display:block; width:auto; height:300px; max-width:100%; max-height:100%; object-fit:contain; border-radius:13px; box-shadow:0 20px 42px rgba(0,0,0,.14); transition:transform .35s ease; }
.product-card:hover .product-image-wrap img { transform:translateY(-7px) rotate(-1deg); }
.product-copy { padding:30px; }
.product-note { margin:0 0 9px; color:var(--muted); text-transform:uppercase; letter-spacing:.16em; font-size:10px; }
.product-copy h3 { margin:0; font-size:31px; letter-spacing:-.04em; }
.recipe { min-height:34px; margin:15px 0 18px; font-size:12px; line-height:1.4; font-weight:700; }
.description { min-height:92px; margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.product-footer { padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.product-footer strong { font-size:18px; }
.product-footer span { color:var(--red); text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:700; }

.boost { display:grid; grid-template-columns:.9fr 1.1fr; min-height:700px; padding-top:0; padding-bottom:0; background:#e7dfd2; }
.boost-visual { position:relative; min-height:700px; display:grid; place-items:center; overflow:hidden; background:var(--gold); }
.boost-visual:before { content:""; position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(255,255,255,.48); border-radius:50%; }
.boost-visual img { position:relative; height:500px; width:auto; border-radius:18px; box-shadow:0 35px 80px rgba(0,0,0,.22); transform:rotate(-3deg); }
.boost-visual>span { position:absolute; top:34px; left:38px; color:#fff; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.boost-copy { padding:90px 8vw; display:flex; flex-direction:column; justify-content:center; }
.boost-copy>p:not(.eyebrow):not(.boost-recipe) { max-width:580px; color:var(--muted); font-size:17px; line-height:1.8; }
.boost-recipe { margin:25px 0 10px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.boost-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.boost-meta span { border:1px solid var(--line); padding:10px 13px; font-size:10px; text-transform:uppercase; letter-spacing:.11em; }

.packs { background:#fff; }
.section-heading.compact { margin-bottom:50px; }
.pack-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pack-grid article { min-height:370px; padding:35px; border:1px solid var(--line); display:flex; flex-direction:column; background:var(--paper); }
.pack-grid article.featured { background:var(--ink); color:#fff; }
.pack-count { margin:0 auto 55px 0; width:66px; height:66px; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--red); font-size:24px; font-weight:700; }
.pack-grid h3 { margin:0 0 17px; font-size:29px; letter-spacing:-.04em; }
.pack-grid article>p:not(.pack-count) { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.pack-grid .featured>p:not(.pack-count) { color:#aaa39b; }
.pack-grid article>span { margin-top:auto; padding-top:25px; border-top:1px solid var(--line); font-size:12px; font-weight:700; letter-spacing:.12em; }
.pack-grid .featured>span { border-color:rgba(255,255,255,.18); }
.price-note { margin:25px 0 0; color:var(--muted); font-size:11px; text-align:right; }

.method { background:var(--ink); color:#fff; display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; }
.eyebrow.light { color:#dcb897; }
.method-intro>p:last-child { max-width:560px; color:#aaa39b; font-size:16px; line-height:1.75; margin-top:35px; }
.method-steps { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.method-steps li { display:grid; grid-template-columns:64px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.method-steps li>span { color:#dcb897; font-size:11px; letter-spacing:.15em; }
.method-steps h3 { margin:0 0 8px; font-size:20px; font-weight:500; }
.method-steps p { margin:0; color:#aaa39b; font-size:14px; line-height:1.6; }

.story { min-height:660px; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:11vw; }
.story-mark { width:min(38vw,470px); aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:var(--red); color:#fff; font-family:serif; font-size:clamp(90px,12vw,165px); box-shadow:inset 0 0 0 14px rgba(255,255,255,.06); }
.story-copy>p:not(.eyebrow):not(.signature) { max-width:650px; color:var(--muted); font-size:17px; line-height:1.8; margin-top:32px; }
.signature { margin-top:35px; text-transform:uppercase; letter-spacing:.2em; font-size:10px; font-weight:700; }

.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; background:#fff; border-top:1px solid var(--line); }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:25px 40px 25px 0; position:relative; font-size:17px; font-weight:700; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:after { content:"+"; position:absolute; right:4px; top:21px; font-size:25px; font-weight:400; }
.faq details[open] summary:after { content:"−"; }
.faq details p { max-width:720px; margin:0; padding:0 45px 25px 0; color:var(--muted); font-size:14px; line-height:1.7; }

.launch { display:grid; grid-template-columns:1.15fr .75fr auto; gap:5vw; align-items:center; background:#ebe5dc; border-top:1px solid var(--line); }
.launch h2 { font-size:clamp(40px,4.2vw,68px); }
.launch>p { color:var(--muted); font-size:15px; line-height:1.7; }
.launch .button { white-space:nowrap; }

footer { min-height:240px; padding:55px 7vw; display:grid; grid-template-columns:210px 1fr auto; gap:7vw; align-items:center; background:#fff; border-top:1px solid var(--line); }
footer img { width:150px; }
footer p { margin:5px 0; color:var(--muted); font-size:12px; line-height:1.5; }
.footer-links { display:flex; gap:26px; font-size:12px; }

@media (max-width:1050px) {
  .site-header { grid-template-columns:170px 1fr; }
  .site-header nav { justify-content:flex-end; }
  .header-cta { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-visual { min-height:640px; }
  .hero-card { width:230px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card { display:grid; grid-template-columns:.8fr 1.2fr; }
  .product-image-wrap { height:400px; }
  .product-copy { display:flex; flex-direction:column; justify-content:center; padding:45px; }
  .description { min-height:auto; margin-bottom:28px; }
  .method,.story { gap:6vw; }
  .boost { grid-template-columns:1fr 1fr; }
  .boost-visual { min-height:620px; }
  .boost-visual img { height:440px; }
  .launch { grid-template-columns:1fr 1fr; }
  .launch .button { grid-column:2; justify-self:start; }
}

@media (max-width:720px) {
  .site-header { height:82px; padding:0 22px; display:flex; justify-content:space-between; }
  .brand img { width:118px; }
  nav a:not(:first-child) { display:none; }
  nav { font-size:11px; }
  .hero-copy { padding:70px 24px 58px; }
  .hero h1 { font-size:52px; }
  .hero-lead { font-size:16px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-facts { flex-wrap:wrap; gap:16px 25px; }
  .hero-visual { min-height:490px; }
  .sun-disc { width:390px; height:390px; }
  .hero-card { width:160px; }
  .hero-card-one { left:3%; top:22%; }
  .hero-card-two { left:29%; top:14%; }
  .hero-card-three { left:55%; top:24%; }
  .manifesto-strip { flex-direction:column; gap:5px; padding:35px 24px; }
  .section { padding:85px 24px; }
  .section-heading,.method,.story,.launch,.boost,.faq { grid-template-columns:1fr; }
  .section-heading { gap:25px; margin-bottom:40px; }
  .section h2 { font-size:47px; }
  .product-card { display:block; }
  .product-image-wrap { height:350px; padding:42px; }
  .product-image-wrap img { height:270px; }
  .product-copy { display:block; padding:27px; }
  .boost-visual { min-height:520px; }
  .boost-visual img { height:380px; }
  .boost-copy { padding:75px 24px; }
  .pack-grid { grid-template-columns:1fr; }
  .pack-grid article { min-height:310px; }
  .story-mark { width:78vw; justify-self:center; }
  .launch { gap:28px; }
  .launch .button { grid-column:auto; }
  footer { grid-template-columns:1fr; gap:24px; padding:45px 24px; }
  .footer-links { justify-content:flex-start; }
}
