/* Shared reading scale and editorial rhythm. Loaded after the ad map styles. */
:root{--muted:#535851;--reading-gap:24px}
body{font-size:18px;line-height:1.6}
.story-grid .story p,.compact-section .story p,.food-grid .story p,
.cover-details p,.pick-details p,.magazine-copy p,.newsletter-panel p,
.product p,.section-intro,.event-card p{font-size:18px;line-height:1.65}
.eyebrow,.tag,.story-grid .story .eyebrow,.pick-story .eyebrow,
.pick-feature .tag,.event-card .eyebrow,.magazine-copy .eyebrow,
.magazine-art>span,.life-photo>span,.cover-copy .eyebrow,
.newspaper-utility,.masthead-note,.masthead-note span,.story-bottom,
.cover-copy .story-bottom,.region-status,.ad-label,.page-note,.footer-bottom,
.radar,.radar strong,.radar>a,.front-title>span,.zone-caption,
.ad-variants summary,.event-date span,.product .eyebrow,
.search-scope,.empty-state,.result-link span{font-size:16px;line-height:1.5;letter-spacing:.2px}
.main-nav,.main-nav>a,.main-nav>a:nth-of-type(1),.main-nav>a:nth-of-type(2),
.region-filters button,.button,.header-actions .button,.section-heading>a,
.latest-panel .latest-all,.magazine-secondary,summary,.brief-grid a,
.product-bottom,.footer-top a,.mega-menu{font-size:17px;line-height:1.5}
.icon-button,.save,.cover-arrow{width:48px;min-width:48px;height:48px;min-height:48px}
.button,.region-filters button{min-height:48px}
.main-nav{gap:4px 18px}.main-nav>a{padding:10px 0}
.main-nav .icon-button{min-width:48px}.main-nav .search-open{margin-left:auto}
.newspaper-utility{gap:16px}.newspaper-utility>div{gap:20px;flex-wrap:wrap;justify-content:flex-end}
.masthead{min-height:140px;height:auto;padding:24px 0}.masthead-note{line-height:1.6}
.radar{gap:18px;padding:16px 0}.radar>a:last-child{padding-left:18px}
.front-title{gap:20px;margin:24px 0 20px}.front-title>span{max-width:420px}
.hero-grid{gap:24px}.lead-story,.latest-panel{min-width:0}
.cover-story{height:540px}.cover-copy{left:28px;right:28px;padding-right:0}
.cover-copy h2{line-height:1.12;margin-bottom:20px}
.cover-copy .story-bottom{max-width:calc(100% - 60px)}
.cover-details p{margin:14px 0 0;color:#535851}
.latest-panel>a:not(.latest-all){padding:18px 0;gap:14px}
.latest-panel strong{line-height:1.3}.latest-panel>.red-ad-zone{margin-top:20px}
.editors-picks{gap:24px;margin:24px 0;padding-bottom:24px}
.pick-feature,.pick-story{grid-template-columns:100px minmax(0,1fr);gap:0 16px}
.pick-feature+.pick-story,.pick-story+.pick-story{padding-left:24px}
.pick-details p{margin:12px 0 0}.pick-feature .hero-overlay h2,.pick-story h3{font-size:23px;line-height:1.25}
.news-section,.events-section,.shop-section{margin:36px 0}
.section-heading{gap:16px;padding:20px 0 24px;align-items:center}
.section-heading h2{font-size:36px;line-height:1.2;letter-spacing:-.6px}
.section-heading>a{min-height:44px;padding:8px 0;flex-shrink:0}
.region-status{margin:12px 0 24px}.section-intro{margin:0 0 24px}
.story-grid,.event-grid,.food-grid{gap:24px}
.story-grid>.story{padding-top:12px;min-width:0}
.story-grid .story h3{font-size:28px;line-height:1.25;letter-spacing:-.25px}
.story-grid .story .eyebrow{margin:14px 0 8px}
.story-grid .story p{margin-bottom:12px;color:#535851}
.story-bottom{padding-top:8px;gap:12px;color:#535851}
.story-body{min-width:0}.story h3,.event-card h3,.product h3{overflow-wrap:anywhere;hyphens:auto}
.additional-headlines{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.additional-heading{font-size:23px;line-height:1.3;margin:0 0 8px}
.brief-grid{gap:0 24px}.brief-grid a{min-height:48px;padding:14px 0}
.magazine-spread{margin:24px 0;padding:40px 48px;gap:40px}
.magazine-copy p{color:#fff3ef}.magazine-copy .eyebrow,.magazine-art>span,.magazine-secondary{color:#fff0e9}
.life-section{margin:36px 0}.life-photo{min-height:480px}
.life-links h3{font-size:20px}.life-links p{font-size:17px;line-height:1.5;color:#535851}
.life-links>a>span{font-size:16px;flex-shrink:0}.life-links>a{gap:14px}
.voices-section{padding:28px}.voices-section .story p{color:#e2ded5}
.voices-section .section-intro,.voices-section .story-bottom{color:#d8d4ca}
.compact-section .story-grid>.story{grid-template-columns:140px minmax(0,1fr);gap:20px;padding-top:16px}
.compact-section .story-grid>.story:not(:has(.image-link)){display:flex}
.compact-section .story .eyebrow{margin-top:0}
.event-card h3,.food-grid .story h3,.compact-section .story h3{font-size:26px;line-height:1.25}
.event-card p{margin-bottom:0}.food-grid .story{grid-template-columns:150px minmax(0,1fr)}
.subheading{gap:16px;margin:24px 0 20px;padding-top:20px}.subheading span{font-size:17px;line-height:1.5}
.latest-panel h2 span{font-size:16px}
.newsletter-panel{margin:36px 0;padding:32px 40px 32px 100px;gap:24px}
.newsletter-symbol{left:28px;top:38px}.newsletter-panel .button{white-space:normal;flex-shrink:0}
.product{display:flex;flex-direction:column;min-width:0}.product h3{margin:12px 0;font-size:25px}
.product-bottom{margin-top:auto;gap:12px}.product-bottom a{min-width:48px;min-height:48px}
.footer-top{gap:24px}.footer-top h2{font-size:19px;line-height:1.4}
.footer-top a{padding:8px 0;margin:0;min-height:44px}
.mega-menu a{padding:10px 0;min-height:48px}.result-link h3{font-size:22px;line-height:1.35}
.search-field input{font-size:18px}.search-scope{margin:16px 0}.ad-map-note,#toast{font-size:16px}

/* Two advertising columns fit the existing 180px creatives without squeezing them.
   Short editorial sections use a ribbon, so ads cannot extend an empty text column. */
.advertising-layout{grid-template-columns:minmax(0,1fr) 416px;gap:24px;align-items:start}
.advertising-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;min-width:0}
.advertising-rail .red-ad-zone{padding:10px;align-self:start;height:auto}
.red-ad-zone{padding:12px;min-width:0}.zone-caption{margin-bottom:12px}
.red-ad-zone .ad img{width:min(100%,var(--creative-width));max-width:100%;height:auto;max-height:none;object-fit:contain}
.red-ad-zone .ad[data-ad-id=ad-01]{margin:0;padding:0}
.ad-zone-leaderboard,.ad-zone-available-wide{margin:24px 0;text-align:center}
.ad-zone-leaderboard .ad img{max-height:none}
.ad-variants summary{padding:12px 0;min-height:48px}
.advertising-ribbon{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.ribbon-section .advertising-layout{grid-template-columns:1fr}
.editorial-groups{display:grid;gap:24px}
.editorial-band{grid-template-columns:minmax(0,1fr) 224px}
.editorial-band .advertising-rail{grid-template-columns:1fr}
.editorial-groups>.additional-headlines{margin-top:0}
.editorial-groups>.advertising-ribbon{grid-template-columns:repeat(4,minmax(0,1fr))}
.story-grid:has(>.story:only-child){grid-template-columns:1fr}
.editorial-band:has(.story:only-child){grid-template-columns:1fr}
.editorial-band:has(.story:only-child) .story{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}
.editorial-band:has(.story:only-child) .story .eyebrow{margin-top:0}
.editorial-band:has(.story:only-child) .advertising-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
.news-section.is-filtered .editorial-band:not(:has(.story:not([hidden]))){display:none}
.compact-section .ad-editorial-content .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ad-editorial-content .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ad-placeholder{padding:18px 12px;gap:12px;min-height:0}
.ad-placeholder strong{font-size:25px;line-height:1.2}.ad-placeholder span,.ad-placeholder a{font-size:17px;line-height:1.5}
.ad-placeholder a{display:inline-flex;align-items:center;justify-content:center;min-height:48px}
.ad-zone-available .ad-placeholder{width:100%;aspect-ratio:auto;min-height:210px}
.ad-zone-available-wide .ad-placeholder{min-height:100px;padding:18px;gap:16px}

@media(max-width:1199px){
 .advertising-layout{display:block}
 .advertising-rail,.advertising-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;gap:16px}
 .editorial-band{display:grid;grid-template-columns:minmax(0,1fr) 224px}
 .editorial-band:has(.story:only-child){grid-template-columns:1fr}
 .editorial-band .advertising-rail{margin-top:0}
 .advertising-rail .red-ad-zone{padding:12px}
 .masthead{grid-template-columns:1fr 1.3fr 1fr}.masthead .brand img{width:260px}
 .front-title>span{max-width:340px}
 .hero-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}
 .cover-story{height:520px}.cover-copy h2{font-size:40px}
 .footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1}
}
@media(max-width:900px){
 .advertising-rail,.advertising-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))}
 .editorial-band{display:block}.editorial-band .advertising-rail{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
 .editorial-band:has(.story:only-child) .advertising-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
 .editorial-groups>.advertising-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero-grid{grid-template-columns:1fr}.latest-panel{display:block;margin-top:0;padding:0}
 .latest-panel>a:not(.latest-all){grid-template-columns:90px minmax(0,1fr)}
 .latest-panel>.red-ad-zone{margin-top:20px}.latest-panel>.red-ad-zone .ad-placeholder{aspect-ratio:auto;min-height:140px}
 .editors-picks{grid-template-columns:1fr}
 .pick-feature+.pick-story,.pick-story+.pick-story{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
 .pick-details{grid-column:2}.pick-feature .hero-visual img,.pick-story .image-link img{width:100px;height:100px}
 .magazine-spread{padding:32px;gap:28px}.magazine-copy h2{font-size:38px}
 .compact-section .ad-editorial-content .story-grid{grid-template-columns:1fr}
 .newsletter-panel{display:block}.newsletter-panel .button{margin-top:12px}
}
@media(max-width:760px){
 .masthead{display:flex;padding:20px 0;min-height:112px}.masthead .brand img{width:225px}
 .newspaper-utility>span{max-width:185px}.newspaper-utility>div{gap:0}
 .main-nav{gap:4px 12px}.front-title>span{display:none}
 .cover-story{height:480px}.cover-copy{left:24px;right:24px}
 .magazine-copy .button{font-size:17px}.magazine-art>span{letter-spacing:.2px}
 .life-photo{min-height:280px}.life-intro{padding:24px 24px 0}.life-links{padding:0 24px 24px}
 .voices-section{padding:24px}.section-heading h2{font-size:32px}
 .newsletter-panel{padding:28px}.newsletter-symbol{display:none}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .advertising-rail,.advertising-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
 .editorial-groups>.advertising-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ad-editorial-content .story-grid,.ad-editorial-content .event-grid{grid-template-columns:1fr}
 .section-heading{align-items:flex-start}.section-heading>a{flex-shrink:1}
 .food-grid .story{grid-template-columns:110px minmax(0,1fr)}
 .magazine-spread{grid-template-columns:1fr;padding:28px;gap:24px}
 .magazine-art>span{font-size:16px}.magazine-copy h2{font-size:38px}
 .magazine-copy p{max-width:none}.magazine-copy .button{width:100%;min-width:0}
 .section-heading h2{font-size:30px}.newsletter-panel h2{font-size:36px}
}
@media(max-width:520px){
 .masthead .brand img{width:205px}.header-actions .button{font-size:16px;padding:12px}
 .main-nav>a:nth-of-type(2){padding-top:10px}.radar>a{font-size:16px}
 .cover-copy h2{font-size:36px}.cover-copy .eyebrow,.cover-copy .story-bottom{font-size:16px}
 .cover-copy .story-bottom{max-width:calc(100% - 56px)}
 .pick-feature,.pick-story{grid-template-columns:90px minmax(0,1fr);gap:0 16px}
 .pick-feature .hero-visual img,.pick-story .image-link img{width:90px;height:94px}
 .pick-feature .hero-overlay h2,.pick-story h3{font-size:24px}
 .pick-details{grid-column:1/-1}.editors-picks{gap:20px}
 .news-section,.events-section,.shop-section,.life-section,.newsletter-panel{margin:28px 0}
 .section-heading{gap:12px;padding:18px 0 20px}.section-heading>a{font-size:16px}
 .voices-section{padding:20px}.voices-section .section-heading h2{font-size:29px}
 .story-grid .story h3,.compact-section .story h3,.food-grid .story h3,.event-card h3{font-size:27px}
 .story-grid>.story{padding-bottom:16px}
 .compact-section .story-grid>.story{display:block}.compact-section .story .image-link{margin-bottom:16px}
 .food-grid .story{display:block}.food-grid .story .image-link{display:block;margin-bottom:16px}
 .food-grid .image-link img{aspect-ratio:1.7}.event-card .eyebrow{font-size:16px}
 .event-card p{font-size:18px}.ad-zone-leaderboard,.ad-zone-available-wide{margin:20px 0;padding:12px}
 .advertising-rail,.advertising-ribbon{grid-template-columns:1fr;margin-top:20px;gap:16px}
 .editorial-band .advertising-rail,.editorial-groups>.advertising-ribbon{grid-template-columns:1fr;margin-top:20px}
 .editorial-band:has(.story:only-child) .story{display:flex;gap:0}
 .editorial-band:has(.story:only-child) .advertising-rail{grid-template-columns:1fr}
 .advertising-rail .red-ad-zone{padding:16px}.advertising-rail .zone-caption{font-size:16px}
 .advertising-rail .ad img{width:min(100%,var(--creative-width));max-height:none}
 .ad-zone-available .ad-placeholder{aspect-ratio:auto;min-height:210px}
 .ad-zone-available-wide .ad-placeholder{flex-direction:column;min-height:0;padding:20px;gap:8px}
 .footer-top{gap:24px 20px}.footer-top a{font-size:17px}
}
@media(max-width:360px){
 .masthead .brand img{width:225px}.cover-copy{left:20px;right:20px}
 .cover-copy h2{font-size:33px}.cover-copy .story-bottom span{max-width:none}
 .section-heading{display:block}.section-heading>a{width:fit-content;margin-top:8px}
 .footer-top{grid-template-columns:1fr}
}
