
.production-showcase { max-width:1120px; margin:80px auto; padding:0 28px; scroll-margin-top:80px; }
.production-intro { max-width:850px; margin-bottom:32px; }
.production-showcase .production-label { color:#b83c49; font-size:clamp(18px,2vw,22px); font-weight:600; letter-spacing:.04em; margin-bottom:12px; }
.production-showcase h2 { color:#ededf2; font-size:clamp(26px,3vw,38px); line-height:1.45; margin-bottom:20px; }
.production-showcase p { font-size:16px; line-height:1.9; }
.production-layout { display:grid; grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:48px; align-items:start; }
.production-gallery { display:grid; gap:24px; }
.production-work { margin:0; min-width:0; }
.production-video { position:relative; aspect-ratio:9/16; background:#111; border-radius:14px; overflow:hidden; }
.production-showcase figcaption { margin-top:10px; font-size:13px; }
.production-details { padding:12px 0; }
.production-details h2 { font-size:23px; line-height:1.5; color:#ededf2; margin-bottom:18px; }
.production-showcase .production-note { font-size:14px; border-left:3px solid #c8c8cc; padding-left:16px; color:#bfc0cc; margin:24px 0; }
.production-cta { display:inline-flex; gap:24px; align-items:center; background:#a83241; color:#fff; padding:14px 24px; border-radius:6px; font-weight:600; }
.production-cta:hover { background:#862635; color:#fff; text-decoration:none; }
.production-cta:focus-visible { outline:3px solid #34343e; outline-offset:4px; }
.production-showcase .production-hint { font-size:14px; margin-top:14px; }
@media(max-width:700px) { .production-showcase { margin:48px auto; padding:0 20px; } .production-layout { grid-template-columns:1fr; gap:24px; } .production-gallery { width:100%; max-width:320px; margin:auto; } .production-details { padding:0; } }

/* Multiple examples above the production brief. */
.production-layout { grid-template-columns:1fr; gap:32px; }
.production-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
.production-details { max-width:850px; }
@media(max-width:700px) { .production-gallery { grid-template-columns:1fr; max-width:340px; } }



.production-social-links { display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; font-size:15px; }

/* Keep the entire thumbnail visible, regardless of the source aspect ratio. */
.production-video .yt-facade-thumb { object-fit:contain; }

/* One showcase video, with a compact social row and adjacent production brief. */
.production-layout { grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:48px; }
.production-gallery { grid-template-columns:1fr; gap:16px; width:100%; }
.production-social-links { justify-content:center; gap:12px; }
.production-social-links a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:#b4b4c0; text-decoration:none; transition:color .15s,background .15s; }
.production-social-links a:hover { color:#fff; background:#23232e; }
.production-social-links svg { display:block; width:24px; height:24px; }
@media(max-width:700px) { .production-layout { grid-template-columns:1fr; gap:28px; } }

.production-teaser { margin-bottom:32px; }
.production-work-link { display:inline-flex; gap:28px; align-items:center; padding:10px 0; color:#e8e8f0; font-size:16px; font-weight:500; border-bottom:1px solid #747480; text-decoration:none; }
.production-work-link:hover { color:#fff; border-color:#ff7777; text-decoration:none; }
.production-work-link:focus-visible { outline:2px solid #ff9999; outline-offset:5px; }

.production-social-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.production-social-links .production-social-heading { grid-column:1 / -1; margin:0 0 4px; font-size:14px; font-weight:600; color:#d8d8e4; }
.production-social-links a { width:auto; height:auto; min-height:48px; padding:10px 12px; border:1px solid #454552; border-radius:8px; gap:10px; justify-content:flex-start; color:#e8e8f0; background:#15151f; font-size:14px; }
.production-social-links a:hover { border-color:#9292a2; background:#252532; }
.production-social-links svg { width:20px; height:20px; flex-shrink:0; }

.production-details .production-social-links { margin-top:24px; max-width:360px; }

/* Readable social destinations: separate heading, generous hit areas and icon spacing. */
.production-details .production-social-links { margin-top:32px; padding-top:24px; border-top:1px solid #353541; max-width:440px; gap:14px 16px; }
.production-social-links .production-social-heading { margin:0 0 6px; font-size:15px; line-height:1.6; }
.production-social-links a { display:flex; box-sizing:border-box; min-width:0; min-height:56px; padding:14px 18px; gap:14px; line-height:1.5; border-radius:9px; }
.production-social-links svg { width:24px; height:24px; flex:0 0 24px; }
.production-social-links a span { display:block; white-space:nowrap; }
@media(max-width:380px) { .production-details .production-social-links { gap:12px; } .production-social-links a { padding:12px; gap:10px; } }

@media(min-width:701px) {
  .production-details .production-social-links { max-width:none; grid-template-columns:repeat(4,max-content); gap:12px 8px; justify-content:start; }
  .production-social-links a { min-height:44px; padding:10px 11px; gap:7px; font-size:13px; }
  .production-social-links svg { width:18px; height:18px; flex-basis:18px; }
}

/* Search-visible video embed and a readable description of the work. */
.production-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.production-showcase .production-work-caption { margin-top:22px; }
.production-work-caption h2 { font-size:23px; line-height:1.4; margin:0 0 10px; }
.production-work-caption p { font-size:15px; line-height:1.85; margin:0 0 14px; }
.production-work-caption .production-work-theme { font-size:13px; color:#bfc0cc; }

/* Service brief first; the film and its story form a separate two-column row. */
.production-page .production-intro { max-width:none; }
.production-page #production-heading { font-size:clamp(28px,3.4vw,44px); line-height:1.45; text-wrap:balance; }
.production-page #production-heading span { display:block; }
.production-page .production-intro > p:last-child { max-width:960px; text-wrap:pretty; }
.production-page .production-details { max-width:960px; padding:0; margin:0 0 48px; }
.production-page .production-details h2 { margin-top:0; text-wrap:balance; }
.production-page .production-layout { display:block; padding-top:40px; border-top:1px solid #353541; }
.production-page .production-work { display:grid; grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:48px; align-items:start; }
.production-page .production-work-caption { margin:0; padding:8px 0 0; max-width:600px; }
.production-page .production-work-caption h2 { margin-top:0; }
.production-page .production-work-caption p { font-size:16px; text-wrap:pretty; }
.production-page .production-work-caption .production-work-theme { font-size:14px; }
@media(max-width:700px) {
 .production-page .production-work { grid-template-columns:1fr; gap:24px; }
 .production-page .production-video { width:100%; max-width:340px; margin:auto; }
 .production-page .production-work-caption { max-width:none; padding:0; }
 .production-page .production-details { margin-bottom:32px; }
 .production-page .production-layout { padding-top:32px; }
}

/* Social links follow the film description. */
.production-work-caption .production-social-links { margin-top:32px; padding-top:24px; border-top:1px solid #353541; max-width:440px; gap:14px 16px; }
@media(min-width:701px) {
 .production-work-caption .production-social-links { max-width:none; grid-template-columns:repeat(4,max-content); gap:12px 8px; justify-content:start; }
}
@media(max-width:380px) { .production-work-caption .production-social-links { gap:12px; } }

.production-page .production-contact { margin-top:48px; margin-bottom:48px; }
.production-page .production-contact .production-note { margin-top:0; }
