:root{--navy:#022550;--navy2:#0b3a73;--sun:#f97316;--coral:#e0706a;--cream:#fff4e6;--ink:#10213d}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Jost',sans-serif;color:var(--ink);background:var(--cream);font-size:1.075rem}
h1,h2,h3,.eyebrow{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.script{font-family:'Yellowtail',cursive;text-transform:none;letter-spacing:0;font-weight:400}
.util{background:var(--navy);color:#fff;font-size:.85rem;letter-spacing:.06em}
.util a{color:#ffd9b0;text-decoration:none}
.navbar{background:var(--cream);border-bottom:3px solid var(--navy)}
.navbar-brand{font-family:'Yellowtail',cursive;font-size:2rem;color:var(--navy);line-height:1}
.navbar-brand small{font-family:'Jost';font-size:.65rem;letter-spacing:.25em;display:block;font-weight:600;color:var(--sun);text-transform:uppercase;margin-top:2px}
.nav-link{font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--navy)!important}
.nav-link:hover{color:var(--sun)!important}
.btn-sun{background:var(--sun);color:var(--navy);font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:0;border-radius:0;padding:.8rem 1.8rem}
.btn-sun:hover{background:var(--navy);color:#fff}
.btn-line{border:2px solid var(--navy);color:var(--navy);font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:0;padding:.75rem 1.8rem}
.btn-line:hover{background:var(--navy);color:#fff}
.hero{position:relative;background:radial-gradient(ellipse 60% 70% at 50% 45%,#fb6d12 0%,#f27a3a 45%,#e0706a 100%);color:var(--navy);text-align:center;padding:5rem 0 0;overflow:hidden}
.hero .the{font-weight:700;letter-spacing:.35em;font-size:1.3rem;margin:0}
.hero h1{font-family:'Yellowtail',cursive;text-transform:none;letter-spacing:0;font-weight:400;font-size:clamp(6rem,22vw,15rem);line-height:.85;margin:0;color:var(--navy)}
.hero .tag{font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:1.05rem;margin:1.5rem 0 2rem}
.gull{position:absolute;fill:var(--navy);opacity:.9}
.g1{left:5%;top:30%;width:min(16vw,220px)}.g2{right:5%;top:28%;width:min(16vw,220px);transform:scaleX(-1)}
.waves{display:block;width:100%;height:70px;margin-top:3rem}
.waves.flip{transform:scaleY(-1);margin:0}
.section{padding:5rem 0}
.navy{background:var(--navy);color:#fff}
.navy .eyebrow{color:#ffb070}
.eyebrow{font-size:.8rem;color:var(--sun);margin-bottom:.5rem}
h2{font-size:clamp(1.8rem,4vw,2.8rem);color:inherit}
.panel{border:3px solid var(--navy);padding:2rem;background:#fff;box-shadow:10px 10px 0 var(--sun)}
.hours-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed #b8c3d6;padding:.6rem 0}
.tide{font-family:'Jost';font-variant-numeric:tabular-nums}
.marquee{background:var(--sun);color:var(--navy);overflow:hidden;white-space:nowrap;font-weight:700;letter-spacing:.3em;text-transform:uppercase;padding:.7rem 0;font-size:.9rem}
.marquee span{display:inline-block;padding-left:100%;animation:mq 30s linear infinite}
@keyframes mq{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.marquee span{animation:none;padding-left:1rem}}
.map iframe{width:100%;height:100%;min-height:340px;border:3px solid var(--navy)}
.logo-banner{max-width:100%;height:auto;display:block;border:3px solid #fff}
footer{background:#011a3a;color:#c9d5ea;padding:2.5rem 0;font-size:.95rem}
footer a{color:#ffd9b0}
.ig{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:3px solid var(--sun)}
@media(max-width:767px){.gull{display:none}.section{padding:3.5rem 0}.hero{padding-top:3.5rem}}
