/* v2.4.0 — Editorial premium refinements for all 34 individual templates.
 * Inherits their distinctive layout, typography, header, palette and card choices.
 */
.portal-site{--mps-ed-shadow:0 8px 28px #121d3610;--mps-ed-hover:0 17px 39px #111c3828;text-rendering:optimizeLegibility;overflow-x:clip}
.portal-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.portal-site .portal-smallstrip{letter-spacing:.025em}
.portal-site .masthead{gap:22px}
.portal-site .portal-logo{overflow-wrap:anywhere;text-wrap:balance;line-height:1.05}
.portal-site .portal-header{isolation:isolate}
.portal-site .public-nav{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand),transparent 60%) transparent}
.portal-site .public-nav a{position:relative;transition:color .2s,background-color .2s,border-color .2s}
.portal-site .public-nav a:focus-visible{outline-offset:-3px}
.portal-site .search-box{border-radius:11px;transition:border-color .2s,box-shadow .2s}
.portal-site .search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand),transparent 85%)}
.portal-site .search-box input{font-size:12px}
.portal-site .main-hero,.portal-site .hero-minor{border-radius:var(--card-radius,12px);box-shadow:var(--mps-ed-shadow)}
.portal-site .main-hero .story-image,.portal-site .hero-minor .story-image{transition:transform .42s ease,filter .42s ease}
.portal-site .main-hero:hover .story-image,.portal-site .hero-minor:hover .story-image{transform:scale(1.035);filter:saturate(1.07)}
.portal-site .hero-gradient{background:linear-gradient(180deg,transparent 6%,#0b172a80 45%,#08111fee 100%)}
.portal-site .hero-gradient h1{letter-spacing:-.045em;text-wrap:balance}
.portal-site .hero-badge{border-radius:4px;font-weight:900;letter-spacing:.065em}
.portal-site .section-heading{gap:15px}
.portal-site .section-heading h2,.portal-site .section-heading h1{letter-spacing:-.05em;text-wrap:balance}
.portal-site .story-grid{row-gap:26px}
.portal-site .story-card{position:relative;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.portal-site .story-card .card-image{overflow:hidden;border-radius:min(var(--card-radius,12px),18px);background:#d9e1ee}
.portal-site .story-card .card-image img{object-fit:cover;transition:transform .38s ease,filter .3s ease}
.portal-site .story-card:hover .card-image img{transform:scale(1.05);filter:saturate(1.07)}
.portal-site .story-card:hover{transform:translateY(-2px)}
.portal-site .card-copy h3{line-height:1.28;text-wrap:pretty;overflow-wrap:anywhere}
.portal-site .card-copy p{line-height:1.72}
.portal-site .latest-row{transition:background .2s,border-color .2s;gap:18px}
.portal-site .latest-row:hover{border-color:color-mix(in srgb,var(--brand),transparent 60%)}
.portal-site .latest-row>img{border-radius:min(var(--card-radius,12px),16px);box-shadow:var(--mps-ed-shadow)}
.portal-site .about-widget{border-radius:min(var(--card-radius,12px),18px);border:1px solid #8294ad22}
.portal-site .headlines-ticker{border-radius:min(var(--card-radius,12px),15px)}
.portal-site .portal-pagination a{border-radius:8px;transition:transform .2s,background .2s}
.portal-site .portal-pagination a:hover{transform:translateY(-2px)}
.portal-site .story-crumb{line-height:1.65;overflow-wrap:anywhere}
.portal-site .story-page .article-body h1{letter-spacing:-.055em;text-wrap:balance}
.portal-site .article-lede{line-height:1.68;color:#64738b;text-wrap:pretty}
.portal-site .article-copy p{line-height:1.95;overflow-wrap:anywhere;text-wrap:pretty}
.portal-site .article-body figure img{border-radius:min(var(--card-radius,12px),20px)}
.portal-site .article-copy :is(blockquote,pre){max-width:100%;overflow:auto}
.portal-site .article-copy blockquote{border-left:4px solid var(--brand);background:color-mix(in srgb,var(--brand),#fff 94%);padding:16px 22px;border-radius:0 12px 12px 0;font-style:italic}
.portal-site .article-copy :is(h2,h3){line-height:1.27;letter-spacing:-.04em;margin-top:1.5em}
.portal-site .article-copy a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:var(--brand)}
.portal-site .portal-footer{overflow-wrap:anywhere}
.portal-site .portal-footer a:hover{color:var(--accent)}
.portal-site .mps-radio-dock{box-shadow:0 17px 40px #0c1d3b44}
.portal-site :is(.mps-newsletter-box,.mps-newsletter-public){border-radius:min(var(--card-radius,12px),20px)}
/* Distinct art direction for editorials without homogenizing the 34 layouts */
.portal-site:is(.layout-frontpage,.layout-split,.layout-opinion) .section-heading{border-bottom-width:3px}
.portal-site:is(.layout-frontpage,.layout-opinion,.layout-finance) .card-copy h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em}
.portal-site:is(.layout-finance,.layout-terminal) .card-copy small{font-variant-numeric:tabular-nums}
.portal-site:is(.layout-finance,.layout-terminal) .headlines-ticker{border-left:4px solid var(--brand)}
.portal-site:is(.layout-ticker,.layout-skyline,.layout-speed) .section-heading{border-bottom-color:var(--accent)}
.portal-site:is(.layout-ticker,.layout-speed) .hero-badge{border-radius:0;transform:skewX(-7deg)}
.portal-site:is(.layout-scoreboard,.layout-leaderboard) .hero-gradient h1{font-weight:950;text-transform:uppercase;letter-spacing:-.055em}
.portal-site:is(.layout-scoreboard,.layout-leaderboard) .hero-minor{border-bottom:3px solid var(--accent)}
.portal-site:is(.layout-mosaic,.layout-collage,.layout-gallery) .story-grid{align-items:start;row-gap:29px}
.portal-site:is(.layout-mosaic,.layout-collage,.layout-gallery) .story-card:nth-child(3n + 2){transform:translateY(8px)}
.portal-site:is(.layout-mosaic,.layout-collage,.layout-gallery) .story-card:nth-child(3n + 2):hover{transform:translateY(4px)}
.portal-site:is(.layout-cinematic,.layout-wave,.layout-fashion,.layout-atelier) .hero-gradient h1{font-weight:750;letter-spacing:-.065em}
.portal-site:is(.layout-cinematic,.layout-wave,.layout-fashion,.layout-atelier) .main-hero{border-radius:0}
.portal-site:is(.layout-travel,.layout-map,.layout-property,.layout-recipe) .hero-gradient{background:linear-gradient(180deg,transparent,#08111cc9)}
.portal-site:is(.layout-travel,.layout-map,.layout-property,.layout-recipe) .main-hero{border-radius:clamp(12px,2vw,24px)}
.portal-site:is(.layout-wellness,.layout-clinical,.layout-eco) .story-card{border-radius:14px}
.portal-site:is(.layout-wellness,.layout-clinical,.layout-eco) .card-image{border-radius:18px}
.portal-site:is(.layout-community,.layout-campus,.layout-harvest,.layout-reflective) .news-sidebar{border-color:color-mix(in srgb,var(--brand),transparent 73%)}
.portal-site:is(.layout-futurist,.layout-diagonal,.layout-laboratory) .hero-badge{border:1px solid currentColor}
.portal-site:is(.layout-futurist,.layout-diagonal,.layout-laboratory) .card-image{border:1px solid color-mix(in srgb,var(--brand),transparent 65%)}
.portal-site:is(.layout-playful,.layout-pop) .hero-badge{border-radius:99px}
/* Dark-template treatment: preserve contrast */
.portal-site.premium-dark .article-lede{color:#bfccdf}
.portal-site.premium-dark .article-copy p{color:#dce4f2}
.portal-site.premium-dark .article-copy blockquote{background:color-mix(in srgb,var(--brand),#192038 82%);color:#eef2ff}
.portal-site.premium-dark .story-card .card-image{background:#202a3b}
.portal-site.premium-dark .search-box:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand),transparent 65%)}
@media(max-width:900px){.portal-site .portal-logo{font-size:clamp(23px,5vw,36px)}.portal-site .story-grid{row-gap:19px}.portal-site .article-copy p{font-size:16px;line-height:1.83}}
@media(max-width:680px){.portal-site .masthead{gap:10px}.portal-site .public-container{padding-inline:15px}.portal-site .search-box input{max-width:150px}.portal-site .story-grid{gap:16px}.portal-site .hero-gradient{padding:21px}.portal-site .section-heading{align-items:flex-start}.portal-site .article-copy p{font-size:16px}.portal-site :is(.layout-mosaic,.layout-collage,.layout-gallery) .story-card:nth-child(3n + 2){transform:none}}
@media(max-width:440px){.portal-site .search-box input{width:100px}.portal-site .search-box button{padding:7px}.portal-site .hero-gradient h1{font-size:clamp(22px,6.5vw,31px)}.portal-site .hero-gradient p{display:none}.portal-site .latest-row>img{width:110px;height:100px}.portal-site .article-body h1{font-size:clamp(27px,8vw,40px)}}
@media(prefers-reduced-motion:reduce){.portal-site :is(*,*:before,*:after){transition:none!important;animation:none!important;scroll-behavior:auto!important}.portal-site .story-card:hover{transform:none}}
