/* One continuous dark canvas, from introduction to contact. */
.home{background:#0d1118;color:#f3f4f6;--color-text:#f3f4f6;--color-text-sec:#bcc6d5;--color-accent:#f3f4f6;--color-border:#ffffff25}
.home .nav{position:fixed;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;color:#f3f4f6;padding-bottom:45px;pointer-events:none}.home .nav a{pointer-events:auto;color:inherit}.home .nav .logo-dot{color:#99b2d8}
.hero-sequence{position:relative;background:#0d1118}.hero{position:relative;isolation:isolate}.hero__art{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;opacity:.8}.hero__art canvas,.membrane-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hero__art.is-live .membrane-fallback{opacity:0}.hero::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0d1118b8,transparent 80%)}
.story-scene{position:relative;min-height:100svh;display:flex;align-items:center;scroll-margin-top:80px;padding-block:125px 100px}.scene-inner{width:100%}.scene-label{font-size:13px;color:#b7c6dc;margin-bottom:30px}.story-scene h1,.story-scene h2{font-size:clamp(60px,7.4vw,112px);font-weight:500;line-height:1.03;letter-spacing:-.055em;max-width:1050px}.story-scene h1{font-size:clamp(70px,8vw,120px);line-height:.98}.scene-description{font-size:16px;line-height:1.8;max-width:490px;color:#c3ccda;margin-top:30px}.scene-bottom{display:flex;align-items:end;gap:70px;margin-top:34px}.scene-bottom p{font-size:15px;line-height:1.8;color:#c3ccda}.story-link{display:inline-flex;align-items:center;gap:30px;font-size:14px;padding:12px 0;border-bottom:1px solid #8898ae;color:#f3f4f6;margin-top:22px}.story-link span{font-size:24px}.intro-location{font-size:12px;color:#9dacc1;margin-top:44px}.experience-line{display:flex;flex-wrap:wrap;gap:30px;margin-top:35px;color:#b8c6d9;font-size:14px}.case-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8%}.story-scene--case h2{font-size:clamp(50px,5.8vw,88px);max-width:720px}.story-scene--case h2 span{font-size:.68em}.case-role{font-size:12px;color:#b2c1d7;margin-top:22px}.case-visual{position:relative;display:block;transform:rotate(-4deg);border:1px solid #ffffff28;box-shadow:0 30px 80px #0007;max-width:480px}.case-visual img{width:100%;height:auto;opacity:.9}.case-visual>span{position:absolute;right:22px;bottom:22px;font-size:12px;color:white;background:#0d1118b0;padding:10px 14px}.case-visual:hover{opacity:1;transform:rotate(-2deg)}.contact-email{display:inline-block;font-size:clamp(22px,2.4vw,36px);letter-spacing:-.03em;margin-top:30px;padding-bottom:8px;border-bottom:1px solid #99b0d0}.contact-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:40px;font-size:13px;color:#c3ccda}
.story-controls{display:none}.journey-indicator{display:none}
/* Enhancement only: without JS or with reduced motion, all chapters stack normally. */
.scroll-enabled .hero-sequence{height:1450svh}.scroll-enabled .hero{position:sticky;top:0;height:100svh;overflow:hidden}.scroll-enabled .hero__art,.scroll-enabled .hero::after{position:absolute}.scroll-enabled .story-scene{position:absolute;inset:0;min-height:0;height:100%;padding-block:110px 100px;opacity:0;pointer-events:none;will-change:opacity,transform}.scroll-enabled .story-scene.is-active{pointer-events:auto}.scroll-enabled .story-scene:first-of-type{opacity:1}.scroll-enabled .story-controls{position:absolute;z-index:5;bottom:24px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;color:#aebfd6;font-size:11px;gap:20px}.story-controls>span{min-width:150px}.chapter-nav{display:flex;align-items:center;gap:2px}.chapter-dot{display:grid;place-items:center;width:32px;height:32px}.chapter-dot span{width:5px;height:5px;border-radius:50%;background:#64748b;transition:transform .3s,background .3s}.chapter-dot[aria-current="step"] span{background:#e2edff;transform:scale(1.7)}.story-controls button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer;padding:12px 0;min-width:150px;text-align:right}.story-controls button[hidden]{display:none}.scroll-enabled .journey-indicator{display:block;position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff0b}.journey-indicator span{display:block;height:100%;background:#a9c1e8;transform:scaleX(var(--journey,0));transform-origin:left}
@media(max-width:900px){.case-layout{gap:4%;grid-template-columns:1.2fr .8fr}.story-scene--case h2{font-size:55px}.story-scene h2{font-size:clamp(44px,7vw,70px)}.scene-description{max-width:440px}.hero::after{background:linear-gradient(90deg,#0d1118c9,#0d111833)}}
@media(max-width:600px){.scroll-enabled .hero-sequence{height:1180svh}.story-scene{padding-block:115px 85px}.scroll-enabled .story-scene{padding-block:105px 85px;align-items:flex-start}.story-scene h1{font-size:clamp(48px,13vw,76px)}.story-scene h2{font-size:clamp(40px,10.8vw,64px);letter-spacing:-.045em}.scene-label{font-size:11px;margin-bottom:24px}.scene-description{font-size:14px;line-height:1.7;margin-top:24px;max-width:330px}.scene-bottom{display:block;margin-top:24px}.scene-bottom p{font-size:14px}.story-link{font-size:13px;margin-top:18px}.intro-location{margin-top:28px;font-size:10px}.experience-line{font-size:11px;gap:16px;margin-top:24px}.case-layout{display:block}.story-scene--case h2{font-size:45px;line-height:1.05}.case-role{font-size:10px;margin-top:16px}.story-scene--case .scene-description{font-size:13px;margin-top:16px}.case-visual{max-width:230px;margin:26px 4px 0 auto;transform:rotate(-3deg)}.case-visual img{max-height:155px;object-fit:cover}.case-visual>span{font-size:10px;padding:7px 9px;right:12px;bottom:12px}.story-controls>span{display:none}.scroll-enabled .story-controls{bottom:15px;gap:8px}.story-controls button{min-width:100px;font-size:10px}.chapter-dot{width:27px}.contact-links{gap:22px;font-size:12px;max-width:300px}.hero::after{background:linear-gradient(180deg,#0d1118ad,#0d111873 60%,#0d111833)}.contact-email{font-size:26px}}
@media(max-height:730px){.scroll-enabled .story-scene{padding-top:95px;padding-bottom:75px}.story-scene h1{font-size:clamp(46px,7.5vw,86px)}.story-scene h2{font-size:clamp(36px,6vw,64px)}.scene-label{margin-bottom:18px}.scene-description{margin-top:18px}.intro-location{margin-top:20px}.case-visual{max-width:330px}.story-scene--case .story-link{margin-top:10px}.story-scene--case .case-visual{max-width:170px;margin-top:18px}.story-scene--case .case-visual img{max-height:110px}}
@media(prefers-reduced-motion:reduce){.hero__art{opacity:.35}.case-visual{transform:none}.story-scene{min-height:85svh}.chapter-dot span{transition:none}}
/* Lime, violet and white accents support the luminous membrane. */
.home{background:#0c0c12}.home .nav .logo-dot{color:#c1ff43}.home .nav a:hover{color:#d5ff84;opacity:1}.scene-label{color:#d0c4ed}.story-link{border-bottom-color:#a4c879}.story-link span{color:#c1ff43}.story-link:hover,.contact-email:hover{color:#d5ff84;opacity:1}.contact-email{border-bottom-color:#a9c780}.chapter-dot[aria-current="step"] span{background:#c1ff43;box-shadow:0 0 12px #bdff4350}.journey-indicator span{background:linear-gradient(90deg,#c1ff43,#e7fff1 48%,#a878ff)}.chapter-dot:focus-visible,.home a:focus-visible,.home button:focus-visible{outline-color:#c1ff43}.experience-line{color:#d0c4ed}.case-visual{border-color:#a588d13d}.hero__art{opacity:.95}
