/* Fine-tuning: quieter format selection and the source-led portfolio below the inquiry. */
.format-intro { margin-bottom:1.5rem; }
.format-tabs { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:.5rem clamp(1.5rem,5vw,5rem); margin-bottom:2.5rem; border-bottom:1px solid #d9d9d4; }
.format-tabs button { flex:none; min-width:0; min-height:60px; border:0; border-bottom:3px solid transparent; border-radius:0; padding:.85rem 0; background:none; color:#666; text-align:left; font-size:clamp(1.05rem,1.8vw,1.5rem); }
.format-tabs button:hover { color:#111; background:none; }
.format-tabs button[aria-selected=true] { color:#111; border-color:var(--red); background:none; }
.format-tabs button:focus-visible { outline:2px solid var(--red); outline-offset:5px; }
.format-panel { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; }
.format-content { padding:0; }
.format-content h3 { font-size:clamp(1.8rem,2.9vw,2.7rem); max-width:20ch; }
.format-description { font-size:1.0625rem; line-height:1.75; color:#494949; margin-top:1.25rem; max-width:36ch; }
.format-decision { gap:1.1rem; margin-top:1.75rem; padding-top:1.5rem; border-top:1px solid #d9d9d4; }
.format-price { font-size:.9375rem; }
.format-price strong { font-weight:700; color:#111; white-space:nowrap; }
.format-decision .text-link { min-height:44px; }
.format-visual img { aspect-ratio:4/3; }
.hero .hero-single figcaption { justify-content:flex-end; }
.hero-single .film-label { max-width:none; }
.inquiry-price strong { display:inline; margin:0; font:700 1rem/1.7 var(--body); white-space:nowrap; }
.inquiry-section .plain-link { display:block; margin-top:2rem; }
.space-viewer-footer { justify-content:flex-end; }
.space-viewer-footer .button { margin-top:0; }

.studio-reels,.own-events { padding-block:var(--section); background:#111; color:#fff; --ring:#fff; }
.studio-reels h2,.brand-formats h2,.own-events h2,.studio-gallery h2 { font-size:var(--h2); line-height:1.16; }
.reel-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); grid-template-rows:auto 1fr; gap:2.5rem clamp(3rem,7vw,7rem); align-items:start; }
.reel-heading { grid-column:2; grid-row:1; align-self:end; padding-top:2rem; }
.reel-heading h2 { max-width:10ch; font-size:clamp(3.25rem,5.2vw,5rem); }
.reel-heading p { max-width:35ch; margin-top:1.25rem; color:#bbb; font-size:1.125rem; line-height:1.75; }
.reel-player { grid-column:1; grid-row:1/3; width:min(100%,22rem); justify-self:center; min-width:0; }
.reel-frame { position:relative; overflow:hidden; aspect-ratio:9/16; border-radius:9px; background:#080808; }
.reel-frame>img { display:block; width:100%; height:100%; object-fit:contain; }
[data-managed-video]:not(.hero-film):not(.hero-preview-film) { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity .2s; }
[data-managed-video].has-frame:not(.hero-film):not(.hero-preview-film) { opacity:1; }
.reel-playlist { grid-column:2; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; }
.reel-choice { display:flex; align-items:center; gap:.75rem; min-width:0; min-height:80px; padding:1.05rem 0; border:0; border-bottom:1px solid #ffffff30; background:transparent; color:#aaa; text-align:left; font:700 1.0625rem/1.5 var(--display); cursor:pointer; }
.reel-number { font:500 .8125rem/1.5 var(--body); color:#aaa; flex:none; }
.reel-choice-icon { margin-left:auto; font-size:1.25rem; color:#999; }
.reel-choice[aria-pressed=true] { color:#fff; border-bottom-color:var(--red); }
.reel-choice[aria-pressed=true] .reel-number { color:#fff; }
.reel-choice[aria-pressed=true] .reel-choice-icon { color:#fff; }
.reel-choice:hover { color:#fff; }
.reel-choice:focus-visible { outline:2px solid #fff; outline-offset:5px; }
.reel-playback { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding-top:1rem; }
.reel-playback p { min-width:0; text-align:center; font-size:.9375rem; line-height:1.6; }
.reel-playback strong { display:block; font-weight:600; }
[data-reel-position] { display:block; font-size:.8125rem; color:#aaa; letter-spacing:.08em; margin-bottom:.3rem; }
.reel-playback button,.reel-extra-controls button { flex:none; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffff50; border-radius:50%; background:#111b; color:#fff; font:500 1.25rem/1 var(--body); cursor:pointer; }
.reel-playback button:hover,.reel-extra-controls button:hover { background:#333; }
.reel-extra-controls { position:absolute; bottom:.75rem; right:.75rem; display:flex; gap:.5rem; }
[data-reel-sound][aria-pressed=false] span { text-decoration:line-through; }
.reel-frame:fullscreen { border-radius:0; height:100%; background:#000; }
.reel-frame:fullscreen>img { object-fit:contain; }

.brand-formats,.studio-gallery { padding-block:var(--section); background:#fff; color:#111; --ring:#111; }
.brand-formats h2 { max-width:20ch; margin-bottom:3rem; }
.brand-format-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3.5rem 2rem; }
.brand-format>img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:7px; }
.brand-format:nth-child(2)>img { object-position:center 65%; }
.brand-format h3 { font-size:clamp(1.7rem,2.5vw,2.25rem); line-height:1.25; letter-spacing:-.035em; margin-top:1.25rem; }
.brand-format p { max-width:44ch; margin-top:.6rem; font-size:1.0625rem; line-height:1.75; color:#494949; }
.project-band { padding-block:2.5rem; background:#f3f3f0; color:#111; --ring:#111; }
.project-band>.wrap { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.project-band h2 { font-size:clamp(1.75rem,3vw,2.75rem); max-width:22ch; }
.project-band .button { min-height:56px; gap:3rem; flex:none; }
.project-band .button>span { font-size:1.25rem; }
.proof-heading { display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:3rem; margin-bottom:3rem; }
.proof-heading .section-kicker { color:#bbb; margin-bottom:.85rem; }
.proof-heading>p { max-width:42ch; color:#bbb; font-size:1.0625rem; line-height:1.75; }
.series-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; align-items:start; }
.series-card { min-width:0; }
.series-media { position:relative; aspect-ratio:9/16; border-radius:7px; overflow:hidden; background:#080808; }
.series-media>img { display:block; width:100%; height:100%; object-fit:cover; }
.series-card h3 { font-size:clamp(1.25rem,1.7vw,1.6rem); margin-top:1.5rem; letter-spacing:-.02em; }
.series-card p { font-size:1rem; line-height:1.75; color:#bbb; margin-top:.75rem; }
.community-story { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:clamp(2rem,6vw,6rem); margin-top:4rem; padding-top:4rem; border-top:1px solid #ffffff30; }
.community-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.community-photos img { width:100%; height:auto; border-radius:7px; }
.community-photos img:last-child { margin-top:3rem; }
.community-story>p { max-width:18ch; font:700 clamp(2rem,3.4vw,3.4rem)/1.23 var(--display); letter-spacing:-.04em; text-wrap:balance; }

.studio-gallery h2 { margin-bottom:2.5rem; }
.gallery-grid { display:grid; gap:1rem; }
.gallery-row { display:grid; gap:1rem; grid-template-columns:minmax(0,1.7964fr) minmax(0,1.5fr) minmax(0,1.6636fr); }
.gallery-row:first-child { grid-template-columns:minmax(0,2.7356fr) minmax(0,.66667fr); }
.gallery-row:nth-child(2) { grid-template-columns:minmax(0,.69204fr) minmax(0,1.5531fr) minmax(0,1.5fr); }
.gallery-photo { margin:0; min-width:0; }
.gallery-open { position:relative; display:block; width:100%; height:auto; border:0; padding:0; background:#111; border-radius:7px; overflow:hidden; cursor:zoom-in; }
.gallery-open>img { display:block; width:100%; height:auto; object-fit:contain; transition:filter .2s; }
.gallery-open:hover>img { filter:brightness(1.07); }
.gallery-open:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
.project-band-final { padding-block:3.5rem; background:#f3f3f0; }
.project-band-final h2 { max-width:18ch; }

@media(max-width:1099px) {
  .series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 2rem; }
  .series-media { aspect-ratio:auto; height:26rem; }
  .series-card h3 { font-size:1.6rem; }
  .reel-layout { gap:2rem 3rem; }
  .reel-playlist { column-gap:1.25rem; }
  .reel-choice { min-height:75px; font-size:1rem; }
}
@media(max-width:799px) {
  .reel-layout { grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:2rem; }
  .reel-heading { grid-column:1; grid-row:1; padding:0; }
  .reel-heading h2 { max-width:none; font-size:var(--h2); }
  .reel-heading p { max-width:35rem; font-size:1rem; }
  .reel-player { grid-column:1; grid-row:2; width:min(100%,calc(70svh * 9 / 16)); }
  .reel-playlist { grid-column:1; grid-row:3; width:100%; }
  .reel-choice { min-height:68px; font-size:1rem; }
  .proof-heading { grid-template-columns:1fr; gap:1.25rem; }
  .community-story { gap:2rem; }
  .community-story>p { font-size:2rem; }
  .format-panel { gap:1.75rem; }
  .format-tabs { gap:1.5rem; }
  .format-content h3 { font-size:1.9rem; }
  .format-description { font-size:1rem; }
}
@media(max-width:599px) {
  .format-tabs { justify-content:space-between; gap:.75rem; margin-bottom:1.5rem; }
  .format-tabs button { min-height:56px; font-size:.9375rem; line-height:1.5; padding-block:.8rem; letter-spacing:-.01em; }
  .format-intro h2 { max-width:none; }
  .format-content h3 { max-width:21ch; }
  .format-description { max-width:35ch; margin-top:.8rem; }
  .format-decision { margin-top:1.25rem; padding-top:1.25rem; }
  .brand-format-grid { grid-template-columns:1fr; gap:2.5rem; }
  .brand-formats h2 { margin-bottom:2rem; }
  .brand-format h3 { font-size:1.75rem; margin-top:1rem; }
  .brand-format p { font-size:1rem; }
  .project-band>.wrap { display:block; }
  .project-band .button { display:flex; justify-content:space-between; margin-top:1.5rem; width:100%; }
  .series-grid { grid-template-columns:1fr; gap:2.75rem; }
  .series-media { width:100%; height: min(125vw,36rem); }
  .series-media:has(video) { width:min(100%,calc(70svh * 9 / 16)); height:auto; aspect-ratio:9/16; margin-inline:auto; }
  .series-card h3 { margin-top:1.25rem; font-size:1.65rem; }
  .series-card p { max-width:40ch; }
  .community-story { grid-template-columns:1fr; gap:2rem; margin-top:3rem; padding-top:3rem; }
  .community-story>p { max-width:20ch; font-size:2.2rem; }
  .community-photos img:last-child { margin-top:2rem; }
  .gallery-grid { display:flex; flex-wrap:wrap; gap:.75rem; align-items:flex-start; }
  .gallery-row { display:contents; }
  .gallery-photo { flex:none; width:100%; }
  .gallery-002 { width:calc((100% - .75rem) * .49066); }
  .gallery-001 { width:calc((100% - .75rem) * .50934); }
  .gallery-004 { width:calc((100% - .75rem) * .5087); }
  .gallery-019 { width:calc((100% - .75rem) * .4913); }
  .gallery-013 { width:calc((100% - .75rem) * .54496); }
  .gallery-009 { width:calc((100% - .75rem) * .45504); }
  .studio-gallery h2 { margin-bottom:2rem; }
  .gallery-open { border-radius:5px; }
  .gallery-open .space-photo-affordance { width:32px; height:32px; right:.5rem; bottom:.5rem; font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) {
  [data-managed-video],.gallery-open>img { transition:none!important; }
}
