:root{
  --white:#fff;--ink:#0B1220;--body:#4A5567;--line:#E6EAF0;--line2:#F1F4F8;
  --tint:#F5F9F6;--green:#046A38;--green6:#05865F;--green7:#03502A;--gtint:#E8F3ED;
  --gold:#C9A227;--font:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --sh:0 1px 2px rgba(11,18,32,.04),0 8px 24px rgba(11,18,32,.06);
  --shl:0 2px 4px rgba(11,18,32,.04),0 18px 48px rgba(11,18,32,.10);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.022em;line-height:1.14}
p{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
button,a{-webkit-appearance:none;appearance:none}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
@media(min-width:900px){.wrap{padding:0 40px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

#bar{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--green);z-index:80;transform:scaleX(0);transform-origin:0 50%}
@supports(animation-timeline:scroll()){#bar{animation:gx linear;animation-timeline:scroll(root block)}@keyframes gx{to{transform:scaleX(1)}}}

.gov{background:var(--ink);color:#AEB9CC;font-size:11.5px;border-bottom:3px solid var(--green)}
.gov .wrap{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap;gap:4px}
.gov b{color:#fff;font-weight:600}.gov .r{display:none;gap:18px}
@media(min-width:760px){.gov .r{display:flex}}
.gov .frn{height:17px;width:22px;margin-right:7px;vertical-align:-4px;display:inline-block;background:url(../img/crest.png) center/contain no-repeat}

header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #D9E8DF}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;min-width:0}
.logo .frn{height:46px;width:60px;flex:none;background:url(../img/crest.png) center/contain no-repeat}
.logo b{display:block;font-size:14.5px;font-weight:700;line-height:1.2}
.logo span{display:block;font-size:11.5px;color:var(--body);font-weight:500}
.links{display:none;align-items:center;gap:2px}
@media(min-width:1000px){.links{display:flex}}
.links>a,.dd>a{padding:9px 13px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--body);transition:background .18s,color .18s;cursor:pointer;display:block}
.links>a:hover,.dd>a:hover{background:var(--gtint);color:var(--green7)}
.links>a.on,.dd>a.on{color:var(--green);background:var(--gtint);font-weight:600}
.dd{position:relative}.dd>a{display:flex;align-items:center;gap:6px}
.dd-m{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shl);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;max-height:70vh;overflow:auto}
.dd:hover .dd-m,.dd:focus-within .dd-m,.dd.op .dd-m{opacity:1;visibility:visible;transform:none}
@media(hover:none){.dd:hover .dd-m{opacity:0;visibility:hidden}.dd.op .dd-m{opacity:1;visibility:visible;transform:none}}
.dd-m a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500}
.dd-m a:hover{background:var(--gtint)}
.dd-m a span{display:block;font-size:12px;color:var(--body);font-weight:400;margin-top:2px}
.dd .cv{transition:.2s}.dd.op .cv,.dd:hover .cv{transform:rotate(180deg)}
.burger{display:flex;width:44px;height:44px;border:1px solid var(--line);border-radius:9px;align-items:center;justify-content:center;background:#fff;cursor:pointer}
@media(min-width:1000px){.burger{display:none}}
#dr{display:none;border-top:1px solid var(--line);padding:10px 0 18px;max-height:78vh;overflow:auto}
#dr.open{display:block}
#dr>a{display:block;padding:14px 2px;font-size:15.5px;font-weight:500;border-bottom:1px solid var(--line2)}
#dr .btn{margin-top:20px;width:100%}
/* the one expandable group */
.dr-g{border-bottom:1px solid var(--line2)}
.dr-h{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;
  padding:14px 2px;background:0;border:0;font-family:inherit;font-size:15.5px;font-weight:500;
  color:var(--ink);cursor:pointer;text-align:left}
.dr-h svg{flex:none;color:var(--green);transition:transform .22s}
.dr-g.op .dr-h{color:var(--green7);font-weight:600}
.dr-g.op .dr-h svg{transform:rotate(180deg)}
.dr-b{display:none;padding:2px 0 12px}
.dr-g.op .dr-b{display:block}
.dr-b a{display:block;padding:11px 2px 11px 16px;font-size:14.5px;font-weight:400;color:var(--body);
  border-left:2px solid var(--line);line-height:1.45}
.dr-b a:hover{color:var(--green7);border-left-color:var(--green)}
.dr-b a.dr-ov{font-weight:600;color:var(--ink)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:9px;font-size:15px;font-weight:600;transition:transform .16s,box-shadow .2s,background .2s,border-color .2s;cursor:pointer;border:0;font-family:inherit}
.btn:active{transform:translateY(1px)}
.p{background:var(--green);color:#fff;box-shadow:0 1px 2px rgba(4,106,56,.25),0 8px 20px rgba(4,106,56,.22)}
.p:hover{background:var(--green6)}
.p[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.s{background:#fff;color:var(--ink);border:1px solid var(--line)}
.s:hover{border-color:#C9D3E0;box-shadow:var(--sh)}
.g{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.34)}
.g:hover{background:rgba(255,255,255,.2)}
.sm{padding:10px 17px;font-size:14px}

.view{display:none}.view.on{display:block}
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,.72,.28,1),transform .7s cubic-bezier(.16,.72,.28,1)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
@media(min-width:900px){.hero{min-height:600px}}
.hero .ph{position:absolute;inset:0;background:radial-gradient(70% 60% at 78% 22%,rgba(5,134,95,.42),transparent 62%),linear-gradient(115deg,#0B1220 0%,#122036 46%,#0E2A22 100%)}
.hero .wrap{position:relative;padding:64px 20px 66px}
@media(min-width:900px){.hero .wrap{padding:0 40px}}
.chip{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12.5px;font-weight:600;padding:8px 15px;border-radius:100px;margin-bottom:24px}
.led{width:7px;height:7px;border-radius:50%;background:#3FD68C;flex:none;box-shadow:0 0 0 0 rgba(63,214,140,.65);animation:pl 2.4s ease-out infinite}
@keyframes pl{to{box-shadow:0 0 0 10px rgba(63,214,140,0)}}
.hero h1{color:#fff;font-size:clamp(2.05rem,6vw,3.7rem);max-width:18ch}
.hero h1 i{font-style:normal;color:#4FDE9B}
.hero .sub{color:#C6D0DE;margin-top:20px;max-width:46ch;font-size:16.5px}
@media(min-width:900px){.hero .sub{font-size:18px}}
.hrow{display:flex;flex-direction:column;gap:11px;margin-top:32px}
@media(min-width:560px){.hrow{flex-direction:row;flex-wrap:wrap}}
.motto{margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.motto p{font-size:17px;color:#DDE5EF;font-weight:500;font-style:italic}
@media(min-width:900px){.motto p{font-size:19px}}

.pb{background:var(--ink);color:#fff;padding:54px 0 58px;position:relative;overflow:hidden}
.pb:before{content:"";position:absolute;inset:0;background:radial-gradient(64% 100% at 84% 0%,rgba(5,134,95,.34),transparent 62%)}
.pb .wrap{position:relative}
.pb h1{font-size:clamp(1.85rem,4.8vw,2.9rem);max-width:24ch}
.pb p{color:#C0CBDA;margin-top:14px;max-width:58ch;font-size:16.5px}
/* keep short standfirsts on a single line rather than orphaning a word */
@media(min-width:900px){.pb p.one{max-width:none;white-space:nowrap}}
@media(min-width:900px) and (max-width:1080px){.pb p.one{font-size:15.5px}}
.pb .kick{color:#4FDE9B}

.sec{padding:66px 0}@media(min-width:900px){.sec{padding:94px 0}}
.sec.alt{background:var(--tint)}
.kick{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.h2{font-size:clamp(1.7rem,4.2vw,2.5rem);max-width:24ch}
.lede{margin-top:16px;color:var(--body);max-width:60ch;font-size:16.5px}
.ctr{text-align:center}.ctr .h2,.ctr .lede{margin-left:auto;margin-right:auto}
.disc{background:#F8FAFC;border:1px dashed #CBD5E1;border-radius:10px;padding:14px 18px;font-size:13px;color:var(--body);margin-top:34px}

.tasks{position:relative;margin-top:-46px;z-index:5}
.lg{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.lg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.lg{grid-template-columns:repeat(4,1fr)}}
.lc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;box-shadow:var(--sh);text-align:left;display:block;cursor:pointer;transition:transform .22s cubic-bezier(.16,.72,.28,1),box-shadow .22s,border-color .22s}
.lc:hover{transform:translateY(-4px);box-shadow:var(--shl);border-color:#D8E2EC}
.lc .ic{width:42px;height:42px;border-radius:11px;background:var(--gtint);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.lc h3{font-size:16.5px;font-weight:700;margin-bottom:6px}
.lc p{font-size:13.8px;color:var(--body)}
.lc .arw{margin-top:13px;font-size:13px;font-weight:600;color:var(--green);display:flex;align-items:center;gap:7px}
.lc .arw svg{transition:.22s}.lc:hover .arw svg{transform:translateX(5px)}
@media(hover:none){.lc:hover{transform:none;box-shadow:var(--sh)}}

.split{display:grid;gap:36px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}}
.imgph{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#E9EFF5,#DCE7EF 52%,#E4EFE8);aspect-ratio:4/3;border:1px solid var(--line)}
@supports not (aspect-ratio:1/1){.imgph{height:0;padding-bottom:75%}}
.imgph:after{content:"IMAGE TO BE SUPPLIED";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10.5px;letter-spacing:.18em;color:#8FA0B4;font-weight:700}
/* supplied photograph, shown at its own aspect ratio */
.ph-f{margin:0;align-self:center}
.ph-f img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);display:block}
.ph-f figcaption{font-size:12.5px;color:var(--body);margin-top:11px;line-height:1.5}
/* the seal is line art on white: no frame, and it should not fill the column */
.ph-f.seal img{border:0;border-radius:0;max-width:330px;margin:0 auto}

/* ---- mandate statement ---- */
.mandate{margin:22px 0 4px;padding:22px 24px;background:var(--gtint);border-left:3px solid var(--green);border-radius:0 12px 12px 0}
.mandate .ml{display:block;font-size:11.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--green7);margin-bottom:10px}
.mandate p{font-size:16px;line-height:1.68;color:var(--ink);font-weight:500}

/* ---- authority band: the President, who is not a member ---- */
.auth{background:var(--ink);color:#fff;padding:0}
.auth-in{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}
@media(min-width:820px){.auth-in{grid-template-columns:300px 1fr}}
.auth-p{margin:0;position:relative;background:#0E1728}
.auth-p img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;max-height:420px}
@media(min-width:820px){.auth-p img{max-height:none}}
.auth-t{padding:36px 0 40px}
@media(min-width:820px){.auth-t{padding:52px 0 52px 46px;align-self:center}}
.auth-t .kick{color:#4FDE9B;margin-bottom:12px}
.auth-t h2{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.2;max-width:20ch}
.auth-t .ttl{font-size:14.5px;color:#9FE3C1;font-weight:600;margin-top:10px;max-width:44ch;line-height:1.5}
.auth-t p{font-size:15px;color:#C0CBDA;margin-top:16px;max-width:56ch;line-height:1.7}

.steps{margin-top:8px}
.st{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.st:last-child{border-bottom:0}
.st .b{width:30px;height:30px;border-radius:50%;background:var(--gtint);color:var(--green);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.st h4{font-size:15.5px;font-weight:700;margin-bottom:3px}
.st p{font-size:14px;color:var(--body)}

/* ---- thematic areas accordion ---- */
.th{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.th-h{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;padding:18px 20px;background:#fff;border:0;cursor:pointer;font-family:inherit;transition:background .18s}
.th-h:hover{background:var(--tint)}
.th-n{flex:none;min-width:30px;height:30px;padding:0 6px;border-radius:8px;background:var(--gtint);color:var(--green7);font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.th-t{flex:1;font-size:15.5px;font-weight:700;letter-spacing:-.015em;color:var(--ink);line-height:1.35}
.th-c{flex:none;color:var(--green);transition:transform .25s;margin-top:4px}
.th.op .th-c{transform:rotate(180deg)}
.th-b{display:none;padding:0 20px 20px 64px}
.th.op .th-b{display:block}
.th-r{font-size:12.5px;font-weight:600;color:var(--green);margin-bottom:10px}
.th-b ul{margin:0;padding-left:18px}
.th-b li{font-size:14.5px;color:var(--body);line-height:1.65;margin-bottom:7px}
.th-b .go{margin-top:14px}

/* ---- flip profile cards ---- */
.pgrid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-top:32px;align-items:stretch}
@media(min-width:700px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.pgrid{grid-template-columns:repeat(4,1fr)}}
.flip{cursor:pointer;background:0;border:0;padding:0;font-family:inherit;text-align:left;display:flex}
/* every element inside .flip is a <span> (block content is illegal inside a
   <button> on iOS Safari), so each one must be blockified explicitly:
   inline elements ignore width, min-height, aspect-ratio and padding-box. */
.flip-in,.pt,.pi,.nm,.rl,.og,.bio{display:block}
.flip{width:100%}
.flip-in{position:relative;width:100%;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;height:100%;transition:transform .18s,box-shadow .22s,border-color .2s}
.flip:hover .flip-in{transform:translateY(-3px);box-shadow:var(--shl);border-color:#CFE0D6}
.flip:focus-visible .flip-in{outline:2px solid var(--green);outline-offset:2px}
.pt{aspect-ratio:1/1;background:linear-gradient(150deg,#E9EFF5,#DCE7EF 55%,#E4EFE8);position:relative;border-bottom:1px solid var(--line);flex:none}
@supports not (aspect-ratio:1/1){.pt{height:0;padding-bottom:100%}}
.pt img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pt.none:after{content:"PHOTOGRAPH TO FOLLOW";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.14em;color:#94A5B8;font-weight:700;text-align:center;padding:0 10px}
/* text block: fixed min-height so every card in a row ends level */
.pi{padding:15px 15px 46px;flex:1;position:relative;min-height:118px}
.nm{font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.rl{font-size:12.5px;color:var(--green);font-weight:600;margin-top:5px;line-height:1.35}
.og{font-size:12px;color:var(--body);margin-top:5px;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.flip-hint{position:absolute;left:15px;bottom:14px;font-size:10.5px;font-weight:700;color:var(--green);letter-spacing:.05em;background:var(--gtint);padding:5px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:5px}

/* ---- profile modal ---- */
.mo{position:fixed;inset:0;z-index:120;display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;
    background:rgba(11,18,32,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.mo.on{display:flex}
.mo-b{background:#fff;border-radius:18px;width:100%;max-width:720px;position:relative;box-shadow:0 30px 90px rgba(11,18,32,.4);margin:auto;animation:mopop .26s cubic-bezier(.2,.8,.3,1)}
@keyframes mopop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mo-b{animation:none}}
.mo-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.mo-x:hover{background:var(--gtint);border-color:var(--green)}
.mo-h{display:flex;gap:18px;align-items:center;padding:26px 26px 22px;border-bottom:1px solid var(--line2)}
@media(max-width:560px){.mo-h{flex-direction:column;text-align:center;gap:14px;padding:44px 20px 20px}}
.mo-p{width:104px;height:104px;border-radius:14px;overflow:hidden;flex:none;background:linear-gradient(150deg,#E9EFF5,#DCE7EF 55%,#E4EFE8);position:relative}
.mo-p img{width:100%;height:100%;object-fit:cover}
.mo-t{min-width:0;padding-right:40px}
@media(max-width:560px){.mo-t{padding-right:0}}
.mo-t h3{font-size:21px;line-height:1.22}
.mo-t .rl{font-size:13.5px;margin-top:6px}
.mo-t .og{font-size:13px;margin-top:5px;-webkit-line-clamp:none;overflow:visible}
.mo-c{padding:24px 26px 28px}
@media(max-width:560px){.mo-c{padding:20px}}
.mo-c p{font-size:15px;line-height:1.75;color:var(--body);margin-bottom:16px}
.mo-c p:last-child{margin-bottom:0}
.mo-c .pend{font-size:14px}

/* ---- carousel ---- */
.car{position:relative;margin-top:28px}
.car-t{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:stretch}
.car-t::-webkit-scrollbar{display:none}
.car-t>*{flex:0 0 calc(100% - 8px);scroll-snap-align:start}
@media(min-width:560px){.car-t>*{flex:0 0 calc(50% - 8px)}}
@media(min-width:860px){.car-t>*{flex:0 0 calc(33.333% - 11px)}}
@media(min-width:1100px){.car-t>*{flex:0 0 calc(25% - 12px)}}
/* arrows sit on the edge of the photography, green on white */
.car-b{position:absolute;top:38%;width:48px;height:48px;border-radius:50%;border:2px solid var(--green);
  background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;
  box-shadow:0 4px 18px rgba(11,18,32,.18);transition:background .18s,opacity .18s;transform:translateY(-50%)}
.car-b svg path{stroke:var(--green);transition:stroke .18s}
.car-b:hover{background:var(--green)}
.car-b:hover svg path{stroke:#fff}
.car-b[disabled]{opacity:0;pointer-events:none}
#pacPrev{left:-8px}
#pacNext{right:-8px}
@media(min-width:1240px){#pacPrev{left:-24px}#pacNext{right:-24px}}
.car-nav{display:flex;margin-top:14px;align-items:center}
.car-ct{font-size:13px;color:var(--body);font-weight:600}

.units{display:grid;gap:14px;grid-template-columns:1fr;margin-top:22px}
@media(min-width:760px){.units{grid-template-columns:repeat(2,1fr)}}
.unit{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 20px;display:flex;gap:15px;align-items:flex-start}
.unit .cnt{width:46px;height:46px;border-radius:11px;background:var(--gtint);color:var(--green7);font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.unit h4{font-size:15.5px;font-weight:700;margin-bottom:4px}
.unit p{font-size:13.5px;color:var(--body)}

.tl{position:relative;padding-left:26px}
.tl:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--line)}
.wk{position:relative;padding:0 0 26px}.wk:last-child{padding-bottom:0}
.wk:before{content:"";position:absolute;left:-24px;top:7px;width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid var(--line)}
.wk.now:before{background:var(--green);border-color:var(--green)}
.wk .w{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--body)}
.wk.now .w{color:var(--green)}
.wk .t{font-size:16px;margin-top:5px}
@media(min-width:820px){.tlgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}}

.stage{display:grid;grid-template-columns:auto 1fr;gap:16px;position:relative}
.stage .sr2{width:34px;position:relative;flex:none}
.stage .sr2:before{content:"";position:absolute;left:16px;top:34px;bottom:-10px;width:2px;background:var(--line)}
.stage:last-child .sr2:before{display:none}
.cir{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--body)}
.stage.done .cir{background:var(--green);border-color:var(--green);color:#fff}
.stage.now .cir{border-color:var(--green);color:var(--green);box-shadow:0 0 0 4px var(--gtint)}
.stage .sb{padding:3px 0 26px}
.stage h4{font-size:16px;font-weight:700;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.stage p{font-size:14px;color:var(--body);margin-top:5px;max-width:58ch}
.pillx{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:100px}
.pillx.d{background:var(--gtint);color:var(--green7)}
.pillx.n{background:#FBE7BE;color:#5E3F02}
.pillx.p{background:var(--line2);color:var(--body)}
.trk-h{display:flex;align-items:center;gap:11px;margin:34px 0 10px}
.trk-h .bdg{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:100px;background:var(--ink);color:#fff}
.trk-h h3{font-size:17px;font-weight:700}

.rcat{margin-top:34px}
.rcat h3{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--body);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.res{display:flex;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid var(--line2);transition:background .18s;width:100%;text-align:left}
.res:hover{background:var(--tint)}
.res .fi{width:42px;height:50px;border-radius:6px;background:var(--tint);border:1px solid var(--line);flex:none;display:flex;align-items:center;justify-content:center;position:relative}
.res .fi span{position:absolute;bottom:5px;font-size:7.5px;font-weight:800;color:var(--green7)}
.res .rt{flex:1;min-width:0}
.res .rt b{display:block;font-size:15px;font-weight:600}
.res .rt em{display:block;font-style:normal;font-size:12.5px;color:var(--body);margin-top:3px}
.res .dl{flex:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.18s}
.res:hover .dl{background:var(--green);border-color:var(--green)}
.res:hover .dl svg path{stroke:#fff}

.band{background:var(--ink);color:#fff;border-radius:18px;padding:44px 28px;text-align:center;position:relative;overflow:hidden}
@media(min-width:900px){.band{padding:60px 48px}}
.band:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 50% 0%,rgba(5,134,95,.4),transparent 65%)}
.band>*{position:relative}
.band h2{font-size:clamp(1.6rem,4.2vw,2.3rem);max-width:26ch;margin:0 auto 14px}
.band p{color:#B9C4D4;max-width:48ch;margin:0 auto 28px}
.qs{border:1px solid var(--line);border-radius:16px;background:var(--tint);padding:28px 26px;display:grid;gap:20px;align-items:center}
@media(min-width:820px){.qs{grid-template-columns:1fr auto;padding:34px 38px}}
.qs h3{font-size:clamp(1.3rem,3.2vw,1.7rem);font-weight:800;margin-bottom:9px}
.qs p{font-size:15px;color:var(--body);max-width:54ch}

/* ---- forms ---- */
.fw{max-width:720px;margin:0 auto;padding:52px 0 84px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;box-shadow:var(--sh)}
@media(min-width:640px){.card{padding:34px 32px}}
.fld{margin-bottom:24px}
.fld label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.fld .hint{font-size:13.5px;color:var(--body);margin-bottom:10px}
select,textarea,input[type=text],input[type=email]{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:16px;color:var(--ink);background:#fff;transition:.18s;-webkit-appearance:none;appearance:none}
select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%234A5567' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:42px}
select:focus,textarea:focus,input:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 4px rgba(4,106,56,.10)}
.drop{border:1.5px dashed #C4CFDC;border-radius:12px;padding:30px 20px;text-align:center;cursor:pointer;transition:.18s;background:var(--tint)}
.drop:hover,.drop.hot{border-color:var(--green);background:var(--gtint)}
.drop b{display:block;font-size:15px;margin-top:10px}
.drop em{display:block;font-style:normal;font-size:13px;color:var(--body);margin-top:5px}
.drop.has{border-style:solid;border-color:var(--green);background:var(--gtint)}
.step-badge{display:inline-flex;align-items:center;gap:9px;background:var(--gtint);color:var(--green7);font-size:13px;font-weight:600;padding:9px 15px;border-radius:100px;margin-bottom:22px}
.ok{margin-top:24px;border:1px solid var(--green);background:var(--gtint);border-radius:12px;padding:22px;display:none}
.ok.show{display:block}
.ok .cd{font-size:23px;font-weight:800;letter-spacing:.04em;color:var(--green7);margin:8px 0 6px;font-family:ui-monospace,Menlo,monospace}
.msg{font-size:14px;padding:12px 14px;border-radius:9px;margin-top:14px;display:none}
.msg.show{display:block}
.msg.err{background:#FDECEC;color:#8A1F1F;border:1px solid #F3C3C3}
.msg.info{background:var(--gtint);color:var(--green7);border:1px solid #BEDCCB}
.crit{background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:24px 22px;margin-bottom:28px}
.crit h3{font-size:17px;margin-bottom:12px}
.crit ul{margin:0;padding-left:18px}
.crit li{font-size:14.5px;color:var(--body);line-height:1.6;margin-bottom:7px}

/* ---- history: era records ---- */
.era-w{max-width:940px}
.era-t{margin-top:30px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.era-hd{display:none}
@media(min-width:820px){
  .era-hd{display:grid;grid-template-columns:118px 1fr 250px;gap:22px;padding:14px 22px;background:var(--ink)}
  .era-hd span{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#9FE3C1}
}
.era-r{display:grid;grid-template-columns:1fr;gap:6px;padding:18px 20px;border-top:1px solid var(--line2)}
.era-r:first-of-type{border-top:0}
@media(min-width:820px){.era-r{grid-template-columns:118px 1fr 250px;gap:22px;padding:18px 22px;align-items:start}}
.era-r:hover{background:var(--tint)}
.era-r .yr{font-size:13px;font-weight:800;color:var(--green7);letter-spacing:-.01em;line-height:1.4}
.era-r .ev{font-size:14.8px;color:var(--ink);line-height:1.62}
.era-r .who{font-size:13px;color:var(--body);line-height:1.55}
.era-r .who em{display:block;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#9AA6B6;margin-bottom:3px}
@media(min-width:820px){.era-r .who em{display:none}}

/* ---- key area grid ---- */
.agrid{display:grid;gap:18px;grid-template-columns:1fr;margin-top:36px}
@media(min-width:640px){.agrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.agrid{grid-template-columns:repeat(3,1fr)}}
.ac{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px 20px;text-align:left;
  transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column;scroll-margin-top:100px}
.ac:hover{box-shadow:var(--shl);border-color:#CFE0D6}
.ac.hit{border-color:var(--green);box-shadow:0 0 0 3px rgba(4,106,56,.15)}
.ac .an{display:block;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--green);margin-bottom:11px}
.ac h3{font-size:17px;line-height:1.28;margin-bottom:9px;letter-spacing:-.02em}
.ac .aref{font-size:12.5px;font-weight:600;color:var(--body);padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line2);line-height:1.45}
.ac ul{margin:0;padding-left:17px;flex:1}
.ac li{font-size:13.8px;color:var(--body);line-height:1.6;margin-bottom:9px}
.ac li:last-child{margin-bottom:0}
.ac .alink{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:13.5px;font-weight:600;color:var(--green)}
.ac .alink:hover svg{transform:translateX(3px)}
.ac .alink svg{transition:transform .18s}

/* ---- key area explainer ---- */
#areaDetail{scroll-margin-top:90px}
.ad{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 22px;margin-top:26px;box-shadow:var(--sh)}
@media(min-width:820px){.ad{padding:46px 54px}}
.ad-top{border-bottom:1px solid var(--line2);padding-bottom:22px;margin-bottom:26px}
.ad-tag{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--green);display:block;margin-bottom:11px}
.ad-top h3{font-size:clamp(1.5rem,3.4vw,2.1rem);max-width:22ch}
.ad-top .sub{font-size:16px;color:var(--body);margin-top:12px;max-width:56ch}
.ad-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.ad-meta span{font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:100px;background:var(--tint);color:var(--body);border:1px solid var(--line)}
.ad-meta span.pl{background:var(--gtint);color:var(--green7);border-color:#BEDCCB}
.ad-lead{font-size:17px;line-height:1.65;color:var(--ink);margin-bottom:34px;max-width:62ch}
@media(min-width:820px){.ad-lead{font-size:18px}}
.ad-s{margin-bottom:32px;max-width:64ch}
.ad-s h4{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--green);margin-bottom:12px;display:flex;align-items:center;gap:9px}
.ad-s h4:before{content:"";width:22px;height:2px;background:var(--green);flex:none;border-radius:2px}
.ad-s p{font-size:15.5px;line-height:1.72;color:var(--body)}
.ad-s ul{margin:14px 0 0;padding-left:19px}
.ad-s li{font-size:15px;color:var(--body);line-height:1.68;margin-bottom:9px}
.ad-q{border-left:3px solid var(--green);background:var(--tint);border-radius:0 12px 12px 0;padding:22px 24px;margin:30px 0 34px;max-width:64ch}
.ad-q p{font-size:17px;line-height:1.55;font-weight:600;color:var(--ink);letter-spacing:-.012em}
.ad-q cite{display:block;font-style:normal;font-size:12.5px;font-weight:600;color:var(--green);margin-top:11px}
.ad-two{display:grid;gap:16px;grid-template-columns:1fr;max-width:64ch}
@media(min-width:760px){.ad-two{grid-template-columns:1fr 1fr;max-width:none}}
.ad-two>div{border:1px solid var(--line);border-radius:12px;padding:20px}
.ad-two h5{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.ad-two .fr h5{color:var(--green7)}.ad-two .ag h5{color:#8A5A1F}
.ad-two .fr{background:var(--gtint);border-color:#BEDCCB}
.ad-two .ag{background:#FDF8EE;border-color:#EBDCBC}
.ad-two p{font-size:14.5px;line-height:1.68;color:var(--body)}
.pend{display:flex;gap:10px;align-items:flex-start;background:var(--tint);border:1px dashed #C4CFDC;border-radius:10px;padding:14px 16px;font-size:14px;color:var(--body)}
.ad-cta{margin-top:34px;padding-top:28px;border-top:1px solid var(--line2);display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ad-cta p{font-size:14.5px;color:var(--body);flex:1;min-width:230px}
.ad-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:nowrap}
.ad-nav.top{margin:-6px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line2)}
.ad-nav.bottom{margin-top:26px}
.ad-nav button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 16px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:9px;min-width:0;max-width:48%}
.ad-nav button:hover{border-color:var(--green);color:var(--green7)}
.ad-nav button[disabled]{opacity:.32;cursor:not-allowed}
.ad-nav .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ad-nav svg{flex:none}
@media(max-width:560px){.ad-nav .lbl{display:none}.ad-nav button{padding:11px 14px}
  .ad-nav.top button:first-child .lbl,.ad-nav.top button:last-child .lbl{display:inline}
  .ad-nav.top button{max-width:47%}}
.ad-docs{margin-top:26px}
.ad-docs h4{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--body);margin-bottom:12px}
.ad-docs a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px 14px;margin:0 8px 8px 0}
.ad-docs a:hover{border-color:var(--green);color:var(--green7)}

/* ---- other areas: must be opened and read before submitting ---- */
.soon{margin-top:30px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.sn-w{border-bottom:1px solid var(--line2)}
.sn-w:last-child{border-bottom:0}
.sn-h{display:flex;gap:15px;align-items:center;width:100%;text-align:left;padding:17px 20px;background:#fff;border:0;cursor:pointer;font-family:inherit;transition:background .16s}
.sn-h:hover{background:var(--tint)}
.sn-w.op .sn-h{background:var(--tint)}
.soon .st2{flex:1;font-size:15px;font-weight:600;letter-spacing:-.012em;line-height:1.35;color:var(--ink);display:block}
.soon .st2 em{display:block;font-style:normal;font-size:12.5px;color:var(--body);font-weight:400;margin-top:3px}
.soon .sp{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8A5A1F;background:#FDF8EE;border:1px solid #EBDCBC;padding:5px 10px;border-radius:100px}
@media(max-width:620px){.soon .sp{display:none}}
.sn-h .th-c{flex:none;color:var(--green);transition:transform .25s}
.sn-w.op .th-c{transform:rotate(180deg)}
.sn-b{display:none;padding:4px 20px 22px}
.sn-w.op .sn-b{display:block}
.sn-b h4{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.sn-b ul{margin:0;padding-left:19px}
.sn-b li{font-size:14.5px;color:var(--body);line-height:1.68;margin-bottom:8px}
.sn-go{margin-top:18px}

/* ---- deadline extension strip, home view only ---- */
.xt{display:block;background:var(--gtint);border-bottom:1px solid #CFE6DA}
.xt-w{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;
  width:100%;max-width:1160px;margin:0 auto;padding:11px 20px;text-align:center}
@media(min-width:900px){.xt-w{padding:11px 40px}}
.xt-d{width:7px;height:7px;border-radius:50%;background:var(--green6);flex:none;
  box-shadow:0 0 0 0 rgba(5,134,95,.5);animation:xtp 2.8s ease-out infinite}
@keyframes xtp{to{box-shadow:0 0 0 9px rgba(5,134,95,0)}}
.xt-l{font-size:13px;font-weight:700;color:var(--green7);letter-spacing:.01em;animation:xtf 2.8s ease-in-out infinite}
@keyframes xtf{0%,100%{opacity:1}50%{opacity:.62}}
.xt-t{font-size:13.5px;font-weight:500;color:#2C4A3A}
.xt-a{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--green)}
.xt:hover .xt-a{color:var(--green7);text-decoration:underline}
@media(max-width:520px){.xt-a{display:none}}
@media(prefers-reduced-motion:reduce){.xt-d,.xt-l{animation:none}}

/* ---- help line under the submit button ---- */
.help{margin-top:14px;font-size:13.5px;line-height:1.6;color:var(--body);text-align:center}
.help a{color:var(--green);font-weight:600;border-bottom:1px solid rgba(4,106,56,.3)}
.help a:hover{color:var(--green7);border-bottom-color:var(--green7)}

/* ---- submission form heading ---- */
.fw-h{font-size:clamp(1.35rem,3vw,1.75rem);margin-bottom:8px}
.fw-s{font-size:14.5px;color:var(--body);margin-bottom:22px;line-height:1.6;max-width:56ch}

/* ---- two-step submission ---- */
.stp{margin-bottom:26px}
.step-badge.done{background:var(--green);color:#fff}
.step-badge.wait{background:#F1F4F8;color:#8A94A6}
.step-badge svg{flex:none}
.card.lock .lockbar{display:flex;gap:11px;align-items:flex-start;background:#F1F4F8;border-radius:10px;padding:13px 15px;margin:-4px 0 24px;font-size:13.5px;color:var(--body);line-height:1.5}
.card.lock .lockbar b{display:block;color:var(--ink);font-size:14px;font-weight:700;margin-bottom:2px}
.card .lockbar{display:none}
.card.lock .fld,.card.lock .drop{opacity:.5;pointer-events:none;user-select:none}
.card.lock #submitBtn{opacity:.45;pointer-events:none}
.vdone{display:flex;gap:11px;align-items:center;background:var(--gtint);border:1px solid #BEDCCB;border-radius:10px;padding:14px 16px;font-size:14px;color:var(--green7)}
.vdone b{font-weight:700}
.vdone .tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center}

/* ---- FAQ accordion on the submission page ---- */
.faq-w{margin-top:44px}
.faq-w>h3{font-size:20px;margin-bottom:6px}
.faq-w>p{font-size:14.5px;color:var(--body);margin-bottom:20px}
.th.q .th-b{padding-left:20px}
.th.q .th-b p{font-size:14.5px;color:var(--body);line-height:1.65}
.th.q .th-t{font-weight:600;font-size:15px}

footer{background:var(--ink);color:#93A1B5;padding:54px 0 34px;font-size:14px}
.fg{display:grid;gap:30px;grid-template-columns:1fr;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(min-width:760px){.fg{grid-template-columns:1.5fr 1fr 1fr}}
footer h4{color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
footer a{display:block;padding:5px 0;color:#93A1B5;transition:.18s;cursor:pointer}
footer a:hover{color:#fff}
.ftile{background:#fff;border-radius:10px;padding:8px 10px;display:inline-flex;margin-bottom:12px}
.ftile .frn{height:34px;width:44px;background:url(../img/crest.png) center/contain no-repeat}
.fb{padding-top:22px;font-size:12.5px;color:#7A8899;display:flex;flex-direction:column;gap:10px}
@media(min-width:700px){.fb{flex-direction:row;align-items:center;justify-content:space-between;gap:20px}}
.fb .pw{display:inline-block;padding:0;color:#B8823C;font-weight:600;letter-spacing:.01em;
  border-bottom:1px solid rgba(184,130,60,.32);transition:color .18s,border-color .18s}
.fb .pw:hover{color:#D19A4E;border-bottom-color:#D19A4E}
