@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Poppins:wght@500;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root{
  --green-900:#0F4725; --green-700:#1B5A34; --green-500:#2E7A4A;
  --mustard-500:#EBC77E; --mustard-300:#F6E1B0; --gold-600:#A9762F;
  --cream-50:#FDF8ED; --cream-100:#F5EEDA; --cream-200:#EDE4CB;
  --line-200:#DED2AE; --charcoal-900:#2B2523; --ink-700:#4A423C; --white:#FFFFFF;
  --font-display:'Playfair Display',Georgia,serif;
  --font-ui:'Poppins',sans-serif;
  --font-body:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--cream-50);color:var(--charcoal-900);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--green-900);text-decoration:none}
a:hover{color:var(--gold-600)}
::selection{background:var(--mustard-500)}
img{display:block;max-width:100%}
button{font:inherit}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:var(--cream-50);border-bottom:1px solid transparent;transition:background-color .3s,padding .3s,border-color .3s;padding:20px clamp(20px,4vw,56px)}
.site-header.is-compact{background:rgba(253,248,237,.94);border-bottom-color:var(--line-200);padding:10px clamp(20px,4vw,56px)}
.header-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(12px,1.8vw,48px)}
.nav{display:flex;min-width:0;gap:clamp(10px,1.3vw,26px);font-family:var(--font-ui);font-weight:600;font-size:clamp(13.5px,1.15vw,15.5px);letter-spacing:.055em;text-transform:uppercase;flex-wrap:nowrap}
.nav a{color:var(--green-900);white-space:nowrap}
.nav a:hover{color:var(--gold-600)}
.logo-link{grid-column:2;display:flex;align-items:center;justify-content:center}
.logo-link img{height:68px;width:auto;transition:height .3s}
.site-header.is-compact .logo-link img{height:38px}
.header-right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.3vw,28px)}
.btn-shop{font-family:var(--font-ui);font-weight:700;font-size:clamp(12px,1.1vw,13px);letter-spacing:.07em;text-transform:uppercase;color:var(--cream-50);background:var(--green-900);border:2px solid var(--green-900);padding:9px clamp(14px,1.7vw,22px);border-radius:999px;white-space:nowrap;transition:background-color .18s,border-color .18s}
.btn-shop:hover{background:var(--green-700);border-color:var(--green-700);color:var(--cream-50)}
.menu-btn{background:none;border:0;padding:6px;cursor:pointer;color:var(--green-900);display:none}
@media (max-width:719px){
  .header-inner{grid-template-columns:1fr auto 1fr}
  .nav{display:none}
  .menu-btn{display:flex}
}

/* ticker */
.ticker-wrap{overflow:hidden;background:var(--green-900);padding:15px 0}
.ticker{display:flex;white-space:nowrap;font-family:var(--font-ui);font-weight:400;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-50);animation:zo-ticker 14s linear infinite}
.ticker span{padding-right:44px}
@keyframes zo-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--green-900);color:var(--cream-50);padding:28px clamp(20px,6vw,48px);display:none;flex-direction:column}
.mobile-menu.is-open{display:flex}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center}
.mobile-menu-brand{font-family:var(--font-ui);font-weight:800;font-size:15px;letter-spacing:.14em;text-transform:uppercase}
.mobile-menu-close{background:none;border:0;cursor:pointer;color:var(--cream-50);padding:6px}
.mobile-nav{margin:auto 0;display:flex;flex-direction:column;gap:6px}
.mobile-nav a{font-family:var(--font-display);font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.15;color:var(--cream-50)}
.mobile-menu-tags{font-family:var(--font-ui);font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mustard-500);margin:0}

.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
section{padding:clamp(56px,8vw,120px) clamp(20px,4vw,56px)}
.wave{position:relative;height:56px;background:var(--green-900)}
.wave svg{position:absolute;inset:0;width:100%;height:100%;display:block}

/* hero */
#hero{padding-top:clamp(28px,5vw,64px);padding-bottom:clamp(56px,7vw,104px)}
.hero-grid{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(36px,5vw,80px);align-items:center}
.hero-copy{flex:1 1 440px;min-width:300px}
.hero-kicker{font-family:var(--font-ui);font-weight:800;font-size:clamp(1.3rem,2.6vw,2.1rem);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-600);margin:0 0 18px}
.hero-kicker em{font-family:var(--font-display);font-weight:500;font-style:italic;text-transform:none;letter-spacing:normal}
.hero-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.1;color:var(--green-900);margin:0 0 clamp(20px,2.4vw,28px)}
.hero-title span{display:block;white-space:nowrap}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(36px,4vw,52px)}
.tag-pill{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-900);border:1px solid var(--line-200);padding:9px 16px;border-radius:999px}
.hero-ctas{display:flex;flex-wrap:nowrap;gap:clamp(8px,1.4vw,14px);overflow-x:auto}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-ui);font-weight:700;font-size:clamp(11px,1.1vw,13px);letter-spacing:.1em;text-transform:uppercase;padding:clamp(13px,1.6vw,17px) clamp(20px,2.6vw,34px);border-radius:999px;white-space:nowrap;flex:0 0 auto;transition:background-color .18s,gap .18s,color .18s;cursor:pointer;border:2px solid transparent}
.btn-primary{background:var(--green-900);color:var(--cream-50)}
.btn-primary:hover{background:var(--green-700);gap:16px;color:var(--cream-50)}
.btn-outline{background:transparent;color:var(--green-900);border-color:var(--green-900);padding:clamp(11px,1.4vw,15px) clamp(18px,2.4vw,32px)}
.btn-outline:hover{background:var(--green-900);color:var(--cream-50)}
.btn-cta{padding:17px 34px;font-size:13px}
.hero-media{flex:1 1 420px;min-width:300px;position:relative;min-height:clamp(340px,40vw,540px)}
.hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:32px}
.hero-seal{position:absolute;top:-6%;right:-6%;width:clamp(104px,13vw,144px);height:clamp(104px,13vw,144px);display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-seal .disc{position:absolute;inset:0;border-radius:999px;background:var(--gold-600);border:4px solid var(--cream-50);transform:rotate(-8deg)}
.hero-seal .ring{position:absolute;inset:10px;border-radius:999px;border:1.5px dashed rgba(253,248,237,.55);transform:rotate(-8deg)}
.hero-seal .txt{position:relative;font-family:var(--font-ui);font-weight:800;font-size:clamp(13px,1.5vw,15.5px);line-height:1.3;letter-spacing:.03em;text-transform:uppercase;color:var(--cream-50);text-align:center;max-width:64%}
.hero-caption{position:absolute;inset:auto 0 0 0;padding:clamp(24px,3vw,40px);background:var(--green-900);pointer-events:none;border-radius:0 0 32px 32px}
.hero-caption p{font-family:var(--font-ui);font-weight:700;font-size:clamp(.95rem,1.5vw,1.15rem);letter-spacing:.08em;text-transform:uppercase;line-height:1.3;color:var(--cream-50);margin:0;white-space:nowrap}

/* zeros */
#zeros{background:var(--green-900);color:var(--cream-50)}
#zeros h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,5vw,4rem);line-height:1.06;margin:0 0 clamp(40px,5vw,72px);max-width:22ch}
.zeros-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.8vw,28px)}
@media (max-width:1079px){.zeros-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:719px){.zeros-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.zero-card{border:1px solid rgba(253,248,237,.22);border-radius:32px;padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:clamp(14px,1.6vw,24px);transition:background-color .3s}
.zero-card:hover{background:rgba(253,248,237,.06)}
.zero-num{font-family:var(--font-ui);font-weight:800;font-size:clamp(4rem,7vw,7.5rem);line-height:.82;letter-spacing:-.04em;color:var(--mustard-500)}
.zero-card h3{font-family:var(--font-ui);font-weight:800;font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}
.zero-card p{font-family:var(--font-body);font-size:1rem;line-height:1.55;color:rgba(253,248,237,.74);margin:0}

/* story */
.story-grid{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,72px);align-items:flex-start}
.story-media{flex:1 1 380px;min-width:300px;aspect-ratio:1/1;position:relative}
.story-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:32px}
.story-copy{flex:1 1 400px;min-width:300px;display:flex;flex-direction:column;justify-content:center;padding:clamp(8px,2vw,32px) 0;gap:2px}
.kicker{font-family:var(--font-ui);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-600);margin:0 0 20px}
.story-copy h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.12;color:var(--green-900);margin:0 0 clamp(20px,2.4vw,28px);max-width:20ch}
.story-copy p:not(.kicker):not(.story-emph){font-family:var(--font-body);font-size:clamp(.95rem,1.1vw,1.0625rem);line-height:1.55;color:var(--ink-700);margin:0 0 16px;max-width:46ch}
.story-emph{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.3;color:var(--charcoal-900);max-width:34ch}
.story-copy .btn{align-self:flex-start;margin-top:clamp(20px,2.4vw,30px)}

/* snacks */
#snacks{background:var(--cream-100)}
.snacks-head{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(36px,4.5vw,64px)}
.snacks-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,3.8rem);line-height:1.04;color:var(--green-900);margin:0;max-width:16ch}
.snacks-head .kicker{margin-bottom:14px}
.snacks-head-copy{max-width:44ch}
.snacks-head-copy p:last-child{font-family:var(--font-body);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.6;color:var(--ink-700);margin:0}
.snacks-grid{display:flex;flex-wrap:wrap;gap:clamp(12px,1.8vw,28px)}
.product{flex:1 1 30%;min-width:min(240px,100%);max-width:100%;perspective:1600px}
.product-flip{position:relative;width:100%;transform-style:preserve-3d;transition:transform .6s}
.product.is-flipped .product-flip{transform:rotateY(180deg)}
.product-front{background:var(--white);border-radius:32px;overflow:hidden;display:flex;flex-direction:column;backface-visibility:hidden}
.product.is-flipped .product-front{visibility:hidden;pointer-events:none}
.product-photo{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--cream-200)}
.product-photo img{width:100%;height:100%;object-fit:cover}
.product-body{padding:clamp(20px,2vw,30px);display:flex;flex-direction:column;gap:10px;flex:1}
.product-body h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.15;color:var(--green-900);margin:0}
.product-body>p{font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--ink-700);margin:0}
.product-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:4px}
.product-price{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.product-price .amount{font-family:var(--font-ui);font-weight:700;font-size:15px;color:var(--charcoal-900)}
.product-price .unit{font-family:var(--font-body);font-size:12.5px;color:var(--ink-700)}
.product-actions{display:flex;align-items:center;gap:10px}
.btn-buy{background:var(--green-900);color:var(--cream-50);font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;border-radius:999px;cursor:pointer;transition:background-color .18s;display:inline-flex;align-items:center;border:0}
.btn-buy:hover{background:var(--green-700)}
.btn-inside{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-900);background:transparent;border:2px solid var(--line-200);padding:10px 18px;border-radius:999px;cursor:pointer;transition:border-color .18s}
.btn-inside:hover{border-color:var(--green-900)}
.product-back{position:absolute;inset:0;background:var(--green-900);border-radius:32px;backface-visibility:hidden;transform:rotateY(180deg);padding:clamp(20px,2vw,30px);display:flex;flex-direction:column;gap:14px;overflow-y:auto;visibility:hidden;pointer-events:none}
.product.is-flipped .product-back{visibility:visible;pointer-events:auto}
.product-back h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.15;color:var(--cream-50);margin:0}
.product-back .label{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mustard-500);margin:0}
.ingredient-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.ingredient-list li{font-family:var(--font-body);font-size:1.15rem;line-height:1.4;color:var(--cream-50);padding:8px 0;border-bottom:1px dotted rgba(253,248,237,.4);display:flex;align-items:center;gap:10px}
.ingredient-list .pct{font-family:var(--font-ui);font-weight:700;font-size:.85rem;background:var(--mustard-500);color:var(--charcoal-900);padding:3px 10px;border-radius:999px}
.minor-line{font-family:var(--font-body);font-size:.85rem;line-height:1.5;color:rgba(253,248,237,.75);margin:0;flex:1}
.btn-back{align-self:flex-start;font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-50);background:transparent;border:2px solid rgba(253,248,237,.4);padding:10px 18px;border-radius:999px;cursor:pointer}

/* obsessions */
#obsessions{background:var(--green-900);color:var(--cream-50);padding-left:0;padding-right:0}
.obsessions-head{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px);display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between}
.obsessions-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.05;color:var(--cream-50);margin:0;max-width:20ch}
.obsessions-head .kicker{color:var(--mustard-500);margin-bottom:18px}
.carousel-nav{display:flex;gap:12px}
.nav-btn{width:52px;height:52px;border-radius:999px;border:2px solid var(--line-200);background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .18s,border-color .18s}
.nav-btn:hover{border-color:currentColor}
#obsessions .nav-btn{border-color:rgba(253,248,237,.4)}
#obsessions .nav-btn:hover{background:rgba(253,248,237,.12);border-color:var(--cream-50)}
.scroller{display:flex;gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 clamp(20px,4vw,56px) 8px;cursor:grab;user-select:none}
.scroller::-webkit-scrollbar{height:0}
#obsessions .scroller{margin-top:clamp(36px,4.5vw,64px)}
.obsession-card{flex:0 0 clamp(240px,29vw,400px);min-width:0;scroll-snap-align:start}
.obsession-card .photo{width:100%;aspect-ratio:1/1;border-radius:32px;overflow:hidden;background:rgba(253,248,237,.08)}
.obsession-card img{width:100%;height:100%;object-fit:cover}
.obsession-card h3{font-family:var(--font-ui);font-weight:800;font-size:clamp(.9rem,1.3vw,1.2rem);letter-spacing:.05em;text-transform:uppercase;color:var(--mustard-500);margin:24px 0 8px}
.obsession-card p{font-family:var(--font-display);font-weight:500;font-size:clamp(1.25rem,1.9vw,1.75rem);line-height:1.2;color:var(--cream-50);margin:0}

/* ingredients */
.ingredients-head{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:flex-start;margin-bottom:clamp(40px,5vw,72px)}
.ingredients-head h2{flex:1 1 380px;font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,5vw,4.2rem);line-height:1.02;color:var(--green-900);margin:0;max-width:14ch}
.ingredients-head-copy{flex:1 1 340px;max-width:52ch}
.ingredients-head-copy p:not(.kicker){font-family:var(--font-body);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65;color:var(--ink-700);margin:0 0 18px}
.ingredients-grid{display:flex;flex-wrap:wrap;gap:clamp(12px,1.6vw,22px)}
.ingredient-item{flex:1 1 18%;min-width:min(140px,45%);margin:0}
.ingredient-item .photo{width:100%;height:clamp(190px,18vw,260px);border-radius:24px;overflow:hidden;background:var(--cream-200)}
.ingredient-item img{width:100%;height:100%;object-fit:cover}
.ingredient-item figcaption{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-900);margin-top:14px}

/* process */
#process{background:var(--cream-100)}
#process h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.05;color:var(--green-900);margin:0 0 clamp(36px,4.5vw,64px);max-width:18ch}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,36px)}
@media (max-width:899px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:559px){.process-grid{grid-template-columns:1fr}}
.process-step{display:flex;flex-direction:column;gap:18px}
.process-step-head{display:flex;align-items:center;gap:14px}
.process-num{font-family:var(--font-ui);font-weight:800;font-size:clamp(1.6rem,2.4vw,2.4rem);letter-spacing:-.03em;color:var(--gold-600)}
.process-rule{flex:1;height:1px;background:var(--line-200)}
.process-step .photo{width:100%;height:clamp(190px,19vw,260px);border-radius:24px;overflow:hidden;background:var(--cream-200)}
.process-step img{width:100%;height:100%;object-fit:cover}
.process-step h3{font-family:var(--font-ui);font-weight:800;font-size:clamp(.9rem,1.15vw,1.05rem);letter-spacing:.07em;text-transform:uppercase;color:var(--green-900);margin:0}
.process-step p{font-family:var(--font-body);font-size:1rem;line-height:1.55;color:var(--ink-700);margin:0}

/* why */
.why-grid{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,88px)}
.why-copy{flex:1 1 380px;min-width:300px}
.why-copy h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2.1rem,5.4vw,4.4rem);line-height:1.02;color:var(--green-900);margin:0 0 28px;max-width:14ch}
.why-copy p:not(.kicker){font-family:var(--font-body);font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.6;color:var(--ink-700);margin:0;max-width:40ch}
.principles{flex:1 1 420px;min-width:300px;display:flex;flex-direction:column}
.principle{display:flex;gap:clamp(14px,1.6vw,26px);padding:clamp(13px,1.4vw,18px) 0;border-top:1px solid var(--line-200)}
.principle .num{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--gold-600);padding-top:4px;flex:0 0 28px}
.principle h3{font-family:var(--font-ui);font-weight:800;font-size:clamp(.95rem,1.25vw,1.15rem);letter-spacing:.07em;text-transform:uppercase;color:var(--green-900);margin:0 0 6px}
.principle p{font-family:var(--font-body);font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.55;color:var(--ink-700);margin:0;max-width:44ch}

/* statement */
#statement{background:var(--green-900);color:var(--cream-50);text-align:center}
.statement-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.statement-inner h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2.6rem,8vw,6.5rem);line-height:.98;color:var(--cream-50);margin:0;max-width:16ch}
.statement-media{width:min(760px,100%);height:clamp(260px,34vw,460px);margin:clamp(32px,4vw,56px) 0;border-radius:40px;overflow:hidden;background:rgba(253,248,237,.08)}
.statement-media img{width:100%;height:100%;object-fit:cover}
.statement-inner p:not(.statement-emph){font-family:var(--font-body);font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.5;color:rgba(253,248,237,.82);margin:0 0 clamp(24px,3vw,40px);max-width:40ch}
.statement-emph{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:clamp(1.6rem,4vw,3rem);line-height:1.12;color:var(--mustard-500);margin:0;max-width:20ch}

/* moments */
#moments h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,3.8rem);line-height:1.04;color:var(--green-900);margin:0 0 clamp(36px,4.5vw,64px);max-width:20ch}
.moments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:719px){.moments-grid{grid-template-columns:1fr}}
.moment-card{position:relative;border-radius:32px;overflow:hidden;height:clamp(300px,30vw,420px)}
.moment-card img{width:100%;height:100%;object-fit:cover}
.moment-overlay{position:absolute;inset:auto 0 0 0;padding:clamp(20px,2.4vw,32px);background:linear-gradient(to top,rgba(15,71,37,.88),rgba(15,71,37,0));pointer-events:none}
.moment-overlay h3{font-family:var(--font-ui);font-weight:800;font-size:clamp(1rem,1.4vw,1.25rem);letter-spacing:.07em;text-transform:uppercase;color:var(--cream-50);margin:0 0 8px}
.moment-overlay p{font-family:var(--font-body);font-size:1rem;line-height:1.5;color:rgba(253,248,237,.88);margin:0 0 10px}
.moment-overlay .snack{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mustard-500);margin:0}

/* difference */
#difference{background:var(--cream-100)}
#difference h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,3.8rem);line-height:1.04;color:var(--green-900);margin:0 0 clamp(36px,4.5vw,64px);max-width:18ch}
.diff-grid{display:flex;flex-wrap:wrap;gap:clamp(20px,2.4vw,36px)}
.diff-col{flex:1 1 320px;min-width:280px;padding:clamp(28px,3vw,44px);border-radius:32px}
.diff-col.ordinary{border:1px dashed var(--line-200)}
.diff-col.zero{background:var(--green-900);color:var(--cream-50)}
.diff-label{font-family:var(--font-ui);font-weight:800;font-size:clamp(1.1rem,1.6vw,1.4rem);letter-spacing:.1em;text-transform:uppercase;margin:0 0 24px}
.diff-col.ordinary .diff-label{color:var(--ink-700);opacity:.55}
.diff-col.zero .diff-label{color:var(--mustard-500)}
.diff-list{display:flex;flex-direction:column;gap:14px}
.diff-col.ordinary .diff-list p{font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2;color:var(--ink-700);margin:0;text-decoration:line-through;text-decoration-thickness:1px;opacity:.55}
.diff-col.zero .diff-list p{font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.18;color:var(--cream-50);margin:0}
.diff-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(28px,3vw,40px)}
.diff-badges span{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--mustard-500);color:var(--charcoal-900);padding:8px 16px;border-radius:999px}
.diff-footer{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2;color:var(--green-900);margin:clamp(36px,4vw,56px) 0 0;max-width:24ch}

/* love / reviews */
#love{padding-left:0;padding-right:0}
.love-head{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px);display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between}
.love-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.8rem,4.2vw,3.4rem);line-height:1.06;color:var(--green-900);margin:0;max-width:26ch}
#love .scroller{margin-top:clamp(32px,4vw,56px)}
.review-card{flex:0 0 clamp(260px,30vw,400px);min-width:0;scroll-snap-align:start;margin:0;background:var(--white);border-radius:32px;padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:20px}
.review-card .stars{font-family:var(--font-ui);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--mustard-500);margin:0}
.review-card .quote{font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.3;color:var(--green-900);margin:0}
.review-card footer{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-700);margin-top:auto}

/* find */
#find{background:var(--cream-100)}
#find h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,3.8rem);line-height:1.04;color:var(--green-900);margin:0 0 14px}
#find>.wrap>p:first-child{margin:0 0 16px}
.find-sub{font-family:var(--font-body);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.55;color:var(--ink-700);margin:0 0 clamp(32px,4vw,56px);max-width:50ch}
.find-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.6vw,32px)}
@media (max-width:719px){.find-grid{grid-template-columns:1fr}}
.find-card{min-width:0;display:flex;flex-direction:column;border-radius:32px;overflow:hidden;background:var(--white)}
.find-card .photo{width:100%;aspect-ratio:4/3}
.find-card img{width:100%;height:100%;object-fit:cover}
.find-card-body{padding:clamp(24px,3vw,36px)}
.find-card-body h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.2;color:var(--green-900);margin:0 0 10px}
.find-card-body>p:not(.kicker){font-family:var(--font-body);font-size:clamp(.95rem,1.1vw,1.0625rem);line-height:1.5;color:var(--ink-700);margin:0 0 20px}
.find-footer{font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.4;color:var(--green-900);text-align:center;margin:clamp(32px,4vw,56px) 0 0}

/* stories */
.stories-head{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(32px,4vw,56px)}
.stories-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,3.8rem);line-height:1.04;color:var(--green-900);margin:0}
.story-hero{display:flex;flex-direction:column;gap:24px;margin-bottom:clamp(20px,2.4vw,32px);cursor:pointer;border:0;background:none;text-align:left;padding:0;width:100%}
.story-hero .photo{width:100%;height:clamp(280px,34vw,500px);border-radius:32px;overflow:hidden;background:var(--cream-200)}
.story-hero img{width:100%;height:100%;object-fit:cover}
.story-hero-foot{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between}
.story-hero-foot .txt{max-width:46ch}
.story-hero-foot h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.1;color:var(--green-900);margin:0 0 12px}
.story-hero-foot p{font-family:var(--font-body);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.55;color:var(--ink-700);margin:0}
.read-story{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-900);border-bottom:2px solid var(--green-900);padding-bottom:4px;white-space:nowrap}
.stories-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:719px){.stories-grid{grid-template-columns:1fr}}
.story-card{min-width:0;display:flex;flex-direction:column;gap:18px;cursor:pointer;border:0;background:none;text-align:left;padding:0;width:100%}
.story-card .photo{width:100%;height:clamp(220px,22vw,300px);border-radius:28px;overflow:hidden;background:var(--cream-200)}
.story-card img{width:100%;height:100%;object-fit:cover}
.story-card h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.2rem,1.9vw,1.6rem);line-height:1.16;color:var(--green-900);margin:0}
.story-card p{font-family:var(--font-body);font-size:1rem;line-height:1.55;color:var(--ink-700);margin:0}

/* story modal */
.story-modal{position:fixed;inset:0;z-index:9999;background:rgba(20,18,10,.6);display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px)}
.story-modal.is-open{display:flex}
.story-modal-card{max-width:640px;width:100%;max-height:86vh;overflow-y:auto;background:var(--cream-50);border-radius:32px;padding:clamp(28px,4vw,48px);position:relative}
.story-modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:999px;border:2px solid var(--line-200);background:var(--cream-50);color:var(--green-900);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.story-modal-media{width:100%;height:clamp(180px,26vw,280px);border-radius:24px;overflow:hidden;background:var(--cream-200);margin-bottom:24px}
.story-modal-media img{width:100%;height:100%;object-fit:cover}
.story-modal-card h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.15;color:var(--green-900);margin:0 0 16px}
.story-modal-card p{font-family:var(--font-body);font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.65;color:var(--ink-700);margin:0;white-space:pre-line}

/* faq */
#faq{background:var(--cream-100)}
.faq-grid{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,88px)}
.faq-head{flex:1 1 300px;min-width:260px}
.faq-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.04;color:var(--green-900);margin:0;max-width:14ch}
.faq-list{flex:1 1 520px;min-width:300px}
.faq-item{border-top:1px solid var(--line-200)}
.faq-q{width:100%;background:none;border:0;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(18px,2vw,24px) 0;font-family:var(--font-ui);font-weight:600;font-size:clamp(1rem,1.25vw,1.125rem);color:var(--green-900)}
.faq-q .icon{font-family:var(--font-ui);font-weight:400;font-size:22px;line-height:1;color:var(--gold-600);flex:0 0 auto;transition:transform .2s}
.faq-item.is-open .faq-q .icon{transform:rotate(45deg)}
.faq-a{display:none;padding:0 0 clamp(20px,2.2vw,28px)}
.faq-item.is-open .faq-a{display:block}
.faq-a p{font-family:var(--font-body);font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.6;color:var(--ink-700);margin:0;max-width:62ch}

/* club */
#club{background:var(--green-900);color:var(--cream-50);text-align:center}
.club-inner{max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.club-inner h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:1.02;color:var(--cream-50);margin:0 0 24px}
.club-inner p{font-family:var(--font-body);font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.6;color:rgba(253,248,237,.78);margin:0 0 clamp(28px,3.4vw,44px);max-width:52ch}
.club-form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:100%}
.club-form input{flex:1 1 320px;min-width:240px;font-family:var(--font-body);font-size:1.0625rem;color:var(--cream-50);background:rgba(253,248,237,.08);border:1px solid rgba(253,248,237,.32);border-radius:999px;padding:17px 26px;outline:none}
.btn-join{font-family:var(--font-ui);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-900);background:var(--mustard-500);border:0;border-radius:999px;padding:17px 34px;cursor:pointer;transition:background-color .18s}
.btn-join:hover{background:var(--mustard-300)}
.club-note{font-family:var(--font-ui);font-weight:600;font-size:12px;letter-spacing:.06em;color:rgba(253,248,237,.75);margin:16px 0 0;min-height:18px}
.club-note.ok{color:var(--mustard-500)}

/* contact */
.contact-grid{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:stretch}
.contact-copy{flex:1 1 420px;min-width:300px;display:flex;flex-direction:column;justify-content:center}
.contact-copy h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.04;color:var(--green-900);margin:0 0 24px;max-width:20ch}
.contact-copy>p:not(.kicker){font-family:var(--font-body);font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.6;color:var(--ink-700);margin:0 0 28px;max-width:46ch}
.contact-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,3vw,40px)}
.contact-media{flex:1 1 380px;min-width:300px;min-height:clamp(320px,36vw,520px);position:relative}
.contact-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:32px}

/* footer */
.site-footer{background:var(--green-900);color:var(--cream-50);padding:clamp(56px,7vw,96px) clamp(20px,4vw,56px) 32px}
.footer-top{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,80px);justify-content:space-between;padding-bottom:clamp(40px,5vw,72px)}
.footer-brand{flex:1 1 300px;min-width:260px}
.footer-brand img{height:88px;width:auto;filter:brightness(0) invert(1)}
.footer-cols{flex:2 1 480px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
@media (max-width:899px){.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.footer-col h3{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mustard-500);margin:0 0 18px}
.footer-col-links{display:flex;flex-direction:column;gap:12px}
.footer-col-links a{font-family:var(--font-body);font-size:1rem;color:rgba(253,248,237,.8)}
.footer-col-links a:hover{color:var(--cream-50)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;border-top:1px solid rgba(253,248,237,.2);padding-top:26px}
.footer-bottom p{font-family:var(--font-ui);font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(253,248,237,.6);margin:0}
.footer-legal{display:flex;flex-wrap:wrap;gap:24px}
.footer-legal a{font-family:var(--font-ui);font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(253,248,237,.6)}
.footer-legal a:hover{color:var(--cream-50)}

[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.7,.3,1),transform .8s cubic-bezier(.22,.7,.3,1)}
[data-reveal].is-visible{opacity:1;transform:none}
