:root{--ink:#111;--paper:#f4f3ef;--muted:#777}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#f7f6f2}.logo{display:flex;align-items:center;gap:9px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:24px;line-height:.8;letter-spacing:.02em}.logo small{display:block;font:600 7px 'DM Sans';letter-spacing:.14em;margin-top:7px}.mark{border:2px solid currentColor;padding:7px 4px;position:relative;font-size:25px}.mark span{font-size:8px;position:absolute;right:-5px;top:-5px;background:#f7f6f2}nav{display:flex;gap:35px;font-size:12px;font-weight:700}nav a:hover,.text-link:hover{opacity:.6}.header-cta{font-size:12px;font-weight:700;border-bottom:1px solid;padding:10px 0}.header-cta span{margin-left:30px}.hero{height:min(720px,calc(100svh - 82px));min-height:570px;background:#161616;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 48%,rgba(0,0,0,.13)),url('https://images.unsplash.com/photo-1503951914875-452162b0f3f1?auto=format&fit=crop&w=2000&q=85') center 45%/cover;filter:grayscale(100%);animation:zoom 15s ease-out both}@keyframes zoom{from{transform:scale(1.05)}to{transform:scale(1)}}.hero-content{position:relative;margin-left:8%;max-width:830px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;display:flex;align-items:center;gap:10px;margin:0 0 28px}.eyebrow span{width:27px;height:2px;background:currentColor}.light{color:#ddd}h1,h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:-.025em;line-height:.89;margin:0;text-transform:uppercase}h1{font-size:clamp(64px,8vw,120px)}h1 em,h2 i{font-style:normal;color:transparent;-webkit-text-stroke:1px currentColor}h1 em{-webkit-text-stroke:1px white}.hero-copy{font-size:15px;line-height:1.7;color:#d0d0d0;max-width:350px;margin:27px 0}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:18px 22px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.white{background:white;color:#111}.dark{background:#111;color:white}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:14px}.hero-bottom{position:absolute;bottom:24px;left:8%;right:6%;display:flex;justify-content:space-between;color:#aaa;font-size:9px;letter-spacing:.14em}.ticker{background:#171717;color:#eee;display:flex;justify-content:space-around;gap:24px;padding:19px;overflow:hidden;white-space:nowrap;font:700 13px 'Barlow Condensed';letter-spacing:.16em}.ticker b{color:#777}.section{padding:120px 8%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:65px}.section-heading>p{max-width:300px;color:#6e6e6e;font-size:14px;line-height:1.8;margin:0}h2{font-size:clamp(58px,6.6vw,94px)}h2 i{-webkit-text-stroke:1px #111}.service{display:grid;grid-template-columns:70px 1fr auto;align-items:center;padding:27px 0;border-top:1px solid #c9c9c5}.service:last-child{border-bottom:1px solid #c9c9c5}.num{font-size:11px;color:#888}.service h3{font:700 30px 'Barlow Condensed';text-transform:uppercase;margin:0 0 3px}.service p{font-size:12px;color:#777;margin:0}.service strong{font:700 26px 'Barlow Condensed'}.service strong small{font:600 9px 'DM Sans'}.disclaimer{font-size:11px;color:#888;margin-top:20px}.portfolio{background:#e6e5e0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0}.gallery img{width:100%;height:390px;object-fit:cover;filter:grayscale(100%);transition:filter .35s,transform .35s}.gallery figure:hover img{filter:grayscale(20%)}figcaption{display:flex;justify-content:space-between;gap:8px;margin-top:14px;font-size:9px;letter-spacing:.08em}figcaption b{font-size:11px;letter-spacing:0}.booking{background:#151515;color:white;padding:120px 8%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.booking h2 i{-webkit-text-stroke-color:white}.booking-intro>p:not(.eyebrow){color:#aaa;font-size:14px;line-height:1.8;max-width:320px;margin:28px 0}.booking-note{border-top:1px solid #444;padding-top:23px;margin-top:60px;color:#bbb;font-size:10px;letter-spacing:.12em}form{background:#f7f6f2;color:#111;padding:35px}.form-title{display:flex;justify-content:space-between;border-bottom:1px solid #ccc;padding-bottom:25px;margin-bottom:25px}.form-title small{font-size:9px;letter-spacing:.15em}.form-title h3{font:700 34px 'Barlow Condensed';text-transform:uppercase;margin:6px 0 0}label{display:block;font-size:9px;font-weight:700;letter-spacing:.12em;margin:18px 0 8px}input,select{width:100%;height:49px;border:1px solid #d2d2ce;background:transparent;padding:0 12px;font:13px 'DM Sans';color:#333;border-radius:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}form button{width:100%;border:0;cursor:pointer;margin-top:24px}.form-help{font-size:10px;color:#777;line-height:1.6}.location{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.address{font-size:16px;line-height:1.7;color:#555;margin:30px 0}.map{min-height:340px;background:#d7d7d1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.map-lines{position:absolute;inset:-50%;background:repeating-linear-gradient(32deg,transparent 0 45px,#c0c0ba 46px 48px,transparent 49px 88px),repeating-linear-gradient(110deg,transparent 0 72px,#c6c6bf 73px 75px,transparent 76px 130px);transform:rotate(-5deg)}.pin,.map span{position:relative}.pin{background:#111;color:white;width:50px;height:50px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center}.map span{background:#f5f4ef;padding:12px 16px;font-size:9px;letter-spacing:.12em;line-height:1.8}.map span b{font-size:12px}footer{background:#111;color:white;padding:40px 8%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:not(.logo),footer>small{font-size:9px;letter-spacing:.12em;color:#aaa}.footer-logo .mark span{background:#111}.mobile-cta{display:none}@media(max-width:700px){header{height:70px;padding:0 6%}nav{display:none}.hero{height:calc(100svh - 70px);min-height:590px;max-height:760px}.hero-image{background-position:60% center;background-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.35)),url('https://images.unsplash.com/photo-1503951914875-452162b0f3f1?auto=format&fit=crop&w=1100&q=85')}.hero-content{margin:0 6%}h1{font-size:clamp(60px,14vw,90px)}.hero-copy{max-width:290px}.hero-bottom{left:6%}.hero-bottom span:last-child{display:none}.section{padding:80px 6%}.section-heading{display:block;margin-bottom:38px}.section-heading>p{margin-top:22px}.service{grid-template-columns:35px 1fr auto;padding:22px 0}.service h3{font-size:25px}.service strong{font-size:23px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery figure:first-child{grid-column:span 2}.gallery img{height:230px}.gallery figure:first-child img{height:290px}figcaption{display:block}figcaption b{display:block;margin-top:5px}.booking{padding:80px 6%;grid-template-columns:1fr;gap:40px}.booking-note{margin-top:35px}form{padding:25px}.location{grid-template-columns:1fr;gap:40px}.map{min-height:260px}footer{padding:40px 6% 100px;display:grid;grid-template-columns:1fr 1fr}footer p{display:none}footer>a:not(.logo){text-align:right}.mobile-cta{display:flex;justify-content:space-between;position:fixed;z-index:5;bottom:12px;left:12px;right:12px;background:#111;color:#fff;padding:17px 20px;font-size:12px;font-weight:700;box-shadow:0 5px 25px #0004}.ticker{justify-content:flex-start}h2{font-size:clamp(55px,13vw,76px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.calendar-card{background:#f7f6f2;color:#111;padding:35px;min-width:0}.calendar-intro,.calendar-fallback,.calendar-admin{font-size:12px;line-height:1.6;color:#666}.calendar-card iframe{display:block;width:100%;height:650px;border:0;background:#fff}.calendar-fallback a,.calendar-admin a{color:#111;text-decoration:underline;font-weight:700}.calendar-admin{border-top:1px solid #ccc;padding-top:15px;margin-bottom:0}@media(max-width:700px){.calendar-card{padding:20px 15px}.calendar-card iframe{height:680px}}
.booking-card{background:#f4f3ef;color:#111;padding:38px;min-width:0}.booking-card-top,.booking-card-footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:700;letter-spacing:.14em}.booking-card-top{padding-bottom:22px;border-bottom:1px solid #c8c8c2}.booking-symbol{font:800 80px/.8 'Barlow Condensed';letter-spacing:-.08em;margin:42px 0 35px}.booking-symbol span{font:20px 'DM Sans';vertical-align:top;margin-left:5px}.booking-card-kicker{font-size:9px;letter-spacing:.18em;font-weight:700;color:#777}.booking-card h3{font:800 clamp(42px,5vw,68px)/.9 'Barlow Condensed';letter-spacing:-.02em;margin:12px 0 20px}.booking-card-copy{font-size:13px;line-height:1.7;color:#666;max-width:310px}.booking-open{border:0;cursor:pointer;width:100%;margin:18px 0 28px}.booking-card-footer{border-top:1px solid #c8c8c2;padding-top:18px;color:#777}.calendar-admin{border-top:1px solid #c8c8c2;margin:22px 0 0;padding-top:18px;font-size:11px;color:#777}.calendar-admin a,.dialog-fallback a{color:#111;text-decoration:underline;font-weight:700}#booking-dialog{border:0;padding:0;width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);background:#f4f3ef;color:#111;box-shadow:0 20px 80px #0008;overflow:hidden}#booking-dialog::backdrop{background:#000b}.dialog-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.dialog-header small{font-size:9px;font-weight:700;letter-spacing:.15em}.dialog-header h3{font:800 30px 'Barlow Condensed';margin:4px 0 0}.dialog-close{background:#111;color:#fff;border:0;width:42px;height:42px;font-size:26px;cursor:pointer}.dialog-close:focus-visible,.booking-open:focus-visible{outline:3px solid #888;outline-offset:3px}#booking-dialog iframe{display:block;border:0;background:white;width:100%;height:min(650px,calc(100dvh - 190px))}.dialog-fallback{font-size:11px;color:#666;padding:0 24px 5px}@media(max-width:700px){.booking-card{padding:26px}.booking-symbol{margin:34px 0 28px}.dialog-header{padding:16px}.dialog-header h3{font-size:26px}#booking-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}#booking-dialog iframe{height:calc(100dvh - 170px)}.dialog-fallback{padding:0 16px 4px}}
