/* A task-first mobile experience, with details available on demand. */
.mobile-shortcuts,.mobile-service-row,.mobile-collection-title,.mobile-collection-intro,.mobile-filter-label{display:none}
.service-detail{display:flex;flex-direction:column;flex:1;min-width:0}
.service-detail[hidden]{display:none}
@media(max-width:760px){
 html{scroll-padding-top:88px}
 .topbar{display:none}
 nav{height:72px;padding:0 20px}
 .navlinks{top:72px;max-height:calc(100dvh - 160px);overflow:auto}
 .brand strong{font-size:24px}.brand small{letter-spacing:2px}.brand-symbol{width:28px}
 .mobile-shortcuts{display:flex;justify-content:space-around;gap:8px;padding:4px 16px;border-bottom:1px solid var(--line)}
 .mobile-shortcuts a{font-size:1rem;min-height:44px;display:flex;align-items:center;padding:6px}
 .hero{display:block;padding:28px 20px 30px;min-height:0}
 .hero-copy{padding:0}.hero-copy .eyebrow{font-size:.875rem;letter-spacing:0;margin-bottom:14px}
 .hero h1{font-size:clamp(42px,10vw,64px);letter-spacing:-2px;margin-bottom:16px;line-height:1.08}
 .hero-copy p{font-size:1.125rem;line-height:1.6;margin-bottom:20px;max-width:34ch}
 .hero .actions{display:block}.hero .actions .button{width:100%;justify-content:center;gap:20px}
 .hero .actions .text-link,.hero-note,.hero-index,.hero-visual,.care-strip{display:none}
 .section{padding:32px 20px}.treatment-section{padding-top:28px;border-top:1px solid var(--line)}
 .treatment-section .section-head{margin:0;gap:0}.treatment-section .section-head>div{width:100%}
 .treatment-section .section-head .eyebrow,.desktop-collection-title,.section-intro{display:none}
 .mobile-collection-title{display:block;font-size:34px;letter-spacing:-1px;line-height:1.15}
 .mobile-collection-intro{display:block;font-size:1rem;line-height:1.6;color:var(--muted);margin:12px 0 0}
 .treatment-toolbar{margin-top:20px;padding:0;border:0;gap:14px}
 .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;background:var(--blush);padding:4px;border-radius:8px}
 .filter{font-size:1rem;letter-spacing:0;padding:10px 3px;min-width:0;min-height:48px;border-radius:6px;line-height:1.4}
 .desktop-filter-label{display:none}.mobile-filter-label{display:inline}
 .treatment-search{border:1px solid #baadb1;border-radius:6px;padding:3px 12px;background:var(--white)}
 .collection-note{padding:14px 0;font-size:.875rem}.collection-note>span:first-child{display:none}
 .cards{display:flex;flex-direction:column;gap:10px;align-items:stretch}
 .treatment-card{display:block;flex:none;width:100%;border-radius:8px;box-shadow:none;transform:none;transition:none}
 .treatment-card[hidden]{display:none!important}.treatment-card:hover{box-shadow:none;transform:none}
 .mobile-service-row{display:flex;align-items:center;gap:12px;padding:18px 16px;min-height:128px}
 .service-toggle{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;min-height:80px;justify-content:center}
 .service-name{font-size:1.125rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
 .service-meta{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:4px}
 .service-disclosure{font-size:.875rem;color:var(--wine);margin-top:7px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
 .service-disclosure>span{margin-left:5px}
 .service-quick-book{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--olive);color:var(--cream);border-radius:6px;min-height:48px;min-width:80px;padding:10px;font-size:1rem;flex-shrink:0}
 .service-detail:not([hidden]){display:flex;border-top:1px solid var(--line);padding-top:16px}
 .service-detail .compare{width:calc(100% - 32px);margin:0 16px;border-radius:6px;aspect-ratio:1/1;max-width:420px;align-self:center}
 .service-detail .treatment-body{padding:16px}.service-detail .treatment-body h3,.service-detail .category,.service-detail .booking-kind{display:none}
 .service-detail .sample-caption{padding:8px 16px 0;font-size:.875rem}
 .service-detail .treatment-body p{font-size:1.125rem;line-height:1.65;margin-bottom:12px}
 .service-detail .treatment-book{padding:12px 0 0;font-size:1rem}
 .visual-note{font-size:.875rem;line-height:1.6;margin-top:18px;padding-top:16px}
 .experience{display:block;padding:30px 20px}.experience-art,.experience-values,.experience-copy p:last-of-type,.visit-section{display:none}
 .experience-copy .eyebrow{margin-bottom:12px;letter-spacing:.5px}.experience-copy h2{font-size:32px;letter-spacing:-1px}
 .experience-copy .lead{margin:16px 0 8px}.experience-copy p{font-size:1rem;line-height:1.65;margin-bottom:10px}
 .locations-section{padding:32px 20px}.location-heading h2{font-size:32px;letter-spacing:-1px}.location-heading .eyebrow{margin-bottom:12px}
 .location-heading>p,.location-number{display:none}.location-list{gap:12px;margin-top:22px}.location-entry{padding:20px}
 .location-entry>.eyebrow{max-width:100%;margin-bottom:10px;letter-spacing:0}.location-entry h3{font-size:28px;margin-bottom:12px}
 .location-entry p{font-size:1rem;line-height:1.65}.hours{margin:14px 0;padding:12px 0;gap:10px;justify-content:space-between}
 .location-links a{min-height:44px;display:flex;align-items:center}.location-cta{gap:14px}
 .faq-grid{gap:20px}.faq h2{font-size:32px}.faq h2 br{display:none}.faq .eyebrow,.faq-grid>div:first-child>p,.faq-grid>div:first-child>.text-link{display:none}
 .faq details{padding:12px 0}.faq summary{font-size:1rem;line-height:1.5;gap:12px}.faq details p{font-size:1rem;padding-right:0}
 .contact{display:none}
 footer{padding:24px 20px calc(106px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
 .footer-main{display:block;padding:0}.footer-main>.brand,.footer-main>p{display:none}.footer-contact{gap:8px}.footer-contact a{min-height:44px;display:flex;align-items:center}
 .footer-bottom{margin-top:16px;gap:10px}.footer-bottom>span:nth-child(2){display:none}
 .mobile-booking{grid-template-columns:1.2fr .8fr 1fr;gap:6px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
 .mobile-booking a{justify-content:center;gap:6px;font-size:1rem;padding:10px 6px;min-width:0}.mobile-booking a:first-child{background:transparent;color:var(--olive);border-color:var(--line)}
 .mobile-booking a span{display:none}
 .location-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 28px);overflow-y:auto;padding:42px 20px 22px}
 .location-dialog> .eyebrow{display:none}.location-dialog h2{font-size:32px;line-height:1.15}.location-dialog h2 br{display:none}
 .location-dialog .service-label{font-size:.875rem;letter-spacing:0;margin-top:20px}.dialog-intro{font-size:1rem;margin:16px 0}
 .location-options{gap:10px}.location-option{padding:16px}.location-option>.eyebrow{display:none}.location-option strong{font-size:24px}
 .location-address{font-size:1rem;line-height:1.5;margin:8px 0 12px}.location-action{font-size:1rem}
 .booking-wrap{padding:24px 20px}.back-link,.booking-heading>.eyebrow,.booking-heading>p,.booking-progress,#booking-treatment{display:none}
 .booking-heading h1{font-size:36px;line-height:1.15;margin:0 0 20px}.booking-bar{padding:16px;gap:14px}.booking-bar strong{font-size:25px}
 .booking-bar p{font-size:1rem;line-height:1.6;margin:8px 0}.booking-bar .button{padding:10px 14px}
 .booking-empty{padding:24px 18px}.booking-empty h3{font-size:28px}.booking-empty p{font-size:1rem;line-height:1.65}
 .booking-wrap .service-label{letter-spacing:0}.booking-tip{font-size:.875rem;line-height:1.6}
 nav>.button{font-size:1rem;padding:10px;gap:5px}
 .reveal-on-scroll{opacity:1;transform:none;transition:none}
}
@media(max-width:360px){.filter{font-size:.875rem}.mobile-service-row{padding:16px 12px;gap:8px}.service-quick-book{min-width:70px;padding:8px}.mobile-booking a{font-size:.875rem}}
