:root{--bg:#eef7f2;--sf:#fff;--tx:#1f2937;--mu:#4b5563;--ac:#14532d;--ac2:#0f3d21;--bd:#d1e3d7;--tint:#e3f1e9;--err:#9b1c1c;--grid-mint-lines:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M32 0H0v32' fill='none' stroke='%2314532d' stroke-opacity='.09'/%3E%3C/svg%3E")}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--tx);font:1.0625rem/1.65 Charter,Cambria,Georgia,"Times New Roman",serif;overflow-wrap:anywhere;hyphens:auto}
[hidden]{display:none!important}
h1,h2,h3,p,li,a,td,th,dt,dd,label,summary,legend,.brand,button{overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(1.9rem,6vw,3rem);line-height:1.15;margin:.3em 0 .5em;color:var(--ac)}
h2{font-size:1.6rem;line-height:1.25;margin:0 0 .6em;color:var(--ac)}
h3{font-size:1.15rem;line-height:1.3;margin:1.4em 0 .4em}
p{margin:0 0 1em}
main p,main li{max-width:45rem}
main li{margin-bottom:.35em}
a{color:var(--ac);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--ac);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;background:var(--ac);color:#fff;padding:.75rem 1rem;z-index:200}
.skip:focus{left:1rem;top:1rem}
.wrap{width:100%;max-width:68rem;margin:0 auto;padding:0 1.25rem}
.read{max-width:45rem}
.meta,.eyebrow,th,caption,.pill,.toc-title{font-variant:small-caps;letter-spacing:.08em}
.meta{color:var(--mu);font-size:.95rem;margin:0 0 .4em}
.eyebrow{color:var(--ac);font-weight:700;margin:0}
.small{font-size:.95rem}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--bd);transition:background-color .25s,border-color .25s}
.site-header.is-top:not(.open){background:transparent;border-color:transparent}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;min-height:4rem;padding-top:.5rem;padding-bottom:.5rem}
.brand{display:flex;align-items:center;gap:.6rem;flex:1 1 0;min-width:0;color:var(--tx);font-weight:700;font-size:.95rem;text-decoration:none;line-height:1.25}
.brand span{min-width:0}
.logo{flex:none}
.menu-toggle{flex:none;min-height:44px;padding:.4rem 1rem;background:transparent;color:var(--ac);border:2px solid var(--ac);font:inherit;font-weight:700;cursor:pointer;border-radius:0}
#menu{flex-basis:100%;max-height:calc(100vh - 5rem);overflow-y:auto;padding-bottom:1rem}
#menu ul{list-style:none;margin:0;padding:0}
#menu li{max-width:none;margin:0}
#menu li a{display:block;min-height:44px;padding:.65rem 0;border-bottom:1px solid var(--bd);color:var(--tx);text-decoration:none}
#menu .btn{display:flex;margin-top:1rem}
.tl,#menu li a,.linkbtn{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .25s}
#menu li a:hover,#menu li a:focus-visible,#menu li a[aria-current]{background-size:100% 2px}
@media(min-width:1040px){
.menu-toggle{display:none}
.brand{flex:0 0 auto}
#menu{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;max-height:none;overflow:visible;padding:0}
#menu ul{display:flex;gap:1.4rem}
#menu li a{border:0;padding:.5rem 0;display:inline-block}
#menu .btn{margin:0;display:inline-flex}}
/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1.25rem;background:var(--ac);color:#fff;border:2px solid var(--ac);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;border-radius:0}
.btn:hover{background:var(--ac2);border-color:var(--ac2)}
.tl,.linkbtn{color:var(--ac);font:inherit;font-weight:700;text-decoration:none;background-size:1.4em 2px;background-color:transparent;cursor:pointer}
.tl:hover,.tl:focus-visible,.linkbtn:hover,.linkbtn:focus-visible{background-size:100% 2px}
.linkbtn{border:0;padding:.5rem .25rem;min-height:44px;display:inline-flex;align-items:center;background-position:.25rem calc(100% - .45rem)}
.tl{display:inline-block;padding:.6rem 0;min-height:44px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin:1rem 0}
/* hero */
.hero{background:var(--grid-mint-lines);padding:2.5rem 0 3rem}
.hero-inner{display:grid;gap:2rem;align-items:center}
.hero-inner>*{min-width:0}
.hero-art{width:100%;max-width:22rem;height:auto;justify-self:center}
.lead{font-size:1.2rem;max-width:40rem}
@media(min-width:48rem){.hero-inner{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.page-head{padding:1.5rem 0 .5rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.95rem}
.crumbs li{margin:0;max-width:none}
.crumbs li+li::before{content:"›";margin-right:.5rem;color:var(--mu)}
.section{padding:2.5rem 0}
.section+.section{border-top:1px solid var(--bd)}
.timetable{background:var(--grid-mint-lines);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:2.5rem 0}
.split{display:grid;gap:1.5rem;align-items:start}
.split>*{min-width:0}
@media(min-width:60rem){.split{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}}
/* ledger */
.ledger{list-style:none;margin:1rem 0 0;padding:0;background:var(--sf);border:1px solid var(--bd)}
.ledger-row{display:grid;gap:.25rem 1.5rem;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--bd);margin:0;max-width:none!important}
.ledger-row:last-child{border-bottom:0}
.ledger-row>*{min-width:0}
.ledger-row h3{margin:0 0 .3em}
.ledger-row p{margin:0 0 .4em}
@media(min-width:40rem){.ledger-row{grid-template-columns:minmax(0,1fr) auto}}
.checklist{padding-left:1.4rem}
.checklist li{padding-left:.3rem}
.pill{display:inline-block;border-radius:999px;border:1px solid var(--bd);background:var(--tint);color:var(--ac);padding:.05rem .75rem;font-size:.9rem;font-weight:700;margin:.1rem .25rem .1rem 0;line-height:1.5}
/* tables */
.table-wrap{overflow-x:auto;background:var(--sf);border:1px solid var(--bd)}
table{border-collapse:collapse;width:100%;min-width:42rem}
caption{text-align:left;padding:.75rem .9rem;font-weight:700;color:var(--ac);caption-side:top}
th,td{padding:.7rem .9rem;border-top:1px solid var(--bd);text-align:left;vertical-align:top}
thead th{background:var(--tint);color:var(--ac)}
.note{border-left:4px solid var(--ac);background:var(--sf);padding:.8rem 1rem;margin:1rem 0}
.notice{border:1px solid var(--bd);border-left:4px solid var(--ac);background:var(--sf);padding:.9rem 1.1rem;margin:0 0 1.25rem;font-weight:700}
.letter{background:var(--sf);border:1px solid var(--bd);padding:1rem 1.25rem;white-space:pre-wrap;font:inherit;margin:1rem 0;max-width:45rem}
/* dossiers */
.file{background:var(--sf);border:1px solid var(--bd);border-left:4px solid var(--ac);padding:1.25rem 1.25rem 1rem;margin:0 0 1.5rem;min-width:0}
.file h2{margin-bottom:.2em}
.file h3{font-variant:small-caps;letter-spacing:.07em;color:var(--ac);font-size:1.05rem}
.file ul{padding-left:1.25rem;margin:.3rem 0 1rem}
.src{color:var(--mu);margin:.5rem 0 0}
.toc{background:var(--sf);border:1px solid var(--bd);padding:1rem 1.25rem;margin:1.5rem 0;max-width:45rem}
.toc ol,.toc ul{margin:.3rem 0 0;padding-left:1.3rem}
.toc-title{font-weight:700;color:var(--ac);margin:0}
.guide{margin:0 0 3rem;padding-top:1rem;border-top:1px solid var(--bd)}
.legal h2{margin-top:2rem;font-size:1.35rem}
/* forms */
fieldset{border:1px solid var(--bd);background:var(--sf);padding:1rem 1.25rem;margin:0 0 1.25rem;min-width:0}
legend{padding:0 .4rem;font-weight:700;color:var(--ac)}
.choice{display:flex;gap:.7rem;align-items:flex-start;min-height:44px;padding:.4rem 0;cursor:pointer}
.choice input{flex:none;width:1.25rem;height:1.25rem;margin:.2rem 0 0;accent-color:var(--ac)}
.field{margin:0 0 1.25rem;max-width:45rem}
.field label{display:block;font-weight:700;margin-bottom:.3rem}
.hint{color:var(--mu);font-size:.95rem;margin:0 0 .4rem}
input[type=text],input[type=url],select,textarea{display:block;width:100%;min-height:44px;padding:.6rem .75rem;font:inherit;color:var(--tx);background:#fff;border:1px solid #5f8570;border-radius:0}
textarea{resize:vertical;min-height:7rem}
.error{color:var(--err);font-weight:700;border-left:4px solid var(--err);padding-left:.6rem;margin:.5rem 0 0}
[aria-invalid=true]{border-color:var(--err);border-width:2px}
.toast{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:24rem;margin:0 auto;background:var(--ac);color:#fff;padding:.75rem 1rem;z-index:100;font-weight:700;text-align:center}
.toast:empty{padding:0}
/* faq */
details{background:var(--sf);border:1px solid var(--bd);margin:0 0 .6rem;max-width:45rem}
summary{padding:.8rem 1.1rem;min-height:44px;cursor:pointer;font-weight:700;color:var(--ac)}
details>div{padding:0 1.1rem .5rem}
/* footer */
.site-footer{background:var(--sf);border-top:1px solid var(--bd);padding:2.5rem 0 2rem;margin-top:3rem}
.foot-grid{display:grid;gap:1.5rem}
.foot-grid>*{min-width:0}
@media(min-width:48rem){.foot-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
.foot-brand{font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0;max-width:none}
.site-footer li a{display:inline-block;padding:.5rem 0;min-height:44px}
.legal-line{border-top:1px solid var(--bd);padding-top:1rem;margin:1.5rem 0 0;font-size:.95rem;color:var(--mu);max-width:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}