/*
Theme Name:   Coin Republic
Theme URI:    https://example.com/coin-republic
Author:       Coin Republic
Author URI:   https://example.com
Description:  A data-led news theme for crypto and digital asset publications. Cream and orange masthead, dark editorial hero with a live market rail, Key Insights blocks on every article, a translate row in the footer, and a sidebar you can place left, right or turn off per post. Pairs with the Coin Republic Setup plugin, which builds the categories, pages, menus and SEO data in one click.
Version:      1.7.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  coin-republic
Tags:         news, blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================
   1 · TOKENS
   ========================================================== */
:root{
  --cream:#F5F0E8; --cream-2:#EDE5D9; --cream-3:#E2D8C8;
  --peach:#FBDFC7; --orange:#F26B21; --orange-hi:#FF8A3D;
  --ink:#16181D; --ink-2:#4A4E58; --ink-3:#84899A;
  --night:#0A0B0F; --gold:#C99A3E; --paper:#FFFFFF;
  --up:#12A05F; --down:#DB3B2C;

  --display:'Archivo',system-ui,sans-serif;
  --serif:'Source Serif 4',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  --maxw:1200px; --pad:32px;
  --r:14px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 1px 2px rgba(22,24,29,.05),0 12px 28px -18px rgba(22,24,29,.35);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--display);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{margin:0;font-family:var(--display);line-height:1.12;letter-spacing:-.028em;font-weight:800}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.u{color:var(--up)} .d{color:var(--down)}

/* ==========================================================
   2 · HEADER  (menu · buttons · ad slot)
   ========================================================== */
.hdr{background:var(--cream);position:sticky;top:0;z-index:80;border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
.hdr.is-stuck{border-color:var(--cream-2)}
.hdr__in{display:flex;align-items:center;gap:36px;height:96px;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.logo{display:flex;align-items:center;gap:12px;flex:none}
.logo svg{width:46px;height:46px;flex:none}
.lock{display:grid;line-height:1;text-transform:uppercase}
.lock em{font:700 9.5px/1 var(--display);letter-spacing:.22em;color:var(--ink-3);font-style:normal;margin-bottom:3px}
.lock b{font:800 15px/1.12 var(--display);letter-spacing:-.01em;color:var(--ink)}

.menu{display:flex;align-items:center;gap:2px;margin:0 auto}
.menu>li{list-style:none;position:relative}
.menu a,.menu button{display:flex;align-items:center;gap:6px;font-weight:600;font-size:15.5px;padding:12px 15px;border-radius:3px;white-space:nowrap;transition:.16s var(--ease)}
.menu a:hover,.menu button:hover{color:var(--orange)}
.menu .is-on{background:var(--peach);color:var(--orange)}
.menu ul{
  position:absolute;top:calc(100% + 8px);left:0;min-width:216px;background:var(--paper);
  border:1px solid var(--cream-2);border-radius:12px;padding:8px;box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s var(--ease);list-style:none;margin:0
}
.menu li:hover>ul,.menu li:focus-within>ul{opacity:1;visibility:visible;transform:none}
.menu ul a{justify-content:space-between;font-size:14.5px;padding:9px 11px;border-radius:6px;font-weight:600}
.menu ul a:hover{background:var(--cream);color:var(--orange)}
.menu ul em{font-style:normal;font-family:var(--mono);font-size:11.5px;font-weight:500}

.hdr__right{display:flex;align-items:center;gap:14px;flex:none}
.icobtn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;transition:.16s var(--ease)}
.icobtn--search{background:var(--orange);color:#fff;font-size:19px}
.icobtn--search:hover{background:var(--orange-hi);transform:scale(1.05)}
.burger{display:grid;gap:5px}
.burger i{width:22px;height:2.5px;background:var(--ink);border-radius:2px;transition:.2s var(--ease)}

/* header ad slot — swappable creative, Customizer-controlled */
.adbtn{position:relative;width:150px;height:80px;border-radius:8px;overflow:hidden;border:1px solid var(--cream-3);flex:none;background:#140B22;display:grid;place-items:center;text-align:center}
.adbtn::after{content:"AD";position:absolute;top:5px;right:6px;font:700 8px/1 var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.55);background:rgba(0,0,0,.45);padding:3px 4px;border-radius:3px}
.adbtn i{position:absolute;inset:0;background:radial-gradient(90% 90% at 50% 110%,rgba(155,92,255,.75),transparent 60%),linear-gradient(150deg,#2A1338,#0E0A1C)}
.adbtn div{position:relative}
.adbtn span{font:900 15px/1 var(--display);letter-spacing:.14em;color:#fff}
.adbtn em{display:block;font:700 8px/1 var(--mono);letter-spacing:.1em;color:#0B1F12;background:#5BE58C;border-radius:999px;padding:4px 8px;margin-top:8px;font-style:normal}
.adbtn:hover i{filter:brightness(1.15)}

/* ==========================================================
   3 · HERO
   ========================================================== */
.hero{padding:0 var(--pad) 40px;max-width:var(--maxw);margin:0 auto}
.panel{position:relative;overflow:hidden;border-radius:28px;background:var(--night);padding:26px clamp(24px,3.4vw,48px) 0;isolation:isolate}
.panel__bg{position:absolute;inset:0;z-index:-2}
.panel__bg::before{content:"";position:absolute;inset:0;background:
  radial-gradient(90% 120% at 26% 118%,rgba(201,154,62,.55),transparent 58%),
  radial-gradient(60% 90% at 78% 8%,rgba(242,107,33,.20),transparent 62%),
  linear-gradient(180deg,#0E1017,#08090D 70%)}
.panel__bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(96deg,rgba(8,9,13,.94) 0%,rgba(8,9,13,.74) 46%,rgba(8,9,13,.28) 72%,transparent 100%)}
.weave{position:absolute;inset:0;z-index:-1;opacity:.5;mix-blend-mode:screen}
.bigmark{position:absolute;right:-2%;bottom:-16%;z-index:-1;width:min(46vw,620px);opacity:.13;color:var(--gold);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:translateY(-22px) rotate(-2.5deg)}}

.tstrip{display:flex;align-items:center;gap:18px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.09)}
.tstrip__tag{font:700 10.5px/1 var(--mono);letter-spacing:.18em;color:var(--night);background:var(--cream);padding:8px 11px;border-radius:4px;flex:none}
.tstrip__rot{flex:1;overflow:hidden;height:22px;position:relative}
.tstrip__rot a{position:absolute;inset:0;display:flex;align-items:center;color:var(--orange-hi);font-size:15px;font-weight:600;opacity:0;transform:translateY(60%);transition:.5s var(--ease);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tstrip__rot a.is-on{opacity:1;transform:none}
.tstrip__nav{display:flex;gap:8px;flex:none}
.tstrip__nav button{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:rgba(255,255,255,.75);display:grid;place-items:center;font-size:13px;transition:.18s var(--ease)}
.tstrip__nav button:hover{border-color:var(--orange);color:var(--orange);background:rgba(242,107,33,.1)}

.hbody{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:clamp(32px,4vw,64px);padding:clamp(32px,4vw,56px) 0 0;align-items:start}
.kicker{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.tag{font:700 10.5px/1 var(--mono);letter-spacing:.16em;color:var(--orange);border:1px solid rgba(242,107,33,.45);padding:7px 11px;border-radius:4px;background:rgba(242,107,33,.1)}
.live{display:flex;align-items:center;gap:7px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;color:rgba(255,255,255,.62)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--orange);position:relative;flex:none}
.dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--orange);animation:ping 2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.lede{min-width:0}
.hero .headline{font-size:clamp(30px,3.5vw,52px);font-weight:900;color:#fff;letter-spacing:-.035em;max-width:100%;margin-bottom:24px;line-height:1.05;text-wrap:balance}
.hero .headline a{color:inherit}
.hero .headline a:hover{color:var(--orange-hi)}
.hero .headline .w{display:inline-block;opacity:0;transform:translateY(14px);animation:rise .7s var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.deck{font-family:var(--serif);font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.72);max-width:56ch;margin:0 0 28px;text-wrap:pretty}
.figures{display:flex;margin-bottom:30px;flex-wrap:wrap;row-gap:22px}
.fig{padding:0 26px;border-left:1px solid rgba(255,255,255,.14)}
.fig:first-child{padding-left:0;border-left:0}
.fig b{display:block;font-family:var(--mono);font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1;margin-bottom:9px}
.fig b.neg{color:var(--orange-hi)}
.fig span{font:500 10.5px/1.5 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;max-width:16ch}
.byline{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:clamp(32px,4vw,52px)}
.who{display:flex;align-items:center;gap:11px}
.avatar{width:38px;height:38px;border-radius:50%;flex:none;background:linear-gradient(140deg,var(--orange-hi),#A8410F);display:grid;place-items:center;font:800 13px/1 var(--display);color:#fff}
.who b{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:0;color:var(--ink)}
.who b a{color:inherit}
.who b a:hover{color:var(--orange)}
.who span{display:block;font:400 11.5px/1 var(--mono);color:var(--ink-3);margin-top:4px}

/* Only the dark hero panel gets light byline text. */
.hero .who b{font-family:var(--serif);font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.hero .who span{color:rgba(255,255,255,.5)}
.stamp{font:400 11.5px/1 var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.5)}
.cta{font-weight:700;font-size:13.5px;padding:11px 22px;border-radius:999px;background:var(--orange);color:#fff;transition:.18s var(--ease)}
.cta:hover{background:var(--orange-hi);transform:translateY(-1px)}

.tl{background:var(--cream);border-radius:20px;padding:26px 26px 22px;align-self:start;box-shadow:0 30px 70px -30px rgba(0,0,0,.8)}
.tl__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--cream-2)}
.tl__hd h3{font-size:21px}
.tl__live{display:flex;align-items:center;gap:6px;font:700 9.5px/1 var(--mono);letter-spacing:.14em;color:var(--orange);background:rgba(242,107,33,.13);padding:6px 9px;border-radius:999px}
.tl__live .dot{width:6px;height:6px}
.tl__list{list-style:none;margin:0;padding:18px 0 0;position:relative}
.tl__list::before{content:"";position:absolute;left:57px;top:8px;bottom:26px;width:1px;background:linear-gradient(180deg,var(--orange) 0%,rgba(242,107,33,.28) 38%,var(--cream-2) 100%)}
.tl__list li{position:relative;display:grid;grid-template-columns:46px 1fr;gap:24px;padding:0 0 20px}
.tl__list li::after{content:"";position:absolute;left:53px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--cream);border:1.5px solid rgba(242,107,33,.4);transition:.18s var(--ease)}
.tl__list li:first-child::after{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px rgba(242,107,33,.18)}
.tl__list li:hover::after{background:var(--orange);border-color:var(--orange)}
.tl__list time{font:500 11px/1.35 var(--mono);color:var(--ink-3);text-align:right;padding-top:1px}
.tl__list a{font-weight:700;font-size:14.5px;line-height:1.34;display:block;transition:.18s var(--ease)}
.tl__list a:hover{color:var(--orange)}
.tl__foot a{display:block;text-align:center;font-weight:700;font-size:13.5px;padding:12px;border:1px solid var(--orange);background:var(--peach);color:var(--orange);border-radius:8px;transition:.18s var(--ease)}
.tl__foot a:hover{background:var(--orange);color:#fff}

.rail{border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.42);margin:0 clamp(-48px,-3.4vw,-24px);padding:0 clamp(24px,3.4vw,48px);display:flex;align-items:center;gap:22px;height:60px}
.rail__lbl{font:700 10px/1 var(--mono);letter-spacing:.18em;color:rgba(255,255,255,.42);flex:none}
.rail__vp{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 94%,transparent)}
.rail__track{display:flex;gap:38px;width:max-content;animation:slide 44s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
.rail__vp:hover .rail__track{animation-play-state:paused}
.tick{display:flex;align-items:baseline;gap:9px;font-family:var(--mono);font-size:13px;white-space:nowrap}
.tick b{font-weight:700;color:#fff;font-size:12px;letter-spacing:.06em}
.tick span{color:rgba(255,255,255,.62)}
.tick em{font-style:normal;font-size:12px;font-weight:500}
.tick em.uu{color:#4ED88F}
.tick em.dd{color:#FF6B5A}

/* ==========================================================
   4 · SECTIONS
   ========================================================== */
.sec{padding:60px 0}
.sec--tight{padding:36px 0}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.sechead h2{font-size:clamp(24px,2.6vw,32px)}
.sechead h2 i{font-style:normal;color:var(--orange)}
.sechead a,.sechead span{font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.sechead a:hover{color:var(--orange)}

.chip{display:inline-block;font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;border-radius:4px;background:var(--peach);color:var(--orange)}
.chip--pr{background:#E7E4F7;color:#5B4BC4}
.chip--rev{background:#DCF0E3;color:var(--up)}

.thumb{position:relative;border-radius:10px;overflow:hidden;background:var(--cream-2);aspect-ratio:16/9}
.thumb i{position:absolute;inset:0;background:
  radial-gradient(120% 120% at 18% 12%,rgba(201,154,62,.9),transparent 58%),
  radial-gradient(110% 110% at 82% 88%,rgba(242,107,33,.55),transparent 55%),
  linear-gradient(150deg,#1C2436,#0D1220)}
.thumb.v2 i{background:radial-gradient(120% 120% at 80% 10%,rgba(219,59,44,.6),transparent 56%),linear-gradient(150deg,#2A1620,#0D1220)}
.thumb.v3 i{background:radial-gradient(120% 120% at 20% 85%,rgba(91,75,196,.7),transparent 56%),linear-gradient(150deg,#161E36,#0D1220)}
.thumb.v4 i{background:radial-gradient(130% 130% at 50% 20%,rgba(18,160,95,.6),transparent 58%),linear-gradient(150deg,#12251F,#0D1220)}

.card{background:var(--paper);border:1px solid var(--cream-2);border-radius:var(--r);padding:14px;transition:.2s var(--ease)}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card .thumb{margin-bottom:14px}
.card .chip{margin-bottom:10px}
.card h4{font-size:17px;line-height:1.3;margin-bottom:10px}
.card h4 a:hover{color:var(--orange)}
.card p{margin:0;font-size:14.5px;color:var(--ink-2)}
.card time{font:400 11.5px/1 var(--mono);color:var(--ink-3)}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:44px}
.stack{display:grid;gap:18px}

.rowcard{display:grid;grid-template-columns:126px 1fr;gap:18px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--cream-2)}
.rowcard:last-child{border-bottom:0;padding-bottom:0}
.rowcard .thumb{aspect-ratio:4/3;margin:0}
.rowcard h5{font-size:15.5px;line-height:1.34;margin:8px 0 8px}
.rowcard h5 a:hover{color:var(--orange)}

.tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.tab{font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:9px 15px;border:1px solid var(--cream-3);border-radius:999px;color:var(--ink-2);transition:.16s var(--ease)}
.tab:hover{border-color:var(--orange);color:var(--orange)}
.tab.is-on{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* leaderboard ad */
.adlb{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.adlb__in{position:relative;height:100px;border-radius:12px;border:1px dashed var(--cream-3);background:var(--paper);display:grid;place-items:center;font:500 11px/1 var(--mono);letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}
.adlb__in::after{content:"AD";position:absolute;top:8px;right:10px;font-size:8px;letter-spacing:.12em;color:var(--ink-3)}

/* tools — dark band */
.band{background:var(--night);border-radius:24px;padding:clamp(32px,4vw,56px);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 12% 110%,rgba(201,154,62,.35),transparent 60%)}
.band>*{position:relative}
.band .sechead{border-bottom-color:rgba(255,255,255,.2)}
.band .sechead h2{color:#fff}
.band .sechead span{color:rgba(255,255,255,.45)}
.tool{border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:26px;background:rgba(255,255,255,.03)}
.tool:hover{border-color:var(--orange)}
.tool .num{font:500 10.5px/1 var(--mono);letter-spacing:.16em;color:var(--orange)}
.tool h4{font-size:20px;color:#fff;margin:12px 0 10px}
.tool p{font-size:14.5px;color:rgba(255,255,255,.62);margin:0 0 22px}

/* feed + sidebar */
.feedwrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.sidebar{position:sticky;top:116px;display:grid;gap:24px}
.widget{background:var(--paper);border:1px solid var(--cream-2);border-radius:var(--r);padding:24px}
.widget h4{font-size:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--cream-2)}
.widget p{font-size:14px;color:var(--ink-2);margin:0 0 14px}
.widget input{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--cream-3);background:var(--cream);font:15px var(--display);margin-bottom:10px;outline:none}
.widget input:focus{border-color:var(--orange);background:var(--paper)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;background:var(--orange);color:#fff;transition:.18s var(--ease)}
.btn:hover{background:var(--orange-hi)}
.btn--ghost{background:none;border:1px solid var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--cream)}
.btn--wide{width:100%}
.admrec{height:250px;border-radius:12px;border:1px dashed var(--cream-3);background:var(--paper);display:grid;place-items:center;font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--ink-3);position:relative}
.admrec::after{content:"AD";position:absolute;top:8px;right:10px;font-size:8px;letter-spacing:.12em}
.mostread{list-style:none;margin:0;padding:0;counter-reset:m}
.mostread li{counter-increment:m;display:grid;grid-template-columns:24px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--cream-2);font-size:14.5px;line-height:1.34;font-weight:600}
.mostread li:last-child{border:0;padding-bottom:0}
.mostread li::before{content:counter(m);font:700 16px/1.3 var(--mono);color:var(--cream-3)}
.mostread a:hover{color:var(--orange)}
.taglist{display:flex;flex-wrap:wrap;gap:8px}
.taglist a{font:500 11.5px/1 var(--mono);padding:7px 11px;border:1px solid var(--cream-3);border-radius:6px;color:var(--ink-2)}
.taglist a:hover{border-color:var(--orange);color:var(--orange)}

/* ==========================================================
   5 · FOOTER
   ========================================================== */

/* footer ad row — three 728×90 slots, as on the reference */
.ftrads{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:40px 0 0}
.ftrads div{position:relative;height:90px;border-radius:10px;border:1px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.03);display:grid;place-items:center;font:500 10.5px/1 var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.4)}
.ftrads div::after{content:"AD";position:absolute;top:7px;right:9px;font-size:8px;letter-spacing:.12em}

/* primary footer menu */
.ftrmenu{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:36px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.ftrmenu nav{display:flex;gap:6px;flex-wrap:wrap}
.ftrmenu nav a{font-weight:700;font-size:15px;padding:11px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16);transition:.16s var(--ease)}
.ftrmenu nav a:hover{border-color:var(--orange);background:var(--orange);color:#fff}

/* translate block */
.trans{padding:40px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.trans h5{font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:20px}
.langgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.lang{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;transition:.16s var(--ease)}
.lang:hover{border-color:var(--orange);background:rgba(242,107,33,.1)}
.lang.is-on{border-color:var(--orange);background:rgba(242,107,33,.14)}
.lang i{font-size:19px;font-style:normal;line-height:1;flex:none}
.lang b{display:block;font-size:14px;font-weight:700;color:#fff;line-height:1.2}
.lang span{display:block;font:400 10.5px/1 var(--mono);color:rgba(255,255,255,.45);margin-top:4px}

/* legal note + bottom bar */
.ftrnote{padding:28px 0;font-family:var(--serif);font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.6);max-width:78ch}
.ftrnote a{color:var(--orange-hi);text-decoration:underline;text-underline-offset:3px}
.legal{border-top:1px solid rgba(255,255,255,.12);padding:20px 0 44px;font-size:12.5px;color:rgba(255,255,255,.45);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.legal a:hover{color:var(--orange-hi)}

/* ==========================================================
   6 · RESPONSIVE
   ========================================================== */
@media (max-width:1180px){
  .hbody{grid-template-columns:1fr;gap:40px}
  .hero .headline{max-width:760px}
  .tl{max-width:520px}
  .feedwrap{grid-template-columns:1fr}
  .sidebar{position:static;grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .grid4{grid-template-columns:repeat(2,1fr)}
  .langgrid{grid-template-columns:repeat(3,1fr)}
  .ftrads{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .langgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .menu,.adbtn{display:none}
  .hdr__in{height:78px}
  .hdr__right{margin-left:auto}
  .grid3{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--pad:18px}
  .hero{padding:0 12px 24px}
  .panel{border-radius:18px;padding:18px 20px 0}
  .rail{margin:0 -20px;padding:0 20px;height:52px}
  .fig{padding:0 18px}
  .grid4,.sidebar{grid-template-columns:1fr}
  .rowcard{grid-template-columns:96px 1fr}
  .ftrads{grid-template-columns:1fr;gap:12px}
  .ftrmenu{justify-content:flex-start;gap:22px}
  .ftrmenu nav a{font-size:14px;padding:10px 15px}
  .tl__list::before{left:47px}
  .tl__list li{grid-template-columns:38px 1fr;gap:18px}
  .tl__list li::after{left:43px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .hero .headline .w{opacity:1;transform:none}
}

/* ==========================================================
   7 · WORDPRESS CORE CLASSES
   ========================================================== */
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
	overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
	background:var(--paper);clip:auto!important;clip-path:none;color:var(--ink);
	display:block;font-size:14px;font-weight:700;height:auto;left:5px;line-height:normal;
	padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000;border-radius:6px;
}
.skip-link{position:absolute;left:-9999px}

.alignleft{float:left;margin:6px 24px 12px 0}
.alignright{float:right;margin:6px 0 12px 24px}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignwide{width:min(100vw - 48px, 1080px);margin-left:50%;transform:translateX(-50%)}
.alignfull{width:100vw;margin-left:50%;transform:translateX(-50%);max-width:none}
.wp-caption{max-width:100%}
.wp-caption-text,.postbody figcaption{
	font:400 12px/1.5 var(--mono);color:var(--ink-3);margin-top:10px;text-align:left;
}
.sticky .card{border-color:var(--orange)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0}

/* pagination */
.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:40px}
.pagination .page-numbers{
	display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;
	border:1px solid var(--cream-3);border-radius:8px;font-weight:700;font-size:14px;
	font-family:var(--mono);transition:.16s var(--ease);
}
.pagination .page-numbers:hover{border-color:var(--orange);color:var(--orange)}
.pagination .current{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* nav menu — generated markup */
.menu .sub-menu{
	position:absolute;top:calc(100% + 8px);left:0;min-width:216px;background:var(--paper);
	border:1px solid var(--cream-2);border-radius:12px;padding:8px;box-shadow:var(--shadow);
	opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s var(--ease);
	list-style:none;margin:0;z-index:90;
}
.menu li{list-style:none;position:relative}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.menu .sub-menu a{
	display:block;font-size:14.5px;padding:9px 11px;border-radius:6px;font-weight:600;color:var(--ink);
}
.menu .sub-menu a:hover{background:var(--cream);color:var(--orange)}
.menu .menu-item-has-children>a::after{content:"▾";font-size:10px;margin-left:5px;opacity:.7}
.menu .current-menu-item>a,.menu .current-menu-parent>a{background:var(--peach);color:var(--orange)}

/* mobile drawer */
.drawer{
	position:fixed;inset:0 0 0 auto;width:min(88vw,360px);background:var(--cream);z-index:120;
	padding:24px;overflow-y:auto;transform:translateX(100%);transition:transform .28s var(--ease);
	box-shadow:-20px 0 60px -30px rgba(0,0,0,.5);
}
.drawer.is-open{transform:none}
.drawer__close{position:absolute;top:18px;right:18px;font-size:24px;line-height:1}
.drawer .menu{display:block;margin:44px 0 0}
.drawer .menu a{display:block;padding:12px 0;font-size:17px;border-bottom:1px solid var(--cream-2)}
.drawer .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;
	box-shadow:none;background:none;padding:0 0 0 16px}
.drawer-veil{position:fixed;inset:0;background:rgba(10,11,15,.5);z-index:110;opacity:0;
	visibility:hidden;transition:.28s var(--ease)}
.drawer-veil.is-open{opacity:1;visibility:visible}
body.drawer-open{overflow:hidden}

/* comments */
.comments{margin-top:56px;padding-top:32px;border-top:2px solid var(--ink)}
.comments h3{font-size:22px;margin-bottom:24px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{padding:20px 0;border-bottom:1px solid var(--cream-2)}
.comment-list .children{list-style:none;padding-left:32px}
.comment-form input,.comment-form textarea{
	width:100%;padding:12px 14px;border:1px solid var(--cream-3);border-radius:8px;
	background:var(--cream);font:15px var(--display);margin-bottom:12px;
}
.comment-form textarea{min-height:140px;font-family:var(--serif);font-size:16px}

/* language switcher from the setup plugin */
.crs-trans__heading{
	font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
	color:rgba(255,255,255,.42);margin:0 0 20px;
}
.crs-langgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.crs-lang{
	display:flex;align-items:center;gap:11px;padding:11px 14px;
	border:1px solid rgba(255,255,255,.14);border-radius:10px;transition:.16s var(--ease);
}
.crs-lang:hover{border-color:var(--orange);background:rgba(242,107,33,.1)}
.crs-lang.is-on{border-color:var(--orange);background:rgba(242,107,33,.14)}
.crs-lang i{font-size:19px;font-style:normal;line-height:1;flex:none}
.crs-lang b{display:block;font-size:14px;font-weight:700;color:#fff;line-height:1.2}
.crs-lang>span>span{display:block;font:400 10.5px/1 var(--mono);color:rgba(255,255,255,.45);margin-top:4px}
@media (max-width:1180px){.crs-langgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.crs-langgrid{grid-template-columns:repeat(2,1fr)}}

/* admin bar offset */
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}

/* ==========================================================
   8 · TEMPLATE CLASSES
   ========================================================== */
.thumb__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb a{display:block;position:absolute;inset:0}

.card__title{font-size:17px;line-height:1.3;margin-bottom:10px}
.card__title a:hover{color:var(--orange)}
.rowcard__title{font-size:15.5px;line-height:1.34;margin:8px 0}
.rowcard__title a:hover{color:var(--orange)}
.rowcard__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rowcard__meta time{font:400 11.5px/1 var(--mono);color:var(--ink-3)}
.rowcard>a{display:block}

.sechead__title{font-size:clamp(24px,2.6vw,32px)}
.sechead__title i{font-style:normal;color:var(--orange)}
.sec--fill{background:var(--surface,var(--paper))}
.sec--fill{background:#FFFFFF}

.tl__title{font-size:21px}
.headline--article{
	color:var(--ink);font-weight:900;letter-spacing:-.03em;line-height:1.08;
	font-size:clamp(28px,3.2vw,44px);max-width:22ch;margin:10px 0 26px;text-wrap:balance;
}
.deck--light{color:var(--ink-2);font-family:var(--serif)}

/* header search drawer */
.hdr__search{border-top:1px solid var(--cream-2);background:var(--cream);padding:16px 0}
.hdr__search .searchbox{max-width:520px;background:var(--paper)}
.hdr__search .searchbox input{width:100%}

/* ad zones */

/* article */
.postthumb{margin:0 0 28px}
.postthumb img{width:100%;height:auto;border-radius:12px;display:block}
.entry{font-family:var(--serif);font-size:18px;line-height:1.75;color:var(--ink-2)}
.entry p{margin:0 0 24px}
.entry h2{font-family:var(--display);font-size:27px;color:var(--ink);margin:40px 0 16px;letter-spacing:-.025em}
.entry h3{font-family:var(--display);font-size:21px;color:var(--ink);margin:32px 0 12px}
.entry a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.entry blockquote{border-left:3px solid var(--orange);margin:32px 0;padding:4px 0 4px 24px;
	font-family:var(--display);font-size:21px;line-height:1.45;font-weight:600;color:var(--ink)}
.entry ul,.entry ol{margin:0 0 24px;padding-left:22px}
.entry li{margin-bottom:8px}
.entry img{border-radius:10px;height:auto}
.entry table{width:100%;border-collapse:collapse;margin:28px 0;font-family:var(--mono);font-size:13.5px}
.entry th{text-align:left;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
	color:var(--ink-3);border-bottom:1px solid var(--cream-3);padding:10px 12px;font-weight:500}
.entry td{padding:11px 12px;border-bottom:1px solid var(--cream-2)}
.entry code{background:var(--cream);padding:2px 6px;border-radius:4px;font-size:14px}

.postbody--page{max-width:74ch;margin:0 auto}
.taglist--post{margin:32px 0 0}
.page-links{font-family:var(--mono);font-size:13px;margin:24px 0}
.authorbox__name{font-size:17px}
.archive__desc{font-family:var(--serif);font-size:17px;color:var(--ink-2);
	max-width:70ch;margin:-12px 0 28px}

/* 404 */
.error404{text-align:center;padding:80px 0 60px}
.error404__title{font-size:clamp(28px,4vw,48px);max-width:18ch;margin:12px auto 16px;text-wrap:balance}
.error404 .deck{margin:0 auto 28px}
.error404 .searchbox{max-width:420px;margin:0 auto}
.error404 .sechead{text-align:left}

/* footer menus */
.ftrmenu__list{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.ftrmenu__list a{display:block;font-weight:700;font-size:15px;padding:11px 18px;
	border-radius:999px;border:1px solid rgba(255,255,255,.16);transition:.16s var(--ease)}
.ftrmenu__list a:hover{border-color:var(--orange);background:var(--orange);color:#fff}
.legal__list{display:flex;gap:14px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.legal__list a{text-decoration:underline;text-underline-offset:2px}
.legal__list a:hover{color:var(--orange-hi)}
.widget-plain{color:inherit}

/* ==========================================================
   9 · SINGLE POST — full-bleed hero, share row, author card
   ========================================================== */

/* --- featured image band --- */
.posthero{
	position:relative;max-width:var(--maxw);margin:0 auto 0;padding:0 var(--pad);
}
.posthero__figure{position:relative;margin:0;border-radius:0;overflow:hidden;background:var(--ink)}
.posthero__img{width:100%;height:auto;display:block;aspect-ratio:16/8;object-fit:cover}


/* Google News badge, bottom right */
.gnews{
	position:absolute;bottom:16px;right:calc(var(--pad) + 16px);z-index:2;
	background:#fff;border-radius:4px;padding:7px 12px;line-height:1.1;
	box-shadow:0 2px 10px rgba(0,0,0,.28);
}
.gnews span{display:block;font:500 8px/1 var(--mono);letter-spacing:.12em;color:#5F6368}
.gnews b{display:block;font:700 15px/1.1 var(--display);color:#4285F4;margin-top:2px}

/* Preferred Source pill, straddling the bottom edge */
.prefsource{
	position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);z-index:3;
	display:flex;align-items:center;gap:12px;
	background:#16181D;border-left:4px solid var(--orange);
	border-radius:8px;padding:10px 20px 10px 14px;white-space:nowrap;
	box-shadow:0 10px 30px -12px rgba(0,0,0,.7);transition:.16s var(--ease);
}
.prefsource:hover{background:#22262F}
.prefsource__mark svg{width:28px;height:28px;display:block}
.prefsource b{display:block;font:700 14px/1.2 var(--display);color:#fff}
.prefsource em{display:block;font-style:normal;font:400 11.5px/1.2 var(--display);color:rgba(255,255,255,.6);margin-top:2px}

/* --- article head --- */
.posthero + .wrap .article{padding-top:56px}
.postmeta{
	display:flex;align-items:center;gap:18px;flex-wrap:wrap;
	padding:0 0 14px;border:0;margin-bottom:0;
}
.postmeta .avatar--sm{width:34px;height:34px;font-size:12px;border-radius:50%}
.postmeta__by{font-size:15px;color:var(--ink-2)}
.postmeta__by a{font-weight:700;color:var(--ink)}
.postmeta__by a:hover{color:var(--orange)}
.postmeta__item{
	display:inline-flex;align-items:center;gap:7px;
	font-size:14px;color:var(--ink-2);font-family:var(--display);
}
.postmeta__icon{font-size:13px;line-height:1}
.postmeta__pref:hover{color:var(--orange)}


/* --- tags + share --- */
.postfoot{
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	flex-wrap:wrap;margin-top:40px;
}
.taglist--pills{gap:8px}
.taglist--pills a{
	background:var(--peach);border:0;border-radius:999px;padding:6px 13px;
	font:600 12.5px/1 var(--display);color:var(--orange);letter-spacing:0;
}
.taglist--pills a:hover{background:var(--orange);color:#fff}

.sharerow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sharerow__tab{
	position:relative;display:inline-flex;align-items:center;gap:9px;
	background:var(--orange);color:#fff;font:700 13px/1 var(--display);letter-spacing:.06em;
	padding:13px 26px 13px 18px;border-radius:6px 0 0 6px;margin-right:10px;
}
.sharerow__tab::after{
	content:"";position:absolute;right:-13px;top:0;bottom:0;width:0;height:0;
	border-left:14px solid var(--orange);
	border-top:21px solid transparent;border-bottom:21px solid transparent;
}
.sharebtn{
	width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
	color:#fff;font:700 17px/1 var(--display);transition:.16s var(--ease);
}
.sharebtn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.sharebtn--facebook{background:#1877F2}
.sharebtn--x{background:#16181D}
.sharebtn--pinterest{background:#BD081C}
.sharebtn--whatsapp{background:#25D366}
.sharebtn--linkedin{background:#0A66C2;font-size:14px}

/* --- author card --- */
.authorbox{
	display:grid;grid-template-columns:96px 1fr;gap:28px;align-items:start;
	background:var(--paper);border:1px solid var(--cream-2);border-radius:14px;
	padding:32px;margin-top:36px;box-shadow:var(--shadow);
}
.authorbox .avatar{
	width:96px;height:96px;border-radius:50%;font-size:30px;object-fit:cover;
}
.authorbox__name{font-size:23px;margin-bottom:12px;letter-spacing:-.02em}
.authorbox p{
	font-family:var(--serif);font-size:17px;line-height:1.62;color:var(--ink-2);margin:0 0 14px;
}
.authorbox__links{display:flex;gap:18px;flex-wrap:wrap}
.authorbox__links a{font:700 13.5px/1 var(--display);color:var(--orange)}
.authorbox__links a:hover{text-decoration:underline;text-underline-offset:3px}

/* --- responsive --- */
@media (max-width:900px){
	.posthero{padding:0}
	.crumbs--overlay{left:0;font-size:13.5px;padding:11px 16px}
	.posthero__img{aspect-ratio:16/10}
	.gnews{right:12px;bottom:12px;padding:5px 9px}
	.gnews b{font-size:13px}
	.prefsource{
		position:static;transform:none;margin:14px var(--pad) 0;
		width:calc(100% - (var(--pad) * 2));white-space:normal;
	}
	.posthero + .wrap .article{padding-top:28px}
	.postfoot{flex-direction:column;align-items:flex-start;gap:18px}
	.authorbox{grid-template-columns:1fr;gap:18px;padding:24px;text-align:left}
	.authorbox .avatar{width:72px;height:72px;font-size:24px}
}
@media (max-width:520px){
	.sharerow__tab{padding:11px 20px 11px 14px;font-size:12px}
	.sharebtn{width:40px;height:40px;font-size:15px}
	.postmeta{gap:12px}
}


/* ==========================================================
   10 · ARTICLE SHELL  (classes the homepage prototype never needed)
   ========================================================== */
.article{
	display:grid;grid-template-columns:minmax(0,1fr) 340px;
	gap:clamp(28px,3vw,48px);align-items:start;padding:32px 0 0;
	/* Capped so the 1fr track lands on a readable measure. Without this the
	   track stretches to the full 1400px container while the text stays at
	   ~76ch, leaving dead space between the copy and the sidebar. */
	max-width:1160px;margin-inline:auto;
}
.postbody{min-width:0;max-width:none}

.crumbs{
	font-family:var(--display);font-size:14px;color:var(--ink-3);
	padding:24px 0 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.crumbs a:hover{color:var(--orange)}
.crumbs span{color:var(--ink-3)}

.notice{
	border:1px solid var(--cream-2);border-left:3px solid var(--orange);
	border-radius:0 10px 10px 0;background:var(--cream);
	padding:20px 24px;font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:40px 0 0;
}
.notice b{
	display:block;font-family:var(--display);font-size:15px;color:var(--ink);margin-bottom:6px;
}

.insights{
	border:1px solid var(--cream-2);border-left:3px solid var(--orange);
	border-radius:0 10px 10px 0;background:var(--cream);
	padding:20px 26px;margin:0 0 32px;
}
.insights h4{
	font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
	color:var(--orange);margin-bottom:14px;
}
.insights ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.insights li{position:relative;padding-left:20px;font-size:15.5px;color:var(--ink-2);line-height:1.55}
.insights li::before{
	content:"";position:absolute;left:0;top:10px;width:9px;height:2px;background:var(--orange);
}

/* the hero uses the same block on a dark ground */
.hero .insights{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);border-left-color:var(--orange)}
.hero .insights li{color:rgba(255,255,255,.76)}

/* --- footer translate row --------------------------------------------- */
.langrow__list{
	list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
	justify-content:center;gap:10px 26px;
}
.langrow__heading{
	font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
	color:var(--ink-3);text-align:center;margin:0 0 14px;
}
.langrow__link{
	display:inline-flex;align-items:center;gap:8px;font-size:14.5px;
	color:var(--ink-2);transition:.18s var(--ease);
}
.langrow__link:hover{color:var(--orange)}
.langrow__link.is-current{color:var(--orange);font-weight:600}
.langrow__flag{font-size:16px;line-height:1}
.langrow__english{font-style:normal;color:var(--ink-3);font-size:13px}

/* Card grids sit in a narrower track once a sidebar is present, so four
   across would leave each card too narrow to read. */
.article:not(.article--full) .article__main .cardgrid{grid-template-columns:repeat(2,1fr)}

@media (max-width:1080px){
	.article:not(.article--full) .article__main .cardgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
	.article:not(.article--full) .article__main .cardgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
	.article:not(.article--full) .article__main .cardgrid{grid-template-columns:1fr}
}

/* --- layout variants ---------------------------------------------------
   One grid, three arrangements. The left variant reorders visually rather
   than in the markup, so the article still comes first for a screen reader
   and for anyone reading with styles off. */
.article__main{min-width:0}

.article--left{grid-template-columns:340px minmax(0,1fr)}
.article--left .postbody,
.article--left .article__main{order:2}
.article--left .sidebar{order:1}

.article--full{grid-template-columns:minmax(0,1fr);max-width:1160px}
.article--full .postbody{max-width:74ch;margin-inline:auto}
.article--full .article__main{max-width:none}

/* Listing pages carry their own head and grid, so the measure cap that suits
   an article would squeeze the cards. */
.article:has(.article__main){max-width:1400px}

.sidebar-static .sidebar{position:static}

@media (max-width:1080px){
	.article,
	.article--left,
	.article--full{grid-template-columns:1fr}
	.postbody{max-width:none}
	.article--left .postbody,
	.article--left .article__main{order:1}
	.article--left .sidebar{order:2}
	.article--full .postbody{max-width:none}
}

/* ==========================================================
   11 · HOMEPAGE + ARCHIVE COMPONENTS
   ========================================================== */

/* --- header: fixed three-track grid so the actions never get squeezed out --- */
.hdr__in{
	display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;
	height:96px;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
}
.menu{justify-content:center;margin:0}
.hdr__right{justify-self:end}

/* --- hero with a photo backdrop --- */
.panel--photo{background:#0A0B0F}
.panel__photo{
	position:absolute;inset:0;z-index:-3;
	background-size:cover;background-position:center;
}
.panel__scrim{
	position:absolute;inset:0;z-index:-2;
	background:
		linear-gradient(96deg,rgba(6,7,10,.94) 0%,rgba(6,7,10,.86) 38%,rgba(6,7,10,.52) 66%,rgba(6,7,10,.34) 100%),
		linear-gradient(180deg,rgba(6,7,10,.72),rgba(6,7,10,.35) 30%,rgba(6,7,10,.8));
}
.hero .deck strong{color:#fff;font-weight:700}
.tl__live{
	background:#7FD8E8;color:#0A3540;border-radius:999px;padding:4px 10px;
	font:700 10px/1 var(--mono);letter-spacing:.12em;
}

/* --- shared card grid --- */
.cardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.newscard{
	background:var(--paper);border:1px solid var(--cream-2);border-radius:8px;
	overflow:hidden;display:flex;flex-direction:column;transition:.18s var(--ease);
}
.newscard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.newscard__media{display:block;position:relative}
.newscard__media .thumb{aspect-ratio:16/9;border-radius:0;margin:0}
.newscard__meta{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:13px 16px;border-bottom:1px solid var(--cream-2);background:var(--cream);
}
.newscard__author{
	display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-2);
	min-width:0;line-height:1.25;
}
.newscard__time{font-size:12.5px;color:var(--ink-3);white-space:nowrap;flex:none}
.newscard__title{
	padding:18px 16px 24px;font-size:17px;font-weight:800;line-height:1.32;
	letter-spacing:-.015em;flex:1;
}
.newscard__title a:hover{color:var(--orange)}
.avatar--xs{width:26px;height:26px;font-size:9px;border-radius:50%;flex:none}

/* --- archive heading --- */
.archhead{
	display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
	padding-bottom:14px;margin-bottom:32px;border-bottom:2px solid var(--ink);
}
.archhead__title{
	font-size:clamp(24px,3vw,34px);text-transform:uppercase;letter-spacing:-.01em;
}
.archhead__count{
	font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
}
.archive__desc{
	font-family:var(--serif);font-size:17px;color:var(--ink-2);max-width:70ch;margin:-16px 0 32px;
}

/* --- tab heading over a panel --- */
.panelbox{background:var(--peach);border-radius:0 16px 16px 16px;padding:28px;position:relative}
.tabhead{
	position:absolute;top:-46px;left:0;background:var(--peach);
	font:800 25px/1 var(--display);letter-spacing:-.02em;color:var(--ink);
	padding:16px 56px 16px 28px;border-radius:14px 14px 0 0;
	clip-path:polygon(0 0,calc(100% - 34px) 0,100% 100%,0 100%);
}
.centrehead{display:flex;justify-content:center;margin-bottom:0}
.centrehead h2{
	background:var(--paper);border-radius:14px 14px 0 0;padding:18px 44px;
	font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em;
}

/* --- discover more --- */
.discover__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.bigcard{background:var(--paper);border-radius:12px;overflow:hidden}
.bigcard__media .thumb{aspect-ratio:16/9;border-radius:0;margin:0}
.bigcard__body{padding:20px}
.bigcard__title{font-size:24px;line-height:1.24;margin:12px 0 12px}
.bigcard__title a:hover{color:var(--orange)}
.bigcard__body p{font-size:15px;color:var(--ink-2);margin:0 0 16px}

.discover__list{display:grid;gap:0}
.listcard{
	display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center;
	padding:18px 0;border-bottom:1px solid rgba(242,107,33,.35);
}
.listcard:last-child{border-bottom:0}
.listcard--flip{grid-template-columns:1fr 140px}
.listcard--flip .listcard__media{order:2}
.listcard__media .thumb{aspect-ratio:4/3;border-radius:8px;margin:0}
.listcard__title{
	font-size:15.5px;line-height:1.32;text-transform:uppercase;margin:8px 0;letter-spacing:-.005em;
}
.listcard__title a:hover{color:var(--orange)}

.minimeta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.minimeta b{font:700 12px/1 var(--display);letter-spacing:.04em;color:var(--ink)}
.minimeta span{font:400 12px/1 var(--display);color:var(--ink-2)}
.minimeta b::after{content:"·";margin-left:10px;color:var(--ink-3)}

.chip--outline{
	background:none;border:1px solid var(--orange);color:var(--orange);
	border-radius:999px;padding:5px 11px;
}
.chip--solid{background:var(--orange);color:#fff;border-radius:999px;padding:6px 12px}

/* --- press release --- */
.prhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.prhead h2{font-size:clamp(22px,2.4vw,30px)}
.btn--peach{background:var(--peach);color:var(--orange);border:1px solid var(--orange);border-radius:8px}
.btn--peach:hover{background:var(--orange);color:#fff}

.prgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.prcard{
	background:var(--paper);border-radius:10px;overflow:hidden;
	box-shadow:0 1px 2px rgba(22,24,29,.06),0 10px 24px -18px rgba(22,24,29,.4);
	display:flex;flex-direction:column;transition:.18s var(--ease);
}
.prcard:hover{transform:translateY(-2px)}
.prcard__media .thumb{aspect-ratio:16/9;border-radius:0;margin:0}
.prcard__body{padding:14px 16px 18px;position:relative;flex:1;padding-right:58px}
.prcard__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.prcard__meta time{font-size:13px;color:var(--ink-2);line-height:1.3}
.prcard__title{font-size:15.5px;line-height:1.34}
.prcard__title a:hover{color:var(--orange)}
.prcard__go{
	position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;
	background:var(--ink);color:#fff;display:grid;place-items:center;font-size:16px;
	transition:.18s var(--ease);
}
.prcard__go:hover{background:var(--orange);transform:translate(2px,-2px)}

/* --- latest news --- */
.latest .cardgrid{
	background:var(--paper);border-radius:0 0 14px 14px;padding:24px;
	border:1px solid var(--cream-2);border-top:0;
}
.latest__more{display:flex;justify-content:center;margin-top:28px}

/* --- footer, centred --- */

/* --- responsive --- */
@media (max-width:1180px){
	.cardgrid,.prgrid{grid-template-columns:repeat(3,1fr)}
	.discover__grid{grid-template-columns:1fr}
}
@media (max-width:900px){
	.hdr__in{grid-template-columns:auto auto;justify-content:space-between;height:78px}
	.cardgrid,.prgrid{grid-template-columns:repeat(2,1fr)}
	.tabhead{position:static;display:inline-block;margin:-28px 0 18px -28px}
	.panelbox{border-radius:16px}
}
@media (max-width:640px){
	.cardgrid,.prgrid{grid-template-columns:1fr}
	.listcard,.listcard--flip{grid-template-columns:110px 1fr}
	.listcard--flip .listcard__media{order:0}
	.archhead{flex-direction:column;align-items:flex-start;gap:8px}
	.ftrmenu--centred .ftrmenu__list{gap:20px}
	.latest .cardgrid{padding:16px}
}

/* eyebrow label (404 page) */
.t-eyebrow{
	font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
}

/* ==========================================================
   12 · BREADCRUMB PILL
   ==========================================================
   Defined last and scoped to .posthero so the base .crumbs rule
   (which sets dark text and vertical padding) cannot win on
   the shared properties.
   ========================================================== */
.posthero .crumbs--overlay{
	position:absolute;top:22px;left:calc(var(--pad) + 22px);z-index:2;
	display:inline-flex;align-items:center;gap:8px;
	background:rgba(40,42,48,.62);
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	padding:11px 22px;border-radius:6px;
	font-family:var(--display);font-size:15px;font-weight:500;
	color:#fff;letter-spacing:0;line-height:1.2;
	box-shadow:0 2px 14px rgba(0,0,0,.22);
}
.posthero .crumbs--overlay a{color:#fff;text-decoration:none}
.posthero .crumbs--overlay a:hover{color:var(--orange-hi)}
.posthero .crumbs--overlay span{color:rgba(255,255,255,.55);margin:0 1px;font-size:14px}

@media (max-width:900px){
	.posthero .crumbs--overlay{
		top:14px;left:14px;padding:9px 16px;font-size:13.5px;
	}
}


/* ==========================================================
   13 · AD SLOTS  (rebuilt)
   ==========================================================
   A filled slot shrink-wraps its creative — no padded white box
   around a 728x90. Only an empty slot reserves height, and only
   an administrator ever sees the placeholder.
   ========================================================== */
.adzone{position:relative;display:flex;justify-content:center;align-items:center;margin-inline:auto}
.adzone.is-filled{width:-moz-fit-content;width:fit-content;max-width:100%;background:none;border:0;padding:0}
.adzone.is-filled > *{display:block;max-width:100%;height:auto}
.adzone img,.adzone iframe,.adzone video{max-width:100%;height:auto;display:block}

.adzone.is-empty{
	width:100%;border:1px dashed var(--cream-3);border-radius:10px;background:var(--paper);
}
.adzone__empty{
	font:500 10.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;
	color:var(--ink-3);padding:14px 18px;text-align:center;
}

/* leaderboard: no wrapper background, so no white gutters beside the creative */
.adlb{max-width:var(--maxw);margin:0 auto;padding:24px var(--pad)}
.adlb__in{background:none;border:0;height:auto}

/* header slot: hard-clipped so an oversized creative cannot inflate the bar */
.adzone--header{
	width:150px;height:80px;flex:none;overflow:hidden;border-radius:8px;
	align-items:center;justify-content:center;
}
.adzone--header.is-filled{width:150px}
.adzone--header img,.adzone--header iframe,.adzone--header video{
	width:100%;height:100%;object-fit:cover;
}
.adzone--header.is-empty{border-radius:8px}
.adzone--header .adzone__empty{font-size:8.5px;letter-spacing:.1em;padding:6px}

/* footer trio — on the page ground, not inside the dark footer */
.ftrads-wrap{background:var(--cream);padding:32px 0}
.ftrads{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:center;justify-items:center}
.ftrads .adzone{background:none;border:0}
.ftrads .adzone.is-empty{background:var(--paper);border:1px dashed var(--cream-3)}

/* sidebar rectangle */
.adzone--sidebar.is-empty{min-height:250px}

/* ---- sticky footer bar ---- */
.stickyad{
	position:fixed;left:0;right:0;bottom:0;z-index:140;
	background:none;border:0;box-shadow:none;
	display:flex;align-items:flex-end;justify-content:center;
	padding:0 0 10px;pointer-events:none;
	transform:translateY(0);transition:transform .3s var(--ease),opacity .3s var(--ease);
}
.stickyad > *{pointer-events:auto}
.stickyad.is-gone{transform:translateY(110%);opacity:0}
.stickyad__in{
	position:relative;display:flex;justify-content:center;align-items:center;
	max-width:100%;overflow:hidden;border-radius:6px;
	box-shadow:0 8px 30px -12px rgba(0,0,0,.55);
}
.adzone--bare{margin:0}
.stickyad__close{
	align-self:flex-start;margin:0 0 0 6px;
	width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
	background:rgba(10,11,15,.82);color:#fff;font-size:16px;line-height:1;
	box-shadow:0 2px 10px rgba(0,0,0,.4);transition:.16s var(--ease);flex:none;
}
.stickyad__close:hover{background:var(--orange);color:#fff}

/* Keep the bar from covering the last of the page. */
body.has-sticky-ad .ftr{padding-bottom:106px}

@media (max-width:900px){
	.ftrads{grid-template-columns:1fr}
	.stickyad{padding:0 8px 8px}
	body.has-sticky-ad .ftr{padding-bottom:86px}
}

/* ==========================================================
   14 · FULL-BLEED HERO, CONSTRAINED CONTENT
   ========================================================== */
.hero{padding:0;max-width:none;margin:0}
.hero .panel{border-radius:0;padding:0;overflow:hidden}
.panel__in{
	max-width:var(--maxw);margin:0 auto;
	padding:26px var(--pad) 0;position:relative;
}
.hero .rail{
	margin:0;padding:0;border-top:1px solid rgba(255,255,255,.1);
	background:rgba(0,0,0,.42);height:60px;display:flex;
}
.rail__in{
	max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
	display:flex;align-items:center;gap:22px;width:100%;
}
.hero .bigmark{right:max(-2%,calc((100vw - var(--maxw)) / -2 - 40px))}

@media (max-width:640px){
	.hero{padding:0}
	.hero .panel{border-radius:0}
	.panel__in{padding:18px var(--pad) 0}
	.hero .rail{height:52px}
}


/* empty-section notice, editors only */
.emptysection{
	border:1px dashed var(--cream-3);border-left:3px solid var(--orange);
	background:var(--paper);border-radius:0 8px 8px 0;
	padding:16px 20px;font-size:14px;color:var(--ink-2);margin:0;
}

/* standalone shortcode wrappers */
.tl--standalone{max-width:420px;background:var(--paper);border:1px solid var(--cream-2);box-shadow:none}
.railwrap{background:var(--night);border-radius:10px;overflow:hidden}
.railwrap .rail{height:60px}


/* ==========================================================
   15 · FULL-WIDTH HEADER AND HERO
   ========================================================== */
.hdr__in{max-width:none;padding:0 40px;gap:32px}

/* The dark panel is full-bleed; its content stays on the site measure. */
.panel__in{max-width:var(--maxw);margin:0 auto;padding:26px var(--pad) 0}
.rail__in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.hero .bigmark{right:max(-2%,calc((100vw - var(--maxw)) / -2 - 40px))}

.hdr__sc{display:flex;align-items:center}
.hdr__sc .crs-trans__heading{display:none}
.hdr__sc .crs-langgrid{display:flex;gap:4px;grid-template-columns:none}
.hdr__sc .crs-lang{border:0;padding:6px 8px;background:none}
.hdr__sc .crs-lang b{color:var(--ink);font-size:13px}
.hdr__sc .crs-lang > span > span{display:none}

@media (max-width:1100px){
	.hdr__in{padding:0 24px;gap:18px}
}
@media (max-width:640px){
	.hdr__in{padding:0 18px}
	.hdr__sc{display:none}
}

/* ==========================================================
   16 · LIGHT FOOTER
   ========================================================== */
.ftr{background:var(--paper);color:var(--ink-2);margin-top:0;border-top:1px solid var(--cream-2)}

.ftrmenu{display:flex;justify-content:center;padding:34px 0 0}
.ftrmenu__list{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.ftrmenu__list a{
	display:block;font:800 15px/1 var(--display);letter-spacing:.02em;
	text-transform:uppercase;color:var(--ink);border:0;padding:0;border-radius:0;
}
.ftrmenu__list a:hover{color:var(--orange);background:none}

.ftrnote{
	text-align:center;max-width:none;margin:0 auto;padding:18px 0 8px;
	font-family:var(--display);font-size:15.5px;line-height:1.6;color:var(--ink);
}
.ftrnote a{color:var(--orange);text-decoration:none}
.ftrnote a:hover{text-decoration:underline;text-underline-offset:3px}

/* translate row */
.ftrtrans{padding:22px 0 10px}
.ftrtrans .crs-trans__heading{display:none}
.ftrtrans .crs-langgrid{
	display:flex;flex-wrap:wrap;justify-content:center;
	gap:10px 26px;grid-template-columns:none;
}
.ftrtrans .crs-lang{
	display:inline-flex;align-items:center;gap:8px;
	border:0;background:none;padding:2px 0;border-radius:0;
	font-size:15px;color:var(--ink);
}
.ftrtrans .crs-lang:hover{background:none}
.ftrtrans .crs-lang:hover b{color:var(--orange)}
.ftrtrans .crs-lang i{font-size:17px;line-height:1}
.ftrtrans .crs-lang > span{display:inline-flex;align-items:baseline;gap:5px}
.ftrtrans .crs-lang b{
	font:400 15px/1.3 var(--display);color:var(--ink);letter-spacing:0;
}
.ftrtrans .crs-lang > span > span{
	margin:0;font:400 15px/1.3 var(--display);color:var(--ink-2);
	text-transform:lowercase;
}
.ftrtrans .crs-lang > span > span::first-letter{text-transform:uppercase}
.ftrtrans .crs-lang > span > span::before{content:"("}
.ftrtrans .crs-lang > span > span::after{content:")"}
.ftrtrans .crs-lang.is-on b{color:var(--orange);font-weight:700}

.legal{
	justify-content:center;text-align:center;flex-direction:column;gap:8px;
	border-top:1px solid var(--cream-2);padding:20px 0 32px;color:var(--ink-3);
}
.legal a{color:var(--ink-3)}
.legal a:hover{color:var(--orange)}
.legal__list{justify-content:center}

/* back to top */
.totop{
	position:fixed;right:20px;bottom:20px;z-index:130;
	width:44px;height:44px;border-radius:8px;background:var(--orange);color:#fff;
	display:grid;place-items:center;font-size:15px;
	box-shadow:0 6px 20px -8px rgba(242,107,33,.8);
	opacity:0;transform:translateY(10px);transition:.22s var(--ease);
}
.totop.is-on{opacity:1;transform:none}
.totop:hover{background:var(--orange-hi)}
body.has-sticky-ad .totop{bottom:112px}

/* hero debug line, editors only */
.herodebug{
	font:500 11.5px/1.5 var(--mono);color:var(--orange);
	background:rgba(242,107,33,.12);border:1px solid rgba(242,107,33,.4);
	border-radius:6px;padding:8px 12px;margin:0 0 16px;display:inline-block;
}

/* ==========================================================
   17 · HEADER LANGUAGE DROPDOWN
   ========================================================== */
.langdrop > a,.langdrop__toggle{display:flex;align-items:center;gap:7px;cursor:pointer}
.langdrop__flag{font-size:16px;line-height:1;flex:none}
.langdrop__label{font-weight:600}

/* The caret comes from .menu-item-has-children; keep it tight to the flag. */
.menu .langdrop > a::after{margin-left:2px}

.langdrop__menu{min-width:190px}
.langdrop__menu a{display:flex;align-items:center;gap:10px;white-space:nowrap}
.langdrop__menu .current-menu-item > a{background:var(--peach);color:var(--orange)}
.langdrop__menu .langdrop__flag{font-size:17px}

/* In the mobile drawer the list is always open, so give it room. */
.drawer .langdrop__menu{padding-left:14px}
.drawer .langdrop__menu a{padding:10px 0;border-bottom:1px solid var(--cream-2)}
.langdrop.is-open > .sub-menu{opacity:1;visibility:visible;transform:none}
