.business-carousel-shell .business-carousel-button { display:none; }
.business-directory-shell { display:block; width:100%; min-width:0; }
#businessGrid.business-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; overflow:visible; scroll-snap-type:none; padding:0; }
#businessGrid .business-card { width:auto; min-width:0; max-width:none; margin:0; }
.category-pill { text-decoration:none; }
.profile-no-cover .profile-banner { min-height:125px; }
.profile-no-cover .profile-shell { margin-top:-35px; }
.profile-left>* { order:initial!important; }
.profile-service-search { width:100%; font:inherit; color:inherit; background:transparent; border:1px solid #8995ab; border-radius:10px; padding:12px; margin:8px 0; }
.profile-page .profile-card { padding:24px; }
.profile-page .profile-booking-steps { display:none; }
.profile-page .profile-booking-journey { padding:22px; }
@media(max-width:900px) { #businessGrid.business-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 #businessGrid.business-grid { grid-template-columns:minmax(0,1fr); }
 .profile-no-cover .profile-banner { min-height:80px; }
 .profile-page .profile-card { padding:18px; }
 .profile-service-search { font-size:16px; }
}

.profile-page [hidden] { display:none!important; }

/* The directory is useful content, never dependent on reveal JavaScript. */
.directory-page [data-directory-reveal] { opacity:1; transform:none; }
.hero.hero-directory { padding:36px 0 !important; }
.hero-directory .hero-content { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:center; gap:40px; width:min(1200px,calc(100% - 48px)); margin:auto; }
.hero-directory .hero-copy { width:100%; max-width:none; margin:0; padding:0; text-align:left; }
.hero-directory .hero-copy h1 { font-size:clamp(32px,4.2vw,54px); line-height:1.1; letter-spacing:-.04em; max-width:18ch; margin:0 0 20px; }
.hero-directory .hero-copy > p { font-size:17px; line-height:1.65; margin:0 0 24px; max-width:55ch; }
.hero-directory .hero-search { margin:0 0 16px; padding:16px; border-radius:16px; }
.hero-directory .hero-proof { justify-content:flex-start; gap:8px; margin-top:20px; padding:0; }
.hero-directory .hero-proof span { padding:0; border:0; background:none; box-shadow:none; font-weight:500; font-size:12px; }
.hero-directory .hero-illustration { width:100%; max-width:none; margin:0; border-radius:24px; }
.hero-directory .hero-illustration img { display:block; width:100%; height:420px; object-fit:cover; object-position:center; animation:none; transform:none; }
main > .stats-strip { width:min(1200px,calc(100% - 48px)); max-width:1200px; margin:12px auto 32px; }
main > .stats-strip div { padding:20px; }
.categories-showcase { width:min(1200px,calc(100% - 48px)); max-width:1200px; margin:32px auto; padding:24px; border-radius:20px; }
.categories-showcase .section-heading { text-align:left; margin:0; }
.categories-showcase .section-heading h2 { font-size:26px; }
.categories-showcase .section-heading p { margin:8px 0 0; font-size:14px; }
.categories-showcase .section-heading > span, .category-scroll-hint { display:none; }
.categories-showcase .category-row { margin-top:16px; padding-bottom:6px; }
#businesses { width:min(1200px,calc(100% - 48px)); max-width:1200px; padding:20px 0 40px; margin:auto; scroll-margin-top:16px; }
#businesses .section-heading { text-align:left; margin-bottom:20px; }
#businesses .section-heading h2 { font-size:clamp(26px,3vw,36px); }
#businesses .directory-business-search { max-width:none; }
#businessGrid .business-card { display:flex; flex-direction:column; }
#businessGrid .card-body { display:flex; flex-direction:column; flex:1; }
#businessGrid .card-actions { margin-top:auto; padding-top:18px; }
@media(max-width:900px) {
 .hero-directory .hero-content { grid-template-columns:minmax(0,1fr); gap:24px; }
 .hero-directory .hero-copy h1 { max-width:23ch; }
 .hero-directory .hero-illustration { display:none; }
}
@media(max-width:620px) {
 .hero.hero-directory { padding:28px 0 !important; }
 .hero-directory .hero-content, main > .stats-strip, .categories-showcase, #businesses { width:calc(100% - 32px); }
 .hero-directory .hero-copy > p { font-size:15px; }
 .hero-directory .hero-search { padding:12px; }
 .hero-directory .hero-proof { display:none; }
 .categories-showcase { padding:18px; margin:24px auto; }
 main > .stats-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 auto 24px; }
 main > .stats-strip div { padding:16px 8px; }
 main > .stats-strip strong { font-size:24px; }
 main > .stats-strip span { font-size:11px; line-height:1.5; }
}
