:root{--ink:#1d1b1a;--paper:#fbfaf7;--muted:#716e68;--line:#d8d5ce;--soft:#f0ede6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible{outline:2px solid #71644d;outline-offset:5px}img{display:block;width:100%;object-fit:cover}p{line-height:1.8}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'DM Serif Display',serif;font-weight:400}h1{font-size:clamp(60px,5.9vw,92px);letter-spacing:-3px;line-height:1.04}h2{font-size:clamp(38px,4vw,57px);line-height:1.1;letter-spacing:-1.4px}h3{font-size:25px;line-height:1.2}i,em{font-weight:400}.skip{position:absolute;top:-100px;background:black;color:white;padding:15px;z-index:30}.skip:focus{top:0}.topline{background:var(--ink);color:white;text-align:center;font-size:9px;letter-spacing:2px;padding:12px}.topline span{padding:0 25px}header{display:flex;align-items:center;justify-content:space-between;padding:17px 5%;border-bottom:1px solid var(--line);gap:25px;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand img{width:49px;height:49px;border-radius:50%;border:1px solid var(--line)}.brand>span,.footer-brand>span{font-family:'Great Vibes',cursive;font-size:32px}nav{display:flex;gap:28px;align-items:center;font-size:11px}nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:20px 27px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:10px;letter-spacing:1.2px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#46413a;transform:translateY(-2px)}.button span{font-size:19px;line-height:10px}.button.small{padding:15px 19px;gap:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding:68px 7% 75px;align-items:center;max-width:1600px;margin:auto}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;margin-bottom:23px}.tiny-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink);margin-right:9px}.hero h1 em{font-family:'Great Vibes',cursive;font-size:1.35em;letter-spacing:-1px}.intro{color:var(--muted);font-size:13px;max-width:390px;margin:27px 0 30px}.hero-actions{display:flex;align-items:center;gap:25px}.underlink{border:0;background:none;padding:0 0 5px;font-size:11px;border-bottom:1px solid var(--ink);display:inline-block}.hero-foot{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);margin-top:48px;padding-top:20px;font-size:7px;letter-spacing:1.2px;color:var(--muted)}.hero-art{position:relative;padding:20px 35px 40px 15px}.hero-main{height:430px;position:relative;z-index:1;object-position:center;border:7px solid white;transform:rotate(-4deg);box-shadow:0 15px 35px #1d1b1a18}.dot-paper{position:absolute;inset:-10px 10px 10px 55px;background-color:#ece9e1;background-image:radial-gradient(#1d1b1a 2px,transparent 2px);background-size:27px 27px;transform:rotate(4deg)}.hero-mini{width:155px;height:190px;border:7px solid white;position:absolute;right:-15px;bottom:0;z-index:2;transform:rotate(9deg);box-shadow:0 10px 25px #0002}.hero-stamp{position:absolute;top:-20px;right:-15px;z-index:3;border:1px solid var(--ink);border-radius:50%;width:110px;height:110px;background:var(--paper);display:flex;justify-content:center;align-items:center;flex-direction:column;transform:rotate(12deg);font-size:11px;line-height:1.2}.hero-stamp i{font-family:'Great Vibes';font-size:28px}.vertical-caption{writing-mode:vertical-rl;position:absolute;left:-18px;top:50px;font-size:7px;letter-spacing:2px}.ribbon{border-block:1px solid var(--line);padding:23px 6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;gap:25px;white-space:nowrap;overflow:hidden}.ribbon span{font-size:15px;line-height:12px}.section{padding:75px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:36px}.section-heading>p{font-size:12px;color:var(--muted)}.set-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.set-card{padding:0;border:0;background:transparent;text-align:left;min-width:0}.set-image{position:relative;overflow:hidden;background:var(--soft);aspect-ratio:4/5}.set-image img{height:100%;transition:transform .5s}.set-card:hover img{transform:scale(1.04)}.image-open{position:absolute;bottom:15px;right:15px;border-radius:50%;width:33px;height:33px;background:var(--paper);display:grid;place-items:center;font-size:18px}.set-caption{display:flex;justify-content:space-between;gap:10px;align-items:start;padding-top:18px}.set-caption h3{font-size:25px}.set-caption p{color:var(--muted);font-size:10px;margin-top:6px}.set-caption>span{font-size:8px;padding-top:6px;color:var(--muted)}.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:var(--soft)}.polka-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;background-image:radial-gradient(#1d1b1a 3px,transparent 3px);background-size:40px 40px;padding:60px 20px}.polka-panel:before{content:'';position:absolute;background:var(--paper);border:1px solid var(--ink);border-radius:50%;width:335px;height:335px}.polka-panel>*{z-index:1;position:relative}.polka-panel>span{font-size:10px;letter-spacing:1px;margin-bottom:15px}.polka-panel strong{text-align:center;font:54px/1.1 'DM Serif Display'}.polka-panel i{font-family:'Great Vibes';font-size:80px}.split-copy{padding:65px 12%;align-self:center}.split-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:24px 0}.booking-banner{text-align:center;padding-block:85px}.booking-banner>p:not(.eyebrow){color:var(--muted);margin:25px auto;max-width:450px;font-size:12px}footer{background:var(--ink);color:var(--paper);padding:45px 7% 25px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;font-size:11px}footer p{font-size:10px;color:#cbc7c0}footer>div>p:first-child{font-size:8px;letter-spacing:1px}footer a{display:block;margin-top:10px}.footer-brand p{margin-top:15px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:23px;display:flex;justify-content:space-between;font-size:9px}.copyright span{font-size:7px;letter-spacing:1px}.page-heading{text-align:center;padding:65px 5% 40px}.page-heading h1{font-size:clamp(50px,5.3vw,78px)}.page-heading>p:last-child{font-size:12px;color:var(--muted);margin-top:22px}.page-heading.compact{padding-bottom:15px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filters button{background:none;border:1px solid var(--line);padding:10px 18px;font-size:10px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery-section{padding-top:30px}.bottom-note{text-align:center;border-top:1px solid var(--line);padding-top:40px;margin-top:50px}.bottom-note p{color:var(--muted);margin-bottom:25px;font-size:12px}dialog{border:0;padding:0;background:var(--paper);max-height:90vh;max-width:850px;width:85vw}dialog::backdrop{background:#000c}dialog>img{max-height:70vh;object-fit:contain;background:#1d1b1a}dialog>div{padding:23px;display:flex;align-items:center;justify-content:space-between;gap:15px}dialog h2{font-size:28px}dialog a{font-size:10px;text-decoration:underline}.lightbox-close{position:absolute;right:15px;top:15px;border:0;background:white;border-radius:50%;width:36px;height:36px;font-size:25px}.service-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;padding-top:35px}.muted{color:var(--muted);font-size:12px;margin-top:15px}.service-list{margin-top:30px}.service-row{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding:23px 0}.service-row:last-child{border-bottom:1px solid var(--line)}.service-number{font-size:9px;color:var(--muted)}.service-row p{font-size:10px;color:var(--muted);margin-top:5px}.service-row strong{font:34px 'DM Serif Display';margin-left:auto}.row-arrow{font-size:20px;margin-left:15px}.extras-panel{background:var(--soft);padding:35px;align-self:start}.extras-panel h2{font-size:43px}dl{margin:26px 0}dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;font-size:12px}dd{margin:0;white-space:nowrap}dt small{font-size:9px;color:var(--muted);display:inline-block;margin-top:6px}.fine{color:var(--muted);font-size:10px;line-height:1.9;margin-top:20px}.extras-panel .button{margin-top:25px}.note-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid var(--line)}.note-columns span{font-size:8px;letter-spacing:1px}.note-columns h3{margin:20px 0 15px}.note-columns p{font-size:12px;color:var(--muted)}.note-columns .underlink{margin-top:20px}.policy-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:12%;padding-top:40px}.policy-layout aside .underlink{margin-top:28px}.policy-list article{display:flex;gap:25px;border-top:1px solid var(--line);padding:25px 0}.policy-list article>span{font-size:9px;padding-top:6px;color:var(--muted)}.policy-list article p{font-size:12px;color:var(--muted);margin-top:12px}.policy-list h3{font-size:28px}.booking-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:start;padding-top:40px}form label{display:block;font-size:11px;line-height:1.5;margin-bottom:23px}form label small,legend small{font-size:9px;color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:0;background:#ffffff88;color:var(--ink);display:block;margin-top:9px;font-size:12px}input:focus,select:focus,textarea:focus{outline:1px solid var(--ink);outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-step{display:flex;align-items:center;gap:17px;margin:0 0 28px}.form-step:not(:first-child){margin-top:22px}.form-step>span{font-size:9px;border:1px solid var(--line);border-radius:50%;padding:10px}.form-step h2{font-size:30px;letter-spacing:-.5px}.add-ons{border:1px solid var(--line);padding:15px 20px;margin:0 0 25px}.add-ons legend{font-size:11px;padding:0 7px}.add-ons label{display:flex;align-items:center;gap:10px;margin:10px 0}.add-ons label span{margin-left:auto}.consent{display:flex;align-items:start;gap:12px;margin-top:25px;color:var(--muted);font-size:10px}input[type=checkbox]{accent-color:var(--ink);margin:2px 0 0;width:16px;height:16px;flex-shrink:0}.consent a{text-decoration:underline}.honey{position:absolute;left:-9999px}.error{font-size:12px;color:#9e2929;margin:15px 0}.booking-summary{background:var(--soft);padding:30px;position:sticky;top:25px}.booking-summary>img{height:210px;margin-top:25px}.booking-summary h2{font-size:48px}.summary-total{font-weight:700}.location-note{font-size:9px;margin-top:25px}.success-mark{width:65px;height:65px;border-radius:50%;border:1px solid;display:grid;place-items:center;font-size:30px;margin-bottom:30px}#request-success{grid-column:1/-1;max-width:650px;padding-bottom:30px}#request-success>p:not(.eyebrow){color:var(--muted);margin:25px 0;font-size:13px}.reference{font-family:monospace}.login-panel{max-width:480px;margin:0 auto 50px;padding:35px;background:var(--soft)}.login-panel h2{font-size:38px;margin-bottom:25px}.login-panel>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:20px}.desk-bar{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-bottom:25px}.desk-bar>div{display:flex;gap:25px}.desk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:35px}.desk-stats>div{border:1px solid var(--line);padding:25px}.desk-stats span{font-size:11px;color:var(--muted);display:block}.desk-stats strong{font:43px 'DM Serif Display';display:block;margin-top:10px}.request-card{border:1px solid var(--line);padding:25px;margin-bottom:20px;background:#fff8}.request-card header{padding:0 0 20px;background:transparent}.status-pill{font-size:10px;text-transform:capitalize;border:1px solid var(--line);border-radius:25px;padding:7px 13px}.request-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.request-details dt{font-size:9px;color:var(--muted);margin-bottom:5px}.request-details dd{font-size:12px;white-space:normal;overflow-wrap:anywhere}.request-card .request-notes{white-space:pre-wrap;font-size:12px;margin-top:20px;overflow-wrap:anywhere}.request-actions{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-top:20px}.request-actions label{font-size:10px}.request-actions select{font-size:11px;min-width:150px}.request-actions .button{padding:13px 20px}.empty-state{padding:60px 20px;text-align:center;border:1px dashed var(--line)}.mobile-book{display:none}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:15px;font-size:10px}.brand>span{font-size:28px}.hero{gap:5%;padding-inline:5%}.hero-art{padding-right:20px}.hero-main{height:380px}.hero-mini{width:130px;height:170px}.hero-stamp{width:90px;height:90px;right:-5px}.hero-actions{gap:18px}.button{gap:20px;padding-inline:20px}.section{padding-inline:5%}.booking-layout{gap:6%}.service-layout{gap:7%}}@media(max-width:760px){.topline{font-size:7px;letter-spacing:1px}.topline span{padding:0 10px}header{padding:13px 5%;position:relative;z-index:10}.brand img{width:40px;height:40px}.brand>span{font-size:29px}.menu-toggle{display:block;border:1px solid var(--line);background:none;padding:9px 12px;font-size:10px}.menu-toggle span{margin-left:8px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:22px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;font-size:13px;gap:23px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:38px 6% 45px;gap:35px}.hero h1{font-size:clamp(53px,12.5vw,82px);letter-spacing:-2px}.hero h1 em{font-size:1.3em}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:20px}.intro{font-size:12px;margin-top:22px}.hero-actions{gap:22px}.hero-foot{margin-top:30px;font-size:6px;letter-spacing:.8px}.hero-art{width:90%;margin:15px auto 0;padding:10px 20px 35px 0}.hero-main{height:390px}.hero-mini{right:-20px;bottom:0;width:125px;height:155px}.hero-stamp{right:-12px;top:-20px;width:85px;height:85px}.hero-stamp i{font-size:25px}.vertical-caption{left:-18px;font-size:6px}.dot-paper{left:30px;right:-5px;bottom:15px;background-size:25px 25px}.ribbon{justify-content:start;gap:28px;font-size:8px;padding:18px 6%}.section{padding:50px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:43px}.section-heading>p{margin-top:20px;font-size:11px}.section-heading>.underlink{margin-top:20px}.set-grid{grid-template-columns:repeat(2,1fr);gap:27px 14px}.set-caption{padding-top:12px}.set-caption h3{font-size:20px}.set-caption p{font-size:9px}.set-caption>span{display:none}.split-section{grid-template-columns:1fr}.polka-panel{padding:55px 20px;min-height:360px}.polka-panel:before{width:270px;height:270px}.polka-panel strong{font-size:45px}.polka-panel i{font-size:65px}.split-copy{padding:45px 6%}.split-copy h2{font-size:43px}.booking-banner h2{font-size:42px}.booking-banner>p:not(.eyebrow){font-size:11px}.page-heading{padding:42px 6% 15px}.page-heading h1{font-size:49px;letter-spacing:-1.7px}.page-heading>p:last-child{font-size:11px;margin-top:20px}.service-layout,.policy-layout,.booking-layout{grid-template-columns:1fr;gap:35px}.service-layout{padding-top:25px}.service-row{gap:18px}.service-row h3{font-size:27px}.extras-panel{padding:28px}.note-columns{grid-template-columns:1fr;gap:35px}.policy-layout{padding-top:30px}.policy-layout aside h2{font-size:42px}.policy-list article{gap:18px}.policy-list h3{font-size:26px}.policy-list article p{font-size:11px}.booking-layout{padding-top:25px}.booking-summary{position:static;order:-1;padding:23px}.booking-summary>img,.booking-summary h2{display:none}.booking-summary .eyebrow{margin-bottom:5px}.booking-summary dl{margin:0}.booking-summary dl>div{padding:11px 0;font-size:11px}.booking-summary .fine{font-size:9px;margin-top:14px}.booking-summary .location-note{margin-top:15px}.form-grid{gap:0 15px}.form-step h2{font-size:27px}form label{font-size:10px}.form-step{gap:12px}.booking-layout>form .button{width:100%;font-size:9px}#request-success{order:-2}#request-success h2{font-size:40px}.login-panel{padding:25px;margin-bottom:10px}.login-panel .button{font-size:9px;width:100%}.desk-stats{gap:10px}.desk-stats>div{padding:15px}.desk-stats span{font-size:9px}.desk-stats strong{font-size:33px}.request-card{padding:20px}.request-card header{align-items:start}.request-card h3{font-size:24px}.request-details{grid-template-columns:1fr 1fr}.filters button{font-size:9px;padding:9px 13px}dialog{width:92vw}dialog>div{display:block;padding:20px}dialog h2{font-size:26px;margin-bottom:10px}dialog img{max-height:68vh}footer{grid-template-columns:1fr 1fr;gap:25px;padding:35px 6% 85px}.footer-brand{grid-column:1/-1}.copyright{display:block;font-size:8px}.copyright span{display:block;margin-top:10px;font-size:6px}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper);padding:18px;text-align:center;font-size:10px;letter-spacing:1px;border-top:1px solid #ffffff40;z-index:15}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
