@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-600.woff2") format("woff2");font-weight:600;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-400.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-600.woff2") format("woff2");font-weight:600;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-700.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--ink:#073552;--ink-dark:#032b45;--sea:#4d8fa4;--foam:#ddecef;--sand:#fff9ef;--paper:#fffdf8;--sun:#b2ac88;--coral:#b2ac88;--accent-dark:#8f8862;--text:#173b4d;--muted:#58717d;--shadow:0 12px 32px rgba(7,53,82,.11);--display:"Cormorant Garamond",Georgia,serif;--body:"Source Sans 3",system-ui,sans-serif;--shell:min(1200px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--text);font:400 1.0625rem/1.65 var(--body);overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,a{touch-action:manipulation}h1,h2,h3{margin:0;color:var(--ink);font-family:var(--display);font-weight:600;line-height:1.02}h1{font-size:clamp(4rem,7vw,7.2rem)}h2{font-size:clamp(2.5rem,4.2vw,4.25rem)}h3{font-size:clamp(1.6rem,2vw,2rem)}p{margin:0 0 1.4em}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute!important;width:1px}.skip-link{position:fixed;z-index:9999;left:1rem;top:1rem;transform:translateY(-180%);padding:.8rem 1.2rem;background:#fff;color:var(--ink)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline:3px solid var(--sun);outline-offset:3px}.section-shell{width:var(--shell);margin-inline:auto;padding-block:clamp(5rem,9vw,8rem)}.eyebrow{margin:0 0 1rem;color:var(--coral);font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.lead{max-width:54ch;font-size:clamp(1.15rem,2vw,1.4rem)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.75rem;border:0;border-radius:6px;background:var(--coral);color:var(--ink-dark);padding:.8rem 1.5rem;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:background .18s ease,transform .18s ease}.button:hover{background:var(--accent-dark);transform:translateY(-2px)}.button-coral{background:var(--coral);box-shadow:0 6px 0 rgba(143,136,98,.24)}.button-coral:hover{background:var(--accent-dark)}.button-light{background:#fff;color:var(--ink)}.text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--coral);font-size:.88rem;font-weight:700;letter-spacing:.08em;text-decoration-thickness:2px;text-transform:uppercase}.site-header{position:relative;z-index:100;background:rgba(255,249,239,.96);border-bottom:1px solid rgba(7,53,82,.08)}.header-inner{width:min(1320px,calc(100% - 48px));min-height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img,.custom-logo{width:190px;max-height:68px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:1.6rem}.site-nav ul{display:flex;align-items:center;gap:1.8rem;margin:0;padding:0;list-style:none}.site-nav a{text-decoration:none;font-size:.95rem;font-weight:600}.site-nav .menu a:hover{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px}.header-booking{font-size:.78rem}.menu-toggle,.menu-close{display:none}.hero{position:relative;min-height:min(790px,82vh);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1.15fr);align-items:center;padding:clamp(4rem,7vw,7rem) max(24px,calc((100% - 1200px)/2));background:radial-gradient(circle at 14% 25%,#fff 0,transparent 35%),var(--sand)}.hero:after{content:"";position:absolute;right:-6%;bottom:-70px;width:56%;height:130px;background:var(--sand);border-radius:50% 50% 0 0/65% 65% 0 0;transform:rotate(-4deg)}.hero-copy{position:relative;z-index:2;max-width:590px}.hero h1{max-width:7ch}.hero h1::first-line{color:var(--ink)}.hero-lead{max-width:34ch;margin:1.5rem 0 2rem;font-size:1.25rem}.hero-art{width:min(760px,54vw);justify-self:end;filter:drop-shadow(0 18px 24px rgba(7,53,82,.08))}.quick-facts{position:relative;z-index:3;width:var(--shell);margin:-72px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.quick-facts>div{min-height:132px;padding:1.5rem;display:flex;align-items:center;gap:1rem;background:rgba(255,253,248,.96);border:1px solid rgba(7,53,82,.08);border-radius:14px;box-shadow:var(--shadow)}.quick-facts b{color:var(--coral);font:600 2.5rem/1 var(--display)}.quick-facts strong,.quick-facts small{display:block}.quick-facts strong{font:600 1.3rem/1.1 var(--display);color:var(--ink)}.quick-facts small{margin-top:.4rem;color:var(--muted)}.intro{max-width:850px;text-align:center}.intro .lead{margin:1.5rem auto 0}.intro h2:after,.experiences h2:after{content:"~~~~";display:block;margin:.25rem auto 0;color:var(--sea);font:400 1.5rem/1 var(--body);letter-spacing:-.25em}.rooms-section{position:relative;background:var(--ink-dark);color:#fff;clip-path:polygon(0 4%,16% 0,52% 3%,84% 0,100% 5%,100% 96%,82% 100%,48% 97%,17% 100%,0 95%)}.rooms-grid{display:grid;grid-template-columns:minmax(0,.95fr) repeat(3,minmax(0,1fr));gap:2rem;align-items:stretch;padding-block:9rem}.rooms-section h2,.rooms-section h3{color:#fff}.section-intro{padding-right:1rem}.section-intro p:not(.eyebrow){max-width:34ch}.rooms-section .text-link{color:var(--sun)}.room-card{overflow:hidden;display:flex;flex-direction:column;background:var(--paper);color:var(--text);border-radius:28px 28px 10px 10px;box-shadow:0 28px 48px rgba(0,0,0,.2);transform:rotate(-2deg)}.room-card.card-tilt{transform:rotate(2deg)}.room-card.room-card-wide{transform:rotate(-1deg)}.room-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.room-card>div{display:flex;min-height:100%;flex-direction:column;padding:1.6rem}.room-card h3{color:var(--ink);font-size:2.1rem}.room-card p{margin-bottom:1rem}.room-card .eyebrow{margin-bottom:.25rem;color:var(--sea)}.room-card .text-link{margin-top:auto;color:var(--coral)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-heading h2:after{margin-left:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.experience-card{overflow:hidden;background:var(--paper);border:1px solid rgba(7,53,82,.08);border-radius:90px 28px 18px 18px;box-shadow:0 8px 26px rgba(7,53,82,.06)}.experience-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .3s ease}.experience-card:hover img{transform:scale(1.025)}.experience-card div{padding:1.5rem}.experience-card p{margin:.45rem 0 0}.offers{padding-top:2rem}.offer-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.5rem}.offer-grid article{position:relative;min-height:230px;padding:2.5rem 3rem;background:linear-gradient(115deg,#c8c3a8,var(--sun));border-radius:42px 14px 42px 14px}.offer-grid article+article{background:var(--paper);border:1px solid rgba(7,53,82,.1)}.offer-grid span{float:left;margin-right:2rem;color:#fff;font-size:4rem}.offer-grid h3{font-size:2.3rem}.offer-grid a{font-weight:700;color:var(--ink)}.quote-band{padding:4.5rem 24px;background:var(--coral);color:var(--ink-dark);clip-path:polygon(0 8%,14% 3%,40% 6%,68% 1%,100% 7%,100% 93%,76% 97%,45% 94%,17% 99%,0 92%)}.quote-band blockquote{width:min(900px,100%);margin:auto;text-align:center}.quote-band p{margin:0;font:600 clamp(2rem,4vw,3.6rem)/1.08 var(--display)}.quote-band cite{display:block;margin-top:1rem;font-style:normal}.hosts{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.hosts img{border-radius:42% 58% 52% 48%/46% 42% 58% 54%;box-shadow:var(--shadow)}.booking-close{position:relative;z-index:2;width:min(1120px,calc(100% - 48px));margin:0 auto -56px;padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--ink);color:#fff;border:2px solid var(--coral);border-radius:28px}.booking-close h2{color:#fff;font-size:clamp(2rem,3vw,3rem)}.booking-close p{margin:0}.site-footer{padding:9rem max(24px,calc((100% - 1200px)/2)) 2rem;background:#042f4b;color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem}.footer-grid h2{margin-bottom:1rem;color:var(--sun);font:700 .8rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid a{display:inline-flex;min-height:38px;align-items:center}.footer-brand img{width:190px}.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);font-size:.85rem}.mobile-booking{display:none}.page-shell{width:var(--shell);min-height:60vh;margin:auto;padding:6rem 0}.content-card{max-width:820px;margin:auto}.content-card h1{font-size:clamp(3rem,6vw,5rem)}.breadcrumbs{margin-bottom:3rem}.entry-content>*{max-width:100%}.entry-content a{text-decoration-thickness:2px}
@media(max-width:1023px){:root{--shell:min(100% - 40px,900px)}.header-inner{width:calc(100% - 32px);min-height:76px}.brand img,.custom-logo{width:165px}.menu-toggle{display:grid;width:48px;height:48px;padding:0;border:2px solid var(--ink);border-radius:50%;background:transparent;place-items:center}.menu-toggle:before,.menu-toggle:after,.menu-toggle span:first-child{content:"";grid-area:1/1;width:22px;height:2px;background:var(--ink)}.menu-toggle:before{transform:translateY(-7px)}.menu-toggle:after{transform:translateY(7px)}.site-nav{display:none;position:fixed;inset:76px 0 0;z-index:200;padding:5rem 2rem 2rem;background:var(--ink-dark);color:#fff;overflow:auto}.site-nav.is-open{display:block}.site-nav ul{display:block}.site-nav li{border-bottom:1px solid rgba(255,255,255,.16)}.site-nav .menu a{display:flex;min-height:58px;align-items:center;font:600 1.65rem var(--display)}.menu-close{display:grid;position:absolute;right:1.2rem;top:1rem;width:48px;height:48px;border:1px solid #fff;border-radius:50%;background:transparent;color:#fff;font-size:2rem;place-items:center}.header-booking{width:100%;margin-top:2rem;background:var(--coral)}.hero{min-height:720px;grid-template-columns:.9fr 1.1fr;padding-inline:40px}.hero h1{font-size:5rem}.quick-facts{grid-template-columns:repeat(2,1fr);margin-top:-44px}.rooms-grid{grid-template-columns:1fr 1fr}.section-intro{grid-column:1/-1}.room-card.room-card-wide{grid-column:1/-1;transform:none}.card-grid{gap:1rem}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:639px){:root{--shell:calc(100% - 32px)}body{font-size:1rem;padding-bottom:68px}h2{font-size:2.6rem}.section-shell{padding-block:4.8rem}.hero{min-height:calc(100svh - 76px);display:block;padding:3.8rem 24px 9rem;background:linear-gradient(#fffaf2 0%,#fff8ed 70%,#f4e9d4 100%)}.hero-copy{z-index:3}.hero h1{font-size:clamp(4rem,18vw,5.7rem);line-height:.88}.hero-lead{max-width:22ch;font-size:1.18rem}.hero-art{position:absolute;right:-28%;bottom:0;width:105%;opacity:.84}.hero:after{width:115%;right:-10%;bottom:-72px}.quick-facts{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:-38px}.quick-facts>div{min-height:128px;padding:1rem;align-items:flex-start}.quick-facts b{font-size:2rem}.quick-facts strong{font-size:1.15rem}.quick-facts small{font-size:.82rem}.intro{text-align:left}.intro h2:after{margin-left:0}.rooms-section{clip-path:polygon(0 2%,25% 0,60% 2%,100% 0,100% 98%,75% 100%,35% 98%,0 100%)}.rooms-grid{display:block;padding-block:6rem}.room-card,.room-card.card-tilt{display:grid;grid-template-columns:38% 62%;margin-top:1rem;border-radius:18px;transform:none}.room-card img{height:100%;aspect-ratio:auto}.room-card>div{padding:1rem}.room-card h3{font-size:1.65rem}.room-card p{font-size:.86rem;line-height:1.4}.room-card .text-link{font-size:.7rem}.section-heading{display:block;margin-bottom:1.5rem}.section-heading>.text-link{margin-top:1rem}.card-grid{grid-template-columns:repeat(3,1fr);gap:.65rem}.experience-card{border-radius:44px 18px 14px 14px}.experience-card div{padding:.8rem}.experience-card h3{font-size:1.15rem;text-align:center}.experience-card p{font-size:.76rem;line-height:1.3;text-align:center}.offer-grid{grid-template-columns:1fr}.offer-grid article{min-height:0;padding:1.5rem;border-radius:22px}.offer-grid span{font-size:2.5rem}.offer-grid h3{font-size:1.9rem}.quote-band{padding-block:3rem}.hosts{grid-template-columns:1fr;gap:2rem}.hosts img{order:-1}.booking-close{width:calc(100% - 32px);margin-bottom:-36px;padding:1.5rem;display:block}.booking-close .button{width:100%;margin-top:1rem}.site-footer{padding-top:7rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1/-1}.mobile-booking{position:fixed;z-index:300;left:0;right:0;bottom:0;min-height:68px;padding:.65rem 1.25rem calc(.65rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--coral);color:#fff;text-decoration:none;box-shadow:0 -5px 20px rgba(7,53,82,.2)}.mobile-booking span,.mobile-booking small{grid-column:1}.mobile-booking span{font-weight:700}.mobile-booking small{font-size:.75rem}.mobile-booking b{grid-column:2;grid-row:1/3;font-size:1.6rem}.page-shell{padding:4rem 0}.footer-bottom{padding-bottom:1rem}}
@media(max-width:359px){.quick-facts{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr}.experience-card{display:grid;grid-template-columns:40% 60%;border-radius:18px}.footer-grid{grid-template-columns:1fr}.hero h1{font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* UX acceptance refinements. */
.section-shell{padding-block:clamp(4rem,6.5vw,6.5rem)}
.hero{min-height:min(680px,75vh);padding-block:clamp(3rem,5vw,5.5rem)}
.rooms-grid{padding-block:7rem}
.text-link,.offer-grid a{gap:.65rem}
.offer-grid a{display:inline-flex;align-items:center}
.link-arrow{position:relative;display:inline-block;flex:0 0 1.15rem;width:1.15rem;height:.75rem}
.link-arrow:before{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;background:currentColor;transform:translateY(-50%)}
.link-arrow:after{content:"";position:absolute;right:0;top:50%;width:.45rem;height:.45rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.fact-icon{position:relative;flex:0 0 2.7rem;width:2.7rem;height:2.7rem;border:2px solid currentColor;border-radius:50%;color:var(--coral)}
.fact-image{flex:0 0 3.375rem;width:3.375rem;height:3.375rem;object-fit:contain}
.fact-icon:before,.fact-icon:after{content:"";position:absolute}
.fact-room:before{left:.48rem;top:1rem;width:1.72rem;height:.62rem;border:2px solid currentColor;border-radius:.22rem}
.fact-room:after{left:.7rem;top:.62rem;width:1.28rem;height:.52rem;border:2px solid currentColor;border-bottom:0;border-radius:.3rem .3rem 0 0}
.fact-balcony:before{left:.56rem;top:.6rem;width:1.58rem;height:1.02rem;border:2px solid currentColor;border-bottom:0;border-radius:.18rem .18rem 0 0}
.fact-balcony:after{left:.68rem;bottom:.48rem;width:1.34rem;height:.62rem;border-top:2px solid currentColor;border-bottom:2px solid currentColor;box-shadow:-.46rem 0 0 -1px currentColor,.46rem 0 0 -1px currentColor}
.fact-kitchen:before{left:.72rem;top:.52rem;width:1.24rem;height:1.5rem;border:2px solid currentColor;border-radius:.18rem}
.fact-kitchen:after{left:1.1rem;top:.8rem;width:.48rem;height:.12rem;background:currentColor;box-shadow:0 .46rem 0 currentColor,0 .92rem 0 currentColor}
.fact-checkin:before{left:.72rem;top:.58rem;width:1.14rem;height:1.14rem;border:2px solid currentColor;border-radius:50%}
.fact-checkin:after{left:1.14rem;top:.8rem;width:.62rem;height:.92rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(38deg)}
.offer-icon{position:relative;float:left;width:3.4rem;height:3.4rem;margin-right:2rem;color:#fff;border:2px solid currentColor;border-radius:50%}
.offer-sun:before{content:"";position:absolute;inset:.75rem;border:2px solid currentColor;border-radius:50%}
.offer-wave:before,.offer-wave:after{content:"";position:absolute;left:.55rem;width:2.1rem;height:.55rem;border-top:2px solid currentColor;border-radius:50%}
.offer-wave:before{top:1rem}.offer-wave:after{top:1.75rem}
@media(max-width:639px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  h2{font-size:2.45rem}
  .section-shell{padding-block:3.75rem}
  .hero{min-height:620px;padding:3rem 24px 8rem}
  .quick-facts>div{min-width:0;min-height:118px}
  .fact-image{flex-basis:2.8rem;width:2.8rem;height:2.8rem}
  .fact-icon{flex-basis:2.25rem;width:2.25rem;height:2.25rem}
  .quick-facts strong{font-size:1.05rem}.quick-facts small{font-size:.78rem}
  .rooms-grid{padding-block:5rem}
  .room-card,.room-card.card-tilt{grid-template-columns:minmax(108px,36%) minmax(0,64%)}
  .room-card>div{min-width:0}
  .room-card .text-link{font-size:.66rem;letter-spacing:.04em}
  .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .experience-card{min-width:0}.experience-card div{padding:.8rem .55rem}.experience-card h3{font-size:1.1rem}.experience-card p{font-size:.72rem}
  .offer-icon{width:2.8rem;height:2.8rem;margin-right:1rem}
  .mobile-booking{padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}
}
@media(max-width:359px){
  :root{--shell:calc(100% - 24px)}
  .hero{padding-inline:18px}.hero h1{font-size:3.55rem}
  .quick-facts{grid-template-columns:1fr 1fr;gap:.5rem}.quick-facts>div{padding:.75rem}.quick-facts strong{font-size:.96rem}.quick-facts small{font-size:.72rem}
  .room-card,.room-card.card-tilt{grid-template-columns:102px minmax(0,1fr)}.room-card>div{padding:.8rem}.room-card h3{font-size:1.45rem}
  .card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.experience-card{display:block}.experience-card div{padding:.65rem .35rem}.experience-card h3{font-size:.96rem}.experience-card p{font-size:.66rem}
  .footer-grid{grid-template-columns:1fr}.booking-close,.site-footer{overflow-wrap:anywhere}
}

/* Follow-up layout/content corrections for GEEAAA-105. */
.rooms-grid{grid-template-columns:minmax(0,.9fr) repeat(3,minmax(0,.88fr));gap:1.35rem;padding-block:8rem}
.room-card{border-radius:24px 24px 10px 10px;box-shadow:0 20px 36px rgba(0,0,0,.18);transform:rotate(-1.25deg)}
.room-card.card-tilt{transform:rotate(1.25deg)}
.room-card.room-card-wide{transform:rotate(-.75deg)}
.room-card img{aspect-ratio:5/4}
.room-card>div{padding:1.15rem 1.15rem 1.25rem}
.room-card h3{font-size:1.72rem;line-height:1.04}
.room-card p{margin-bottom:.85rem;font-size:.94rem;line-height:1.5}
.room-card .eyebrow{margin-bottom:.2rem;font-size:.72rem}
.room-card .text-link{font-size:.76rem;letter-spacing:.05em}
.site-footer{background:#063551}
.footer-logo{display:inline-flex;align-items:center;justify-content:center;min-height:88px;padding:.9rem 1.1rem;background:rgba(255,249,239,.96);border-radius:20px;box-shadow:0 12px 24px rgba(0,0,0,.16)}
.footer-logo img,.footer-logo .custom-logo{width:auto;max-width:190px;max-height:62px;object-fit:contain}
.offer-box{padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(135deg,#fffdf8 0%,#f4ead7 100%);border:1px solid rgba(7,53,82,.1);border-radius:24px;box-shadow:var(--shadow)}
.offer-box .section-heading{margin-bottom:2rem}
.offer-grid{gap:0;background:#fff;border:1px solid rgba(7,53,82,.08);border-radius:18px;overflow:hidden}
.offer-grid article{border-radius:0;box-shadow:none}
.offer-grid article+article{border-width:0 0 0 1px}
.page-image-gallery,.page-image-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1.2rem;margin:2.5rem 0 .5rem}
.page-image-gallery figure,.page-image-pair figure{margin:0;overflow:hidden;background:var(--paper);border:1px solid rgba(7,53,82,.08);border-radius:18px;box-shadow:0 8px 24px rgba(7,53,82,.08)}
.page-image-gallery img,.page-image-pair img{width:100%;aspect-ratio:4/3;object-fit:cover}

@media(max-width:639px){
  .room-card,.room-card.card-tilt{grid-template-columns:minmax(108px,36%) minmax(0,64%)}
  .offer-box{padding:1rem;border-radius:18px}
  .offer-grid{display:block}
  .offer-grid article+article{border-width:1px 0 0}
  .page-image-gallery,.page-image-pair{grid-template-columns:1fr;gap:1rem}
}
