/* Editorial imagery, progressive enhancement; no external dependencies. */
.editorial-figure{margin:38px 0 42px;overflow:hidden;border-radius:2px}
.editorial-figure img,.prose .editorial-figure img{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;aspect-ratio:2/1}
.editorial-figure figcaption{font-size:.78rem;line-height:1.5;color:var(--muted);padding-top:10px}
.article-layout .prose>.editorial-figure:first-child{margin-top:0}
.featured-writing{padding-bottom:55px}
.featured-heading{margin-bottom:28px}
.featured-heading h2{font-size:clamp(2.6rem,4vw,3.8rem);margin-top:12px}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.featured-story{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border-bottom:1px solid var(--line);padding-bottom:23px}
.featured-story img{width:100%;height:auto;aspect-ratio:2/1;margin-bottom:22px}
.featured-story .eyebrow{color:var(--muted);font-size:.7rem}
.featured-story h3{font-size:clamp(1.7rem,2.5vw,2.3rem);margin:12px 0 22px;line-height:1.13}
.featured-read{font-size:.85rem;margin-top:auto;display:flex;width:100%;justify-content:space-between;gap:15px}
.featured-story:hover h3,.featured-story:focus-visible h3{color:var(--blue)}
.mobile-contents{display:none}
@media(max-width:720px){
 .featured-grid{grid-template-columns:1fr;gap:30px}
 .featured-story{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:18px;align-items:start}
 .featured-story img{grid-column:1;grid-row:1/4;aspect-ratio:1/1;object-fit:cover;margin:0}
 .featured-story .eyebrow,.featured-story h3,.featured-read{grid-column:2}
 .featured-story h3{font-size:1.6rem;margin:8px 0 14px}
 .featured-writing{padding-bottom:20px}
 .editorial-figure{margin:28px 0 32px}
 .mobile-contents{display:block;border-top:1px solid var(--line);padding:16px 0}
 .mobile-contents summary{font-size:.95rem}
 .mobile-contents nav{padding-top:14px;display:grid;gap:4px}
 .mobile-contents a{display:block;font-size:.9rem;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
}
@media(prefers-reduced-motion:no-preference){.featured-story h3{transition:color .15s ease}}
@media print{.featured-grid{grid-template-columns:repeat(3,1fr)}.editorial-figure,.featured-story{break-inside:avoid}.mobile-contents{display:none}}

/* Header: between the mobile menu breakpoint and 860px the nav carries six
   items and overflows, which wraps the booking button onto two lines. The
   logo tagline is the widest thing that can go, so it goes there only. */
@media(min-width:721px) and (max-width:860px){.logo span{display:none}.nav{gap:16px}}
