/* ================================================================
   AGEGE VOICE  —  WordPress Theme Stylesheet
   Exact visual match to original static site.
   ================================================================ */

:root {
    --pill-bg:   #091848;
    --pill-mid:  #1440a8;
    --gold:      #c9a227;
    --gold-b:    #e0b42a;
    --white:     #ffffff;
    --offwhite:  #f5f7fb;
    --border:    #dde0e8;
    --blue-dk:   #0c2d6b;
    --blue-mid:  #1a4db8;
    --txt:       #2d3a4e;
    --txt-mid:   #4a5568;
    --txt-lt:    #718096;
    --fh:        'Montserrat', sans-serif;
    --fb:        'Open Sans', sans-serif;
    --r:         3px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; }
body  {
    font-family: var(--fb);
    color: var(--txt);
    max-width: 100vw;
    background-color: #112070;
    background-image:
        radial-gradient(ellipse 110% 45% at 50% 0%,
            rgba(201,162,39,.18) 0%, rgba(180,130,20,.08) 35%, transparent 62%),
        radial-gradient(ellipse 70% 55% at 100% 100%,
            rgba(201,162,39,.55) 0%, rgba(190,145,15,.35) 25%,
            rgba(160,110,5,.15) 50%, transparent 68%),
        radial-gradient(ellipse 50% 40% at 0% 100%,
            rgba(190,145,15,.30) 0%, rgba(160,110,5,.12) 35%, transparent 60%),
        linear-gradient(160deg, #1e3a90 0%, #0e2468 35%, #162c80 65%, #1e3a90 100%);
    background-attachment: fixed;
}
a   { text-decoration:none; color:inherit; }
ul  { list-style:none; }
img { max-width:100%; height:auto; }

/* ================================================================
   HEADER
   ================================================================ */
.site-header {
    background-color: #112070;
    background-image:
        radial-gradient(ellipse 120% 100% at 50% 0%,
            rgba(201,162,39,.15) 0%, rgba(160,110,10,.06) 40%, transparent 65%),
        linear-gradient(160deg, #1e3a90 0%, #0e2468 55%, #1e3a90 100%);
    padding: 75px 24px 18px;
    position: sticky;
    top: 0;
    z-index: 900;
    overflow: visible;
}

/* ================================================================
   NAV PILL
   ================================================================ */
.nav-pill {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 36px;
    min-height: 72px;
    overflow: visible;
    position: relative;
    background: linear-gradient(180deg, var(--pill-bg) 0%, var(--pill-mid) 50%, var(--pill-bg) 100%);
    border-radius: 60px;
    box-shadow: 0 6px 28px rgba(8,24,80,.45), 0 2px 8px rgba(8,24,80,.3);
}

.nav-left  { display:flex; align-items:center; justify-content:flex-start; }
.nav-right { display:flex; align-items:center; justify-content:flex-end; }

.nav-left ul,
.nav-right ul { display:flex; align-items:center; margin:0; padding:0; }

.nav-left  ul li a,
.nav-right ul li a {
    display:block;
    font-family: var(--fh);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    color: #ffffff;
    padding: 12px 16px;
    position: relative;
    transition: color .2s;
    white-space: nowrap;
}
.nav-left  ul li a:hover,
.nav-right ul li a:hover { color: var(--gold); }

/* Active state — static class OR WordPress current-menu-item */
.nav-active,
.nav-left  ul li.current-menu-item > a,
.nav-left  ul li.current-menu-ancestor > a,
.nav-right ul li.current-menu-item > a,
.nav-right ul li.current-menu-ancestor > a { color: var(--gold) !important; }

.nav-active::after,
.nav-left  ul li.current-menu-item > a::after,
.nav-left  ul li.current-menu-ancestor > a::after {
    content:'';
    position:absolute;
    bottom: 4px;
    left: 16px; right: 16px;
    height: 2.5px;
    background: var(--gold);
    border-radius: 2px;
}

/* Search icon */
.nav-search {
    background:none; border:none;
    color: rgba(255,255,255,.75);
    font-size: 17px;
    padding: 8px 10px;
    cursor:pointer;
    margin-left: 4px;
    transition: color .2s;
    flex-shrink:0;
}
.nav-search:hover { color:#fff; }

/* LISTEN LIVE button */
.btn-portal {
    display:inline-block;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-family: var(--fh);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .8px;
    padding: 9px 22px;
    border-radius: 50px;
    margin-left: 10px;
    white-space: nowrap;
    transition: all .22s;
    flex-shrink:0;
}
.btn-portal:hover { background: var(--gold); color: var(--pill-bg); }

/* ================================================================
   CENTRE LOGO
   ================================================================ */
.logo-wrap {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 0 20px;
    position: relative;
    z-index: 30;
}

.logo-halo {
    position: relative;
    width: 210px;
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -68px;
    margin-bottom: -68px;
}

.logo-halo::before {
    content:'';
    position:absolute;
    width: 360px;
    height: 360px;
    border-radius:50%;
    pointer-events:none;
    z-index:0;
    background: radial-gradient(circle,
        rgba(0,210,255,.50) 0%, rgba(0,185,255,.26) 28%,
        rgba(0,160,255,.09) 52%, transparent 68%);
    animation: haloBreath 3.2s ease-in-out infinite alternate;
}
@keyframes haloBreath {
    from { opacity:.65; transform:scale(.90); }
    to   { opacity:1;   transform:scale(1.10); }
}

.logo-halo::after {
    content:'';
    position:absolute;
    width: 340px;
    height: 340px;
    border-radius:50%;
    pointer-events:none;
    z-index:1;
    background:
        radial-gradient(ellipse 115px 16px at  3% 50%, rgba(20,220,255,.90) 0%, transparent 75%),
        radial-gradient(ellipse 115px 16px at 97% 50%, rgba(20,220,255,.90) 0%, transparent 75%),
        radial-gradient(ellipse  80px 13px at 10% 18%, rgba(0,205,255,.70) 0%, transparent 75%),
        radial-gradient(ellipse  80px 13px at 90% 18%, rgba(0,205,255,.70) 0%, transparent 75%),
        radial-gradient(ellipse  65px 10px at 13% 82%, rgba(0,185,255,.50) 0%, transparent 75%),
        radial-gradient(ellipse  65px 10px at 87% 82%, rgba(0,185,255,.50) 0%, transparent 75%);
    animation: streakPulse 3.2s ease-in-out infinite alternate;
}
@keyframes streakPulse {
    from { opacity:.72; transform:scale(.96); }
    to   { opacity:1;   transform:scale(1.04); }
}

.logo-ring {
    position:relative;
    z-index:2;
    width: 210px;
    height: 210px;
    border-radius:50%;
    overflow:hidden;
    background: radial-gradient(circle at 50% 42%, #0e2a6e, #030c20);
    border: 4px solid #c9a227;
    box-shadow:
        0 0 0   3px  rgba(0,0,0,.35),
        0 0  10px  4px  rgba(0,215,255,.82),
        0 0  26px 10px  rgba(0,195,255,.55),
        0 0  55px 22px  rgba(0,175,255,.30),
        0 0  95px 38px  rgba(0,155,255,.14),
        0 0 145px 58px  rgba(0,135,255,.06);
    animation: ringPulse 3.2s ease-in-out infinite alternate;
}
@keyframes ringPulse {
    from {
        box-shadow:
            0 0 0   3px rgba(0,0,0,.30),
            0 0  8px  3px rgba(0,200,255,.70),
            0 0 22px  9px rgba(0,180,255,.46),
            0 0 48px 19px rgba(0,160,255,.24),
            0 0 84px 34px rgba(0,140,255,.11),
            0 0 130px 52px rgba(0,120,255,.05);
    }
    to {
        box-shadow:
            0 0 0   3px rgba(0,0,0,.38),
            0 0 13px  5px rgba(0,225,255,.90),
            0 0 32px 13px rgba(0,205,255,.62),
            0 0 65px 26px rgba(0,185,255,.34),
            0 0 110px 44px rgba(0,165,255,.16),
            0 0 165px 66px rgba(0,145,255,.07);
    }
}

.logo-ring a { display:block; width:100%; height:100%; }
.logo-img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

.logo-fb {
    display:none; flex-direction:column; align-items:center; justify-content:center;
    width:100%; height:100%; gap:6px; padding:14px; text-align:center;
    background: radial-gradient(circle at 50% 45%, #0e2a6e, #040e22);
}
.logo-fb i    { font-size:38px; color:var(--gold); }
.logo-fb span { font-family:var(--fh); font-size:9px; font-weight:800; letter-spacing:1.5px; color:#fff; line-height:1.5; }

/* ================================================================
   MOBILE NAV
   ================================================================ */
.mob-toggle {
    display:none;
    position:absolute;
    right:16px; top:50%;
    transform:translateY(-50%);
    background:none; border:none;
    color:#fff; font-size:22px;
    cursor:pointer; z-index:950;
}
.mob-nav {
    display:none;
    background: var(--pill-bg);
    border-top:1px solid rgba(255,255,255,.07);
    border-radius: 0 0 16px 16px;
    margin: 0 24px;
}
.mob-nav.open { display:block; }
.mob-nav ul { margin:0; padding:0; }
.mob-nav ul li a {
    display:block;
    color:rgba(255,255,255,.85);
    font-family:var(--fh);
    font-size:14px;
    padding:13px 22px;
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:all .2s;
}
.mob-nav ul li a:hover { color:var(--gold); padding-left:30px; }
.mob-listen { color:var(--gold)!important; font-weight:700!important; }

/* ================================================================
   THREE-COLUMN GRID
   ================================================================ */
.three-col {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items:stretch;
    max-width:1440px;
    margin:0 auto;
    width:100%;
    column-gap: 14px;
}

.col-right { border-left: none; }

/* ================================================================
   LEFT COLUMN
   ================================================================ */
.col-left { display:flex; flex-direction:column; }

.left-hero { position:relative; height:262px; overflow:hidden; flex-shrink:0; }
.lh-bg { position:absolute; inset:0; background-size:cover; background-position:center 30%; background-color:#0e3068; }
.lh-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to bottom,
        rgba(5,15,80,.05) 0%, rgba(5,15,80,.20) 30%,
        rgba(5,15,80,.60) 62%, rgba(5,15,80,.92) 100%);
}
.lh-content { position:absolute; bottom:0; left:0; right:0; padding:14px 18px 18px; color:#fff; z-index:2; }
.lh-title {
    display:flex; flex-direction:column;
    font-family: 'Montserrat', sans-serif;
    font-size:28px; font-weight:900;
    line-height:.92; margin-bottom:4px;
}
.txt-gold  { color: #F0C040; }
.txt-white { color: #ffffff; }
.hero-btns { display:flex; gap:8px; flex-wrap:wrap; }

/* ================================================================
   STADIUM SECTION
   ================================================================ */
.stadium-section { flex-shrink:0; overflow:hidden; border-bottom:3px solid var(--gold); }
.stadium-img {
    position:relative; width:100%; height:300px;
    background-size:cover; background-position:center 40%;
    background-repeat:no-repeat; display:flex; align-items:flex-end; overflow:hidden;
}
.stadium-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,.00) 0%, rgba(0,0,0,.05) 55%, rgba(0,0,0,.62) 100%);
}
.stadium-title {
    position:relative; z-index:2;
    font-family:var(--fh); font-size:17px; font-weight:800;
    color:#ffffff; letter-spacing:.4px;
    padding:0 16px 18px;
    text-shadow:0 2px 12px rgba(0,0,0,.7);
    line-height:1.25; text-transform:uppercase;
}

/* ================================================================
   RAILWAY SECTION
   ================================================================ */
.railway-section { flex-shrink:0; overflow:hidden; border-bottom:3px solid var(--gold); }
.railway-img {
    position:relative; width:100%; height:320px;
    background-size:cover; background-position:center 35%;
    background-repeat:no-repeat; display:flex; align-items:flex-end; overflow:hidden;
}
.railway-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,.00) 0%, rgba(0,0,0,.05) 55%, rgba(0,0,0,.55) 100%);
}
.railway-title {
    position:relative; z-index:2;
    font-family:var(--fh); font-size:17px; font-weight:800;
    color:#ffffff; letter-spacing:.4px;
    padding:0 16px 18px;
    text-shadow:0 2px 12px rgba(0,0,0,.7);
    line-height:1.25; text-transform:uppercase;
}

/* ================================================================
   CENTER COLUMN
   ================================================================ */
.col-center { display:flex; flex-direction:column; }

.center-hero {
    position:relative;
    overflow:hidden; flex-shrink:0;
    background-color:#0e3068;
}

/* Real <img> element — shows the full image on every device */
.ch-bg-img {
    display:block;
    width:100%;
    /* Desktop: fill the hero area at a fixed height — slight crop is acceptable */
    height:524px;
    object-fit:cover;
    object-position:center center;
}

/* Lighter overlay so the image is clearly visible */
.ch-overlay {
    position:absolute; inset:0;
    background:linear-gradient(180deg,
        rgba(5,15,80,.08) 0%, rgba(5,15,80,.28) 50%, rgba(5,15,80,.65) 100%);
}

/* Content sits dead-centre over the image */
.ch-content {
    position:absolute; inset:0; z-index:2;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    text-align:center; padding:28px 24px; color:#fff;
}
.ch-title {
    display:flex; flex-direction:column; align-items:center;
    font-family: 'Montserrat', sans-serif;
    font-size:48px; font-weight:900;
    line-height:.92; margin-bottom:10px;
    text-shadow:0 2px 24px rgba(0,0,0,.45);
}
.txt-gold-lg  { color: #F0C040; }
.txt-white-lg { color: #ffffff; }
.ch-tagline { font-size:14.5px; line-height:1.66; color:rgba(255,255,255,.9); margin-bottom:26px; }
.hero-btns-lg { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

.center-lower {
    display:grid; grid-template-columns:1fr 1fr;
    background:linear-gradient(160deg, #1e3a90 0%, #0e2468 35%, #162c80 65%, #1e3a90 100%);
    flex-grow:1; border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
}
.about-block    { padding:24px 22px; border-right:1px solid rgba(255,255,255,.12); }
.involved-block { padding:24px 22px; }
.sec-title-dark {
    font-family:var(--fh); font-size:13px; font-weight:700;
    color:#ffffff; text-transform:uppercase; letter-spacing:.5px;
    padding-bottom:8px; margin-bottom:13px;
    border-bottom:1.5px solid rgba(255,255,255,.18);
}
.about-block p,
.involved-block p { font-size:12.5px; line-height:1.7; color:rgba(255,255,255,.82); margin-bottom:11px; }

.involved-news { margin-bottom:16px; }
.involved-news-thumb {
    width:100%; height:145px;
    background-size:cover; background-position:center;
    border-radius:6px; margin-bottom:11px; overflow:hidden;
}
.involved-news-title {
    font-family:var(--fh); font-size:13px; font-weight:700;
    color:#ffffff; line-height:1.45; margin-bottom:8px;
}
.involved-news-title a { color:inherit; }
.involved-news-title a:hover { color:var(--gold); }
.involved-news-text { font-size:12px; color:rgba(255,255,255,.78); line-height:1.65; margin-bottom:0; }

.btn-follow {
    display:inline-block; background:var(--gold); color:#0a1e52;
    font-family:var(--fh); font-size:12px; font-weight:700;
    letter-spacing:1px; padding:10px 22px;
    border-radius:var(--r); margin-top:6px; transition:background .22s;
}
.btn-follow:hover { background:var(--gold-b); }

/* ================================================================
   RIGHT COLUMN
   ================================================================ */
.col-right { background:#0c1e58; display:flex; flex-direction:column; border-left:1px solid rgba(255,255,255,.08); }

/* Feature image */
.feature-img-section { flex-shrink:0; overflow:hidden; }
.feature-img {
    position:relative; width:100%; height:320px;
    background-size:cover; background-position:center 25%;
    background-repeat:no-repeat; display:flex; align-items:flex-end; overflow:hidden;
}
.feature-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,.00) 0%, rgba(0,0,0,.05) 55%, rgba(0,0,0,.60) 100%);
}
.feature-title {
    position:relative; z-index:2;
    font-family:var(--fh); font-size:15px; font-weight:800;
    color:#ffffff; letter-spacing:.3px;
    padding:0 16px 18px;
    text-shadow:0 2px 12px rgba(0,0,0,.75);
    line-height:1.3; text-transform:uppercase;
}

/* Portrait section */
.portrait-section { overflow:hidden; flex-shrink:0; }
.portrait-img {
    position:relative; width:100%; height:420px;
    background-size:cover; background-position:center 20%;
    background-repeat:no-repeat; display:flex; align-items:flex-end; overflow:hidden;
}
.portrait-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,.00) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.72) 100%);
}
.portrait-caption {
    position:relative; z-index:2;
    padding:0 16px 20px; display:flex; flex-direction:column; gap:4px;
}
.portrait-name {
    font-family:var(--fh); font-size:16px; font-weight:800;
    color:var(--gold); letter-spacing:.3px;
    text-shadow:0 2px 10px rgba(0,0,0,.6); display:block;
}
.portrait-role {
    font-family:var(--fh); font-size:12px; font-weight:500;
    color:rgba(255,255,255,.92); letter-spacing:.2px;
    text-shadow:0 1px 8px rgba(0,0,0,.6); display:block;
}

/* ================================================================
   RIGHT FOOTER
   ================================================================ */
.right-footer {
    position:relative; overflow:hidden;
    padding:18px 16px 14px;
    background-color:#0c1e58;
    background-image:
        radial-gradient(ellipse 80% 70% at 110% 120%,
            rgba(201,162,39,.55) 0%, rgba(190,145,15,.35) 28%,
            rgba(160,110,5,.15) 52%, transparent 70%),
        radial-gradient(ellipse 50% 50% at -10% 110%,
            rgba(180,130,10,.25) 0%, transparent 60%);
}
.rf-top { display:grid; grid-template-columns:auto 1fr auto auto; gap:14px; align-items:start; margin-bottom:12px; }
.rf-logo-disc {
    width:44px; height:44px; border-radius:50%; overflow:hidden;
    background:#000; border:1.5px solid rgba(0,170,255,.3);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.rf-logo-disc img { width:100%; height:100%; object-fit:cover; display:block; }
.rf-links { display:flex; flex-direction:column; gap:5px; }
.rf-links a { color:rgba(255,255,255,.62); font-size:11.5px; transition:color .2s; }
.rf-links a:hover { color:var(--gold); }
.rf-social { display:flex; flex-direction:column; gap:8px; }
.rf-social a { color:rgba(255,255,255,.55); font-size:14px; transition:color .2s; }
.rf-social a:hover { color:var(--gold); }
.rf-address { display:flex; align-items:flex-start; gap:6px; font-size:11.5px; color:rgba(255,255,255,.62); max-width:120px; }
.rf-address i { color:var(--gold); margin-top:2px; flex-shrink:0; }
.rf-copy { text-align:center; font-size:11px; color:rgba(255,255,255,.32); border-top:1px solid rgba(255,255,255,.08); padding-top:10px; }

/* ================================================================
   HERO LISTEN LIVE BUTTONS
   ================================================================ */
.btn-listen-hero {
    display:inline-flex; align-items:center; gap:7px;
    font-family:var(--fh); font-size:9.5px; font-weight:700;
    letter-spacing:.5px; padding:7px 16px; border-radius:20px;
    cursor:pointer; white-space:nowrap; transition:all .22s;
    background:var(--gold); color:#000000; border:1.5px solid var(--gold);
}
.btn-listen-hero:hover { background:#ffffff; color:#000000; border-color:#ffffff; }

.btn-listen-hero-lg {
    display:inline-flex; align-items:center; gap:9px;
    font-family:var(--fh); font-size:13px; font-weight:700;
    letter-spacing:.8px; padding:13px 28px; border-radius:20px;
    cursor:pointer; white-space:nowrap; transition:all .25s;
    background:var(--gold); color:#000000; border:2px solid var(--gold);
}
.btn-listen-hero-lg:hover { background:#ffffff; color:#000000; border-color:#ffffff; }

/* ================================================================
   INNER PAGES (About, Departments, single posts, archive)
   ================================================================ */
.inner-page { padding:40px 20px 60px; min-height:60vh; }

.inner-wrap {
    max-width:900px;
    margin:0 auto;
    background:rgba(255,255,255,.96);
    border-radius:10px;
    padding:40px 44px;
    box-shadow:0 8px 40px rgba(0,0,0,.25);
}

.inner-page-title {
    font-family:var(--fh);
    font-size:32px; font-weight:800;
    color:var(--blue-dk);
    margin-bottom:24px;
    padding-bottom:16px;
    border-bottom:3px solid var(--gold);
    line-height:1.2;
}

.inner-featured-img { margin-bottom:26px; border-radius:8px; overflow:hidden; }
.inner-featured-img img { width:100%; height:auto; display:block; object-fit:cover; border-radius:8px; }

.inner-content {
    font-size:15px; line-height:1.8; color:var(--txt);
}
.inner-content h2,
.inner-content h3 { font-family:var(--fh); color:var(--blue-dk); margin:24px 0 12px; }
.inner-content p  { margin-bottom:16px; }
.inner-content ul,
.inner-content ol { padding-left:24px; margin-bottom:16px; }
.inner-content li { margin-bottom:6px; }
.inner-content a  { color:var(--blue-mid); text-decoration:underline; }
.inner-content a:hover { color:var(--blue-dk); }
.inner-content img { border-radius:6px; }

/* Single post meta */
.single-meta {
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:18px; flex-wrap:wrap; gap:8px;
}
.back-link {
    font-family:var(--fh); font-size:13px; font-weight:600;
    color:var(--blue-mid); display:inline-flex; align-items:center; gap:6px;
    transition:color .2s;
}
.back-link:hover { color:var(--blue-dk); }
.single-date { font-size:13px; color:var(--txt-lt); }

.single-nav {
    display:flex; gap:12px; flex-wrap:wrap; margin-top:32px;
    padding-top:20px; border-top:1px solid var(--border);
}
.post-nav-link {
    font-family:var(--fh); font-size:13px; font-weight:600;
    color:var(--blue-mid); display:inline-flex; align-items:center; gap:6px;
    border:1px solid var(--blue-mid); padding:8px 14px; border-radius:4px;
    transition:all .2s;
}
.post-nav-link:hover { background:var(--blue-dk); color:#fff; border-color:var(--blue-dk); }
.post-nav-link.next { margin-left:auto; }

/* Archive grid */
.archive-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:32px; }
.archive-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; background:#fff; transition:box-shadow .22s; }
.archive-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.14); }
.archive-thumb { display:block; overflow:hidden; }
.archive-thumb img { width:100%; height:200px; object-fit:cover; display:block; transition:transform .3s; }
.archive-thumb:hover img { transform:scale(1.04); }
.archive-body { padding:18px; }
.archive-date { font-size:11.5px; color:var(--txt-lt); display:block; margin-bottom:6px; }
.archive-title { font-family:var(--fh); font-size:16px; font-weight:700; color:var(--txt); margin-bottom:10px; line-height:1.35; }
.archive-title a { color:inherit; }
.archive-title a:hover { color:var(--blue-mid); }
.archive-excerpt { font-size:13px; color:var(--txt-mid); line-height:1.65; margin-bottom:14px; }
.archive-pagination { display:flex; justify-content:center; }
.archive-pagination .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.archive-pagination .page-numbers {
    font-family:var(--fh); font-size:13px; font-weight:600;
    padding:8px 14px; border-radius:4px;
    border:1px solid var(--border); color:var(--txt-mid); transition:all .2s;
}
.archive-pagination .page-numbers.current,
.archive-pagination .page-numbers:hover { background:var(--blue-dk); color:#fff; border-color:var(--blue-dk); }
.no-posts { color:rgba(255,255,255,.8); font-size:15px; text-align:center; padding:40px 0; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width:1200px) {
    .three-col { grid-template-columns:1fr 1fr 1fr; }
    .ch-title  { font-size:52px; }
    .nav-pill  { padding:0 24px; }
    .nav-left  ul li a,
    .nav-right ul li a { padding:12px 10px; font-size:12px; }
}

@media (max-width:980px) {
    .three-col { grid-template-columns:1fr; }
    .nav-left, .nav-right { display:none; }
    .mob-toggle { display:block; }
    .nav-pill {
        display:flex; justify-content:center; align-items:center;
        min-height:64px; padding:0 54px;
    }
    .logo-wrap  { padding:0; }
    .logo-halo  { width:110px; height:110px; margin-top:-24px; margin-bottom:-24px; }
    .logo-halo::before { width:200px; height:200px; }
    .logo-halo::after  { width:180px; height:180px; }
    .logo-ring  { width:110px; height:110px; border-width:2.5px; }
    .site-header { padding-top:36px; }
    .col-right { border-left:none; border-top:1px solid var(--border); }
    .ch-title  { font-size:42px; }
    /* Mobile: drop the fixed height and show the FULL image without any cropping */
    .ch-bg-img {
        height:auto;
        min-height:280px;
        object-fit:contain;   /* whole image visible, no sides cut off */
        object-position:center center;
    }
    .left-hero   { height:210px; }
    .center-lower { grid-template-columns:1fr; }
    .about-block  { border-right:none; border-bottom:1px solid var(--border); }
    .portrait-img { height:420px; background-position:center 15%; }
    .stadium-img  { height:360px; background-position:center 35%; }
    .stadium-title { font-size:22px; padding:0 20px 24px; }
    .railway-img  { height:380px; background-position:center 30%; }
    .railway-title { font-size:22px; padding:0 20px 24px; }
    .feature-img  { height:380px; background-position:center 20%; }
    .feature-title { font-size:20px; padding:0 20px 24px; }
    .involved-news-thumb { height:200px; }
    .involved-news-title { font-size:15px; }
    .involved-news-text  { font-size:13px; }
    .rf-top { grid-template-columns:auto 1fr; }
    .archive-grid { grid-template-columns:1fr; }
    .inner-wrap { padding:28px 20px; }
}

@media (max-width:640px) {
    .site-header { padding-top:30px; padding-left:10px; padding-right:10px; padding-bottom:8px; }
    .nav-pill    { border-radius:40px; padding:0 46px; min-height:56px; }
    .logo-halo  { width:90px; height:90px; margin-top:-20px; margin-bottom:-20px; }
    .logo-halo::before { width:170px; height:170px; }
    .logo-halo::after  { width:150px; height:150px; }
    .logo-ring  { width:90px; height:90px; border-width:2px; }
    .ch-title    { font-size:34px; }
    .ch-bg-img   { min-height:220px; }
    .lh-title    { font-size:30px; }
    .portrait-img { height:300px; background-position:center 10%; }
    .stadium-img  { height:240px; background-position:center 40%; }
    .stadium-title { font-size:18px; padding:0 16px 18px; }
    .railway-img  { height:260px; background-position:center 35%; }
    .railway-title { font-size:18px; padding:0 16px 18px; }
    .feature-img  { height:260px; background-position:center 25%; }
    .feature-title { font-size:16px; padding:0 16px 18px; }
    .inner-page-title { font-size:24px; }
    .archive-grid { grid-template-columns:1fr; }
}
