/* Five full-viewport canvases, controlled by native page scrolling. */
html { scroll-padding-top:0; }
body { overflow-x:clip; }
.site-header { position:fixed; top:0; left:50%; transform:translateX(-50%); height:80px; background:transparent; border-bottom-color:#ffffff20; }
.fullscreen-journey { position:relative; height:500svh; }
.service-stop { position:absolute; top:calc(var(--stop) * 100svh); width:1px; height:1px; }
.journey-screen { height:100svh; position:sticky; top:0; overflow:hidden; isolation:isolate; background:var(--bg); }
.full-service { position:absolute; inset:0; overflow:hidden; background:radial-gradient(ellipse at 50% 40%,var(--surface-2),var(--bg) 80%); will-change:transform,opacity; }
.full-service:not(:first-child) { opacity:0; pointer-events:none; }
.full-print-production { background:radial-gradient(ellipse at 50% 40%,#9d805539,var(--bg) 80%); }
.full-event-management { background:radial-gradient(ellipse at 50% 40%,#73264299,var(--bg) 80%); }
.full-website-design { background:radial-gradient(ellipse at 50% 40%,#6b586644,var(--bg) 80%); }
.full-social-media { background:radial-gradient(ellipse at 50% 40%,#a84b6755,var(--bg) 80%); }
.full-art-link { position:absolute; inset:0; display:block; }
.full-art-plane { position:absolute; left:50%; top:44%; width:560px; height:480px; transform:translate(-50%,-50%) scale(var(--art-scale,1)); }
.full-art-plane .service-scene { animation:none; }
.full-art-plane .ha-coordinate { display:none; }
.full-caption { position:absolute; left:5%; right:5%; bottom:100px; display:flex; align-items:end; justify-content:space-between; gap:30px; pointer-events:none; }
.full-caption:before { content:''; position:absolute; inset:-55px -10vw -100px; z-index:-1; background:linear-gradient(transparent,var(--bg) 65%); }
.full-caption .eyebrow { margin-bottom:10px; }
.full-caption h1,.full-caption h2 { font:500 clamp(32px,4vw,64px)/1.05 Manrope,Arial,sans-serif; letter-spacing:-.05em; margin:0 0 12px; }
.full-caption p:last-child { font-size:12px; color:var(--muted); margin:0; }
.full-caption a { pointer-events:auto; background:var(--bg); }
.full-service-nav { position:absolute; right:22px; top:50%; transform:translateY(-50%); z-index:12; display:flex; flex-direction:column; gap:12px; }
.full-service-nav a { padding:10px; font:10px 'DM Mono',monospace; position:relative; color:var(--muted); border-right:2px solid var(--line); }
.full-service-nav a[aria-current=true] { color:var(--accent); border-color:var(--accent); }
.full-service-nav b { position:absolute; right:45px; top:5px; padding:7px 10px; white-space:nowrap; font-size:10px; background:var(--bg); opacity:0; pointer-events:none; }
.full-service-nav a:hover b,.full-service-nav a:focus-visible b { opacity:1; }
.scroll-instruction { position:absolute; z-index:12; bottom:62px; left:5%; font:9px 'DM Mono',monospace; letter-spacing:.1em; color:var(--accent); }
.journey-controls { position:fixed; inset:auto 0 0; z-index:35; display:flex; justify-content:space-between; align-items:center; padding:10px 25px; gap:12px; background:var(--bg); border-top:1px solid var(--line); font:9px 'DM Mono',monospace; }
.chapter-body { min-height:100svh; padding:120px 0 90px; background:var(--bg); display:flex; align-items:center; }
.about-journey h2 { font-size:clamp(45px,6vw,88px); }
.about-journey h2 em { color:var(--accent); }
.about-journey>p:not(.eyebrow) { max-width:640px; color:var(--muted); }
.journey-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin:40px 0; }
.journey-principles article { border-top:1px solid var(--line); padding-top:20px; }
.journey-principles span { color:var(--accent); font:11px 'DM Mono',monospace; }
.journey-principles h3 { font-size:25px; margin:20px 0 12px; }
.journey-principles p { color:var(--muted); font-size:13px; }
.chapter-contact .contact-section { padding-block:0; }
@media(max-width:760px) {
 .site-header { height:72px; }
 .primary-nav { top:71px; background:var(--bg); }
 .full-art-plane { top:40%; height:420px; }
 .full-caption { left:20px; right:45px; bottom:100px; display:block; }
 .full-caption h1,.full-caption h2 { font-size:35px; }
 .full-caption .eyebrow { font-size:8px; }
 .full-caption p:last-child { font-size:11px; max-width:270px; }
 .full-caption .button { margin-top:16px; padding:10px 14px; font-size:10px; }
 .full-service-nav { right:3px; gap:5px; }
 .full-service-nav a { padding:9px 7px; font-size:9px; }
 .scroll-instruction { left:20px; font-size:8px; }
 .journey-controls { padding:8px 14px; font-size:8px; }
 .journey-principles { grid-template-columns:1fr; gap:15px; }
 .chapter-body { padding-block:100px 80px; }
}
@media(max-width:400px) { .full-art-plane { height:364px; } }
@media(max-height:550px) and (min-width:761px) {
 .full-caption { bottom:88px; }
 .full-caption h1,.full-caption h2 { font-size:32px; }
 .full-caption p:last-child { display:none; }
}

/* Restore regular homepage sections after the full-screen service sequence. */
main>section{scroll-margin-top:95px}
.past-hero .site-header{background:var(--bg)}
.site-footer{padding-bottom:85px}
