/* Research portal — uses the Society paper, ink, signal red and typefaces. */
.topbar .shell{display:flex;justify-content:space-between;align-items:center;height:56px;gap:20px}
.topbar .brandmark{color:var(--ink)}
.topbar .topnav{display:flex;gap:clamp(14px,2.2vw,32px);font-family:var(--f-grotesk);font-size:.82rem;letter-spacing:0;text-transform:none}
.topnav a{white-space:nowrap}.topnav a[aria-current="page"]::after{width:100%}
.skip-link{position:fixed;top:-100px;left:16px;z-index:150;background:var(--ink);color:var(--paper);padding:12px 20px}.skip-link:focus{top:8px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.portal-home .shell,.editorial-page .shell{max-width:1380px}
.portal-home .hero{padding-top:56px}.portal-home .display{font-size:clamp(3.1rem,10vw,8.5rem)}
.portal-home .hero-main{padding:40px 0 30px}
.portal-home .hero-sub{margin-top:28px}.portal-home .hero-cn{font-size:clamp(1.3rem,2.7vw,2.2rem)}
.hero-intro{grid-column:7/13}.hero-intro .hero-lede{max-width:48ch;line-height:1.85}
.portal-home .hero-tagline{margin-top:28px}
.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.portal-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;background:transparent;border:var(--rule);padding:12px 20px;color:var(--ink);font-family:var(--f-grotesk);font-size:.86rem;font-weight:700;line-height:1.5;cursor:pointer;transition:background .18s,color .18s}
.portal-button:hover{background:var(--ink);color:var(--paper)}.portal-button.primary{background:var(--red);border-color:var(--red);color:var(--paper)}.portal-button.primary:hover{background:var(--ink);border-color:var(--ink)}
.portal-home .section{padding:clamp(40px,5.8vw,76px) 0}
.portal-home .sec-head{margin-bottom:30px}.portal-home .sec-title{font-size:clamp(1.7rem,3.5vw,3rem);line-height:1.25}.portal-home .sec-note{max-width:70ch;line-height:1.8}
.portal-home .sec-idx{font-family:var(--f-grotesk);letter-spacing:.04em}.portal-home .sec-title .cn{letter-spacing:.05em}
.portal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.portal-section-head h2{font-size:1.15rem;font-weight:800}.portal-en{font-family:var(--f-mono);font-size:.7rem;color:var(--ink-70)}
.latest-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--gutter)}
.feature-report{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:360px;background:var(--paper-2);border:var(--rule);padding:clamp(22px,3vw,38px)}
.feature-report>*:not(.feature-target){position:relative;z-index:1}
.feature-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.76rem;color:var(--ink-70)}.feature-meta span:first-child{color:var(--red);font-weight:700}
.feature-report h3{font-weight:900;line-height:1.25;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.02em;margin:28px 0 18px}
.feature-report>p{max-width:44ch;font-size:.92rem;line-height:1.85;color:var(--ink-70)}
.feature-target{position:absolute;width:190px;height:190px;right:-100px;top:60px;opacity:.16;background:repeating-radial-gradient(var(--ink) 0 1.5px,transparent 1.5px 8px);border-radius:50%}
.feature-bottom{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px;margin-top:auto;padding-top:30px}.feature-bottom b{font-family:var(--f-mono);font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.3;color:var(--red)}.feature-bottom div>span{display:block;font-size:.72rem;color:var(--ink-70);margin-top:4px}.feature-read{margin-left:auto;font-size:.82rem;font-weight:700}
.feature-report:hover .feature-read,.entry-link{color:var(--red)}
.latest-notes{display:flex;flex-direction:column}.latest-notes>a{padding:20px 0;border-top:var(--rule);flex:1}.latest-notes>a:first-child{padding-top:0;border-top:0}.latest-notes h3{font-size:1.18rem;line-height:1.5;margin:7px 0}.latest-notes p{font-size:.88rem;line-height:1.8;color:var(--ink-70)}.latest-notes a:hover h3{color:var(--red)}
.entry-type{font-size:.73rem;color:var(--ink-70)}.entry-link{display:inline-block;font-size:.78rem;font-weight:700;margin-top:12px}
.research-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,76px)}
.research-path{min-width:0}.path-heading{display:flex;align-items:baseline;justify-content:space-between;border-top:3px solid var(--ink);padding-top:16px;gap:12px}.path-heading h3{font-size:1.4rem;font-weight:900}.path-heading>span{font-family:var(--f-mono);font-size:.75rem;color:var(--red)}
.path-description{font-size:.9rem;line-height:1.8;color:var(--ink-70);margin:14px 0 22px;max-width:52ch}
.research-entry{display:block;border-top:var(--hair);padding:20px 0}.research-entry h4{font-size:1.15rem;line-height:1.5;margin:8px 0}.research-entry p{font-size:.87rem;color:var(--ink-70);line-height:1.8}.research-entry:hover h4{color:var(--red)}
.path-more{display:inline-flex;align-items:center;gap:24px;font-size:.82rem;font-weight:700;margin-top:20px;border-bottom:1px solid var(--ink);padding-bottom:6px}.path-more:hover{color:var(--red);border-color:var(--red)}
.path-note{font-size:.76rem;color:var(--ink-70);line-height:1.8;border-top:var(--hair);padding-top:20px}
.topic-list{border-bottom:var(--rule)}.topic-row{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1.6fr) 24px;align-items:center;gap:24px;padding:24px 0;border-top:var(--rule)}.topic-row h3{font-size:1.25rem;font-weight:800;line-height:1.4}.topic-row p{color:var(--ink-70);line-height:1.8;font-size:.88rem}.topic-row>span:last-child{font-size:1.4rem;color:var(--red)}.topic-row:hover h3{color:var(--red)}
.event-summary{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:var(--rule);border-bottom:var(--rule);padding:28px 0}.event-summary h3{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;line-height:1.4;margin:12px 0}.event-summary p{font-size:.9rem;line-height:1.8;color:var(--ink-70);max-width:64ch}.event-summary .portal-button{flex-shrink:0}
.portal-home .portal-about{background:var(--paper-2)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,76px)}.about-grid h2{font-size:clamp(1.6rem,2.8vw,2.5rem);line-height:1.4;font-weight:900;margin-top:16px}.about-grid p{font-size:.94rem;color:var(--ink-70);line-height:1.9;max-width:55ch}.about-grid p+p{margin-top:16px}
.participation-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,76px)}.participation-grid>div{border-top:var(--rule);padding-top:18px}.participation-grid h3{font-size:1.2rem;font-weight:800}.participation-grid p{font-size:.9rem;line-height:1.9;color:var(--ink-70);margin:14px 0 20px;max-width:55ch}.participation-grid .participation-note{font-size:.8rem}
.footer-contact{display:block;border:0;background:transparent;font-family:inherit;text-align:left;color:rgba(242,238,227,.72);font-size:.9rem;padding:5px 0;cursor:pointer}.footer-contact:hover{color:var(--paper)}
.page-intro{padding:116px 0 42px;border-bottom:var(--rule)}.breadcrumb{font-size:.75rem;color:var(--ink-70)}.breadcrumb:hover{color:var(--red)}.page-intro h1{font-size:clamp(2rem,5vw,4.5rem);font-weight:900;line-height:1.25;letter-spacing:-.02em;margin:24px 0 20px}.page-intro p{font-size:.95rem;line-height:1.85;max-width:70ch;color:var(--ink-70)}
.page-toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.page-toc a{border:var(--rule);font-size:.78rem;padding:8px 14px}.page-toc a:hover{background:var(--ink);color:var(--paper)}
.editorial-page .section{padding:clamp(40px,6vw,80px) 0}.editorial-page section[id],.portal-home section[id]{scroll-margin-top:80px}.editorial-page .sec-title{line-height:1.25}.editorial-page .doc-card h3{line-height:1.2}
.editorial-page .sec-note,.editorial-page .dc-desc{line-height:1.85}.editorial-page .lib-docs{margin-bottom:36px}.related-research{display:flex;align-items:center;flex-wrap:wrap;gap:18px;border-top:var(--rule);padding-top:24px}.related-research h2{font-size:1.2rem;margin-right:auto}.related-research a{font-size:.85rem;border-bottom:1px solid var(--ink);padding-bottom:4px}
/* Content remains readable before JS and with reduced motion. */
.portal-home .reveal,.editorial-page .reveal{opacity:1;transform:none}.portal-home .display .ln>span{transform:none}
@media(max-width:900px){.topbar .brandmark span{display:none}.latest-grid{grid-template-columns:1.2fr 1fr}.topic-row{grid-template-columns:70px minmax(0,1fr) minmax(0,1.3fr) 18px;gap:16px}.hero-intro{grid-column:1/13}.portal-home .hero-sub{gap:22px}}
@media(max-width:720px){.topbar .shell{height:auto;min-height:82px;display:flex;flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}.topbar .brandmark{flex-basis:100%}.topbar .topnav{display:flex;justify-content:space-between;width:100%;gap:16px;font-size:.76rem}.portal-home .hero{padding-top:82px}.portal-home .hero-main{padding:28px 0}.portal-home .hero-meta>div{font-size:.62rem}.portal-home .hero-meta>div:nth-child(2){display:none}.portal-home .hero-en{letter-spacing:.04em}.latest-grid,.research-paths,.about-grid,.participation-grid{grid-template-columns:minmax(0,1fr)}.latest-notes>a:first-child{border-top:var(--rule);padding-top:20px}.latest-notes{margin-top:8px}.feature-report{min-height:340px}.portal-section-head{flex-wrap:wrap;gap:8px}.research-paths{gap:36px}.topic-row{grid-template-columns:minmax(0,1fr) 20px;gap:8px 16px}.topic-row .entry-type{grid-column:1}.topic-row h3{grid-column:1}.topic-row p{grid-column:1}.topic-row>span:last-child{grid-column:2;grid-row:1/4}.event-summary{align-items:flex-start;flex-direction:column;gap:22px}.page-intro{padding-top:118px}.editorial-page section[id],.portal-home section[id]{scroll-margin-top:104px}.feature-bottom{gap:20px}.feature-read{margin-left:0}.about-grid,.participation-grid{gap:30px}.editorial-page .chap{grid-template-columns:44px 1fr auto;gap:12px}.editorial-page .ch-q{grid-column:2/4}.editorial-page .ch-pg{grid-column:3;grid-row:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.topbar,.deco,.portal-actions,.portal-button,.skip-link{display:none}.page-intro{padding-top:20px}.latest-grid,.research-paths,.about-grid{display:block}.feature-report{break-inside:avoid}.feature-target{display:none}}

.portal-home .hero-sub{align-items:start}
.portal-home .hero-intro .portal-actions{padding-left:18px}
@media(max-width:860px){.portal-home .hero-intro .portal-actions{padding-left:0}}
