/* ==========================================================================
   Lifestyle Magazine — designsystem
   Samma grundpalett och typografi som livsstil24.se
   ========================================================================== */

:root{
  --cream:#F4F0EA;
  --cream-deep:#EDE7DF;
  --charcoal:#0E0E0E;
  --gold:#B89B72;
  --gold-dark:#9A8262;
  --olive:#5A5B46;
  --mocha:#A39284;
  --footer:#DDD6D0;
  --line:rgba(14,14,14,.12);
  --line-soft:rgba(14,14,14,.07);
  --muted:rgba(14,14,14,.55);
  --muted-2:rgba(14,14,14,.42);

  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --wrap:1280px;
  --gutter:24px;
  --rail:300px;
}

*,*::before,*::after{box-sizing:border-box}

/* `overflow-x:hidden` on html/body creates a scrolling ancestor in some
   browsers and prevents the sticky header from following the page. `clip`
   keeps the horizontal crop without breaking position:sticky. */
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.01em}
p{margin:0 0 1.1em}
button,a,input,select,textarea{touch-action:manipulation}
h1,h2,h3,h4,p,a,span{overflow-wrap:break-word}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.only-desktop{display:block}
.only-mobile{display:none}

/* --- typografiska hjälpklasser ------------------------------------------ */
.eyebrow{
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:500;color:var(--gold-dark);
}
.eyebrow--muted{color:var(--muted-2)}
.meta{font-size:12px;color:var(--muted-2);letter-spacing:.02em}
.rule{height:1px;background:var(--line);border:0;margin:0}

.section-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;padding-bottom:12px;margin-bottom:26px;
  border-bottom:1px solid var(--charcoal);
}
.section-head h2{font-size:15px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--sans);font-weight:500}
.section-head a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}

/* --- header -------------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--cream)}
.header-main{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:20px var(--gutter) 18px;max-width:var(--wrap);margin:0 auto;gap:16px;
}
.header-left{display:flex;align-items:center;gap:18px}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:20px}
.header-btn{
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal);
  display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);padding:0;
}
.header-btn:hover{color:var(--gold-dark)}
.header-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5}
.mobile-nav-toggle{display:none}

/* Ordmärke — speglar tidningens logotyp */
.wordmark{display:block;text-align:center;line-height:1;white-space:nowrap}
.wordmark .wm-1{
  font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:.005em;
  display:inline-block;
}
.wordmark .wm-2{
  font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;
  display:inline-block;margin-left:-.22em;transform:translateY(.34em);
}
.wordmark--lg .wm-1{font-size:clamp(48px,9vw,104px)}
.wordmark--lg .wm-2{font-size:clamp(27px,5vw,58px)}
.wordmark--inv{color:#fff}

/* --- navigation ---------------------------------------------------------- */
.site-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.nav-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);
  display:flex;gap:30px;align-items:center;
  justify-content:center;justify-content:safe center;
  overflow-x:auto;scrollbar-width:none;
}
.nav-inner::-webkit-scrollbar{display:none}
.nav-inner a{
  font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--charcoal);
  padding:14px 0;white-space:nowrap;border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s;
}
.nav-inner a:hover{color:var(--gold-dark)}
.nav-inner a[aria-current]{color:var(--gold-dark);border-bottom-color:var(--gold)}

/* --- hero ---------------------------------------------------------------- */
.hero{position:relative;background:var(--cream);overflow:hidden;display:grid}
.hero>*{grid-area:1/1}
.hero-slides{position:relative;height:min(76vh,700px);min-height:520px}
.hero-slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;
  opacity:0;transition:opacity 1s ease;
}
.hero-slide.is-active{opacity:1}
.hero-shade{display:none}
.hero-body{
  position:relative;z-index:2;display:flex;align-items:center;padding:44px 0;
}
.hero-body .wrap{width:100%}
.hero-copy{max-width:660px;color:#fff}
/* Skuggan gör texten läsbar även på ljusa bilder — viktigt när bilden byts i adminen. */
.hero-copy h1{text-shadow:0 2px 26px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.4)}
.hero-copy p,.hero-copy .eyebrow{text-shadow:0 1px 16px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.6)}
.hero-copy .eyebrow{color:rgba(255,255,255,.82)}
.hero-copy h1{
  font-size:clamp(34px,5.6vw,68px);line-height:1.02;margin:16px 0 18px;color:#fff;
}
.hero-copy p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.95);max-width:470px}
.hero-copy .meta{color:rgba(255,255,255,.62)}
.hero-dots{
  position:absolute;z-index:3;right:max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)));
  bottom:24px;display:flex;gap:9px;
}
.hero-dots button{
  width:8px;height:8px;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;
  background:transparent;cursor:pointer;
}
.hero-dots button[aria-current="true"]{background:#fff}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  padding:14px 26px;border:1px solid currentColor;cursor:pointer;
  background:none;font-family:var(--sans);transition:background .18s,color .18s;
}
.btn:hover{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}
.btn--gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn--gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.btn--light{color:#fff}
.btn--light:hover{background:#fff;color:var(--charcoal);border-color:#fff}

/* --- layout: innehåll + annonsspalt -------------------------------------- */
.layout{
  display:grid;grid-template-columns:minmax(0,1fr) var(--rail);
  gap:56px;padding:56px 0 72px;
}
.rail{position:relative}
.rail-sticky{position:sticky;top:130px;display:flex;flex-direction:column;gap:34px}

/* --- kort ---------------------------------------------------------------- */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 34px}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}

.card{display:flex;flex-direction:column;gap:11px}
.card-media{overflow:hidden;background:var(--cream-deep);aspect-ratio:4/3}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.card:hover .card-media img{transform:scale(1.045)}
.card h3{font-size:22px;line-height:1.18}
.card:hover h3{color:var(--gold-dark)}
.card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.card--lead{grid-column:1/-1}
.card--lead .card-media{aspect-ratio:16/9}
.card--lead h3{font-size:clamp(28px,3.6vw,40px);line-height:1.08}
.card--lead p{font-size:15.5px;max-width:62ch}
.card--sm .card-media{aspect-ratio:3/2}
.card--sm h3{font-size:17px;line-height:1.25}

.card--text{border-top:1px solid var(--line);padding-top:14px}

/* numrerad lista (mest lästa) */
.ranked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ranked li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.ranked li:last-child{border-bottom:0}
.ranked .num{font-family:var(--serif);font-size:30px;line-height:1;color:var(--gold);min-width:30px}
.ranked h4{font-size:15px;line-height:1.3;font-family:var(--serif);font-weight:400}
.ranked a:hover h4{color:var(--gold-dark)}

/* --- annonsblock ---------------------------------------------------------- */
.ad-label{
  font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-2);
  text-align:center;padding-bottom:8px;
}
.ad{
  background:var(--olive);color:var(--cream);text-align:center;
  padding:38px 26px;display:flex;flex-direction:column;align-items:center;gap:12px;
}
.ad .eyebrow{color:rgba(244,240,234,.6)}
.ad h4{font-family:var(--serif);font-size:24px;line-height:1.2}
.ad p{font-size:13px;color:rgba(244,240,234,.75);margin:0}
.ad .btn{border-color:rgba(244,240,234,.6);color:var(--cream);margin-top:6px}
.ad .btn:hover{background:var(--cream);color:var(--olive);border-color:var(--cream)}
.ad--tall{min-height:520px;justify-content:center}
.ad--wide{padding:44px 26px}
.ad--cream{background:var(--cream-deep);color:var(--charcoal)}
.ad--cream p{color:var(--muted)}
.ad--cream .eyebrow{color:var(--muted-2)}
.ad--cream .btn{border-color:var(--charcoal);color:var(--charcoal)}

.inline-ad{margin:52px 0}
.ad-placement--panorama,.ad-placement--banner{margin:52px auto}
.ad-creative{margin:0 auto;background:var(--cream-deep);overflow:hidden}
.ad-creative a{display:block;width:100%;height:100%}
.ad-creative img,.ad-creative video{display:block;width:100%;height:100%;object-fit:contain}
.ad-creative--widescreen{width:min(250px,100%);aspect-ratio:250/600}
.ad-creative--panorama{width:min(980px,100%);aspect-ratio:980/240}
.ad-creative--banner{width:min(896px,calc(100% - 40px));aspect-ratio:896/300}

/* --- utgåva / omslag ------------------------------------------------------ */
.issue-hero{
  display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:64px;align-items:center;padding:64px 0 72px;
}
.cover{
  box-shadow:0 30px 70px -28px rgba(14,14,14,.55),0 2px 8px rgba(14,14,14,.1);
  background:#fff;
}
.cover img{width:100%}
.cover--sm{box-shadow:0 18px 40px -20px rgba(14,14,14,.45)}
.issue-hero h1{font-size:clamp(36px,4.6vw,58px);line-height:1.05;margin:14px 0 20px}
.issue-hero .lede{font-size:17px;color:var(--muted);max-width:52ch}
.issue-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:22px;margin:32px 0 30px;padding-top:26px;border-top:1px solid var(--line);
}
.issue-facts dt{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}
.issue-facts dd{margin:0;font-family:var(--serif);font-size:21px}

/* --- artikel -------------------------------------------------------------- */
.article-head{max-width:760px;margin:0 auto;padding:52px 0 30px;text-align:center}
.article-head h1{font-size:clamp(32px,4.6vw,56px);line-height:1.06;margin:16px 0 20px}
.article-head .lede{font-size:18px;line-height:1.6;color:var(--muted);margin-bottom:22px}
.article-figure{
  width:min(calc(100% - 40px),1180px);margin:0 auto 44px;overflow:hidden;
}
.article-figure img{
  display:block;width:auto;max-width:100%;height:auto;max-height:min(68vh,720px);
  margin:0 auto;object-fit:contain;
}
.article-figure figcaption{font-size:12px;color:var(--muted-2);padding-top:10px;text-align:center}
.article-body{max-width:680px;margin:0 auto;font-size:17px;line-height:1.78}
.article-body p:first-of-type::first-letter{
  font-family:var(--serif);font-size:4.1em;line-height:.82;float:left;
  padding:.05em .1em 0 0;color:var(--charcoal);
}
.article-body h2{font-size:27px;margin:2em 0 .6em}
.article-body blockquote{
  margin:2em 0;padding:0 0 0 24px;border-left:2px solid var(--gold);
  font-family:var(--serif);font-size:23px;line-height:1.42;font-style:italic;
}
.article-body blockquote cite{display:block;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-top:14px}
.factbox{
  background:var(--cream-deep);padding:30px 32px;margin:2.2em 0;
}
.factbox h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-family:var(--sans);font-weight:500;margin-bottom:14px;color:var(--gold-dark)}
.factbox p:last-child,.factbox ul:last-child{margin-bottom:0}
.factbox ul{margin:0;padding-left:18px;font-size:15px}
.factbox li{margin-bottom:7px}
.article-foot{
  max-width:680px;margin:48px auto 0;padding-top:26px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  font-size:12px;color:var(--muted-2);
}

/* --- läsvy (bläddra i numret) --------------------------------------------- */
.reader{background:#1b1b1a;color:#f4f0ea;padding:26px 0 60px}
.reader-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:16px;padding-bottom:22px;
}
.reader-bar .eyebrow{color:rgba(244,240,234,.55)}
.reader-bar h2{font-family:var(--serif);font-size:23px;color:#fff}
.reader-ctrl{display:flex;align-items:center;gap:10px}
.reader-ctrl button{
  background:none;border:1px solid rgba(244,240,234,.32);color:#f4f0ea;
  width:40px;height:40px;cursor:pointer;font-size:16px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:.15s;
}
.reader-ctrl button:hover:not(:disabled){background:#f4f0ea;color:#1b1b1a}
.reader-ctrl button:disabled{opacity:.3;cursor:default}
.reader-count{font-size:11px;letter-spacing:.16em;text-transform:uppercase;min-width:112px;text-align:center;color:rgba(244,240,234,.75)}
.spread{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:rgba(0,0,0,.4)}
.spread img{width:100%;background:#fff}
.spread img.is-hidden{display:none}
.spread.is-single{grid-template-columns:minmax(0,calc(50% - 2px));justify-content:center}
.thumbs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));
  gap:10px;margin-top:26px;
}
.thumbs button{padding:0;border:2px solid transparent;background:none;cursor:pointer;line-height:0}
.thumbs button[aria-current]{border-color:var(--gold)}
.thumbs img{width:100%}

/* --- mediakit ------------------------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{background:var(--cream);padding:30px 24px}
.stat .n{font-family:var(--serif);font-size:44px;line-height:1;margin-bottom:8px}
.stat .l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}

.table{width:100%;border-collapse:collapse;font-size:15px}
.table th{
  text-align:left;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;color:var(--muted-2);padding:0 16px 12px 0;border-bottom:1px solid var(--charcoal);
}
.table td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line-soft);vertical-align:top}
.table td:first-child{font-family:var(--serif);font-size:18px}
.table td:nth-child(2){white-space:nowrap}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:56px;align-items:start}
.prose{max-width:66ch}
.prose h2{font-size:30px;margin:0 0 .6em}
.prose h3{font-size:20px;margin:1.8em 0 .5em}
.prose p{color:var(--muted);font-size:16px}
.prose strong{color:var(--charcoal);font-weight:500}

.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.person{border-top:1px solid var(--charcoal);padding-top:16px}
.person .role{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.person .name{font-family:var(--serif);font-size:21px;margin-bottom:4px}
.person a{font-size:13px;color:var(--gold-dark)}

/* --- kontakta oss --------------------------------------------------------- */
.contact-page{padding-bottom:78px}
.contact-hero{max-width:900px;text-align:center;padding-top:72px;padding-bottom:54px}
.contact-hero h1{font-size:clamp(46px,7vw,82px);line-height:1;margin:14px 0 22px}
.contact-hero p{max-width:630px;margin:0 auto;color:var(--muted);font-size:17px}
.contact-details{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--charcoal);border-bottom:1px solid var(--line);padding-top:0;padding-bottom:0;
}
.contact-detail{min-width:0;padding:38px 30px;text-align:center;border-right:1px solid var(--line)}
.contact-detail:last-child{border-right:0}
.contact-detail svg{
  width:27px;height:27px;margin:0 auto 18px;fill:none;stroke:var(--gold-dark);stroke-width:1.35;
}
.contact-detail .eyebrow{display:block;margin-bottom:8px}
.contact-detail p,.contact-detail a{margin:0;font-family:var(--serif);font-size:19px;line-height:1.35}
.contact-detail a{color:var(--charcoal)}
.contact-detail a:hover{color:var(--gold-dark)}
.contact-team{padding-top:76px}
.contact-team > .section-head{margin-bottom:34px}
.contact-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.contact-person{min-width:0}
.contact-person-media{aspect-ratio:4/5;background:var(--cream-deep);overflow:hidden;margin-bottom:23px}
.contact-person-media img{width:100%;height:100%;object-fit:cover;object-position:center top}
.contact-person-placeholder{
  width:100%;height:100%;display:grid;place-items:center;background:var(--olive);color:rgba(244,240,234,.82);
  font-family:var(--serif);font-size:72px;letter-spacing:.04em;
}
.contact-person-copy h2{font-size:28px;line-height:1.12;margin:7px 0 11px}
.contact-person-copy p{color:var(--muted);font-size:14px;line-height:1.6;min-height:45px}
.contact-person-copy a{font-size:13px;color:var(--gold-dark);word-break:break-word}

/* --- band ----------------------------------------------------------------- */
.band{background:var(--cream-deep);padding:64px 0}
.band--dark{background:var(--olive);color:var(--cream)}
.band--dark h2,.band--dark h3{color:#fff}
.band--dark p{color:rgba(244,240,234,.78)}
.band--dark .btn{border-color:rgba(244,240,234,.6);color:var(--cream)}
.band--dark .btn:hover{background:var(--cream);color:var(--olive);border-color:var(--cream)}

/* --- nyhetsbrev ------------------------------------------------------------ */
.newsletter{text-align:center;max-width:540px;margin:0 auto}
.newsletter h2{font-size:34px;margin-bottom:12px}
.newsletter p{color:var(--muted);margin-bottom:26px}
.nl-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.nl-form input{
  flex:1 1 260px;padding:14px 16px;border:1px solid var(--line);background:var(--cream);
  font-family:var(--sans);font-size:14px;color:var(--charcoal);
}
.nl-form input:focus{outline:none;border-color:var(--gold)}
.nl-note{font-size:11px;color:var(--muted-2);margin-top:14px}

/* --- footer ---------------------------------------------------------------- */
.site-footer{background:var(--footer);padding:58px 0 30px;margin-top:20px}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:44px;padding-bottom:42px}
.footer-brand p{font-size:13.5px;color:var(--muted);max-width:32ch;margin-top:16px}
.social{display:flex;gap:14px;margin-top:20px}
.social a{
  width:34px;height:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
}
.social a:hover{background:var(--charcoal);border-color:var(--charcoal);color:var(--footer)}
.social svg{width:15px;height:15px;fill:currentColor}
.footer-col h5{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  font-family:var(--sans);margin:0 0 16px;
}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.footer-col a:hover{color:var(--charcoal)}
.footer-bottom{
  border-top:1px solid rgba(14,14,14,.14);padding-top:24px;
  display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;
  font-size:11.5px;color:var(--muted-2);
}

/* --- sök-overlay ------------------------------------------------------------ */
.search-overlay{
  position:fixed;inset:0;z-index:200;background:var(--cream);
  display:none;padding:14vh 24px 0;
}
.search-overlay.is-open{display:block}
.search-box{max-width:680px;margin:0 auto}
.search-box input{
  width:100%;border:0;border-bottom:1px solid var(--charcoal);background:none;
  font-family:var(--serif);font-size:clamp(26px,5vw,44px);padding:0 0 16px;color:var(--charcoal);
}
.search-box input:focus{outline:none}
.search-results{margin-top:32px;max-height:52vh;overflow:auto}
.search-results a{display:block;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.search-results .eyebrow{margin-bottom:5px}
.search-results h4{font-family:var(--serif);font-size:19px;font-weight:400}
.search-close{position:absolute;top:26px;right:28px}

/* --- responsivt -------------------------------------------------------------- */
@media (max-width:1080px){
  .layout{grid-template-columns:minmax(0,1fr);gap:0}
  .rail{display:none}
  .desktop-ad-placement{display:none!important}
  .issue-hero{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:44px}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px}
  .grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  :root{--gutter:16px}
  .only-desktop{display:none}
  .only-mobile{display:block}
  .header-main{grid-template-columns:1fr auto 1fr;padding:12px var(--gutter);gap:8px}
  .header-left{gap:12px}
  .header-right{gap:8px}
  .header-btn{min-width:32px;min-height:32px;justify-content:center}
  .mobile-nav-toggle{display:inline-flex}
  .wordmark .wm-1{font-size:24px}
  .wordmark .wm-2{font-size:14px}
  .site-nav{display:none;border-top:1px solid var(--line);box-shadow:0 12px 22px rgba(14,14,14,.08)}
  .site-nav.is-open{display:block}
  .nav-inner{
    max-height:calc(100svh - 58px);overflow-y:auto;overflow-x:hidden;
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:8px var(--gutter) 14px;
  }
  .nav-inner a{font-size:12px;padding:12px 4px;border-bottom:1px solid var(--line-soft)}
  .nav-inner a[aria-current]{border-bottom-color:var(--gold);color:var(--gold-dark)}
  .hero-slides{height:clamp(420px,68svh,590px);min-height:0}
  .hero-slide{object-position:center center}
  .hero-body{align-items:flex-end;padding:88px 0 30px}
  .hero-copy{max-width:100%}
  .hero-copy h1{font-size:clamp(30px,10vw,44px);margin:10px 0 12px}
  .hero-copy p{font-size:14px;line-height:1.5;max-width:36ch}
  .hero-dots{right:var(--gutter);bottom:16px;gap:10px}
  .hero-dots button{width:11px;height:11px}
  .section-head{align-items:flex-start;margin-bottom:20px}
  .grid,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr);gap:34px}
  .card--lead h3{font-size:28px}
  .card-media,.card--lead .card-media,.card--sm .card-media{aspect-ratio:4/3}
  .issue-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding:34px 0 44px}
  .issue-hero .cover{max-width:min(300px,86vw);margin:0 auto}
  .issue-hero h1{font-size:clamp(32px,10vw,44px)}
  .issue-facts{grid-template-columns:1fr 1fr;gap:18px}
  .spread,.spread.is-single{grid-template-columns:1fr}
  .reader{padding:22px 0 38px}
  .reader-bar{align-items:flex-end}
  .reader-ctrl{width:100%;justify-content:space-between}
  .reader-ctrl button{width:46px;height:46px}
  .thumbs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}
  .thumbs button{flex:0 0 76px;scroll-snap-align:start}
  .article-head{padding:34px 0 24px}
  .article-head h1{font-size:clamp(31px,10vw,43px);margin:12px 0 16px}
  .article-head .lede{font-size:16px;line-height:1.5}
  .article-figure{width:calc(100% - 32px);margin-bottom:30px}
  .article-figure img{max-height:56svh}
  .article-body{font-size:16.5px}
  .article-body h2{font-size:24px}
  .article-body blockquote{font-size:20px;margin:1.7em 0;padding-left:18px}
  .factbox{padding:22px 20px;margin:1.8em 0}
  .article-foot{align-items:stretch;margin-top:36px}
  .article-foot .btn{justify-content:center;width:100%}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column}
  .split{gap:34px}
  .layout{padding:34px 0 46px}
  .band{padding:46px 0}
  .site-footer{padding:44px 0 24px}
  .newsletter h2{font-size:29px}
  .nl-form{flex-direction:column}
  .nl-form input{flex-basis:auto;width:100%;min-height:48px}
  .nl-form .btn{justify-content:center;width:100%;min-height:48px}
  .table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table th,.table td{min-width:132px}
  .search-overlay{padding:100px 16px 0}
  .search-close{top:20px;right:16px}
  .contact-page{padding-bottom:52px}
  .contact-hero{padding-top:48px;padding-bottom:38px}
  .contact-hero h1{font-size:clamp(42px,14vw,60px)}
  .contact-hero p{font-size:15px}
  .contact-details{grid-template-columns:1fr}
  .contact-detail{padding:28px 12px;border-right:0;border-bottom:1px solid var(--line)}
  .contact-detail:last-child{border-bottom:0}
  .contact-team{padding-top:50px}
  .contact-people{grid-template-columns:1fr;gap:42px}
  .contact-person-media{max-height:520px}
  .contact-person-copy p{min-height:0}
}

@media (max-width:390px){
  .read-label{display:none}
  .header-right .header-btn svg{width:18px;height:18px}
  .wordmark .wm-1{font-size:22px}
  .wordmark .wm-2{font-size:13px}
  .hero-slides{height:clamp(400px,66svh,540px)}
  .hero-copy .meta{display:none}
  .issue-facts{grid-template-columns:1fr}
  .section-head{flex-direction:column;gap:6px}
}
