:root{--g:#065038;--g2:#0b6b4b;--r:#d9101e;--bg:#f5f7f6;--surface:#fff;--ink:#14201b;--mute:#54635c;--line:#d6ddd9;--band:#eaf0ed;
--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"Public Sans","Segoe UI",Helvetica,Arial,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0d1512;--surface:#131d19;--ink:#e8efeb;--mute:#9aaba3;--line:#27352f;--band:#101b16;--g:#0d6a4a}}
:root[data-theme="dark"]{--bg:#0d1512;--surface:#131d19;--ink:#e8efeb;--mute:#9aaba3;--line:#27352f;--band:#101b16;--g:#0d6a4a}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans)}
a{color:inherit}
:focus-visible{outline:3px solid var(--r);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);line-height:1.2;margin:0}
h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;margin-bottom:12px}
h3{font-size:1.15rem;font-weight:600;margin-bottom:6px}
p{margin:0 0 14px}
.lead{max-width:62ch;color:var(--mute)}

/* header */
header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:3px solid var(--g);top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{height:56px;width:auto;display:block}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{padding:8px 12px;text-decoration:none;font-size:.92rem;font-weight:500;color:#14201b;border-bottom:2px solid transparent}
nav a:hover{border-color:var(--r)}

/* hero */
.hero{background:var(--g);color:#fff;border-bottom:6px solid var(--r)}
.hero .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;padding-top:72px;padding-bottom:72px;align-items:end}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;letter-spacing:-.01em;margin-bottom:20px}
.hero p{max-width:54ch;font-size:1.08rem;color:#d9e9e2}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;padding:12px 22px;font-weight:600;font-size:.95rem;text-decoration:none;border:2px solid #fff;border-radius:2px}
.btn.p{background:#fff;color:var(--g)}
.btn.p:hover{background:#e9f1ed}
.btn.s:hover{background:rgba(255,255,255,.12)}
.facts{background:rgba(0,0,0,.18);border-left:4px solid var(--r);padding:22px 24px;margin:0}
.facts div{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.facts div:last-child{border:0}
.facts dt{font-size:.82rem;color:#b9d3c8}
.facts dd{margin:0;font-weight:600}

section{padding:76px 0}
section.alt{background:var(--band);border-block:1px solid var(--line)}

/* about */
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:56px}
.objs{list-style:none;margin:0;padding:0}
.objs li{padding:14px 0 14px 22px;border-bottom:1px solid var(--line);position:relative}
.objs li:first-child{padding-top:0}
.objs li::before{content:"";position:absolute;left:0;top:24px;width:8px;height:8px;background:var(--r)}
.objs li:first-child::before{top:10px}
.objs strong{display:block;font-weight:600}
.objs span{color:var(--mute);font-size:.96rem}

/* sectors */
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tags span{border:1px solid var(--g2);color:var(--g2);padding:7px 14px;font-size:.92rem;font-weight:500;background:var(--surface)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .tags span{color:#7fd1ad;border-color:#2a6b53}}

/* programmes */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--surface);margin-top:32px}
.grid article{padding:26px 26px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid article:nth-child(3n){border-right:0}
.grid article:nth-last-child(-n+3){border-bottom:0}
.grid p{color:var(--mute);font-size:.96rem;margin:0}

/* committee */
.tw{overflow-x:auto;margin-top:28px;border:1px solid var(--line);background:var(--surface)}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--g);color:#fff;font-weight:600;font-size:.9rem}
td:first-child{font-family:var(--serif);font-weight:600;font-size:1.05rem;white-space:nowrap}
td:nth-child(2){font-weight:600;color:var(--g2)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) td:nth-child(2){color:#7fd1ad}}
td:nth-child(3){color:var(--mute);font-size:.95rem}
tr.adv td{background:var(--band)}
tbody tr:last-child td{border-bottom:0}
.note{color:var(--mute);font-size:.9rem;margin-top:14px;max-width:80ch}

/* plan */
.q{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px;counter-reset:q}
.q article{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--g);padding:22px}
.q article:nth-child(4){border-top-color:var(--r)}
.q h3::before{counter-increment:q;content:"Quarter " counter(q);display:block;font:600 .82rem var(--sans);color:var(--mute);margin-bottom:4px}
.q ul{margin:10px 0 0;padding-left:18px;color:var(--mute);font-size:.94rem}
.q li{margin-bottom:6px}

/* membership */
.m{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.m div{border-left:3px solid var(--g);padding:2px 0 2px 16px}
.m p{color:var(--mute);font-size:.94rem;margin:0}

/* compliance + contact */
.comp{border-left:5px solid var(--r);background:var(--surface);padding:24px 28px;margin-top:8px;max-width:820px}
.comp p{margin:0;color:var(--mute)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px}
address{font-style:normal}
address b{display:block;font-family:var(--serif);font-size:1.15rem;margin-bottom:4px}

footer{background:#0b2a1f;color:#c8d9d1;padding:34px 0;font-size:.9rem;border-top:6px solid var(--r)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer p{margin:0}


.adv{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start}
.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--g)}
.card img.ph{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 15%;display:block}
.card .in{padding:20px 22px 22px}
.card h3{font-size:1.3rem}
.role{color:var(--r);font-weight:600;font-size:.95rem;margin:0 0 4px}
.flags{display:flex;gap:14px;margin:16px 0 0}
.flags figure{margin:0;flex:1}
.flags svg{width:100%;height:auto;display:block;border:1px solid var(--line)}
.flags figcaption{font-size:.78rem;color:var(--mute);margin-top:4px;line-height:1.3}
.prof{margin:16px 0 0;padding:0;list-style:none;font-size:.92rem}
.prof li{padding:8px 0;border-top:1px solid var(--line);color:var(--mute)}
.prof b{color:var(--ink);font-weight:600}
.speech blockquote{margin:0 0 26px;padding-left:22px;border-left:5px solid var(--r);font:600 clamp(1.35rem,2.4vw,1.75rem)/1.4 var(--serif);max-width:32em}
.speech p{max-width:64ch;font-family:var(--serif);font-size:1.1rem;line-height:1.75}
.sign{margin-top:24px;padding-top:14px;border-top:1px solid var(--line);max-width:64ch}
.sign b{font-family:var(--serif);font-size:1.1rem;display:block}
.sign span{color:var(--mute);font-size:.92rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 8px}
.stats div{border-left:4px solid var(--r);padding-left:16px}
.stats strong{display:block;font:700 1.9rem/1.15 var(--serif)}
.stats span{color:var(--mute);font-size:.9rem;display:block;margin-top:4px}
.news{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.news article{background:var(--surface);border:1px solid var(--line);padding:24px}
.news .meta{font-size:.84rem;color:var(--mute);margin-bottom:8px;font-weight:500}
.news .imp{border-top:1px solid var(--line);padding-top:12px;margin:14px 0 8px;font-size:.94rem}
.news .imp b{color:var(--g2)}
.news .src{font-size:.84rem;color:var(--mute);margin:0}
.news .src a{color:var(--g2);font-weight:500}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .news .imp b,:root:not([data-theme="light"]) .news .src a{color:#7fd1ad}}
@media(max-width:900px){.adv{grid-template-columns:1fr;gap:36px}.card{max-width:420px}}
@media(max-width:640px){.stats,.news{grid-template-columns:1fr}.flags{gap:10px}}
@media(max-width:900px){
 .hero .wrap,.split,.contact{grid-template-columns:1fr;gap:36px}
 .hero .wrap{padding-top:48px;padding-bottom:48px}
 .grid,.m{grid-template-columns:1fr 1fr}
 .grid article:nth-child(3n){border-right:1px solid var(--line)}
 .grid article:nth-child(2n){border-right:0}
 .grid article:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
 .grid article:nth-last-child(-n+2){border-bottom:0}
 .q{grid-template-columns:1fr 1fr}
 section{padding:56px 0}
}
@media(max-width:640px){
 nav{display:none}
 .grid,.m,.q{grid-template-columns:1fr}
 .grid article{border-right:0!important;border-bottom:1px solid var(--line)!important}
 .grid article:last-child{border-bottom:0!important}
 .brand img{height:48px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.cm{margin-top:32px;display:grid;gap:20px}
.cm article{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--g);padding:22px;transition:transform .2s ease,box-shadow .2s ease}
.cm article:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(6,80,56,.13)}
.cm .cm-first{border-top-color:var(--r);padding:26px 28px}
.av{flex:none;width:56px;height:56px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font:600 1.1rem var(--serif);letter-spacing:.03em}
.cm-first .av{background:var(--r);width:66px;height:66px;font-size:1.3rem}
.cm h3{font-size:1.15rem;margin:0 0 2px}
.cm .ds{color:var(--g2);font-weight:600;margin:0 0 6px;font-size:.95rem}
.cm .cp{color:var(--mute);font-size:.93rem;margin:0}
.cm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .cm .ds{color:#7fd1ad}}
.menu{display:none;align-items:center;gap:10px;background:none;border:2px solid var(--g);color:#14201b;font:600 .92rem var(--sans);padding:9px 14px;cursor:pointer;border-radius:2px}
.menu i,.menu i::before,.menu i::after{display:block;width:18px;height:2px;background:var(--g);position:relative;transition:transform .2s,opacity .2s}
.menu i::before,.menu i::after{content:"";position:absolute;left:0}
.menu i::before{top:-6px}.menu i::after{top:6px}
header.open .menu i{background:transparent}
header.open .menu i::before{transform:translateY(6px) rotate(45deg)}
header.open .menu i::after{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:980px){.cm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
 .menu{display:inline-flex}
 nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;gap:0;padding:6px 24px 14px;border-bottom:3px solid var(--g);box-shadow:0 14px 24px rgba(0,0,0,.12)}
 header.open nav{display:flex}
 nav a{padding:14px 4px;border-bottom:1px solid #e3e8e5;font-size:1rem}
}
@media(max-width:640px){
 nav{display:none}
 header.open nav{display:flex}
 .cm-grid{grid-template-columns:1fr}
 .cm article{padding:18px;gap:14px}
 .cm-first{padding:20px}
 .av{width:48px;height:48px;font-size:1rem}.cm-first .av{width:54px;height:54px}
 .hero .btn{flex:1;text-align:center}
}
@media(prefers-reduced-motion:reduce){.cm article,.menu i,.menu i::before,.menu i::after{transition:none}.cm article:hover{transform:none}}
