/* Shunt's visual development journal. Shared colours come from theme.css. */
.shunt-hero{height:100vh;height:100svh;min-height:0;max-height:none;position:relative;overflow:hidden;background:var(--media-hero-gradient)}
.shunt-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center}
.shunt-hero-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#11111170,transparent 24%,transparent 75%,#11111180)}
.shunt-art-credit{position:absolute;left:var(--space);right:var(--space);bottom:62px;display:flex;justify-content:space-between;gap:20px;color:#ecf5fb;font-size:12px;letter-spacing:.02em;text-shadow:0 1px 8px #000}
.shunt-art-credit span{color:#c5d7e8}
.shunt-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;background:var(--section-gradient)}
.shunt-intro .eyebrow{color:var(--muted);margin-bottom:20px}
.shunt-intro h1{font-size:clamp(78px,10vw,160px);line-height:.92;letter-spacing:-.075em}
.shunt-intro-copy>p:first-child{font-size:clamp(22px,2.4vw,34px);line-height:1.4;max-width:560px;letter-spacing:-.025em}
.shunt-subtitle{color:var(--muted);font-size:16px;margin-top:16px}
.shunt-intro-copy .text-link{margin-top:28px}
.journey-nav{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:10px var(--space);background:var(--chrome-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-block:1px solid var(--line);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.journey-nav a{flex-shrink:0;font-size:13px;white-space:nowrap;display:flex;align-items:center;min-height:48px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.journey-nav a:hover,.journey-nav a[aria-current=true]{color:var(--accent);border-color:var(--accent)}
.journey-chapter{scroll-margin-top:95px;min-width:0}
.journey-chapter.section-pad{padding-top:90px;padding-bottom:90px}
.chapter-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}
.chapter-heading .eyebrow{color:var(--accent);font-size:11px;margin-bottom:17px}
.chapter-heading h2{font-size:clamp(36px,4.7vw,70px);max-width:850px}
.chapter-heading>p{color:var(--muted);font-size:16px;max-width:300px}
.project-media{margin:0;min-width:0}
.project-media>img,.video-frame{width:100%;border-radius:6px;background:var(--media-surface);border:1px solid var(--line);overflow:hidden}
.project-media>img{height:auto;aspect-ratio:16/9;object-fit:contain}
.project-media figcaption{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:15px;font-size:14px;line-height:1.5}
.project-media figcaption>span:last-child{font-size:12px;color:var(--muted);text-align:right}
.planning-media>img{max-height:670px}
.direction-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:0;padding-bottom:90px}
.direction-pair .chapter-heading{min-height:65px}
.direction-pair .chapter-heading h2{font-size:clamp(30px,3.15vw,49px)}
.capture-slot{position:relative;min-height:340px;padding:35px;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 65% 15%,var(--soft-glow),transparent 65%),var(--card-gradient)}
.capture-slot:before{position:absolute;inset:0;content:"";pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:55px 55px;opacity:.13;mask-image:linear-gradient(180deg,#000,transparent 90%)}
.slot-caption,.slot-icon{position:relative;z-index:1}
.slot-caption .eyebrow{font-size:12px;color:var(--paper);letter-spacing:.1em}
.slot-caption p{font-size:14px;color:var(--muted);margin-top:8px}
.slot-label{position:absolute;top:18px;left:20px;color:var(--muted);font-size:11px;border:1px solid var(--line);border-radius:3px;padding:5px 8px}
.slot-icon{height:90px;width:90px;color:var(--accent);opacity:.8}
.branding-media>img{height:340px;aspect-ratio:auto;object-fit:contain}
.production-chapter,.gameplay-chapter{background:var(--section-gradient);border-block:1px solid var(--line)}
.production-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-bottom:45px}
.production-grid .project-media>img{aspect-ratio:16/9;object-fit:contain}
.video-frame{position:relative;aspect-ratio:16/9;box-shadow:0 15px 45px #00000010}
.video-frame video{width:100%;height:100%;display:block;object-fit:contain;background:var(--media-surface)}
.video-toggle{position:absolute;right:20px;bottom:20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:96px;min-height:44px;padding:10px 16px;border:1px solid #b4d8f66b;border-radius:4px;background:var(--media-overlay);color:#fff;font-size:13px;backdrop-filter:blur(10px)}
.video-toggle:hover{background:var(--media-hover);border-color:#96d7ff}
.play-symbol{font-size:13px;width:15px;text-align:center}
.video-status{position:absolute;left:20px;bottom:20px;max-width:calc(100% - 155px);font-size:12px;color:#f2f7fb;background:var(--media-overlay);border-radius:3px;padding:8px 10px;pointer-events:none}
.video-status:empty{display:none}
.motion-media+.motion-media{margin-top:60px}
.capture-note{font-size:12px;color:var(--muted);margin-top:22px}
.editor-media>img{aspect-ratio:8/5}
.shunt-page .back-to-games{margin-top:30px;margin-left:40px;vertical-align:baseline}
@media(max-width:1000px){.journey-nav{justify-content:flex-start;gap:26px}.chapter-heading h2{font-size:clamp(36px,5.3vw,60px)}.chapter-heading>p{max-width:250px}.direction-pair .chapter-heading{min-height:65px}.shunt-intro{gap:30px}.direction-pair{gap:24px}.production-grid{gap:20px}}
@media(max-width:700px){.shunt-hero{min-height:0;max-height:none}.shunt-hero-image{object-fit:cover}.shunt-art-credit{font-size:11px;bottom:62px}.shunt-intro{grid-template-columns:1fr;gap:30px}.shunt-intro h1{font-size:100px}.shunt-intro .eyebrow{font-size:11px}.shunt-intro-copy>p:first-child{font-size:26px}.shunt-intro-copy .text-link{margin-top:22px}.journey-nav{padding-top:5px;padding-bottom:5px;gap:24px}.journey-nav a{font-size:12px;min-height:44px}.journey-chapter{scroll-margin-top:78px}.journey-chapter.section-pad{padding-top:60px;padding-bottom:60px}.chapter-heading{display:block;margin-bottom:28px}.chapter-heading>p{max-width:450px;margin-top:18px;font-size:15px}.chapter-heading .eyebrow{margin-bottom:12px}.chapter-heading h2{font-size:clamp(36px,8.5vw,56px)}.direction-pair{grid-template-columns:1fr;gap:45px;padding-bottom:60px}.direction-pair .chapter-heading{min-height:0}.direction-pair .chapter-heading h2{font-size:38px}.capture-slot{min-height:300px;padding:30px 20px}.production-grid{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.production-grid .project-media>img{aspect-ratio:16/9}.project-media figcaption{display:block;font-size:13px;margin-top:12px}.project-media figcaption>span{display:block}.project-media figcaption>span:last-child{text-align:left;margin-top:4px;font-size:11px}.video-toggle{right:10px;bottom:10px;min-width:82px;padding:8px 12px;font-size:12px}.video-status{left:10px;bottom:60px;max-width:calc(100% - 20px);font-size:11px}.motion-media+.motion-media{margin-top:35px}.branding-media>img{height:300px}.slot-label{font-size:10px;top:14px;left:14px}.shunt-page .back-to-games{display:table;margin-left:0}}
@media(max-width:360px){.shunt-intro h1{font-size:84px}.chapter-heading h2,.direction-pair .chapter-heading h2{font-size:34px}.shunt-art-credit{gap:10px;font-size:10px}.slot-caption .eyebrow{font-size:11px}.slot-caption p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.journey-nav a{transition:none}}
