@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--pine:#202b25;--cream:#f3f0e8;--olive:#a9ad93;--ink:#29342c;--muted:#697065;--line:#d6d7cb;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.8 'Manrope',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.house-info h3,.booking-form h3{font-family:'Cormorant Garamond',Georgia,serif}h2{font-size:clamp(42px,5vw,70px);line-height:1.06;letter-spacing:-1.8px}h2 em,h1 em{font-weight:400}p{color:var(--muted)}:focus-visible{outline:2px solid #ba996a;outline-offset:5px}.section{padding:80px 24px}.section-label,.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.6}.section-label{margin-bottom:26px}.button{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 25px;min-height:58px;border:1px solid transparent;font-size:12px;font-weight:600;transition:background .3s,transform .3s;color:var(--pine)}.button span{font-size:22px;line-height:1}.button:hover{transform:translateY(-3px)}.light{background:var(--cream)}.light:hover{background:#dedbcf}.dark{background:var(--pine);color:var(--cream)}.dark:hover{background:#3c4c3d}.text-link{display:inline-flex;gap:36px;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid;padding:12px 0;background:none;font-size:12px;transition:gap .3s}.text-link:hover{gap:48px}.text-link span{font-size:22px}.header{position:absolute;top:0;left:0;right:0;z-index:10;color:white;display:flex;align-items:center;justify-content:space-between;padding:24px;gap:24px}.logo{display:flex;align-items:center;gap:12px}.logo svg{width:44px;fill:none;stroke:currentColor;stroke-width:1.3}.logo>span{font-size:23px;letter-spacing:4px;line-height:1.2}.logo small{display:block;font-size:6px;letter-spacing:1.4px;margin-top:5px}.header nav{display:none}.header-cta{display:none}.menu{background:none;border:1px solid #ffffff50;width:44px;height:44px;color:white;font-size:20px}.header nav.open{display:flex;position:absolute;top:90px;left:20px;right:20px;background:var(--pine);padding:24px;flex-direction:column;gap:15px}.hero{height:850px;min-height:700px;max-height:1100px;height:100svh;position:relative;background:var(--pine);color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;width:100%}.hero-image{object-position:58% center;animation:hero-in 2s var(--ease) both}.hero-shade{background:linear-gradient(90deg,rgba(10,22,17,.7),rgba(10,22,17,.13)),linear-gradient(0deg,rgba(10,22,17,.7),transparent 45%,rgba(10,22,17,.3))}.hero-content{position:absolute;top:29%;left:24px;right:24px;animation:content-in 1.3s var(--ease) both}.hero .eyebrow{color:#e2e4d8;font-size:8px;letter-spacing:1.6px}.dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#c2ceb4;margin-right:7px}.hero h1{font-size:clamp(53px,7.2vw,106px);line-height:.98;letter-spacing:-2px;margin:25px 0}.hero h1 em{display:inline-block}.hero-description{color:#ebeae2;font-size:12px;line-height:1.9;max-width:420px}.hero .button{width:220px;margin-top:30px}.hero-bottom{position:absolute;bottom:27px;left:24px;right:24px;display:flex;justify-content:space-between;border-top:1px solid #ffffff45;padding-top:24px;font-size:8px;letter-spacing:1.2px}.hero-bottom a span{margin-left:15px}.hero-bottom>span,.hero-note{display:none}.desktop{display:none}.about-grid{display:grid;gap:45px}.about p{max-width:460px;margin:25px 0;font-size:13px}.about-images{display:grid;grid-template-columns:1fr 1fr;gap:15px;position:relative;padding-bottom:30px}.about-images img{height:300px}.about-images img:nth-child(2){margin-top:60px;height:260px}.image-caption{position:absolute;bottom:0;font-size:8px;letter-spacing:1.2px}.houses{background:#e8e9df}.section-top{display:flex;flex-direction:column;gap:24px;margin-bottom:40px}.section-top>p{font-size:12px}.house-card{display:grid;background:var(--cream)}.house-photo{position:relative;min-width:0}.house-photo>img{height:330px}.photo-tag{position:absolute;top:20px;left:20px;background:var(--cream);font-size:8px;letter-spacing:1.5px;padding:7px 12px}.photo-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;background:var(--cream);gap:18px;font-size:9px}.photo-controls button{border:0;background:none;width:40px;height:44px;font-size:20px}.house-info{padding:32px}.house-info h3{font-size:45px;line-height:1.05;margin:15px 0 25px}.house-info>p:not(.eyebrow){font-size:12px}.features{padding:24px 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px;border-bottom:1px solid var(--line)}.features li:before{content:'↗';margin-right:8px;color:#758165}.price{display:flex;flex-direction:column;margin:24px 0}.price strong{font-size:12px;font-weight:500}.price span{font-size:10px;color:var(--muted)}.comfort{text-align:center}.comfort-grid{display:grid;gap:35px;margin-top:50px}.comfort article{padding:0 20px}.comfort article>span{font-family:Georgia,serif;font-size:25px;font-style:italic;color:#92977e}.comfort h3{font-size:15px;margin:14px 0}.comfort article p{font-size:12px;max-width:280px;margin:auto}.rest{background:var(--pine);color:var(--cream);display:grid;gap:40px}.rest-image{position:relative}.rest-image img{height:510px}.rest-image>span{position:absolute;bottom:24px;left:24px;font-size:8px;letter-spacing:1.5px;color:white}.rest .section-label{color:#bcc5b4}.rest p{color:#bfc5b8;font-size:12px}.rest h2{margin-bottom:26px}.rest-item{border-top:1px solid #526052;margin-top:25px;padding-top:20px}.rest-item h3{font-size:16px;margin-bottom:9px}.rest .text-link{margin-top:22px}.gallery-hint{font-size:8px;letter-spacing:1px;color:var(--muted)}.gallery-grid{display:grid;gap:16px}.gallery-photo{border:0;padding:0;position:relative;overflow:hidden;background:var(--pine);text-align:left}.gallery-photo img{height:310px;transition:transform 1s var(--ease),opacity .5s}.gallery-photo:hover img{transform:scale(1.045);opacity:.85}.gallery-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#152219a8)}.gallery-photo span{position:absolute;bottom:20px;left:20px;z-index:1;color:white;font-size:11px}.faq{padding-top:35px;display:grid;gap:40px}.faq>div>p:last-child{font-size:12px;margin-top:25px}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;padding:22px 30px 22px 0;position:relative;cursor:pointer;font-size:13px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;font-size:22px;top:15px}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 25px 22px 0;font-size:12px}.booking{background:var(--pine);color:var(--cream);display:grid;gap:45px}.booking .section-label{color:#bdc5b5}.booking-copy>p:not(.section-label){color:#bdc5b5;margin:25px 0}.booking #contacts{margin-top:45px}.booking address{font-style:normal;font-size:15px;line-height:1.6;margin-top:14px}.booking-form{border:1px solid #62705d;padding:28px;align-self:center}.booking-form h3{font-size:34px;line-height:1.1}.booking-form>p{color:#bdc5b5;font-size:11px;margin:10px 0 30px}.booking-form label{display:block;font-size:10px;color:#d0d7c8;letter-spacing:.5px;margin-bottom:22px}.dates{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;min-width:0;color:var(--cream);background:transparent;border:0;border-bottom:1px solid #697763;border-radius:0;padding:12px 0;font-size:12px;color-scheme:dark}.booking-form textarea{resize:vertical}.booking-form select option{background:var(--pine)}.booking-form .button{width:100%;margin-top:25px}.booking-form .form-note{font-size:9px;color:#b5bfad;line-height:1.8;margin:15px 0 0}#form-result{margin-top:24px}#form-result p{color:#c6d0be;font-size:12px}footer{background:var(--pine);color:#c2cab9;border-top:1px solid #43503f;padding:40px 24px;display:flex;flex-wrap:wrap;gap:25px;align-items:center;justify-content:space-between}footer .footer-brand{font-size:28px;letter-spacing:6px}footer p{font-size:8px;letter-spacing:1px;color:#b6c0ad;flex-basis:100%}footer>a:not(.footer-brand),footer>span{font-size:10px}.skip{position:fixed;top:-100px;background:white;color:black;padding:15px;z-index:30}.skip:focus{top:0}dialog{padding:0;border:0;background:#152219;color:white;width:min(1000px,94vw);max-height:92svh}dialog::backdrop{background:#08110ce8;backdrop-filter:blur(8px)}dialog img{object-fit:contain;max-height:80svh}dialog p{padding:12px 24px;color:white;font-size:12px}dialog button{position:absolute;right:12px;top:12px;border:1px solid #ffffff80;background:#152219c9;color:white;font-size:26px;width:44px;height:44px}.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.motion .reveal.visible{opacity:1;transform:none}@keyframes hero-in{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes content-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(min-width:760px){.section{padding:100px 6%}.header{padding:30px 4%}.header nav{display:flex;gap:25px;font-size:10px}.header nav a{border-bottom:1px solid transparent;transition:border-color .3s}.header nav a:hover{border-color:white}.menu{display:none}.header-cta{display:flex;gap:25px;align-items:center;border:1px solid #ffffff70;padding:10px 18px;font-size:10px}.hero-content{left:7%;top:30%}.hero h1{margin:22px 0 30px}.hero .eyebrow{font-size:9px}.hero-description{font-size:13px}.hero-bottom{left:4%;right:4%;font-size:8px}.hero-bottom>span{display:block}.hero-note{display:block;position:absolute;right:6%;bottom:130px;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.2}.desktop{display:block}.about-grid{grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}.about-images img{height:370px}.about-images img:nth-child(2){height:310px}.section-top{flex-direction:row;justify-content:space-between;align-items:end}.house-card{grid-template-columns:1.45fr 1fr}.house-photo>img{height:100%;min-height:540px}.house-info{padding:40px}.comfort-grid{grid-template-columns:repeat(3,1fr);gap:0}.comfort article+article{border-left:1px solid var(--line)}.rest{grid-template-columns:1fr 1fr;gap:12%;align-items:center}.rest-image img{height:650px}.rest-copy{max-width:390px}.gallery-grid{grid-template-columns:1.1fr 1fr;grid-template-rows:250px 250px}.gallery-photo.tall{grid-row:span 2}.gallery-photo img{height:100%}.faq{grid-template-columns:1fr 1fr;gap:8%}.booking{grid-template-columns:1fr 1fr;gap:12%}.booking-form{padding:42px}.booking h2{font-size:76px}footer{padding:35px 6%}footer p{flex-basis:auto;margin-right:auto}.logo>span{font-size:25px}}
@media(min-width:1400px){.section{padding-left:max(7%,calc((100vw - 1250px)/2));padding-right:max(7%,calc((100vw - 1250px)/2))}.hero-content{left:8%}.hero{min-height:800px}.house-info{padding:50px}.header nav{gap:36px}.gallery-grid{grid-template-rows:290px 290px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
