@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root{--ink:#172019;--forest:#24352a;--moss:#566657;--paper:#f4f1e9;--cream:#e9e3d5;--line:rgba(23,32,25,.14);--white:#fffdf8;--muted:#697067;--accent:#b17b49;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:400;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}.eyebrow{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin:0 0 18px;color:rgba(255,255,255,.78)}.eyebrow.dark{color:var(--moss)}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:clamp(5rem,13vw,11rem);letter-spacing:-.055em}h2{font-size:clamp(2.6rem,5vw,5.4rem);letter-spacing:-.035em}h3{font-size:2rem}.italic{font-style:italic}.muted{color:var(--muted)}
.nav{position:fixed;z-index:50;top:0;left:0;width:100%;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#fff;transition:.35s;border-bottom:1px solid transparent}.nav.scrolled{background:rgba(23,32,25,.94);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.1)}.brand{font-family:'Playfair Display',serif;font-size:1.8rem;letter-spacing:.14em}.nav-links{display:flex;gap:30px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.nav-links a{opacity:.88}.nav-links a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:12px 18px;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.nav-cta:hover{background:#fff;color:var(--ink)}
.hero{height:100svh;min-height:700px;position:relative;background:#263126;overflow:hidden}.hero img{position:absolute;inset:0;object-position:center 54%;filter:saturate(.92)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,13,.65),rgba(11,18,13,.12) 62%,rgba(11,18,13,.3)),linear-gradient(0deg,rgba(8,13,10,.58),transparent 55%)}.hero-content{position:absolute;z-index:2;left:7vw;bottom:13vh;color:#fff;max-width:760px}.hero-content .eyebrow{margin-bottom:15px}.hero-sub{font-size:clamp(1rem,1.5vw,1.35rem);letter-spacing:.03em;margin:12px 0 30px;color:rgba(255,255,255,.88);max-width:520px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;letter-spacing:.12em;text-transform:uppercase;font-size:.69rem;font-weight:600;cursor:pointer;transition:.25s}.button.light{background:#fff;color:var(--ink)}.button.light:hover{background:var(--cream)}.button.outline{border-color:rgba(255,255,255,.7);color:#fff}.button.outline:hover{background:#fff;color:var(--ink)}.button.dark{background:var(--forest);color:#fff}.button.dark:hover{background:#132017}.hero-meta{position:absolute;z-index:2;right:5vw;bottom:7vh;color:#fff;text-align:right;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.hero-meta span{display:block;opacity:.65;margin-top:5px}.scroll-cue{position:absolute;z-index:2;left:7vw;bottom:4vh;color:#fff;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase}
.intro{background:var(--forest);color:#fff;padding:0}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr}.intro-stat{padding:44px 6vw;border-right:1px solid rgba(255,255,255,.14)}.intro-stat:last-child{border-right:0}.intro-stat b{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:500;display:block}.intro-stat span{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.section{padding:120px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-head>p{max-width:340px;color:var(--muted);margin:0}.section-kicker{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--moss);font-weight:600;margin-bottom:18px}.manifesto{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.manifesto h2{max-width:800px}.manifesto-copy{color:#586158;font-size:1.05rem;max-width:480px}.manifesto-copy p{margin:0 0 18px}.rule{width:72px;height:1px;background:var(--accent);margin:30px 0}
.destination{background:#f4f1e8}.destination-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.destination-copy{max-width:700px}.destination-copy>p:not(.section-kicker){color:var(--muted);max-width:620px;font-size:1rem}.destination-points{border-top:1px solid var(--line)}.destination-point{display:grid;grid-template-columns:55px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.destination-point>span{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--accent)}.destination-point strong{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.destination-point p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.7}
.cabins{background:#ece8de}.cabin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cabin-card{background:var(--white);position:relative;overflow:hidden}.cabin-photo{height:560px;position:relative;overflow:hidden}.cabin-photo img{transition:transform .8s cubic-bezier(.2,.6,.2,1)}.cabin-card:hover .cabin-photo img{transform:scale(1.045)}.cabin-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,12,9,.68),transparent 52%)}.cabin-number{position:absolute;z-index:2;top:22px;left:22px;color:#fff;font-size:.65rem;letter-spacing:.2em}.cabin-caption{position:absolute;z-index:2;left:25px;right:25px;bottom:26px;color:#fff}.cabin-caption h3{font-size:2.5rem}.cabin-caption p{margin:8px 0 0;color:rgba(255,255,255,.78);font-size:.9rem}.cabin-info{padding:26px}.feature-row{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 22px}.pill{border:1px solid var(--line);padding:7px 10px;font-size:.68rem;color:#566058}.text-arrow{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.text-arrow:after{content:' ↗';color:var(--accent)}
.feature{display:grid;grid-template-columns:1.04fr .96fr;min-height:760px;background:var(--paper)}.feature-image{min-height:600px}.feature-copy{padding:100px 9vw;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{max-width:650px}.feature-copy>p{color:var(--muted);max-width:510px;margin:25px 0 38px;font-size:1.03rem}.feature-list{border-top:1px solid var(--line)}.feature-item{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.feature-item b{font-family:'Manrope',sans-serif;font-size:.82rem;font-weight:600}.feature-item span{grid-column:2;color:var(--muted);font-size:.85rem;margin-top:-7px}
.gallery{background:var(--white)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:10px}.gallery-item{position:relative;overflow:hidden;background:#ddd}.gallery-item img{transition:transform .7s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:nth-child(6n+1){grid-column:span 5;grid-row:span 3}.gallery-item:nth-child(6n+2){grid-column:span 7;grid-row:span 4}.gallery-item:nth-child(6n+3){grid-column:span 4;grid-row:span 3}.gallery-item:nth-child(6n+4){grid-column:span 4;grid-row:span 3}.gallery-item:nth-child(6n+5){grid-column:span 4;grid-row:span 3}.gallery-item:nth-child(6n){grid-column:span 7;grid-row:span 4}.gallery-label{position:absolute;left:16px;bottom:14px;color:#fff;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 10px #000}
.rate-section{background:var(--forest);color:#fff}.rate-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.rate-section .section-kicker{color:#c8b49a}.rate-section .muted{color:rgba(255,255,255,.62)}.price{border-top:1px solid rgba(255,255,255,.18);padding:25px 0;display:flex;align-items:end;justify-content:space-between;gap:25px}.price:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.price small{display:block;color:rgba(255,255,255,.58);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:7px}.price strong{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:500}.price span{color:rgba(255,255,255,.7);font-size:.85rem}.extras{display:grid;grid-template-columns:1fr;gap:16px}.extra{border:1px solid rgba(255,255,255,.15);padding:22px}.extra b{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.extra span{color:rgba(255,255,255,.62);font-size:.85rem}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;min-height:760px}.booking-copy{background:#e5e0d4;padding:110px 9vw;display:flex;flex-direction:column;justify-content:center}.booking-copy p{max-width:470px;color:var(--muted)}.contact{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.contact small{display:block;color:var(--moss);text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;margin-bottom:6px}.contact a{font-family:'Playfair Display',serif;font-size:1.5rem;display:block}.booking-form{background:var(--white);padding:90px 8vw;display:flex;flex-direction:column;justify-content:center;gap:17px}.field label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#566058;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #c9c7be;padding:11px 0;outline:0;color:var(--ink)}.field textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{font-size:.68rem;color:#737970;margin:0}.full{width:100%;border:0;margin-top:8px}
.location{display:grid;grid-template-columns:.9fr 1.1fr;background:#ddd9cd}.location-copy{padding:100px 9vw}.address{margin:35px 0;color:#59615a}.map{min-height:620px}.map iframe{width:100%;height:100%;min-height:620px;border:0;filter:grayscale(.85) contrast(.9)}
.policies{padding:110px 0;background:var(--paper)}.policy-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:21px 0}details:nth-child(odd){margin-right:28px}details:nth-child(even){margin-left:28px}summary{cursor:pointer;list-style:none;font-family:'Playfair Display',serif;font-size:1.45rem}summary::-webkit-details-marker{display:none}summary:after{content:'+';float:right;font-family:'DM Sans',sans-serif;font-size:1.1rem;color:var(--accent)}details[open] summary:after{content:'−'}details p{color:var(--muted);max-width:600px;font-size:.88rem;margin:12px 0 0}
.final{position:relative;min-height:620px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.final img{position:absolute;inset:0;filter:brightness(.5) saturate(.8)}.final:after{content:'';position:absolute;inset:0;background:rgba(16,26,20,.35)}.final-content{position:relative;z-index:2}.final h2{font-size:clamp(3.5rem,7vw,7rem);max-width:900px}.final p{letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.final .hero-actions{justify-content:center;margin-top:30px}
footer{background:#121a15;color:rgba(255,255,255,.62);padding:65px 5vw 30px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;font-size:.75rem}footer .brand{color:#fff;margin-bottom:8px}footer strong{color:#fff;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}footer a:hover{color:#fff}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:25px;font-size:.65rem}
.floating-wa{position:fixed;z-index:60;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#263b2d;color:#fff;display:grid;place-items:center;font-size:.68rem;letter-spacing:.08em;box-shadow:0 12px 30px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.15)}
@media(max-width:980px){.nav{padding:0 22px}.nav-links{display:none}.container{width:min(calc(100% - 32px),var(--max))}.intro-grid,.manifesto,.destination-grid,.feature,.booking,.location,.rate-wrap{grid-template-columns:1fr}.intro-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.cabin-grid{grid-template-columns:1fr}.cabin-photo{height:520px}.feature-copy,.booking-copy,.location-copy{padding:75px 8vw}.feature-image{min-height:500px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.gallery-item,.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-item:nth-child(3n){grid-column:span 2}.map{min-height:500px}.map iframe{min-height:500px}.policy-grid{grid-template-columns:1fr}details:nth-child(odd),details:nth-child(even){margin:0}}
@media(max-width:620px){h2{font-size:2.8rem}.hero{min-height:650px}.hero-content{left:22px;right:22px;bottom:100px}.hero-meta{right:22px;bottom:30px}.hero h1{font-size:5.6rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.section{padding:80px 0}.section-head{display:block;margin-bottom:35px}.section-head>p{margin-top:18px}.cabin-photo{height:430px}.two{grid-template-columns:1fr}.booking-form{padding:70px 8vw}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-item:nth-child(3n){grid-column:span 1}.rate-wrap{gap:50px}.price{display:block}.price strong{display:block;margin:3px 0}.final{min-height:540px}footer{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1}}
.cabin-detail{margin:0;color:#687068;font-size:.86rem;line-height:1.7;max-width:42rem}
