/* Business showcase: larger real photographs, with the established brand color. */
.business-page{--profile-surface:color-mix(in srgb,var(--business-accent) 3%,#fafbfe);background:var(--profile-surface)}
.business-cover{height:420px;background:color-mix(in srgb,var(--business-accent) 22%,#dbe5ef)}
.business-cover.has-cover-image{background:#dce3ec}
.business-cover:after,.business-cover.has-cover-image:after{inset:42% 0 0;background:linear-gradient(0deg,var(--profile-surface) 1%,color-mix(in srgb,var(--profile-surface) 60%,transparent) 35%,transparent);pointer-events:none}
.business-cover-collage>.business-cover-image,.business-cover-image,.business-cover.has-cover-collage .business-cover-image{object-position:center var(--cover-position,50%)}
.business-shell{max-width:1200px;margin-top:-58px;padding-bottom:110px}
.business-intro{gap:28px;align-items:flex-start;margin-bottom:36px}
.business-brandmark{width:140px;height:140px;flex-basis:140px;border-width:6px;background:#fff;box-shadow:0 10px 28px #16233b15}
.business-brandmark img{object-fit:contain}
.business-main-info{padding-top:78px}.business-title-row h1{font-size:clamp(36px,4.8vw,58px);line-height:1.08;overflow-wrap:anywhere}
.business-description:empty,.business-tagline:empty{display:none}.business-description{margin:14px 0;max-width:650px}
.public-columns{gap:32px}.gallery-section{margin:0 0 36px}
.business-gallery{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:3px 2px 15px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--business-accent) 45%,#cbd4e2) transparent}
.business-gallery:focus-visible{outline:3px solid var(--business-accent);outline-offset:4px}
.business-gallery .gallery-item{flex:0 0 min(82%,480px);aspect-ratio:4/5;border-radius:16px;background:#fff;scroll-snap-align:start}
.business-gallery .gallery-item:only-child{flex-basis:min(100%,520px)}
.gallery-item img{object-fit:contain}.gallery-item:focus-visible{outline:3px solid var(--business-accent);outline-offset:2px}
.service-heading{margin-top:32px}.service-card{border-radius:16px;box-shadow:none;padding:20px;margin:16px 0;border-color:#dfe5ee}
.service-card:has(.service-photo){grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:0;overflow:hidden;align-items:center}
.service-card:has(.service-photo) .service-photo{grid-column:1/-1;width:100%;height:auto;aspect-ratio:3/2;max-height:340px;object-fit:cover;border-radius:0;display:block}
.service-card:has(.service-photo) .service-card-copy{padding:0 0 22px 22px}
.service-card:has(.service-photo) .service-book-button{grid-column:2;justify-self:end;margin:0 22px 22px 0;white-space:normal;text-align:center}
.service-card h3{font-size:21px}.service-card-copy>p{line-height:1.5}.service-price-line{gap:7px}
.booking-card{border-radius:18px;box-shadow:0 12px 32px #172b4810}
@media(max-width:900px){.business-cover{height:350px}.business-shell{max-width:760px}.business-main-info{padding-top:76px}.business-gallery .gallery-item{flex-basis:72%}.booking-aside{position:static}}
@media(max-width:600px){
 .business-cover{height:300px}.business-shell{margin-top:-44px;padding:0 18px 110px}.business-intro{display:block;margin-bottom:30px}.business-brandmark{width:96px;height:96px;border-width:5px}.business-main-info{padding-top:18px}.business-title-row h1{font-size:36px;line-height:1.1;margin:6px 0 10px}.business-title-row .eyebrow{font-size:11px}.business-tagline{font-size:16px}.business-description{font-size:15px;line-height:1.6}.profile-social .button{min-height:50px}.business-meta{gap:8px}.location-chip,.rating-chip{font-size:12px}
 .business-gallery{gap:12px;padding-bottom:13px}.business-gallery .gallery-item{flex-basis:88%;border-radius:14px}.business-gallery .gallery-item:only-child{flex-basis:100%}.gallery-section{margin-bottom:30px}.section-heading h2{font-size:28px}.section-heading p{font-size:14px;line-height:1.5}
 .service-card{padding:20px 17px;gap:12px}.service-card h3{font-size:19px}.service-price-line strong{font-size:21px}.service-price-line span,.service-card-copy>p{font-size:14px}.service-book-button{font-size:13px;min-height:46px;padding:12px 16px;white-space:normal;text-align:center}
 .service-card:has(.service-photo){grid-template-columns:minmax(0,1fr);gap:0}.service-card:has(.service-photo) .service-photo{aspect-ratio:4/3;max-height:none;margin-bottom:18px}.service-card:has(.service-photo) .service-card-copy{padding:0 18px}.service-card:has(.service-photo) .service-book-button{grid-column:1;justify-self:stretch;margin:16px 18px 18px}
 .public-columns{gap:24px}.mobile-book-bar{background:var(--profile-surface)}
}
@media(prefers-reduced-motion:reduce){.gallery-item img,.service-card{transition:none;transform:none}}

/* Compact portfolio grid, matching the owner's reference. */
.business-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible;padding:3px 2px;scroll-snap-type:none}
.business-gallery .gallery-item,.business-gallery .gallery-item:only-child{width:100%;min-width:0;aspect-ratio:4/5;border-radius:16px;transition:transform .22s ease,box-shadow .22s ease}
.business-gallery .gallery-item img{object-fit:cover;transition:transform .32s ease}
.business-gallery .gallery-item:active{transform:scale(.98)}
@media(hover:hover){.business-gallery .gallery-item:hover{transform:translateY(-3px);box-shadow:0 10px 22px #16243a18}.business-gallery .gallery-item:hover img{transform:scale(1.045)}}
@media(max-width:600px){.business-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.business-gallery .gallery-item,.business-gallery .gallery-item:only-child{border-radius:13px}}
@media(prefers-reduced-motion:reduce){.business-gallery .gallery-item,.business-gallery .gallery-item img{transition:none}.business-gallery .gallery-item:hover,.business-gallery .gallery-item:active,.business-gallery .gallery-item:hover img{transform:none}}
