@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;700;800&display=swap');

:root{
  --green:#102c21;
  --deep:#071811;
  --cream:#fff7ea;
  --paper:#fffdf7;
  --gold:#bd8d35;
  --gold2:#f0d17c;
  --ink:#201912;
  --muted:#74685c;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:Montserrat,Arial,sans-serif;
  line-height:1.65;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  background:url("assets/pattern.svg") center/900px repeat;
  opacity:.12;
  pointer-events:none;
  z-index:-1;
}
a{color:inherit}
.header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  height:84px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 5vw;
  background:rgba(8,26,18,.88);
  color:white;
  border-bottom:1px solid rgba(240,209,124,.25);
  backdrop-filter:blur(16px);
}
.logo{text-decoration:none;text-align:center;line-height:1}
.logo span{
  display:block;
  font-family:Cinzel,serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:32px;
  color:var(--gold2);
}
.logo small{
  display:block;
  margin-top:2px;
  font-family:Cinzel,serif;
  letter-spacing:.48em;
  font-size:13px;
  text-transform:uppercase;
}
.nav{display:flex;gap:21px}
.nav a{
  text-decoration:none;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.1em;
  font-weight:800;
}
.menu{display:none;background:none;border:0;width:42px}
.menu i{display:block;height:2px;background:white;margin:7px 0}

h1,h2,h3{
  font-family:"Cormorant Garamond",serif;
  line-height:1;
  margin:0 0 22px;
}
h1{font-size:clamp(54px,7.8vw,118px)}
h2{font-size:clamp(40px,5.5vw,78px)}
h3{font-size:32px}
.eyebrow{
  margin:0 0 16px;
  color:var(--gold2);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.22em;
}
.eyebrow.dark{color:var(--gold)}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 24px;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
}
.btn.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1f1608}
.btn.ghost{border:1px solid rgba(255,255,255,.55);color:white}
.btn.green{background:var(--green);color:white}
.full{width:100%}

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  color:white;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,18,12,.86) 0%,rgba(6,18,12,.62) 44%,rgba(6,18,12,.08) 100%),
    url("assets/hero.jpg") center/cover no-repeat;
}
.hero-copy{
  position:relative;
  z-index:2;
  max-width:790px;
  padding:150px 6vw 90px;
}
.hero-copy p:not(.eyebrow){font-size:20px;max-width:620px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

.story{
  padding:110px 6vw;
  display:grid;
  grid-template-columns:1fr .86fr;
  gap:62px;
  align-items:center;
  background:var(--paper);
}
.story-image{
  height:720px;
  overflow:hidden;
  box-shadow:0 32px 90px rgba(16,44,33,.16);
}
.story-image img,.plants-image img,.fragrance-image img,.details img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.story-text p{font-size:20px}

.world{
  padding:108px 6vw;
  background:
    linear-gradient(rgba(255,247,234,.92),rgba(255,247,234,.88)),
    url("assets/pattern.svg") center/800px;
}
.world-head{max-width:820px;margin-bottom:46px}
.world-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.world-grid article{
  min-height:310px;
  padding:34px;
  background:rgba(255,253,247,.88);
  border:1px solid rgba(189,141,53,.28);
  box-shadow:0 24px 70px rgba(16,44,33,.08);
}
.world-grid span{color:var(--gold);font-weight:900;letter-spacing:.16em}
.world-grid p{color:var(--muted)}

.quote{
  position:relative;
  min-height:78vh;
  display:flex;
  align-items:center;
  color:white;
  overflow:hidden;
}
.quote-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,18,12,.78),rgba(6,18,12,.22)),
    url("assets/salotto.jpg") center/cover no-repeat;
}
.quote-text{
  position:relative;
  z-index:2;
  max-width:720px;
  padding:90px 6vw;
}
.quote-text p:not(.eyebrow){font-size:20px}

.plants{
  padding:110px 6vw;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:62px;
  align-items:center;
  background:var(--paper);
}
.plants-text p{font-size:20px}
.plants-image{
  height:760px;
  overflow:hidden;
  box-shadow:0 32px 90px rgba(16,44,33,.18);
}

.fragrance{
  padding:110px 6vw;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:62px;
  align-items:center;
  color:white;
  background:var(--deep);
}
.fragrance-image{height:760px;overflow:hidden}
.fragrance-text p{font-size:20px}

.details{
  padding:110px 6vw;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:62px;
  align-items:start;
  background:
    linear-gradient(rgba(255,247,234,.90),rgba(255,247,234,.86)),
    url("assets/pattern.svg") center/820px;
}
.details p{font-size:20px}
.details-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.details figure{
  margin:0;
  height:560px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(16,44,33,.12);
}

.season{
  position:relative;
  min-height:76vh;
  display:flex;
  align-items:center;
  color:white;
  overflow:hidden;
}
.season-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,18,12,.84),rgba(6,18,12,.35)),
    url("assets/pattern.jpg") center/cover no-repeat;
}
.season-text{
  position:relative;
  z-index:2;
  max-width:760px;
  padding:90px 6vw;
}
.season-text p{font-size:20px}

.contact{
  padding:110px 6vw;
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:62px;
  background:var(--paper);
}
.contact p{font-size:19px}
.contact-card{
  padding:38px;
  background:var(--cream);
  border:1px solid rgba(189,141,53,.28);
}
.contact-card a{color:var(--green);font-weight:900}

footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:28px 6vw;
  background:#06130e;
  color:rgba(255,253,247,.78);
  font-size:14px;
  flex-wrap:wrap;
}
.seo-line{
  flex-basis:100%;
  opacity:.55;
  font-size:12px;
}

@media(max-width:950px){
  .header{height:74px}
  .menu{display:block}
  .nav{
    display:none;
    position:absolute;
    top:74px;left:0;right:0;
    padding:24px 6vw;
    flex-direction:column;
    align-items:flex-start;
    background:rgba(8,26,18,.98);
  }
  .nav.open{display:flex}
  .story,.world-grid,.plants,.fragrance,.details,.contact{
    grid-template-columns:1fr;
  }
  .details-grid{grid-template-columns:1fr}
  .hero-copy{padding-top:125px}
  .story,.world,.plants,.fragrance,.details,.contact{padding:72px 6vw}
  .story-image,.plants-image,.fragrance-image,.details figure{height:520px}
  footer{flex-direction:column}
}
