*{box-sizing:border-box}
:root{
  --forest:#173c2c;
  --deep:#0d2118;
  --leaf:#55704d;
  --sage:#a9b39a;
  --cream:#f3efe5;
  --soil:#6d5945;
  --sun:#d89b45;
  --ink:#172019;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{width:100%;display:block}
button{font:inherit}
.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sun-glow{position:fixed;width:46vw;height:46vw;border-radius:50%;right:-15vw;top:-10vw;background:#d4d9cd;filter:blur(110px);opacity:.28;z-index:-1;transition:background 1.5s,transform 1.8s,opacity 1.5s}
.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:white;border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(rgba(0,0,0,.45),transparent);transition:.35s}
.site-header.scrolled{height:64px;background:rgba(18,42,30,.92);backdrop-filter:blur(10px)}
.brand{display:flex;flex-direction:column}.brand>span,.footer-brand{font-family:"Libre Caslon Display",serif;font-size:1.8rem;letter-spacing:.11em}.brand small,footer small{font-size:.52rem;letter-spacing:.18em;margin-top:4px}
nav{display:flex;gap:26px;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em}
.header-actions{display:flex;align-items:center;gap:12px}.sound-toggle{border:0;background:none;color:white;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.64rem;text-transform:uppercase;letter-spacing:.13em}.sound-dot{width:10px;height:10px;border:1px solid white;border-radius:50%}.sound-toggle.on .sound-dot{background:#c7d9a8;box-shadow:0 0 0 7px rgba(199,217,168,.12)}.reserve-mini{border:1px solid rgba(255,255,255,.6);padding:10px 14px;font-size:.64rem;text-transform:uppercase;letter-spacing:.16em}
.day-section{position:relative;min-height:100vh;overflow:hidden}
.hero{display:flex;align-items:flex-end;padding:13vh 6vw 9vh;color:white}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05);animation:slowMove 20s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,13,.86),rgba(4,21,13,.3) 58%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.54),transparent 62%)}
.hero-copy{position:relative;z-index:2;max-width:900px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.25em;font-size:.66rem;font-weight:600}
.eyebrow{color:#dae0bd}.section-label{color:var(--leaf)}
h1,h2,h3{font-family:"Libre Caslon Display",serif;font-weight:400;margin-top:0}
h1{font-size:clamp(4.3rem,9vw,9.5rem);line-height:.82;letter-spacing:-.045em;margin-bottom:18px}
.subhead{font-family:"Libre Caslon Display";font-size:clamp(1.6rem,3vw,3.2rem);margin-bottom:32px;color:#d9dfc8}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.primary-cta{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid currentColor;padding:14px 0;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem}.primary-cta span{transition:.3s}.primary-cta:hover span{transform:translate(5px,-5px)}.secondary-link{font-size:.72rem;color:rgba(255,255,255,.68)}
.award-pill{position:absolute;right:4vw;bottom:6vh;z-index:2;background:rgba(243,239,229,.92);color:var(--forest);padding:14px 18px;font-size:.63rem;text-transform:uppercase;letter-spacing:.12em}
.statement{padding:15vh 7vw;background:var(--cream);display:flex;flex-direction:column;justify-content:center}.statement h2,.journey h2,.dish-copy h2,.breakfast h2,.fermentation h2,.recognition h2,.final-copy h2{font-size:clamp(3.6rem,7.4vw,8rem);line-height:.92;letter-spacing:-.04em}.leaf-line{width:140px;height:1px;background:var(--leaf);margin-bottom:28px;position:relative}.leaf-line:after{content:"❧";position:absolute;right:-16px;top:-11px;color:var(--leaf)}
.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:8vh;max-width:1080px}.statement-grid p{font-size:1.05rem;line-height:1.9;color:#5a6259}
.people-poster{color:white;display:flex;align-items:flex-end;padding:10vh 6vw}.people-poster>img{position:absolute;inset:0;height:100%;object-fit:cover}.poster-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,25,15,.88),rgba(7,25,15,.12) 70%)}.poster-copy{position:relative;z-index:2;max-width:800px}.poster-copy h2{font-size:clamp(4rem,8vw,8.8rem);line-height:.86}.poster-copy p:last-child{max-width:560px;line-height:1.8;color:rgba(255,255,255,.72)}.people-note{position:absolute;right:4vw;bottom:5vh;z-index:2;max-width:260px;font-size:.72rem;line-height:1.6;color:rgba(255,255,255,.68)}
.journey{padding:13vh 6vw;background:#e6eadf}.journey-copy{max-width:820px}.journey-track{margin-top:10vh;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(23,60,44,.25)}.journey-track article{padding:25px 24px 60px;border-right:1px solid rgba(23,60,44,.18);min-height:250px}.journey-track article:last-child{border-right:0}.journey-track span{font-size:.62rem;letter-spacing:.18em;color:var(--leaf)}.journey-track strong{display:block;font-family:"Libre Caslon Display";font-size:2rem;margin:30px 0 12px}.journey-track p{font-size:.8rem;line-height:1.7;color:#687166}
.dish-feature{display:grid;grid-template-columns:52% 48%;background:var(--forest);color:white}.dish-image-wrap{position:relative}.dish-image-wrap img{height:100vh;object-fit:cover}.dish-badge{position:absolute;left:24px;bottom:24px;background:var(--cream);color:var(--forest);padding:12px 15px;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem}.dish-copy{padding:11vh 6vw;display:flex;flex-direction:column;justify-content:center}.dish-copy>p:not(.eyebrow){line-height:1.85;color:rgba(255,255,255,.68);max-width:480px}.menu-links{margin-top:42px;border-top:1px solid rgba(255,255,255,.22)}.menu-links a{display:flex;justify-content:space-between;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.22);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}
.breakfast{display:grid;grid-template-columns:44% 56%;background:#faf8f1}.breakfast-copy{padding:12vh 6vw;display:flex;flex-direction:column;justify-content:center}.breakfast-copy>p:not(.eyebrow){line-height:1.8;color:#667064}.dark-cta{color:var(--forest)}.menu-preview{padding:8vh 4vw;display:grid;place-items:center}.menu-preview img{max-height:84vh;width:auto;box-shadow:0 30px 70px rgba(55,62,48,.15)}
.fermentation{background:#1c291f;color:white;display:flex;align-items:center;padding:12vh 7vw}.ferment-orb{position:absolute;width:44vw;height:44vw;right:-8vw;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(210,181,96,.7),rgba(102,68,32,.12) 50%,transparent 70%);filter:blur(8px);animation:float 8s ease-in-out infinite}.fermentation-copy{position:relative;z-index:2;max-width:820px}.fermentation-copy>p:not(.eyebrow){line-height:1.9;max-width:560px;color:rgba(255,255,255,.68)}.ferment-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.ferment-tags span{border:1px solid rgba(255,255,255,.28);padding:10px 14px;border-radius:999px;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em}
.recognition{display:grid;grid-template-columns:58% 42%;background:#f3efe5}.recognition-copy{padding:12vh 6vw;display:flex;flex-direction:column;justify-content:center}.recognition-copy>p:last-child{color:#5e675e}.recognition>img{height:100vh;object-fit:cover}
.final-cta{display:flex;align-items:center;justify-content:center;color:white;text-align:center}.final-cta>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.65)}.night-overlay{position:absolute;inset:0;background:linear-gradient(rgba(7,19,12,.55),rgba(2,13,8,.9))}.final-copy{position:relative;z-index:2;max-width:1050px;padding:8vh 5vw}.final-copy>p:not(.eyebrow){color:rgba(255,255,255,.7)}.light-cta{color:#f4f1e6}
footer{background:#0b1b12;color:rgba(255,255,255,.62);padding:55px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:.68rem}.concept-note{text-align:right}.footer-brand{color:white}
.reveal{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1s,transform 1s,filter 1s}.reveal.visible{opacity:1;transform:none;filter:none}
@keyframes slowMove{to{transform:scale(1.06) translate(-1%,1%)}}@keyframes float{50%{transform:translateY(-28px) scale(1.04)}}
@media(max-width:900px){
  nav{display:none}.site-header{padding:0 20px}.sound-label{display:none}
  .hero{padding:22vh 24px 8vh}.award-pill{left:24px;right:auto;bottom:22px}
  .statement{padding:12vh 24px}.statement-grid{grid-template-columns:1fr;gap:20px}
  .people-poster{padding:10vh 24px}.people-note{display:none}
  .journey{padding:12vh 24px}.journey-track{grid-template-columns:1fr}.journey-track article{border-right:0;border-bottom:1px solid rgba(23,60,44,.18);min-height:auto}
  .dish-feature,.breakfast,.recognition{grid-template-columns:1fr}.dish-image-wrap img,.recognition>img{height:62vh}.dish-copy,.breakfast-copy,.recognition-copy{padding:10vh 24px}.menu-preview{padding:30px 18px 80px}
  .fermentation{padding:12vh 24px}.ferment-orb{width:90vw;height:90vw;right:-45vw}
  footer{grid-template-columns:1fr;gap:25px}.concept-note{text-align:left}
}
@media(max-width:560px){
  h1{font-size:4rem}.statement h2,.journey h2,.dish-copy h2,.breakfast h2,.fermentation h2,.recognition h2,.final-copy h2{font-size:3.65rem}
  .reserve-mini{display:none}.hero-actions{display:block}.secondary-link{display:block;margin-top:24px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}}

/* Cultiva v2 — belonging, seasonality and gatherings */
.handwritten-note{
  position:absolute;
  z-index:2;
  right:5vw;
  top:20vh;
  font-family:"Caveat",cursive;
  font-size:clamp(1.5rem,2.5vw,2.7rem);
  line-height:1.05;
  color:#f5efd8;
  transform:rotate(-4deg);
  text-align:center;
}

.cycle{
  padding:13vh 6vw;
  background:#e9ecdf;
  display:grid;
  grid-template-columns:38% 62%;
  gap:7vw;
  align-items:center;
}

.cycle-intro p:last-child{
  max-width:430px;
  color:#687166;
  line-height:1.8;
}

.life-sequence{
  position:relative;
  min-height:62vh;
  display:grid;
  place-items:center;
}

.life-step{
  position:absolute;
  inset:auto 0;
  opacity:0;
  transform:translateY(30px) scale(.98);
  filter:blur(7px);
  transition:opacity .7s ease,transform .7s ease,filter .7s ease;
  text-align:center;
}

.life-step.active{
  opacity:1;
  transform:none;
  filter:none;
}

.life-step span{
  display:block;
  font-family:"Libre Caslon Display",serif;
  font-size:clamp(5.5rem,12vw,13rem);
  line-height:.8;
  color:var(--forest);
}

.life-step small{
  display:block;
  margin-top:26px;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:#687166;
}

.sequence-progress{
  grid-column:2;
  height:2px;
  background:rgba(23,60,44,.15);
  overflow:hidden;
}
.sequence-progress span{
  display:block;
  width:12.5%;
  height:100%;
  background:var(--forest);
  transition:width .5s ease;
}

.menu-links a{
  display:grid;
  grid-template-columns:1fr 1fr 28px;
  align-items:center;
}
.menu-links a strong{
  font-family:"Libre Caslon Display",serif;
  font-size:1.55rem;
  font-weight:400;
}
.menu-links a small{
  color:rgba(255,255,255,.58);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.gather{
  padding:12vh 5vw;
  background:#f0eadf;
}
.gather-heading{
  max-width:820px;
  margin-bottom:8vh;
}
.gather-heading h2{
  font-size:clamp(4rem,8vw,8.5rem);
  line-height:.88;
  margin-bottom:0;
}
.gather-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.event-card{
  position:relative;
  min-height:72vh;
  overflow:hidden;
  color:white;
}
.event-card img{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
  filter:saturate(.75);
  transition:transform 1.1s ease,filter .7s ease;
}
.event-card:after{
  content:"";
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(transparent,rgba(7,21,13,.9));
}
.event-card:hover img{
  transform:scale(1.04);
  filter:saturate(.95);
}
.event-card>div{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:28px;
}
.event-card span{
  font-size:.62rem;
  letter-spacing:.18em;
}
.event-card h3{
  font-size:clamp(2rem,3vw,3.8rem);
  line-height:.95;
  margin:18px 0 12px;
}
.event-card p{
  max-width:330px;
  color:rgba(255,255,255,.7);
  line-height:1.7;
}

.signature-cloud{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.signature-cloud span{
  position:absolute;
  font-family:"Caveat",cursive;
  font-size:clamp(1.3rem,2vw,2.4rem);
  color:rgba(255,255,255,.15);
}
.signature-cloud span:nth-child(1){left:8%;top:18%;transform:rotate(-8deg)}
.signature-cloud span:nth-child(2){left:26%;top:10%;transform:rotate(5deg)}
.signature-cloud span:nth-child(3){right:18%;top:17%;transform:rotate(-4deg)}
.signature-cloud span:nth-child(4){right:5%;top:36%;transform:rotate(8deg)}
.signature-cloud span:nth-child(5){left:10%;bottom:20%;transform:rotate(6deg)}
.signature-cloud span:nth-child(6){left:28%;bottom:10%;transform:rotate(-7deg)}
.signature-cloud span:nth-child(7){right:26%;bottom:12%;transform:rotate(4deg)}
.signature-cloud span:nth-child(8){right:8%;bottom:24%;transform:rotate(-5deg)}

@media(max-width:900px){
  .handwritten-note{display:none}
  .cycle{grid-template-columns:1fr;padding:11vh 24px}
  .sequence-progress{grid-column:1}
  .life-sequence{min-height:46vh}
  .gather{padding:10vh 18px}
  .gather-grid{grid-template-columns:1fr}
  .event-card{min-height:62vh}
}

@media(max-width:560px){
  .life-step span{font-size:5.4rem}
  .gather-heading h2{font-size:3.8rem}
}
