/* Shared additions preserve the existing Ocean Blue / Sand brand. */
html{scroll-padding-top:100px}body{overflow-wrap:break-word}img{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0077b6;outline-offset:4px}.skip-link{position:absolute;left:1rem;top:-100px;z-index:3000;padding:1rem;background:white}.skip-link:focus{top:1rem}.mobile-toggle{display:none}.hero{height:auto!important;min-height:72vh;padding-top:5rem;padding-bottom:5rem}.hero-search{display:flex;flex-wrap:wrap;justify-content:center;align-items:end;gap:.75rem;padding:1rem;background:rgba(3,4,94,.8);border-radius:10px;margin:1.5rem auto 0;max-width:760px}.hero-search label{display:grid;text-align:left;gap:.25rem;font-size:.9rem}.hero-search input,.hero-search select{font:inherit;padding:.65rem;border:0;border-radius:4px;min-height:44px;max-width:100%}.hero-search .btn{min-height:44px;padding:.7rem 1rem}.trust-line{font-size:1rem!important}.notice{padding:1rem;background:#fff3cd;border-radius:8px;color:#533f03;margin:1rem 0}.form-status{min-height:1.5rem;margin:.75rem 0;color:#03045e}.form-status.error{color:#9f2020}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.policy-summary{background:#f4e4c1;border-radius:10px;padding:1.25rem;line-height:1.7}.policy-summary ul{padding-left:1.25rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.contact-grid .booking-form{margin:0}.lightbox button{min-width:44px;min-height:44px}.lightbox-controls{display:flex;justify-content:center;gap:1rem}.lightbox-controls button{padding:.6rem 1.2rem;border:0;border-radius:5px;background:white;color:#03045e}.review-source{font-size:.85rem;color:#636e72}.review-text{white-space:pre-wrap}.empty-reviews{text-align:center;max-width:650px;margin:auto}.terms-modal-close{background:none;border:0}.simple-page{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#2d3436;line-height:1.65;margin:0;background:#f8f9fa}.simple-header{padding:1rem max(1rem,calc((100% - 960px)/2));background:white;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:1rem;align-items:center}.simple-header a{color:#0077b6;text-decoration:none;font-weight:700}.simple-header small{display:block;font-size:.75rem}.simple-main{max-width:960px;margin:2rem auto;padding:0 1rem}.simple-main h1,.simple-main h2{color:#03045e}.simple-main h1{font-size:2rem}.simple-main h2{font-size:1.3rem}.simple-main a{color:#0077b6}.simple-footer{text-align:center;padding:2rem 1rem}.simple-footer a{color:#0077b6}.simple-main button,.simple-main .btn{font:inherit;padding:.8rem 1rem;border:0;border-radius:5px;background:#0077b6;color:white;font-weight:600;cursor:pointer;text-decoration:none}.simple-main button:disabled{background:#657580;cursor:not-allowed}.simple-main input,.simple-main select,.simple-main textarea{font:inherit;width:100%;min-width:0;padding:.7rem;border:1px solid #aaa;border-radius:5px;box-sizing:border-box}.simple-main input[type=checkbox]{width:20px;min-width:20px;min-height:20px;flex-shrink:0}.simple-main label{display:block;font-weight:600;margin-bottom:.4rem}.simple-main fieldset{border:0;padding:0;margin:1rem 0}.simple-main legend{font-weight:700;margin-bottom:.5rem}.simple-main .checkbox{display:flex;align-items:start;gap:.65rem;font-weight:400}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.booking-panel{background:white;border:1px solid #e4e8ec;padding:1.5rem;border-radius:12px;margin:1.25rem 0}.booking-panel h2{margin-top:0}.price-list{margin:1rem 0}.price-line{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #eee}.price-total{font-weight:700;font-size:1.2rem;color:#03045e}.price-line dd{margin:0;white-space:nowrap}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.calendar-legend span:before{content:'';display:inline-block;width:12px;height:12px;border:1px solid #777;margin-right:5px}.calendar-legend .unavailable:before{background:#f6baba}.calendar-legend .selected:before{background:#90e0ef}.fc .fc-toolbar{flex-wrap:wrap;gap:.5rem}.fc .fc-toolbar-title{font-size:1.2rem}.fc .fc-daygrid-day-number{color:#03045e}.fc-day-booked{background:#f6baba}.fc-day-selected{background:#90e0ef!important}.fc .fc-daygrid-day-frame{min-height:45px}.fc .fc-day-past{background:#eee}.fc .fc-button-primary{background:#0077b6;border-color:#0077b6}.fc .fc-button{padding:.5rem}.help{font-size:.9rem;color:#525d65}.payment-method-note{margin:.5rem 0}.review-form textarea{min-height:130px}.booking-panel [hidden],[hidden]{display:none!important}
@media(max-width:1000px){nav{padding:.75rem 1rem}.nav-links a{margin-left:.75rem}.hero h1{font-size:2.6rem}}
@media(max-width:850px){.mobile-toggle{display:block;border:1px solid #0077b6;border-radius:4px;color:#0077b6;background:white;padding:.65rem;font:inherit}.nav-links{display:none!important;position:absolute;left:0;right:0;top:100%;background:white;padding:1rem;border-bottom:1px solid #ddd}.nav-links.is-open{display:flex!important;flex-wrap:wrap;gap:.8rem}.nav-links a{margin:0;padding:.5rem}.contact-grid{grid-template-columns:1fr}.hero{min-height:70vh}.hero-search{gap:1rem}.hero-search label{flex:1 1 130px}.hero-search button{width:100%}.simple-main{margin:1rem auto}.booking-panel{padding:1rem}}
@media(max-width:480px){.fields-grid{grid-template-columns:1fr}.hero-search{padding:.8rem}.simple-header{align-items:start}.simple-header a:last-child{font-size:.85rem}.simple-main h1{font-size:1.7rem}.fc .fc-toolbar-title{font-size:1.05rem}.fc .fc-button{font-size:.8rem}.gallery-card h3{font-size:1rem}.hero h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Visual refinement: photo-led, restrained, and consistent with locked brand colors. */
:root{--primary:#0077b6;--secondary:#00b4d8;--dark:#03045e;--sand:#f4e4c1;--text:#253746;--text-light:#61717d}
body{background:#fff;color:var(--text);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}nav{padding:1.1rem 2rem;box-shadow:0 1px 0 rgba(3,4,94,.08)}nav .container{max-width:1200px}.logo{letter-spacing:-.6px;font-size:1.55rem}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-links a{font-size:.9rem;margin:0;white-space:nowrap}.nav-links .btn-book{padding:.75rem 1.15rem;border-radius:5px}.hero{margin-top:82px!important;min-height:740px!important;justify-content:flex-start!important;text-align:left!important;background-image:linear-gradient(90deg,rgba(3,4,50,.78),rgba(3,4,50,.26) 75%),url('hero-image.jpg')!important;background-position:center 58%!important;padding:5rem max(2rem,calc((100% - 1120px)/2))!important}.hero>div{width:100%;max-width:1120px}.hero h1{font-size:clamp(3rem,6vw,5.1rem);font-weight:650;line-height:1.08;letter-spacing:-2.5px;max-width:740px;margin:1rem 0 1.2rem}.hero p{font-size:1.2rem;max-width:650px;line-height:1.65}.hero .eyebrow{font-size:.8rem;letter-spacing:2px;font-weight:650;text-transform:uppercase;color:#d6f2f8}.hero .tagline{font-size:1.05rem;letter-spacing:.2px;font-weight:400;margin-bottom:1.5rem}.hero .trust-line{font-size:.92rem!important;color:#edf6fa;margin:1.3rem 0}.btn{border-radius:5px;font-size:.95rem;letter-spacing:.15px;padding:.9rem 1.5rem;box-shadow:none}.btn:hover{transform:none;background:#005e91}.hero>.btn{background:#fff}.hero-search{background:#fff;color:var(--text);border-radius:8px;margin:2.5rem 0 0;max-width:900px;justify-content:start;box-shadow:0 8px 30px rgba(0,0,0,.12);padding:1.2rem;gap:1rem}.hero-search label{flex:1;font-size:.8rem;font-weight:600;color:#61717d;min-width:125px}.hero-search input,.hero-search select{border:1px solid #d9e2e7;background:#fff;color:#253746;font-size:.95rem}.hero-search button{white-space:nowrap;align-self:end}.container{max-width:1120px}section{padding:5.5rem 2rem}h2{font-size:clamp(1.85rem,3.5vw,2.65rem);font-weight:650;letter-spacing:-1px;line-height:1.2;margin-bottom:1.25rem}.section-subtitle{font-size:1rem;line-height:1.75;color:#61717d}.about-grid{gap:4rem}.about-text h3{font-size:1.65rem;line-height:1.3;color:#03045e;letter-spacing:-.5px}.about-text p{margin:1.2rem 0;color:#61717d}.about-image img{aspect-ratio:4/3;object-fit:cover;box-shadow:none;border-radius:8px}.property-facts{display:flex;gap:1.5rem;flex-wrap:wrap;border-top:1px solid #e1e7eb;margin-top:1.5rem;padding-top:1.25rem}.property-facts strong{display:block;font-size:1.2rem;color:#03045e}.property-facts span{font-size:.85rem}.amenities{background:#f7fafb}.amenity-category{margin-bottom:2rem}.amenity-category-title{border-bottom:0;color:#03045e;font-size:1.1rem;letter-spacing:-.2px}.amenity-chips{margin-top:.5rem;gap:0 2rem}.amenity-chip{border:0;border-bottom:1px solid #dae4e9;border-radius:0;box-shadow:none;background:none;text-align:left;padding:1rem 0;min-height:80px}.amenity-chip:hover{transform:none;box-shadow:none}.amenity-chip .chip-icon{display:none}.amenity-chip .chip-label{font-size:.92rem;font-weight:600}.amenity-chip .chip-detail{font-size:.84rem;line-height:1.5}.amenity-category>div[style*="grid-template-columns"]{background:#eef5f8!important;padding:2rem!important;border-radius:8px!important;margin-bottom:3rem!important}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.gallery-card{border:0;border-radius:7px;box-shadow:none;background:#f7fafb;padding-bottom:.75rem;cursor:pointer}.gallery-card:hover{transform:none;box-shadow:0 0 0 2px #0077b6}.gallery-card img{height:190px;margin-bottom:.7rem}.gallery-card h3{font-size:.85rem;font-weight:500;letter-spacing:0;padding:0 .8rem}.gallery-card:nth-child(-n+2){grid-column:span 2}.gallery-card:nth-child(-n+2) img{height:320px}.reviews{background:#faf5eb}.reviews-grid{gap:1.5rem}.review-card{box-shadow:none;border:1px solid #eadfc8;background:#fff;padding:1.5rem;border-radius:8px}.review-card:before{display:none}.review-card:hover{transform:none}.review-text{font-size:1rem;line-height:1.8}.review-stars{color:#0077b6;font-size:1rem}.empty-reviews{font-size:.95rem;line-height:1.9;margin:1rem auto}.empty-reviews a{color:#0077b6;font-weight:600;text-underline-offset:4px}.deals{background:white}.deals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.deal-card{background:none;border:0;border-radius:0;box-shadow:none;padding:1rem;text-align:center}.deal-card:hover{transform:none;box-shadow:none}.deal-card h3{font-size:1.1rem;color:#03045e}.deal-card p{font-size:.95rem;color:#61717d}.deal-card:before{display:none}.rules-grid{gap:1rem}.rule-item{background:transparent;border:0;border-radius:0;box-shadow:none;padding:1rem .5rem}.rule-icon{display:none}.rule-item h4{color:#03045e;font-size:.95rem}.rule-item p{font-size:.85rem;color:#61717d}.rule-no{background:none!important;border:0!important}.contact-grid{gap:4rem;align-items:start}.contact-grid h3{font-size:1.5rem;line-height:1.35;letter-spacing:-.3px;color:#03045e}.contact-grid p{margin:1.1rem 0}.contact-grid a{color:#0077b6;text-underline-offset:3px}.booking-form{box-shadow:none;border:1px solid #dce5e9;padding:1.5rem;border-radius:8px}.form-group label{font-size:.85rem}.form-group input,.form-group textarea{border:1px solid #c8d4da;border-radius:5px}.footer-grid{max-width:1120px}.footer-brand p{color:#d2d9eb}.footer-col a{color:#d2d9eb}.footer-bottom{color:#b8c6df;max-width:1120px}footer{padding-top:3.5rem}.simple-page{background:#f7fafb;color:#253746}.simple-header{padding-top:1.25rem;padding-bottom:1.25rem}.simple-main{max-width:960px}.simple-main h1{font-size:2.6rem;letter-spacing:-1px;font-weight:650}.simple-main h2{font-size:1.35rem;letter-spacing:-.3px;font-weight:650}.booking-panel{border-color:#dfe8ec;box-shadow:0 2px 10px rgba(3,4,94,.025);padding:1.7rem;border-radius:8px}.notice{background:#faf5eb;color:#665532;border:1px solid #ecdfc3;font-size:.93rem}.policy-summary{background:#faf5eb;border:1px solid #ecdfc3;border-radius:6px;font-size:.93rem}.simple-main input,.simple-main select,.simple-main textarea{border-color:#c8d4da;background:white;min-height:46px}.simple-main label{font-size:.88rem}.simple-main button{border-radius:5px;font-size:.95rem}.simple-main .checkbox{font-size:.92rem}.simple-main input[type=checkbox]{min-height:20px}.price-line{padding:.8rem 0}.help{line-height:1.7}.booking-panel #calendar{margin:1.5rem 0}.fc .fc-scrollgrid{border-color:#e3e9ed}.fc .fc-daygrid-day-top{padding:.2rem}.fc .fc-toolbar-title{font-weight:600}.fc .fc-button{border-radius:4px}.fc .fc-day-today{background:#eef8fc!important}.fc-day-booked{background:#f3d9d9}.fc-day-selected{background:#c4eaf3!important}
@media(max-width:1000px){.nav-links{gap:1rem}.hero{min-height:690px!important}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card:nth-child(-n+2){grid-column:auto}.gallery-card:nth-child(-n+2) img{height:190px}}
@media(max-width:850px){nav{padding:1rem}.hero{margin-top:78px!important;min-height:650px!important;padding:3.5rem 1.5rem!important}.hero h1{letter-spacing:-1.7px}.hero-search{margin-top:2rem}.hero-search label{flex:1 1 120px}.hero-search button{width:100%}.nav-links.is-open{padding:1rem;gap:.75rem}.about-grid{gap:2rem}.deals-grid{grid-template-columns:1fr;gap:.5rem}.deal-card{padding:1rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:2rem}.amenity-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}section{padding:3.5rem 1.25rem}.simple-main h1{font-size:2.1rem}.booking-panel{padding:1.2rem}}
@media(max-width:480px){.hero{min-height:720px!important;background-position:58% center!important}.hero h1{font-size:3.15rem}.hero .tagline{font-size:.95rem}.hero p{font-size:1.02rem}.hero-search label{flex-basis:125px}.hero-search{padding:1rem}.gallery-card img,.gallery-card:nth-child(-n+2) img{height:150px}.gallery-card h3{font-size:.8rem}.amenity-category>div[style*="grid-template-columns"]{padding:1.25rem!important}.amenity-chip{padding:.85rem 0}.simple-main h1{font-size:1.9rem}.booking-panel{padding:1rem}.simple-header small{font-size:.7rem}.property-facts{gap:1rem}.contact-grid .booking-form{padding:1rem}}
.guide-toggle{position:fixed;right:1.2rem;bottom:1.2rem;z-index:1100;border:1px solid #d5e2e8;border-radius:24px;background:#fff;color:#03045e;box-shadow:0 3px 16px rgba(3,4,94,.13);padding:.8rem 1.15rem;font:600 .85rem -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}.stay-guide{box-sizing:border-box;width:min(440px,calc(100% - 2rem));max-height:85dvh;overflow:auto;padding:1.5rem;border:1px solid #dce5e9;border-radius:12px;color:#253746;font:1rem/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 15px 80px rgba(3,4,94,.25)}.stay-guide::backdrop{background:rgba(3,4,50,.35)}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.guide-heading h2{font-size:1.35rem;margin:0;color:#03045e}.guide-heading button{border:0;background:none;color:#03045e;font-size:1.7rem;min-width:44px;min-height:44px;cursor:pointer}.guide-topics{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.guide-topics button{font:inherit;font-size:.85rem;padding:.45rem .75rem;border:1px solid #c8dce6;border-radius:20px;color:#0077b6;background:#f7fbfd;cursor:pointer}.guide-answer{background:#f4f8fa;padding:1rem;border-radius:6px;white-space:pre-wrap}.stay-guide a{color:#0077b6}.stay-guide input{box-sizing:border-box;max-width:100%;width:100%;padding:.7rem;font:inherit;border:1px solid #bfcfd8;border-radius:5px}.stay-guide form>button{margin-top:.75rem;padding:.6rem 1.2rem;border:0;border-radius:5px;background:#0077b6;color:white;font:inherit}.amenity-details{border-bottom:1px solid #dae4e9;margin:0!important;padding:1rem 0}.amenity-details summary{font-weight:600;color:#03045e;cursor:pointer;min-height:32px}.rule-no h4{color:#03045e!important}.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.guide-toggle{right:.75rem;bottom:.75rem;font-size:.8rem;padding:.7rem 1rem}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.simple-footer,footer{padding-bottom:5rem}.booking-panel .fields-grid{gap:1rem}}
.hero-search label{min-width:0}.hero-search input,.hero-search select{box-sizing:border-box;width:100%;min-width:0}.guide-toggle.is-covered{visibility:hidden}
@media(max-width:480px){.hero-search{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hero-search label{min-width:0}.hero-search input{padding:.6rem .4rem;font-size:.88rem}.hero-search label:nth-child(3),.hero-search button{grid-column:1/-1}}
