/* Editorial motion edition: documentary media, generous space, quiet movement. */
:root { --motion-ease: cubic-bezier(.22,1,.36,1); }
body { background-image: radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 48%); }
body > header { position: relative; z-index: 20; }
.masthead { padding-top: 25px; padding-bottom: 25px; }
.actions button { border-radius: 50px; transition: background .2s,border-color .2s; }
.actions button:hover { background: var(--tint); border-color: var(--accent); }
.nav-shell { background: color-mix(in srgb,var(--bg) 92%,transparent); backdrop-filter: blur(18px); }
.subject-nav a { position: relative; }
.subject-nav a:after { content:''; position:absolute; bottom:0; left:0; height:2px; width:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--motion-ease); }
.subject-nav a:hover:after,.subject-nav a[aria-current]:after { transform:scaleX(1); }
.home-page .edition-bar { margin:24px 0 18px; }
.home-page .lead { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1.08fr 1fr; align-items:stretch; gap:0; padding:0; margin:0 0 28px; border:0; border-radius:24px; background:#101c23; min-height:600px; box-shadow:0 24px 65px #07101816; }
.home-page .lead:before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--accent) 42%,transparent),transparent 65%); pointer-events:none; }
.home-page .lead-copy { grid-column:1; grid-row:1; z-index:2; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:48px 42px; min-height:0; border:0; background:transparent; color:#fff; }
.home-page .lead .lead-label { color:#e7f1ee; padding:8px 12px; border:1px solid #ffffff38; border-radius:40px; letter-spacing:.13em; font-size:9px; }
.home-page .lead h1 { font-family:var(--sans); font-size:clamp(32px,3.3vw,49px); font-weight:600; line-height:1.08; letter-spacing:-.05em; margin:28px 0 21px; max-width:22ch; text-wrap:balance; }
.home-page .lead h1 a:hover { text-decoration:none; }
.home-page .lead .deck { font-size:15px; line-height:1.7; color:#d4dfe3; max-width:52ch; margin:0 0 24px; }
.home-page .lead .meta { color:#aebfc5; font-size:10px; }
.home-page .lead .read-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:15px 22px; border:0; border-radius:50px; background:#f7faf8; color:#14212a; margin-top:28px; font-size:11px; text-transform:none; letter-spacing:0; min-height:48px; }
.home-page .lead .read-link span { font-size:19px; transition:transform .3s var(--motion-ease); }
.home-page .lead .read-link:hover span { transform:translate(3px,-3px); }
.home-page .lead-photo { grid-column:2; grid-row:1; position:relative; display:flex; flex-direction:column; overflow:hidden; border:0; background:#0c171d; min-width:0; }
.home-page .lead-photo > a { position:relative; display:flex; flex:1; height:auto; min-height:480px; overflow:hidden; align-items:center; }
.home-page .lead-photo > a:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#101c234d,transparent 35%),linear-gradient(0deg,#0c171d55,transparent 45%); pointer-events:none; }
.home-page .lead-photo img { position:relative; inset:auto; width:100%; height:100%; min-height:480px; max-height:640px; object-fit:contain; border-radius:0; background:transparent; transition:transform .9s var(--motion-ease); }
.home-page .lead-photo > a:hover img { transform:scale(1.025); }
.home-page .lead-photo figcaption { position:relative; margin:0; padding:13px 20px; font-size:9px; line-height:1.6; background:#0c171d; color:#b8c8cf; border:0; }
.home-page .lead-photo figcaption span { display:inline; }
.edition-path { display:flex; align-items:center; gap:20px; padding:13px 0 27px; margin-bottom:26px; border-bottom:1px solid var(--rule); }
.edition-path > span { font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); flex-shrink:0; }
.edition-path nav { display:flex; gap:8px; flex-wrap:wrap; }
.edition-path a { display:inline-flex; gap:12px; align-items:center; padding:9px 14px; border:1px solid var(--rule); border-radius:50px; font-size:10px; color:var(--ink); transition:background .2s,border-color .2s; }
.edition-path a:hover { background:var(--tint); border-color:var(--accent); text-decoration:none; }
.edition-path a span { color:var(--accent); }
.home-page .radar { grid-template-columns:1fr; border:0; padding:0; margin:0 0 65px; gap:22px; }
.home-page .radar-title { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.home-page .radar-title h2 { font-size:30px; margin:0; }
.home-page .radar-stories { gap:18px; }
.home-page .radar .story-row { display:flex; flex-direction:column; gap:0; padding:0; border:1px solid var(--rule); border-radius:18px; overflow:hidden; background:var(--surface); }
.home-page .radar .story-photo { width:100%; }
.home-page .radar .story-photo img { height:210px; width:100%; object-fit:contain; background:var(--tint); }
.home-page .radar .story-copy { padding:22px; }
.home-page .radar .story h3 { font-size:21px; line-height:1.25; margin:12px 0; }
.home-page .radar .story .eyebrow { font-size:9px; }
.home-page .radar .story .meta { margin-top:20px; font-size:9px; }
.story { transition:box-shadow .35s,border-color .35s; min-width:0; }
.story-photo { border-radius:12px; }
.story-photo img { transition:transform .8s var(--motion-ease); }
.story-photo:hover img { transform:scale(1.045); }
.story h3 a { text-decoration-thickness:1px; }
.home-page .story-grid { gap:24px; }
.home-page .story-grid > .story { padding-right:0; border-right:0; }
.home-page .desk { padding-bottom:45px; margin-bottom:38px; }
.section-title { padding-top:22px; border-top:1px solid var(--rule); margin-bottom:12px; }
.section-title h2 { font-size:34px; letter-spacing:-.045em; }
.section-title>a { border:1px solid var(--rule); padding:9px 15px; border-radius:30px; font-size:10px; }
.section-title>a:hover { background:var(--tint); text-decoration:none; }
.editor-note { position:relative; isolation:isolate; overflow:hidden; border:0; border-radius:24px; padding:64px; background:#101c23; color:#fff; }
.editor-note h2 { font-family:var(--sans); font-size:clamp(34px,4.5vw,62px); font-weight:500; line-height:1.06; max-width:18ch; }
.editor-note p { color:#c1d0d5; font-family:var(--sans); font-size:15px; max-width:58ch; }
.editor-note .eyebrow,.editor-note .read-link { color:#e9f0ef; }
.editor-note:before,.editor-note:after { content:''; position:absolute; z-index:-1; width:400px; height:400px; right:-100px; top:-80px; border-radius:50%; border:1px solid #ffffff24; box-shadow:0 0 0 55px #ffffff05,0 0 0 110px #ffffff04,0 0 0 165px #ffffff03; pointer-events:none; }
.editor-note:after { width:12px; height:12px; background:var(--accent); border:0; right:95px; top:115px; box-shadow:0 0 65px 30px color-mix(in srgb,var(--accent) 45%,transparent); }
.article-page .article-media-frame { border-radius:16px; overflow:hidden; }
.article-page .takeaway { border-radius:16px; }
.reading-guide a.is-reading { color:var(--accent); border-left-color:var(--accent); }
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:30; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--rule); border-radius:50%; background:var(--surface); color:var(--ink); box-shadow:0 4px 25px #0002; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .2s,transform .2s,visibility .2s; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:none; }
.reading-progress { z-index:80; }
dialog { border-radius:20px; }
dialog::backdrop { backdrop-filter:blur(6px); }
footer { border-radius:28px 28px 0 0; }
@media(min-width:1001px) { body > header .nav-shell { border-radius:0 0 14px 14px; } }
@media(max-width:1000px) {
 .home-page .lead { grid-template-columns:1fr; min-height:0; }
 .home-page .lead-copy { grid-column:1; grid-row:2; padding:36px; }
 .home-page .lead-photo { grid-column:1; grid-row:1; }
 .home-page .lead-photo > a { min-height:0; height:350px; flex:0 0 350px; }
 .home-page .lead-photo img { min-height:0; height:350px; max-height:none; }
 .home-page .lead h1 { max-width:28ch; font-size:42px; }
 .edition-path { display:block; }
 .edition-path nav { margin-top:14px; }
 .home-page .radar .story-photo img { height:175px; }
 .home-page .radar .story-copy { padding:17px; }
 .home-page .radar .story h3 { font-size:18px; }
}
@media(max-width:700px) {
 .home-page .lead { border-radius:18px; }
 .home-page .lead-copy { padding:27px 24px 30px; }
 .home-page .lead h1 { font-size:33px; margin-top:22px; }
 .home-page .lead .deck { font-size:14px; }
 .home-page .lead-photo > a { height:255px; flex:0 0 255px; }
 .home-page .lead-photo img { height:255px; }
 .home-page .lead-photo figcaption { font-size:8px; padding:10px 14px; }
 .home-page .lead .lead-label { font-size:8px; }
 .home-page .radar-title { display:block; }
 .home-page .radar-title h2 { margin-top:8px; }
 .home-page .radar-stories { grid-template-columns:1fr; }
 .home-page .radar .story-row { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:stretch; border-radius:14px; }
 .home-page .radar .story-photo { height:100%; border-radius:0; background:var(--tint); }
 .home-page .radar .story-photo img { height:100%; min-height:145px; }
 .home-page .radar .story-copy { padding:16px; }
 .home-page .radar .story h3 { font-size:17px; margin:8px 0; }
 .home-page .radar .story .meta { font-size:8px; margin-top:12px; }
 .home-page .radar { margin-bottom:36px; }
 .edition-path { margin-bottom:24px; padding-bottom:24px; }
 .edition-path a { padding:8px 11px; font-size:9px; }
 .section-title { align-items:center; }
 .section-title h2 { font-size:28px; }
 .editor-note { padding:34px 26px; border-radius:18px; }
 .editor-note h2 { font-size:37px; }
 .editor-note p { font-size:14px; }
 .back-to-top { right:16px; bottom:16px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*:before,*:after { animation:none!important; transition:none!important; }
 .story-photo:hover img,.home-page .lead-photo>a:hover img { transform:none; }
}
@media print { .back-to-top,.edition-path { display:none!important; } }
