/* Local behavior and accessible editorial components on the approved reference theme. */
:root { --white:#fff; --soft:#f1f5f9; --z-toast:140; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--ember); outline-offset:4px; }
button,input,a { -webkit-tap-highlight-color:transparent; }
button,input { font:inherit; }
input::placeholder { color:#655f53; opacity:1; }
.wrap { width:min(1248px,calc(100% - 2 * var(--gutter))); margin-inline:auto; }
.icon { display:inline-block; width:20px; height:20px; vertical-align:middle; flex:none; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:150; background:#fff; color:#111; padding:12px 20px; }
.skip-link:focus { top:12px; }
.hero { aspect-ratio:auto; overflow:clip; }
.reveal { opacity:1; transform:none; }
.mask { clip-path:none; }
.slide__title .w { opacity:1; clip-path:none; transform:none; }
.slide__actions .save-button { color:#fff; border-color:rgba(255,255,255,.35); }
.slide__by { display:inline-flex; gap:14px; align-items:center; }
.thumb.is-active .thumb__bar i { width:100%; animation:none; }
.ticker a:not(:first-child) { display:none; }
.nav__link[aria-current] { color:var(--ember); }
.nav__link[aria-current]::after { transform:scaleX(1); }
.header__logo-row { display:none; }
.header__actions .saved-link { position:relative; }
.saved-count { position:absolute; top:-4px; right:-4px; border-radius:50%; min-width:16px; height:16px; padding:0 3px; font:600 10px/16px var(--body); color:#fff; background:var(--ember); }
.note { position:relative; min-width:0; }
.note__media { display:block; }
.note__media img { width:100%; height:100%; object-fit:cover; }
.note__body h3 a:hover { color:var(--ember); }
.note__body { padding-top:0; }
.note__meta .chip { flex:none; }
.note__excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.note__save { position:absolute; top:12px; right:12px; z-index:2; }
.note__save .save-button { border:1px solid var(--line); border-radius:50%; background:#fff; color:#111; width:36px; height:36px; padding:0; justify-content:center; }
.note__save .save-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.save-button { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; min-height:36px; font-size:.74rem; line-height:1.3; white-space:nowrap; color:inherit; }
.save-button .icon { width:16px; height:16px; }
.save-button[aria-pressed=true] .icon { fill:currentColor; }
.filter-select__menu[popover]{position:fixed;inset:auto;margin:0;overflow:auto}
.footer__wordmark span { background:none; color:var(--ink); animation:none; }
.footer__logo { object-fit:contain; }
.footer__links { content-visibility:visible; }

.archive-topic-links { display:flex; flex-wrap:wrap; gap:8px; }
.archive-count { font-variant-numeric:tabular-nums; }
.pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:40px 0 0; }
.pagination a,.pagination button { display:grid; place-items:center; padding:0 12px; min-width:42px; height:42px; border:1px solid var(--line-2); border-radius:50%; font-size:.85rem; }
.pagination [aria-current] { background:#111; border-color:#111; color:#fff; }
.pagination a:hover,.pagination button:hover { border-color:#111; }
.section { padding-top:var(--sp); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:26px; }
.section-heading h2 { font:400 clamp(2rem,4vw,3.4rem)/.95 var(--display); text-transform:uppercase; }
.text-link { display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; }
.text-link:hover { text-decoration:underline; }
.text-link .icon { width:16px; height:16px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; min-height:44px; border:1px solid #111; border-radius:50px; background:#111; color:#fff; font-size:.85rem; font-weight:600; }
.button:hover { background:var(--ember); border-color:var(--ember); }
.shopping-section { padding-bottom:var(--sp); }
.trend .trend__grid--6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:680px){.trend .trend__grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}}
.women-edit{padding-bottom:var(--sp);background:var(--paper-2)}
.women-edit .section-heading{align-items:end}
.women-edit .kicker{margin-bottom:14px}
.women-edit__intro{margin-top:16px;max-width:38rem;color:var(--muted);font-size:.95rem;line-height:1.6}
.women-edit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.women-index .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1025px) and (max-width:1400px){.header__inner{gap:.5rem}.header .nav__link{padding-inline:.25rem;font-size:.66rem;letter-spacing:.06em}}
@media(max-width:680px){.women-index .archive-grid{grid-template-columns:1fr}}
.women-edit__grid .note__media{aspect-ratio:4/3;overflow:hidden;border-radius:14px}
.women-edit__grid .note__media img{object-position:center 60%}
.women-edit__grid .note__body h3{font-size:1.3rem;line-height:1.35}
.women-edit__grid .note__excerpt{margin-top:12px;line-height:1.65;color:var(--muted);font-size:.9rem}
.article-references{border-top:1px solid var(--line);padding-top:24px;margin-top:32px;font-size:.8rem}
.article-references>p{font-weight:600;font-size:.85rem}
.article-references>a{display:flex;align-items:center;gap:8px;padding-block:10px}
@media(max-width:680px){.women-edit .section-heading{align-items:start;flex-direction:column}.women-edit__grid{grid-template-columns:1fr;gap:36px}.women-edit__grid .note__body h3{font-size:1.1rem}}
.article { padding:0; }
.article-body { min-width:0; }
.post-hero .article-byline { justify-content:flex-start; flex-wrap:wrap; text-align:left; }
.post-hero .article-byline .save-button { border:1px solid rgba(255,255,255,.4); border-radius:50px; }
.article-inline-image { margin:2rem 0; }
.article-inline-image img { width:100%; height:auto; object-fit:contain; border-radius:14px; }
.article-inline-image figcaption,.article-video figcaption { font-size:.72rem; color:#655f53; margin-top:8px; }
.article-video { margin:2rem 0; }
.article-video video { display:block; width:100%; height:auto; border-radius:14px; background:#111; }
.article-actions { display:flex; justify-content:space-between; gap:16px; padding-top:24px; border-top:1px solid var(--line); margin-top:32px; }
.article-fact-note { font-size:.85rem !important; color:#655f53; }
.article-specs { margin:1.6rem 0; border-top:2px solid #111; }
.article-specs > div { display:grid; grid-template-columns:minmax(130px,1fr) 2fr; gap:20px; padding:14px; border-bottom:1px solid var(--line); font-size:.9rem; }
.article-specs > div:nth-child(even) { background:var(--paper-2); }
.article-specs dt { font-weight:700; }
.article-specs dd { margin:0; overflow-wrap:anywhere; }
.article-toc { border:1px solid var(--line); border-radius:14px; padding:24px; margin-bottom:24px; font-size:.85rem; }
.article-toc strong { display:block; font:400 1.6rem/1 var(--display); text-transform:uppercase; margin-bottom:18px; }
.article-toc a { display:block; padding:8px 0; color:inherit; line-height:1.4; }
.article-toc a:hover { color:var(--ember); }
.source-block { margin-top:32px; padding:28px; border:1px solid var(--line); border-radius:14px; background:var(--paper-2); }
.source-block > span { font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; }
.source-block h2 { margin:12px 0; }
.source-block p { font-size:.9rem; }
.source-block .button { margin-top:18px; }
.article-table-scroll { overflow-x:auto; margin:28px 0; border:1px solid var(--line); border-radius:14px; }
.article-table-scroll table { width:100%; border-collapse:collapse; font-size:.9rem; }
.article-table-scroll td,.article-table-scroll th { padding:14px; border-bottom:1px solid var(--line); min-width:150px; text-align:left; }
.article-table-scroll tr:first-child { color:#fff; background:#111; }
.article-embed { aspect-ratio:16/9; margin:28px 0; }
.article-embed iframe { width:100%; height:100%; border:0; border-radius:14px; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.related { padding-block:var(--sp); }
.rail button { width:42px; height:42px; border:1px solid var(--line-2); border-radius:50%; display:grid; place-items:center; }
.article-aside dl { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin:18px 0; font-size:.8rem; }
.article-aside dt { color:#655f53; }
.article-aside dd { margin:0; }
.aside-label { font:400 1.5rem/1 var(--display); text-transform:uppercase; }
.sidebar .mini-story { display:grid; grid-template-columns:80px 1fr; gap:12px; margin-bottom:16px; }
.sidebar .mini-story img { width:80px; height:70px; object-fit:cover; border-radius:8px; }
.sidebar .mini-story h3 { font:600 .85rem/1.35 var(--body); }
.sidebar .mini-story .post-meta,.sidebar .mini-subtitle { display:none; }
.sidebar .side-card { margin-bottom:24px; }
.sidebar .wp-block-image>a { display:inline-block;max-width:100%; }
.breadcrumb { font-size:.7rem; text-transform:uppercase; color:#655f53; margin-bottom:24px; }
.text-page { max-width:900px; padding-block:var(--sp); }
.text-page > h1 { font:400 clamp(2.8rem,6vw,5rem)/.95 var(--display); text-transform:uppercase; margin-bottom:24px; }
.text-copy { max-width:75ch; }
.text-copy p { margin-bottom:1.5em; line-height:1.8; }
.text-copy h2 { font:400 2rem/1 var(--display); margin:32px 0 20px; }
.source-list { list-style:disc; padding-left:22px; }
.source-list li { margin-bottom:12px; }
.page-search { display:flex; flex-direction:column; gap:8px; margin:32px 0; }
.page-search label,.search-form label { display:block; font-size:.8rem; margin-bottom:8px; }
.search-field { display:flex; gap:12px; }
.search-field input { flex:1; min-width:0; background:#fff; color:#111; border:1px solid var(--line-2); border-radius:8px; min-height:46px; padding:10px 14px; }
.search-field input:focus { outline:2px solid #111; }
.search-field > .button { flex:none; }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.8rem 1.4rem; }
.results-caption,.result-count { margin:28px 0; font-size:.85rem; }
.empty-state { text-align:center; padding:60px 20px; border:1px solid var(--line); border-radius:14px; }
.empty-state h2 { font:400 2.5rem/1 var(--display); margin-bottom:16px; }
.empty-state p { margin-bottom:24px; }
.search-dialog,.menu-dialog { border:0; border-radius:14px; background:#fff; color:#111; padding:32px; margin:auto; width:660px; max-width:calc(100vw - 32px); max-height:85vh; overflow:auto; box-shadow:0 20px 70px #0004; }
.search-dialog::backdrop,.menu-dialog::backdrop { background:#0008; }
.dialog-top { display:flex; gap:20px; justify-content:space-between; align-items:center; margin-bottom:28px; }
.dialog-top h2 { font:400 2rem/1 var(--display); }
.icon-button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px; border-radius:50%; }
.icon-button:hover { background:var(--paper-2); }
.search-suggestions { display:flex; gap:20px; flex-wrap:wrap; margin-top:28px; font-size:.8rem; }
.search-suggestions > span { width:100%; color:#655f53; }
.search-suggestions .icon { width:14px; height:14px; margin-left:6px; }
.menu-dialog { width:440px; }
.menu-dialog nav { display:flex; flex-direction:column; }
.menu-dialog nav a { padding:12px 0; font:400 1.8rem/1 var(--display); text-transform:uppercase; }
.menu-dialog nav a[aria-current] { color:var(--ember); }
.menu-secondary { display:flex; gap:16px; flex-direction:column; padding-top:24px; border-top:1px solid var(--line); margin-top:24px; font-size:.85rem; }
.toast { position:fixed; z-index:var(--z-toast); bottom:24px; left:50%; transform:translateX(-50%); padding:14px 24px; border:1px solid var(--line-2); background:#fff; color:#111; border-radius:8px; box-shadow:0 8px 30px #0002; max-width:calc(100vw - 32px); font-size:.85rem; }
.noscript-note { padding:24px; text-align:center; }
.image-unavailable { display:grid; place-items:center; background:var(--paper-2); color:#655f53; min-height:120px; font-size:.8rem; }
@media(max-width:1180px){ .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:1024px){.latest .filters{display:none}.sidebar{min-width:0}}
@media(max-width:680px){
  .topbar__inner{grid-template-columns:1fr;gap:0}.topbar__right{display:none}.topbar__ticker{justify-content:flex-start}.topbar__live{font-size:.55rem}.ticker a{font-size:.68rem}
  .brand--mini img{height:46px;max-width:220px}.header__actions{gap:8px}.icon-btn{width:40px;height:40px}
  .note__save .save-button{width:44px;height:44px}.pagination a,.pagination button{min-width:44px;height:44px}
  .archive-grid,.related-grid{grid-template-columns:1fr}.section-heading{align-items:start}.section-heading .text-link{font-size:.7rem}
  .post-hero .article-byline{gap:10px;font-size:.75rem}.post-hero .article-byline .who{font-size:.75rem}
  .article-specs>div{grid-template-columns:minmax(100px,1fr) 1.5fr;gap:14px;padding:12px;font-size:.8rem}
  .source-block{padding:20px}.source-block .button{width:100%}.article-inline-image{margin:24px 0}
  .search-field{flex-direction:column}.search-field input{font-size:16px}.dialog-top h2{font-size:1.7rem}.search-dialog,.menu-dialog{padding:24px 20px}
  .footer__cols{grid-template-columns:1fr}.toast{font-size:.75rem;padding:12px 16px}.section{padding-top:38px}.sidebar .article-toc{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important} }

/* Owned search and saved pages share the reference archive heading. */
.archive { padding-block:var(--sp); }
.archive-header { margin-bottom:2rem; }
.archive-header h1 { font:400 clamp(3rem,6vw,5.5rem)/.98 var(--display); text-transform:uppercase; margin-bottom:1rem; }
.archive-header p { max-width:65ch; }
.post-hero__inner > * { opacity:1; transform:none; }
.carousel.is-dragging { cursor:grabbing; scroll-behavior:auto; user-select:none; }
/* Preserve the reference palette while making small print readable. */
:root { --muted:#696355; }
.issue > span { color:var(--muted); }
.watch .kicker { color:var(--ember); }
@media(max-width:680px){.post-hero .crumbs{flex-wrap:nowrap}.post-hero .crumbs>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-hero .crumbs>a{flex:none;white-space:nowrap}}
.prose a.button { color:#fff; text-decoration:none; }

/* The publication name and two owned actions need a compact intermediate row. */
@media(min-width:1025px) and (max-width:1560px){
 .header__inner{gap:1rem}.nav__link{padding-inline:.5rem;font-size:.68rem;letter-spacing:.1em}.header__actions{gap:.5rem;margin-left:auto}
}
@media(min-width:1025px) and (max-width:1400px){.brand--mini img{height:46px}}
html:has(.nl-modal[open]){overflow:hidden}
.side-ads:before{content:"Brand spotlight"}
.article-contents{margin-bottom:1.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.article-contents>summary{cursor:pointer;font-weight:600;font-size:.85rem}
.article-contents .article-toc{border:0;padding:1rem 0 0;margin:0}
.ct-subscribe__msg.is-error{color:#b42318}
.side-news .ct-subscribe__msg.is-error{color:#ffb9a8}

.side-list a span{color:var(--muted)}
.newsletter__text>[data-newsletter-status][hidden]{display:block!important;visibility:hidden}

.prose .licensed-gallery{--gallery-gap:10px;display:flex;flex-wrap:wrap;gap:var(--gallery-gap);padding:calc(var(--gallery-gap)/2);box-sizing:border-box;max-width:100%;margin:0;opacity:1;visibility:visible}
.prose .licensed-gallery>a{display:block;flex:1 1 150px;height:250px;overflow:hidden;cursor:zoom-in;margin:0;padding:0;border:0;border-radius:0}
.prose .licensed-gallery img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;border-radius:0}
.prose .licensed-gallery--legacy{display:block;position:relative;padding:0;gap:0}
.prose .licensed-gallery--legacy>a{position:absolute;flex:none;background:#000}
.prose .licensed-gallery--legacy>a:hover img{opacity:.5}
.prose .licensed-gallery--legacy:not([data-layout-ready]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.prose .licensed-gallery--legacy:not([data-layout-ready])>a{position:static;height:auto;min-width:0}
.prose .licensed-gallery--legacy:not([data-layout-ready]) img{height:auto}
@media(max-width:768px){.prose .licensed-gallery--legacy:not([data-layout-ready]){grid-template-columns:1fr}}
.image-viewer{position:fixed;inset:0;margin:0;padding:48px 60px;border:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:rgba(30,30,30,.9);color:#fff;overflow:hidden}
.image-viewer[open]{display:grid;place-items:center}
.image-viewer::backdrop{background:transparent}
.image-viewer>img{display:block;max-width:100%;max-height:calc(100dvh - 96px);object-fit:contain;grid-area:1/1;min-width:0;min-height:0}
.image-viewer [data-image-position]{position:absolute;top:16px;left:20px;font:14px/1.5 var(--body)}
.image-viewer button{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer;font:32px/1 var(--body)}
.image-viewer button:disabled{opacity:.25;cursor:default}
.image-viewer__close{top:0;right:0}.image-viewer__previous{top:calc(50% - 24px);left:0}.image-viewer__next{top:calc(50% - 24px);right:0}
.image-viewer__status{position:absolute;bottom:12px;left:60px;right:60px;text-align:center;font-size:14px}
@media(max-width:680px){.image-viewer{padding-inline:48px}.image-viewer__status{left:48px;right:48px}}
