:root {
    --portal-blue: #2200f2;
    --portal-blue-dark: #110071;
    --portal-accent: var(--portal-blue);
    --portal-accent-dark: var(--portal-blue-dark);
    --portal-ink: #141414;
    --portal-muted: #f0eef0;
    --portal-line: #dedee8;
}

body {
    background: #fff;
    color: var(--portal-ink);
    font-family:"Josefin Sans",Arial,sans-serif;
}

button,input,select,textarea { font-family:"Josefin Sans",Arial,sans-serif; }

.site-header {
    border-top: 2px solid #087cc3;
    box-shadow: 0 1px 0 rgba(18, 58, 115, .08);
    position: relative;
    z-index: 1030;
}
.portal-top-nav { background:#101114;border-bottom:1px solid rgba(255,255,255,.1);color:#d7d9de;font-size:.72rem;letter-spacing:.025em; }
.portal-top-nav-inner { align-items:stretch;display:flex;justify-content:space-between;min-height:34px; }
.portal-top-nav-left,.portal-top-nav-right,.portal-top-nav ul,.portal-top-date,.portal-weather,.portal-social-links { align-items:center;display:flex; }
.portal-top-nav-left { min-width:0; }
.portal-top-nav ul { list-style:none;margin:0;padding:0; }
.portal-top-nav li { border-left:1px solid rgba(255,255,255,.12); }
.portal-top-nav a { color:#dfe2e8;transition:background-color .18s ease,color .18s ease; }
.portal-top-nav ul a { display:block;font-weight:700;padding:.56rem .78rem; }
.portal-top-nav a:hover,.portal-top-nav a:focus-visible { background:rgba(255,255,255,.09);color:#fff;outline:0; }
.portal-top-date { border-right:1px solid rgba(255,255,255,.12);gap:.4rem;padding-right:.78rem;white-space:nowrap; }
.portal-top-date i,.portal-weather i { color:#70b8ff;font-size:.95rem; }
.portal-top-nav-right { gap:.35rem; }
.portal-weather { border-inline:1px solid rgba(255,255,255,.12);gap:.38rem;padding-inline:.65rem;white-space:nowrap; }
.portal-weather img { filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));height:30px;object-fit:contain;width:30px; }
.portal-weather strong { color:#fff;font-size:.82rem; }
.portal-weather>span { color:#aeb4bf;font-size:.66rem; }
.portal-social-links { gap:.12rem; }
.portal-social-links a { align-items:center;display:flex;font-size:1rem;height:34px;justify-content:center;width:34px; }

.portal-navbar {
    min-height: 76px;
    padding-block: 0;
}
.portal-secondary-nav {
    background:linear-gradient(100deg,#102f83 0%,#174fbd 48%,#086cae 100%);
    border-bottom:1px solid rgba(7,31,91,.35);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 16px rgba(19,55,130,.14);
    color:#fff;
}
.portal-secondary-nav ul { align-items:center;display:flex;gap:.15rem;justify-content:flex-start;list-style:none;margin:0;padding:.28rem 0; }
.portal-secondary-nav li { align-items:center;display:flex; }
.portal-secondary-nav li:not(:first-child)::before { background:rgba(255,255,255,.34);content:"";height:15px;margin-inline:.28rem;width:1px; }
.portal-secondary-nav a {
    border-radius:999px;
    color:rgba(255,255,255,.94);
    display:block;
    font-family:"Josefin Sans",Arial,sans-serif;
    font-size:clamp(.74rem,.85vw,.84rem);
    font-weight:600;
    letter-spacing:.035em;
    line-height:1;
    padding:.78rem 1rem .67rem;
    text-decoration:none;
    text-shadow:0 1px 1px rgba(0,0,0,.12);
    text-transform:uppercase;
    transition:background-color .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease;
}
.portal-secondary-nav a:hover,.portal-secondary-nav a:focus-visible {
    background:rgba(255,255,255,.15);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
    color:#fff;
    outline:0;
    transform:translateY(-1px);
}
.portal-trending { align-items:stretch;background:#fff;border-bottom:1px solid #dfe3eb;display:flex;min-height:38px;overflow:hidden; }
.portal-trending-label { align-items:center;background:#e32636;color:#fff;display:flex;flex:0 0 auto;font-size:.68rem;font-weight:900;gap:.38rem;letter-spacing:.08em;padding:0 clamp(.8rem,2vw,1.5rem);text-transform:uppercase;z-index:1; }
.portal-trending-label i { font-size:1rem; }
.portal-trending-viewport { align-items:center;display:flex;min-width:0;overflow:hidden;position:relative;width:100%; }
.portal-trending-viewport::before,.portal-trending-viewport::after { content:"";height:100%;pointer-events:none;position:absolute;top:0;width:2rem;z-index:1; }
.portal-trending-viewport::before { background:linear-gradient(90deg,#fff,transparent);left:0; }
.portal-trending-viewport::after { background:linear-gradient(270deg,#fff,transparent);right:0; }
.portal-trending-track { align-items:center;animation:portal-ticker-right 38s linear infinite;display:flex;gap:1rem;position:absolute;white-space:nowrap;width:max-content; }
.portal-trending-track a { color:#202633;font-size:.76rem;font-weight:700; }
.portal-trending-track a:hover,.portal-trending-track a:focus-visible { color:#174fbd;text-decoration:underline; }
.portal-trending-track span { color:#e32636;font-size:.72rem; }
.portal-trending:hover .portal-trending-track,.portal-trending:focus-within .portal-trending-track { animation-play-state:paused; }
@keyframes portal-ticker-right { from { transform:translateX(-100%); } to { transform:translateX(100vw); } }

a {
    color: inherit;
    text-decoration: none;
}

.portal-container {
    max-width: 1760px;
    padding-left: clamp(.75rem, 2vw, 2rem);
    padding-right: clamp(.75rem, 2vw, 2rem);
}

.brand-mark {
    align-items: center;
    display: inline-flex;
    margin-right: 1rem;
    padding-block: .2rem;
}

.brand-mark img {
    display: block;
    height: 68px;
    object-fit: contain;
    width: auto;
}

.nav-categories .nav-link {
    align-items: center;
    color: #0867bb;
    display: flex;
    font-size: clamp(.78rem, 1vw, 1.05rem);
    font-weight: 500;
    min-height: 76px;
    padding: 1rem clamp(.7rem, 1.35vw, 1.45rem);
    text-transform: uppercase;
    transition: background-color .18s, color .18s;
}

.nav-categories .nav-link:hover {
    background: #eef5fc;
    color: #1745aa;
}

.nav-categories .nav-link.active,
.nav-categories .nav-link.show {
    background: #2849ae;
    color: #fff;
}

.portal-search-trigger { align-items:center;background:transparent;border:0;color:#0867bb;display:flex;justify-content:center;min-height:76px;padding:0 1.1rem;transition:background-color .18s,color .18s; }
.portal-search-trigger:hover,.portal-search-trigger:focus-visible { background:#eef5fc;color:#1745aa;outline:0; }
.portal-search-trigger svg,.portal-overlay-search-form svg { fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8; }
.portal-search-overlay { inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .22s ease;visibility:hidden;z-index:2000; }
.portal-search-overlay.is-open { opacity:1;pointer-events:auto;visibility:visible; }
.portal-search-backdrop { backdrop-filter:blur(8px);background:rgba(7,17,42,.72);border:0;inset:0;position:absolute;width:100%; }
.portal-search-dialog { color:#fff;margin:clamp(3.5rem,10vh,8rem) auto 0;max-height:calc(100vh - 7rem);max-width:920px;overflow-y:auto;padding:clamp(1rem,3vw,2rem);position:relative;transform:translateY(-18px);transition:transform .25s ease;width:calc(100% - 1.5rem); }
.portal-search-overlay.is-open .portal-search-dialog { transform:translateY(0); }
.portal-search-heading { align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem; }
.portal-search-heading span { color:#9dbaff;font-size:.75rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase; }
.portal-search-heading h2 { font-size:clamp(1.75rem,4vw,3.2rem);font-weight:900;margin:.35rem 0 0; }
.portal-search-close { background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;display:grid;flex:0 0 48px;height:48px;place-items:center; }
.portal-search-close:hover,.portal-search-close:focus-visible { background:#fff;color:#173da4;outline:0; }
.portal-search-close svg { fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7; }
.portal-overlay-search-form { align-items:center;background:rgba(255,255,255,.96);color:#173da4;display:flex;gap:1rem;padding:0 clamp(1rem,3vw,1.5rem); }
.portal-overlay-search-form input { background:transparent;border:0;color:#111827;font-size:clamp(1rem,2.5vw,1.35rem);min-height:72px;outline:0;width:100%; }
.portal-overlay-search-form input::placeholder { color:#747b8a; }
.portal-search-hint { color:#cbd3e4;font-size:.82rem;margin:.7rem 0 1.2rem; }
.portal-overlay-search-results .search-results-panel,.portal-overlay-search-skeleton { background:rgba(255,255,255,.96);border:0;box-shadow:0 18px 45px rgba(0,0,0,.24);color:var(--portal-ink); }
.portal-overlay-search-results .search-result-item { padding:1rem 1.25rem;transition:background-color .16s; }
.portal-overlay-search-results .search-result-item:hover,.portal-overlay-search-results .search-result-item:focus-visible { background:#eef3ff;outline:0; }
.portal-overlay-search-skeleton { padding:1.25rem; }
.search-overlay-open { overflow:hidden; }

.nav-categories .dropdown-toggle::after {
    margin-left: .45rem;
}

.nav-categories .dropdown-menu {
    border: 0;
    border-radius: 0 0 .4rem .4rem;
    box-shadow: 0 .75rem 1.8rem rgba(19, 49, 98, .16);
    margin-top: 0;
    min-width: 240px;
    padding: .6rem;
}

.nav-categories .dropdown-item {
    border-radius: .3rem;
    color: #174f91;
    font-size: .86rem;
    padding: .65rem .75rem;
}

.nav-categories .dropdown-item:hover {
    background: #eef5fc;
    color: #173c9c;
}

.header-meta {
    color: #17215a;
    font-size: .78rem;
    font-weight: 800;
}

.header-icon {
    color: #1f31c9;
    font-size: 1rem;
}

.section-title,
.category-hero h1,
.category-band h2,
.blog-hero h1,
.see-more {
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: .18rem;
    margin-bottom: 1.4rem;
    text-transform: uppercase;
}

.ad-line {
    align-items: center;
    background: #f3f3f6;
    color: #a4a4ae;
    display: flex;
    font-size: .7rem;
    font-weight: 900;
    height: 72px;
    justify-content: center;
    text-align: center;
}

.ad-line span {
    font-size: .82rem;
    font-weight: 600;
}
.public-ad { display:block;overflow:hidden;position:relative; }.public-ad>span { background:rgba(0,0,0,.72);color:#fff;font-size:.58rem;font-weight:800;left:.4rem;letter-spacing:.06em;padding:.2rem .4rem;position:absolute;text-transform:uppercase;top:.4rem;z-index:1; }.public-ad img { display:block;height:100%;object-fit:cover;width:100%; }.public-ad-top { aspect-ratio:6/1;background:#f3f3f6;height:auto;width:100%; }.public-ad-top img { object-fit:contain; }
.home-top-ads { aspect-ratio:6/1;max-width:1200px;width:100%; }
.home-top-ads .carousel-inner,.home-top-ads .carousel-item { height:100%; }
.category-top-ad { aspect-ratio:970/90; }
.home-top-ads .carousel-control-prev,.home-top-ads .carousel-control-next { background:rgba(17,27,45,.7);border-radius:50%;bottom:50%;height:28px;opacity:.9;top:50%;transform:translateY(-50%);width:28px;z-index:2; }
.home-top-ads .carousel-control-prev { left:auto;right:2.5rem; }
.home-top-ads .carousel-control-next { right:.5rem; }
.home-top-ads .carousel-control-prev-icon,.home-top-ads .carousel-control-next-icon { height:.8rem;width:.8rem; }
.public-ad-sidebar { aspect-ratio:1;background:#f1f2f5;margin-inline:auto;max-width:300px;width:100%; }
.home-ad-spotlight { background:#f5f4f2;overflow:hidden;padding:3rem 0 3.5rem; }
.home-ad-spotlight-heading { margin-bottom:1.5rem;text-align:center; }
.home-ad-spotlight-heading span { color:#777b83;font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase; }
.home-ad-spotlight-heading h2 { color:#20242b;font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:900;margin:.35rem 0 0; }
.home-ad-spotlight-stage { margin:auto;max-width:1080px; }
.home-ad-spotlight-cards { aspect-ratio:12/5;margin:0 4%;position:relative; }
.home-ad-spotlight-card { background:#e6e4e1;border:5px solid #fff;border-radius:1.1rem;box-shadow:0 18px 45px rgba(28,31,38,.2);display:block;height:100%;inset:0;overflow:hidden;position:absolute;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s,filter .7s;width:100%; }
.home-ad-spotlight-card img { display:block;height:100%;object-fit:cover;width:100%; }
.home-ad-spotlight-card[data-position="active"] { opacity:1;transform:translateY(0) rotate(0) scale(1);z-index:3; }
.home-ad-spotlight-card[data-position="next"] { filter:brightness(.8);opacity:.75;pointer-events:none;transform:translate(3%,2%) rotate(2deg) scale(.97);z-index:2; }
.home-ad-spotlight-card[data-position="previous"] { filter:brightness(.8);opacity:.65;pointer-events:none;transform:translate(-3%,2%) rotate(-2deg) scale(.97);z-index:1; }
.home-ad-spotlight-card[data-position="hidden"] { opacity:0;pointer-events:none;transform:translateY(4%) rotate(-4deg) scale(.92);z-index:0; }
.home-ad-spotlight-label { background:rgba(16,20,27,.78);border-radius:.3rem;color:#fff;font-size:.65rem;font-weight:800;left:1rem;letter-spacing:.12em;padding:.45rem .65rem;position:absolute;text-transform:uppercase;top:1rem; }
.home-ad-spotlight-controls { align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.7rem; }
.home-ad-spotlight-controls button { align-items:center;background:#fff;border:1px solid #d7d9dd;border-radius:50%;color:#20242b;display:flex;font-size:1.25rem;height:2.7rem;justify-content:center;width:2.7rem; }
.home-ad-spotlight-controls button:hover,.home-ad-spotlight-controls button:focus-visible { background:#20242b;color:#fff; }
.home-ad-spotlight-controls span { color:#60656d;font-size:.78rem;font-weight:800;min-width:3rem;text-align:center; }
@media (max-width:575.98px) { .home-ad-spotlight { padding:2.4rem 0; }.home-ad-spotlight-cards { aspect-ratio:4/3;margin:0 3%; }.home-ad-spotlight-card { border-width:3px;border-radius:.7rem; } }
@media (prefers-reduced-motion:reduce) { .home-ad-spotlight-card { transition:none; } }
.home-page-shell { display:flex;flex-direction:column;margin-inline:auto;max-width:1920px; }
.home-main-column { min-width:0;order:1; }
.home-rail { min-width:0;order:2;padding:1.5rem .75rem; }
.home-rail-right { order:3; }
.home-rail-inner { display:flex;flex-direction:column;gap:1.5rem;margin-inline:auto;max-width:720px; }
.home-rail-widget { min-width:0; }
.home-rail-youtube { background:linear-gradient(145deg,#20242c,#0e1014);border:1px solid rgba(255,255,255,.08);border-radius:.75rem;box-shadow:0 12px 28px rgba(19,23,31,.14);color:#fff;padding:1rem; }
.home-rail-youtube h2 { font-size:1rem;font-weight:900;line-height:1.3;margin:.55rem 0 1rem; }
.home-rail-youtube .youtube-player { border-radius:.35rem;box-shadow:none; }
.home-lead { background:#fff; }.home-lead-tools .search-area { margin-bottom:0!important; }.home-lead-content { align-items:stretch; }.home-quick-news { min-width:0; }.home-quick-news-heading { align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem; }.home-quick-news-heading span { font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }.home-quick-news-heading small { color:#74747d;font-size:.72rem; }.home-quick-news-track { display:grid;gap:1rem;grid-auto-columns:minmax(270px,calc((100% - 2rem)/3));grid-auto-flow:column;overflow-x:auto;padding:.1rem 0 .85rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:#b8bbc4 transparent;scrollbar-width:thin; }.home-quick-news-track .side-item { background:#fff;border:1px solid var(--portal-line);margin:0;min-height:112px;padding:1rem;scroll-snap-align:start; }.home-quick-news-track .thumb { flex-basis:88px;min-height:80px; }.home-showcase { background:#f4f3f5; }.home-feature-grid { display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr)); }.home-feature-grid .image-card,.home-grid-ad { min-height:220px; }.home-grid-ad { background:#e7e7eb;overflow:hidden; }.home-grid-ad .carousel-inner,.home-grid-ad .carousel-item,.home-grid-ad .public-ad { height:100%;min-height:220px; }.home-grid-ad img { object-fit:cover; }.home-grid-ad .carousel-indicators { margin-bottom:.5rem; }.home-grid-ad .carousel-control-prev,.home-grid-ad .carousel-control-next { width:12%; }.home-youtube-column { background:linear-gradient(145deg,#20242c,#0e1014);border:1px solid rgba(255,255,255,.08);border-radius:.75rem;box-shadow:0 16px 38px rgba(19,23,31,.16);color:#fff;display:flex;flex-direction:column;gap:1.5rem;height:100%;justify-content:space-between;min-height:456px;padding:1.5rem; }.home-youtube-column h2 { font-size:clamp(1.35rem,2.4vw,2rem);font-weight:900;margin:.65rem 0 0;text-transform:none; }.home-youtube-label { color:#c8cbd1;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.home-youtube-column .youtube-player { margin-top:auto; }
.youtube-live-section { background:#fff; }.youtube-live-heading { align-items:end;display:flex;justify-content:space-between;margin-bottom:1.5rem; }.youtube-live-heading h2 { font-size:clamp(1.65rem,3vw,2.4rem);font-weight:900;margin:.4rem 0 0; }.youtube-live-heading p { color:#6b7079;margin:0; }.youtube-live-kicker { color:#d51f27;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.youtube-live-dot { animation:live-pulse 1.8s infinite;background:#e5232c;border-radius:50%;display:inline-block;height:.55rem;margin-right:.35rem;width:.55rem; }.youtube-live-track { display:grid;gap:1.15rem;grid-auto-columns:minmax(280px,calc((100% - 2.3rem)/3));grid-auto-flow:column;overflow-x:auto;padding:0 0 1rem;scroll-snap-type:x mandatory; }.youtube-live-card { background:#f5f5f7;border:1px solid #e4e5e8;border-radius:.75rem;overflow:hidden;scroll-snap-align:start; }.youtube-live-card h3 { font-size:1rem;font-weight:800;line-height:1.3;margin:0;padding:1rem; }.youtube-live-card .youtube-player { border-radius:0;box-shadow:none; }@keyframes live-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(229,35,44,.3)}50%{box-shadow:0 0 0 6px rgba(229,35,44,0)} }
.most-read-section { background:#171a20;color:#fff; }.most-read-heading { align-items:end;display:flex;justify-content:space-between;margin-bottom:1.75rem; }.most-read-heading span { color:#ff5148;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.most-read-heading .section-title { color:#fff;margin:.35rem 0 0; }.most-read-heading p { color:#aeb2ba;margin:0; }.most-read-grid { display:grid;gap:0 1.5rem;grid-template-columns:repeat(2,minmax(0,1fr)); }.most-read-card { align-items:flex-start;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:1rem;grid-template-columns:auto 1fr;padding:1.35rem 0; }.most-read-position { color:#ff3b30;font-size:2rem;font-weight:900;line-height:1; }.most-read-card span,.most-read-card small { color:#aeb2ba;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.most-read-card h3 { font-size:1.05rem;line-height:1.35;margin:.35rem 0 .5rem; }.most-read-card a { color:#fff;text-decoration:none; }.most-read-card a:hover { color:#ff625a; }
.most-read-section { background:radial-gradient(circle at 10% 0%,#24334c 0%,#151d2b 42%,#101722 100%); }
.most-read-heading { border-bottom:1px solid rgba(255,255,255,.13);gap:1rem;margin-bottom:1.5rem;padding-bottom:1.4rem; }
.most-read-heading .section-title { font-size:clamp(1.7rem,3vw,2.45rem); }
.most-read-heading .most-read-kicker { color:#ffb87c; }
.most-read-heading p { color:#bec8d7;font-size:.85rem;max-width:220px;text-align:right; }
.most-read-grid { gap:1rem; }
.most-read-card { align-items:stretch;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:.85rem;gap:0;grid-template-columns:110px minmax(0,1fr);min-height:132px;overflow:hidden;padding:0;transition:background .2s ease,transform .2s ease; }
.most-read-card:hover { background:rgba(255,255,255,.09);transform:translateY(-3px); }
.most-read-image { background-color:#23334a;background-position:center;background-size:cover;display:block;min-height:132px;overflow:hidden;position:relative; }
.most-read-image::after { background:linear-gradient(0deg,rgba(7,13,24,.65),transparent 70%);content:"";inset:0;position:absolute; }
.most-read-position { bottom:.65rem;color:#fff;font-size:1.9rem;left:.75rem;position:absolute;text-shadow:0 2px 12px rgba(0,0,0,.6);z-index:1; }
.most-read-copy { align-self:center;min-width:0;padding:1rem 1.1rem; }
.most-read-card .most-read-category { color:#ffb87c;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.most-read-card h3 { display:-webkit-box;font-size:1rem;line-height:1.28;margin:.45rem 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3; }
.most-read-card h3 a:hover { color:#ffb87c; }
.most-read-featured { grid-column:1/-1;grid-template-columns:minmax(190px,42%) minmax(0,1fr);min-height:260px; }
.most-read-featured .most-read-image { min-height:260px; }
.most-read-featured .most-read-position { font-size:3.4rem;left:1.25rem; }
.most-read-featured .most-read-copy { padding:clamp(1.2rem,3vw,2rem); }
.most-read-featured h3 { font-size:clamp(1.2rem,2.3vw,1.8rem);-webkit-line-clamp:4; }
@media (max-width:767.98px) { .most-read-featured { grid-template-columns:1fr; }.most-read-featured .most-read-image { min-height:210px; }.most-read-heading p { text-align:left; } }
@media (max-width:420px) { .most-read-card:not(.most-read-featured) { grid-template-columns:92px minmax(0,1fr); }.most-read-copy { padding:.85rem; } }
@media (prefers-reduced-motion:reduce) { .most-read-card { transition:none; } }
.youtube-section { background:#171a20;color:#fff; }.youtube-heading { align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:1.25rem; }.youtube-heading span { color:#ff3b30;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }.youtube-heading h2 { font-size:1.65rem;margin:0; }.youtube-play-icon { color:#ff2d20;font-style:normal; }.youtube-player { background:#080808;border-radius:.5rem;box-shadow:0 12px 30px rgba(0,0,0,.2);overflow:hidden; }.youtube-sidebar h2 { font-size:1rem;font-weight:900;margin-bottom:.75rem; }

.search-box {
    display: flex;
    gap: .55rem;
}

.search-box .form-control {
    border: 0;
    background: #f7f7fa;
    border-radius: 0;
    min-height: 48px;
}

.search-box .btn {
    background: #0736a4;
    border: 0;
    border-radius: 0;
    min-width: 48px;
}

.image-card[style], .post-card-image[style], .thumb[style] { background-position: center; background-size: cover; }
.image-fallback { background: linear-gradient(135deg, #07162c, #315a9b 55%, #110071); }
.public-page-heading { background: var(--portal-blue-dark); color: #fff; padding: 4rem 0; }
.category-page-heading { background:var(--portal-accent-dark);position:relative; }
.category-page-heading.has-cover { background-image:linear-gradient(var(--category-cover-overlay),var(--category-cover-overlay)),var(--category-cover-image);background-position:center;background-size:cover;min-height:320px;display:flex;align-items:end; }
.category-page-heading.has-cover .portal-container { position:relative;z-index:1; }
.category-heading-content { display:flex;flex-direction:column;justify-content:flex-end;min-height:inherit; }
.category-breadcrumb { align-items:center;color:rgba(255,255,255,.72);display:flex;font-size:.68rem;font-weight:700;gap:.35rem;margin-bottom:clamp(1.5rem,4vw,3.25rem);text-transform:uppercase; }
.category-breadcrumb a { color:inherit; }.category-breadcrumb a:hover { color:#fff; }.category-breadcrumb i { font-size:.8rem; }
.category-heading-copy { align-items:flex-end;display:flex;gap:2rem;justify-content:space-between;width:100%; }
.category-heading-kicker { color:#b9d5ff!important;display:block;margin-bottom:.25rem; }
.public-page-heading .category-heading-copy h1 { letter-spacing:-.045em;line-height:.95;margin:.2rem 0 .7rem;max-width:900px;text-wrap:balance; }
.public-page-heading .category-heading-copy p { color:rgba(255,255,255,.82);line-height:1.55;max-width:720px; }
.category-story-count { align-items:flex-end;border-left:1px solid rgba(255,255,255,.28);display:flex;flex:0 0 auto;gap:.6rem;padding:.4rem 0 .4rem 1.5rem; }
.category-story-count strong { font-size:clamp(2rem,4vw,3.5rem);font-weight:600;letter-spacing:-.06em;line-height:.8; }
.public-page-heading .category-story-count span { color:rgba(255,255,255,.72);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase; }
.category-subnav { background:#fff;border-bottom:1px solid var(--portal-line);box-shadow:0 8px 24px rgba(19,37,71,.05); }
.category-subnav .portal-container { display:flex;gap:.25rem;overflow-x:auto;padding-block:.55rem;scrollbar-width:thin;white-space:nowrap; }
.category-subnav a { border-radius:999px;color:#545b68;font-size:.7rem;font-weight:700;padding:.48rem .85rem;transition:background-color .18s,color .18s; }
.category-subnav a:hover { background:#f0f3f8;color:var(--portal-accent-dark); }
.category-subnav a.active { background:var(--portal-accent);color:#fff; }
.category-listing { background:#f7f8fa;padding:clamp(2.5rem,5vw,5rem) 0; }
.category-listing>.portal-container>.public-ad { margin-bottom:2rem; }
.category-listing-toolbar { align-items:flex-end;border-bottom:1px solid #dfe2e8;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem; }
.category-listing-toolbar>div>span { color:var(--portal-accent);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.category-listing-toolbar h2 { color:#171b24;font-size:clamp(1.45rem,2.4vw,2.15rem);font-weight:700;letter-spacing:-.035em;margin:.25rem 0 0; }
.category-listing-toolbar .public-listing-search { flex:0 1 520px;width:100%; }
.category-post-list { gap:1.25rem; }
.category-post-list .post-list-card { border:0;border-radius:.7rem;box-shadow:0 10px 30px rgba(25,38,66,.07);overflow:hidden;transition:box-shadow .22s ease,transform .22s ease; }
.category-post-list .post-list-card:hover { box-shadow:0 16px 40px rgba(25,38,66,.12);transform:translateY(-3px); }
.category-post-list .post-card-image { min-height:240px;transition:transform .35s ease; }
.category-post-list .post-card-content { padding:1.35rem; }
.category-post-list .post-card-content h2 { font-size:1.2rem;letter-spacing:-.025em; }
.category-post-list .post-card-content p { font-size:.9rem;line-height:1.55; }
@media (min-width: 992px) {
    .category-post-list .post-list-card:first-of-type { display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);min-height:390px; }
    .category-post-list .post-list-card:first-of-type .post-card-image { min-height:390px; }
    .category-post-list .post-list-card:first-of-type .post-card-content { align-self:center;padding:clamp(2rem,4vw,3.25rem); }
    .category-post-list .post-list-card:first-of-type .post-card-content h2 { font-size:clamp(1.55rem,2.5vw,2.35rem);line-height:1.08; }
    .category-post-list .post-list-card:first-of-type .post-card-content p { font-size:1rem; }
}
.public-page-heading span, .article-category { color: #8fb2ff; font-size: .78rem; font-weight: 900; letter-spacing: .12rem; text-transform: uppercase; }
.public-page-heading h1 { font-size: clamp(2rem, 4.5vw, 3.6rem); font-weight: 900; margin: .35rem 0; }
.public-page-heading p { color: #d8d3ff; font-size: 1.1rem; margin: 0; max-width: 680px; }
.post-list { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.post-list-card { background: #fff; border: 1px solid var(--portal-line); min-width: 0; }
.post-card-image { display: block; min-height: 230px; padding: 1rem; }
.post-card-content { padding: 1.25rem; }
.post-card-content small, .article-meta, .related-card small { color: #70707b; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.post-card-content h2 { font-size: 1.15rem; font-weight: 900; line-height:1.25;margin: .5rem 0; }
.post-card-content h2 a { color:var(--post-accent-dark,var(--portal-accent-dark)); }
.post-card-content p { color: #666674; margin: 0; }
.home-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-list .post-card-content h2 { font-size: 1.05rem; line-height: 1.25; }
.load-more-wrap { grid-column: 1 / -1; text-align: center; }
.load-more-button { border-radius: 0; font-weight: 800; padding: .8rem 2rem; }
.empty-public-state { background: #f4f4f8; grid-column: 1 / -1; padding: 4rem 2rem; text-align: center; }
.empty-public-state h1, .empty-public-state h2 { font-weight: 900; }
.hero-empty { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 415px; }
.search-results { left: 0; position: absolute; right: 0; top: 54px; z-index: 20; }
.search-results-panel { background: #fff; border: 1px solid var(--portal-line); box-shadow: 0 12px 30px rgba(8, 15, 40, .16); }
.search-result-item { border-bottom: 1px solid var(--portal-line); display: block; padding: .85rem 1rem; }
.search-result-item:last-child { border-bottom: 0; }
.search-result-item small { color: var(--portal-accent); display: block; font-weight: 900; text-transform: uppercase; }
.search-result-item strong { display: block; line-height: 1.2; }
.search-empty { margin: 0; padding: 1rem; }
.htmx-indicator { display: none; }
.htmx-request.htmx-indicator, .htmx-request .htmx-indicator { display: block; }
.search-skeleton { background: #fff; border: 1px solid var(--portal-line); left: 0; padding: 1rem; position: absolute; right: 0; top: 54px; z-index: 21; }
.skeleton-line, .skeleton-block { animation: portal-pulse 1.1s ease-in-out infinite; background: linear-gradient(90deg,#ececf1 25%,#f8f8fa 50%,#ececf1 75%); background-size: 200% 100%; display: block; }
.skeleton-line { height: 14px; margin-bottom: .7rem; width: 100%; }
.skeleton-line.short { margin-bottom: 0; width: 62%; }
.load-more-skeleton { grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.load-more-skeleton.htmx-request { display: grid; }
.skeleton-block { height: 150px; }
@keyframes portal-pulse { to { background-position: -200% 0; } }
.article-page { padding: clamp(2rem, 5vw, 4rem) 0; }
.article-layout { display:flex;flex-direction:column;gap:2rem; }
.article-main { min-width:0;order:1; }
.article-rail { min-width:0;order:3; }
.article-rail-right { order:2; }
.article-rail-inner { display:flex;flex-direction:column;gap:1.5rem;margin-inline:auto;max-width:720px; }
.article-header { margin-bottom: 2rem; }
.article-top-ads { margin: 1.25rem auto 1rem; max-width: 1200px; }
.article-ad-stack { display: grid; gap: 1.5rem; }
.article-ad-slot { width: 100%; }
.article-ad-placeholder { align-items: center; aspect-ratio: 1; background: #f1f3f6; border: 1px dashed #cbd4df; color: #697687; display: flex; flex-direction: column; gap: .4rem; justify-content: center; margin-inline: auto; max-width: 300px; text-align: center; width: 100%; }
.article-ad-placeholder span { font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-ad-placeholder strong { font-size: .9rem; }
.article-header > h1 { color:var(--portal-accent-dark);font-size:clamp(1.7rem,3vw,2.7rem);font-weight:850;letter-spacing:-.04em;line-height:1.1;margin:.65rem 0 .9rem;text-wrap:balance; }
.article-subtitle { color:#595966;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.5;margin:0 0 1.25rem;max-width:760px; }
.article-meta { border-top: 1px solid var(--portal-line); color: #777783; font-size: .72rem; letter-spacing: .035em; margin: 0; padding-top: 1rem; }
.article-author { align-items:center;border-top:1px solid var(--portal-line);display:flex;gap:.75rem;padding-top:1rem; }
.article-author-avatar,.comment-avatar { align-items:center;background:color-mix(in srgb,var(--portal-accent) 12%,#fff);border-radius:50%;color:var(--portal-accent-dark);display:flex;font-weight:900;justify-content:center; }
.article-author-avatar { flex:0 0 38px;height:38px; }
.article-author strong,.article-author small { display:block; }
.article-author strong { font-size:.88rem; }
.article-author small { color:#777783;font-size:.72rem;margin-top:.15rem; }
.article-cover-figure { margin: 0 0 2.5rem; }
.article-cover-figure.has-caption { border: 1px solid #dce2e9; border-radius: 4px; overflow: hidden; }
.article-cover { border-radius: 2px; display: block; height: auto; max-height: 540px; object-fit: cover; width: 100%; }
.article-cover-figure.has-caption .article-cover { border-radius: 0; }
.article-cover-caption { background: #f3f6f9; border-top: 1px solid #dce2e9; color: #344358; font-size: .76rem; font-weight: 600; line-height: 1.4; padding: .55rem .75rem; text-align: left; }
.article-body { color:#292930;font-family:"Josefin Sans",Arial,sans-serif;font-size:1.12rem;line-height:1.8;max-width:760px; }
.article-body p { font-size: inherit; font-weight: 400; letter-spacing: 0; line-height: inherit; margin: 0 0 1.45em; }
.article-body h1, .article-body h2, .article-body h3, .article-body h4 { color:var(--portal-ink);font-family:"Josefin Sans",Arial,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:1.6em 0 .65em; }
.article-body h1 { font-size: 2rem; }
.article-body h2 { font-size: 1.65rem; }
.article-body h3 { font-size: 1.35rem; }
.article-body ul, .article-body ol { margin: 0 0 1.5rem; padding-left: 1.4rem; }
.article-body li { margin-bottom: .45rem; }
.article-body a { color: var(--portal-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-body img { height: auto; max-width: 100%; }
.article-body table { display: block; margin: 1.5rem 0; max-width: 100%; overflow-x: auto; width: 100%; }
.article-body td, .article-body th { border: 1px solid var(--portal-line); padding: .65rem; }
.article-body blockquote { border-left: 4px solid var(--portal-accent); color: #50505a; font-size: 1.22rem; font-style: italic; margin: 2rem 0; padding: .35rem 0 .35rem 1.25rem; }
.article-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.article-tags span { background: color-mix(in srgb,var(--portal-accent) 10%,#fff); color: var(--portal-accent-dark); font-weight: 800; padding: .4rem .65rem; }
.article-header,.article-body,.article-tags,.article-share,.article-comments { max-width:860px;width:100%; }
.article-rail .public-ad-sidebar { margin-inline:auto; }
.public-listing-search { max-width:760px; }
.aside-title { font-size:.78rem;font-weight:900;letter-spacing:.12em;margin:0 0 .4rem;text-transform:uppercase; }
.article-widget { background:#fff;border:1px solid var(--portal-line);padding:1rem; }
.related-card { border-top: 1px solid var(--portal-line); display: block; padding: 1.15rem 0; transition: color .2s ease; }
.related-card:hover { color: var(--portal-accent); }
.category-themed .article-category,.category-themed .section-title { color:var(--portal-accent-dark); }
.category-themed .post-card-content h2 a:hover,.post-card-content h2 a:hover { color:var(--post-accent,var(--portal-accent)); }
.related-card strong { display: block; font-size: 1rem; line-height: 1.35; margin-top: .25rem; }
.article-ranked-link { align-items:flex-start;border-top:1px solid var(--portal-line);display:grid;gap:.65rem;grid-template-columns:auto 1fr;padding:.9rem 0; }
.article-ranked-link b { color:var(--portal-accent);font-size:1.3rem;line-height:1; }
.article-ranked-link span { font-size:.86rem;font-weight:800;line-height:1.25; }
.category-shortcuts { display:flex;flex-wrap:wrap;gap:.5rem; }
.category-shortcuts a { background:color-mix(in srgb,var(--portal-accent) 9%,#fff);border:1px solid color-mix(in srgb,var(--portal-accent) 22%,#fff);color:var(--portal-accent-dark);font-size:.76rem;font-weight:800;padding:.4rem .55rem; }
.article-share { align-items:center;border-bottom:1px solid var(--portal-line);border-top:1px solid var(--portal-line);display:flex;gap:1.25rem;justify-content:space-between;margin-top:2rem;padding:1.25rem 0; }
.article-share>div>span,.article-comments>header>span { color:var(--portal-accent);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }
.article-share h2,.article-comments h2 { font-size:1.05rem;margin:.2rem 0 0; }
.article-share nav { display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end; }
.article-share nav a { border-radius:999px;color:#fff;font-size:.72rem;font-weight:800;padding:.45rem .7rem; }
.share-whatsapp { background:#168c49; }.share-facebook { background:#1877f2; }.share-x { background:#111; }.share-linkedin { background:#0a66c2; }
.article-comments { margin-top:2.5rem; }
.comment-success { background:#e7f7ed;border:1px solid #b9e4c8;color:#176b36;margin-top:1rem;padding:.8rem 1rem; }
.comment-list { margin-top:1rem; }
.comments-empty { background:#f5f5f7;color:#6e7078;padding:1rem; }
.comment-card { border-top:1px solid var(--portal-line);display:grid;gap:.8rem;grid-template-columns:auto 1fr;padding:1.25rem 0; }
.comment-avatar { height:36px;width:36px; }
.comment-card header { align-items:baseline;display:flex;gap:.65rem;justify-content:space-between; }
.comment-card time { color:#85858e;font-size:.7rem; }
.comment-card p { color:#3d3d45;line-height:1.55;margin:.4rem 0 0; }
.comment-form { background:#f5f5f7;margin-top:1rem;padding:1.25rem; }
.comment-form label { display:block;font-size:.78rem;font-weight:800;margin-bottom:.35rem; }
.comment-form small { color:#74747d;display:block;font-size:.68rem;margin-top:.3rem; }
.comment-form .errorlist { color:#b4232c;font-size:.75rem;margin:.35rem 0 0;padding-left:1rem; }
.comment-submit { background:var(--portal-accent);border:0;color:#fff;font-size:.82rem;font-weight:900;padding:.7rem 1rem; }

.image-card,
.story-card,
.side-item,
.opinion-card,
.mini-card,
.column-card {
    display: block;
}

.image-card {
    background: #222;
    color: #fff;
    min-height: 230px;
    overflow: hidden;
    padding: 1.4rem;
    position: relative;
}

.image-card::before,
.story-image::before,
.mini-card i::before,
.thumb::before {
    background: linear-gradient(135deg, rgba(9, 22, 54, .2), rgba(4, 5, 16, .82)), var(--visual);
    content: "";
    inset: 0;
    position: absolute;
}

.city { --visual: linear-gradient(120deg, #07162c, #37506c 44%, #10131c); }
.sport { --visual: linear-gradient(120deg, #173b7a, #2e7a46 55%, #d8e9ff); }
.culture { --visual: linear-gradient(120deg, #f08d34, #da2350 45%, #244c9a); }
.economy, .market { --visual: linear-gradient(120deg, #0b325d, #d4dbe5 52%, #1d2b41); }
.tech { --visual: linear-gradient(120deg, #0e1830, #5aa7c8 56%, #d7f2ff); }
.politics { --visual: linear-gradient(120deg, #171a24, #765d4d 50%, #e1d7c8); }
.world { --visual: linear-gradient(120deg, #11285a, #6f8fb7 55%, #1a1f33); }

.image-card > *,
.story-image > *,
.mini-card > *,
.thumb > * {
    position: relative;
    z-index: 1;
}

.hero-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 445px;
    padding: 5rem 1.4rem 1.4rem;
}
.hero-card .tag { left:1.4rem;position:absolute;top:1.4rem; }
.hero-carousel .carousel-indicators { bottom:auto;justify-content:flex-end;left:auto;margin:0;right:1.25rem;top:1.25rem;z-index:4; }
.hero-carousel .carousel-indicators [data-bs-target] { border:0;border-radius:50%;height:8px;width:8px; }
.hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next { bottom:25%;top:25%;width:8%;z-index:3; }

.hero-card h1,
.hero-card h2 {
    font-size: clamp(1.5rem, 2.4vw, 2.1rem);
    font-weight: 900;
    line-height: 1.1;
    margin: 0 0 .65rem;
    max-width: 760px;
}

.hero-card p {
    display: -webkit-box;
    line-height: 1.4;
    margin: 0;
    max-width: 760px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.tag {
    background: var(--post-accent,var(--portal-accent));
    color: #fff;
    display: inline-block;
    font-size: .68rem;
    font-weight: 900;
    margin-bottom: .7rem;
    padding: .25rem .45rem;
    text-transform: uppercase;
}

.side-item {
    align-items: stretch;
    display: flex;
    gap: .85rem;
    margin-bottom: 1rem;
}

.side-item span {
    color: var(--portal-accent);
    display: block;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.side-item strong {
    display: block;
    color:var(--post-accent-dark,var(--portal-ink));
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.08;
}

.side-item small {
    color: #777;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.thumb {
    background: #ddd;
    flex: 0 0 96px;
    min-height: 86px;
    position: relative;
}

.story-image {
    display: block;
    height: 175px;
    margin-bottom: .8rem;
    padding: .8rem;
    position: relative;
}

.story-card strong {
    display: block;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
}

.story-card p {
    color: #6c6c76;
    font-size: .85rem;
    margin-top: .45rem;
}

.ad-tall {
    align-items: center;
    background: #f00;
    color: #fff;
    display: flex;
    font-size: 2.7rem;
    font-weight: 900;
    height: 100%;
    justify-content: center;
    line-height: 1.08;
    min-height: 340px;
    text-align: center;
}

.opinion-band {
    background: var(--portal-muted);
}
.home-latest-section { background:linear-gradient(180deg,#f4f6fa 0%,#eef1f6 100%);overflow:hidden; }
.home-latest-heading { align-items:end;display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem; }
.home-latest-kicker { color:var(--portal-blue);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase; }
.home-latest-heading .section-title { margin:.3rem 0 0; }
.home-latest-controls { display:flex;flex:none;gap:.5rem; }
.home-latest-controls button { align-items:center;background:#fff;border:1px solid #d8dfeb;border-radius:50%;box-shadow:0 4px 12px rgba(18,33,65,.07);color:#1d315c;display:flex;font-size:1.25rem;height:2.75rem;justify-content:center;width:2.75rem; }
.home-latest-controls button:hover,.home-latest-controls button:focus-visible { background:var(--portal-blue);color:#fff; }
.home-latest-track { display:grid;gap:1rem;grid-auto-columns:minmax(260px,calc((100% - 2rem)/3));grid-auto-flow:column;overflow-x:auto;overscroll-behavior-inline:contain;padding:.25rem .2rem 1.25rem;scroll-behavior:smooth;scroll-padding-inline:.2rem;scroll-snap-type:x mandatory;scrollbar-color:#abb8cf transparent;scrollbar-width:thin; }
.home-latest-card { background:#fff;border:1px solid #e0e5ed;border-radius:.85rem;box-shadow:0 10px 28px rgba(21,39,72,.08);display:flex;flex-direction:column;min-width:0;overflow:hidden;scroll-snap-align:start;transition:box-shadow .2s ease,transform .2s ease; }
.home-latest-card:hover { box-shadow:0 16px 34px rgba(21,39,72,.14);transform:translateY(-3px); }
.home-latest-image { aspect-ratio:16/10;background-color:#dfe8f4;background-position:center;background-size:cover;display:block;overflow:hidden;position:relative; }
.home-latest-image::after { background:linear-gradient(0deg,rgba(12,28,52,.28),transparent 55%);content:"";inset:0;position:absolute; }
.home-latest-image>span { bottom:.8rem;color:#fff;font-size:1.75rem;font-weight:900;left:1rem;line-height:1;position:absolute;text-shadow:0 2px 8px rgba(0,0,0,.35);z-index:1; }
.home-latest-content { display:flex;flex:1;flex-direction:column;padding:1.2rem; }
.home-latest-meta { align-items:center;color:var(--post-accent-dark,var(--portal-blue));display:flex;flex-wrap:wrap;gap:.45rem;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
.home-latest-meta i { background:#b5bdc9;border-radius:50%;height:3px;width:3px; }
.home-latest-content h3 { display:-webkit-box;font-size:1.1rem;font-weight:900;line-height:1.25;margin:.65rem 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3; }
.home-latest-content h3 a { color:#18243a;text-decoration:none; }
.home-latest-content h3 a:hover { color:var(--post-accent-dark,var(--portal-blue)); }
.home-latest-content p { color:#687386;display:-webkit-box;font-size:.83rem;line-height:1.5;margin:0 0 1rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.home-latest-more { color:var(--post-accent-dark,var(--portal-blue));font-size:.78rem;font-weight:900;margin-top:auto;text-decoration:none; }
.home-latest-more span { margin-left:.2rem; }
@media (max-width:767.98px) { .home-latest-track { grid-auto-columns:minmax(240px,82%); }.home-latest-heading { align-items:center; } }
@media (prefers-reduced-motion:reduce) { .home-latest-track { scroll-behavior:auto; }.home-latest-card { transition:none; } }

.opinion-card {
    background: #fff;
    border: 1px solid var(--portal-line);
    min-height: 215px;
    padding: 1.2rem;
    text-align: center;
}

.opinion-card i {
    background: radial-gradient(circle at 35% 35%, #dfeeff, #0e277d 62%, #050833);
    border-radius: 999px;
    display: block;
    height: 56px;
    margin: 0 auto .65rem;
    width: 56px;
}

.opinion-card span {
    color: #5270b6;
    display: block;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.opinion-card p {
    color: #888;
    font-size: .75rem;
    margin: 1rem 0;
}

.opinion-card strong {
    color: #777;
    font-size: .9rem;
}

.ad-muted,
.ad-white,
.ad-strip-box,
.blue-card-news,
.blue-teaser,
.multiuse-box {
    align-items: center;
    display: flex;
    font-weight: 900;
    justify-content: center;
    text-align: center;
}

.ad-muted {
    background: #ecebed;
    border: 1px solid #dedde2;
    color: #96919a;
    height: 100%;
    letter-spacing: .45rem;
    min-height: 215px;
}

.feature-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 2fr 1fr 1fr;
}

.image-card.compact {
    min-height: 190px;
}

.image-card.compact h3,
.image-card.small h3 {
    bottom: 1rem;
    font-size: 1rem;
    font-weight: 900;
    left: 1rem;
    margin: 0;
    position: absolute;
    right: 1rem;
}

.image-card.wide {
    grid-column: span 2;
}

.ad-muted.tall {
    min-height: 300px;
}

.mini-card i {
    display: block;
    height: 100px;
    margin-bottom: .55rem;
    position: relative;
}

.mini-card strong {
    color: #6b6b75;
    display: block;
    font-size: .82rem;
    line-height: 1.15;
}

.category-hero,
.blog-hero {
    background: var(--portal-blue-dark);
    color: #fff;
    padding: 4rem 0 3.6rem;
}

.multiuse-box,
.blue-teaser,
.blue-card-news,
.columnist-text,
.columnist-profile i {
    background: var(--portal-blue);
    color: #fff;
}

.multiuse-box {
    font-size: 3rem;
    letter-spacing: 1rem;
    line-height: 1.35;
    min-height: 360px;
    padding: 2rem;
}

.blue-teaser {
    font-size: 2rem;
    min-height: 150px;
    padding: 1rem;
}

.blue-teaser.ad {
    letter-spacing: .4rem;
}

.category-band {
    background: var(--portal-blue);
    color: #fff;
    padding: 2rem 0 3rem;
}

.image-card.small {
    min-height: 190px;
}

.image-card.small small {
    bottom: .6rem;
    left: 1rem;
    position: absolute;
}

.ad-white {
    background: #fff;
    color: #111;
    font-size: 2rem;
    height: 100%;
    min-height: 250px;
}

.masonry-news,
.see-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(4, 1fr);
}

.blue-card-news {
    background: var(--portal-blue);
    color: #fff;
    font-size: 1.4rem;
    min-height: 150px;
    padding: 1rem;
}

.blue-card-news:nth-child(1),
.blue-card-news:nth-child(5) {
    min-height: 230px;
}

.ad-wide {
    grid-column: span 2;
    letter-spacing: .45rem;
}

.see-more {
    margin-top: 4rem;
}

.ad-strip {
    background: #fff;
    border-top: 28px solid var(--portal-blue-dark);
    padding: 2rem 0;
}

.ad-strip.first {
    border-top: 0;
    padding-top: 0;
}

.ad-strip-box {
    background: var(--portal-blue);
    color: #fff;
    font-size: 3rem;
    min-height: 220px;
}

.site-footer {
    background: #20242b;
    border-top: 4px solid #116dc2;
    color: #f5f7fa;
    margin-top: 2rem;
    padding: 3.5rem 0 1.5rem;
}

.footer-brand {
    display: inline-block;
    margin-bottom: 1rem;
}

.footer-brand img {
    display: block;
    height: 88px;
    object-fit: contain;
    width: auto;
}

.site-footer p { color: #b9c0ca; margin: 0; max-width: 470px; }
.footer-menu { display:flex;flex-direction:column;gap:.7rem; }
.footer-menu h2 { color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.12em;margin:0 0 .35rem;text-transform:uppercase; }
.footer-menu a { color:#b9c0ca;font-size:.9rem;transition:color .2s ease,transform .2s ease; }
.footer-menu a:hover { color:#49a8ff;transform:translateX(3px); }
.footer-menu span { color:#858e9a;font-size:.85rem; }
.footer-editorias { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
.footer-editorias h2 { grid-column:1/-1; }
.footer-newsletter { align-items:center;background:#292e36;border:1px solid #393f49;border-radius:.75rem;display:flex;gap:2rem;justify-content:space-between;margin-top:3rem;padding:1.5rem 1.75rem; }
.footer-newsletter h2 { color:#fff;font-size:1.35rem;margin:.15rem 0 .25rem; }
.footer-newsletter p { font-size:.85rem; }
.footer-kicker { color:#49a8ff;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }
.newsletter-coming-soon { align-items:center;background:#343a44;border-radius:.5rem;color:#d9dee5;display:flex;font-size:.82rem;font-weight:800;gap:.65rem;padding:.85rem 1rem;white-space:nowrap; }
.newsletter-coming-soon i { color:#49a8ff;font-size:1.2rem;font-style:normal; }
#newsletter-signup { flex:0 1 560px;width:min(100%,560px); }
.newsletter-form { width:100%; }
.newsletter-input-row { display:flex;gap:.55rem; }
.newsletter-input-row input { background:#fff;border:0;border-radius:.45rem;flex:1 1 320px;min-width:0;padding:.72rem .85rem;width:100%; }
.newsletter-input-row button { background:#1686df;border:0;border-radius:.45rem;color:#fff;font-size:.78rem;font-weight:800;padding:.7rem 1rem;white-space:nowrap; }
.newsletter-consent { align-items:flex-start;color:#b9c0ca;display:flex;font-size:.7rem;gap:.4rem;margin-top:.55rem; }
.newsletter-consent input { margin-top:.15rem; }
.newsletter-error { color:#ff9e9e;display:block;margin-top:.35rem; }
.newsletter-success { align-items:center;color:#fff;display:flex;gap:.75rem;min-width:260px; }
.newsletter-success i { align-items:center;background:#1686df;border-radius:50%;display:flex;font-style:normal;height:2rem;justify-content:center;width:2rem; }
.newsletter-success small { color:#b9c0ca;display:block; }
.footer-bottom { border-top: 1px solid #383e47; color: #8f98a5; display: flex; font-size: .78rem; justify-content: space-between; margin-top: 2.5rem; padding-top: 1.25rem; }

.columnist-profile {
    display: grid;
    grid-template-rows: 1.3fr .7fr;
    min-height: 330px;
}

.columnist-profile span,
.columnist-profile strong,
.column-card i,
.column-card strong,
.column-card span {
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;
}

.columnist-profile span {
    background: var(--portal-blue);
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: .7rem;
}

.columnist-profile strong {
    background: #1b078a;
    font-size: 2rem;
    letter-spacing: .7rem;
    padding: 1rem;
}

.columnist-text {
    font-size: 2.15rem;
    font-weight: 900;
    letter-spacing: .72rem;
    min-height: 330px;
    padding: 2rem;
}

.column-card {
    background: #1b078a;
    color: #fff;
    min-height: 330px;
}

.column-card i {
    background: var(--portal-blue);
    font-size: 2rem;
    font-style: normal;
    font-weight: 900;
    height: 65%;
}

.column-card strong,
.column-card span {
    font-size: 1.6rem;
    font-weight: 900;
    min-height: 17.5%;
}

.column-card.compact {
    max-width: 360px;
}

.social-box {
    align-items: flex-start;
    background: #0751ef;
    color: #000;
    display: flex;
    font-size: 1.4rem;
    font-weight: 900;
    justify-content: center;
    min-height: 320px;
    padding-top: 2rem;
    text-align: center;
}

.side-item.stacked {
    border: 1px solid #aaa;
    display: block;
}

.side-item.stacked .thumb {
    display: block;
    height: 160px;
    width: 100%;
}

.side-item.stacked strong {
    font-size: .9rem;
    padding: .75rem;
}

.comments-space {
    align-items: center;
    background: var(--portal-blue);
    border-top: 28px solid var(--portal-blue-dark);
    border-bottom: 28px solid var(--portal-blue-dark);
    color: #fff;
    display: flex;
    font-size: 3rem;
    font-weight: 900;
    justify-content: center;
    min-height: 360px;
    text-align: center;
}

@media (max-width: 991.98px) {
    .category-heading-copy { align-items:flex-start;flex-direction:column;gap:1.25rem; }
    .category-story-count { border-left:0;border-top:1px solid rgba(255,255,255,.25);padding:1rem 0 0;width:100%; }
    .category-listing-toolbar { align-items:stretch;flex-direction:column;gap:1rem; }
    .category-listing-toolbar .public-listing-search { flex-basis:auto;max-width:none; }
    .portal-trending-label { padding-inline:.7rem; }
    .portal-trending-track { animation-duration:30s; }
    .portal-top-nav-inner { min-height:32px; }
    .portal-top-nav-left { overflow-x:auto;scrollbar-width:none; }
    .portal-top-nav-left::-webkit-scrollbar { display:none; }
    .portal-top-nav ul { white-space:nowrap; }
    .portal-weather>span { display:none; }
    .portal-secondary-nav ul { overflow-x:auto;padding-block:.22rem;scrollbar-width:thin;white-space:nowrap; }
    .portal-secondary-nav li:not(:first-child)::before { margin-inline:.12rem; }
    .portal-secondary-nav a { align-items:center;display:flex;font-size:.78rem;min-height:42px;padding:.7rem .75rem; }
    .portal-navbar { min-height:68px;padding-block:.25rem; }
    .portal-navbar .brand-mark { order:1; }
    .portal-navbar .portal-search-trigger { min-height:52px;order:2;padding-inline:.8rem; }
    .portal-navbar .navbar-toggler { order:3; }
    .portal-navbar .navbar-collapse { flex-basis:100%;order:4; }
    .portal-navbar .navbar-collapse { border-top:1px solid var(--portal-line);margin-top:.25rem; }
    .nav-categories { padding:.5rem 0 .75rem; }
    .nav-categories .nav-link { border-radius:.35rem;font-size:.88rem;min-height:44px;padding:.7rem .85rem; }
    .nav-categories .nav-link.active,.nav-categories .nav-link.show { background:#2849ae;color:#fff; }
    .nav-categories .dropdown-menu { border:1px solid var(--portal-line);box-shadow:none;margin:.25rem .75rem .5rem; }

    .hero-card h1,
    .hero-card h2 {
        font-size: 1.8rem;
    }

    .feature-grid,
    .masonry-news,
    .see-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .home-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .multiuse-box,
    .columnist-text,
    .columnist-profile span,
    .columnist-profile strong {
        font-size: 1.8rem;
        letter-spacing: .35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-trending-track { animation:none;left:1rem;position:relative;transform:none; }
    .portal-trending-viewport { overflow-x:auto; }
}

@media (min-width: 1400px) {
    .home-page-shell { display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr) minmax(180px,260px); }
    .home-main-column,.home-rail,.home-rail-right { order:initial; }
    .home-rail-inner { max-width:none;position:sticky;top:1rem; }
    .home-main-column .portal-container { max-width:none; }
    .home-main-column .home-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-listing .post-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .article-layout { display:grid;gap:clamp(1.25rem,2vw,2.5rem);grid-template-columns:minmax(190px,240px) minmax(0,860px) minmax(250px,310px);justify-content:space-between; }
    .article-main,.article-rail,.article-rail-right { order:initial; }
    .article-rail-inner { margin:0;max-width:none;position:sticky;top:6rem; }
}

@media (max-width: 575.98px) {
    .brand-mark img { height: 52px; }
    .footer-brand img { height: 72px; }
    .footer-editorias { grid-template-columns:1fr; }
    .footer-newsletter { align-items:flex-start;flex-direction:column;gap:1rem; }
    #newsletter-signup,.newsletter-form { width:100%; }
    .newsletter-input-row { flex-direction:column; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: .4rem; }

    .hero-card {
        min-height: 430px;
    }

    .feature-grid,
    .masonry-news,
    .see-grid {
        grid-template-columns: 1fr;
    }
    .post-list, .home-list, .most-read-grid { grid-template-columns: 1fr; }
    .most-read-heading { align-items:flex-start;flex-direction:column;gap:.75rem; }
    .home-feature-grid { grid-template-columns:1fr; }

    .image-card.wide,
    .ad-wide {
        grid-column: span 1;
    }

    .ad-strip-box,
    .comments-space {
        font-size: 2rem;
    }

    .article-header > h1 { font-size:1.65rem; }
    .article-body { font-size: 1.05rem; line-height: 1.72; }
    .article-cover-figure { margin-bottom: 2rem; }
    .article-share { align-items:flex-start;flex-direction:column; }
    .article-share nav { justify-content:flex-start; }
}
