@import url('/assets/fonts.css');
:root{--paper:#f5efdf;--ink:#40282b;--line:#a48b76;--muted:#796568;--olive:#676848;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif;--script:'Caveat',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--serif)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a,button,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--line);outline-offset:5px}svg{width:24px;height:24px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}.symbols{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1240px,calc(100% - 112px));margin:auto}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:3px double var(--line)}.brand{display:flex;align-items:center;gap:14px}.brand>svg{width:43px;height:58px}.brand>span{font:500 23px/.95 var(--serif);letter-spacing:2px}.brand small{display:block;font:7px/1 var(--sans);letter-spacing:2.8px;margin-top:10px}.site-header nav{display:flex;gap:29px;margin-left:auto}.site-header nav a{font:500 18px/1.5 var(--serif);border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav .active{border-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:500 19px/1.3 var(--serif);min-height:51px;padding:12px 29px;border-radius:0}.button:hover{background:var(--ink);color:var(--paper)}.button svg{width:24px;height:18px}.button.filled{background:var(--ink);color:var(--paper)}.button.filled:hover{background:#5a3b3c}.button.light{border-color:var(--paper);color:var(--paper)}.button.light:hover{background:var(--paper);color:var(--ink)}.header-book{min-height:42px;padding:8px 28px;font-size:18px}.header-book svg{display:none}.menu-toggle{display:none}.hero-shell{background:var(--ink);color:var(--paper);padding:20px 18px 18px}.hero{width:100%;max-width:1560px;position:relative;min-height:655px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:24px max(50px,calc((100vw - 1200px)/2));gap:50px}.ornate-border{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1;overflow:visible}.ornate-border path{vector-effect:non-scaling-stroke}.hero-copy{padding:23px 0 20px;position:relative;z-index:2}.hero h1{font-size:clamp(66px,6.15vw,95px);line-height:.92;letter-spacing:-2px}.hero h1 em{color:var(--paper)}.handwritten{font:34px/1.2 var(--script)}.hero .handwritten{margin-top:28px;display:inline-block;padding-bottom:6px;border-bottom:1px solid #f5efdf99;transform:rotate(-3deg)}.hero-description{font-size:22px;margin:22px 0 15px}.hero .button{min-width:230px}.hero-art{position:relative;height:590px;max-width:470px;width:100%;margin:auto;display:flex;align-items:center;justify-content:center}.arch-border{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--paper);stroke-width:.9}.arch-border path{vector-effect:non-scaling-stroke}.hero-art img{display:block;width:90%;height:92%;object-fit:contain;position:relative;z-index:1;mask-image:none;mix-blend-mode:normal;transform:none!important}.booking-band{border-bottom:1px solid var(--line);padding:22px 0}.booking{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:25px;align-items:end}.booking label{display:flex;flex-direction:column;gap:7px;padding-right:24px;border-right:1px solid #a48b7670}.booking label>span{font-size:17px}.booking input,.booking select{width:100%;height:43px;min-width:0;background:transparent;border:1px solid #a48b7680;border-radius:0;font:12px var(--sans);padding:8px 12px}.booking label:nth-child(3){border:0;padding:0}.booking button{min-height:51px;margin-bottom:0;white-space:nowrap}.form-error{color:#a13f32;font:12px var(--sans);margin-top:5px}.spirit{padding:55px 0 57px}.intro-title{display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:37px}.intro-title>span{width:70px;height:1px;background:var(--line)}.intro-title h2{font-size:43px;line-height:1.1}.benefits{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:40px}.benefits>div>svg{width:65px;height:80px;margin-bottom:7px}.benefits h3{font-size:25px;line-height:1.25;margin-bottom:8px}.benefits p{font:8px/1.6 var(--sans);text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.stays{padding:50px 0 77px;border-top:3px double #a48b7660}.section-heading{text-align:center;margin-bottom:35px}.drawn-flourish{width:170px;height:28px;color:var(--ink)}.eyebrow{font:500 10px/1.5 var(--sans);letter-spacing:3px;text-transform:uppercase}.section-heading .eyebrow{margin:14px 0 9px}.section-heading h2{font-size:65px;line-height:1.12;letter-spacing:-1.4px}.section-heading>p:last-child{font:12px/1.8 var(--sans);letter-spacing:1px;margin-top:15px}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.photo-button{display:block;position:relative;color:var(--ink);padding:10px;width:100%;isolation:isolate}.photo-button img{display:block;width:100%;height:350px;object-fit:cover;clip-path:url(#photo-cutout)}.photo-button>.ornate-border{z-index:2}.photo-button:hover{color:#8a634b}.stay-info{text-align:center;padding-top:20px}.room-meta{font:8px/1.6 var(--sans);letter-spacing:2px;display:block;min-height:16px}.stay-info h3{font-size:45px;line-height:1.2;margin:4px 0}.stay-info p{font:12px/1.8 var(--sans);letter-spacing:.3px;min-height:25px;margin:4px 0 18px}.stay-info .button{font:500 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:2px;min-width:235px}.stay-signature{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:35px}.stay-signature .drawn-flourish{width:100px;height:22px;flex-shrink:0}.stay-signature .handwritten{font-size:29px}.neighbourhood{position:relative;background:var(--ink);color:var(--paper);margin:0 18px;padding:30px 0}.neighbourhood>.ornate-border{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.neighbourhood-inner{width:calc(100% - 80px);max-width:1360px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;min-height:440px}.neighbourhood-photo img{display:block;width:100%;height:420px;object-fit:contain}.neighbourhood-copy{padding:20px 25px 20px 0}.cartouche-label{display:inline-block;padding:9px 30px;border:1px solid #f5efdf80;font:10px/1.5 var(--sans);letter-spacing:3px;text-transform:uppercase;outline:1px solid #f5efdf60;outline-offset:4px;margin-bottom:28px}.cartouche-label span{display:block;font-size:8px;letter-spacing:3px;margin-top:4px}.neighbourhood h2{font-size:61px;line-height:1.03;letter-spacing:-1px}.neighbourhood-copy>p:not(.cartouche-label){font-size:23px;line-height:1.45;margin:21px 0 26px;max-width:450px}.neighbourhood .button{font-size:19px}.invitation{padding:62px 0}.invitation-inner{max-width:1000px;margin:auto;position:relative;text-align:center;padding:35px 30px 40px}.invitation-emblem{display:flex;align-items:center;justify-content:center;gap:27px;margin-bottom:10px}.invitation-emblem>span{width:70px;height:1px;background:var(--line)}.invitation-emblem>svg{width:50px;height:68px;transform:rotate(60deg)}.invitation h2{font-size:60px;line-height:1.1}.invitation p{font-size:25px;margin:9px 0 22px}.invitation .button{min-width:230px}.footer{border-top:3px double var(--line)}.footer-main{display:grid;grid-template-columns:1.15fr 1.1fr 1fr .9fr;gap:30px;padding:37px 0}.footer-main>div{border-left:1px solid #a48b7670;padding-left:30px}.footer .brand{align-self:center}.footer .brand>span{font-size:20px}.footer .brand small{font-size:6px;letter-spacing:2px}.footer .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:11px;display:block}.footer address{font-size:18px;font-style:normal;line-height:1.5}.footer a.text-link{display:block;text-decoration:underline;text-underline-offset:4px;font-size:15px;margin-top:6px}.footer-main>div>a{display:block;font-size:17px;line-height:1.8}.footer-script{font-size:26px;align-self:center;transform:rotate(-5deg);text-align:right}.footer-bottom{border-top:1px solid #a48b7670;display:flex;justify-content:space-between;gap:20px;padding:17px 0 22px;font:9px var(--sans);color:var(--muted)}.footer-bottom button{font:9px var(--sans);padding:0;color:var(--muted)}.skip{position:fixed;top:-70px;left:15px;padding:10px;background:var(--ink);color:var(--paper);z-index:100;font:12px var(--sans)}.skip:focus{top:10px}dialog{border:3px double var(--line);background:var(--paper);color:var(--ink);max-width:670px;width:calc(100% - 36px);max-height:90dvh;overflow-y:auto;padding:40px;box-shadow:0 20px 100px #20141655}dialog::backdrop{background:#27191cc9}dialog h2{font:400 43px/1.05 var(--serif);margin:10px 0 20px}dialog h3{font-size:27px;margin:13px 0 5px}dialog p{font:14px/1.8 var(--sans);color:var(--muted);margin:10px 0}dialog img{width:100%;max-height:350px;object-fit:cover;margin-bottom:15px}dialog .eyebrow,dialog .modal-meta{font:9px/1.6 var(--sans);letter-spacing:2px;text-transform:uppercase}.close-modal{position:absolute;right:12px;top:5px;font-size:30px}.trip-summary{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:18px 0}.trip-summary small{display:block;font:10px var(--sans);color:var(--muted);margin-bottom:7px}.trip-summary strong{font:500 13px var(--sans)}.modal-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:22px}.modal-actions .text-link{font:12px var(--sans);text-decoration:underline}.modal-list{font:13px/2 var(--sans);padding-left:20px;margin:15px 0}
@media(min-width:1600px){.hero{min-height:720px;gap:90px}.hero-art{height:650px;max-width:520px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{height:90px;gap:20px}.brand>span{font-size:20px}.brand small{font-size:6px;letter-spacing:2px}.site-header nav{gap:19px}.site-header nav a{font-size:16px}.header-book{padding:8px 20px}.hero{width:100%;padding:30px 50px;min-height:590px;gap:25px}.hero-art{height:500px}.hero h1{font-size:72px}.hero-description{font-size:19px}.hero .handwritten{font-size:29px}.booking{gap:18px}.booking label{padding-right:17px}.booking button{font-size:17px;padding:12px 15px}.section-heading h2{font-size:57px}.photo-button img{height:300px}.stay-grid{gap:30px}.stay-info p{font-size:11px}.neighbourhood-inner{width:calc(100% - 65px);gap:30px;grid-template-columns:1.15fr 1fr}.neighbourhood h2{font-size:52px}.neighbourhood-copy>p:not(.cartouche-label){font-size:21px}.neighbourhood .button{font-size:17px;padding:12px 20px}.invitation h2{font-size:52px}.footer-main{gap:20px}.footer-main>div{padding-left:20px}.footer-script{font-size:23px}.footer address{font-size:16px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:88px;gap:14px}.brand{gap:10px}.brand>svg{width:33px;height:46px}.brand>span{font-size:18px;letter-spacing:1.4px}.brand small{font-size:5px;letter-spacing:1.7px;margin-top:8px}.header-book{margin-left:auto;padding:8px 14px;min-height:36px;font-size:15px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0;width:22px;height:30px}.menu-toggle span{height:1px;width:22px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:78px;left:20px;right:20px;padding:20px;background:var(--paper);border:3px double var(--line);z-index:10;box-shadow:0 20px 40px #40282b20}.site-header nav.open{display:flex;flex-direction:column;gap:14px}.site-header nav a{font-size:20px}.hero-shell{padding:10px}.hero{width:100%;padding:37px 24px 25px;grid-template-columns:1fr;gap:28px;text-align:center;min-height:0}.hero-copy{padding:0}.hero h1{font-size:59px;line-height:.94;letter-spacing:-1px}.hero .handwritten{font-size:28px;margin-top:20px}.hero-description{font-size:18px;margin:15px 0}.hero .button{font-size:17px;min-height:43px;min-width:210px;padding:10px 20px}.hero-art{height:385px;max-width:285px}.hero-art img{width:92%;height:94%}.booking-band{padding:19px 0 20px}.booking{grid-template-columns:1fr 1fr;gap:15px}.booking label{padding:0;border:0}.booking label>span{font-size:16px}.booking input,.booking select{font-size:11px;padding:8px;height:40px}.booking label:nth-child(3){grid-column:1/-1}.booking button{grid-column:1/-1;font-size:19px;min-height:46px}.spirit{padding:35px 0}.intro-title{gap:12px;margin-bottom:30px}.intro-title>span{width:23px;flex-shrink:0}.intro-title h2{font-size:30px;text-align:center}.benefits{grid-template-columns:1fr;gap:31px}.benefits>div>svg{width:54px;height:66px}.benefits h3{font-size:26px;margin-bottom:5px}.benefits p{font-size:7px;letter-spacing:1.7px}.stays{padding:35px 0 42px}.drawn-flourish{width:145px;height:24px}.section-heading{margin-bottom:25px}.section-heading .eyebrow{font-size:8px;letter-spacing:2.5px;margin:13px 0}.section-heading h2{font-size:43px;line-height:1.04;letter-spacing:-.7px}.section-heading>p:last-child{font-size:11px;letter-spacing:.3px;margin:14px 7px 0}.stay-grid{grid-template-columns:1fr;gap:34px}.photo-button{padding:8px}.photo-button img{height:240px}.stay-info{padding-top:13px}.room-meta{font-size:7px;letter-spacing:1.5px}.stay-info h3{font-size:39px}.stay-info p{font-size:11px;min-height:0;margin:5px 0 14px}.stay-info .button{min-width:220px;min-height:44px;font-size:9px}.stay-signature{gap:12px;margin-top:30px}.stay-signature .drawn-flourish{width:33px}.stay-signature .handwritten{font-size:24px;text-align:center}.neighbourhood{margin:0 10px;padding:30px 0}.neighbourhood>.ornate-border{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}.neighbourhood-inner{width:calc(100% - 46px);grid-template-columns:1fr;gap:10px;text-align:center;min-height:0}.neighbourhood-photo img{height:250px}.neighbourhood-copy{padding:10px 5px 25px}.cartouche-label{font-size:9px;letter-spacing:2.5px;padding:7px 24px;margin-bottom:25px}.cartouche-label span{font-size:7px}.neighbourhood h2{font-size:50px}.neighbourhood-copy>p:not(.cartouche-label){font-size:21px;margin:19px 0 24px}.neighbourhood .button{font-size:17px;padding:11px 15px;gap:14px}.invitation{padding:38px 0}.invitation-inner{padding:26px 20px 31px}.invitation-emblem{gap:16px;margin-bottom:15px}.invitation-emblem>span{width:36px}.invitation-emblem>svg{width:38px;height:52px}.invitation h2{font-size:39px;line-height:1.02}.invitation p{font-size:21px;line-height:1.2;margin:15px 0 23px}.invitation .button{min-width:0;font-size:18px;padding:12px 20px}.footer-main{grid-template-columns:1fr 1fr;gap:25px;padding:30px 0}.footer .brand{grid-column:1/-1;justify-content:center;padding-bottom:13px}.footer-main>div{padding-left:0;border:0}.footer .brand>span{font-size:22px}.footer address{font-size:17px}.footer-main>div>a{font-size:17px}.footer .eyebrow{font-size:7px;letter-spacing:1.5px}.footer-script{display:none}.footer-bottom{font-size:8px;gap:15px;flex-wrap:wrap;padding-bottom:22px;line-height:1.5}.footer-bottom button{font-size:8px}.footer-bottom>span:last-child{display:none}dialog{padding:32px 24px}dialog h2{font-size:36px}dialog p{font-size:12px}.trip-summary{flex-wrap:wrap}.trip-summary strong{font-size:12px}.modal-actions .button{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.language-switch{display:flex;align-items:center;gap:6px;flex-shrink:0;font:12px/1 var(--sans);letter-spacing:.7px}.language-switch button{font:inherit;letter-spacing:inherit;padding:8px 2px;color:var(--muted);border-bottom:1px solid transparent}.language-switch button[aria-pressed="true"]{color:var(--ink);border-color:var(--ink)}.language-switch>span{color:var(--line);font-size:10px}
@media(max-width:960px){.site-header{gap:15px;position:relative}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:20px;background:var(--paper);border:3px double var(--line);z-index:10;box-shadow:0 20px 40px #40282b20}.site-header nav.open{display:flex;flex-direction:column;gap:14px}.site-header nav a{font-size:20px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0;width:22px;height:30px;flex-shrink:0}.menu-toggle span{height:1px;width:22px;background:var(--ink)}.language-switch{margin-left:auto}.header-book{margin-left:0}}
@media(max-width:760px){.site-header{gap:10px}.language-switch{font-size:10px;gap:4px}.header-book{padding:8px 10px;font-size:14px}.brand>span{font-size:17px}.brand small{font-size:4.7px;letter-spacing:1.5px}.brand{gap:8px}}
@media(max-width:370px){.header-book{display:none}.brand>span{font-size:18px}.site-header{gap:13px}}
html[lang="en"] .hero h1{font-size:clamp(66px,6.15vw,95px)}
@media(max-width:1100px){html[lang="en"] .hero h1{font-size:72px}}
@media(max-width:760px){html[lang="en"] .hero h1{font-size:59px}}
