img{max-width:100%;height:auto}
:root{--navy:#0b2a43;--navy2:#071c2e;--paper:#f3efe4;--paper2:#e8e2d0;--flag:#e8532b;--ink:#142433;--hair:rgba(11,42,67,.2)}
html{scroll-behavior:smooth}
body{font-family:'Public Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.7}
h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:.01em}
h2{font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:1.2rem}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.eyebrow{color:var(--flag);margin-bottom:.6rem;font-weight:500}
section[id]{scroll-margin-top:70px}
.util{background:var(--navy2);color:#b9c9d6;padding:.4rem 0}
.util a{color:#fff;text-decoration:none}
.main-nav{background:var(--paper);border-bottom:2px solid var(--navy)}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.7rem;text-transform:uppercase;color:var(--navy)}
.navbar-brand span{color:var(--flag)}
.nav-link{font-family:'IBM Plex Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--navy)!important}
.nav-link:hover{color:var(--flag)!important}
.btn{border-radius:0;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;padding:.7rem 1.3rem;font-weight:500}
.btn-flag{background:var(--flag);color:#fff;border:2px solid var(--flag)}
.btn-flag:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-ghost{border:2px solid var(--navy);color:var(--navy);background:transparent}
.btn-ghost:hover{background:var(--navy);color:#fff}
.hero{position:relative;padding:3.5rem 0 3rem;min-height:min(78vh,620px);display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}
.hero-photo{position:absolute;inset:0}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.hero .container{position:relative}
.hero-card{background:var(--navy);color:#fff;max-width:620px;padding:2rem 2.2rem;border-left:8px solid var(--flag)}
.hero-card h1{font-size:clamp(3rem,7vw,5.2rem);margin-bottom:1rem}
.hero-card h1 span{color:var(--flag)}
.hero-card .lead{font-size:1.05rem;color:#d3dee7}
.hero-card .btn-ghost{border-color:#fff;color:#fff}
.hero-card .btn-ghost:hover{background:#fff;color:var(--navy)}
.strip{background:var(--flag);color:#fff;padding:1.4rem 0}
.strip b{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:2.6rem;line-height:1}
.strip span{font-family:'IBM Plex Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.strip .col-6{padding:.5rem}
.sec{padding:5.5rem 0}
.amen{border:2px solid var(--navy);padding:1.8rem 2rem;background:var(--paper2)}
.amen h3{color:var(--flag);font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.8rem}
.amen ul{list-style:none;padding:0;margin:0}
.amen li{padding:.7rem 0;border-bottom:1px dashed var(--hair);font-weight:500}
.amen li:last-child{border:0}
.sec-chart{background:var(--paper2)}
.board{background:#fff;border:2px solid var(--navy);padding:1.8rem 2rem}
.board-alt{background:var(--navy);color:#fff}
.board h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.8rem;color:var(--flag);margin-bottom:.4rem}
.row-p{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 0;border-bottom:1px dashed var(--hair)}
.board-alt .row-p{border-color:rgba(255,255,255,.25)}
.row-p small{display:block;color:#5b6b79;font-size:.82rem}
.row-p b{font-family:'Big Shoulders Display',sans-serif;font-size:2rem;white-space:nowrap}
.row-p b i{font-style:normal;font-size:1rem;opacity:.7;margin-left:2px}
.fine{font-size:.85rem;margin:1rem 0 0;opacity:.8}
.loc dt{color:var(--flag);margin-top:1.2rem;font-weight:500}
.loc dd{margin:0;font-size:1.1rem}
.map iframe{width:100%;height:420px;border:2px solid var(--navy)}
.sec-dark{background:var(--navy);color:#fff}
.sec-dark .intro{max-width:720px;color:#c4d2dd}
.dest{height:100%;background:var(--navy2);border-top:6px solid var(--flag)}
.dest img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.dest h3{font-size:1.9rem;padding:1.1rem 1.3rem 0}
.dest p{padding:.5rem 1.3rem 1.4rem;margin:0;color:#c4d2dd;font-size:.95rem}
.sec-contact{background:var(--paper)}
.intro{max-width:640px}
.foot{background:var(--navy2);color:#b9c9d6;padding:1.4rem 0;font-size:.85rem}
.foot a{color:#fff}
@media(max-width:575px){.sec{padding:3.5rem 0}.hero-card{padding:1.4rem}.row-p b{font-size:1.6rem}.btn-lg{width:100%}.hero{min-height:0;padding-top:12rem}}
