:root{--navy:#0b2540;--navy2:#123659;--orange:#ff6a1a;--bone:#f4efe6;--ink:#14202e;--tint:#e4ecf0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Public Sans',system-ui,sans-serif;color:var(--ink);background:var(--bone);font-size:1.04rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3{font-family:'Big Shoulders Display',Impact,sans-serif;text-transform:uppercase;line-height:.98;letter-spacing:.01em}
h1{font-weight:900;font-size:clamp(2.8rem,6.5vw,5rem);color:#fff;margin-bottom:1.1rem}
h2{font-weight:800;font-size:clamp(2.1rem,4.4vw,3.2rem);margin-bottom:1.1rem;color:var(--navy)}
h3{font-weight:800;font-size:1.45rem}
a{color:var(--navy2)}
.navbar{background:var(--navy);padding:.55rem 0;border-bottom:3px solid var(--orange)}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:1.65rem;letter-spacing:.04em;color:#fff;line-height:1;white-space:normal}
.navbar-brand small{display:block;font-family:'Public Sans',sans-serif;font-weight:500;font-size:.62rem;letter-spacing:.22em;color:#ffb98f;margin-top:.2rem}
.navbar-brand:hover{color:#fff}
.nav-link{color:#dbe6f0!important;font-weight:500;font-size:.92rem}
.nav-link:hover,.nav-link.active{color:var(--orange)!important}
.navbar-toggler{border-color:rgba(255,255,255,.4)}
.navbar-toggler-icon{filter:invert(1)}
.btn-call{background:var(--orange);color:#fff;font-weight:700;border:0;border-radius:3px;padding:.5rem 1.1rem}
.btn-call:hover{background:#e55a0e;color:#fff}
.btn-ghost{border:2px solid #fff;color:#fff;border-radius:3px;font-weight:700}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.hero{background:var(--navy);padding:clamp(2rem,5vw,4rem) 0 clamp(2.4rem,5vw,4.2rem);color:#fff}
.hero .lede{font-size:1.15rem;color:#dbe6f0;max-width:34rem;margin-bottom:1.6rem}
.hero-img{width:100%;height:auto;max-height:min(66vh,480px);object-fit:cover;object-position:center 60%;border-radius:4px;border:4px solid #fff}
.tag{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:#ffb98f;display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.buoy{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;height:2.6rem;padding:0 .4rem;border-radius:50%;background:#fff;color:var(--navy);border:3px solid var(--orange);font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.05rem;letter-spacing:0;flex:none}
.num{display:flex;align-items:center;gap:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--navy2);margin-bottom:.9rem}
.dark .num{color:#ffb98f}
.ribbon{background:var(--orange);color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;padding:.7rem 0;text-align:center}
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section.dark{background:var(--navy);color:#e6eef6}
.dark h2,.dark h3{color:#fff}
.dark a{color:#ffb98f}
.section.tint{background:var(--tint)}
.ph{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block}
.ph.tall,.ph.wide{aspect-ratio:4/3}
.ph.short{aspect-ratio:16/10}
.checks h3{color:var(--navy);margin-bottom:1rem}
.checks ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem 1.5rem}
.checks li{padding:.55rem 0 .55rem 1.6rem;border-bottom:1px solid rgba(11,37,64,.18);position:relative;font-weight:500}
.checks li::before{content:"";position:absolute;left:0;top:1.05rem;width:.7rem;height:.7rem;border-radius:50%;border:3px solid var(--orange)}
.panel{background:var(--navy2);border-left:6px solid var(--orange);padding:1.6rem;height:100%}
.panel ul{padding-left:1.1rem}
.panel li{margin-bottom:.4rem}
ul.plain{padding-left:1.1rem}
ul.plain li{margin-bottom:.45rem}
.harbors{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.harbors div{background:#fff;border-top:4px solid var(--orange);padding:1rem 1.1rem}
.harbors h3{color:var(--navy);margin-bottom:.4rem}
.harbors p{font-size:.93rem;margin:0}
.board{background:var(--navy);color:#fff;padding:1.5rem;border-radius:4px}
.board h3{color:var(--orange);font-size:1.3rem;margin-bottom:.6rem}
.board dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 1rem;font-variant-numeric:tabular-nums}
.board dt{font-weight:500;color:#cfdbe8}
.board dd{margin:0;text-align:right;font-weight:700}
.board dd.x{color:#8aa0b6;font-weight:400}
.board .note{font-size:.85rem;color:#cfdbe8;border-top:1px dashed rgba(255,255,255,.3);padding-top:.7rem}
.contact-card h3{color:var(--navy);font-size:1.1rem;margin:0 0 .15rem}
.contact-card p{margin-bottom:1rem;word-break:break-word}
.map{width:100%;height:100%;min-height:320px;border:0;border-radius:4px}
.wave-band{height:150px;overflow:hidden;background:var(--navy)}
.wave-band img{width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.9}
footer{background:var(--navy);color:#cfdbe8;padding:1.2rem 0;font-size:.88rem}
footer a{color:#ffb98f}
@media(max-width:991px){.navbar-brand{font-size:1.35rem}.hero-img{max-height:300px}}
