/* Production portfolio shares the main site's color, type and navigation. */
.site-nav { overflow-y: auto; }
.production-teaser { display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5.5rem var(--pad);border-block:1px solid var(--line);background:#101010; }
.production-teaser h2 { margin:.8rem 0 0;font-size:clamp(2.5rem,5vw,5rem);font-weight:800;line-height:.95;letter-spacing:-.055em; }
.production-teaser h2 em { font-family:var(--serif);font-weight:400;letter-spacing:-.05em; }
.production-teaser-copy { align-self:center;max-width:33rem; }
.production-teaser-copy p { color:#c4c4bf;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;margin:0 0 1.8rem; }
.production-text-link { display:inline-flex;align-items:center;gap:1.5rem;padding:.6rem 0;border-bottom:1px solid currentColor;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;min-height:44px; }
.production-text-link:hover,.production-text-link:focus-visible { color:var(--red); }
.production-text-link span { font-size:1.3rem; }
.production-page { padding-top:7rem; }
.production-page .eyebrow { color:var(--red); }
.production-hero { padding:3rem var(--pad) 4rem;border-bottom:1px solid var(--line); }
.production-hero h1 { margin:2rem 0 3rem;font-family:var(--display);font-size:clamp(4.2rem,11.5vw,11rem);line-height:.83;letter-spacing:-.075em;font-weight:900;text-transform:uppercase; }
.production-hero h1 em { font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.075em;color:var(--red); }
.production-hero-bottom { display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2rem; }
.production-hero-bottom p:first-child { font-size:clamp(1.3rem,2vw,2rem);line-height:1.4;letter-spacing:-.03em; }
.production-hero-bottom p:last-child { max-width:32rem;color:#bdbdb7;line-height:1.8; }
.production-intro { display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding:5rem var(--pad); }
.production-intro h2 { margin:0 0 2rem;font-size:clamp(2rem,4vw,4rem);line-height:1.05;letter-spacing:-.05em;font-weight:800; }
.production-intro h2 em { font-family:var(--serif);font-weight:400; }
.production-intro p:not(.eyebrow) { max-width:48rem;line-height:1.8;color:#bdbdb7; }
.production-intro strong { font-weight:500;color:var(--white); }
.production-projects { padding:0 var(--pad);scroll-margin-top:6rem; }
.production-section-label { display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding:2rem 0; }
.production-section-label h2 { margin:0;font-size:1rem;font-weight:400;color:#bdbdb7; }
.production-project { padding:2rem 0 5rem;border-top:1px solid var(--line); }
.production-project-top { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:3rem; }
.production-index { color:var(--red);text-transform:uppercase;font-size:.7rem;letter-spacing:.15em; }
.production-project-top p { margin:0;color:var(--muted);font-size:.75rem; }
.production-project-grid { display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem); }
.production-project h3 { margin:0 0 1rem;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.98;letter-spacing:-.055em;font-weight:800; }
.production-role { color:var(--red);font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;margin:1.3rem 0 2rem; }
.production-credits { margin:0 0 2rem;border-top:1px solid var(--line); }
.production-credits>div { display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0;font-size:.8rem; }
.production-credits dt { color:var(--muted); }
.production-credits dd { margin:0; }
.production-project-copy>p:not(.production-role),.production-project-copy li { color:#bdbdb7;line-height:1.75; }
.production-project-copy ul { padding-left:1.1rem;margin-top:1.5rem; }
.production-project-copy li { margin-bottom:.7rem; }
.production-conair-panel { background:#151515;min-height:33rem;padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:space-between;border:1px solid #262626; }
.production-conair-panel img { width:70%;max-width:260px;height:auto;filter:brightness(0) invert(1); }
.production-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:5rem 0 3rem; }
.production-stats strong { font-size:clamp(2.5rem,5vw,5rem);line-height:1;display:block;font-weight:500;letter-spacing:-.065em; }
.production-stats span { display:block;margin-top:.8rem;font-size:.67rem;color:var(--muted); }
.production-conair-panel>p { margin:0;color:#c5c5bf;line-height:1.6;font-size:1.1rem; }
.production-video { background:#151515;border:1px solid #292929;min-height:33rem;padding:3rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between; }
.production-video>img { width:70%;max-width:290px;height:auto; }
.production-video>p { font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;letter-spacing:-.04em; }
.production-video>p em { font-family:var(--serif);font-weight:400; }
.production-watch { border:1px solid #777;padding:1rem 1.2rem;font:inherit;font-size:.8rem;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:2rem;cursor:pointer;min-height:48px; }
.production-watch:hover { border-color:var(--red);color:var(--red); }
.production-video.is-playing { padding:0;min-height:0;aspect-ratio:16/9; }
.production-video iframe { width:100%;height:100%;border:0; }
.production-caption { color:var(--muted);font-size:.8rem;line-height:1.6;margin:1rem 0 .3rem; }
.production-monroe-panel { background:#ece8dd;color:#171717;padding:3rem;min-height:31rem;display:flex;flex-direction:column;justify-content:space-between; }
.production-monroe-panel>span { font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;line-height:1.8; }
.production-monroe-panel>p { font-size:clamp(3rem,6vw,6rem);line-height:.85;letter-spacing:-.07em;margin:3rem 0; }
.production-monroe-panel em { font-family:var(--serif); }
.production-additional { display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 0 4rem;border-top:1px solid var(--line); }
.production-additional h3 { margin:.5rem 0;font-size:1.5rem;font-weight:500; }
.production-additional p:last-child { color:var(--muted);font-size:.85rem; }
.production-contact { padding:5rem var(--pad);background:#111;border-top:1px solid var(--line); }
.production-contact h2 { font-size:clamp(2.8rem,6vw,6rem);font-weight:800;line-height:1;letter-spacing:-.055em;margin:1.6rem 0 2rem; }
.production-contact h2 em { font-family:var(--serif);font-weight:400;color:var(--red); }
.production-contact>p:not(.eyebrow) { color:var(--muted); }
.production-email { display:flex;justify-content:space-between;gap:1rem;font-size:clamp(1rem,3vw,3rem);letter-spacing:-.04em;padding:1.3rem 0;border-block:1px solid var(--line);margin:2rem 0;overflow-wrap:anywhere; }
.production-email:hover { color:var(--red); }
.production-footer { padding:2rem var(--pad);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;color:var(--muted);font-size:.7rem; }
.production-footer a { min-height:44px;display:flex;align-items:center; }
.production-footer>span { align-self:center; }
.production-page a:focus-visible,.production-page button:focus-visible { outline:2px solid var(--red);outline-offset:5px; }
@media(max-width:700px) {
 .production-teaser { grid-template-columns:1fr;gap:2rem;padding-block:3.5rem; }
 .production-page { padding-top:5rem; }
 .production-hero { padding-top:2.5rem; }
 .production-hero h1 { font-size:clamp(3.7rem,15vw,7rem);margin-block:2rem; }
 .production-hero-bottom,.production-intro,.production-project-grid { grid-template-columns:1fr;gap:1.5rem; }
 .production-hero-bottom { gap:.25rem; }
 .production-hero-bottom p { margin-block:.5rem; }
 .production-intro { padding-block:3rem; }
 .production-section-label { align-items:flex-start;flex-direction:column;gap:.3rem; }
 .production-project-top { align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap; }
 .production-project { padding-bottom:3.5rem; }
 .production-project h3 { font-size:clamp(2.4rem,10vw,4rem); }
 .production-credits>div { grid-template-columns:5.2rem 1fr;gap:.5rem; }
 .production-conair-panel,.production-video,.production-monroe-panel { padding:2rem;min-height:25rem; }
 .production-stats { margin:3rem 0; }
 .production-additional { flex-direction:column;align-items:flex-start;gap:1rem; }
 .production-contact { padding-block:3rem; }
 .production-email { font-size:clamp(.95rem,4.2vw,1.5rem); }
}

.production-proposal-link { margin-top:1rem; font-size:.85rem; }
.production-proposal-link a { display:inline-block; padding:.65rem 0; text-decoration:underline; text-underline-offset:.3em; }

/* Selected production BTS, scoped to this page. */
.production-bts-gallery { margin-top:2.5rem; scroll-margin-top:7rem; }
.production-bts-gallery>.eyebrow { margin-bottom:1rem; }
.bts-grid { display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:1rem; }
.bts-grid figure { margin:0;min-width:0; }
.bts-photo a { position:relative;display:block;background:#141414; }
.bts-photo img,.bts-clip video { display:block;width:100%;height:clamp(230px,28vw,390px);object-fit:contain;background:#141414; }
.bts-enlarge { position:absolute;right:.5rem;bottom:.5rem;background:#080808cc;padding:.25rem .5rem; }
.bts-grid figcaption { color:var(--muted);font-size:.72rem;line-height:1.5;margin-top:.65rem; }
.production-bts-gallery-redcross { margin:0 0 2rem; }
.production-bts-gallery-redcross .bts-grid { grid-template-columns:1fr 1fr; }
.production-bts-gallery-redcross img { height:240px; }
.bts-video-error { font-size:.8rem; }
.bts-video-error button,.bts-video-error a { display:inline-block;padding:.6rem;border:1px solid #777;background:none;color:inherit;cursor:pointer; }
.bts-lightbox { border:1px solid #444;background:#111;color:#eee;padding:1rem;max-width:94vw;max-height:94dvh; }
.bts-lightbox::backdrop { background:rgba(0,0,0,.9); }
.bts-lightbox img { display:block;max-width:85vw;max-height:75dvh;object-fit:contain;margin:auto; }
.bts-lightbox p { max-width:65ch;font-size:.85rem;line-height:1.5; }
.bts-close { display:block;margin:0 0 1rem auto;padding:.65rem 1rem;background:#222;border:1px solid #777;color:#fff;font:inherit;cursor:pointer; }
@media(max-width:700px) {
 .bts-grid { grid-template-columns:1fr 1fr;gap:1.25rem .75rem; }
 .bts-photo img,.bts-clip video { height:auto;aspect-ratio:3/4;object-fit:contain; }
 .production-bts-gallery-redcross img { aspect-ratio:3/4; }
 .bts-grid figcaption { font-size:.72rem; }
}

.production-monroe-gallery .bts-grid { grid-template-columns:1fr 1fr; }
.production-monroe-gallery .bts-photo img,.production-monroe-gallery .bts-clip video { height:auto;aspect-ratio:16/9;object-fit:contain; }
@media(max-width:700px) { .production-monroe-gallery .bts-grid { grid-template-columns:1fr; } }
