@import url('booking.css');
:root{--paper:#efefe8;--pine:#2f3a28;--ink:#2b3427;--sage:#d9dec7;--sea:#c5d4bb;--soft:#e2e5d9;--white:#fff;--error:#9f3029;--accent:#e7edb6;--gutter:clamp(22px,4vw,64px);--small:14px;--body:17px;--lead:23px;--head:clamp(50px,6.5vw,94px);--display:28vw;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.65 var(--sans)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;text-wrap:balance;line-height:.99}h2{font-size:var(--head)}h3{font-size:40px}p{text-wrap:pretty}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-underline-offset:6px}button{border:0;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a,button{transition:transform .25s var(--ease),opacity .25s}a:hover{opacity:.8}button:active{transform:translateY(2px)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sea);outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pine);outline-offset:3px}::selection{background:var(--sage);color:var(--ink)}.frame{padding-inline:var(--gutter)}.section{margin-top:150px}.skip-link{position:fixed;top:-100px;left:var(--gutter);z-index:100;padding:16px 22px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:10px}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:16px 28px;background:var(--pine);color:var(--paper);font-size:14px;font-weight:500;border-radius:999px;text-decoration:none;white-space:nowrap;transition:transform .3s var(--ease),background .25s,color .25s}.button:hover{transform:translateY(-3px);background:#414c35}.button span{font-size:21px;line-height:1}.button.light{background:var(--paper);color:var(--pine)}.button.light:hover{background:var(--accent)}.text-action{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:0 0 8px;background:transparent;font-size:15px;text-decoration:underline;text-underline-offset:8px}.text-action span{font-size:23px}.text-action:hover span{transform:translate(3px,-3px)}.wordmark{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-.045em;text-decoration:none}.wordmark img{width:31px;height:31px}.header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;height:112px;color:var(--paper)}.header .wordmark img{filter:brightness(0) invert(1)}.header nav{display:flex;gap:32px}.header nav a{font-size:14px;text-decoration:none}.header>.button{background:var(--paper);color:var(--pine);padding:14px 25px}.language-switch{display:flex;gap:1px;align-items:center;flex-shrink:0}.language-switch button{min-height:42px;min-width:35px;padding:8px 6px;background:transparent;color:inherit;font-size:13px;border-radius:999px}.language-switch button[aria-pressed=true]{background:var(--paper);color:var(--pine)}
.hero{position:relative;min-height:770px;height:100svh;max-height:1150px;isolation:isolate;overflow:hidden;background:var(--pine);color:var(--paper)}.hero-backdrop,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:coast-drift 25s ease-in-out infinite alternate;filter:saturate(.72)}.hero-shade{background:rgb(8 20 13 / .30)}.hero-copy{position:absolute;left:0;top:155px;max-width:540px}.hero-copy>p:first-child{font-family:var(--serif);font-size:38px;line-height:1.1;margin-bottom:19px;max-width:16ch}.hero-copy .hero-description{font-size:17px;line-height:1.6;max-width:33ch;margin-bottom:24px}.hero-copy .button{min-height:51px}.hero h1{position:absolute;left:var(--gutter);right:var(--gutter);bottom:90px;font-size:var(--display);line-height:.74;letter-spacing:-.065em;text-align:center;animation:monument-in 1.2s var(--ease) both;white-space:nowrap}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px}.hero-bottom>a{display:grid;place-items:center;width:40px;height:40px}.hero-bottom>span:nth-child(2){margin-left:auto;margin-right:24px}
.booking-strip{background:var(--soft);padding:27px 0}.booking-bar{display:grid;grid-template-columns:1fr 1fr .8fr 1.45fr;gap:40px;align-items:center}.booking-bar label{display:block;font-size:13px;margin-bottom:6px}.booking-bar input,.booking-bar select{width:100%;min-width:0;border:0;background:transparent;font-size:20px;padding:3px 0;cursor:pointer}.booking-bar .button{justify-self:end;min-height:58px}.booking-bar input:focus-visible,.booking-bar select:focus-visible{outline-offset:6px}
.intro-heading,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px}.intro-heading h2,.section-heading h2{max-width:15ch}.intro-heading>p,.section-heading>p{width:37%;max-width:400px;font-size:17px;line-height:1.75}.intro-story{display:grid;grid-template-columns:1fr 1.05fr .85fr;align-items:center;gap:6%;margin-top:65px}.portrait{aspect-ratio:3/4;position:relative;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.intro-story>figure:first-child{width:100%}.intro-story .house-photo{margin-top:130px}.intro-note>p:first-child{font-family:var(--serif);font-size:37px;line-height:1.05;max-width:12ch;margin-bottom:26px}.intro-note>p+p{font-size:16px;max-width:31ch}.intro-note .text-action{margin-top:28px;font-size:14px}
.stay{padding-top:10px}.room-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:10%;margin-top:65px;align-items:center}.room-photo{width:100%;overflow:visible}.room-photo img{aspect-ratio:3/4}.room-photo figcaption{margin-top:12px;font-size:13px}.room-copy{padding-block:28px}.room-tabs{display:flex;gap:8px;margin-bottom:55px}.room-tabs button{background:var(--soft);padding:12px 22px;font-size:14px;min-height:46px;border-radius:999px}.room-tabs button[aria-selected=true]{background:var(--pine);color:var(--paper)}.room-copy h3{font-size:clamp(40px,4.2vw,62px);max-width:13ch;margin-bottom:25px}.room-copy p{max-width:35ch;font-size:16px}.amenities{list-style:none;padding:0;margin:32px 0 38px;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:14px}.amenities li:before{content:'·';margin-right:9px}.room-copy .button{margin-top:5px}
.pirts{background:var(--pine);color:var(--paper);padding-block:105px}.pirts-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:65px 10%;align-items:center}.pirts-copy>p{margin-top:28px;max-width:36ch;font-size:17px}.pirts-copy .small-copy{font-size:14px}.pirts-copy .text-action{color:var(--paper);margin-top:30px}.pirts-image{width:100%;align-self:center}.pirts-image img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.7)}.pirts-image figcaption{font-size:13px;margin-top:15px}.garden-photo{width:62%;margin-left:15%;margin-top:25px}.garden-note{max-width:330px}.garden-note h3{font-size:44px}.garden-note p{margin-top:24px;font-size:16px}
.coastal-pause{position:relative;height:78svh;min-height:520px;isolation:isolate;overflow:hidden;color:var(--paper)}.coastal-pause>img,.pause-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.coastal-pause>img{object-position:center 70%;filter:saturate(.7)}.pause-shade{background:rgb(12 25 17 / .28)}.pause-copy{position:absolute;bottom:60px;inset-inline:0}.pause-copy h2{font-size:clamp(58px,7.7vw,112px);line-height:.95;max-width:14ch}.pause-copy p{font-size:14px;margin-top:28px}
.explore-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:9%;align-items:center;margin-top:60px}.location-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.6)}.location-photo figcaption{font-size:13px;margin-top:12px}.places{display:grid;gap:28px}.places h3{font-size:34px}.places p{font-size:15px;margin-top:12px;max-width:43ch}.places .text-action{justify-self:start;margin-top:8px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:12%}.faq>div>p{margin-top:28px}.faq>div>a{display:inline-block;font-size:14px;margin-top:22px}.questions details{margin-bottom:14px;padding:0 0 20px}.questions summary{display:flex;justify-content:space-between;align-items:center;gap:30px;list-style:none;font-size:18px;min-height:48px;cursor:pointer}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';font-size:28px;font-weight:400}.questions details[open] summary:after{content:'−'}.questions details[open]{background:var(--soft);padding:20px;margin-inline:-20px}.questions details p{font-size:15px;margin-top:14px;max-width:45ch}.closing{background:var(--sage);padding-block:80px}.closing>.frame{display:flex;justify-content:space-between;gap:60px;align-items:center}.closing h2{font-size:clamp(62px,8vw,116px)}.closing>.frame>div{max-width:335px;width:35%}.closing p{font-family:var(--serif);font-size:34px;line-height:1.15;margin-bottom:30px}.closing .light{background:var(--pine);color:var(--paper)}
.footer{background:var(--pine);color:var(--paper);padding-top:65px;padding-bottom:24px;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:45px;font-size:14px}.footer>.wordmark{align-self:start}.footer .wordmark img{filter:brightness(0) invert(1)}.footer>div>a{display:block;margin-top:8px;width:fit-content}.footer-note>p:first-child{font-family:var(--serif);font-size:28px;line-height:1.1;margin-bottom:18px}.plain-button{background:none;padding:0;font-size:14px;color:inherit;text-decoration:underline;text-underline-offset:6px}.footer .credits{font-size:12px;margin-top:25px}.footer .credits a{display:inline}.footer-monument{grid-column:1/-1;font-family:var(--serif);font-size:28vw;line-height:.8;text-align:center;letter-spacing:-.065em;color:var(--sage);padding-top:25px}.image-credits{grid-column:1/-1;font-size:12px;text-align:center;line-height:1.8}.footer .image-credits>a{display:inline;width:auto}.footer .image-credits span{display:inline}
.reveal{animation:soft-rise .9s var(--ease) both;animation-timeline:view();animation-range:entry 0% entry 30%}.pirts .reveal,.coastal-pause .reveal{animation-name:soft-focus}.room-photo img{transition:transform .8s var(--ease)}.room-photo:hover img{transform:scale(1.015)}
.dialog-header{gap:16px}.dialog-header .language-switch{margin-left:auto}.dialog-header .language-switch button[aria-pressed=true]{background:var(--pine);color:var(--paper)}.dialog-header .wordmark{font-size:36px}.booking-steps[hidden]{display:none}.booking-intro h2{font-family:var(--serif);font-size:52px}.booking-dialog h3{font-size:32px}.booking-room{border-radius:0}.booking-dialog .button{font-size:14px}.summary-row.total{font-size:23px}.booking-dialog .button:disabled{transform:none}.close-mark{position:relative;display:block;width:22px;height:22px}.close-mark:before,.close-mark:after{content:'';position:absolute;left:10px;top:0;width:2px;height:22px;background:currentColor;transform:rotate(45deg)}.close-mark:after{transform:rotate(-45deg)}.check-mark{display:block;width:24px;height:13px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;transform:translateY(-4px) rotate(-45deg)}.identity-content h2{font-size:52px}.identity-logo{font-family:var(--serif)}.swatches>div{font-size:14px}.type-sample{font-family:var(--serif);font-size:32px}
@keyframes coast-drift{from{transform:scale(1)}to{transform:scale(1.05)}}@keyframes monument-in{from{opacity:.5;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-rise{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-focus{from{opacity:.45;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1600px){.hero-copy{top:175px}.hero h1{font-size:28vw;bottom:105px}.hero{min-height:900px}}
@media(max-width:1100px){.header nav{display:none}.header>.language-switch{margin-left:auto}.header{height:100px}.hero{min-height:800px}.hero-copy{top:155px;max-width:480px}.hero h1{bottom:100px}.booking-bar{gap:25px;grid-template-columns:1fr 1fr .65fr}.booking-bar .button{grid-column:1/-1;justify-self:stretch;min-height:52px}.intro-heading,.section-heading{gap:40px}.intro-story{gap:5%;grid-template-columns:1fr 1fr}.intro-story .house-photo{display:none}.intro-note>p:first-child{font-size:34px}.section{margin-top:110px}.room-layout{gap:7%}.room-copy h3{font-size:42px}.room-tabs{margin-bottom:32px}.room-tabs button{padding-inline:18px}.amenities{font-size:13px;gap:12px}.pirts-layout{gap:50px 7%}.pirts-copy>p{font-size:16px}.garden-photo{width:75%;margin-left:5%}.explore-layout{gap:7%;grid-template-columns:1fr 1fr}.places h3{font-size:30px}.faq{gap:7%}.questions summary{font-size:17px}.closing p{font-size:29px}.footer{grid-template-columns:.8fr 1.1fr 1fr;gap:30px}.footer-note>p:first-child{font-size:25px}.footer .credits{font-size:13px}.image-credits{font-size:13px}}
@media(max-width:650px){:root{--gutter:22px;--head:54px;--body:16px;--display:28.3vw}.header{height:122px;display:grid;grid-template-columns:1fr auto;grid-template-rows:76px 44px;gap:0 10px}.header>.wordmark{grid-column:1;grid-row:1;font-size:35px}.header>.wordmark img{width:25px;height:25px}.header>.button{grid-column:2;grid-row:1;font-size:12px;padding:12px 18px;min-height:45px;gap:18px}.header>.language-switch{grid-column:2;grid-row:2;justify-self:end;margin:0}.hero{height:92svh;min-height:750px;max-height:none}.hero-backdrop img{object-position:60% center}.hero-shade{background:rgb(7 20 11 / .35)}.hero-copy{top:175px;max-width:360px}.hero-copy>p:first-child{font-size:34px;max-width:14ch;margin-bottom:20px}.hero-copy .hero-description{font-size:16px;max-width:28ch}.hero-copy .button{min-height:48px;font-size:13px;padding:13px 23px}.hero h1{bottom:110px;font-size:var(--display);line-height:.85;left:18px;right:18px}.hero-bottom{bottom:24px;font-size:12px;gap:10px;align-items:flex-end}.hero-bottom>span:first-child{max-width:110px}.hero-bottom>span:nth-child(2){max-width:140px;margin:0 0 0 auto;text-align:right}.hero-bottom>a{display:none}.booking-strip{padding:24px 0}.booking-bar{grid-template-columns:1fr 1fr;gap:19px}.booking-bar>div:nth-child(3){grid-column:1/-1}.booking-bar input,.booking-bar select{font-size:18px}.booking-bar .button{font-size:13px;justify-content:space-between}.section{margin-top:85px}.intro-heading,.section-heading{display:block}.intro-heading>p,.section-heading>p{width:100%;max-width:34ch;font-size:16px;margin-top:28px;line-height:1.7}.intro-story{margin-top:38px;display:grid;grid-template-columns:1fr;gap:34px}.intro-story>figure:first-child{width:80%;justify-self:end}.intro-note{width:85%}.intro-note>p:first-child{font-size:36px;max-width:16ch;margin-bottom:22px}.intro-note>p+p{max-width:31ch}.room-layout{display:flex;flex-direction:column;gap:28px;margin-top:38px}.room-photo{width:100%;aspect-ratio:3/4}.room-copy{width:100%;padding-block:18px}.room-copy h3{font-size:44px;max-width:15ch}.room-tabs{margin-bottom:32px}.room-tabs button{font-size:14px;padding:12px 22px}.amenities{font-size:14px;gap:16px;margin-block:27px}.pirts{padding-block:55px}.pirts-layout{display:flex;flex-direction:column;gap:40px}.pirts-copy>p{font-size:16px;max-width:31ch}.pirts-copy .small-copy{font-size:14px}.pirts-copy .text-action{font-size:14px}.pirts-image{width:100%}.pirts-image img{aspect-ratio:4/3}.garden-photo{width:65%;margin-left:0;align-self:flex-start;margin-top:5px}.garden-note{align-self:flex-end;max-width:260px;margin-top:-10px}.garden-note h3{font-size:40px}.garden-note p{font-size:16px;margin-top:20px}.coastal-pause{height:650px;min-height:0}.coastal-pause>img{object-position:60% center}.pause-copy{bottom:50px}.pause-copy h2{font-size:64px;max-width:10ch}.pause-copy p{font-size:13px}.explore-layout{display:flex;flex-direction:column;gap:34px;margin-top:38px}.location-photo{width:100%}.location-photo img{aspect-ratio:4/3}.places{gap:30px;width:100%}.places h3{font-size:33px}.places p{font-size:16px}.faq{display:block}.faq>div>p{font-size:16px;margin-top:24px}.questions{margin-top:40px}.questions summary{font-size:17px;gap:20px}.questions details p{font-size:15px}.questions details{padding-bottom:16px}.closing{padding-block:55px}.closing>.frame{display:block}.closing h2{font-size:64px}.closing>.frame>div{width:100%;max-width:300px;margin-top:32px}.closing p{font-size:30px}.footer{padding-top:45px;grid-template-columns:1fr;gap:28px}.footer>.wordmark{font-size:42px}.footer>div{font-size:14px}.footer .credits{font-size:13px}.footer-monument{font-size:28vw!important;padding-top:25px}.image-credits{font-size:11px!important;text-align:left;margin-top:10px}.dialog-header{padding:18px;gap:8px}.dialog-header .wordmark{font-size:28px;gap:5px}.dialog-header .wordmark img{width:25px;height:25px}.dialog-header .language-switch button{min-width:31px}.dialog-header .close-button{width:32px;flex-shrink:0}.booking-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0}.booking-body{padding:28px 22px}.booking-intro h2{font-size:37px}.booking-steps{font-size:13px;gap:17px}.form-grid{grid-template-columns:1fr;gap:18px}.field.full{grid-column:auto}.form-actions{flex-wrap:wrap;gap:16px}.form-actions .button{font-size:13px;white-space:normal;gap:18px;padding-inline:22px}.booking-room{grid-template-columns:auto 1fr;padding:16px;gap:12px}.booking-room .price{grid-column:2;text-align:left}.booking-room .price small{display:inline;margin-left:8px}.summary-box{padding:20px}.summary-row{font-size:15px}.identity-content{padding:60px 24px 35px}.identity-content h2{font-size:38px}.identity-logo{font-size:64px;gap:12px;margin:35px 0}.identity-logo img{width:58px;height:58px}.swatches{grid-template-columns:1fr 1fr}.type-sample{font-size:26px}}
/* Shared type roles across the editorial sections. */
:root{--body:18px}.hero-copy .hero-description{font-size:18px}.header .wordmark img,.footer .wordmark img{filter:none}.intro-note>p:first-child{font-size:24px;max-width:18ch}.intro-heading>p,.section-heading>p,.intro-note>p+p,.room-copy p,.pirts-copy>p,.garden-note p,.places p,.faq>div>p,.questions details p{font-size:var(--body)}.hero-copy>p:first-child,.places h3,.garden-note h3{font-size:36px}.room-copy h3{font-size:48px}.closing p,.footer-note>p:first-child{font-size:24px}.text-action,.button,.room-tabs button,.amenities,.header nav a,.language-switch button,.booking-bar label,.footer,.footer .credits,.image-credits,.plain-button,.room-photo figcaption,.pirts-image figcaption,.hero-bottom,.pause-copy p{font-size:var(--small)}.closing h2,.pause-copy h2{font-size:var(--head)}.booking-bar input,.booking-bar select{font-size:var(--body)}
@media(max-width:650px){.hero-copy>p:first-child{font-size:32px}.hero-copy .hero-description{font-size:18px}.intro-note>p:first-child{font-size:24px}.pause-copy h2{font-size:54px;max-width:none}.header>.button{font-size:13px}.hero-bottom{font-size:13px}.footer .image-credits{font-size:13px!important}.room-copy h3{font-size:42px}.garden-note h3,.places h3{font-size:36px}.closing p{font-size:24px}.hero h1{font-size:28.3vw}.footer-monument{font-size:28vw!important}html[lang=ru] .pause-copy h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
