/* High Tide House v2
   Layout: one illustrated shoreline scene that changes with time and tide, then calm, spacious content sections. */
@property --sky-top{syntax:'<color>';inherits:true;initial-value:#8FCBE3}
@property --sky-bot{syntax:'<color>';inherits:true;initial-value:#FCE3CC}
@property --sun{syntax:'<color>';inherits:true;initial-value:#FFD38F}
@property --sea1{syntax:'<color>';inherits:true;initial-value:#58AABF}
@property --sea2{syntax:'<color>';inherits:true;initial-value:#2E7F96}
@property --sand{syntax:'<color>';inherits:true;initial-value:#EBD9B9}
@property --hill{syntax:'<color>';inherits:true;initial-value:#7DA5AE}
@property --grass{syntax:'<color>';inherits:true;initial-value:#7FA383}
@property --wall{syntax:'<color>';inherits:true;initial-value:#F6FAFA}
@property --roof{syntax:'<color>';inherits:true;initial-value:#14233A}
@property --window{syntax:'<color>';inherits:true;initial-value:#DDF0F4}
@property --ground{syntax:'<color>';inherits:true;initial-value:#9FAAB2}
@property --bush{syntax:'<color>';inherits:true;initial-value:#4F7F67}
@property --stars{syntax:'<number>';inherits:true;initial-value:0}
@property --dim{syntax:'<number>';inherits:true;initial-value:0}
@property --sun-x{syntax:'<length>';inherits:true;initial-value:1090px}
@property --sun-y{syntax:'<length>';inherits:true;initial-value:240px}
@property --tide{syntax:'<length>';inherits:true;initial-value:0px}

:root{
  color-scheme:light;
  --bg:#F5F9FA; --fg:#14233A; --muted:#475A6C; --card:#FFFFFF; --mist:#E4F0F2;
  --line:rgba(20,35,58,.15); --sea:#1F7A8C; --sea-deep:#165F6E;
  --buoy:#D1343E; --on-buoy:#FFFFFF; --seg-bg:rgba(255,255,255,.88); --seg-on:#14233A; --seg-on-fg:#FFFFFF;
  --display:'Rethink Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body:'Source Serif 4',Georgia,'Times New Roman',serif;
  --r:20px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.125rem/1.7 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.ui{font-family:var(--display)}
h1,h2,h3{margin:0 0 .5em;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.7rem,6.2vw,4.9rem);font-weight:800}
h2{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800}
h3{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--buoy);outline-offset:3px;border-radius:6px}
.wrap{width:min(1160px,100% - 2rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--buoy);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.muted{color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1rem var(--display);text-decoration:none;padding:.9rem 1.6rem;border-radius:14px;border:2px solid transparent;cursor:pointer;transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-2px)}
.btn-buoy{background:var(--buoy);color:var(--on-buoy)}
.btn-buoy:hover{filter:brightness(1.08)}
.btn-line{border-color:currentColor;background:transparent;color:inherit}

/* header */
.site{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,box-shadow .3s}
.site.scrolled{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);color:var(--fg)}
.bar{display:flex;align-items:center;justify-content:space-between;height:76px}
.site{color:var(--fg)}
body[data-time="evening"] .site:not(.scrolled){color:#fff}
.brand{text-decoration:none;display:block;width:230px;color:inherit}
.logo{display:block;width:100%;height:auto}
.logo .lt{font:800 50px var(--display);letter-spacing:-1.5px;fill:currentColor}
.logo .lw{stroke:var(--sea)}
body[data-time="evening"] .site:not(.scrolled) .lw{stroke:#7FD0E0}
.logo .ls{font:600 18px var(--display);letter-spacing:.5px;fill:currentColor;opacity:.85}
nav ul{display:flex;gap:1.8rem;align-items:center;list-style:none;margin:0;padding:0;font:600 1rem var(--display)}
nav a:not(.btn){text-decoration:none}
nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:3px;text-decoration-color:var(--buoy)}
nav .btn{padding:.6rem 1.1rem;color:var(--on-buoy)}
.menu-btn{display:none;background:none;border:0;color:inherit;font:700 1rem var(--display);padding:.5rem;cursor:pointer}

/* hero scene */
.hero{position:relative;background:var(--sky-top);min-height:clamp(760px,100svh,940px);overflow:hidden;
  --sky-top:#8FCBE3;--sky-bot:#FCE3CC;--sun:#FFD38F;--sea1:#58AABF;--sea2:#2E7F96;--sand:#EBD9B9;--hill:#7DA5AE;--grass:#7FA383;--wall:#F6FAFA;--roof:#14233A;--window:#DDF0F4;--bush:#4F7F67;--ground:#9FAAB2;--stars:0;--dim:0;--sun-x:1090px;--sun-y:240px;--tide:0px;
  transition:all 1.6s ease;color:#14233A}
.hero[data-time="evening"]{--sky-top:#262657;--sky-bot:#F08C62;--sun:#FFB86B;--sea1:#6C568F;--sea2:#2B2858;--sand:#8D7B8F;--hill:#3B3668;--grass:#2D4A4A;--wall:#CFC8DE;--roof:#171540;--window:#FFD27A;--bush:#1F3B3B;--ground:#454866;--stars:1;--dim:.28;--sun-x:330px;--sun-y:440px;color:#fff}
.hero[data-tide="high"]{--tide:92px}
.scene{position:absolute;inset:0;width:100%;height:100%}
.sun{transform:translate(var(--sun-x),var(--sun-y))}
.shimmer{transform:translateX(var(--sun-x))}
.sand{transform:translateY(var(--tide))}
.boat-bob{animation:bob 5s ease-in-out infinite}
.waves{animation:drift 30s linear infinite}
@keyframes bob{50%{transform:translateY(4px) rotate(1.5deg)}}
@keyframes drift{to{transform:translateX(-120px)}}
.hero-copy{position:relative;padding-top:8.2rem;z-index:2}
.hero-copy .lead{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:46ch;line-height:1.55;margin-bottom:1.4rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-actions .btn-line{background:color-mix(in srgb,#fff 40%,transparent)}
.hero[data-time="evening"] .hero-actions .btn-line{background:rgba(20,20,60,.35)}
.seg{display:inline-flex;background:var(--seg-bg);backdrop-filter:blur(8px);border-radius:999px;padding:4px;box-shadow:0 8px 24px -10px rgba(0,0,0,.45)}
.seg button{border:0;background:transparent;color:var(--fg);padding:.5rem 1.05rem;border-radius:999px;font:700 .95rem var(--display);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--seg-on-fg)}
.scene-note{max-width:none;position:absolute;left:0;right:0;text-align:center;bottom:.9rem;z-index:3;font:500 .75rem var(--display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.65);margin:0;padding-inline:1rem}
@media (prefers-reduced-motion:reduce){.boat-bob,.waves{animation:none}.hero{transition:none}html{scroll-behavior:auto}}

/* facts */
.facts{background:var(--sea-deep);color:#fff}
.facts ul{list-style:none;margin:0;padding:1.6rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.facts strong{display:block;font:800 1.9rem/1.1 var(--display);letter-spacing:-.02em}
.facts span{font:500 .98rem var(--display);opacity:.9}

section{padding:6rem 0}
.alt{background:var(--mist)}
.sec-head{max-width:46rem;margin-bottom:2.2rem}

/* explorer */
.explore{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.tabs{display:grid;gap:.5rem}
.tab{text-align:left;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;font:700 1.05rem var(--display);cursor:pointer;transition:transform .15s,border-color .15s}
.tab small{display:block;font:500 .88rem var(--display);color:var(--muted);margin-top:.15rem}
.tab[aria-selected="true"]{border-color:var(--sea);box-shadow:inset 4px 0 0 var(--sea)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:1fr 1fr}
.panel[hidden]{display:none}
.panel .art{background:linear-gradient(180deg,var(--mist),var(--card));display:grid;place-items:center;padding:2rem;min-height:320px}
.panel .art svg{width:100%;max-width:340px;height:auto}
.panel .txt{padding:2rem}
.checks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.55rem}
.checks li{display:flex;gap:.7rem}
.checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:5px;border-radius:50%;background:var(--sea) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.s-line{stroke:var(--fg)}
.s-fill1{fill:var(--sea)} .s-fill2{fill:var(--buoy)} .s-card{fill:var(--card)} .s-mist{fill:var(--mist)}

/* day planner */
.plan-ctrl{margin-bottom:1.6rem}
.plan-ctrl .seg{background:var(--card);border:1px solid var(--line);box-shadow:none}
.timeline{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:0;max-width:44rem}
.timeline li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline .when{font:700 1rem var(--display);color:var(--sea)}
.timeline p{margin:0}
.dist{display:inline-block;font:700 .85rem var(--display);background:var(--mist);color:var(--sea-deep);padding:.15rem .6rem;border-radius:999px;margin-top:.3rem}
.alt .dist{background:var(--card)}

/* reviews */
.rev{display:grid;grid-template-columns:1.3fr 1fr;gap:1.6rem}
.rev blockquote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:2rem}
.rev .big{grid-row:span 2;padding:2.6rem}
.rev .big p{font-size:1.5rem;line-height:1.45;max-width:none}
.rev p{max-width:none}
.rev footer{font:700 1rem var(--display);color:var(--sea)}

/* booking */
.book-frame{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem;min-height:420px;box-shadow:0 24px 50px -30px rgba(20,35,58,.5)}
.book-notes{display:flex;gap:.6rem 2rem;flex-wrap:wrap;margin-top:1.2rem;font:600 .98rem var(--display);color:var(--muted)}
.book-notes span::before{content:"✓ ";color:var(--sea);font-weight:800}

/* hosts */
.hosts{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
dl.rules{margin:0;display:grid;grid-template-columns:8rem 1fr;gap:.7rem 1.2rem}
.rules dt{font:700 1rem var(--display)}
.rules dd{margin:0}
details{border-bottom:1px solid var(--line);padding:1rem 0;margin-top:1rem}
summary{cursor:pointer;font:700 1.1rem var(--display)}
details p{margin:.8rem 0 0;color:var(--muted)}

footer.site-foot{background:#0D1A2B;color:#C4D6DC;padding:4rem 0 2rem;font-size:1rem}
.site-foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
.site-foot .brand{color:#fff;width:260px;margin-bottom:1rem}
.site-foot .lw{stroke:#7FD0E0}
.site-foot h4{color:#fff;margin:0 0 .9rem;font:700 1.05rem var(--display)}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-foot a{text-decoration:none}.site-foot a:hover{color:#fff;text-decoration:underline}
.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:2.6rem;padding-top:1.4rem;font-size:.9rem}

.sticky-book{display:none}
.doc{padding:9rem 0 5rem}.doc .wrap{max-width:760px}.doc h1{font-size:clamp(2.2rem,5vw,3.4rem)}.doc h3{margin-top:1.8em}.doc ul{padding-left:1.2rem}

@media (max-width:900px){
  .explore{grid-template-columns:1fr}.tabs{grid-template-columns:1fr 1fr}
  .panel{grid-template-columns:1fr}.panel .art{min-height:220px}
  .hosts,.rev,.site-foot .cols{grid-template-columns:1fr}.rev .big{grid-row:auto}
  .facts ul{grid-template-columns:1fr 1fr}
  section{padding:4.2rem 0}
  .menu-btn{display:block}
  nav{position:absolute;top:76px;left:0;right:0;background:var(--bg);color:var(--fg);padding:1.2rem 1.5rem 1.8rem;box-shadow:0 20px 30px -20px rgba(20,35,58,.5);display:none}
  nav.open{display:block}nav ul{flex-direction:column;align-items:flex-start;gap:1.1rem}
  .hero{min-height:820px}
  .hero-copy{padding-top:6.6rem}
    .scene-note{bottom:5.6rem;left:1rem;right:1rem;background:rgba(14,26,43,.72);border-radius:12px;padding:.4rem .7rem;text-shadow:none}
  .scene{inset:auto auto 5rem -85%;width:230%;height:auto}
  .hero{background:linear-gradient(to top,#56626F 5rem,transparent 5rem),var(--sky-top)}
  .timeline li{grid-template-columns:1fr;gap:.2rem}
  .sticky-book{display:flex;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:40;box-shadow:0 12px 30px -8px rgba(0,0,0,.5)}
  body{padding-bottom:4.8rem}
  dl.rules{grid-template-columns:1fr}
}

/* night + live controls */
.moon{opacity:0;transition:opacity 1.6s ease}
.hero[data-night="true"] .moon{opacity:1}
.sun,.shimmer{transition:opacity 1.6s ease}
.hero[data-night="true"] .sun,.hero[data-night="true"] .shimmer{opacity:0}
.hero[data-night="true"]{--sea1:#3A3B7A;--sea2:#15173F;--sky-bot:#3A3470;--dim:.4}
@media (max-width:900px){.brand{width:190px}}

.sign-t{font:800 15px var(--display);fill:#14233A}
.sign-s{font:600 12px var(--display);fill:#14233A}
.pin{animation:pin-bob 3.4s ease-in-out infinite}
.pin-t{font:800 17px var(--display);fill:#fff}
@keyframes pin-bob{50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.pin{animation:none}}

/* sea life */
.b2{animation-delay:-1.8s;animation-duration:6.5s}.b3{animation-delay:-3.2s;animation-duration:4.2s}
.drift-a{animation:driftA 70s ease-in-out infinite alternate}
.drift-b{animation:driftB 95s ease-in-out infinite alternate}
@keyframes driftA{from{transform:translateX(-140px)}to{transform:translateX(140px)}}
@keyframes driftB{from{transform:translateX(-90px)}to{transform:translateX(60px)}}
.tw{animation:tw 3.2s ease-in-out infinite}.tw.d2{animation-delay:-1s}.tw.d3{animation-delay:-2.1s}
@keyframes tw{0%,100%{opacity:0}50%{opacity:.85}}
.gull{animation:glide 48s linear infinite}
.g1{transform:translate(-80px,430px)}.g2{animation-duration:62s;animation-delay:-20s;transform:translate(-80px,446px)}.g3{animation-duration:55s;animation-delay:-38s}
@keyframes glide{from{transform:translate(-80px,var(--gy,430px))}to{transform:translate(1520px,calc(var(--gy,430px) - 18px))}}
.g1{--gy:430px}.g2{--gy:446px}.g3{--gy:438px}
.nlight{opacity:0;transition:opacity 1.6s ease}
.hero[data-night="true"] .nlight{opacity:1}
.hero[data-night="true"] .gulls{opacity:0}.gulls{transition:opacity 1.6s ease}
.needles{transition:opacity 1.6s ease}.lh-glow{opacity:0;transition:opacity 1.6s ease}.hero[data-night="true"] .lh-glow{opacity:1;animation:lh 4s ease-in-out infinite}@keyframes lh{50%{opacity:.45}}
.day-only{transition:opacity 1.6s ease}.hero[data-night="true"] .day-only{opacity:0}
@media (prefers-reduced-motion:reduce){.drift-a,.drift-b,.gull,.tw{animation:none}.tw{opacity:.5}.g1{transform:translate(900px,430px)}.g2{transform:translate(620px,446px)}.g3{transform:translate(1180px,438px)}}

/* real photos */
.panel .art.shots{padding:0;display:flex;flex-direction:column;place-items:stretch;background:var(--mist);min-height:0}
.shots .main{width:100%;height:100%;min-height:300px;object-fit:cover;flex:1;display:block;aspect-ratio:4/3}
.thumbs{display:flex;gap:.4rem;padding:.5rem;background:var(--card);overflow-x:auto}
.thumbs button{border:2px solid transparent;border-radius:8px;padding:0;background:none;cursor:pointer;flex:0 0 auto;overflow:hidden;opacity:.75}
.thumbs button[aria-current="true"],.thumbs button:hover,.thumbs button:focus-visible{border-color:var(--sea);opacity:1}
.thumbs img{width:68px;height:50px;object-fit:cover;display:block}
@media (max-width:900px){.shots .main{min-height:0}}
@media (max-width:900px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tab{min-width:0}.tab small{overflow-wrap:anywhere}}
.explore>*,.panel,.panel>*{min-width:0}@media (max-width:900px){.explore{grid-template-columns:minmax(0,1fr)}.panel{grid-template-columns:minmax(0,1fr)}}

/* why book direct + FAQ */
.why-direct{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.why-direct li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.why-direct strong{display:block;font:700 1.05rem var(--display);color:var(--fg);margin-bottom:.25rem}
.why-direct span{color:var(--muted);font-size:.98rem;line-height:1.5}
.faq{max-width:820px;display:grid;gap:.6rem}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 1.2rem}
.faq summary{cursor:pointer;list-style:none;font:700 1.05rem var(--display);padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--sea);line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 1.1rem;color:var(--muted)}
.faq summary:focus-visible{outline:3px solid var(--sea);outline-offset:2px;border-radius:6px}
@media (max-width:900px){.why-direct{grid-template-columns:1fr}}

/* ---- weather and seasons ---- */
.clouds .cloud{fill:var(--cloud,#fff);transition:fill 1.6s ease}
.clouds{opacity:var(--cloud-o,.5);transition:opacity 1.6s ease}
.c1{animation:cl 140s linear infinite alternate}.c2{animation:cl 180s linear infinite alternate-reverse}.c3{animation:cl 160s linear infinite alternate}.c4{animation:cl 200s linear infinite alternate-reverse}.c5{animation:cl 170s linear infinite alternate}.c6{animation:cl 190s linear infinite alternate-reverse}.c7{animation:cl 150s linear infinite alternate}
@keyframes cl{from{transform:translateX(-90px)}to{transform:translateX(90px)}}
.wx-gray{opacity:var(--gray-o,0);transition:opacity 1.6s ease}
.rain,.snow,.fog{opacity:0;transition:opacity 1.6s ease;pointer-events:none}
.fall{animation:fall 1.1s linear infinite}
.snow .fall{animation:snowfall 9s linear infinite}
@keyframes fall{to{transform:translate(-14px,46px)}}
@keyframes snowfall{to{transform:translate(-30px,70px)}}
.hero[data-weather="clear"]{--cloud-o:.28;--gray-o:0}
.hero[data-weather="partly"]{--cloud-o:.85;--gray-o:.04}
.hero[data-weather="cloud"]{--cloud-o:1;--gray-o:.2;--cloud:#E6ECF0}
.hero[data-weather="fog"]{--cloud-o:1;--gray-o:.3;--cloud:#E6ECF0}
.hero[data-weather="rain"]{--cloud-o:1;--gray-o:.38;--cloud:#B5C0C9}
.hero[data-weather="storm"]{--cloud-o:1;--gray-o:.55;--cloud:#8E9AA5}
.hero[data-weather="snow"]{--cloud-o:1;--gray-o:.25;--cloud:#E6ECF0}
.hero[data-weather="rain"] .rain,.hero[data-weather="storm"] .rain,.hero[data-weather="snow"] .snow,.hero[data-weather="fog"] .fog{opacity:1}
.hero[data-weather="fog"] .fog{opacity:.85}
.hero[data-night="false"][data-weather="cloud"] .sun,.hero[data-night="false"][data-weather="fog"] .sun,.hero[data-night="false"][data-weather="snow"] .sun{opacity:.45}
.hero[data-night="false"][data-weather="rain"] .sun,.hero[data-night="false"][data-weather="storm"] .sun,.hero[data-night="false"][data-weather="rain"] .shimmer,.hero[data-night="false"][data-weather="storm"] .shimmer{opacity:.12}
.hero[data-night="true"] .clouds{filter:brightness(.45)}
.hero[data-wind="breezy"] .waves{animation-duration:12s}
.hero[data-wind="breezy"] .boat-bob{animation-duration:3s}
.hero[data-wind="breezy"] .clouds .cloud{animation-duration:60s}
.xmas,.bunting,.snowcap,.fireworks{display:none}
.hero[data-xmas="true"] .xmas,.hero[data-bunting="true"] .bunting{display:inline}
.hero[data-weather="snow"] .snowcap{display:inline}
.hero[data-fireworks="true"][data-night="true"] .fireworks{display:inline}
.tw-l{animation:lt 2.4s ease-in-out infinite}.tw-l.t1{animation-delay:-.8s}.tw-l.t2{animation-delay:-1.6s}
@keyframes lt{0%,100%{opacity:.45}50%{opacity:1}}
.burst-in{transform-origin:0 0;animation:burst 4.8s ease-out infinite;opacity:0}
@keyframes burst{0%{transform:scale(.1);opacity:1}60%{opacity:1}100%{transform:scale(1.15);opacity:0}}
@media (prefers-reduced-motion:reduce){.fall,.c1,.c2,.c3,.c4,.c5,.c6,.c7,.tw-l{animation:none}.burst-in{animation:none;opacity:.8;transform:scale(.8)}}

.hero[data-night="true"] .clouds{opacity:calc(var(--cloud-o,.5)*.4)}
.hero[data-weather="rain"] .day-only,.hero[data-weather="storm"] .day-only,.hero[data-weather="snow"] .day-only{opacity:0}
/* availability strip */
.avail{background:var(--card);border-bottom:1px solid var(--line);padding:.9rem 0}
.avail[hidden]{display:none}
.avail-head{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center;margin-bottom:.6rem;font:600 .95rem var(--display);color:var(--fg)}
.avail-key{display:inline-flex;gap:.5rem;align-items:center;color:var(--muted);font-weight:500}
.avail-key .k{display:inline-block;width:14px;height:14px;border-radius:4px;margin-left:.5rem}
.k.free,.d.free{background:#DDF0F4;border:1px solid #9FCBD6}
.k.booked,.d.booked{background:repeating-linear-gradient(135deg,#D5DAE0 0 5px,#E8EBEF 5px 10px);border:1px solid #BCC4CD}
.avail-link{margin-left:auto;color:var(--sea);font-weight:700;text-decoration:none}
.avail-link:hover{text-decoration:underline}
.avail-days{display:flex;gap:4px;overflow-x:auto;padding-bottom:.4rem;scroll-snap-type:x proximity;align-items:flex-end}
.avail-days .d{flex:0 0 auto;width:calc((100% - 41*4px)/42);min-width:24px;height:44px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:600 .72rem var(--display);color:var(--fg);scroll-snap-align:start}
.avail-days .d small{font-size:.6rem;font-weight:500;color:var(--muted)}
.avail-days .d.booked{color:#6B7683}
.avail-days .ml{flex:0 0 auto;align-self:flex-start;font:700 .72rem var(--display);color:var(--sea);padding:0 .3rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em}
/* reviews avatars */
.av{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sea);color:#fff;font:700 .95rem var(--display);margin-right:.6rem;vertical-align:middle}
.rev blockquote:nth-child(2) .av{background:#D1343E}.rev blockquote:nth-child(3) .av{background:#14233A}
/* map */
.find-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:stretch}
.map-frame{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-height:380px;background:var(--mist)}
.map-frame iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.near{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;align-content:start}
.near li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem}
.near strong{display:block;font:700 1.05rem var(--display);color:var(--fg)}
.near span{color:var(--muted);font-size:.98rem}
.near .maplink{background:none;border:0;padding:.2rem 0}
.near .maplink a{color:var(--sea);font-weight:700}
@media (max-width:900px){.find-grid{grid-template-columns:minmax(0,1fr)}.map-frame,.map-frame iframe{min-height:300px}.avail-days .d{width:30px}}

/* review scores and extra reviews */
.scores{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1.6rem}
.score{display:flex;align-items:center;gap:.9rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.8rem 1.2rem;text-decoration:none;color:var(--fg)}
.score:hover{border-color:var(--sea)}
.score b{font:800 1.6rem var(--display);color:var(--fg)}
.score b.bk{background:#0A5BD3;color:#fff;border-radius:10px;padding:.15rem .6rem;font-size:1.3rem}
.score span{display:flex;flex-direction:column;font-size:.95rem;color:var(--muted)}
.score strong{font:700 1rem var(--display);color:var(--fg)}
.rev-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:1.6rem}
.rev-more blockquote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.8rem}
.rev-more p{max-width:none;margin:.6rem 0 1rem}
.rv-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.rv-top strong{font:700 1.1rem var(--display);color:var(--fg)}
.rv-score{flex:0 0 auto;background:#0A5BD3;color:#fff;font:700 .9rem var(--display);border-radius:8px;padding:.15rem .5rem}
.rev-more footer{font:700 1rem var(--display);color:var(--sea);display:flex;align-items:center;flex-wrap:wrap;gap:.1rem}
.rev-more footer small{flex-basis:100%;margin-left:44px;margin-top:-.5rem;font:500 .85rem var(--display);color:var(--muted)}
.rev-more blockquote:nth-child(1) .av{background:#2F9E6B}.rev-more blockquote:nth-child(2) .av{background:#3AA6C7}.rev-more blockquote:nth-child(3) .av{background:#B07CD8}.rev-more blockquote:nth-child(4) .av{background:#E08A2E}
@media (max-width:900px){.rev-more{grid-template-columns:minmax(0,1fr)}}
.rev blockquote{position:relative}.rv-abs{position:absolute;top:1.1rem;right:1.2rem}.rev blockquote p{padding-right:3rem}

.rv-star{background:#14233A}
.rev .rv-t{display:block;font:700 1.1rem var(--display);color:var(--fg);margin:0 3rem .5rem 0}
.rev footer{display:flex;align-items:center;flex-wrap:wrap}
.rev footer small{flex-basis:100%;margin-left:44px;margin-top:-.5rem;font:500 .85rem var(--display);color:var(--muted)}
.rev .big p{padding-right:4rem}
.rev-more blockquote:nth-child(1) .av{background:#3AA6C7}.rev-more blockquote:nth-child(2) .av{background:#B07CD8}.rev-more blockquote:nth-child(3) .av{background:#2F9E6B}.rev-more blockquote:nth-child(4) .av{background:#3AA6C7}.rev-more blockquote:nth-child(5) .av{background:#B07CD8}.rev-more blockquote:nth-child(6) .av{background:#E08A2E}
.rev blockquote:nth-child(1) .av{background:#E0577A}.rev blockquote:nth-child(2) .av{background:#2F9E6B}.rev blockquote:nth-child(3) .av{background:#14233A}

.more-wrap{margin-top:1.4rem;text-align:center}
.more-wrap summary{display:inline-block;cursor:pointer;list-style:none;font:700 1rem var(--display);color:var(--sea);border:1.5px solid var(--sea);border-radius:999px;padding:.65rem 1.4rem}
.more-wrap summary::-webkit-details-marker{display:none}
.more-wrap summary:hover{background:var(--sea);color:#fff}
.more-wrap[open] summary{display:none}
.more-wrap .rev-more{text-align:left}

/* category scores */
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 2rem;margin:0 0 1.8rem;padding:1.1rem 1.4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.cats div{display:grid;grid-template-columns:7.2rem 1fr 2rem;align-items:center;gap:.7rem;font:600 .92rem var(--display);color:var(--muted)}
.cats i{height:6px;border-radius:6px;background:var(--line);position:relative;overflow:hidden}
.cats i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--sea);border-radius:6px}
.cats b{color:var(--fg);text-align:right}
@media (max-width:900px){.cats{grid-template-columns:minmax(0,1fr)}}
/* whatsapp */
.wa{position:fixed;right:1rem;bottom:1rem;z-index:40;display:inline-flex;align-items:center;gap:.5rem;background:#1FA855;color:#fff;font:700 .95rem var(--display);text-decoration:none;padding:.7rem 1.1rem;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.wa:hover{filter:brightness(1.07)}
.btn-wa{background:#1FA855;color:#fff}
@media (max-width:600px){.wa span{display:none}.wa{padding:.8rem}}
/* gallery */
.gal-cta{text-align:center;margin:1.6rem 0 0}
#gallery{border:0;padding:0;background:#0b1522;color:#fff;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}
#gallery[open]{display:flex;flex-direction:column}
#gallery::backdrop{background:#000}
#gallery .g-main{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3.2rem .5rem .5rem}
#gallery figure{margin:0;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem}
#gallery figure img{max-width:100%;max-height:calc(100% - 2.2rem);object-fit:contain;border-radius:8px}
#gallery figcaption{font:600 .95rem var(--display);opacity:.85;text-align:center}
#gallery .g-p,#gallery .g-n,#gallery .g-x{background:rgba(255,255,255,.14);color:#fff;border:0;cursor:pointer;border-radius:50%;width:2.8rem;height:2.8rem;font-size:1.8rem;line-height:1;flex:none}
#gallery .g-p:hover,#gallery .g-n:hover,#gallery .g-x:hover{background:rgba(255,255,255,.28)}
#gallery .g-x{position:absolute;top:.8rem;right:.8rem;z-index:2}
#gallery .g-strip{display:flex;gap:.4rem;overflow-x:auto;padding:.6rem;justify-content:center;flex:none}
#gallery .g-strip button{flex:none;padding:0;border:2px solid transparent;border-radius:6px;background:none;cursor:pointer;opacity:.6}
#gallery .g-strip button[aria-current="true"]{border-color:#fff;opacity:1}
#gallery .g-strip img{display:block;width:64px;height:48px;object-fit:cover;border-radius:4px}
@media (max-width:600px){#gallery .g-p,#gallery .g-n{position:absolute;bottom:5.6rem;z-index:2;width:2.4rem;height:2.4rem}#gallery .g-p{left:.6rem}#gallery .g-n{right:.6rem}#gallery .g-strip{justify-content:flex-start}}
.shots .main{cursor:zoom-in}
@media (max-width:600px){.wa{bottom:4.8rem}.rev .big p{padding-right:0;font-size:1.15rem;line-height:1.55}.rev .big{padding-top:3.2rem}.cats div{grid-template-columns:6.4rem 1fr 2rem}}

.btn-call{background:transparent;color:var(--fg);border:1.5px solid var(--fg)}
.btn-call:hover{background:var(--fg);color:#fff}
#hosts .btn{margin:0 .4rem .6rem 0}

/* back to top (phones) */
.totop{display:none}
@media (max-width:600px){
  .totop:not([hidden]){display:flex;align-items:center;justify-content:center;position:fixed;left:1rem;bottom:4.8rem;z-index:40;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--fg);color:var(--bg);box-shadow:0 6px 20px rgba(0,0,0,.25)}
}
/* print */
@media print{
  header.site,.sticky-book,.wa,.totop,#gallery,.gal-cta,.hero .scene,.hero svg,.book-frame,.map-frame,.thumbs,#plan-seg,.avail{display:none!important}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.5}
  *{box-shadow:none!important;animation:none!important}
  section{padding:1rem 0!important;break-inside:avoid-page}
  a{color:#000;text-decoration:underline}
  .more-wrap .rev-more{display:grid}
  blockquote,.panel,details{break-inside:avoid}
  details>*{display:block}
  .panel[hidden]{display:block!important}
}
@media print{
  .hero{min-height:0!important;height:auto!important;padding:0!important;background:none!important}
  .hero *,.facts *{color:#000!important;text-shadow:none!important}
  .hero .btn,.hero-actions .btn{background:none!important;border:1px solid #000!important}
  .hero-inner,.hero .wrap{position:static!important;padding:1rem 0!important}
}

[hidden]{display:none!important}
.gal-cta{max-width:none}

.score em{font:700 .85rem var(--display);font-style:normal;color:var(--sea);margin-left:.4rem;white-space:nowrap}
.score:hover em{text-decoration:underline}
@media (max-width:600px){.score{flex-wrap:wrap}.score em{flex-basis:100%;margin:0}}
.score b small{font:600 .8rem var(--display);opacity:.75;margin-left:.15rem}

/* contact form */
.cform{margin:.4rem 0 0}
.cform summary{display:inline-flex;list-style:none;cursor:pointer;background:transparent;color:var(--fg);border:1.5px solid var(--fg)}
.cform summary::-webkit-details-marker{display:none}
.cform summary:hover{background:var(--fg);color:var(--bg)}
.cform[open] summary{margin-bottom:1rem}
.cform form{display:grid;gap:.9rem;max-width:34rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.cform label{display:grid;gap:.3rem;font:700 .95rem var(--display);color:var(--fg)}
.cform label span{font-weight:500;color:var(--muted)}
.cform input,.cform textarea{font:400 1rem var(--body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:.7rem .9rem;width:100%}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--sea);outline-offset:1px;border-color:var(--sea)}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform button[type=submit]{justify-self:start;cursor:pointer;border:0}
.cform .cf-note{font-size:.88rem;color:var(--muted);margin:0}
.cform .cf-status{margin:0;font:600 .95rem var(--display)}
.cform .cf-status.ok{color:var(--sea)}.cform .cf-status.err{color:var(--buoy)}
.cform label{display:block}
.cform label input,.cform label textarea{display:block;margin-top:.3rem;font-weight:400}
.cform label span{display:inline}

.cform{margin:1rem 0 0}
.cform[hidden]{display:none!important}

/* top three reviews: equal size */
.rev{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.rev .big{grid-row:auto;padding:2rem}
.rev .big p{font-size:inherit;line-height:inherit;padding-right:3rem}
@media (max-width:900px){.rev{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.rev .big p{font-size:inherit;line-height:inherit;padding-right:3rem}.rev .big{padding-top:2rem}}
.rev{align-items:stretch}

/* today marker in availability strip */
.avail-days .d.today{background:#0078D4;border:1px solid #0078D4;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 3px #0078D4}
.avail-days .d.today small{color:#E3F1FC}
