/* The selected Afterimage intro. The city and site navigation remain independent. */
.design-story>.hero[data-cinematic="afterimage"],.hero[data-cinematic="afterimage"] {
  display:block; height:auto; min-height:max(600px,100svh); padding:0; overflow:clip; overflow-anchor:none;
}
.hero[data-cinematic="afterimage"]::before {
  background:linear-gradient(180deg,rgba(1,7,20,.12),transparent 34%,transparent 85%,#11152e)!important;
}
.cinema-intro[data-intro-state="waiting"] :is(.cinema-title,.copy-grid,.halftone) { opacity:0; }
.hero[data-cinematic="afterimage"] { --intro-size:clamp(72px,8vw,116px); --intro-width:clamp(500px,48vw,680px); }
.hero[data-cinematic="afterimage"] .cinema-intro {
  position:relative; z-index:5; width:var(--intro-width); margin-left:6.6vw;
  padding-top:clamp(155px,22svh,265px); padding-bottom:64px; pointer-events:none;
  color:#fffefb; text-shadow:0 2px 22px #020a1a55; isolation:isolate;
}
.hero[data-cinematic="afterimage"] .cinema-intro::before {
  content:""; position:absolute; z-index:-2; inset:100px -80px -24px -90px;
  background:radial-gradient(ellipse at 42% 53%,#050c1ccc 0%,#040a188a 35%,#03081900 72%);
  pointer-events:none;
}
.hero[data-cinematic="afterimage"] h1.cinema-title { position:relative; margin:0; padding:0; max-width:none; width:100%; color:#fffefb; font-family:Montserrat,Arial,sans-serif; font-size:var(--intro-size); font-weight:800; line-height:.99; letter-spacing:-.065em; text-wrap:nowrap; }
.cinema-title .title-row { display:block; position:relative; }
.cinema-title .lead-word { display:block; white-space:nowrap; }
.cinema-title .letter { display:inline-block; transform-origin:50% 85%; }
.cinema-title .support-line { margin-top:1px; font-size:.5em; font-weight:400; line-height:1.18; letter-spacing:-.055em; }
.cinema-title .support-line strong { font-weight:800; }
.cinema-title .support-line .word { display:inline-block; }
.hero[data-cinematic="afterimage"] h1.cinema-title em { display:block; position:relative; margin-top:.025em; padding-bottom:.13em; font-family:'Playfair Display',Georgia,serif; font-size:.73em; font-weight:500; font-style:italic; line-height:1.12; letter-spacing:-.06em; color:#10dfef; }
.cinema-title .echo { position:absolute; inset:0; pointer-events:none; opacity:0; }
.cinema-title .echo-pink { color:#f1288e; mix-blend-mode:screen; }
.cinema-title .echo-cyan { color:#0ce4f0; mix-blend-mode:screen; }
.cinema-intro .copy-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:24px; background:linear-gradient(120deg,#06102099,#06102038); pointer-events:auto; }
.cinema-intro .copy-cell { position:relative; padding:15px 18px 20px 0; }
.cinema-intro .copy-cell.copy-lead { grid-column:1/-1; padding-bottom:15px; }
.cinema-intro .copy-cell.copy-right { padding-left:20px; padding-right:8px; }
.cinema-intro .copy-cell p { font-family:Montserrat,Arial,sans-serif; font-size:clamp(12px,1.03vw,15px); font-weight:400; letter-spacing:0; line-height:1.48; margin:0; color:#f6f5f1; text-wrap:pretty; }
.cinema-intro .copy-cell.copy-lead p { font-weight:600; }
.cinema-intro .rule { position:absolute; background:#f0f5ff55; transform-origin:left center; pointer-events:none; }
.cinema-intro .rule-top { top:0; left:0; right:0; height:1px; }
.cinema-intro .rule-middle { top:0; left:0; right:0; height:1px; }
.cinema-intro .rule-bottom { bottom:0; left:0; right:0; height:1px; }
.cinema-intro .rule-side { left:50%; top:0; bottom:0; width:1px; transform-origin:center top; }
.cinema-intro .copy-cell.copy-right .rule-side { left:0; }
.cinema-intro .halftone { position:absolute; z-index:-1; width:clamp(110px,12vw,176px); aspect-ratio:1; pointer-events:none; }
.cinema-intro .halftone::before { content:""; position:absolute; inset:0; background:#e52183; mask:url('assets/halftone.svg') center/contain no-repeat; -webkit-mask:url('assets/halftone.svg') center/contain no-repeat; opacity:.8; animation:city-ink 14s ease-in-out infinite; }
.cinema-intro .halftone-a { left:-44px; top:calc(clamp(155px,22svh,265px) + 5px); transform:rotate(-8deg); }
.cinema-intro .halftone-b { width:clamp(85px,9vw,138px); right:-17px; top:calc(clamp(155px,22svh,265px) - 36px); transform:rotate(168deg); }
.cinema-intro .halftone-b::before { animation-delay:-4s; }
.cinema-intro .halftone-c { width:clamp(155px,15vw,220px); bottom:8px; left:-95px; transform:rotate(15deg); opacity:.62; }
.cinema-intro .halftone-c::before { animation-delay:-8s; }
.cinema-intro[data-paused="true"] .halftone::before { animation-play-state:paused; }
@keyframes city-ink { 0%,100% { background:#ec2486; opacity:.85; } 28% { background:#ea4895; opacity:.42; } 55% { background:#09cfdf; opacity:.68; } 78% { background:#ffc579; opacity:.4; } }
@media(min-width:1500px) { .hero[data-cinematic="afterimage"] .copy-grid { max-width:625px; } }
@media(min-width:701px) and (max-height:740px) {
  .hero[data-cinematic="afterimage"] { --intro-size:clamp(68px,7.1vw,96px); }
  .hero[data-cinematic="afterimage"] .cinema-intro { padding-top:135px; padding-bottom:18px; }
  .hero[data-cinematic="afterimage"] .copy-grid { margin-top:18px; }
  .hero[data-cinematic="afterimage"] .halftone-a { top:140px; }
  .hero[data-cinematic="afterimage"] .halftone-b { top:99px; }
}
@media(max-width:700px) {
  .hero[data-cinematic="afterimage"] { --intro-size:clamp(44px,15.5vw,90px); --intro-width:calc(100vw - 48px); }
  .hero[data-cinematic="afterimage"] .cinema-intro { margin-left:24px; padding-top:145px; padding-bottom:46px; }
  .hero[data-cinematic="afterimage"] .copy-grid { margin-top:22px; }
  .cinema-intro .copy-cell { padding:13px 13px 15px 0; }
  .cinema-intro .copy-cell.copy-right { padding-left:13px; padding-right:0; }
  .cinema-intro .copy-cell p { font-size:12px; line-height:1.5; }
  .hero[data-cinematic="afterimage"] .halftone-a { top:146px; width:95px; left:-29px; }
  .hero[data-cinematic="afterimage"] .halftone-b { top:121px; width:80px; right:-12px; }
  .hero[data-cinematic="afterimage"] .halftone-c { width:135px; left:-56px; right:auto; bottom:15px; }
}
@media(prefers-reduced-motion:reduce) { .cinema-intro .halftone::before { animation:none; } }
