/* Shared media, three-column overview and generous individual service pages. */
body[data-page='business'] .page-section { max-width:1440px; }
.business-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; padding-top:32px; }
.business-card { min-width:0; border-bottom:1px solid var(--line); scroll-margin-top:80px; }
.business-card-link { display:block; height:100%; }
.business-card-media { aspect-ratio:16/9; background:#091922; }
.business-card-media img { display:block; width:100%; height:100%; object-fit:contain; }
.business-card-copy { padding:17px 0 22px; }
.business-card-copy h2 { min-height:3.2em; margin:0 0 10px; font:400 clamp(16px,1.35vw,20px)/1.6 var(--serif); word-break:normal; overflow-wrap:normal; text-wrap:balance; transition:color .2s ease; }
.business-term { display:inline-block; white-space:nowrap; }
.business-card-copy p { margin:0; color:var(--muted); font-size:12px; line-height:1.85; text-wrap:pretty; }
.business-card-link:hover h2 { color:var(--orange-deep); }
.business-card:target { border-bottom-color:var(--orange); }
.business-card-link:focus-visible, .business-detail a:focus-visible, .business-detail video:focus-visible { outline:2px solid var(--orange-deep); outline-offset:5px; }
.business-detail { max-width:1440px; margin:auto; padding:28px clamp(24px,5vw,70px) 48px; }
.business-breadcrumb { display:flex; gap:14px; align-items:center; min-height:44px; color:var(--muted); font-size:11px; letter-spacing:.08em; }
.business-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.business-detail-heading { margin:18px 0 28px; }
.business-detail-heading h1 { margin:0; font:400 clamp(22px,2.45vw,36px)/1.6 var(--serif); word-break:normal; overflow-wrap:normal; text-wrap:balance; }
.business-detail-heading p { margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.85; }
.business-detail-media { margin:0; background:#091922; }
.business-detail-media :is(img,video) { display:block; width:100%; height:auto; max-height:78svh; aspect-ratio:1672/941; object-fit:contain; }
.business-detail-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; padding-top:14px; border-top:1px solid var(--line); }
.business-detail-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); font-size:12px; text-decoration:underline; text-underline-offset:5px; }
.business-detail a:hover { color:var(--orange-deep); }
@media(max-width:1000px) {
  .business-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .business-card-copy h2 { font-size:18px; }
}
@media(max-width:640px) {
  .business-gallery { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:24px; }
  .business-card-copy { padding:16px 0 22px; }
  .business-card-copy h2 { min-height:0; font-size:clamp(16px,4.4vw,20px); }
  body[data-page='business'] .page-section { padding-top:30px; }
  .business-detail { padding-top:18px; }
  .business-detail-heading { margin:12px 0 22px; }
  .business-detail-heading h1 { font-size:clamp(18px,4.7vw,24px); }
  .business-detail-heading p { font-size:13px; }
  .business-detail-footer { flex-wrap:wrap; gap:8px 24px; }
}
