/* Extends the original design without replacing its visual language. */
:root { --ink-dim: #a1a8b7; }
section { scroll-margin-top: 100px; }
.section-title { font-family:var(--serif); font-size:clamp(2rem,4vw,3.3rem); font-weight:300; line-height:1.15; margin-bottom:1.5rem; }
.v2-section { max-width:1100px; margin:auto; padding:6rem 2.5rem; border-bottom:1px solid var(--rule); }
.section-copy { max-width:700px; color:var(--ink-dim); margin:1.5rem 0; font-size:.95rem; }
.story-copy p + p { margin-top:1rem; }
.hero-atmosphere { background:radial-gradient(ellipse at 70% 30%,#243b50 0%,transparent 60%),radial-gradient(ellipse at 20% 65%,#30293a 0%,transparent 65%),var(--void); }
.hero-description { color:var(--ink-dim); max-width:600px; margin-bottom:1.5rem; }
#hero { height:100svh; min-height:700px; }
.video-placeholder { aspect-ratio:16/9; border:1px solid #364957; background:radial-gradient(ellipse at center,#172739,var(--deep)); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2rem; text-align:center; }
.video-placeholder h3 { font:300 clamp(1.4rem,3vw,2.4rem)/1.2 var(--serif); max-width:650px; margin-bottom:1rem; }
.video-placeholder p { color:var(--ink-dim); }
.video-placeholder iframe { width:100%; height:100%; border:0; }
.video-placeholder.has-video { padding:0; }
.video-placeholder.compact { margin-top:2rem; }
.cast-grid,.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin-top:2rem; }
.cast-grid h3,.workflow h3 { font:300 1.5rem var(--serif); margin-bottom:1rem; }
.asset-slot { aspect-ratio:16/10; background:linear-gradient(145deg,#111c2a,#0a0e1a); border:1px dashed #354657; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:1.5rem; text-align:center; color:var(--ink-dim); }
.asset-slot small { display:block; font-family:var(--mono); font-size:.65rem; margin-top:.7rem; color:var(--mist); }
.asset-slot.portrait { aspect-ratio:4/5; }
.asset-slot img { width:100%; height:100%; object-fit:contain; }
.asset-slot.has-image { padding:0; overflow:hidden; }
figcaption,.asset-note { color:var(--ink-dim); font-size:.78rem; margin-top:.8rem; }
.workflow { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; counter-reset:step; }
.workflow li { min-width:0; counter-increment:step; }
.workflow h3::before { content:counter(step, decimal-leading-zero) ' → '; color:var(--mist); font: .7rem var(--mono); }
.workflow .asset-slot { aspect-ratio:4/3; font-size:.75rem; padding:.75rem; }
.text-link { color:var(--mist); display:inline-block; padding:.6rem 0; }
#starbyte .asset-card { max-width:300px; }
#contact { max-width:1100px; }
fieldset { border:0; min-width:0; }
select option { background:var(--deep); color:var(--ink); }
.form-label,.meta-label,.prod-card-label { color:var(--ink-dim); }
.form-input,.form-textarea { width:100%; min-width:0; }
button { cursor:pointer; }
#enquiry-preview { margin-top:2rem; border:1px solid var(--rule); padding:1.5rem; }
#enquiry-summary { white-space:pre-wrap; overflow-wrap:anywhere; font: .85rem/1.7 var(--sans); margin:1rem 0; }
:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.skip-link { position:fixed; top:-100px; left:1rem; background:var(--ink); color:var(--void); padding:1rem; z-index:500; }
.skip-link:focus { top:1rem; }
nav { background:rgba(6,8,16,.94); }
.nav-links a,.nav-logo { color:var(--ink-dim); }
@media(max-width:900px) { .workflow { grid-template-columns:repeat(2,minmax(0,1fr)); } .nav-links { gap:1rem; } }
@media(max-width:768px) { .v2-section { padding:4rem 1.5rem; } .nav-links { display:none; } #hero { min-height:700px; } .video-placeholder { aspect-ratio:auto; min-height:260px; } .video-placeholder.has-video { aspect-ratio:16/9; min-height:0; } }
@media(max-width:480px) { .cast-grid,.gallery-grid,.workflow { grid-template-columns:1fr; } nav { padding:1rem; gap:.5rem; } .nav-contact-btn { font-size:.5rem; padding:.6rem; } .video-placeholder { padding:1.25rem; } .hero-title { font-size:clamp(3.5rem,17vw,5rem); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Landing V1: compact credibility and readable outreach flow. */
#director { display:block; max-width:1100px; }
.director-bio { max-width:700px; }
.workflow p { color:var(--ink-dim); font-size:.9rem; }
.enquiry-route { padding:2rem; border:1px solid var(--rule); }
.enquiry-route h3 { font:300 1.8rem/1.2 var(--serif); margin-bottom:1rem; }
.enquiry-route ul { padding-left:1.2rem; color:var(--ink-dim); }
.enquiry-route li { margin:.5rem 0; }
.video-placeholder .btn-primary { white-space:normal; }
@media(max-width:480px) { .nav-contact-btn { max-width:180px; text-align:center; } .enquiry-route { padding:1.25rem; } }

.email-link { color:var(--mist); overflow-wrap:anywhere; }

#hero { height:auto; min-height:0; }
.hero-content { position:relative; padding:9rem 3rem 5rem; }
#hero .scroll-hint { display:none; }
.concept-art { width:100%; max-width:440px; }
.primary-key-art { margin:1rem 0 2.5rem; }
.memory-world-art { margin:2rem 0; }
.artwork-slot { aspect-ratio:2/3; }
.artwork-slot.has-image { aspect-ratio:auto; border:0; background:transparent; }
.artwork-slot img { display:block; width:100%; height:auto; object-fit:contain; }
@media(min-width:1000px) {
  .hero-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); column-gap:4rem; align-content:center; }
  .hero-label { grid-column:1/-1; }
  .hero-title { grid-column:1; align-self:end; }
  .primary-key-art { grid-column:2; grid-row:2/6; margin:0; }
  .hero-tagline,.hero-description,.hero-cta-row { grid-column:1; }
}
@media(max-width:768px) { .hero-content { padding:8rem 1.5rem 4rem; } }
