:root{
  --ink:#16181d; --ink-2:#3b3f48; --muted:#6b7079; --rule:#e3e2dd; --paper:#ffffff; --panel:#f6f5f1;
  --red:#d7263d; --red-d:#a81c2e; --focus:#1f6feb;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --maxw:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- masthead ---------- */
.topbar{background:var(--ink);color:#c9ccd3;font-size:.8rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:16px}
.topbar nav{display:flex;gap:18px}
.topbar a:hover{color:#fff}
.masthead{border-bottom:1px solid var(--rule)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:18px;gap:20px}
.logo{font-family:var(--serif);font-weight:800;font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.02em;line-height:1;display:inline-flex;align-items:baseline;gap:2px}
.logo i{display:inline-block;width:.24em;height:.24em;background:var(--red);margin-left:3px;transform:translateY(-.05em)}
.tagline{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1rem;margin:6px 0 0}
.mast-left{display:flex;flex-direction:column}
.regions{display:flex;gap:8px;flex-wrap:wrap}
.regions a{font-size:.82rem;font-weight:600;border:1px solid var(--rule);padding:7px 13px;border-radius:999px;transition:border-color .15s,color .15s}
.regions a:hover,.regions a[aria-current]{border-color:var(--red);color:var(--red)}
.nav{border-bottom:3px solid var(--ink);position:sticky;top:0;background:#fff;z-index:50}
.nav .wrap{display:flex;align-items:center}
.nav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.nav ul::-webkit-scrollbar{display:none}
.nav a{display:block;padding:13px 12px;font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:var(--red)}
.nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--red)}

/* ---------- blocks ---------- */
.kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.kicker.partner{color:#8a6d00}
.h-sec{display:flex;align-items:baseline;justify-content:space-between;border-top:3px solid var(--ink);padding-top:10px;margin:48px 0 20px}
.h-sec h2{font-family:var(--serif);font-size:1.7rem;margin:0;letter-spacing:-.01em}
.h-sec a{font-size:.82rem;font-weight:700;color:var(--red)}
.meta{font-size:.8rem;color:var(--muted)}
.card{display:flex;flex-direction:column;gap:8px}
.card .img{aspect-ratio:16/9;overflow:hidden;background:var(--panel)}
.card .img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .img img{transform:scale(1.035)}
.card h3{font-family:var(--serif);font-size:1.22rem;line-height:1.2;margin:0;letter-spacing:-.005em}
.card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.card .txt{display:flex;flex-direction:column;gap:7px}
.card p{margin:0;color:var(--ink-2);font-size:.93rem}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

/* lead */
.lead{display:grid;grid-template-columns:1.65fr 1fr;gap:32px;margin-top:28px}
.lead-main .img{aspect-ratio:16/9}
.lead-main h2{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.08;margin:12px 0 10px;letter-spacing:-.02em}
.lead-main p{font-family:var(--serif);font-size:1.15rem;color:var(--ink-2);margin:0 0 8px}
.lead-side{display:flex;flex-direction:column;gap:22px;border-left:1px solid var(--rule);padding-left:28px}
.lead-side .card{flex-direction:row;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.lead-side .card:last-child{border-bottom:0;padding-bottom:0}
.lead-side .img{flex:0 0 42%;aspect-ratio:4/3}
.lead-side h3{font-size:1.05rem}

/* regional desks */
.desks{background:var(--panel);margin-top:56px;padding:40px 0 48px}
.desks .h-sec{margin-top:0}
.desk{background:#fff;border-top:4px solid var(--red);padding:22px 22px 18px}
.desk h3{font-family:var(--serif);font-size:1.45rem;margin:0 0 4px}
.desk > p{color:var(--muted);font-size:.9rem;margin:0 0 14px}
.desk ul{list-style:none;padding:0;margin:0}
.desk li{border-top:1px solid var(--rule);padding:11px 0}
.desk li a{font-family:var(--serif);font-size:1.02rem;line-height:1.3}
.desk li a:hover{color:var(--red)}
.desk .more{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:700;color:var(--red)}
.desk.se{border-color:#1667b8}.desk.sg{border-color:#c8282f}.desk.au{border-color:#c27a1e}

/* ---------- page header ---------- */
.phead{padding:34px 0 8px;border-bottom:1px solid var(--rule)}
.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:10px}
.crumbs a:hover{color:var(--red)}
.phead h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 8px;letter-spacing:-.02em;line-height:1.05}
.phead p{font-family:var(--serif);font-size:1.15rem;color:var(--ink-2);max-width:760px;margin:0 0 22px}
.intro{max-width:760px;font-family:var(--serif);font-size:1.12rem;line-height:1.7;color:var(--ink-2);margin:26px 0 8px}

/* ---------- article ---------- */
.article{max-width:760px;margin:0 auto;padding:30px 0 20px}
.article h1{font-family:var(--serif);font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.08;letter-spacing:-.02em;margin:10px 0 14px}
.article .dek{font-family:var(--serif);font-size:1.28rem;line-height:1.45;color:var(--ink-2);margin:0 0 18px}
.byline{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;color:var(--muted);padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.byline b{color:var(--ink)}
.hero{margin:26px auto 8px;max-width:1040px}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
figcaption{font-size:.8rem;color:var(--muted);margin-top:8px}
.body{font-family:var(--serif);font-size:1.2rem;line-height:1.72;color:#23262d}
.body p{margin:0 0 1.15em}
.body h2{font-family:var(--serif);font-size:1.6rem;line-height:1.2;margin:1.6em 0 .5em;color:var(--ink);letter-spacing:-.01em}
.body ul{padding-left:1.2em;margin:0 0 1.2em}
.body li{margin:.4em 0}
.body a{color:var(--red-d);text-decoration:underline;text-underline-offset:3px}
.body figure{margin:1.8em 0}
.body .note{font-family:var(--sans);font-size:.88rem;color:var(--muted);border-left:3px solid var(--rule);padding-left:12px}
.partner-note{font-family:var(--sans)!important;font-size:.85rem!important;background:#fff8e1;border:1px solid #f1d98a;padding:10px 14px;color:#6b5400!important}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}
.tags a{font-size:.8rem;font-weight:600;border:1px solid var(--rule);padding:6px 12px;border-radius:999px}
.tags a:hover{border-color:var(--red);color:var(--red)}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--rule);padding-top:18px;font-size:.84rem}
.share a{font-weight:700;border:1px solid var(--ink);padding:7px 12px}
.share a:hover{background:var(--ink);color:#fff}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#b9bdc6;margin-top:70px;padding:48px 0 30px;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
footer .logo{color:#fff;font-size:2.2rem}
footer h4{color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:7px 0}
footer a:hover{color:#fff}
footer .base{border-top:1px solid #2c3038;margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#8b909a}

/* ---------- responsive ---------- */
@media (max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}.lead{grid-template-columns:1fr}.lead-side{border-left:0;padding-left:0}footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .grid4,.grid3{grid-template-columns:1fr}
  .masthead .wrap{flex-direction:column;align-items:flex-start}
  .topbar .date{display:none}
  .body{font-size:1.1rem}
  .lead-side .img{flex-basis:38%}
  footer .cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
