@font-face{font-family:"DM Sans";src:url(/assets/fonts/DMSans-normal-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";font-style:italic;src:url(/assets/fonts/InstrumentSerif-italic-400.woff2) format("woff2");font-display:swap}
:root{--navy:#102a38;--copper:#b9825a;--cream:#f6f2ea;--ink:#1d2b33;--muted:#5d6d74;--line:#e3ddd2;--wa:#1f9d55}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:17px}
img{max-width:100%;height:auto;display:block}a{color:var(--navy)}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--copper);font-weight:400}
h1,h2,h3{line-height:1.2;color:var(--navy)}h1{font-size:clamp(2rem,5vw,3.1rem);margin:.3em 0}h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header.top{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);z-index:5}
.top .in{display:flex;align-items:center;gap:14px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);margin-right:auto}
.brand strong{display:block;font-size:1rem}.brand small{display:block;color:var(--muted);font-size:.8rem}
nav.main{display:none;gap:18px}nav.main a{text-decoration:none;font-size:.95rem}
@media(min-width:960px){nav.main{display:flex}}
.btn{display:inline-flex;align-items:center;gap:8px;padding:.75em 1.2em;border-radius:999px;text-decoration:none;font-weight:600;border:0;font-size:.97rem}
.btn-wa{background:var(--wa);color:#fff}.btn-wa svg{width:20px;height:20px}.btn-light{background:#fff;color:var(--navy);border:1px solid var(--line)}
.hero{background:var(--cream);padding:48px 0}
.hero .in{display:grid;gap:32px;align-items:center}@media(min-width:900px){.hero .in{grid-template-columns:1.2fr .8fr}}
.hero img{border-radius:18px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--copper);font-weight:700}
.lead{font-size:1.12rem;color:var(--muted)}
section.block{padding:52px 0}.alt{background:var(--cream)}
.grid{display:grid;gap:18px}@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;text-decoration:none;color:inherit;display:block}
.card h3{margin:.2em 0 .4em;font-size:1.15rem}.card p{margin:0;color:var(--muted);font-size:.95rem}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px}@media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.steps li:before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-bottom:8px}
details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:600;color:var(--navy)}
.prose{max-width:760px}.prose h2{margin-top:1.6em}
.summary{background:var(--cream);border-left:4px solid var(--copper);padding:16px 20px;border-radius:10px}
.note{font-size:.92rem;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:28px 0}
.cta{background:var(--navy);color:#e9e2d4;border-radius:18px;padding:28px}.cta h2{color:#fff;margin-top:0}
.crumb{font-size:.88rem;color:var(--muted)}.crumb a{color:var(--muted)}
footer{background:var(--navy);color:#cfd8da;padding:40px 0 90px;font-size:.93rem}footer a{color:#fff}footer .cols{display:grid;gap:24px}@media(min-width:760px){footer .cols{grid-template-columns:repeat(3,1fr)}}
footer strong{color:#fff;display:block;margin-bottom:6px}.legal{border-top:1px solid #2b4655;margin-top:26px;padding-top:16px;font-size:.84rem;color:#93a6aa}
.wa-float{position:fixed;left:16px;bottom:16px;z-index:9;box-shadow:0 6px 20px rgba(0,0,0,.2)}

.map-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:stretch}.map-frame{border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:340px}.map-frame iframe{width:100%;height:100%;min-height:340px;border:0;display:block}.map-btns{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:820px){.map-wrap{grid-template-columns:1fr}.map-frame,.map-frame iframe{min-height:300px}}
