/* Full-bleed photography and a softer coastal finish. */
.hero{min-height:650px;height:clamp(650px,82svh,900px);isolation:isolate;overflow:hidden;align-items:center}
.hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;z-index:-1}
.hero .hero-image{inset:0;width:100%;height:100%}
.hero .hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,40,.79) 0%,rgba(8,32,40,.51) 34%,rgba(8,32,40,.08) 70%),linear-gradient(0deg,rgba(8,32,40,.32),transparent 40%);pointer-events:none}
.hero .hero-copy{position:relative;width:100%;max-width:800px;padding:50px 45px 90px max(40px,calc((100vw - 1216px)/2));align-self:center;z-index:1}
.hero h1{font-size:clamp(62px,6.25vw,100px);line-height:1.06;letter-spacing:-.055em;text-shadow:0 2px 24px #08202825;margin-bottom:28px}
.hero .eyebrow{display:flex;align-items:center;gap:15px;color:#f3dfb6;margin-bottom:28px}
.hero .eyebrow::before{content:"";display:block;width:38px;height:1px;background:currentColor;flex-shrink:0}
.hero .hero-intro{color:white;font-size:17px;line-height:1.85;max-width:400px}
.hero .hero-note{color:#f0eee6;font-size:11px}
.hero .sand-button .wp-block-button__link{padding:18px 28px;box-shadow:0 5px 24px #08202826}
.hero .photo-caption{z-index:1;bottom:57px;right:40px;background:transparent;border-top:1px solid #ffffff90;padding:12px 0 0;color:white;letter-spacing:2px;text-shadow:0 1px 6px #082028}
.hero::after{content:"";position:absolute;z-index:2;bottom:-33px;left:-5%;height:66px;width:110%;border-radius:50% 50% 0 0;background:var(--paper);pointer-events:none}
.intro::before{content:"≋";display:block;font:60px/.8 Georgia;color:#b59158;margin-bottom:30px}
.intro{padding-top:75px}
.rooms-section>.container,.explore-section>.container{max-width:1600px;padding-left:48px;padding-right:48px}
.room-photo{overflow:hidden}
.room-photo img{aspect-ratio:1.45;transition:transform .5s ease}
.room-card:hover .room-photo img{transform:scale(1.025)}
.room-copy{border-bottom:3px solid #d9c39b}
.room-number{color:#c6b797;font-style:italic}
.place-card figure{overflow:hidden}
.place-card img{aspect-ratio:1.18;transition:transform .5s ease}
.place-card:hover img{transform:scale(1.025)}
.booking-section::before,.booking-section::after{content:"";position:absolute;width:460px;height:460px;border:1px solid #ffffff14;border-radius:50%;right:-220px;top:-190px;pointer-events:none}
.booking-section::after{width:540px;height:540px;right:-260px;top:-230px}
@media(min-width:1600px){.hero .hero-copy{max-width:1050px;padding-left:max(80px,calc((100vw - 1400px)/2))}}
@media(max-width:991px){.hero{height:700px;min-height:0}.hero .hero-copy{max-width:680px;padding-left:40px;padding-right:32px}.hero h1{font-size:76px}.hero .hero-image img{object-position:58% 50%}.rooms-section>.container,.explore-section>.container{padding-left:28px;padding-right:28px}}
@media(max-width:575px){.hero{height:650px;min-height:0}.hero .hero-copy{padding:40px 25px 85px;max-width:100%}.hero h1{font-size:55px;line-height:1.08;margin-bottom:25px}.hero .hero-intro{font-size:15px;max-width:295px}.hero .hero-image img{object-position:58% 50%}.hero-photo::after{background:linear-gradient(90deg,#082028b3,#08202859),linear-gradient(0deg,#08202852,transparent 50%)}.hero .eyebrow{font-size:9px;letter-spacing:1.9px;gap:10px}.hero .eyebrow::before{width:20px}.hero .photo-caption{left:25px;right:auto;bottom:46px;font-size:8px;letter-spacing:1.5px}.hero::after{height:36px;bottom:-18px}.rooms-section>.container,.explore-section>.container{padding-left:18px;padding-right:18px}.room-photo img{aspect-ratio:1.15}.place-card img{aspect-ratio:1.3}.intro{padding-top:50px}}
@media(prefers-reduced-motion:reduce){.room-card:hover .room-photo img,.place-card:hover img{transform:none}}

/* Warmer sand palette and a lightweight, high-density raster wordmark. */
:root{--sand:#edcf97;--paper:#faf1df;--line:#dcc9a7}
body{background:var(--paper)}
.site-header{background:#fffdf8;border-bottom:1px solid #e4cea4}
.brand-logo{display:block;width:280px;height:68px;object-fit:contain}
.brand{flex-shrink:0}
.site-footer .footer-brand{display:inline-block;margin-bottom:18px}
.site-footer .brand-logo{width:260px;height:auto}
.intro .eyebrow,.section-heading .eyebrow,.explore-section>.container>.eyebrow{color:#806439}
.intro::before{color:#b18b4d}
.rooms-section{background:linear-gradient(135deg,#e9d2a7 0%,#f1dfbd 55%,#ebd5af 100%);border-top:1px solid #e2c99e;border-bottom:1px solid #e2c99e}
.room-copy{background:#fff9ed;border-bottom:3px solid #bc985b}
.room-label{background:#f5e4c4;color:#25434a}
.room-number{color:#b99965}
.room-bottom{border-top-color:#dfccaa}
.explore-section{background:#f0dfbf;border-top:1px solid #e5cfa6}
.booking-section .eyebrow{color:#efd49e}
.site-footer{background:#e9d5af;color:#46544d}
.footer-bottom{border-top-color:#c7ae83}
.nav-book{box-shadow:0 3px 0 #cdb17e}
.hero .sand-button .wp-block-button__link{background:#f2d49a}
.hero .sand-button .wp-block-button__link:hover{background:#ffe6b7}
@media(max-width:991px){.brand-logo{width:245px;height:auto}#primary-nav{background:#fffdf8}}
@media(max-width:575px){.brand-logo{width:220px;height:auto}.header-inner{gap:12px;padding-left:18px;padding-right:18px}.menu-toggle{padding:10px}.site-footer .brand-logo{width:240px}}
@media(max-width:360px){.brand-logo{width:190px}.header-inner{padding-left:14px;padding-right:14px}}

/* Original Penellen shoreline artwork, recoloured with a reusable alpha mask. */
.site-header{position:relative;z-index:10;border-bottom:0}
.site-header::after{content:"";position:absolute;top:calc(100% - 1px);left:0;width:100%;height:42px;background:#fffdf8;pointer-events:none;-webkit-mask:url('shoreline-edge.png') repeat-x top left / 1500px 42px;mask:url('shoreline-edge.png') repeat-x top left / 1500px 42px}
#primary-nav.is-open{z-index:1}
.rooms-section,.explore-section{position:relative;border:0}
.hero::after,.rooms-section::before,.rooms-section::after,.explore-section::before,.booking-section::before,.booking-section::after{
 content:"";position:absolute;left:0;right:0;width:100%;height:48px;
 border:0;border-radius:0;pointer-events:none;z-index:2;
 -webkit-mask:url('shoreline-edge.png') repeat-x top left / 2000px 48px;
 mask:url('shoreline-edge.png') repeat-x top left / 2000px 48px;
}
.hero::after{top:auto;bottom:-1px;background:var(--paper);transform:scaleY(-1)}
.rooms-section::before,.explore-section::before{top:-1px;bottom:auto;background:var(--paper)}
.rooms-section::after{top:auto;bottom:-1px;background:var(--paper);transform:scaleY(-1)}
.booking-section::before{top:-1px;bottom:auto;background:#f0dfbf}
.booking-section::after{top:auto;bottom:-1px;background:#e9d5af;transform:scaleY(-1)}
@media(max-width:575px){
 .site-header::after,.hero::after,.rooms-section::before,.rooms-section::after,.explore-section::before,.booking-section::before,.booking-section::after{
  height:34px;-webkit-mask-size:1500px 34px;mask-size:1500px 34px;
 }
}

/* Coastal sun, shore and wave identity. */
.brand-logo{width:340px;height:auto}
.site-footer .brand-logo{width:320px;height:auto}
@media(max-width:1100px){.brand-logo{width:290px}}
@media(max-width:575px){.brand-logo{width:245px}.site-footer .brand-logo{width:280px}}
@media(max-width:360px){.brand-logo{width:210px}}
