:root{--green:#2f4f3a;--green-dark:#20382a;--sage:#dce5d8;--gold:#b68a4a;--cream:#f7f4ee;--sand:#efe9dd;--ink:#263229;--muted:#6f756f;--white:#fff;--line:#ddd9ce;--shadow:0 18px 60px rgba(38,50,41,.12);--radius:18px;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0 0 16px;color:var(--green-dark)}h1{font-size:clamp(42px,6vw,78px);letter-spacing:-.035em}h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.025em}h3{font-size:28px}p{margin:0 0 18px}.container{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--gold);margin-bottom:15px}.eyebrow:before{content:"";width:30px;height:1px;background:currentColor}.section{padding:110px 0}.section-heading{max-width:650px;margin-bottom:46px}.section-heading.center{margin-left:auto;margin-right:auto;text-align:center}.section-heading.center .eyebrow{justify-content:center}.section-heading p{color:var(--muted);max-width:560px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 23px;border-radius:8px;background:var(--green);color:#fff;font-size:14px;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,79,58,.2)}.btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}.btn.secondary:hover{background:#fff;color:var(--green)}.btn.outline{background:transparent;color:var(--green);border:1px solid var(--green)}.btn.outline:hover{background:var(--green);color:#fff}.text-link{color:var(--green);font-weight:700;font-size:14px}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;padding:21px 0;color:#fff;transition:.3s}.site-header.scrolled{background:rgba(247,244,238,.97);box-shadow:0 4px 24px rgba(38,50,41,.09);padding:12px 0;color:var(--ink);backdrop-filter:blur(12px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font:600 23px var(--serif);white-space:nowrap}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;font:700 14px var(--sans)}.nav-links{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:600}.nav-links a{opacity:.9;transition:.2s}.nav-links a:hover,.nav-links a.active{color:var(--gold);opacity:1}.nav-book{min-height:42px;padding:0 17px}.menu-toggle{display:none;background:transparent;color:inherit;font-size:25px}.hero{min-height:690px;display:flex;align-items:center;position:relative;background-size:cover;background-position:center;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,34,26,.73),rgba(22,34,26,.18) 70%),linear-gradient(0deg,rgba(22,34,26,.35),transparent 50%)}.hero-inner{position:relative;padding-top:74px;max-width:720px}.hero .eyebrow{color:#e5c68d}.hero h1,.hero p{color:#fff}.hero p{font-size:18px;max-width:530px;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:13px;margin-top:28px}.scroll-cue{position:absolute;bottom:27px;left:50%;font-size:11px;letter-spacing:.14em;text-transform:uppercase;transform:translateX(-50%);opacity:.8;display:flex;flex-direction:column;align-items:center;gap:7px}.scroll-cue span{width:1px;height:35px;background:#fff}.booking-search{position:relative;margin-top:-42px;z-index:2}.search-card{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr auto;gap:0;background:#fff;border-radius:12px;padding:10px;box-shadow:var(--shadow)}.field{padding:10px 17px;border-right:1px solid var(--line)}.field label,.form-field label{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:4px}.field input,.field select,.form-field input,.form-field select,.form-field textarea{width:100%;border:0;background:transparent;color:var(--ink);outline:0;font-size:14px}.field input,.field select{padding:0}.search-card .btn{margin:0;white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.photo-stack{position:relative;padding:0 42px 42px 0}.photo-stack img{width:100%;height:500px;object-fit:cover;border-radius:12px}.photo-stack:after{content:"";position:absolute;right:0;bottom:0;width:48%;height:48%;border:1px solid var(--gold);border-radius:12px;z-index:-1}.feature-list{list-style:none;padding:0;margin:25px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:12px;color:var(--muted);font-size:14px}.feature-list li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:9px;border-radius:50%;background:var(--sage);color:var(--green);font-weight:700}.tint{background:var(--sand)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid rgba(47,79,58,.08);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(38,50,41,.05)}.room-card{position:relative;transition:.3s}.room-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.room-card .card-image{height:265px;overflow:hidden;position:relative}.room-card .card-image img{height:100%;width:100%;object-fit:cover;transition:.6s}.room-card:hover .card-image img{transform:scale(1.045)}.card-body{padding:23px}.room-card h3{font-size:25px}.room-card p{font-size:14px;color:var(--muted)}.badge{position:absolute;top:15px;left:15px;background:#fff;color:var(--green);border-radius:30px;padding:7px 12px;font-size:11px;font-weight:700}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:17px 0}.meta span{display:flex;align-items:center;gap:5px}.price{font:600 19px var(--serif);color:var(--green-dark)}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:38px}.stat{padding:26px 16px;background:#fff;border-radius:12px;text-align:center}.stat strong{display:block;color:var(--green);font:600 34px var(--serif)}.stat span{font-size:12px;color:var(--muted)}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.icon-card{padding:25px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;transition:.25s}.icon-card:hover{border-color:var(--gold);transform:translateY(-3px)}.icon{width:41px;height:41px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--green);margin-bottom:16px}.icon svg{width:21px;height:21px}.icon-card h3{font:600 17px var(--sans);margin-bottom:6px}.icon-card p{color:var(--muted);font-size:13px;margin:0}.wide-image{height:370px;background-size:cover;background-position:center;border-radius:14px;display:flex;align-items:end;padding:32px;color:#fff;position:relative;overflow:hidden}.wide-image:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,35,25,.68),transparent 70%)}.wide-image>*{position:relative}.experience-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr;grid-auto-rows:230px;gap:15px}.experience-grid .wide-image:first-child{grid-row:span 2}.review{padding:28px;background:#fff;border-radius:12px}.stars{color:var(--gold);letter-spacing:3px;font-size:14px}.review p{font:italic 18px/1.5 var(--serif);margin:20px 0}.review small{color:var(--muted)}.cta{padding:85px 0;background:var(--green);color:#fff;text-align:center}.cta h2{color:#fff;max-width:620px;margin:0 auto 22px}.cta p{color:rgba(255,255,255,.72);max-width:500px;margin:0 auto 28px}.site-footer{padding:70px 0 20px;background:var(--green-dark);color:rgba(255,255,255,.68)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.site-footer h3{font:700 12px var(--sans);color:#fff;text-transform:uppercase;letter-spacing:.13em;margin-bottom:20px}.site-footer .brand{color:#fff;margin-bottom:16px}.site-footer p{font-size:13px;max-width:280px}.footer-links{display:grid;gap:8px;font-size:13px}.footer-links a:hover{color:#fff}.socials{display:flex;gap:10px;margin-top:18px}.socials a{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:11px}.copyright{border-top:1px solid rgba(255,255,255,.13);margin-top:48px;padding-top:17px;font-size:12px;display:flex;justify-content:space-between;gap:15px}.page-hero{padding:175px 0 80px;background:var(--green);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-120px;top:-170px}.page-hero h1{color:#fff;font-size:clamp(42px,6vw,67px);max-width:700px}.page-hero p{color:rgba(255,255,255,.72);max-width:570px;font-size:17px}.filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-btn{padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:13px}.filter-btn.active,.filter-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.detail-gallery{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:220px 220px;gap:10px;margin-bottom:25px}.gallery-main{grid-row:span 2;position:relative;overflow:hidden;border-radius:14px}.gallery-main img,.gallery-side img{width:100%;height:100%;object-fit:cover}.gallery-side{border-radius:12px;overflow:hidden;position:relative}.gallery-main button{position:absolute;right:18px;bottom:18px;background:rgba(255,255,255,.94);color:var(--green);padding:10px 15px;border-radius:6px;font-size:12px;font-weight:700}.thumbs{display:flex;gap:9px;overflow:auto;padding-bottom:5px}.thumbs button{border:2px solid transparent;border-radius:7px;padding:0;min-width:88px;height:62px;overflow:hidden;background:none}.thumbs button.active{border-color:var(--gold)}.thumbs img{width:100%;height:100%;object-fit:cover}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:65px;align-items:start}.detail-title{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:27px}.rating{color:var(--gold);font-size:14px}.rating small{color:var(--muted);letter-spacing:0}.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 55px}.highlight{padding:19px;background:#fff;border:1px solid var(--line);border-radius:10px}.highlight strong{display:block;color:var(--green-dark);font-size:13px}.highlight span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.detail-section{margin:50px 0}.detail-section>h2{font-size:32px}.detail-section p{color:var(--muted);max-width:680px}.amenity-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.amenity-group{border-top:2px solid var(--gold);padding-top:16px}.amenity-group h3{font:700 14px var(--sans);text-transform:uppercase;letter-spacing:.08em}.amenity-group ul{padding:0;margin:0;list-style:none;color:var(--muted);font-size:13px;display:grid;gap:7px}.amenity-group li:before{content:"✓";color:var(--gold);margin-right:8px;font-weight:700}.booking-card{position:sticky;top:100px;background:#fff;padding:27px;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line)}.booking-card h3{font-size:25px}.booking-price{font:600 30px var(--serif);color:var(--green-dark)}.booking-price small{font:400 13px var(--sans);color:var(--muted)}.booking-card .form-field{border:1px solid var(--line);border-radius:7px;padding:9px 12px;margin-top:12px}.booking-card .btn{width:100%;margin-top:17px}.summary{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;font-size:13px}.summary div{display:flex;justify-content:space-between;margin:7px 0;color:var(--muted)}.summary .total{font-weight:700;color:var(--ink);font-size:15px;border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.form-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.steps{display:flex;gap:0;margin-bottom:30px}.step{flex:1;color:var(--muted);font-size:12px;border-bottom:2px solid var(--line);padding-bottom:12px}.step.active{color:var(--green);border-color:var(--gold);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{background:#faf9f6;border:1px solid var(--line);border-radius:7px;padding:10px 13px}.form-field.full{grid-column:1/-1}.form-field textarea{min-height:100px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--sage);outline-offset:2px}.form-card .btn{margin-top:22px}.note{font-size:12px;color:var(--muted);margin-top:12px}.success-card{text-align:center;max-width:720px;margin:auto;padding:55px 35px;background:#fff;border-radius:18px;box-shadow:var(--shadow)}.success-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font-size:35px;margin:0 auto 25px}.success-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:30px 0;text-align:left;border:1px solid var(--line)}.success-details div{padding:15px;background:#fff}.success-details small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.success-details strong{font-size:14px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-grid img{height:360px;width:100%;object-fit:cover;border-radius:12px}.story-grid img.tall{height:500px}.facility-card{min-height:280px;padding:0;position:relative;overflow:hidden;background-size:cover;background-position:center;color:#fff}.facility-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,34,26,.8),transparent 75%)}.facility-card .card-body{position:absolute;bottom:0;z-index:1}.facility-card h3{color:#fff;font-size:24px}.facility-card p{color:rgba(255,255,255,.75);font-size:13px}.masonry{columns:3 260px;column-gap:15px}.masonry figure{break-inside:avoid;margin:0 0 15px;position:relative;cursor:pointer;overflow:hidden;border-radius:10px}.masonry img{width:100%;transition:.5s}.masonry figure:hover img{transform:scale(1.04)}.masonry figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 16px 13px;color:#fff;font-size:12px;background:linear-gradient(transparent,rgba(0,0,0,.7))}.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.offer{padding:30px;background:var(--green);color:#fff;border-radius:15px;position:relative;overflow:hidden}.offer:nth-child(even){background:#b68a4a}.offer:after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-55px;bottom:-70px}.offer h3{color:#fff}.offer p{color:rgba(255,255,255,.76);max-width:420px}.offer .btn{background:#fff;color:var(--green);margin-top:9px}.faq-list{max-width:820px;margin:auto}.faq-item{background:#fff;border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;background:#fff;color:var(--ink);text-align:left;padding:21px 22px;font-weight:700}.faq-question span{font-size:22px;color:var(--gold);transition:.2s}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s;padding:0 22px;color:var(--muted);font-size:14px}.faq-item.open .faq-answer{max-height:150px;padding-bottom:21px}.faq-item.open .faq-question span{transform:rotate(45deg)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.contact-list{display:grid;gap:23px;margin-top:30px}.contact-item{display:flex;gap:14px}.contact-item .icon{flex:0 0 auto;margin:0}.contact-item strong{display:block;font-size:14px}.contact-item span{display:block;color:var(--muted);font-size:13px}.map-placeholder{height:240px;margin-top:30px;border-radius:12px;background:linear-gradient(135deg,#d9e4d4,#bccdb8);display:grid;place-items:center;color:var(--green);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.legal{max-width:800px}.legal h2{font-size:30px;margin-top:45px}.legal p,.legal li{color:var(--muted);font-size:14px}.legal ul{padding-left:20px}.lightbox{position:fixed;inset:0;background:rgba(13,20,16,.94);z-index:30;display:none;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox img{max-width:min(1000px,90vw);max-height:78vh;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;color:#fff;background:transparent;font-size:28px;padding:12px}.lightbox-close{right:20px;top:12px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-counter{position:absolute;bottom:18px;color:#fff;font-size:13px}.toast{position:fixed;bottom:25px;right:25px;z-index:40;background:var(--green-dark);color:#fff;border-radius:8px;padding:15px 19px;box-shadow:var(--shadow);font-size:13px;display:none}.toast.show{display:block}