:root{color-scheme:light;--ink:#18382d;--muted:#465b50;--paper:#f5f2e8;--line:#dce4dc;--gold:#edcf85}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif}
.portal-wrap{width:min(100% - 2rem,960px);margin-inline:auto}
.portal-header{background:#fff;border-bottom:1px solid var(--line)}
.portal-nav,.portal-brand,.portal-nav nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.portal-nav{justify-content:space-between;padding:1rem 0}
.portal-nav a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.3em}
.portal-brand{font-weight:700;text-decoration:none}
.portal-skip{position:absolute;transform:translateY(-140%);background:white;padding:.75rem;z-index:2}
.portal-skip:focus{transform:none}
.portal-hero{background:linear-gradient(125deg,#102f25,#245b46);color:#fff9e9;padding:clamp(2.5rem,8vw,5.5rem) 0}
.portal-hero h1{font-family:Georgia,serif;font-size:clamp(2.4rem,7vw,4.4rem);line-height:1.05;max-width:19ch}
.portal-hero p:not(.portal-eyebrow){max-width:44ch}
.portal-eyebrow{font-size:.79rem;font-weight:700;letter-spacing:.14em}
.portal-hero .portal-eyebrow{color:var(--gold)}
.portal-cta{color:#102f25;background:var(--gold);font-weight:700}
.portal-cta:hover,.portal-cta:focus-visible{background:#fff2c6;color:#102f25}
.portal-content{padding-block:2rem;display:grid;gap:1.5rem}
.portal-panel{background:white;padding:clamp(1.25rem,5vw,2.5rem);border-radius:1rem;border:1px solid var(--line);scroll-margin-top:1rem}
.portal-panel>p:not(.portal-eyebrow){color:var(--muted);max-width:65ch}
.portal-office{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;margin:1rem 0 0}
.portal-office div{background:#f1f5ee;border-radius:.65rem;padding:1rem}
.portal-office dd{white-space:pre-line;margin:0;color:var(--muted)}
form{max-width:42rem}
label{display:block;font-weight:600;margin:1.2rem 0 .4rem}
small{display:block;margin:.5rem 0 1.5rem}
p{line-height:1.7}
footer{padding:0 1rem 2rem;font-size:.8rem;text-align:center}
.portal-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.btn-primary{background:#245c47;border-color:#245c47}
