:root{--green:#17372f;--green2:#244a40;--cream:#f1ece1;--paper:#faf8f2;--terracotta:#bb6749;--ink:#17342e;--muted:#6d7771}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.site-header{height:92px;padding:0 6vw;display:flex;align-items:center;position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid #ffffff2e;transition:.3s}.site-header.scrolled{position:fixed;background:#17372ff2;height:76px}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.12em}.brand small{display:block;font-size:7px;letter-spacing:.26em;margin-top:5px;font-weight:500}.brand-mark{width:42px;height:42px;border:1px solid currentColor;display:grid;place-items:center;font:600 22px "Fraunces",serif}.main-nav{display:flex;gap:35px;margin-left:auto;margin-right:45px}.main-nav a,.header-cta{color:inherit;text-decoration:none;font-size:11px;letter-spacing:.12em}.header-cta{border:1px solid #ffffff65;padding:14px 18px}.header-cta span{margin-left:22px}.menu-toggle{display:none}.hero{min-height:860px;background:var(--green);color:white;position:relative;overflow:hidden;padding:190px 7vw 150px}.hero-grid{position:absolute;inset:0;opacity:.07;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.hero:after{content:"";position:absolute;width:650px;height:650px;border:1px solid #ffffff14;border-radius:50%;right:-120px;top:120px;box-shadow:0 0 0 100px #ffffff05,0 0 0 200px #ffffff03}.hero-copy{position:relative;z-index:2;width:53%;padding-top:50px}.eyebrow{font-size:10px;letter-spacing:.28em}.eyebrow span{display:inline-block;width:35px;height:1px;background:#c99b72;vertical-align:middle;margin-right:12px}.hero h1,.intro h2,.location h2,.contact h2{font:500 clamp(64px,7.2vw,106px)/.98 "Fraunces",serif;letter-spacing:-.035em;margin:25px 0}.hero h1 em,.intro h2 em,.location h2 em,.contact h2 em{font-weight:500;color:#d29b7f}.lead{max-width:530px;font:18px/1.7 "Fraunces",serif;color:#c4d0ca;margin:35px 0}.hero-actions{display:flex;gap:12px}.hero-actions a{padding:18px 24px;text-decoration:none;font-size:10px;letter-spacing:.13em}.primary{background:var(--terracotta);color:white}.primary span{margin-left:30px}.secondary{border:1px solid #ffffff55;color:white}.hero-card{position:absolute;z-index:2;width:32vw;max-width:500px;right:7vw;top:170px;background:var(--cream);padding:18px;color:var(--ink);transform:rotate(1.5deg);box-shadow:0 35px 80px #051b1770}.facade-art{height:390px;background:#536b63;position:relative;overflow:hidden;border:10px solid #dfd4c0}.facade-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 49px,#ffffff12 50px),linear-gradient(90deg,#314f47,#7d8c77)}.door{position:absolute;width:34%;height:72%;bottom:0;left:33%;background:#172c29;border:10px solid #b5966e;box-shadow:0 0 28px #e4a35977}.door:before{content:"";position:absolute;inset:9px;background:linear-gradient(#253c37 55%,#b9a384 56%)}.door i{position:absolute;z-index:2;color:#efd7ae;top:20%;left:42%;font:32px "Fraunces"}.window{position:absolute;width:20%;height:36%;top:18%;background:linear-gradient(#27443e,#d9af74);border:7px solid #b99a74}.window.one{left:5%}.window.two{right:5%}.plant{position:absolute;bottom:0;width:60px;height:100px;background:#263f34;border-radius:70% 20% 60% 25%}.plant:after{content:"";position:absolute;bottom:0;width:65px;height:34px;background:#8c583f}.p1{left:18%}.p2{right:17%}.card-caption{display:flex;justify-content:space-between;align-items:flex-end;padding:20px 8px 8px}.card-caption p{margin:0;font:23px/1.2 "Fraunces"}.card-caption span{font-size:8px;line-height:1.8;letter-spacing:.14em;color:#776d61}.trust-strip{position:absolute;z-index:3;left:7vw;bottom:50px;display:flex;align-items:center;gap:27px}.trust-strip div{display:flex;align-items:center;gap:13px}.trust-strip strong{font:36px "Fraunces";color:#dbac8e}.trust-strip span{font-size:8px;line-height:1.5;letter-spacing:.16em;color:#aabdb7}.trust-strip i{width:1px;height:35px;background:#ffffff28}.section-label{font-size:9px;letter-spacing:.23em;color:#8c8377}.section-label span{display:inline-block;width:30px;height:1px;background:#b4aa9b;margin:0 10px;vertical-align:middle}.intro{padding:140px 8vw;display:grid;grid-template-columns:.5fr 1.45fr .7fr;gap:5vw}.intro-title>p{font:italic 17px/1.5 "Fraunces";color:#a15f47;margin:0 0 25px}.intro h2{font-size:clamp(48px,5.1vw,75px)}.intro-text{padding-top:75px}.intro-text p{font:17px/1.75 "Fraunces";color:#64716c}.intro-text a,.location-copy a{display:inline-block;margin-top:25px;color:var(--ink);font-size:9px;letter-spacing:.18em;text-decoration:none;border-bottom:1px solid #b9987e;padding-bottom:9px}.intro-text a span,.location-copy a span{margin-left:20px}.features{display:grid;grid-template-columns:repeat(3,1fr);padding:0 8vw 140px}.features article{border-top:1px solid #d6d0c4;padding:35px 4vw 10px 0;position:relative}.features article+article{padding-left:4vw;border-left:1px solid #d6d0c4}.features article>span{font:italic 13px "Fraunces";color:#b06b50}.features .icon{font:35px "Fraunces";margin:42px 0 20px}.features h3{font:26px "Fraunces";margin:0 0 15px}.features p{font-size:13px;line-height:1.7;color:var(--muted);max-width:280px}.location{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--green);color:white;padding:120px 8vw;gap:9vw}.section-label.light{color:#9eb0aa}.location h2{font-size:clamp(52px,5.3vw,80px);margin:70px 0 35px}.location-copy>p{font:14px/1.9 "DM Sans";color:#b6c4bf}.location-copy a{color:white}.map{min-height:500px;position:relative;overflow:hidden;background:#d5d0c1;color:var(--ink);text-decoration:none}.map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(35deg,transparent 48%,#aba597 49%,#aba597 51%,transparent 52%),linear-gradient(125deg,transparent 48%,#b6b0a3 49%,#b6b0a3 51%,transparent 52%);background-size:120px 120px}.road{position:absolute;background:#f3eee3;box-shadow:0 0 0 1px #c0baae}.r1{width:140%;height:23px;top:28%;left:-10%;transform:rotate(13deg)}.r2{width:120%;height:18px;top:64%;left:-10%;transform:rotate(-17deg)}.r3{height:130%;width:17px;left:35%;top:-10%;transform:rotate(6deg)}.r4{height:120%;width:22px;right:20%;top:-10%;transform:rotate(-12deg)}.pin{position:absolute;z-index:2;left:53%;top:43%;width:72px;height:72px;border-radius:50% 50% 50% 0;background:var(--terracotta);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 12px 30px #5d3c3150}.pin span{transform:rotate(45deg);color:white;font:32px "Fraunces"}.map p{position:absolute;z-index:2;left:30px;bottom:20px;font-size:11px;font-weight:600;letter-spacing:.15em}.map small{font-size:8px;font-weight:400}.contact{text-align:center;padding:140px 6vw;background:var(--cream)}.contact h2{font-size:clamp(58px,6vw,88px)}.contact-actions{display:flex;justify-content:center;gap:12px;margin-top:55px}.contact-actions a{min-width:260px;padding:20px 28px;background:var(--green);color:white;text-decoration:none;font-size:11px;letter-spacing:.12em;display:flex;justify-content:space-between}.contact-actions a+ a{background:var(--terracotta)}footer{background:#0f2923;color:white;padding:55px 7vw;display:flex;align-items:center;justify-content:space-between}footer p,footer>div a{font-size:9px;color:#99aaa5;letter-spacing:.13em;text-decoration:none}footer>div{display:flex;gap:25px}
@media(max-width:820px){.site-header{height:76px;padding:0 20px}.main-nav,.header-cta{display:none}.menu-toggle{display:flex;margin-left:auto;background:none;border:0;flex-direction:column;gap:7px}.menu-toggle span{width:25px;height:1px;background:white}.main-nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--green);padding:30px;flex-direction:column}.hero{min-height:1050px;padding:140px 24px 150px}.hero-copy{width:100%;padding:0}.hero h1{font-size:57px}.lead{font-size:16px}.hero-card{position:relative;width:100%;right:auto;top:auto;margin:70px 0 0}.facade-art{height:330px}.trust-strip{left:24px;bottom:50px;gap:13px}.trust-strip strong{font-size:27px}.trust-strip span{font-size:7px}.intro{padding:100px 24px;grid-template-columns:1fr}.intro-title{margin-top:35px}.intro-text{padding-top:0}.features{grid-template-columns:1fr;padding:0 24px 90px}.features article,.features article+article{padding:35px 0;border-left:0}.location{grid-template-columns:1fr;padding:90px 24px}.map{min-height:370px}.contact{padding:100px 24px}.contact-actions{flex-direction:column}.contact-actions a{min-width:0}footer{padding:45px 24px;flex-wrap:wrap;gap:30px}footer>p{order:3;width:100%}}

/* Reservation bar & final polish */
.booking-panel{position:relative;z-index:5;width:min(1180px,88%);min-height:118px;margin:-54px auto 0;background:#fff;box-shadow:0 24px 70px #17372f20;display:grid;grid-template-columns:1.35fr 1fr 1fr .8fr 1.15fr;align-items:stretch;border-bottom:3px solid var(--terracotta)}
.booking-panel>*{min-width:0}.booking-intro{background:var(--cream);padding:28px 32px;display:flex;justify-content:center;flex-direction:column}.booking-intro span,.booking-panel label{font-size:8px;letter-spacing:.18em;color:#8a8175}.booking-intro strong{font:21px "Fraunces";margin-top:7px;color:var(--ink)}
.booking-panel label{padding:30px 23px;border-right:1px solid #e5e0d6;display:flex;flex-direction:column;gap:13px}.booking-panel input,.booking-panel select{border:0;background:transparent;color:var(--ink);font:500 13px "DM Sans";outline:0;width:100%;color-scheme:light}.booking-panel button{border:0;background:var(--terracotta);color:#fff;font:600 9px "DM Sans";letter-spacing:.14em;cursor:pointer;transition:.25s}.booking-panel button:hover{background:#a9573c}.booking-panel button span{margin-left:18px;font-size:16px}
.hero-copy{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}.hero-card{animation:cardIn .8s .12s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{from{opacity:0;transform:rotate(1.5deg) translateY(18px)}to{opacity:1;transform:rotate(1.5deg) translateY(0)}}
a,button{transition:opacity .2s,background-color .2s,transform .2s}a:hover{opacity:.8}.primary:hover,.contact-actions a:hover{opacity:1;transform:translateY(-2px)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #d59a78;outline-offset:4px}
.mobile-contact{display:none}.site-header.scrolled{box-shadow:0 8px 35px #071d1728}.map{transition:filter .25s}.map:hover{opacity:1;filter:brightness(1.03)}
@media(max-width:1050px) and (min-width:821px){.booking-panel{width:94%;grid-template-columns:1.2fr 1fr 1fr .8fr 1fr}.booking-intro{padding:24px 20px}.booking-panel label{padding:30px 14px}}
@media(max-width:820px){body{padding-bottom:68px}.booking-panel{width:calc(100% - 32px);margin:-36px auto 0;grid-template-columns:1fr 1fr}.booking-intro{grid-column:1/-1;padding:22px}.booking-panel label{padding:22px 18px}.booking-panel label:nth-of-type(3){grid-column:1/-1}.booking-panel button{grid-column:1/-1;height:58px}.intro{padding-top:90px}.mobile-contact{position:fixed;display:flex;z-index:50;bottom:0;left:0;right:0;height:68px;background:var(--terracotta);color:#fff;text-decoration:none;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 -8px 30px #17372f25}.mobile-contact span{font-size:9px;letter-spacing:.17em}.mobile-contact strong{font-size:13px;letter-spacing:.05em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-card{animation:none}*{transition:none!important}}

/* Authentic hotel photography */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;z-index:0}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b241fe8 0%,#102f28b9 43%,#102f284f 70%,#102f2875 100%),linear-gradient(0deg,#0b241fc9 0%,transparent 42%)}.hero-grid{z-index:1}.hero-card{margin:0}.hero-card>img{display:block;width:100%;height:390px;object-fit:cover}.hero:after{z-index:1}.hero-copy,.trust-strip{z-index:3}
.exterior-strip{height:620px;position:relative;overflow:hidden;color:white}.exterior-strip>img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.exterior-strip:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d28228f,transparent 65%),linear-gradient(0deg,#0c261f70,transparent)}.exterior-strip>div{position:absolute;z-index:2;left:8vw;bottom:70px}.exterior-strip span{font-size:9px;letter-spacing:.23em}.exterior-strip p{font:36px/1.15 "Fraunces";margin:15px 0 0}.exterior-strip strong{font-weight:500;color:#efc19e}
.rooms-showcase{padding:130px 8vw 145px;background:#f5f1e8}.showcase-head{display:grid;grid-template-columns:.55fr 1.3fr .65fr;gap:5vw;align-items:end;margin-bottom:70px}.showcase-head>div>p{font:italic 17px "Fraunces";color:#a15f47;margin:0 0 18px}.showcase-head h2,.garden-title h2{font:500 clamp(48px,5.3vw,78px)/1 "Fraunces";letter-spacing:-.035em;margin:0}.showcase-head h2 em,.garden-title h2 em{color:#c27859;font-weight:500}.showcase-head>p{font:15px/1.75 "Fraunces";color:#68746f;margin:0}.room-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,310px);gap:18px}.room-gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.room-gallery .room-large{grid-row:1/3}.room-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.room-gallery figure:hover img,.garden-grid figure:hover img{transform:scale(1.025)}.room-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:45px 28px 24px;color:#fff;background:linear-gradient(transparent,#102820d6);display:grid;grid-template-columns:auto 1fr;column-gap:13px}.room-gallery figcaption span{grid-row:1/3;font:italic 14px "Fraunces";color:#e3a987}.room-gallery figcaption strong{font:22px "Fraunces"}.room-gallery figcaption small{font-size:9px;letter-spacing:.12em;margin-top:5px;color:#d5dfda}
.garden-showcase{background:var(--green);color:#fff;padding:125px 8vw}.garden-title{display:grid;grid-template-columns:.55fr 1.3fr .65fr;gap:5vw;align-items:end;margin-bottom:70px}.garden-title>p{color:#b6c5bf;font:15px/1.7 "Fraunces"}.garden-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,280px);gap:18px}.garden-grid figure{margin:0;overflow:hidden}.garden-grid .garden-main{grid-row:1/3}.garden-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
@media(max-width:820px){.hero-photo{object-position:37% center}.hero:before{background:linear-gradient(180deg,#0b241fc9 0%,#102f2875 58%,#0b241fe6 100%)}.hero-card>img{height:330px}.exterior-strip{height:470px}.exterior-strip>img{object-position:58% center}.exterior-strip>div{left:24px;bottom:42px}.rooms-showcase,.garden-showcase{padding:90px 24px}.showcase-head,.garden-title{grid-template-columns:1fr;gap:28px;margin-bottom:45px}.showcase-head>p,.garden-title>p{max-width:500px}.room-gallery,.garden-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-24px;padding-right:24px}.room-gallery figure,.room-gallery .room-large,.garden-grid figure,.garden-grid .garden-main{flex:0 0 86%;height:420px;scroll-snap-align:start}.garden-grid figure{height:390px}.room-gallery figcaption strong{font-size:19px}}
