:root { --paper:#f5f1e8; --ink:#173a34; --muted:#6d7464; --accent:#e3693b; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.demo-notice { display:flex; align-items:center; justify-content:center; gap:10px; min-height:34px; padding:7px 20px; background:var(--ink); color:var(--white); font-family:Arial,sans-serif; font-size:11px; letter-spacing:.08em; }
.demo-notice span { padding:2px 6px; border:1px solid currentColor; border-radius:999px; font-size:9px; font-weight:700; }
.site-header { display:grid; grid-template-columns:1fr auto; align-items:center; width:min(1180px,calc(100% - 48px)); min-height:88px; margin:0 auto; border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.brand { display:flex; align-items:center; gap:10px; width:max-content; font-size:18px; font-weight:700; letter-spacing:.04em; }
.brand-mark { display:grid; width:27px; height:27px; place-items:center; border:1px solid var(--ink); border-radius:50%; color:var(--accent); font-size:11px; }
.language-button { justify-self:end; padding:9px 13px; border:1px solid color-mix(in srgb,var(--ink) 25%,transparent); border-radius:999px; background:transparent; color:var(--ink); font-family:Arial,sans-serif; font-size:11px; cursor:pointer; }
.hero { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; width:min(1180px,calc(100% - 48px)); min-height:610px; margin:0 auto; padding:76px 0 88px; }
.eyebrow { margin:0 0 18px; color:var(--accent); font-family:Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.2em; }
.hero h1 { margin:0; font-size:clamp(38px,5vw,67px); font-weight:500; letter-spacing:-.055em; line-height:1.28; }
.primary-link { display:inline-flex; align-items:center; min-height:48px; margin-top:34px; padding:0 24px; border-radius:999px; background:var(--accent); color:var(--white); font-family:Arial,sans-serif; font-size:13px; font-weight:700; transition:transform .2s ease; }
.primary-link:hover,.primary-link:focus-visible { transform:translateY(-2px); }
.globe { position:relative; justify-self:end; width:min(440px,39vw); aspect-ratio:1; overflow:hidden; border:1px solid color-mix(in srgb,var(--ink) 30%,transparent); border-radius:50%; background:radial-gradient(circle at 37% 38%,var(--white) 0 10%,transparent 10.5%),radial-gradient(circle at 67% 63%,color-mix(in srgb,var(--accent) 25%,var(--paper)) 0 16%,transparent 16.5%),var(--white); }
.globe::before,.globe::after { position:absolute; content:''; border:1px solid color-mix(in srgb,var(--ink) 18%,transparent); border-radius:50%; }
.globe::before { inset:-25% 42%; }
.globe::after { inset:42% -25%; }
.globe-ring { position:absolute; inset:12% -12%; border:1px solid color-mix(in srgb,var(--ink) 14%,transparent); border-radius:50%; transform:rotate(25deg); }
.globe-ring--two { inset:-12% 12%; transform:rotate(-25deg); }
.globe>p { position:absolute; right:18%; bottom:14%; margin:0; color:var(--muted); font-family:Arial,sans-serif; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.map-dot { position:absolute; z-index:1; display:flex; align-items:center; gap:6px; font-family:Arial,sans-serif; font-size:10px; font-weight:700; }
.map-dot i { width:9px; height:9px; border:3px solid var(--white); border-radius:50%; background:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.map-dot--one { left:26%; top:30%; } .map-dot--two { right:13%; top:62%; } .map-dot--three { left:21%; top:52%; }
.today { padding:86px max(24px,calc((100% - 1180px)/2)) 110px; background:var(--ink); color:var(--white); }
.issues { background:var(--paper); }
.issue-group { padding:86px max(24px,calc((100% - 1180px)/2)) 110px; }
.issue-group--latest { background:var(--ink); color:var(--white); }
.issue-group+.issue-group { border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.issue-link { margin-bottom:7px; color:var(--accent); font-family:Arial,sans-serif; font-size:12px; font-weight:700; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:38px; }
.section-heading h2 { margin:0; font-size:clamp(32px,4vw,50px); font-weight:500; }
.section-heading>p { max-width:310px; margin:0 0 7px; color:color-mix(in srgb,var(--white) 70%,transparent); font-size:13px; line-height:1.8; }
.story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.story-card { overflow:hidden; border-radius:4px; background:var(--white); color:var(--ink); }
.story-visual { position:relative; display:grid; min-height:210px; place-items:center; background:var(--paper); }
.story-card--amber .story-visual { background:color-mix(in srgb,var(--accent) 23%,var(--paper)); }
.story-card--blue .story-visual { background:color-mix(in srgb,var(--ink) 18%,var(--paper)); }
.story-card--green .story-visual { background:color-mix(in srgb,var(--muted) 24%,var(--paper)); }
.story-number { position:absolute; top:17px; left:18px; font-family:Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em; }
.story-mark { font-size:72px; filter:grayscale(.35); }
.story-content { padding:25px 26px 28px; }
.story-place { min-height:34px; margin:0; color:var(--accent); font-family:Arial,sans-serif; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.story-meta { display:flex; justify-content:space-between; color:var(--muted); font-family:Arial,sans-serif; font-size:10px; }
.story-meta span:first-child { padding:3px 7px; border:1px solid color-mix(in srgb,var(--muted) 35%,transparent); border-radius:999px; }
.story-content h3 { margin:20px 0 14px; font-size:22px; font-weight:600; line-height:1.55; }
.story-content h3 a:hover,.story-content h3 a:focus-visible { color:var(--accent); }
.story-content>p:not(.story-place) { margin:0; color:var(--muted); font-size:13px; line-height:1.85; }
.read-more { display:flex; justify-content:space-between; margin-top:24px; padding-top:17px; border-top:1px solid color-mix(in srgb,var(--ink) 13%,transparent); font-family:Arial,sans-serif; font-size:12px; font-weight:700; }
.past-issues { display:grid; grid-template-columns:minmax(240px,.8fr) 1.2fr; gap:80px; padding:78px max(24px,calc((100% - 1180px)/2)) 92px; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.past-issues h2 { margin:0; font-size:clamp(30px,4vw,46px); font-weight:500; }
.past-issue-list { display:grid; }
.past-issue-list a { display:flex; align-items:center; justify-content:space-between; padding:20px 2px; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); font-family:Arial,sans-serif; }
.past-issue-list a:last-child { border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.past-issue-list time { font-size:16px; letter-spacing:.04em; }
.past-issue-list span { color:var(--accent); font-weight:700; }
@media (max-width:820px) { .hero{grid-template-columns:1fr;padding-top:58px}.globe{justify-self:center;width:min(420px,80vw);margin-top:60px}.section-heading{align-items:start;flex-direction:column}.story-grid{grid-template-columns:1fr}.past-issues{grid-template-columns:1fr;gap:32px} }
@media (max-width:520px) { .demo-notice{align-items:flex-start;font-size:9px;text-align:center}.site-header,.hero{width:min(100% - 30px,1180px)}.brand{font-size:16px}.hero h1{font-size:37px}.today{padding-top:66px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.primary-link{transition:none} }

.manifesto { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:420px; padding:70px 24px; text-align:center; }
.manifesto .eyebrow { width:100%; margin:0 0 28px; text-align:center; }
.manifesto h2 { margin:0; font-size:clamp(40px,6vw,72px); font-weight:500; line-height:1.25; }
.manifesto>a { margin-top:32px; }
.manifesto>a,.text-link { color:var(--accent); font-family:Arial,sans-serif; font-size:13px; font-weight:700; }
.manifesto + .site-footer { margin-top:16px; }
.support-card { padding:86px max(24px,calc((100% - 1180px)/2)); background:var(--white); }
.support-card-inner { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:90px; align-items:center; }
.support-copy h2 { max-width:700px; margin:0; font-size:clamp(36px,5vw,62px); font-weight:500; letter-spacing:-.045em; line-height:1.3; }
.support-copy>p:last-child { max-width:650px; margin:28px 0 0; color:var(--muted); font-size:15px; line-height:2; }
.support-action { padding:34px; border:1px solid color-mix(in srgb,var(--ink) 18%,transparent); background:var(--paper); }
.support-amount { margin:0 0 15px; color:var(--ink); font-size:19px; }
.support-button { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; padding:0 22px; border-radius:3px; background:var(--accent); color:var(--white); font-family:Arial,sans-serif; font-size:13px; font-weight:700; }
.support-button:hover,.support-button:focus-visible { background:var(--ink); }
.support-fine { margin:18px 0 0; color:var(--muted); font-family:Arial,sans-serif; font-size:10px; line-height:1.8; }
.support-card + .site-footer { margin-top:16px; }
.site-footer { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:start; padding:58px max(24px,calc((100% - 1180px)/2)); border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); text-align:left; }
.footer-brand { margin-bottom:15px; }
.site-footer p { margin:0; color:var(--muted); font-family:Arial,sans-serif; font-size:11px; line-height:1.8; }
.footer-note { justify-self:end; max-width:440px; }
.footer-note a { text-decoration:underline; text-underline-offset:3px; }
.footer-small-links { margin-top:16px!important; }
.footer-small-links a { text-decoration:underline; text-underline-offset:3px; }

.subpage-heading { width:min(980px,calc(100% - 48px)); margin:0 auto; padding:100px 0 66px; text-align:center; }
.subpage-heading h1 { margin:0; font-size:clamp(42px,6vw,74px); font-weight:500; letter-spacing:-.05em; line-height:1.25; }
.subpage-heading>p:last-child { margin:24px 0 0; color:var(--muted); font-size:14px; }
.about-heading { text-align:left; }
.support-heading { padding-bottom:78px; }

.article-page { width:min(1080px,calc(100% - 48px)); margin:0 auto; }
.article-header { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:center; padding:88px 0 72px; }
.article-location { margin:0 0 18px; color:var(--muted); font-family:Arial,sans-serif; font-size:13px; }
.article-header h1 { margin:0; font-size:clamp(38px,5vw,64px); font-weight:500; letter-spacing:-.045em; line-height:1.35; }
.article-deck { margin:25px 0 22px; color:var(--muted); font-size:15px; line-height:1.9; }
.article-date { margin:0; font-family:Arial,sans-serif; font-size:10px; letter-spacing:.06em; }
.article-mark { display:grid; min-height:350px; place-items:center; border-radius:50% 50% 5px 50%; background:color-mix(in srgb,var(--accent) 20%,var(--white)); }
.article-mark.story-card--blue { background:color-mix(in srgb,var(--ink) 16%,var(--white)); }
.article-mark.story-card--green { background:color-mix(in srgb,var(--muted) 22%,var(--white)); }
.article-mark span { font-size:110px; filter:grayscale(.3); }
.article-body-layout { display:grid; grid-template-columns:minmax(0,650px) 260px; gap:100px; align-items:start; padding:72px 0 90px; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.article-body>p { margin:0 0 1.8em; font-size:17px; line-height:2.15; }
.article-body>p:first-child::first-letter { float:left; margin:.02em .12em 0 0; color:var(--accent); font-size:4.3em; line-height:.8; }
.source-box { margin-top:55px; padding:28px; border-left:3px solid var(--accent); background:var(--white); }
.source-box h2 { margin:0 0 12px; font-size:17px; }
.source-box p { margin:7px 0; color:var(--muted); font-family:Arial,sans-serif; font-size:11px; line-height:1.8; }
.location-card { position:sticky; top:30px; padding:25px; border:1px solid color-mix(in srgb,var(--ink) 20%,transparent); background:var(--white); }
.location-card h2 { margin:-8px 0 18px; font-size:25px; }
.mini-map { position:relative; aspect-ratio:1.65; overflow:hidden; border-radius:3px; background:repeating-linear-gradient(0deg,transparent 0 32px,color-mix(in srgb,var(--ink) 10%,transparent) 33px),repeating-linear-gradient(90deg,var(--paper) 0 42px,color-mix(in srgb,var(--ink) 10%,var(--paper)) 43px); }
.mini-map::after { position:absolute; inset:18% 13%; border:1px solid color-mix(in srgb,var(--ink) 18%,transparent); border-radius:50%; content:''; }
.mini-map-dot { position:absolute; z-index:1; width:11px; height:11px; border:3px solid var(--white); border-radius:50%; background:var(--accent); box-shadow:0 0 0 1px var(--accent); transform:translate(-50%,-50%); }
.location-card>p:not(.eyebrow) { color:var(--muted); font-family:Arial,sans-serif; font-size:10px; }
.location-card>a { color:var(--accent); font-family:Arial,sans-serif; font-size:11px; font-weight:700; }
.article-nav { display:flex; justify-content:space-between; padding:28px 0 80px; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); font-family:Arial,sans-serif; font-size:12px; font-weight:700; }

.world-map { position:relative; width:min(1180px,calc(100% - 48px)); aspect-ratio:2.05; min-height:440px; margin:0 auto 75px; overflow:hidden; border:1px solid color-mix(in srgb,var(--ink) 22%,transparent); border-radius:50% / 80%; background:radial-gradient(ellipse at 27% 42%,color-mix(in srgb,var(--muted) 26%,var(--paper)) 0 8%,transparent 8.5%),radial-gradient(ellipse at 52% 38%,color-mix(in srgb,var(--muted) 23%,var(--paper)) 0 10%,transparent 10.5%),radial-gradient(ellipse at 77% 62%,color-mix(in srgb,var(--muted) 22%,var(--paper)) 0 8%,transparent 8.5%),var(--white); }
.world-map-grid { position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 19.8%,color-mix(in srgb,var(--ink) 10%,transparent) 20%),repeating-linear-gradient(90deg,transparent 0 12.4%,color-mix(in srgb,var(--ink) 10%,transparent) 12.5%); }
.world-map-point { position:absolute; z-index:2; display:flex; align-items:center; transform:translate(-6px,-6px); }
.world-map-point i { width:13px; height:13px; border:3px solid var(--white); border-radius:50%; background:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.world-map-point span { display:none; min-width:150px; margin-left:9px; padding:8px 10px; background:var(--ink); color:var(--white); font-family:Arial,sans-serif; font-size:9px; line-height:1.5; }
.world-map-point span b { display:block; font-size:11px; }
.world-map-point:hover span,.world-map-point:focus-visible span { display:block; }
.map-list { width:min(920px,calc(100% - 48px)); margin:0 auto 110px; }
.map-list h2 { font-size:32px; font-weight:500; }
.map-list>a { display:grid; grid-template-columns:100px 1fr 1.8fr auto; gap:18px; align-items:center; padding:22px 0; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.map-list>a>span,.map-list>a>small { color:var(--muted); font-family:Arial,sans-serif; font-size:11px; }
.map-list>a>b { color:var(--accent); }

.archive-section { display:grid; grid-template-columns:230px 1fr; gap:70px; width:min(960px,calc(100% - 48px)); margin:0 auto 120px; padding-top:38px; border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent); }
.archive-date { display:grid; align-content:start; }
.archive-date span,.archive-date small { color:var(--muted); font-family:Arial,sans-serif; font-size:11px; }
.archive-date strong { margin:8px 0; font-size:35px; font-weight:500; }
.archive-issue-link { margin-top:16px; color:var(--accent); font-family:Arial,sans-serif; font-size:10px; font-weight:700; line-height:1.6; }
.archive-stories>a { display:grid; grid-template-columns:62px 1fr auto; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent); }
.archive-mark { display:grid; width:58px; height:58px; place-items:center; border-radius:50%; background:var(--white); font-size:28px; }
.archive-stories small { display:block; margin-bottom:5px; color:var(--muted); font-family:Arial,sans-serif; font-size:10px; }
.archive-stories strong { font-size:17px; font-weight:600; }
.archive-stories>a>b { color:var(--accent); }

.prose-page { width:min(720px,calc(100% - 48px)); margin:0 auto 120px; }
.prose-lead { margin-bottom:70px!important; font-size:24px!important; line-height:2!important; }
.prose-page h2 { margin:55px 0 15px; font-size:27px; font-weight:500; }
.prose-page p { color:var(--muted); font-size:15px; line-height:2.05; }
.policy-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; width:min(960px,calc(100% - 48px)); margin:0 auto 100px; }
.policy-grid>div { padding:40px; background:var(--white); }
.policy-sign { color:var(--accent); font-family:Arial,sans-serif; font-size:35px; }
.policy-grid h2 { margin:14px 0 28px; font-size:25px; font-weight:500; }
.policy-grid ul { margin:0; padding:0; list-style:none; }
.policy-grid li { padding:13px 0; border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent); color:var(--muted); font-size:13px; }
.process { width:min(760px,calc(100% - 48px)); margin:0 auto 120px; }
.process h2 { font-size:36px; font-weight:500; }
.process ol { margin:0; padding:0; list-style:none; }
.process li { display:grid; grid-template-columns:55px 1fr; align-items:center; padding:18px 0; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.process li span { color:var(--accent); font-family:Arial,sans-serif; font-size:11px; font-weight:700; }

@media (max-width:820px) {
  .support-card-inner{grid-template-columns:1fr;gap:44px}.site-footer{grid-template-columns:1fr;gap:30px}.article-header{grid-template-columns:1fr}.article-mark{min-height:260px}.article-body-layout{grid-template-columns:1fr;gap:40px}.location-card{position:static}.map-list>a{grid-template-columns:80px 1fr auto}.map-list>a>small{display:none}.archive-section{grid-template-columns:1fr;gap:25px}.policy-grid{grid-template-columns:1fr}
}
@media (max-width:520px) {
  .subpage-heading,.article-page{width:min(100% - 30px,1080px)}.subpage-heading{padding-top:70px}.support-card{padding:66px 15px}.support-action{padding:26px 20px}.article-header{gap:38px;padding-top:60px}.article-mark{min-height:210px}.article-body-layout{padding-top:48px}.article-body>p{font-size:15px}.world-map{width:calc(100% - 30px);min-height:270px}.world-map-point span{position:absolute}.map-list,.archive-section,.prose-page,.policy-grid,.process{width:calc(100% - 30px)}.map-list>a{grid-template-columns:1fr auto}.map-list>a>span{display:none}.archive-stories>a{grid-template-columns:50px 1fr auto}.archive-mark{width:48px;height:48px}.site-footer{padding-left:15px;padding-right:15px}.policy-grid>div{padding:28px}.issue-group{padding-top:66px;padding-bottom:76px}.issue-link{display:block;margin-top:0}
}
