/* Editorial design: reviewed local prototype, integrated into Hugo. */
:root { --study-accent:#ad482b; }
.brand-portal { --portal-paper:#f4f0e7; --portal-ink:#25382f; --portal-muted:#586253; --portal-line:#d5d7c9; }
.portal-wrap { width:min(1400px,100%); padding-inline:clamp(22px,5vw,78px); }
.portal-header { border-top:0; background:#f4f0e7; }
.portal-header-inner { min-height:92px; }
.portal-header nav { gap:20px; font-size:14px; }
.portal-header .portal-nav-cta { border-radius:0; background:#25382f; color:#fff9eb; }
.portal-hero-grid { grid-template-columns:1.15fr 1fr; gap:36px; padding-block:65px 58px; align-items:center; }
.portal-hero h1 { font-size:clamp(54px,6.5vw,96px); line-height:1.02; letter-spacing:-.055em; }
.portal-hero h1 em { color:var(--study-accent); }
.portal-dek { max-width:440px; font-size:19px; }
.portal-hero-note { margin-top:35px; }
.portal-button { border-radius:0; }
.study-feature { position:relative; margin:0; padding:0 0 32px 25px; }
.study-feature::before { content:''; position:absolute; inset:25px 24px 0 0; background:#dfe1d3; }
.study-feature > a { display:block; position:relative; text-decoration:none; background:#27382f; overflow:hidden; }
.study-feature img { width:100%; height:440px; object-fit:cover; opacity:.83; transition:transform .8s ease; }
.study-feature a:hover img { transform:scale(1.035); }
.study-feature > a::after { content:''; position:absolute; inset:20% 0 0; background:linear-gradient(transparent,rgba(13,27,24,.95)); pointer-events:none; }
.study-feature-copy { position:absolute; left:30px; bottom:28px; right:30px; color:#fff8e7; z-index:1; }
.study-feature-copy small { font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.study-feature-copy strong { display:block; font:400 clamp(28px,3vw,39px)/1.12 Georgia,serif; margin-block:14px; }
.study-feature-copy span { font-size:14px; }
.study-feature figcaption { position:relative; margin-top:16px; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.study-stamp { position:absolute; right:-15px; top:-22px; z-index:2; width:85px; height:85px; border-radius:50%; background:#ae482d; color:#fff9e9; display:grid; place-content:center; text-align:center; font-size:10px; line-height:1.6; letter-spacing:.12em; transform:rotate(9deg); border:5px double #efdfc4; }
.portal-ribbon { background:transparent; color:#25382f; border-block:1px solid var(--portal-line); }
.portal-ribbon > div { padding-block:22px; }
.portal-ribbon span { font-size:21px; }
.portal-ribbon i { color:var(--study-accent); }
.brand-portal h2 { font-size:clamp(34px,3.8vw,53px); }
.portal-story-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; counter-reset:story; }
.portal-story { border-top:1px solid #bec4b4; padding-top:14px; counter-increment:story; }
.portal-story:first-child { grid-column:span 2; grid-row:span 2; }
.portal-story-image { border-radius:0; aspect-ratio:1.5; }
.portal-story:first-child .portal-story-image { aspect-ratio:1.18; }
.portal-story-body h3 { font:400 25px/1.15 Georgia,serif; letter-spacing:-.02em; }
.portal-story:first-child h3 { font-size:42px; }
.portal-story-body > p { font-size:15px; }
.portal-story-meta::before { content:counter(story,decimal-leading-zero) ' / '; color:var(--study-accent); }
.portal-story-label { border-radius:0; }
.portal-story-more { padding-top:18px; }
.portal-about { background:#243c33; color:#f5f0df; }
.portal-about .portal-kicker,.portal-about-copy p,.portal-about h2 em { color:#e2c89a; }
.portal-about-copy { padding-top:20px; }
.portal-about h2 { font-size:clamp(36px,4.6vw,66px); }
.portal-editions { display:grid; grid-template-columns:1fr; gap:0; }
.portal-edition { display:grid; grid-template-columns:110px 1fr; padding:24px 0; border:0; border-top:1px solid var(--portal-line); border-radius:0; background:none; align-items:center; }
.portal-edition-image { width:94px; height:94px; border-radius:50%; overflow:hidden; }
.portal-edition-image img { width:100%; height:100%; object-fit:cover; }
.portal-edition-body { padding:0 0 0 20px; display:grid; grid-template-columns:1fr 1.3fr 1fr; align-items:center; gap:10px 24px; }
.portal-edition-native { font-size:28px; margin:0; }
.portal-edition-body h3 { font-size:16px; grid-column:1; }
.portal-edition-body h3 br { display:none; }
.portal-edition-body > p:not(.portal-edition-native) { grid-column:2; grid-row:1 / span 2; margin:0; }
.portal-edition-read { grid-column:3; grid-row:1; margin:0; }
.portal-edition-watch { grid-column:3; grid-row:2; }
.community-home-grid article { border-radius:0; border-top:3px solid var(--study-accent); }
.portal-closing { background:#e6dcc6; }
.portal-closing h2 { max-width:800px; margin-inline:auto; }
/* Reading edition: retain native typefaces and a quiet, generous reading surface. */
.is-story { --radius:3px; }
.is-story .story-hero { background:#192d29; padding-block:56px; }
.is-story .story-hero h1 { font-size:clamp(30px,3.5vw,49px); font-weight:600; line-height:1.4; }
.is-story .pic-hero { border-radius:0; }
.is-story .story-grid { max-width:1160px; grid-template-columns:minmax(0,760px) 260px; gap:60px; }
.is-story .prose { font-size:1.17rem; line-height:1.95; }
.is-story .prose h2 { font-weight:600; border-top:1px solid var(--rule); padding-top:24px; }
.is-story .prose blockquote { font-weight:500; background:var(--mist); padding:26px; border-left:3px solid #ad482b; }
.is-story .story-community { max-width:1160px; }
.is-story .community-button { border-radius:0; }
.study-toc { padding:22px 0; border-block:1px solid var(--rule); margin-bottom:30px; }
.study-toc summary { font-size:13px; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; min-height:30px; }
.study-toc ol { padding-left:21px; font-size:14px; line-height:1.7; margin:15px 0 0; }
.study-toc li { margin-block:10px; }
.study-toc a { text-decoration:none; }
.study-toc a:hover { text-decoration:underline; }
.study-reading-progress { position:fixed; top:0; left:0; width:100%; height:3px; background:#b66c36; transform:scaleX(0); transform-origin:left; z-index:100; pointer-events:none; }
.study-motion-button { position:fixed; bottom:18px; right:18px; z-index:50; border:1px solid #b8c0ad; background:#f8f4e9; color:#25382f; border-radius:2px; padding:10px 14px; font:12px/1.5 system-ui,sans-serif; cursor:pointer; box-shadow:0 3px 12px #14251a15; min-height:44px; }
:where(.portal-header,.portal-edition,.story-community) a { min-height:24px; }
@media(min-width:1000px) { .portal-story:not(:first-child) .portal-story-body > p:not(.portal-story-meta) { display:none; } }
@media(max-width:1000px) { .portal-header-inner { flex-wrap:wrap; padding-block:15px; gap:14px; } .portal-header nav { gap:8px 18px; } .portal-hero-grid { grid-template-columns:1fr 1fr; } .portal-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .portal-story:first-child { grid-row:auto; } .is-story .story-grid { grid-template-columns:1fr; } }
@media(max-width:680px) { .portal-hero-grid { grid-template-columns:1fr; padding-block:38px; } .portal-hero h1 { font-size:60px; } .portal-hero-note { display:none; } .study-feature { margin:10px 0 0; padding-left:15px; } .study-feature img { height:340px; } .study-stamp { right:0; } .portal-ribbon span { font-size:15px; } .portal-ribbon i { font-size:8px; } .portal-ribbon > div { gap:6px; padding-inline:18px; } .portal-story-grid { gap:28px 18px; } .portal-story-body h3 { font-size:24px; } .portal-story:first-child h3 { font-size:32px; } .portal-story:first-child .portal-story-image { aspect-ratio:1.5; } .portal-story-more { font-size:12px; } .portal-edition-body { grid-template-columns:1fr; gap:5px; } .portal-edition-body > p:not(.portal-edition-native),.portal-edition-read,.portal-edition-watch { grid-column:1; grid-row:auto; } .portal-edition-body > p:not(.portal-edition-native) { display:none; } .portal-edition { grid-template-columns:80px 1fr; } .portal-edition-image { width:72px; height:72px; } .portal-edition-native { font-size:24px; } .study-motion-button { bottom:10px; right:10px; } .is-story .story-hero { padding-block:30px; } }
@media(prefers-reduced-motion:no-preference) {
 @view-transition { navigation:auto; }
 ::view-transition-old(root),::view-transition-new(root) { animation-duration:160ms; }
 .portal-button,.portal-edition-read { transition:transform .2s ease,background .2s ease; }
 .portal-button:hover { transform:translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } @view-transition { navigation:none; } }
html[data-study-motion=off] { scroll-behavior:auto; }
html[data-study-motion=off] *,html[data-study-motion=off] *::before,html[data-study-motion=off] *::after { animation:none!important; transition:none!important; }
html[data-study-motion=off] { view-transition-name:none; }

html[data-study-motion=off]::view-transition-old(root),html[data-study-motion=off]::view-transition-new(root),html[data-study-motion=off]::view-transition-group(*) { animation-duration:0s!important; }
.prose h2[id] { scroll-margin-top:28px; }

/* Review refinement: purposeful contact navigation, clear home sharing label. */
.study-contact-links { width:100%; display:grid; gap:10px; }
.study-contact-links a { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:84px; padding:17px 20px; border:1px solid #c5cebb; background:#f5f5ea; text-decoration:none; color:#25382f; }
.study-contact-links strong { display:block; font-size:16px; font-weight:600; line-height:1.4; }
.study-contact-links small { display:block; font-size:13px; line-height:1.5; margin-top:4px; color:#50604c; }
.study-contact-links a > span:last-child { font-size:21px; color:#8f432e; }
.study-contact-links a:hover { background:#e0e7d7; border-color:#8c9c80; }
.community-contact-actions > .social-share { margin-top:4px; }
.community-contact-actions > .social-share summary { border-color:#a7b49b; padding:12px 16px; }
