:root{
  --red:#e30613;
  --red-dark:#b8000d;
  --ink:#111214;
  --ink-soft:#24272b;
  --paper:#fbfaf7;
  --white:#fff;
  --warm:#f0ede6;
  --warm-2:#e5e0d7;
  --line:#d8d3ca;
  --muted:#62676e;
  --blue:#315f72;
  --green:#3f6658;
  --shell:min(1280px,calc(100vw - 56px));
  --content:min(780px,calc(100vw - 48px));
  --header-meta:30px;
  --header-main:78px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.56;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-is-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
svg.icon{width:1.2em;height:1.2em;flex:0 0 auto}
::selection{background:var(--red);color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus,.skip-link:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;padding:12px 16px;background:#fff;color:#111;z-index:10000;border:2px solid var(--red)}
.ypsa-shell{width:var(--shell);margin-inline:auto}
.ypsa-content{width:var(--content);margin-inline:auto}
.site-main{min-height:60vh}
.section{padding:clamp(76px,9vw,132px) 0}
.kicker,.tag{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.kicker{font-size:.71rem;color:var(--red);margin-bottom:20px}
.kicker--light{color:#fff}
.tag{font-size:.64rem;color:var(--muted);margin-bottom:10px}
h1,h2,h3,h4{margin:0;font-weight:680;line-height:1.02;letter-spacing:-.045em}
h1{font-size:clamp(3.7rem,8vw,8.5rem)}
h2{font-size:clamp(2.35rem,4.8vw,4.8rem)}
h3{font-size:clamp(1.35rem,2.1vw,1.9rem)}
p{margin:0 0 1.25em}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 23px;border:1px solid transparent;border-radius:1px;font-weight:750;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.button:hover{transform:translateY(-2px)}
.button--red{background:var(--red);color:#fff}
.button--red:hover{background:var(--red-dark)}
.button--white{background:#fff;color:var(--ink)}
.button--white:hover{background:var(--warm)}
.button--line{border-color:var(--ink);background:transparent;color:var(--ink)}
.button--line:hover{background:var(--ink);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:4px}
.text-link span{color:var(--red)}
.text-link--light{color:#fff}
.text-link--light span{color:#fff}
.round-link{display:grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;color:var(--red);font-size:1.25rem;transition:background .2s,color .2s}
.round-link:hover{background:var(--red);color:#fff}
.empty-state{padding:48px;border:1px solid var(--line);background:var(--warm)}
.empty-state h2,.empty-state h3{margin-bottom:16px}
.empty-state p{color:var(--muted);max-width:680px}
.draft-note{display:block;margin:24px 0;padding:14px 16px;border-left:4px solid var(--red);background:var(--warm);font:700 .7rem/1.4 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(251,250,247,.97);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.site-header.is-scrolled{box-shadow:0 12px 36px rgba(17,18,20,.08)}
.site-header__meta{height:var(--header-meta);background:var(--ink);color:#fff}
.meta-bar{height:100%;display:flex;align-items:center;justify-content:space-between;font:650 .61rem/1 ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase}
.meta-bar__term{color:#afb3b8}
.site-header__main{border-bottom:1px solid var(--line)}
.site-header__inner{height:var(--header-main);display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-brand{display:flex;align-items:center;gap:11px;min-width:205px}
.site-brand__logo{width:52px;height:52px;object-fit:contain}
.site-brand__wordmark{display:flex;align-items:flex-start;gap:10px}
.site-brand__wordmark strong{font-size:1.42rem;line-height:1;letter-spacing:-.04em}
.site-brand__wordmark small{font:650 .59rem/1.08 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.site-navigation{display:flex;align-items:center;gap:24px}
.menu{list-style:none;margin:0;padding:0}
.primary-menu{display:flex;align-items:center;gap:25px}
.primary-menu>li{position:relative}
.primary-menu>li>a{display:block;padding:28px 0 27px;font-size:.84rem;font-weight:720;white-space:nowrap}
.primary-menu>li>a:hover,.primary-menu>.current-menu-item>a,.primary-menu>.current-menu-ancestor>a{color:var(--red)}
.primary-menu .sub-menu{position:absolute;left:-18px;top:calc(100% - 1px);display:none;width:245px;padding:10px 18px 16px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 24px 50px rgba(17,18,20,.13)}
.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}
.primary-menu .sub-menu a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:.86rem;font-weight:650}
.primary-menu .sub-menu li:last-child a{border-bottom:0}
.primary-menu .sub-menu a:hover{color:var(--red)}
.site-navigation__actions{display:flex;align-items:center;gap:10px}
.header-contact{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line)}
.header-contact:hover{border-color:var(--red);color:var(--red)}
.header-join{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:42px;padding:0 17px;background:var(--red);color:#fff;font-size:.82rem;font-weight:750}
.header-join:hover{background:var(--red-dark)}
.language-switcher ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.language-switcher a{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);font:700 .59rem ui-monospace,monospace;text-transform:uppercase}
.language-switcher .current-lang a{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-toggle{display:none;width:44px;height:44px;padding:9px;border:0;background:transparent}
.menu-toggle span{display:block;width:25px;height:2px;margin:5px auto;background:var(--ink);transition:transform .25s,opacity .25s}
.menu-is-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-is-open .menu-toggle span:nth-child(2){opacity:0}
.menu-is-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Home hero */
.home-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.home-hero__grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,rgba(17,18,20,.05) 1px,transparent 1px),linear-gradient(rgba(17,18,20,.035) 1px,transparent 1px);background-size:calc(100%/12) 100%,100% 88px;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.65) 72%,transparent 100%)}
.home-hero__layout{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);gap:clamp(40px,5.5vw,80px);align-items:center;padding-top:clamp(56px,7vw,100px)}
.home-hero__copy{padding-bottom:48px}
.home-hero__copy h1{max-width:780px}
.home-hero__lead{max-width:680px;margin-top:28px;font-size:clamp(1.15rem,1.7vw,1.48rem);line-height:1.43;color:#34383e}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:680px;margin-top:58px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hero-facts>div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-facts strong{display:block;font-size:1.65rem;line-height:1;letter-spacing:-.04em}
.hero-facts span{display:block;margin-top:8px;font:650 .63rem/1.3 ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.home-hero__media{position:relative;align-self:center;aspect-ratio:1/1.02;min-height:0;margin:0;background:var(--ink);overflow:hidden}
.home-hero__media:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(150deg,transparent 45%,rgba(17,18,20,.78) 100%)}
.home-hero__media:after{content:"CH";position:absolute;z-index:2;right:-10px;top:-53px;font-size:13rem;font-weight:800;letter-spacing:-.1em;color:rgba(255,255,255,.13)}
.home-hero__media img{width:100%;height:100%;min-height:0;object-fit:cover}
.home-hero__media figcaption{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:20px;padding:18px 20px;color:#fff;border-top:1px solid rgba(255,255,255,.48);font:650 .62rem/1.2 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.home-hero__media figcaption b{display:inline-grid;place-items:center;width:26px;height:19px;margin-right:6px;background:var(--red);color:#fff}
.hero-index{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hero-index a{display:flex;gap:16px;padding:19px;border-right:1px solid var(--line);font-weight:720;font-size:.84rem}
.hero-index a:hover{background:var(--warm)}
.hero-index span{font:700 .63rem ui-monospace,monospace;color:var(--red)}

/* Mission */
.editorial-heading{display:grid;grid-template-columns:1.08fr .92fr;gap:8vw;align-items:start}
.editorial-heading h2{max-width:820px}
.editorial-heading__copy{padding-top:42px;font-size:1.18rem;color:#3f444b}
.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.mission-grid article{position:relative;min-height:315px;padding:26px 26px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mission-grid article>span{display:block;font:700 .66rem ui-monospace,monospace;color:var(--red)}
.mission-grid article>.icon{position:absolute;right:24px;top:22px;width:25px;height:25px;color:var(--muted)}
.mission-grid h3{margin-top:102px;margin-bottom:14px}
.mission-grid p{margin:0;color:var(--muted)}
.mission-grid--compact{margin-top:48px}
.mission-grid--compact article{min-height:270px}

/* Activities */
.activity-section{background:var(--warm)}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:52px}
.section-title h2{max-width:900px}
.activity-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:40px}
.activity-main{border-top:1px solid var(--ink)}
.feature-event{display:grid;grid-template-columns:118px 1fr 48px;gap:28px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line)}
.feature-event__date{border-right:1px solid var(--line)}
.feature-event__date strong{display:block;font-size:4rem;line-height:.9;letter-spacing:-.08em}
.feature-event__date span{display:block;margin-top:10px;font:700 .67rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.feature-event h3{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:12px}
.feature-event p{margin:0;color:var(--muted)}
.activity-mini-grid{display:grid;grid-template-columns:1fr 1fr}
.activity-mini{min-height:300px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.activity-mini:first-child{border-left:1px solid var(--line)}
.activity-mini h3{margin:55px 0 14px}
.activity-mini p{color:var(--muted)}
.activity-mini--red{background:var(--red);color:#fff;border-color:var(--red)}
.activity-mini--red .tag,.activity-mini--red p{color:#fff}
.activity-side{background:var(--paper);border:1px solid var(--line)}
.activity-side__visual{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.activity-side__visual img{width:100%;height:100%;object-fit:cover}
.activity-side__visual span{position:absolute;left:14px;bottom:14px;padding:7px 9px;background:var(--red);color:#fff;font:700 .62rem ui-monospace,monospace;text-transform:uppercase}
.activity-side__copy{padding:28px}
.activity-side__copy h3{margin:44px 0 14px}
.activity-side__copy p{color:var(--muted)}

/* World */
.world-section{background:var(--ink);color:#fff}
.world-header{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:50px}
.world-header h2{max-width:780px}
.world-header>p{font-size:1.12rem;color:#c3c7cc}
.world-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:38px}
.world-map{border:1px solid rgba(255,255,255,.25);background:#17191d}
.world-map__top,.world-map__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 17px;border-bottom:1px solid rgba(255,255,255,.2);font:650 .61rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:#b9bdc3}
.world-map__bottom{border-top:1px solid rgba(255,255,255,.2);border-bottom:0}
.world-map__bottom i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--red)}
.world-map svg{display:block;width:100%;height:auto}
.map-grid path{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1}
.land path{fill:#30343a;stroke:#70757e;stroke-width:1}
.connections path{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:6 8}
.nodes circle{fill:#fff;stroke:var(--red);stroke-width:4}
.country-stack{border-top:1px solid rgba(255,255,255,.32)}
.country-stack>a{display:grid;grid-template-columns:44px 1fr 24px;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.country-stack>a:hover strong{color:var(--red)}
.country-stack__index{font:700 .61rem ui-monospace,monospace;color:var(--red)}
.country-stack strong{display:block;font-size:1.2rem;transition:color .2s}
.country-stack small{display:block;margin-top:4px;color:#aeb2b8}
.country-stack b{color:var(--red);font-size:1.2rem}
.country-stack__all{grid-template-columns:1fr auto!important;margin-top:25px;padding:17px 18px!important;background:#fff;color:var(--ink);font-weight:750}
.country-stack__all .icon{color:var(--red)}

/* Committee */
.committee-section{background:var(--paper)}
.committee-intro{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:50px}
.committee-term{min-width:270px;padding:20px;border-top:3px solid var(--red);border-bottom:1px solid var(--line)}
.committee-term small{display:block;font:700 .63rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.committee-term strong{display:block;margin:7px 0 18px;font-size:1.6rem}
.committee-term a{font-weight:700;color:var(--red)}
.people-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.person-card{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.person-card>a{display:block;height:100%}
.person-card__media{aspect-ratio:4/5;background:var(--warm);overflow:hidden}
.person-card__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.84)}
.person-card__media--placeholder{display:grid;place-items:center}
.person-card__media--placeholder span{font-size:9rem;font-weight:750;color:rgba(17,18,20,.14)}
.person-card__copy{padding:22px 20px 28px}
.person-card__copy>p{margin:0 0 11px;font:700 .64rem ui-monospace,monospace;color:var(--red);text-transform:uppercase}
.person-card__copy h3{font-size:1.55rem;margin-bottom:8px}
.person-card__copy small{color:var(--muted)}
.person-card>a>b{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:35px;height:35px;background:var(--red);color:#fff;border-radius:50%}
.committee-links{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--ink)}
.committee-links a{display:flex;justify-content:space-between;gap:18px;padding:20px 18px;border-right:1px solid var(--line);font-weight:720}
.committee-links a:first-child{border-left:1px solid var(--line)}
.committee-links span{color:var(--red)}

/* Participate */
.participate-section{background:var(--red);color:#fff}
.participate-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}
.participate-panel__title{position:sticky;top:145px;align-self:start}
.participate-panel__title h2{max-width:520px;margin-bottom:25px}
.participate-panel__title>p:not(.kicker){max-width:500px;color:#fff}
.participate-panel__routes{border-top:1px solid rgba(255,255,255,.55)}
.participate-panel__routes a{display:grid;grid-template-columns:42px 1fr 28px;gap:14px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.5)}
.participate-panel__routes a:hover{background:rgba(255,255,255,.08)}
.participate-panel__routes span{font:700 .65rem ui-monospace,monospace}
.participate-panel__routes strong{display:block;font-size:1.45rem}
.participate-panel__routes small{display:block;margin-top:5px;color:#fff}
.participate-panel__routes b{font-size:1.3rem}

/* Stories */
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.story-card{border-top:1px solid var(--ink);padding-top:17px}
.story-card__media{aspect-ratio:4/3;overflow:hidden;margin-bottom:20px;background:var(--warm)}
.story-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.story-card:hover .story-card__media img{transform:scale(1.035)}
.story-card h3,.story-card h2{font-size:1.8rem;margin-bottom:13px}
.story-card p:not(.tag){color:var(--muted)}
.story-card>a>span{font-weight:720;color:var(--red)}
.story-grid--archive{grid-template-columns:repeat(3,1fr)}

/* Page heroes */
.page-hero{padding:clamp(80px,10vw,150px) 0 72px;border-bottom:1px solid var(--line)}
.page-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}
.page-hero h1{font-size:clamp(3.7rem,7vw,7.8rem)}
.page-hero__grid>p{font-size:clamp(1.12rem,1.7vw,1.4rem);color:var(--muted);max-width:680px}
.page-hero--editorial{background:var(--paper)}
.page-hero--red{background:var(--red);color:#fff;border:0}
.page-hero--red .page-hero__grid>p{color:#fff}
.page-hero--dark{background:var(--ink);color:#fff;border:0}
.page-hero--dark .page-hero__grid>p{color:#c4c8ce}
.page-hero--world{background:var(--blue);color:#fff;border:0}
.page-hero--world .page-hero__grid>p{color:#e0e8eb}
.page-hero--elections{background:linear-gradient(135deg,var(--ink) 0%,#29191b 100%);color:#fff;border:0}
.page-hero--elections .page-hero__grid>p{color:#d5d1d2}
.page-hero--resources{background:var(--green);color:#fff;border:0}
.page-hero--resources .page-hero__grid>p{color:#e1ece8}
.page-hero--community{background:#4e435d;color:#fff;border:0}
.page-hero--community .page-hero__grid>p{color:#ebe7ef}
.content-section{padding:72px 0 116px}
.content-section--short{padding-bottom:72px}
.entry-content{font-size:1.08rem}
.entry-content>*+*{margin-top:1.25em}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{margin-top:2.15em}
.entry-content h1{font-size:3rem}.entry-content h2{font-size:2.4rem}.entry-content h3{font-size:1.7rem}.entry-content h4{font-size:1.3rem}
.entry-content a{color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.entry-content ul,.entry-content ol{padding-left:1.35em}
.entry-content li+li{margin-top:.45em}
.entry-content blockquote{margin:2em 0;padding:20px 24px;border-left:4px solid var(--red);background:var(--warm);font-size:1.25rem}
.entry-content img{margin-block:30px}
.entry-content .alignwide{width:var(--shell);max-width:none;margin-left:50%;transform:translateX(-50%)}
.entry-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:12px;border:1px solid var(--line);text-align:left}
.entry-content iframe{max-width:100%}
.about-pillars{background:var(--warm)}
.route-section{padding:0 0 110px}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.route-grid>a{position:relative;display:grid;grid-template-columns:35px 1fr;gap:18px;min-height:310px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-grid>a>span{font:700 .65rem ui-monospace,monospace;color:var(--red)}
.route-grid h2{font-size:1.85rem;margin:50px 0 13px}
.route-grid p:not(.tag){color:var(--muted)}
.route-grid b{position:absolute;right:24px;top:24px;color:var(--red);font-size:1.2rem}

/* Committee pages */
.listing-section{padding:72px 0 120px}
.listing-section--topless{padding-top:0}
.people-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.committee-card{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.committee-card>a{display:block;height:100%}
.committee-card__media{aspect-ratio:4/4.7;background:var(--warm);overflow:hidden}
.committee-card__media img{width:100%;height:100%;object-fit:cover}
.committee-card__media--placeholder{display:grid;place-items:center}
.committee-card__media--placeholder span{font-size:10rem;font-weight:750;color:rgba(17,18,20,.13)}
.committee-card__copy{padding:24px 22px 32px}
.committee-card__copy h2{font-size:2rem;margin-bottom:11px}
.committee-card__copy p:last-child{margin:0;color:var(--muted)}
.committee-card b{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff}
.election-banner{background:var(--warm);padding:58px 0}
.election-banner__inner{display:grid;grid-template-columns:.55fr .65fr 1.4fr;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.election-banner__inner>div,.election-banner__inner>a{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.election-banner small{display:block;font:700 .63rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.election-banner strong{display:block;margin-top:7px;font-size:1.3rem}
.election-banner a{display:flex;align-items:center;justify-content:space-between;font-weight:750}
.election-banner a span{color:var(--red)}
.term-timeline{border-top:1px solid var(--ink)}
.term-block{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line)}
.term-block__head{padding:24px 22px;border-right:1px solid var(--line)}
.term-block__head span{display:block;font-size:1.55rem;font-weight:750}
.term-block__head small{display:block;margin-top:8px;color:var(--muted)}
.term-people{display:grid;grid-template-columns:repeat(2,1fr)}
.term-people a{position:relative;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.term-people strong{display:block}.term-people span{color:var(--muted)}.term-people b{position:absolute;right:15px;top:15px;color:var(--red)}
.term-block--empty>p{padding:24px;color:var(--muted)}

/* Documents */
.document-list{border-top:1px solid var(--ink)}
.document-row{display:grid;grid-template-columns:76px 1fr auto;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.document-row__icon{display:grid;place-items:center;width:62px;height:70px;background:var(--warm);color:var(--red)}
.document-row__icon .icon{width:28px;height:28px}
.document-row h2{font-size:1.75rem;margin-bottom:8px}
.document-row p:last-child{margin:0;color:var(--muted)}
.document-row>a{font-weight:750;color:var(--red)}

/* Network */
.network-index{background:var(--warm);border-bottom:1px solid var(--line)}
.network-index__legend{display:flex;gap:32px;padding:18px 0;font:650 .68rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.legend-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%}.legend-dot--red{background:var(--red)}.legend-dot--dark{background:var(--ink)}.legend-dot--line{border:1px solid var(--muted)}
.country-directory{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.country-card{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.country-card>a{display:grid;grid-template-columns:44% 56%;min-height:350px}
.country-card__media{background:var(--warm);overflow:hidden}
.country-card__media img{width:100%;height:100%;object-fit:cover}
.country-card__media--code{display:grid;place-items:center}
.country-card__media span{font-size:7rem;font-weight:800;letter-spacing:-.1em;color:rgba(17,18,20,.15)}
.country-card__copy{padding:28px}
.country-card__copy h2{font-size:2.35rem;margin:54px 0 14px}
.country-card__copy p:last-child{color:var(--muted)}
.country-card b{position:absolute;right:20px;top:20px;color:var(--red);font-size:1.3rem}
.start-country{background:var(--blue);color:#fff}
.start-country__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.start-country h2{max-width:800px}
.country-hero{background:var(--ink);color:#fff;padding:70px 0}
.country-hero__layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.country-hero__copy h1{font-size:clamp(4rem,8vw,8rem);margin-bottom:20px}
.country-hero__copy>p:not(.kicker){color:#c6cad0;font-size:1.15rem}
.country-hero__media{aspect-ratio:4/3;overflow:hidden}
.country-hero__media img{width:100%;height:100%;object-fit:cover}
.country-hero__code{font-size:clamp(8rem,18vw,17rem);line-height:.8;font-weight:800;letter-spacing:-.11em;color:rgba(255,255,255,.12);text-align:center}
.country-content{padding:80px 0 120px}
.country-content__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:8vw;align-items:start}
.country-content aside{position:sticky;top:145px;padding:26px;border-top:3px solid var(--red);background:var(--warm)}
.country-content aside h2{font-size:2rem;margin:38px 0 16px}
.country-content aside p{color:var(--muted)}
.country-content aside .button{margin-top:12px}
.verified-date{display:block;margin-top:18px;color:var(--muted)}

/* Events */
.event-archive{padding:20px 0 120px}
.event-group{display:grid;grid-template-columns:290px 1fr;gap:60px;padding-top:72px}
.event-group__heading{display:flex;gap:18px;align-items:flex-start}
.event-group__heading>span{font:700 .67rem ui-monospace,monospace;color:var(--red)}
.event-group__heading h2{font-size:2.35rem;margin-bottom:14px}
.event-group__heading p{color:var(--muted)}
.event-list{border-top:1px solid var(--ink)}
.event-row>a{display:grid;grid-template-columns:105px 1fr 28px;gap:24px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line)}
.event-row__date{border-right:1px solid var(--line)}
.event-row__date strong{display:block;font-size:2.8rem;line-height:1;letter-spacing:-.07em}
.event-row__date span{display:block;margin-top:7px;font:700 .64rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.event-row h3{font-size:1.85rem;margin-bottom:11px}
.event-row p:last-child{margin:0;color:var(--muted)}
.event-row b{color:var(--red);font-size:1.25rem}
.event-empty{padding:34px 0;border-bottom:1px solid var(--line)}
.event-empty h3{margin-bottom:10px}.event-empty p{color:var(--muted)}
.single-event__hero{padding:90px 0;background:var(--ink);color:#fff}
.single-event__hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}
.single-event__hero h1{font-size:clamp(3.5rem,7vw,7.4rem);margin-bottom:25px}
.single-event__hero p:not(.kicker){max-width:720px;color:#c4c8cd;font-size:1.15rem}
.single-event__hero .button{margin-top:20px}
.single-event__facts{border-top:1px solid rgba(255,255,255,.45)}
.single-event__facts>div{display:grid;grid-template-columns:30px 1fr;gap:13px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.3)}
.single-event__facts .icon{color:var(--red)}
.single-event__facts small{display:block;font:700 .61rem ui-monospace,monospace;color:#aeb3b9;text-transform:uppercase}
.single-event__facts strong{display:block;margin-top:4px;font-size:1.05rem}
.single-event__image{margin-top:60px}
.single-event__image img{width:100%;max-height:760px;object-fit:cover}
.single-event__content{padding:80px 0 110px}
.single-event__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:8vw;align-items:start}
.single-event__layout aside{position:sticky;top:145px;border-top:3px solid var(--red);background:var(--warm);padding:25px}
.single-event__layout aside>div+div{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.video-section{padding:0 0 120px}
.video-placeholder{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-placeholder>img{width:100%;height:100%;object-fit:cover;opacity:.72}
.video-placeholder>button{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:15px;border:0;background:transparent;color:#fff}
.video-placeholder>button span{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--red);font-size:1.4rem;padding-left:4px}
.video-placeholder iframe{width:100%;height:100%;border:0}

/* Elections */
.election-facts{background:var(--warm);border-bottom:1px solid var(--line)}
.election-facts>div{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}
.election-facts>div>div{padding:23px;border-right:1px solid var(--line)}
.election-facts small{display:block;font:700 .63rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.election-facts strong{display:block;margin-top:7px;font-size:1.25rem}
.election-steps{background:var(--warm)}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.step-grid article{min-height:260px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.step-grid span{font:700 .66rem ui-monospace,monospace;color:var(--red)}
.step-grid h3{margin:65px 0 15px}
.step-grid p{color:var(--muted)}

/* Join */
.join-options{padding:0 0 100px}
.join-option-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.join-option-grid article{position:relative;min-height:320px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.join-option-grid article>span{font:700 .65rem ui-monospace,monospace;color:var(--red)}
.join-option-grid article>.icon{position:absolute;right:28px;top:25px;width:27px;height:27px;color:var(--muted)}
.join-option-grid h2{font-size:2.05rem;margin:75px 0 15px}
.join-option-grid p{color:var(--muted);max-width:520px}
.join-option-grid a{font-weight:750;color:var(--red)}
.social-section{background:var(--ink);color:#fff}
.social-section__layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}
.social-directory{border-top:1px solid rgba(255,255,255,.4)}
.social-directory>a{display:grid;grid-template-columns:38px 1fr 25px;gap:15px;align-items:center;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.25)}
.social-directory>a>.icon{width:25px;height:25px;color:var(--red)}
.social-directory strong{display:block;font-size:1.15rem}.social-directory small{color:#aeb3b9}.social-directory b{color:var(--red)}
.social-directory .empty-state{background:#1c1f23;border-color:#42464c}.social-directory .empty-state p{color:#b7bbc1}

/* Opportunities / resources */
.resource-tabs{background:var(--warm);border-bottom:1px solid var(--line)}
.resource-tabs>div{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
.resource-tabs span,.resource-tabs a{padding:19px;border-right:1px solid var(--line);font:700 .65rem ui-monospace,monospace;text-transform:uppercase}
.resource-tabs a{display:flex;justify-content:space-between;color:var(--red)}
.opportunity-directory{border-top:1px solid var(--ink)}
.opportunity-row>a{display:grid;grid-template-columns:1fr 190px 28px;gap:28px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}
.opportunity-row h2{font-size:2rem;margin-bottom:11px}
.opportunity-row p:last-child{margin:0;color:var(--muted)}
.opportunity-row__deadline{padding-left:22px;border-left:1px solid var(--line)}
.opportunity-row__deadline small{display:block;font:700 .62rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.opportunity-row__deadline strong{display:block;margin-top:7px}
.opportunity-row b{color:var(--red);font-size:1.25rem}
.resource-link-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.resource-link-grid>a{position:relative;min-height:220px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.resource-link-grid>a>span{font:700 .63rem ui-monospace,monospace;color:var(--red)}
.resource-link-grid strong{display:block;margin-top:58px;font-size:1.22rem}
.resource-link-grid small{display:block;margin-top:8px;color:var(--muted);word-break:break-all}
.resource-link-grid b{position:absolute;right:20px;top:20px;color:var(--red)}
.single-opportunity__hero{padding:90px 0;background:var(--warm)}
.single-opportunity__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}
.single-opportunity__hero h1{font-size:clamp(3.5rem,7vw,7.2rem);margin-bottom:24px}
.single-opportunity__hero>div>div>p:not(.kicker){font-size:1.15rem;color:var(--muted)}
.single-opportunity__hero .button{margin-top:20px}
.opportunity-fact-card{border-top:3px solid var(--red);background:var(--paper);padding:24px}
.opportunity-fact-card>div+div{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.opportunity-fact-card small{display:block;font:700 .62rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.opportunity-fact-card strong{display:block;margin-top:6px;font-size:1.15rem}
.single-opportunity__content{padding:80px 0 120px}
.single-opportunity__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:8vw;align-items:start}
.single-opportunity__layout aside{padding:25px;background:var(--warm);border-top:3px solid var(--red)}

/* Profiles */
.profile-page{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr);gap:8vw;padding:76px 0 120px}
.profile-page__media{min-height:610px;background:var(--warm)}
.profile-page__media>img{width:100%;height:100%;max-height:780px;object-fit:cover}
.profile-placeholder{display:grid;place-items:center;align-content:center;height:100%;min-height:610px}
.profile-placeholder span{font-size:11rem;font-weight:760;color:rgba(17,18,20,.14)}
.profile-placeholder small{font:700 .65rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.profile-page__content h1{font-size:clamp(3.4rem,6vw,6.6rem);margin-bottom:36px}
.profile-facts{margin:0 0 42px;border-top:1px solid var(--ink)}
.profile-facts>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.profile-facts dt{font:700 .63rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.profile-facts dd{margin:0;font-weight:650}
.profile-facts a{color:var(--red)}
.profile-bio{width:auto}

/* Contact */
.contact-section{padding:78px 0 120px}
.contact-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:8vw;align-items:start}
.contact-details{position:sticky;top:145px;border-top:3px solid var(--red)}
.contact-details>div{padding:22px 0;border-bottom:1px solid var(--line)}
.contact-details>a,.contact-details>div>a{font-size:1.1rem;font-weight:700;color:var(--red);word-break:break-word}
.contact-details address{font-style:normal}
.contact-socials{border-top:1px solid var(--line)}
.contact-socials a{display:grid;grid-template-columns:25px 1fr 18px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.contact-socials a>.icon{color:var(--red)}
.contact-form{padding:32px;background:var(--warm)}
.contact-form input:not([type=submit]),.contact-form textarea,.contact-form select,.entry-content input:not([type=submit]),.entry-content textarea,.entry-content select{width:100%;max-width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:0;background:#fff}
.contact-form input:focus,.contact-form textarea:focus,.entry-content input:focus,.entry-content textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.contact-form button,.contact-form input[type=submit],.entry-content button,.entry-content input[type=submit]{min-height:48px;padding:0 20px;border:0;border-radius:0;background:var(--red);color:#fff;font-weight:750}

/* Articles */
.article-page{padding-bottom:120px}
.article-header{padding:90px 0 52px;max-width:1050px}
.article-header h1{font-size:clamp(3.4rem,6.5vw,7rem)}
.article-meta{display:flex;gap:18px;margin-top:28px;font:700 .64rem ui-monospace,monospace;color:var(--muted);text-transform:uppercase}
.article-header .button{margin-top:26px}
.article-image{margin-bottom:62px}
.article-image img{width:100%;max-height:760px;object-fit:cover}
.article-page>.entry-content{padding-bottom:30px}
.search-list{border-top:1px solid var(--ink)}
.search-list article{padding:25px 0;border-bottom:1px solid var(--line)}
.search-list h2{font-size:2rem;margin-bottom:10px}.search-list p:last-child{color:var(--muted)}
.pagination-wrap{margin-top:50px}.nav-links{display:flex;gap:8px}.page-numbers{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--line)}.page-numbers.current{background:var(--red);color:#fff;border-color:var(--red)}
.error-page{padding:13vw 0}
.error-page h1{max-width:980px}.error-page>div>p:not(.kicker){max-width:650px;margin-top:28px;font-size:1.2rem;color:var(--muted)}

/* Footer */
.site-footer{background:var(--ink);color:#fff}
.footer-callout{background:var(--red)}
.footer-callout__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;padding:68px 0}
.footer-callout h2{max-width:900px;font-size:clamp(2.5rem,5vw,5rem)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.1fr;gap:55px;padding:78px 0 68px}
.footer-brand__mark{width:78px;height:78px;margin-bottom:25px}
.footer-brand__mark .site-brand__logo{width:78px;height:78px}
.footer-brand>p{max-width:340px;color:#c3c7cc}
.social-row{display:flex;gap:8px;margin-top:25px}
.social-row a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.28)}
.social-row a:hover{background:var(--red);border-color:var(--red)}
.footer-column h3{margin-bottom:20px;font:700 .64rem ui-monospace,monospace;color:#9ea3aa;text-transform:uppercase;letter-spacing:.11em}
.footer-column>a{display:block;margin:10px 0;color:#e0e2e5;font-size:.9rem}
.footer-column>a:hover{color:var(--red)}
.footer-contact>a,.footer-address{display:flex!important;align-items:flex-start;gap:11px}
.footer-contact .icon{color:var(--red);margin-top:3px}
.footer-address address{font-style:normal;color:#d6d9dc;font-size:.9rem}
.footer-contact__button{margin-top:22px!important;font-weight:750!important;color:#fff!important}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:19px 0;border-top:1px solid rgba(255,255,255,.2);font:650 .61rem ui-monospace,monospace;color:#aab0b6;text-transform:uppercase}
.footer-bottom ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.footer-bottom a:hover{color:#fff}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

@media (max-width:1180px){
  :root{--shell:min(100% - 38px,1280px);--content:min(100% - 38px,780px)}
  .meta-bar__term{display:none}
  .menu-toggle{display:block}
  .site-navigation{position:fixed;left:0;right:0;top:calc(var(--header-meta) + var(--header-main));display:none;flex-direction:column;align-items:stretch;gap:22px;max-height:calc(100vh - var(--header-meta) - var(--header-main));overflow:auto;padding:24px 28px 34px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 25px 45px rgba(17,18,20,.13)}
  .menu-is-open .site-navigation{display:flex}
  .primary-menu{flex-direction:column;align-items:stretch;gap:0}
  .primary-menu>li>a{padding:13px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .primary-menu .sub-menu{position:static;display:block;width:auto;padding:0 0 0 18px;border:0;border-bottom:1px solid var(--line);box-shadow:none;background:transparent}
  .primary-menu .sub-menu a{padding:9px 0;font-size:.86rem}
  .site-navigation__actions{justify-content:flex-start;flex-wrap:wrap}
  .header-join{flex:1}
  .home-hero__layout{grid-template-columns:1fr}
  .home-hero__media,.home-hero__media img{min-height:580px}
  .home-hero__copy{padding-bottom:10px}
  .editorial-heading,.world-header,.world-layout,.participate-panel,.social-section__layout,.site-footer__top,.single-event__hero-grid,.single-opportunity__grid{grid-template-columns:1fr}
  .editorial-heading__copy{padding-top:0}
  .mission-grid{grid-template-columns:repeat(2,1fr)}
  .activity-grid{grid-template-columns:1fr}
  .activity-side{display:grid;grid-template-columns:1fr 1fr}
  .activity-side__visual{aspect-ratio:auto;min-height:320px}
  .people-grid{grid-template-columns:repeat(2,1fr)}
  .participate-panel__title{position:static}
  .story-grid,.story-grid--archive{grid-template-columns:repeat(2,1fr)}
  .page-hero__grid{grid-template-columns:1fr;gap:35px}
  .page-hero__grid>p{max-width:800px}
  .people-directory-grid{grid-template-columns:repeat(2,1fr)}
  .event-group{grid-template-columns:220px 1fr;gap:35px}
  .resource-link-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:45px}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.footer-contact h3{grid-column:1/-1}
}

@media (max-width:760px){
  :root{--shell:calc(100% - 28px);--content:calc(100% - 28px);--header-main:70px}
  .site-header__meta{display:none}
  .site-navigation{top:var(--header-main);max-height:calc(100vh - var(--header-main));padding-inline:15px}
  .site-brand__logo{width:44px;height:44px}.site-brand__wordmark small{display:none}.site-brand{min-width:auto}
  h1{font-size:clamp(3.25rem,16vw,5.6rem)}h2{font-size:clamp(2.15rem,11vw,3.5rem)}
  .section{padding:72px 0}
  .home-hero__layout{padding-top:42px}
  .home-hero__lead{font-size:1.08rem}
  .hero-facts{grid-template-columns:1fr;margin-top:40px}
  .home-hero__media,.home-hero__media img{min-height:430px}
  .home-hero__media:after{font-size:8rem;top:-30px}
  .home-hero__media figcaption{flex-direction:column;gap:6px}
  .hero-index{grid-template-columns:repeat(2,1fr)}
  .mission-grid{grid-template-columns:1fr}
  .mission-grid article{min-height:245px}.mission-grid h3{margin-top:70px}
  .section-title{align-items:flex-start;flex-direction:column}
  .feature-event{grid-template-columns:78px 1fr 26px;gap:15px}.feature-event__date strong{font-size:2.9rem}
  .activity-mini-grid{grid-template-columns:1fr}.activity-mini{border-left:1px solid var(--line)}
  .activity-side{grid-template-columns:1fr}.activity-side__visual{min-height:260px}
  .world-map__bottom{align-items:flex-start;flex-direction:column}
  .people-grid{grid-template-columns:1fr 1fr}.person-card__copy{padding:18px 14px 22px}.person-card__copy h3{font-size:1.25rem}.person-card__media--placeholder span{font-size:5rem}
  .committee-intro{grid-template-columns:1fr}.committee-term{min-width:0}
  .committee-links{grid-template-columns:1fr}.committee-links a{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  .participate-panel__routes strong{font-size:1.2rem}
  .story-grid,.story-grid--archive{grid-template-columns:1fr}
  .page-hero{padding:70px 0 55px}.page-hero h1{font-size:clamp(3.25rem,15vw,5.6rem)}
  .content-section{padding:55px 0 85px}
  .route-grid{grid-template-columns:1fr}.route-grid>a{min-height:250px}
  .people-directory-grid{grid-template-columns:1fr}
  .election-banner__inner{grid-template-columns:1fr}.election-banner__inner>div,.election-banner__inner>a{border-right:1px solid var(--line)}
  .term-block{grid-template-columns:1fr}.term-block__head{border-right:0;border-bottom:1px solid var(--line)}.term-people{grid-template-columns:1fr}
  .document-row{grid-template-columns:55px 1fr}.document-row__icon{width:48px;height:55px}.document-row>a{grid-column:2}
  .network-index__legend{align-items:flex-start;flex-direction:column;gap:10px}
  .country-directory{grid-template-columns:1fr}.country-card>a{grid-template-columns:1fr;min-height:0}.country-card__media{aspect-ratio:16/10}.country-card__copy h2{margin-top:30px}
  .start-country__inner{align-items:flex-start;flex-direction:column}
  .country-hero__layout{grid-template-columns:1fr}.country-hero__code{display:none}.country-hero__media{order:-1}
  .country-content__layout{grid-template-columns:1fr}.country-content aside{position:static}
  .event-group{grid-template-columns:1fr;gap:20px;padding-top:55px}.event-group__heading h2{font-size:2rem}
  .event-row>a{grid-template-columns:68px 1fr 18px;gap:13px}.event-row__date strong{font-size:2.2rem}.event-row h3{font-size:1.45rem}
  .single-event__layout,.single-opportunity__layout{grid-template-columns:1fr}.single-event__layout aside{position:static}
  .election-facts>div,.step-grid{grid-template-columns:1fr}
  .join-option-grid{grid-template-columns:1fr}
  .resource-tabs>div{grid-template-columns:1fr 1fr}.resource-tabs span,.resource-tabs a{border-bottom:1px solid var(--line)}
  .opportunity-row>a{grid-template-columns:1fr 18px}.opportunity-row__deadline{grid-column:1;padding:15px 0 0;border-left:0;border-top:1px solid var(--line)}.opportunity-row>b{grid-column:2;grid-row:1}
  .resource-link-grid{grid-template-columns:1fr}
  .profile-page{grid-template-columns:1fr;padding-top:28px}.profile-page__media,.profile-placeholder{min-height:430px}.profile-page__content h1{margin-top:30px}.profile-facts>div{grid-template-columns:90px 1fr}
  .contact-layout{grid-template-columns:1fr}.contact-details{position:static}.contact-form{padding:20px}
  .footer-callout__inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1;display:block}.footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (max-width:440px){
  .people-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .resource-tabs>div{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}

/* 1.0.0-beta2: overflow guards (long file names, legacy fixed-width captions, wide tables/embeds) */
body{overflow-x:clip}
.entry-content{overflow-wrap:break-word}
.entry-content pre{max-width:100%;overflow-x:auto}
.entry-content figure,.entry-content .wp-caption,.entry-content video,.entry-content embed,.entry-content object{max-width:100%}
.entry-content .wp-caption img,.entry-content figure img{max-width:100%;height:auto}
.entry-content .wp-caption.aligncenter{margin-left:auto;margin-right:auto}
.document-row{grid-template-columns:76px minmax(0,1fr) auto}
.document-row>div{min-width:0}
.document-row h2,.document-row p{overflow-wrap:anywhere}
@media (max-width:760px){
  .document-row{grid-template-columns:55px minmax(0,1fr)}
}
@media (max-width:768px){
  .entry-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:600px){
  .entry-content .wp-caption{float:none;width:auto!important;max-width:100%}
}

/* beta3 polish: network section is a plain directory (no illustrative map) */
.world-layout{display:block}
.country-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.country-stack>a{grid-template-columns:1fr 24px}
.country-stack__all{grid-column:1/-1;max-width:420px}
@media (max-width:760px){.country-stack{grid-template-columns:1fr}}

.home-hero__note{margin-top:34px;max-width:520px;color:var(--muted);font-size:.92rem;line-height:1.5}

/* Long links and e-mail addresses must wrap on narrow screens */
dd, .ypsa-content a, .entry-content a { overflow-wrap: anywhere; }
.profile-facts, .profile-facts>div, .profile-facts dd { min-width: 0; }
.profile-facts dd { overflow-wrap: anywhere; }

/* No bullets in any navigation list (sub-menus included) */
nav ul, nav li, .menu, .menu li, .sub-menu, .sub-menu li { list-style: none; }
nav ul, .sub-menu { margin-top: 0; margin-bottom: 0; }

/* Readability and touch targets: nothing under 12px, comfortable tap areas (beta7) */
.tag, .kicker, .feature-event__date, .committee-term small, .person-card__copy p, .footer-column h3, .footer-bottom span, .footer-bottom { font-size: max(.75rem, 12px); }
.footer-column a { display: block; padding: 11px 0; }
.text-link { min-height: 44px; align-items: center; }
@media (min-width: 900px) { .footer-column a { padding: 6px 0; } }

/* beta8: no top bar, events as three equal cards, wide committee photo, four route cards */
:root { --header-meta: 0px; }
.events-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.events-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 280px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.events-card:first-child { border-left: 1px solid var(--line); }
.events-card h3 { margin: 40px 0 auto; font-size: clamp(1.5rem, 2.3vw, 2.1rem); line-height: 1.08; }
.events-card .text-link { margin-top: 28px; }
.events-card .tag { color: var(--muted); }
.events-card--red { background: var(--red); border-color: var(--red); color: #fff; }
.events-card--red .tag, .events-card--red h3 { color: #fff; }
.route-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.route-grid--four > a { min-height: 250px; }
@media (max-width: 1100px) { .route-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .events-trio { grid-template-columns: 1fr; } .events-card { min-height: 0; border-left: 1px solid var(--line); } .events-card h3 { margin-top: 24px; } }
@media (max-width: 640px) { .route-grid--four { grid-template-columns: 1fr; } }
.route-grid > a { grid-template-columns: minmax(0, 1fr); }
.route-grid h2 { margin-top: 40px; }

/* Home hero: the YPSA group photo has its people in the lower half. */
.home-hero__media img{object-position:50% 82%}

.opportunity-row--simple>a{grid-template-columns:1fr 28px}.opportunity-row--simple h2{font-size:1.5rem;margin-bottom:8px}

.home-hero__copy h1{overflow-wrap:break-word;hyphens:auto}

.home-hero__copy h1{font-size:clamp(3rem,5.6vw,6rem);overflow-wrap:break-word;hyphens:auto}
@media (max-width:1180px){.home-hero__copy h1{font-size:clamp(3.2rem,9vw,6rem)}}
@media (max-width:760px){.home-hero__copy h1{font-size:clamp(2.6rem,12.5vw,4.4rem)}}

/* beta18 : hero photo */
.home-hero__layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.home-hero__media{aspect-ratio:1/1}
.home-hero__media img{position:absolute;inset:0}
.submenu-toggle{display:none}
@media (max-width:1180px){
  .home-hero__layout{grid-template-columns:minmax(0,1fr)}
  .home-hero__media{aspect-ratio:auto;width:100%;height:clamp(360px,62vw,620px);min-height:0}
  .home-hero__media img{min-height:0}
  body.menu-is-open{overflow:hidden}
  .primary-menu>li{display:flex;flex-wrap:wrap;align-items:stretch}
  .primary-menu>li>a{flex:1 1 0;min-width:0;padding:16px 0;min-height:52px}
  .primary-menu .menu-item-has-children>.submenu-toggle{display:block;position:relative;flex:0 0 52px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}
  .submenu-toggle:before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-6px 0 0 -5px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s}
  .primary-menu li.is-open>.submenu-toggle:before{transform:rotate(-135deg);margin-top:-2px}
  .primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:none}
  .primary-menu li.is-open>.sub-menu{display:block}
  .primary-menu .sub-menu{flex:1 0 100%}
  .primary-menu .sub-menu a{padding:13px 0;min-height:46px}
  .language-switcher a{width:42px;height:42px;font-size:.7rem}
  .header-contact{width:44px;height:44px}
  .header-join{height:46px}
  .site-navigation{max-height:calc(100dvh - var(--header-meta) - var(--header-main))}
}
@media (max-width:760px){
  .home-hero__media{height:clamp(320px,98vw,460px)}
  .site-navigation{max-height:calc(100dvh - var(--header-main))}
}

/* beta19 : titres sur petit ecran */
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
@media (max-width:760px){
  .page-hero h1,.article-header h1,.profile-page__content h1,.country-hero__copy h1,.single-event__hero h1,.single-opportunity__hero h1,.entry-title{font-size:clamp(2.3rem,11vw,4.4rem)}
}

/* beta20 : mobile compact */
@media (max-width:760px){
  .section{padding:46px 0}
  h2{font-size:clamp(1.9rem,9vw,2.7rem)}
  .home-hero__layout{padding-top:28px}
  .home-hero__copy{padding-bottom:0}
  .home-hero__lead{margin-top:18px;font-size:1.02rem}
  .home-hero__note{margin-top:22px;font-size:.84rem}
  .home-hero__media{height:clamp(260px,78vw,360px)}
  .editorial-heading{gap:16px}
  .mission-grid{margin-top:34px}
  .mission-grid article{min-height:0;padding:20px 20px 24px}.mission-grid h3{margin-top:30px}
  .activity-mini{min-height:0;padding:22px}.activity-mini h3{margin:26px 0 10px}
  .activity-side__visual{aspect-ratio:16/8;min-height:0}
  .activity-side__copy{padding:20px}.activity-side__copy h3{margin:22px 0 10px}
  .world-header{margin-bottom:28px;gap:16px}
  .country-stack>a{padding:13px 0}
  .people-grid{grid-template-columns:1fr 1fr}
  .person-card__media{aspect-ratio:1/1.08}
  .person-card__copy{padding:12px 12px 16px}
  .person-card__copy>p{font-size:.56rem;margin-bottom:7px}
  .person-card__copy h3{font-size:1rem;margin-bottom:4px}
  .person-card__copy small{font-size:.74rem}
  .person-card>a>b{display:none}
  .committee-links a{padding:16px 18px}
  .participate-panel{gap:28px}
  .participate-panel__routes a{padding:16px 0}
  .story-grid,.story-grid--archive{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-right:-14px;padding-right:14px;padding-bottom:6px}
  .story-grid>*{flex:0 0 78%;scroll-snap-align:start}
  .footer-callout__inner{gap:14px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:22px}
  .footer-brand,.footer-contact{grid-column:1/-1}
  .page-hero{padding:44px 0 36px}
  .content-section{padding:36px 0 56px}
  .route-grid>a{min-height:0}
  .country-card__copy h2{margin-top:16px}
  .profile-page__media,.profile-placeholder{min-height:320px}
}
@media (max-width:440px){
  .people-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}

/* beta21 : sous-menus replies par defaut sur mobile/tablette */
@media (max-width:1180px){
  .primary-menu .menu-item-has-children>.sub-menu{display:none}
  .primary-menu .menu-item-has-children.is-open>.sub-menu{display:block}
}

/* beta22 : accueil mobile */
@media (max-width:1180px){.header-join{white-space:nowrap;padding:0 14px}.header-join span{margin-left:-4px}}
@media (max-width:760px){
  /* rangees glissantes : la derniere carte depasse pour inviter a faire defiler */
  .events-trio,.people-grid,.story-grid,.story-grid--archive{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:auto;margin-left:14px;margin-right:0;padding:0 14px 6px 0;border:0}
  .events-trio::-webkit-scrollbar,.people-grid::-webkit-scrollbar,.story-grid::-webkit-scrollbar{display:none}
  .events-card{flex:0 0 80%;min-height:200px;padding:22px;border:1px solid var(--line);scroll-snap-align:start}
  .events-card:first-child{border-left:1px solid var(--line)}
  .events-card--red{border-color:var(--red)}
  .events-card h3{margin:18px 0 auto;font-size:1.45rem}
  .events-card .text-link{margin-top:20px}
  .person-card{flex:0 0 62%;scroll-snap-align:start;border:1px solid var(--line)}
  .person-card__media{aspect-ratio:4/5}
  .person-card__copy{padding:14px 14px 18px}
  .person-card__copy>p{font-size:.6rem}
  .person-card__copy h3{font-size:1.2rem}
  .person-card__copy small{font-size:.8rem}
  .story-grid>*{flex:0 0 78%;scroll-snap-align:start}
  /* pays : deux colonnes */
  .country-stack{grid-template-columns:1fr 1fr;column-gap:16px}
  .country-stack>a{grid-template-columns:1fr auto;padding:13px 0;gap:6px}
  .country-stack strong{font-size:1.02rem}
  .country-stack small{font-size:.72rem}
  .country-stack__all{max-width:none}
  /* participer : tuiles 2 x 2 */
  .participate-panel__routes{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .participate-panel__routes a{grid-template-columns:1fr auto;align-items:start;min-height:84px;padding:14px 0 12px}
  .participate-panel__routes strong{font-size:1.02rem}
  /* accueil : boutons pleine largeur */
  .home-hero .button-row{display:grid;grid-template-columns:1fr;gap:16px;justify-items:stretch;margin-top:26px}
  .home-hero .button-row .button{width:100%}
  .home-hero .button-row .text-link{justify-self:start}
  .committee-links a{padding:14px 16px}
  .committee-intro{gap:18px}
  .footer-callout__inner{padding:44px 0}
  .footer-brand__mark{width:56px;height:56px;margin-bottom:16px}.footer-brand__mark .site-brand__logo{width:56px;height:56px}
  .footer-bottom{gap:6px}
}

/* beta23 : langues toujours visibles dans l'en-tete mobile */
.header-lang{display:none}
@media (max-width:1180px){
  .header-lang{display:block;margin-left:auto}
  .site-header__inner{gap:10px}
  .header-lang .language-switcher a{width:34px;height:34px;font-size:.66rem}
  .site-navigation .language-switcher{display:none}
}
@media (max-width:380px){
  .header-lang .language-switcher a{width:30px;height:30px;font-size:.6rem}
  .site-brand__wordmark strong{font-size:1.2rem}
}

/* beta24 : Participer (le texte etait coince dans une colonne de 42 px) */
.participate-panel__routes a{grid-template-columns:minmax(0,1fr) 28px;column-gap:14px}
.participate-panel__routes a>strong,.participate-panel__routes a>small{grid-column:1}
.participate-panel__routes a>b{grid-column:2;grid-row:1/span 2;align-self:center}
@media (max-width:760px){
  .section{padding:34px 0}
  .content-section{padding:24px 0 40px}
  .page-hero{padding:30px 0 24px}
  .page-hero__grid{gap:12px}
  .page-hero h1{font-size:clamp(2.1rem,10vw,3.2rem)}
  .page-hero__grid>p{font-size:1rem}
  .kicker{margin-bottom:10px}
  /* pages avec des personnes */
  .people-directory-grid{grid-template-columns:1fr 1fr}
  .committee-card__media{aspect-ratio:1/1.1}
  .committee-card__media--placeholder span{font-size:4.5rem}
  .committee-card__copy{padding:11px 11px 14px}
  .committee-card__copy h2{font-size:1.02rem;margin-bottom:5px}
  .committee-card__copy p{font-size:.76rem;line-height:1.35}
  .committee-card b{display:none}
  .term-block{grid-template-columns:1fr}
  .term-block__head{padding:14px 16px;border-right:0;border-bottom:1px solid var(--line)}
  .term-block__head span{font-size:1.2rem}
  .term-people{grid-template-columns:1fr 1fr}
  .term-people a{padding:12px 14px}
  .term-people strong{font-size:.95rem}.term-people span{font-size:.78rem}
  /* textes de pages */
  .entry-content{font-size:.98rem;line-height:1.55}
  .entry-content h2{font-size:1.5rem;margin:1.2em 0 .5em}
  .entry-content h3{font-size:1.2rem;margin:1em 0 .4em}
  .entry-content p{margin:0 0 .8em}
  .entry-content ul,.entry-content ol{margin:0 0 .9em}
  .entry-content li{margin-bottom:.3em}
  .country-card>a{gap:0}
  .route-grid>a{padding:18px}
  .document-row{padding:14px 0}
}

/* beta25 : pied de page mobile compact */
@media (max-width:760px){
  .footer-callout__inner{padding:30px 0;gap:12px}
  .footer-callout h2{font-size:2rem}
  .footer-grid{padding:26px 0 10px;gap:18px 20px}
  .footer-brand{display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center}
  .footer-brand__mark{grid-row:1;margin:0;width:52px;height:52px}
  .footer-brand__mark .site-brand__logo{width:52px;height:52px}
  .footer-brand>p{margin:0;font-size:.88rem;line-height:1.4}
  .footer-brand .social-row{grid-column:1/-1;margin-top:14px}
  .footer-column h3{margin-bottom:6px}
  .footer-column>a,.footer-column a{margin:0;padding:6px 0;font-size:.88rem;line-height:1.35}
  .footer-contact>a,.footer-address{gap:9px}
  .footer-contact__button{margin-top:10px!important}
  .footer-bottom{padding:14px 0;gap:4px}
}
@media (max-width:440px){.footer-grid{grid-template-columns:1fr 1fr}}

/* beta26 : mobile sans defilement lateral */
@media (max-width:760px){
  .events-trio,.people-grid,.story-grid,.story-grid--archive{display:grid;overflow:visible;scroll-snap-type:none;width:var(--shell);margin-left:auto;margin-right:auto;padding:0;gap:0;border:0}
  /* evenements : liste empilee */
  .events-trio{grid-template-columns:1fr;border-top:1px solid var(--ink)}
  .events-card{min-height:0;padding:16px 14px 18px;border:0;border-bottom:1px solid var(--line)}
  .events-card:first-child{border-left:0}
  .events-card h3{margin:8px 0 0;font-size:1.3rem;line-height:1.12}
  .events-card .text-link{margin-top:12px;font-size:.9rem}
  .events-card--red{border-bottom-color:var(--red)}
  /* comite : 2 colonnes, rien de cache */
  .people-grid{grid-template-columns:1fr 1fr;gap:10px}
  .person-card{border:1px solid var(--line)}
  .person-card__media{aspect-ratio:1/1.05}
  .person-card__copy{padding:10px 10px 14px}
  .person-card__copy>p{font-size:.56rem;margin-bottom:6px}
  .person-card__copy h3{font-size:1rem;margin-bottom:3px}
  .person-card__copy small{font-size:.74rem}
  /* articles : petites lignes avec vignette */
  .story-grid{grid-template-columns:1fr;border-top:1px solid var(--ink)}
  .story-grid .story-card{border-top:0;border-bottom:1px solid var(--line);padding:14px 0}
  .story-grid .story-card>a{display:grid;grid-template-columns:92px 1fr;column-gap:14px;align-items:start}
  .story-grid .story-card__media{grid-column:1;grid-row:1/span 2;aspect-ratio:1/1;overflow:hidden;margin:0}
  .story-grid .story-card__media img{width:100%;height:100%;object-fit:cover}
  .story-grid .story-card>a>.tag{grid-column:2;margin:0 0 4px}
  .story-grid .story-card>a>h3{grid-column:2;font-size:1.05rem;line-height:1.18;margin:0}
  .story-grid .story-card>a>p:not(.tag),.story-grid .story-card>a>span{display:none}
  .story-grid .story-card>a:not(:has(.story-card__media))>*{grid-column:1/-1}
  /* page Blog : cartes normales, une par ligne */
  .story-grid--archive{grid-template-columns:1fr;gap:18px}
}

/* beta27 */
@media (max-width:370px){.site-brand__wordmark{display:none}}
@media (max-width:760px){
  .section-title{gap:10px;margin-bottom:18px}
  .committee-intro{margin-bottom:6px}
  .editorial-heading__copy p{margin-bottom:12px}
}

/* beta28 : pages internes compactes sur mobile */
@media (max-width:760px){
  .opportunity-row>a{padding:14px 0;gap:10px}
  .opportunity-row h2,.opportunity-row--simple h2{font-size:1.15rem;line-height:1.2;margin-bottom:4px}
  .opportunity-row p{font-size:.86rem;line-height:1.4}
  .opportunity-row__deadline{padding-top:10px}
  .resource-link-grid>a{min-height:0;padding:16px 18px}
  .resource-link-grid strong{margin-top:10px;font-size:1.1rem}
  .resource-link-grid small{margin-top:4px;font-size:.78rem}
  .step-grid article{min-height:0;padding:18px 20px}
  .step-grid h3{margin:14px 0 8px}
  .join-option-grid article{min-height:0;padding:20px}
  .join-option-grid h2{font-size:1.5rem;margin:18px 0 10px}
  .election-banner{padding:28px 0}
  .election-banner__inner>div,.election-banner__inner>a{padding:14px 16px}
  .election-facts>div>div{padding:14px 16px}
  .resource-tabs span,.resource-tabs a{padding:12px 14px}
  .route-grid>a{padding:16px 18px}
  .country-card__copy{padding:16px}
}

/* beta29 : seuls 4 membres visibles sur l'accueil (le reste est un stock tire au hasard par main.js) */
.people-grid--pool>.person-card:nth-child(n+5){display:none}
