:root{--ink:#13212b;--steel:#5b6b76;--line:#c8d0d5;--paper:#f5f7f8;--card:#fff;--marine:#0d5c70;--marine-d:#094656}
@media(prefers-color-scheme:dark){:root{--ink:#e8eef1;--steel:#9fb0ba;--line:#33444f;--paper:#0f1a21;--card:#16252e;--marine:#5cc0d6;--marine-d:#8bd6e6}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Avenir Next","Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--marine)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--marine);outline-offset:3px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
header.site{border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}
.brand{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--ink)}
nav a{margin-right:1.4rem;text-decoration:none;color:var(--ink)}nav a[aria-current]{border-bottom:2px solid var(--marine)}
.hero{padding:4.5rem 0 4rem;border-bottom:1px solid var(--line);background:
 repeating-linear-gradient(to bottom,transparent 0 33px,var(--line) 33px 34px)}
.hero .wrap{position:relative;padding-left:2.25rem}
.hero .wrap::before{content:"";position:absolute;left:1.25rem;top:-4.5rem;bottom:-4rem;width:10px;background:var(--steel)}
.hero h1{font-size:clamp(2rem,5.5vw,3.6rem);line-height:1.08;margin:0 0 1rem;max-width:18ch;letter-spacing:-.02em;background:var(--paper);display:inline-block;padding:.1em .3em .1em 0}
.hero p{max-width:34rem;background:var(--paper);padding:.4rem .6rem .4rem 0;font-size:1.15rem}
.btn{display:inline-block;padding:.75rem 1.4rem;background:var(--marine);color:#fff;border-radius:3px;text-decoration:none;font-weight:600;margin:.4rem .6rem .4rem 0}
@media(prefers-color-scheme:dark){.btn{color:#0f1a21}}
.btn.alt{background:transparent;color:var(--marine);border:2px solid var(--marine)}
section{padding:3.5rem 0}section+section{border-top:1px solid var(--line)}
h2{font-size:1.7rem;margin:0 0 1rem;line-height:1.2}h3{margin:0 0 .4rem}
.two{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.box{background:var(--card);border:1px solid var(--line);padding:1.5rem}
.note{border-left:4px solid var(--marine);padding:.5rem 1rem;background:var(--card)}
.steps{padding-left:1.2rem}.steps li{margin-bottom:.6rem}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.grid ul{margin:0;padding-left:1.1rem}
address{font-style:normal}
footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--steel);font-size:.95rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
