/* ══════════════════════════════════════════════════════════════
   NOVRA FOODS — NEW SECTIONS CSS
   Matches existing design system: --p, --ink, --hermes, --forest
   Typography: Cormorant Garamond (serif), Jost (sans)
   ══════════════════════════════════════════════════════════════ */

/* ── Shared reveal animation for new sections ── */
.nr{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);will-change:opacity,transform}
.nr.vis{opacity:1;transform:none;will-change:auto}

/* ══════════════════════════════════════
   1. "AS FEATURED IN" — Press & Authority Bar
   Placed after The Collection
══════════════════════════════════════ */
.s-press{
  padding:clamp(40px,6vh,72px) 0;
  border-top:1px solid var(--ink06);
  border-bottom:1px solid var(--ink06);
  background:var(--p);
  overflow:hidden;
}
.press-label{
  text-align:center;
  font-family:var(--sans);
  font-size:9px;
  font-weight:300;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--ink35);
  margin-bottom:clamp(24px,4vh,40px);
  padding:0 clamp(22px,5vw,72px);
}
.press-track{
  display:flex;
  animation:pressScroll 40s linear infinite;
  white-space:nowrap;
  will-change:transform;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.press-track:hover{animation-play-state:paused}
.press-logo{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 clamp(28px,4vw,56px);
  font-family:var(--serif);
  font-size:clamp(14px,1.6vw,20px);
  font-weight:400;
  font-style:italic;
  letter-spacing:.04em;
  color:var(--ink35);
  opacity:.55;
  transition:opacity .3s;
  cursor:default;
  user-select:none;
}
.press-logo:hover{opacity:1}
.press-sep{
  width:4px;height:4px;
  background:var(--hermes);
  border-radius:50%;
  opacity:.4;
  flex-shrink:0;
  align-self:center;
}
@keyframes pressScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}


/* ══════════════════════════════════════
   2. "THE MARKET" — Live GCC Plant-Based Ticker
   Placed after The Atelier
══════════════════════════════════════ */
.s-ticker{
  background:var(--forest);
  padding:clamp(14px,2vh,20px) 0;
  overflow:hidden;
  border-top:1px solid rgba(247,242,232,.06);
  border-bottom:1px solid rgba(247,242,232,.06);
}
.ticker-label{
  display:none; /* sr-only context */
}
.ticker-track{
  display:flex;
  animation:tickerScroll 50s linear infinite;
  white-space:nowrap;
  will-change:transform;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:clamp(8px,1.2vw,14px);
  padding:0 clamp(24px,3.5vw,48px);
  font-family:var(--sans);
  font-size:clamp(9px,1vw,11px);
  font-weight:300;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(247,242,232,.35);
}
.ticker-val{
  font-family:var(--serif);
  font-size:clamp(13px,1.4vw,17px);
  font-weight:400;
  font-style:italic;
  letter-spacing:.02em;
  color:rgba(247,242,232,.7);
}
.ticker-src{
  font-size:7px;
  letter-spacing:.18em;
  color:rgba(247,242,232,.2);
}
.ticker-dot{
  width:3px;height:3px;
  background:rgba(196,82,10,.55);
  border-radius:50%;
  flex-shrink:0;
}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}


/* ══════════════════════════════════════
   3. "CHEF'S TABLE" — Rotating Michelin Spotlight
   Placed after Inside Every Bag
══════════════════════════════════════ */
.s-chef{
  padding:clamp(72px,11vh,140px) clamp(22px,5vw,72px);
  background:var(--dark);
  color:rgba(247,242,232,.9);
  position:relative;
  overflow:hidden;
}
.s-chef::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 50%,rgba(196,82,10,.04),transparent 70%);
  pointer-events:none;
}
.chef-eyebrow{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--hermes);
  display:flex;align-items:center;gap:12px;
  margin-bottom:clamp(20px,3vh,36px);
}
.chef-eyebrow::before{
  content:'';width:18px;height:1px;background:var(--hermes);opacity:.6;
}
.chef-card{display:block;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
  min-height:clamp(340px,50vh,520px);
}
.chef-img-wrap{
  position:relative;
  aspect-ratio:3/4;
  background:var(--dark2);
  overflow:hidden;
  border:1px solid rgba(247,242,232,.06);
}
.chef-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  transition:transform .6s var(--ease),opacity .5s;
  opacity:1;
}
.chef-img-wrap:hover .chef-img{transform:scale(1.03)}
.chef-img-placeholder{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);
  font-size:clamp(80px,14vw,180px);
  font-weight:300;font-style:italic;
  color:rgba(247,242,232,.04);
  user-select:none;
}
.chef-dish-inset{
  position:absolute;bottom:clamp(12px,2vw,20px);right:clamp(12px,2vw,20px);
  width:clamp(100px,30%,160px);aspect-ratio:3/2;
  overflow:hidden;border:2px solid var(--dark);
  box-shadow:0 8px 32px rgba(0,0,0,.4);
  z-index:2;
}
.chef-dish-img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--ease);
}
.chef-dish-inset:hover .chef-dish-img{transform:scale(1.06)}
.chef-info{}
.chef-name{
  font-family:var(--serif);
  font-size:clamp(32px,5vw,64px);
  font-weight:300;letter-spacing:-.02em;
  line-height:.92;
  margin-bottom:clamp(8px,1.5vh,14px);
}
.chef-restaurant{
  font-family:var(--sans);
  font-size:clamp(10px,1.1vw,12px);
  font-weight:300;letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(247,242,232,.4);
  margin-bottom:clamp(6px,1vh,10px);
}
.chef-stars{
  display:flex;gap:4px;
  margin-bottom:clamp(20px,3vh,32px);
}
.chef-star{
  width:12px;height:12px;
  background:var(--hermes);
  border-radius:50%;
}
.chef-quote{
  font-family:var(--serif);
  font-size:clamp(16px,1.8vw,22px);
  font-weight:300;font-style:italic;
  line-height:1.75;
  color:rgba(247,242,232,.7);
  max-width:48ch;
  border-left:2px solid var(--hermes);
  padding-left:clamp(14px,2vw,22px);
  margin-bottom:clamp(20px,3vh,32px);
}
.chef-philosophy{
  font-family:var(--sans);
  font-size:clamp(11px,1.1vw,13px);
  font-weight:300;letter-spacing:.04em;
  line-height:1.8;
  color:rgba(247,242,232,.4);
  max-width:52ch;
  margin-bottom:clamp(16px,2.5vh,28px);
}
.chef-novra-tie{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--hermes);opacity:.7;
  padding-top:clamp(12px,2vh,20px);
  border-top:1px solid rgba(247,242,232,.06);
}
.chef-nav{
  display:flex;align-items:center;gap:12px;
  margin-top:clamp(28px,4vh,44px);
}
.chef-nav-btn{
  width:40px;height:40px;
  border:1px solid rgba(247,242,232,.12);
  background:transparent;color:rgba(247,242,232,.5);
  font-size:16px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .22s;
}
.chef-nav-btn:hover{border-color:var(--hermes);color:var(--hermes)}
.chef-counter{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.2em;
  color:rgba(247,242,232,.3);
}


/* ══════════════════════════════════════
   4. "THE PLANT WORLD — LIVE" News Feed
   Placed after The Journal
══════════════════════════════════════ */
.s-plantworld{
  padding:clamp(72px,11vh,140px) clamp(22px,5vw,72px);
  background:var(--dark);
  color:rgba(247,242,232,.9);
}
.pw-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
  margin-bottom:clamp(40px,6vh,72px);
}
.pw-eyebrow{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--hermes);
  display:flex;align-items:center;gap:12px;
  margin-bottom:clamp(10px,1.5vh,16px);
}
.pw-eyebrow::before{
  content:'';width:18px;height:1px;background:var(--hermes);opacity:.6;
}
.pw-title{
  font-family:var(--serif);
  font-size:clamp(30px,5vw,64px);
  font-weight:300;letter-spacing:-.02em;line-height:.92;
}
.pw-title em{font-style:italic;color:var(--hermes)}
.pw-live-dot{
  display:inline-block;width:6px;height:6px;
  background:#E74C3C;border-radius:50%;
  margin-left:8px;
  animation:livePulse 2s ease-in-out infinite;
}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.3}}
.pw-all{
  font-family:var(--sans);
  font-size:9.5px;font-weight:300;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--hermes);
  display:flex;align-items:center;gap:8px;
  transition:opacity .2s;
}
.pw-all:hover{opacity:.7}
.pw-cats{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:clamp(28px,4vh,44px);
}
.pw-cat{
  font-family:var(--sans);
  font-size:8.5px;font-weight:300;
  letter-spacing:.14em;text-transform:uppercase;
  padding:6px 14px;
  border:1px solid rgba(247,242,232,.1);
  color:rgba(247,242,232,.4);
  cursor:pointer;transition:all .22s;
  background:transparent;
}
.pw-cat:hover,.pw-cat.active{
  border-color:var(--hermes);color:var(--hermes);
  background:rgba(196,82,10,.08);
}
.pw-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));
  gap:clamp(16px,2.5vw,28px);
}
.pw-card{
  background:var(--dark2);
  border:1px solid rgba(247,242,232,.04);
  padding:clamp(20px,3vw,32px);
  transition:border-color .3s,transform .3s var(--ease);
  display:flex;flex-direction:column;
}
.pw-card:hover{
  border-color:rgba(196,82,10,.25);
  transform:translateY(-3px);
}
.pw-card-cat{
  font-family:var(--sans);
  font-size:8px;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--hermes);
  padding:4px 10px;
  border:1px solid rgba(196,82,10,.25);
  display:inline-block;width:fit-content;
  margin-bottom:clamp(12px,2vh,18px);
}
.pw-card-title{
  font-family:var(--serif);
  font-size:clamp(17px,1.8vw,22px);
  font-weight:400;line-height:1.35;
  color:rgba(247,242,232,.85);
  margin-bottom:clamp(10px,1.5vh,16px);
}
.pw-card-summary{
  font-family:var(--sans);
  font-size:clamp(11px,1.05vw,12.5px);
  font-weight:300;line-height:1.75;
  color:rgba(247,242,232,.4);
  margin-bottom:auto;
  padding-bottom:clamp(16px,2.5vh,24px);
}
.pw-card-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:clamp(12px,2vh,18px);
  border-top:1px solid rgba(247,242,232,.06);
}
.pw-card-source{
  font-family:var(--sans);
  font-size:8.5px;font-weight:300;
  letter-spacing:.15em;text-transform:uppercase;
  color:rgba(247,242,232,.3);
}
.pw-card-date{
  font-family:var(--sans);
  font-size:8px;font-weight:300;
  letter-spacing:.12em;
  color:rgba(247,242,232,.2);
}
.pw-card-link{
  font-family:var(--sans);
  font-size:8.5px;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--hermes);
  display:flex;align-items:center;gap:6px;
  transition:opacity .2s;
}
.pw-card-link:hover{opacity:.7}


/* ══════════════════════════════════════
   5. "THE RECIPE ATELIER"
   Placed after Pipeline
══════════════════════════════════════ */
.s-recipes{
  padding:clamp(72px,11vh,140px) clamp(22px,5vw,72px);
  background:var(--p);
}
.rec-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
  margin-bottom:clamp(20px,3vh,32px);
}
.rec-eyebrow{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--hermes);
  display:flex;align-items:center;gap:12px;
  margin-bottom:clamp(10px,1.5vh,16px);
}
.rec-eyebrow::before{
  content:'';width:18px;height:1px;background:var(--hermes);opacity:.6;
}
.rec-title{
  font-family:var(--serif);
  font-size:clamp(30px,5vw,64px);
  font-weight:300;letter-spacing:-.02em;line-height:.92;
  color:var(--ink);
}
.rec-title em{font-style:italic;color:var(--hermes)}
/* Date ticker bar */
.rec-ticker{
  display:flex;align-items:center;gap:clamp(16px,3vw,32px);
  flex-wrap:wrap;
  padding:clamp(14px,2vh,20px) clamp(18px,2.5vw,28px);
  border:1px solid var(--ink06);
  margin-bottom:clamp(28px,4vh,44px);
  background:var(--p2);
}
.rec-ticker-chef{
  font-family:var(--serif);
  font-size:clamp(14px,1.6vw,18px);
  font-weight:400;color:var(--ink);
}
.rec-ticker-chef strong{color:var(--hermes);font-weight:500}
.rec-ticker-rest{
  font-family:var(--sans);font-size:clamp(10px,1vw,12px);
  font-weight:300;color:var(--ink35);
}
.rec-ticker-dates{
  font-family:var(--sans);
  font-size:clamp(9px,.9vw,11px);
  font-weight:300;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink35);
}
.rec-ticker-countdown{
  margin-left:auto;
  font-family:var(--sans);
  font-size:clamp(9px,.9vw,11px);
  font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--hermes);opacity:.8;
}
/* Recipe grid */
.rec-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
  gap:clamp(16px,2.5vw,28px);
}
.rec-card{
  border:1px solid var(--ink06);
  background:var(--p);
  transition:border-color .3s,transform .3s var(--ease);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.rec-card:hover{
  border-color:rgba(196,82,10,.3);
  transform:translateY(-3px);
}
.rec-card-img{
  height:clamp(180px,22vw,240px);
  background:var(--p2);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
}
.rec-card-img-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  transition:transform .6s var(--ease);
}
.rec-card:hover .rec-card-img-photo{transform:scale(1.06)}
.rec-card-img-placeholder{
  font-family:var(--serif);
  font-size:clamp(48px,8vw,80px);
  font-weight:300;font-style:italic;
  color:var(--ink06);
  user-select:none;
}
.rec-card-body{
  padding:clamp(18px,2.5vw,28px);
  flex:1;display:flex;flex-direction:column;
}
.rec-card-cuisine{
  font-family:var(--sans);
  font-size:8px;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--hermes);
  margin-bottom:8px;
}
.rec-card-name{
  font-family:var(--serif);
  font-size:clamp(17px,1.8vw,22px);
  font-weight:400;line-height:1.3;
  color:var(--ink);
  margin-bottom:8px;
}
.rec-card-desc{
  font-family:var(--sans);
  font-size:clamp(11px,1.05vw,12.5px);
  font-weight:300;line-height:1.75;
  color:var(--ink60);
  margin-bottom:auto;
  padding-bottom:clamp(14px,2vh,20px);
}
.rec-card-meta{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:clamp(10px,1.5vh,16px);
  border-top:1px solid var(--ink06);
}
.rec-card-time{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink35);
}
.rec-card-novra{
  font-family:var(--sans);
  font-size:8px;font-weight:300;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--hermes);opacity:.7;
}
/* Next week teaser */
.rec-next{
  margin-top:clamp(24px,3vh,36px);
  padding:clamp(14px,2vh,20px) clamp(18px,2.5vw,28px);
  border:1px dashed var(--ink06);
  display:flex;align-items:center;gap:clamp(12px,2vw,20px);
  flex-wrap:wrap;
}
.rec-next-label{
  font-family:var(--sans);font-size:8px;font-weight:300;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink35);
}
.rec-next-chef{
  font-family:var(--serif);font-size:clamp(14px,1.4vw,17px);
  font-weight:400;color:var(--ink);
}
.rec-next-rest{
  font-family:var(--sans);font-size:clamp(10px,1vw,12px);
  font-weight:300;color:var(--ink35);
}
/* Previous Editions archive */
.rec-archive{
  margin-top:clamp(32px,4vh,48px);
}
.rec-archive-toggle{
  display:flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:9px;font-weight:300;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink35);background:transparent;border:none;
  cursor:pointer;padding:8px 0;transition:color .2s;
}
.rec-archive-toggle:hover{color:var(--hermes)}
.rec-archive-chevron{transition:transform .3s var(--ease)}
.rec-archive-chevron.open{transform:rotate(180deg)}
.rec-archive-list{
  max-height:0;overflow:hidden;
  transition:max-height .4s var(--ease);
}
.rec-archive-list.open{max-height:600px}
.rec-archive-item{
  padding:clamp(12px,1.5vh,18px) 0;
  border-bottom:1px solid var(--ink06);
  display:flex;align-items:baseline;gap:clamp(12px,2vw,24px);
  flex-wrap:wrap;
}
.rec-archive-week{
  font-family:var(--sans);font-size:9px;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--hermes);min-width:60px;
}
.rec-archive-chef{
  font-family:var(--serif);font-size:clamp(13px,1.2vw,15px);
  font-weight:400;color:var(--ink);
}
.rec-archive-rest{
  font-family:var(--sans);font-size:clamp(10px,.9vw,11px);
  font-weight:300;color:var(--ink35);
}
.rec-archive-recipes{
  font-family:var(--sans);font-size:clamp(10px,.9vw,11px);
  font-weight:300;color:var(--ink35);line-height:1.6;
  flex-basis:100%;
}
/* Recipe modal */
.rec-modal-bg{
  position:fixed;inset:0;z-index:6000;
  background:rgba(10,7,5,.85);
  opacity:0;visibility:hidden;
  transition:opacity .4s,visibility .4s;
}
@supports(backdrop-filter:blur(1px)){
  .rec-modal-bg{background:rgba(10,7,5,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
}
.rec-modal-bg.open{opacity:1;visibility:visible}
.rec-modal-panel{
  position:fixed;inset:0;z-index:6001;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
  opacity:0;visibility:hidden;
  transition:opacity .4s var(--ease),visibility .4s;
}
.rec-modal-panel.open{opacity:1;visibility:visible}
.rec-modal-panel-inner{
  width:min(640px,90vw);max-height:85vh;max-height:85svh;
  background:var(--p);overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:clamp(28px,4vw,48px);
  padding-bottom:calc(clamp(28px,4vw,48px) + env(safe-area-inset-bottom,0px));
  pointer-events:all;position:relative;
  transform:scale(.96);transition:transform .4s var(--ease);
}
.rec-modal-panel.open .rec-modal-panel-inner{transform:scale(1)}
.rec-modal-close{
  position:absolute;top:12px;right:12px;
  width:44px;height:44px;border:1px solid var(--ink12);
  background:var(--p);color:var(--ink35);
  font-size:18px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;z-index:2;
  -webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.rec-modal-panel-inner{position:relative}
.rec-modal-close:hover{border-color:var(--hermes);color:var(--hermes)}
.rec-modal-img-wrap{
  margin:-clamp(28px,4vw,48px);margin-bottom:clamp(20px,3vh,28px);
  height:clamp(200px,28vw,300px);overflow:hidden;position:relative;
}
.rec-modal-hero{
  width:100%;height:100%;object-fit:cover;object-position:center;
}
.rec-modal-cuisine{
  font-family:var(--sans);font-size:9px;font-weight:300;
  letter-spacing:.28em;text-transform:uppercase;color:var(--hermes);
  margin-bottom:12px;
}
.rec-modal-title{
  font-family:var(--serif);font-size:clamp(24px,3.5vw,38px);
  font-weight:300;line-height:1.1;color:var(--ink);
  margin-bottom:8px;
}
.rec-modal-chef{
  font-family:var(--serif);font-size:clamp(12px,1.2vw,14px);
  font-style:italic;color:var(--ink35);
  margin-bottom:clamp(16px,2.5vh,24px);
}
.rec-modal-desc{
  font-family:var(--sans);font-size:clamp(12px,1.1vw,14px);
  font-weight:300;line-height:1.8;color:var(--ink60);
  margin-bottom:clamp(20px,3vh,28px);
  padding-bottom:clamp(16px,2.5vh,24px);
  border-bottom:1px solid var(--ink06);
}
.rec-modal-steps-label{
  font-family:var(--sans);font-size:9px;font-weight:300;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink35);
  margin-bottom:14px;
}
.rec-modal-steps{list-style:none;counter-reset:step}
.rec-modal-steps li{
  counter-increment:step;
  padding:10px 0 10px 32px;position:relative;
  font-family:var(--sans);font-size:clamp(11px,1.05vw,13px);
  font-weight:300;line-height:1.7;color:var(--ink60);
  border-bottom:1px solid var(--ink06);
}
.rec-modal-steps li::before{
  content:counter(step);
  position:absolute;left:0;top:10px;
  font-family:var(--serif);font-size:14px;
  font-style:italic;color:var(--hermes);
}
.rec-modal-novra{
  margin-top:clamp(16px,2.5vh,24px);
  font-family:var(--sans);font-size:9px;font-weight:300;
  letter-spacing:.18em;text-transform:uppercase;color:var(--hermes);
  opacity:.7;
}


/* ══════════════════════════════════════
   6. "IMPACT LIVE" — Sustainability Dashboard
   Placed after Recipe Atelier
══════════════════════════════════════ */
.s-impact{
  padding:clamp(48px,7vh,80px) clamp(22px,5vw,72px);
  background:var(--forest);
  border-top:1px solid rgba(247,242,232,.06);
}
.impact-inner{
  max-width:1100px;margin:0 auto;
}
.impact-eyebrow{
  font-family:var(--sans);
  font-size:9px;font-weight:300;
  letter-spacing:.3em;text-transform:uppercase;
  color:rgba(247,242,232,.5);
  text-align:center;
  margin-bottom:clamp(8px,1.5vh,14px);
}
.impact-title{
  font-family:var(--serif);
  font-size:clamp(24px,3.5vw,44px);
  font-weight:300;letter-spacing:-.02em;
  line-height:.95;
  color:rgba(247,242,232,.85);
  text-align:center;
  margin-bottom:clamp(32px,5vh,56px);
}
.impact-title em{font-style:italic;color:rgba(196,82,10,.8)}
.impact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(16px,2.5vw,32px);
}
.impact-metric{
  text-align:center;
  padding:clamp(20px,3vw,32px);
  border:1px solid rgba(247,242,232,.06);
  transition:border-color .3s;
}
.impact-metric:hover{border-color:rgba(196,82,10,.25)}
.impact-icon{
  font-size:20px;
  margin-bottom:12px;
  opacity:.5;
  color:rgba(247,242,232,.6);
}
.impact-val{
  font-family:var(--serif);
  font-size:clamp(36px,5vw,56px);
  font-weight:300;font-style:italic;
  color:rgba(247,242,232,.85);
  line-height:1;
  margin-bottom:6px;
}
.impact-unit{
  font-size:.5em;
  color:rgba(196,82,10,.7);
}
.impact-label{
  font-family:var(--sans);
  font-size:clamp(9px,1vw,11px);
  font-weight:300;letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(247,242,232,.35);
  line-height:1.5;
}
.impact-suffix{
  font-family:var(--sans);
  font-size:10px;font-weight:300;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(196,82,10,.6);
  margin-top:4px;
}


/* ══════════════════════════════════════
   7. "FIND YOUR NOVRA MATCH" — Quiz Widget
══════════════════════════════════════ */
.quiz-trigger{
  position:fixed;bottom:clamp(20px,3vh,32px);right:clamp(20px,3vw,32px);
  z-index:700;
  width:52px;height:52px;
  background:var(--hermes);color:#fff;
  border:none;border-radius:50%;
  font-size:20px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 24px rgba(196,82,10,.35);
  transition:transform .3s var(--ease),box-shadow .3s;
}
.quiz-trigger:hover{transform:scale(1.08);box-shadow:0 6px 32px rgba(196,82,10,.5)}
.quiz-overlay{
  position:fixed;inset:0;z-index:7000;
  background:rgba(10,7,5,.8);
  opacity:0;visibility:hidden;
  transition:opacity .35s,visibility .35s;
}
@supports(backdrop-filter:blur(1px)){
  .quiz-overlay{background:rgba(10,7,5,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
}
.quiz-overlay.open{opacity:1;visibility:visible}
.quiz-panel{
  position:fixed;bottom:0;right:0;
  z-index:7001;
  width:min(420px,100vw);height:auto;max-height:90vh;max-height:90svh;
  background:var(--p);
  transform:translateY(100%);
  transition:transform .45s var(--ease);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:clamp(28px,4vw,40px);
  padding-bottom:calc(clamp(28px,4vw,40px) + env(safe-area-inset-bottom,0px));
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.quiz-overlay.open~.quiz-panel,.quiz-panel.open{transform:translateY(0)}
.quiz-close{
  position:absolute;top:14px;right:14px;
  width:44px;height:44px;border:1px solid var(--ink12);
  background:transparent;color:var(--ink35);
  font-size:16px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;
  -webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.quiz-close:hover{border-color:var(--hermes);color:var(--hermes)}
.quiz-label{
  font-family:var(--sans);font-size:9px;font-weight:300;
  letter-spacing:.28em;text-transform:uppercase;color:var(--hermes);
  margin-bottom:clamp(10px,1.5vh,16px);
}
.quiz-question{
  font-family:var(--serif);
  font-size:clamp(22px,3vw,30px);
  font-weight:300;line-height:1.15;
  color:var(--ink);
  margin-bottom:clamp(20px,3vh,28px);
}
.quiz-options{display:flex;flex-direction:column;gap:8px}
.quiz-opt{
  font-family:var(--sans);
  font-size:clamp(11px,1.1vw,13px);
  font-weight:300;letter-spacing:.06em;
  padding:14px 18px;
  border:1px solid var(--ink12);
  background:transparent;color:var(--ink60);
  cursor:pointer;text-align:left;
  transition:all .22s;
}
.quiz-opt:hover{border-color:var(--hermes);color:var(--hermes);background:rgba(196,82,10,.03)}
.quiz-opt.selected{border-color:var(--hermes);color:var(--hermes);background:rgba(196,82,10,.06)}
.quiz-progress{
  display:flex;gap:6px;
  margin-bottom:clamp(16px,2.5vh,24px);
}
.quiz-dot{
  width:100%;height:2px;
  background:var(--ink06);
  transition:background .3s;
}
.quiz-dot.filled{background:var(--hermes)}
/* Quiz results */
.quiz-result{display:none}
.quiz-result.show{display:block}
.quiz-result-title{
  font-family:var(--serif);
  font-size:clamp(20px,2.5vw,28px);
  font-weight:300;line-height:1.15;
  color:var(--ink);
  margin-bottom:clamp(16px,2.5vh,24px);
}
.quiz-match{
  padding:clamp(14px,2vw,20px);
  border:1px solid var(--ink06);
  margin-bottom:10px;
  transition:border-color .3s;
}
.quiz-match:hover{border-color:rgba(196,82,10,.3)}
.quiz-match-name{
  font-family:var(--serif);
  font-size:clamp(16px,1.6vw,20px);
  font-weight:400;color:var(--ink);
  margin-bottom:4px;
}
.quiz-match-note{
  font-family:var(--sans);
  font-size:clamp(10px,1vw,12px);
  font-weight:300;line-height:1.7;
  color:var(--ink60);
  margin-bottom:8px;
}
.quiz-match-link{
  font-family:var(--sans);font-size:9px;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--hermes);
}
.quiz-restart{
  margin-top:clamp(16px,2.5vh,24px);
  font-family:var(--sans);font-size:10px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink35);
  background:transparent;border:1px solid var(--ink12);
  padding:12px 24px;
  cursor:pointer;transition:all .22s;
  display:block;width:100%;text-align:center;
}
.quiz-restart:hover{border-color:var(--hermes);color:var(--hermes)}


/* ══════════════════════════════════════
   8. "DEEP SEARCH" — ⌘K Overlay
══════════════════════════════════════ */
.search-overlay{
  position:fixed;inset:0;z-index:8500;
  background:rgba(10,7,5,.85);
  opacity:0;visibility:hidden;
  transition:opacity .3s,visibility .3s;
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:clamp(80px,15vh,160px);
}
@supports(backdrop-filter:blur(1px)){
  .search-overlay{background:rgba(10,7,5,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
.search-overlay.open{opacity:1;visibility:visible}
.search-box{
  width:min(600px,90vw);
  background:var(--p);
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  transform:translateY(-10px);
  transition:transform .3s var(--ease);
}
.search-overlay.open .search-box{transform:translateY(0)}
.search-input-wrap{
  display:flex;align-items:center;gap:12px;
  padding:clamp(16px,2.5vw,22px) clamp(20px,3vw,28px);
  border-bottom:1px solid var(--ink06);
}
.search-icon{
  font-size:16px;color:var(--ink35);flex-shrink:0;
}
.search-input{
  flex:1;border:none;outline:none;
  background:transparent;
  font-family:var(--serif);
  font-size:clamp(16px,1.8vw,20px);
  font-weight:300;color:var(--ink);
}
.search-input::placeholder{color:var(--ink35);font-style:italic}
.search-kbd{
  font-family:var(--sans);font-size:9px;
  letter-spacing:.1em;color:var(--ink35);
  border:1px solid var(--ink12);
  padding:3px 8px;flex-shrink:0;
}
.search-results{
  max-height:clamp(200px,40vh,400px);
  overflow-y:auto;
  padding:clamp(8px,1.5vw,14px) 0;
}
.search-result{
  display:flex;align-items:flex-start;gap:14px;
  padding:clamp(10px,1.5vw,14px) clamp(20px,3vw,28px);
  cursor:pointer;transition:background .15s;
}
.search-result:hover,.search-result.active{background:rgba(196,82,10,.04)}
.search-result-type{
  font-family:var(--sans);font-size:7px;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--hermes);
  border:1px solid rgba(196,82,10,.25);
  padding:3px 8px;flex-shrink:0;
  margin-top:3px;
}
.search-result-body{}
.search-result-title{
  font-family:var(--serif);
  font-size:clamp(14px,1.4vw,17px);
  font-weight:400;color:var(--ink);
  margin-bottom:2px;
}
.search-result-title mark{
  background:rgba(196,82,10,.15);color:var(--ink);
  padding:0 2px;
}
.search-result-snippet{
  font-family:var(--sans);
  font-size:clamp(10px,1vw,12px);
  font-weight:300;color:var(--ink35);
  line-height:1.5;
}
.search-empty{
  padding:clamp(28px,4vh,44px) clamp(20px,3vw,28px);
  text-align:center;
  font-family:var(--serif);
  font-size:clamp(14px,1.4vw,17px);
  font-style:italic;
  color:var(--ink35);
}
.search-footer{
  padding:clamp(10px,1.5vw,14px) clamp(20px,3vw,28px);
  border-top:1px solid var(--ink06);
  display:flex;align-items:center;justify-content:space-between;
}
.search-hint{
  font-family:var(--sans);font-size:8px;font-weight:300;
  letter-spacing:.12em;color:var(--ink35);
}


/* ══════════════════════════════════════
   RESPONSIVE ADJUSTMENTS
══════════════════════════════════════ */
/* ── 760px: tablets and large phones ── */

/* Text-only editorial chef card */
.chef-info--full{
  max-width:680px;
  margin:0 auto;
  text-align:center;
  padding:clamp(32px,6vh,64px) clamp(20px,4vw,40px);
}
.chef-info--full .chef-name{font-size:clamp(36px,5vw,56px);margin-bottom:8px}
.chef-info--full .chef-restaurant{margin-bottom:16px}
.chef-info--full .chef-stars{margin-bottom:24px}
.chef-info--full .chef-quote{
  border-left:none;
  font-size:clamp(18px,2.2vw,24px);
  padding:0;
  margin:32px auto;
  max-width:560px;
  text-align:center;
}
.chef-info--full .chef-philosophy{text-align:center;max-width:520px;margin:20px auto}
.chef-info--full .chef-novra-tie{text-align:center;max-width:520px;margin:24px auto 0}
body.ar .chef-info--full .chef-quote{border-right:none}

.chef-img-wrap{display:none}

@media(max-width:760px){
  .chef-card{display:block;grid-template-columns:1fr;gap:clamp(20px,4vh,32px)}
  
  
  .pw-grid{grid-template-columns:1fr}
  .rec-grid{grid-template-columns:1fr}
  .impact-grid{grid-template-columns:repeat(2,1fr)}
  .quiz-panel{width:100%}
  .rec-modal-panel-inner{width:95vw}
  /* Reduce blur cost on mobile */
  .search-overlay{padding-top:clamp(60px,12vh,120px)}
  /* Ticker speed reduction for perf */
  .press-track{animation-duration:30s}
  .ticker-track{animation-duration:40s}
}

/* ── 480px: standard phones ── */
@media(max-width:480px){
  .impact-grid{grid-template-columns:1fr}
  .press-logo{font-size:12px;padding:0 16px}
  /* Hide keyboard shortcut label on mobile */
  .search-kbd{display:none}
  /* Larger touch targets for filters */
  .pw-cat{padding:10px 14px;min-height:44px;display:inline-flex;align-items:center}
  /* Ticker stacks on small screens */
  .rec-ticker{flex-direction:column;align-items:flex-start;gap:8px}
  .rec-ticker-countdown{margin-left:0}
  /* Fix recipe modal on small screens — slide up from bottom */
  .rec-modal-panel{align-items:flex-end}
  .rec-modal-panel-inner{width:100vw;max-height:90svh;max-height:90vh;border-radius:0}
  /* Search box full width */
  .search-box{width:100vw}
  .search-overlay{padding-top:0;align-items:flex-start}
  /* Quiz options readable */
  .quiz-opt{font-size:12px;padding:14px 16px;min-height:44px}
  /* Chef section padding */
  .s-chef{padding-left:clamp(16px,4vw,22px);padding-right:clamp(16px,4vw,22px)}
  .s-plantworld{padding-left:clamp(16px,4vw,22px);padding-right:clamp(16px,4vw,22px)}
  .s-recipes{padding-left:clamp(16px,4vw,22px);padding-right:clamp(16px,4vw,22px)}
}

/* ── 360px: small phones (Galaxy A, Moto G, iPhone SE) ── */
@media(max-width:360px){
  .press-logo{font-size:11px;padding:0 14px}
  .pw-cat{font-size:9px;padding:8px 10px}
  .chef-name{font-size:28px}
  .pw-title{font-size:26px}
  .rec-title{font-size:26px}
  .quiz-question{font-size:20px}
  .impact-val{font-size:32px}
}

/* ── RTL support for Arabic ── */
body.ar .chef-quote{border-left:none;border-right:2px solid var(--hermes);padding-left:0;padding-right:clamp(14px,2vw,22px)}
body.ar .pw-eyebrow::before,body.ar .chef-eyebrow::before,body.ar .rec-eyebrow::before{display:none}
body.ar .pw-eyebrow::after,body.ar .chef-eyebrow::after,body.ar .rec-eyebrow::after{
  content:'';width:18px;height:1px;background:var(--hermes);opacity:.6;
}
body.ar .rec-modal-steps li{padding-left:0;padding-right:32px}
body.ar .rec-modal-steps li::before{left:auto;right:0}
body.ar .quiz-opt{text-align:right}
body.ar .impact-label{text-align:right}

/* ── Reduced motion preference ── */
@media(prefers-reduced-motion:reduce){
  .press-track,.ticker-track{animation:none!important}
  .pw-live-dot{animation:none!important}
  .nr{opacity:1!important;transform:none!important;transition:none!important}
  .chef-img,.chef-dish-img{transition:none!important}
  .rec-card-img-photo{transition:none!important}
  .rec-modal-overlay,.rec-modal-panel{transition:none!important}
  .rec-archive-chevron{transition:none!important}
  .rec-archive-list{transition:none!important}
}
