/* Shared responsive repairs; individual concept typography and palettes remain intact. */
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%}
.wrap>* ,.split>* ,.fields>* ,.grid3>*{min-width:0}
input,select,textarea{min-width:0;font-size:1rem}
.btn,.rent-button{white-space:normal;text-align:center}
.salon.v2 .btn,.salon.v2 .btn:hover,.salon.v2 .btn:focus-visible{color:#FAF8F1;background:#682937;border-color:#682937}
summary:focus-visible{outline:3px solid var(--accent,#ff6b00);outline-offset:4px}
.portfolio.v2 .card-bottom{flex-wrap:wrap}
.portfolio.v2 .preview-window{display:block}
.portfolio.v2 .preview-window iframe{pointer-events:none}
.portfolio.v2 .preview-window:focus-visible{outline:3px solid #ff6b00;outline-offset:-4px}
.conceptbar .agency-stamp{flex-wrap:wrap;white-space:normal}
.conceptbar .system-nav-link{white-space:normal;line-height:1.5;font-size:14px}
.conceptbar .wrap{padding-top:10px;padding-bottom:10px}
.law.v2 .sitehead{top:auto}
.barber-roster button,.add-food,.qty button,#food-close,.dialog-close,.menu-toggle,.mobile-menu{min-height:44px;min-width:44px}
.qty{gap:10px}
.restaurant.v2 .food-cart-row{grid-template-columns:minmax(0,1.4fr) auto 80px}
.restaurant.v2 .food-cart-row b{overflow-wrap:anywhere}
.restaurant.v2 .floating-order{bottom:calc(18px + env(safe-area-inset-bottom,0px))}
.restaurant.v2 .sitefooter{padding-bottom:110px}
.food-order-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px)}
.compare-table{table-layout:fixed}
.compare-table th,.compare-table td{overflow-wrap:anywhere}
.ss-wrap>*{min-width:0}
.ss-header nav a,.studio-nav a{padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:950px){
 .salon.v2 .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
 .salon.v2 h1{font-size:clamp(3.25rem,7.7vw,6rem)}
 .law.v2 .hero{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr)}
 .law.v2 .law-opening{padding-left:25px;padding-right:25px}
 .restaurant.v2 .restaurant-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
 .restaurant.v2 h1{font-size:clamp(3rem,6vw,4.8rem)}
}
@media(max-width:720px){
 .v2 .conceptbar strong{font-size:12px}
 .v2 .conceptbar .wrap{gap:10px 14px}
 .v2 .conceptbar .agency-stamp{flex-basis:100%;font-size:12px}
 .v2 .conceptbar .wrap>a:last-child{margin-left:0}
 .sitehead .wordmark{min-width:0;overflow-wrap:anywhere}
 .v2 .sitehead .nav{max-height:calc(100dvh - 100px);overflow-y:auto}
 .v2 .sitehead .nav a{padding:8px 0;min-height:44px}
 .v2 .sitehead .nav .btn{padding:12px 17px}
 .salon.v2 h1{font-size:clamp(3.1rem,12vw,4.6rem)}
 .dental.v2 h1{font-size:clamp(2.65rem,9vw,3.1rem)}
 .contractor.v2 h1{font-size:clamp(4rem,14vw,6.3rem)}
 .contractor-tape{flex-wrap:wrap;font-size:1rem}
 .contractor-services .service{grid-template-columns:36px minmax(0,1fr)}
 .medspa.v2 h1{font-size:clamp(3.25rem,12vw,5rem)}
 .medspa-heading{padding-left:20px;padding-right:20px}
 .medspa.v2 h2,.medspa-philosophy h2{font-size:clamp(2.6rem,10vw,3.4rem)}
 .law.v2 .hero{grid-template-columns:minmax(0,1fr)}
 .law.v2 h1{font-size:clamp(2.45rem,9vw,3.3rem)}
 .law.v2 .law-opening{padding-left:23px;padding-right:23px}
 .realestate.v2 h1{font-size:clamp(2.8rem,10vw,3.6rem)}
 .property-search .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .barber.v2 h1{font-size:clamp(3rem,13vw,5.8rem)}
 .barber-story h2{font-size:clamp(2.6rem,10vw,4rem)}
 .barber-kicker{flex-wrap:wrap;font-size:12px}
 .restaurant.v2 .restaurant-hero{grid-template-columns:minmax(0,1fr)}
 .restaurant.v2 h1{font-size:clamp(3rem,12vw,5rem)}
 .restaurant-story h2,.restaurant-visit h2{font-size:clamp(2.6rem,10vw,3.4rem)}
 .restaurant.v2 .food-cart-row{grid-template-columns:minmax(0,1fr) auto}
 .restaurant.v2 .add-food{font-size:14px}
 .portfolio.v2 .portfolio-intro h1{font-size:clamp(2.5rem,10vw,3.1rem)}
 .inquiry{padding:22px 18px}
 .menu-row{flex-wrap:wrap}
 .menu-row>span{min-width:0}
 .btn{max-width:100%}
 .ss-brand{gap:12px}
 .ss-brand span{padding-left:12px;font-size:12px}
 .search-grid,.date-time,.review-top,.review-options{min-width:0}
 .hero-heading h1{font-size:clamp(2.7rem,10vw,3.25rem)}
 .date-time{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
 .category-tabs{flex-wrap:wrap}
 .results-line{flex-wrap:wrap;gap:12px}
 .rent-nav nav{max-height:calc(100dvh - 100px);overflow-y:auto}
 .rent-nav nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:380px){
 .agency-stamp span{display:none}
 .portfolio.v2 .card-body{padding:20px}
 .date-time{grid-template-columns:minmax(0,1fr)}
 .property-search .filters{grid-template-columns:minmax(0,1fr)}
 .restaurant.v2 .order-menu-row>span{min-width:100%}
 .restaurant.v2 #food-dialog{padding-left:18px;padding-right:18px}
 .food-cart-row>strong{grid-column:2;grid-row:1;align-self:start}
}
