:root{--red:#ed232a;--ink:#111113;--paper:#fff;--pad:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:7px}em{font-style:normal;color:var(--red)}h1,h2,h3,p{margin:0}header{position:fixed;inset:0 0 auto;z-index:30;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);color:white;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:21px;font-weight:850;letter-spacing:-.06em}.brand span{display:inline-block;font-size:12px;letter-spacing:.13em;margin-left:20px;font-weight:500}#motion{color:inherit;border:1px solid #777;border-radius:30px;padding:9px 14px;background:transparent;font-size:12px}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:white;padding:16px}.skip:focus{top:20px}.progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:40}.progress i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}.chapter{position:relative}.stage{position:relative;min-height:740px;height:100svh;overflow:hidden;padding:120px var(--pad) 60px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.6}.opening .eyebrow{position:absolute;top:142px;left:var(--pad)}.why{font-size:clamp(120px,23vw,380px);font-weight:900;line-height:1.15;letter-spacing:-.095em;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);white-space:nowrap}.why span{color:var(--red);display:inline-block}.noise{position:absolute;inset:0}.noise span{position:absolute;font-size:clamp(14px,1.5vw,24px);letter-spacing:.06em;color:#68686b}.noise span:nth-child(1){top:30%;left:12%}.noise span:nth-child(2){top:42%;right:7%}.noise span:nth-child(3){bottom:23%;left:28%}.answer{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:var(--pad);font-size:clamp(42px,7.7vw,124px);font-weight:800;letter-spacing:-.065em;line-height:1.45}.stage-bottom{position:absolute;bottom:45px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:14px}.stage-bottom a{font-size:12px;letter-spacing:.1em}.stage-bottom a span{font-size:20px;padding-left:20px}.origin{background:var(--ink);color:white}.origin .stage{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.origin-copy{position:relative;z-index:2}.origin h2{font-size:clamp(36px,4.6vw,76px);line-height:1.5;letter-spacing:-.055em;margin:30px 0}.body-copy{font-size:16px;line-height:2}.origin-result{font-size:16px;margin-top:26px}.portrait{align-self:stretch;position:relative;min-height:500px;background:white;overflow:hidden;color:var(--ink)}.portrait img{height:96%;width:100%;object-fit:contain;position:absolute;inset:0;mix-blend-mode:normal}.portrait-word{font-size:clamp(110px,12vw,200px);font-weight:900;line-height:1;letter-spacing:-.08em;color:var(--red);position:absolute;left:8%;top:16%}.portrait p{position:absolute;bottom:0;left:0;right:0;background:white;padding:18px 24px;font-size:18px;font-weight:700}.portrait p span{display:block;font-size:12px;font-weight:400;margin-top:5px;letter-spacing:.04em}.origin-edge{position:absolute;bottom:30px;left:var(--pad);color:#98989b;font-size:11px;letter-spacing:.15em}.identity{background:white}.identity .stage>.eyebrow{text-align:center}.logo-scene{position:absolute;top:24%;left:10%;width:80%;height:43%;display:flex;align-items:center;justify-content:center}.mark{width:min(51vw,640px);aspect-ratio:530/330;position:relative}.slice{position:absolute;inset:0;overflow:hidden}.slice img{position:absolute;width:252.453%;height:auto;max-width:none;left:-18.868%;top:-22.727%}.slice-p{clip-path:inset(0 59% 0 0)}.slice-i{clip-path:inset(0 39.1% 0 41%)}.slice-s{clip-path:inset(0 0 0 61.5%)}.whole-logo{position:absolute;width:min(85%,1000px);height:auto}.definitions{position:absolute;left:var(--pad);right:var(--pad);bottom:14%;text-align:center;height:100px}.definition{position:absolute;inset:0}.word{font-size:clamp(32px,4.3vw,64px);font-weight:750;letter-spacing:-.06em;line-height:1.1}.definition p{margin-top:18px;font-size:17px;letter-spacing:.025em}.final-word{font-size:clamp(22px,3vw,42px)}.logo-guide{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;font-size:12px}.logo-guide span{padding:7px;border-bottom:2px solid #ccc}.logo-guide span.active{border-color:var(--red);color:var(--red)}.logo-guide i{height:1px;width:60px;background:#ccc}.beliefs{background:var(--ink);color:white}.beliefs .stage{isolation:isolate}.belief-counter{position:absolute;right:var(--pad);top:122px;color:#a9a9ad;font-size:12px;letter-spacing:.1em}.belief{position:absolute;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-50%)}.belief h2{font-size:clamp(48px,7.8vw,122px);line-height:1.35;letter-spacing:-.065em}.belief p{font-size:16px;margin-top:32px;line-height:1.8;color:#c4c4c8}.belief-line{position:absolute;bottom:50px;left:var(--pad);right:var(--pad);height:1px;background:#444}.belief-line i{display:block;transform-origin:left;height:2px;background:var(--red)}.purpose{background:var(--red);color:white}.purpose .stage{min-height:860px}.purpose .eyebrow{position:relative;z-index:1}.purpose-copy{position:relative;z-index:1;margin-top:45px}.purpose h2{font-size:clamp(60px,7vw,108px);line-height:1.24;letter-spacing:-.06em}.purpose h2 em{color:var(--ink)}.purpose-copy p{font-size:17px;line-height:1.9;margin-top:24px}.purpose-foot{position:absolute;bottom:36px;right:var(--pad);font-size:14px}.reach{position:absolute;border:1px solid #ffffff66;border-radius:50%;width:70vw;height:70vw;left:56%;top:44%;transform:translate(-50%,-50%);pointer-events:none}.reach:after{content:"";position:absolute;inset:18%;border:1px solid #ffffff55;border-radius:50%}.next{padding:110px var(--pad) 0;background:var(--ink);color:white;min-height:95svh}.next h2{font-size:clamp(27px,3vw,48px);line-height:1.7;letter-spacing:-.04em;margin-top:40px}.next-link{font-size:clamp(65px,13vw,205px);letter-spacing:-.075em;font-weight:800;display:flex;align-items:baseline;gap:.16em;margin:45px 0 15px;border-bottom:1px solid #555;padding-bottom:25px}.next-link>span{margin-left:auto;font-weight:400;transition:transform .25s}.next-link:hover>span{transform:translate(8px,-8px)}.next-caption{font-size:16px;color:#bbb}footer{padding:70px 0 30px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em}footer>span{font-size:16px;font-weight:700}#process{padding:40px 0;max-width:800px}#process h3{font-size:28px;margin:22px 0;line-height:1.6}#process p{line-height:1.9}#process .prototype-note{font-size:14px;color:#aaa;margin-top:25px}#close-process{background:transparent;color:white;border:1px solid #777;padding:12px 28px;margin-top:20px}
/* Scroll owns the timeline. No scroll interception, timers, or animation libraries. */
.js:not(.reduced) .opening{height:270svh}.js:not(.reduced) .origin{height:190svh}.js:not(.reduced) .identity{height:480svh}.js:not(.reduced) .beliefs{height:490svh}.js:not(.reduced) .purpose{height:210svh}.js:not(.reduced) .stage{position:sticky;top:0;min-height:0;height:100svh}.js:not(.reduced) .answer,.js:not(.reduced) .noise span,.js:not(.reduced) .whole-logo,.js:not(.reduced) .definition,.js:not(.reduced) .belief{opacity:0}
html:not(.js) .opening .stage,.reduced .opening .stage{min-height:960px}html:not(.js) .why,.reduced .why{top:35%}html:not(.js) .noise,.reduced .noise{display:none}html:not(.js) .answer,.reduced .answer{top:45%;font-size:clamp(36px,6vw,80px)}html:not(.js) .identity .stage,.reduced .identity .stage{height:auto;min-height:900px}html:not(.js) .logo-scene,.reduced .logo-scene{position:relative;left:0;top:0;width:100%;height:240px;margin:35px 0}html:not(.js) .mark,.reduced .mark{display:none}html:not(.js) .definitions,.reduced .definitions{position:static;height:auto}html:not(.js) .definition,.reduced .definition{position:static;margin:40px 0}html:not(.js) .logo-guide,.reduced .logo-guide{display:none}html:not(.js) .beliefs .stage,.reduced .beliefs .stage{height:auto}html:not(.js) .belief,.reduced .belief{position:relative;inset:auto;transform:none;padding:80px 0}html:not(.js) .belief-counter,.reduced .belief-counter{display:none}.reduced{scroll-behavior:auto}
@media(min-width:1600px){.origin .stage{padding-left:10vw;padding-right:10vw}.purpose-copy{display:grid;grid-template-columns:1.4fr 1fr;align-items:end}.purpose h2{grid-row:span 2}.purpose-copy p{max-width:450px}}
@media(max-width:700px){header{height:68px}.brand{font-size:18px}.brand span{margin-left:12px;font-size:10px}#motion{font-size:11px;padding:8px 10px}.stage{padding:98px var(--pad) 36px;min-height:750px}.opening .eyebrow{top:118px;font-size:10px;letter-spacing:.09em}.why{font-size:clamp(112px,29vw,200px);top:46%}.noise span:nth-child(1){top:31%;left:8%}.noise span:nth-child(2){top:61%;right:8%}.noise span:nth-child(3){bottom:24%;left:12%}.answer{font-size:clamp(32px,8.4vw,60px);line-height:1.7}.stage-bottom{bottom:28px;align-items:flex-end;gap:10px}.stage-bottom>span{font-size:12px}.stage-bottom a{font-size:9px;letter-spacing:.06em}.stage-bottom a span{padding-left:4px}.origin .stage{display:block;padding-top:95px;min-height:0;height:100svh}.origin-copy{width:100%;height:51%}.origin h2{font-size:clamp(29px,8vw,42px);line-height:1.38;margin:15px 0}.origin h2 br:nth-of-type(2){display:none}.origin .eyebrow{font-size:10px}.body-copy{font-size:14px;line-height:1.85}.origin-result{font-size:13px;margin-top:10px}.portrait{position:absolute;bottom:30px;right:var(--pad);height:42%;width:57%;min-height:0}.portrait-word{font-size:80px;top:25%;left:1%}.portrait img{height:100%}.portrait p{font-size:13px;padding:7px 10px}.portrait p span{font-size:9px;margin-top:2px}.origin-edge{font-size:9px;left:var(--pad);bottom:60px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.09em}.logo-scene{top:29%;height:30%;left:5%;width:90%}.mark{width:67vw}.whole-logo{width:100%}.identity .eyebrow{font-size:10px}.definitions{bottom:19%;height:90px}.word{font-size:37px}.final-word{font-size:22px}.definition p{font-size:14px;margin-top:18px}.logo-guide{bottom:48px}.belief h2{font-size:clamp(38px,10.3vw,65px);line-height:1.45}.belief p{font-size:14px;margin-top:25px}.belief-counter{top:101px}.beliefs .eyebrow{font-size:10px}.purpose .stage{min-height:760px}.js:not(.reduced) .purpose .stage{min-height:0}.purpose-copy{margin-top:35px}.purpose h2{font-size:clamp(48px,13vw,72px)}.purpose-copy p{font-size:14px;line-height:1.9;margin-top:23px}.purpose-foot{font-size:11px;bottom:28px;left:var(--pad);right:auto}.reach{width:150vw;height:150vw;left:85%;top:44%}.next{padding-top:88px}.next h2{font-size:24px}.next-link{font-size:clamp(49px,13.8vw,90px);margin-top:50px;padding-bottom:22px;gap:.14em}.next-caption{font-size:14px}footer{margin-top:55px;font-size:9px}.js:not(.reduced) .opening{height:240svh}.js:not(.reduced) .origin{height:175svh}.js:not(.reduced) .identity{height:440svh}.js:not(.reduced) .beliefs{height:450svh}.js:not(.reduced) .purpose{height:180svh}}
@media(max-height:650px) and (min-width:701px){.stage{padding-top:92px}.origin h2{font-size:38px;margin:14px 0}.body-copy{font-size:14px}.origin-result{margin-top:14px}.portrait{min-height:0}.belief h2{font-size:58px}.purpose-copy{margin-top:20px}.purpose h2{font-size:60px}.purpose-copy p{font-size:14px;margin-top:12px}.belief-counter{top:95px}}
@media(max-width:700px) and (max-height:700px){.origin h2{font-size:28px;margin:10px 0}.body-copy{font-size:13px}.origin-result{font-size:12px}.purpose h2{font-size:45px}.purpose-copy{margin-top:20px}.purpose-copy p{margin-top:16px;font-size:13px}}
/* Keep the original portrait colors and reserve its caption area. */
.portrait-word{display:none}
@media(max-width:700px){.portrait img{height:calc(100% - 48px)}}
@media(max-width:700px) and (max-height:700px){.portrait{height:34%}.origin-copy{transform:none!important}}
html:not(.js) header{color:var(--ink);background:rgba(255,255,255,.94)}
