/* Cinema romance. Scoped deliberately: the approved manifesto is unchanged. */
body { background: #cce2ed; }
.header { height: 88px; }
.header .wordmark { letter-spacing: .06em; font-size: 33px; }
.header .wordmark span { display: none; }
.header .desktop-nav { font-family: var(--serif); font-size: 19px; }
.header .nav-cta { border-radius: 0; border: 0; border-bottom: 1px solid currentColor; min-width: auto; padding: 8px 0; height: auto; }
.header.scrolled { background: #e5edf0f5; border: 1px solid #75142e20; border-radius: 4px; }
.hero.theatre { padding: 0; }
.stage-shell { height: max(780px, 100svh); max-height: 1100px; background: radial-gradient(ellipse at 50% 53%, #fff2e8 0, #e8e9e9 24%, #cce2ed 57%, #b7d3e5 100%); }
.stage-floor { display: none; }
.curtain-understudy { background: repeating-linear-gradient(90deg,#c194a6 0%,#f4c9d9 2.5%,#f9dce5 4%,#d2a2b5 6%,#bc8d9f 7.5%); }
.stage-spotlight { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: radial-gradient(circle at 50% 43%, #fff8df77 0%, #fff5de60 25%, #fff2e533 37%, transparent 44%); box-shadow: inset 0 0 100px #52112519; transition: opacity 3.3s ease; }
.theatre[data-state="open"] .stage-spotlight { opacity: .3; }
.theatre .hero-copy { left: 17%; top: 25%; width: 66%; text-align: center; }
.theatre h1 { font: italic 400 clamp(46px,6.3vw,103px)/.98 var(--serif); letter-spacing: -.045em; text-shadow: 0 1px 1px #fff6,0 0 28px #fff5; }
.theatre h1 > span:nth-child(2) { font: 400 .39em/1.9 var(--serif); text-transform: uppercase; letter-spacing: .05em; margin: .1em 0; }
.theatre h1 em { font-size: 1.03em; margin: 0; letter-spacing: -.045em; }
.theatre h1::before { display: none; }
.stage-caption-slot { width: 100%; max-width: 900px; margin: 42px auto 0; }
.stage-caption-lead { font-size: clamp(26px,2.8vw,44px); }
.stage-caption-body { font-family: var(--serif); max-width: 760px; margin: 12px auto 0; font-size: clamp(20px,1.8vw,27px); line-height: 1.35; }
.cinema-crown { position: absolute; z-index: 4; bottom: 7%; left: calc(50% - 19px); width: 38px; height: 30px; color: #75142e; }
.section, #brief-dialog { --ink:#75142e; --muted:#72515d; --line:#75142e30; --cream:#f9e4e9; --fern:#75142e; --copper:#75142e; color:#75142e; }
.section { max-width: none; padding-top: 100px; padding-bottom: 110px; background: #cce2ed; border-top: 1px solid #75142e20; }
.section h2, .section h3 { font-family: var(--serif); }
.section h2 { font-size: clamp(52px,5.9vw,92px); line-height: .98; letter-spacing: -.04em; }
.section h2 em { font-size: 1.08em; }
.section-top { color: #75142e; padding-bottom: 20px; border-bottom: 1px solid #75142e30; }
.section-top .eyebrow { letter-spacing: .18em; font-size: 10px; }
.section-top .serif-caption { font-size: 26px; }
.results { background: radial-gradient(ellipse at 19% 35%,#f5e8e7 0,transparent 48%),#cce2ed; }
.result-list h3 { font-size: 31px; }
.result-list li>span, .process-list li>span { color: #697e6a; }
.formats { background: radial-gradient(ellipse at 80% 30%,#f4e7e980,transparent 55%),#c5ddeb; }
.cinema-mirror { position: relative; height: calc(100% - 50px); margin: 0 25px 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; border: 1px solid #85957c; border-radius: 48% 48% 45% 45%; outline: 1px solid #85957c80; outline-offset: 9px; background: radial-gradient(ellipse at 40% 35%,#fff4e9,#efd7e0 55%,#d5bdd0); box-shadow: inset 0 0 45px #fff8,0 15px 45px #75142e0a; }
.mirror-label { position: absolute; top: 15%; font: 18px var(--serif); letter-spacing: .22em; }
.mirror-title { font: 400 clamp(40px,4.2vw,67px)/1.02 var(--serif); letter-spacing: -.04em; }
.mirror-title em { font-size: 1.12em; }
.mirror-foot { position: absolute; bottom: 17%; font: italic 22px var(--serif); }
.path-meter { color: #75142e; }
.meter-track { background: #85957c55; }
.path-step h3 { font-size: clamp(39px,3.7vw,59px); letter-spacing: -.03em; }
.format-stage[aria-pressed=true] { color:#75142e; }
.price { font-size: 57px; }
.deliverable { border-color: #879a80; }
.section .button-dark, #brief-dialog .button-dark { background: #75142e; color:#fff1ed; }
.section .button-dark:hover, #brief-dialog .button-dark:hover { background:#591024; }
.process { background: radial-gradient(ellipse at 75% 55%,#f8e5e9 0,transparent 60%),#d4e5ed; }
.process-list h3 { font-size: 34px; }
.process-list p { color:#72515d; }
.work { background: #c6deec; }
.project-visual { border-radius: 46% 46% 3px 3px; border: 1px solid #879a8080; outline: 1px solid #879a8045; outline-offset: 7px; }
.project-caption h3 { font-size: 32px; }
.project-caption>span,.case-facts dt { color:#72515d; }
.project-hover { background:#fae8ecf2; color:#75142e; }
.people { background: radial-gradient(ellipse at 50% 25%,#f6e8e9,transparent 62%),#cce2ed; }
.people .section-top,.people-intro,.speaker-info .eyebrow,.speaker-credential,.team-facts,.team-facts dt { color:#72515d; }
.speaker-photo { border-radius:48% 48% 3px 3px; outline:1px solid #879a80; outline-offset:7px; background:#ecd4dd; }
.speaker h3 { color:#75142e; }
.faq { background:#d6e7ef; }
.faq-list summary { font-family:var(--serif); font-size:26px; }
.contact { background:radial-gradient(ellipse at 15% 35%,#f8e0e6,transparent 65%),#c6deec; padding-bottom:0; }
.contact .section-top,.contact .form-note,.contact footer { color:#72515d; }
.field input,.field textarea { color:#75142e; border-color:#75142e60; }
.field input::placeholder,.field textarea::placeholder { color:#765967; }
.contact :is(input,textarea,button,a):focus-visible { outline-color:#75142e; }
.contact .button-cream { background:#75142e; color:#fff0ed; }
.contact .button-cream:hover { background:#591024; }
.selected-format, .contact footer { border-color:#75142e35; }
#brief-dialog { background:#e1eaf0; border:1px solid #9aa78a; border-radius:4px; }
#brief-dialog h2 { font-family:var(--serif); }
#brief-dialog .dialog-description,#brief-dialog .brief-status { color:#72515d; }
#brief-dialog .brief-output { background:#f6e2e8; border-radius:3px; }
#brief-dialog::backdrop { background:#40213566; }
@media(max-width:760px) {
  .header { height:75px; }
  .header .wordmark { font-size:29px; }
  .header .wordmark span { display:none; }
  .hero.theatre { padding:0; }
  .stage-shell { height:max(770px,100svh); max-height:950px; }
  .theatre .hero-copy { top:24%; left:9%; width:82%; }
  .theatre h1 { font-size:clamp(31px,7.7vw,58px); letter-spacing:-.045em; }
  .theatre h1 em { font-size:1.08em; }
  .theatre h1 > span:nth-child(2) { font-size:.49em; line-height:2.5; }
  .stage-caption-slot { width:85%; margin-top:40px; }
  .stage-caption-lead { font-size:clamp(27px,6.5vw,35px); }
  .stage-caption-body { font-size:20px; line-height:1.4; }
  .cinema-crown { bottom:6%; width:30px; left:calc(50% - 15px); }
  .section { padding-top:60px; padding-bottom:70px; }
  .section h2 { font-size:clamp(46px,11vw,70px); }
  .section-top .serif-caption { font-size:20px; }
  .cinema-mirror { max-width:290px; margin:10px auto 25px; height:290px; }
  .path-visual { height:360px; }
  .mirror-title { font-size:42px; }
  .mirror-label { top:13%; font-size:14px; }
  .mirror-foot { bottom:13%; font-size:18px; }
  .path-step h3 { font-size:40px; }
  .faq-list summary { font-size:23px; }
  .contact { padding-bottom:0; }
}
@media(prefers-reduced-motion:reduce) { .stage-spotlight { transition:none; } }
