/* EasyVacational: warm, open editorial direction. */
:root{--paper:#fbfaf6;--ink:#142e3e;--line:#d9dfdb}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}nav{position:relative!important;background:var(--paper);padding:1.35rem 3.5rem;box-shadow:none;border-bottom:1px solid var(--line)}nav .container{max-width:1440px}.logo{color:var(--dark);font-size:1.65rem;letter-spacing:-1px}.nav-links{gap:2rem}.nav-links a{font-size:.82rem;color:var(--ink)}.nav-links .btn-book,.btn{background:var(--primary);color:#fff;border-radius:0!important;font-weight:600;padding:1rem 1.5rem;box-shadow:none}.hero{display:grid!important;grid-template-columns:1fr 1.12fr;align-items:stretch!important;background:none!important;color:var(--ink);padding:0!important;margin:0!important;min-height:0!important;text-shadow:none!important;max-width:1600px;margin-inline:auto!important}.hero>div{max-width:none;width:auto}.hero-copy{padding:5.5rem 3.5rem 4rem}.hero .eyebrow,.eyebrow{font-size:.67rem!important;letter-spacing:2px;color:var(--primary)!important;font-weight:700}.hero h1{font-size:clamp(3.8rem,6.2vw,6.8rem);line-height:1.02;letter-spacing:-4px;font-weight:500;color:var(--ink);margin:1.5rem 0 2rem;max-width:none;text-shadow:none}.hero h1 span{color:var(--primary)}.hero .hero-description{font-size:1.02rem;max-width:360px;line-height:1.8;color:#546772}.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:2rem}.hero-actions .btn span{margin-left:1.4rem}.text-link{color:var(--ink);text-decoration:none;font-size:.84rem;border-bottom:1px solid #8a989d;padding-bottom:.3rem}.hero .trust-line{font-size:.74rem!important;color:#546772;margin-top:3rem}.hero-photo{position:relative;min-height:620px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.photo-label{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;gap:1rem;background:rgba(251,250,246,.96);padding:1rem 1.25rem;font-size:.7rem;letter-spacing:1px}.stay-strip{max-width:1440px;margin:auto;padding:2rem 3.5rem;display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center;border-bottom:1px solid var(--line)}.stay-strip p{margin:0}.stay-strip strong{display:block;font-size:1.2rem;font-weight:500;margin-top:.3rem}.hero-search{margin:0;max-width:none;padding:0;background:transparent;box-shadow:none;gap:1rem}.hero-search label{font-size:.72rem;color:#546772}.hero-search input,.hero-search select{background:transparent;border:0;border-bottom:1px solid #aebbbf;border-radius:0;padding:.65rem 0}.hero-search button{border-radius:0;min-height:48px}.container{max-width:1180px}section{padding:6rem 3rem}h2{font-size:clamp(2rem,3.3vw,3.2rem);font-weight:500;letter-spacing:-1.5px;color:var(--ink)}#about h2,#about>.container>p{text-align:left!important;margin-left:0!important}#about>.container>p{max-width:740px!important}.about-grid{gap:5rem;align-items:center}.about-image img{border-radius:0;aspect-ratio:5/4}.about-text h3{font-size:2rem;font-weight:500;color:var(--ink)}.property-facts{gap:2rem}.property-facts strong{font-size:1.65rem;font-weight:500;color:var(--primary)}#gallery{background:#edf2f1}#gallery h2,#gallery .section-subtitle{text-align:left}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.gallery-card{background:transparent;border-radius:0;text-align:left;padding:0 0 .5rem}.gallery-card img{border-radius:0;height:180px}.gallery-card:nth-child(-n+2) img{height:340px}.gallery-card h3{padding:.25rem 0;font-size:.78rem;color:#435d68}.amenities{background:var(--paper)}.amenities h2,.amenities .section-subtitle{text-align:left}.amenity-category-title{font-weight:500;font-size:1.4rem}.amenity-details{padding:1.3rem 0}.amenity-details summary{font-size:1rem;font-weight:500}.reviews{background:#eee7d9}.reviews h2{font-size:2.3rem}.empty-reviews{font-size:.95rem;line-height:1.9}.empty-reviews a{color:var(--primary)}.deals{background:var(--ink);color:#fff}.deals h2{color:white}.deals .section-subtitle{color:#bdd3dc}.deal-card{border:0;border-top:1px solid #60727c;background:transparent;border-radius:0;padding:2rem 0;box-shadow:none}.deal-card h3{color:white;font-weight:500}.deal-card p{color:#c3d1d7}.rules-grid{gap:0 2rem}.rule-card{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important}#rules{background:#f1f3ef!important}#contact{background:var(--paper)}#contact h2{text-align:left;margin:1rem 0 3rem}.contact-grid{gap:5rem}.contact-grid .booking-form{background:transparent;border:1px solid var(--line);border-radius:0;box-shadow:none;padding:2rem}.contact-grid input,.contact-grid textarea{border-radius:0;background:transparent;border:1px solid #b9c5c7}.contact-grid h3{font-weight:500}footer{background:var(--ink);border:0}.simple-page{background:var(--paper);color:var(--ink)}.simple-header{background:var(--paper);padding-top:1.5rem;padding-bottom:1.5rem}.simple-main{margin:4rem auto}.simple-main h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;letter-spacing:-1.5px;color:var(--ink)}.booking-panel{border-radius:0;border:1px solid var(--line);padding:2rem;box-shadow:none}.simple-main button,.simple-main .btn,.simple-main input,.simple-main select{border-radius:0}.simple-footer{background:var(--ink);color:white}.simple-footer a{color:#90e0ef}.guide-toggle{border-radius:3px;font-weight:500}
@media(min-width:1600px){.hero-copy{padding-left:5rem}}
@media(max-width:1000px){nav{padding:1.1rem 1.5rem}.nav-links{gap:1rem}.hero-copy{padding:4rem 2rem}.hero h1{font-size:4.4rem}.hero-actions{gap:1rem;flex-wrap:wrap}.hero-photo{min-height:570px}.stay-strip{padding:2rem;grid-template-columns:1fr;gap:1.2rem}.stay-strip>p{display:none}.contact-grid{gap:2rem}}
@media(max-width:700px){nav{padding:1rem 1.2rem}.hero{grid-template-columns:1fr}.hero-copy{padding:2.75rem 1.4rem 2rem}.hero h1{font-size:3.8rem;letter-spacing:-2.5px;margin:1rem 0 1.4rem}.hero h1 br:nth-child(2){display:none}.hero h1 span:before{content:' '}.hero .hero-description{font-size:.95rem;max-width:350px}.hero .trust-line{margin-top:1.7rem}.hero-photo{min-height:340px}.photo-label{bottom:1rem;left:1rem;right:1rem;padding:.8rem;font-size:.6rem}.stay-strip{padding:1.7rem 1.4rem}.hero-search{display:grid;grid-template-columns:1fr 1fr}.hero-search label:nth-child(3){grid-column:auto}.hero-search button{grid-column:auto;white-space:normal;font-size:.8rem}.hero-search label{min-width:0}.hero-actions .btn{padding:.9rem 1.2rem}.hero-actions{margin-top:1.5rem}section{padding:3.5rem 1.4rem}.about-grid{gap:2rem}.about-text h3{font-size:1.7rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:.8rem}.gallery-card:nth-child(-n+2){grid-column:span 1}.gallery-card:nth-child(-n+2) img,.gallery-card img{height:160px}.gallery-card:first-child{grid-column:1/-1}.gallery-card:first-child img{height:280px}.contact-grid .booking-form{padding:1.25rem}.simple-main{margin:2rem auto}.booking-panel{padding:1.25rem}.simple-header{padding:1rem}.logo{font-size:1.4rem}.property-facts{gap:1.3rem}.hero .eyebrow{font-size:.59rem!important;letter-spacing:1.5px}}
/* Ocean-and-sand palette: no white page surfaces. */
:root{--paper:#e9dfcb;--ink:#112f42;--line:#b6b7a8}
body{background:#e9dfcb}nav{background:#102f43;border-bottom:1px solid #385568}nav .logo,nav .nav-links a{color:#f4e4c1}nav .container>div>span{color:#90e0ef!important}.mobile-toggle{background:#102f43;color:#f4e4c1;border-color:#6c8794}.hero{background:#102f43!important;color:#f4e4c1}.hero h1{color:#f4e4c1}.hero h1 span{color:#90e0ef}.hero .eyebrow{color:#90e0ef!important}.hero .hero-description,.hero .trust-line{color:#c7d5d9}.hero .text-link{color:#f4e4c1;border-color:#8ba8b5}.hero .btn{background:#90e0ef;color:#102f43}.hero .btn:hover{background:#b2ebf5}.photo-label{background:#102f43ed;color:#f4e4c1}.stay-strip{background:#d9ceb5;border-color:#b7b49e}.hero-search input,.hero-search select{color:#112f42}.hero-search select option{background:#e9dfcb}#about{background:#e9dfcb}#gallery{background:#173e51}#gallery h2{color:#f4e4c1}#gallery .section-subtitle,#gallery .gallery-card h3{color:#c4d6dc}.amenities{background:#e9dfcb}.amenity-category>div[style*="grid-template-columns"]{background:#d9ceb5!important}.amenity-chip,.amenity-details{border-color:#bcbba9}.reviews{background:#d5c6a7}.review-card{background:#e9dfcb;border-color:#b6ab91}.deals{background:#102f43}.deals h2{color:#f4e4c1}#rules{background:#d9ceb5!important}#contact{background:#e9dfcb}.contact-grid .booking-form{background:#ded4bf}.contact-grid input,.contact-grid textarea{background:#eee3ce;border-color:#a3afa9}.simple-page,.simple-header{background:#e9dfcb}.simple-header{border-color:#b6b7a8}.booking-panel{background:#e0d5bf;border-color:#b6b7a8}.simple-main input,.simple-main select,.simple-main textarea{background:#eee3ce;color:#112f42}.guide-toggle{background:#173e51;color:#f4e4c1;border-color:#668390}.stay-guide{background:#e9dfcb;color:#112f42}.guide-answer,.guide-topics button{background:#d9ceb5}.stay-guide input{background:#eee3ce}.lightbox-controls button{background:#f4e4c1}.simple-footer,footer{background:#102f43}
@media(max-width:850px){.nav-links{background:#102f43;border-color:#385568}}
/* Property tour and amenities: scoped to the middle of the homepage. */
#gallery.home-tour{padding:5rem 3rem;background:#173e51}.tour-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.tour-heading h2{max-width:620px;margin:1rem 0 0}.tour-heading>.eyebrow,.home-tour .eyebrow{color:#90e0ef!important}.tour-heading>p{color:#c4d6dc;font-size:.95rem;line-height:1.8;margin:0}.tour-mosaic{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:240px 240px;gap:1rem}.tour-mosaic .gallery-card{position:relative;grid-column:auto;padding:0;overflow:hidden}.tour-mosaic .gallery-card:first-child{grid-row:span 2}.tour-mosaic .gallery-card img,.tour-mosaic .gallery-card:nth-child(-n+2) img{width:100%;height:100%;object-fit:cover;margin:0}.tour-mosaic .gallery-card h3{position:absolute;bottom:0;left:0;right:0;text-align:left;padding:2rem 1.2rem 1rem!important;background:linear-gradient(transparent,rgba(9,31,44,.85));color:#f4e4c1!important;font-size:.85rem!important}.tour-more{margin-top:1.5rem;border-top:1px solid #557483}.tour-more summary{display:flex;justify-content:space-between;padding:1.2rem 0;color:#f4e4c1;cursor:pointer;font-size:.9rem;list-style:none}.tour-more summary::-webkit-details-marker,.comfort-group summary::-webkit-details-marker{display:none}.tour-more summary span,.comfort-group summary span{font-size:1.4rem;font-weight:400}.tour-more[open]>summary span,.comfort-group[open]>summary span{transform:rotate(45deg)}.tour-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tour-thumbnails .gallery-card{grid-column:auto}.tour-thumbnails .gallery-card img,.tour-thumbnails .gallery-card:nth-child(-n+2) img{height:210px;width:100%;object-fit:cover}.comforts{background:#e9dfcb}.comforts-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:6rem}.comforts-intro h2{margin:1rem 0 1.5rem}.comforts-intro>p:not(.eyebrow){max-width:360px;color:#50636b;font-size:.98rem;line-height:1.85}.comforts-intro figure{margin:2.2rem 0 0;max-width:360px}.comforts-intro figure img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.comforts-intro figcaption{font-size:.75rem;color:#50636b;margin-top:.6rem}.comforts-list{border-top:1px solid #a9b2aa}.comfort-group{border-bottom:1px solid #a9b2aa}.comfort-group summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;padding:1.6rem 0;font-size:1.1rem;color:#112f42}.comfort-group ul{list-style:none;padding:0;margin:0 0 1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.comfort-group li{font-size:.86rem;line-height:1.6}.comfort-group li strong{display:block;font-weight:600}.comfort-group li span{display:block;color:#50636b;font-size:.8rem}.pool-note{font-size:.8rem;color:#50636b;line-height:1.8;margin:1.5rem 0 0}
@media(max-width:850px){.comforts-layout{gap:3rem}.tour-mosaic{grid-template-rows:200px 200px}.tour-heading{align-items:start}.tour-heading>p{display:none}}
@media(max-width:600px){#gallery.home-tour{padding:3.5rem 1.4rem}.tour-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:280px 160px;gap:.7rem}.tour-mosaic .gallery-card:first-child{grid-row:auto;grid-column:1/-1}.tour-mosaic .gallery-card h3{font-size:.75rem!important;padding:2rem .75rem .75rem!important}.tour-thumbnails{grid-template-columns:1fr 1fr;gap:.7rem}.tour-thumbnails .gallery-card img,.tour-thumbnails .gallery-card:nth-child(-n+2) img{height:140px}.comforts-layout{grid-template-columns:1fr;gap:2rem}.comforts-intro h2 br{display:none}.comforts-intro h2 br:after{content:' '}.comforts-intro figure{display:none}.comforts-intro>p:not(.eyebrow){max-width:none}.comfort-group summary{padding:1.25rem 0;font-size:1rem}.comfort-group ul{gap:1rem}.tour-heading h2{font-size:2.25rem}}
.availability-preview{background:#d9ceb5;padding:5rem 3rem}.availability-preview>.container{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:start}.availability-intro h2{margin:1rem 0 1.5rem}.availability-intro>p:not(.eyebrow){color:#50636b;line-height:1.8}.availability-intro .btn{display:inline-block;margin-top:1rem}.availability-calendar{min-width:0;background:#e9dfcb;padding:1.5rem;border:1px solid #b6b7a8}#stay-calendar-status{font-size:.86rem;line-height:1.7;margin:0 0 1.25rem}.availability-calendar .fc{--fc-border-color:#b7c0b9;--fc-today-bg-color:transparent}.availability-calendar .fc-daygrid-day-frame{min-height:52px}.availability-calendar .fc-daygrid-day-number{color:#112f42;padding:.55rem;text-decoration:none;font-size:.9rem}.availability-calendar .fc-col-header-cell-cushion{color:#112f42;font-size:.8rem}.availability-calendar .fc .fc-toolbar-title{font-size:1.2rem;letter-spacing:0}.availability-calendar .fc-button{border-radius:0;background:#173e51;color:#f4e4c1}.availability-calendar .stay-open{background:#b5dae0}.availability-calendar .stay-unknown{background:#e9dfcb}.availability-calendar .stay-unavailable{background:repeating-linear-gradient(135deg,#adb7b3,#adb7b3 5px,#b9c2ba 5px,#b9c2ba 10px)}.availability-calendar .stay-unavailable .fc-daygrid-day-number{text-decoration:line-through;color:#364b50}.availability-calendar .stay-past{opacity:.4;background:#d5cbb8}.stay-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.75rem}.stay-legend span:before{content:'';display:inline-block;width:12px;height:12px;border:1px solid #7d9296;margin-right:6px}.legend-blocked:before{background:repeating-linear-gradient(135deg,#adb7b3,#adb7b3 3px,#c3cdc5 3px,#c3cdc5 6px)}.legend-open:before{background:#e9dfcb}.availability-calendar:has(.stay-open) .legend-open:before{background:#b5dae0}.simple-main .availability-preview{padding:2rem 0;background:transparent}.simple-main .availability-preview>.container{grid-template-columns:1fr;gap:1rem}.simple-main .availability-intro .btn{display:none}
@media(max-width:850px){.availability-preview>.container{grid-template-columns:1fr;gap:2rem}.availability-preview{padding:3.5rem 1.4rem}}
@media(max-width:480px){.availability-calendar{padding:.8rem}.availability-calendar .fc-daygrid-day-frame{min-height:42px}.availability-calendar .fc-daygrid-day-number{padding:.4rem}.availability-calendar .fc .fc-toolbar-title{font-size:1rem}}
.rules-agreement{text-align:center;margin:2rem 0 0}.rules-agreement a{color:#005b85;text-underline-offset:4px;font-size:.95rem}
.payment-options{background:#173e51;color:#f4e4c1;padding:4rem 3rem}.payment-options .eyebrow{color:#90e0ef!important}.payment-options h2{color:#f4e4c1;margin:1rem 0 2rem}.payment-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.payment-options-grid article{border-top:1px solid #65818b;padding:1.5rem 0}.payment-badge{font-size:.65rem;letter-spacing:1.4px;color:#90e0ef}.payment-options-grid h3{font-size:1.4rem;font-weight:500;color:#f4e4c1;margin:.7rem 0}.payment-options-grid p,.payment-options-note{color:#c4d6dc;font-size:.9rem;line-height:1.8}.payment-options-note{font-size:.8rem;margin:1.25rem 0 0;max-width:760px}.simple-main .payment-options{padding:2rem;margin:2rem 0}.simple-main .payment-options h2{color:#f4e4c1;font-size:1.8rem}.simple-main .payment-options-grid{gap:1.3rem}
@media(max-width:700px){.payment-options{padding:3rem 1.4rem}.payment-options-grid{grid-template-columns:1fr;gap:0}.payment-options-grid article{padding:1.2rem 0}.simple-main .payment-options{padding:1.25rem}}
/* A distinct transition from planning dates to the practical stay guidelines. */
#rules{background:#e9dfcb!important;border-top:8px solid #173e51;padding-top:4rem;padding-bottom:4rem}#rules .rules-heading{text-align:center;margin-bottom:2.5rem}#rules .rules-heading h2{margin:.8rem 0}#rules .rules-heading>p:last-child{color:#50636b;font-size:.95rem}#rules .rules-grid{border-top:1px solid #aeb7ac;border-bottom:1px solid #aeb7ac;padding:1.5rem 0;gap:1.5rem 2rem}#rules .rule-item{background:transparent;border:0;border-radius:0;box-shadow:none;padding:1rem}#rules .rules-agreement{margin-top:2rem}#rules .rules-agreement a{display:inline-block;padding:.8rem 1rem;border:1px solid #9aaea9;text-decoration:none}#rules .rules-agreement a:hover{background:#d9ceb5}
@media(max-width:600px){#rules{padding-top:3rem;padding-bottom:3rem}#rules .rules-grid{gap:.75rem}#rules .rule-item{padding:.75rem .25rem}}
.pricing-basics{padding:1.25rem 0;border-top:1px solid #aeb7ac;border-bottom:1px solid #aeb7ac;color:#112f42}.pricing-basics strong{font-size:1.1rem;font-weight:500}.pricing-basics p{font-size:.86rem;line-height:1.8;margin:.6rem 0}.availability-preview>.container>.pricing-basics{grid-column:1;grid-row:2}.availability-preview>.container>.availability-calendar{grid-column:2;grid-row:1/span 2}.simple-main .availability-preview>.container>.pricing-basics,.simple-main .availability-preview>.container>.availability-calendar{grid-column:auto;grid-row:auto}
@media(max-width:850px){.availability-preview>.container>.pricing-basics,.availability-preview>.container>.availability-calendar{grid-column:auto;grid-row:auto}}
.booking-expectations{border-left:3px solid #0077b6;padding:.25rem 1.2rem;margin:1rem 0 1.5rem}.booking-expectations p{font-size:.9rem;line-height:1.8}
.booking-selection{padding:1rem 0;font-size:1rem;font-weight:600;line-height:1.8;border-top:1px solid #aeb7ac;border-bottom:1px solid #aeb7ac;margin-bottom:1rem}#edit-stay{background:transparent;color:#005b85;border:1px solid #9aaea9;font-size:.85rem}#proceed-booking{margin-top:.75rem}
.discount-field{max-width:320px;margin:1.25rem 0}.discount-field input{text-transform:uppercase}
.hero .hosting-since{font-size:.78rem;color:#90e0ef;margin:1.6rem 0 0;letter-spacing:.25px}.hero .hosting-since+.trust-line{margin-top:.8rem}
.fc .fc-prev-button,.fc .fc-next-button{font-family:Arial,Helvetica,sans-serif!important;font-size:1.5rem!important;line-height:1!important;min-width:44px;min-height:44px;padding:.35rem .7rem!important}
.calendar-nightly-price{display:block;padding:0 .2rem .4rem;text-align:center;font-size:.72rem;font-weight:600;color:#005b85;line-height:1.3;pointer-events:none}.fc-day-selected .calendar-nightly-price{color:#112f42}#calendar .fc-daygrid-day-frame{min-height:68px}@media(max-width:480px){.calendar-nightly-price{font-size:.65rem;padding-bottom:.3rem}#calendar .fc-daygrid-day-frame{min-height:59px}}
/* Monday-first calendar with quiet rate-category tinting. */
.fc .rate-weekend:not(.fc-day-booked):not(.stay-unavailable):not(.fc-day-selected):not(.fc-day-past),.fc .rate-holiday:not(.fc-day-booked):not(.stay-unavailable):not(.fc-day-selected):not(.fc-day-past){background:#d4c8b2}.rate-legend-weekend:before{background:#d4c8b2!important}.fc .fc-col-header-cell{padding:.5rem 0;background:#d9ceb5}.fc .fc-scrollgrid{border-color:#aebbb2}.fc .fc-toolbar{margin-bottom:1.1rem}.calendar-nightly-price{font-variant-numeric:tabular-nums}
.tour-mosaic .gallery-card h3{margin:0}
.specials-banner{position:relative;width:100%;border-bottom:1px solid #385568;display:flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .75rem;box-sizing:border-box;background:#a53e36;color:#fff3df;font-size:.78rem;font-weight:600;letter-spacing:.15px;text-align:center;text-decoration:none}.specials-banner:hover{background:#91342e}
@media(max-width:480px){.specials-banner{font-size:.69rem}}

nav{border-bottom:0}
#deals .payment-options-integrated{background:transparent;padding:2.5rem 0 0;margin-top:1.5rem;border-top:1px solid #60727c}#deals #payment-options-title{color:#f4e4c1;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500;letter-spacing:-.6px;margin:.8rem 0 1.5rem}#deals .payment-options-integrated .eyebrow{text-align:left}#deals .payment-options-integrated .payment-options-note{max-width:none}

/* Inline homepage booking shares the same quote flow as checkout. */
.homepage-booking>.container{display:block;max-width:1000px}.homepage-booking .availability-intro{max-width:650px;margin-bottom:2rem}.home-booking-content.simple-main{max-width:none;margin:0;padding:0}.home-booking-content .booking-panel{min-width:0}.home-booking-content h2{font-size:1.4rem;letter-spacing:0;margin-bottom:1rem}.home-booking-content .fc-daygrid-day{cursor:pointer}.home-booking-content .fc-day-past,.home-booking-content .fc-day-booked{cursor:default}

/* Keep the special strip compact while its larger message travels right. */
.specials-banner{height:42px;min-height:42px;padding:0;overflow:hidden;justify-content:flex-start;font-size:1rem;text-align:left}
.specials-banner-text{position:absolute;left:0;white-space:nowrap;animation:specials-travel-right 20s linear infinite}
@keyframes specials-travel-right{from{left:0;transform:translateX(-100%)}to{left:100%;transform:translateX(0)}}
.specials-banner:hover .specials-banner-text,.specials-banner:focus-visible .specials-banner-text{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.specials-banner{justify-content:center;text-align:center}.specials-banner-text{position:static;animation:none;white-space:normal;font-size:.85rem;padding:0 .5rem}}

/* Compact house rules: readable facts with a single policy link. */
#rules{padding:2.5rem 3rem;border-top:4px solid #173e51}
#rules .rules-compact{display:grid;grid-template-columns:1fr 2fr;gap:2.5rem;align-items:start}
#rules h2{font-size:2rem;letter-spacing:-.7px;margin:.4rem 0 1rem;text-align:left}
.rules-policy-link{color:#005b85;font-size:1rem;line-height:1.5;text-underline-offset:4px}
.rules-facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;margin:0}
.rules-facts>div{padding:0 0 .75rem;border-bottom:1px solid #aeb7ac}
.rules-facts dt{font-size:1rem;color:#50636b;margin-bottom:.2rem}
.rules-facts dd{margin:0;font-size:1.2rem;font-weight:600;line-height:1.4;color:#102f43}
.rules-facts dd span{font-size:.95rem;font-weight:400}
.rules-boundaries{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;list-style:none;padding:0;margin:1rem 0 0;font-size:1rem;color:#102f43}
.rules-boundaries li::before{content:'—';color:#8e4138;margin-right:.4rem}
@media(max-width:700px){#rules{padding:2rem 1.4rem}#rules .rules-compact{grid-template-columns:1fr;gap:1.5rem}.rules-facts{gap:1rem}.rules-facts dd{font-size:1.1rem}}

/* Separate the contact invitation from the compact house rules above. */
#contact{background:#ded4bf;border-top:1px solid #a7afa3;position:relative}
#contact::before{content:'';display:block;width:64px;height:3px;background:#173e51;position:absolute;top:0;left:50%;transform:translateX(-50%)}

/* Contact is available on demand without a full homepage section. */
#contact.contact-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 2rem));max-height:90dvh;box-sizing:border-box;padding:1.5rem;border:1px solid #a7afa3;background:#e9dfcb;color:#102f43;overflow-y:auto}
#contact.contact-dialog::before{display:none}.contact-dialog::backdrop{background:rgba(8,29,43,.7)}
.contact-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
#contact .contact-dialog-heading h2{font-size:1.8rem;letter-spacing:-.5px;margin:0;text-align:left}
.contact-dialog-heading button{background:transparent;border:0;color:#102f43;font-size:2rem;min-width:44px;min-height:44px;cursor:pointer}
#contact .booking-form{padding:0;margin:1rem 0;background:transparent;border:0;box-shadow:none;max-width:none}
#contact input,#contact textarea{box-sizing:border-box;width:100%;font:inherit;background:#eee3ce;border:1px solid #9aaea9;padding:.75rem;border-radius:0}
#contact textarea{min-height:120px}#contact .form-group{margin-bottom:1rem}#contact label{display:block;margin-bottom:.35rem;font-weight:600}
#contact .contact-direct{font-size:.95rem;margin-bottom:0}#contact a{color:#005b85}.contact-open{overflow:hidden}
@media(max-width:600px){#contact.contact-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;padding:1.25rem}}

/* Manually browsed hero gallery; never advances automatically. */
.hero-photo-open{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:zoom-in;width:100%;height:100%}
.hero-photo-open img{inset:0}.hero-photo .photo-label{pointer-events:none}
.hero-photo .photo-edge{position:absolute;top:20%;bottom:24%;width:12%;min-width:44px;border:0;background:transparent;color:rgba(255,255,255,.55);font-size:3rem;cursor:pointer;text-shadow:0 1px 8px #102f43}
.hero-prev{left:0}.hero-next{right:0}.hero-photo .photo-edge:hover,.hero-photo .photo-edge:focus-visible{color:white;background:rgba(16,47,67,.12)}
.hero-gallery-open{position:absolute;right:1.5rem;bottom:6rem;border:1px solid #ffffff70;background:#102f43b3;color:#fff3df;padding:.65rem 1rem;font:inherit;font-size:.9rem;cursor:pointer}
.lightbox-content{width:min(1100px,92vw);max-width:92vw;text-align:center}.lightbox-img{max-height:75dvh;border-radius:0;touch-action:pan-y;cursor:pointer}
.lightbox .lightbox-controls button{position:absolute;top:40%;background:rgba(16,47,67,.18);color:rgba(255,255,255,.6);border:0;font-size:3rem;padding:.25rem .75rem;text-shadow:0 1px 8px #102f43}
.lightbox-controls [data-photo-prev]{left:0}.lightbox-controls [data-photo-next]{right:0}.lightbox .lightbox-controls button:hover,.lightbox .lightbox-controls button:focus-visible{color:white;background:#102f4370}
.hero-photo{touch-action:pan-y}

/* Compact date selection with readable prices and touch targets. */
.hero-photo-open{cursor:pointer}
.homepage-booking{padding-top:3rem;padding-bottom:3rem}
.homepage-booking .availability-intro{margin-bottom:1rem}
.homepage-booking .availability-intro h2{margin:.25rem 0 .6rem}
.home-booking-content .pricing-basics{padding:.6rem 0}
#date-panel{padding:1.25rem}
#date-panel>p{margin:.5rem 0 1rem;font-size:.95rem}
#calendar .fc-daygrid-day-frame{min-height:48px}
#calendar .fc-daygrid-day-events{display:none}
#calendar .fc-daygrid-day-number{padding:2px 5px}
#calendar .fc-col-header-cell{padding:.15rem 0}
#calendar .fc-toolbar{margin-bottom:.6rem}
#calendar .fc-button{min-height:44px}
#date-panel .calendar-legend{font-size:.78rem;gap:.35rem .8rem;margin:.6rem 0}
#dates-form .help{font-size:.8rem;line-height:1.5;margin:.6rem 0}
@media(min-width:850px){#date-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:1.5rem}#date-panel>h2,#date-panel>p:not(.calendar-legend){grid-column:1/-1}#date-panel #calendar{grid-column:1;grid-row:3}#date-panel .calendar-legend{grid-column:1;grid-row:4}#dates-form{grid-column:2;grid-row:3/5}#dates-form .fields-grid{gap:.65rem}#dates-form label{font-size:.85rem}#dates-form input,#dates-form select{min-height:44px;padding:.5rem}}
@media(max-width:480px){#date-panel{padding:.75rem}.homepage-booking{padding-inline:1rem}#calendar .fc-daygrid-day-frame{min-height:46px}#calendar .calendar-nightly-price{font-size:.7rem;padding-bottom:.15rem}}

/* Date-picker treatment: compact cells, quiet grid, clear range endpoints. */
.homepage-booking>.container{max-width:920px}
.homepage-booking .availability-intro h2{font-size:2rem}
.home-booking-content #date-panel{margin-top:1rem;border-radius:14px;border:1px solid #aeb7ac;background:#e9dfcb;padding:1.25rem;box-shadow:0 6px 22px #102f4308}
#date-panel>h2{font-size:1.25rem;margin:0}
#date-panel .date-picker-hint{font-size:.85rem;margin:.3rem 0 1rem;color:#50636b}
#calendar .fc-scrollgrid,#calendar td,#calendar th{border:0}
#calendar .fc-col-header-cell{background:transparent;font-size:.8rem;font-weight:500}
#calendar .fc-daygrid-day-frame{min-height:50px;border-radius:8px;margin:2px 1px}
#calendar .fc-daygrid-day-top{justify-content:center}
#calendar .fc-daygrid-day-number{font-size:.9rem;text-decoration:none;line-height:24px;padding:0;min-width:28px;text-align:center}
#calendar .fc-daygrid-day:not(.fc-day-disabled):not(.fc-day-past):hover .fc-daygrid-day-frame{box-shadow:inset 0 0 0 1px #173e51}
#calendar .fc-day-past{background:transparent;color:#78817b}
#calendar .fc-day-booked{background:transparent;color:#78817b}
#calendar .fc-day-booked .fc-daygrid-day-number{text-decoration:line-through;color:#78817b}
#calendar .fc-day-selected{background:#c1d8d5!important}
#calendar .range-start .fc-daygrid-day-number,#calendar .range-end .fc-daygrid-day-number{border-radius:50%;background:#173e51;color:#fff3df}
#calendar .fc-day-today{box-shadow:inset 0 -2px #173e51;background:transparent}
#calendar .fc-button{border:0;background:transparent;color:#173e51;border-radius:50%;width:44px;padding:0;font-size:1.6rem}
#calendar .fc-button:hover{background:#d9ceb5}
#calendar .fc-toolbar-title{font-size:1.05rem;font-weight:600;letter-spacing:0}
#date-panel .clear-dates{justify-self:start;width:auto;background:transparent;color:#173e51;text-decoration:underline;text-underline-offset:3px;font-size:.85rem;padding:.5rem 0;min-height:44px}
.pool-heat-details{font-size:.8rem;margin-top:.75rem;color:#50636b}.pool-heat-details summary{cursor:pointer}
#dates-form .discount-field{margin-top:.75rem}
#date-panel .calendar-legend{font-size:.72rem;line-height:1.5}
#date-panel .calendar-legend .unavailable:before{background:transparent;border-color:#78817b}
@media(min-width:850px){#date-panel{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}#date-panel .clear-dates{grid-column:1;grid-row:5}#dates-form{grid-row:3/6}}
@media(max-width:849px){#date-panel #calendar{max-width:400px;margin:auto}#date-panel .clear-dates{display:block;margin-bottom:.5rem}#dates-form .fields-grid{gap:.65rem}#dates-form label{font-size:.85rem}}

.homepage-booking .availability-intro{margin-inline:auto;text-align:center}

/* Keep the full quote readable as one compact summary. */
#quote-panel{padding:1rem 1.25rem;margin:.75rem 0;border-radius:12px}
#quote-panel h2{font-size:1.2rem;letter-spacing:0;margin:0 0 .4rem}
#quote-summary>p{font-size:.9rem;line-height:1.4;margin:0 0 .5rem;color:#50636b}
#quote-summary .price-list{margin:.4rem 0}
#quote-summary .price-line{padding:.25rem 0;font-size:.9rem;line-height:1.4;border-color:#b6b7a855;gap:1rem}
#quote-summary .price-total{font-size:1.1rem;padding:.55rem 0;margin-top:.2rem;border-top:1px solid #9aaea9;color:#102f43}
#quote-panel>.help{font-size:.78rem;line-height:1.4;margin:.5rem 0 .75rem}
#quote-panel #proceed-booking{min-height:44px;padding:.65rem 1rem;width:100%}
@media(min-width:850px){#quote-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);column-gap:1.5rem;align-items:start}#quote-panel h2{grid-column:1/-1}#quote-summary{grid-column:1;grid-row:2/4}#quote-panel>.help{grid-column:2;grid-row:2;margin:.25rem 0 .75rem}#quote-panel #proceed-booking{grid-column:2;grid-row:3;align-self:start}}

/* Reference-inspired summary: one quiet card, aligned amounts, a clear total. */
#quote-panel{display:block;max-width:480px;width:100%;box-sizing:border-box;margin:1rem auto;padding:1.35rem;border-radius:16px;background:#eee3ce;border:1px solid #b6b7a8}
#quote-panel h2{font-size:1.2rem;margin:0 0 .75rem}
#quote-summary>p{padding-bottom:.8rem;margin-bottom:.65rem;border-bottom:1px solid #b6b7a880}
#quote-summary .price-line{border-bottom:0;padding:.3rem 0;font-size:.95rem;line-height:1.4}
#quote-summary .price-line dt{flex:1}
#quote-summary .price-discount dd{color:#257344}
#quote-summary .price-total{font-size:1.1rem;border-top:1px solid #a7afa3;margin-top:.6rem;padding-top:.8rem;padding-bottom:.5rem}
#quote-panel>.help{margin:.75rem 0;font-size:.8rem}
#quote-panel #proceed-booking{border-radius:8px;min-height:48px;margin-top:.2rem}
@media(min-width:1100px){.homepage-booking>.container{max-width:1180px}.home-booking-content{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:1.25rem;align-items:start}.home-booking-content #availability-status{grid-column:1/-1}.home-booking-content #date-panel{grid-column:1;margin:0}.home-booking-content #quote-panel{grid-column:2;margin:0;position:sticky;top:100px}.home-booking-content #date-panel{column-gap:1rem}.home-booking-content #dates-form .fields-grid{grid-template-columns:1fr}.home-booking-content #dates-form label{margin-bottom:.15rem}}


/* One booking surface: options above, calendar left, quote right. */
.combined-booking{background:#e9dfcb;border:1px solid #aeb7ac;border-radius:16px;padding:1.25rem;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 2rem;align-items:start}
.homepage-booking>.container{max-width:1000px}
.combined-booking #date-panel{display:contents}
.combined-booking #date-panel>h2,.combined-booking .date-picker-hint{display:none}
.combined-booking #dates-form{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:1fr 180px;gap:0 1rem;padding-bottom:.8rem;margin-bottom:1rem;border-bottom:1px solid #aeb7ac}
.combined-booking #dates-form .fields-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.combined-booking #dates-form .discount-field{margin:0}
.combined-booking #dates-form label{font-size:.78rem;margin-bottom:.3rem}
.combined-booking #dates-form input,.combined-booking #dates-form select{padding:.5rem;min-height:44px}
.combined-booking .pool-heat-details{grid-column:1/-1;margin-top:.5rem}
.combined-booking #date-status{grid-column:1/-1;min-height:0;margin:.3rem 0 0;font-size:.85rem}
.combined-booking .inline-calendar{grid-column:1;grid-row:2;min-width:0}
.combined-booking #quote-panel{grid-column:2;grid-row:2;position:static;background:transparent;border:0;border-radius:0;padding:0;margin:0;max-width:none;box-shadow:none}
.combined-booking #availability-status{grid-column:1/-1}
.combined-booking:has(#quote-panel[hidden])::after{content:'Choose your dates to see your total, including taxes and fees.';grid-column:2;grid-row:2;align-self:center;text-align:center;color:#50636b;padding:2rem 1rem;font-size:1rem}
#date-panel .inline-calendar #calendar{max-width:none;margin:0}
@media(max-width:849px){.combined-booking{grid-template-columns:1fr;padding:1rem;gap:1rem}.combined-booking #dates-form{grid-template-columns:1fr;margin:0}.combined-booking #dates-form .fields-grid{grid-template-columns:1fr 1fr}.combined-booking #dates-form .discount-field{margin-top:.6rem}.combined-booking .inline-calendar{grid-column:1;grid-row:2}.combined-booking #quote-panel{grid-column:1;grid-row:3;border-top:1px solid #aeb7ac;padding-top:1rem}.combined-booking:has(#quote-panel[hidden])::after{grid-column:1;grid-row:3;padding:1rem}.combined-booking .pool-heat-details{grid-column:1}}
.home-booking-content.combined-booking{padding:1.25rem}
@media(min-width:850px){.simple-page #date-panel .inline-calendar{grid-column:1;grid-row:3/6}}
@media(max-width:849px){.home-booking-content.combined-booking{padding:1rem}}
/* Give the combined booking fields and quote room for their full labels. */
.homepage-booking>.container{max-width:1180px}
.home-booking-content.combined-booking{padding:1.5rem;column-gap:2rem}
.combined-booking #dates-form{grid-template-columns:minmax(0,1fr) minmax(180px,.24fr)}
.combined-booking #dates-form .fields-grid>div,.combined-booking #dates-form .discount-field{min-width:0}
.combined-booking #dates-form label{line-height:1.4;white-space:normal}
.combined-booking #dates-form input,.combined-booking #dates-form select{width:100%;max-width:100%;box-sizing:border-box}
.combined-booking #quote-summary .price-line dt{min-width:0;overflow-wrap:anywhere}
@media(min-width:850px) and (max-width:1099px){.combined-booking #dates-form{grid-template-columns:1fr}.combined-booking #dates-form .fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combined-booking #dates-form .discount-field{margin-top:.65rem;max-width:280px}}
@media(max-width:849px){.home-booking-content.combined-booking{padding:1rem}.combined-booking #dates-form{grid-template-columns:1fr}}

/* Explicitly contain the booking content inside its frame at every zoom level. */
#availability .home-booking-content.combined-booking{box-sizing:border-box;width:100%;padding:clamp(1rem,2.5vw,2rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#availability #quote-panel,#availability #quote-summary{min-width:0;width:100%;box-sizing:border-box}
#availability #quote-panel h2{text-align:left;font-size:1.15rem;line-height:1.4}
#availability #quote-summary .price-line{gap:.75rem}
#availability #quote-summary .price-total{font-size:1rem}
@media(max-width:849px){#availability .home-booking-content.combined-booking{grid-template-columns:minmax(0,1fr)}}

#quote-summary .deposit-disclosure,.deposit-disclosure{font-size:.85rem;line-height:1.5;color:#50636b;border-top:1px solid #aeb7ac;padding-top:.75rem;margin:.75rem 0 0}

/* Calendar owns date selection; compact stay options sit immediately below it. */
#availability .combined-booking .inline-calendar{grid-column:1;grid-row:1}
#availability .combined-booking #dates-form{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:.65rem;padding:0;margin:.5rem 0 0;border:0}
#availability .combined-booking #dates-form .fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
#availability .combined-booking #dates-form .discount-field{margin:0;max-width:none}
#availability .combined-booking #quote-panel{grid-column:2;grid-row:1/3}
#availability .combined-booking:has(#quote-panel[hidden])::after{grid-row:1/3}
#availability .combined-booking #dates-form label{font-size:.72rem;line-height:1.3;min-height:2.6em}
#availability .combined-booking #dates-form input,#availability .combined-booking #dates-form select{font-size:.85rem;padding:.45rem;min-height:44px}
.selected-dates{font-size:.85rem;line-height:1.5;margin:.6rem 0;color:#173e51}
.rules-pool-note{font-size:.9rem;line-height:1.6;margin:1rem 0 0;color:#50636b}
@media(max-width:849px){#availability .combined-booking #quote-panel{grid-column:1;grid-row:3}#availability .combined-booking:has(#quote-panel[hidden])::after{grid-column:1;grid-row:3}}

#availability .combined-booking .inline-calendar #dates-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-top:.75rem;grid-row:auto;grid-column:auto}
/* Use the same muted gray for blocked nights and their legend swatch. */
:root{--unavailable-night:#c5cbc5}
#calendar .fc-day-booked:not(.range-end){background:var(--unavailable-night)!important}
#date-panel .calendar-legend .unavailable::before{background:var(--unavailable-night);border-color:#78817b}
/* A tighter property overview, preserving its content and readable controls. */
#amenities.comforts{padding:3rem}
#amenities .comforts-layout{gap:3rem;align-items:start}
#amenities .comforts-intro h2{margin:0 0 1rem;font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.15}
#amenities .comforts-intro>p{margin:0;line-height:1.6;max-width:400px}
#amenities .comforts-intro figure{margin-top:1.25rem;max-width:320px}
#amenities .comfort-group summary{padding:.85rem 0;min-height:44px;box-sizing:border-box;font-size:1rem}
#amenities .comfort-group ul{gap:.75rem 1rem;margin-bottom:.85rem}
#amenities .pool-note{margin-top:1rem;line-height:1.6}
@media(max-width:850px){#amenities.comforts{padding:2rem 1.4rem}#amenities .comforts-layout{gap:1.5rem}}

/* Three distinct panels inside the combined booking block. */
#availability .calendar-frame{border:1px solid #9eada5;border-radius:12px;padding:1rem;background:#eee3ce;min-width:0}
#availability .combined-booking .inline-calendar #dates-form{border:1px solid #9eada5;border-radius:12px;padding:.85rem;margin-top:.85rem;background:#eee3ce;box-sizing:border-box}
#availability .combined-booking #quote-panel{border:1px solid #9eada5;border-radius:12px;padding:1.25rem;background:#eee3ce;box-sizing:border-box}
@media(max-width:480px){#availability .calendar-frame{padding:.65rem}#availability .combined-booking .inline-calendar #dates-form{grid-template-columns:minmax(0,1fr);padding:.75rem}#availability .combined-booking #quote-panel{padding:1rem}}

/* Contextual property photo: fixed proportions, captions tied to the open category. */
#amenities #comfort-feature{max-width:400px;margin:1.25rem 0 0;border:1px solid #b3b7a8;border-radius:10px;overflow:hidden;background:#ded4bf}
#comfort-feature .comfort-photo{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
#amenities #comfort-feature img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
#amenities #comfort-feature figcaption{margin:0;padding:.85rem 1rem;color:#173e51}
#comfort-feature figcaption strong{display:block;font-size:1rem;line-height:1.4;font-weight:600}
#comfort-feature figcaption span{display:block;font-size:.85rem;line-height:1.55;margin-top:.25rem;min-height:3.1em}
@media(max-width:600px){#amenities .comforts-intro #comfort-feature{display:none}#amenities .comfort-group #comfort-feature{display:block;max-width:none;margin:0 0 1rem}#amenities .comfort-group #comfort-feature img{aspect-ratio:16/9}}

/* Stay options first, followed by a denser, touch-friendly calendar. */
#availability .combined-booking .inline-calendar #dates-form{margin:0 0 .65rem;padding:.7rem}
#availability .calendar-frame{padding:.65rem .8rem}
#availability #calendar .fc-toolbar{margin-bottom:.25rem}
#availability #calendar .fc-col-header-cell{padding:0}
#availability #calendar .fc-daygrid-day-frame{min-height:44px;margin:0 1px}
#availability #calendar .fc-daygrid-day-top{padding:0}
#availability #calendar .fc-daygrid-day-number{line-height:22px}
#availability #calendar .calendar-nightly-price{padding-bottom:.1rem;font-size:.68rem}
#availability .selected-dates{margin:.4rem 0;font-size:.8rem}
#availability #date-panel .calendar-legend{margin:.35rem 0;gap:.3rem .7rem}
#availability #date-panel .clear-dates{padding:.25rem 0;font-size:.8rem}

/* Distinct house-rules section, grouped rules, and a quieter pool information card. */
#rules{background:#cbd8d2!important;border-top:1px solid #9aafa7}
#rules .rules-compact{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2rem}
#rules .rules-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
#rules .rules-card,#rules .rules-pool-info{border:1px solid #94aaa1;border-radius:10px;background:#dce5df;padding:1rem}
#rules .rules-card dl{margin:0}#rules .rules-card dt{font-size:.95rem;color:#50636b;margin-bottom:.25rem}
#rules .rules-card dd{margin:0;font-size:1.15rem;font-weight:600;line-height:1.4;color:#102f43}
#rules .rules-arrival{grid-column:1/-1}#rules .rules-arrival dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
#rules .rules-arrival dl>div+div{border-left:1px solid #a7b9b0;padding-left:1rem}
#rules .rules-restrictions{grid-column:1/-1}#rules .rules-restrictions ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem 1.25rem;font-size:1rem;color:#102f43}
#rules .rules-restrictions li::before{content:'—';margin-right:.4rem;color:#657f73}
#rules .rules-pool-info{margin-top:1.25rem;background:transparent}
#rules .rules-pool-info .rules-pool-note{font-size:.9rem;line-height:1.6;margin:0;color:#50636b}
#rules .rules-pool-info .rules-pool-note+p{margin-top:.65rem}
@media(max-width:700px){#rules .rules-compact{grid-template-columns:1fr;gap:1.25rem}#rules .rules-card{padding:.85rem}#rules .rules-card dd{font-size:1.05rem}}

/* Guest's own words, without an inferred star rating. */
#reviews .reviews-grid:has(.guest-quote:only-child){display:block;max-width:760px;margin:1.5rem auto 2rem}
.guest-quote{position:relative;margin:0;padding:1.75rem 2rem;text-align:center;border:1px solid #b3a88e;border-radius:12px;background:#e9dfcb}
.guest-quote-mark{display:block;height:2.3rem;font-family:Georgia,serif;font-size:4rem;line-height:1;color:#527b7c}
.guest-quote blockquote{margin:1rem 0 1.25rem;font-family:Georgia,serif;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.4;color:#102f43}
.guest-quote figcaption strong{display:block;font-size:1rem;font-weight:600;color:#173e51}
.guest-quote figcaption span{display:block;margin-top:.25rem;font-size:.85rem;color:#50636b}

#amenities .comforts-intro h2{max-width:400px;text-align:center;white-space:nowrap;font-size:clamp(1rem,1.65vw,1.65rem);letter-spacing:-.4px}
@media(max-width:600px){#amenities .comforts-intro h2{font-size:clamp(.9rem,3.7vw,1.3rem)}}
