@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/fraunces-v38-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/fraunces-v38-latin-600.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/nunito-sans-v19-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/nunito-sans-v19-latin-600.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/nunito-sans-v19-latin-700.woff2') format('woff2')}

:root{--bg:#fff;--ink:#1c2b3a;--mut:#526475;--sage:#e3edf6;--sky:#d8e8f4;--sand:#eef4fa;--deep:#1f4468;--acc:#2a6fa8;--line:#d0deeb;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:#101a26;--ink:#e6eef6;--mut:#a3b4c6;--sage:#172536;--sky:#1a2d40;--sand:#142030;--deep:#9cc4e8;--acc:#3a83bd;--line:#26384b}}
:root[data-theme="dark"]{--bg:#101a26;--ink:#e6eef6;--mut:#a3b4c6;--sage:#172536;--sky:#1a2d40;--sand:#142030;--deep:#9cc4e8;--acc:#3a83bd;--line:#26384b}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 'Nunito Sans',system-ui,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.2;color:var(--deep);margin:0 0 .6em}
h1{font-size:clamp(2rem,5.5vw,3.3rem)}h2{font-size:clamp(1.5rem,3.5vw,2.1rem)}h3{font-size:1.2rem;font-weight:600}
a{color:var(--deep)}p{margin:0 0 1em;max-width:68ch}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;justify-content:space-between;max-width:1120px;margin:auto;padding:.7rem 1.2rem}
.brand{font-family:Fraunces,serif;font-size:1.25rem;text-decoration:none;color:var(--deep);white-space:nowrap}
nav{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.95rem}nav a{text-decoration:none;color:var(--ink);padding:.2rem 0;border-bottom:2px solid transparent}nav a.on,nav a:hover{border-color:var(--acc)}
.btn{display:inline-block;background:var(--acc);color:#fff!important;text-decoration:none;padding:.7rem 1.4rem;border-radius:999px;font-weight:700;border:0;cursor:pointer;font-size:1rem}
.btn.alt{background:transparent;color:var(--deep)!important;border:2px solid var(--deep)}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.wrap{max-width:1120px;margin:auto;padding:0 1.2rem}
section{padding:3.5rem 0}.tint{background:var(--sage)}.sky{background:var(--sky)}.sand{background:var(--sand)}
.hero{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;padding:3rem 0}
.hero img{width:100%;max-width:320px;justify-self:center;border-radius:48% 48% 1.5rem 1.5rem/38% 38% 1.5rem 1.5rem;aspect-ratio:4/5;object-fit:cover;object-position:60% 20%}
.ban{display:block;width:100%;height:clamp(220px,42vw,520px);object-fit:cover;object-position:50% 45%}
.lead{font-size:1.2rem;color:var(--mut)}.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem}
.grid>div{border-top:3px solid var(--acc);padding-top:.9rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
details{border-bottom:1px solid var(--line);padding:.9rem 0}summary{cursor:pointer;font-weight:700;color:var(--deep)}
.note{font-size:.9rem;color:var(--mut);border-left:3px solid var(--acc);padding-left:1rem}
label{display:block;font-weight:600;margin:.8rem 0 .2rem}input,textarea{width:100%;padding:.7rem;border:1px solid var(--line);border-radius:.6rem;font:inherit;background:var(--bg);color:var(--ink)}
footer{background:#14304f;color:#eef;padding:2.5rem 0 5.5rem}footer a{color:#fff}footer img{width:190px;border-radius:.6rem}
.fw{display:grid;grid-template-columns:auto 1fr 1fr;gap:2rem;align-items:center}
.fix{display:none}
ul.t{padding-left:1.1rem}ul.t li{margin:.3rem 0}
@media(max-width:820px){.hero,.two,.fw{grid-template-columns:1fr}nav{display:none}nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--bg);padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
.menu{display:block}.fix{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9;gap:.5rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line)}.fix a{flex:1;text-align:center}.hd{display:none}}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:.5rem;padding:.4rem .7rem;color:var(--ink);font:inherit}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.map{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--bg)}.map p{margin:0;font-size:.95rem;color:var(--mut)}.map iframe{border:0;border-radius:1rem;width:100%;height:100%;min-height:inherit}
