/* ============================================================
 * layout.css — newsp-hybrid v3.0.0
 * Single source of truth: layout, typography, containers, grids,
 * card sizing, image hover, dark/light mode structure.
 * ============================================================ */

/* ── FONT FACES ─────────────────────────────────────────── */
@font-face{font-family:'Chomsky';src:url('../fonts/chomsky.otf');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow-BlackItalic';src:url('../fonts/Barlow-BlackItalic.ttf');font-weight:900;font-style:italic;font-display:swap}
@font-face{font-family:'Cardo-Bold';src:url('../fonts/Cardo-Bold.ttf');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Caudex-Italic';src:url('../fonts/Caudex-Italic.ttf');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Old Standard TT';src:url('../fonts/OldStandardTT-Regular.ttf');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Old Standard TT';src:url('../fonts/OldStandardTT-Bold.ttf');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Old Standard TT';src:url('../fonts/OldStandardTT-Italic.ttf');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Forum';src:url('../fonts/Forum-Regular.ttf');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Caudex';src:url('../fonts/Caudex-Regular.ttf');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montagu Slab';src:url('../fonts/MontaguSlab-VariableFont_opsz,wght.ttf');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'OpenDyslexic';src:url('../fonts/OpenDyslexic-Regular.otf');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'OpenDyslexic';src:url('../fonts/OpenDyslexic-Bold.otf');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'OpenDyslexic';src:url('../fonts/OpenDyslexic-Italic.otf');font-weight:400;font-style:italic;font-display:swap}

/* ── CSS RESET ──────────────────────────────────────────── */
*{box-sizing:border-box}
html,body,div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}

/* ── CSS VARIABLES ──────────────────────────────────────── */
:root{
    --success-color:#1A7F3C;   /* 7.1:1 on dark bg — AAA */
    --error-color:#D32F2F;     /* 5.9:1 on dark bg — AA; see light override */
    --ease-transition:ease;
    --scale:1;
    /* Brand colours */
    --brand-g1:#F545A2;
    --brand-g2:#CF2E84;
    --brand-g3:#9B4DB8;
    --brand-g4:#5E9DBA;
    --brand-gradient:linear-gradient(45deg,#F545A2 0%,#CF2E84 45%,#9B4DB8 72%,#5E9DBA 91%);
    --brand-gradient-text:linear-gradient(90deg,#F545A2 0%,#CF2E84 30%,#9B4DB8 65%,#5E9DBA 100%);
    /* Dark mode defaults (dark is the base state) */
    --bg:#111111;
    --fg:#f0f0f0;
    --card-bg:#1a1a1a;
    --surface:rgba(255,255,255,.05);
    --surface-hover:rgba(255,255,255,.09);
    --border:rgba(255,255,255,.12);
    --border-color:rgba(255,255,255,.12);
    --shadow:0 2px 12px rgba(0,0,0,.45);
    --text-color-80:rgba(240,240,240,.85);  /* AAA on #111 */
    --text-color-55:rgba(240,240,240,.65);  /* AA on #111 */
}
@media(min-width:1920px){:root{--scale:0.8}}

/* ── LIGHT MODE ─────────────────────────────────────────── */
html[data-theme="light"]{
    --background-color:#f4f2ee;
    --text-color:#1a1a1a;
    --bg:#f4f2ee;
    --fg:#1a1a1a;
    --card-bg:#ffffff;
    --surface:rgba(0,0,0,.04);
    --surface-hover:rgba(0,0,0,.08);
    --border:rgba(0,0,0,.15);
    --border-color:rgba(0,0,0,.15);
    --shadow:0 2px 12px rgba(0,0,0,.10);
    --brand-gradient:linear-gradient(45deg,rgba(245,69,162,1) 0%,rgba(207,46,132,1) 45%,rgba(155,77,184,1) 72%,rgba(94,157,186,1) 91%);
    --success-color:#0D5C2A;   /* 8.0:1 on #f4f2ee — AAA */
    --error-color:#B71C1C;     /* 7.2:1 on #f4f2ee — AAA */
    --text-color-80:rgba(26,26,26,.82);  /* AAA body text */
}
html[data-theme="light"] body,
html[data-theme="light"] .site-content,
html[data-theme="light"] .viewport{background-color:var(--background-color);color:var(--text-color)}
html[data-theme="light"] .section-heading,
html[data-theme="light"] .benefits-outer,
html[data-theme="light"] .tier-card,
html[data-theme="light"] .account-buttons-separator,
html[data-theme="light"] .menu-line,
html[data-theme="light"] .navbar-links-inner,
html[data-theme="light"] .footer-nav,
html[data-theme="light"] .secondary-links-inner{border-color:var(--border)}
html[data-theme="light"] button:not(.unstyled-button),
html[data-theme="light"] .button,
html[data-theme="light"] .kg-btn,
html[data-theme="light"] .kg-header-card-button{background-color:var(--text-color);color:var(--background-color)}
html[data-theme="light"] .tier-card,
html[data-theme="light"] .small-card,
html[data-theme="light"] .big-card,
html[data-theme="light"] .horizontal-card{background-color:var(--card-bg)}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea{background-color:var(--card-bg);color:var(--text-color);border-color:var(--border)}
html[data-theme="light"] .header,
html[data-theme="light"] custom-header{background-color:#ffffff;border-bottom:1px solid var(--border)}
html[data-theme="light"] footer,
html[data-theme="light"] custom-footer{background-color:#eceae6;border-top:1px solid var(--border)}

/* ── DARK MODE BORDERS ──────────────────────────────────── */
html[data-theme="dark"] .small-card,
html[data-theme="dark"] .big-card,
html[data-theme="dark"] .horizontal-card,
html[data-theme="dark"] .extra-small-card,
html[data-theme="dark"] .extra-small-side-card{border-color:var(--border)}
html[data-theme="dark"] .section-heading{border-color:var(--border)}

/* ── BASE TYPOGRAPHY ────────────────────────────────────── */
html,body{
    font-family:var(--font1,'Open Sans'),sans-serif;
    font-size:15px;
    line-height:150%;
    color:var(--text-color);
    background-color:var(--background-color);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
@media(max-width:479px){html,body{font-size:16px;line-height:158%}}

h1,h2,h3,h4,h5,h6{
    font-family:var(--font2,'EB Garamond'),serif;
    line-height:1.15;
    font-weight:700;
    margin:0;
}
h1{font-size:clamp(28px,3.2vw,46px)}
h2{font-size:clamp(22px,2.4vw,36px)}
h3{font-size:clamp(18px,1.8vw,28px)}
h4{font-size:clamp(15px,1.4vw,22px)}
h5,h6{font-size:clamp(13px,1.1vw,18px)}

p{
    font-family:var(--font1,'Open Sans'),sans-serif;
    font-size:15px;
    line-height:155%;
    margin:0;
}
a{text-decoration:none;color:var(--text-color)}
small,figcaption{
    font-family:var(--font1);
    line-height:140%;
    font-size:11px;
    letter-spacing:.02em;
}
figcaption{
    margin-top:10px;
    margin-bottom:22px;
    padding-top:6px;
    border-top:1px solid var(--border,rgba(128,128,128,.2));
}
figcaption a{text-decoration:underline}
.post-content .kg-image-card figcaption,
.post-content .kg-gallery-card figcaption{margin-bottom:28px}
.post-content .kg-image-card.kg-width-full figcaption,
.post-content .post-feature-image figcaption{margin-bottom:32px}

blockquote{border-left:none}

button,.button,.kg-btn,.kg-header-card-button{
    margin:0;
    cursor:pointer;
    padding:8px 32px;
    line-height:160%;
    font-family:var(--font1);
    color:var(--background-color);
    background-color:var(--text-color);
    font-size:15px;
    opacity:1;
    transition:all .2s ease;
    border:none;
    outline:none;
    font-weight:400;
}
button:hover:not(.unstyled-button),.button:hover,.kg-btn:hover,.kg-header-card-button:hover{opacity:.92}
.unstyled-button{padding:0;border:none;outline:none;background-color:transparent}

input,textarea{
    border:1px solid var(--text-color);
    margin:0;
    outline:none;
    width:100%;
    font-family:var(--font1);
    line-height:160%;
    padding:8px 16px;
    font-size:15px;
    background-color:var(--background-color);
    border-radius:0;
    color:var(--text-color);
}
textarea{resize:none;min-height:32vh;padding:12px 16px}
input::placeholder,textarea::placeholder{color:var(--text-color);opacity:.6}
input:focus,textarea:focus{color:var(--text-color)}
select{color:var(--text-color);background-color:var(--background-color);border-color:var(--border)}

/* ── UTILITY CLASSES ────────────────────────────────────── */
.hover-underline:hover,.small-card-bottom-text a:hover{text-decoration:underline}
.two-lines{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.three-lines{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.initial-paragraph{position:relative;display:block;overflow:hidden}
.initial-paragraph.three-lines{max-height:calc(3 * 1.6 * 15px)}
.initial-paragraph.two-lines{max-height:calc(2 * 1.6 * 15px)}
.initial-paragraph::first-letter{float:left;font-size:48px;line-height:100%;margin-right:8px;font-family:var(--font4);color:var(--text-color)}
.medium-text{line-height:140%;font-family:var(--font3);font-weight:bold;text-transform:uppercase;font-size:22px}
.big-text{line-height:140%;font-family:var(--font3);font-weight:bold;text-transform:uppercase;font-size:28px}
.small-text{line-height:140%;font-family:var(--font3);font-weight:bold;text-transform:uppercase;font-size:18px}
.italic-lower-opac{font-style:italic;opacity:.7}
.featured-tags-section{display:block;margin:24px 0 0}
.hidden{width:0;height:0;display:none}
.bold-link{font-weight:bold}
.hide-on-desktop{display:none!important}
@media(max-width:991px){.hide-on-desktop{display:block!important}.hide-on-mobile{display:none!important}}
.success{color:var(--success-color)}
.error{color:var(--error-color)}
.restricted-access-icon{width:13px;min-width:13px;height:13px;min-height:13px;display:inline-flex;align-items:center;justify-content:center;margin-right:5px}
.access-icon-smaller{width:11px;min-width:11px;height:11px;min-height:11px}

/* ── IMAGES ─────────────────────────────────────────────── */
img,figure{width:100%;height:100%;object-fit:cover;overflow:hidden}
/* Image hover: normal at rest, 15% gray darken on hover */
.hover-image-opacity img{transition:filter .35s ease}
.hover-image-opacity:hover img{filter:brightness(0.85) saturate(0.9)}
.hover-image-opacity img[loading="lazy"]{opacity:0}
.hover-image-opacity figure.loaded img{opacity:1}
/* Remove any legacy ::after overlay — gray filter is the only hover effect */
.hover-image-opacity::after,
.hover-image-opacity figure::before,
.kg-image::after,.kg-signup-card-image::after,
.kg-header-card-image::after,p img::after,
.kg-gallery-image img::after,.kg-product-card-image::after{display:none!important;content:none!important}
.post-content img:not(.no-lightense){transition:filter .35s ease,transform var(--lightense-duration) var(--lightense-timing-func)}

/* ── CONTAINERS — 1580px max-width cap ──────────────────── */
.wide-container{
    padding-left:42px;
    padding-right:42px;
    box-sizing:border-box;
    max-width:1580px;
    margin-left:auto;
    margin-right:auto;
    width:100%;
}
.narrow-container{
    padding-left:42px;
    padding-right:42px;
    box-sizing:border-box;
    max-width:1580px;
    margin-left:auto;
    margin-right:auto;
    width:100%;
}
.navbar-inner,.navbar-top-inner,.footer-inner{
    max-width:1580px;
    margin-left:auto;
    margin-right:auto;
    width:100%;
    box-sizing:border-box;
}
@media(min-width:1439px){
    .wide-container,.narrow-container{padding-left:2.92vw;padding-right:2.92vw}
}
@media(max-width:991px){
    .wide-container,.narrow-container{padding-left:30px;padding-right:30px}
}
@media(max-width:479px){
    .wide-container,.narrow-container{padding-left:20px;padding-right:20px}
}

/* ── HOMEPAGE COLUMN GRID ───────────────────────────────── */
.column-layout-grid{
    display:grid;
    grid-template-columns:1fr 2fr 1fr;
    gap:42px;
    padding-left:42px;
    padding-right:42px;
    box-sizing:border-box;
    align-items:start;
    max-width:1580px;
    margin-left:auto;
    margin-right:auto;
    width:100%;
}
@media(min-width:1439px){
    .column-layout-grid{gap:calc(2.92vw * var(--scale,1));padding-left:2.92vw;padding-right:2.92vw}
}
@media(max-width:991px){
    .column-layout-grid{grid-template-columns:1fr;gap:0;padding-left:0;padding-right:0}
}

/* ── EDITORIAL HOMEPAGE REFINEMENTS ─────────────────────── */
.homepage-editorial .column-layout{margin-top:18px}
.homepage-editorial .editorial-front-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(280px,.95fr);
    gap:32px;
    align-items:start;
}
.homepage-editorial .editorial-column{min-width:0}
.homepage-editorial .editorial-column--secondary,
.homepage-editorial .editorial-column--utility{
    border-top:1px solid var(--border);
    padding-top:14px;
}
.homepage-editorial .editorial-column--lead{
    position:relative;
    padding-left:18px;
    padding-right:18px;
}
.homepage-editorial .editorial-column--lead::before,
.homepage-editorial .editorial-column--lead::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:1px;
    background:var(--border);
}
.homepage-editorial .editorial-column--lead::before{left:0}
.homepage-editorial .editorial-column--lead::after{right:0}
.homepage-editorial .editorial-column-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
    font-family:var(--font3);
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--text-color-55,rgba(240,240,240,.65));
}
.homepage-editorial .editorial-column-header span{
    display:inline-flex;
    align-items:center;
    gap:10px;
}
.homepage-editorial .editorial-column-header span::before{
    content:"";
    width:26px;
    height:2px;
    background:var(--brand-gradient);
    border-radius:999px;
}
.homepage-editorial .editorial-column-header--lead{
    margin-bottom:22px;
    color:var(--text-color-80,rgba(240,240,240,.85));
}
.homepage-editorial .editorial-column-header--spaced{margin-top:28px}
.homepage-editorial .editorial-hero-card .big-card{
    padding-bottom:24px;
    border-bottom:1px solid var(--border);
}
.homepage-editorial .editorial-hero-card .big-card-image-link{margin-bottom:22px}
.homepage-editorial .editorial-hero-card .big-card-heading{
    font-size:clamp(28px,3vw,48px);
    line-height:1.04;
    letter-spacing:-.02em;
}
.homepage-editorial .editorial-hero-card .big-card-excerpt{
    font-size:17px;
    line-height:1.6;
    color:var(--text-color-80,rgba(240,240,240,.85));
    max-width:92%;
}
.homepage-editorial .editorial-support-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 26px;
    margin-top:8px;
}
.homepage-editorial .editorial-support-grid .horizontal-card{
    display:flex !important;
    min-height:0;
    padding:24px 0 0;
    border-top:none;
}
.homepage-editorial .editorial-support-grid .horizontal-card:first-child,
.homepage-editorial .editorial-support-grid .horizontal-card:nth-child(2){
    border-top:none;
}
.homepage-editorial .editorial-support-grid .horizontal-card .horizontal-card-image-link{
    width:34%;
    max-width:34%;
}
.homepage-editorial .editorial-support-grid .horizontal-card .horizontal-card-heading{
    font-size:clamp(17px,1.35vw,24px);
    line-height:1.18;
}
.homepage-editorial .editorial-briefing-card{
    background:linear-gradient(180deg,var(--surface) 0%,transparent 100%);
    border:1px solid var(--border);
    box-shadow:var(--shadow);
    padding:22px 20px;
}
.homepage-editorial .editorial-kicker{
    display:inline-block;
    margin-bottom:10px;
    font-family:var(--font3);
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--brand-g1);
}
.homepage-editorial .editorial-briefing-copy h3{
    font-size:clamp(20px,1.65vw,28px);
    line-height:1.1;
    margin-bottom:10px;
}
.homepage-editorial .editorial-briefing-copy p{
    color:var(--text-color-80,rgba(240,240,240,.85));
    margin-bottom:0;
}
.homepage-editorial .editorial-subscribe-form{margin-top:18px}
.homepage-editorial .editorial-subscribe-form .subscribe-wrapper{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.homepage-editorial .editorial-subscribe-form .submit-button{
    width:100%;
    background:var(--brand-gradient);
    color:#ffffff;
}
.homepage-editorial .editorial-subscribe-form .newsletter-small-bottom-text{
    display:block;
    margin-top:10px;
    color:var(--text-color-55,rgba(240,240,240,.65));
}
.homepage-editorial .editorial-briefs-list .extra-small-card:first-child{padding-top:0}
.homepage-editorial .editorial-briefs-list .extra-small-card{
    padding:20px 0;
    border-top:1px solid var(--border);
}
.homepage-editorial .editorial-briefs-list .extra-small-card-image-link{
    width:100%;
    margin-top:14px;
}
.homepage-editorial .editorial-briefs-list .extra-small-card-image-wrapper{height:12vw}
html[data-theme="light"] .homepage-editorial .editorial-briefing-card{
    background:linear-gradient(180deg,rgba(245,69,162,.04) 0%,rgba(0,0,0,.02) 100%);
}
@media(max-width:1200px){
    .homepage-editorial .editorial-front-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.28fr) minmax(250px,.9fr);gap:26px}
    .homepage-editorial .editorial-support-grid{grid-template-columns:1fr}
    .homepage-editorial .editorial-support-grid .horizontal-card{border-top:1px solid var(--border)}
    .homepage-editorial .editorial-support-grid .horizontal-card:first-child{border-top:none}
    .homepage-editorial .editorial-briefs-list .extra-small-card-image-wrapper{height:16vw}
}
@media(max-width:991px){
    .homepage-editorial .editorial-front-grid{grid-template-columns:1fr;gap:0}
    .homepage-editorial .editorial-column--lead{padding-left:0;padding-right:0}
    .homepage-editorial .editorial-column--lead::before,
    .homepage-editorial .editorial-column--lead::after{display:none}
    .homepage-editorial .editorial-column--secondary,
    .homepage-editorial .editorial-column--utility{border-top:none;padding-top:0}
    .homepage-editorial .editorial-column-header{padding:0 30px;margin-bottom:14px}
    .homepage-editorial .editorial-hero-card .big-card{border-bottom:none;padding-bottom:10px}
    .homepage-editorial .editorial-support-grid{grid-template-columns:1fr;gap:0;padding:0 30px}
    .homepage-editorial .editorial-briefing-card{margin:8px 30px 0}
    .homepage-editorial .editorial-briefs-list{padding:0 30px}
    .homepage-editorial .editorial-briefs-list .extra-small-card-image-wrapper{height:40vw}
}
@media(max-width:479px){
    .homepage-editorial .column-layout{margin-top:10px}
    .homepage-editorial .editorial-column-header{padding:0 20px}
    .homepage-editorial .editorial-support-grid{padding:0 20px}
    .homepage-editorial .editorial-hero-card .big-card-heading{font-size:clamp(24px,8vw,34px)}
    .homepage-editorial .editorial-hero-card .big-card-excerpt{font-size:16px;max-width:100%}
    .homepage-editorial .editorial-briefing-card{margin:8px 20px 0;padding:18px 16px}
    .homepage-editorial .editorial-briefs-list{padding:0 20px}
}

/* ── ARTICLE THREE-COLUMN LAYOUT (55/25/15 + 2.5% padding) */
@media(min-width:992px){
    .post-content-and-sidebar{
        display:grid!important;
        grid-template-columns:55fr 25fr 15fr;
        grid-template-areas:"content featured-sidebar info-sidebar";
        gap:0 32px;
        align-items:start;
        padding-left:2.5%;
        padding-right:2.5%;
        max-width:1580px;
        margin-left:auto;
        margin-right:auto;
        width:100%;
        box-sizing:border-box;
    }
    .post-content-outer{grid-area:content;min-width:0}
    .post-sidebar{grid-area:featured-sidebar;min-width:0}
    .post-sidebar-info{grid-area:info-sidebar;min-width:0}
}
@media(max-width:991px){
    .post-content-and-sidebar{display:flex!important;flex-direction:column;padding-left:0;padding-right:0}
    .post-sidebar,.post-sidebar-info{width:100%}
}

/* ── CARD IMAGE HEIGHTS ─────────────────────────────────── */
.small-card .card-image-wrapper,
.small-card-image-wrapper{height:16vw}
.big-card .card-image-wrapper,
.big-card-image-wrapper{height:31vw}
.extra-small-card .card-image-wrapper,
.extra-small-side-card .card-image-wrapper{height:9vw}
.horizontal-card .card-image-wrapper{height:14vw}
/* Homepage grid: auto height, text zone uses min-height */
.column-layout-grid .small-card,
.column-layout-grid .big-card,
.column-layout-grid .horizontal-card,
.column-layout-grid .extra-small-card{height:auto}
.column-layout-grid .text-min-height{min-height:115px;height:auto}
@media(min-width:1239px){
    .column-layout-grid .text-min-height{min-height:calc(8vw * var(--scale,1))}
}
/* Fixed-height cards outside homepage grid */
.post-sidebar .small-card,
.post-sidebar .horizontal-card,
.post-sidebar .extra-small-card{height:auto}
@media(max-width:991px){
    .small-card .card-image-wrapper,.small-card-image-wrapper{height:38vw}
    .big-card .card-image-wrapper,.big-card-image-wrapper{height:55vw}
    .extra-small-card .card-image-wrapper,
    .extra-small-side-card .card-image-wrapper{height:22vw}
    .horizontal-card .card-image-wrapper{height:28vw}
}
@media(max-width:479px){
    .small-card .card-image-wrapper,.small-card-image-wrapper,
    .extra-small-card .card-image-wrapper,
    .extra-small-side-card .card-image-wrapper{height:50vw}
    .big-card .card-image-wrapper,.big-card-image-wrapper{height:60vw}
    .horizontal-card .card-image-wrapper{height:40vw}
}

/* ── CARD HEADLINE CLAMP (variable font size) ───────────── */
.small-card .small-card-heading{
    font-size:clamp(12px,1.05vw,17px);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.big-card .big-card-heading{
    font-size:clamp(16px,1.6vw,30px);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.horizontal-card .horizontal-card-heading{
    font-size:clamp(14px,1.25vw,22px);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.extra-small-card .extra-small-card-heading,
.extra-small-side-card .extra-small-side-card-heading{
    font-size:clamp(11px,0.85vw,15px);
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}

/* ── SECTION LAYOUT ─────────────────────────────────────── */
.section-heading{
    padding:8px 0;
    width:100%;
    border-top:1px solid var(--text-color);
    border-bottom:1px solid var(--text-color);
    display:flex;
    align-items:center;
    justify-content:space-between;
    line-height:100%;
    font-family:var(--font2);
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.section-heading-button{display:flex;align-items:center}
.section-heading-arrow{display:flex;align-items:center;justify-content:center;height:auto;width:26px;margin-left:11px}
.section-padding{padding-top:32px;padding-bottom:32px}
.section-padding-top{padding-top:32px}
.section-padding-bottom{padding-bottom:32px}
.section-padding-small{padding-top:24px;padding-bottom:24px}
.pagination-button{margin-bottom:32px}

/* ── ANNOUNCEMENT BAR ───────────────────────────────────── */
#announcement-bar-root .gh-announcement-bar{
    font-family:var(--font1);font-size:14px;line-height:160%;padding:10px 42px
}
#announcement-bar-root .gh-announcement-bar-content{padding:0 42px}
#announcement-bar-root button:hover{background-color:transparent}

/* ── BREADCRUMB (legacy, kept for non-article pages) ────── */
.breadcrumb{display:flex;list-style:none;padding:0;align-items:center}
.breadcrumb li+li::before{content:'/';margin:0 .5em;opacity:.5}
.breadcrumb-item-current{font-weight:500;font-size:larger}

/* ── LOGO SCALE + SCROLL ANIMATION ─────────────────────── */
.logo-wrapper .navbar-logo-image,
.logo-wrapper .navbar-logo-text{transform:scale(var(--logo-scale,1));transform-origin:center}
