:root{--ink:#17272b;--paper:#f3eee5;--muted:#b7c3c0;--red:#ed8365;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body.gateway{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:#b94430;color:#fff}.skip-link{position:fixed;left:20px;top:-90px;z-index:20;padding:12px 20px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:12px}.gate-header{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 5%;border-bottom:1px solid #ffffff21}.gate-brand{display:flex;align-items:center;gap:20px}.gate-brand-name{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.12em}.gate-brand-reading{font-size:11px;letter-spacing:.14em;color:var(--muted)}.gate-nav{display:flex;gap:28px;align-items:center;font-size:14px}.gate-nav a{display:inline-flex;align-items:center;min-height:44px;gap:18px}.gate-nav a:hover{color:var(--red)}.gate-nav .gate-parent{font-size:12px;color:var(--muted);border-left:1px solid #ffffff30;padding-left:28px}
.gate-hero{position:relative;isolation:isolate;overflow:hidden;padding:48px 5% 30px;background:radial-gradient(ellipse at 76% 45%,#30433f66,transparent 65%)}.gate-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:radial-gradient(#b7c3c05e .6px,transparent .6px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 25%,#000)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:1%;max-width:1600px;margin:auto;min-height:590px}.gate-copy{position:relative;z-index:2;padding:28px 0 44px}.gate-eyebrow{margin:0 0 26px;font-size:14px;font-weight:400;letter-spacing:.08em}.tiny-mark{display:inline-block;width:8px;height:8px;margin-right:14px;background:var(--red);border-radius:50%}h1{font-family:var(--serif);font-size:clamp(44px,5.8vw,88px);font-weight:500;line-height:1.4;letter-spacing:-.045em;margin:0 0 28px}h1>span{display:block;white-space:nowrap}.story-word{color:var(--red);position:relative}.story-word::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--red)}.gate-needs{font-family:var(--serif);font-size:clamp(16px,1.35vw,20px);line-height:2}.gate-needs p{margin:0}.gate-description{font-size:15px;line-height:2;color:#d1d9d5;margin:20px 0 30px;max-width:34em}.gate-fast-routes{display:flex;gap:25px;width:94%;max-width:540px}.gate-fast-routes>a{display:flex;flex-direction:column;flex:1;border-top:1px solid #ffffff40;padding:12px 0 10px;font-size:12px;color:#ccd4ce}.gate-fast-routes>a>span{display:flex;justify-content:space-between;align-items:center;margin-top:2px;font-size:18px;font-weight:500;color:var(--paper)}.gate-fast-routes b{font-weight:400;font-size:25px;transition:transform .25s}.gate-fast-routes>a:hover b{transform:translate(4px,-4px)}.gate-fast-routes>a:hover{border-color:var(--red)}
.memory-field{position:relative;width:100%;height:620px;margin:0;perspective:1000px;--pointer-x:0px;--pointer-y:0px;--gather:0}.field-coordinates{position:absolute;top:0;left:10%;right:4%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#b9c5bf}.memory-orbit{position:absolute;inset:85px 10% 70px;border:1px solid #afc1b425;border-radius:50%;transform:rotate(-28deg)}.memory-orbit::before{content:"";position:absolute;inset:-40px;border:1px solid #afc1b416;border-radius:50%;transform:rotate(60deg)}.memory-thread{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:1.5;overflow:visible}.thread-guide{stroke:#d88a6940}.thread-live{stroke:var(--red);stroke-width:2}.memory-piece{position:absolute;width:clamp(140px,13.7vw,208px);padding:17px 20px 21px;background:var(--paper);color:var(--ink);clip-path:polygon(0 0,100% 0,100% 95%,92% 99%,84% 97%,76% 100%,67% 96%,57% 99%,48% 97%,38% 100%,28% 97%,17% 100%,8% 97%,0 99%);display:flex;flex-direction:column;transform:translate3d(calc(var(--pointer-x) * var(--depth,1)),calc(var(--pointer-y) * var(--depth,1) + var(--gather) * var(--shift,0px)),0) rotate(calc(var(--angle,0deg) * (1 - var(--gather) * .65)));transition:filter .3s;animation:paper-breathe 14s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}.piece-index{font-size:9px;letter-spacing:.1em;color:#52625b}.piece-word{font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.7vw,25px);margin:13px 0 9px;white-space:nowrap}.piece-rule{width:25px;height:1px;background:#b94e35;margin-bottom:9px}.piece-detail{font-size:9px;color:#58625c;white-space:nowrap}.piece-1{left:4%;top:12%;--angle:-13deg;--depth:.7;--shift:16px;--delay:-4s}.piece-2{right:2%;top:15%;--angle:11deg;--depth:1.3;--shift:10px;--delay:-9s}.piece-3{left:12%;top:43%;--angle:6deg;--depth:1.15;--shift:-8px;--delay:-3s}.piece-4{right:0;top:52%;--angle:-10deg;--depth:.65;--shift:-16px;--delay:-7s;background:#e8d8bd}.piece-5{left:2%;top:76%;--angle:-8deg;--depth:.85;--shift:-24px;--delay:-12s}.piece-6{right:10%;top:81%;--angle:9deg;--depth:1.1;--shift:-18px;--delay:-2s}.field-seal{position:absolute;top:33%;right:32%;color:var(--red);font-family:var(--serif);font-size:18px;line-height:1.6;transform:rotate(8deg);border:1px solid #ed836580;border-radius:50%;height:91px;width:91px;display:grid;place-content:center;letter-spacing:.08em}.memory-field figcaption{position:absolute;left:10%;bottom:-32px;font-size:11px;letter-spacing:.07em;color:#b5c3bd}.hero-bottom{position:relative;z-index:2;display:flex;align-items:center;gap:24px;max-width:1600px;margin:45px auto 0;padding:18px 0 0;border-top:1px solid #ffffff25;font-size:11px;letter-spacing:.08em}.scroll-cue{display:flex;align-items:center;gap:15px;min-height:44px}.scroll-line{width:28px;height:1px;background:var(--red);transform-origin:left;animation:line-pulse 3s ease-in-out infinite}.motion-toggle{color:var(--muted);border:0;background:transparent;cursor:pointer;min-height:44px;padding:8px;font-size:11px;margin-left:auto}.motion-toggle[hidden]{display:none}.hero-imprint{margin-left:auto;color:var(--muted)}.motion-toggle:not([hidden])+.hero-imprint{margin-left:0}.hero-watermark{position:absolute;left:0;bottom:-.3em;font-size:clamp(150px,22vw,390px);line-height:1;font-family:Georgia,serif;letter-spacing:-.05em;opacity:.022;z-index:-1;white-space:nowrap}
.gate-entrances{background:var(--paper);color:var(--ink);padding:70px 5% 80px}.entrance-intro{max-width:1600px;margin:0 auto 42px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:end}.entrance-intro .gate-eyebrow{grid-column:1/-1;color:#546159;margin-bottom:12px}.entrance-intro h2{font-family:var(--serif);font-size:clamp(28px,3.2vw,45px);line-height:1.6;font-weight:500;letter-spacing:-.025em;margin:0}.entrance-intro>p:last-child{margin:0 0 5px;font-size:15px;line-height:2;justify-self:end}.mobile-break{display:none}.entrance-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:1600px;margin:auto;background:#b9b6a9}.edition-door{position:relative;overflow:hidden;display:block;padding:30px 7% 32px;isolation:isolate}.personal-door{background:#e8dfcf}.corporate-door{background:#d5ddd7}.door-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.1em}.door-arrow{font-family:var(--sans);font-size:32px;line-height:1;border:1px solid #17272b40;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}.edition-door:hover .door-arrow{background:var(--ink);color:var(--paper);transform:rotate(8deg)}.edition-door h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,42px);line-height:1.6;letter-spacing:-.025em;margin:22px 0 15px}.door-description{font-size:14px;line-height:2;margin:0;max-width:34em}.door-drawing{height:178px;position:relative;margin:25px 0 25px;display:flex;align-items:center;justify-content:center}.draw-page,.draw-record{position:relative;z-index:1;background:#f7f3ea;padding:18px 22px;width:240px;height:165px;transform:rotate(-6deg);box-shadow:-4px 3px 0 #b8ae9d,0 12px 25px #17272b13;transition:transform .5s}.draw-page>span,.draw-record>span:first-child{display:block;font-size:8px;letter-spacing:.12em;color:#707a70}.draw-title{font-family:var(--serif);font-size:18px;line-height:1.8;margin:10px 0 8px}.draw-lines{height:18px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 5px,#909f8c50 5px,#909f8c50 6px)}.draw-page::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:#c9bead}.drawing-thread{position:absolute;inset:65px 4% 25px;border:1px solid #b94e35;border-radius:50%;transform:rotate(-16deg)}.draw-record{transform:rotate(5deg);height:167px;width:260px;box-shadow:5px 4px 0 #b8c3bc,0 12px 25px #17272b13}.record-row{display:flex;align-items:center;gap:16px;padding:10px 0 6px;border-bottom:1px solid #7b938944;font-size:11px}.record-row i{height:1px;background:#17272b50;flex:1}.record-foot{display:block;font-size:10px;margin-top:8px;letter-spacing:.08em}.corporate-drawing .drawing-thread{transform:rotate(12deg);border-color:#5c7c6b}.edition-door:hover .draw-page{transform:rotate(-2deg) translateY(-5px)}.edition-door:hover .draw-record{transform:rotate(1deg) translateY(-5px)}.door-output{font-family:var(--serif);font-size:16px;line-height:2;margin:0 0 24px}.door-action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #17272b45;padding:16px 0 0;font-size:15px;font-weight:500}.door-action>span{font-size:25px;transition:transform .25s}.edition-door:hover .door-action>span{transform:translateX(6px)}.gate-footer{padding:38px 5%;display:grid;grid-template-columns:1fr auto;gap:12px 30px;align-items:center}.footer-brand{font-family:var(--serif);font-size:26px;letter-spacing:.1em}.footer-brand span{font-family:var(--sans);font-size:10px;color:var(--muted);margin-left:16px}.gate-footer>p{grid-column:1;grid-row:2;font-size:12px;color:var(--muted);margin:0}.gate-footer nav{grid-row:1;grid-column:2;display:flex;gap:20px;font-size:12px}.gate-footer nav a{display:flex;align-items:center;min-height:44px}.gate-footer small{grid-column:2;grid-row:2;justify-self:end;color:var(--muted);font-size:11px}
@keyframes paper-breathe{0%{translate:0 -5px}100%{translate:0 6px}}@keyframes line-pulse{0%,100%{scale:.5 1;opacity:.6}50%{scale:1 1;opacity:1}}.gateway[data-motion="paused"] .memory-piece,.gateway[data-motion="paused"] .scroll-line{animation-play-state:paused}
@media(min-width:1700px){.gate-hero{padding-top:65px}.memory-field{height:700px}}
@media(max-width:1100px){.gate-brand-reading{display:none}.hero-grid{grid-template-columns:1.16fr 1fr;min-height:540px}.memory-field{height:555px}.memory-piece{padding:13px 15px 17px}.piece-detail{font-size:8px}.piece-word{font-size:19px}.gate-copy{padding-top:16px}.gate-needs{font-size:16px}.gate-description{font-size:14px}.gate-eyebrow{font-size:12px}.gate-fast-routes{gap:18px}.piece-5{top:74%}.field-seal{right:30%;top:34%;height:74px;width:74px;font-size:15px}.gate-entrances{padding-top:55px}.door-description br{display:none}}
@media(max-width:800px){.gate-header{padding:14px 5%}.gate-brand-name{font-size:26px}.gate-nav{gap:18px}.gate-nav a{font-size:13px;gap:8px}.gate-nav .gate-parent{display:none}.gate-hero{padding-top:30px}.hero-grid{grid-template-columns:1fr;position:relative}.gate-copy{padding:12px 0 0}.gate-eyebrow{font-size:12px;margin-bottom:18px}h1{font-size:clamp(32px,7.35vw,58px);line-height:1.45;margin-bottom:22px}.gate-needs{font-size:clamp(14px,2.6vw,19px);line-height:2}.gate-description{font-size:14px;line-height:1.9;margin:16px 0 20px}.gate-fast-routes{max-width:none;width:100%;gap:24px}.gate-fast-routes>a{font-size:11px;padding-top:10px}.gate-fast-routes>a>span{font-size:17px}.memory-field{height:clamp(420px,80vw,540px);width:100%;max-width:620px;justify-self:center;margin-top:30px}.memory-piece{width:clamp(128px,28vw,183px);padding:13px 16px 19px}.piece-word{font-size:clamp(16px,3.6vw,22px);margin:8px 0}.piece-detail{font-size:8px}.piece-index{font-size:8px}.piece-1{left:1%;top:7%}.piece-2{right:0;top:9%}.piece-3{left:6%;top:37%}.piece-4{right:0;top:40%}.piece-5{left:0;top:67%}.piece-6{right:8%;top:70%}.field-coordinates{left:2%;right:0;font-size:8px}.memory-field figcaption{left:2%;bottom:-27px;font-size:10px}.field-seal{height:67px;width:67px;font-size:13px;top:29%;right:27%}.hero-bottom{margin-top:50px;gap:12px;font-size:10px}.hero-imprint{display:none}.motion-toggle{font-size:10px}.gate-entrances{padding:44px 5% 45px}.entrance-intro{display:block;margin-bottom:28px}.entrance-intro h2{font-size:clamp(27px,4.6vw,36px)}.entrance-intro>p:last-child{font-size:14px;margin:14px 0 0}.entrance-intro .gate-eyebrow{font-size:12px}.edition-door{padding:24px 7% 25px}.edition-door h3{font-size:clamp(25px,4vw,34px)}.door-description{font-size:13px}.door-drawing{height:153px;margin:18px 0}.draw-page{width:185px;height:144px;padding:14px 18px}.draw-record{width:200px;height:148px;padding:12px 16px}.draw-title{font-size:16px}.door-output{font-size:14px}.door-action{font-size:13px}.door-arrow{width:40px;height:40px;font-size:26px}.gate-footer{display:block;padding:28px 5%}.gate-footer>p{margin:8px 0 12px}.gate-footer nav{flex-wrap:wrap;gap:0 18px}.gate-footer small{display:block;margin-top:12px}}
@media(max-width:540px){.entrance-grid{grid-template-columns:1fr;gap:12px;background:transparent}.edition-door{padding:24px}.edition-door h3{font-size:30px;margin-top:12px}.door-description{font-size:14px;max-width:none}.door-drawing{height:150px;margin:20px 0}.draw-page{width:215px}.draw-record{width:225px}.door-output{font-size:15px}.door-action{font-size:15px}.mobile-break{display:block}.entrance-intro h2{font-size:31px}.gate-header{gap:12px}.gate-brand-name{font-size:24px}.gate-nav{gap:15px}.gate-nav a{gap:5px;font-size:12px}.gate-description .desktop-break{display:none}.gate-needs{font-size:14px}.gate-description{max-width:24em}.gate-fast-routes{gap:16px}.gate-hero{padding-bottom:20px}.memory-orbit{inset:50px 12% 40px}.piece-3{left:4%}.piece-6{right:4%}.gate-footer nav{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.memory-piece,.scroll-line{animation:none}.memory-piece{transform:rotate(var(--angle,0deg))}.gate-fast-routes b,.door-arrow,.draw-page,.draw-record,.door-action>span{transition:none}}
