
:root{--ink:#07366c;--green:#064c8d;--paper:#faf7f1;--muted:#69717a;--line:#d9dfe5;--sand:#f0e8df;--accent:#e7eff8}.review,.design-index,.footer-bottom{display:none!important}.btn{border-radius:30px}.btn:hover{background:#003769}.brand svg{display:none}.brand-name{font-size:24px}.wide-hero{margin-top:0;height:650px}.wide-hero>img{filter:brightness(.95)}.wide-hero .overlay{background:linear-gradient(90deg,#faf7f1fa 0%,#faf7f1d9 30%,transparent 75%);color:var(--ink);padding:55px}.wide-hero p{color:var(--ink)}.wide-hero h1{font-size:74px;max-width:650px}.searchbar{position:relative;margin-top:-35px;box-shadow:0 8px 30px #432a1110;border:0;border-radius:5px;z-index:2}.tinted{background:#f1e9df}.cta{background:linear-gradient(110deg,#07366c,#106bab)}.room-card{background:#fff}.room-card h3,.room-card>p,.room-bottom{margin-left:18px;margin-right:18px}.room-bottom{padding-bottom:18px}.editorial-image,.hero-visual>img{border-radius:0}.message-text{min-height:150px;resize:vertical;line-height:1.6}.messengers{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}.disabled{opacity:.55;cursor:not-allowed}.integration-note{font-size:12px;margin-top:15px}.wide-hero .btn.light{background:var(--green);color:white}@media(max-width:800px){.brand-name{font-size:18px}.wide-hero{height:570px}.wide-hero h1{font-size:46px}.wide-hero .overlay{padding:26px}.searchbar{margin-top:18px}.messengers .btn{width:100%}}

.footer-links{flex-wrap:wrap;max-width:650px}.contact-actions{gap:10px}

/* Summer direction */
:root{--paper:#fffbf4;--ink:#103b68;--muted:#586c7b;--line:#e3e8e7;--accent:#ffe3a0}body{background:var(--paper)}.header{background:#fffcf7f2;backdrop-filter:blur(16px)}.header-inner{height:88px}.wide-hero{margin-top:24px;height:620px;border-radius:36px;overflow:hidden;background:#fff0ce;isolation:isolate}.wide-hero>img{position:absolute;right:0;top:0;width:59%;height:100%;object-fit:cover;object-position:65% center;filter:none;animation:sea-in 1.3s ease-out both}.wide-hero .overlay{width:53%;padding:58px 48px;background:linear-gradient(90deg,#fff1d4 85%,#fff1d400);z-index:2}.wide-hero h1{font-size:clamp(48px,5.4vw,78px);line-height:1.16;letter-spacing:-2px}.wide-hero h1 em{font-style:normal;color:#df7247}.wide-hero p{font-size:16px;line-height:1.8;max-width:320px}.wide-hero .eyebrow{max-width:280px;line-height:1.8;color:#9d642e}.holiday-stamp{position:absolute;z-index:3;right:36px;top:20px;font-size:94px;color:#ffe19b;line-height:1;filter:drop-shadow(0 3px 8px #133e6c22);animation:sun-sway 9s ease-in-out infinite}.sea-caption{position:absolute;right:26px;bottom:72px;z-index:3;padding:12px 20px;border-radius:30px;background:#ffffffeb;color:var(--ink);font-size:12px;box-shadow:0 8px 30px #16385419}.searchbar{margin:-38px 22px 0;padding:26px 30px;border-radius:24px;box-shadow:0 14px 40px #745d2720;position:relative;z-index:5}.btn{font-size:13px;transition:transform .25s,box-shadow .25s,background .25s;box-shadow:0 5px 14px #07448213}.btn:hover{transform:translateY(-3px);box-shadow:0 9px 20px #07448222}.wide-hero .btn.light,.searchbar .btn{background:#e77d4d;border-color:#e77d4d;color:#fff}.wide-hero .btn.light:hover,.searchbar .btn:hover{background:#cf6237;border-color:#cf6237}.room-card{border-radius:25px;overflow:hidden;border:1px solid #e7e9e2;box-shadow:0 8px 26px #173d6010;transition:transform .3s,box-shadow .3s}.room-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #173d6020}.room-photo img{height:265px}.room-photo .badge{border-radius:20px;background:#fff9ebf2}.room-card h3{margin-top:22px}.icon-button{background:#fff0cb;border:0;color:#825222}.room-bottom{border-color:#edf0ee}.section-head .eyebrow,.split .eyebrow{color:#b9663c}.tinted{background:#f2f5e9}.split>img,.infra-grid img,.contact-grid .map-photo,.service-row img{border-radius:28px}.infra-grid article{background:#fff;border-radius:28px;padding:12px 12px 24px;box-shadow:0 8px 25px #133d5f0a}.infra-grid article h3,.infra-grid article p{margin-left:12px;margin-right:12px}.infra-grid img{border-radius:20px}.cta{border-radius:32px;background:radial-gradient(circle at 90% 0%,#2189a2,transparent 50%),#074782;overflow:hidden}.cta .btn.light{background:#ffe1a0;border-color:#ffe1a0}.stats{border:0;gap:16px;padding-top:36px}.stat{border:0;background:#f5eddc;border-radius:20px;padding:22px!important}.stat:nth-child(2){background:#e6f2f0}.stat:nth-child(3){background:#ffeadf}.stat:nth-child(4){background:#eaf0f8}.stat strong{font-size:26px}.modal{border-radius:28px}.modal-top{background:#fff5df;padding:20px 26px}.booking-shell{border-radius:26px;box-shadow:0 12px 45px #103b6809}.modal .booking-shell{border-radius:0;box-shadow:none}.booking-card{border-radius:24px;background:#fff0d5}.summary-box{border-radius:18px;background:#edf5f7}.booking-choice{padding:15px 10px;border-radius:14px}.booking-choice:has(input:checked){background:#fff0d0}.booking-choice img{border-radius:12px}input,select,textarea{border-radius:12px;padding:13px;background:#fff}.message-text{border:1px solid #d4e3e9;padding:18px;font-size:14px;background:#f8fbfc}.copy-button{background:#fff0d0;color:#754c19;border:1px solid #edd8aa;box-shadow:none}.copy-button:hover{background:#ffe3ac}.max-button{background:#1458b2;border-color:#1458b2}.room-gallery{border-radius:28px;overflow:hidden}.gallery-grid img{border-radius:18px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease var(--delay,0ms),transform .75s ease var(--delay,0ms)}.reveal.in-view{opacity:1;transform:none}.reveal.in-view.room-card:hover{transform:translateY(-7px)}.modal[open]{animation:modal-in .25s ease-out}.wide-hero .overlay>*{animation:copy-in .8s ease-out both}.wide-hero .overlay p{animation-delay:.12s}.wide-hero .overlay .btn{animation-delay:.22s}@keyframes sea-in{from{transform:scale(1.05);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes sun-sway{50%{transform:rotate(15deg)}}@keyframes copy-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:800px){.wide-hero{height:760px;border-radius:25px;margin-top:16px}.wide-hero>img{top:auto;bottom:0;width:100%;height:350px;object-position:center 40%}.wide-hero .overlay{width:100%;height:420px;padding:30px;background:linear-gradient(#fff0d0 92%,#fff0d000);justify-content:flex-start}.wide-hero h1{font-size:53px}.wide-hero .eyebrow{margin-bottom:16px;max-width:240px;font-size:9px}.wide-hero p{font-size:14px;margin:18px 0}.holiday-stamp{font-size:65px;right:18px;top:18px}.sea-caption{bottom:24px;right:16px;font-size:10px}.searchbar{margin:16px 0 0;padding:20px;border-radius:20px}.stat{padding:17px!important}.stat strong{font-size:22px}.modal{border-radius:20px}.room-photo img{height:250px}.booking-shell{padding:22px}.cta{border-radius:24px}.header-inner{height:76px}.section{padding-top:65px;padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Slow sunlight in the margins; decorative sea contours inside the CTA. */
body{isolation:isolate}
.ambient-light{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambient-light::before,.ambient-light::after{content:"";position:absolute;width:65vw;height:85vh;border-radius:50%;background:radial-gradient(ellipse,#f5d79245,transparent 68%);animation:light-drift 28s ease-in-out infinite alternate}
.ambient-light::before{left:-38vw;top:10vh}
.ambient-light::after{right:-35vw;bottom:-15vh;background:radial-gradient(ellipse,#83c9cf30,transparent 68%);animation-delay:-14s}
.cta{position:relative;isolation:isolate}
.cta::before,.cta::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:720px;height:420px;border:1px solid #d0f5f522;border-radius:46% 54% 58% 42%;right:-150px;top:-250px;box-shadow:0 0 0 22px #d0f5f508,0 0 0 45px #d0f5f508,0 0 0 68px #d0f5f508;animation:sea-contours 24s ease-in-out infinite alternate}
.cta::after{top:auto;bottom:-340px;right:10%;animation-delay:-12s;opacity:.65}
@keyframes light-drift{to{transform:translate(7vw,-5vh) scale(1.12)}}
@keyframes sea-contours{to{transform:translate(-35px,24px) rotate(12deg)}}
.motion-paused::before,.motion-paused::after,.motion-paused *{animation-play-state:paused!important}
@media(max-width:800px){.ambient-light::before,.ambient-light::after{width:100vw;opacity:.65}.cta::before,.cta::after{opacity:.5}}
@media(prefers-reduced-motion:reduce){.ambient-light{display:none}.cta::before,.cta::after{animation:none!important}}

/* Location card: native, sharp map with its attribution intact. */
.location-card{min-width:0;background:#fff;border:1px solid #e6ece8;border-radius:30px;overflow:hidden;box-shadow:0 16px 45px #123d6810}
.location-heading{display:flex;align-items:center;gap:15px;padding:23px 26px;background:#f2f5e9}
.location-heading .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:6px}
.location-heading h3{margin:0;font-family:inherit;font-size:22px}
.location-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:16px;background:#fff;color:#d87943;font-size:32px}
.location-map{display:block;width:100%;height:390px;border:0;background:#edf3e9}
.location-details{padding:23px 26px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.location-details>div{flex:1 1 200px}
.location-details strong{font-size:16px;line-height:1.5}
.location-details p{margin:5px 0 0;font-size:13px;color:var(--muted)}
.location-details .btn{font-size:12px;white-space:nowrap}
.location-link{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.location-card{border-radius:24px}.location-heading,.location-details{padding:20px}.location-map{height:340px}.location-details .btn{width:100%;justify-content:center}}
.location-details>div{flex-basis:100%}.location-details .location-link{margin-left:auto}@media(max-width:800px){.location-details .location-link{margin-left:0}}

/* Remove the illustrative sun and contour rings. */
.holiday-stamp,.ambient-light{display:none!important}
.cta::before,.cta::after{content:none!important;animation:none!important}
.location-map-link{display:block;position:relative;background:#edf2ed}
.location-guide{display:block;width:100%;height:auto}
.location-map-link>span{display:block;padding:12px 20px;text-align:right;font-size:12px;color:#103b68;background:#f3f6f3}

/* Atmospheric motion lives in the backgrounds, never over photos or text. */
body{
 background-color:#fffbf4;
 background-image:radial-gradient(ellipse at 8% 22%,#efd49d65 0%,transparent 42%),radial-gradient(ellipse at 92% 70%,#a8d7d44d 0%,transparent 43%);
 background-size:160% 160%;
 background-attachment:fixed;
 animation:daylight-flow 18s ease-in-out infinite alternate;
}
.cta{
 background-image:linear-gradient(115deg,#073c72 0%,#105a86 32%,#247f91 58%,#0b497d 82%,#073c72 100%);
 background-size:250% 200%;
 animation:tide-flow 14s ease-in-out infinite alternate;
}
.tinted{
 background-image:linear-gradient(115deg,#f2f5e9,#edf4ec,#e3efea,#f2f5e9);
 background-size:250% 100%;
 animation:tide-flow 20s ease-in-out infinite alternate;
}
@keyframes daylight-flow{from{background-position:0% 15%,100% 85%}to{background-position:100% 80%,0% 15%}}
@keyframes tide-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
body.motion-paused,.motion-paused .cta,.motion-paused .tinted{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body,.cta,.tinted{animation:none!important;background-attachment:scroll}}

/* Visible sunlight: broad feathered rays and soft optical highlights. */
.ambient-light{display:block!important;z-index:-1;inset:-12%;opacity:1}
.ambient-light::before{
 content:"";position:absolute;inset:-25%;width:auto;height:auto;border-radius:0;
 background:conic-gradient(from 125deg at 12% -8%,transparent 0deg,#ffe3a57a 8deg,transparent 17deg,#fff8dfcc 24deg,transparent 31deg,#f5cf7770 40deg,transparent 49deg,#fff9dfaa 58deg,transparent 67deg);
 filter:blur(18px);transform-origin:12% 0%;
 animation:sunrays-sweep 12s ease-in-out infinite alternate;
}
.ambient-light::after{
 content:"";position:absolute;inset:0;width:100%;height:100%;border-radius:0;
 background:radial-gradient(ellipse 16% 24% at 24% 38%,#fff6cee0,transparent 75%),radial-gradient(ellipse 12% 18% at 72% 68%,#ffe0a685,transparent 75%),radial-gradient(ellipse 7% 11% at 50% 48%,#ffffffc4,transparent 75%);
 filter:blur(12px);animation:sunlight-glide 10s ease-in-out infinite alternate;
}
body{animation:none;background-image:linear-gradient(120deg,#fff9ee,#faf7ed 50%,#eff6f1)}
@keyframes sunrays-sweep{0%{transform:rotate(-9deg) translateX(-4%);opacity:.4}100%{transform:rotate(10deg) translateX(7%);opacity:.95}}
@keyframes sunlight-glide{0%{transform:translate(-9%,-5%);opacity:.35}100%{transform:translate(11%,8%);opacity:.9}}
@media(max-width:800px){.ambient-light::before{opacity:.8;filter:blur(12px)}.ambient-light::after{opacity:.8}}
@media(prefers-reduced-motion:reduce){.ambient-light{display:none!important}}
