:root { --max: 1240px; }
body { font-family: Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif; }
h1,h2,h3 { font-weight: 600; letter-spacing: -.025em; text-wrap: balance; }
/* Wrap at semantic phrases without changing heading text or fixing line breaks. */
.heading-phrase { display:inline-block; max-inline-size:100%; vertical-align:top; }
.draft-bar { font-size: 15px; padding: 7px 20px; background: #f3f3f2; }
.header-inner { min-height: 86px; }
.header nav { gap: 19px; }
.nav-link { font-size: 17px; }
/* Shared secondary navigation: a direct section link plus an accessible disclosure. */
.nams-nav-group { position:relative; }
.nams-nav-trigger { display:flex; align-items:center; gap:4px; }
.nams-nav-toggle { display:grid; place-items:center; width:28px; height:36px; padding:0; border:0; border-radius:9px; background:transparent; color:var(--muted); cursor:pointer; transition:background-color 180ms,color 180ms; }
.nams-nav-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:transform 220ms var(--ease); }
.nams-nav-toggle:hover,.nams-nav-group.is-expanded .nams-nav-toggle { background:#fff0e3; color:var(--accent); }
.nams-nav-group.is-expanded .nams-nav-toggle svg { transform:rotate(180deg); }
.nams-nav-panel { position:absolute; z-index:40; top:calc(100% + 12px); right:0; width:max-content; max-width:calc(100vw - 40px); border:1px solid #e2dcd6; border-radius:14px; background:radial-gradient(ellipse at 100% 0%,#f5822014,transparent 65%),linear-gradient(135deg,#fff,#faf9f7); box-shadow:0 18px 48px #30323816,0 3px 8px #30323808; opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; transition:opacity 180ms var(--ease),transform 220ms var(--ease),visibility 180ms; }
.nams-nav-panel::before { content:''; position:absolute; top:-15px; left:0; right:0; height:15px; }
.nams-nav-group.is-expanded .nams-nav-panel { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.nams-nav-panel-inner { padding:12px; }
.nams-nav-columns { display:grid; gap:14px; }
.nams-nav-panel-wide .nams-nav-columns { grid-template-columns:max-content max-content; }
.nams-nav-caption { margin:0 0 4px; padding-inline:8px; color:var(--muted); font-size:15px; }
.nams-nav-child { display:flex; align-items:center; padding:7px 8px; border-radius:8px; font-size:17px; line-height:1.5; transition:background-color 180ms,color 180ms; }
.nams-nav-child:hover,.nams-nav-child:focus-visible,.nams-nav-child[aria-current=page] { background:#f5822014; color:var(--accent); }
.nams-nav-toggle:focus-visible,.nams-nav-child:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.hero { padding: 60px 0 48px; background: radial-gradient(ellipse at 95% 0%,#f5822015,transparent 52%),linear-gradient(115deg,#fff,#f5f5f4); border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 70px; align-items: center; }
.hero h1 { font-size: clamp(34px,3.6vw,48px); line-height: 1.45; max-width: 700px; margin-bottom: 24px; }
.hero .lead { font-size: 19px; max-width: 690px; }
.eyebrow { margin-bottom: 14px; font-size: 16px; }
.hero-links { display:flex; gap:28px; align-items:center; flex-wrap:wrap; }
.brand-note { padding: 36px; position: relative; border: 1px solid #dedbd8; border-radius: 22px; background: linear-gradient(140deg,#fff,#f6eee8); overflow: hidden; }
.brand-note::after { content:''; position:absolute; width:220px; height:220px; border:1px solid #f5822033; border-radius:50%; right:-90px; top:-115px; pointer-events:none; }
.brand-note img { width:74px; height:74px; margin-bottom:24px; }
.brand-note p { font-family:Georgia,serif; font-size:30px; line-height:1.4; margin-bottom:12px; }
.brand-note span { color:var(--muted); font-size:17px; }
.search-form { display:flex; gap:12px; max-width:790px; margin-top:32px; }
.search-form input { min-width:0; flex:1; padding:12px 16px; border:1px solid #aaaeb3; border-radius:10px; font-size:18px; background:#fff; }
.section { padding-block:48px; }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:24px; }
.section-heading h2 { margin:0; font-size:29px; }
.section-heading p { color:var(--muted); margin:0; font-size:17px; }
.region-columns { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.region-columns > section { min-width:0; }
.region-heading { display:flex; justify-content:space-between; align-items:baseline; padding-bottom:16px; border-bottom:2px solid #393b40; }
.region-heading h2 { font-size:28px; margin:0; }
.story { display:block; padding:24px 0; border-bottom:1px solid var(--line); }
.story h3 { font-size:23px; line-height:1.55; margin-bottom:10px; }
.story p { color:var(--muted); margin:0; font-size:18px; }
.meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; color:var(--muted); font-size:16px; margin-bottom:10px; }
.meta > * + *::before { content:'·'; margin-right:12px; color:#92959a; }
.article-meta [data-meta-part="type"], .article-meta time { white-space:nowrap; }
.story:hover h3 { color:var(--accent); }
.feature { display:grid; grid-template-columns:1.15fr 1fr; gap:52px; padding:36px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(120deg,#f6f6f5,#fff7f0); margin-top:0; }
.feature h2 { font-size:30px; line-height:1.5; margin-bottom:18px; }
.feature p { color:var(--muted); font-size:18px; }
.feature-links { margin:0; padding:0; list-style:none; }
.feature-links a { display:flex; justify-content:space-between; gap:18px; padding:17px 0; border-bottom:1px solid var(--line); }
.feature-links a::after { content:'↗'; color:var(--accent); }
.topics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 42px; }
.topic-link { display:block; padding:25px 0; border-top:1px solid var(--line); }
.topic-link h3 { font-size:22px; margin-bottom:10px; }
.topic-link p { color:var(--muted); margin:0; font-size:17px; }
.topic-link h3::after { content:'↗'; color:var(--accent); font-size:20px; margin-left:12px; }
.topic-link:hover h3 { color:var(--accent); }
.page-top { padding:40px 0 32px; background:var(--surface-gradient); border-bottom:1px solid var(--line); }
.page-top h1 { font-size:38px; margin-bottom:17px; }
.page-top p { max-width:820px; color:var(--muted); margin:0; }
.breadcrumbs { color:var(--muted); font-size:16px; margin-bottom:22px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.subnav { display:flex; flex-wrap:wrap; gap:12px 28px; padding:21px 0; border-bottom:1px solid var(--line); }
.subnav a { font-size:18px; padding:4px 0; }
.subnav-label { color:var(--muted); font-size:17px; padding:4px 0; }
.subnav a[aria-current=page] { font-weight:700; text-decoration:underline; text-underline-offset:8px; text-decoration-color:var(--brand); }
.listing-header { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:6px; }
.listing-header h2 { font-size:27px; margin:0; }
.listing-header p,.note { color:var(--muted); font-size:17px; }
.plan-item { border-bottom:1px solid var(--line); padding:22px 0; }
.plan-item summary { list-style:none; display:flex; gap:24px; justify-content:space-between; align-items:center; }
.plan-item summary::-webkit-details-marker { display:none; }
.plan-item summary::after { content:'+'; flex-shrink:0; color:var(--accent); font-size:28px; }
.plan-item[open] summary::after { content:'−'; }
.plan-item h3 { margin:0; font-size:23px; line-height:1.55; }
.plan-item summary:hover h3 { color:var(--accent); }
.plan-item p { margin:18px 0 0; max-width:880px; color:var(--muted); }
.empty { margin:24px 0; }
.reading-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.reading-path h3 { font-size:23px; }
.reading-path p { color:var(--muted); }
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; }
.contact-layout h2 { font-size:28px; }
.contact-layout h3 { font-size:22px; margin-bottom:8px; }
.cooperation { padding:22px 0; border-bottom:1px solid var(--line); }
.cooperation p { color:var(--muted); margin-bottom:0; }
.contact-ad-link { margin-top:24px; }
.contact-ad-link a { color:var(--accent); text-decoration:underline; text-underline-offset:5px; }
/* Advertising services: original icons, quiet gradients and readable surfaces. */
.advertising-services h2 { font-size:28px; line-height:1.5; }
.advertising-services h3 { font-size:23px; line-height:1.5; }
.ad-icon { display:block; flex-shrink:0; stroke:var(--ink); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform 240ms var(--ease); }
.ad-icon-tint { fill:#f5822024; stroke:none; }
.ad-icon-accent { fill:var(--brand); stroke:none; }
.ad-icon-accent-line { stroke:var(--brand); stroke-width:2.6; }
.ad-introduction { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:24px 56px; padding:36px; border:1px solid #e1ded9; border-radius:22px; background:radial-gradient(ellipse at 0% 0%,#f582201a,transparent 55%),linear-gradient(130deg,#fff,#f6f6f5); overflow:hidden; }
.ad-introduction::after { content:''; position:absolute; right:-90px; bottom:-130px; width:290px; height:290px; border:1px solid #f5822024; border-radius:50%; pointer-events:none; }
.ad-introduction > div { position:relative; z-index:1; }
.ad-audience-heading .ad-icon { margin-bottom:24px; }
.ad-introduction p:last-child { margin-bottom:0; }
.ad-section { margin-top:48px; }
.ad-formats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ad-format { padding:30px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,#fff 55%,#f7f7f5); transition:border-color 240ms,box-shadow 240ms; }
.ad-format:nth-child(2),.ad-format:nth-child(3) { background:linear-gradient(145deg,#fff 60%,#fff8f2); }
.ad-format-heading { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
.ad-icon-surface { display:grid; place-items:center; flex-shrink:0; width:80px; height:80px; border-radius:20px; border:1px solid #ebe2d9; background:linear-gradient(145deg,#fff8f1,#f3f0ec); }
.ad-format h3 { margin:0; }
.ad-format > p:last-child { margin-bottom:0; }
.ad-delivery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding-top:26px; border-top:1px solid var(--line); }
.ad-delivery .ad-icon { width:48px; height:48px; margin-bottom:20px; }
.ad-delivery h3 { margin-bottom:12px; }
.ad-delivery p { margin-bottom:22px; }
.ad-lead { max-width:860px; }
.ad-disclosure { border-top:1px solid var(--line); padding-top:22px; margin-bottom:0; color:var(--muted); }
.ad-cta { position:relative; display:flex; justify-content:space-between; align-items:center; gap:32px; padding:34px 36px; border:1px solid #e7d7c9; border-radius:22px; background:radial-gradient(ellipse at 100% 0%,#f5822024,transparent 65%),#faf8f5; margin-top:42px; overflow:hidden; }
.ad-cta::before { content:''; position:absolute; width:200px; height:200px; right:80px; top:-155px; border:1px solid #f5822033; border-radius:50%; pointer-events:none; }
.ad-cta > * { position:relative; }
.ad-cta p { max-width:760px; margin-bottom:0; }
.ad-cta .button { flex-shrink:0; gap:16px; }
.ad-cta .ad-icon { width:24px; height:24px; stroke-width:3; }
@media(hover:hover) and (pointer:fine) {
 .ad-format:hover { border-color:#dfbd9d; box-shadow:0 12px 32px #3032380a; }
 .ad-format:hover .ad-icon { transform:translateY(-2px); }
 .ad-cta .button:hover .ad-icon { transform:translateX(3px); }
}
@media(max-width:850px) {
 .ad-introduction { grid-template-columns:1fr; gap:4px; padding:28px; }
 .ad-audience-heading { display:flex; align-items:center; gap:24px; }
 .ad-audience-heading .ad-icon { margin-bottom:22px; }
 .ad-formats { grid-template-columns:1fr; }
 .ad-delivery { grid-template-columns:1fr; gap:26px; }
 .ad-delivery > div { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px 20px; }
 .ad-delivery .ad-icon { grid-row:span 2; margin:0; }
 .ad-delivery h3,.ad-delivery p { margin:0; }
 .ad-cta { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media(max-width:600px) {
 .ad-introduction,.ad-format,.ad-cta { padding:24px 20px; border-radius:18px; }
 .ad-audience-heading { display:block; }
 .ad-audience-heading .ad-icon { width:56px; height:56px; margin-bottom:18px; }
 .ad-icon-surface { width:64px; height:64px; border-radius:16px; }
 .ad-icon-surface .ad-icon { width:52px; height:52px; }
 .ad-format-heading { gap:16px; margin-bottom:22px; }
 .ad-section { margin-top:36px; }
}
@media(prefers-reduced-motion:reduce) { .ad-format:hover .ad-icon,.ad-cta .button:hover .ad-icon,.ad-cta .button:hover { transform:none; } }
.contact-form { padding:30px; background:#f6f6f5; border-radius:16px; }
.contact-fields { margin:0; padding:0; min-width:0; border:0; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#message-help { display:block; margin-top:8px; color:var(--muted); font-size:15px; }
#contact-verification { margin:0 0 18px; }
#contact-verify-retry { margin:0 0 18px; }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { margin:0 0 20px; }
.field label { display:block; margin-bottom:7px; font-size:18px; }
.field input,.field textarea { display:block; width:100%; padding:11px 13px; min-width:0; font-size:18px; border:1px solid #aaaeb3; border-radius:9px; background:#fff; }
.field textarea { min-height:145px; resize:vertical; }
.fields .field { margin-bottom:0; }
.fields { margin-bottom:20px; }
.form-status { margin:20px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.text-body { max-width:860px; }
.article-cover, .article-inline-media { margin:24px 0 36px; scroll-margin-top:110px; }
.article-cover img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border:1px solid #e3e4e6; border-radius:16px; }
.article-topic-cover img { width:auto; max-width:100%; margin-inline:auto; aspect-ratio:auto; max-height:560px; object-fit:contain; background:#fafafa; }
.article-cover-portrait img { width:auto; max-width:100%; max-height:480px; aspect-ratio:auto; object-fit:contain; margin-inline:auto; }
.article-inline-media img { display:block; width:100%; height:auto; border:1px solid #e3e4e6; border-radius:16px; }
.article-cover figcaption, .article-inline-media figcaption { margin-top:12px; font-size:15px; line-height:1.7; color:#62666c; overflow-wrap:anywhere; }
@media(max-width:600px) { .article-cover, .article-inline-media { margin-block:20px 28px; } .article-cover img, .article-inline-media img { border-radius:12px; } .article-cover-portrait img { max-height:380px; } }
.text-body h2 { font-size:28px; margin-top:32px; }
.footer-top { padding-top:0; gap:40px; }
.footer-top p { max-width:640px; font-size:17px; }
.footer-links { max-width:380px; }
.footer-links a { font-size:17px; }
.footer-bottom { font-size:15px; }
.cookie-banner p { font-size:17px; margin:0; }
.cookie-banner { gap:20px; padding:18px 24px; }
.cookie-actions { display:flex; gap:14px; align-items:center; flex-shrink:0; }
.link-button { border:0; background:none; color:var(--accent); text-decoration:underline; text-underline-offset:4px; padding:7px; }
.privacy-dialog { padding:30px; }
.privacy-dialog h2 { font-size:28px; }
.privacy-dialog p { font-size:18px; }
.dialog-head { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.dialog-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button:hover { box-shadow:0 5px 16px #30323818; transform:translateY(-1px); }
.resource-list { display:grid; grid-template-columns:1fr 1fr; gap:0 42px; }
.resource-list a { display:block; padding:22px 0; border-bottom:1px solid var(--line); }
.resource-list strong { display:block; font-size:20px; }
.resource-list span { color:var(--muted); font-size:17px; }
@media(max-width:1050px) { .header nav { gap:16px; } .nav-link { font-size:16px; } .hero-grid { gap:35px; } .container { width:calc(100% - 64px); } }
@media(max-width:1100px) {
 .container { width:calc(100% - 40px); }
 .header-inner { min-height:78px; flex-wrap:wrap; gap:0; }
 .menu-toggle { display:block; margin-left:auto; }
 .header nav { display:none; width:100%; margin:0; padding:16px 0 24px; flex-wrap:wrap; gap:12px 24px; }
 .header nav.is-open { display:flex; }
 .nav-link { font-size:18px; }
 .hero-grid { grid-template-columns:1fr; gap:30px; }
 .brand-note { display:none; }
 .hero { padding:38px 0; }
 .hero h1 { font-size:36px; }
 .region-columns { gap:36px; }
 .feature { grid-template-columns:1fr; gap:12px; padding:28px; }
 .topics-grid { grid-template-columns:1fr 1fr; }
 .contact-layout { grid-template-columns:1fr; gap:32px; }
 .reading-path { gap:24px; }
 .cookie-banner { display:block; }
 .cookie-actions { margin-top:12px; }
 .footer-top { flex-direction:column; }
}
@media(max-width:600px) {
 .hero h1 { font-size:31px; }
 .page-top h1 { font-size:31px; }
 .hero .lead { font-size:18px; }
 .region-columns,.topics-grid,.reading-path,.resource-list { grid-template-columns:1fr; }
 .region-columns { gap:36px; }
 .section { padding-block:34px; }
 .section-heading { align-items:start; flex-direction:column; gap:8px; }
 .search-form { gap:8px; }
 .search-form .button { padding:10px 15px; }
 .fields { grid-template-columns:1fr; }
 .contact-form { padding:22px 18px; }
 .story h3,.plan-item h3 { font-size:21px; }
 .listing-header { display:block; }
 .listing-header p { margin-top:10px; }
 .footer-bottom { flex-direction:column; gap:8px; }
 .draft-bar { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

.plan-item:target { background:#fff8f2; scroll-margin-top:110px; }

.contact-form .form-status { color:var(--ink); }
.article-body { margin-inline:auto; }
.article-body p { font-size:18px; line-height:1.9; }
.article-body h2 { line-height:1.5; }
.article-body a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.article-sources { border-top:1px solid var(--line); margin-top:36px; }
.article-sources li { margin-bottom:16px; overflow-wrap:anywhere; scroll-margin-top:115px; }
.topic-plan-heading { margin-top:40px; }

.article-figure { scroll-margin-top:110px; margin:32px 0 38px; padding:20px; border:1px solid #e3e4e6; border-radius:16px; background:#fff; box-shadow:0 8px 26px rgba(43,46,50,.045); }
.figure-scroll { overflow-x:auto; overscroll-behavior-inline:contain; border-radius:8px; }
.article-figure img { display:block; width:100%; min-width:680px; height:auto; max-width:none; object-fit:contain; }
.article-figure figcaption { margin-top:18px; color:#53585e; font-size:17px; line-height:1.75; }
.figure-label { color:var(--ink); font-weight:650; margin-right:12px; }
.figure-hint { display:block; margin-top:7px; font-size:16px; color:#62666c; }
.article-body .figure-error { padding:20px 0; margin:0; }
.figure-attribution { font-size:16px; overflow-wrap:anywhere; }
@media(max-width:600px) { .article-figure { padding:12px; margin-block:26px; border-radius:12px; } }

/* Connected milestones: readable without JS; sticky art is progressive enhancement. */
.timeline { scroll-margin-top:16px; padding:76px 0 44px; background:linear-gradient(160deg,#fff 20%,#faf8f5 70%,#fff); border-bottom:1px solid var(--line); }
.timeline-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; }
.timeline-heading h2 { font-size:clamp(29px,3vw,40px); line-height:1.45; margin:0; max-width:520px; }
.timeline-heading > p { font-size:18px; line-height:1.85; color:var(--muted); margin:0; }
.timeline a:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.timeline-layout { position:relative; margin-top:52px; }
.timeline-reading { position:relative; }
.timeline-steps { list-style:none; padding:0; margin:0; }
.timeline-step { position:relative; padding:24px 0 64px 58px; scroll-margin-top:30px; }
.timeline-copy { max-width:550px; }
.timeline-date { display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; margin:0 0 18px; }
.timeline-date time { font-size:28px; line-height:1.3; font-weight:600; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.timeline-date > span { font-size:16px; color:var(--muted); }
.timeline-copy h3 { font-size:clamp(25px,2.3vw,30px); line-height:1.5; margin:0 0 20px; }
.timeline-copy > p:last-child { font-size:18px; line-height:1.95; margin:0; color:#565b61; }
.timeline-dot { position:absolute; top:33px; left:8px; width:19px; height:19px; border:2px solid #a4a7aa; background:#fff; border-radius:50%; z-index:1; transition:background .3s,border-color .3s,box-shadow .3s; }
.timeline-step.is-past .timeline-dot,.timeline-step.is-active .timeline-dot { border-color:var(--brand); background:var(--brand); }
.timeline-step.is-active .timeline-dot { box-shadow:0 0 0 7px #f582201b; }
.timeline-track { position:absolute; top:42px; bottom:0; left:16px; width:2px; background:#d9dbdd; }
.timeline-track > span { display:block; height:100%; background:var(--brand); transform:scaleY(0); transform-origin:top; will-change:transform; }
.timeline-gallery { display:none; }
.timeline-inline { margin:30px 0 0; max-width:520px; background:#f3f1ed; border:1px solid #e5e1db; border-radius:24px; padding:14px; }
.timeline figcaption { display:block; padding:12px 10px 8px; font-size:17px; line-height:1.65; color:#565b61; }
.archive-credit { display:inline; font-size:16px; }
.archive-credit a { color:inherit; text-decoration:underline; text-decoration-color:#beb8af; text-underline-offset:4px; }
.archive-credit a:hover { text-decoration-color:var(--brand); color:var(--ink); }
.archive-visual { position:relative; isolation:isolate; height:clamp(290px,42vh,380px); overflow:hidden; border-radius:16px; background:radial-gradient(ellipse at 90% 0%,#ffe9d250,transparent 65%),#eeebe6; }
.archive-visual::after { content:""; position:absolute; right:-40px; bottom:-65px; width:190px; height:190px; border:1px solid #d7d1c6; border-radius:50%; z-index:-1; }
.archive-tab { position:absolute; top:18px; left:22px; z-index:4; font-size:16px; line-height:1.4; color:#65615b; }
.archive-tab::after { content:""; display:block; width:34px; height:3px; margin-top:8px; border-radius:3px; background:var(--brand); }
.archive-sheet { position:absolute; left:8%; top:20%; width:68%; height:72%; border:1px solid #e4ded4; border-radius:3px; background:#f9f7f2; transform:rotate(-5deg); box-shadow:0 12px 28px -18px #3f332966; z-index:-1; }
.archive-primary,.archive-secondary { position:absolute; background:#fff; border-radius:3px; box-shadow:0 14px 32px -18px #3f332999; overflow:hidden; }
.archive-primary img,.archive-secondary img { display:block; width:100%; height:auto; }
.archive-note { position:absolute; z-index:3; color:#52504b; }
.archive-note strong { display:block; margin-bottom:12px; font-size:25px; font-weight:500; line-height:1.3; letter-spacing:-.02em; }
.archive-note span { display:block; font-size:17px; line-height:1.6; }
.archive-report { height:auto; min-height:340px; padding:68px 7% 32px; }
.archive-report .archive-headline-paper { padding:32px 26px; transform:rotate(-2deg); }
.archive-report .archive-headline-paper blockquote { font-size:clamp(30px,3vw,40px); line-height:1.2; }
.archive-excerpt .archive-secondary { top:17%; left:9%; width:30%; transform:rotate(-5deg); }
.archive-excerpt .archive-note { top:19%; left:47%; right:5%; }
.archive-excerpt .archive-note strong { font-size:24px; }
.archive-excerpt .archive-note span:last-child { display:none; }
.archive-excerpt .archive-primary { left:6%; right:6%; bottom:7%; transform:rotate(1deg); padding:12px; }
.archive-law .archive-sheet { left:10%; top:37%; width:80%; height:48%; }
.archive-law .archive-note { top:18%; left:9%; }
.archive-law .archive-note strong { font-family:Georgia,"Times New Roman",serif; font-size:28px; margin-bottom:4px; }
.archive-law .archive-note span { display:none; }
.archive-law .archive-secondary { right:8%; top:15%; width:42%; transform:rotate(3deg); }
.archive-law .archive-primary { left:5%; right:5%; bottom:10%; padding:22px 14px; transform:rotate(-1deg); }
.archive-headline { height:auto; min-height:300px; padding:60px 7% 26px; }
.archive-headline-paper { position:relative; padding:24px; background:#fff; box-shadow:0 14px 32px -18px #3f332980; transform:rotate(-1deg); border-radius:3px; }
.archive-headline-paper p { font-size:17px; line-height:1.4; margin:0 0 16px; color:#77726b; }
.archive-headline-paper blockquote { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(23px,2.2vw,29px); line-height:1.26; letter-spacing:-.03em; color:#343434; }
.archive-headline-paper blockquote::after { content:""; display:block; height:3px; width:66px; margin-top:20px; background:var(--brand); border-radius:3px; }
.archive-draft .archive-primary { top:25%; left:7%; width:55%; padding:16px; transform:rotate(-2deg); }
.archive-draft .archive-sheet { left:15%; top:24%; width:50%; }
.archive-draft .archive-note { top:31%; left:66%; right:4%; }
.archive-draft .archive-note strong { color:#aa4b05; font-size:25px; font-family:Georgia,"Times New Roman",serif; }
.archive-draft .archive-note span:last-child { font-size:15px; overflow-wrap:anywhere; }
.archive-plan .archive-sheet { left:8%; top:43%; width:85%; height:45%; }
.archive-plan .archive-note { top:21%; left:9%; right:8%; }
.archive-plan .archive-note { display:none; }
.archive-plan .archive-note strong { margin-bottom:6px; }
.archive-plan .archive-note span { display:inline; font-size:17px; }
.archive-plan .archive-primary { left:5%; right:5%; bottom:9%; padding:16px 12px; transform:rotate(-1deg); }
.timeline-sources { border-top:1px solid var(--line); padding:22px 0 0; margin-top:12px; }
.timeline-sources summary { width:fit-content; cursor:pointer; font-size:17px; text-underline-offset:5px; }
.timeline-sources summary:hover { text-decoration:underline; }
.timeline-sources > div { display:grid; grid-template-columns:1fr 1fr; gap:28px 56px; padding:28px 0; }
.timeline-sources h3 { font-size:18px; line-height:1.6; margin-bottom:12px; }
.timeline-sources ul { margin:0; padding-left:22px; }
.timeline-sources li { margin-bottom:12px; }
.timeline-sources a { font-size:16px; color:var(--muted); overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
@media(min-width:901px) and (min-height:751px) {
 .timeline.is-enhanced .timeline-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; }
 .timeline.is-enhanced .timeline-step { min-height:480px; min-height:max(460px,65vh); padding-top:24px; padding-bottom:96px; }
 .timeline.is-enhanced .timeline-step:last-child { padding-bottom:110px; }
 .timeline.is-enhanced .timeline-inline { display:none; }
 .timeline.is-enhanced .timeline-gallery { display:block; position:sticky; top:126px; margin-top:8px; border-radius:26px; background:#f5f3ef; border:1px solid #e5e1db; box-shadow:0 24px 60px -42px #40352a50; }
 .timeline-stage { display:grid; }
 .timeline-frame { grid-area:1/1; min-width:0; padding:20px 18px 0; margin:0; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .45s,transform .45s,visibility .45s; }
 .timeline-frame.is-active { opacity:1; visibility:visible; transform:none; }
 .timeline-year { color:#69645d; font-size:22px; line-height:1.2; letter-spacing:-.025em; font-weight:500; padding:0 6px 16px; }
 .timeline-frame figcaption { padding:14px 6px 16px; }
 .timeline-stage-footer { display:flex; justify-content:space-between; margin:0 24px; padding:15px 0 18px; border-top:1px solid #ded9d1; font-size:16px; color:#6b665e; font-variant-numeric:tabular-nums; }
}
@media(max-width:1100px) {
 .timeline-heading { gap:32px; }
 .timeline.is-enhanced .timeline-layout { gap:32px; }
}
@media(max-width:900px) {
 .timeline { padding-top:48px; }
 .timeline-heading { grid-template-columns:1fr; gap:22px; }
 .timeline-heading h2 { max-width:none; }
 .timeline-step { padding-left:42px; }
 .timeline-copy { max-width:640px; }
 .timeline-inline { max-width:520px; }
 .timeline-date { align-items:start; flex-direction:column; gap:8px; }
 .timeline-dot { left:0; }
 .timeline-track { left:8px; }
 .timeline-sources > div { grid-template-columns:1fr; }
}
@media(max-width:480px) {
 .timeline-step { padding-left:32px; }
 .timeline figcaption { padding:12px 4px 4px; }
 .timeline-inline { margin-left:-4px; }
 .timeline-copy h3 { font-size:25px; }
 .timeline-date time { font-size:27px; }
 .archive-visual { height:300px; }
 .archive-report,.archive-headline { height:auto; }
 .archive-note strong,.archive-excerpt .archive-note strong { font-size:21px; }
 .archive-note span { font-size:16px; }
 .archive-tab { font-size:16px; left:16px; }
 .archive-excerpt .archive-note { left:44%; top:21%; }
 .archive-excerpt .archive-primary { left:4%; right:4%; padding:8px; }
 .archive-law .archive-secondary { top:36%; }
 .archive-headline-paper { padding:20px; }
 .archive-headline-paper blockquote { font-size:23px; }
 .archive-headline-paper p { margin-bottom:16px; }
 .archive-draft .archive-primary { left:5%; width:55%; padding:10px; }
 .archive-draft .archive-note { left:65%; top:34%; }
 .archive-draft .archive-note strong { font-size:21px; }
 .archive-plan .archive-note { top:22%; }
 .archive-plan .archive-note span { font-size:16px; }
 .archive-plan .archive-primary { padding:12px 8px; }
}
@media(prefers-reduced-motion:reduce) { .timeline-frame,.timeline-dot { transition:none; transform:none; } }

/* Topic navigation follows reader tasks; article bodies remain at stable URLs. */
.discovery-gateways { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; padding:10px 0 34px; }
.discovery-gateways .eyebrow { font-size:16px; color:var(--muted); margin-bottom:9px; }
.discovery-gateways h2 { font-size:27px; margin-bottom:20px; }
.discovery-gateways ul { list-style:none; padding:0; margin:0; }
.discovery-gateways li { border-top:1px solid var(--line); }
.discovery-gateways a { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:17px 0; font-size:18px; }
.discovery-gateways a:hover > span:first-child { text-decoration:underline; text-underline-offset:5px; }
.gateway-count { flex-shrink:0; color:var(--muted); font-size:16px; }
.discovery-browser { padding-block:36px; }
.discovery-browser h2 { font-size:27px; }
.discovery-topic-directory { margin-top:32px; }
.section:has(> .discovery-browser),
.section:has(> .concept-list),
.section:has(> .nams-resource-directory) { padding-top:28px; }
.section > .discovery-browser { padding-top:0; }
.concept-list > .story:first-child,
.nams-resource-directory > .subnav:first-child { padding-top:0; }
.discovery-search { display:flex; align-items:end; gap:12px; max-width:820px; }
.discovery-search label { flex:1; min-width:0; font-size:17px; }
.discovery-search input { display:block; width:100%; margin-top:8px; border:1px solid #a8acb1; border-radius:10px; padding:13px 15px; font-size:18px; background:#fff; }
.discovery-search .button { min-height:54px; }
.discovery-filters { display:flex; flex-wrap:wrap; align-items:start; gap:12px; margin-top:22px; }
.discovery-filters details { border:1px solid #d9dbdd; border-radius:12px; padding:10px 14px; background:#fafaf9; min-width:150px; }
.discovery-filters summary { cursor:pointer; font-size:17px; }
.discovery-filters fieldset { border:0; padding:12px 0 4px; margin:0; display:flex; flex-direction:column; gap:12px; }
.discovery-filters label { display:flex; gap:10px; align-items:center; font-size:17px; cursor:pointer; }
.discovery-filters input { width:18px; height:18px; accent-color:#a64b13; flex-shrink:0; }
.discovery-feedback { display:flex; gap:20px; align-items:baseline; justify-content:space-between; border-bottom:1px solid var(--line); padding:18px 0 10px; }
.discovery-feedback p { color:var(--muted); margin:0; font-size:16px; }
.discovery-feedback button { flex-shrink:0; font-size:16px; }
.discovery-feedback button:disabled { color:#74797e; cursor:default; text-decoration:none; }
.discovery-list-tools { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; padding:18px 0; border-bottom:1px solid var(--line); scroll-margin-top:0; }
/* The fragment target restores reading position; only its interactive controls need a focus ring. */
.discovery-list-tools:focus { outline:none; }
.discovery-list-tools p { margin:0; color:var(--muted); font-size:17px; }
.discovery-list-tools.is-search-result { padding:18px 20px; margin-top:16px; border:1px solid #eed7c3; border-radius:12px; background:linear-gradient(110deg,#fff5eb,#faf9f7); }
.discovery-list-tools.is-search-result p { flex:1 1 260px; color:var(--ink); font-size:18px; font-weight:600; overflow-wrap:anywhere; }
.discovery-list-tools label { display:flex; align-items:center; gap:10px; font-size:17px; }
.discovery-list-tools select { min-height:44px; border:1px solid #c8c9cb; border-radius:9px; padding:7px 10px; font:inherit; color:var(--ink); background:#fff; }
.discovery-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin-top:28px; }
.discovery-pagination a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; font-size:17px; transition:background-color 160ms,color 160ms; }
.discovery-pagination a:hover { background:#fff0e3; border-color:var(--accent); }
.discovery-pagination a[aria-current=page] { color:var(--ink); background:var(--brand); border-color:var(--brand); }
.discovery-pagination a:focus-visible,.discovery-list-tools select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.discovery-pagination span { color:var(--muted); }
.pagination-numbers { display:flex; align-items:center; justify-content:center; gap:8px; }
@media(max-width:600px) {
 .pagination-numbers { order:-1; flex-basis:100%; gap:4px; }
 .discovery-pagination > a { min-width:104px; }
}
@media(prefers-reduced-motion:reduce) { .discovery-pagination a { transition:none; } }
.discovery-browser .story p { max-width:940px; }
.discovery-results-heading { font-size:24px; margin:30px 0 10px; }
.hub-reading { padding-block:24px; scroll-margin-top:30px; }
.guide-region { padding-block:14px; scroll-margin-top:0; }
.guide-region > h2 { font-size:25px; margin:0 0 4px; }
.nams-resource-directory > .subnav { padding-bottom:12px; margin-bottom:8px; }
.guide-records article { padding:14px 0; border-bottom:1px solid var(--line); }
.guide-records h3 { font-size:20px; line-height:1.5; margin:0; max-width:none; text-wrap:wrap; overflow-wrap:anywhere; }
.guide-records a { text-decoration:underline; text-underline-offset:5px; }
.guide-records .guide-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; color:var(--muted); font-size:16px; line-height:1.5; margin:6px 0 0; }
.guide-meta > span + span::before { content:'·'; margin-right:14px; color:#92959a; }
@media(max-width:600px) { .guide-records article { padding-block:12px; } .guide-records h3 { font-size:19px; line-height:1.55; } .guide-records .guide-meta { gap:4px 10px; } .guide-meta > span + span::before { margin-right:10px; } }
.article-related { padding-top:12px; }
.article-related > div { display:flex; gap:12px 22px; flex-wrap:wrap; padding:12px 0; }
.article-related > div > span { color:var(--muted); min-width:110px; }
@media(max-width:900px) { .discovery-gateways { grid-template-columns:1fr; gap:30px; } }
@media(max-width:600px) { .discovery-feedback { align-items:start; flex-direction:column; gap:8px; } .discovery-filters { gap:8px; } .discovery-filters details { flex:1 1 140px; } .discovery-search .button { padding-inline:18px; } }
@media(max-width:1100px) {
 .header #main-nav { flex-direction:column; align-items:stretch; gap:4px; max-height:calc(100dvh - 90px); overflow-y:auto; overscroll-behavior:contain; }
 .header #main-nav > * { flex-shrink:0; }
 .nams-nav-group { width:100%; }
 .nams-nav-trigger { justify-content:space-between; }
 .nams-nav-trigger > .nav-link { flex:1; }
 .nams-nav-toggle { width:44px; height:44px; }
 .nams-nav-panel,.nams-nav-panel-wide { position:relative; top:auto; right:auto; width:fit-content; max-width:100%; max-height:0; overflow:hidden; border:0; box-shadow:none; transform:none; transition:max-height 260ms var(--ease),opacity 180ms,visibility 180ms; }
 .nams-nav-panel::before { display:none; }
 .nams-nav-group.is-expanded .nams-nav-panel { max-height:700px; }
 .nams-nav-panel-inner { padding:8px 6px; }
 .nams-nav-panel-wide .nams-nav-columns { grid-template-columns:max-content max-content; }
 .nams-nav-child { min-height:44px; }
 .header #main-nav.is-open { animation:nams-menu-in 180ms var(--ease); }
}
@media(max-width:540px) { .nams-nav-panel-wide .nams-nav-columns { grid-template-columns:1fr; gap:10px; } }
@keyframes nams-menu-in { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) {
 .nams-nav-panel,.nams-nav-toggle,.nams-nav-toggle svg,.nams-nav-child { transition:none; }
 .header #main-nav.is-open { animation:none; }
}

/* Homepage news desk: one lead story, then five items in date order. */
.home-news { background:linear-gradient(155deg,#fff 45%,#faf8f5); border-bottom:1px solid var(--line); }
.home-news-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.home-news-heading .eyebrow { margin-bottom:8px; color:var(--muted); }
.home-news-heading h2 { margin:0; font-size:32px; }
.home-news-heading > a { flex-shrink:0; font-size:17px; text-underline-offset:5px; }
.home-news-heading > a:hover { text-decoration:underline; }
.home-news-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:48px; align-items:start; }
.home-news-lead { min-width:0; }
.home-news-image { margin:0 0 24px; }
.home-news-image img { display:block; width:100%; height:auto; padding:20px; border:1px solid #e4e0db; border-radius:16px; background:#fff; }
.home-news-lead h3 { margin:14px 0 18px; font-size:clamp(25px,2.5vw,32px); line-height:1.5; }
.home-news-summary { margin:0; font-size:18px; line-height:1.85; color:var(--muted); }
.home-news-following { list-style:none; margin:0; padding:0; }
.home-news-following li { padding:20px 0; border-bottom:1px solid #dddedf; }
.home-news-following li:first-child { padding-top:0; }
.home-news-following li:last-child { border-bottom:0; padding-bottom:0; }
.home-news-following h3 { margin:8px 0 0; font-size:21px; line-height:1.55; }
.home-news-with-photo { display:grid; grid-template-columns:136px minmax(0,1fr); gap:9px 18px; align-items:start; }
.home-news-with-photo .home-news-photo { margin:0; grid-column:1; grid-row:1; }
.home-news-photo img { display:block; width:100%; aspect-ratio:16/10; height:auto; object-fit:cover; border-radius:12px; border:1px solid #e4e0db; background:#f3f2ef; }
.home-news-with-photo .home-news-photo img { grid-column:1; grid-row:1; height:85px; }
.home-news-text { min-width:0; }
.home-news-with-photo .home-news-text { grid-column:2; grid-row:1; }
.home-news-photo-lead { margin:0 0 24px; }
.home-news-document img { object-fit:contain; padding:4px; background:#fff; }
.home-news .meta { font-size:16px; gap:7px 12px; margin-bottom:0; }
.home-news-image img { max-height:380px; object-fit:contain; }
.home-news-photo-portrait img { object-fit:contain; }
.home-news-topic-photo img { object-fit:contain; }
.home-news-picture { display:block; }
.home-news h3 a { transition:color 180ms; }
.home-news h3 a:hover { color:#a74e09; }
.home-news a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; border-radius:3px; }
@media(max-width:900px) {
 .home-news-grid { gap:30px; }
 .home-news .meta { font-size:16px; }
 .home-news-following h3 { font-size:20px; }
 .home-news-with-photo { grid-template-columns:110px minmax(0,1fr); gap:9px 14px; }
 .home-news-with-photo .home-news-photo img { height:69px; }
}
@media(max-width:420px) {
 .home-news-with-photo { grid-template-columns:96px minmax(0,1fr); gap:9px 12px; }
 .home-news-with-photo .home-news-photo img { height:60px; border-radius:9px; }
 .home-news-following h3 { font-size:18px; }
}
@media(max-width:700px) {
 .home-news-grid { grid-template-columns:1fr; gap:30px; }
 .home-news-heading { align-items:center; margin-bottom:24px; gap:12px; }
 .home-news-heading h2 { font-size:28px; }
 .home-news-heading > a { font-size:16px; }
 .home-news-heading .eyebrow { font-size:14px; }
 .home-news-lead h3 { font-size:26px; }
 .home-news-image img { padding:12px; }
 .home-news-following { border-top:1px solid #dddedf; }
 .home-news-following li:first-child { padding-top:22px; }
}

.home-news-credits { margin-top:22px; color:var(--muted); font-size:14px; }
.home-news-credits summary { width:fit-content; cursor:pointer; text-underline-offset:3px; }
.home-news-credits summary:hover { color:var(--ink); }
.home-news-credits ul { margin:14px 0 0; padding-left:20px; font-size:16px; line-height:1.7; }
.home-news-credits li { margin:8px 0; overflow-wrap:anywhere; }
.home-news-credits a { text-decoration:underline; text-underline-offset:3px; }

/* Original results retain every panel; scrolling stays inside the figure. */
.article-research-media .research-figure-scroll{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #e3e4e6;border-radius:16px;background:#fff;scrollbar-width:thin;scrollbar-color:#aeb2b7 #f2f3f4}
.article-research-media .research-figure-scroll:focus-visible{outline:2px solid #F58220;outline-offset:4px}
.article-research-media img{width:100%;min-width:680px;max-width:none;height:auto;object-fit:contain;border:0;border-radius:0}
.research-figure-hint{display:none}
@media(max-width:720px){.article-research-media .research-figure-scroll{border-radius:12px}.research-figure-hint{display:block;margin-top:6px;color:#62666c}}

/* Reviewed list thumbnails reuse each article's original figure without cropping. */
.story-with-thumbnail{display:grid;grid-template-columns:176px minmax(0,1fr);gap:24px;align-items:start}
.story-thumbnail{display:flex;align-items:center;justify-content:center;width:176px;aspect-ratio:4/3;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fafafa;overflow:hidden}
.story-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
.story-photo-thumbnail{padding:0}
.story-photo-thumbnail img{object-fit:cover}
.story-topic-thumbnail img{object-fit:contain}
.story-copy{min-width:0}
@media(max-width:600px){
 .story-with-thumbnail{grid-template-columns:96px minmax(0,1fr);gap:12px 16px}
 .story-with-thumbnail .story-copy{display:contents}
 .story-with-thumbnail .meta{grid-column:1/-1;grid-row:1;margin:0}
 .story-with-thumbnail .story-thumbnail{grid-column:1;grid-row:2;width:96px;padding:5px;border-radius:9px}
 .story-with-thumbnail h3{grid-column:2;grid-row:2;margin:0}
 .story-with-thumbnail p{grid-column:1/-1;grid-row:3}
}

.story-photo-portrait img{object-fit:contain}

/* NAMs identity: compact two-line wordmark at every viewport. */
.brand-copy { display:grid; gap:3px; line-height:1; }
.brand-name { font-family:'NAMs Rubik',Arial,sans-serif; font-size:32px; font-weight:400; letter-spacing:-.025em; }
.brand-subtitle { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; font-size:13px; font-weight:500; letter-spacing:.07em; line-height:1.4; }
.brand-note p { font-family:'NAMs Rubik',Arial,sans-serif; font-size:36px; }
.brand-note .brand-note-name { font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; font-size:23px; color:var(--ink); }
@media(max-width:600px) { .brand-name { font-size:29px; } .brand-subtitle { font-size:12px; } }
@media(max-width:359px) { .brand-name { font-size:26px; } .brand-subtitle { font-size:11px; } }

/* Optional Cloudflare analytics choice, within the existing privacy dialog. */
.cookie-banner p { font-size:18px; }
.cookie-actions { flex-wrap:wrap; gap:10px; }
.cookie-actions .button, .dialog-actions .button { font-size:17px; }
.privacy-necessary { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:20px; }
.privacy-necessary strong { font-size:19px; }
.privacy-necessary > span { font-size:17px; color:var(--muted); }
.privacy-analytics-choice { display:flex; align-items:flex-start; gap:14px; padding-block:20px; border-block:1px solid var(--line); cursor:pointer; }
.privacy-analytics-choice input { flex:0 0 22px; width:22px; height:22px; min-height:22px; margin:3px 0 0; padding:0; accent-color:var(--accent); }
.privacy-analytics-choice strong { display:block; font-size:19px; line-height:1.5; margin-bottom:6px; }
.privacy-analytics-choice span span, .privacy-analytics-note { display:block; font-size:18px; line-height:1.7; color:var(--muted); }
.privacy-analytics-choice:has(input:disabled) { cursor:default; }
@media (max-width:600px) {
 .cookie-actions { display:grid; grid-template-columns:1fr 1fr; }
 .cookie-actions .button { padding:11px 12px; }
 .cookie-actions [data-cookie-essential] { grid-column:1 / -1; }
 .privacy-dialog { padding:24px 20px; }
 .dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
 .dialog-actions .button { padding:11px 12px; }
}

/* Operator disclosure and the three shared legal/privacy links. */
.footer-operator a { color:inherit; text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { align-items:center; font-size:16px; }
.footer-policy-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.footer-policy-links a,.footer-policy-links .link-button { color:inherit; font:inherit; white-space:nowrap; }
.footer-policy-links .link-button { padding:0; }
.footer-policy-links a:hover,.footer-policy-links .link-button:hover { color:var(--accent); }
.site-operator { scroll-margin-top:110px; }
.site-operator h2 { margin-top:0; }
.ad-operator { margin:18px 0 0; color:var(--muted); }
.ad-operator a,.legal-content a { text-decoration:underline; text-underline-offset:4px; }
.legal-content { margin-inline:auto; }
.legal-content p { font-size:18px; line-height:1.9; }
.legal-content .legal-date { color:var(--muted); font-size:16px; margin-bottom:28px; }
.legal-content > section + section { border-top:1px solid var(--line); margin-top:28px; padding-top:8px; }
.legal-content > section:first-of-type h2 { margin-top:0; }
@media(max-width:600px) { .footer-bottom { align-items:flex-start; gap:16px; } .footer-policy-links { gap:12px 20px; } .legal-content h2 { font-size:26px; } }

/* Methods are compact records; comparison stays within its scrollable region. */
.method-library { max-width:1120px; margin-inline:auto; }
.method-library [hidden] { display:none !important; }
.method-search { padding:24px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(120deg,#faf9f7,#fff8f2); }
.method-query { display:flex; gap:12px; }
.method-query input { flex:1; min-width:0; padding:13px 16px; border:1px solid #a7a9ad; border-radius:11px; font-size:18px; background:#fff; }
.method-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px 20px; margin-top:18px; }
.method-filters label { display:grid; gap:7px; font-size:16px; color:var(--muted); }
.method-filters select { padding:9px 32px 9px 12px; border:1px solid #b9babc; border-radius:9px; background:#fff; color:var(--ink); font-size:17px; max-width:100%; }
.method-text-button { padding:10px 2px; border:0; background:transparent; color:var(--accent); font-size:17px; text-decoration:underline; text-underline-offset:4px; }
.method-results-bar { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-top:30px; }
.method-results-bar h2 { font-size:27px; margin:0; scroll-margin-top:12px; }
.method-results-bar h2:focus { outline:none; }
.method-results-bar p { font-size:17px; color:var(--muted); margin:0; }
.method-library-hint { font-size:16px; color:var(--muted); margin:8px 0 17px; }
.method-list-tools { padding-top:12px; }
.method-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:25px; padding:24px 0; border-top:1px solid var(--line); }
.method-row-meta { display:flex; gap:18px; font-size:16px; color:var(--muted); margin-bottom:7px; }
.method-row h3 { font-size:23px; line-height:1.55; margin:0 0 8px; }
.method-row p { font-size:18px; line-height:1.75; margin:0 0 13px; }
.method-row-facts { display:grid; gap:5px; margin:0; font-size:17px; }
.method-row-facts > div { display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; }
.method-row-facts dt { color:var(--muted); }
.method-row-facts dd { margin:0; }
.method-select { display:flex; align-items:center; gap:8px; align-self:start; padding:9px 12px; border:1px solid #d7d6d3; border-radius:10px; font-size:16px; cursor:pointer; }
.method-select:has(input:checked) { background:#fff1e5; border-color:var(--brand); }
.method-select:has(input:disabled) { opacity:.65; cursor:default; }
.method-select input { width:18px; height:18px; margin:0; accent-color:var(--accent); }
.method-compare-bar { position:sticky; top:100px; z-index:4; display:flex; justify-content:space-between; align-items:center; gap:20px; margin:18px 0; padding:16px 22px; background:#f7f6f3; border:1px solid var(--line); border-radius:16px; box-shadow:0 4px 12px #3032380a; }
.method-compare-bar strong { font-size:18px; }
.method-compare-bar span { display:block; color:var(--muted); font-size:16px; line-height:1.7; margin-top:4px; }
.method-compare-actions { display:flex; align-items:center; gap:17px; flex-shrink:0; }
.method-feedback { color:var(--muted); font-size:16px; margin:12px 0 0; }
.method-feedback:empty { display:none; }
.method-empty { padding:36px 0; font-size:18px; }
.method-comparison { width:min(1200px,calc(100% - 48px)); max-width:none; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); margin:auto; padding:0; min-width:0; border:1px solid #e0ded9; border-radius:20px; background:#fff; color:var(--ink); box-shadow:0 24px 80px #20222638; }
.method-comparison[open] { display:flex; flex-direction:column; animation:method-dialog-enter 160ms ease-out; }
.method-comparison::backdrop { background:#24262c70; }
.method-dialog-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; padding:24px 26px 18px; flex-shrink:0; }
.method-dialog-heading h2 { font-size:28px; margin:0; }
.method-dialog-heading h2:focus { outline:none; }
.method-dialog-heading p { font-size:17px; color:var(--muted); margin:6px 0 0; }
.method-dialog-heading .dialog-close { margin-top:0; }
.method-dialog-content { display:flex; flex-direction:column; min-height:0; padding:0 26px 26px; }
.method-dialog-content > p { flex-shrink:0; font-size:17px; color:var(--muted); line-height:1.7; margin:0 0 18px; }
.method-comparison .method-table-scroll { min-height:0; overscroll-behavior:contain; }
.method-comparison .method-table-scroll thead th { position:sticky; top:0; z-index:2; }
.method-comparison .method-table-scroll thead th:first-child { z-index:3; }
.method-comparison-sources { margin:0; padding-left:22px; }
.method-comparison-sources li + li { margin-top:14px; }
.method-comparison-sources a { color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.method-comparison-sources span { display:block; font-size:16px; color:var(--muted); margin-top:4px; }
body:has(.method-comparison[open]) { overflow:hidden; }
@keyframes method-dialog-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .method-comparison[open] { animation:none; } }
.method-table-scroll { overflow:auto; border:1px solid var(--line); border-radius:14px; }
.method-table-scroll table { width:100%; min-width:780px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:17px; line-height:1.75; }
.method-table-scroll th,.method-table-scroll td { padding:15px 18px; vertical-align:top; text-align:left; overflow-wrap:anywhere; border-bottom:1px solid var(--line); }
.method-table-scroll td { white-space:pre-line; }
.method-table-scroll th { font-weight:600; }
.method-table-scroll thead th { background:#fff1e5; font-size:18px; }
.method-table-scroll th:first-child { position:sticky; left:0; width:140px; z-index:1; background:#f7f6f3; }
.method-table-scroll thead th:first-child { z-index:2; background:#f3e7dd; }
.method-table-scroll td + td,.method-table-scroll thead th + th { border-left:1px solid var(--line); }
.method-table-scroll tr:last-child > * { border-bottom:0; }
.method-detail { display:grid; grid-template-columns:165px minmax(0,820px); gap:48px; justify-content:center; align-items:start; }
.method-detail-nav { position:sticky; top:110px; display:grid; gap:4px; padding:12px; border:1px solid var(--line); border-radius:14px; background:#faf9f7; }
.method-detail-nav a { padding:8px 9px; border-radius:8px; font-size:17px; }
.method-detail-nav a:hover { background:var(--accent-soft); }
.method-detail-body { min-width:0; font-size:18px; line-height:1.9; }
.method-section { scroll-margin-top:12px; padding-bottom:28px; }
.method-section + .method-section { border-top:1px solid var(--line); padding-top:29px; }
.method-section h2 { font-size:27px; margin:0 0 20px; }
.method-section h3 { font-size:21px; margin:0 0 15px; }
.method-section h4 { font-size:18px; font-weight:600; margin:20px 0 10px; }
.method-section p:last-child,.method-section ul:last-child { margin-bottom:0; }
.method-section ul { padding-left:24px; }
.method-definition { margin:0; }
.method-definition > div { display:grid; grid-template-columns:155px minmax(0,1fr); gap:20px; padding:12px 0; }
.method-definition > div + div { border-top:1px solid #ecebe7; }
.method-definition dt { color:var(--muted); }
.method-definition dd { margin:0; }
.method-event { font-size:16px; color:var(--muted); }
.method-sources ol { padding-left:25px; margin:0; }
.method-sources li { margin-bottom:19px; overflow-wrap:anywhere; }
.method-sources a { text-decoration:underline; text-underline-offset:4px; }
.method-sources span { display:block; font-size:16px; color:var(--muted); margin-top:3px; }
@media(max-width:1000px) {
  .method-detail { grid-template-columns:minmax(0,1fr); gap:28px; }
  .method-detail-nav { position:static; display:flex; flex-wrap:wrap; gap:2px 10px; padding:10px; }
}
@media(max-width:600px) {
  .method-search { padding:18px 15px; }
  .method-query { flex-wrap:wrap; }
  .method-query input { flex-basis:100%; }
  .method-query .button { padding:10px 18px; }
  .method-filters { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
  .method-filters select { width:100%; }
  .method-filters .method-text-button { justify-self:start; }
  .method-results-bar { gap:10px; align-items:center; }
  .method-results-bar h2 { font-size:24px; }
  .method-row { grid-template-columns:minmax(0,1fr); gap:14px; padding:23px 0; }
  .method-row h3 { font-size:21px; }
  .method-select { justify-self:start; }
  .method-row-facts > div { gap:8px; grid-template-columns:75px minmax(0,1fr); }
  .method-compare-bar { display:block; top:88px; padding:14px 16px; }
  .method-compare-bar span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .method-compare-actions { margin-top:13px; flex-wrap:wrap; }
  .method-definition > div { grid-template-columns:minmax(0,1fr); gap:4px; padding:14px 0; }
  .method-detail-nav a { font-size:16px; }
  .method-section h2 { font-size:24px; }
  .method-table-scroll th:first-child { width:105px; }
  .method-table-scroll th,.method-table-scroll td { padding:12px; }
  .method-comparison { width:calc(100% - 20px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:16px; }
  .method-dialog-heading { gap:12px; padding:19px 16px 15px; }
  .method-dialog-heading h2 { font-size:24px; }
  .method-dialog-heading p { font-size:16px; }
  .method-dialog-content { padding:0 16px 16px; }
  .method-dialog-content > p { font-size:16px; margin-bottom:14px; }
}

/* Keep single-select arrows inset consistently without replacing native controls. */
select:not([multiple]):not([size]),
select:not([multiple])[size="1"] {
  -webkit-appearance:none;
  appearance:none;
  padding-inline-end:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2362676e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:12px 8px;
  background-position:right 16px center;
}
@media(forced-colors:active) {
  select:not([multiple]):not([size]),
  select:not([multiple])[size="1"] {
    -webkit-appearance:auto;
    appearance:auto;
    background-image:none;
  }
}
