:root{
  --ink:#111512;--white:#fff;--green:#123d31;--green-deep:#0b2a22;--gold:#c28a2b;
  --mist:#eef2ef;--line:#d8deda;--muted:#5a655f;--error:#a82921;--success:#16633f;
  --max:1280px;--measure:64ch;--font:"Source Sans 3","Avenir Next","Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}
html{background:var(--white);color:var(--ink)}
body{background:var(--white);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body[data-menu-open]{overflow:hidden}
.container,.nav-shell{width:min(var(--max),calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;z-index:200;top:10px;left:10px;padding:.65rem .9rem;background:var(--white);color:var(--ink);transform:translateY(-180%);transition:transform 160ms ease-out}
.skip-link:focus{transform:none}
.icon{width:1rem;height:1rem;flex:0 0 auto}
.text-action{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.45rem 0 .35rem;border-bottom:2px solid var(--gold);font-size:.86rem;font-weight:700;line-height:1.2;text-decoration:none}
.text-action.secondary{border-color:currentColor;font-weight:600}
.text-action .icon{transition:transform 160ms ease-out}
.text-action:hover .icon,.text-action:focus-visible .icon{transform:translateX(4px)}

/* Global navigation */
.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
.home .site-header{position:absolute;inset:0 0 auto;background:transparent;border-color:rgba(255,255,255,.22);color:var(--white)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:2rem}
.wordmark{display:inline-flex;align-items:baseline;gap:.28em;font-size:1.08rem;font-weight:750;letter-spacing:-.045em;text-decoration:none;white-space:nowrap}
.wordmark-country{color:var(--gold)}
.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);font-size:.78rem;font-weight:650}
.primary-nav>a,.credential-trigger,.nav-credentials>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.primary-nav>a[aria-current="page"],.nav-credentials>a[aria-current="page"]{border-bottom:2px solid var(--gold)}
.nav-credentials{display:flex;align-items:center;position:relative}
.credential-trigger{justify-content:center;width:32px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.credential-trigger svg{width:.8rem;height:.8rem;transition:transform 160ms ease-out}
.nav-credentials[data-open] .credential-trigger svg{transform:rotate(180deg)}
.credential-panel{position:fixed;z-index:110;top:72px;left:0;width:100%;padding:2rem 0 2.4rem;background:var(--white);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 36px rgba(17,21,18,.08)}
.credential-panel-inner{width:min(var(--max),calc(100% - 64px));margin-inline:auto;border-top:1px solid var(--ink)}
.credential-menu-row{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,.43fr) 90px;gap:2rem;align-items:center;min-height:86px;border-bottom:1px solid var(--line);text-decoration:none}
.credential-menu-row strong{font-size:1.05rem;line-height:1.25;letter-spacing:-.02em}
.credential-menu-row span{color:var(--muted);font-size:.86rem;line-height:1.5}
.credential-menu-row .icon{justify-self:end;color:var(--green)}
.nav-apply{border-bottom:2px solid var(--gold)}
.menu-toggle{display:none;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font-size:.78rem;font-weight:700;cursor:pointer}

/* Full-bleed home hero */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:760px;height:min(920px,100svh);overflow:hidden;background:#0b0d0c;color:var(--white)}
.hero-media{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.hero-inner{width:min(var(--max),calc(100% - 64px));margin-inline:auto;padding:7rem 0 3rem}
.hero-copy{width:min(42%,520px)}
.eyebrow{margin:0 0 1rem;color:rgba(255,255,255,.8);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero h1{max-width:9ch;margin:0;font-size:clamp(3.8rem,5.8vw,5.7rem);font-weight:680;line-height:.92;letter-spacing:-.065em;text-wrap:balance}
.hero h1 span{display:block}
.hero-deck{max-width:43ch;margin:1.4rem 0 0;color:rgba(255,255,255,.9);font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:1.5rem}
.hero-facts{margin:1.2rem 0 0;color:rgba(255,255,255,.72);font-size:.76rem}

/* Editorial page movements */
.movement{padding:clamp(5rem,9vw,8.5rem) 0;background:var(--white)}
.movement+.movement{padding-top:0}
.section-intro{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:clamp(3rem,8vw,8rem);align-items:start;margin-bottom:clamp(3rem,6vw,5rem)}
.section-intro h2,.split-copy h2,.closing h2{max-width:13ch;margin:0;font-size:clamp(2.6rem,4.7vw,5rem);font-weight:620;line-height:.98;letter-spacing:-.06em;text-wrap:balance}
.section-intro p,.split-copy p{max-width:var(--measure);margin:.2rem 0 0;color:var(--muted);font-size:1.03rem;line-height:1.75}
.credential-index{border-top:1px solid var(--ink)}
.credential-row{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.43fr) minmax(100px,.15fr);gap:clamp(2rem,5vw,5rem);align-items:center;min-height:190px;border-bottom:1px solid var(--line);text-decoration:none}
.credential-row h3{margin:0;font-size:clamp(1.8rem,3vw,3.15rem);font-weight:580;line-height:1.04;letter-spacing:-.05em}
.credential-row p{max-width:48ch;margin:0;color:var(--muted);font-size:.95rem}
.credential-row .text-action{justify-self:end;color:var(--green)}
.split-copy{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.sequence{display:flex;flex-wrap:wrap;gap:.9rem 2rem;margin-top:1.8rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.82rem;font-weight:680}
.sequence span+span::before{content:"";display:inline-block;width:28px;margin-right:2rem;border-top:1px solid var(--gold);vertical-align:middle}
.value-band{padding:clamp(5rem,9vw,8rem) 0;background:var(--green-deep);color:var(--white)}
.value-band .split-copy p{color:rgba(255,255,255,.76)}
.about-bridge{border-top:1px solid var(--line)}
.closing{padding:clamp(5rem,8vw,7.5rem) 0;background:var(--green-deep);color:var(--white)}
.closing .container{display:flex;align-items:end;justify-content:space-between;gap:3rem}
.closing h2{max-width:10ch}
.closing p{max-width:42ch;margin:1rem 0 0;color:rgba(255,255,255,.75)}
.closing-actions{display:flex;gap:1.8rem;flex-wrap:wrap}

/* Inner page hierarchy */
.page-hero{padding:clamp(7rem,11vw,10rem) 0 clamp(4.5rem,8vw,7rem);border-bottom:1px solid var(--line)}
.page-return{display:inline-flex;margin-bottom:2.5rem;color:var(--muted);font-size:.78rem;font-weight:650;text-decoration:none}
.page-hero h1{max-width:960px;margin:0;font-size:clamp(3.2rem,6.7vw,7rem);font-weight:620;line-height:.94;letter-spacing:-.065em;text-wrap:balance}
.page-hero p{max-width:680px;margin:1.4rem 0 0;color:var(--muted);font-size:clamp(1rem,1.3vw,1.17rem)}
.page-actions{display:flex;gap:1.7rem;flex-wrap:wrap;margin-top:1.8rem}
.fact-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.fact{padding:1.35rem 1.4rem 1.35rem 0}
.fact+.fact{padding-left:1.4rem;border-left:1px solid var(--line)}
.fact span{display:block;color:var(--muted);font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}
.fact strong{display:block;margin-top:.35rem;font-size:.95rem;font-weight:620}
.content-section{padding:clamp(4.5rem,8vw,7.5rem) 0;border-bottom:1px solid var(--line)}
.content-grid{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);gap:clamp(3rem,8vw,8rem)}
.content-grid h2{max-width:12ch;margin:0;font-size:clamp(2.3rem,4vw,4.2rem);font-weight:610;line-height:1;letter-spacing:-.055em}
.content-body{max-width:760px}
.content-body>p:first-child{margin-top:0;font-size:1.1rem;color:var(--ink)}
.content-body p{color:var(--muted)}
.outcome-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.outcome-list li{padding:1.4rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.experience-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;border-top:1px solid var(--ink)}
.experience-list article{padding:1.6rem 0;border-bottom:1px solid var(--line)}
.experience-list h3{margin:0 0 .45rem;font-size:1.05rem}
.experience-list p{margin:0;color:var(--muted);font-size:.92rem}
.context-nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 0}
.context-nav a{font-size:.82rem;font-weight:650;text-decoration:none;border-bottom:1px solid var(--gold)}
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:74px;cursor:pointer;font-weight:620;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq details p{max-width:var(--measure);margin:0 0 1.6rem;color:var(--muted)}

/* About and editorial profiles */
.story-lead{max-width:980px;margin:0;font-size:clamp(2rem,4vw,4rem);font-weight:560;line-height:1.08;letter-spacing:-.05em}
.leader-profile{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.leader-profile h2{margin:0;font-size:clamp(2.4rem,4vw,4.2rem);font-weight:610;line-height:1;letter-spacing:-.055em}
.profile-role{margin:.8rem 0 0;color:var(--green);font-size:.83rem;font-weight:700}
.profile-copy{max-width:720px}
.profile-copy p:first-child{margin-top:0;color:var(--ink);font-size:1.16rem}
.profile-copy p{color:var(--muted)}
.profile-credentials{margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.profile-credentials li{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.9rem}

/* Forms */
.form-shell{width:min(760px,calc(100% - 64px));margin-inline:auto;padding:clamp(4rem,8vw,7rem) 0}
.form-progress{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:3rem;padding-bottom:.8rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.76rem}
.form-progress strong{color:var(--green)}
.form-step{margin:0;padding:0;border:0;scroll-margin-top:90px}
.form-step legend{width:100%;margin:0 0 2.4rem;padding:0;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:610;line-height:1;letter-spacing:-.055em}
.form-grid{display:grid;gap:1.6rem}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.field label,.field-label{display:block;margin-bottom:.45rem;font-size:.82rem;font-weight:650}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:.75rem 0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #8d9691;border-radius:0;outline:0}
.field textarea{min-height:124px;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-color:var(--green)}
.field small{display:block;margin-top:.45rem;color:var(--muted);font-size:.75rem}
.choice{display:grid;grid-template-columns:24px 1fr;gap:.75rem;align-items:start;margin-top:1.5rem;font-size:.82rem}
.choice input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--green)}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.form-button{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:.5rem 0;background:transparent;color:var(--green);border:0;border-bottom:2px solid var(--gold);font-weight:700;cursor:pointer}
.form-button.secondary{color:var(--muted);border-bottom-color:var(--line)}
.form-status{margin:1.2rem 0 0;font-size:.85rem}
.form-status[data-state="error"],.error-summary{color:var(--error)}
.form-status[data-state="success"]{color:var(--success)}
.error-summary{margin-bottom:1.5rem;padding:1rem;border-left:3px solid var(--error);background:#fff}
.application-summary{border-top:1px solid var(--ink)}
.application-summary div{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.application-summary dt{color:var(--muted);font-size:.78rem}
.application-summary dd{margin:0;font-weight:600}
.fee-notice{margin-top:2rem;padding:1.2rem 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);font-size:.86rem}

/* Legal and articles */
.legal-copy,.article-copy{width:min(760px,calc(100% - 64px));margin-inline:auto;padding:clamp(4.5rem,8vw,7rem) 0}
.legal-copy h2,.article-copy h2{margin:3rem 0 .8rem;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:620;line-height:1.1;letter-spacing:-.035em}
.legal-copy p,.legal-copy li,.article-copy p{color:var(--muted)}
.legal-copy a,.article-copy a{color:var(--green)}
.article-index{border-top:1px solid var(--ink)}
.article-row{display:grid;grid-template-columns:1fr 160px 80px;gap:2rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--line);text-decoration:none}
.article-row strong{font-size:1.1rem}
.article-row span{color:var(--muted);font-size:.78rem}

/* Footer */
.site-footer{padding:4.5rem 0 1.6rem;background:var(--green-deep);color:var(--white)}
.footer-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(130px,1fr));gap:clamp(2rem,6vw,5rem)}
.footer-brand p{max-width:34ch;margin:1rem 0 0;color:rgba(255,255,255,.68);font-size:.84rem}
.footer-column{display:flex;flex-direction:column;gap:0}
.footer-column strong{margin:0 0 .15rem;color:rgba(255,255,255,.55);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.footer-column a{display:inline-flex;align-items:center;min-height:44px;font-size:.82rem;text-decoration:none}
.footer-fee{margin:3rem 0 0;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.76);font-size:.8rem}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:1.4rem;color:rgba(255,255,255,.55);font-size:.72rem}

/* Protected administration */
.admin-shell{min-height:100vh;background:var(--mist)}
.admin-header{background:var(--green-deep);color:var(--white)}
.admin-header .container{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1.5rem}
.admin-title{font-weight:750;letter-spacing:-.025em}
.admin-actions{display:flex;gap:1rem}
.admin-actions button{min-height:44px;padding:.4rem 0;background:transparent;color:inherit;border:0;border-bottom:2px solid var(--gold);font-weight:700;cursor:pointer}
.admin-main{padding:clamp(3rem,7vw,6rem) 0}
.admin-summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line);background:var(--white)}
.admin-stat{padding:1.2rem}
.admin-stat+.admin-stat{border-left:1px solid var(--line)}
.admin-stat span{display:block;color:var(--muted);font-size:.72rem}
.admin-stat strong{display:block;margin-top:.25rem;font-size:1.7rem}
.admin-viz{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0}
.admin-viz section,.admin-main section{min-width:0}
.admin-viz h2,.admin-main h2{font-size:1.15rem;letter-spacing:-.025em}
.submission-list{border-top:1px solid var(--ink)}
.submission-card{padding:1.1rem 0;border-bottom:1px solid var(--line)}

@media(max-width:1023px){
  .container,.nav-shell,.hero-inner{width:min(100% - 48px,var(--max))}
  .hero{min-height:680px;height:88svh}
  .hero-copy{width:min(48%,500px)}
  .section-intro,.split-copy,.content-grid,.leader-profile{gap:3.5rem}
  .credential-row{grid-template-columns:minmax(240px,.44fr) minmax(0,.43fr) 90px}
}

@media(max-width:820px){
  .container,.nav-shell,.hero-inner{width:calc(100% - 40px)}
  .nav-shell{min-height:64px}
  .menu-toggle{display:inline-flex}
  .primary-nav{position:fixed;z-index:120;inset:64px 0 0;display:none;align-content:start;overflow:auto;padding:1.4rem 20px 2rem;background:var(--green-deep);color:var(--white)}
  .primary-nav[data-open]{display:grid}
  .primary-nav>a,.nav-credentials{min-height:54px;border-bottom:1px solid rgba(255,255,255,.18)}
  .primary-nav>a{font-size:1.05rem}
  .nav-credentials{display:block}
  .nav-credentials>a{font-size:1.05rem}
  .credential-trigger{display:none}
  .credential-panel{position:static;display:block!important;padding:.6rem 0 1rem;background:transparent;color:var(--white);border:0;box-shadow:none}
  .credential-panel-inner{width:100%;border:0}
  .credential-menu-row{grid-template-columns:1fr 24px;min-height:52px;border-color:rgba(255,255,255,.14)}
  .credential-menu-row strong{font-size:.86rem;font-weight:560}
  .credential-menu-row span{display:none}
  .credential-menu-row .icon{color:var(--gold)}
  .hero{display:block;height:auto;min-height:0;padding:0;background:#090b0a}
  .hero-media{position:relative;z-index:0;width:100%;height:auto;min-height:0;aspect-ratio:1672/941;object-fit:cover;object-position:center center;background:#090b0a}
  .hero-inner{padding:2.4rem 0 3.2rem}
  .hero-copy{width:100%;max-width:620px}
  .eyebrow{margin-bottom:.8rem}
  .hero h1{max-width:11ch;font-size:clamp(3rem,10vw,4.6rem)}
  .hero-deck{max-width:48ch}
  .hero-actions{flex-wrap:wrap}
  .section-intro,.split-copy,.content-grid,.leader-profile{grid-template-columns:1fr;gap:1.8rem}
  .credential-row{grid-template-columns:1fr 70px;gap:1.2rem;min-height:0;padding:2.1rem 0}
  .credential-row p{grid-column:1/-1;grid-row:2}
  .credential-row .text-action{grid-column:2;grid-row:1;align-self:start;font-size:0;border:0}
  .credential-row .text-action .icon{width:1.2rem;height:1.2rem}
  .closing .container{align-items:start;flex-direction:column}
  .fact-line{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}
  .fact:nth-child(4){border-top:1px solid var(--line)}
  .experience-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .admin-summary{grid-template-columns:repeat(2,1fr)}
  .admin-stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .admin-stat:nth-child(4){border-top:1px solid var(--line)}
  .admin-viz{grid-template-columns:1fr}
}

@media(max-width:520px){
  body{font-size:16px}
  .container,.nav-shell,.hero-inner,.form-shell,.legal-copy,.article-copy{width:calc(100% - 40px)}
  .nav-shell{min-height:56px}
  .primary-nav{inset:56px 0 0}
  .wordmark{font-size:1rem}
  .hero-media{height:auto;min-height:0}
  .hero-inner{padding:2rem 0 2.8rem}
  .hero h1{font-size:clamp(2.75rem,13vw,3.6rem)}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:.55rem}
  .movement{padding:4.5rem 0}
  .movement+.movement{padding-top:0}
  .section-intro h2,.split-copy h2,.closing h2{font-size:clamp(2.35rem,11vw,3.2rem)}
  .sequence{align-items:flex-start;flex-direction:column}
  .sequence span+span::before{width:18px;margin-right:.8rem}
  .page-hero{padding:6rem 0 4rem}
  .page-hero h1{font-size:clamp(2.8rem,13vw,4rem)}
  .page-actions{align-items:flex-start;flex-direction:column;gap:.6rem}
  .fact-line{grid-template-columns:1fr}
  .fact,.fact+.fact,.fact:nth-child(3){padding:1rem 0;border-left:0;border-top:1px solid var(--line)}
  .fact:first-child{border-top:0}
  .content-section{padding:4rem 0}
  .content-grid h2,.leader-profile h2{font-size:clamp(2.2rem,10vw,3rem)}
  .form-grid.two{grid-template-columns:1fr}
  .form-actions{align-items:flex-start;flex-direction:column-reverse}
  .form-button{width:100%;justify-content:space-between}
  .application-summary div{grid-template-columns:1fr;gap:.25rem}
  .article-row{grid-template-columns:1fr 28px}
  .article-row span{grid-row:2}.article-row .icon{grid-column:2;grid-row:1}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.35rem 1.5rem}
  .footer-brand{grid-column:1/-1}
  .footer-column:last-child{display:grid;grid-template-columns:1fr 1fr;column-gap:1.25rem;grid-column:1/-1}
  .footer-column:last-child strong{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:.5rem}
  .site-footer{padding:2.6rem 0 1.5rem}
}
