:root{
  --navy:#0f2167; --navy-d:#0a1442; --sage:#b3beb3; --sage-d:#8f9c8f; --sage-l:#e3e9e3; --paper:#f3f5f1;
  --ink:#1e231f; --muted:#5b655c; --berry:#7a1f3d; --berry-2:#c2304f; --glow:#ffcf6e;
  --serif:"Fraunces",Georgia,"Times New Roman",serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:22px; --p:0;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block} a{color:inherit}
.wrap{width:min(1180px,92vw);margin:0 auto}
.kicker{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--berry)}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:.3em 0 .4em}
h2{font-size:clamp(34px,5vw,64px)} h3{font-size:24px}
.btn{display:inline-flex;align-items:center;gap:.6em;padding:14px 22px;border-radius:999px;font:600 15px/1 var(--sans);text-decoration:none;border:1.5px solid currentColor;transition:.25s;cursor:pointer;background:none;color:inherit}
.btn.solid{background:var(--ink);color:#fff;border-color:var(--ink)} .btn.solid:hover{background:var(--berry);border-color:var(--berry)}
.btn:hover{transform:translateY(-2px)}
/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4vw;transition:.3s;
  color:var(--fg,#fff);background:linear-gradient(to bottom,rgba(0,0,0,calc(.18*(1 - var(--p)))),transparent)}
.top.solid{color:var(--ink);background:rgba(243,245,241,.86);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.brand b{font:600 30px/1 var(--serif);letter-spacing:-.02em} .brand small{font:500 11px/1.2 var(--sans);opacity:.7;letter-spacing:.04em}
.nav{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:500}
.nav a{text-decoration:none;opacity:.88} .nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
.nav .btn{padding:10px 16px;font-size:14px;opacity:1}
.lang{font-size:12px;font-weight:700;letter-spacing:.1em;border:1px solid currentColor;border-radius:99px;padding:5px 9px;text-decoration:none}
.burger{display:none;background:none;border:0;color:inherit;font-size:26px;cursor:pointer}
/* hero */
.hero{position:relative;height:340vh;
  background:var(--bg,#0a1442);color:var(--fg,#fff);transition:color .4s}
.hero .stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .8s}
.hero.ready canvas{opacity:1}
.hero .halo{position:absolute;inset:auto;left:50%;top:52%;width:80vmin;height:80vmin;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,207,110,calc(.18 + .1*var(--p))),transparent 62%);pointer-events:none}
.copy{position:absolute;left:5vw;top:50%;transform:translateY(-50%);width:min(440px,40vw);z-index:2}
.stage{position:absolute;inset:auto 0;top:50%;transform:translateY(calc(-50% + 20px));opacity:0;transition:.6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.stage.on{opacity:1;transform:translateY(-50%);pointer-events:auto}
.stage .kicker{color:inherit;opacity:.75}
.stage h1{font-size:clamp(44px,6.2vw,92px);margin:.15em 0 .25em}
.stage h1 em{font-style:normal;color:var(--berry-2)}
.stage[data-stage-text="0"] h1{font-family:"Oswald","Arial Narrow",sans-serif;font-weight:700;letter-spacing:.04em}
.stage p{font-size:18px;opacity:.85;max-width:30em;margin:0 0 22px}
.stage .row{display:flex;gap:12px;flex-wrap:wrap}
.hero-ui{position:absolute;left:5vw;right:5vw;bottom:28px;display:flex;align-items:center;gap:18px;font-size:13px;z-index:3}
.hero-progress{flex:1;height:2px;background:currentColor;opacity:.25;position:relative;overflow:hidden;border-radius:2px}
.hero-progress i{position:absolute;inset:0;background:currentColor;transform-origin:left;transform:scaleX(0)}
.hero-ui .btn{padding:9px 14px;font-size:13px}
.static-pack{display:none}
.hero.is-static{height:auto;min-height:100vh;--bg:#dfe6df;--fg:#1e231f}
.hero.is-static .stick{position:relative;height:auto;min-height:100vh;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:4vw;padding:120px 5vw 80px}
.hero.is-static canvas,.hero.is-static .hero-ui{display:none}
.hero.is-static .copy{position:relative;left:auto;top:auto;transform:none;width:auto}
.hero.is-static .stage{display:none} .hero.is-static .stage.on{display:block;position:relative;top:auto;transform:none;opacity:1}
.hero.is-static .static-pack{display:flex;align-items:center;gap:3vw}
.static-pack figure{margin:0;text-align:center;font-size:13px;color:var(--muted)}
.static-pack .old{width:34%;filter:saturate(.85)} .static-pack .new{width:58%}
.static-pack .arrow{font:600 40px var(--serif);color:var(--berry)}
/* rename banner */
.rename{background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap}
.rename .track{display:inline-flex;gap:48px;padding:18px 0;animation:marq 28s linear infinite;font:500 20px/1 var(--serif)}
.rename .track span:nth-child(odd){opacity:.5;text-decoration:line-through;text-decoration-thickness:1px}
@keyframes marq{to{transform:translateX(-50%)}}
/* sections */
section.block{padding:120px 0}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.55;color:#323a33}
.claims{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.claims li{background:#fff;border-radius:14px;padding:14px 16px 14px 46px;position:relative;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.claims li:before{content:"";position:absolute;left:16px;top:18px;width:16px;height:16px;border-radius:50%;background:var(--berry)}
.note{font-size:12.5px;color:var(--muted);margin-top:14px}
.photo-stack{position:relative;aspect-ratio:4/5}
.photo-stack img{position:absolute;border-radius:var(--r);object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.photo-stack img:nth-child(1){width:72%;height:78%;right:0;top:0}
.photo-stack img:nth-child(2){width:52%;height:52%;left:0;bottom:0;border:8px solid var(--paper)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:60px}
.fact{background:var(--sage-l);border-radius:var(--r);padding:26px 22px}
.fact b{display:block;font:600 40px/1 var(--serif);letter-spacing:-.02em} .fact span{font-size:14px;color:var(--muted)}
/* how to */
.how{background:linear-gradient(160deg,#cfd8cf,#b3beb3);border-radius:36px;padding:80px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.steps{counter-reset:s;display:grid;gap:16px;margin:28px 0 0;padding:0;list-style:none}
.steps li{counter-increment:s;display:flex;gap:16px;align-items:flex-start;font-size:17px}
.steps li:before{content:counter(s);flex:0 0 40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 16px var(--serif)}
.moments{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.moments span{background:rgba(255,255,255,.6);border-radius:99px;padding:8px 14px;font-size:14px}
/* ingredients */
.ing-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-top:40px}
.ing{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1;background:#ddd}
.ing img{width:100%;height:100%;object-fit:cover;transition:transform .6s} .ing:hover img{transform:scale(1.08)}
.ing span{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 9px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.key{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:28px}
.key div{border:1.5px solid var(--ink);border-radius:999px;padding:12px;text-align:center;font-size:14px;font-weight:600}
details.full{margin-top:34px;background:#fff;border-radius:var(--r);padding:20px 24px}
details.full summary{cursor:pointer;font-weight:600}
details.full p{color:#3d463e;font-size:14.5px}
/* nutrition */
.nutri{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;margin-top:28px}
.nutri th,.nutri td{padding:16px 20px;text-align:left;border-bottom:1px solid #e9ece8}
.nutri th{background:var(--ink);color:#fff;font-weight:600;font-size:14px}
.nutri td:not(:first-child),.nutri th:not(:first-child){text-align:right}
/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
.q{background:#fff;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:18px}
.q p{margin:0;font:400 18px/1.55 var(--serif);color:#2a312b}
.q footer{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--muted)}
.q img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.q b{color:var(--ink);display:block}
/* order + contact */
.order{background:var(--ink);color:#f2f4f1;border-radius:36px;padding:80px 6vw;display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center}
.order .btn{color:#fff} .order .btn.solid{background:var(--glow);color:var(--ink);border-color:var(--glow)}
.order img{border-radius:var(--r);background:#e3e9e3}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.contact-cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:var(--r);padding:28px;text-decoration:none;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(0,0,0,.35)}
.card b{font:600 22px/1.2 var(--serif);display:block;margin-bottom:6px} .card span{color:var(--muted);font-size:14px;word-break:break-word}
footer.site{padding:70px 0 40px;margin-top:80px;border-top:1px solid #dde2dc;font-size:14px;color:var(--muted)}
footer.site .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 20px} footer.site a{text-decoration:none} footer.site a:hover{color:var(--ink)}
footer.site .brand b{font-size:40px;color:var(--ink)}
.reveal{opacity:0;transform:translateY(26px);transition:1s cubic-bezier(.2,.7,.2,1)} .reveal.in{opacity:1;transform:none}
.preview-flag{position:fixed;right:12px;bottom:12px;z-index:60;background:var(--berry);color:#fff;font:600 11px/1 var(--sans);letter-spacing:.08em;padding:8px 10px;border-radius:8px;opacity:.9}
@media (max-width:1000px){.ing-grid{grid-template-columns:repeat(4,1fr)}.key{grid-template-columns:repeat(3,1fr)}.facts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1180px){
  .top.solid{backdrop-filter:none;background:rgba(243,245,241,.97)}
  .nav{position:fixed;left:0;top:0;width:100vw;height:100vh;height:100dvh;background:var(--paper);color:var(--ink);flex-direction:column;justify-content:center;font-size:20px;gap:20px;transform:translateY(-100%);visibility:hidden;transition:transform .4s,visibility 0s .4s}
  body.nav-open .nav{transform:none;visibility:visible;transition:transform .4s}
  .burger{display:block;z-index:2} body.nav-open .top{color:var(--ink)}
}
@media (max-width:760px), (max-aspect-ratio:1/1){
  .copy{left:6vw;right:6vw;width:auto;top:96px;transform:none}
  .stage{top:0;transform:translateY(16px)} .stage.on{transform:none}
  .stage p{max-width:34em}
}
@media (max-width:760px){
  .contact-cards.four{grid-template-columns:1fr 1fr}
  .preview-flag{bottom:auto;top:64px;right:8px}
  .hero{height:260vh}
  .stage h1{font-size:44px} .stage p{font-size:16px;margin-bottom:14px}
  .hero.is-static .stick{grid-template-columns:1fr;padding-top:110px}
  .split,.how,.order{grid-template-columns:1fr} section.block{padding:80px 0}
  .quotes,.contact-cards{grid-template-columns:1fr} .ing-grid{grid-template-columns:repeat(3,1fr)} .key{grid-template-columns:repeat(2,1fr)}
  .nutri th,.nutri td{padding:12px 10px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

@media (max-width:480px){
  .contact-cards.four{grid-template-columns:1fr} .card span{overflow-wrap:anywhere}
  .brand small{display:none} .top{padding:12px 5vw}
  .stage h1{font-size:40px} .ing-grid{grid-template-columns:repeat(2,1fr)} .facts{grid-template-columns:1fr 1fr} .fact b{font-size:32px}
  .how,.order{padding:56px 6vw;border-radius:26px} .q{padding:22px} .q p{font-size:16.5px}
  .nutri td:first-child{font-size:13px}
  .hero-ui{gap:10px} .hero-ui>span{display:none}
}
@media (min-width:1900px){
  body{font-size:18px} .wrap{width:min(1640px,88vw)} h2{font-size:clamp(64px,3.6vw,96px)} h3{font-size:30px}
  .lead{font-size:24px} .stage h1{font-size:clamp(92px,5vw,140px)} .stage p{font-size:22px} .copy{width:min(640px,34vw)}
  .top{padding:20px 4vw} .brand b{font-size:38px} .nav{font-size:16px;gap:30px} .btn{font-size:17px;padding:16px 26px}
  .fact b{font-size:52px} .fact span{font-size:16px} .q p{font-size:21px} .card b{font-size:26px} .card span{font-size:16px}
  .nutri th,.nutri td{padding:20px 26px;font-size:17px} .steps li{font-size:20px} .moments span{font-size:16px}
  .rename .track{font-size:26px} footer.site{font-size:16px}
}
@media (min-width:2400px){ body{font-size:20px} .wrap{width:min(2000px,86vw)} .lead{font-size:27px} .stage h1{font-size:150px} .nav{font-size:18px} .q p{font-size:23px} }
