/* Spain Eats — full-bleed foodie magazine landing */

:root{
  --terracotta:#B5502E;
  --terracotta-dark:#8C3D22;
  --olive:#34381D;
  --olive-light:#5B6134;
  --citrus:#F3A712;
  --citrus-light:#FFCF66;
  --paper:#F5ECD8;
  --paper-dim:#E8DAB8;
  --ink:#241A12;
  --wine:#7A2733;
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Karla', system-ui, sans-serif;
  --font-mono:'Space Mono', ui-monospace, monospace;
  --text-hero: clamp(2.5rem, 5.5vw + .5rem, 5.25rem);
  --text-h2: clamp(1.85rem, 3vw + .6rem, 3rem);
  --text-h3: clamp(1.2rem, 1.2vw + .8rem, 1.65rem);
  --text-lead: clamp(1.05rem, .35vw + .95rem, 1.2rem);
  --ease: cubic-bezier(.22,.68,.32,1);
  --container: min(1280px, calc(100% - clamp(1.5rem, 4vw, 3.5rem)));
  --header-h: 4.25rem;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:var(--header-h);}

/* ---- Kill WordPress boxed layout ---- */
body.home,
body.se-magazine-home{
  margin:0 !important;
  background:var(--ink) !important;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--text-lead);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.home #page,
body.home .site,
body.home .site-content,
body.home .content-area,
body.home #content,
body.home #primary,
body.home .inside-article,
body.home article,
body.home .entry-content,
body.home .grid-container,
body.home .container.grid-container,
body.home .site-content .content-area,
body.home .one-container .site-content,
body.home .separate-containers .inside-article{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.se-mag-root{
  width:100%;
  max-width:100%;
  margin:0;
  min-height:100vh;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  overflow-x:clip;
}
/* Allow mobile drawer to escape the home root clip while open */
body.se-nav-open .se-mag-root{ overflow:visible; }
body.se-nav-open{ overflow:hidden; touch-action:none; }
body.se-nav-open .site-header.se-mag-header{
  z-index:10070;
}
.se-mag-root img,
.se-mag-root svg{ display:block; max-width:100%; height:auto; }
.se-mag-root a{ color:inherit; text-decoration:none; }
.se-mag-root h1,
.se-mag-root h2,
.se-mag-root h3{
  font-family:var(--font-display);
  margin:0;
  line-height:1.08;
  font-weight:600;
  color:inherit;
}
.se-mag-root p{ margin:0; }
.se-mag-root ul{ margin:0; padding:0; list-style:none; }
.se-mag-root :focus-visible{ outline:3px solid var(--citrus); outline-offset:3px; }

.se-mag-root .container{
  width:var(--container);
  max-width:1280px;
  margin:0 auto;
}
.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  font-weight:700;
}
.section{ padding: clamp(3.25rem, 8vw, 6rem) 0; }
.section-head{ max-width:40rem; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }

[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
[data-reveal].is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  [data-reveal]{ opacity:1; transform:none; transition:none; }
}

body.home #masthead,
body.home .site-footer:not(.se-mag-footer),
body.home .hfe-site-header,
body.home .hfe-footer-wrapper,
body.home .elementor-location-header,
body.home .elementor-location-footer,
body.home .sidebar,
body.home .entry-header,
body.home .page-header,
body.home .inside-site-info,
body.home .site-info,
body.home .footer-widgets,
body.home .footer-widgets-container,
body.home #footer-widgets,
body.home .hfe-footer,
body.home .hfe-site-footer,
body.home .footer-bar{
  display:none !important;
  height:0 !important;
  overflow:hidden !important;
  visibility:hidden !important;
}

/* ---------- Site header — home (.se-mag-root) + sitewide (.se-has-mag-header) ---------- */
.se-has-mag-header .site-header.se-mag-header,
.se-mag-root .site-header.se-mag-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:300;
  width:100%;
  margin:0;
  padding:0;
  background:transparent;
  border-bottom:1px solid rgba(245,236,216,.12);
  /* blur on ::before — backdrop-filter on this node traps position:fixed children */
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.se-has-mag-header .site-header.se-mag-header::before,
.se-mag-root .site-header.se-mag-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:rgba(36,26,18,.55);
  backdrop-filter:blur(12px) saturate(1.15);
  -webkit-backdrop-filter:blur(12px) saturate(1.15);
  transition:background .3s var(--ease);
}
.se-has-mag-header .site-header.se-mag-header.is-scrolled,
.se-mag-root .site-header.se-mag-header.is-scrolled{
  border-bottom-color:rgba(245,236,216,.08);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.se-has-mag-header .site-header.se-mag-header.is-scrolled::before,
.se-mag-root .site-header.se-mag-header.is-scrolled::before{
  background:rgba(36,26,18,.96);
}
.se-has-mag-header .site-header.se-mag-header > .header-bar,
.se-mag-root .site-header.se-mag-header > .header-bar{
  position:relative;
  z-index:2;
}
.se-has-mag-header .header-bar,
.se-mag-root .header-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:var(--container);
  max-width:1280px;
  margin:0 auto;
  padding:.85rem 0;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.se-has-mag-header .logo,
.se-mag-root .logo{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--paper) !important;
  white-space:nowrap;
  text-decoration:none !important;
}
.se-has-mag-header .logo-mark,
.se-mag-root .logo-mark{
  width:1.55rem; height:1.55rem;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 35%, var(--citrus-light) 0 28%, transparent 29%),
    radial-gradient(circle at 65% 60%, var(--terracotta) 0 42%, transparent 43%),
    var(--olive);
  box-shadow:inset 0 0 0 2px rgba(245,236,216,.35);
  flex-shrink:0;
}
.se-has-mag-header .logo-text,
.se-mag-root .logo-text,
.se-mag-root .footer-logo{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.15rem, 1.8vw, 1.4rem);
  letter-spacing:.01em;
}
.se-has-mag-header .logo em,
.se-mag-root .logo em,
.se-mag-root .footer-logo em{
  font-style:italic;
  color:var(--citrus) !important;
  font-weight:500;
}
.se-has-mag-header .nav,
.se-mag-root .nav{
  display:flex;
  align-items:center;
  gap:.85rem;
}
.se-has-mag-header .nav-links,
.se-mag-root .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:.15rem .9rem;
  justify-content:flex-end;
  list-style:none;
  margin:0;
  padding:0;
}
.se-has-mag-header .nav-links a,
.se-mag-root .nav-links a{
  font-family:var(--font-mono);
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(245,236,216,.92) !important;
  padding:.35rem 0;
  position:relative;
  text-decoration:none !important;
}
.se-has-mag-header .nav-links a::after,
.se-mag-root .nav-links a::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:2px;
  background:var(--citrus);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s var(--ease);
}
.se-has-mag-header .nav-links a:hover::after,
.se-mag-root .nav-links a:hover::after{ transform:scaleX(1); }
.se-has-mag-header .nav-cta,
.se-mag-root .nav-cta{
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:var(--citrus) !important;
  color:var(--ink) !important;
  padding:.55rem 1rem;
  border-radius:2px;
  white-space:nowrap;
  transition:transform .2s var(--ease), background .2s var(--ease);
}
.se-has-mag-header .nav-cta:hover,
.se-mag-root .nav-cta:hover{
  transform:translateY(-1px);
  background:var(--citrus-light) !important;
}
.se-has-mag-header .nav-toggle,
.se-mag-root .nav-toggle{
  display:none;
  width:2.4rem; height:2.4rem;
  border:0; border-radius:50%;
  background:rgba(245,236,216,.12);
  padding:0;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  position:relative;
  z-index:360;
}
.se-has-mag-header .nav-toggle span,
.se-mag-root .nav-toggle span{
  display:block;
  width:1rem; height:2px;
  background:var(--paper);
  border-radius:2px;
  transition:transform .25s var(--ease), opacity .25s;
}
.se-has-mag-header .nav-toggle[aria-expanded="true"] span:nth-child(1),
.se-mag-root .nav-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.se-has-mag-header .nav-toggle[aria-expanded="true"] span:nth-child(2),
.se-mag-root .nav-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.se-has-mag-header .nav-toggle[aria-expanded="true"] span:nth-child(3),
.se-mag-root .nav-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.se-nav-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:10040;
  background:rgba(36,26,18,.55);
  border:0;
  padding:0;
  margin:0;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
body.se-nav-open .se-nav-backdrop{ display:block; }

/* Body-level mobile drawer — never nested in header (fixes iOS blank panel) */
.se-mobile-nav{
  display:none;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:auto;
  width:min(86vw, 320px);
  max-width:100%;
  height:100%;
  height:100dvh;
  margin:0;
  padding:0;
  z-index:10050;
  background:#241A12;
  box-shadow:-16px 0 48px rgba(0,0,0,.45);
  transform:translate3d(105%,0,0);
  transition:transform .32s cubic-bezier(.22,.68,.32,1);
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
}
.se-mobile-nav.is-open{
  transform:translate3d(0,0,0);
}
.se-mobile-nav__list{
  list-style:none;
  margin:0;
  padding:5rem 1.35rem 2.5rem;
  display:flex;
  flex-direction:column;
  gap:0;
}
.se-mobile-nav__list li{
  margin:0;
  padding:0;
  border-bottom:1px solid rgba(245,236,216,.12);
}
.se-mobile-nav__list a{
  display:block;
  font-family:"Space Mono",ui-monospace,monospace !important;
  font-size:1rem !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#F5ECD8 !important;
  text-decoration:none !important;
  padding:1rem 0.15rem !important;
  background:transparent !important;
  line-height:1.3;
}
.se-mobile-nav__list a:hover,
.se-mobile-nav__list a:focus{
  color:#F3A712 !important;
}

@media (max-width:980px){
  .se-has-mag-header .nav-cta,
  .se-mag-root .nav-cta{ display:none; }
  .se-has-mag-header .nav-toggle,
  .se-mag-root .nav-toggle{
    display:inline-flex;
    position:relative;
    z-index:10060;
  }
  /* Keep header list for a11y tree but hide — drawer is the visible menu */
  .se-has-mag-header .nav-links,
  .se-mag-root .nav-links{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
    transform:none !important;
    visibility:visible !important;
    pointer-events:none !important;
    background:transparent !important;
  }
  .se-mobile-nav{ display:block; }
}
@media (min-width:981px){
  .se-mobile-nav,
  .se-nav-backdrop{ display:none !important; }
  body.se-nav-open{ overflow:visible; touch-action:auto; }
}

/* ---------- Full-bleed photo hero + slideshow ---------- */
.se-mag-root .hero{
  position:relative;
  width:100%;
  min-height:100svh;
  min-height:100vh;
  color:var(--paper) !important;
  display:grid;
  grid-template-rows:1fr auto;
  overflow:hidden;
}
.se-mag-root .hero-slideshow{
  position:absolute;
  inset:0;
  z-index:0;
}
.se-mag-root .hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1.1s var(--ease), transform 6.5s ease-out;
  pointer-events:none;
}
.se-mag-root .hero-slide.is-active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
  z-index:1;
}
.se-mag-root .hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.se-mag-root .hero-veil{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(105deg, rgba(36,26,18,.78) 0%, rgba(36,26,18,.55) 42%, rgba(181,80,46,.28) 100%),
    linear-gradient(to top, rgba(36,26,18,.75) 0%, transparent 42%);
  pointer-events:none;
}
.se-mag-root .hero-content{
  position:relative;
  z-index:3;
  width:var(--container);
  max-width:1280px;
  margin:0 auto;
  padding: calc(var(--header-h) + 2.5rem) 0 2rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap: clamp(2rem, 6vw, 4rem);
  min-height:100svh;
  min-height:100vh;
}
.se-mag-root .hero-copy{ max-width:38rem; }
.se-mag-root .hero-eyebrow{
  color:var(--citrus-light) !important;
  margin-bottom:1rem;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.se-mag-root .hero h1{
  font-size:var(--text-hero);
  letter-spacing:-.025em;
  color:var(--paper) !important;
  text-shadow:0 4px 28px rgba(0,0,0,.35);
}
.se-mag-root .hero-lead{
  margin-top:1.2rem;
  max-width:40ch;
  color:rgba(245,236,216,.9) !important;
  font-size:clamp(1.05rem, 1.4vw, 1.22rem);
  text-shadow:0 2px 10px rgba(0,0,0,.3);
}
.se-mag-root .hero-actions{
  margin-top:1.75rem;
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  align-items:center;
}
.se-mag-root .btn{
  font-family:var(--font-mono);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.95rem 1.45rem;
  border-radius:999px;
  border:1.5px solid transparent;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
  font-weight:700;
}
.se-mag-root .btn-primary{
  background:var(--citrus) !important;
  color:var(--ink) !important;
}
.se-mag-root .btn-primary:hover{
  transform:translateY(-2px);
  background:var(--citrus-light) !important;
}
.se-mag-root .btn-ghost{
  border-color:rgba(245,236,216,.7) !important;
  color:var(--paper) !important;
  background:rgba(36,26,18,.25) !important;
  backdrop-filter:blur(6px);
}
.se-mag-root .btn-ghost:hover{
  border-color:var(--paper) !important;
  transform:translateY(-2px);
  background:rgba(36,26,18,.4) !important;
}

.se-mag-root .hero-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(245,236,216,.22);
}
.se-mag-root .hero-caption{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--citrus-light) !important;
}
.se-mag-root .hero-nav{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.se-mag-root .hero-arrow{
  width:2.6rem; height:2.6rem;
  border-radius:50%;
  border:1px solid rgba(245,236,216,.45);
  background:rgba(36,26,18,.35);
  color:var(--paper);
  font-size:0;
  line-height:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  transition:background .2s, border-color .2s, color .2s;
}
.se-mag-root .hero-arrow svg{
  width:1rem; height:1rem;
  display:block;
  flex-shrink:0;
}
.se-mag-root .hero-arrow:hover{
  background:var(--citrus);
  color:var(--ink);
  border-color:var(--citrus);
}
.se-mag-root .hero-arrow:hover svg{ stroke:var(--ink); }
.se-mag-root .hero-dots{
  display:flex;
  gap:.4rem;
  align-items:center;
}
.se-mag-root .hero-dot{
  width:.55rem; height:.55rem;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(245,236,216,.35);
  cursor:pointer;
  transition:transform .2s, background .2s, width .2s;
}
.se-mag-root .hero-dot.is-active{
  background:var(--citrus);
  width:1.35rem;
  border-radius:999px;
}

@media (max-width:640px){
  .se-mag-root .hero-content{ padding-bottom:1.5rem; }
  .se-mag-root .hero-controls{ flex-direction:column; align-items:flex-start; }
}

/* ---------- Ticker ---------- */
.se-mag-root .ticker{
  width:100%;
  background:var(--ink);
  color:var(--paper-dim);
  overflow:hidden;
  white-space:nowrap;
}
.se-mag-root .ticker-track{
  display:inline-flex;
  gap:2.5rem;
  padding:.85rem 0;
  animation:se-ticker 38s linear infinite;
  min-width:200%;
}
.se-mag-root .ticker-track span{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:1.25rem;
}
.se-mag-root .ticker-track a{ color:var(--paper-dim) !important; }
.se-mag-root .ticker-track a:hover{ color:var(--citrus-light) !important; }
@keyframes se-ticker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){
  .se-mag-root .ticker-track{ animation:none; }
  .se-mag-root .hero-slide{ transition:opacity .4s ease; transform:none; }
}

/* ---------- TOC photo cards ---------- */
.se-mag-root .toc{ background:var(--paper); width:100%; }
.se-mag-root .toc-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem, 2.5vw, 1.5rem);
}
.se-mag-root .toc-card{
  display:flex;
  flex-direction:column;
  background:#FBF6E9;
  overflow:hidden;
  border-radius:4px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  box-shadow:0 1px 0 rgba(36,26,18,.06);
}
.se-mag-root .toc-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 40px -20px rgba(36,26,18,.35);
}
.se-mag-root .toc-media{
  aspect-ratio:16/11;
  overflow:hidden;
}
.se-mag-root .toc-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}
.se-mag-root .toc-card:hover .toc-media img{ transform:scale(1.06); }
.se-mag-root .toc-body{
  padding:clamp(1.15rem, 2.5vw, 1.6rem);
}
.se-mag-root .toc-body .num{
  font-family:var(--font-mono);
  font-size:.72rem;
  color:var(--terracotta) !important;
  font-weight:700;
}
.se-mag-root .toc-body h2{
  margin-top:.55rem;
  font-size:var(--text-h3);
  color:var(--ink) !important;
}
.se-mag-root .toc-body p{
  margin-top:.55rem;
  color:#5a4b3c !important;
  font-size:.95rem;
  max-width:34ch;
}
@media (max-width:860px){
  .se-mag-root .toc-grid{ grid-template-columns:1fr; }
}

/* ---------- Raciones with photos ---------- */
.se-mag-root .raciones{ background:var(--paper); width:100%; }
.se-mag-root .raciones .eyebrow{ color:var(--terracotta) !important; }
.se-mag-root .raciones h2{ color:var(--ink) !important; font-size:var(--text-h2); margin-top:.45rem; }
.se-mag-root .raciones-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.1rem, 2.5vw, 1.65rem);
}
.se-mag-root .plate-card{
  background:#FBF6E9;
  overflow:hidden;
  border-radius:6px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  box-shadow:0 1px 0 rgba(36,26,18,.05);
}
.se-mag-root .plate-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 42px -18px rgba(36,26,18,.38);
}
.se-mag-root .plate-card a{ display:block; color:inherit; }
.se-mag-root .plate-media{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
}
.se-mag-root .plate-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}
.se-mag-root .plate-card:hover .plate-media img{ transform:scale(1.05); }
.se-mag-root .plate-tag{
  position:absolute;
  top:.85rem; left:.85rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  padding:.35rem .6rem;
  color:var(--paper);
}
.se-mag-root .plate-tag.receta{ background:var(--citrus); color:var(--ink) !important; }
.se-mag-root .plate-tag.barra{ background:var(--terracotta); }
.se-mag-root .plate-tag.viaje{ background:var(--olive); }
.se-mag-root .plate-body{ padding:1.15rem 1.15rem 1.35rem; }
.se-mag-root .plate-card h3{
  font-size:clamp(1.15rem, 1.5vw, 1.35rem);
  color:var(--ink) !important;
}
.se-mag-root .plate-card .teaser{
  margin-top:.45rem;
  color:#5a4b3c !important;
  font-size:.92rem;
}
.se-mag-root .plate-meta{
  margin-top:1rem;
  display:flex;
  gap:1rem;
  font-family:var(--font-mono);
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#8a7357;
}
@media (max-width:960px){
  .se-mag-root .raciones-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .se-mag-root .raciones-grid{ grid-template-columns:1fr; }
}

/* ---------- Horizontal photo strip ---------- */
.se-mag-root .photo-strip{
  width:100%;
  background:var(--ink);
  padding:1.25rem 0;
  overflow:hidden;
}
.se-mag-root .photo-strip-track{
  display:flex;
  gap:.75rem;
  width:max-content;
  animation:se-strip 55s linear infinite;
  padding:0 1rem;
}
.se-mag-root .photo-strip figure{
  margin:0;
  position:relative;
  width:clamp(220px, 22vw, 320px);
  aspect-ratio:16/11;
  overflow:hidden;
  border-radius:4px;
  flex-shrink:0;
}
.se-mag-root .photo-strip img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05);
}
.se-mag-root .photo-strip figcaption{
  position:absolute;
  left:.65rem; bottom:.55rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--paper);
  background:rgba(36,26,18,.55);
  padding:.25rem .5rem;
  backdrop-filter:blur(4px);
}
@keyframes se-strip{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .se-mag-root .photo-strip-track{ animation:none; flex-wrap:wrap; width:100%; justify-content:center; }
}

/* ---------- Regions — photo + dish slideshow tiles ---------- */
.se-mag-root .regions{
  width:100%;
  background:var(--olive);
  color:var(--paper) !important;
}
.se-mag-root .regions .eyebrow{ color:var(--citrus-light) !important; }
.se-mag-root .regions h2{
  color:var(--paper) !important;
  font-size:var(--text-h2);
  margin-top:.45rem;
}
.se-mag-root .regions .section-head p{
  color:rgba(245,236,216,.78) !important;
  margin-top:.7rem;
}
.se-mag-root .region-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.75rem;
}
.se-mag-root .tile{
  position:relative;
  min-height: clamp(200px, 26vw, 280px);
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--olive-light);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.se-mag-root .tile:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 40px -18px rgba(0,0,0,.45);
}
.se-mag-root .tile-slides{
  position:absolute;
  inset:0;
  z-index:0;
}
.se-mag-root .tile-slides img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.08);
  transition:opacity .9s var(--ease), transform 5.5s ease-out;
}
.se-mag-root .tile-slides img.is-active{
  opacity:1;
  transform:scale(1);
  z-index:1;
}
.se-mag-root .tile-veil{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(to top, rgba(36,26,18,.88) 0%, rgba(36,26,18,.35) 45%, rgba(36,26,18,.15) 100%);
  pointer-events:none;
}
.se-mag-root .tile a{
  position:absolute; inset:0;
  z-index:3;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:1.15rem 1.1rem;
  color:var(--paper) !important;
}
.se-mag-root .tile .region-kicker{
  position:relative;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--citrus-light) !important;
  margin-bottom:.35rem;
}
.se-mag-root .tile .region-name{
  position:relative;
  font-family:var(--font-display);
  font-size:clamp(1.2rem, 2vw, 1.5rem);
  font-weight:600;
  color:var(--paper) !important;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.se-mag-root .tile .region-dish{
  position:relative;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.03em;
  color:rgba(245,236,216,.88) !important;
  margin-top:.4rem;
  max-height:3rem;
  opacity:1;
}
.se-mag-root .tile-dots{
  position:absolute;
  top:.75rem; right:.75rem;
  z-index:4;
  display:flex;
  gap:.3rem;
  pointer-events:none;
}
.se-mag-root .tile-dots span{
  width:.4rem; height:.4rem;
  border-radius:50%;
  background:rgba(245,236,216,.35);
}
.se-mag-root .tile-dots span.is-active{ background:var(--citrus); }
@media (max-width:800px){
  .se-mag-root .region-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:480px){
  .se-mag-root .region-grid{ grid-template-columns:1fr; }
  .se-mag-root .tile{ aspect-ratio:16/10; min-height:180px; }
}
@media (prefers-reduced-motion: reduce){
  .se-mag-root .tile-slides img{ transition:opacity .3s ease; transform:none; }
}

/* ---------- Quote / newsletter / footer ---------- */
.se-mag-root .quote-band{
  width:100%;
  background:var(--wine);
  color:var(--paper) !important;
}
.se-mag-root .quote-band blockquote{
  max-width:820px;
  margin:0 auto;
  text-align:center;
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  font-size:clamp(1.4rem, 2.5vw + .5rem, 2.45rem);
  line-height:1.3;
  color:var(--paper) !important;
}
.se-mag-root .quote-band cite{
  display:block;
  margin-top:1.25rem;
  font-style:normal;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--citrus-light) !important;
}
.se-mag-root .quote-band cite a{
  color:var(--citrus-light) !important;
  text-decoration:underline;
}

.se-mag-root .newsletter{
  width:100%;
  background:var(--citrus);
  color:var(--ink) !important;
}
.se-mag-root .newsletter .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  flex-wrap:wrap;
}
.se-mag-root .newsletter h2{
  font-size:var(--text-h2);
  max-width:16ch;
  color:var(--ink) !important;
}
.se-mag-root .newsletter p{
  margin-top:.55rem;
  max-width:34ch;
  color:var(--ink) !important;
}
.se-mag-root .newsletter .btn-primary{
  background:var(--ink) !important;
  color:var(--paper) !important;
  border-radius:999px;
}

.se-mag-root .site-footer.se-mag-footer{
  width:100%;
  background:var(--ink);
  color:var(--paper-dim);
  padding:clamp(2.5rem, 5vw, 4rem) 0 1.5rem;
}
.se-mag-root .footer-top{
  display:grid;
  grid-template-columns:1.4fr repeat(3, 1fr);
  gap:clamp(1.25rem, 3vw, 2rem);
  padding-bottom:1.75rem;
  border-bottom:1px solid rgba(245,236,216,.14);
}
.se-mag-root .footer-top .logo,
.se-mag-root .footer-logo{ color:var(--paper) !important; }
.se-mag-root .footer-top p{
  margin-top:.8rem;
  max-width:34ch;
  color:rgba(245,236,216,.62) !important;
  font-size:.92rem;
}
.se-mag-root .footer-col h4{
  font-family:var(--font-mono);
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--citrus-light) !important;
  margin:0 0 .85rem;
}
.se-mag-root .footer-col ul li{ margin-bottom:.5rem; }
.se-mag-root .footer-col a{
  font-size:.92rem;
  color:rgba(245,236,216,.88) !important;
}
.se-mag-root .footer-col a:hover{ color:var(--citrus-light) !important; }
.se-mag-root .footer-bottom{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.5rem;
  padding-top:1.25rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  color:rgba(245,236,216,.5);
}
@media (max-width:800px){
  .se-mag-root .footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:480px){
  .se-mag-root .footer-top{ grid-template-columns:1fr; }
}
