/* The original transparent emblem, centered name and top-right sound controls. */
.site-header{display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);gap:12px 24px;padding:18px 4.5% 14px;align-items:start;background:linear-gradient(#02121bb8,#02121b45 78%,transparent)}
.header-logo{grid-column:1;grid-row:1;display:block;position:relative;width:180px;aspect-ratio:1164/1385;overflow:hidden;line-height:0;filter:drop-shadow(0 1px 1px #001019) drop-shadow(0 2px 7px #0009)}
.header-logo img{position:absolute;width:131.9587629%;max-width:none;height:auto;left:-17.8694158%;top:-5.4873646%;mix-blend-mode:normal}
.header-logo:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.header-name{grid-column:2;grid-row:1;justify-self:center;align-self:start;margin:34px 0 0;font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.8rem);font-weight:400;line-height:1.1;letter-spacing:-.035em;color:#fff7e6;text-align:center;text-shadow:0 2px 5px #00151c,0 4px 24px #00151c99;white-space:nowrap}
.site-header nav{grid-column:1/-1;grid-row:2;display:flex;width:100%;justify-content:center;align-items:center;gap:clamp(18px,3vw,46px);padding:10px 0 0;border-top:1px solid #c5f1f140}
.site-header nav a{font-size:.83rem;white-space:nowrap}.site-header nav .nav-stay{padding:9px 18px;border:1px solid #b69c60}
.island-music{grid-column:3;grid-row:1;position:relative;justify-self:end;align-self:start;margin-top:26px;display:grid;grid-template-columns:1fr auto;gap:7px;max-width:100%;color:#f4e3b9}
.music-label{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-right:4px;font-size:13px;line-height:1.3;color:#f4e3b9;white-space:nowrap;text-shadow:0 1px 5px #00151c}
.music-label>span{font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.island-music button{min-height:44px;padding:10px 14px;border:1px solid #e6d6a680;border-radius:24px;background:#052331b8;font:inherit;font-size:13px;line-height:1.2;color:#f6f8ef;cursor:pointer;white-space:nowrap;backdrop-filter:blur(10px)}
.island-music .music-play{background:#e0c387;color:#061b23;border-color:#e0c387}.island-music button:hover{background:#245264;color:#fff}.island-music .music-play:hover{background:#f4d89d;color:#061b23}.island-music button:focus-visible{outline:2px solid #fff;outline-offset:3px}.island-music.is-playing .music-label{color:#ffe1a1}.island-music audio{display:none}
.music-credits{padding-bottom:32px}.music-credits p,.music-credits summary{font-size:13px}
.hero-brand{padding-top:285px}.service-hero-copy,.fishing-hero-copy{padding-top:285px}
.hero .video-controls{justify-content:space-between;gap:18px;right:8%;bottom:25px}
@media(max-width:850px){
 .site-header{grid-template-columns:145px minmax(0,1fr) 145px;padding:16px 5% 13px;gap:12px 12px}
 .header-logo{width:140px}.header-name{font-size:2rem;margin-top:31px;white-space:normal}
 .island-music{margin-top:15px;gap:5px}.music-label{grid-column:1/-1}.island-music button{font-size:12px;padding:9px 10px}
 .site-header nav{gap:18px;justify-content:space-between}.site-header nav a{font-size:.74rem}.site-header nav .nav-stay{padding:7px 0;border:0}
 .hero-brand,.service-hero-copy,.fishing-hero-copy{padding-top:260px}
}
@media(max-width:680px){
 .site-header{grid-template-columns:105px minmax(0,1fr) 105px;padding:14px 4% 12px;gap:8px 8px}
 .header-logo{width:105px}.header-name{font-size:clamp(1.35rem,5.8vw,1.8rem);line-height:1.08;margin-top:26px;max-width:190px}
 .island-music{grid-template-columns:1fr;width:95px;margin-top:0;gap:5px}.music-label{justify-content:center;padding:0;font-size:12px;gap:5px}.music-label>span{font-size:10px;letter-spacing:.05em}.island-music button{font-size:12px;padding:8px 10px;width:100%;min-height:44px}
 .site-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px 10px;padding-top:9px}.site-header nav a{font-size:.71rem;line-height:1.6;padding:5px 0}.site-header nav a:nth-child(3n){text-align:right}.site-header nav a:nth-child(3n+2){text-align:center}.site-header nav .nav-stay{padding:5px 0}.site-header nav a[aria-current="page"]{border:0}
 .hero-brand{padding-top:240px}.service-hero-copy{padding-top:265px}.fishing-hero-copy{padding-top:240px}
 .hero .video-controls{right:7%;bottom:20px}
}
@media(max-width:350px){.site-header{grid-template-columns:95px minmax(0,1fr) 95px;padding-inline:10px;column-gap:6px}.header-logo{width:95px}.header-name{font-size:1.2rem;margin-top:24px}.island-music{width:90px}.site-header nav a{font-size:.66rem}}
.header-name{font-family:'Stella Script',cursive;font-size:clamp(3.5rem,5.5vw,5.6rem);letter-spacing:0;margin-top:29px;line-height:1.2}
.property-credit{margin:0;padding:12px 6% 32px;background:#020d15;text-align:center;color:#dcc38c;font-size:.85rem;line-height:1.7;letter-spacing:.03em}.property-credit span{display:block}.property-credit span+span{font-size:.76rem;color:#a9c5cf;margin-top:3px}
@media(max-width:850px){.header-name{font-size:3.3rem;margin-top:21px}}
@media(max-width:680px){.header-name{font-size:clamp(1.7rem,6.8vw,2.6rem);margin-top:20px;line-height:1.05}.property-credit{padding-bottom:25px;font-size:.8rem}}
@media(max-width:350px){.header-name{font-size:1.6rem;margin-top:20px}}

/* Keep seven navigation tabs legible, including the longer events tab. */
.site-header nav{gap:clamp(13px,2.1vw,32px)}
@media(max-width:1100px){.site-header nav{gap:14px}.site-header nav a{font-size:.75rem}.site-header nav .nav-stay{padding:8px 10px}}
@media(min-width:681px) and (max-width:900px){.site-header nav{flex-wrap:wrap;justify-content:center;gap:2px 22px}.site-header nav a{font-size:.76rem}.site-header nav .nav-events{order:7}.site-header nav .nav-stay{border:0}}
@media(max-width:680px){.site-header nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px 10px}.site-header nav a{font-size:.7rem;text-align:left}.site-header nav a:nth-child(3n){text-align:right}.site-header nav a:nth-child(3n+2){text-align:center}.site-header nav .nav-stay{order:6;padding:5px 0;text-align:right}.site-header nav .nav-events{order:7;grid-column:1/-1;justify-self:center;text-align:center;padding-top:6px;font-size:.73rem}.hero-brand{padding-top:280px}.service-hero-copy{padding-top:300px}.fishing-hero-copy{padding-top:275px}}

/* The centered title is the original silver wordmark artwork, with a custom lowercase d. */
.header-name{grid-column:2/4;grid-row:1;align-self:end;justify-self:end;width:min(61vw,1100px);max-width:100%;margin:0 0 0;line-height:0;white-space:normal;filter:drop-shadow(0 2px 3px #001923b0)}
.header-wordmark{display:block;width:100%;height:auto;overflow:visible}
.wordmark-sparkle{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 4px #dffaff)}
.sparkle-halo{opacity:.46;animation:stella-sparkle 3.8s ease-in-out infinite}
.sparkle-rays{opacity:.8;animation:stella-sparkle-rays 3.8s ease-in-out infinite}
@keyframes stella-sparkle{0%,42%,100%{opacity:.36}54%{opacity:1}62%{opacity:.5}70%{opacity:.95}80%{opacity:.36}}
@keyframes stella-sparkle-rays{0%,42%,100%{opacity:.55}54%{opacity:1;stroke-width:3.5}62%{opacity:.7}70%{opacity:1;stroke-width:2.8}80%{opacity:.55}}
@media(max-width:850px) and (min-width:681px){.header-name{width:64vw;margin:0 0 0}}
@media(max-width:680px){
 .header-logo{grid-row:1}.island-music{grid-row:1}
 .header-name{grid-column:1/-1;grid-row:2;width:100%;max-width:520px;justify-self:center;margin:0;filter:drop-shadow(0 1px 2px #001923b0)}
 .site-header nav{grid-row:3}
 .hero-brand{padding-top:335px}.service-hero-copy{padding-top:355px}.fishing-hero-copy{padding-top:330px}
}
@media(prefers-reduced-motion:reduce){.sparkle-halo,.sparkle-rays{animation:none}.sparkle-halo{opacity:.65}.sparkle-rays{opacity:1}}

/* Navigation tabs enlarged 20% from the prior font and padding sizes. */
.site-header nav a{font-size:.996rem;padding:8.4px 0}
.site-header nav .nav-stay{padding:10.8px 21.6px}
@media(max-width:1200px) and (min-width:681px){.site-header nav{flex-wrap:wrap;justify-content:center;gap:2.4px 26.4px}.site-header nav a{font-size:.9rem}.site-header nav .nav-stay{padding:9.6px 12px}.site-header nav .nav-events{order:7}}
@media(max-width:900px) and (min-width:681px){.site-header nav a{font-size:.912rem}.site-header nav .nav-stay{border:0}}
@media(max-width:680px){.site-header nav{gap:1.2px 12px}.site-header nav a{font-size:.84rem;padding:6px 0}.site-header nav .nav-stay{padding:6px 0}.site-header nav .nav-events{font-size:.876rem;padding-top:7.2px}.hero-brand{padding-top:350px}.service-hero-copy{padding-top:370px}.fishing-hero-copy{padding-top:345px}}
@media(max-width:350px){.site-header nav{column-gap:8px}.site-header nav a{font-size:.792rem}.site-header nav .nav-events{font-size:.85rem}}

/* Balance both sides so the wordmark is geometrically centered in the full header. */
.site-header{grid-template-columns:190px minmax(0,1fr) 190px}
.header-name{grid-column:2;grid-row:1;justify-self:center;align-self:center;width:100%;max-width:1000px;margin:0;color:#eef3f6;filter:none;text-shadow:none}
.header-wordmark{width:100%}
.header-company{display:block;margin-top:3.2px;font-family:var(--sans,Arial,sans-serif);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.14em;color:#eef3f6;text-align:center}
@media(min-width:681px) and (max-width:1050px){
 .site-header{grid-template-columns:145px minmax(0,1fr) 145px;column-gap:16px}
 .header-logo{width:140px}
 .island-music{margin-top:15px;gap:5px}.island-music button{font-size:12px;padding:9px 10px}
 .header-name{width:100%;margin:0}.header-company{margin-top:2.4px;letter-spacing:.1em}
}
@media(max-width:680px){
 .site-header{grid-template-columns:105px minmax(0,1fr) 105px}
 .header-name{grid-column:1/-1;grid-row:2;width:100%;max-width:520px;margin:0}
 .header-company{font-size:12px;margin-top:2.4px;letter-spacing:.12em}
 .hero-brand{padding-top:375px}.service-hero-copy{padding-top:395px}.fishing-hero-copy{padding-top:370px}.events-hero-copy{padding-top:385px}
}
@media(max-width:350px){.site-header{grid-template-columns:95px minmax(0,1fr) 95px}.header-company{letter-spacing:.08em}}

/* Anchor the subtitle just below the M's lower-right swash.
   The wordmark viewBox is 1980 × 365; its swash ends near (1615, 300).
   Center the label at x=1660 and leave a 2px line-box gap below y=300.
   Reserve the former subtitle row so the surrounding header does not move. */
.header-name{position:relative;padding-bottom:17.6px}
.header-company{position:absolute;top:0;left:83.8383838%;width:max-content;margin:calc(15.1515152% + 2px) 0 0;transform:translateX(-50%);font-size:9.6px;text-align:center;white-space:nowrap}
@media(max-width:1050px){.header-name{padding-bottom:16.8px}}
/* A compact play/pause control matching the mute control. */
.island-music{grid-template-columns:repeat(2,minmax(0,1fr));width:max-content}
.island-music button{width:100%}
.island-music .music-play{font-size:13px}
@media(max-width:680px){.island-music{grid-template-columns:1fr;width:95px}}
@media(max-width:350px){.island-music{width:90px}}

/* One label beneath the music controls. */
.music-caption{grid-column:1/-1;text-align:center;font-size:12px;line-height:1.3;color:#f4e3b9;white-space:nowrap;text-shadow:0 1px 5px #00151c}

/* Optical alignment uses the visible lettering bounds (x=9..1936),
   rather than the 1980-unit SVG canvas. Move its subtitle with the name. */
.header-name{transform:translate(.8838384%,8px)}
@media(max-width:680px){.header-name{transform:translate(.8838384%,4px)}}

/* A quiet, separate footer band for the requested travel/tourism links. */
.footer-resources{display:grid;grid-template-columns:minmax(155px,220px) minmax(0,1fr);gap:24px 40px;align-items:center;padding:12px 6% 34px;background:#020d15}
.footer-credit-links .photo-credits{padding:10px 0;background:none}
.footer-credit-links .photo-credits summary{font-size:12px;line-height:1.5;min-height:24px}
.footer-credit-links .photo-credits p{font-size:11px}
.footer-platforms{width:100%;max-width:1060px;justify-self:end;min-width:0}
.footer-platform-links{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:20px 28px;padding:16px 24px;background:#f7f7f2;border-radius:3px}
.footer-platform-links .platform-logo{display:flex;align-items:center;justify-content:center;min-height:62px;padding:8px 0;transition:opacity .18s ease}
.footer-platform-links .platform-logo:hover{opacity:.72}
.footer-platform-links .platform-logo:focus-visible{outline:2px solid #0b5b68;outline-offset:5px}
.footer-platform-links img{display:block;width:130px;max-width:100%;height:38px;object-fit:contain}
.footer-platform-links .platform-logo-tripadvisor img{width:145px}
.footer-platform-links .platform-logo-vrbo img{width:112px}
.footer-platform-links .platform-logo-btb img{width:82px;height:64px}
.footer-platform-links .platform-logo-airbnb img{width:116px;height:38px}
.platform-attribution{display:block;margin-top:8px;text-align:right;font-size:10px;line-height:1.5;color:#7299a5}
@media(max-width:1100px){.footer-resources{grid-template-columns:1fr;gap:12px}.footer-credit-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 28px}.footer-credit-links .photo-credits{max-width:100%}.footer-platforms{max-width:none}.footer-platform-links{gap:14px 22px}}
@media(max-width:680px){.footer-resources{padding:4px 7% 28px;gap:12px}.footer-platform-links{gap:6px 24px;padding:18px 16px}.footer-platform-links .platform-logo{flex:0 0 calc(50% - 12px);min-height:60px}.footer-platform-links .platform-logo-btb{order:5}.footer-platform-links img{width:122px;height:33px}.footer-platform-links .platform-logo-tripadvisor img{width:132px}.footer-platform-links .platform-logo-btb img{width:72px;height:56px}.footer-platform-links .platform-logo-vrbo img{width:105px}.footer-platform-links .platform-logo-airbnb img{width:110px}.platform-attribution{text-align:center}.carousel-controls button{min-width:44px;min-height:44px}}

/* Transparent music launcher; visible playback opens on request. */
.island-music.music-launcher{display:block;width:44px;min-width:44px;margin-top:16px;line-height:1;position:relative}
.island-music .music-open{display:block;width:44px;height:44px;min-height:44px;padding:0;font-size:28px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;color:#f4e3b9;border-radius:0;text-shadow:0 1px 5px #00151c}
.island-music .music-open:hover{background:transparent;color:#fff}
.music-popup{position:absolute;right:0;top:52px;width:200px;z-index:40;background:#07151d;padding:0;box-shadow:0 6px 24px #0007}
.music-popup[hidden]{display:none}
.music-popup iframe{display:block;width:200px;height:200px;border:0}
.island-music .music-close{border:0;border-radius:0;display:block;width:100%;min-height:32px;padding:6px;background:#07151d;color:#fff;font-size:12px}
@media(max-width:680px){.island-music.music-launcher{margin-top:0}}

.footer-platform-links .platform-logo-luna img{width:112px;height:68px}
@media(max-width:680px){.footer-platform-links .platform-logo-luna{order:6}.footer-platform-links .platform-logo-luna img{width:100px;height:61px}}
/* Preserve the official white/gold Luna artwork with a dark backing. */
.footer-platform-links .platform-logo-luna{background:#072b35;border-radius:3px;padding:6px 12px}

/* Requested black single-row partner strip. Scroll horizontally on small screens. */
.footer-platform-links{flex-wrap:nowrap;justify-content:space-between;background:#000;gap:24px;padding:18px 24px;overflow-x:auto;overscroll-behavior-x:contain}
.footer-platform-links .platform-logo{flex:0 0 auto;order:0}
.footer-platform-links .platform-logo img{filter:brightness(0) invert(1)}
.footer-platform-links .platform-logo-luna{background:#000;padding:0;border-radius:0}
.footer-platform-links .platform-logo-luna img{filter:none}
.island-music.music-launcher{width:88px;min-width:88px;text-align:center}
.island-music .music-open{margin-inline:auto}
.music-click-label{display:block;color:#f4e3b9;font-size:12px;line-height:1.4;white-space:nowrap;text-shadow:0 1px 5px #00151c}
.music-popup{top:66px}
@media(max-width:680px){.footer-platform-links{flex-wrap:nowrap;justify-content:flex-start;gap:24px;padding:16px}.footer-platform-links .platform-logo{flex:0 0 auto;order:0}}

/* All six brands fit in a single non-scrolling row in their original colors. */
.footer-platform-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:clamp(4px,1.7vw,24px);padding:18px clamp(4px,1.7vw,24px);overflow:visible}
.footer-platform-links .platform-logo{width:100%;min-width:0;min-height:44px;padding:4px 0;order:0}
.footer-platform-links .platform-logo img{filter:none;max-width:100%;width:100%;height:clamp(24px,4.5vw,64px);object-fit:contain}
.footer-platform-links .platform-logo-luna{background:#000}
@media(max-width:680px){.footer-platform-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:12px 0;overflow:visible}.footer-platform-links .platform-logo{min-width:0;min-height:44px;padding:2px 0}.footer-platform-links .platform-logo img{width:100%;max-width:100%;height:32px}}

/* Dark original wordmarks need discrete neutral backings, not recoloring. */
.footer-platform-links .platform-logo-expedia{background:#e9e9e5;border-radius:3px;padding:4px 6px;box-sizing:border-box}

/* In-flow music drawer reserves space rather than covering the page. */
.music-popup.music-drawer{position:relative;inset:auto;width:100%;height:232px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:16px 4.5%;background:#05222b;border-bottom:1px solid #dfbd7040;box-shadow:none;z-index:auto}
.music-popup.music-drawer[hidden]{display:none}
.music-drawer iframe{flex:0 0 200px;width:200px;height:200px}
.music-drawer-info{display:flex;flex-direction:column;align-items:flex-start;gap:16px;color:var(--gold);font-size:14px}
.music-drawer .music-close{min-height:44px;padding:8px 12px;border:1px solid #dfbd7080;background:transparent;color:#f3f7f7;font:inherit;cursor:pointer}
.music-drawer .music-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
body.music-expanded>.site-header{top:232px}
@media(max-width:480px){.music-popup.music-drawer{gap:12px;padding-inline:12px;justify-content:space-between}.music-drawer-info{font-size:12px;max-width:100px}}
