.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:var(--cream);padding:14px 20px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.full-catalog-link{display:block;width:fit-content;margin:24px auto 0}
.pickup-form{border-top:1px solid var(--line);padding-top:20px;margin:20px 0}.pickup-form[hidden],.pickup-start[hidden]{display:none!important}.pickup-form form{display:grid;gap:15px}.pickup-form label{display:grid;gap:7px;font-size:12px}.pickup-form input,.pickup-form textarea{width:100%;padding:12px;border:1px solid #cbbda7;background:#fffaf3;color:var(--ink);font:inherit;font-size:16px;border-radius:2px}.pickup-form p{font-size:11px;color:var(--muted);margin:0}.pickup-form .button{margin:0}.pickup-form .text-link{background:none;border:0;text-decoration:underline;padding:10px;cursor:pointer}.cart-bottom .pickup-start{margin-bottom:4px}.footer-privacy{font-size:10px;color:var(--muted)}
@media(max-width:700px){header nav a[href="#contact"]{display:block}.filters button{min-height:40px}.add-cart{min-height:42px}.quantity button{min-width:36px;min-height:36px}.close-cart{min-width:44px;min-height:44px}.catalog-tools input,.catalog-tools select,.variant-label select{font-size:16px}.cart-line{grid-template-columns:52px minmax(0,1fr);gap:12px}.cart-line img{max-width:52px}.quantity{gap:10px}.cart-header h2{font-size:36px}.map-heading .text-link{min-height:44px}footer{padding-bottom:115px}.catalog-tools label{min-width:0}.product-buy{flex-wrap:wrap}.product-photo img{will-change:auto}}
@media(max-width:430px){.reviews .section-heading{display:block}.google-rating{border-left:0;border-top:1px solid #cfc1af;margin-top:22px;padding:18px 0 0;flex-flow:row wrap;align-items:center;gap:12px}.rating-caption{width:100%}.pickup-form p{font-size:12px}.map-heading{grid-template-columns:1fr}.map-heading .text-link{width:100%}.product-card h3{font-size:13px}.product-brand{font-size:8px}}

/* A fixed, explicit two-row mobile header avoids sticky/compositor drift while scrolling. */
@media(max-width:700px){
 body.salon-home{padding-top:110px}
 .salon-home>header{position:fixed;inset:0 0 auto;top:0;width:100%;height:110px;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:64px 45px;align-items:center;align-content:start;padding:0 6%;z-index:20;background:#f7f4ed;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}
 .salon-home>header .logo{grid-column:1;grid-row:1;width:132px;max-width:100%}
 .salon-home>header .header-actions{grid-column:2;grid-row:1;flex-wrap:nowrap}
 .salon-home>header nav{grid-column:1/-1;grid-row:2;align-self:stretch;align-items:center;margin:0;min-width:0;width:100%;gap:8px;flex-wrap:nowrap}
 .salon-home>header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0;white-space:nowrap}
 html{scroll-padding-top:126px}
}

.logo img{mix-blend-mode:normal}
@media(max-width:700px){.salon-home>header .logo{width:152px}}

/* Readable controls and compact product discovery. */
header nav{font-size:13px}.cart-trigger,#language{font-size:12px}
.eyebrow{font-size:11px}.product-description{font-size:13px;color:#62574c;line-height:1.65;min-height:0}
.intro,.section-heading>p,.catalog-note,.service-note{color:#62574c}
.catalog-tools{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;padding:16px 0 22px}
.catalog-search-label>span,.catalog-advanced summary,.catalog-advanced-fields label{font-size:13px;color:#62574c}
.catalog-advanced summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:46px;border:1px solid #d7cbbb;padding:12px;background:#fbf8f2;list-style:none}
.catalog-advanced summary::-webkit-details-marker{display:none}.catalog-advanced[open] summary>span:last-child{transform:rotate(45deg)}
.catalog-advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px}
.product-guide{font-size:12px;line-height:1.65;margin:0 0 16px}.product-guide summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.product-guide p{margin:0 0 10px;color:#62574c}.product-caveat{font-style:italic}
@media(max-width:700px){
 header nav{font-size:12px}.salon-home>header{padding-inline:5%}.salon-home>header nav{gap:5px}.cart-trigger{font-size:11px}
 .hero-copy .eyebrow,.eyebrow,.product-brand,.variant-label>span{font-size:10px}.hero .intro{font-size:14px}.hero-foot{font-size:9px}
 .section-heading>p,.manicure-intro,.contact-grid{font-size:14px}.shop .section-heading{margin-bottom:18px}.shop .section-heading h2{font-size:42px;margin-top:12px}.shop .section-heading>p{margin:12px 0 0}.shop{padding-top:32px}
 .shop-toolbar{margin-bottom:14px}.filters button{font-size:11px;min-height:44px;padding:10px 14px}.catalog-tools{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 0 18px;position:relative}.catalog-search-label>span{display:none}.catalog-advanced{min-width:0}.catalog-advanced summary{font-size:0;gap:8px}.catalog-advanced summary #filters-label{font-size:12px}.catalog-advanced summary>span:last-child{font-size:16px}
 .catalog-advanced-fields{position:absolute;top:64px;left:0;right:0;z-index:4;background:#f7f4ed;padding:16px;border:1px solid #d7cbbb;box-shadow:0 8px 20px #32271f18;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .product-card h3{font-size:14px}.product-description{font-size:12px}.variant-label select{font-size:16px}.product-photo .product-tag{font-size:9px}.catalog-note{font-size:12px}.add-cart{font-size:12px}.mobile-dock{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:6px 10px;gap:10px;transition:opacity .2s,visibility .2s}.mobile-dock>span{font-size:10px}.mobile-dock a{font-size:12px;padding:10px 12px;min-height:44px;display:flex;align-items:center}.mobile-dock.dock-hidden{opacity:0;visibility:hidden;pointer-events:none}
}
@media(max-width:700px){.catalog-tools>.catalog-search-label{grid-column:auto}.catalog-count{display:none}.catalog-tools input{min-height:46px}.catalog-advanced summary{min-width:118px}.filters{width:100%}.filters button{flex:1;padding-inline:8px;white-space:nowrap}.catalog-tools select{font-size:16px}.product-guide summary{font-size:12px}}
@media(max-width:700px){.catalog-tools>label.catalog-search-label{grid-column:auto;min-width:0}.catalog-tools{grid-template-columns:minmax(0,1fr) minmax(118px,auto)}.catalog-advanced summary #filters-label{max-width:100px;line-height:1.4}}@media(max-width:359px){.catalog-tools{grid-template-columns:minmax(0,1fr)}.catalog-advanced-fields{top:120px}.catalog-advanced summary #filters-label{max-width:none}}
@media(max-width:700px){.contact-top{align-items:flex-start;flex-direction:column;gap:26px;padding-bottom:32px}.contact .round-book{width:100%;height:auto;min-height:54px;border-radius:2px;flex-direction:row;justify-content:space-between;gap:20px;padding:15px 20px;background:#eddbca;border:1px solid #eddbca;color:#32271f;font-size:24px;line-height:1;flex-shrink:0}.contact .round-book span{font-size:14px;line-height:1.5;white-space:nowrap}.contact .round-book:hover{background:#f5e8d9}}

/* Mobile audit: consistent touch targets, controlled overlays and natural text wrapping. */
html:has(dialog[open]){overflow:hidden}
@media(max-width:700px){
 .salon-home main>[id],.team-section,.manicure{scroll-margin-top:0}
 header #language,header .cart-trigger{min-height:44px}
 .salon-home>header nav a{flex-shrink:0;min-width:0}
 .hero-buttons .text-link,.hero-review-link,.full-catalog-link,.service-category-foot a,.experience .text-link,.reviews-foot .text-link{min-height:44px;display:inline-flex;align-items:center;line-height:1.6;padding-block:10px;font-size:12px}
 .hero-review-link{flex-wrap:wrap;gap:7px 12px}.hero-video-controls button{min-height:44px;font-size:11px;padding:10px 12px}.hero-video-controls{gap:8px}
 .team-filters button{min-height:44px;padding:10px 14px;font-size:12px}.team-filters{gap:8px}.team-count{font-size:11px}.team-section .section-heading>p{font-size:14px;line-height:1.8}.team-card{min-width:0;gap:18px}.team-card>div{min-width:0}.team-card h3{font-size:28px;overflow-wrap:anywhere}.team-card p{font-size:13px}.team-source{font-size:11px;line-height:1.8}.team-actions .button{font-size:13px;line-height:1.6;white-space:normal;text-align:center;min-height:48px}
 .service-table{padding-left:0}.service-name{font-size:13px}.service-duration{font-size:11px}.service-price{font-size:13px}.service-price small{font-size:9px}.service-entry{column-gap:12px}.menu-title small{font-size:11px}.menu-number{font-size:10px}.service-category-foot{font-size:12px}.service-note{font-size:11px!important}.faq-intro,.faq-list details p{font-size:13px}.faq-list summary{font-size:14px;gap:12px}.faq-list summary::after{min-width:24px;text-align:center}
 .contact-grid{grid-template-columns:1fr;gap:24px}.contact-grid>div,.contact-grid>div:last-child{grid-column:1}.contact-grid p{margin-bottom:4px}.contact-grid a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.contact .map-link{margin-top:0;font-size:12px}.contact-address{font-size:14px}.map-heading .text-link{font-size:13px;min-height:48px}
 footer{gap:12px;align-items:flex-start}footer>span{width:100%;font-size:11px;line-height:1.8}footer>a:not(.logo){display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5}footer>.logo{margin-bottom:12px}
 dialog{height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cart-header{align-items:flex-start;gap:12px}.cart-header h2{font-size:34px;overflow-wrap:anywhere}.cart-header .eyebrow{font-size:10px}.cart-header .close-cart{flex-shrink:0}.cart-line h3{font-size:13px}.cart-line p{font-size:11px}.quantity{gap:6px;flex-wrap:wrap}.quantity button{min-width:44px;min-height:44px}.quantity .remove{min-width:0;padding:8px;font-size:11px}.cart-bottom>p{font-size:12px;line-height:1.8}.cart-bottom .button{font-size:13px;line-height:1.5;min-height:50px}.cart-bottom #copy-order{background:transparent;color:var(--ink);border:1px solid #cbbda7;min-height:46px}.cart-bottom>.text-link{font-size:12px;min-height:44px;line-height:1.6}.pickup-form #pickup-cancel{min-height:44px}.pickup-form label{font-size:13px}
 #media-viewer{max-height:calc(100dvh - 24px);height:auto;padding:20px}.media-close,.media-navigation button{min-width:44px;min-height:44px}.media-thumbnails{flex-wrap:wrap}.media-thumbnails button{min-width:44px;min-height:44px}.media-heading h2{font-size:30px}.media-book{font-size:12px;min-height:48px;line-height:1.6;white-space:normal}
}
@media(max-width:359px){.salon-home>header nav{font-size:11px;gap:5px}.salon-home>header .logo{width:132px}.header-actions{gap:6px}.hero-video-controls button{font-size:10px;padding-inline:10px}.hero h1{font-size:70px}.contact h2{font-size:62px}.team-card{padding:18px 14px;gap:14px}.team-card h3{font-size:26px}}
@media(max-width:700px){#media-viewer{height:fit-content;max-height:calc(100dvh - 24px)}}

.mobile-dock a::after{content:"";display:inline-block;width:16px;height:16px;flex:0 0 16px;background:currentColor;-webkit-mask:url("assets/arrow-up-right.svg") center/contain no-repeat;mask:url("assets/arrow-up-right.svg") center/contain no-repeat}.mobile-dock a{gap:10px}
