*{box-sizing:border-box} :root{--forest:#20392e;--forest-2:#314c3d;--cream:#f6f4ee;--sand:#e6dfd1;--ink:#20251f;--muted:#73776f;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} button{font:inherit}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:1rem;z-index:30;background:white;padding:1rem}.site-header{height:84px;padding:0 clamp(20px,7vw,112px);display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(32,57,46,.1)}.brand{display:flex;gap:11px;align-items:center;font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--forest)}.brand-mark{height:42px;width:42px;border:1px solid #b39d71;border-radius:50%;display:grid;place-items:center;font:600 24px var(--serif);letter-spacing:0}.brand-light{font-weight:400}.brand small{display:block;margin-top:3px;font-size:9px;letter-spacing:.2em;color:#777}.main-nav{display:flex;align-items:center;gap:36px;font-size:13px}.main-nav>a:not(.nav-book){color:#555b53;transition:color .2s}.main-nav>a:hover{color:#a18a5f}.nav-book{background:var(--forest);color:white;padding:13px 21px;border-radius:2px}.nav-book span{margin-left:9px}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--forest)}main{min-height:65vh}.hero{min-height:620px;height:min(760px,76vw);max-height:840px;position:relative;display:flex;align-items:center;color:white;background:#445546 url('assets/hero.jpg') center 53%/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,28,21,.72),rgba(15,28,21,.28) 58%,rgba(15,28,21,.04)),linear-gradient(0deg,rgba(15,28,21,.25),transparent 35%)}.hero-content{position:relative;width:min(1120px,86%);margin:0 auto;padding:40px 0}.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:#d5c29a}.hero h1{font:500 clamp(48px,7vw,88px)/1.06 var(--serif);max-width:720px;margin:18px 0}.hero p{font-size:16px;line-height:1.8;max-width:450px;color:rgba(255,255,255,.88)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;padding:15px 23px;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:.2s}.button-light{background:#f4efe4;color:var(--forest);margin-top:20px}.button-light:hover{background:white;transform:translateY(-2px)}.button-dark{background:var(--forest);color:white}.button-dark:hover{background:#385844}.button-outline{background:transparent;border-color:#c8c2b5;color:var(--ink)}.section{padding:94px max(7vw,24px)}.section-inner{max-width:1180px;margin:auto}.section-heading{text-align:center;max-width:700px;margin:0 auto 44px}.section-heading .eyebrow{color:#9c8357}.section-heading h2,.editorial h2,.page-title{font:500 clamp(34px,4vw,52px)/1.15 var(--serif);color:var(--forest);margin:13px 0}.section-heading p,.editorial p,.page-intro{font-size:14px;line-height:1.9;color:var(--muted)}.cabin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cabin-card{background:white;min-width:0}.cabin-image{display:block;height:265px;overflow:hidden;background:#d9d6ca;position:relative}.cabin-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.cabin-card:hover .cabin-image img{transform:scale(1.045)}.card-number{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.93);padding:7px 10px;font-size:10px;letter-spacing:.1em;color:var(--forest)}.cabin-info{padding:22px 23px 24px}.cabin-info h3{font:500 25px var(--serif);color:var(--forest);margin:0 0 9px}.card-meta{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.stars{color:#b18e4e;letter-spacing:.08em}.card-bottom{margin-top:20px;padding-top:16px;border-top:1px solid #eceae4;display:flex;justify-content:space-between;align-items:center;font-size:11px}.text-link{color:var(--forest);font-weight:700}.text-link span{margin-left:7px}.center-action{text-align:center;margin-top:40px}.experience{background:#eae7de;display:grid;grid-template-columns:1fr 1fr;min-height:490px}.experience-image{background:url('assets/terra.jpg') center/cover;min-height:420px}.experience-copy{padding:70px clamp(30px,8vw,120px);align-self:center}.experience-copy h2{font:500 clamp(34px,4vw,50px)/1.15 var(--serif);color:var(--forest);margin:16px 0}.experience-copy p{font-size:14px;line-height:1.9;color:#6f756d}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd8ca;border:1px solid #ddd8ca;margin-top:35px}.amenity{background:var(--cream);padding:28px 20px;text-align:center}.amenity-icon{font-size:24px;color:#9d865b}.amenity strong{display:block;margin-top:13px;font-size:12px;font-weight:600}.extra-band{padding:54px 7vw;background:var(--forest);color:white;display:flex;justify-content:center;align-items:center;gap:55px;flex-wrap:wrap}.extra-band span{display:flex;align-items:center;gap:10px;font-size:12px}.extra-band .eyebrow{color:#d5c29a}.editorial{max-width:780px;margin:0 auto;padding:85px 24px;text-align:center}.editorial h2{font-size:40px}.page-hero{background:#eae7de;padding:62px 24px;text-align:center}.page-title{margin:0}.page-intro{max-width:700px;margin:18px auto 0}.page-content{max-width:1180px;margin:auto;padding:50px 24px 90px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-tile{height:260px;position:relative;overflow:hidden;background:#ddd}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile span{position:absolute;left:0;right:0;bottom:0;padding:38px 18px 16px;color:white;font:22px var(--serif);background:linear-gradient(transparent,rgba(0,0,0,.65))}.detail-top{max-width:1120px;margin:38px auto 0;padding:0 24px}.back-link{font-size:12px;color:var(--muted)}.detail-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 0}.detail-title-row h1{font:500 clamp(35px,5vw,54px) var(--serif);color:var(--forest);margin:0}.detail-title-row p{color:var(--muted);font-size:12px}.detail-photo{height:490px;background:#d9d6ca;overflow:hidden}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-meta{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid #ddd8ca;font-size:12px;color:#666}.detail-layout{max-width:1120px;margin:0 auto;padding:48px 24px 90px;display:grid;grid-template-columns:1fr 310px;gap:65px}.detail-copy h2{font:500 31px var(--serif);color:var(--forest);margin:0 0 18px}.detail-copy p,.detail-copy li{font-size:14px;line-height:1.9;color:#666}.detail-copy ul{padding-left:20px}.detail-booking{background:white;padding:25px;height:max-content;position:sticky;top:105px}.detail-booking strong{font:24px var(--serif);color:var(--forest)}.detail-booking p{font-size:12px;line-height:1.7;color:#73776f}.detail-booking .button{width:100%}.legal-content{max-width:850px;margin:auto;padding:45px 24px 90px}.legal-content h2{font:500 25px var(--serif);color:var(--forest);margin-top:36px}.legal-content p,.legal-content li{color:#63695f;font-size:14px;line-height:1.9}.site-footer{background:#172a21;color:white;padding:54px max(7vw,24px) 26px}.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-brand{font:500 28px var(--serif)}.footer-brand small{display:block;font:10px var(--sans);letter-spacing:.2em;color:#c5b58f;margin-top:8px}.site-footer p,.site-footer a{font-size:12px;line-height:2;color:#d1d6d0}.site-footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#c5b58f}.footer-links{display:grid;gap:4px}.copyright{max-width:1180px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:10px;color:#aeb6af}.cookie-banner{position:fixed;z-index:20;bottom:18px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 28px));background:white;box-shadow:0 12px 50px #0002;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner[hidden]{display:none}.cookie-banner strong{font:19px var(--serif);color:var(--forest)}.cookie-banner p{font-size:11px;color:#70756e;margin:6px 0 0}.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-actions .button{padding:11px 14px}.not-found{text-align:center;padding:110px 20px}.not-found h1{font:44px var(--serif);color:var(--forest)}
@media(max-width:820px){.main-nav{gap:20px}.cabin-grid{grid-template-columns:repeat(2,1fr)}.experience{grid-template-columns:1fr}.experience-image{min-height:340px}.experience-copy{padding:55px 8vw}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:first-child{grid-column:1/-1}.detail-layout{grid-template-columns:1fr 260px;gap:25px}.hero{height:680px}.amenity-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-header{height:70px;padding:0 20px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:20px;box-shadow:0 8px 20px #0001;align-items:stretch;gap:0;flex-direction:column}.main-nav.open{display:flex}.main-nav>a{padding:14px 5px}.main-nav .nav-book{text-align:center;margin-top:10px}.hero{min-height:600px;height:calc(100svh - 70px);background-position:58% center}.hero-content{width:86%}.hero p{font-size:14px}.section{padding:68px 20px}.cabin-grid{grid-template-columns:1fr;gap:18px}.cabin-image{height:250px}.section-heading{margin-bottom:30px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.extra-band{gap:20px;align-items:flex-start;flex-direction:column;padding:38px 9vw}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-tile{height:180px}.gallery-tile span{font-size:17px;padding:30px 12px 12px}.detail-top{margin-top:24px;padding:0 18px}.detail-title-row{align-items:flex-start;flex-direction:column}.detail-photo{height:320px}.detail-meta{gap:13px;flex-wrap:wrap}.detail-layout{grid-template-columns:1fr;padding:35px 20px 65px}.detail-booking{position:static;order:-1}.footer-inner{grid-template-columns:1fr;gap:22px}.footer-inner>div:first-child{grid-column:auto}.site-footer{padding:45px 24px 22px}.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-actions{width:100%}.cookie-actions .button{flex:1}.page-hero{padding:48px 20px}.page-content{padding:35px 16px 65px}}
