/* Homepage only. The guest booking page keeps its existing, approved design. */
.home-page{--home-paper:#f4f2ec;--home-surface:#fffdf8;--home-ink:#102f43;--home-muted:#52676d;--home-line:#d8ded6;background:var(--home-paper);color:var(--home-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.home-page .container{max-width:1200px}
.home-page>nav{background:var(--home-paper);padding:1.2rem max(1.5rem,calc((100% - 1240px)/2));border-bottom:1px solid var(--home-line)}
.home-page nav .brand-lockup{display:flex;flex:1;min-width:0;flex-direction:column;gap:.25rem;padding:.5rem .9rem;background:#d9edf3;border:1px solid #bfdce6;border-radius:10px}
.home-page nav .container{gap:1.2rem}
@media(max-width:700px){.home-page nav .brand-lockup{padding:.45rem .4rem}}
.home-page nav .logo{color:var(--home-ink);font-size:clamp(2.15rem,3.2vw,2.8rem);line-height:1.25;letter-spacing:-.8px}
.home-page nav .container>div>span{color:#0077b6!important;font-size:1rem!important;font-weight:700!important;letter-spacing:1.1px!important;line-height:1.5}
.home-page nav .nav-links{gap:1.3rem;flex-shrink:0}
.home-page nav .nav-links a{color:var(--home-ink);font-size:.95rem}
.home-page nav .nav-links a:hover{color:#0077b6}
.home-page nav .nav-links .btn-book{border-radius:8px!important;background:#0077b6;color:#fff;padding:.8rem 1.1rem}
.home-page .mobile-toggle{border-color:var(--home-line);background:var(--home-surface);color:var(--home-ink);border-radius:8px}
/* Specials retain the original red, left-to-right marquee from design.css,
   including hover/focus pause and the reduced-motion alternative. */
.home-page .hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);max-width:1280px;margin:1.5rem auto 0!important;border-radius:20px;overflow:hidden;background:var(--home-ink)!important;box-shadow:0 12px 40px #102f430a}
.home-page .hero .hero-copy{padding:3rem 2.8rem 2.7rem;display:flex;flex-direction:column;justify-content:center}
.home-page .hero .eyebrow{display:flex;align-items:center;gap:.65rem;font-size:.78rem!important;letter-spacing:2px;margin:0;color:#90e0ef!important}
.home-page .location-dot{width:6px;height:6px;background:#90e0ef;border-radius:50%;box-shadow:0 0 0 5px #90e0ef14}
.home-page .hero h1{font-size:clamp(2.8rem,4.6vw,4.2rem);font-weight:500;letter-spacing:-2.3px;line-height:1.08;color:#fff5e5;margin:1.5rem 0 1.25rem}
.home-page .hero h1 span{color:#90e0ef}
.home-page .hero .hero-description{font-size:1.02rem;line-height:1.65;max-width:360px;color:#d0dfe1}
.home-page .hero .hero-actions{gap:.85rem;margin-top:1.35rem;align-items:center}
.home-page .hero .hero-actions .btn{border-radius:8px!important;background:#0077b6;color:#fff;font-size:.9rem;padding:.9rem 1.15rem;min-height:52px;box-shadow:none;transition:background .2s}
.home-page .hero .hero-actions .btn:hover{background:#00699f}
.home-page .hero .hero-actions .btn span{margin-left:.75rem}
.home-page .hero .hero-booking-facts{font-size:.875rem;max-width:195px;line-height:1.5;color:#d0dfe1;margin:0}
.home-page .hero .hosting-since{font-size:.875rem;line-height:1.5;color:#b4cdd1;margin:1rem 0 0}
.home-page .hosting-since span{margin-right:.35rem;color:#90e0ef}
.home-page .hero .hero-photo{min-height:515px;background:#274d5a}
.home-page .hero-photo img{object-position:50% 50%}
.home-page .hero-photo .photo-label{bottom:auto;top:1.1rem;left:1.1rem;right:auto;display:grid;gap:.1rem;padding:.6rem .8rem;border:1px solid #ffffff30;border-radius:8px;background:#102f43c7;backdrop-filter:blur(8px);font-size:.6rem;letter-spacing:1px;color:#fff5e5}
.home-page .hero-photo .photo-label span:last-child{font-size:.62rem;letter-spacing:.2px;color:#d0dfe1}
.home-page .hero-photo .photo-edge{top:50%;bottom:auto;transform:translateY(-50%);width:44px;height:44px;min-width:44px;border:1px solid #ffffff45;border-radius:50%;background:#102f4366;color:#fff;font-size:1.8rem;text-shadow:none;display:grid;place-items:center;padding:0;transition:background .2s}
.home-page .hero-prev{left:1rem}.home-page .hero-next{right:1rem}
.home-page .hero-photo .photo-edge:hover{background:#102f43c4}
.home-page .hero-gallery-open{right:1.1rem;bottom:1.1rem;display:flex;align-items:center;gap:.6rem;border:1px solid #ffffff70;border-radius:8px;background:#fffdf8ed;color:#102f43;min-height:44px;font-size:.78rem;padding:.65rem .9rem;backdrop-filter:blur(8px)}
.home-page .hero-gallery-open:hover{background:#fffdf8}
.home-page .home-facts{max-width:1200px;margin:auto;padding:1.4rem 1.5rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;border-bottom:1px solid var(--home-line)}
.home-page .home-facts>div{padding-left:1.25rem;border-left:1px solid var(--home-line)}
.home-page .home-facts>div:first-child{padding-left:0;border-left:0}
.home-page .home-facts strong{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.2px}
.home-page .home-facts span{display:block;font-size:.9rem;color:var(--home-muted);margin-top:.3rem}
.home-page section:not(.hero):not(.booking-panel){padding:3rem 2rem}
.home-page .eyebrow{font-size:.78rem!important;letter-spacing:1.7px;font-weight:600;margin-bottom:.75rem;color:#0077b6!important}
.home-page h2{font-size:clamp(1.85rem,3vw,2.6rem);font-weight:500;letter-spacing:-1.2px;line-height:1.18;color:var(--home-ink)}
.home-page .home-section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.25rem}
.home-page .home-section-heading h2{margin:0;text-align:left}
.home-page .home-text-link{font-size:.95rem;white-space:nowrap;color:#006592;text-decoration:none;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;gap:.8rem;border-bottom:1px solid #83aeba}
.home-page .home-text-link:hover{color:#102f43;border-color:#102f43}
.home-page .home-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.home-page #home-tour{background:var(--home-surface)}
.home-page .home-photo-card{font:inherit;min-width:0;padding:0;background:none;border:0;text-align:left;color:var(--home-ink);cursor:pointer;border-radius:12px}
.home-page .home-photo-image{position:relative;display:block;overflow:hidden;border-radius:12px;background:#e2e8df}
.home-page .home-photo-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}
.home-page .home-photo-card:hover img{transform:scale(1.035)}
.home-page .home-photo-arrow{position:absolute;right:.75rem;bottom:.75rem;width:36px;height:36px;display:grid;place-items:center;background:#fffdf8eb;border-radius:50%;font-size:1.1rem}
.home-page .home-photo-caption{display:block;padding:.75rem .1rem 0}
.home-page .home-photo-caption strong{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.3px}
.home-page .home-photo-caption>span{display:block;font-size:.95rem;color:var(--home-muted);margin-top:.3rem;line-height:1.55}
.home-page #amenities.comforts{background:#d9e7df;border-top:1px solid #c5d6cc;border-bottom:1px solid #c5d6cc;padding:2.75rem 2rem}
.home-page #amenities .comforts-layout{gap:3rem;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.home-page #amenities .comforts-layout>div{min-width:0}
.home-page #amenities .comforts-intro h2{font-size:clamp(1.9rem,2.8vw,2.6rem);margin-bottom:.8rem;white-space:normal;text-align:left}
.home-page #amenities .comforts-intro>p:not(.eyebrow){font-size:1rem;line-height:1.6;color:var(--home-muted);max-width:370px}
.home-page #amenities #comfort-feature{border:1px solid #d4dfd5;border-radius:12px;background:var(--home-surface);margin-top:1rem;max-width:390px}
.home-page #amenities #comfort-feature figcaption{padding:1rem;color:var(--home-ink)}
.home-page #comfort-feature figcaption span{font-size:.95rem;min-height:0}
.home-page #amenities .comforts-list{padding-top:.5rem}
.home-page #amenities .comfort-group{border-color:#cbd9d0}
.home-page #amenities .comfort-group summary{font-size:1.05rem;padding:.85rem 0;min-height:54px;color:var(--home-ink)}
.home-page #amenities .comfort-group summary>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #c5d4cd;border-radius:50%;font-size:1rem;color:#446968}
.home-page #amenities .comfort-group ul{font-size:.95rem;line-height:1.65}
.home-page #deals{background:var(--home-ink)}
.home-page #deals .eyebrow{color:#90e0ef!important}
.home-page #deals h2{color:#fff5e5;text-align:left}
.home-page .direct-intro{max-width:350px;color:#c4d6da;font-size:1rem;line-height:1.6;margin:0}
.home-page #deals .deals-grid{gap:1.5rem;margin-top:1.5rem}
.home-page #deals .deal-card{padding:1rem 0 .5rem;border-top:1px solid #54717e;text-align:left;transition:none}
.home-page #deals .deal-card:hover{transform:none;box-shadow:none}
.home-page .direct-number{font-size:.8rem;color:#90e0ef;letter-spacing:1px}
.home-page #deals .deal-card h3{font-size:1.1rem;letter-spacing:-.2px;font-weight:500;color:#fff5e5;margin:.8rem 0}
.home-page #deals .deal-card p{font-size:1rem;line-height:1.6;color:#c4d6da;margin:0}
.home-page #deals .direct-contact{color:#90e0ef;border-color:#54717e;margin-top:1.2rem}
.home-page #availability{background:#e0edf4}
.home-page #availability .availability-intro{margin-bottom:1.2rem;max-width:700px}
.home-page #availability .availability-intro h2{font-size:clamp(2rem,3vw,2.6rem);letter-spacing:-1.1px;margin-bottom:.7rem}
.home-page #availability .availability-intro>p:not(.eyebrow){font-size:1rem;color:var(--home-muted)}
.home-page #availability .combined-booking{background:var(--home-surface);border:1px solid #d4ded6;border-radius:16px;box-shadow:0 12px 36px #102f4305}
.home-page #availability .calendar-frame,.home-page #availability .combined-booking #dates-form,.home-page #availability .combined-booking #quote-panel{background:#f8faf5;border-color:#d4ded6}
.home-page #availability .combined-booking #dates-form{padding:1rem;border-radius:10px}
.home-page #availability .combined-booking .inline-calendar #dates-form{background:#f8faf5;border-color:#d4ded6}
.home-page #availability #dates-form input,.home-page #availability #dates-form select{background:#fffdf8;border:1px solid #bdcdc4;border-radius:6px;color:#102f43}
.home-page #availability .combined-booking:has(#quote-panel[hidden])::after{content:'Your next getaway starts with a date.\A Choose check-in and check-out to see your itemized estimate.';white-space:pre-line;padding:1.25rem;color:#52676d;line-height:1.6;font-size:1rem}
.home-page #availability #quote-panel #proceed-booking{background:#0077b6;color:white;border-radius:8px;min-height:48px}
.home-page #availability #calendar .fc-col-header-cell{background:transparent}
.home-page #availability .calendar-legend{color:#52676d}
.home-page .home-booking-reassurance{text-align:center;color:#52676d;font-size:.9rem;margin:1rem 0 0;line-height:1.6}
.home-page .home-booking-reassurance span{color:#0077b6;margin-right:.35rem}
.home-page #rules{background:#ead9bd!important;border:0;border-block:1px solid #d6c3a7;padding:2.25rem 2rem}
.home-page #rules h2{font-size:clamp(1.85rem,3vw,2.6rem);letter-spacing:-1.2px;margin:0}
.home-page #rules .rules-heading{margin-bottom:1.25rem}
.home-page #rules .rules-content{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.home-page #rules .rules-card{background:var(--home-surface);border:1px solid #d5c5ad;border-top:3px solid #83aeba;border-radius:12px;padding:1.1rem 1.25rem}
.home-page #rules .rules-card dt{font-size:.95rem;color:var(--home-muted);margin-bottom:.5rem}
.home-page #rules .rules-card dd{font-size:1.4rem;line-height:1.3;letter-spacing:-.4px;font-weight:600;color:var(--home-ink)}
.home-page #rules .rules-card dd span{display:block;font-size:1rem;line-height:1.5;font-weight:400;letter-spacing:0;color:var(--home-muted)}
.home-page #rules .rule-detail{font-size:.875rem;margin:.35rem 0 0;color:var(--home-muted)}
.home-page #rules .rules-restrictions{border-bottom:1px solid #cebc9f;padding:.25rem 0 1rem}
.home-page #rules .rules-restrictions ul{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:.65rem 1.25rem;font-size:.95rem}
.home-page #rules .rules-restrictions li{display:flex;gap:.55rem;align-items:center;line-height:1.5}
.home-page #rules .rules-restrictions li::before{content:'×';display:grid;place-items:center;flex:0 0 24px;height:24px;margin:0;border:1px solid #c4ae8c;border-radius:50%;font-size:1rem;color:#735e43}
.home-page #rules .rules-pool-info{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:1.5rem;align-items:start;background:#d9e7df;border:1px solid #bfd2c7;border-radius:12px;padding:1.15rem 1.25rem;margin-top:1rem}
.home-page #rules .rules-pool-info h3{font-size:1.15rem;line-height:1.35;font-weight:600;letter-spacing:-.3px;color:var(--home-ink);margin:0}
.home-page #rules .rules-pool-info .rules-pool-note{font-size:.95rem;line-height:1.6;margin:0;color:var(--home-muted)}
.home-page #rules .rules-policy-link{font-size:.95rem}
@media(max-width:850px){.home-page #rules .rules-content{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page #rules .rules-pool-info{grid-template-columns:1fr 1fr;gap:.75rem 1.25rem}.home-page #rules .rules-pool-info h3{grid-column:1/-1}.home-page #rules .rules-pool-info h3 br{display:none}}
@media(max-width:600px){.home-page #rules .rules-card{padding:1rem}.home-page #rules .rules-card dd{font-size:1.2rem}.home-page #rules .rules-restrictions ul{grid-template-columns:1fr;gap:.55rem}.home-page #rules .rules-pool-info{grid-template-columns:1fr;gap:.75rem;padding:1rem}.home-page #rules .rules-policy-link{white-space:normal}.home-page #rules .rules-content{gap:.75rem}}
.home-page #reviews{background:var(--home-surface);padding:2.25rem 2rem}
.home-page #reviews h2{font-size:2rem;text-align:center;margin-bottom:.45rem}
.home-page #reviews .section-subtitle{font-size:.95rem;color:var(--home-muted);margin-bottom:1.2rem}
.home-page #reviews .guest-quote{background:var(--home-surface);border:1px solid #d4ded6;border-radius:14px;box-shadow:none;max-width:750px}
.home-page #reviews .guest-quote blockquote{font-family:inherit;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:500;letter-spacing:-.5px}
.home-page #reviews .empty-reviews{font-size:.78rem;max-width:720px;line-height:1.8}
.home-page #reviews .review-card{background:var(--home-paper);border-color:var(--home-line);border-radius:12px}
.home-page #reviews .review-eyebrow{text-align:center}
.home-page #reviews .reviews-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-top:0}
.home-page #reviews .review-card{text-align:left;padding:1.1rem;display:flex;flex-direction:column;min-width:0}
.home-page #reviews .review-stars{font-size:1.2rem;font-weight:600;color:#0077b6;margin:0 0 .65rem}
.home-page #reviews .review-stars span{font-size:.75rem;font-weight:400;color:var(--home-muted)}
.home-page #reviews .review-excerpt{font-size:1.1rem;line-height:1.4;font-weight:500;letter-spacing:-.2px;margin:0 0 .6rem}
.home-page #reviews .review-context{font-size:.875rem;color:var(--home-muted);line-height:1.55;margin:0 0 .85rem;flex:1}
.home-page #reviews .review-author{font-size:.9rem;font-weight:600;margin:0 0 .3rem}
.home-page #reviews .review-source{font-size:.8rem;line-height:1.6;color:var(--home-muted);margin:0}
.home-page #reviews .review-source a{color:#006592;text-underline-offset:3px}
.home-page #reviews .review-footnote{text-align:center;color:var(--home-muted);font-size:.8rem;line-height:1.6;margin:1rem auto 0;max-width:740px}
.home-page #reviews .review-footnote a{color:#006592;text-underline-offset:3px}
@media(max-width:1050px){.home-page #reviews .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-page #reviews{padding:2rem 1.5rem}}
@media(max-width:600px){.home-page #reviews .reviews-grid{grid-template-columns:1fr;gap:.65rem}.home-page #reviews .review-card{padding:1rem}.home-page #reviews .review-stars{margin-bottom:.45rem}.home-page #reviews .review-context{margin-bottom:.6rem}}
@media(max-width:600px){.home-page #reviews .review-card[data-featured-review]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.65rem}.home-page #reviews [data-featured-review] .review-stars{grid-column:2;grid-row:1;font-size:1rem;line-height:1.4;white-space:nowrap;margin:0}.home-page #reviews [data-featured-review] .review-excerpt{grid-column:1;grid-row:1;font-size:1.05rem}.home-page #reviews [data-featured-review] .review-context,.home-page #reviews [data-featured-review] .review-author,.home-page #reviews [data-featured-review] .review-source{grid-column:1/-1}}
.home-page footer{background:var(--home-ink);padding:2.25rem 2rem 1.5rem}
.home-page footer .footer-grid,.home-page footer .footer-bottom{max-width:1200px}
.home-page footer .logo{color:#fff5e5;font-size:1.55rem}
.home-page footer .footer-brand>p,.home-page footer .footer-col a{font-size:.95rem;line-height:1.7}
.home-page footer .footer-brand>p{max-width:400px}
.home-page #contact.contact-dialog{background:var(--home-surface);border-color:var(--home-line);border-radius:14px}
.home-page #contact input,.home-page #contact textarea{background:#fff;border-color:#bdcdc4;border-radius:6px}
.home-page #contact .btn{border-radius:8px!important}
@media(min-width:1050px) and (max-height:800px){.home-page .hero .hero-copy{padding-top:2rem;padding-bottom:2rem}.home-page .hero .hero-photo{min-height:495px}.home-page .hero h1{font-size:3.65rem;margin-top:1.15rem}}
@media(max-width:1320px){.home-page .hero{margin-inline:1.5rem!important}.home-page .hero .hero-copy{padding-inline:2rem}.home-page .hero .hero-actions{gap:.75rem}}
@media(max-width:1050px){.home-page nav .nav-links{gap:1rem}.home-page .hero{grid-template-columns:1fr 1fr}.home-page .hero h1{font-size:3rem;letter-spacing:-1.5px}.home-page .hero .hero-copy{padding:2rem 1.5rem}.home-page .hero .hero-photo{min-height:480px}.home-page .hero .hero-booking-facts{max-width:none}.home-page #amenities .comforts-layout{gap:2.5rem}.home-page .home-facts{gap:1rem;padding-inline:2rem}}
@media(max-width:850px){.home-page nav .nav-links{background:var(--home-surface);border-color:var(--home-line);padding:1rem 1.5rem;box-shadow:0 12px 24px #102f4310}.home-page nav .nav-links a{min-height:44px;display:flex;align-items:center}.home-page .home-facts{grid-template-columns:1fr 1fr;gap:1.3rem 2rem;padding:1.6rem 2rem}.home-page .home-facts>div{padding:0;border:0}.home-page .home-photo-grid{gap:1rem}.home-page .home-photo-caption strong{font-size:.96rem}.home-page #amenities .comforts-layout{grid-template-columns:1fr 1fr;gap:2rem}.home-page #deals .deals-grid{gap:1.2rem}.home-page .direct-intro{max-width:290px;font-size:1rem}}
@media(max-width:700px){.home-page>nav{padding:1rem 1.15rem}.home-page nav .logo{font-size:1.8rem}.home-page nav .container>div>span{font-size:.85rem!important}.home-page .hero{grid-template-columns:1fr;margin:1rem 1rem 0!important;border-radius:14px}.home-page .hero .hero-copy{padding:1.9rem 1.5rem 1.8rem}.home-page .hero h1{font-size:2.9rem;letter-spacing:-1.9px;margin:1.2rem 0 1rem}.home-page .hero .hero-description{font-size:1rem;line-height:1.65}.home-page .hero .hero-actions{margin-top:1.35rem;gap:.75rem}.home-page .hero .hero-booking-facts{max-width:160px;font-size:.875rem}.home-page .hero .hosting-since{font-size:.85rem;margin-top:1rem}.home-page .hero .hero-photo{min-height:320px}.home-page .hero-photo .photo-label{top:.9rem;left:.9rem}.home-page .hero-gallery-open{bottom:.9rem;right:.9rem}.home-page .home-facts{padding:1.25rem 1.5rem;gap:1rem 1rem;margin-inline:1rem}.home-page .home-facts strong{font-size:1rem}.home-page .home-facts span{font-size:.875rem}.home-page section:not(.hero):not(.booking-panel){padding:2rem 1.5rem}.home-page .home-section-heading{align-items:start;flex-direction:column;gap:.7rem;margin-bottom:1.3rem}.home-page .home-section-heading h2{font-size:1.85rem}.home-page .home-text-link{font-size:.95rem}.home-page .home-photo-grid{grid-template-columns:1fr;gap:1.25rem}.home-page .home-photo-image img{aspect-ratio:3/2}.home-page .home-photo-caption{padding-top:.8rem}.home-page .home-photo-caption strong{font-size:1.05rem}.home-page .home-photo-caption>span{font-size:.95rem}.home-page #amenities.comforts{padding:2rem 1.5rem}.home-page #amenities .comforts-layout{grid-template-columns:1fr;gap:1.3rem}.home-page #amenities .comforts-intro h2{font-size:1.85rem}.home-page #amenities .comforts-list{padding-top:0}.home-page #deals .home-section-heading{gap:.8rem}.home-page #deals .deals-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.1rem}.home-page #deals .deal-card{padding:.85rem 0 .25rem}.home-page .direct-intro{max-width:none;font-size:1rem}.home-page #deals .direct-contact{font-size:.9rem;white-space:normal}.home-page #availability .combined-booking{padding:1rem}.home-page #availability .combined-booking:has(#quote-panel[hidden])::after{padding:1rem .65rem;font-size:1rem}.home-page .home-booking-reassurance{font-size:.9rem}.home-page #rules{padding:2rem 1.5rem}.home-page #reviews h2{font-size:1.9rem}.home-page footer{padding:2rem 1.5rem 4rem}.home-page #contact.contact-dialog{border-radius:0}}
@media(max-width:360px){.home-page .hero h1{font-size:2.6rem}.home-page .hero .hero-copy{padding-inline:1.25rem}.home-page .hero .hero-booking-facts{max-width:none}.home-page .home-facts{padding-inline:1rem}.home-page section:not(.hero):not(.booking-panel){padding-inline:1rem}}
@media(max-width:360px){.home-page>nav{padding-inline:1rem}.home-page nav .brand-lockup{padding-inline:.2rem}.home-page nav .container>div>span{font-size:.8125rem!important;letter-spacing:.3px!important}.home-page .mobile-toggle{font-size:.75rem;padding:.25rem;min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.home-page .home-photo-card:hover img{transform:none}.home-page .home-photo-image img,.home-page .hero-photo .photo-edge{transition:none}}

/* Sticky navigation and matching native-anchor fallback; home.js aligns headings exactly. */
.home-page>nav{position:sticky!important;top:0;z-index:1200;box-shadow:0 3px 14px #102f4310}
html:has(.home-page){scroll-padding-top:calc(var(--home-nav-height,120px) + 20px)}
.home-page section[id]{scroll-margin-top:0}
.home-page #availability #dates-form label,.home-page #rules .rules-card p{font-size:.95rem}
.home-page #rules .rules-card h3{font-size:1rem}
.home-page .hero-booking-facts{flex:1;min-width:0}
