/* Shared public homepage and research index; report styles are independent. */
.home-editorial { --paper:#f8f8f4; --line:#d9dedb; --muted:#596771; background:var(--paper); }
.home-editorial .shell { width:min(1120px,calc(100% - 96px)); }
.home-editorial .site-header { position:relative; background:var(--paper); backdrop-filter:none; }
.home-editorial .nav-shell { min-height:88px; }
.home-editorial .primary-nav { gap:28px; font-size:12px; }
.home-editorial .primary-nav a { position:relative; }
.home-editorial .primary-nav a::after { content:""; position:absolute; left:0; right:0; bottom:5px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 180ms ease; }
.home-editorial .primary-nav a:hover::after,.home-editorial .primary-nav a:focus-visible::after,.home-editorial .primary-nav [aria-current="page"]::after { transform:scaleX(1); }
.home-editorial .intro,.research-index-heading,.research-entry { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:64px; }
.home-editorial .intro,.research-index-heading { align-items:start; padding:88px 0 64px; }
.home-editorial h1 { font-size:clamp(40px,4.2vw,60px); font-weight:450; letter-spacing:-.052em; line-height:1.12; }
.home-editorial h1>span { color:var(--accent); }
.home-editorial .intro-copy { max-width:430px; margin:3px 0 0; font-size:17px; line-height:1.75; }
.home-editorial .intro-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:48px; margin-top:22px; border-bottom:1px solid #a6b1b8; font-size:13px; font-weight:500; }
.home-editorial .intro-link span,.home-editorial .contact-line a span { transition:transform 180ms ease; }
.home-editorial .intro-link:hover span,.home-editorial .intro-link:focus-visible span,.home-editorial .contact-line a:hover span { transform:translate(2px,-2px); }
.home-editorial .contact-line { margin:0; padding:28px 0; border-top:1px solid var(--line); font-size:18px; letter-spacing:-.02em; }
.home-editorial .contact-line>span { color:var(--navy); }
.home-editorial .contact-line a { font-size:16px; }
.home-editorial .footer-inner { padding:16px 0 22px; font-size:11px; }
.research-entry { padding:32px 0 40px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:40px; }
.entry-meta { display:flex; flex-direction:column; gap:22px; color:var(--muted); font-size:13px; line-height:1.7; }
.entry-body h2 { margin:0 0 16px; font-size:32px; font-weight:450; letter-spacing:-.035em; line-height:1.2; }
.entry-body h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.entry-body>p { max-width:440px; color:var(--muted); font-size:16px; line-height:1.75; }
.entry-body .entry-access { margin-top:16px; font-size:12px; }
@media(max-width:900px) { .home-editorial .shell { width:calc(100% - 64px); } .home-editorial .intro,.research-index-heading,.research-entry { gap:36px; } .home-editorial .intro,.research-index-heading { padding-top:64px; } }
@media(max-width:700px) {
 .home-editorial .shell { width:calc(100% - 40px); }
 .home-editorial .nav-shell { min-height:80px; gap:12px; }
 .home-editorial .primary-nav { gap:14px; font-size:11px; }
 .home-editorial .primary-nav>a:first-child { display:inline-flex; }
 .home-editorial .nav-contact { gap:6px; }
 .home-editorial .intro,.research-index-heading,.research-entry { grid-template-columns:1fr; gap:24px; }
 .home-editorial .intro,.research-index-heading { padding:48px 0 40px; }
 .home-editorial h1 { font-size:clamp(34px,8.3vw,48px); }
 .home-editorial .intro-copy { margin:0; font-size:16px; }
 .home-editorial .intro-link { margin-top:18px; }
 .home-editorial .contact-line { gap:8px; padding:22px 0; font-size:17px; }
 .home-editorial .contact-line a { font-size:15px; gap:18px; }
 .research-entry { padding:24px 0 30px; margin-bottom:24px; }
 .entry-meta { flex-direction:row; flex-wrap:wrap; gap:12px 28px; font-size:12px; }
 .entry-body h2 { font-size:28px; }
 .entry-body>p { font-size:15px; }
}
@media(max-width:359px) { .home-editorial .brand-mark { width:28px; height:28px; } .home-editorial .brand-name { font-size:19px; } .home-editorial .brand { gap:8px; } .home-editorial .primary-nav { gap:10px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .home-editorial .primary-nav a::after,.home-editorial .intro-link span,.home-editorial .contact-line a span { transition:none; transform:none; } .home-editorial .primary-nav [aria-current="page"]::after,.home-editorial .primary-nav a:hover::after,.home-editorial .primary-nav a:focus-visible::after { transform:scaleX(1); } }
