@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap");
:root{
  --bg:#f5efe5;
  --paper:#fffaf2;
  --ink:#17130f;
  --muted:#756b61;
  --soft:#e6d7c6;
  --dark:#16130f;
  --forest:#18271f;
  --terracotta:#b8794b;
  --line:rgba(23,19,15,.13);
  --white:#fff;
  --shadow:0 30px 90px rgba(23,19,15,.18);
  --radius-xl:42px;
  --radius-lg:28px;
  --sans:Inter,Helvetica,Arial,sans-serif;
  --serif:"Playfair Display","Times New Roman",Times,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--terracotta);color:var(--white)}
.skip-link{position:fixed;left:16px;top:16px;z-index:999;transform:translateY(-140%);background:var(--paper);padding:12px 16px;border-radius:999px}.skip-link:focus{transform:none}

.site-header{position:fixed;top:18px;left:50%;translate:-50% 0;z-index:100;width:min(1180px,calc(100% - 32px));min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:10px 12px 10px 20px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:var(--white);background:rgba(22,19,15,.18);backdrop-filter:blur(18px);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;color-scheme:dark}
.site-header.solid,.site-header.is-scrolled{background:rgba(22,19,15,.82);border-color:rgba(255,255,255,.12);box-shadow:0 18px 60px rgba(0,0,0,.2)}
.brand{display:grid;line-height:1}.brand span{font-size:22px;letter-spacing:-.04em}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:#dcc09a;margin-top:2px}.main-nav{justify-self:center;display:flex;align-items:center;gap:8px}.main-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:12px 14px;border-radius:999px;color:rgba(255,255,255,.76);transition:.2s}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.1);color:var(--white)}.nav-cta{padding:14px 21px;border-radius:999px;background:var(--paper);color:var(--dark);font-weight:700}.menu-toggle{display:none;background:transparent;border:0;color:inherit;width:44px;height:44px}.menu-toggle span{display:block;height:2px;background:currentColor;margin:7px 0}

.section-pad{padding:clamp(76px,9vw,150px) clamp(18px,5vw,84px)}.eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta);font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.065em;line-height:.92;font-weight:400}h1 em,h2 em,.keyword{font-family:var(--serif);font-style:italic;color:var(--terracotta)}

.scroll-hero{position:relative;height:180vh;background:var(--dark);color:var(--white)}.scroll-hero-stage{position:sticky;top:0;min-height:100svh;display:grid;place-items:center;overflow:hidden}.scroll-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.02) contrast(1.02);opacity:.92;transform:scale(1.03)}.scroll-hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(0,0,0,.02) 0 18%,rgba(0,0,0,.14) 42%,rgba(0,0,0,.64) 100%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 42%,rgba(0,0,0,.22))}.hero-label{position:absolute;top:15vh;z-index:4;color:rgba(255,255,255,.82);font-size:12px;text-transform:uppercase;letter-spacing:.24em;font-weight:800;text-shadow:0 4px 20px rgba(0,0,0,.35)}.hero-title{position:absolute;z-index:5;text-align:center;font-size:clamp(56px,10vw,142px);margin:0;max-width:1050px;text-wrap:balance;text-shadow:0 14px 40px rgba(0,0,0,.38)}.hero-title em{color:#f1d2ae}.hero-media-frame{position:absolute;z-index:3;width:320px;height:430px;border-radius:30px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.22);will-change:width,height,border-radius,transform;backdrop-filter:blur(2px)}.hero-media-frame video,.hero-media-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-media-frame video:not([src]){display:none}.hero-media-frame img{filter:saturate(1.02) contrast(1.01)}.hero-scroll-hint{position:absolute;bottom:38px;z-index:6;margin:0;color:rgba(255,255,255,.76);font-size:12px;text-transform:uppercase;letter-spacing:.18em;text-shadow:0 4px 18px rgba(0,0,0,.35)}

.intro-section{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end;background:var(--paper)}.intro-copy h2{font-size:clamp(42px,6vw,92px);max-width:980px}.intro-actions{display:grid;gap:12px;justify-items:start}.split-button{--button-bg:var(--dark);--button-text:var(--white);display:inline-flex;align-items:center;gap:0;border:0;background:transparent;color:var(--button-text);font-weight:700;width:max-content}.split-button span{display:grid;place-items:center;min-height:54px;padding:0 26px;background:var(--button-bg);border-radius:999px;transition:.35s}.split-button i{width:54px;height:54px;margin-left:4px;display:grid;place-items:center;background:var(--button-bg);border-radius:999px;font-style:normal;overflow:hidden;transition:.35s}.split-button:hover span,.split-button:hover i{background:var(--terracotta);transform:translateY(-2px)}.split-button.light{--button-bg:var(--soft);--button-text:var(--dark)}.split-button.dark{--button-bg:var(--paper);--button-text:var(--dark)}.submit{color:var(--white)}

.story-section{background:var(--bg)}.story-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-auto-rows:320px;gap:18px}.story-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);background:var(--dark);min-height:0}.story-card.large{grid-row:span 2}.story-card img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:transform .8s ease}.story-card:hover img{transform:scale(1.055)}.story-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent)}.story-card div{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;color:var(--white)}.story-card span{color:#e5c49f;font-family:var(--serif);font-style:italic;font-size:22px}.story-card h3{font-size:32px;margin:8px 0}.story-card p{color:rgba(255,255,255,.76);line-height:1.6;margin:0;max-width:420px}

.facts{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;background:var(--forest);color:var(--paper)}.facts h2{font-size:clamp(42px,6vw,86px);color:var(--paper)}.facts p:not(.eyebrow){color:rgba(255,250,242,.72);font-size:18px;line-height:1.8}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.facts-grid div{min-height:180px;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:rgba(255,255,255,.06);padding:26px;display:flex;flex-direction:column;justify-content:space-between}.facts-grid strong{font:italic 76px/1 var(--serif);color:#ecd0aa}.facts-grid span{text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:rgba(255,255,255,.68)}

.season{position:relative;min-height:760px;display:grid;align-items:end;background:var(--dark);overflow:hidden}.season>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}.season:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 52%)}.season-panel{position:relative;z-index:2;width:min(650px,100%);padding:40px;border:1px solid rgba(255,255,255,.14);border-radius:36px;background:rgba(255,250,242,.12);backdrop-filter:blur(18px);color:var(--white)}.season-panel h2{font-size:clamp(42px,6vw,76px);color:var(--white)}.season-panel p:not(.eyebrow){color:rgba(255,255,255,.76);line-height:1.8;font-size:18px}
.cta-band{text-align:center;background:var(--paper)}.cta-band h2{font-size:clamp(42px,7vw,98px);max-width:900px;margin:0 auto 30px}.cta-band .split-button{margin:auto}

.page-hero{padding-top:170px;background:var(--paper);text-align:center}.page-hero h1{font-size:clamp(54px,9vw,118px);max-width:1050px;margin:0 auto 24px}.page-lead{font-size:clamp(18px,2vw,22px);line-height:1.75;color:var(--muted);max-width:780px;margin:0 auto}.split-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.split-copy h2{font-size:clamp(42px,6vw,86px)}.split-copy p:not(.eyebrow){font-size:18px;line-height:1.85;color:var(--muted)}.image-panel{margin:0;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);height:min(68vw,720px)}.image-panel img{width:100%;height:100%;object-fit:cover}.minimal-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:var(--forest);color:var(--paper)}.minimal-list div{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.05)}.minimal-list span{font:italic 24px var(--serif);color:#e8c49c}.minimal-list h3{font-size:24px}.minimal-list p{color:rgba(255,255,255,.68);line-height:1.6}

.amenities-page{background:var(--bg)}.amenity-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin-bottom:42px}.amenity-feature img{width:100%;height:min(62vw,650px);object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow)}.amenity-feature h2{font-size:clamp(42px,6vw,80px)}.amenity-feature p:not(.eyebrow){font-size:18px;color:var(--muted);line-height:1.8}.amenity-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.amenity-list span{min-height:112px;border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:18px;display:flex;align-items:end;font-weight:700;transition:.25s}.amenity-list span:hover{transform:translateY(-4px);background:var(--dark);color:var(--paper)}

.gallery-page{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px;background:var(--paper)}.gallery-tile{position:relative;border:0;padding:0;border-radius:30px;overflow:hidden;background:var(--dark);color:var(--white);box-shadow:var(--shadow)}.gallery-tile img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:.7s}.gallery-tile:hover img{transform:scale(1.06);opacity:1}.gallery-tile:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent)}.gallery-tile span{position:absolute;left:20px;bottom:18px;z-index:2;font-weight:800}.gallery-tile.tall{grid-row:span 2}.gallery-tile.wide{grid-column:span 2}.lightbox{width:min(1100px,92vw);border:0;background:transparent;padding:0}.lightbox::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.lightbox img{width:100%;max-height:86vh;object-fit:contain;border-radius:26px}.lightbox button{position:absolute;right:-16px;top:-16px;width:46px;height:46px;border:0;border-radius:50%;font-size:28px;background:var(--paper)}

.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;background:var(--bg)}.contact-card,.contact-form{border:1px solid var(--line);background:var(--paper);border-radius:36px;padding:clamp(28px,4vw,48px);box-shadow:0 20px 70px rgba(23,19,15,.08)}.contact-card h2{font-size:42px}.contact-card ul{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:16px}.contact-card li{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px}.contact-card span{color:var(--muted)}.contact-card a{text-decoration:underline;text-underline-offset:4px}.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:9px;font-weight:800}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:#fff;border-radius:20px;padding:17px 18px;color:var(--ink);resize:vertical}.contact-form p{color:var(--muted);margin:0}.map-section{display:grid;gap:22px;justify-items:center;background:var(--soft)}.map-placeholder{width:min(1000px,100%);min-height:420px;border-radius:42px;background:linear-gradient(135deg,rgba(24,39,31,.92),rgba(24,39,31,.74)),url('assets/images/stone-house-exterior-drone.jpg') center/cover;display:grid;place-items:center;text-align:center;color:var(--paper);position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:"";position:absolute;inset:30px;border:1px solid rgba(255,255,255,.16);border-radius:30px}.map-placeholder span{position:relative;z-index:2;font:italic 62px var(--serif);display:block}.map-placeholder small{position:relative;z-index:2;color:rgba(255,255,255,.74)}

.site-footer{background:var(--dark);color:rgba(255,250,242,.72);padding:46px clamp(18px,5vw,84px);display:grid;grid-template-columns:1fr 1.2fr auto;gap:24px;align-items:center}.site-footer strong{display:block;font-size:34px;color:var(--paper);letter-spacing:-.05em}.site-footer span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#d3b486}.site-footer p{margin:0;line-height:1.6}.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.site-footer a{color:var(--paper);font-weight:700}.sticky-call{position:fixed;right:18px;bottom:18px;z-index:80;display:none;background:var(--dark);color:var(--white);border-radius:999px;padding:16px 22px;font-weight:800;box-shadow:0 18px 50px rgba(0,0,0,.24)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.in-view{opacity:1;transform:none}

@media(max-width:980px){.site-header{grid-template-columns:auto auto;justify-content:space-between}.nav-cta{display:none}.menu-toggle{display:block}.main-nav{position:absolute;left:0;right:0;top:78px;display:grid;background:rgba(22,19,15,.94);border-radius:28px;padding:18px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s}.main-nav.open{opacity:1;pointer-events:auto;transform:none}.main-nav a{padding:16px}.intro-section,.facts,.split-section,.amenity-feature,.contact-layout{grid-template-columns:1fr}.story-grid{grid-template-columns:1fr;grid-auto-rows:380px}.facts-grid,.minimal-list{grid-template-columns:1fr}.amenity-list{grid-template-columns:repeat(2,1fr)}.gallery-page{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr}.sticky-call{display:block}.hero-title{font-size:clamp(58px,16vw,96px)}.hero-media-frame{width:260px;height:380px}}
@media(max-width:560px){.section-pad{padding-left:16px;padding-right:16px}.site-header{width:calc(100% - 20px);top:10px}.brand span{font-size:19px}.page-hero{padding-top:135px}.story-grid{grid-auto-rows:320px}.facts-grid div{min-height:150px}.season-panel{padding:26px}.amenity-list{grid-template-columns:1fr}.gallery-page{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-tile.wide,.gallery-tile.tall{grid-column:auto;grid-row:auto}.contact-card li{display:grid}.split-button{width:100%}.split-button span{flex:1}.hero-media-frame{width:220px;height:330px}.hero-scroll-hint{bottom:80px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* HOME PAGE — storytelling structure */
.home-intro{border-bottom:1px solid var(--line)}
.section-head{max-width:920px;margin:0 auto clamp(34px,5vw,72px);text-align:center}.section-head h2{font-size:clamp(42px,6.5vw,92px);margin-bottom:18px}.section-head p:not(.eyebrow){max-width:620px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.75}

.home-about{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:clamp(28px,5vw,76px);align-items:center;background:linear-gradient(135deg,rgba(255,250,242,.84),rgba(230,215,198,.44))}.about-story h2{font-size:clamp(42px,6vw,86px);max-width:860px}.about-story p:not(.eyebrow){font-size:18px;line-height:1.85;color:var(--muted);max-width:720px}.about-stats{display:grid;gap:14px}.about-stats div{border:1px solid rgba(23,19,15,.1);background:rgba(255,250,242,.78);border-radius:32px;padding:26px;box-shadow:0 22px 70px rgba(23,19,15,.08);display:grid;grid-template-columns:auto 1fr;gap:8px 20px;align-items:end}.about-stats strong{grid-row:span 2;font:italic clamp(56px,7vw,92px)/.85 var(--serif);color:var(--terracotta);letter-spacing:-.08em}.about-stats span{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--ink)}.about-stats small{color:var(--muted);line-height:1.5;font-size:14px}

.home-amenities{background:var(--paper);overflow:hidden}.rail-wrap{position:relative}.amenities-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,360px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:clamp(18px,5vw,84px);padding:6px clamp(18px,5vw,84px) 26px;margin:0 calc(clamp(18px,5vw,84px) * -1);scrollbar-width:thin}.amenity-card{position:relative;min-height:430px;padding:24px;border:1px solid rgba(23,19,15,.1);border-radius:34px;overflow:hidden;background:var(--forest);color:var(--white);scroll-snap-align:start;box-shadow:0 24px 80px rgba(23,19,15,.13);display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s ease,box-shadow .35s ease}.amenity-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.1) 58%),var(--card-img,linear-gradient(135deg,#18271f,#b8794b));background-size:cover;background-position:center;opacity:.9;transition:transform .8s ease,opacity .35s ease}.amenity-card:hover{transform:scale(1.03);box-shadow:0 34px 100px rgba(23,19,15,.22)}.amenity-card:hover:before{transform:scale(1.06);opacity:1}.amenity-card span,.amenity-card h3,.amenity-card p{position:relative;z-index:1}.amenity-card span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(255,250,242,.92);color:var(--forest);font-size:24px}.amenity-card h3{font-size:clamp(25px,2.1vw,34px);margin:auto 0 12px}.amenity-card p{margin:0;color:rgba(255,255,255,.78);line-height:1.65}.rail-btn{position:absolute;top:50%;translate:0 -50%;z-index:3;width:54px;height:54px;border:1px solid rgba(23,19,15,.12);border-radius:50%;background:rgba(255,250,242,.88);color:var(--dark);font-size:34px;box-shadow:0 18px 54px rgba(0,0,0,.14);backdrop-filter:blur(12px)}.rail-btn.left{left:0}.rail-btn.right{right:0}

.home-gallery{background:var(--bg)}.gallery-tabs{display:flex;justify-content:center;gap:10px;margin-top:-38px;margin-bottom:38px}.gallery-tabs button{border:1px solid var(--line);background:rgba(255,250,242,.72);color:var(--ink);padding:12px 18px;border-radius:999px;font-weight:800;transition:.25s}.gallery-tabs button:hover,.gallery-tabs button.active{background:var(--dark);color:var(--paper)}.stack-gallery{position:relative;min-height:330vh;padding-bottom:40vh}.stack-card{position:sticky;top:calc(82px + var(--i) * 18px);width:min(860px,92vw);height:min(66vh,560px);margin:0 auto 20vh;border:0;border-radius:38px;padding:0;overflow:hidden;background:var(--dark);box-shadow:0 34px 110px rgba(23,19,15,.22);display:block;color:var(--white);transition:opacity .45s ease,transform .45s ease,filter .45s ease}.stack-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.stack-card:hover img{transform:scale(1.04)}.stack-card:after{content:"";position:absolute;inset:46% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.76),transparent)}.stack-card span{position:absolute;left:28px;bottom:24px;z-index:2;font-size:clamp(24px,3vw,42px);font-weight:700;letter-spacing:-.05em}.stack-card.is-hidden{opacity:0;transform:scale(.96);filter:blur(8px);pointer-events:none;height:0;margin:0 auto;overflow:hidden}

.fit-section{background:var(--forest);color:var(--paper)}.fit-section .section-head h2{color:var(--paper)}.fit-section .section-head p,.fit-section .eyebrow{color:#d7b98f}.fit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fit-grid article{min-height:270px;padding:26px;border-radius:30px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.fit-grid article:hover{transform:translateY(-6px);background:rgba(255,255,255,.08)}.fit-grid span{font:italic 24px var(--serif);color:#e8c49c}.fit-grid h3{font-size:26px;margin:0}.fit-grid p{color:rgba(255,255,255,.7);line-height:1.65;margin:0}

.testimonials-section{background:var(--paper);overflow:hidden}.testimonials-mask{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px;max-height:760px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent)}.testimonials-column{display:grid;gap:18px;animation:testimonialsMove 26s linear infinite}.testimonials-column.medium{animation-duration:32s}.testimonials-column.fast{animation-duration:29s}.testimonials-mask:hover .testimonials-column{animation-play-state:paused}.review-card{border:1px solid var(--line);background:#fffdf8;border-radius:30px;padding:26px;box-shadow:0 20px 60px rgba(23,19,15,.08);width:100%}.review-card .stars{color:#c58b4f;letter-spacing:.08em;margin-bottom:16px;font-weight:800}.review-card .stars b{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:8px;border-radius:50%;background:#fff;border:1px solid var(--line);font-family:Arial,sans-serif;color:#4285f4;letter-spacing:0;font-size:14px}.review-card p{color:var(--ink);line-height:1.65;margin-bottom:20px}.review-card strong{display:block;color:var(--ink);font-size:16px}.review-card span{display:block;margin-top:5px;color:var(--muted);font-size:13px}@keyframes testimonialsMove{from{transform:translateY(0)}to{transform:translateY(-50%)}}

.home-contact{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px;background:linear-gradient(180deg,var(--bg),var(--soft))}.booking-panel,.booking-form,.home-map{border:1px solid rgba(23,19,15,.1);background:rgba(255,250,242,.78);border-radius:36px;padding:clamp(26px,4vw,48px);box-shadow:0 22px 70px rgba(23,19,15,.08)}.booking-panel h2{font-size:clamp(40px,5vw,72px)}.booking-panel p:not(.eyebrow){font-size:18px;color:var(--muted);line-height:1.75}.booking-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.social-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}.social-list li{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:14px}.social-list span{color:var(--muted)}.social-list a{text-decoration:underline;text-underline-offset:4px}.booking-form{display:grid;gap:17px}.booking-form label{display:grid;gap:9px;font-weight:800}.booking-form input,.booking-form textarea{border:1px solid var(--line);background:#fff;border-radius:20px;padding:17px 18px;color:var(--ink);resize:vertical}.home-map{grid-column:1/-1;min-height:360px;background:linear-gradient(135deg,rgba(22,19,15,.76),rgba(24,39,31,.8)),url('assets/images/stone-house-exterior-drone.jpg') center/cover;color:var(--paper);display:grid;place-items:center;text-align:center}.home-map span{font:italic clamp(54px,8vw,108px)/.9 var(--serif);letter-spacing:-.07em}.home-map small{max-width:560px;color:rgba(255,255,255,.78);font-size:16px}.home-map a{display:inline-grid;place-items:center;min-height:48px;margin-top:10px;padding:0 18px;border-radius:999px;background:var(--paper);color:var(--dark);font-weight:800}.sticky-call{display:block;background:var(--terracotta);color:var(--white);animation:softPulse 2.4s ease-in-out infinite}.sticky-call:hover{animation-play-state:paused;transform:translateY(-2px)}@keyframes softPulse{0%,100%{box-shadow:0 18px 50px rgba(184,121,75,.22)}50%{box-shadow:0 18px 70px rgba(184,121,75,.44)}}

@media(max-width:980px){.home-about,.home-contact{grid-template-columns:1fr}.fit-grid{grid-template-columns:repeat(2,1fr)}.testimonials-mask{grid-template-columns:1fr 1fr}.testimonials-column.fast{display:none}.rail-btn{display:none}.stack-gallery{min-height:300vh}.stack-card{height:58vh}}
@media(max-width:640px){.section-head{text-align:left}.section-head p:not(.eyebrow){margin:0}.home-intro{display:block}.intro-actions{margin-top:24px}.about-stats div{grid-template-columns:1fr}.amenities-rail{grid-auto-columns:82vw;padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px}.amenity-card{min-height:390px}.gallery-tabs{justify-content:flex-start;overflow:auto;margin-top:-18px}.stack-gallery{min-height:250vh;padding-bottom:22vh}.stack-card{top:88px;width:100%;height:54vh;border-radius:28px}.fit-grid{grid-template-columns:1fr}.testimonials-mask{grid-template-columns:1fr;max-height:700px}.testimonials-column.medium{display:none}.social-list li{display:grid}.booking-actions .split-button{width:100%}.home-map{min-height:300px}.sticky-call{left:16px;right:16px;text-align:center}}

/* Final neutral refinements */
.brand{place-items:center;min-width:58px}.brand-logo{display:block;width:72px;height:38px;object-fit:contain}.footer-brand{display:grid;align-items:center;justify-items:start}.footer-logo{display:block;width:96px;height:76px;object-fit:contain}.home-map,.map-placeholder{background:linear-gradient(135deg,rgba(22,19,15,.64),rgba(24,39,31,.62)),url('assets/images/location-drone.jpg') center/cover}.contact-card h2 span{display:block;margin-top:4px;color:inherit;font-size:.72em;line-height:1.05;letter-spacing:-.05em}
.intro-section{align-items:center}.intro-actions{justify-items:center;align-self:center}.intro-subtitle{max-width:900px;margin:22px 0 0;color:var(--muted);font-size:clamp(16px,1.55vw,20px);line-height:1.85;letter-spacing:0}.about-cream-title{font-family:var(--sans);font-style:normal;color:var(--ink);letter-spacing:-.065em}.about-cream-title span{font-family:var(--serif);font-style:italic;color:#B8794B}
.about-stats strong{font:800 clamp(56px,7vw,92px)/.85 var(--sans);color:#B8794B;letter-spacing:-.04em;opacity:1;filter:blur(var(--count-blur,0px));transition:filter .12s linear}.about-stats strong.is-counting{filter:blur(var(--count-blur,7px))}.about-stats strong.is-complete{filter:blur(0)}.sauna-focus{object-position:center 68%!important}
.booking-contact-links{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.booking-phone{display:grid;gap:6px}.booking-phone span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.booking-phone a{font-size:20px;font-weight:800;color:var(--ink)}.booking-social{display:flex;gap:10px}.booking-social a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:rgba(255,250,242,.78);color:var(--dark);transition:.25s}.booking-social a:hover{background:var(--dark);color:var(--paper);transform:translateY(-2px)}.booking-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.booking-social svg path{fill:currentColor;stroke:none}
.footer-info,.footer-nav,.footer-legal{display:flex;gap:12px 18px;flex-wrap:wrap}.footer-info{display:grid;gap:8px}.footer-info p{grid-column:1/-1}.footer-nav{grid-column:3;grid-row:1;justify-content:flex-start}.footer-social{grid-column:3;grid-row:2;display:flex;gap:10px;justify-content:flex-start}.footer-social a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,250,242,.16);border-radius:50%;background:rgba(255,250,242,.08);transition:.25s}.footer-social a:hover{background:var(--paper);color:var(--dark);transform:translateY(-2px)}.footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-social svg path{fill:currentColor;stroke:none}.footer-legal{grid-column:1/-1;border-top:1px solid rgba(255,250,242,.12);padding-top:18px;font-size:13px}
.image-panel{transition:transform .5s cubic-bezier(.2,1.45,.32,1),box-shadow .5s ease}.image-panel:hover{transform:translateY(-7px) scale(1.012);box-shadow:0 38px 105px rgba(23,19,15,.22)}
.legal-hero .page-lead{max-width:860px}.legal-page{background:linear-gradient(180deg,var(--bg),var(--soft))}.legal-card{width:min(980px,100%);margin:0 auto;border:1px solid var(--line);border-radius:36px;background:rgba(255,250,242,.9);padding:clamp(28px,5vw,58px);box-shadow:0 26px 80px rgba(23,19,15,.08)}.legal-card h2{font-size:clamp(30px,3.5vw,46px);letter-spacing:-.045em;margin:38px 0 14px}.legal-card h2:first-of-type{margin-top:0}.legal-card p{color:var(--muted);font-size:17px;line-height:1.82}.legal-card strong{color:var(--ink)}.legal-card a{text-decoration:underline;text-underline-offset:4px;color:var(--ink);font-weight:800}.legal-updated{color:var(--terracotta)!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.cookie-table{display:grid;gap:0;margin:22px 0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fffdf8}.cookie-table div{display:grid;grid-template-columns:1.1fr 1.6fr .8fr 1fr;gap:16px;padding:18px;border-bottom:1px solid var(--line);align-items:center}.cookie-table div:last-child{border-bottom:0}.cookie-table span{color:var(--muted);line-height:1.55}.cookie-reset{margin-top:4px}.cookie-banner{position:fixed;left:18px;bottom:18px;z-index:140;width:min(760px,calc(100% - 36px));display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid rgba(255,250,242,.18);border-radius:26px;background:rgba(22,19,15,.94);color:var(--paper);padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);backdrop-filter:blur(18px)}.cookie-banner p{margin:0;color:rgba(255,250,242,.78);line-height:1.6}.cookie-banner strong{display:block;margin-bottom:5px;color:var(--paper);font-size:18px}.cookie-banner a{text-decoration:underline;text-underline-offset:4px;color:var(--paper);font-weight:800}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-actions button,.cookie-actions a{min-height:44px;border:0;border-radius:999px;padding:0 16px;font-weight:800}.cookie-actions button{background:var(--paper);color:var(--dark)}.cookie-actions button.cookie-secondary{background:rgba(255,250,242,.1);color:var(--paper);border:1px solid rgba(255,250,242,.18)}.cookie-actions a{display:grid;place-items:center;background:rgba(255,250,242,.1);border:1px solid rgba(255,250,242,.18)}
@media(max-width:980px){.site-footer{grid-template-columns:1fr}.footer-nav,.footer-social{grid-column:auto;grid-row:auto;justify-content:flex-start}}
@media(max-width:760px){.cookie-table div{grid-template-columns:1fr}.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}}
@media(max-width:640px){.brand-logo{width:62px;height:34px}.footer-logo{width:86px;height:68px}.booking-contact-links{grid-template-columns:1fr}.booking-social{justify-content:flex-start}}
