:root{--ink:#171918;--paper:#f5f3ed;--stone:#e8e5dd;--gold:#c5ad87;--muted:#6c6d66;--line:#d7d5cd;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font:16px var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.35}a{color:inherit;text-decoration:none}button{border:0}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h2{font-size:clamp(44px,5vw,76px);line-height:.98;letter-spacing:-2px}em{font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #9c6d31;outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);padding:15px}.skip:focus{top:15px}[hidden]{display:none!important}.header{height:99px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:0 5.3%;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff1c}.brand{display:flex;flex-direction:column;width:max-content}.brand>span{font:500 39px/.9 var(--serif);letter-spacing:3px;position:relative}.brand-star{font:19px var(--serif);position:absolute;top:-3px;right:-19px;color:var(--gold)}.brand small{font-size:8px;letter-spacing:5.8px;margin-top:10px}.header nav{display:flex;gap:34px;font-size:13px}.header nav a{padding:15px 0;color:#deded8;transition:color .2s}.header nav a:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:17px 22px;min-height:53px;font-size:13px;font-weight:600;letter-spacing:.15px;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-symbol{font-size:21px;font-weight:400;line-height:1}.header-book{color:var(--paper);background:transparent;border:1px solid #b8b4a85c;font-size:12px;min-height:45px;padding:12px 19px}.header-book:hover{background:#ffffff0d}.button.ivory{background:var(--paper);color:var(--ink)}.button.ivory:hover{background:#dedbd3}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#323631}.menu-toggle,.mobile-nav{display:none}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500;display:flex;align-items:center;gap:12px;line-height:1.7}.muted{color:var(--muted)}.small-line{width:25px;height:1px;background:var(--gold)}.hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:675px}.hero-copy{padding:85px 7% 38px 10.6%;display:flex;flex-direction:column;align-items:flex-start}.hero-copy>.eyebrow{color:var(--gold)}h1{font-size:clamp(66px,7.5vw,116px);letter-spacing:-4px;line-height:.93;margin:44px 0 32px;position:relative;z-index:2;white-space:nowrap}h1 em{color:#d7c8b0}.hero-copy>p{font-size:15px;line-height:1.85;color:#b9bcb4}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.text-link{font-size:12px;padding:10px 0 7px;border-bottom:1px solid #ffffff65;line-height:1.5}.hero-bottom{display:flex;gap:25px;justify-content:space-between;width:100%;margin-top:auto;padding-top:70px;font-size:9px;letter-spacing:1.5px;color:#969b90}.hero-photo{position:relative;overflow:hidden;margin:27px 27px 27px 0;min-height:620px}.hero-photo>img{height:100%;position:absolute;inset:0;object-position:50% 43%;filter:saturate(.55)}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#101512b0,transparent 43%),linear-gradient(90deg,#17191822,transparent 25%)}.vertical-label{position:absolute;right:21px;top:30px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#fff}.hero-caption{position:absolute;bottom:31px;left:34px}.hero-caption>span{font-size:9px;letter-spacing:2px}.hero-caption p{font:italic 29px var(--serif);margin-top:9px}.photo-explore{position:absolute;bottom:35px;right:29px;width:44px;height:44px;border:1px solid #ffffff70;color:white;background:#ffffff12;border-radius:50%;font-size:24px}.photo-explore:hover{background:#ffffff30}.hero-index{position:absolute;bottom:40px;left:calc(50% - 19px);writing-mode:vertical-rl;color:var(--gold);font-size:10px;letter-spacing:3px}.service-strip{display:flex;justify-content:space-around;gap:20px;align-items:center;padding:27px 5.3%;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;font-size:10px;letter-spacing:2px}.service-strip i{font-size:21px;color:#827457;font-style:normal}.section{padding:95px 5.3%;max-width:1600px;margin:0 auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading h2{margin-top:23px}.heading-aside{padding-bottom:5px}.heading-aside p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:13px}.dark-link{display:inline-block;border-color:#93968b}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.portfolio-card{min-width:0}.portfolio-image{display:block;width:100%;aspect-ratio:4/4.7;padding:0;overflow:hidden;position:relative;background:var(--stone)}.portfolio-image img{height:100%;object-position:center 40%;filter:saturate(.65);transition:transform .6s,filter .6s}.portfolio-image:hover img{transform:scale(1.045);filter:saturate(1)}.portfolio-image>span{position:absolute;right:15px;bottom:15px;width:34px;height:34px;border:1px solid #ffffff85;color:white;background:#17191830;display:grid;place-items:center;border-radius:50%;font-size:22px}.portfolio-caption{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;gap:10px}.portfolio-caption h3{font-size:14px;font-weight:500}.portfolio-caption span{font-size:10px;color:var(--muted);letter-spacing:1px}.portfolio-card:nth-child(2){padding-top:45px}.portfolio-card:nth-child(5){padding-top:0}.gallery-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:33px;font-size:10px;color:var(--muted);letter-spacing:1px;border-top:1px solid var(--line);padding-top:22px}.gallery-footnote span:last-child{letter-spacing:0}.services{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;border-top:1px solid var(--line);padding-top:85px}.service-intro h2{margin:25px 0}.service-intro>p{font-size:14px;color:var(--muted);line-height:1.8}.service-note{display:flex;gap:17px;margin-top:45px;max-width:300px}.service-note>span{font-size:32px;color:#9d896c}.service-note p{font-size:12px;line-height:1.8;color:var(--muted)}.service-row{display:flex;width:100%;text-align:left;align-items:center;gap:22px;padding:29px 0;background:transparent;border-bottom:1px solid var(--line);transition:padding .2s}.service-row:first-child{border-top:1px solid var(--line)}.service-row:hover{padding-left:8px}.row-number{font-size:11px;color:var(--muted);align-self:flex-start;padding-top:9px}.row-copy{flex:1}.row-copy strong{display:block;font:400 31px/1.2 var(--serif);letter-spacing:-.5px}.row-copy small{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:8px;max-width:290px}.row-action{font-size:11px;display:flex;align-items:center;gap:16px}.row-action b{font-size:25px;font-weight:400}.other-services{margin-top:28px}.other-services>span{font-size:9px;color:var(--muted);letter-spacing:1.7px}.other-services>div{display:flex;gap:9px;margin:14px 0}.other-services button{background:transparent;border:1px solid var(--line);padding:11px 14px;font-size:12px;display:flex;gap:18px}.other-services button:hover{background:var(--stone)}.other-services p{font-size:11px;line-height:1.7;color:var(--muted)}.about{max-width:none;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:80px;padding-bottom:80px}.about-photo{height:610px;position:relative}.about-photo img{height:100%;object-position:center 47%;filter:saturate(.4)}.image-label{position:absolute;bottom:0;left:0;padding:17px 20px;background:var(--ink);font-size:9px;letter-spacing:1.8px}.about-copy{padding:34px 2% 20px 0;align-self:center}.about-copy>.eyebrow{color:var(--gold)}.about-copy h2{font-size:clamp(43px,4.6vw,68px);margin:27px 0}.large-copy{font:400 24px/1.5 var(--serif);margin-bottom:21px}.about-copy>p:not(.large-copy){font-size:14px;line-height:1.9;color:#b3b7ad;max-width:415px}.signature{display:flex;align-items:center;gap:25px;font:italic 49px var(--serif);color:var(--gold);margin:25px 0}.signature span{font:9px var(--sans);letter-spacing:1.7px;color:#b3b7ad}.about-copy>.button{margin-top:9px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.visit h2{margin:26px 0 35px}.address-label{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.address h3{font-size:18px;font-weight:500;margin:12px 0}.address p{font-size:14px;line-height:1.9;color:var(--muted)}.visit-actions{display:flex;gap:25px;align-items:center;margin-top:29px}.visit-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.phone-link{font-size:13px;border-bottom:1px solid var(--line);padding:8px 0}.hours-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:20px}.studio-photo{height:490px;position:relative}.studio-photo img{height:100%;object-position:center 43%;filter:saturate(.6)}.studio-photo>span{position:absolute;bottom:0;right:0;background:var(--paper);padding:18px 20px;font-size:9px;letter-spacing:1.3px}.closing{background:#292e2a;color:var(--paper);text-align:center;padding:80px 5%;position:relative;overflow:hidden}.closing>.eyebrow{justify-content:center;color:var(--gold)}.closing h2{font-size:85px;margin:27px 0 35px;line-height:.98}.closing h2 em{color:#cfbea5}footer{padding:45px 5.3% 25px;background:var(--ink);color:var(--paper)}.footer-top{display:flex;align-items:center;gap:75px;padding-bottom:40px}.footer-top p{font-size:12px;color:#a5aaa0;line-height:1.8}.footer-top>div{display:flex;gap:30px;margin-left:auto;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1c;padding-top:25px;font-size:9px;letter-spacing:.8px;color:#a5aaa0}.footer-bottom>span:nth-child(2){letter-spacing:0}
/* Appointment flow */
dialog{border:0;padding:0;color:var(--ink);background:var(--paper);max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:0 25px 120px #0005}dialog::backdrop{background:#101310b8;backdrop-filter:blur(7px)}dialog[open]{animation:enter .22s ease-out}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.close-button{position:absolute;right:17px;top:15px;width:36px;height:36px;display:grid;place-items:center;background:var(--stone);border-radius:50%;font-size:24px;z-index:5;line-height:1}.close-button:hover{background:#d9d4c7}.booking-dialog{width:930px;overflow:hidden}.booking-layout{display:grid;grid-template-columns:290px 1fr;height:min(690px,calc(100dvh - 48px))}.booking-aside{padding:34px 27px;background:#232824;color:var(--paper);display:flex;flex-direction:column;min-height:0}.booking-aside>.eyebrow{color:var(--gold);font-size:9px;letter-spacing:1.5px}.booking-aside h2{font-size:53px;margin:21px 0;letter-spacing:-1px}.booking-aside>img{height:175px;object-position:50% 43%;filter:saturate(.4)}.booking-location{display:flex;flex-direction:column;gap:6px;margin:20px 0;font-size:13px}.booking-location b{font-weight:500}.booking-location span{font-size:10px;color:#b6bcb0}.aside-summary{border-top:1px solid #ffffff24;padding-top:16px;font-size:12px;line-height:1.9;color:#d1d6ca}.aside-summary small{color:var(--gold);font-size:9px;letter-spacing:1px;display:block}.aside-demo{font-size:10px;line-height:1.7;color:#a5ad9e;margin-top:auto;padding-top:20px}.booking-panel{display:flex;flex-direction:column;min-width:0;min-height:0}.booking-top{padding:30px 36px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.step-count{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:17px}.stepper{list-style:none;display:flex;gap:0;margin:0;padding:0;font-size:11px;color:#84877e}.stepper li{flex:1;position:relative;padding-top:13px;border-top:2px solid var(--line)}.stepper li.active{color:var(--ink);border-color:var(--ink);font-weight:600}.stepper li.done{border-color:#9d896c}.booking-scroll{padding:25px 36px 20px;overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8b5a9 transparent}.booking-scroll::-webkit-scrollbar{width:5px}.booking-scroll::-webkit-scrollbar-thumb{background:#b8b5a9;border-radius:8px}.booking-scroll h2{font-size:37px;letter-spacing:-1px;line-height:1.1;margin-bottom:10px}.step-description{color:var(--muted);font-size:12px;line-height:1.75;margin-bottom:23px}.booking-bottom{padding:17px 36px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;background:var(--paper)}.booking-bottom>.button{min-width:195px;justify-content:space-between;font-size:12px;padding:15px 18px}.back-button{background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:12px 0}.service-choice{display:flex;align-items:center;gap:14px;padding:17px;margin:10px 0;border:1px solid var(--line);cursor:pointer;position:relative}.service-choice:hover{background:#eeeae1}.service-choice:has(input:checked){border-color:#92846e;background:#ece7dc}.service-choice input{position:absolute;opacity:0;width:1px;height:1px}.service-choice:has(input:focus-visible){outline:2px solid #9c6d31;outline-offset:3px}.choice-icon{font-size:25px;color:#8d806b;width:28px;font-family:var(--serif)}.choice-copy{flex:1}.choice-copy b{font-size:14px;font-weight:500;display:block}.choice-copy small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.choice-check{width:19px;height:19px;border:1px solid #b5b6aa;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:11px}.service-choice:has(input:checked) .choice-check{color:var(--paper);background:var(--ink);border-color:var(--ink)}.price-note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:18px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px;font-size:14px}.calendar-controls{display:flex;gap:5px}.calendar-controls button{background:var(--stone);width:32px;height:32px;font-size:21px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-weekdays span{font-size:9px;color:var(--muted);padding:5px}.calendar-day{background:transparent;min-height:35px;padding:7px;font-size:12px;border:1px solid transparent}.calendar-day:not(:disabled):hover{border-color:#9d896c}.calendar-day.selected{background:var(--ink);color:var(--paper)}.calendar-day:disabled{opacity:.25}.times-label{font-size:12px;font-weight:500;margin:21px 0 11px}.time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.time-option{padding:10px 5px;min-height:38px;font-size:11px;background:transparent;border:1px solid var(--line)}.time-option.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}.time-option:hover{border-color:#9d896c}.demo-notice{font-size:10px;color:#706349;background:#ebe6da;line-height:1.7;padding:11px 13px;margin-top:17px}.field-label{display:block;font-size:12px;font-weight:500;margin-bottom:9px}.booking-input{display:block;width:100%;padding:12px 13px;background:transparent;border:1px solid #c8c8bc;font-size:14px;color:var(--ink);border-radius:0}.booking-field{margin-bottom:19px}.booking-input::placeholder{color:#93968b}.booking-input[aria-invalid=true]{border-color:#a23725}textarea.booking-input{height:80px;resize:vertical;min-height:60px}.field-hint{font-size:10px;line-height:1.7;color:var(--muted);margin-top:7px}.extras-label{font-size:11px;color:var(--muted);margin:18px 0 10px}.extras-options{display:flex;gap:7px;flex-wrap:wrap}.extra-choice{cursor:pointer;font-size:11px;border:1px solid var(--line);padding:10px 12px;display:flex;gap:7px;align-items:center}.extra-choice:has(input:checked){border-color:#92846e;background:#ece7dc}.extra-choice input{accent-color:var(--ink)}.validation-error{font-size:12px;color:#a23725;margin:12px 0;line-height:1.6}.review-heading{font-size:9px;letter-spacing:1.8px;color:var(--muted);margin:24px 0 10px}.review-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.65}.review-row span{color:var(--muted)}.review-row strong{font-weight:500;text-align:right;max-width:70%;overflow-wrap:anywhere}.review-note{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.success-mark{height:65px;width:65px;border:1px solid #b3a284;border-radius:50%;display:grid;place-items:center;font:34px var(--serif);color:#8b7858;margin:10px 0 23px}.preview-reference{font-size:9px;color:var(--muted);letter-spacing:1.5px;margin:14px 0}.gallery-dialog{background:var(--ink);color:var(--paper);width:580px;overflow:hidden}.gallery-dialog>img{max-height:calc(100dvh - 170px);height:650px;object-fit:contain;background:#10120f}.gallery-caption{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;gap:15px}.gallery-caption h2{font-size:26px;letter-spacing:-.5px;margin-top:5px}.gallery-caption .eyebrow{font-size:9px;color:var(--gold)}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:36px;height:36px;background:transparent;border:1px solid #ffffff40;color:var(--paper);font-size:24px}
@media(min-width:1600px){.hero{min-height:760px}.hero-copy{padding-left:max(10.6%,calc((100vw - 1440px)/2))}.hero-photo{margin-right:max(27px,calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.header nav{gap:22px}.hero{min-height:620px}.hero-copy{padding-top:70px}.hero-photo{min-height:560px}.hero-actions{gap:20px;flex-wrap:wrap}h1{font-size:8vw;letter-spacing:-3px}.hero-bottom{font-size:8px;gap:10px}.section{padding-top:75px;padding-bottom:75px}.services{gap:6%;grid-template-columns:.8fr 1.2fr}.about{gap:7%}.about-photo{height:560px}.row-copy strong{font-size:27px}.service-row{gap:16px}.row-action{gap:10px}.visit-actions{gap:15px}.booking-layout{grid-template-columns:250px 1fr}.booking-aside{padding:30px 23px}.booking-top,.booking-scroll{padding-left:28px;padding-right:28px}.booking-bottom{padding-left:28px;padding-right:28px}}
@media(max-width:760px){html{scroll-padding-top:96px}.header{height:80px;padding:0 6%}.brand>span{font-size:31px}.brand-star{font-size:15px;right:-16px}.brand small{font-size:7px;letter-spacing:4.4px;margin-top:8px}.header nav{display:none}.header-book{margin-left:auto;font-size:10px;padding:10px 13px;min-height:39px;gap:15px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;margin-left:18px;width:27px;height:40px;background:none;padding:0}.menu-toggle span{height:1px;width:25px;background:var(--paper)}.mobile-nav:not([hidden]){display:flex;position:fixed;top:80px;left:0;right:0;background:var(--ink);color:var(--paper);padding:20px 6% 30px;flex-direction:column;gap:5px;z-index:19;border-bottom:1px solid #ffffff30}.mobile-nav a{padding:12px 0;font-size:16px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:36px 6% 36px}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:clamp(60px,13vw,95px);white-space:normal;letter-spacing:-2.5px;line-height:.95;margin:25px 0 22px}.hero-copy>p{font-size:13px;line-height:1.8}.hero-actions{margin-top:24px;gap:24px}.button{font-size:12px;padding:15px 19px;min-height:48px}.text-link{font-size:11px}.hero-bottom{display:none}.hero-photo{margin:0 6% 25px;min-height:0;height:430px}.hero-photo>img{object-position:50% 36%}.hero-caption{left:23px;bottom:25px}.hero-caption>span{font-size:8px}.hero-caption p{font-size:24px}.photo-explore{bottom:25px;right:23px;width:37px;height:37px}.vertical-label{font-size:8px;right:15px}.hero-index{display:none}.service-strip{padding:21px 6%;justify-content:flex-start;gap:25px;font-size:8px;letter-spacing:1.3px}.service-strip i{font-size:17px}.section{padding:53px 6%}h2{font-size:47px;letter-spacing:-1.5px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-top:18px}.heading-aside{margin-top:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.heading-aside p{font-size:11px;margin:0;line-height:1.8}.heading-aside .text-link{font-size:10px;max-width:130px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:25px 13px}.portfolio-card:nth-child(2){padding-top:29px}.portfolio-card:nth-child(5){padding-top:0}.portfolio-image{aspect-ratio:3/4}.portfolio-caption{margin-top:11px;display:block}.portfolio-caption h3{font-size:12px;line-height:1.4}.portfolio-caption span{font-size:8px;display:block;margin-top:6px}.gallery-footnote{font-size:8px;letter-spacing:.6px;gap:15px;margin-top:25px;padding-top:18px}.gallery-footnote span:first-child{max-width:170px}.gallery-footnote span:last-child{text-align:right;font-size:9px}.services{grid-template-columns:1fr;gap:30px}.service-intro h2{margin:18px 0}.service-intro h2 br{display:none}.service-intro>p{font-size:13px}.service-note{margin-top:22px;max-width:100%;gap:12px}.service-note p{font-size:11px;max-width:310px}.service-note>span{font-size:25px}.service-row{padding:24px 0;gap:17px}.row-number{font-size:10px}.row-copy strong{font-size:27px}.row-copy small{font-size:11px;max-width:235px}.row-action{font-size:10px;gap:12px}.row-action b{font-size:22px}.other-services button{font-size:11px;padding:10px 12px;gap:15px}.other-services p{font-size:10px}.about{grid-template-columns:1fr;gap:30px}.about-photo{height:410px}.about-photo img{object-position:center 44%}.image-label{font-size:8px;padding:15px 16px}.about-copy{padding:0}.about-copy h2{font-size:46px;margin:21px 0}.large-copy{font-size:23px;margin-bottom:17px}.about-copy>p:not(.large-copy){font-size:13px;max-width:100%}.signature{font-size:43px;gap:22px;margin:20px 0}.signature span{font-size:8px}.visit{grid-template-columns:1fr;gap:35px}.visit h2{margin:20px 0 29px}.visit h2 br{display:none}.visit-actions{gap:22px}.address h3{font-size:17px}.address p{font-size:13px}.phone-link{font-size:12px}.hours-note{font-size:10px}.studio-photo{height:360px}.studio-photo img{object-position:center 46%}.studio-photo>span{font-size:8px;padding:15px 17px}.closing{padding:55px 6%}.closing h2{font-size:67px;margin:24px 0 28px}footer{padding:35px 6% 30px}.footer-top{gap:35px;flex-wrap:wrap;padding-bottom:28px}.footer-top p{font-size:11px}.footer-top>div{width:100%;gap:25px;margin:0;font-size:11px}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:16px;line-height:1.7}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:9px}.booking-dialog{max-width:100vw;width:100vw;max-height:96dvh;margin:auto 0 0;border-radius:16px 16px 0 0}.booking-layout{grid-template-columns:1fr;height:90dvh;max-height:850px}.booking-aside{display:none}.booking-top{padding:25px 24px 17px}.step-count{margin-bottom:15px}.stepper{font-size:10px}.booking-scroll{padding:24px 24px 18px}.booking-scroll h2{font-size:35px}.step-description{font-size:12px;margin-bottom:20px}.booking-bottom{padding:15px 24px max(20px,env(safe-area-inset-bottom))}.booking-bottom>.button{min-width:190px;font-size:12px;min-height:47px}.service-choice{padding:17px 14px}.choice-copy b{font-size:14px}.choice-copy small{font-size:11px}.calendar-day{min-height:39px;font-size:13px}.time-options{grid-template-columns:repeat(3,1fr)}.time-option{font-size:12px;min-height:42px}.booking-input{font-size:16px}.gallery-dialog{width:100%;max-width:calc(100vw - 22px);max-height:92dvh}.gallery-dialog>img{height:65dvh;max-height:calc(92dvh - 90px)}.gallery-caption{padding:18px}.gallery-caption h2{font-size:24px}.gallery-caption .eyebrow{font-size:8px}.gallery-controls button{width:34px;height:34px}.extras-options{gap:6px}.extra-choice{padding:10px;font-size:11px}}
@media(max-width:370px){.hero h1{font-size:57px}.header-book{font-size:9px;gap:10px;padding:9px 11px}.menu-toggle{margin-left:13px}.visit-actions{flex-wrap:wrap}.other-services>div{gap:6px}.other-services button{padding:10px;gap:10px}.row-copy strong{font-size:24px}.booking-bottom>.button{min-width:175px}.hero-actions{gap:20px}.hero-photo{height:390px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#booking-title:focus{outline:none}
