@font-face{font-family:Manrope;src:url(assets/manrope.woff2) format('woff2');font-weight:200 800;font-display:swap}@font-face{font-family:Editorial;src:url(assets/editorial.woff2) format('woff2');font-weight:400 700;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.7;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.12}h1{font-size:clamp(54px,6.7vw,100px);letter-spacing:-.065em}h2{font-size:clamp(36px,4vw,60px);letter-spacing:-.045em}h3{font-size:23px;letter-spacing:-.025em}em{font-style:normal}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;line-height:1.6;margin-bottom:24px;color:var(--accent)}.micro{font-size:11px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid transparent;background:var(--accent);color:var(--button-ink);padding:16px 25px;line-height:1.3;font-weight:600;font-size:13px;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-3px);filter:brightness(.94)}.button span{font-size:20px}.small{padding:12px 19px;font-size:11px;gap:20px}.demo-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:9px 30px;font-size:10px;background:var(--ink);color:var(--paper);letter-spacing:.03em}.demo-bar b{font-weight:400;opacity:.7}.header{display:flex;align-items:center;justify-content:space-between;padding-block:30px;gap:30px}.wordmark{font-size:22px;font-weight:700;letter-spacing:-.045em;line-height:1.15;flex-shrink:0}.wordmark small{display:block;font-family:Manrope,Arial,sans-serif;font-size:8px;text-transform:uppercase;letter-spacing:.16em;margin-top:7px;font-weight:500}.header nav{display:flex;align-items:center;gap:30px;font-size:11px}.header nav>a:hover{text-decoration:underline;text-underline-offset:5px}.menu{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 14px;border-radius:4px}.intro{font-size:15px;max-width:465px;line-height:1.85}.hero .micro{margin-top:24px}.hero-media{position:relative;overflow:hidden}.photo-caption{position:absolute;bottom:12px;left:16px;background:#101b1899;color:#fff;padding:3px 8px;font-size:8px;letter-spacing:.04em}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:0 80px;align-items:end;margin-bottom:50px}.section-head .eyebrow{grid-column:1/-1}.section-head>p:last-child{font-size:12px;justify-self:end;max-width:310px}.service h3{margin-bottom:16px}.service p{font-size:13px}.service-num{font-size:10px;letter-spacing:.1em;color:var(--muted)}.service-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}.service-bottom>span{font-size:12px;white-space:nowrap}.service-bottom i{font-style:normal;opacity:.5;padding:0 7px}.service-book{color:var(--ink);background:transparent;border:0;padding:12px 0;line-height:1.5;font-size:11px;text-align:left}.service-book span{font-size:20px;margin-left:14px}.service-book:hover{text-decoration:underline}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.about-art{position:relative;overflow:hidden;min-height:450px;display:flex;flex-direction:column;justify-content:center;padding:60px}.about-copy>p:not(.eyebrow){margin-top:28px}.about-copy>p.signature{color:var(--ink);font-size:30px;margin-bottom:6px}.about-copy>.micro{display:block}.about-art p{font-size:38px;line-height:1.3;letter-spacing:-.04em;color:var(--ink)}.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:0;margin:0;list-style:none}.process li{border-top:1px solid var(--line);padding-top:22px}.process li span{font-size:12px;color:var(--accent);display:block;margin-bottom:35px}.process h3{font-size:20px;line-height:1.5;max-width:270px}.testimonial{text-align:center;padding:100px 0}.testimonial blockquote{font-size:clamp(28px,3.3vw,48px);line-height:1.4;letter-spacing:-.03em;max-width:890px;margin:0 auto 35px}.quote-mark{font-size:80px;line-height:1;display:block;color:var(--accent)}.quote-credit{font-size:12px;margin-bottom:12px}.testimonial .micro{max-width:480px;margin:auto}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:25px;cursor:pointer;padding:24px 0;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq details p{padding-bottom:25px;font-size:13px}.faq details[open] summary span{transform:rotate(45deg)}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:center}.contact h2{margin-bottom:25px}.contact p{max-width:480px;font-size:14px}.contact .button{margin-top:30px}.contact .micro{display:block;margin-top:16px;font-size:10px}.contact aside{padding:36px;border:1px solid var(--line)}.contact aside h3{margin-bottom:25px;font-size:20px}.contact aside p{font-size:12px;margin-bottom:14px}.contact aside a{display:block;border-top:1px solid var(--line);padding-top:22px;margin-top:25px;font-size:14px}.footer{padding-block:35px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:25px}.footer p,.footer>a:not(.wordmark){font-size:10px}.footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--paper);padding:15px}.skip:focus{top:10px}dialog{border:1px solid #dededb;border-radius:16px;width:min(680px,calc(100% - 24px));padding:0;color:#202622;background:#fafbf8;max-height:90dvh;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#091512aa;backdrop-filter:blur(5px)}.booking-top{padding:15px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dededb;font-size:10px;letter-spacing:.1em}.booking-top button{font-size:27px;background:none;border:0;color:#202622;width:40px;height:40px}#booking-content{padding:30px}#booking-title{font-family:Manrope,Arial,sans-serif;font-size:27px;letter-spacing:-.04em;line-height:1.2;margin-bottom:10px}.booking-note{font-size:11px;line-height:1.6;color:#606b62;background:#edf0e9;border-radius:5px;padding:10px 12px;margin:18px 0}.booking-field{display:grid;gap:7px;margin-top:18px;font-size:12px}.booking-field select{padding:12px;background:white;border:1px solid #c4ccc5;color:#202622;border-radius:6px;width:100%}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.calendar-head strong{font-size:14px;text-transform:capitalize}.calendar-head button{background:white;border:1px solid #c4ccc5;border-radius:4px;width:36px;height:36px;color:#202622}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays{margin-top:15px;text-align:center;font-size:10px;color:#606b62}.days{margin-top:8px}.days button{border:1px solid #dbe0d9;background:white;border-radius:5px;min-height:40px;color:#202622;font-size:12px}.days button[aria-pressed=true],.slots button[aria-pressed=true]{background:#294f43;color:white;border-color:#294f43}.days button:disabled{background:#f0f1ed;opacity:.45}.slots{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.slots button{border:1px solid #c4ccc5;background:white;color:#202622;padding:9px 15px;border-radius:5px;font-size:12px}.booking-next{margin-top:22px;background:#294f43;color:white;border:0;padding:14px 20px;border-radius:5px;width:100%;font-size:13px}.booking-back{margin-top:15px;border:0;background:none;text-decoration:underline;color:#294f43;font-size:12px}.booking-summary{margin:25px 0;padding:20px;border:1px solid #dbe0d9;border-radius:7px;display:grid;gap:8px;font-size:14px}.success-icon{background:#e4eddb;color:#294f43;border-radius:100%;width:56px;height:56px;display:grid;place-items:center;font-size:25px;margin-bottom:22px}.booking-step{color:#606b62;font-size:10px;margin-bottom:20px}body:has(dialog[open]){overflow:hidden}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px}.header .small{display:none}.about-grid{gap:50px}.section{padding-block:80px}.service-bottom{align-items:start;flex-direction:column;gap:10px}.contact-grid{gap:50px}.about-art{padding:35px;min-height:400px}.faq{gap:50px}.section-head{gap:0 40px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.demo-bar{padding:9px 20px;font-size:9px}.demo-bar b{display:none}.header{padding-block:22px;flex-wrap:wrap;gap:20px}.wordmark{font-size:21px}.menu{display:block;font-size:11px}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:15px 0}.header .small{display:flex;margin-top:10px}.section{padding-block:64px}h1{font-size:clamp(43px,10.8vw,72px)}h2{font-size:36px}.intro{font-size:14px}.section-head{display:block;margin-bottom:32px}.section-head>p:last-child{margin-top:20px}.about-grid,.contact-grid,.faq{grid-template-columns:1fr;gap:35px}.about-art{min-height:310px}.about-copy>p:not(.eyebrow){margin-top:22px}.about-copy h2 br{display:none}.process ol{grid-template-columns:1fr;gap:25px}.process li{display:grid;grid-template-columns:40px 1fr;gap:15px;padding-top:20px}.process li span{margin:3px 0 0}.process h3{font-size:19px;max-width:none}.testimonial{padding:65px 0}.testimonial blockquote{font-size:29px}.quote-credit{font-size:10px}.testimonial .micro{font-size:10px}.contact aside{padding:25px}.footer{gap:20px}.footer p{width:100%;order:2}.footer small{order:3}.footer .wordmark{font-size:18px}.footer>a:not(.wordmark){font-size:9px}.eyebrow{font-size:9px;margin-bottom:18px}.button{padding:15px 21px;font-size:12px}.contact h2 br{display:none}#booking-content{padding:23px}.booking-top{padding:10px 20px}.days{gap:4px}.days button{min-height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.header nav>a{padding-block:8px}.booking-top button:focus-visible,.days button:focus-visible,.slots button:focus-visible,.booking-back:focus-visible,.booking-next:focus-visible,.booking-field select:focus-visible{outline:3px solid #6f9164;outline-offset:3px}
