/* Meu Portal SaaS Ultimate v3.3 — twelve independent, content-first cover structures.
   These are actual DOM structures, not recolors of a shared grid. */
.portal-site .ux-cover{--ux-rule:color-mix(in srgb,var(--brand) 20%,transparent);--ux-faint:color-mix(in srgb,var(--brand) 7%,transparent);--ux-ink:inherit;--ux-paper:transparent;min-width:0;margin:0 0 clamp(18px,3vw,38px);isolation:isolate}
.portal-site .ux-cover *{box-sizing:border-box}
.portal-site .ux-cover a{color:inherit;text-decoration:none}
.portal-site .ux-cover a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.portal-site .ux-cover img,.portal-site .ux-cover picture{display:block;width:100%;max-width:100%}
.portal-site .ux-story{display:flex;min-width:0;flex-direction:column;gap:0;overflow:hidden;position:relative}
.portal-site .ux-story-picture{display:block;position:relative;overflow:hidden;min-width:0;background:var(--ux-faint);aspect-ratio:16/10}
.portal-site .ux-story-picture img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.portal-site .ux-story:hover .ux-story-picture img{transform:scale(1.045)}}
.portal-site .ux-story-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0}
.portal-site .ux-story-eyebrow{font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--brand)}
.portal-site .ux-story-number{font-size:12px;font-variant-numeric:tabular-nums;color:var(--accent);margin-right:7px}
.portal-site .ux-story h1,.portal-site .ux-story h2{margin:0;color:inherit;overflow-wrap:break-word;hyphens:auto;line-height:1.13;letter-spacing:-.036em}
.portal-site .ux-story h1{font-size:clamp(30px,3.5vw,58px);font-weight:900}
.portal-site .ux-story h2{font-size:clamp(16px,1.45vw,23px);font-weight:800}
.portal-site .ux-story-summary{color:inherit;opacity:.73;font-size:clamp(13px,1.2vw,17px);line-height:1.52;max-width:65ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.portal-site .ux-story-date{font-size:11px;opacity:.65;font-weight:600;letter-spacing:.02em}
.portal-site .ux-story--compact{flex-direction:row;gap:10px;border-bottom:1px solid var(--ux-rule);align-items:flex-start}
.portal-site .ux-story--compact .ux-story-picture{flex:0 0 100px;aspect-ratio:4/3;min-height:0}
.portal-site .ux-story--compact .ux-story-copy{padding:9px 0;gap:5px}
.portal-site .ux-story--compact h2{font-size:clamp(14px,1.2vw,18px);line-height:1.27}
.portal-site .ux-story--photo .ux-story-picture{aspect-ratio:5/3}
.portal-site .ux-story--photo h2{font-size:clamp(16px,1.6vw,24px)}
.portal-site .ux-story--headline h2{font-family:Georgia,serif;font-size:clamp(18px,2vw,28px)}
/* Broadsheet: center type-led first fold, three distinct print columns. */
.portal-site .ux-cover--broadsheet{border-top:5px double var(--brand);border-bottom:3px double var(--brand);padding:12px 0 20px}
.portal-site .ux-newspaper-head{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.18em;font-weight:900;border-bottom:1px solid var(--ux-rule);padding:0 0 10px}
.portal-site .ux-newspaper-lead{text-align:center;padding:clamp(17px,3vw,32px) 7%}
.portal-site .ux-newspaper-lead .ux-story-copy{align-items:center}
.portal-site .ux-newspaper-lead .ux-story h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(39px,5vw,78px);line-height:1.06}
.portal-site .ux-newspaper-lead .ux-story-summary{text-align:center}
.portal-site .ux-newspaper-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:1px solid var(--ux-rule);padding-top:18px}
.portal-site .ux-newspaper-columns>.ux-story{border-right:1px solid var(--ux-rule);padding-right:16px}
.portal-site .ux-newspaper-columns>.ux-story:last-child{border-right:0}
.portal-site .ux-newspaper-columns .ux-story--compact{display:flex;flex-direction:column;border-bottom:0}
.portal-site .ux-newspaper-columns h2{font:700 clamp(16px,1.6vw,24px)/1.2 Georgia,serif}
/* General mega-portal: split feature and flexible wire in an adjacent column. */
.portal-site .ux-wire-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:clamp(16px,2vw,27px)}
.portal-site .ux-wire-lead .ux-story-picture{aspect-ratio:16/9}
.portal-site .ux-wire-lead .ux-story h1{font-size:clamp(30px,3.4vw,54px)}
.portal-site .ux-wire-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;align-content:start}
.portal-site .ux-wire-secondary .ux-story:first-child{grid-column:1/-1}
.portal-site .ux-wire-secondary .ux-story--compact{flex-direction:column}
.portal-site .ux-wire-secondary .ux-story--compact .ux-story-copy{padding:7px 0}
/* News bulletin: a chronology column and a single clean cover, not faux LIVE. */
.portal-site .ux-cover--live{background:var(--ux-faint);padding:clamp(14px,2vw,25px);border-left:5px solid var(--brand)}
.portal-site .ux-live-header{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--ux-rule);padding-bottom:12px;margin-bottom:17px}
.portal-site .ux-live-header span{background:var(--brand);color:#fff;padding:7px 9px;font-size:10px;font-weight:900;letter-spacing:.08em}
.portal-site .ux-live-header strong{font-size:13px}
.portal-site .ux-live-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.78fr);gap:25px}
.portal-site .ux-live-main .ux-story h1{font-size:clamp(27px,3vw,48px)}
.portal-site .ux-live-updates>h2{font-size:16px;text-transform:uppercase;margin:0 0 13px;padding-bottom:10px;border-bottom:3px solid var(--brand)}
.portal-site .ux-live-updates .ux-story--compact{background:transparent}
/* TV/editorial: wide cinematic stage and horizontal rundown. */
.portal-site .ux-cover--broadcast{background:#0c1424;color:#fff;padding:clamp(12px,2vw,23px)}
.portal-site .ux-broadcast-stage .ux-story{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.75fr);background:#151e30}
.portal-site .ux-broadcast-stage .ux-story-picture{aspect-ratio:16/9}
.portal-site .ux-broadcast-stage .ux-story-copy{justify-content:center;padding:clamp(17px,3vw,38px)}
.portal-site .ux-broadcast-stage .ux-story h1{font-size:clamp(26px,3vw,50px)}
.portal-site .ux-cover--broadcast .ux-story-eyebrow{color:#9edfff}
.portal-site .ux-broadcast-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}
.portal-site .ux-broadcast-strip .ux-story h2{font-size:clamp(14px,1.3vw,19px)}
.portal-site .ux-broadcast-strip .ux-story-picture{aspect-ratio:16/8}
/* Magazine: genuinely vertical cover with overlapping issue badge and stacked secondary photos. */
.portal-site .ux-magazine-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(14px,2vw,24px)}
.portal-site .ux-magazine-cover{position:relative;min-height:300px}
.portal-site .ux-magazine-cover .ux-story{height:100%;background:#121726;color:#fff}
.portal-site .ux-magazine-cover .ux-story-picture{aspect-ratio:auto;min-height:390px;flex:1}
.portal-site .ux-magazine-cover .ux-story-copy{padding:18px 22px}
.portal-site .ux-magazine-cover .ux-story h1{font-size:clamp(34px,4vw,64px);line-height:1.02}
.portal-site .ux-magazine-cover .ux-story-eyebrow{color:#fcdb94}
.portal-site .ux-magazine-stamp{position:absolute;top:14px;right:14px;background:var(--accent);color:#101820;font-size:10px;font-weight:900;padding:9px 11px;letter-spacing:.07em}
.portal-site .ux-magazine-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-content:start}
.portal-site .ux-magazine-stories .ux-story--compact{flex-direction:column}
.portal-site .ux-magazine-stories .ux-story--compact .ux-story-copy{padding:8px 0}
/* City: warm community title and well-delineated local ticker. */
.portal-site .ux-local-intro{padding:18px 23px;background:var(--brand);color:#fff;display:flex;gap:16px;align-items:center;justify-content:space-between}
.portal-site .ux-local-intro span{font-size:10px;font-weight:900;letter-spacing:.1em}
.portal-site .ux-local-intro strong{font-family:Georgia,serif;font-size:clamp(18px,2vw,28px)}
.portal-site .ux-local-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.72fr);gap:18px;padding:19px;border:1px solid var(--ux-rule);border-top:0}
.portal-site .ux-local-lead .ux-story-picture{aspect-ratio:16/8}
.portal-site .ux-local-lead .ux-story h1{font-family:Georgia,serif}
.portal-site .ux-local-list{display:grid;align-content:start;gap:8px}
/* Business: no fabricated quotations, all information is actual editorial content. */
.portal-site .ux-cover--financial{border:1px solid var(--ux-rule)}
.portal-site .ux-finance-kicker{display:flex;justify-content:space-between;gap:9px;background:#102f2e;color:#fff;padding:12px 18px;font-size:10px;letter-spacing:.12em;font-weight:900}
.portal-site .ux-finance-grid{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(280px,1fr);gap:24px;padding:clamp(18px,2.4vw,32px)}
.portal-site .ux-finance-lead .ux-story h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(36px,4vw,64px)}
.portal-site .ux-finance-list{display:grid;align-content:start;border-left:1px solid var(--ux-rule);padding-left:22px;gap:8px}
/* Sports: oversized primary, action image, actual articles in the second column. */
.portal-site .ux-cover--sports{background:#0d211d;color:#fff;overflow:hidden;border-bottom:5px solid var(--accent)}
.portal-site .ux-sports-banner{padding:12px 20px;display:flex;justify-content:space-between;gap:10px;background:var(--brand);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.portal-site .ux-sports-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.85fr);gap:22px;padding:18px}
.portal-site .ux-sports-lead .ux-story h1{font-weight:1000;font-stretch:condensed;font-size:clamp(33px,4vw,66px);text-transform:uppercase}
.portal-site .ux-sports-scores{display:grid;align-content:start;gap:10px}
.portal-site .ux-cover--sports .ux-story-eyebrow{color:#b5f5ac}
.portal-site .ux-cover--sports .ux-story--compact{border-color:#ffffff3b}
/* Technology: an actual tiled dashboard with one dominant 2x2 feature. */
.portal-site .ux-cover--technology{background:#111b2a;color:#fff;border:1px solid #38516a;padding:13px}
.portal-site .ux-tech-head{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:900;letter-spacing:.12em;border-bottom:1px solid #ffffff30;padding:8px 12px 13px;margin-bottom:13px}
.portal-site .ux-tech-head span:first-child{color:#7ce5ff;font-size:26px}
.portal-site .ux-tech-head span:last-child{margin-left:auto;opacity:.7}
.portal-site .ux-tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-site .ux-tech-grid>.ux-story:first-child{grid-column:span 2;grid-row:span 2;background:#1d2c40}
.portal-site .ux-tech-grid>.ux-story:first-child .ux-story-picture{aspect-ratio:16/7}
.portal-site .ux-tech-grid>.ux-story:first-child .ux-story-copy{padding:18px}
.portal-site .ux-tech-grid>.ux-story:not(:first-child){border:1px solid #ffffff21;padding:9px;display:flex;flex-direction:column}
.portal-site .ux-tech-grid>.ux-story:not(:first-child) .ux-story-picture{aspect-ratio:16/8}
.portal-site .ux-tech-grid h1{font-size:clamp(30px,3.3vw,54px)}
.portal-site .ux-tech-grid h2{font-size:clamp(14px,1.4vw,20px)}
.portal-site .ux-cover--technology .ux-story-eyebrow{color:#8df8ec}
/* Minimal: giant headline and print-like horizontal index, no oversized blank slots. */
.portal-site .ux-cover--minimal{border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:clamp(15px,3vw,35px) 0}
.portal-site .ux-minimal-rule{display:block;font-size:11px;font-weight:900;letter-spacing:.18em;border-bottom:1px solid var(--ux-rule);padding-bottom:16px;margin-bottom:16px}
.portal-site .ux-minimal-main .ux-story h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(41px,6vw,92px);line-height:1.02;max-width:18ch}
.portal-site .ux-minimal-main .ux-story-copy{gap:17px}
.portal-site .ux-minimal-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:30px}
.portal-site .ux-minimal-more .ux-story{border-top:1px solid var(--ux-rule)}
/* Photojournalism: one monumental image and genuinely asymmetric mosaic. */
.portal-site .ux-photo-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,.85fr) minmax(0,.85fr);gap:10px}
.portal-site .ux-photo-lead{grid-row:span 2;grid-column:span 2}
.portal-site .ux-photo-grid .ux-story{height:100%;background:#0f1725;color:#fff}
.portal-site .ux-photo-grid .ux-story-picture{flex:1;aspect-ratio:auto;min-height:160px}
.portal-site .ux-photo-lead .ux-story-picture{min-height:400px}
.portal-site .ux-photo-grid .ux-story-copy{padding:15px}
.portal-site .ux-photo-grid .ux-story h1{font-size:clamp(31px,3.5vw,53px)}
.portal-site .ux-photo-grid .ux-story h2{font-size:clamp(14px,1.3vw,20px)}
.portal-site .ux-cover--photography .ux-story-eyebrow{color:#f5ce82}
/* Feature: narrative prose at left, beautiful hero image at right. */
.portal-site .ux-feature-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;background:var(--ux-faint)}
.portal-site .ux-feature-copy{padding:clamp(20px,4vw,60px);display:flex;flex-direction:column;justify-content:center}
.portal-site .ux-feature-topline{font-size:10px;letter-spacing:.19em;font-weight:900;color:var(--brand);border-bottom:1px solid var(--ux-rule);padding-bottom:13px;margin-bottom:13px}
.portal-site .ux-feature-copy .ux-story h1{font-family:Georgia,serif;font-weight:600;font-size:clamp(34px,4.1vw,65px);line-height:1.07}
.portal-site .ux-feature-visual{min-height:310px}
.portal-site .ux-feature-visual>a,.portal-site .ux-feature-visual picture{display:block;width:100%;height:100%}
.portal-site .ux-feature-visual img{width:100%;height:100%;object-fit:cover}
.portal-site .ux-feature-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px;border-top:1px solid var(--ux-rule)}
.portal-site .ux-feature-related .ux-story--compact{border-bottom:0}
/* Four editions change the actual cover content rhythm as well as 166 retained template identities. */
.portal-site .ux-cover--edition-0 .ux-story-summary{display:none}
.portal-site .ux-cover--edition-0 .ux-story h1{font-size:clamp(27px,3.1vw,49px)}
.portal-site .ux-cover--edition-1 .ux-story-picture{border-radius:10px}
.portal-site .ux-cover--edition-2 .ux-story h1{letter-spacing:-.065em}
.portal-site .ux-cover--edition-3 .ux-story h1,.portal-site .ux-cover--edition-3 .ux-story h2{font-family:Georgia,'Times New Roman',serif;font-weight:650}
/* Visible identity in category and article pages, with distinct document composition. */
.portal-site .ux-article-band{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:14px 0 26px;padding:12px 16px;border-top:2px solid var(--brand);border-bottom:1px solid var(--ux-rule);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.portal-site .ux-article-band span:last-child{margin-left:auto;opacity:.72}
.portal-site.mega-shell-broadsheet .story-page .article-body h1{font-size:clamp(42px,5vw,76px);font-family:Georgia,serif;text-align:center}
.portal-site.mega-shell-broadsheet .story-page .article-lede,.portal-site.mega-shell-broadsheet .story-page .article-category,.portal-site.mega-shell-broadsheet .story-page .article-byline{text-align:center}
.portal-site.mega-shell-minimal .story-page .article-grid{grid-template-columns:minmax(0,1fr)}
.portal-site.mega-shell-minimal .story-page .article-grid>aside{display:none}
.portal-site.mega-shell-minimal .story-page .article-body{max-width:820px;margin:0 auto}
.portal-site.mega-shell-minimal .story-page .article-body h1{font-size:clamp(45px,6vw,92px);font-family:Georgia,serif;font-weight:500;line-height:1.05}
.portal-site.mega-shell-financial .story-page .article-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,.65fr)}
.portal-site.mega-shell-financial .story-page .article-body{padding-left:20px;border-left:4px solid var(--brand)}
.portal-site.mega-shell-sports .ux-article-band,.portal-site.mega-shell-broadcast .ux-article-band{background:#0e1b2b;color:#fff;border-top:4px solid var(--accent)}
.portal-site.mega-shell-sports .story-page .article-body h1{text-transform:uppercase;font-weight:1000;letter-spacing:-.065em}
.portal-site.mega-shell-magazine .story-page .article-body h1{font-weight:950;letter-spacing:-.065em}
.portal-site.mega-shell-photography .story-page .article-body h1{font-size:clamp(42px,5vw,78px);line-height:1.07}
.portal-site .ux-featured-article-image{margin:4px 0 24px;max-height:680px;overflow:hidden}
.portal-site .ux-featured-article-image picture,.portal-site .ux-featured-article-image img{display:block;width:100%;max-height:680px;object-fit:cover}
.portal-site.mega-shell-photography .ux-featured-article-image{max-height:75vh}
.portal-site.mega-shell-feature .story-page .article-body{max-width:800px;margin:0 auto}
.portal-site.mega-shell-feature .story-page .article-body h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,76px);font-weight:500}
/* Architecture-accurate card schematic: explicitly a composition drawing, not a screenshot. */
.ux-mini{display:grid;width:100%;height:86px;padding:5px;gap:3px;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));background:color-mix(in srgb,var(--thumb-brand),white 94%);overflow:hidden}
.ux-mini i{display:block;min-width:0;background:color-mix(in srgb,var(--thumb-brand),white 34%);border-radius:1px}
.ux-mini .ux-mini-lead{grid-area:1/1/4/4;background:var(--thumb-brand)}
.ux-mini .ux-mini-side-a{grid-area:1/4/3/7;background:color-mix(in srgb,var(--thumb-accent),white 12%)}
.ux-mini .ux-mini-side-b{grid-area:3/4/4/5}.ux-mini .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini .ux-mini-bottom{display:none}
.ux-mini--broadsheet{grid-template-rows:repeat(4,minmax(0,1fr))}.ux-mini--broadsheet .ux-mini-lead{grid-area:1/1/3/7;background:color-mix(in srgb,var(--thumb-brand),white 72%);border-block:3px double var(--thumb-brand)}.ux-mini--broadsheet .ux-mini-side-a{grid-area:3/1/5/3}.ux-mini--broadsheet .ux-mini-side-b{grid-area:3/3/5/5}.ux-mini--broadsheet .ux-mini-side-c{grid-area:3/5/5/7}
.ux-mini--live .ux-mini-lead{grid-area:1/1/4/5}.ux-mini--live .ux-mini-side-a{grid-area:1/5/2/7}.ux-mini--live .ux-mini-side-b{grid-area:2/5/3/7}.ux-mini--live .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini--broadcast{background:#111c30}.ux-mini--broadcast .ux-mini-lead{grid-area:1/1/3/7}.ux-mini--broadcast .ux-mini-side-a{grid-area:3/1/4/3}.ux-mini--broadcast .ux-mini-side-b{grid-area:3/3/4/5}.ux-mini--broadcast .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini--magazine .ux-mini-lead{grid-area:1/1/4/4}.ux-mini--magazine .ux-mini-side-a{grid-area:1/4/2/6}.ux-mini--magazine .ux-mini-side-b{grid-area:1/6/2/7}.ux-mini--magazine .ux-mini-side-c{grid-area:2/4/4/7}
.ux-mini--local .ux-mini-lead{grid-area:2/1/4/5}.ux-mini--local .ux-mini-side-a{grid-area:1/1/2/7}.ux-mini--local .ux-mini-side-b{grid-area:2/5/3/7}.ux-mini--local .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini--financial .ux-mini-lead{grid-area:1/1/4/4;background:color-mix(in srgb,var(--thumb-brand),white 65%)}.ux-mini--financial .ux-mini-side-a{grid-area:1/4/2/7}.ux-mini--financial .ux-mini-side-b{grid-area:2/4/3/7}.ux-mini--financial .ux-mini-side-c{grid-area:3/4/4/7}
.ux-mini--sports{background:#15261e}.ux-mini--sports .ux-mini-lead{grid-area:1/1/4/5}.ux-mini--sports .ux-mini-side-a{grid-area:1/5/2/7}.ux-mini--sports .ux-mini-side-b{grid-area:2/5/3/7}.ux-mini--sports .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini--technology{background:#111c30}.ux-mini--technology .ux-mini-lead{grid-area:1/1/3/5}.ux-mini--technology .ux-mini-side-a{grid-area:1/5/2/7}.ux-mini--technology .ux-mini-side-b{grid-area:2/5/3/7}.ux-mini--technology .ux-mini-side-c{grid-area:3/1/4/7}
.ux-mini--minimal .ux-mini-lead{grid-area:1/1/3/7;background:color-mix(in srgb,var(--thumb-brand),white 87%);border-block:2px solid var(--thumb-brand)}.ux-mini--minimal .ux-mini-side-a{grid-area:3/1/4/3}.ux-mini--minimal .ux-mini-side-b{grid-area:3/3/4/5}.ux-mini--minimal .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini--photography .ux-mini-lead{grid-area:1/1/4/5}.ux-mini--photography .ux-mini-side-a{grid-area:1/5/2/7}.ux-mini--photography .ux-mini-side-b{grid-area:2/5/3/7}.ux-mini--photography .ux-mini-side-c{grid-area:3/5/4/7}
.ux-mini--feature .ux-mini-lead{grid-area:1/1/4/4;background:color-mix(in srgb,var(--thumb-brand),white 80%)}.ux-mini--feature .ux-mini-side-a{grid-area:1/4/4/7}.ux-mini--feature .ux-mini-side-b,.ux-mini--feature .ux-mini-side-c{display:none}
.ux-mini--edition-0{gap:2px}.ux-mini--edition-1{gap:5px}.ux-mini--edition-2{grid-template-columns:repeat(7,minmax(0,1fr))}.ux-mini--edition-3 i{border-radius:0}
/* Keep existing gallery controls and radios; preview is a CSS drawing, never an interactive iframe. */
.mps-gallery-thumb>.ux-mini{position:relative;z-index:2;margin:4px auto 3px;max-width:95%;height:auto;min-height:90px;max-height:135px;flex:1}
.premium-showcase-card .premium-thumb>.ux-mini{margin:5px auto;max-width:95%}
@media(max-width:960px){
 .portal-site .ux-wire-layout,.portal-site .ux-live-layout,.portal-site .ux-magazine-layout,.portal-site .ux-local-grid,.portal-site .ux-finance-grid,.portal-site .ux-sports-grid,.portal-site .ux-feature-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .portal-site .ux-broadcast-stage .ux-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .portal-site .ux-photo-lead .ux-story-picture{min-height:310px}
}
@media(max-width:680px){
 .portal-site .ux-cover{margin-bottom:19px}
 .portal-site .ux-story h1{font-size:clamp(26px,7vw,43px)}
 .portal-site .ux-newspaper-lead .ux-story h1,.portal-site .ux-minimal-main .ux-story h1{font-size:clamp(36px,9vw,54px)}
 .portal-site .ux-newspaper-columns{grid-template-columns:1fr;gap:10px}
 .portal-site .ux-newspaper-columns>.ux-story{border-right:0;border-bottom:1px solid var(--ux-rule);padding:0}
 .portal-site .ux-wire-layout,.portal-site .ux-live-layout,.portal-site .ux-magazine-layout,.portal-site .ux-local-grid,.portal-site .ux-finance-grid,.portal-site .ux-sports-grid,.portal-site .ux-feature-layout{grid-template-columns:minmax(0,1fr)}
 .portal-site .ux-wire-secondary,.portal-site .ux-magazine-stories{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-site .ux-wire-lead .ux-story-picture{aspect-ratio:16/10}
 .portal-site .ux-broadcast-stage .ux-story{grid-template-columns:minmax(0,1fr)}
 .portal-site .ux-broadcast-strip{grid-template-columns:1fr 1fr}
 .portal-site .ux-magazine-cover .ux-story-picture{min-height:240px}
 .portal-site .ux-local-intro{align-items:flex-start;flex-direction:column;gap:4px}
 .portal-site .ux-finance-list{border-left:0;border-top:1px solid var(--ux-rule);padding:12px 0 0}
 .portal-site .ux-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-site .ux-tech-grid>.ux-story:first-child{grid-column:span 2;grid-row:auto}
 .portal-site .ux-minimal-more{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-site .ux-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-site .ux-photo-lead{grid-column:span 2;grid-row:auto}
 .portal-site .ux-photo-lead .ux-story-picture{min-height:240px;aspect-ratio:16/10}
 .portal-site .ux-feature-visual{min-height:225px}
 .portal-site .ux-feature-related{grid-template-columns:1fr;gap:0}
 .portal-site .ux-article-band{gap:7px;font-size:10px}
}
@media(max-width:420px){
 .portal-site .ux-broadcast-strip,.portal-site .ux-wire-secondary,.portal-site .ux-magazine-stories{grid-template-columns:1fr}
 .portal-site .ux-newspaper-head,.portal-site .ux-finance-kicker{flex-wrap:wrap}
 .portal-site .ux-article-band span:last-child{margin-left:0}
 .portal-site .ux-story--compact .ux-story-picture{flex-basis:82px}
}
@media(prefers-reduced-motion:reduce){.portal-site .ux-cover img{transition:none!important;transform:none!important}}
/* Draw one clean architecture preview; keep original map data in HTML for compatibility. */
.mps-gallery-thumb>.mps-collection-mini,.mps-gallery-thumb>.pt-feature,.mps-gallery-thumb>.pt-grid{display:none!important}
.premium-showcase-card .premium-thumb>.mps-collection-mini,.premium-showcase-card .premium-thumb>.pt-feature,.premium-showcase-card .premium-thumb>.pt-grid{display:none!important}

/* Eight genuine interior topologies for each architecture, guided by the theme's original map. */
.portal-site .ux-cover .ux-story--lead .ux-story-picture{aspect-ratio:var(--ux-map-aspect,1.7)}
@media(min-width:681px){
.portal-site .ux-cover.ux-pattern-1:is(.ux-cover--wire,.ux-cover--local,.ux-cover--sports,.ux-cover--live) :is(.ux-wire-lead,.ux-local-lead,.ux-sports-lead,.ux-live-main){order:2}
.portal-site .ux-cover.ux-pattern-1:is(.ux-cover--wire,.ux-cover--local,.ux-cover--sports,.ux-cover--live) :is(.ux-wire-secondary,.ux-local-list,.ux-sports-scores,.ux-live-updates){order:1}
.portal-site .ux-cover.ux-pattern-1:is(.ux-cover--magazine,.ux-cover--feature) :is(.ux-magazine-cover,.ux-feature-copy){order:2}
.portal-site .ux-cover.ux-pattern-1:is(.ux-cover--magazine,.ux-cover--feature) :is(.ux-magazine-stories,.ux-feature-visual){order:1}
.portal-site .ux-cover.ux-pattern-2 .ux-story--lead .ux-story-picture{aspect-ratio:2.2}
.portal-site .ux-cover.ux-pattern-2 .ux-story--compact .ux-story-picture{flex-basis:76px}
.portal-site .ux-cover.ux-pattern-2 .ux-story h1{line-height:1.05}
.portal-site .ux-cover.ux-pattern-3:is(.ux-cover--wire,.ux-cover--live,.ux-cover--local,.ux-cover--sports) :is(.ux-wire-layout,.ux-live-layout,.ux-local-grid,.ux-sports-grid){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.portal-site .ux-cover.ux-pattern-3 .ux-story--compact{padding-block:6px}
.portal-site .ux-cover.ux-pattern-4:is(.ux-cover--magazine,.ux-cover--feature) :is(.ux-magazine-layout,.ux-feature-layout){grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr)}
.portal-site .ux-cover.ux-pattern-4 .ux-story--lead .ux-story-picture{aspect-ratio:1.35}
.portal-site .ux-cover.ux-pattern-5:is(.ux-cover--wire,.ux-cover--magazine,.ux-cover--broadcast) :is(.ux-wire-secondary,.ux-magazine-stories,.ux-broadcast-strip){gap:24px}
.portal-site .ux-cover.ux-pattern-5 .ux-story--lead .ux-story-picture{aspect-ratio:2.38}
.portal-site .ux-cover.ux-pattern-6:is(.ux-cover--photography,.ux-cover--technology) :is(.ux-photo-grid,.ux-tech-grid){grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-site .ux-cover.ux-pattern-6.ux-cover--photography .ux-photo-lead{grid-column:span 3}
.portal-site .ux-cover.ux-pattern-6.ux-cover--technology .ux-tech-grid>.ux-story:first-child{grid-column:span 3}
.portal-site .ux-cover.ux-pattern-7:is(.ux-cover--broadsheet,.ux-cover--financial,.ux-cover--minimal) .ux-story h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(44px,5vw,78px)}
.portal-site .ux-cover.ux-pattern-7.ux-cover--broadsheet .ux-newspaper-lead{text-align:left;padding-left:2%}
.portal-site .ux-cover.ux-pattern-7.ux-cover--broadsheet .ux-newspaper-lead .ux-story-copy{align-items:flex-start}
.portal-site .ux-cover.ux-pattern-7.ux-cover--broadsheet .ux-newspaper-lead .ux-story-summary{text-align:left}
}
.ux-mini--pattern-1{direction:rtl}.ux-mini--pattern-2{gap:2px}.ux-mini--pattern-3{grid-template-columns:repeat(7,minmax(0,1fr))}
.ux-mini--pattern-4 .ux-mini-lead{background:var(--thumb-accent)}.ux-mini--pattern-5{gap:6px}
.ux-mini--pattern-6 .ux-mini-side-a{background:var(--thumb-brand)}.ux-mini--pattern-7 .ux-mini-lead{background:color-mix(in srgb,var(--thumb-brand),white 65%)}
