/* L4T blue-metallic retune: yellow/green accents replaced by institutional blue, steel, silver and white. */
:root {
    --l4t-navy: #071524;
    --l4t-ink: #14263a;
    --l4t-muted: #667587;
    --l4t-line: #d8e1ea;
    --l4t-soft: #f4f6f9;
    --l4t-white: #ffffff;
    --l4t-teal: #1f5f8b;
    --l4t-teal-dark: #0d3f63;
    --l4t-link: #006fbe;
    --l4t-link-hover: #004b87;
    --l4t-link-soft: rgba(0,111,190,.14);
    --l4t-link-underline: rgba(0,111,190,.72);
    --l4t-steel: #8799ad;
    --l4t-shadow: 0 26px 70px rgba(7,24,39,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Inter', Arial, sans-serif; color: var(--l4t-ink); background: var(--l4t-white); line-height: 1.65; }
a { color: var(--l4t-link); text-decoration: none; transition: color .2s ease, opacity .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; }
a:hover { color: var(--l4t-link-hover); }
a:focus-visible { outline: 3px solid rgba(0,111,190,.26); outline-offset: 3px; }

/* Text links: site-wide Get Involved style: bold blue, animated underline, no hover background. */
.page-content :where(p, li, .article-content, .article-footnotes, .publication-source-note) :where(a:not(.btn):not(.feature-button):not(.feature-image-link):not(.nav-link)),
.section :where(p, li, .lead-text, .section-text) :where(a:not(.btn):not(.feature-button):not(.feature-image-link):not(.nav-link)),
.text-link {
    color: var(--l4t-link);
    font-weight: 900;
    text-decoration: none;
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: 0 100%;
    padding-bottom: .06em;
    transition: color .18s ease, background-size .18s ease;
    text-shadow: none;
}
.page-content :where(p, li, .article-content, .article-footnotes, .publication-source-note) :where(a:not(.btn):not(.feature-button):not(.feature-image-link):not(.nav-link)):hover,
.page-content :where(p, li, .article-content, .article-footnotes, .publication-source-note) :where(a:not(.btn):not(.feature-button):not(.feature-image-link):not(.nav-link)):focus,
.section :where(p, li, .lead-text, .section-text) :where(a:not(.btn):not(.feature-button):not(.feature-image-link):not(.nav-link)):hover,
.section :where(p, li, .lead-text, .section-text) :where(a:not(.btn):not(.feature-button):not(.feature-image-link):not(.nav-link)):focus,
.text-link:hover,
.text-link:focus {
    color: var(--l4t-link-hover);
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-size: 100% 2px;
    background-position: 0 100%;
    text-shadow: none;
}
.skip-link { position: absolute; left: -999px; top: 0; z-index: 9999; background: #fff; padding: .75rem 1rem; }
.skip-link:focus { left: 1rem; top: 1rem; }

/* Header: logo white field fades into the transparent hero. On scroll, the full header becomes white. */
.l4t-navbar {
    padding: 0;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,.10);
    box-shadow: none;
    transition: background .36s ease, border-color .36s ease, box-shadow .36s ease, backdrop-filter .36s ease;
}
.l4t-navbar.navbar-scrolled,
.l4t-navbar.navbar-open {
    background: rgba(255,255,255,.985);
    border-bottom-color: rgba(7,24,39,.08);
    box-shadow: 0 14px 45px rgba(7,24,39,.10);
    backdrop-filter: blur(18px);
}
.l4t-brand-panel {
    margin: 0;
    min-height: 78px;
    padding: .75rem 3.2rem .75rem 2rem;
    position: relative;
    flex: 0 0 auto;
    isolation: isolate;
}
.l4t-brand-panel:before {
    will-change: opacity, background;
    transform: translateZ(0);
    content: '';
    position: absolute;
    inset: 0 -190px 0 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.98) 58%,
        rgba(255,255,255,.72) 74%,
        rgba(255,255,255,.28) 88%,
        rgba(255,255,255,0) 100%);
    transition: opacity .36s ease;
}
.brand-mark { height: 54px; width: auto; display: block; position: relative; z-index: 2; transform: translateZ(0); backface-visibility: hidden; }
.l4t-menu-panel { padding-right: clamp(1rem, 3vw, 3rem); }
.l4t-navbar .nav-link {
    color: rgba(255,255,255,.94);
    font-weight: 900;
    font-size: .86rem;
    letter-spacing: .005em;
    padding: .55rem .64rem !important;
    border-radius: 999px;
    white-space: nowrap;
    text-shadow: 0 2px 14px rgba(0,0,0,.52);
}
.l4t-navbar .nav-link:hover { color: #fff; background: rgba(255,255,255,.14); }
.l4t-navbar .nav-link.active { color: var(--l4t-navy); background: rgba(255,255,255,.96); text-shadow: none; box-shadow: 0 10px 26px rgba(0,0,0,.12); }
.l4t-navbar.navbar-scrolled .nav-link,
.l4t-navbar.navbar-open .nav-link { color: var(--l4t-ink); text-shadow: none; box-shadow: none; }
.l4t-navbar.navbar-scrolled .nav-link:hover,
.l4t-navbar.navbar-open .nav-link:hover { color: var(--l4t-teal); background: rgba(31,95,139,.08); }
.l4t-navbar.navbar-scrolled .nav-link.active,
.l4t-navbar.navbar-open .nav-link.active { color: #fff; background: var(--l4t-teal); }
.navbar-toggler { border: 0; box-shadow: none !important; background: rgba(255,255,255,.92); border-radius: 10px; padding: .65rem; }
.navbar-toggler:focus { box-shadow: 0 0 0 .15rem rgba(31,95,139,.2) !important; }

.btn-l4t, .btn-l4t-light, .btn-ghost, .btn-ghost-light, .btn-outline-dark-l4t, .btn-l4t-join { border-radius: 10px; font-weight: 900; letter-spacing: .01em; padding: .8rem 1.35rem; }
.btn-l4t { --bs-btn-color: #fff; --bs-btn-bg: var(--l4t-teal); --bs-btn-border-color: var(--l4t-teal); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--l4t-teal-dark); --bs-btn-hover-border-color: var(--l4t-teal-dark); box-shadow: 0 14px 30px rgba(31,95,139,.18); }
.btn-l4t-light { color: var(--l4t-navy); background: #fff; border: 1px solid #fff; }
.btn-l4t-light:hover { color: var(--l4t-navy); background: rgba(255,255,255,.86); border-color: rgba(255,255,255,.86); }
.btn-ghost { color: #fff; border: 1px solid rgba(255,255,255,.55); }
.btn-ghost:hover { color: var(--l4t-navy); background: #fff; border-color: #fff; }
.btn-ghost-light { color: #fff; border: 1px solid rgba(255,255,255,.45); }
.btn-ghost-light:hover { color: var(--l4t-navy); background: #fff; border-color: #fff; }
.btn-outline-dark-l4t { color: var(--l4t-navy); border: 1px solid rgba(7,24,39,.22); background: rgba(255,255,255,.48); }
.btn-outline-dark-l4t:hover { color: #fff; background: var(--l4t-navy); border-color: var(--l4t-navy); }

.hero, .page-hero, .quote-section { position: relative; overflow: hidden; background: var(--l4t-navy); }
.hero { min-height: 100vh; min-height: 100svh; height: 100vh; height: 100svh; }
.hero-bg, .quote-bg, .page-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: none; }
.hero-bg { background-image: url('../img/hero-luxembourg.jpg'); }
.quote-bg { background-image: url('../img/luxembourg-flag.jpg'); }
.page-hero-bg-city, .page-hero-bg-finance, .page-hero-bg-event, .page-hero-bg-involved { background-image: url('../img/luxembourg-flag.jpg'); }
.page-hero-bg-people { background-image: url('../img/teamwork.jpg'); }
.page-hero-bg-resources, .page-hero-bg-news { background-image: url('../img/resources-library.jpg'); }
@supports (background-attachment: fixed) {
    @media (min-width: 992px) {
        .hero-bg, .quote-bg, .parallax-bg { background-attachment: fixed; }
    }
}
.hero-overlay { position: absolute; inset: 0; background: radial-gradient(circle at 78% 25%, rgba(31,95,139,.42), transparent 33%), linear-gradient(90deg, rgba(7,24,39,.94), rgba(7,24,39,.74) 50%, rgba(7,24,39,.30)); }
.page-hero-overlay, .quote-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,24,39,.92), rgba(7,24,39,.72) 55%, rgba(7,24,39,.46)); }
.hero-content { height: 100%; padding-top: 78px; }
.hero-inner { min-height: calc(100vh - 78px); min-height: calc(100svh - 78px); height: calc(100vh - 78px); height: calc(100svh - 78px); display: flex; align-items: flex-end; padding: 0 0 clamp(3.2rem, 7vh, 5.6rem); }
.eyebrow, .section-kicker { color: var(--l4t-steel); text-transform: uppercase; letter-spacing: .17em; font-weight: 900; font-size: .76rem; }

.hero-gradient-rule {
    width: min(420px, 52vw);
    height: 2px;
    background: linear-gradient(90deg, rgba(135,153,173,.95) 0%, rgba(135,153,173,.62) 32%, rgba(135,153,173,.22) 68%, rgba(135,153,173,0) 100%);
    box-shadow: 0 1px 0 rgba(255,255,255,.10);
}

.hero-title { color: #fff; font-size: clamp(3.4rem, 8.2vw, 7.2rem); font-weight: 900; letter-spacing: -.065em; line-height: .92; max-width: 920px; }
.hero-lead, .page-lead { color: rgba(255,255,255,.82); font-size: clamp(1.15rem, 2vw, 1.42rem); max-width: 780px; }
.scroll-cue { position: absolute; left: 50%; bottom: 2rem; transform: translateX(-50%); width: 34px; height: 54px; border: 1px solid rgba(255,255,255,.45); border-radius: 10px; }
.scroll-cue span { position: absolute; top: 11px; left: 50%; width: 4px; height: 9px; margin-left: -2px; border-radius: 4px; background: #fff; animation: scrollCue 1.5s infinite; }
@keyframes scrollCue { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(18px); } }

.section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.section-intro { background: linear-gradient(180deg, #fff 0%, var(--l4t-soft) 100%); position: relative; z-index: 3; box-shadow: 0 -18px 54px rgba(7,24,39,.10); }
.hero-pullup { margin-top: 0; border-radius: 0; }
.section-soft { background: var(--l4t-soft); }
.section-title { font-size: clamp(2rem, 5vw, 4.1rem); font-weight: 900; letter-spacing: -.055em; line-height: 1.02; }
.small-title { font-size: clamp(2rem, 4vw, 3.2rem); }
.section-text { color: var(--l4t-muted); font-size: 1.06rem; }
.lead-text { font-size: clamp(1.12rem, 2vw, 1.35rem); color: #334155; }
.text-white-75 { color: rgba(255,255,255,.75); }

.feature-card { border: 1px solid rgba(16,34,53,.12); border-radius: 16px; overflow: hidden; background: linear-gradient(180deg, #fff, #f8fafc); box-shadow: var(--l4t-shadow); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; position: relative; }
.feature-card:before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 85% 10%, rgba(135,153,173,.12), transparent 32%); opacity: .75; }
.feature-card:hover { transform: translateY(-6px); box-shadow: 0 32px 80px rgba(7,24,39,.16); border-color: rgba(31,95,139,.22); }
.feature-image { min-height: 238px; position: relative; overflow: hidden; background-color: #e7edf4; background-size: cover; background-position: center; background-repeat: no-repeat; }
.feature-image:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,24,39,.04), rgba(7,24,39,.28)); }
.feature-image-teamwork { background-image: url('../img/teamwork.jpg'); }
.feature-image-luxembourg-city { background-image: url('../img/city-luxembourg.jpg'); }
.feature-image-resources-library { background-image: url('../img/resources-library.jpg'); }
.feature-body { padding: 2rem; position: relative; z-index: 1; }
.feature-card h3 { font-size: 1.55rem; font-weight: 900; letter-spacing: -.03em; margin-bottom: .75rem; color: var(--l4t-ink); }
.feature-card p { color: var(--l4t-muted); margin-bottom: 1.4rem; }
.feature-button { display: inline-flex; align-items: center; justify-content: center; min-width: 128px; border: 1px solid rgba(31,95,139,.22); border-radius: 10px; padding: .62rem 1.05rem; color: var(--l4t-teal); background: rgba(255,255,255,.66); font-weight: 900; }
.feature-button:before { content: '→'; margin-right: .45rem; transition: transform .2s ease; }
.feature-button:hover { color: #fff; background: var(--l4t-teal); border-color: var(--l4t-teal); }
.feature-button:hover:before { transform: translateX(2px); }
.text-link { font-weight: 900; color: var(--l4t-link); }
.text-link:after { content: ' →'; }

.principles-section { background: radial-gradient(circle at 20% 0%, rgba(31,95,139,.36), transparent 35%), var(--l4t-navy); }
.principle-box, .principle-light, .work-tile, .resource-card, .person-card, .involved-card, .newsletter-panel { height: 100%; border-radius: 16px; }
.principle-box {
    position: relative;
    overflow: hidden;
    padding: 1.55rem;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(145deg, rgba(255,255,255,.105) 0%, rgba(255,255,255,.045) 54%, rgba(31,95,139,.105) 100%),
        rgba(255,255,255,.045);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.10);
    backdrop-filter: blur(16px);
}
.principle-box:before {
    content: '';
    position: absolute;
    left: 1.15rem;
    right: 1.15rem;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(135,153,173,0), rgba(135,153,173,.68), rgba(31,95,139,.34), rgba(135,153,173,0));
}
.principle-box:after {
    content: '';
    position: absolute;
    width: 92px;
    height: 92px;
    right: -48px;
    bottom: -48px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(135,153,173,.13), rgba(135,153,173,0) 62%);
    pointer-events: none;
}
.principle-box span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    height: 2.05rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(135,153,173,.34);
    background: rgba(135,153,173,.08);
    color: var(--l4t-steel);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
}
.principle-box strong { display: block; color: #fff; font-size: 1.18rem; margin-bottom: .5rem; letter-spacing: -.015em; }
.principle-box p { color: rgba(255,255,255,.70); margin: 0; }
.principle-box > * { position: relative; z-index: 1; }
.principle-light, .work-tile, .resource-card, .involved-card, .newsletter-panel { padding: 1.65rem; border: 1px solid var(--l4t-line); background: #fff; box-shadow: 0 18px 55px rgba(7,24,39,.08); }
.principle-light strong, .work-tile h3, .resource-card h3, .involved-card h2 { display: block; font-size: 1.22rem; font-weight: 900; letter-spacing: -.025em; margin-bottom: .6rem; }
.principle-light p, .work-tile p, .resource-card p, .involved-card p { color: var(--l4t-muted); margin-bottom: 0; }
.work-tile span, .resource-card span, .involved-card span { color: var(--l4t-steel); font-weight: 900; letter-spacing: .16em; font-size: .78rem; display: block; margin-bottom: 1rem; }

.quote-section { padding: clamp(5rem, 10vw, 9rem) 0; background-attachment: fixed; }
.quote-bg { background-position: center; }
.quote-mark { color: rgba(255,255,255,.14); font-size: 9rem; line-height: .6; font-weight: 900; }
blockquote { color: #fff; font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.22; margin: 0 0 2rem; }
.quote-author { color: rgba(255,255,255,.72); font-weight: 700; margin: 0; }

/* Subpage support from the expanded package */
.page-hero { padding: 10.5rem 0 5.25rem; color: #fff; }
.page-hero h1 { font-size: clamp(2.8rem, 7vw, 5.6rem); font-weight: 900; letter-spacing: -.06em; line-height: .98; }
.page-content { padding: clamp(3.8rem, 7vw, 6.2rem) 0; }
.page-card, .event-card { border: 1px solid var(--l4t-line); border-radius: 16px; box-shadow: var(--l4t-shadow); background: #fff; padding: clamp(1.6rem, 4vw, 2.6rem); }
.accent-card { border-top: 5px solid var(--l4t-teal); }
.prose-card h2, .page-card h2, .newsletter-panel h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 900; letter-spacing: -.04em; margin-bottom: 1rem; }
.prose-card h3, .page-card h3 { font-size: 1.35rem; font-weight: 900; margin-top: 1.8rem; }
.elegant-list { padding-left: 0; list-style: none; }
.elegant-list li { position: relative; padding-left: 1.55rem; margin-bottom: .82rem; color: #334155; }
.elegant-list li:before { content: ''; position: absolute; left: 0; top: .72rem; width: 8px; height: 8px; border-radius: 50%; background: var(--l4t-teal); }
.stacked-panel { border-radius: 12px; padding: clamp(1.8rem, 4vw, 2.8rem); }
.dark-panel { background: radial-gradient(circle at 20% 0%, rgba(31,95,139,.32), transparent 34%), var(--l4t-navy); color: #fff; box-shadow: var(--l4t-shadow); }
.dark-panel h2, .dark-panel h3 { font-weight: 900; letter-spacing: -.04em; }
.dark-panel p { color: rgba(255,255,255,.72); }
.dark-panel hr { border-color: rgba(255,255,255,.18); margin: 2rem 0; }
.sticky-panel { position: sticky; top: 7rem; }
.elegant-accordion .accordion-item { border: 1px solid var(--l4t-line); border-radius: 12px; overflow: hidden; margin-bottom: .8rem; box-shadow: 0 12px 35px rgba(7,24,39,.06); }
.elegant-accordion .accordion-button { font-weight: 900; color: var(--l4t-ink); }
.elegant-accordion .accordion-button:not(.collapsed) { color: var(--l4t-teal); background: rgba(31,95,139,.08); box-shadow: none; }
.elegant-accordion .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(31,95,139,.13); }
.people-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.person-card { padding: 1.35rem; background: #fff; border: 1px solid var(--l4t-line); box-shadow: 0 14px 40px rgba(7,24,39,.08); }
.person-card-dark { background: var(--l4t-navy); color: #fff; border-color: rgba(255,255,255,.1); }
.person-avatar { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(31,95,139,.12); color: var(--l4t-teal); font-weight: 900; margin-bottom: 1rem; }
.person-card-dark .person-avatar { background: rgba(255,255,255,.12); color: var(--l4t-steel); }
.person-card h3 { font-size: 1.04rem; font-weight: 900; margin: 0 0 .2rem; }
.person-card p { color: var(--l4t-muted); margin: 0; }
.person-card-dark p { color: rgba(255,255,255,.65); }
.event-quote { max-width: 900px; }
.event-card h1 { font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 900; letter-spacing: -.05em; }
.event-meta { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--l4t-line); }
.newsletter-panel { background: var(--l4t-navy); color: #fff; position: sticky; top: 7rem; }
.newsletter-panel a { display: block; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.82); font-weight: 800; }
.newsletter-panel a:hover { color: #fff; }
.involved-card { min-height: 330px; display: flex; flex-direction: column; align-items: flex-start; }
.involved-card .btn { margin-top: auto; }
.involved-card-dark { background: var(--l4t-navy); color: #fff; border-color: rgba(255,255,255,.1); }
.involved-card-dark p { color: rgba(255,255,255,.68); }

/* CTA with contact form: lighter bridge between quote and footer */
.cta-strip { position: relative; overflow: hidden; background: linear-gradient(135deg, #f8fbfa 0%, #eef4fa 48%, #f7f9fc 100%); color: var(--l4t-ink); padding: clamp(3.5rem, 7vw, 6rem) 0; }
.cta-strip h2 { font-size: clamp(2rem, 4.5vw, 3.4rem); font-weight: 900; letter-spacing: -.055em; line-height: 1.03; }
.cta-text { color: var(--l4t-muted); font-size: 1.08rem; max-width: 540px; }
.cta-pattern { position: absolute; inset: 0; opacity: .9; background-image: linear-gradient(132deg, transparent 0 17%, rgba(31,95,139,.10) 17.15%, transparent 17.55% 100%), linear-gradient(158deg, transparent 0 63%, rgba(135,153,173,.15) 63.15%, transparent 63.5% 100%), linear-gradient(24deg, transparent 0 76%, rgba(7,24,39,.055) 76.12%, transparent 76.42% 100%); background-size: 100% 100%; }
.contact-panel { position: relative; border: 1px solid rgba(16,34,53,.10); border-radius: 12px; padding: clamp(1.4rem, 3vw, 2.2rem); background: rgba(255,255,255,.82); box-shadow: 0 28px 70px rgba(7,24,39,.12); backdrop-filter: blur(18px); }
.contact-panel .form-label { font-weight: 900; color: var(--l4t-ink); font-size: .86rem; }
.contact-panel .form-control { border-radius: 10px; border: 1px solid rgba(16,34,53,.16); padding: .82rem 1rem; background: rgba(255,255,255,.82); color: var(--l4t-ink); }
.contact-panel .form-control:focus { border-color: rgba(31,95,139,.55); box-shadow: 0 0 0 .22rem rgba(31,95,139,.12); }
.form-note { color: var(--l4t-muted); font-size: .9rem; }

.site-footer { position: relative; overflow: hidden; background: linear-gradient(135deg, #06121f 0%, #0a2034 38%, #0b2c48 70%, #071524 100%); color: rgba(255,255,255,.72); padding: 4.5rem 0 2rem; }
.footer-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(128deg, transparent 0 28%, rgba(255,255,255,.12) 28.08%, transparent 28.32% 100%), linear-gradient(24deg, transparent 0 62%, rgba(135,153,173,.14) 62.08%, transparent 62.34% 100%); background-size: 100% 100%; mask-image: linear-gradient(180deg, rgba(0,0,0,.95), rgba(0,0,0,.20)); }
.footer-orbit { position: absolute; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; pointer-events: none; }
.footer-orbit-one { width: 360px; height: 360px; right: -120px; top: -140px; }
.footer-orbit-two { width: 220px; height: 220px; left: -80px; bottom: -95px; border-color: rgba(135,153,173,.14); }
.footer-logo { max-width: 230px; height: auto; background: rgba(255,255,255,.96); border-radius: 12px; padding: .75rem; box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.footer-text { max-width: 360px; }
.footer-heading { color: #fff; font-size: .82rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1.2rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: .85rem 1.15rem; }
.site-footer a { color: rgba(255,255,255,.80); font-weight: 800; }
.site-footer a:hover { color: #fff; }
.social-links { display: flex; flex-wrap: wrap; gap: .6rem; }
.social-links a { border: 1px solid rgba(255,255,255,.13); border-radius: 10px; padding: .4rem .75rem; font-size: .86rem; background: rgba(255,255,255,.03); }
.social-links a:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.26); }
.footer-sep { color: rgba(255,255,255,.25); margin: 0 .65rem; }
.footer-bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.10); font-size: .9rem; color: rgba(255,255,255,.48); }

@media (max-width: 1380px) and (min-width: 1200px) {
    .brand-mark { height: 48px; }
    .l4t-brand-panel { min-height: 72px; padding-left: 1.45rem; padding-right: 1.8rem; }
    .l4t-menu-panel { padding-right: 1rem; }
    .l4t-navbar .nav-link { font-size: .80rem; padding-left: .40rem !important; padding-right: .40rem !important; }
}
@media (max-width: 1199px) {
    .l4t-navbar { background: rgba(255,255,255,.985); border-bottom-color: rgba(7,24,39,.08); box-shadow: 0 14px 45px rgba(7,24,39,.10); backdrop-filter: blur(18px); }
    .l4t-brand-panel { min-height: 72px; padding-left: 1.2rem; padding-right: 1.4rem; }
    .l4t-brand-panel:before { display: none; }
    .navbar-collapse { padding: 1rem 1rem .9rem; background: rgba(255,255,255,.98); border-top: 1px solid rgba(7,24,39,.08); }
    .l4t-menu-panel { padding-right: 0; }
    .l4t-navbar .nav-link { color: var(--l4t-ink); text-shadow: none; padding: .65rem .85rem !important; }
    .l4t-navbar .nav-link.active { color: var(--l4t-teal); background: rgba(31,95,139,.08); }
}
@media (max-width: 991px) {
    .brand-mark { height: 44px; }
    .hero { min-height: 100svh; height: 100svh; }
    .hero-inner { min-height: calc(100svh - 72px); height: calc(100svh - 72px); padding-bottom: 4rem; }
    .hero-title { font-size: clamp(3.1rem, 13vw, 5.5rem); }
    .hero-overlay, .page-hero-overlay { background: linear-gradient(90deg, rgba(7,24,39,.95), rgba(7,24,39,.74)); }
    .people-grid { grid-template-columns: 1fr; }
    .sticky-panel, .newsletter-panel { position: static; }
    .hero-pullup { margin-top: 0; border-radius: 0; }
}
@media (max-width: 575px) {
    .section { padding: 4rem 0; }
    .feature-body { padding: 1.5rem; }
    .feature-image { min-height: 205px; }
    .scroll-cue { display: none; }
    .page-hero { padding-top: 8.5rem; }
    .footer-logo { max-width: 200px; }
    .contact-panel { border-radius: 16px; }
}

/* Intro statement: a stronger institutional summary next to the opening headline. */
.intro-heading-row { position: relative; }
.intro-statement {
    position: relative;
    padding: 1.35rem 1.55rem 1.35rem 1.65rem;
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(246,248,248,.78));
    border: 1px solid rgba(16,34,53,.12);
    border-left: 4px solid var(--l4t-teal);
    border-radius: 12px;
    box-shadow: 0 20px 58px rgba(7,24,39,.08);
}
.intro-statement p {
    margin: 0;
    color: #4a5b70;
    font-size: 1.03rem;
    line-height: 1.72;
}
.intro-statement p + p { margin-top: .8rem; }
@media (max-width: 991px) {
    .intro-statement { margin-top: .25rem; }
}

/* Subpage refinement update: stronger separation, real people/event images, neutral involved cards */
.work-focus-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #071524 0%, #09243c 52%, #0e3457 100%);
    color: rgba(255,255,255,.78);
}
.work-focus-section .section-kicker { color: var(--l4t-steel); }
.work-focus-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .55;
    background-image:
        linear-gradient(132deg, transparent 0 22%, rgba(255,255,255,.08) 22.08%, transparent 22.32% 100%),
        linear-gradient(28deg, transparent 0 68%, rgba(135,153,173,.12) 68.08%, transparent 68.32% 100%);
}
.work-focus-card {
    background: rgba(255,255,255,.96);
    border-color: rgba(255,255,255,.18);
    box-shadow: 0 30px 80px rgba(0,0,0,.18);
}
.work-focus-card p,
.work-focus-card li { color: #334155; }

.people-page-content { background: linear-gradient(180deg, #fff 0%, #f4f6f9 100%); }
.people-photo-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.2rem;
}
.board-photo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.person-photo-card {
    overflow: hidden;
    border: 1px solid rgba(16,34,53,.13);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(7,24,39,.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.person-photo-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(7,24,39,.13);
    border-color: rgba(31,95,139,.24);
}
.person-photo {
    height: 255px;
    background: #e8edf4;
    overflow: hidden;
}
.person-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    filter: saturate(.96) contrast(1.02);
}
.person-photo-body { padding: 1rem 1.05rem 1.15rem; }
.person-photo-body h3 {
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.025em;
    margin: 0 0 .35rem;
    color: var(--l4t-ink);
}
.person-photo-body p {
    margin: 0;
    color: var(--l4t-muted);
    font-weight: 700;
    font-size: .9rem;
}

.event-card-with-image { padding: clamp(1.2rem, 3vw, 2.4rem); }
.event-image {
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid rgba(16,34,53,.12);
    box-shadow: 0 18px 48px rgba(7,24,39,.08);
}
.event-image img {
    display: block;
    width: 100%;
    height: auto;
}
.newsletter-panel a:after {
    content: ' PDF';
    display: inline-block;
    margin-left: .45rem;
    color: var(--l4t-steel);
    font-size: .72rem;
    letter-spacing: .12em;
}

.involved-card,
.involved-card-dark {
    background: #fff;
    color: var(--l4t-ink);
    border-color: var(--l4t-line);
    box-shadow: 0 18px 55px rgba(7,24,39,.08);
}
.involved-card p,
.involved-card-dark p { color: var(--l4t-muted); }
.involved-card span,
.involved-card-dark span { color: var(--l4t-steel); }

.page-hero-bg-news {
    background-image: url('../img/news-newspaper.jpg'), url('../img/resources-library.jpg');
}
.page-hero-bg-involved {
    background-image: url('../img/get-involved-bg.jpg'), url('../img/teamwork.jpg');
}

@media (max-width: 1199px) {
    .people-photo-grid,
    .board-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .people-photo-grid,
    .board-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .person-photo { height: 230px; }
}
@media (max-width: 480px) {
    .people-photo-grid,
    .board-photo-grid { grid-template-columns: 1fr; }
    .person-photo { height: 300px; }
}

/* Final content-alignment update: purpose/resources/get-involved pages */
.page-hero-bg-purpose {
    background-image: url('../img/purpose-luxembourg-city.jpg');
    background-position: center;
}
.page-hero-bg-resources-real {
    background-image: url('../img/resources-open-book.jpg');
    background-position: center;
}
.page-hero-bg-involved-real {
    background-image: url('../img/purpose-voice.jpg');
    background-position: center;
}

.purpose-page-content,
.resources-page-content,
.involved-page-content {
    background: linear-gradient(180deg, #ffffff 0%, #f4f6f9 100%);
}
.purpose-intro-card {
    border-left: 4px solid var(--l4t-teal);
}
.purpose-intro-card p {
    color: #334155;
    font-size: 1.08rem;
    line-height: 1.78;
}
.purpose-intro-card p + p { margin-top: 1rem; }
.purpose-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem;
}
.purpose-card,
.resource-feature-card,
.involved-action-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(16,34,53,.12);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(7,24,39,.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.purpose-card:hover,
.resource-feature-card:hover,
.involved-action-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 68px rgba(7,24,39,.13);
    border-color: rgba(31,95,139,.22);
}
.purpose-image,
.resource-feature-image,
.involved-action-image {
    min-height: 245px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    position: relative;
}
.purpose-image:after,
.resource-feature-image:after,
.involved-action-image:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7,24,39,0), rgba(7,24,39,.22));
}
.purpose-image img,
.resource-feature-image img {
    display: block;
    width: 100%;
    height: 245px;
    object-fit: cover;
}
.purpose-body,
.resource-feature-body,
.involved-action-body {
    padding: clamp(1.35rem, 2.8vw, 2rem);
}
.purpose-body h3,
.resource-feature-body h3,
.involved-action-body h2 {
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1.16;
    letter-spacing: -.03em;
    color: var(--l4t-ink);
    margin: 0 0 .75rem;
}
.purpose-body p,
.resource-feature-body p,
.involved-action-body p {
    color: var(--l4t-muted);
    margin-bottom: 0;
}
.involved-page-content .involved-action-body p {
    text-align: justify;
    text-justify: inter-word;
}
.resource-feature-body p { margin-bottom: 1.3rem; }
.resources-main-card h2,
.resources-side-card h3 {
    font-weight: 900;
    letter-spacing: -.035em;
}
.resources-main-card {
    background: linear-gradient(135deg, #fff, #f8fafc);
    border-left: 4px solid var(--l4t-teal);
}
.resources-side-card {
    background: linear-gradient(135deg, #071524, #0b2c48);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.resources-side-card:before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(135deg, transparent 0 60%, rgba(135,153,173,.14) 60.2%, transparent 60.55% 100%);
}
.resources-side-card h3,
.resources-side-card p,
.resources-side-card a { position: relative; }
.resources-side-card h3 { color: #fff; }
.resources-side-card p { color: rgba(255,255,255,.72); }
.resources-side-card h3 + p { margin-bottom: 1.5rem; }
.resources-side-card a { color: #fff; font-weight: 900; }
.resources-side-card .js-email,
.resources-side-card .js-email a,
.resources-side-card a.js-email {
    position: relative;
    display: inline-block;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    background: transparent;
    background-image: none;
    border-radius: 7px;
    padding: .02em .28em;
    margin: 0 -.12em;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.resources-side-card .js-email:hover,
.resources-side-card .js-email:focus,
.resources-side-card .js-email a:hover,
.resources-side-card .js-email a:focus,
.resources-side-card a.js-email:hover,
.resources-side-card a.js-email:focus {
    color: var(--l4t-link);
    text-decoration: none;
    background: #fff;
    background-image: none;
    box-shadow: 0 8px 20px rgba(0,0,0,.14);
}
.resources-side-card .js-email:focus-visible,
.resources-side-card .js-email a:focus-visible,
.resources-side-card a.js-email:focus-visible {
    outline: 3px solid rgba(255,255,255,.32);
    outline-offset: 3px;
}

.involved-intro-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: clamp(1.8rem, 4vw, 2.6rem);
    border: 1px solid rgba(16,34,53,.12);
    border-left: 4px solid var(--l4t-teal);
    border-radius: 12px;
    background: linear-gradient(135deg, #fff 0%, #f8fbfa 58%, #f1f5f9 100%);
    box-shadow: 0 18px 55px rgba(7,24,39,.08);
}
.involved-intro-panel h1 {
    margin: 0;
    font-size: clamp(2rem, 4.2vw, 3.4rem);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: -.055em;
}
.involved-action-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.involved-action-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
}
.involved-action-body span {
    display: block;
    margin-bottom: .85rem;
    color: var(--l4t-steel);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .16em;
}
.involved-action-body .btn { margin-top: auto; }
.involved-action-body p + p { margin-top: .9rem; }
.involved-action-image-member { background-image: url('../img/teamwork.jpg'); }
.involved-action-image-volunteer { background-image: url('../img/purpose-voice.jpg'); }
.involved-action-image-donor { background-image: url('../img/resources-integrity.jpg'); }

/* Stronger separation before footer on light subpages, especially Our People. */
.cta-strip {
    background: linear-gradient(135deg, #edf3f8 0%, #e5edf6 48%, #f7f9fc 100%);
    border-top: 1px solid rgba(135,153,173,.28);
    border-bottom: 1px solid rgba(16,34,53,.08);
}
.cta-pattern {
    opacity: .65;
    background-image:
        linear-gradient(132deg, transparent 0 18%, rgba(31,95,139,.12) 18.12%, transparent 18.42% 100%),
        linear-gradient(158deg, transparent 0 67%, rgba(135,153,173,.20) 67.12%, transparent 67.42% 100%);
}

@media (max-width: 991px) {
    .purpose-grid { grid-template-columns: 1fr; }
    .involved-intro-panel { display: block; }
    .involved-intro-panel .btn { margin-top: 1.4rem; }
}
@media (max-width: 575px) {
    .purpose-image,
    .resource-feature-image,
    .involved-action-image { min-height: 210px; }
    .purpose-image img,
    .resource-feature-image img { height: 210px; }
}

/* Who we are refinement: institutional statement and elegant principle cards */
.principle-statement {
    margin-top: .15rem;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,250,.88));
}
.principle-statement p {
    color: #41556d;
    font-weight: 700;
}
.principle-elegant-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.principle-elegant-card {
    position: relative;
    min-height: 100%;
    padding: 1.55rem 1.45rem 1.45rem;
    border: 1px solid rgba(16,34,53,.11);
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,250,.92)),
        radial-gradient(circle at 88% 12%, rgba(135,153,173,.12), transparent 34%);
    box-shadow: 0 18px 52px rgba(7,24,39,.07);
    overflow: hidden;
}
.principle-elegant-card:before {
    content: '';
    position: absolute;
    left: 1.45rem;
    right: 1.45rem;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(135,153,173,0) 0%,
        rgba(135,153,173,.82) 14%,
        rgba(31,95,139,.55) 58%,
        rgba(31,95,139,.18) 82%,
        rgba(31,95,139,0) 100%);
}
.principle-elegant-card:after {
    content: '';
    position: absolute;
    width: 120px;
    height: 120px;
    right: -72px;
    bottom: -74px;
    border: 1px solid rgba(31,95,139,.10);
    border-radius: 50%;
}
.principle-elegant-card span {
    display: inline-block;
    margin-bottom: 1.1rem;
    color: rgba(135,153,173,.92);
    font-weight: 900;
    letter-spacing: .16em;
    font-size: .78rem;
}
.principle-elegant-card strong {
    display: block;
    margin-bottom: .65rem;
    color: var(--l4t-ink);
    font-size: 1.16rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}
.principle-elegant-card p {
    margin: 0;
    color: var(--l4t-muted);
}

/* What we do refinement: purpose intro should read as a full-width institutional statement, not as an image overlay. */
.purpose-intro-wide {
    width: 100%;
    padding: clamp(1.8rem, 4vw, 2.8rem);
    background:
        linear-gradient(135deg, #ffffff 0%, #f8fbfa 62%, #f7f9fc 100%);
    border-top: 1px solid rgba(16,34,53,.08);
    border-right: 1px solid rgba(16,34,53,.08);
    border-bottom: 1px solid rgba(16,34,53,.08);
    box-shadow: 0 22px 62px rgba(7,24,39,.08);
}
.purpose-intro-wide p {
    max-width: none;
    width: 100%;
}

/* Our People refinement: outer card frame only. No internal pseudo-border is drawn over the photo. */
.person-photo-card {
    position: relative;
    border: 1px solid rgba(16,34,53,.12);
    background-clip: padding-box;
    box-shadow:
        0 18px 48px rgba(7,24,39,.07),
        0 0 0 1px rgba(255,255,255,.72);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}

@media (max-width: 991px) {
    .principle-elegant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .principle-elegant-grid { grid-template-columns: 1fr; }
}

.social-links { display: flex; flex-wrap: wrap; gap: .6rem; }
.social-links a {
    display: inline-flex;
    align-items: center;
    gap: .46rem;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    padding: .42rem .78rem .42rem .5rem;
    font-size: .86rem;
    background: rgba(255,255,255,.035);
}
.social-links a:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.26); }
.social-icon {
    width: 1.55rem;
    height: 1.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.10);
    color: #fff;
    flex: 0 0 auto;
}
.social-icon svg { width: .9rem; height: .9rem; display: block; fill: currentColor; }

.footer-legal-links {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}
.footer-credit-link {
    color: rgba(135,153,173,.92) !important;
    font-weight: 800;
    letter-spacing: .01em;
}
.footer-credit-link strong {
    color: #dce7f2;
    font-weight: 900;
}
.footer-credit-link:hover {
    color: #ffffff !important;
}
.footer-credit-link:hover strong {
    color: #ffffff;
}

/* Publications list and publication detail pages */
.publication-list-section {
    background: linear-gradient(180deg, #ffffff 0%, #f4f6f9 100%);
}
.publication-intro-statement p {
    text-align: justify;
}
.publication-intro-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    padding: 1.55rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background:
        radial-gradient(circle at 20% 0%, rgba(31,95,139,.32), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.105) 0%, rgba(255,255,255,.045) 54%, rgba(31,95,139,.105) 100%),
        var(--l4t-navy);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.10);
    backdrop-filter: blur(16px);
}
.publication-intro-card:before {
    content: '';
    position: absolute;
    left: 1.15rem;
    right: 1.15rem;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(135,153,173,0), rgba(135,153,173,.68), rgba(31,95,139,.34), rgba(135,153,173,0));
}
.publication-intro-card:after {
    content: '';
    position: absolute;
    width: 92px;
    height: 92px;
    right: -48px;
    bottom: -48px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(135,153,173,.13), rgba(135,153,173,0) 62%);
    pointer-events: none;
}
.publication-intro-card > * {
    position: relative;
    z-index: 1;
}
.publication-intro-card p {
    margin: 0;
    color: rgba(255,255,255,.70);
}
.publication-intro-card p:first-child {
    color: #ffffff;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: -.01em;
}
.publication-intro-card p + p {
    margin-top: .85rem;
}
.resource-back-nav {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 clamp(1.35rem, 2.4vw, 2rem);
}
.resource-back-nav .feature-button:before {
    content: '←';
    margin-right: .45rem;
}
.resource-back-nav .feature-button:hover:before {
    transform: translateX(-2px);
}
.publication-topic-label {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin: 0 0 .9rem;
    padding: .34rem .78rem;
    border-radius: 999px;
    color: #075c87;
    background: rgba(46,159,210,.10);
    border: 1px solid rgba(46,159,210,.20);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .105em;
    line-height: 1.2;
    text-transform: uppercase;
}
.article-meta-grid.publication-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.publication-list-body .article-meta-grid.publication-meta-grid {
    margin-bottom: 1rem !important;
    padding-bottom: 1rem;
}
@media (max-width: 575px) {
    .article-meta-grid.publication-meta-grid {
        grid-template-columns: 1fr;
    }
}
.publication-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.2rem, 2.4vw, 1.7rem);
}
.publication-list-card {
    display: flex;
    flex-direction: row;
    min-height: 100%;
    border: 1px solid rgba(16,34,53,.12);
    background: linear-gradient(145deg, #ffffff 0%, #f8fbfa 100%);
    box-shadow: 0 24px 70px rgba(7,24,39,.10);
    overflow: hidden;
    position: relative;
}
.publication-list-card:before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--l4t-teal), rgba(135,153,173,.85));
    opacity: .95;
    pointer-events: none;
}
.publication-list-image {
    display: block;
    flex: 0 0 min(34%, 340px);
    min-height: 245px;
    overflow: hidden;
    background: var(--l4t-navy);
}
.publication-list-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .42s ease, opacity .42s ease;
}
.publication-list-card:hover .publication-list-image img {
    transform: scale(1.035);
    opacity: .94;
}
.publication-list-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: clamp(1.4rem, 2.6vw, 2rem);
    min-width: 0;
}
.publication-meta-row {
    margin-bottom: 1rem;
}
.publication-list-body h2 {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1.08;
    margin: 0 0 1rem;
}
.publication-list-body h2 a {
    color: var(--l4t-ink);
}
.publication-list-body h2 a:hover {
    color: var(--l4t-teal);
}
.publication-list-body p {
    color: var(--l4t-muted);
    text-align: justify;
    margin-bottom: 1.3rem;
}
.publication-read-more {
    margin-top: auto;
    align-self: flex-start;
}
.publication-detail-section {
    background: #fff;
}
.publication-detail-side {
    background: linear-gradient(145deg, #071524 0%, #0a2a45 100%);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 24px 70px rgba(7,24,39,.16);
    padding: 1rem;
    color: #fff;
}
.publication-detail-image {
    overflow: hidden;
    background: rgba(255,255,255,.05);
    margin-bottom: 1rem;
}
.publication-detail-image img {
    display: block;
    width: 100%;
    height: auto;
}
.publication-detail-meta {
    padding: 1rem .35rem 1.25rem;
}
.publication-detail-meta span {
    display: block;
    color: var(--l4t-steel);
    text-transform: uppercase;
    letter-spacing: .15em;
    font-weight: 900;
    font-size: .76rem;
    margin-bottom: .55rem;
}
.publication-detail-meta strong {
    display: block;
    color: rgba(255,255,255,.9);
    font-size: 1.04rem;
}
.publication-detail-side .feature-button {
    color: #fff;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.22);
    margin: 0 .35rem .35rem;
}
.publication-detail-side .feature-button:hover {
    background: #fff;
    color: var(--l4t-navy);
    border-color: #fff;
}
.publication-detail-card p {
    text-align: justify;
}
.publication-source-note {
    margin-top: 2rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--l4t-line);
    color: var(--l4t-muted);
    font-size: .92rem;
}
@media (max-width: 991px) {
    .publication-list-card {
        flex-direction: column;
    }
    .publication-list-image {
        flex-basis: auto;
        height: 225px;
        min-height: 0;
    }
}

/* Restore Opinion list horizontal layout without affecting Publications cards. */
.opinion-list-page {
    background: linear-gradient(180deg, #fff 0%, #f6f8fb 100%);
}
.opinion-intro-statement {
    margin-left: auto;
    max-width: 760px;
}
.opinion-article-list {
    display: grid;
    gap: 1.75rem;
}
.opinion-list-card {
    display: grid;
    grid-template-columns: minmax(280px, 38%) 1fr;
    border: 1px solid rgba(16,34,53,.12);
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,250,.96));
    box-shadow: 0 24px 66px rgba(7,24,39,.10);
    overflow: hidden;
    border-radius: 14px;
    position: relative;
}
.opinion-list-card:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--l4t-teal), rgba(135,153,173,.92));
    pointer-events: none;
}
.opinion-list-image {
    display: block;
    min-height: 320px;
    background: var(--l4t-navy);
    overflow: hidden;
}
.opinion-list-image img {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.opinion-list-card:hover .opinion-list-image img {
    transform: scale(1.025);
}
.opinion-list-body {
    padding: clamp(1.65rem, 4vw, 2.8rem);
    position: relative;
}
.opinion-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    color: var(--l4t-steel);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .74rem;
    font-weight: 900;
    margin-bottom: 1rem;
}
.opinion-list-body h2 {
    font-size: clamp(1.7rem, 3.5vw, 3rem);
    line-height: 1.04;
    letter-spacing: -.052em;
    font-weight: 900;
    margin-bottom: 1rem;
}
.opinion-list-body h2 a {
    color: var(--l4t-ink);
}
.opinion-list-body h2 a:hover {
    color: var(--l4t-teal-dark);
}
.opinion-list-body p,
.opinion-list-card .opinion-excerpt,
.opinion-item p,
.opinion-item .opinion-excerpt {
    color: var(--l4t-muted);
    font-size: 1.04rem;
    margin-bottom: 1.4rem;
    text-align: justify;
    text-justify: inter-word;
}
.opinion-meta-row .meta-label {
    color: var(--l4t-muted);
    letter-spacing: .10em;
}
@media (max-width: 991px) {
    .opinion-list-card {
        grid-template-columns: 1fr;
    }
    .opinion-list-image,
    .opinion-list-image img {
        min-height: 240px;
    }
}

/* Final repair: make the home feature images clickable without changing their existing background-image rendering. */
.feature-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
.feature-image-link:hover,
.feature-image-link:focus {
    color: inherit;
    text-decoration: none;
}
.feature-image-link:focus-visible {
    outline: 3px solid rgba(135,153,173,.72);
    outline-offset: -6px;
}

/* Final repair: keep the elegant horizontal Opinion cards, but remove the left vertical stripe only there. */
.opinion-list-card:before {
    display: none;
}
.opinion-list-card {
    background:
        radial-gradient(circle at 92% 12%, rgba(135,153,173,.12), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,250,.96));
}
.opinion-list-card:after {
    content: '';
    position: absolute;
    left: clamp(1.1rem, 3vw, 2rem);
    right: clamp(1.1rem, 3vw, 2rem);
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(135,153,173,.78), rgba(31,95,139,.42), rgba(31,95,139,0));
    pointer-events: none;
}

/* Opinion article detail style restore: scoped to the two opinion article templates. */
.article-detail-page {
    background: linear-gradient(180deg, #ffffff 0%, var(--l4t-soft) 100%);
}
.article-detail-card {
    background: #ffffff;
    border: 1px solid rgba(16,34,53,.12);
    box-shadow: 0 28px 80px rgba(7,24,39,.11);
    border-radius: 14px;
    overflow: hidden;
}
.article-cover-image {
    height: clamp(320px, 42vw, 520px);
    background: var(--l4t-navy);
    overflow: hidden;
}
.article-cover-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.article-detail-body {
    padding: clamp(1.8rem, 5vw, 4rem);
}
.article-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    border-bottom: 1px solid var(--l4t-line);
    padding-bottom: 1.4rem;
}
.article-meta-grid span {
    display: block;
    color: var(--l4t-steel);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .72rem;
    font-weight: 900;
    margin-bottom: .25rem;
}
.article-meta-grid strong {
    display: block;
    color: var(--l4t-ink);
    font-size: .98rem;
}
.article-detail-body h2 {
    color: var(--l4t-ink);
    font-size: clamp(2rem, 4.5vw, 3.7rem);
    line-height: 1.02;
    letter-spacing: -.058em;
    font-weight: 900;
    margin: 1.6rem 0 1.2rem;
}
.article-detail-body p {
    color: #43546b;
    font-size: 1.08rem;
    line-height: 1.78;
    max-width: 900px;
}
.article-detail-body .article-content {
    max-width: 900px;
}
.article-detail-body .article-content p,
.article-detail-body .article-content li {
    max-width: 900px;
    margin-bottom: 1.15rem;
    text-align: justify;
    text-justify: inter-word;
}
.article-detail-body .article-content ul {
    max-width: 900px;
    margin: 0 0 1.35rem 1.2rem;
    padding-left: 1.1rem;
    color: #43546b;
    font-size: 1.08rem;
    line-height: 1.78;
}
.article-detail-body .article-content li {
    color: #43546b;
    font-size: 1.08rem;
    line-height: 1.78;
    margin-bottom: .45rem;
}
.article-detail-body .article-content h2,
.article-detail-body .article-content h3 {
    color: var(--l4t-ink);
    font-weight: 900;
    letter-spacing: -.035em;
    margin-top: 2.4rem;
    margin-bottom: 1rem;
}
.article-detail-body .article-content h2 { font-size: clamp(1.7rem, 3vw, 2.45rem); }
.article-detail-body .article-content h3 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
.article-detail-body .article-content em { color: #37465a; }
.article-detail-body .article-content strong { color: var(--l4t-ink); }
.article-detail-body .article-content a {
    color: var(--l4t-link);
    font-weight: 900;
    text-decoration: none;
    border-bottom: 0;
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: 0 100%;
    padding-bottom: .06em;
    transition: color .18s ease, background-size .18s ease;
    text-shadow: none;
}
.article-detail-body .article-content a:hover,
.article-detail-body .article-content a:focus {
    color: var(--l4t-link-hover);
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-size: 100% 2px;
    background-position: 0 100%;
    text-shadow: none;
}
.article-detail-body .article-content .article-pullquote {
    max-width: 940px;
    margin: 2rem 0;
    padding: 1.25rem 1.45rem;
    border-left: 4px solid var(--l4t-teal);
    background: linear-gradient(135deg, rgba(31,95,139,.065), rgba(135,153,173,.055));
    color: #26384d;
    font-size: clamp(1.08rem, 1.35vw, 1.26rem);
    line-height: 1.58;
    font-weight: 700;
    letter-spacing: -.01em;
    text-align: justify;
    text-justify: inter-word;
}
.article-detail-body .article-content .article-pullquote strong,
.article-detail-body .article-content .article-pullquote em {
    color: inherit;
}
.article-inline-image {
    margin: 2rem 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 24px 66px rgba(7,24,39,.10);
    border: 1px solid rgba(16,34,53,.10);
}
.article-inline-image img {
    width: 100%;
    display: block;
}
.article-footnotes {
    margin-top: 2.4rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--l4t-line);
    font-size: .86rem;
    color: var(--l4t-muted);
}
.article-footnotes p {
    font-size: .86rem;
    line-height: 1.62;
    color: var(--l4t-muted);
    text-align: justify;
    text-justify: inter-word;
}
.article-footnotes sup {
    color: var(--l4t-link);
    font-weight: 900;
}
.article-back-link {
    margin-top: 2.2rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--l4t-line);
}
@media (max-width: 991px) {
    .article-meta-grid {
        grid-template-columns: 1fr;
    }
}

/* Header Donate button: visible on the hero, but distinct from the primary active menu state. */
.l4t-navbar .nav-link-donate {
    margin-left: .35rem;
    padding-left: .92rem !important;
    padding-right: .92rem !important;
    color: #fff;
    background: rgba(45,116,168,.58);
    border: 1px solid rgba(255,255,255,.30);
    text-shadow: 0 2px 12px rgba(0,0,0,.34);
    box-shadow: 0 12px 30px rgba(7,24,39,.18), inset 0 1px 0 rgba(255,255,255,.16);
}
.l4t-navbar .nav-link-donate:hover,
.l4t-navbar .nav-link-donate:focus {
    color: #fff;
    background: rgba(45,116,168,.76);
    border-color: rgba(255,255,255,.44);
}
.l4t-navbar .nav-link-donate.active {
    color: #fff;
    background: rgba(45,116,168,.88);
    border-color: rgba(255,255,255,.52);
    text-shadow: none;
}
.l4t-navbar.navbar-scrolled .nav-link-donate,
.l4t-navbar.navbar-open .nav-link-donate {
    color: #0b4d73;
    background: rgba(45,116,168,.12);
    border-color: rgba(45,116,168,.38);
    text-shadow: none;
    box-shadow: none;
}
.l4t-navbar.navbar-scrolled .nav-link-donate:hover,
.l4t-navbar.navbar-open .nav-link-donate:hover,
.l4t-navbar.navbar-scrolled .nav-link-donate:focus,
.l4t-navbar.navbar-open .nav-link-donate:focus {
    color: #073a58;
    background: rgba(45,116,168,.20);
    border-color: rgba(45,116,168,.56);
}
.l4t-navbar.navbar-scrolled .nav-link-donate.active,
.l4t-navbar.navbar-open .nav-link-donate.active {
    color: #fff;
    background: rgba(45,116,168,.82);
    border-color: rgba(45,116,168,.86);
}

/* Hero CTA balance: Join us uses institutional blue and stays visually equal to Learn more. */
.btn-l4t-join {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(45,116,168,.88);
    border: 1px solid rgba(45,116,168,.90);
    box-shadow: 0 14px 30px rgba(45,116,168,.18);
    line-height: 1.5;
}
.btn-l4t-join:hover,
.btn-l4t-join:focus {
    color: #fff;
    background: rgba(28,89,132,.96);
    border-color: rgba(28,89,132,.98);
    box-shadow: 0 16px 34px rgba(28,89,132,.22);
}

/* Donate buttons inside lower CTA/action sections also use the blue CTA treatment. */
.cta-strip a.btn[href$="donate"],
.involved-intro-panel a.btn[href$="donate"],
.involved-action-body a.btn[href$="donate"],
.involved-card a.btn[href$="donate"] {
    color: #fff;
    background: rgba(45,116,168,.88);
    border-color: rgba(45,116,168,.90);
    box-shadow: 0 14px 30px rgba(45,116,168,.16);
}
.cta-strip a.btn[href$="donate"]:hover,
.cta-strip a.btn[href$="donate"]:focus,
.involved-intro-panel a.btn[href$="donate"]:hover,
.involved-intro-panel a.btn[href$="donate"]:focus,
.involved-action-body a.btn[href$="donate"]:hover,
.involved-action-body a.btn[href$="donate"]:focus,
.involved-card a.btn[href$="donate"]:hover,
.involved-card a.btn[href$="donate"]:focus {
    color: #fff;
    background: rgba(28,89,132,.96);
    border-color: rgba(28,89,132,.98);
    box-shadow: 0 16px 34px rgba(28,89,132,.22);
}

@media (max-width: 1380px) and (min-width: 1200px) {
    .l4t-navbar .nav-link-donate {
        margin-left: .2rem;
        padding-left: .66rem !important;
        padding-right: .66rem !important;
    }
}
@media (max-width: 1199px) {
    .nav-item-donate {
        margin-top: .35rem;
    }
    .l4t-navbar .nav-link-donate {
        margin-left: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #0b4d73;
        background: rgba(45,116,168,.12);
        border-color: rgba(45,116,168,.38);
        text-shadow: none;
        box-shadow: none;
    }
    .l4t-navbar .nav-link-donate:hover,
    .l4t-navbar .nav-link-donate:focus {
        color: #073a58;
        background: rgba(45,116,168,.20);
        border-color: rgba(45,116,168,.56);
    }
    .l4t-navbar .nav-link-donate.active {
        color: #fff;
        background: rgba(45,116,168,.82);
        border-color: rgba(45,116,168,.86);
    }
}

/* What we do: these purpose cards are informational, not clickable, so they should not lift on hover. */
.purpose-page-content .purpose-card {
    transition: none;
}
.purpose-page-content .purpose-card:hover {
    transform: none;
    box-shadow: 0 18px 55px rgba(7,24,39,.08);
    border-color: rgba(16,34,53,.12);
}

/* Events page: upcoming placeholder and archive section. */
.events-page-content {
    background: linear-gradient(180deg, #ffffff 0%, #f4f6f9 100%);
}
.events-current-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(16,34,53,.11);
    border-radius: 16px;
    background:
        radial-gradient(circle at 88% 18%, rgba(45,116,168,.16), transparent 34%),
        radial-gradient(circle at 12% 0%, rgba(135,153,173,.14), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f8fbfa 58%, #f1f5f9 100%);
    box-shadow: 0 26px 74px rgba(7,24,39,.10);
}
.events-current-panel:before {
    content: '';
    position: absolute;
    left: clamp(1.2rem, 3vw, 2.2rem);
    right: clamp(1.2rem, 3vw, 2.2rem);
    top: 0;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(135,153,173,0) 0%,
        rgba(135,153,173,.84) 14%,
        rgba(45,116,168,.48) 58%,
        rgba(45,116,168,.18) 82%,
        rgba(45,116,168,0) 100%);
    pointer-events: none;
}
.events-current-inner {
    position: relative;
    z-index: 1;
    min-height: 270px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(2.3rem, 6vw, 4.4rem) clamp(1.4rem, 4vw, 3rem);
}
.events-current-inner h1 {
    margin: .15rem 0 .85rem;
    color: var(--l4t-ink);
    font-size: clamp(2.5rem, 7vw, 5.4rem);
    font-weight: 900;
    letter-spacing: -.065em;
    line-height: .95;
}
.events-current-inner p:last-child {
    max-width: 640px;
    margin: 0;
    color: var(--l4t-muted);
    font-size: clamp(1.04rem, 1.7vw, 1.22rem);
}
.events-past-panel {
    position: relative;
    overflow: hidden;
    margin-top: clamp(1.2rem, 3vw, 2.2rem);
    padding: clamp(1.55rem, 3.6vw, 2.6rem);
    border: 1px solid rgba(16,34,53,.10);
    border-radius: 16px;
    background: linear-gradient(145deg, #ffffff 0%, #f8fbfa 100%);
    box-shadow: 0 24px 68px rgba(7,24,39,.09);
}
.events-past-panel:before {
    content: '';
    position: absolute;
    left: clamp(1.2rem, 3vw, 2.2rem);
    right: clamp(1.2rem, 3vw, 2.2rem);
    top: 0;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(135,153,173,0) 0%,
        rgba(135,153,173,.84) 14%,
        rgba(45,116,168,.48) 58%,
        rgba(45,116,168,.18) 82%,
        rgba(45,116,168,0) 100%);
    pointer-events: none;
}
.events-past-intro {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin-bottom: clamp(1.35rem, 3vw, 2rem);
    padding-bottom: clamp(1.15rem, 2.4vw, 1.55rem);
    border-bottom: 1px solid rgba(16,34,53,.10);
}
.events-past-intro h2 {
    margin: 0 0 .65rem;
    color: var(--l4t-ink);
    font-size: clamp(2rem, 4.2vw, 3.35rem);
    font-weight: 900;
    letter-spacing: -.055em;
    line-height: 1;
}
.events-past-intro p {
    max-width: 640px;
    margin: 0;
    color: var(--l4t-muted);
    font-size: 1.04rem;
    line-height: 1.68;
}
.events-past-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.35rem;
}
.events-past-panel .event-archive-card {
    background: #fff;
    border-color: rgba(16,34,53,.10);
    box-shadow: 0 14px 42px rgba(7,24,39,.07);
}
@media (max-width: 767px) {
    .events-past-panel {
        padding: 1.25rem;
        border-radius: 14px;
    }
    .events-past-intro {
        margin-bottom: 1.2rem;
        padding-bottom: 1rem;
    }
}

/* Get Involved polish: Help us CTA with dark integrated frame and stable Donate hover. */
.involved-page-content .involved-cta-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: #ffffff;
    text-decoration: none;
    border: 1px solid rgba(3,14,25,.82);
    border-left: 4px solid rgba(3,14,25,.96);
    background:
        radial-gradient(circle at 88% 18%, rgba(45,116,168,.30), transparent 34%),
        linear-gradient(135deg, #071524 0%, #09243c 48%, #0d3f63 100%);
    box-shadow:
        0 28px 76px rgba(7,24,39,.20),
        inset 0 1px 0 rgba(255,255,255,.055);
    transform: translateZ(0);
    transition:
        box-shadow .28s ease,
        transform .28s ease,
        border-color .28s ease;
}
.involved-page-content .involved-cta-panel:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(3,14,25,.98) 0%,
        rgba(7,21,36,.90) 45%,
        rgba(7,21,36,.25) 100%);
    opacity: .96;
    pointer-events: none;
    transition: opacity .28s ease, background .28s ease;
}
.involved-page-content .involved-cta-panel:after {
    content: '';
    position: absolute;
    width: 240px;
    height: 240px;
    right: -104px;
    bottom: -140px;

    border: 1px solid rgba(103,176,227,.14);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(103,176,227,.16), rgba(103,176,227,0) 64%);
    opacity: .62;
    pointer-events: none;
    transform: scale(.96);
    transition: opacity .32s ease, transform .32s ease, border-color .32s ease;
}
.involved-page-content .involved-cta-panel > * {
    position: relative;
    z-index: 1;
}
.involved-page-content .involved-cta-panel .section-kicker {
    color: rgba(220,231,242,.78);
    transition: color .24s ease, text-shadow .24s ease;
}
.involved-page-content .involved-cta-panel h1 {
    color: #ffffff;
    transition: color .26s ease, text-shadow .26s ease, transform .26s ease;
}
.involved-page-content .involved-cta-panel .involved-intro-button {
    --bs-btn-color: #071524;
    --bs-btn-bg: #f8fcff;
    --bs-btn-border-color: rgba(218,235,247,.96);
    --bs-btn-hover-color: #071524;
    --bs-btn-hover-bg: #f8fcff;
    --bs-btn-hover-border-color: rgba(218,235,247,.96);

    pointer-events: none;
    color: #071524;
    background: #f8fcff;
    background-image: none;
    border-color: rgba(218,235,247,.96);
    box-shadow:
        0 16px 34px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.78);
    transition:
        color .24s ease,
        background-color .24s ease,
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease;
}
.involved-page-content .involved-cta-panel:hover,
.involved-page-content .involved-cta-panel:focus-visible {
    color: #ffffff;
    border-color: rgba(3,14,25,.92);
    border-left-color: rgba(3,14,25,1);
    box-shadow:
        0 34px 88px rgba(7,24,39,.27),
        0 0 0 1px rgba(103,176,227,.08),
        0 0 42px rgba(103,176,227,.14),
        inset 0 1px 0 rgba(255,255,255,.09);
    transform: translateY(-2px) translateZ(0);
}
.involved-page-content .involved-cta-panel:hover:before,
.involved-page-content .involved-cta-panel:focus-visible:before {
    opacity: 1;
    background: linear-gradient(90deg,
        rgba(3,14,25,1) 0%,
        rgba(7,21,36,.98) 46%,
        rgba(10,35,58,.45) 100%);
}
.involved-page-content .involved-cta-panel:hover:after,
.involved-page-content .involved-cta-panel:focus-visible:after {
    opacity: 1;
    transform: scale(1.06);
    border-color: rgba(103,176,227,.24);
}
.involved-page-content .involved-cta-panel:hover .section-kicker,
.involved-page-content .involved-cta-panel:focus-visible .section-kicker {
    color: rgba(234,246,255,.88);
    text-shadow: 0 0 14px rgba(103,176,227,.18);
}
.involved-page-content .involved-cta-panel:hover h1,
.involved-page-content .involved-cta-panel:focus-visible h1 {
    color: #eaf6ff;
    text-shadow:
        0 0 16px rgba(103,176,227,.36),
        0 0 30px rgba(45,116,168,.22);
    transform: translateX(2px);
}
.involved-page-content .involved-cta-panel:hover .involved-intro-button,
.involved-page-content .involved-cta-panel:focus-visible .involved-intro-button {
    color: #ffffff;
    background: #1689d4;
    background-image: none;
    border-color: rgba(138,218,255,.88);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.12),
        0 0 28px rgba(47,183,255,.42),
        0 18px 40px rgba(12,90,145,.36);
    transform: translateY(-1px);
}

/* Text links inside the Donate card and the three Get Involved cards: bold blue, animated underline, no hover background. */
.page-content.section-soft .accent-card p a:not(.btn),
.involved-page-content .involved-action-body p a:not(.btn),
.page-who .elegant-accordion .accordion-body a:not(.btn) {
    color: var(--l4t-link);
    font-weight: 900;
    text-decoration: none;
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: 0 100%;
    padding-bottom: .06em;
    transition: color .18s ease, background-size .18s ease;
    text-shadow: none;
}
.page-content.section-soft .accent-card p a:not(.btn):hover,
.page-content.section-soft .accent-card p a:not(.btn):focus,
.involved-page-content .involved-action-body p a:not(.btn):hover,
.involved-page-content .involved-action-body p a:not(.btn):focus,
.page-who .elegant-accordion .accordion-body a:not(.btn):hover,
.page-who .elegant-accordion .accordion-body a:not(.btn):focus {
    color: var(--l4t-link-hover);
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-size: 100% 2px;
    background-position: 0 100%;
    text-shadow: none;
}
.page-content.section-soft .accent-card p a:not(.btn):focus-visible,
.involved-page-content .involved-action-body p a:not(.btn):focus-visible,
.page-who .elegant-accordion .accordion-body a:not(.btn):focus-visible {
    outline: 3px solid rgba(0,111,190,.24);
    outline-offset: 3px;
}

/* More breathing room before the action buttons, while keeping the buttons aligned to the card bottoms. */
.involved-page-content .involved-action-body p:last-of-type {
    margin-bottom: clamp(1.35rem, 2.2vw, 1.85rem);
}
.involved-page-content .involved-action-body .involved-action-button {
    margin-top: auto;
}

/* Our People modal/profile cards: scoped final styles moved from our-people.php. */
body .people-page-content .person-photo-trigger {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    outline: none;
}
body .people-page-content .person-photo-card {
    position: relative;
    cursor: pointer;
    transform: translateZ(0);
    will-change: transform, box-shadow, border-color;
    border-color: rgba(16,34,53,.12);
    box-shadow:
        0 18px 42px rgba(7,24,39,.07),
        0 26px 66px rgba(7,24,39,0),
        0 0 0 1px rgba(255,255,255,.72),
        0 0 0 rgba(120,196,255,0),
        0 0 0 rgba(45,116,168,0);
    transition:
        transform .28s cubic-bezier(.22,.61,.36,1),
        box-shadow .56s cubic-bezier(.22,.61,.36,1),
        border-color .38s ease,
        filter .38s ease;
}
body .people-page-content .person-photo-card:hover,
body .people-page-content .person-photo-trigger:focus-visible {
    transform: translateY(-3px) translateZ(0);
    border-color: rgba(65,139,192,.30);
    box-shadow:
        0 18px 42px rgba(7,24,39,.09),
        0 28px 74px rgba(7,24,39,.13),
        0 0 0 1px rgba(255,255,255,.86),
        0 0 42px rgba(120,196,255,.18),
        0 0 92px rgba(45,116,168,.13);
}
body .people-page-content .person-photo {
    position: relative;
}
body .people-page-content .person-photo img {
    object-position: center top;
    transition:
        filter .42s ease,
        transform .42s cubic-bezier(.22,.61,.36,1);
}
body .people-page-content .person-photo:before {
    content: '';
    position: absolute;
    inset: -18% -18% auto -18%;
    height: 78%;
    z-index: 3;
    background: radial-gradient(circle at 50% 0%, rgba(157,215,255,.24), rgba(103,176,227,.10) 38%, rgba(103,176,227,0) 72%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .52s cubic-bezier(.22,.61,.36,1);
}
body .people-page-content .person-photo:after {
    content: '';
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: 0;
    z-index: 4;
    height: 1px;
    opacity: 0;
    background: linear-gradient(90deg, rgba(103,176,227,0), rgba(168,224,255,.70), rgba(103,176,227,0));
    box-shadow: 0 0 20px rgba(103,176,227,.24);
    pointer-events: none;
    transition: opacity .52s cubic-bezier(.22,.61,.36,1);
}
body .people-page-content .person-photo-trigger:hover .person-photo img,
body .people-page-content .person-photo-trigger:focus-visible .person-photo img {
    filter: saturate(1.02) contrast(1.035) brightness(1.015);
}
body .people-page-content .person-photo-trigger:hover .person-photo:before,
body .people-page-content .person-photo-trigger:focus-visible .person-photo:before,
body .people-page-content .person-photo-trigger:hover .person-photo:after,
body .people-page-content .person-photo-trigger:focus-visible .person-photo:after {
    opacity: 1;
}
body .people-page-content .person-photo-trigger:focus-visible {
    border-radius: 12px;
    outline: 3px solid rgba(0,111,190,.20);
    outline-offset: 4px;
}
body .people-modal .modal-dialog {
    max-width: min(1360px, calc(100% - 2rem));
    width: min(1360px, calc(100% - 2rem));
    margin-left: auto;
    margin-right: auto;
}
body .people-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 46px 120px rgba(4,14,24,.44);
    max-height: calc(100vh - 2rem);
}
body .people-modal-shell {
    display: grid;
    grid-template-columns: minmax(390px, 36%) minmax(0, 1fr);
    height: min(820px, calc(100vh - 2rem));
    min-height: 570px;
    max-height: calc(100vh - 2rem);
}
body .people-modal-side {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: clamp(.9rem, 1.5vw, 1.25rem);
    background:
        radial-gradient(circle at 18% 12%, rgba(103,176,227,.25), transparent 34%),
        linear-gradient(145deg, #06121f 0%, #071524 48%, #0b2c48 100%);
}
body .people-modal-side img,
body .people-modal-side .people-modal-image {
    position: relative;
    z-index: 1;
    flex: 0 1 auto;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block;
    margin: auto;
    border-radius: 15px;
    background: rgba(255,255,255,.045);
    box-shadow: 0 24px 62px rgba(0,0,0,.22);
    filter: saturate(.97) contrast(1.02);
}
body .people-modal-side:after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(7,21,36,.02), rgba(7,21,36,.15)),
        linear-gradient(90deg, rgba(7,21,36,.08), rgba(255,255,255,.04) 52%, rgba(7,21,36,.16));
}
body .people-modal-main {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(31,95,139,.12), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}
body .people-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 8;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 50%;
    background-color: rgba(255,255,255,.88);
    box-shadow: 0 12px 32px rgba(7,24,39,.15);
    opacity: 1;
}
body .people-modal-header {
    flex: 0 0 auto;
    padding: clamp(1.55rem, 3.1vw, 2.55rem) clamp(1.75rem, 4vw, 3.15rem) 1.25rem;
    border-bottom: 1px solid rgba(16,34,53,.08);
}
body .people-modal-header .section-kicker {
    margin-bottom: .55rem;
}
body .people-modal-header h2 {
    margin: 0 0 .45rem;
    color: var(--l4t-ink);
    font-size: clamp(2rem, 4.4vw, 4.15rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .95;
}
body .people-modal-role {
    margin: 0;
    color: var(--l4t-muted);
    font-weight: 800;
    font-size: 1.02rem;
}
body .people-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .48rem;
    margin-top: 1.15rem;
}
body .people-profile-tags span {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(31,95,139,.16);
    border-radius: 999px;
    padding: .36rem .66rem;
    color: #0d3f63;
    background: rgba(31,95,139,.08);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .04em;
}
body .people-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: clamp(1.35rem, 2.7vw, 2.25rem) clamp(1.75rem, 4vw, 3.15rem) clamp(1.8rem, 4vw, 3rem);
    scrollbar-width: thin;
    scrollbar-color: rgba(31,95,139,.44) rgba(16,34,53,.06);
}
body .people-modal-body::-webkit-scrollbar { width: 10px; }
body .people-modal-body::-webkit-scrollbar-track { background: rgba(16,34,53,.045); }
body .people-modal-body::-webkit-scrollbar-thumb {
    border: 2px solid rgba(255,255,255,.72);
    border-radius: 999px;
    background: rgba(31,95,139,.40);
}
body .people-quote-card {
    position: relative;
    margin-bottom: 1.65rem;

    padding: 1.35rem 1.45rem 1.28rem;
    border: 1px solid rgba(16,34,53,.10);
    border-left: 4px solid var(--l4t-teal);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(31,95,139,.075), rgba(135,153,173,.055)),
        #fff;
    box-shadow: 0 18px 48px rgba(7,24,39,.07);
}
body .people-quote-card:before {
    content: '"';
    position: absolute;
    top: -.45rem;
    right: 1.15rem;
    color: rgba(31,95,139,.10);
    font-size: 5.8rem;
    line-height: 1;
    font-weight: 900;

    pointer-events: none;
}
body .people-quote-card blockquote {
    position: relative;
    margin: 0 0 .95rem;
    color: #213348;
    font-size: clamp(1.08rem, 1.55vw, 1.32rem);
    line-height: 1.48;
    font-weight: 800;
    letter-spacing: -.018em;
}
body .people-quote-author {
    margin: 0;
    color: var(--l4t-muted);
    font-size: .88rem;
    font-weight: 800;
}
body .people-bio-text p {
    margin: 0 0 1.05rem;
    color: #43546b;
    font-size: 1.01rem;
    line-height: 1.76;
    text-align: justify;
    text-justify: inter-word;
}
body .people-bio-text p:last-child {
    margin-bottom: 0;
}
@media (max-width: 1199px) {
    body .people-modal-shell {
        grid-template-columns: minmax(320px, 34%) minmax(0, 1fr);
    }
}
@media (max-width: 991px) {
    body .people-modal .modal-content {
        max-height: calc(100vh - 1.2rem);
    }
    body .people-modal-shell {
        grid-template-columns: 1fr;
        height: calc(100vh - 1.2rem);
        min-height: 0;
    }
    body .people-modal-side {
        align-items: center;
        height: 295px;
        max-height: 295px;
        min-height: 240px;
    }
    body .people-modal-side img,
    body .people-modal-side .people-modal-image {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        margin: auto;
    }
}
@media (max-width: 575px) {
    body .people-modal .modal-dialog {
        max-width: calc(100% - 1rem);
        width: calc(100% - 1rem);
        margin: .5rem auto;
    }
    body .people-modal .modal-content {
        border-radius: 14px;
    }
    body .people-modal-side {
        height: 235px;
        min-height: 235px;
        max-height: 235px;
        padding: .65rem;
    }
    body .people-modal-side img,
    body .people-modal-side .people-modal-image {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        margin: auto;
    }
    body .people-modal-header {
        padding-right: 3.5rem;
    }
    body .people-profile-tags span {
        font-size: .72rem;
    }
    body .people-bio-text p {
        text-align: left;
    }
}

/* Site-wide editorial alignment pass: justify body copy inside cards/panels without touching headings. */
.intro-statement p,
.feature-card p,
.principles-section .text-white-75,
.prose-card p,
.prose-card li,
.page-card p,
.page-card li,
.dark-panel p,
.principle-statement p,
.purpose-intro-card p,
.work-focus-card p,
.work-focus-card li,
.resources-main-card p,
.resources-side-card p,
.event-archive-card .col-lg-8 > p,
.event-archive-card .col-lg-8 .elegant-list li,
.elegant-accordion .accordion-body {
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
}

/* Events archive: keep the long event title elegant and readable in the left column. */
.events-past-panel .event-archive-card h1 {

    font-size: clamp(1.82rem, 3.25vw, 3rem);
    line-height: 1.02;
}

/* Donor Transparency page: keep the left card aligned and apply the existing Get Involved text-link treatment to the protected email in the main document. */
.donor-charter-side {
    margin-top: 0;
    align-self: flex-start;
}
.legal-document-card .js-email,
.legal-document-card .js-email a,
.legal-document-card a.js-email {
    cursor: pointer;
    color: var(--l4t-link);
    font-weight: 900;
    text-decoration: none;
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-repeat: no-repeat;

    background-size: 0 2px;
    background-position: 0 100%;
    padding-bottom: .06em;
    transition: color .18s ease, background-size .18s ease;
    text-shadow: none;
}
.legal-document-card .js-email:hover,
.legal-document-card .js-email:focus,
.legal-document-card .js-email a:hover,
.legal-document-card .js-email a:focus,
.legal-document-card a.js-email:hover,
.legal-document-card a.js-email:focus {
    color: var(--l4t-link-hover);
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-size: 100% 2px;
    background-position: 0 100%;
    text-shadow: none;
}
.legal-document-card .js-email:focus-visible,
.legal-document-card .js-email a:focus-visible,
.legal-document-card a.js-email:focus-visible {
    outline: 3px solid rgba(0,111,190,.24);
    outline-offset: 3px;
}

/* Events dynamic update: upcoming-event badge in the main menu and full event-card layout for current events. */
.l4t-navbar .nav-link-events-has-upcoming {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
}
.events-nav-alert {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: .98rem;
    height: .98rem;
    margin-left: .26rem;
    transform: translateY(-.42rem);
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #1689d4;
    color: #ffffff;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    box-shadow:
        0 0 0 1px rgba(7,24,39,.16),
        0 0 12px rgba(255,255,255,.46),
        0 0 18px rgba(22,137,212,.32),
        inset 0 1px 0 rgba(255,255,255,.35);
}

.l4t-navbar.navbar-scrolled .events-nav-alert,
.l4t-navbar.navbar-open .events-nav-alert {
    box-shadow:
        0 0 0 2px rgba(22,137,212,.12),
        0 0 16px rgba(47,183,255,.30);
}

.events-upcoming-panel {
    margin-top: 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(45,116,168,.13), transparent 34%),
        linear-gradient(145deg, #ffffff 0%, #f8fbfa 100%);
}
.events-upcoming-intro h2 {
    color: var(--l4t-ink);
}
.events-upcoming-panel .event-upcoming-card {
    border-color: rgba(45,116,168,.18);
    box-shadow: 0 18px 52px rgba(7,24,39,.08);
}
.event-image-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.event-image-grid .event-image {
    height: 100%;
    margin: 0;
}
.event-image-grid .event-image img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
}
.event-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.2rem;
    border-radius: 999px;
    padding: .54rem .82rem;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1;
}
.event-open-note {
    color: #ffffff;
    background: #1689d4;
    border: 1px solid rgba(138,218,255,.70);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.12),
        0 0 24px rgba(47,183,255,.24),
        0 14px 32px rgba(12,90,145,.22);
}
.event-closed-note {
    color: #43546b;
    background: #eef3f8;
    border: 1px solid rgba(16,34,53,.10);
    box-shadow: 0 10px 24px rgba(7,24,39,.06);
}
@media (max-width: 991px) {
    .event-image-grid {
        grid-template-columns: 1fr;
    }
    .event-image-grid .event-image img {
        min-height: 0;
        height: auto;
        object-fit: contain;
    }
}

/* Events final polish: clickable event images, large modal preview, Registration CTA and raised menu alert. */
.l4t-navbar .nav-link-events-has-upcoming {
    gap: .26rem;
}
.events-nav-alert {
    width: 1.16rem;
    height: 1.16rem;
    margin-left: .02rem;
    font-size: .78rem;
    transform: translateY(-.48rem);
}
.event-image-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
    cursor: zoom-in;
    overflow: hidden;
}

.event-image-link:hover,
.event-image-link:focus {
    color: inherit;
    text-decoration: none;
}
.event-image-link:focus-visible {
    outline: 3px solid rgba(0,111,190,.24);
    outline-offset: -6px;
}
.event-image-link img {
    transition: transform .38s cubic-bezier(.22,.61,.36,1), filter .38s ease;
}
.event-image-link:hover img,
.event-image-link:focus img {
    transform: scale(1.018);
    filter: saturate(1.03) contrast(1.02) brightness(1.01);
}
.event-registration-button {
    margin-top: 1.2rem;
}
.event-image-modal .modal-dialog {
    width: min(1440px, calc(100% - 2rem));
    max-width: min(1440px, calc(100% - 2rem));
}
.event-image-modal-content {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background:
        radial-gradient(circle at 15% 0%, rgba(103,176,227,.22), transparent 34%),
        linear-gradient(145deg, #06121f 0%, #071524 48%, #0b2c48 100%);
    box-shadow: 0 46px 120px rgba(4,14,24,.46);
}
.event-image-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 5;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 50%;
    background-color: rgba(7,21,36,.58);
    box-shadow: 0 12px 32px rgba(0,0,0,.24);
    opacity: 1;
}
.event-image-modal-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(760px, calc(100vh - 4rem));
    padding: clamp(.85rem, 2vw, 1.5rem);
}
.event-image-modal-body img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - 5.5rem);
    object-fit: contain;
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
@media (max-width: 575px) {
    .events-nav-alert {
        transform: translateY(-.34rem);
    }
    .event-image-modal .modal-dialog {
        width: calc(100% - 1rem);
        max-width: calc(100% - 1rem);
    }
    .event-image-modal-content {
        border-radius: 14px;
    }
    .event-image-modal-body {
        min-height: 0;
        padding: .65rem;
    }
    .event-image-modal-body img {
        border-radius: 10px;
        max-height: calc(100vh - 4rem);
    }
}

/* Events modal repair: render above the backdrop and keep the image bright, clean and closable. */
.event-image-modal {
    z-index: 1085;
}
.event-image-modal .modal-dialog {
    width: min(1440px, calc(100% - 2rem));
    max-width: min(1440px, calc(100% - 2rem));
}
.event-image-modal-content {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 46px 120px rgba(4,14,24,.46);
}
.event-image-modal-close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    z-index: 20;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: rgba(255,255,255,.96);
    box-shadow: 0 12px 32px rgba(7,24,39,.22);
    opacity: 1;
    filter: none;
}
.event-image-modal-close:hover,
.event-image-modal-close:focus {
    opacity: 1;
    background-color: #ffffff;
    box-shadow: 0 14px 36px rgba(7,24,39,.28);
}
.event-image-modal-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(760px, calc(100vh - 4rem));
    padding: clamp(.85rem, 2vw, 1.5rem);
    background: #ffffff;
}
.event-image-modal-body img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - 5.5rem);
    object-fit: contain;
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(7,24,39,.18);
    filter: none !important;
    opacity: 1 !important;
}
@media (max-width: 575px) {
    .event-image-modal .modal-dialog {
        width: calc(100% - 1rem);
        max-width: calc(100% - 1rem);
    }
    .event-image-modal-content {
        border-radius: 14px;
    }
    .event-image-modal-body {
        min-height: 0;
        padding: .65rem;
    }
    .event-image-modal-body img {
        border-radius: 10px;

        max-height: calc(100vh - 4rem);
    }
    .event-image-modal-close {
        top: .65rem;
        right: .65rem;
        width: 2.25rem;
        height: 2.25rem;
    }
}

/* Mobile navigation repair: keep Events clickable across the full collapsed menu row. */
@media (max-width: 1199px) {
    .l4t-navbar .navbar-nav {
        width: 100%;
        align-items: stretch !important;
    }

    .l4t-navbar .nav-item {
        width: 100%;
    }

    .l4t-navbar .nav-link {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .l4t-navbar .nav-link-events-has-upcoming {
        justify-content: flex-start;
    }

    .l4t-navbar .nav-link-events-has-upcoming .nav-label,
    .l4t-navbar .nav-link-events-has-upcoming .events-nav-alert {
        flex: 0 0 auto;
    }
}

/* Requested June update: larger menu text, cleaner landing-card copy, targeted image treatment and 7-member board layout. */
.section-intro .feature-card p {
    text-align: left;
    text-justify: auto;
    hyphens: none;
}
.purpose-image-flip-horizontal img {
    transform: scaleX(-1);
}
.purpose-image-contain {
    background: #e7edf4;
}
.purpose-image-contain:after {
    background: linear-gradient(180deg, rgba(7,24,39,0), rgba(7,24,39,.10));
}
.purpose-image-contain img {
    object-fit: contain;
    object-position: center center;
    background: #e7edf4;
}
body .people-page-content .board-photo-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 1.2rem;
}
body .people-page-content .board-photo-grid .person-photo-card {
    flex: 0 1 calc((100% - 3.6rem) / 4);
    max-width: calc((100% - 3.6rem) / 4);
}
@media (max-width: 991px) {
    body .people-page-content .board-photo-grid .person-photo-card {
        flex-basis: calc((100% - 2.4rem) / 3);
        max-width: calc((100% - 2.4rem) / 3);
    }
}
@media (max-width: 767px) {
    body .people-page-content .board-photo-grid .person-photo-card {
        flex-basis: calc((100% - 1.2rem) / 2);
        max-width: calc((100% - 1.2rem) / 2);
    }
}
@media (max-width: 575px) {
    body .people-page-content .board-photo-grid .person-photo-card {
        flex-basis: 100%;
        max-width: 100%;
    }
}
.person-photo-placeholder,
.people-modal-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(120,196,255,.22), transparent 38%),
        linear-gradient(145deg, #071524 0%, #0d2d49 100%);
    color: #fff;
}
.person-photo-placeholder span,
.people-modal-placeholder span {
    width: 5.2rem;
    height: 5.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    box-shadow: 0 22px 52px rgba(0,0,0,.22);
    font-size: 1.7rem;
    font-weight: 900;
    letter-spacing: .03em;
}
.people-modal-placeholder {
    min-height: 100%;
}
@media (max-width: 575px) {
    .section-intro .feature-card p {
        text-align: left;
    }
}

/* Cookie notice: fixed bottom consent panel, intentionally scoped to avoid changing other site elements. */
.cookie-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1080;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(7,21,36,0), rgba(7,21,36,.30));
}
.cookie-consent[hidden] { display: none !important; }
.cookie-consent-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    color: rgba(255,255,255,.88);
    background: rgba(7,21,36,.96);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(0,0,0,.34);
    backdrop-filter: blur(16px);
}
.cookie-consent p {
    margin: 0;
    font-size: .94rem;
    line-height: 1.55;
}
.cookie-consent a {
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 2px;
}
.cookie-consent a:hover,
.cookie-consent a:focus {
    color: rgba(255,255,255,.86);
}
.cookie-consent-button {
    flex: 0 0 auto;
    padding: .62rem 1.05rem;
    box-shadow: 0 12px 28px rgba(31,95,139,.28);
}
@media (max-width: 767px) {
    .cookie-consent { padding: .75rem; }
    .cookie-consent-inner {
        align-items: stretch;
        flex-direction: column;
        border-radius: 12px;
    }
    .cookie-consent-button { width: 100%; }
}

/* Utility styles moved out of PHP templates. */
.simple-page-body {
    background: #f6f8f8;
}
.simple-page-logo {
    max-width: 240px;
}
.l4t-honeypot-field {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.mail-probe-body {
    font-family: Arial, sans-serif;
    line-height: 1.5;
}

/* Requested card text alignment: these cards are intentionally left-aligned, not justified. */
.principle-box,
.principle-box p,
.principle-elegant-card,
.principle-elegant-card p,
.purpose-card,
.purpose-card p,
.purpose-body p,
.resource-feature-body,
.resource-feature-body p {
    text-align: left;
    text-justify: auto;
}

/* Styles moved from PHP templates into the central stylesheet. */

/* From an-analysis-of-political-financial-disclosure.php */
/* Publication detail styles. */
.pft-page {
    --pft-paper: #f7fafc;
    --pft-paper-2: #e9f3f8;
    --pft-border: rgba(11, 61, 91, .14);
    --pft-navy: #040817;
    --pft-blue: #2e9fd2;
    --pft-blue-dark: #075c87;
    --pft-text: #102a3f;
    --pft-muted: #60758a;
    --pft-red: #bd1f2d;
    --pft-green: #253f3f;
    --pft-gold: #f6cc55;
}

.pft-page .article-detail-card,
.pft-page .publication-detail-card,
.pft-page .article-detail-body,
.pft-page .article-content,
.pft-page .publication-rich-content {
    width: 100%;
    max-width: none !important;
}

.pft-page .article-detail-body {
    padding-left: clamp(1.25rem, 3vw, 3.2rem);
    padding-right: clamp(1.25rem, 3vw, 3.2rem);
}

.pft-page .article-detail-body p,
.pft-page .article-detail-body li,
.pft-page .publication-summary-box p,
.pft-page .pft-intro-panel p {
    max-width: none !important;
}

.pft-page p,
.pft-page li,
.pft-page a {
    hyphens: none;
    word-break: normal;
}

.pft-overview {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto;
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: center;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(46, 159, 210, .18), transparent 35%),
        linear-gradient(135deg, #fff 0%, var(--pft-paper) 55%, var(--pft-paper-2) 100%);
    border: 1px solid var(--pft-border);
    box-shadow: 0 24px 55px rgba(11, 61, 91, .12);
}

.pft-overview-image {
    overflow: hidden;
    border-radius: 22px;
    min-height: 170px;
    box-shadow: 0 18px 38px rgba(4, 8, 23, .18);
}

.pft-overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}

.pft-overview-meta span,
.pft-section-kicker,
.pft-bibliography span,
.pft-modal-label {
    display: inline-flex;
    align-items: center;
    margin-bottom: .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    color: var(--pft-blue-dark);
    background: rgba(46, 159, 210, .12);
    border: 1px solid rgba(46, 159, 210, .2);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pft-overview-meta strong {
    display: block;
    max-width: 880px;
    color: var(--pft-navy);
    font-size: clamp(1.35rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.pft-overview .feature-button {
    white-space: nowrap;
    align-self: end;
}

.pft-intro-panel,
.pft-callout-panel {
    margin: 0 0 1.65rem;
    padding: clamp(1.15rem, 2.1vw, 1.65rem);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(46, 159, 210, .08), rgba(255,255,255,.96));
    border: 1px solid rgba(46, 159, 210, .18);
}

.pft-intro-panel p,
.pft-callout-panel p {
    margin: 0 0 1rem;
    color: var(--pft-text);
    font-size: 1rem;
    line-height: 1.62;
    text-align: justify;
}

.pft-intro-panel p:last-child,
.pft-callout-panel p:last-child {
    margin-bottom: 0;
}

.pft-page .article-content a.feature-button,
.pft-table-actions a.feature-button,
.pft-bibliography a.feature-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 128px;
    border: 1px solid rgba(31,95,139,.22);
    border-radius: 10px;
    padding: .62rem 1.05rem;
    color: var(--l4t-teal);
    background: rgba(255,255,255,.66);
    background-image: none;
    font-weight: 900;
    text-decoration: none;
    text-align: left;
    line-height: 1.35;
    text-shadow: none;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.pft-page .article-content a.feature-button:hover,
.pft-page .article-content a.feature-button:focus,
.pft-table-actions a.feature-button:hover,
.pft-table-actions a.feature-button:focus,
.pft-bibliography a.feature-button:hover,
.pft-bibliography a.feature-button:focus {
    color: #fff;
    background: var(--l4t-teal);
    background-image: none;
    border-color: var(--l4t-teal);
    text-shadow: none;
}

.pft-page .article-content a:not(.feature-button):not(.pft-open-document),
.pft-page .pft-chart-card figcaption a,
.pft-page .pft-bibliography a:not(.pft-open-document) {
    color: var(--pft-blue-dark);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
}

.pft-page .article-content a:not(.feature-button):not(.pft-open-document):hover,
.pft-page .article-content a:not(.feature-button):not(.pft-open-document):focus,
.pft-page .pft-chart-card figcaption a:hover,
.pft-page .pft-chart-card figcaption a:focus,
.pft-page .pft-bibliography a:not(.pft-open-document):hover,
.pft-page .pft-bibliography a:not(.pft-open-document):focus {
    color: var(--pft-navy);
}

.pft-section-card {
    position: relative;
    margin: 1.2rem 0;
    padding: clamp(1.35rem, 2.4vw, 2.2rem);
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f5f9fc 100%);
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 22px 48px rgba(11, 61, 91, .10);
    overflow: hidden;
}

.pft-section-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, rgba(46,159,210,.12), rgba(46,159,210,.86), rgba(46,159,210,.12));
}

.pft-section-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: .85rem;
}

.pft-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, var(--pft-navy), #0b2c45);
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(4, 8, 23, .24);
}

.pft-section-card h3,
.pft-bibliography h3 {
    margin: 0;
    color: var(--pft-navy);
    font-size: clamp(1.24rem, 1.75vw, 1.85rem);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.pft-section-card p,
.pft-section-card li {
    color: var(--pft-text);
    font-size: 1rem;
    line-height: 1.58;
}

.pft-section-card p {
    margin: 0 0 .78rem;
    text-align: justify;
}

.pft-section-card p:last-child {
    margin-bottom: 0;
}

.pft-section-card ul,
.pft-section-card ol {
    margin: .7rem 0 .9rem;
    padding-left: 1.25rem;
}

.pft-two-pillars,
.pft-deficiency-grid,
.pft-action-grid,
.pft-score-grid {
    display: grid;
    gap: 1rem;
    margin-top: 1.1rem;
}

.pft-two-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pft-deficiency-grid,
.pft-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pft-score-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pft-mini-card,
.pft-score-card {
    padding: 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 14px 28px rgba(11, 61, 91, .08);
}

.pft-mini-card strong,
.pft-score-card strong {
    display: block;
    margin-bottom: .35rem;
    color: var(--pft-navy);
    line-height: 1.2;
}

.pft-mini-card p,
.pft-score-card p {
    margin: 0;
    color: var(--pft-text);
    font-size: .95rem;
    line-height: 1.48;
    text-align: left;
}

.pft-score-card strong {
    color: var(--pft-blue-dark);
    font-size: clamp(1.5rem, 2.8vw, 2.45rem);
    letter-spacing: -.04em;
}

.pft-chart-card {
    margin-top: 1.25rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 20px 44px rgba(11, 61, 91, .10);
}

.pft-chart-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    border: 1px solid rgba(11, 61, 91, .08);
}

.pft-chart-card figcaption {
    margin-top: .8rem;
    color: var(--pft-muted);
    font-size: .92rem;
    line-height: 1.45;
}

.pft-table-launch {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-top: 1.15rem;
    padding: 1rem;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(46,159,210,.10), rgba(255,255,255,.92));
    border: 1px solid rgba(46,159,210,.18);
}

.pft-table-launch strong {
    display: block;
    margin-bottom: .25rem;
    color: var(--pft-navy);
}

.pft-table-launch p {
    margin: 0;
    color: var(--pft-text);
    text-align: left;
}

.pft-table-actions {
    display: flex;
    gap: .65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.pft-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.pft-modal:target {
    display: block;
}

.pft-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 8, 23, .72);
    backdrop-filter: blur(4px);
}

.pft-modal-panel {
    position: relative;
    width: min(1180px, calc(100% - 2rem));
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 35px 90px rgba(0,0,0,.38);
    border: 1px solid rgba(255,255,255,.42);
}

.pft-modal-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.1rem 1.25rem;
    background: linear-gradient(135deg, #f7fafc, #e7f2f8);
    border-bottom: 1px solid rgba(11, 61, 91, .12);
}

.pft-modal-head h3 {
    margin: 0;
    color: var(--pft-navy);
    font-size: clamp(1.08rem, 1.6vw, 1.55rem);
    line-height: 1.16;
}

.pft-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: .42rem .8rem;
    border-radius: 999px;
    color: #fff;
    background: var(--pft-navy);
    text-decoration: none;
    font-weight: 900;
}

.pft-table-scroll {
    max-height: calc(100vh - 8rem);
    overflow: auto;
    padding: 1rem;
}

.pft-data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 860px;
    color: var(--pft-text);
    font-size: .92rem;
}

.pft-data-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: .85rem;
    color: #fff;
    background: linear-gradient(135deg, var(--pft-navy), #0b2c45);
    border-right: 1px solid rgba(255,255,255,.16);
    text-align: left;
    vertical-align: top;
}

.pft-data-table td {
    padding: .85rem;
    border-right: 1px solid rgba(11, 61, 91, .10);
    border-bottom: 1px solid rgba(11, 61, 91, .10);
    vertical-align: top;
    background: #fff;
}

.pft-data-table tr:nth-child(even) td {
    background: #f7fafc;
}

.pft-data-table p,
.pft-data-table li {
    margin: 0 0 .55rem;
    font-size: .9rem;
    line-height: 1.42;
    text-align: left;
}

.pft-data-table p:last-child,
.pft-data-table li:last-child {
    margin-bottom: 0;
}

.pft-data-table ul {
    margin: .45rem 0 .6rem;
    padding-left: 1.1rem;
}

.pft-de-jure-table th:first-child,
.pft-de-jure-table td:first-child {
    width: 34%;
}

.pft-de-facto-table th:first-child,
.pft-de-facto-table td:first-child {
    width: 16%;
}

.pft-de-facto-table th:nth-child(2),
.pft-de-facto-table td:nth-child(2) {
    width: 30%;
}

.pft-bibliography {
    margin-top: 1.6rem;
    padding: clamp(1.25rem, 2.4vw, 2.1rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 15% 0%, rgba(255,255,255,.38), transparent 32%),
        linear-gradient(135deg, #d9edf7 0%, #bddfec 100%);
    border: 1px solid rgba(11, 61, 91, .10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 24px 60px rgba(11, 61, 91, .10);
}

.pft-bibliography h3 {
    margin: 0 0 1rem;
    font-size: clamp(1.35rem, 1.8vw, 2rem);
}

.pft-bibliography ol {
    display: grid;
    gap: .7rem;
    margin: 0;
    padding-left: 1.2rem;
}

.pft-bibliography li {
    color: var(--pft-text);
    line-height: 1.48;
}

@media (max-width: 1199.98px) {
    .pft-overview {
        grid-template-columns: minmax(190px, 270px) minmax(0, 1fr);
    }

    .pft-overview .feature-button {
        grid-column: 2;
        justify-self: start;
        align-self: start;
    }

    .pft-score-grid,
    .pft-deficiency-grid,
    .pft-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .pft-overview,
    .pft-table-launch,
    .pft-two-pillars,
    .pft-score-grid,
    .pft-deficiency-grid,
    .pft-action-grid {
        grid-template-columns: 1fr;
    }

    .pft-overview .feature-button {
        grid-column: auto;
    }

    .pft-overview-image,
    .pft-overview-image img {
        min-height: 210px;
    }

    .pft-table-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .pft-page .article-detail-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .pft-overview {
        padding: .9rem;
        border-radius: 24px;
    }

    .pft-section-card,
    .pft-bibliography {
        border-radius: 22px;
    }

    .pft-section-header {
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .pft-modal-panel {
        width: calc(100% - .75rem);
        margin: .375rem auto;
        max-height: calc(100vh - .75rem);
        border-radius: 18px;
    }

    .pft-modal-head {
        grid-template-columns: 1fr;
    }

    .pft-table-scroll {
        max-height: calc(100vh - 10rem);
        padding: .65rem;
    }
}

/* L4T PFTI final visual corrections - generated update */
.pft-page .pft-section-header {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: center !important;
    margin-bottom: 1.15rem !important;
}

.pft-page .pft-section-number {
    align-self: center !important;
    transform: translateY(0) !important;
    line-height: 1 !important;
}

.pft-page .pft-section-card h3 {
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-0.08rem) !important;
    line-height: 1.05 !important;
}

.pft-page .pft-two-pillars,
.pft-page .pft-deficiency-grid,
.pft-page .pft-action-grid,
.pft-page .pft-score-grid {
    margin-top: 1.15rem !important;
    margin-bottom: 2rem !important;
}

.pft-page .pft-table-actions a.feature-button {
    justify-content: center !important;
    color: #fff !important;
    background: var(--pft-blue-dark) !important;
    background-image: none !important;
    border-color: var(--pft-blue-dark) !important;
    box-shadow: 0 12px 26px rgba(7, 92, 135, .22) !important;
    text-align: center !important;
}

.pft-page .pft-table-actions a.feature-button:hover,
.pft-page .pft-table-actions a.feature-button:focus {
    color: #fff !important;
    background: var(--pft-navy) !important;
    border-color: var(--pft-navy) !important;
    box-shadow: 0 16px 32px rgba(4, 8, 23, .26) !important;
}

.pft-page .pft-score-card,
.pft-page .pft-score-card strong,
.pft-page .pft-score-card p {
    text-align: left !important;
}

.pft-page .pft-modal-panel {
    display: flex !important;
    flex-direction: column !important;
    max-height: calc(100vh - 2rem) !important;
    max-height: calc(100dvh - 2rem) !important;
    overflow: hidden !important;
}

.pft-page .pft-modal-head {
    position: relative !important;
    z-index: 100 !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 1rem !important;
    align-items: center !important;
    padding: .9rem 1.25rem !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--pft-navy), #0b2c45) !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

.pft-page .pft-modal-head,
.pft-page .pft-modal-head *,
.pft-page .pft-modal-head h3,
.pft-page .pft-modal-head h3[id] {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.pft-page .pft-modal-head h3,
.pft-page .pft-modal-head h3[id] {
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    line-height: 1.12 !important;
}

.pft-page .pft-modal-head .pft-modal-label {
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.32) !important;
}

.pft-page .pft-modal-close,
.pft-page .pft-modal-close:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 4.7rem !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    padding: 0 .95rem !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: var(--pft-blue-dark) !important;
    border: 0 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    font-size: .95rem !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

.pft-page .pft-modal-close:hover,
.pft-page .pft-modal-close:focus {
    color: #fff !important;
    background: var(--pft-blue) !important;
    text-decoration: none !important;
}

.pft-page .pft-table-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
    padding: 1rem 1rem 3rem !important;
    scroll-padding-top: 3.2rem !important;
    scroll-padding-bottom: 3rem !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.pft-page .pft-data-table {
    margin-bottom: 1.75rem !important;
    border-left: 1px solid rgba(11, 61, 91, .10) !important;
}

.pft-page .pft-data-table th:first-child,
.pft-page .pft-data-table td:first-child {
    border-left: 1px solid rgba(11, 61, 91, .10) !important;
}

.pft-page .pft-data-table thead,
.pft-page .pft-data-table th {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
}

.pft-page .pft-data-table th,
.pft-page .pft-data-table th *,
.pft-page .pft-data-table thead p {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.pft-page .pft-data-table th {
    background: linear-gradient(135deg, var(--pft-navy), #0b2c45) !important;
    box-shadow: 0 -1rem 0 #fff, 0 2px 0 rgba(11, 61, 91, .16) !important;
}

@media (max-width: 575.98px) {
    .pft-page .pft-section-header {
        grid-template-columns: 1fr !important;
        gap: .65rem !important;
        align-items: start !important;
    }

    .pft-page .pft-section-card h3 {
        transform: none !important;
    }

    .pft-page .pft-modal-panel {
        max-height: calc(100vh - .75rem) !important;
        max-height: calc(100dvh - .75rem) !important;
    }

    .pft-page .pft-modal-head {
        grid-template-columns: 1fr !important;
    }

    .pft-page .pft-table-scroll {
        padding: .8rem .65rem 2.75rem !important;
    }
}
/* End L4T PFTI final visual corrections */
.pft-bibliography .pft-bibliography-entry {
                                margin: 0 0 1.05rem;
                                padding-bottom: .95rem;
                                border-bottom: 1px solid rgba(11, 61, 91, .12);
                                color: var(--pft-text);
                                line-height: 1.48;
                            }

                            .pft-bibliography .pft-bibliography-entry:last-child {
                                margin-bottom: 0;
                                padding-bottom: 0;
                                border-bottom: 0;
                            }

                            .pft-bibliography .pft-bibliography-entry p {
                                margin: 0;
                                color: var(--pft-text);
                                line-height: 1.48;
                            }

                            .pft-page .article-content .pft-bibliography a.pft-open-document,
                            .pft-page .pft-bibliography a.pft-open-document,
                            .pft-bibliography a.pft-open-document {
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                gap: .42rem;
                                width: auto;
                                min-width: 0;
                                margin-top: .52rem;
                                padding: .36rem .74rem;
                                border: 1px solid rgba(7, 92, 135, .28);
                                border-radius: 999px;
                                color: #075c87;
                                background: #ffffff;
                                background-image: none;
                                box-shadow: 0 7px 16px rgba(11, 61, 91, .07);
                                font-weight: 900;
                                font-size: .78rem;
                                letter-spacing: .01em;
                                line-height: 1.12;
                                text-decoration: none;
                                text-shadow: none;
                                transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
                            }

                            .pft-page .article-content .pft-bibliography a.pft-open-document:hover,
                            .pft-page .article-content .pft-bibliography a.pft-open-document:focus,
                            .pft-page .pft-bibliography a.pft-open-document:hover,
                            .pft-page .pft-bibliography a.pft-open-document:focus,
                            .pft-bibliography a.pft-open-document:hover,
                            .pft-bibliography a.pft-open-document:focus {
                                color: #ffffff;
                                background: #075c87;
                                background-color: #075c87;
                                background-image: none;
                                border-color: #075c87;
                                box-shadow: 0 10px 22px rgba(7, 92, 135, .22);
                                text-decoration: none;
                                transform: translateY(-1px);
                            }

                            .pft-page .article-content .pft-bibliography a.pft-open-document:focus-visible,
                            .pft-page .pft-bibliography a.pft-open-document:focus-visible,
                            .pft-bibliography a.pft-open-document:focus-visible {
                                outline: 3px solid rgba(46, 159, 210, .24);
                                outline-offset: 3px;
                            }

                            .pft-bibliography .pft-open-document-icon {
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                width: 1rem;
                                height: 1rem;
                                border-radius: 50%;
                                color: inherit;
                                background: rgba(7, 92, 135, .10);
                                font-size: .64rem;
                                line-height: 1;
                                transition: background-color .18s ease;
                            }

                            .pft-bibliography a.pft-open-document:hover .pft-open-document-icon,
                            .pft-bibliography a.pft-open-document:focus .pft-open-document-icon {
                                background: rgba(255, 255, 255, .18);
                            }

/* From early-anti-corruption-law-civil-service-ethics-in-luxembourg.php */
/* Early anti-corruption publication: use the same full-width publication distribution as the evolving AML/CFT page. */
.early-anti-page {
    --early-paper: #f5f9fc;
    --early-paper-2: #e8f2f8;
    --early-border: rgba(11, 61, 91, .14);
    --early-navy: #040817;
    --early-blue: #2e9fd2;
}

.early-anti-page .article-detail-card,
.early-anti-page .publication-detail-card,
.early-anti-page .article-detail-body,
.early-anti-page .article-content,
.early-anti-page .publication-rich-content {
    width: 100%;
    max-width: none !important;
}

.early-anti-page .article-detail-body {
    padding-left: clamp(1.25rem, 3vw, 3.2rem);
    padding-right: clamp(1.25rem, 3vw, 3.2rem);
}

.early-anti-page .article-detail-body > h2,
.early-anti-page .publication-summary-box,
.early-anti-page .article-content > div,
.early-anti-page .publication-rich-content > div,
.early-anti-page .ed-headline,
.early-anti-page .ed-text,
.early-anti-page .ed-text p,
.early-anti-page .ed-headline h3 {
    width: 100%;
    max-width: none !important;
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

.early-anti-page .publication-summary-box {
    margin-right: 0;
}

.early-anti-page .publication-summary-box p,
.early-anti-page .publication-rich-content .ed-text p {
    text-align: justify;
}

.early-anti-page .publication-rich-content .ed-headline {
    margin-top: 1.85rem;
}

.early-anti-page .publication-rich-content .ed-headline:first-child {
    margin-top: 0;
}

.early-publication-overview {
    display: grid;
    grid-template-columns: minmax(210px, 310px) minmax(0, 1fr) auto;
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: center;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(46, 159, 210, .18), transparent 35%),
        linear-gradient(135deg, #fff 0%, var(--early-paper) 55%, var(--early-paper-2) 100%);
    border: 1px solid var(--early-border);
    box-shadow: 0 24px 55px rgba(11, 61, 91, .12);
}

.early-overview-image {
    overflow: hidden;
    border-radius: 22px;
    min-height: 150px;
    box-shadow: 0 18px 38px rgba(4, 8, 23, .18);
}

.early-overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}

.early-overview-meta span {
    display: inline-flex;
    align-items: center;
    margin-bottom: .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    color: #075c87;
    background: rgba(46, 159, 210, .12);
    border: 1px solid rgba(46, 159, 210, .2);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.early-overview-meta strong {
    display: block;
    max-width: 780px;
    color: var(--early-navy);
    font-size: clamp(1.35rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.early-publication-overview .feature-button {
    white-space: nowrap;
    align-self: end;
}

@media (max-width: 1199.98px) {
    .early-publication-overview {
        grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
    }

    .early-publication-overview .feature-button {
        grid-column: 2;
        justify-self: start;
        align-self: start;
    }
}

@media (max-width: 991.98px) {
    .early-publication-overview {
        grid-template-columns: 1fr;
        border-radius: 24px;
    }

    .early-publication-overview .feature-button {
        grid-column: auto;
    }

    .early-overview-image,
    .early-overview-image img {
        min-height: 210px;
    }
}

@media (max-width: 575.98px) {
    .early-anti-page .article-detail-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .early-publication-overview {
        padding: .9rem;
    }
}

/* From evolving-architecture-anti-money-laundering-combating-the-financing-of-terrorism.php */
/* AML/CFT publication: page-specific layout and timeline styling. */
.aml-evolution-page {
    --aml-paper: #f5f9fc;
    --aml-paper-2: #e8f2f8;
    --aml-border: rgba(11, 61, 91, .14);
    --aml-line: rgba(255, 255, 255, .86);
    --aml-navy: #040817;
    --aml-navy-2: #07152a;
    --aml-blue: #2e9fd2;
    --aml-blue-soft: #bfe7f8;
    --aml-text: #102a3f;
}

.aml-evolution-page .article-detail-card,
.aml-evolution-page .publication-detail-card,
.aml-evolution-page .article-detail-body,
.aml-evolution-page .article-content,
.aml-evolution-page .publication-rich-content {
    width: 100%;
    max-width: none !important;
}

.aml-evolution-page .article-detail-body {
    padding-left: clamp(1.25rem, 3vw, 3.2rem);
    padding-right: clamp(1.25rem, 3vw, 3.2rem);
}

.aml-evolution-page .article-detail-body > h2,
.aml-evolution-page .publication-summary-box,
.aml-evolution-page .article-content > div,
.aml-evolution-page .publication-rich-content > div,
.aml-evolution-page .ed-text {
    width: 100%;
    max-width: none !important;
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

.aml-evolution-page .article-detail-body > h2 {
    max-width: none !important;
}

.aml-evolution-page .publication-summary-box {
    margin-right: 0;
}

.aml-evolution-page .publication-rich-content > div > div > div > div > .ed-text p {
    max-width: none !important;
}

/* Keep the text blocks above and below the timeline at the full available content width. */
.aml-evolution-page .publication-rich-content > div,
.aml-evolution-page .publication-rich-content > div > div,
.aml-evolution-page .publication-rich-content > div > div > div,
.aml-evolution-page .publication-rich-content > div > div > div > div,
.aml-evolution-page .publication-rich-content > div > div > div > div > div,
.aml-evolution-page .publication-rich-content > div > div > div > div > div > div,
.aml-evolution-page .publication-rich-content .accordion,
.aml-evolution-page .publication-rich-content .accordion > div,
.aml-evolution-page .publication-rich-content .ed-headline,
.aml-evolution-page .publication-rich-content .accordion-content,
.aml-evolution-page .publication-rich-content .accordion-content > div,
.aml-evolution-page .publication-rich-content .accordion-content > div > div {
    width: 100%;
    max-width: none !important;
}

.aml-evolution-page .publication-summary-box p,
.aml-evolution-page .publication-rich-content > div > div:first-child .ed-text,
.aml-evolution-page .publication-rich-content > div > div:first-child .ed-text p,
.aml-evolution-page .publication-rich-content > div > div:last-child .ed-text,
.aml-evolution-page .publication-rich-content > div > div:last-child .ed-text p,
.aml-evolution-page .publication-rich-content .accordion-content p,
.aml-evolution-page .publication-rich-content .ed-headline h3 {
    width: 100%;
    max-width: none !important;
}

.aml-evolution-page .publication-summary-box p,
.aml-evolution-page .publication-rich-content > div > div:first-child .ed-text p,
.aml-evolution-page .publication-rich-content > div > div:last-child .ed-text p,
.aml-evolution-page .publication-rich-content .accordion-content p {
    text-align: justify;
}

.aml-publication-overview {
    display: grid;
    grid-template-columns: minmax(210px, 310px) minmax(0, 1fr) auto;
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: center;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(46, 159, 210, .18), transparent 35%),
        linear-gradient(135deg, #fff 0%, var(--aml-paper) 55%, var(--aml-paper-2) 100%);
    border: 1px solid var(--aml-border);
    box-shadow: 0 24px 55px rgba(11, 61, 91, .12);
}

.aml-overview-image {
    overflow: hidden;
    border-radius: 22px;
    min-height: 150px;
    box-shadow: 0 18px 38px rgba(4, 8, 23, .18);
}

.aml-overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}

.aml-overview-meta span {
    display: inline-flex;
    align-items: center;
    margin-bottom: .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    color: #075c87;
    background: rgba(46, 159, 210, .12);
    border: 1px solid rgba(46, 159, 210, .2);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aml-overview-meta strong {
    display: block;
    max-width: 780px;
    color: var(--aml-navy);
    font-size: clamp(1.35rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.aml-publication-overview .feature-button {
    white-space: nowrap;
    align-self: end;
}

.aml-timeline {
    position: relative;
    isolation: isolate;
    margin: 2.35rem 0 2.75rem;
    border-radius: 32px;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 9%, rgba(255, 255, 255, .42), transparent 31%),
        radial-gradient(circle at 85% 42%, rgba(46, 159, 210, .14), transparent 34%),
        linear-gradient(135deg, #d9edf7 0%, #bddfec 100%);
    border: 1px solid rgba(11, 61, 91, .08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 24px 60px rgba(11, 61, 91, .10);
}

.aml-timeline::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 1rem;
    bottom: 1rem;
    left: 50%;
    width: 6px;
    border-radius: 999px;
    background: var(--aml-line);
    transform: translateX(-50%);
    box-shadow: 0 0 0 1px rgba(8, 32, 54, .04), 0 0 30px rgba(255,255,255,.25);
}

.aml-evolution-page .timeline-container {
    position: relative;
    margin: 0;
    background: transparent !important;
}

.aml-evolution-page .timeline-container:first-of-type,
.aml-evolution-page .timeline-container:last-of-type {
    margin: 0;
    padding: 0;
    border-radius: 0;
}

.aml-evolution-page .timeline-container + .timeline-container {
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.aml-evolution-page .timeline-container > div {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
    align-items: start !important;
    gap: 0;
    min-height: 0;
    padding: clamp(1.35rem, 2.2vw, 2.15rem) clamp(1.25rem, 3vw, 3rem);
}

.aml-evolution-page .timeline-date {
    position: relative;
    z-index: 4;
    align-self: start !important;
    width: min(100%, 420px);
    margin-top: 0 !important;
    padding: 1.05rem 1.2rem;
    border-radius: 18px;
    color: var(--aml-text);
    background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(241,248,252,.94));
    border: 1px solid rgba(11, 61, 91, .16);
    box-shadow: 0 16px 34px rgba(11, 61, 91, .12);
}

.aml-evolution-page .timeline-date p,
.aml-evolution-page .timeline-date span {
    margin: 0;
    color: inherit;
    font-size: clamp(1.02rem, 1.1vw, 1.25rem);
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.025em;
    text-decoration: none;
}

.aml-evolution-page .timeline-date a {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}

.aml-evolution-page .timeline-rail {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 5;
    min-height: 46px;
    align-self: start !important;
}

.aml-evolution-page .timeline-rail::before {
    content: none !important;
}

.aml-evolution-page .timeline-rail::after {
    content: "";
    position: absolute;
    top: .28rem;
    left: 50%;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--aml-navy);
    border: 8px solid rgba(255, 255, 255, .92);
    box-shadow: 0 10px 26px rgba(4, 8, 23, .28), 0 0 0 1px rgba(46, 159, 210, .18);
    transform: translateX(-50%);
    z-index: 6;
}

.aml-evolution-page .timeline-box {
    position: relative;
    z-index: 3;
    align-self: start !important;
    width: 100%;
    max-width: none;
    margin-top: 0 !important;
    padding: clamp(1.35rem, 2vw, 1.85rem) clamp(1.45rem, 2.4vw, 2.2rem);
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(145deg, var(--aml-navy) 0%, var(--aml-navy-2) 62%, #0b2c45 100%);
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 24px 55px rgba(4, 8, 23, .30);
    overflow: hidden;
}

.aml-evolution-page .timeline-container > div > .timeline-date:first-child {
    justify-self: end;
    margin-right: 1.35rem;
    text-align: left;
}

.aml-evolution-page .timeline-container > div > .timeline-date:last-child {
    justify-self: start;
    margin-left: 1.35rem;
    text-align: left;
}

.aml-evolution-page .timeline-container > div > .timeline-box:first-child {
    justify-self: stretch;
    margin-right: 1.35rem;
}

.aml-evolution-page .timeline-container > div > .timeline-box:last-child {
    justify-self: stretch;
    margin-left: 1.35rem;
}

.aml-evolution-page .timeline-box::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, rgba(46,159,210,.15), rgba(174,223,247,.9), rgba(46,159,210,.15));
}

.aml-evolution-page .timeline-box p {
    margin: 0 0 1rem;
    color: rgba(255, 255, 255, .94);
    line-height: 1.62;
    text-align: left;
}

.aml-evolution-page .timeline-box p:last-child {
    margin-bottom: 0;
}

.aml-evolution-page .timeline-box a {
    color: #dff5ff;
    text-decoration: none;
    border-bottom: 1px solid rgba(223, 245, 255, .55);
    transition: color .18s ease, border-color .18s ease, text-shadow .18s ease;
}

.aml-evolution-page .timeline-box a:hover,
.aml-evolution-page .timeline-box a:focus {
    color: #fff;
    border-color: #fff;
    text-shadow: 0 0 18px rgba(143, 212, 244, .55);
}

.aml-evolution-page .accordion-trigger h3 {
    margin: 0;
}

.aml-evolution-page .accordion-trigger h3 a {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}

@media (max-width: 1199.98px) {
    .aml-publication-overview {
        grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
    }

    .aml-publication-overview .feature-button {
        grid-column: 2;
        justify-self: start;
        align-self: start;
    }

    .aml-evolution-page .timeline-container > div {
        grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .aml-evolution-page .timeline-container > div > .timeline-date:first-child,
    .aml-evolution-page .timeline-container > div > .timeline-box:first-child {
        margin-right: 1rem;
    }

    .aml-evolution-page .timeline-container > div > .timeline-date:last-child,
    .aml-evolution-page .timeline-container > div > .timeline-box:last-child {
        margin-left: 1rem;
    }
}

@media (max-width: 991.98px) {
    .aml-publication-overview {
        grid-template-columns: 1fr;
        border-radius: 24px;
    }

    .aml-publication-overview .feature-button {

        grid-column: auto;
    }

    .aml-overview-image,
    .aml-overview-image img {
        min-height: 210px;
    }

    .aml-timeline {
        border-radius: 24px;
    }

    .aml-timeline::before {
        left: 35px;
        top: 1rem;
        bottom: 1rem;
    }

    .aml-evolution-page .timeline-container > div {
        grid-template-columns: 48px minmax(0, 1fr);
        min-height: 0;
        padding: 1.2rem 1.1rem 2rem;
    }

    .aml-evolution-page .timeline-rail {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .aml-evolution-page .timeline-date,
    .aml-evolution-page .timeline-box {
        grid-column: 2 !important;
        justify-self: stretch !important;
        max-width: none;
        margin-left: 1rem !important;
        margin-right: 0 !important;
        text-align: left !important;
    }

    .aml-evolution-page .timeline-box {
        margin-top: .9rem !important;
        padding: 1.45rem 1.35rem;
        border-radius: 20px;
    }
}

@media (max-width: 575.98px) {
    .aml-evolution-page .article-detail-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .aml-publication-overview {
        padding: .9rem;
    }

    .aml-evolution-page .timeline-container > div {
        padding-left: .7rem;
        padding-right: .7rem;
    }

    .aml-evolution-page .timeline-date {
        padding: .9rem 1rem;
    }
}

/* From l4t-opinion.php */
.opinion-preview-alert {
    margin: 0 0 1.5rem;
    padding: 1rem 1.2rem;
    border-radius: 18px;
    color: #5a3d00;
    background: linear-gradient(135deg, #fff7d6, #fff1ad);
    border: 1px solid rgba(185, 129, 0, .32);
    box-shadow: 0 14px 30px rgba(90, 61, 0, .08);
    font-weight: 800;
}

.opinion-date-future {
    display: inline-flex !important;
    align-items: center;
    width: auto;
    padding: .22rem .55rem;
    border-radius: 999px;
    color: #5a3d00 !important;
    background: #ffe082;
    border: 1px solid rgba(185, 129, 0, .35);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

.opinion-list-page .opinion-intro-card {
    height: 100%;
}

/* From luxembourg-and-the-oecd-anti-bribery-convention-from-formal-transposition-to-tangible-enforcement-1999-2024.php */
/* Publication detail styles. */
.oecd-brief-page {
    --oecd-paper: #f6f9fc;
    --oecd-paper-2: #e8f2f8;
    --oecd-border: rgba(11, 61, 91, .14);
    --oecd-navy: #040817;
    --oecd-navy-2: #07152a;
    --oecd-blue: #2e9fd2;
    --oecd-text: #102a3f;
    --oecd-muted: #60758a;
}

.oecd-brief-page .article-detail-card,
.oecd-brief-page .publication-detail-card,
.oecd-brief-page .article-detail-body,
.oecd-brief-page .article-content,
.oecd-brief-page .publication-rich-content {
    width: 100%;
    max-width: none !important;
}

.oecd-brief-page .article-detail-body {
    padding-left: clamp(1.25rem, 3vw, 3.2rem);
    padding-right: clamp(1.25rem, 3vw, 3.2rem);
}

.oecd-brief-page .article-detail-body p,
.oecd-brief-page .article-detail-body li,
.oecd-brief-page .article-detail-body .article-content p,
.oecd-brief-page .article-detail-body .article-content li,
.oecd-brief-page .publication-summary-box p,
.oecd-brief-page .oecd-intro-link p {
    max-width: none !important;
}

.oecd-brief-page .article-detail-body .article-content {
    max-width: none !important;
}

.oecd-brief-page p,
.oecd-brief-page li,
.oecd-brief-page a {
    hyphens: none;
    word-break: normal;
}

.oecd-overview {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto;
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: center;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(46, 159, 210, .18), transparent 35%),
        linear-gradient(135deg, #fff 0%, var(--oecd-paper) 55%, var(--oecd-paper-2) 100%);
    border: 1px solid var(--oecd-border);
    box-shadow: 0 24px 55px rgba(11, 61, 91, .12);
}

.oecd-overview-image {
    overflow: hidden;
    border-radius: 22px;
    min-height: 155px;
    box-shadow: 0 18px 38px rgba(4, 8, 23, .18);
}

.oecd-overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 155px;
    object-fit: cover;
}

.oecd-overview-meta span,
.oecd-section-kicker,
.oecd-sources span {
    display: inline-flex;
    align-items: center;
    margin-bottom: .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    color: #075c87;
    background: rgba(46, 159, 210, .12);
    border: 1px solid rgba(46, 159, 210, .2);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.oecd-overview-meta strong {
    display: block;
    max-width: 820px;
    color: var(--oecd-navy);
    font-size: clamp(1.35rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.oecd-overview .feature-button {
    white-space: nowrap;
    align-self: end;
}

.oecd-intro-link {
    margin: 0 0 1.65rem;
    padding: clamp(1.15rem, 2.1vw, 1.65rem);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(46, 159, 210, .08), rgba(255,255,255,.96));
    border: 1px solid rgba(46, 159, 210, .18);
}

.oecd-intro-link p {
    margin: 0 0 1rem;
    color: var(--oecd-text);
    font-size: 1rem;
    line-height: 1.62;
    text-align: justify;
}

.oecd-intro-link .feature-button {
    width: auto;
    max-width: 100%;
    white-space: normal;
    text-align: left;
    justify-content: flex-start;
}

.oecd-brief-page .article-content a.feature-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 128px;
    border: 1px solid rgba(31,95,139,.22);
    border-radius: 10px;
    padding: .62rem 1.05rem;
    color: var(--l4t-teal);
    background: rgba(255,255,255,.66);
    background-image: none;
    font-weight: 900;
    text-decoration: none;
    text-align: left;
    line-height: 1.35;
    text-shadow: none;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.oecd-brief-page .article-content a.feature-button:hover,
.oecd-brief-page .article-content a.feature-button:focus {
    color: #fff;
    background: var(--l4t-teal);
    background-image: none;
    border-color: var(--l4t-teal);
    text-shadow: none;
}

.oecd-section-card {
    position: relative;
    margin: 1.2rem 0;
    padding: clamp(1.35rem, 2.4vw, 2.2rem);
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f5f9fc 100%);
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 22px 48px rgba(11, 61, 91, .10);
    overflow: hidden;
}

.oecd-section-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, rgba(46,159,210,.12), rgba(46,159,210,.86), rgba(46,159,210,.12));
}

.oecd-section-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: .85rem;
}

.oecd-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, var(--oecd-navy), #0b2c45);
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(4, 8, 23, .24);
}

.oecd-section-card h3 {
    margin: 0;
    color: var(--oecd-navy);
    font-size: clamp(1.24rem, 1.75vw, 1.85rem);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.oecd-section-card p,
.oecd-section-card li {
    color: var(--oecd-text);
    font-size: 1rem;
    line-height: 1.58;
}

.oecd-section-card p {
    margin: 0 0 .78rem;
    text-align: justify;
}

.oecd-section-card p:last-child {
    margin-bottom: 0;
}

.oecd-section-card ul,
.oecd-section-card ol {
    margin: .7rem 0 .9rem;
    padding-left: 1.25rem;
}

.oecd-section-card li {
    margin-bottom: .35rem;
}

.oecd-sources {
    margin-top: 1.6rem;
    padding: clamp(1.25rem, 2.4vw, 2.1rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 15% 0%, rgba(255,255,255,.38), transparent 32%),
        linear-gradient(135deg, #d9edf7 0%, #bddfec 100%);
    border: 1px solid rgba(11, 61, 91, .10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 24px 60px rgba(11, 61, 91, .10);
}

.oecd-sources h3 {
    margin: 0 0 1rem;
    color: var(--oecd-navy);
    font-size: clamp(1.35rem, 1.8vw, 2rem);
    letter-spacing: -.035em;
}

.oecd-sources ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.oecd-sources .feature-button {
    width: auto;
    max-width: 100%;
    white-space: normal;
    text-align: left;
    justify-content: flex-start;
    box-shadow: 0 12px 26px rgba(11, 61, 91, .08);
}

@media (max-width: 1199.98px) {
    .oecd-overview {
        grid-template-columns: minmax(190px, 270px) minmax(0, 1fr);
    }

    .oecd-overview .feature-button {
        grid-column: 2;
        justify-self: start;
        align-self: start;
    }
}

@media (max-width: 991.98px) {
    .oecd-overview {
        grid-template-columns: 1fr;
        border-radius: 24px;
    }

    .oecd-overview .feature-button {
        grid-column: auto;
    }

    .oecd-overview-image,
    .oecd-overview-image img {
        min-height: 210px;
    }
}

@media (max-width: 575.98px) {
    .oecd-brief-page .article-detail-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .oecd-overview {
        padding: .9rem;
    }

    .oecd-section-card,
    .oecd-sources {
        border-radius: 22px;
    }

    .oecd-section-header {
        grid-template-columns: 1fr;
        gap: .65rem;
    }
}

/* From modernisation-conventions-eu-instruments-and-key-reform-laws-2001-2023.php */
/* Publication detail styles. */
.modernisation-page {
    --mod-paper: #f6f9fc;
    --mod-paper-2: #eaf3f8;
    --mod-border: rgba(11, 61, 91, .14);
    --mod-navy: #040817;
    --mod-navy-2: #07152a;
    --mod-blue: #2e9fd2;
    --mod-text: #102a3f;
    --mod-muted: #60758a;
}

.modernisation-page .article-detail-card,
.modernisation-page .publication-detail-card,
.modernisation-page .article-detail-body,
.modernisation-page .article-content,
.modernisation-page .publication-rich-content {
    width: 100%;
    max-width: none !important;
}

.modernisation-page .article-detail-body {
    padding-left: clamp(1.25rem, 3vw, 3.2rem);
    padding-right: clamp(1.25rem, 3vw, 3.2rem);
}

.modernisation-page .article-detail-body p,
.modernisation-page .article-detail-body li,
.modernisation-page .article-detail-body .article-content p,
.modernisation-page .article-detail-body .article-content li,
.modernisation-page .publication-summary-box p,
.modernisation-page .modernisation-intro p,
.modernisation-page .future-card p {
    max-width: none !important;
}

.modernisation-page .article-detail-body .article-content {
    max-width: none !important;
}

.modernisation-page .article-detail-body p,
.modernisation-page .publication-rich-content p,
.modernisation-page .timeline-box p {
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

.modernisation-overview {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto;
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: center;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(46, 159, 210, .18), transparent 35%),
        linear-gradient(135deg, #fff 0%, var(--mod-paper) 55%, var(--mod-paper-2) 100%);
    border: 1px solid var(--mod-border);
    box-shadow: 0 24px 55px rgba(11, 61, 91, .12);
}

.modernisation-overview-image {
    overflow: hidden;
    border-radius: 22px;
    min-height: 155px;
    box-shadow: 0 18px 38px rgba(4, 8, 23, .18);
}

.modernisation-overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 155px;
    object-fit: cover;
}

.modernisation-overview-meta span,
.timeline-section-label {
    display: inline-flex;
    align-items: center;
    margin-bottom: .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    color: #075c87;
    background: rgba(46, 159, 210, .12);
    border: 1px solid rgba(46, 159, 210, .2);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.modernisation-overview-meta strong {
    display: block;
    max-width: 820px;
    color: var(--mod-navy);
    font-size: clamp(1.35rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.modernisation-overview .feature-button {
    white-space: nowrap;
    align-self: end;
}

.modernisation-intro p,
.future-card p {
    color: var(--mod-text);
    line-height: 1.68;
    text-align: justify;
}

.timeline-section {
    margin-top: 2.2rem;
}

.timeline-section h3,
.future-card h3 {
    margin: 0 0 1rem;
    color: var(--mod-navy);
    font-size: clamp(1.45rem, 2vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -.04em;
}

.modern-timeline {
    position: relative;
    isolation: isolate;
    margin: 1.15rem 0 2.55rem;
    border-radius: 32px;
    overflow: hidden;
    border: 1px solid rgba(11, 61, 91, .08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 24px 60px rgba(11, 61, 91, .10);
}

.timeline-international .modern-timeline {
    background:
        radial-gradient(circle at 15% 9%, rgba(255, 255, 255, .42), transparent 31%),
        radial-gradient(circle at 85% 42%, rgba(46, 159, 210, .14), transparent 34%),
        linear-gradient(135deg, #d9edf7 0%, #bddfec 100%);
}

.timeline-domestic .modern-timeline {
    background:
        radial-gradient(circle at 15% 9%, rgba(255, 255, 255, .48), transparent 31%),
        radial-gradient(circle at 82% 42%, rgba(52, 95, 149, .16), transparent 36%),
        linear-gradient(135deg, #eef3ff 0%, #dce7f6 100%);
}

.modern-timeline::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 1rem;
    bottom: 1rem;
    left: 50%;
    width: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .88);
    transform: translateX(-50%);
    box-shadow: 0 0 0 1px rgba(8, 32, 54, .04), 0 0 30px rgba(255,255,255,.25);
}

.modern-timeline-row {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
    align-items: start;
    gap: 0;
    padding: clamp(1.35rem, 2.2vw, 2.15rem) clamp(1.25rem, 3vw, 3rem);
}

.modern-timeline-row + .modern-timeline-row {
    border-top: 1px solid rgba(255, 255, 255, .22);
}

.timeline-date {
    position: relative;
    z-index: 4;
    align-self: start;
    width: min(100%, 420px);
    margin-top: 0;
    padding: 1.05rem 1.2rem;
    border-radius: 18px;
    color: var(--mod-text);
    background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(241,248,252,.94));
    border: 1px solid rgba(11, 61, 91, .16);
    box-shadow: 0 16px 34px rgba(11, 61, 91, .12);
}

.timeline-date strong,
.timeline-date span {
    display: block;
}

.timeline-date strong {
    margin-bottom: .25rem;
    color: var(--mod-navy);
    font-size: clamp(1.02rem, 1.1vw, 1.24rem);
    line-height: 1.25;
    letter-spacing: -.025em;
}

.timeline-date span {
    color: var(--mod-muted);
    font-size: .9rem;
    line-height: 1.35;
}

.timeline-date a {
    color: inherit;
    text-decoration: none;
}

.timeline-rail {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 5;
    min-height: 46px;
    align-self: start;
}

.timeline-rail::after {
    content: "";
    position: absolute;
    top: .28rem;
    left: 50%;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--mod-navy);
    border: 8px solid rgba(255, 255, 255, .92);
    box-shadow: 0 10px 26px rgba(4, 8, 23, .28), 0 0 0 1px rgba(46, 159, 210, .18);
    transform: translateX(-50%);
    z-index: 6;
}

.timeline-domestic .timeline-rail::after {
    background: #123b7a;
}

.timeline-box {
    position: relative;
    z-index: 3;
    align-self: start;
    width: 100%;
    max-width: none;
    margin-top: 0;
    padding: clamp(1.35rem, 2vw, 1.85rem) clamp(1.45rem, 2.4vw, 2.2rem);
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(145deg, var(--mod-navy) 0%, var(--mod-navy-2) 62%, #0b2c45 100%);
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 24px 55px rgba(4, 8, 23, .30);
    overflow: hidden;
}

.timeline-domestic .timeline-box {
    background: linear-gradient(145deg, #07142a 0%, #102f59 60%, #123b7a 100%);
}

.timeline-box::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;

    height: 4px;
    background: linear-gradient(90deg, rgba(46,159,210,.15), rgba(174,223,247,.9), rgba(46,159,210,.15));
}

.modern-timeline-row:not(.is-reverse) .timeline-date {
    grid-column: 1;
    justify-self: end;
    margin-right: 1.35rem;
}

.modern-timeline-row:not(.is-reverse) .timeline-box {
    grid-column: 3;
    justify-self: stretch;
    margin-left: 1.35rem;
}

.modern-timeline-row.is-reverse .timeline-box {
    grid-column: 1;
    justify-self: stretch;
    margin-right: 1.35rem;
}

.modern-timeline-row.is-reverse .timeline-date {
    grid-column: 3;
    justify-self: start;
    margin-left: 1.35rem;
}

.timeline-box h4 {
    margin: 0 0 .75rem;
    color: #fff;
    font-size: clamp(1.05rem, 1.25vw, 1.3rem);
    line-height: 1.25;
    letter-spacing: -.02em;
}

.timeline-box p {
    margin: 0;
    color: rgba(255, 255, 255, .94);
    line-height: 1.62;
    text-align: left;
}

.timeline-box a {
    color: #dff5ff;
    text-decoration: none;
    border-bottom: 1px solid rgba(223, 245, 255, .55);
    transition: color .18s ease, border-color .18s ease, text-shadow .18s ease;
}

.timeline-box a:hover,
.timeline-box a:focus {
    color: #fff;
    border-color: #fff;
    text-shadow: 0 0 18px rgba(143, 212, 244, .55);
}

/* Only the three upper international-driver cards: keep hover and animated underline white. */
.modernisation-page .timeline-international .timeline-box h4 a {
    color: #dff5ff !important;
    text-decoration: none !important;
    border-bottom-color: rgba(255, 255, 255, .62) !important;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .72)) !important;
}

.modernisation-page .timeline-international .timeline-box h4 a:hover,
.modernisation-page .timeline-international .timeline-box h4 a:focus {
    color: #fff !important;
    border-bottom-color: #fff !important;
    background-image: linear-gradient(90deg, #fff, #fff) !important;
    text-shadow: 0 0 18px rgba(255, 255, 255, .42) !important;
}

.modernisation-page .timeline-international .timeline-box h4 a::after,
.modernisation-page .timeline-international .timeline-box h4 a::before {
    background-color: #fff !important;
    border-color: #fff !important;
}

.modernisation-page .timeline-international .timeline-box h4 a:hover::after,
.modernisation-page .timeline-international .timeline-box h4 a:focus::after,
.modernisation-page .timeline-international .timeline-box h4 a:hover::before,
.modernisation-page .timeline-international .timeline-box h4 a:focus::before {
    background-color: #fff !important;
    border-color: #fff !important;
}

.future-card {
    margin-top: 2.4rem;
    padding: clamp(1.35rem, 2.5vw, 2.35rem);
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fb 100%);
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 22px 48px rgba(11, 61, 91, .10);
}

.future-card p:last-child {
    margin-bottom: 0;
}

@media (max-width: 1199.98px) {
    .modernisation-overview {
        grid-template-columns: minmax(190px, 270px) minmax(0, 1fr);
    }

    .modernisation-overview .feature-button {
        grid-column: 2;
        justify-self: start;
        align-self: start;
    }

    .modern-timeline-row {
        grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
}

@media (max-width: 991.98px) {
    .modernisation-overview {
        grid-template-columns: 1fr;
        border-radius: 24px;
    }

    .modernisation-overview .feature-button {
        grid-column: auto;
    }

    .modernisation-overview-image,
    .modernisation-overview-image img {
        min-height: 210px;
    }

    .modern-timeline {
        border-radius: 24px;
    }

    .modern-timeline::before {
        left: 35px;
        top: 1rem;
        bottom: 1rem;
    }

    .modern-timeline-row,
    .modern-timeline-row.is-reverse {
        grid-template-columns: 48px minmax(0, 1fr);
        min-height: 0;
        padding: 1.2rem 1.1rem 2rem;
    }

    .timeline-rail {
        grid-column: 1 !important;
        grid-row: 1 / span 2;
    }

    .timeline-date,
    .timeline-box,
    .modern-timeline-row.is-reverse .timeline-date,
    .modern-timeline-row.is-reverse .timeline-box,
    .modern-timeline-row:not(.is-reverse) .timeline-date,
    .modern-timeline-row:not(.is-reverse) .timeline-box {
        grid-column: 2 !important;
        justify-self: stretch !important;
        max-width: none;
        margin-left: 1rem !important;
        margin-right: 0 !important;
        text-align: left !important;
    }

    .timeline-box,
    .modern-timeline-row.is-reverse .timeline-box {
        grid-row: 2;
        margin-top: .9rem !important;
        padding: 1.45rem 1.35rem;
        border-radius: 20px;
    }
}

@media (max-width: 575.98px) {
    .modernisation-page .article-detail-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .modernisation-overview {
        padding: .9rem;
    }

    .modern-timeline-row {
        padding-left: .7rem;
        padding-right: .7rem;
    }

    .timeline-date {
        padding: .9rem 1rem;
    }
}

/* From opinion-piece-for-world-whistleblower-day.php */
/* Publication detail styles. */
.wbd-page {
    --wbd-paper: #f7fafc;
    --wbd-paper-2: #e9f3f8;
    --wbd-border: rgba(11, 61, 91, .14);
    --wbd-navy: #040817;
    --wbd-blue: #2e9fd2;
    --wbd-blue-dark: #075c87;
    --wbd-text: #102a3f;
    --wbd-muted: #60758a;
}

.wbd-page .article-detail-card,
.wbd-page .publication-detail-card,
.wbd-page .article-detail-body,
.wbd-page .article-content,
.wbd-page .publication-rich-content {
    width: 100%;
    max-width: none !important;
}

.wbd-page .article-detail-body {
    padding-left: clamp(1.25rem, 3vw, 3.2rem);
    padding-right: clamp(1.25rem, 3vw, 3.2rem);
}

.wbd-page .article-detail-body p,
.wbd-page .article-detail-body li,
.wbd-page .publication-summary-box p,
.wbd-page .wbd-intro-panel p {
    max-width: none !important;
}

.wbd-page p,
.wbd-page li,
.wbd-page a {
    hyphens: none;
    word-break: normal;
}

.wbd-overview {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto;
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: center;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(46, 159, 210, .18), transparent 35%),
        linear-gradient(135deg, #fff 0%, var(--wbd-paper) 55%, var(--wbd-paper-2) 100%);
    border: 1px solid var(--wbd-border);
    box-shadow: 0 24px 55px rgba(11, 61, 91, .12);
}

.wbd-overview-image {
    overflow: hidden;
    border-radius: 22px;
    min-height: 170px;
    box-shadow: 0 18px 38px rgba(4, 8, 23, .18);
}

.wbd-overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}

.wbd-overview-meta span,
.wbd-section-kicker,
.wbd-source span {
    display: inline-flex;
    align-items: center;
    margin-bottom: .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    color: var(--wbd-blue-dark);
    background: rgba(46, 159, 210, .12);
    border: 1px solid rgba(46, 159, 210, .2);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wbd-overview-meta strong {
    display: block;
    max-width: 880px;
    color: var(--wbd-navy);
    font-size: clamp(1.35rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.wbd-overview .feature-button {
    white-space: nowrap;
    align-self: end;
}

.wbd-intro-panel,
.wbd-callout-panel {
    margin: 0 0 1.65rem;
    padding: clamp(1.15rem, 2.1vw, 1.65rem);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(46, 159, 210, .08), rgba(255,255,255,.96));
    border: 1px solid rgba(46, 159, 210, .18);
}

.wbd-intro-panel p,
.wbd-callout-panel p {
    margin: 0 0 1rem;
    color: var(--wbd-text);
    font-size: 1rem;
    line-height: 1.62;
    text-align: justify;
}

.wbd-intro-panel p:last-child,
.wbd-callout-panel p:last-child {
    margin-bottom: 0;
}

.wbd-page .article-content a.feature-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 128px;
    border: 1px solid rgba(31,95,139,.22);
    border-radius: 10px;
    padding: .62rem 1.05rem;
    color: var(--l4t-teal);
    background: rgba(255,255,255,.66);
    background-image: none;
    font-weight: 900;
    text-decoration: none;
    text-align: left;
    line-height: 1.35;
    text-shadow: none;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.wbd-page .article-content a.feature-button:hover,
.wbd-page .article-content a.feature-button:focus {
    color: #fff;
    background: var(--l4t-teal);
    background-image: none;
    border-color: var(--l4t-teal);
    text-shadow: none;
}

.wbd-section-card {
    position: relative;
    margin: 1.2rem 0;
    padding: clamp(1.35rem, 2.4vw, 2.2rem);
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f5f9fc 100%);
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 22px 48px rgba(11, 61, 91, .10);
    overflow: hidden;
}

.wbd-section-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, rgba(46,159,210,.12), rgba(46,159,210,.86), rgba(46,159,210,.12));
}

.wbd-section-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.wbd-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, var(--wbd-navy), #0b2c45);
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(4, 8, 23, .24);
}

.wbd-section-card h3,
.wbd-source h3 {
    margin: 0;
    color: var(--wbd-navy);
    font-size: clamp(1.24rem, 1.75vw, 1.85rem);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.wbd-section-card h4 {
    margin: 1.25rem 0 .55rem;
    color: var(--wbd-blue-dark);
    font-size: clamp(1.06rem, 1.35vw, 1.28rem);
    line-height: 1.2;
    letter-spacing: -.02em;
}

.wbd-section-card p,
.wbd-section-card li {
    color: var(--wbd-text);
    font-size: 1rem;
    line-height: 1.58;
}

.wbd-section-card p {
    margin: 0 0 .78rem;
    text-align: justify;
}

.wbd-section-card p:last-child {
    margin-bottom: 0;
}

.wbd-section-card ul,
.wbd-section-card ol {
    margin: .7rem 0 1.05rem;
    padding-left: 1.25rem;
}

.wbd-two-grid,
.wbd-three-grid,
.wbd-four-grid,
.wbd-stat-grid {
    display: grid;
    gap: 1rem;
    margin: 1.15rem 0 1.45rem;
}

.wbd-two-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wbd-three-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wbd-four-grid,
.wbd-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wbd-mini-card,
.wbd-stat-card {
    padding: 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 14px 28px rgba(11, 61, 91, .08);
}

.wbd-mini-card strong,
.wbd-stat-card strong {
    display: block;
    margin-bottom: .35rem;
    color: var(--wbd-navy);
    line-height: 1.2;
}

.wbd-mini-card p,
.wbd-stat-card p {
    margin: 0;
    color: var(--wbd-text);
    font-size: .95rem;
    line-height: 1.48;
    text-align: left;
}

.wbd-stat-card strong {
    color: var(--wbd-blue-dark);
    font-size: clamp(1.5rem, 2.8vw, 2.45rem);
    letter-spacing: -.04em;
}

.wbd-chart-card {
    margin: 1.25rem 0 1.55rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(11, 61, 91, .12);
    box-shadow: 0 20px 44px rgba(11, 61, 91, .10);
}

.wbd-chart-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    border: 1px solid rgba(11, 61, 91, .08);
}

.wbd-chart-card figcaption {
    margin-top: .8rem;
    color: var(--wbd-muted);
    font-size: .92rem;
    line-height: 1.45;
    text-align: left;
}

.wbd-chart-card figcaption .wbd-chart-source {
    display: block;
    margin-top: .38rem;
}

.wbd-chart-card figcaption a {
    color: var(--wbd-blue-dark);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: .16em;
}

.wbd-source {
    margin-top: 1.4rem;
    padding: clamp(1.15rem, 2.1vw, 1.65rem);
    border-radius: 22px;
    background: linear-gradient(135deg, #eef7fb, #ffffff);
    border: 1px solid rgba(11, 61, 91, .12);
}

.wbd-source p {
    margin: .65rem 0 0;
    color: var(--wbd-muted);
    font-size: .94rem;
    line-height: 1.45;
    text-align: left;
}

@media (max-width: 1199.98px) {
    .wbd-overview {
        grid-template-columns: minmax(190px, 270px) minmax(0, 1fr);
    }

    .wbd-overview .feature-button {
        grid-column: 2;
        justify-self: start;
        align-self: start;
    }

    .wbd-four-grid,
    .wbd-stat-grid,
    .wbd-three-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .wbd-overview,
    .wbd-two-grid,
    .wbd-three-grid,
    .wbd-four-grid,
    .wbd-stat-grid {
        grid-template-columns: 1fr;
    }

    .wbd-overview .feature-button {
        grid-column: auto;
    }

    .wbd-overview-image,
    .wbd-overview-image img {
        min-height: 210px;
    }
}

@media (max-width: 575.98px) {
    .wbd-page .article-detail-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .wbd-overview {
        padding: .9rem;
        border-radius: 24px;
    }

    .wbd-section-card,
    .wbd-source {
        border-radius: 22px;
    }

    .wbd-section-header {
        grid-template-columns: 1fr;
        gap: .65rem;
    }
}

/* L4T World Whistleblower's Day final visual corrections - v3 */
.wbd-page .wbd-section-header {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: start !important;
    margin-bottom: 1.15rem !important;
}

.wbd-page .wbd-section-number {
    align-self: start !important;
    margin-top: .02rem !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    transform: none !important;
}

.wbd-page .wbd-section-card h3 {
    align-self: start !important;
    margin: 0 !important;
    padding: .12rem 0 0 !important;
    line-height: 1.06 !important;
    transform: none !important;
}

.wbd-page .wbd-chart-card {
    margin: 1.45rem 0 1.75rem !important;
}

.wbd-page .wbd-chart-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

@media (max-width: 575.98px) {
    .wbd-page .wbd-section-header {
        grid-template-columns: 1fr !important;
        gap: .65rem !important;
    }

    .wbd-page .wbd-section-card h3 {
        padding-top: 0 !important;
    }
}

/* From publications.php */
.publication-preview-alert {
    margin: 0 0 1.5rem;
    padding: 1rem 1.2rem;
    border-radius: 18px;
    color: #5a3d00;
    background: linear-gradient(135deg, #fff7d6, #fff1ad);
    border: 1px solid rgba(185, 129, 0, .32);
    box-shadow: 0 14px 30px rgba(90, 61, 0, .08);
    font-weight: 800;
}

.publication-date-future {
    display: inline-flex !important;
    align-items: center;
    width: auto;
    padding: .28rem .55rem;
    border-radius: 999px;
    color: #5a3d00 !important;
    background: #ffe082;
    border: 1px solid rgba(185, 129, 0, .35);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

/* What we do: refined work focus card. */
.work-focus-card-refined {
    position: relative;
    overflow: hidden;
    padding: clamp(1.45rem, 3vw, 2.15rem);
    background:
        linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(247,249,252,.96) 100%);
    border: 1px solid rgba(216,225,234,.9);
    box-shadow: 0 30px 80px rgba(0,0,0,.16);
}
.work-focus-card-refined:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(0,111,190,.32), rgba(31,95,139,.18));
    pointer-events: none;
}
.work-focus-card-refined p,
.work-focus-card-refined li {
    text-align: left;
    text-justify: auto;
}
.work-focus-lead {
    position: relative;
    z-index: 1;
    max-width: 42rem;
    margin: 0;
    color: #334155;
    font-size: 1.03rem;
    line-height: 1.72;
}
.work-focus-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0;
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
}
.work-focus-list li {
    position: relative;
    margin: 0;
    padding: .82rem 0 .82rem 1.35rem;
    color: #334155;
    font-size: .99rem;
    line-height: 1.62;
    border-top: 1px solid rgba(216,225,234,.62);
}
.work-focus-list li:before {
    content: '';
    position: absolute;
    top: 1.48rem;
    left: .18rem;
    width: .36rem;
    height: .36rem;
    border-radius: 50%;
    background: rgba(0,111,190,.42);
    box-shadow: 0 0 0 4px rgba(0,111,190,.07);
}
.work-focus-list li:last-child {
    padding-bottom: 0;
}
@media (max-width: 767px) {
    .work-focus-card-refined { padding: 1.25rem 1.15rem 1.35rem; }
    .work-focus-list li { padding-left: 1.15rem; }
}

