:root:has(.landing){scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){:root:has(.landing){scroll-behavior:auto}}.landing{--paper:#f6f1e5;--paper-raised:#fcf9f1;--paper-shade:#efe8d6;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.13 0 0 0 0 0.11 0 0 0 0 0.08 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");--ink:#221e17;--ink-2:#5b5445;--ink-3:#8b8271;--ink-ghost:rgba(34,30,23,.06);--ink-wash:rgba(34,30,23,.045);--line:#dcd3be;--line-strong:#bdb29a;--accent:#bf3b1f;--accent-deep:#a02f16;--accent-ink:#9e2f14;--on-accent:#fff9ee;--accent-wash:rgba(191,59,31,.08);--accent-wash-strong:rgba(191,59,31,.22);--font-display:var(--font-shippori),"Noto Serif JP",serif;--font-body:var(--font-zen-kaku),"Hiragino Kaku Gothic ProN",sans-serif;--font-jp:var(--font-noto-jp-landing),var(--font-noto-serif-jp),serif;--track-label:0.18em;--text-h1:clamp(2.625rem,1.9rem + 3.4vw,4.5rem);--text-h2:clamp(1.875rem,1.4rem + 2vw,2.75rem);--radius:2px;--radius-seal:3px;--rule:1px solid var(--line);--ease-brush:cubic-bezier(0.65,0.05,0.3,1);--ease-out:cubic-bezier(0.22,0.61,0.36,1);--dur-tap:0.35s;--dur-reveal:0.85s;--dur-draw:1.4s;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.8;font-weight:400;min-height:100vh}.landing:before{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;background-image:var(--grain);mix-blend-mode:multiply;opacity:.55}.landing blockquote,.landing figure,.landing h1,.landing h2,.landing h3,.landing ol,.landing p{margin:0}.landing img,.landing svg{display:block;max-width:100%}.landing a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:4px}.landing a:hover{color:var(--accent-ink);text-decoration-color:currentColor}.landing ::selection{background:var(--accent-wash-strong)}.landing :focus-visible{outline:2px solid var(--ink);outline-offset:3px}.landing .wrap{max-width:1120px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.landing .nav{border-bottom:var(--rule)}.landing .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}.landing .wordmark{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:.04em;text-decoration:none;color:var(--ink)}.landing .wordmark:hover{color:var(--ink)}.landing .wordmark-logo{width:26px;height:26px}.landing .mark-jp{font-family:var(--font-jp);font-weight:600;font-size:21px;line-height:1}.landing .nav-actions{display:flex;align-items:center;gap:clamp(14px,3vw,28px)}.landing .nav-signin{font-size:13.5px;font-weight:500;text-decoration:none;color:var(--ink-2)}.landing .nav-signin:hover{text-decoration:underline}.landing .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:12.5px;letter-spacing:var(--track-label);text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;border-radius:var(--radius);padding:15px 26px;background:var(--accent);color:var(--on-accent);transition:transform var(--dur-tap) ease}.landing .btn:hover{background:var(--accent-deep);color:var(--on-accent);transition:background-color var(--dur-tap) ease,transform var(--dur-tap) ease}.landing .btn:active{transform:translateY(1px)}.landing .btn:disabled{opacity:.6;cursor:default}.landing .btn-sm{padding:10px 16px;font-size:11px}.landing .signin-link{font-size:14px;color:var(--ink-2);text-decoration:none}.landing .signin-link span{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}.landing .signin-link:hover span{color:var(--accent-ink);text-decoration-color:currentColor}.landing .cta-micro{font-size:12.5px;line-height:1.6;color:var(--ink-3);margin-top:-6px;max-width:30em}.landing .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}.landing .waitlist{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.landing .field{font-family:var(--font-body);font-size:14.5px;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius);padding:13px 16px;min-width:min(280px,72vw)}.landing .field::placeholder{color:var(--ink-3)}.landing .field:focus{outline:2px solid var(--ink);outline-offset:2px;border-color:var(--ink)}.landing .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.landing .form-status{font-size:13px;line-height:1.6;color:var(--ink-2);margin-top:10px}.landing .hero{display:flex;min-height:calc(100vh - 74px);min-height:calc(100svh - 74px);padding-block:clamp(36px,6vh,88px) 0}.landing .hero-solo{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.landing .hero-copy{position:relative;z-index:1;max-width:680px;margin:auto;text-align:center}.landing .hero-copy .cta-row{justify-content:center}.landing .cta-stack{flex-direction:column;gap:16px}.landing .kicker{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--ink-2);margin-bottom:clamp(20px,3vh,30px)}.landing .kicker [lang=ja]{font-family:var(--font-jp);font-size:16px;font-weight:600;color:var(--ink)}.landing .kicker-sep{width:34px;height:1px;background:var(--line-strong)}.landing .kicker-en{letter-spacing:.16em;text-transform:uppercase;font-size:11.5px;font-weight:500;color:var(--ink-3)}.landing h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-h1);line-height:1.14;letter-spacing:.002em;text-wrap:balance;margin-bottom:clamp(20px,3vh,28px)}.landing .sub{font-size:clamp(16px,1.5vw,17.5px);line-height:1.85;color:var(--ink-2);max-width:33em;margin-inline:auto;margin-bottom:clamp(28px,4.5vh,40px);text-wrap:pretty}.landing .heroglyph{position:absolute;z-index:0;right:2%;top:-5%;font-family:var(--font-jp);font-weight:600;font-size:clamp(150px,24vw,230px);line-height:1;color:var(--ink-ghost);user-select:none}.landing .upath{position:relative;z-index:1;width:min(100%,1040px);height:auto;max-height:36svh;margin:clamp(20px,3.5vh,44px) auto 0;overflow:hidden}.landing .upath-line{fill:none;stroke-width:2.6;stroke-linecap:round}.landing .upath-main{stroke-width:3}.landing .rbranch{stroke:var(--ink)}.landing .rb-1{stroke-width:4.2}.landing .rb-2{stroke-width:3.4}.landing .rb-3{stroke-width:3}.landing .rb-faint{stroke:var(--line-strong);stroke-width:1.6}.landing .s2,.landing .s3,.landing main{position:relative}.landing .s2>.wrap,.landing .s3>.wrap{position:relative;z-index:1}.landing .journey-ov{position:absolute;top:0;left:0;z-index:0;pointer-events:none}.landing .jline{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;opacity:.8}.landing .rl{fill:none;stroke:var(--ink);stroke-linejoin:round;stroke-linecap:round}.landing .r-g{stroke:var(--line-strong);stroke-width:1}.landing .r-s{stroke:var(--line-strong);stroke-width:.8;opacity:.6}.landing .r-h{stroke:var(--line);stroke-width:1}.landing .r-fill{fill:var(--ink-wash);stroke:none}.landing .rlab{font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:.14em;fill:var(--ink-2)}.landing .rlab tspan{font-family:var(--font-jp);font-weight:600;letter-spacing:0;fill:var(--ink-3)}.landing .r-before{stroke:var(--ink-3);stroke-width:1.6}.landing .r-after{stroke:var(--accent);stroke-width:2.4}.landing .buffdot{fill:var(--accent)}.landing .bufftext{font-family:var(--font-body);font-weight:700;font-size:13px;fill:var(--accent-ink);letter-spacing:.06em}.landing .tick{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round}.landing .tick-faint{fill:none;stroke:var(--line-strong);stroke-width:2.4;stroke-linecap:round}.landing .slab{font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:.17em;fill:var(--ink-3)}.landing .sheet-name{font-family:var(--font-body);font-size:13.5px;font-weight:500;fill:var(--ink)}.landing .card-frame{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linejoin:round}.landing .seq-stem{fill:none;stroke:var(--ink-3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.landing .verified{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.landing .slab-accent{font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:.17em;fill:var(--accent-ink)}.landing .seq-name{font-family:var(--font-display);font-weight:600;font-size:22px;fill:var(--ink)}.landing .ms-dot{fill:var(--paper);stroke:var(--ink);stroke-width:1.8}.landing .ms-dot-hit{fill:var(--accent);stroke:none}.landing .section{padding-block:clamp(72px,11vh,132px)}.landing .s3{padding-block:clamp(96px,14vh,168px)}.landing .divider{width:min(760px,82%);margin:0 auto;height:auto;overflow:visible}.landing .dv{fill:none;stroke:var(--ink-3);stroke-width:1.6;stroke-linecap:round;opacity:.65}.landing .sec-label{font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:16px;margin-bottom:clamp(36px,6vh,60px)}.landing .sec-label:after{content:"";flex:1;height:1px;background:var(--line)}.landing h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-h2);line-height:1.2;letter-spacing:.002em;text-wrap:balance;margin-bottom:clamp(16px,2.5vh,24px)}.landing .body{color:var(--ink-2);line-height:1.9;max-width:36em;text-wrap:pretty}.landing .s2-grid{display:grid;gap:clamp(44px,6vw,80px);align-items:center}.landing .s2-fig{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center}.landing .written{font-family:var(--font-display);font-weight:500;font-size:clamp(19px,2vw,23px);line-height:1.5;color:var(--ink)}.landing .jp-brack{font-family:var(--font-jp);color:var(--ink-3);font-weight:600}.landing .connector{width:1px;height:26px;background:var(--line-strong)}.landing .s2-fig svg{width:min(100%,400px)}.landing .s3-grid{display:grid;gap:clamp(48px,6vw,88px);align-items:start}.landing .seq-fig{display:flex;flex-direction:column;gap:20px;margin:0 auto;width:min(100%,430px);align-items:center;text-align:center}.landing .seq-fig svg{width:100%}.landing .figmeta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}.landing .lg{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink-3)}.landing .lg:before{content:"";width:22px;border-top:2px solid var(--ink-3)}.landing .lg-after{color:var(--accent-ink)}.landing .lg-after:before{border-color:var(--accent)}.landing .chip{border:1px solid var(--line-strong);border-radius:var(--radius);padding:6px 12px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.landing .chip b{color:var(--accent-ink);font-weight:700}.landing .shot{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-seal);box-shadow:0 10px 24px -8px rgba(34,30,23,.25);background:var(--paper-raised)}.landing .tree-fig{margin:0}.landing .fan-block{margin-top:clamp(72px,10vh,120px)}.landing .breadth{font-family:var(--font-display);font-weight:500;font-size:clamp(19px,2.2vw,25px);line-height:1.65;color:var(--ink);max-width:30em;margin:0 auto clamp(40px,6vh,68px);text-align:center;text-wrap:pretty}.landing .fan svg{width:100%;height:auto}.landing .fan-desktop{display:none}.landing .fan-mobile{display:block;max-width:430px;margin:0 auto}@media (min-width:720px){.landing .fan-desktop{display:block}.landing .fan-mobile{display:none}}.landing .fan-origin{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round}.landing .fan-path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.landing .fan-faint{fill:none;stroke:var(--line-strong);stroke-width:1.4;stroke-linecap:round}.landing .fan-name{font-family:var(--font-display);font-weight:600;font-size:15.5px;fill:var(--ink)}.landing .fan-cat{font-family:var(--font-body);font-size:9.5px;font-weight:700;letter-spacing:.17em;fill:var(--ink-3)}.landing .beats{list-style:none;padding:0;display:grid;gap:clamp(44px,6vw,56px)}.landing .beat-num{font-family:var(--font-jp);font-size:20px;color:var(--ink-3);display:flex;align-items:center;gap:14px;margin-bottom:22px}.landing .beat-num:after{content:"";width:34px;height:1px;background:var(--line-strong)}.landing .beatmark{width:60px;height:60px;margin-bottom:20px}.landing .bm{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.landing .bm-dot{fill:var(--ink)}.landing h3{font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.35;margin-bottom:10px}.landing .beat p{color:var(--ink-2);font-size:15.5px;line-height:1.8;max-width:30em;text-wrap:pretty}.landing .s5{text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3vh,28px)}.landing .s5-glyph{font-family:var(--font-jp);font-weight:600;font-size:44px;line-height:1;color:var(--ink)}.landing .s5-line{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.2vw,40px);line-height:1.25;text-wrap:balance;max-width:18em;margin:0}.landing .s5-sub{color:var(--ink-2);max-width:30em;text-wrap:pretty;margin:0}.landing .microcopy{font-size:13px;line-height:1.7;color:var(--ink-3);max-width:34em;margin:0}.landing .cta-center{justify-content:center}.landing .footer{border-top:var(--rule)}.landing .foot-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px}.landing .foot-mark{display:block;width:30px;height:30px}.landing .foot-links{display:flex;align-items:center;gap:24px;font-size:13px}.landing .foot-links a{text-decoration:none;color:var(--ink-2)}.landing .foot-links a:hover{color:var(--accent-ink);text-decoration:underline}.landing .foot-c{color:var(--ink-3)}.landing.motion .reveal{transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}.landing.motion .reveal:not(.in){opacity:0;transform:translateY(16px)}.landing.motion [data-fade]{transition:opacity .8s ease}.landing.motion .reveal:not(.in) [data-fade]{opacity:0}.landing.motion .reveal.in [data-fade]{transition-delay:.9s}.landing.motion .heroglyph{transition:clip-path 1.4s var(--ease-brush) .3s}.landing.motion:not(.loaded) .heroglyph{clip-path:inset(0 0 100% 0)}.landing.motion.loaded .heroglyph{clip-path:inset(0 0 -2% 0)}.landing.motion .upath{animation:landing-breathe 9s var(--ease-out) infinite alternate;transform-origin:4% 50%}@keyframes landing-breathe{0%{opacity:.72;transform:scaleX(.99)}to{opacity:1;transform:scaleX(1.008)}}.landing.motion [data-draw=load] [data-stroke]{transition:stroke-dashoffset 1.1s var(--ease-brush) 1.3s}.landing.motion [data-draw=load].drawn [data-stroke]{stroke-dashoffset:0}.landing.motion [data-draw=load] .rb-faint{transition-delay:1.75s}@media (prefers-reduced-motion:reduce){.landing.motion .reveal:not(.in){opacity:1;transform:none}.landing.motion .reveal:not(.in) [data-fade]{opacity:1}.landing.motion:not(.loaded) .heroglyph{clip-path:none}.landing.motion .upath{animation:none}}@media (min-width:960px){.landing .s2-grid{grid-template-columns:.9fr 1.1fr}.landing .s3-grid{grid-template-columns:.95fr 1.05fr;align-items:center}}@media (min-width:820px){.landing .beats{grid-template-columns:repeat(3,1fr)}}.landing .legal-header{max-width:720px;margin:0 auto;padding:26px 22px 0}.landing .legal-header .wordmark{font-size:16px;letter-spacing:.1em}.landing .legal-header .wordmark-logo{width:22px;height:22px}.landing .legal{max-width:720px;margin:0 auto;padding:34px 22px 70px}.landing .legal h1{font-family:var(--font-display);font-size:32px;margin:0 0 6px}.landing .legal .legal-updated{color:var(--ink-3);font-size:13px;margin:0 0 34px}.landing .legal h2{font-family:var(--font-display);font-size:19px;margin:34px 0 10px}.landing .legal li,.landing .legal p{color:var(--ink-2);font-size:15px;line-height:1.65}.landing .legal p{margin:0 0 12px}.landing .legal ul{margin:0 0 12px;padding-left:20px}.landing .legal li{margin:6px 0}.landing .legal a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}.landing .legal strong{color:var(--ink);font-weight:600}.landing .legal-back{max-width:720px;margin:0 auto;padding:0 22px 60px;font-size:14px}.landing .legal-back a{color:var(--ink-2)}.landing .legal-back a:hover{color:var(--ink)}