/* ═══════════════════════════════════════════════════
   BRAND COLOURS — extracted from The Perspectives logo
   Navy  #1B3A8C  |  Green #2D7A3A  |  Gold  #F5C400
   ═══════════════════════════════════════════════════ */
:root{
  --navy:#1B3A8C; --navy-dk:#122968; --navy-lt:#2a4eaa;
  --green:#2D7A3A;
  --gold:#F5C400;  --gold-dk:#c9a000; --gold-lt:#fdd835;
  --dg:#3A3A3A; --mg:#6b6b6b; --bg:#f4f5f8;
  --bdr:#dde2ee; --wh:#fff;
  --card-shadow:0 2px 14px rgba(27,58,140,.09);
}
*{box-sizing:border-box;}
body{font-family:'Source Sans Pro',sans-serif;background:var(--bg);color:var(--dg);font-size:16px;line-height:1.65;margin:0;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--navy);}

/* ─ TOP BAR ──────────────────────────────────── */
.topbar{background:var(--navy-dk);border-bottom:3px solid var(--gold);padding:5px 0;font-size:12px;}
.topbar,.topbar a{color:rgba(255,255,255,.55);}
.topbar a:hover{color:var(--gold);}
.tb-sep{color:rgba(255,255,255,.2);margin:0 5px;}

/* ─ LANGUAGE SWITCHER ─────────────────────────
   Works via POST /switch-lang/ — no Django i18n  */
.lang-sw{display:flex;align-items:center;gap:4px;}
.lang-sw-lbl{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-right:5px;}
.lang-form{display:inline;}
.lang-btn{
  display:inline-flex;align-items:center;gap:5px;padding:3px 12px;
  border:1.5px solid rgba(255,255,255,.18);border-radius:2px;
  background:transparent;color:rgba(255,255,255,.6);
  font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  cursor:pointer;transition:all .2s;line-height:1.9;
}
.lang-btn:hover{border-color:var(--gold);color:var(--gold);}
.lang-btn.active{background:var(--gold);border-color:var(--gold);color:var(--navy-dk);font-weight:800;}

/* ─ MASTHEAD ─────────────────────────────────── */
.masthead{background:var(--wh);border-bottom:1px solid var(--bdr);padding:14px 0;}
.mast-logo img{height:68px;width:auto;display:block;}
.mast-logo-fb{display:none;flex-direction:column;}
.mast-logo-the{font:700 12px/1 'Source Sans Pro',sans-serif;letter-spacing:3px;color:var(--dg);text-transform:uppercase;}
.mast-logo-name{font:900 34px/1 'Merriweather',serif;color:var(--navy);}
.mast-logo-tag{font-size:11px;color:var(--mg);letter-spacing:1.5px;margin-top:3px;}
.mast-right{text-align:right;}
.mast-date{font-size:12px;color:var(--mg);line-height:1.6;}
.mast-date .mday{font:700 16px/1 inherit;color:var(--navy);display:block;}
.mast-lang-badge{display:inline-block;margin-top:6px;font-size:11px;background:rgba(27,58,140,.07);border:1px solid var(--bdr);padding:3px 10px;border-radius:2px;color:var(--navy);font-weight:600;}

/* ─ PRIMARY NAV ──────────────────────────────── */
.pnav{background:var(--navy);border-bottom:4px solid var(--gold);position:sticky;top:0;z-index:999;box-shadow:0 2px 10px rgba(27,58,140,.3);}
.pnav .navbar-toggler{border-color:rgba(255,255,255,.3);}
.pnav .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
.pnav-lnk{
  font:500 13px/1 'Oswald',sans-serif;letter-spacing:1.2px;text-transform:uppercase;
  color:rgba(255,255,255,.82)!important;padding:14px 14px!important;
  border-bottom:3px solid transparent;margin-bottom:-4px;transition:all .2s;
  white-space:nowrap;cursor:pointer;
}
.pnav-lnk:hover,.pnav-lnk.active{color:var(--gold)!important;border-bottom-color:var(--gold);}
.pnav-lnk .ci{font-size:9px;margin-left:4px;transition:transform .25s;vertical-align:middle;}
.pnav-lnk.open .ci{transform:rotate(180deg);}

/* ─ SECONDARY NAV  (sub-categories slide-down) ─ */
.snav{
  background:var(--navy-dk);
  overflow:hidden;max-height:0;
  transition:max-height .3s ease;
  border-bottom:2px solid transparent;
}
.snav.open{max-height:200px;border-bottom-color:rgba(245,196,0,.5);}
.snav-inner{padding:8px 0;display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.snav-label{
  font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.35);padding:5px 14px;white-space:nowrap;
  border-right:1px solid rgba(255,255,255,.1);margin-right:4px;flex-shrink:0;
}
.snav-pill{
  font-size:12px;font-weight:600;color:rgba(255,255,255,.72);padding:5px 14px;
  border-radius:2px;border:1px solid transparent;transition:all .18s;white-space:nowrap;
}
.snav-pill:hover{background:rgba(245,196,0,.14);color:var(--gold);border-color:rgba(245,196,0,.3);}
.snav-pill.act{background:var(--gold);color:var(--navy-dk);font-weight:700;border-color:var(--gold);}
.snav-close{
  margin-left:auto;font-size:11px;color:rgba(255,255,255,.35);
  padding:4px 14px;cursor:pointer;flex-shrink:0;
}
.snav-close:hover{color:rgba(255,255,255,.7);}

/* search */
.nav-search{display:flex;align-items:center;}
.nav-search input{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;
  padding:6px 12px;font-size:13px;border-radius:2px 0 0 2px;width:185px;
  outline:none;transition:all .2s;
}
.nav-search input::placeholder{color:rgba(255,255,255,.4);}
.nav-search input:focus{background:rgba(255,255,255,.15);border-color:var(--gold);width:215px;}
.nav-search button{background:var(--gold);border:none;color:var(--navy-dk);padding:6px 13px;border-radius:0 2px 2px 0;cursor:pointer;font-weight:700;}
.nav-search button:hover{background:var(--gold-lt);}

/* ─ BREAKING TICKER ─────────────────────────── */
.breaking-bar{background:var(--navy);padding:7px 0;overflow:hidden;}
.brk-tag{background:var(--gold);color:var(--navy-dk);padding:2px 14px;font:700 11px/1 'Oswald',sans-serif;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;margin-right:14px;border-radius:1px;}
.ticker-wrap{overflow:hidden;flex:1;}
.ticker-track{display:flex;gap:50px;white-space:nowrap;animation:ticker 38s linear infinite;}
.ticker-track a{color:rgba(255,255,255,.9);font-size:13px;font-weight:600;flex-shrink:0;}
.ticker-track a::before{content:'▸';margin-right:8px;color:var(--gold);font-size:10px;}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ─ SECTION HEADINGS ─────────────────────────── */
.sec-hd{display:flex;align-items:stretch;border-bottom:2px solid var(--navy);margin-bottom:22px;}
.sec-hd h2{font:600 16px/1 'Oswald',sans-serif;letter-spacing:1.5px;text-transform:uppercase;background:var(--navy);color:#fff;padding:9px 18px;margin:0;border-left:4px solid var(--gold);}
.sec-hd-bar{background:var(--gold);width:5px;flex-shrink:0;}
.sec-hd-all{margin-left:auto;align-self:flex-end;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--mg);padding-bottom:5px;}
.sec-hd-all:hover{color:var(--navy);}

/* ─ CARDS ─────────────────────────────────────── */
.ac{background:var(--wh);border:1px solid var(--bdr);border-top:3px solid transparent;transition:all .25s;overflow:hidden;height:100%;}
.ac:hover{border-top-color:var(--navy);box-shadow:var(--card-shadow);transform:translateY(-3px);}
.ac-img{overflow:hidden;aspect-ratio:16/9;}
.ac-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.ac:hover .ac-img img{transform:scale(1.05);}
.ac-noimg{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,#e8ecf5,#d0d8ec);display:flex;align-items:center;justify-content:center;}
.ac-noimg i{font-size:36px;color:#b0bbd8;}
.ac-body{padding:16px;}
.ctag{display:inline-block;font:600 10px/1 'Oswald',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);background:rgba(27,58,140,.07);padding:3px 8px;border-radius:2px;margin-bottom:7px;border-left:3px solid var(--gold);}
.ctag:hover{background:var(--navy);color:var(--gold);}
.stag{font-size:10px;color:var(--mg);}
.ac h5{font:700 15px/1.35 'Merriweather',serif;margin-bottom:8px;color:var(--dg);}
.ac p{font-size:14px;color:var(--mg);margin-bottom:10px;}
.ameta{font-size:12px;color:var(--mg);}
.ameta i{color:var(--navy);margin-right:3px;font-size:11px;}
.ameta .s{margin:0 5px;color:var(--bdr);}

/* ─ HERO ─────────────────────────────────────── */
.hero-main{position:relative;overflow:hidden;background:var(--navy-dk);border-radius:2px;}
.hero-main img{width:100%;height:420px;object-fit:cover;opacity:.72;display:block;}
.hero-noimg{height:420px;background:linear-gradient(135deg,var(--navy-dk),var(--navy) 60%,#1A4FBF);display:flex;align-items:center;justify-content:center;}
.hero-noimg i{font-size:80px;color:rgba(245,196,0,.25);}
.hero-ov{position:absolute;bottom:0;left:0;right:0;padding:70px 26px 22px;background:linear-gradient(transparent,rgba(18,41,104,.94));}
.hero-ov .ctag{color:var(--gold);background:rgba(245,196,0,.15);border-left-color:var(--gold-lt);}
.hero-ov h2{font:900 28px/1.25 'Merriweather',serif;color:#fff;margin-bottom:10px;}
.hero-ov .ameta{color:rgba(255,255,255,.6);}
.hero-ov .ameta i{color:var(--gold-lt);}
.hs-item{display:flex;gap:10px;padding:10px;background:var(--wh);border:1px solid var(--bdr);border-left:3px solid var(--gold);margin-bottom:8px;transition:all .2s;align-items:flex-start;}
.hs-item:hover{border-left-color:var(--navy);}
.hs-item img{width:80px;height:60px;object-fit:cover;flex-shrink:0;}
.hs-noimg{width:80px;height:60px;flex-shrink:0;background:var(--bg);display:flex;align-items:center;justify-content:center;}
.hs-noimg i{color:#b0bbd8;font-size:20px;}
.hs-cat{font-size:10px;color:var(--navy);font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.hs-title{font:700 13px/1.3 'Merriweather',serif;margin:3px 0;color:var(--dg);}
.hs-date{font-size:11px;color:var(--mg);}

/* ─ BADGES ───────────────────────────────────── */
.bb{background:#d32f2f;color:#fff;font-size:10px;padding:3px 8px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border-radius:2px;}
.bt{background:var(--gold);color:var(--navy-dk);font-size:10px;padding:3px 8px;font-weight:800;border-radius:2px;}
.bf{background:var(--green);color:#fff;font-size:10px;padding:3px 8px;font-weight:700;border-radius:2px;}

/* ─ SIDEBAR ──────────────────────────────────── */
.sw{background:var(--wh);border:1px solid var(--bdr);margin-bottom:24px;}
.sw-hd{background:var(--navy);color:#fff;padding:10px 16px;font:600 13px/1 'Oswald',sans-serif;letter-spacing:1.5px;text-transform:uppercase;border-left:4px solid var(--gold);}
.sw-hd i{color:var(--gold);margin-right:6px;}
.sw-body{padding:12px 16px;}
.trend-list{list-style:none;padding:0 16px;margin:0;}
.trend-list li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--bdr);align-items:flex-start;}
.trend-list li:last-child{border-bottom:none;}
.tnum{font:700 26px/1 'Oswald',sans-serif;color:var(--bdr);min-width:32px;flex-shrink:0;transition:color .2s;}
.trend-list li:hover .tnum{color:var(--gold);}
.tcat{font-size:10px;color:var(--navy);font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.ttitle{font:700 13px/1.3 'Merriweather',serif;margin:3px 0;}
.ttitle a:hover{color:var(--navy);}
.tdate{font-size:11px;color:var(--mg);}
.sw-list{list-style:none;padding:0;margin:0;}
.sw-list li{border-bottom:1px solid var(--bdr);}
.sw-list li a{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;font-size:14px;font-weight:600;color:var(--dg);transition:all .2s;}
.sw-list li a:hover,.sw-list li a.act{color:var(--navy);background:rgba(27,58,140,.04);}
.sw-list li a i{color:var(--gold);}

/* ─ LISTING PAGE HEADER ──────────────────────── */
.lst-hdr{background:linear-gradient(135deg,var(--navy-dk),var(--navy));padding:28px 32px;border-radius:2px 2px 0 0;}
.lst-hdr .bc a{color:rgba(245,196,0,.7);font:700 11px/1 inherit;letter-spacing:.8px;text-transform:uppercase;}
.lst-hdr .bc .bs{color:rgba(255,255,255,.2);margin:0 8px;}
.lst-hdr .bc span{color:rgba(255,255,255,.5);font-size:11px;}
.lst-hdr h1{font:900 32px/1 'Merriweather',serif;color:#fff;margin:8px 0 0;}
.sub-filter-bar{background:var(--wh);border:1px solid var(--bdr);border-top:none;padding:14px 20px;}
.sfpills{display:flex;flex-wrap:wrap;gap:8px;}
.sfpill{padding:7px 16px;border:1.5px solid var(--bdr);font-size:13px;font-weight:600;color:var(--dg);background:var(--wh);border-radius:2px;transition:all .2s;}
.sfpill:hover,.sfpill.act{background:var(--navy);border-color:var(--navy);color:var(--gold);}

/* ─ ARTICLE DETAIL ───────────────────────────── */
.art-title{font:900 36px/1.2 'Merriweather',serif;color:var(--navy);margin-bottom:18px;}
.bc-bar{display:flex;gap:6px;align-items:center;font-size:12px;margin-bottom:14px;flex-wrap:wrap;}
.bc-bar a{color:var(--navy);font:600 11px/1 inherit;letter-spacing:.8px;text-transform:uppercase;}
.bc-bar .bs{color:var(--bdr);}
.byline{display:flex;gap:24px;align-items:center;padding:16px 0;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);margin-bottom:12px;font-size:13px;color:var(--mg);justify-content:space-between;}
.byline i{color:var(--navy);margin-right:4px;font-size:12px;}
.by-author{font-weight:700;color:var(--dg);}
.art-feat{margin-bottom:8px;}
.art-feat img{width:100%;max-height:480px;object-fit:cover;margin-bottom:8px;}
.art-feat .icap{font-size:12px;color:var(--mg);padding:0;font-style:italic;display:flex;align-items:center;gap:6px;}
.art-summary{background:#f0f3fa;border-left:4px solid var(--navy);padding:16px 20px;margin-bottom:26px;font:400 italic 17px/1.65 'Merriweather',serif;color:#444;}
.art-content{font-size:17px;line-height:1.85;color:#2a2a2a;}
.art-content p{margin-bottom:1.3em;}
.art-content h2,.art-content h3{font-family:'Merriweather',serif;color:var(--navy);margin:1.6em 0 .8em;}
.art-content blockquote{border-left:4px solid var(--gold);padding:12px 20px;margin:24px 0;background:#fafaf4;font-style:italic;font-family:'Merriweather',serif;}
.share-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:16px 0;margin:24px 0;}
.share-lbl{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mg);}
.sbtn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:700;color:#fff;border:none;border-radius:2px;cursor:pointer;transition:opacity .2s;}
.sbtn:hover{opacity:.85;color:#fff;}
.sbtn.fb{background:#1877F2;}.sbtn.wa{background:#25D366;}.sbtn.tw{background:#000;}
.cmt-item{background:var(--wh);border:1px solid var(--bdr);border-left:3px solid var(--gold);padding:16px;margin-bottom:12px;}
.cmt-av{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0;margin-right:12px;}
.cmt-form{background:var(--wh);border:1px solid var(--bdr);border-top:3px solid var(--navy);padding:26px;}
.cmt-form h4{font:700 20px/1 'Merriweather',serif;color:var(--navy);margin-bottom:8px;}
.form-control:focus{border-color:var(--navy);box-shadow:0 0 0 .2rem rgba(27,58,140,.15);}
.btn-cmt{background:var(--navy);color:var(--gold);border:2px solid var(--navy);padding:10px 28px;font-weight:800;font-size:14px;cursor:pointer;border-radius:2px;transition:all .2s;}
.btn-cmt:hover{background:var(--gold);color:var(--navy-dk);border-color:var(--gold);}

/* ─ SEARCH ───────────────────────────────────── */
.search-hdr{border-bottom:3px solid var(--navy);margin-bottom:26px;padding-bottom:18px;}
.search-hdr h1{font:900 26px/1 'Merriweather',serif;color:var(--navy);}
.scope-note{display:inline-flex;align-items:center;gap:6px;background:rgba(245,196,0,.12);border:1px solid var(--gold);padding:5px 14px;font-size:13px;border-radius:2px;margin-bottom:12px;}
.scope-note i{color:var(--gold-dk);}
.sr-card{background:var(--wh);border:1px solid var(--bdr);border-left:4px solid transparent;display:flex;margin-bottom:16px;overflow:hidden;transition:all .2s;}
.sr-card:hover{border-left-color:var(--navy);box-shadow:var(--card-shadow);}
.sr-thumb{width:155px;flex-shrink:0;overflow:hidden;}
.sr-thumb img{width:100%;height:100%;object-fit:cover;min-height:115px;}
.sr-noimg{width:155px;min-height:115px;background:linear-gradient(135deg,#e8ecf5,#d0d8ec);display:flex;align-items:center;justify-content:center;}
.sr-noimg i{font-size:30px;color:#b0bbd8;}
.sr-body{padding:16px 20px;flex:1;}
.sr-body h4{font:700 19px/1 'Merriweather',serif;margin-bottom:8px;color:var(--dg);}

/* ─ FOOTER ───────────────────────────────────── */
footer{background:var(--navy-dk);color:rgba(255,255,255,.55);margin-top:52px;padding:42px 0 0;border-top:4px solid var(--gold);}
footer h5{font:600 13px/1 'Oswald',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);}
footer a{color:rgba(255,255,255,.55);font-size:13px;}
footer a:hover{color:var(--gold);}
.ft-logo img{height:50px;width:auto;filter:brightness(0) invert(1);}
.ft-logo-fb{font:900 20px/1 'Merriweather',serif;color:#fff;}
.ft-logo-fb span{color:var(--gold);}
.ft-soc a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);margin-right:6px;font-size:14px;transition:all .2s;}
.ft-soc a:hover{background:var(--gold);color:var(--navy-dk);}
.ft-list{list-style:none;padding:0;margin:0;}
.ft-list li{margin-bottom:7px;}
.ft-list li a::before{content:'›';color:var(--gold);margin-right:7px;font-weight:700;}
.ft-btm{background:rgba(0,0,0,.3);margin-top:30px;padding:12px 0;font-size:12px;text-align:center;color:rgba(255,255,255,.3);}

/* ─ RESPONSIVE ───────────────────────────────── */
@media(max-width:991px){.hero-main img,.hero-noimg{height:300px;}.art-title{font-size:26px!important;}}
@media(max-width:767px){.mast-logo img{height:50px;}.art-title{font-size:22px!important;}.nav-search input{width:130px;}.sr-thumb,.sr-noimg{width:100px;}}