@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Great+Vibes&family=Playfair+Display:wght@400;500;600&display=swap');:root{--blue:#436d85;--navy:#234154;--cream:#faf7f1;--text:#273642;--paper:#f6eee5;--plum:#783e61}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{height:110px;background:#f9f5ee;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100% - 1350px)/2));gap:22px}.logo{display:flex;align-items:center;gap:16px;min-width:350px}.logo-flower{font-size:45px;color:#a18ca7}.logo strong{display:block;font-family:'Great Vibes',cursive;font-size:46px;font-weight:400;line-height:.95;color:#162b39;white-space:nowrap}.logo small{display:block;font:15px Georgia,serif;letter-spacing:.3em;text-align:center}.logo i{display:block;font-size:8px;font-style:normal;letter-spacing:.33em;margin-top:8px;text-align:center}.nav-links{display:flex;gap:25px;align-items:center;font-size:12px;white-space:nowrap}.nav-links>a:not(.nav-cta):hover{color:var(--blue)}.nav-cta,.btn{background:var(--blue);color:white;border:0;border-radius:4px;padding:15px 24px;font-size:11px;font-weight:700;letter-spacing:.1em;display:inline-block}.hamburger{display:none;background:none;border:0;color:var(--navy)}.main-hero{min-height:410px;position:relative;color:white;display:flex;align-items:center;background:linear-gradient(90deg,rgba(12,30,41,.78),rgba(12,30,41,.22) 65%),linear-gradient(0deg,rgba(30,43,48,.25),transparent),url('images/sunset-concept.jpg') center 53%/cover}.hero-content{max-width:1350px;width:100%;margin:auto;padding:48px 30px}.hero-content h1{font:normal clamp(42px,4vw,63px) Georgia,serif;margin:0 0 4px}.handwritten,.script-title{font-family:'Great Vibes',cursive}.handwritten{font-size:37px;margin:4px 0 18px}.hero-description{font-size:15px;line-height:1.8;max-width:380px;margin-bottom:21px}.hero-note{position:absolute;right:5%;bottom:30px;background:#f5ede1;box-shadow:0 5px 12px #0004;transform:rotate(-5deg);padding:20px 30px;color:#2d383e;font-family:'Great Vibes',cursive;font-size:27px;line-height:1.25}.home-cards{max-width:1350px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:22px 30px 30px}.home-card{background:white;box-shadow:0 4px 18px #0001}.card-image{height:205px;display:block;background:#c2cbc9;position:relative;overflow:hidden}.card-image img{height:100%;width:100%;object-fit:cover}.photo-fallback{display:none}.img-missing .photo-fallback{display:block;position:absolute;top:42%;left:0;right:0;text-align:center}.card-text{text-align:center;padding:13px 14px 17px}.card-text h3{font:normal 29px Georgia,serif;margin:0}.card-text p{font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:10px 0 14px}.card-text a{font-size:11px;letter-spacing:.08em}.family-panel{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;background:#f3e9dd}.family-story{padding:43px max(26px,calc((100vw - 1350px)/2)) 50px max(30px,calc((100vw - 1320px)/2))}.script-title{font-weight:400;font-size:54px;margin:0 0 6px}.family-story p,.booking-panel p{font-size:13px;line-height:1.85}.muted{margin-top:8px}.coastal-note{display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:270px;background:linear-gradient(#f7efe0be,#f7efe0be),url('images/beach-concept.jpg') center/cover}.coastal-note p{font-family:'Great Vibes',cursive;font-size:43px;line-height:1.22;margin-bottom:6px}.coastal-note span{letter-spacing:.18em;font-size:9px}.booking-panel{padding:45px 50px;background:#284f65;color:white}.booking-panel h2{font:normal 37px Georgia,serif;margin:0}.pale{background:#ecf3f5;color:#17394d}.below-section{max-width:800px;padding:75px 25px;margin:auto;text-align:center}.below-section h2,.property-details h2,.amenities h2{font:normal 39px Georgia,serif}.below-section>p:not(.overline){line-height:1.8}.overline,.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:#a87d70}.guest{padding-top:10px}.inline{text-decoration:underline;text-underline-offset:5px}.contact-strip{text-align:center;padding:22px;background:#e8e3da;font-size:13px}.contact-strip a{text-decoration:underline}.footer{background:#213b4b;color:#f4f0e8;padding:42px 35px 18px}.footer-inner{max-width:1250px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:30px}.footer-inner>div{display:flex;flex-direction:column;gap:10px;font-size:12px}.footer-inner b{font-size:10px;letter-spacing:.15em}.footer-inner p{max-width:285px}.footer-logo{font:40px 'Great Vibes',cursive}.copyright{text-align:center;border-top:1px solid #ffffff24;padding-top:18px;margin-top:35px;font-size:11px}.property-page{--accent:#637f8c}.property-page.pad{--accent:#874660}.property-page.quarters{--accent:#2f5c75}.property-hero{height:460px;position:relative;background:linear-gradient(115deg,#dcc5ad,#8fa9b4);overflow:hidden}.property-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.property-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7f2eaf2,#f7f2eaab 41%,transparent 85%)}.property-hero-copy{position:relative;z-index:1;width:min(1260px,calc(100% - 50px));height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.property-emblem{color:var(--accent);font-size:36px}.property-hero h1{font:normal clamp(39px,4.5vw,66px) Georgia,serif;margin:10px 0;color:#202d3b}.property-tag{font-size:11px;text-transform:uppercase;letter-spacing:.2em;margin:0}.property-script{font:34px 'Great Vibes',cursive;color:var(--accent);margin:23px 0}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.property-page .btn{background:var(--accent)}.btn.outline{background:#ffffffd9;color:#243a45;border:1px solid #6f8387}.property-overview{padding:23px 6%;display:flex;justify-content:space-between;gap:25px;background:#fff;align-items:center}.property-overview p{font-size:13px;letter-spacing:.05em}.property-overview a{font-size:11px}.property-details{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding:78px 28px}.property-details p:not(.overline){font-size:15px;line-height:1.8}.property-photo-wrap{position:relative;background:#b7c6c9;min-height:290px}.property-photo-wrap img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.property-photo-wrap span{position:absolute;bottom:8px;right:8px;color:white;background:#142b3bbb;font-size:9px;padding:5px}.amenities{background:#f0ebe3;text-align:center;padding:64px 22px}.amenities ul{max-width:820px;margin:30px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;list-style:none;padding:0}.amenities li{background:white;padding:17px 8px;font-size:13px}.property-book{text-align:center;background:#d9e3e6;padding:70px 20px}.property-book h2{font:normal 42px Georgia,serif;margin:0}.property-book p{font-size:13px;margin:16px 0 24px}.booking-heading{text-align:center;background:#efe4d7;padding:75px 25px}.booking-heading h1{font:normal 54px Georgia,serif;margin:5px}.booking-heading>p:last-child{max-width:610px;margin:18px auto 0;line-height:1.8;font-size:14px}.book-layout{max-width:1050px;margin:70px auto;display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding:0 25px}.booking-context h2{font:normal 42px Georgia,serif}.booking-context p{line-height:1.8}.small-warning{background:#eee5d9;padding:17px;font-size:13px}#booking-form{background:white;padding:30px;box-shadow:0 5px 28px #213b4b1a}#booking-form label{font-size:12px;font-weight:600;display:block;margin-bottom:16px}#booking-form input,#booking-form select,#booking-form textarea{width:100%;margin-top:7px;padding:12px;background:#faf9f6;border:1px solid #ccd3d1}#booking-form .fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-button{width:100%}.form-caption{font-size:11px;color:#646b70}@media(max-width:1020px){.site-header{height:auto;min-height:92px;padding:12px 22px}.nav-links{gap:14px;font-size:11px}.logo{min-width:240px}.logo strong{font-size:35px}.logo small{font-size:10px}.logo-flower{font-size:32px}.family-panel{grid-template-columns:1fr 1fr}.booking-panel{grid-column:1/-1}.family-story{padding:38px}.coastal-note{min-height:260px}}@media(max-width:760px){.site-header{height:85px}.hamburger{display:block}.nav-links{display:none;position:absolute;z-index:20;top:85px;left:0;right:0;flex-direction:column;background:#faf7f1;padding:25px;box-shadow:0 12px 20px #0002;align-items:flex-start}.nav-links.open{display:flex}.logo{min-width:0}.logo strong{font-size:34px}.logo small{font-size:10px}.logo i{font-size:7px}.main-hero{min-height:425px}.hero-note{display:none}.home-cards{grid-template-columns:1fr;padding:18px;gap:20px}.card-image{height:245px}.family-panel{grid-template-columns:1fr}.coastal-note{min-height:240px}.booking-panel{grid-column:auto}.footer-inner{grid-template-columns:1fr}.property-hero{height:490px}.property-hero:after{background:linear-gradient(90deg,#f7f2eaf0,#f7f2ea65)}.property-details{grid-template-columns:1fr;gap:25px;padding:55px 22px}.property-photo-wrap{height:275px}.amenities ul{grid-template-columns:repeat(2,1fr)}.book-layout{grid-template-columns:1fr;gap:20px;margin:40px auto}.property-overview{flex-direction:column;align-items:flex-start;gap:0}}@media(max-width:420px){.logo strong{font-size:29px}.logo-flower{font-size:25px}.logo i{display:none}.hero-content h1{font-size:41px}.handwritten{font-size:33px}.hero-description{font-size:13px}.property-hero h1{font-size:40px}}
/* Approved homepage reference: restrained textured palette and locally packaged preview imagery. */
.main-hero{background-position:center,center,center 46%;background-size:cover,cover,cover}.main-hero::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:15px;background:#faf7f1;clip-path:polygon(0 55%,4% 34%,12% 75%,21% 32%,35% 65%,50% 25%,67% 68%,80% 26%,92% 63%,100% 40%,100% 100%,0 100%)}.hero-content{position:relative;z-index:1}.card-image img{transition:transform .4s}.home-card:hover .card-image img{transform:scale(1.035)}.site-header{position:relative;z-index:5}.property-hero{background-size:cover}.preview-note{display:block;margin:0;padding:9px 18px;text-align:center;color:#47555d;background:#f1e6d8;font:12px "DM Sans",sans-serif;letter-spacing:.02em}.preview-note a{text-decoration:underline}

.real-gallery{text-align:center;padding:60px 30px 70px;max-width:1270px;margin:auto}.real-gallery h2{font:normal 40px Georgia,serif;margin:12px}.real-gallery>p:not(.overline){font-size:14px;margin-bottom:26px}.real-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.real-gallery-grid a{display:block;aspect-ratio:4/3;overflow:hidden;background:#eee8e1}.real-gallery-grid img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.real-gallery-grid a:hover img{transform:scale(1.05)}@media(max-width:760px){.real-gallery-grid{grid-template-columns:repeat(2,1fr)}.real-gallery{padding:40px 18px}}

.real-gallery-grid img{object-position:center}.property-photo-wrap span{display:none}.real-gallery-grid a:focus-visible{outline:3px solid #356583;outline-offset:3px}


/* Fix oversized property gallery images */
.real-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  max-width: 1200px !important;
  margin: 25px auto !important;
}

.real-gallery-grid a {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3;
}

.real-gallery-grid img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 800px) {
  .real-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

