.subpage { display: flex; flex-direction: column; min-height: 100svh; }
.subpage-main { flex: 1; }
.subpage-main > .section-wrap { min-height: calc(100svh - 280px); padding-top: 52px; padding-bottom: 64px; }
.subpage .about-copy h1 { font: 600 clamp(32px, 3.4vw, 54px)/1.45 var(--sans); letter-spacing: -.045em; word-break: keep-all; overflow-wrap: anywhere; }
.subpage .studio-heading h1 { font: 600 clamp(34px, 3.9vw, 60px)/1.4 var(--sans); letter-spacing: -.045em; word-break: keep-all; overflow-wrap: anywhere; }
.subpage .studio-heading h1 .secondary-line { color: #526ba5; }
.subpage .creators .section-heading h1 { font: 600 clamp(42px, 4.7vw, 68px)/1.12 var(--sans); letter-spacing: -.045em; word-break: keep-all; overflow-wrap: anywhere; }
.subpage .creators .section-heading { display: block; }
.creators-heading-copy { max-width: 850px; }
.subpage .creators .section-description { display: grid; gap: 10px; max-width: 760px; margin: 28px 0 0; font-size: clamp(14px, 1.05vw, 16px); line-height: 1.9; color: #596170; overflow-wrap: anywhere; }
.subpage .business h1 { font: 600 clamp(42px, 4.9vw, 72px)/1.17 var(--sans); letter-spacing: -.04em; word-break: keep-all; overflow-wrap: anywhere; }
.subpage .business h1 .secondary-line { color: #a9b0c3; }
.subpage .business-body { padding-bottom: 35px; }
.business-social-title { margin-top: 30px; font-size: 10px; letter-spacing: .13em; color: #a9b0c3; }
#business-social .social-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
#business-social .social-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #707b91; font-size: 13px; overflow-wrap: anywhere; }
#business-social .social-links a:hover { border-color: #e4e9f2; }
#business-social .contact-details { margin-top: 14px; }
.contact-details-value { display: block; padding: 7px 0; font: 550 clamp(18px, 1.8vw, 26px) var(--sans); word-break: break-all; user-select: all; }
.contact-copy { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 14px; padding: 10px 16px; border: 1px solid #5865f2; background: #5865f2; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.5; text-align: center; }
.contact-copy:hover { background: #4752c4; border-color: #4752c4; }
.contact-copy:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.contact-copy-status { margin-top: 12px; font-size: 11px; line-height: 1.7; color: #c3c8ec; }
.contact-copy-status:empty { display: none; }
#business-social .social-links a:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.subpage .footer { border-top: 1px solid var(--line); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.subpage .studio-showroom { padding-top: clamp(60px, 8vw, 130px); background: #f7f7f2; }
.studio-partnership { display: flex; align-items: center; justify-content: center; gap: clamp(25px, 4vw, 72px); margin: 0 auto; max-width: 1250px; }
.studio-partner-link { display: block; width: min(43%, 510px); border-radius: 3px; }
.studio-partner-link:focus-visible { outline: 2px solid var(--ink); outline-offset: 10px; }
.studio-partner-logo { display: block; width: 100%; height: auto; object-fit: contain; }
.studio-multiply { font: 300 clamp(30px, 4vw, 60px)/1 var(--sans); color: #878b86; }
.studio-laon-logo { display: flex; align-items: center; gap: clamp(14px, 1.5vw, 25px); min-width: 0; }
.studio-laon-logo img { width: clamp(30px, 3vw, 58px); height: clamp(50px, 5vw, 95px); object-fit: contain; }
.studio-laon-logo span { font: 750 clamp(26px, 3.7vw, 62px)/1.2 var(--sans); letter-spacing: -.045em; white-space: nowrap; }
.studio-specifications { margin: clamp(50px, 6vw, 96px) 0 clamp(45px, 6vw, 90px); text-align: center; }
.studio-dimensions { font: 550 clamp(68px, 8.4vw, 146px)/1 var(--sans); letter-spacing: -.06em; overflow-wrap: anywhere; }
.studio-capacity { margin-top: 22px; font: 550 clamp(24px, 3vw, 44px)/1.3 var(--sans); letter-spacing: -.03em; overflow-wrap: anywhere; }
.studio-price { margin-top: 18px; font-size: 16px; line-height: 1.7; color: #636b79; overflow-wrap: anywhere; }
.studio-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.studio-gallery-image { display: block; width: 100%; padding: 0; border: 0; background: #e7e8e2; overflow: hidden; cursor: zoom-in; }
.studio-gallery-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .35s; }
.studio-gallery-image:hover img { transform: scale(1.025); }
.studio-gallery-image:only-child { grid-column: 1 / -1; }
body.studio-preview-open { overflow: hidden; }
.studio-lightbox { width: min(1200px, calc(100vw - 32px)); max-width: none; max-height: calc(100svh - 32px); margin: auto; padding: 50px 16px 16px; border: 0; background: #10141c; color: #fff; }
.studio-lightbox::backdrop { background: rgb(5 8 14 / 88%); backdrop-filter: blur(6px); }
.studio-lightbox-close { position: absolute; top: 5px; right: 8px; width: 40px; height: 40px; padding: 0; font-size: 30px; line-height: 1; color: #fff; }
.studio-lightbox figure { margin: 0; }
.studio-lightbox img { width: auto; max-width: 100%; max-height: calc(100svh - 150px); margin: 0 auto; object-fit: contain; }
.studio-lightbox figcaption { margin-top: 12px; font-size: 12px; line-height: 1.7; text-align: center; color: #bec7d7; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .subpage .studio-showroom { padding-top: 60px; }
  .studio-partnership { flex-direction: column; gap: 22px; }
  .studio-partner-link { width: min(100%, 390px); }
  .studio-multiply { font-size: 30px; }
  .studio-laon-logo span { font-size: clamp(29px, 8vw, 42px); }
  .studio-laon-logo img { width: 35px; height: 58px; }
  .studio-specifications { margin: 46px 0; }
  .studio-dimensions { font-size: clamp(62px, 17vw, 100px); }
  .studio-gallery { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { .studio-gallery-image img { transition: none; } }
@media (max-width: 760px) {
  .subpage-main > .section-wrap { min-height: calc(100svh - 250px); padding-top: 34px; padding-bottom: 42px; }
  .subpage .about-copy h1 { font-size: clamp(29px, 7.5vw, 40px); }
  .subpage .studio-heading h1 { font-size: clamp(29px, 7.4vw, 40px); }
  .subpage .creators .section-heading h1 { font-size: clamp(34px, 8.7vw, 50px); line-height: 1.18; }
  .subpage .business h1 { font-size: clamp(34px, 8.8vw, 53px); line-height: 1.22; }
}
