
:root{
  --ink:#141212;
  --paper:#ffffff;
  --soft:#f5f5f3;
  --red:#ef161b;
  --purple:#7d208c;
  --green:#26c33c;
  --muted:#67625d;
  --line:#d8d5d0;
  --max:1200px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}

/* TOP */
.utility{background:var(--ink);color:#fff}
.utility-in{width:min(calc(100% - 36px),var(--max));margin:auto;min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.utility-left{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.lang{display:flex}
.lang a{text-decoration:none;padding:10px 12px;font-size:11px;font-weight:950;letter-spacing:.08em}
.lang a.active{background:var(--red)}

.site-head{background:#fff;border-bottom:1px solid var(--ink)}
.head-in{width:min(calc(100% - 36px),var(--max));margin:auto;min-height:126px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:42px}
.logo{display:block;width:132px;line-height:0}
.logo img{display:block;width:100%;height:auto}
.nav{display:flex;justify-content:flex-end;align-items:center;gap:38px}
.nav a{text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.075em;text-transform:uppercase;position:relative;padding:14px 0}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:4px;background:var(--red);transition:.16s ease}
.nav a:hover:after{right:0}
.menu{display:none;border:1px solid var(--ink);background:#fff;color:var(--ink);width:42px;height:42px;font-weight:950;font-size:18px}

/* FEATURED */
.featured{background:#fff;border-bottom:1px solid var(--ink)}
.featured-in{width:min(calc(100% - 36px),var(--max));margin:auto;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr);min-height:520px}
.feature-main{padding:64px 68px 62px 0;border-right:1px solid var(--ink);display:flex;flex-direction:column;justify-content:center}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:var(--red)}
.eyebrow:before{content:"";width:42px;height:5px;background:var(--red)}
.feature-main h1{font-family:var(--serif);font-size:clamp(42px,5.3vw,68px);line-height:.94;letter-spacing:-.05em;margin:22px 0 24px;max-width:900px}
.feature-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.03em}
.feature-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--ink);padding:12px 15px;font-size:11px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.btn.black{background:var(--ink);color:#fff}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}

.feature-side{background:var(--ink);color:#fff;padding:38px 34px 34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.feature-side .kind{position:relative;z-index:3;font-size:11px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.feature-side .copy{position:relative;z-index:3;max-width:285px;margin-top:auto}
.feature-side .copy strong{font-family:var(--serif);display:block;font-size:32px;line-height:1.03;letter-spacing:-.035em;margin-bottom:16px}
.feature-side .copy p{font-size:15px;line-height:1.58;color:#d8d4d1;margin:0}
.feature-side:before{content:"05";position:absolute;right:-8px;top:20px;font-family:var(--serif);font-size:190px;line-height:1;font-weight:700;color:#242020;letter-spacing:-.09em}
.shape-a,.shape-b,.shape-c{position:absolute;pointer-events:none;z-index:2}
.shape-a{width:150px;height:150px;background:var(--purple);right:-20px;top:154px;clip-path:polygon(0 43%,100% 0,45% 100%)}
.shape-b{width:115px;height:115px;background:var(--red);right:92px;top:245px;clip-path:polygon(0 0,100% 100%,22% 78%)}
.shape-c{width:76px;height:76px;background:var(--green);right:28px;top:265px;clip-path:polygon(0 0,100% 25%,26% 100%)}

/* HOME CONTENT */
.home-stream{width:min(calc(100% - 36px),var(--max));margin:auto;padding:70px 0 74px;display:grid;grid-template-columns:1fr;gap:30px}
.stream-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--ink)}
.stream-label{font-size:11px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:var(--red)}
.stream-head h2{font-family:var(--serif);font-size:clamp(42px,5vw,66px);line-height:.92;letter-spacing:-.045em;margin:8px 0 0}
.stream-link{font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.stream-link:hover{color:var(--red)}

.latest-item{display:grid;grid-template-columns:145px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}
.latest-meta{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);line-height:1.6}
.latest-item h3{font-family:var(--serif);font-size:34px;line-height:1.02;letter-spacing:-.03em;margin:0 0 12px}
.latest-item p{font-size:15px;line-height:1.6;color:#4e4945;margin:0 0 18px;max-width:680px}
.text-link{font-size:11px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;text-decoration:none}
.text-link:after{content:" →"}
.text-link:hover{color:var(--red)}

.section-gates{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.section-gate{border:1px solid var(--ink);padding:22px;text-decoration:none;min-height:128px;display:flex;flex-direction:column;justify-content:space-between;transition:.15s ease}
.section-gate span{font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.section-gate strong{font-family:var(--serif);font-size:29px;line-height:1;letter-spacing:-.03em}
.section-gate:hover{background:var(--ink);color:#fff}
.section-gate:hover span{color:#d6d1cd}

.agenda-card{background:var(--ink);color:#fff;border-top:6px solid var(--red);padding:26px 30px;display:grid;grid-template-columns:120px minmax(250px,.7fr) minmax(320px,1fr);gap:30px;align-items:center}
.agenda-card .agenda-label{font-size:11px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:#fff}
.agenda-card h2{font-family:var(--serif);font-size:38px;line-height:.96;letter-spacing:-.04em;margin:0}
.agenda-empty{border-left:1px solid #45403e;padding-left:30px}
.agenda-empty strong{display:block;font-size:14px;margin-bottom:7px}
.agenda-empty p{font-size:14px;line-height:1.5;color:#c9c4c1;margin:0}

/* AXES */
.axes{width:min(calc(100% - 36px),var(--max));margin:auto;padding:72px 0 84px}
.axes-head{display:grid;grid-template-columns:.7fr 1.5fr;gap:50px;margin-bottom:52px;align-items:end}
.axes-head .label{font-size:11px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:var(--red)}
.axes-head h2{font-family:var(--serif);font-size:clamp(44px,5.7vw,70px);line-height:.9;letter-spacing:-.055em;margin:0}
.axes-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.axis{padding:35px 38px 42px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:445px;position:relative;overflow:hidden}
.axis-num{font-size:12px;font-weight:950;letter-spacing:.14em;color:var(--muted)}
.axis h3{font-family:var(--serif);font-size:clamp(36px,3.6vw,52px);line-height:.92;letter-spacing:-.045em;margin:55px 0 24px;max-width:460px}
.axis p{font-size:16px;line-height:1.65;margin:0;max-width:520px}
.axis:after{content:"";position:absolute;right:20px;top:20px;width:20px;height:20px}
.axis.rev:after{background:var(--ink)}
.axis.soc:after{background:var(--red)}
.axis.eco:after{background:var(--green)}
.axis.fem:after{background:var(--purple)}
.axis.rev h3{color:var(--ink)}
.axis.soc h3{color:var(--red)}
.axis.eco h3{color:#19942a}
.axis.fem h3{color:var(--purple)}

/* FOOTER */
.bottom-claim{background:var(--ink);color:#fff;padding:60px 0}
.bottom-claim-in{width:min(calc(100% - 36px),var(--max));margin:auto;display:grid;grid-template-columns:1.05fr .9fr 230px;gap:48px;align-items:center}
.bottom-claim h2{font-family:var(--serif);font-size:clamp(42px,6vw,74px);line-height:.93;letter-spacing:-.05em;margin:0}
.bottom-claim p{color:#c8c4c1;font-size:15px;line-height:1.6;margin:0;max-width:500px}
.claim-logo{background:transparent;padding:0;display:flex;align-items:center;justify-content:center}
.claim-logo img{display:block;width:100%;max-width:210px;height:auto}
.footer{background:var(--ink);padding:8px 0 10px;border-top:0}
.footer-in{width:min(calc(100% - 36px),var(--max));margin:auto;display:flex;justify-content:flex-end;align-items:center;gap:18px}
.footer-note{font-size:11px;color:#bfbab5;text-align:right;line-height:1.35}

/* BASIC SECTION PAGES */
.page-title{width:min(calc(100% - 36px),var(--max));margin:auto;padding:62px 0 38px;border-bottom:1px solid var(--ink)}
.page-title h1{font-family:var(--serif);font-size:clamp(58px,8vw,98px);line-height:.9;letter-spacing:-.055em;margin:16px 0 0}
.archive{width:min(calc(100% - 36px),var(--max));margin:auto;padding:24px 0 70px}
.archive-row{display:grid;grid-template-columns:150px 1fr auto;gap:30px;padding:29px 0;border-bottom:1px solid var(--line);align-items:start}
.archive-row time,.archive-row .kind{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.archive-row .author{font-size:12px;letter-spacing:.025em;text-transform:none;line-height:1.4}
.archive-row h2{font-family:var(--serif);font-size:30px;line-height:1.04;letter-spacing:-.025em;margin:0}
.archive-row a{text-decoration:none}

@media(max-width:920px){
  .agenda-card{grid-template-columns:100px 1fr;gap:18px 24px}
  .agenda-empty{grid-column:1/-1;border-left:0;border-top:1px solid #45403e;padding:18px 0 0}
}
@media(max-width:820px){
  .head-in{grid-template-columns:130px 1fr auto;gap:22px;min-height:112px}
  .logo{width:116px}
  .nav{gap:22px}
  .featured-in{grid-template-columns:1fr}
  .feature-main{border-right:0;border-bottom:1px solid var(--ink);padding:54px 0 50px}
  .feature-side{min-height:330px}
}
@media(max-width:700px){
  .latest-item{grid-template-columns:1fr;gap:9px}
  .section-gates{grid-template-columns:1fr}

  .nav{display:none;grid-column:1/-1;justify-content:flex-start;padding:0 0 18px;gap:20px;flex-wrap:wrap}
  .nav.open{display:flex}
  .menu{display:block}
  .head-in{grid-template-columns:115px 1fr auto;min-height:104px}
  .logo{width:104px}
  .axes-head{grid-template-columns:1fr;gap:15px}
  .axes-grid{grid-template-columns:1fr}
  .axis{min-height:auto}
  .bottom-claim-in{grid-template-columns:1fr;gap:28px}
  .archive-row{grid-template-columns:1fr;gap:8px}
}
@media(max-width:600px){
  .home-stream{width:min(calc(100% - 28px),var(--max));padding:52px 0 58px}
  .stream-head{align-items:flex-start;flex-direction:column}
  .stream-head h2{font-size:48px}
  .latest-item h3{font-size:30px}
  .agenda-card{grid-template-columns:1fr;gap:12px;padding:24px}
  .agenda-card h2{font-size:38px}
  .agenda-empty{grid-column:auto}

  .utility-in,.head-in,.featured-in,.axes,.bottom-claim-in,.footer-in,.page-title,.archive{width:min(calc(100% - 28px),var(--max))}
  .feature-main{padding:42px 0 38px}
  .feature-main h1{font-size:clamp(40px,11vw,52px)}
  .feature-side{padding:30px 24px;min-height:300px}
  .feature-side:before{font-size:150px}
  .axes{padding:55px 0 62px}
  .axes-head h2{font-size:46px}
  .axis{padding:28px 25px 34px}
  .axis h3{margin-top:40px;font-size:38px}
  .axis p{font-size:15px}
  .bottom-claim{padding:48px 0}
  .claim-logo{max-width:220px}
  .footer-in{display:block}
  .footer-note{text-align:left;margin-top:14px}
}


/* ARTICLE */
.article-hero{width:min(calc(100% - 36px),var(--max));margin:auto;padding:58px 0 38px;border-bottom:1px solid var(--ink)}
.article-kicker{font-size:10px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:var(--red)}
.article-hero h1{font-family:var(--serif);font-size:clamp(48px,7vw,88px);line-height:.92;letter-spacing:-.052em;margin:18px 0 24px;max-width:1050px}
.article-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;font-weight:800;color:var(--muted)}
.article-actions{margin-top:24px}
.article-wrap{width:min(calc(100% - 36px),var(--max));margin:auto;display:grid;grid-template-columns:180px minmax(0,760px) 1fr;gap:40px;padding:46px 0 76px}
.article-side{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1.6}
.article-body{font-family:var(--serif);font-size:20px;line-height:1.7}
.article-body p{margin:0 0 1.35em}
.article-body h2{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-.035em;margin:1.4em 0 .55em}
.article-body .closing{font-weight:700;margin-top:2.1em}
.article-body .closing strong{display:block;font-size:26px;line-height:1.2}
.article-rule{grid-column:1/-1;border-top:1px solid var(--line);margin-top:8px}
.archive-row h2 a{text-decoration:none}
.archive-row h2 a:hover{color:var(--red)}

@media(max-width:900px){
  .article-wrap{grid-template-columns:1fr;gap:18px}
  .article-side{border-bottom:1px solid var(--line);padding-bottom:18px}
}
@media(max-width:600px){
  .article-hero,.article-wrap{width:min(calc(100% - 28px),var(--max))}
  .article-hero{padding:42px 0 30px}
  .article-hero h1{font-size:48px}
  .article-body{font-size:18px}
  .article-body h2{font-size:34px}
}

.article-deck{font-family:var(--serif);font-size:24px;line-height:1.35;color:#4e4945;max-width:850px;margin:0 0 22px}
.source-note{margin-top:24px;padding:18px 20px;border-left:5px solid var(--red);background:var(--soft);font-size:13px;line-height:1.55;max-width:850px}
.source-note a{font-weight:900;text-decoration:underline;text-underline-offset:3px}
.article-body blockquote{margin:2em 0;padding:0 0 0 24px;border-left:6px solid var(--red);font-family:var(--serif);font-size:31px;line-height:1.18;font-weight:700;letter-spacing:-.025em}
@media(max-width:600px){
  .article-deck{font-size:20px}
  .article-body blockquote{font-size:25px}
}


/* TYPOGRAPHY REBALANCE — stronger contrast */
.utility-left{font-size:12px}
.lang a{font-size:12px}
.nav a{font-size:14px}

.featured .eyebrow{font-size:13px}
.feature-main h1{font-size:clamp(38px,4.7vw,58px);line-height:.97}
.feature-meta{font-size:13px}
.feature-actions .btn{font-size:12px}
.feature-side .kind{font-size:12px}
.feature-side .copy strong{font-size:28px;line-height:1.06}
.feature-side .copy p{font-size:16px;line-height:1.55}

.stream-label{font-size:13px}
.stream-link{font-size:12px}
.latest-meta{font-size:12px}
.latest-item h3{font-size:32px}
.latest-item p{font-size:16px}
.text-link{font-size:12px}
.section-gate span{font-size:12px}
.section-gate strong{font-size:30px}

.agenda-card .agenda-label{font-size:12px}
.agenda-card h2{font-size:34px}
.agenda-empty strong{font-size:15px}
.agenda-empty p{font-size:15px}

.axes-head .label{font-size:13px}
.axes-head h2{font-size:clamp(40px,4.8vw,58px);line-height:.94}
.axis-num{font-size:13px}
.axis h3{font-size:clamp(34px,3.1vw,46px);line-height:.96}
.axis p{font-size:17px;line-height:1.62}

.footer-note{font-size:12px}

/* Opinion archive authors: clearly larger and more readable */
.archive-row .author{
  font-size:15px;
  font-weight:750;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
  color:#4a4542;
}
.es-opinion .archive-row time{font-size:12px}

@media(max-width:600px){
  .feature-main h1{font-size:40px}
  .feature-side .copy strong{font-size:26px}
  .axes-head h2{font-size:40px}
  .axis h3{font-size:36px}
  .axis p{font-size:16px}
  .latest-item p{font-size:15px}
}

.archive-row time,.archive-row .kind{font-size:12px}
.article-meta{font-size:13px}
.article-side{font-size:12px}


/* AXES HEADING — final editorial treatment */
.axes-head{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:28px;
  align-items:flex-start;
}
.axes-head h2,
.axes-head .label{
  font-family:var(--serif);
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:700;
  color:var(--red);
  text-transform:none;
  margin:0;
}
.axis h3{margin-top:26px}
.axis-num{display:none}

@media(max-width:600px){
  .axes-head{gap:4px;margin-bottom:22px}
  .axes-head h2,
  .axes-head .label{font-size:32px}
  .axis h3{margin-top:18px}
}


/* AXES HEADING — cache-busted final adjustment */
.axes-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  margin-bottom:30px;
}
.axes-head h2,
.axes-head .label{
  font-family:var(--serif);
  font-size:36px;
  line-height:1.04;
  letter-spacing:-.025em;
  font-weight:700;
  color:var(--red);
  text-transform:none;
  margin:0;
}
.axes-head h2{white-space:nowrap}
.axis-num{display:none!important}
.axis h3{margin-top:24px}

@media(max-width:900px){
  .axes-head h2{white-space:normal}
}
@media(max-width:600px){
  .axes-head h2,
  .axes-head .label{font-size:30px}
}


/* AXES LABEL — stronger visual hierarchy */
.axes-head .label{
  font-family:var(--serif);
  font-size:52px !important;
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:700;
  color:var(--red);
  text-transform:none;
}
@media(max-width:600px){
  .axes-head .label{font-size:40px !important}
}


/* AXES HEADING — black intro, red section label */
.axes-head h2{
  color:var(--ink) !important;
}
.axes-head .label{
  color:var(--red) !important;
}


/* SOCIAL LINKS */
.footer-in{justify-content:space-between}
.social-links{display:flex;align-items:center;gap:9px;margin-left:auto}
.social-link{
  width:34px;height:34px;border:1px solid #55514e;border-radius:50%;
  display:grid;place-items:center;color:#fff;text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.social-link svg{width:16px;height:16px;display:block}
.social-link:hover,.social-link:focus-visible{
  background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-1px);
  outline:none;
}
@media(max-width:700px){
  .footer-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
  .footer-note{text-align:left;margin:0}
  .social-links{margin-left:0}
}


/* MOBILE FOOTER — compact closing treatment */
@media(max-width:600px){
  .bottom-claim{padding:30px 0 26px}
  .bottom-claim-in{gap:16px}
  .bottom-claim h2{font-size:36px;line-height:.96}
  .bottom-claim p{font-size:14px;line-height:1.5}
  .claim-logo{justify-content:flex-start;max-width:none}
  .claim-logo img{width:150px;max-width:150px}
  .footer{padding:5px 0 8px}
  .footer-in{gap:10px}
  .footer-note{font-size:10px;line-height:1.25;margin:0}
  .social-links{gap:7px}
  .social-link{width:30px;height:30px}
  .social-link svg{width:14px;height:14px}
}
