/* Phone and tablet controls are designed for touch, not scaled desktop UI. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}img{max-width:100%}
@media(max-width:1024px){.site-header{min-height:74px;margin-inline:20px;gap:14px}.desktop-nav{display:none}.header-actions{gap:14px}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;min-height:44px;padding:10px}.text-button{min-height:44px;font-size:14px}.wordmark{display:flex;align-items:center;min-height:44px}.site-header #mobile-nav{top:100%;left:0;right:0;padding:20px;background:#242421;max-height:calc(100dvh - 110px);overflow-y:auto;z-index:30}.site-header #mobile-nav a{font:500 25px/1.3 Syne,sans-serif;min-height:48px;padding:12px 0}.hero-masthead{grid-template-columns:minmax(0,1fr) 150px}.hero h1{font-size:17vw}.service-list{padding-right:0;min-height:0}.service-items{position:static;width:auto;border-left:0;display:block;padding:0 18px 20px}.service-list:has(.service-group[open]){padding-right:0;min-height:0}.service-group summary,.service-list:has(.service-group[open]) summary{font-size:clamp(26px,4vw,42px);padding:24px 0}.service-select{min-height:44px;font-size:14px}.service-item p{font-size:14px}.shop-controls .round-control,.gallery-controls .round-control,.review-bottom .round-control{width:48px;height:48px}.shop-stage .shop-panel{touch-action:pan-x;scroll-snap-align:start}.shop-info{font-size:15px}.shop-info>span{font-size:14px}dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}dialog input,dialog select{font-size:16px;min-height:48px}.close-button{min-width:44px;min-height:44px}.submit-button{min-height:52px;font-size:15px}.line-link{min-height:44px}.footer-bottom{font-size:13px}}
@media(max-width:600px){.demo-notice{font-size:11px;line-height:1.5;padding:8px 18px}.site-header{margin-inline:18px}.hero{padding-inline:18px}.hero-masthead{grid-template-columns:minmax(0,1fr);padding-top:24px}.hero h1{font-size:18vw}.masthead-note{font-size:12px;line-height:1.5;gap:20px}.masthead-note span:first-child{max-width:14ch}.masthead-note span:last-child{font-size:12px;max-width:18ch}.stage-caption{font-size:12px}.image-stage{height:340px}.stage-book{width:calc(100% - 12px);padding:16px;grid-template-columns:minmax(0,1fr) auto;gap:12px}.stage-book>span:first-child{font-size:13px}.stage-book em{font-size:20px;white-space:normal}.stage-book-action{font-size:14px;min-height:44px;display:flex;align-items:center}.stage-book>svg{display:none}.hero-baseline p,.hero-baseline>a{font-size:12px}.hero-baseline{padding-top:48px}.manifesto-bottom p,.studio-panel p,.people-intro p{font-size:15px;line-height:1.8}.manifesto-bottom .line-link,.studio-panel .line-link{font-size:14px}.section-heading p{font-size:15px}.section-heading p.disclosure{font-size:13px}.service-group summary{font-size:clamp(24px,6.5vw,36px);min-height:72px}.service-item{grid-template-columns:minmax(0,1fr) auto;gap:14px}.service-item h3{font-size:18px}.service-item p{font-size:14px;line-height:1.7}.service-meta,.service-price{font-size:14px}.service-select{font-size:14px}.people-intro h2 br{display:block!important}.people-intro h2{font-size:40px}.team-person figcaption{font-size:25px}.contact-bottom{font-size:15px}.shop-stage{height:430px;scroll-snap-type:x proximity}.shop-stage .shop-panel,.shop-stage .shop-panel[aria-expanded=true]{flex-basis:86%}.shop-label{font-size:27px}.shop-info{font-size:14px}.shop-panel[aria-expanded=true] .shop-label{bottom:175px}.shop-info>span{font-size:13px}dialog h2{font-size:36px}dialog{padding:24px 20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.form-row{grid-template-columns:1fr;gap:0}.form-help,#booking-result-note{font-size:14px}#booking-summary{font-size:16px}.service-group[open] summary{padding-inline:14px}.contact h2{font-size:clamp(33px,8.3vw,46px)}}
@media(max-height:500px) and (max-width:1024px){.image-stage{height:300px}.hero-masthead{padding-block:20px}.hero h1{font-size:12vw}.site-header #mobile-nav{max-height:calc(100dvh - 90px)}dialog{max-height:calc(100dvh - 16px)}}
@media(hover:none){.shop-label{bottom:24px}.shop-panel[aria-expanded=true] .shop-label{bottom:175px}.shop-panel:hover .shop-info{opacity:0}.shop-panel[aria-expanded=true] .shop-info{opacity:1}.service-group summary:hover{padding-left:0}}

@media(max-width:1024px){.header-actions .text-button{font-size:14px;min-height:44px}}
