/* Teaching and room-hire illustrations on the company homepage. */
body.business-home .business-formats-label { margin: 0 0 .75rem; color: var(--muted); font-size: .6875rem; text-align: right; }
body.business-home .business-format-grid .business-format-card { min-width: 0; padding: 0; overflow: hidden; }
body.business-home .business-format-stage { display: grid; place-items: center; min-height: 17.5rem; padding: 1.5rem 1.25rem; overflow: hidden; }
body.business-home .business-format-week { background: var(--lavender); }
body.business-home .business-format-private { background: var(--accent-soft); }
body.business-home .business-format-event { background: var(--primary-deep); }
body.business-home .business-format-copy { padding: 1.375rem; }
body.business-home .business-format-copy h3 { margin: 0 0 .5rem; font-size: 1.125rem; }
body.business-home .business-format-copy p { color: var(--muted); font-size: .8125rem; line-height: 1.65; }
body.business-home .business-artifact-caption { font-size: .6875rem; color: var(--muted); font-weight: 500; }
body.business-home .business-week-sheet,
body.business-home .business-private-sheet { width: 100%; max-width: 19rem; padding: 1rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--paper); box-shadow: 0 .5rem 1rem color-mix(in srgb, var(--ink) 6%, transparent); }
body.business-home .business-week-sheet { transform: rotate(-2deg); }
body.business-home .business-week-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; margin-top: .75rem; }
body.business-home .business-week-columns > div > span { display: block; margin-bottom: .5rem; font-size: .6875rem; font-weight: 600; }
body.business-home .business-week-slot { min-height: 5.75rem; margin-top: .375rem; padding: .5rem; border-left: 2px solid var(--primary); border-radius: .1875rem; background: var(--lavender); color: var(--primary-deep); }
body.business-home .business-week-slot time,
body.business-home .business-week-slot > span { display: block; font-size: .6875rem; }
body.business-home .business-week-slot b { display: block; margin: .125rem 0; font-size: .75rem; line-height: 1.35; }
body.business-home .business-week-slot-soft { min-height: 4.5rem; background: var(--ground); border-color: var(--muted); color: var(--ink); }
body.business-home .business-private-sheet { transform: rotate(2deg); }
body.business-home .business-private-person { display: flex; gap: .75rem; align-items: center; padding-bottom: 1rem; }
body.business-home .business-private-avatar { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; flex-shrink: 0; border-radius: 50%; background: var(--lavender); color: var(--primary); font-family: var(--display); font-size: 1rem; }
body.business-home .business-private-person b { display: block; font-size: .875rem; }
body.business-home .business-private-person div > span { display: block; color: var(--muted); font-size: .6875rem; }
body.business-home .business-private-days { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .25rem; margin: .625rem 0 .75rem; }
body.business-home .business-private-days > * { display: grid; place-items: center; min-height: 2.25rem; font-size: .8125rem; }
body.business-home .business-private-days > b { border-radius: .3125rem; background: var(--primary); color: var(--paper); }
body.business-home .business-private-times { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .375rem; }
body.business-home .business-private-times > * { display: flex; align-items: center; justify-content: center; gap: .3125rem; padding: .4375rem .1875rem; border: 1px solid var(--line); border-radius: .25rem; font-size: .6875rem; }
body.business-home .business-private-times > strong { border-color: var(--primary); background: var(--lavender); color: var(--primary); }
body.business-home .business-private-times svg { width: .8125rem; height: .8125rem; }
body.business-home .business-private-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem; margin-top: .9375rem; padding-top: .75rem; border-top: 1px solid var(--line); font-size: .6875rem; }
body.business-home .business-private-summary > span { color: var(--muted); }
body.business-home .business-workshop-ticket { width: 87%; max-width: 17rem; border-radius: .5rem; overflow: hidden; background: var(--paper); box-shadow: 0 .75rem 1.5rem color-mix(in srgb, var(--ink) 18%, transparent); transform: rotate(-5deg); }
body.business-home .business-ticket-poster { position: relative; overflow: hidden; padding: 1rem 1.25rem .875rem; background: var(--lavender); color: var(--primary-deep); }
body.business-home .business-ticket-poster::after { content: ''; position: absolute; right: -2.75rem; top: 1.5rem; width: 9rem; height: 9rem; border: 1.5rem solid var(--primary); border-radius: 50%; opacity: .12; }
body.business-home .business-ticket-poster > span { position: relative; z-index: 1; display: block; font-size: .6875rem; }
body.business-home .business-ticket-poster > b { position: relative; z-index: 1; display: block; margin: .5625rem 0; font-family: var(--display); font-size: 1.5rem; letter-spacing: -.06em; line-height: 1.2; }
body.business-home .business-ticket-stub { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; border-top: 1px dashed var(--muted); }
body.business-home .business-ticket-stub b { display: block; font-size: .75rem; }
body.business-home .business-ticket-stub span { display: block; color: var(--muted); font-size: .6875rem; }
body.business-home svg.business-ticket-qr { width: 2.625rem; height: 2.625rem; flex-shrink: 0; color: var(--ink); }
body.business-home .business-space-feature.business-space-visual { grid-template-columns: .9fr 1.1fr; gap: 2.5rem; margin-top: 2rem; padding: 2rem; }
body.business-home .business-space-visual .business-space-copy h3 { font-size: clamp(1.5rem,2.5vw,2rem); letter-spacing: -.055em; }
body.business-home .business-space-visual .business-space-copy > p:not(.business-section-eyebrow) { max-width: 25rem; }
body.business-home .business-room-preview { min-width: 0; margin: 0; }
body.business-home .business-room-scene { position: relative; overflow: hidden; padding-bottom: 3.75rem; border: 1px solid var(--line); border-radius: .5rem .5rem 0 0; background: var(--paper); }
body.business-home svg.business-room-drawing { display: block; width: 100%; height: auto; }
body.business-home .business-room-wall { fill: var(--ground); }
body.business-home .business-room-floor { fill: color-mix(in srgb, var(--accent-soft) 58%, var(--ground)); }
body.business-home .business-room-side { fill: color-mix(in srgb, var(--line) 72%, var(--ground)); }
body.business-home .business-room-seams { fill: none; stroke: var(--muted); stroke-width: .75; opacity: .22; }
body.business-home .business-room-mirror { fill: var(--accent-soft); }
body.business-home .business-room-mirror-frame { fill: none; stroke: var(--muted); stroke-width: 2; }
body.business-home .business-room-reflection { fill: var(--paper); opacity: .5; }
body.business-home .business-room-barre { fill: none; stroke: var(--primary-deep); stroke-width: 3; stroke-linecap: round; }
body.business-home .business-room-window { fill: var(--paper); }
body.business-home .business-room-window-frame { fill: none; stroke: var(--muted); stroke-width: 3; }
body.business-home .business-room-sun { fill: url(#business-room-light); }
body.business-home .business-room-light-start { stop-color: var(--paper); stop-opacity: .8; }
body.business-home .business-room-light-end { stop-color: var(--paper); stop-opacity: 0; }
body.business-home .business-room-shadow { fill: var(--ink); opacity: .1; }
body.business-home .business-room-pot { fill: var(--primary); }
body.business-home .business-room-stem { fill: none; stroke: var(--ink); stroke-width: 2; }
body.business-home .business-room-leaf { fill: color-mix(in srgb, var(--accent-soft) 30%, var(--muted)); }
body.business-home .business-room-name { position: absolute; top: .875rem; left: .875rem; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: .3125rem; background: var(--paper); }
body.business-home .business-room-name b { display: block; font-size: .75rem; color: var(--primary); }
body.business-home .business-room-name span { display: block; font-size: .6875rem; color: var(--muted); }
body.business-home .business-room-request { position: absolute; left: 1rem; right: 1rem; bottom: .875rem; display: flex; gap: .75rem; align-items: center; padding: .75rem .875rem; border: 1px solid var(--line); border-radius: .375rem; background: var(--paper); box-shadow: 0 .375rem 1rem color-mix(in srgb, var(--ink) 6%, transparent); }
body.business-home .business-room-request-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; flex-shrink: 0; border-radius: 50%; background: var(--lavender); color: var(--primary); font-size: 1rem; }
body.business-home .business-room-request-icon svg { width: 1.125rem; height: 1.125rem; }
body.business-home .business-room-request div > b { display: block; font-size: .75rem; }
body.business-home .business-room-request div > span { display: block; color: var(--muted); font-size: .6875rem; }
body.business-home .business-room-request strong { display: inline-block; margin-top: .25rem; color: var(--primary); font-size: .6875rem; font-weight: 500; }
body.business-home .business-room-hours { display: grid; grid-template-columns: 1fr 1.75fr 1fr; gap: .375rem; padding: .75rem; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 .5rem .5rem; background: var(--paper); }
body.business-home .business-room-hours > div { padding: .5rem; border-radius: .1875rem; background: var(--ground); }
body.business-home .business-room-hours > .business-room-gap { background: var(--accent-soft); }
body.business-home .business-room-hours span { display: block; color: var(--muted); font-size: .6875rem; }
body.business-home .business-room-hours b { display: block; font-size: .6875rem; font-weight: 600; line-height: 1.45; }
@media (max-width: 68.75rem) {
  body.business-home .business-format-stage { padding: 1.25rem .875rem; }
  body.business-home .business-week-sheet,
  body.business-home .business-private-sheet { padding: .8125rem; }
  body.business-home .business-space-feature.business-space-visual { gap: 1.75rem; padding: 1.75rem; }
}
@media (max-width: 50rem) {
  body.business-home .business-format-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .875rem; }
  body.business-home .business-format-stage { min-height: 17rem; padding: 1rem .625rem; }
  body.business-home .business-format-copy { padding: 1rem; }
  body.business-home .business-format-copy h3 { font-size: 1rem; }
  body.business-home .business-week-sheet,
  body.business-home .business-private-sheet { padding: .625rem; }
  body.business-home .business-private-person { gap: .5rem; }
  body.business-home .business-private-avatar { width: 2rem; height: 2rem; }
  body.business-home .business-workshop-ticket { width: 100%; }
  body.business-home .business-ticket-poster { padding-inline: .875rem; }
  body.business-home .business-ticket-poster > b { font-size: 1.25rem; }
  body.business-home .business-ticket-stub { padding-inline: .625rem; gap: .5rem; }
  body.business-home .business-space-feature.business-space-visual { grid-template-columns: 1fr; }
  body.business-home .business-room-preview { width: 100%; max-width: 35rem; margin-inline: auto; }
}
@media (max-width: 42rem) {
  body.business-home .business-format-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  body.business-home .business-format-stage { min-height: 17.5rem; padding: 1.5rem; }
  body.business-home .business-format-copy { padding: 1.25rem; }
  body.business-home .business-format-copy h3 { font-size: 1.125rem; }
  body.business-home .business-week-sheet,
  body.business-home .business-private-sheet { padding: 1rem; }
  body.business-home .business-private-avatar { width: 2.75rem; height: 2.75rem; }
  body.business-home .business-ticket-poster > b { font-size: 1.5rem; }
  body.business-home .business-space-feature.business-space-visual { padding: 1.25rem; }
  body.business-home .business-room-name { top: .625rem; left: .625rem; padding: .375rem .5rem; }
  body.business-home .business-room-name span { display: none; }
  body.business-home .business-room-scene { padding-bottom: 5rem; }
  body.business-home .business-room-request { left: .625rem; right: .625rem; bottom: .625rem; padding: .625rem; }
  body.business-home .business-room-hours { gap: .25rem; padding: .5rem; }
  body.business-home .business-room-hours > div { padding: .375rem; }
}
@media (max-width: 32.5rem) {
  body.business-home .business-week-sheet { padding: .75rem; }
}
