
/* ── RESET ── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

/* ── BRAND TOKENS ── */
:root{
  --green:#2D4A2D;
  --green-dark:#1C301C;
  --green-mid:#3D6B3D;
  --cream:#F5F0E8;
  --cream-dark:#EDE6D6;
  --linen:#FAF7F2;
  --white:#FFFFFF;
  --charcoal:#1A1A1A;
  --text:#2A2A2A;
  --muted:#6B6150;
  --border:#D8CEB8;
}

body{font-family:'Futura','Century Gothic','Trebuchet MS',sans-serif;background:var(--linen);color:var(--text);line-height:1.6}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:var(--green-dark);
  border-bottom:2px solid rgba(245,240,232,0.15);
  padding:0 48px;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;
}
.nav-logo{
  display:flex;align-items:center;gap:14px;cursor:pointer;text-decoration:none;overflow:visible;
}
.nav-e{display:none}
.nav-wordmark{
  color:var(--cream);
  font-size:11px;letter-spacing:4px;text-transform:uppercase;font-weight:500;
  border-left:1px solid rgba(245,240,232,0.3);
  padding-left:14px;line-height:1.3;
}
.nav-wordmark span{display:block;font-size:9px;color:rgba(245,240,232,0.5);letter-spacing:3px;margin-top:2px}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center}
.nav-links a{
  color:rgba(245,240,232,0.75);text-decoration:none;
  font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:500;
  cursor:pointer;transition:color 0.2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--cream)}
.nav-links .nav-cta-unused{display:none}

/* ── PAGES ── */
.page{display:block;padding-top:68px}


/* ── HERO ── */
.hero{
  position:relative;height:90vh;min-height:580px;
  background:url('../img/hero-emeril.jpg') center top/cover no-repeat;
  display:flex;align-items:flex-end;justify-content:flex-end;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to left,
    rgba(22,32,26,0.78) 0%,
    rgba(22,32,26,0.62) 30%,
    rgba(22,32,26,0.22) 58%,
    rgba(22,32,26,0.04) 80%);
}
.hero-content{
  position:relative;z-index:2;
  padding:0 72px max(22px,calc(10vh - 75px)) 32px;
  max-width:min(880px,62vw);width:100%;
}
.hero-eyebrow{
  font-size:11px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(245,240,232,0.7);margin-bottom:20px;font-weight:500;
}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(27px,2.9vw,48px);
  font-weight:700;color:var(--cream);line-height:1.06;
  margin-bottom:20px;max-width:100%;
  text-shadow:0 2px 18px rgba(14,22,16,0.5);
}
.hero-sub{
  font-size:16px;color:rgba(245,240,232,0.9);
  max-width:560px;line-height:1.7;margin-bottom:32px;letter-spacing:0.3px;
  text-shadow:0 1px 12px rgba(14,22,16,0.5);
}
.btn-primary{
  display:inline-block;padding:15px 40px;min-height:44px;
  background:var(--cream);color:var(--green-dark);
  font-size:13px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;
  text-decoration:none;cursor:pointer;border:none;
  transition:background 0.2s;
}
.btn-primary:hover{background:var(--cream-dark)}
.btn-ghost{
  display:inline-block;padding:14px 36px;
  border:1.5px solid rgba(245,240,232,0.5);
  color:var(--cream);
  font-size:13px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;
  text-decoration:none;cursor:pointer;
  margin-left:12px;transition:border-color 0.2s,background 0.2s;
}
.btn-ghost:hover{border-color:var(--cream);background:rgba(245,240,232,0.08)}

/* ── SECTIONS ── */
.section{padding:88px 72px}
.section-inner{max-width:1180px;margin:0 auto}
.section-green{background:var(--green-dark);}
.section-cream{background:var(--cream-dark)}
.section-white{background:var(--white)}

.eyebrow{
  font-size:10px;letter-spacing:5px;text-transform:uppercase;
  color:var(--green-mid);font-weight:600;margin-bottom:14px;
}
.eyebrow-light{color:rgba(245,240,232,0.55)}
.section-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(28px,3vw,44px);
  font-weight:700;color:var(--charcoal);line-height:1.15;
  margin-bottom:16px;
}
.section-title-light{color:var(--cream)}
.rule{width:40px;height:2px;background:var(--green-mid);margin-bottom:40px}
.rule-light{background:rgba(245,240,232,0.4)}

/* ── EPISODE GRID ── */
.ep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;margin-top:48px}
.ep-card{position:relative;overflow:hidden;cursor:pointer;}
.ep-card img{width:100%;height:260px;object-fit:cover;display:block;transition:transform 0.5s}
.ep-card:hover img{transform:scale(1.04)}
.ep-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(28,48,28,0.92) 0%,transparent 55%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px 20px;
}
.ep-season{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(245,240,232,0.6);margin-bottom:6px}
.ep-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--cream);line-height:1.25}
.ep-desc{font-size:12px;color:rgba(245,240,232,0.7);margin-top:6px;line-height:1.5}

/* ── RECIPE GRID ── */
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--border)}
.recipe-card{
  background:var(--white);padding:36px 28px;
  cursor:pointer;transition:background 0.2s;
}
.recipe-card:hover{background:var(--linen)}
.recipe-cat{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--green-mid);font-weight:600;margin-bottom:10px}
.recipe-name{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--charcoal);margin-bottom:10px;line-height:1.25}
.recipe-body{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:20px}
.recipe-meta{display:flex;gap:20px;padding-top:16px;border-top:1px solid var(--border)}
.recipe-meta span{font-size:11px;color:var(--muted);letter-spacing:1px}
.recipe-meta strong{color:var(--charcoal);display:block;font-size:13px}

/* ── STATS STRIP ── */
.stats-strip{
  background:var(--green-dark);
  padding:56px 72px;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;text-align:center;
}
.stat-num{
  font-family:'Playfair Display',serif;
  font-size:48px;font-weight:700;color:var(--cream);
  line-height:1;margin-bottom:8px;
}
.stat-lbl{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(245,240,232,0.55)}

/* ── PLATFORM STRIP ── */
.platform-strip{
  background:var(--cream-dark);padding:48px 72px;
  text-align:center;
}
.platform-strip p{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:28px;font-weight:600}
.platform-pills{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.platform-tile{
  display:flex;align-items:center;justify-content:center;
  background:var(--white);border:1px solid var(--border);
  padding:14px 18px;height:82px;min-width:140px;
  text-decoration:none;transition:box-shadow 0.2s,transform 0.2s;
  cursor:pointer;
}
.platform-tile:hover{box-shadow:0 4px 16px rgba(0,0,0,0.1);transform:translateY(-2px)}
.platform-tile img{max-height:48px;max-width:140px;width:auto;height:auto;object-fit:contain;display:block}
.platform-tile span{font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--green-dark);font-weight:700}

/* ── ABOUT PAGE ── */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:0}
.about-img{
  background:url('../img/about-emeril.jpg') center/cover no-repeat;
  min-height:560px;
}
.about-text{background:var(--green-dark);padding:80px 64px;display:flex;flex-direction:column;justify-content:center}
.about-text p{font-size:15px;color:rgba(245,240,232,0.75);line-height:1.9;margin-bottom:20px}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(245,240,232,0.1);margin-top:40px}
.about-stat{background:var(--green-dark);padding:28px 20px;text-align:center}
.about-stat-num{font-family:'Playfair Display',serif;font-size:36px;font-weight:700;color:var(--cream)}
.about-stat-lbl{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(245,240,232,0.45);margin-top:4px}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:960px;margin:0 auto}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:600}
.form-group input,.form-group textarea,.form-group select{
  width:100%;background:var(--white);
  border:1px solid var(--border);
  padding:12px 16px;font-size:14px;
  font-family:inherit;color:var(--text);
  outline:none;transition:border 0.2s;
}
.form-group input:focus,.form-group textarea:focus{border-color:var(--green-mid)}
.form-group textarea{min-height:120px;resize:vertical}
.contact-info-block{margin-bottom:28px}
.contact-info-block h4{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--green-mid);margin-bottom:6px}
.contact-info-block p{font-size:14px;color:var(--muted)}

/* ── ADS PAGE ── */
.ads-file-card{background:var(--white);border:1px solid var(--border);padding:40px;margin-bottom:24px}
.ads-file-card h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--charcoal);margin-bottom:8px}
.ads-file-card .sub{font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.7}
.file-box{
  background:var(--cream-dark);border:1px dashed var(--border);
  padding:24px 28px;font-family:'Courier New',monospace;
  font-size:12px;color:var(--text);line-height:2;
  word-break:break-all;white-space:pre-wrap;
}
.file-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  padding:10px 24px;background:var(--green-dark);color:var(--cream);
  font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;
  text-decoration:none;cursor:pointer;
}
.dist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--border);margin-top:24px}
.dist-item{background:var(--linen);padding:20px;text-align:center}
.dist-name{font-size:13px;font-weight:600;color:var(--charcoal);letter-spacing:1px}
.dist-type{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:3px}

/* ── PAGE HERO (interior) ── */
.page-hero{
  background:var(--green-dark);
  padding:64px 72px 56px;
  border-bottom:1px solid rgba(245,240,232,0.1);
}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,52px);font-weight:700;color:var(--cream);margin-bottom:12px}
.page-hero p{font-size:15px;color:rgba(245,240,232,0.65);max-width:520px;line-height:1.7}

/* ── FOOTER ── */
footer{background:var(--green-dark);padding:64px 72px 32px;border-top:1px solid rgba(245,240,232,0.08)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(245,240,232,0.08);margin-bottom:32px}
.footer-logo{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--cream);margin-bottom:14px}
.footer-tagline{font-size:12px;color:rgba(245,240,232,0.45);line-height:1.8;max-width:280px}
.footer-col h4{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:rgba(245,240,232,0.4);margin-bottom:18px}
.footer-col a{display:block;font-size:13px;color:rgba(245,240,232,0.55);text-decoration:none;margin-bottom:10px;cursor:pointer;transition:color 0.2s}
.footer-col a:hover{color:var(--cream)}
.footer-bottom{display:flex;justify-content:space-between;font-size:11px;color:rgba(245,240,232,0.3);letter-spacing:1px}
.marquee-credit{font-size:11px;color:rgba(245,240,232,0.25);letter-spacing:1px}

@media(max-width:768px){
  nav{padding:0 24px}
  .section{padding:56px 24px}
  .stats-strip{grid-template-columns:repeat(2,1fr);padding:40px 24px}
  .about-split{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .page-hero{padding:48px 24px 40px}
  .hero-content{padding:60px 32px}
}

/* ── RECIPE DETAIL ── */
.recipe-detail{display:block;padding-top:68px}

.rd-hero{position:relative;height:480px;overflow:hidden}
.rd-hero img{width:100%;height:100%;object-fit:cover;display:block}
.rd-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,48,28,0.88) 0%,rgba(28,48,28,0.15) 60%)}
.rd-hero-content{position:absolute;bottom:0;left:0;right:0;padding:48px 72px}
.rd-back{display:inline-flex;align-items:center;gap:8px;color:rgba(245,240,232,0.7);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;border:none;background:none;padding:0;margin-bottom:20px;font-family:inherit}
.rd-back:hover{color:var(--cream)}
.rd-back::before{content:'←';font-size:14px}
.rd-season{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:rgba(245,240,232,0.6);margin-bottom:10px}
.rd-title{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,52px);font-weight:700;color:var(--cream);line-height:1.1;margin-bottom:12px}
.rd-sub{font-size:14px;color:rgba(245,240,232,0.7);max-width:600px;line-height:1.7}
.rd-body{max-width:900px;margin:0 auto;padding:64px 72px}
.rd-meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:56px}
.rd-meta-cell{background:var(--white);padding:20px 24px;text-align:center}
.rd-meta-label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.rd-meta-val{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--charcoal)}
.rd-section-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--charcoal);margin-bottom:20px}
.rd-ingredients{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);margin-bottom:48px}
.rd-ingredients li{padding:12px 20px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border);line-height:1.5}
.rd-ingredients li:last-child,.rd-ingredients li:nth-last-child(2):nth-child(odd){border-bottom:none}
.rd-ingredients li::before{content:'—';color:var(--green-mid);margin-right:8px;font-weight:700}
.rd-steps{list-style:none;counter-reset:steps;margin-bottom:48px}
.rd-steps li{counter-increment:steps;display:grid;grid-template-columns:48px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--text);line-height:1.8}
.rd-steps li:last-child{border-bottom:none}
.rd-steps li::before{content:counter(steps);font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--green-mid);line-height:1}
.rd-note{background:var(--cream-dark);border-left:3px solid var(--green-mid);padding:20px 24px;font-size:14px;color:var(--muted);line-height:1.7;margin-top:32px}
.rd-note strong{color:var(--green-dark);display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
@media(max-width:768px){
  .rd-hero-content{padding:32px 24px}
  .rd-body{padding:40px 24px}
  .rd-meta-strip{grid-template-columns:repeat(2,1fr)}
  .rd-ingredients{grid-template-columns:1fr}
  .rd-ingredients li:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--border)}
  .rd-ingredients li:last-child{border-bottom:none}
}


/* ── MOBILE NAV (added for production) ── */
.nav-toggle{
  display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px;
}
.nav-toggle span{
  display:block;width:22px;height:2px;background:var(--cream);margin:4px 0;
  transition:transform .25s,opacity .25s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:860px){
  nav{flex-wrap:wrap;height:auto;min-height:68px;padding:0 20px}
  .nav-logo{flex:1;min-width:0;padding:12px 0}
  .nav-toggle{display:block}
  .nav-links{
    display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;
    gap:0;border-top:1px solid rgba(245,240,232,0.15);
  }
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:16px 2px;width:100%;border-bottom:1px solid rgba(245,240,232,0.08)}
  .nav-links li:last-child a{border-bottom:none}
  .nav-wordmark{font-size:10px;letter-spacing:3px}
}

/* Recipe title is now the page <h1> */
h1.rd-title{margin:0 0 12px}

/* Platform logo tiles: styled wordmark shows if the logo file is absent */
.platform-tile .tile-fallback{
  display:none;font-size:15px;letter-spacing:1.2px;text-transform:uppercase;
  font-weight:700;color:var(--green-dark);text-align:center;line-height:1.3;
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* Visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--green-mid);outline-offset:2px;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:2000;background:var(--cream);
  color:var(--green-dark);padding:12px 20px;font-size:13px;letter-spacing:1px;
}
.skip-link:focus{left:8px;top:8px}


/* ── HERO ON NARROW SCREENS ── */
/* The portrait crops hard below this width and the painted logo drifts out of
   frame, so the right-hand placement is abandoned for full-width copy. */
@media(max-width:900px){
  .hero{align-items:flex-end;justify-content:flex-start}
  .hero-overlay{
    background:linear-gradient(to top,
      rgba(22,32,26,0.88) 0%,
      rgba(22,32,26,0.62) 45%,
      rgba(22,32,26,0.18) 100%);
  }
  .hero-content{
    max-width:100%;padding:0 32px 56px;
  }
  .hero h1{max-width:520px}
  .hero-sub{max-width:520px}
}
@media(max-width:560px){
  .hero{height:auto;min-height:520px}
  .hero-content{padding:0 22px 44px}
  .hero h1{font-size:clamp(26px,6.8vw,36px)}
}
