:root {
  --pine:#0F3D2E;
  --pine-deep:#092A20;
  --pine-soft:#1B4D3C;
  --cream:#F7F1E6;
  --cream-light:#FCF9F2;
  --stone:#7A7F76;
  --moss:#556B4F;
  --brass:#B08B4F;
  --charcoal:#2C2C2C;
  --line:rgba(15,61,46,.17);
  --white:#fffdf8;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --page:min(1360px, calc(100% - 56px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-light);color:var(--charcoal);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button{font:inherit}
::selection{background:rgba(176,139,79,.25)}

.eyebrow{font-size:.69rem;line-height:1.2;text-transform:uppercase;letter-spacing:.26em;font-weight:700;color:var(--brass)}
.eyebrow.light{color:#e8d0a6}
.display{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:.92}
.container{width:var(--page);margin-inline:auto}

.header{position:fixed;inset:0 0 auto;z-index:100;height:94px;display:flex;align-items:center;transition:.3s ease;color:white}
.header.scrolled,.header.light-mode{height:78px;background:rgba(247,241,230,.96);backdrop-filter:blur(16px);color:var(--pine);box-shadow:0 1px 0 var(--line)}
.nav{width:var(--page);margin:auto;display:grid;grid-template-columns:minmax(235px,1fr) auto minmax(190px,1fr);align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand-seal{width:43px;height:43px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.25);background:var(--cream);flex:none}
.brand-words{min-width:0}
.brand-words strong{display:block;font-family:var(--serif);font-size:1.34rem;line-height:.95;font-weight:600;letter-spacing:.015em;white-space:nowrap}
.brand-words span{display:block;margin-top:5px;font-size:.55rem;line-height:1;text-transform:uppercase;letter-spacing:.28em;font-weight:700;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:31px}
.nav-links a{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;opacity:.94;position:relative;padding-block:9px}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:.25s ease}
.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-actions{display:flex;justify-content:flex-end}
.book-btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border:1px solid transparent;font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.17em;font-weight:800;transition:.22s ease;cursor:pointer}
.book-btn{background:var(--brass);color:white}
.book-btn:hover,.button.gold:hover{transform:translateY(-2px);background:#9a763c}
.menu-btn{display:none;background:transparent;border:0;padding:8px;color:inherit;font-size:1.5rem;cursor:pointer}

.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:white;overflow:hidden;background:var(--pine-deep)}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(6,25,18,.80) 0%,rgba(6,25,18,.57) 43%,rgba(6,25,18,.13) 75%),linear-gradient(0deg,rgba(6,25,18,.66) 0%,transparent 38%),url('assets/photos/a53b9ed9-bf48-47c7-b599-d3e3ac300ac1.jpg');background-size:cover;background-position:center 52%;transform:scale(1.01)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.18),transparent 26%,transparent 72%,rgba(6,25,18,.28));pointer-events:none}
.hero-content{position:relative;z-index:2;width:var(--page);margin:auto;padding:190px 0 104px}
.hero-copy{max-width:790px}
.hero h1{font-size:clamp(4.5rem,8.8vw,9.3rem);margin:18px 0 0;color:#fffdf8}
.hero h1 em{font-weight:500;font-style:italic;color:#e7d1aa}
.hero-lede{max-width:615px;margin:28px 0 34px;font-size:1.02rem;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button.gold{background:var(--brass);color:white}
.button.ghost{border-color:rgba(255,255,255,.55);color:white;background:rgba(255,255,255,.03);backdrop-filter:blur(5px)}
.button.ghost:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
.hero-foot{position:absolute;z-index:2;right:max(28px,calc((100vw - 1360px)/2));bottom:104px;display:grid;gap:9px;text-align:right}
.hero-foot span{font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.72)}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:24px;transform:translateX(-50%);font-size:.58rem;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.64)}

.manifesto{padding:116px 0 112px;background:var(--cream-light)}
.manifesto-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:96px;align-items:start}
.manifesto h2{margin:0;color:var(--pine);font-size:clamp(3.2rem,5.6vw,6rem)}
.manifesto-copy{max-width:670px;padding-top:11px}
.manifesto-copy p{font-family:var(--serif);font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.2;letter-spacing:-.015em;color:#3c4943;margin:0}
.manifesto-note{margin-top:32px;display:flex;gap:20px;align-items:flex-start;color:#66706b;font-size:.89rem;max-width:550px}
.manifesto-note:before{content:"";width:48px;height:1px;background:var(--brass);margin-top:.75em;flex:none}

.feature{background:var(--pine);color:white;padding:112px 0}
.feature-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px}
.feature-photo{position:relative;overflow:hidden}
.feature-photo img{height:100%;object-fit:cover;object-position:center}
.feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(15,61,46,.5))}
.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:76px 5vw 76px 7vw}
.feature-copy h2{font-size:clamp(4rem,6vw,7rem);margin:12px 0 8px;color:var(--cream)}
.feature-subtitle{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:#e5cfaa;margin-bottom:28px}
.feature-copy p{max-width:590px;color:rgba(255,255,255,.78);margin:0 0 26px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 34px;padding:23px 0;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.stat strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1;color:var(--cream);font-weight:500}
.stat span{display:block;margin-top:7px;font-size:.58rem;line-height:1.3;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.58)}
.inline-link{display:inline-flex;align-items:center;gap:13px;color:#ead6b5;font-size:.69rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800}
.inline-link:after{content:"→";font-size:1.1rem;transition:.2s ease}
.inline-link:hover:after{transform:translateX(5px)}

.gallery-strip{display:grid;grid-template-columns:1.1fr .9fr .9fr;height:540px;background:#ddd}
.gallery-strip figure{margin:0;overflow:hidden;position:relative}
.gallery-strip img{height:100%;object-fit:cover;transition:transform .55s ease}
.gallery-strip figure:hover img{transform:scale(1.035)}

.experience{padding:120px 0;background:var(--cream)}
.experience-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:58px}
.experience h2{font-size:clamp(3.8rem,6vw,6.5rem);color:var(--pine);margin:8px 0 0}
.experience-head p{max-width:470px;margin:0;color:#636b67}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.exp-card{position:relative;min-height:535px;overflow:hidden;color:white;background:var(--pine)}
.exp-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .6s ease}
.exp-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,22,16,.83) 0%,rgba(5,22,16,.13) 63%)}
.exp-card:hover img{transform:scale(1.035)}
.exp-copy{position:absolute;z-index:2;left:32px;right:32px;bottom:30px}
.exp-copy span{font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:#ead8b7;font-weight:800}
.exp-copy h3{font-family:var(--serif);font-size:2.35rem;line-height:1;margin:8px 0 0;font-weight:500}

.story{padding:128px 0;background:var(--cream-light)}
.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.story-collage{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:280px 330px;gap:14px}
.story-collage img{height:100%;object-fit:cover}
.story-collage .big{grid-row:1/3}
.story-copy{max-width:620px}
.story-copy h2{font-size:clamp(3.6rem,5.4vw,6rem);color:var(--pine);margin:10px 0 25px}
.story-copy p{color:#59625d;margin:0 0 18px}
.story-principles{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.principle{border-top:1px solid var(--line);padding-top:14px}
.principle strong{display:block;color:var(--pine);font-family:var(--serif);font-size:1.35rem;font-weight:600}
.principle span{font-size:.78rem;color:#747b77}

.cta{position:relative;min-height:650px;display:grid;place-items:center;text-align:center;color:white;overflow:hidden;background:var(--pine-deep)}
.cta-bg{position:absolute;inset:0;background:linear-gradient(rgba(5,25,18,.58),rgba(5,25,18,.78)),url('assets/photos/b4387eaa-363c-434a-98c8-cf5ae53a86b3.jpg') center/cover no-repeat}
.cta-inner{position:relative;z-index:2;width:min(800px,calc(100% - 44px))}
.cta h2{font-size:clamp(4rem,7vw,7rem);margin:13px 0 20px;color:var(--cream)}
.cta p{max-width:600px;margin:0 auto 30px;color:rgba(255,255,255,.8)}

.footer{background:#08271e;color:#d8ded9;padding:68px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.4fr .75fr .75fr;gap:80px;padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand{display:flex;gap:18px;align-items:flex-start}
.footer-brand img{width:84px;height:84px;border-radius:50%}
.footer-brand strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1;color:var(--cream);font-weight:500}
.footer-brand p{max-width:410px;font-size:.83rem;color:rgba(255,255,255,.58);margin:13px 0 0}
.footer h4{font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:#d9c29b;margin:0 0 14px}
.footer nav{display:grid;gap:8px}
.footer nav a{font-size:.83rem;color:rgba(255,255,255,.68)}
.footer nav a:hover{color:white}
.footer-bottom{padding-top:26px;display:flex;justify-content:space-between;gap:20px;font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.39)}

/* Property page */
.page-hero{position:relative;min-height:78svh;color:white;display:grid;align-items:end;background:var(--pine);overflow:hidden}
.page-hero .bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,17,.70),rgba(5,24,17,.12)),linear-gradient(0deg,rgba(5,24,17,.61),transparent 50%),url('assets/photos/a53b9ed9-bf48-47c7-b599-d3e3ac300ac1.jpg') center 55%/cover no-repeat}
.page-hero-inner{position:relative;z-index:2;width:var(--page);margin:auto;padding:185px 0 82px}
.page-hero h1{font-size:clamp(5rem,10vw,10rem);margin:10px 0 0;color:var(--cream)}
.page-hero .sub{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:#ecd8b5}
.property-intro{padding:105px 0;background:var(--cream-light)}
.property-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}
.property-intro h2{font-size:clamp(3rem,5vw,5.4rem);color:var(--pine);margin:9px 0 0}
.property-intro-copy p{margin:0 0 18px;color:#5b645f}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.fact{border-top:1px solid var(--line);padding-top:15px}
.fact strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1;color:var(--pine);font-weight:600}
.fact span{display:block;margin-top:7px;font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;color:#757d79}
.mosaic{padding:0 0 115px;background:var(--cream-light)}
.mosaic-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:320px 320px;gap:12px}
.mosaic-grid img{height:100%;object-fit:cover}
.mosaic-grid .tall{grid-row:1/3}
.mosaic-grid .wide{grid-column:2/4}
.cabins{padding:120px 0;background:var(--cream)}
.cabins h2{font-size:clamp(3.6rem,5vw,5.7rem);color:var(--pine);margin:8px 0 52px}
.cabin-row{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;margin-bottom:18px;background:var(--cream-light);min-height:540px}
.cabin-row.reverse{grid-template-columns:.92fr 1.08fr}
.cabin-row.reverse .cabin-photo{order:2}
.cabin-photo img{height:100%;object-fit:cover}
.cabin-copy{padding:62px 66px;display:flex;flex-direction:column;justify-content:center}
.cabin-copy h3{font-family:var(--serif);font-size:3.3rem;line-height:1;margin:0 0 18px;color:var(--pine);font-weight:500}
.cabin-copy p{color:#5b645f;margin:0 0 16px}
.amenity-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.amenity-line span{border:1px solid var(--line);padding:8px 11px;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:#56625c}
.amenities{padding:112px 0;background:var(--pine);color:white}
.amenities-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;margin-bottom:52px}
.amenities h2{font-size:clamp(3.5rem,5vw,5.7rem);margin:8px 0 0;color:var(--cream)}
.amenities-head p{color:rgba(255,255,255,.68);max-width:600px;margin-top:10px}
.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.amenity{padding:28px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);min-height:130px}
.amenity strong{display:block;font-family:var(--serif);font-size:1.6rem;color:#ead4af;font-weight:500;margin-bottom:6px}
.amenity span{font-size:.78rem;color:rgba(255,255,255,.64)}
.property-gallery{padding:118px 0;background:var(--cream-light)}
.property-gallery h2{font-size:clamp(3.6rem,5vw,5.7rem);color:var(--pine);margin:8px 0 46px}
.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:12px}
.photo-grid img{height:100%;object-fit:cover}
.photo-grid .a{grid-column:span 7;grid-row:span 2}.photo-grid .b{grid-column:span 5}.photo-grid .c{grid-column:span 5}.photo-grid .d{grid-column:span 4}.photo-grid .e{grid-column:span 4}.photo-grid .f{grid-column:span 4}.photo-grid .g{grid-column:span 6}.photo-grid .h{grid-column:span 6}
.booking-band{padding:92px 0;background:#143d30;color:white}
.booking-band .container{display:flex;justify-content:space-between;align-items:center;gap:50px}
.booking-band h2{font-size:clamp(3rem,5vw,5.3rem);color:var(--cream);margin:6px 0 0}
.booking-band p{max-width:490px;color:rgba(255,255,255,.67);margin:10px 0 0}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}

@media (max-width:1050px){
  :root{--page:min(100% - 38px, 1360px)}
  .nav{grid-template-columns:1fr auto}.nav-links,.nav-actions{display:none}.menu-btn{display:block}.nav.mobile-open .nav-links{display:flex;position:fixed;inset:78px 0 0;background:var(--cream);color:var(--pine);flex-direction:column;align-items:flex-start;padding:52px 32px;gap:20px}.nav.mobile-open .nav-links a{font-family:var(--serif);font-size:2.2rem;text-transform:none;letter-spacing:0;font-weight:500}.nav.mobile-open .nav-actions{display:block;position:fixed;left:32px;bottom:32px;z-index:2}
  .manifesto-grid,.story-grid,.property-intro-grid,.amenities-head{grid-template-columns:1fr;gap:42px}
  .feature-grid{grid-template-columns:1fr;min-height:0}.feature-photo{height:58vw;min-height:460px}.feature-copy{padding:64px 6vw 74px}
  .gallery-strip{height:390px}
  .experience-grid{grid-template-columns:1fr 1fr}.exp-card:last-child{grid-column:1/3;min-height:430px}
  .story-collage{order:2}.story-copy{order:1}
  .cabin-row,.cabin-row.reverse{grid-template-columns:1fr}.cabin-row.reverse .cabin-photo{order:0}.cabin-photo{height:470px}
  .amenity-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}
}
@media (max-width:700px){
  :root{--page:calc(100% - 30px)}
  .header{height:76px}.header.scrolled,.header.light-mode{height:70px}.brand-seal{width:38px;height:38px}.brand-words strong{font-size:1.12rem}.brand-words span{font-size:.49rem}
  .hero-content{padding:150px 0 92px}.hero h1{font-size:clamp(4rem,18vw,6.4rem)}.hero-lede{font-size:.94rem}.hero-foot{display:none}.scroll-cue{display:none}
  .manifesto,.experience,.story,.cabins,.amenities,.property-gallery{padding:84px 0}.manifesto-grid{gap:30px}
  .feature{padding:0}.feature-photo{height:65vh;min-height:430px}.feature-copy{padding:56px 24px 65px}.stat-row{grid-template-columns:1fr 1fr;row-gap:24px}
  .gallery-strip{height:auto;grid-template-columns:1fr 1fr}.gallery-strip figure:first-child{grid-column:1/3;height:340px}.gallery-strip figure:not(:first-child){height:260px}
  .experience-head{display:block}.experience-head p{margin-top:22px}.experience-grid{grid-template-columns:1fr}.exp-card,.exp-card:last-child{grid-column:auto;min-height:480px}
  .story-collage{grid-template-columns:1fr 1fr;grid-template-rows:240px 240px}.story-collage .big{grid-column:1/3;grid-row:auto}.story-principles{grid-template-columns:1fr}
  .cta{min-height:560px}.footer-grid{grid-template-columns:1fr;gap:42px}.footer-brand{grid-column:auto}.footer-bottom{display:block;line-height:1.8}.footer-bottom span{display:block}
  .page-hero{min-height:72svh}.page-hero-inner{padding:145px 0 65px}.page-hero h1{font-size:clamp(4.6rem,22vw,7rem)}
  .facts{grid-template-columns:1fr 1fr;gap:24px 14px}.mosaic{padding-bottom:84px}.mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.mosaic-grid .tall{grid-column:1/3;grid-row:auto}.mosaic-grid .wide{grid-column:1/3}.cabin-photo{height:360px}.cabin-copy{padding:43px 24px}.amenity-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.photo-grid .a,.photo-grid .b,.photo-grid .c,.photo-grid .d,.photo-grid .e,.photo-grid .f,.photo-grid .g,.photo-grid .h{grid-column:span 1;grid-row:span 1}.photo-grid .a{grid-column:1/3}.booking-band .container{display:block}.booking-band .book-btn{margin-top:28px}
}
