/* The launch page has its own art direction; the shared legal-page styles stay intact. */
:root{--paper:#f8f5ed;--ink:#283e32;--muted:#666a5d;--orange:#a54524;--line:#d9d9c9;--green:#283e32;--pale-green:#eeeee2;--white:#fffcf5}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.site-header{min-height:110px;border:0}
.brand{width:120px}
nav a{font-size:.87rem;padding:.65rem 0}
.nav-waitlist{border:1px solid #a4ad9c;border-radius:5px;padding:9px 15px;display:flex;gap:22px;align-items:center}
.nav-waitlist:hover{border-color:var(--orange);text-decoration:none}
h1,h2{letter-spacing:-.055em;line-height:1.05}
h1 em,h2 em{font-style:italic;font-weight:inherit;color:var(--orange)}
h2{font-size:clamp(2.6rem,4.3vw,3.8rem)}
h3{font-size:1.25rem;margin:0 0 .65rem}
.eyebrow{font-size:.7rem;letter-spacing:.12em;font-weight:650;line-height:1.6;margin:0 0 1.5rem;display:flex;align-items:center;gap:9px}
.little-leaf{width:16px;height:10px;display:inline-block;border-radius:1px 10px 1px 10px;background:#738452;transform:rotate(-25deg);flex-shrink:0}
.hero{padding-block:26px 54px;display:grid;grid-template-columns:1fr 1.05fr;gap:34px;align-items:center}
.hero h1{font-size:clamp(4rem,6.45vw,6rem)}
.hero-intro{padding-top:12px;position:relative;z-index:1}
.hero-intro,.how-intro,.steps,.about-copy,.waitlist-copy{min-width:0}
.hero-description{font-size:1.07rem;line-height:1.75;max-width:37ch;margin:1.9rem 0 1.7rem}
.hero-actions{gap:24px}
.hero-game-link{font-size:.88rem;white-space:nowrap}
.hero-game-link span{display:inline-block;margin-left:5px}
.button{gap:2rem;border-radius:5px;padding:14px 19px;font:600 .9rem/1.5 var(--body);transition:background .18s ease,transform .18s ease,box-shadow .18s ease;box-shadow:0 2px 0 #7a341f}
.button:hover{background:#88371d;box-shadow:0 4px 0 #6b2c19}
.button:active{transform:translateY(1px);box-shadow:none}
.availability{font-size:.75rem;margin:16px 0 0;gap:7px}
.status-dot{width:6px;height:6px;flex:0 0 6px;background:#738452;display:inline-block}
.hero-companion{display:flex;align-items:center;gap:15px;margin-top:40px}
.hero-companion img{width:62px;transform:rotate(-6deg)}
.hero-companion p{font-size:.75rem;line-height:1.8;color:var(--muted);margin:0}
.hero-companion a{color:var(--green)}
.app-showcase{position:relative;isolation:isolate;height:650px;min-width:0;margin:0;display:flex;justify-content:center;align-items:center;padding:10px 0 43px}
.showcase-garden{position:absolute;z-index:-1;inset:49px 0 67px;width:100%;height:calc(100% - 116px);object-fit:cover;object-position:54% 50%;border-radius:260px 260px 18px 18px;border:1px solid #d0c7b1}
.phone-frame{position:relative;width:268px;max-width:59%;padding:8px;border-radius:32px;background:#28342d;border:1px solid #637264;box-shadow:inset 0 0 0 2px #a2a798,10px 22px 30px #27332530,0 3px 6px #192c2433;transform:rotate(5deg);margin-left:20px;animation:phone-enter .85s cubic-bezier(.2,.7,.3,1) both}
.phone-frame::before{content:'';position:absolute;top:14px;left:calc(50% - 3px);width:6px;height:6px;background:#29372d;border-radius:50%;z-index:1}
.phone-frame>img{width:100%;border-radius:24px;background:#fff4df}
.match-note{position:absolute;left:0;bottom:113px;background:var(--white);border:1px solid #d7c6a9;border-radius:6px;padding:13px 21px 12px;text-align:center;transform:rotate(-7deg);box-shadow:0 7px 14px #29382d19;font-size:.75rem;color:var(--muted)}
.note-pair{display:flex;justify-content:center;align-items:center;gap:15px;font-family:var(--display);font-size:2rem;line-height:1.2;color:var(--green);margin-bottom:6px}
.note-pair [lang=ja]{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-weight:600}
.note-arrow{font:1.2rem var(--body);color:#a98551}
.app-showcase figcaption{position:absolute;bottom:7px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:7px;font-size:.66rem;color:var(--muted);padding:0}
.app-details{border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:23px;color:#59674f;font-size:.81rem}
.app-details p{margin:0}
.app-details>span{color:#9b9f80;font-size:1.1rem}
.how{padding-block:104px 112px;gap:clamp(4rem,8vw,8rem)}
.how-intro>p:not(.eyebrow):not(.pair-caption){max-width:43ch}
.how .eyebrow{margin-bottom:20px}
.pair-example{margin:38px 0 23px;width:340px}
.sample-tile{border:1px solid #bda983;box-shadow:0 6px 0 #cbb999,0 10px 14px #283e3209;width:98px;height:105px;flex-shrink:0;border-radius:15px;font-size:3.1rem;color:#433428}
.sample-tile.roman{transform:rotate(6deg);background:#e7ebd9}
.pair-line{height:1px;background:#8d9d76;width:104px}
.pair-line::after{width:6px;height:6px;background:#8d9d76}
.pair-line>span{position:absolute;left:0;right:0;text-align:center;top:-25px;font-size:.68rem;color:#6d7a60;font-style:italic}
.pair-caption{font-size:.75rem}
.steps{margin:3px 0 0}
.steps li{grid-template-columns:28px 1fr;gap:23px;padding-block:25px}
.steps li:last-child{padding-bottom:0}
.steps p{font-size:.94rem;line-height:1.75}
.step-number{font-size:.72rem;color:#8d956f;padding-top:2px}
.about-band{border-block:1px solid #e0e2d3}
.about{grid-template-columns:.9fr 1.1fr;gap:70px;padding-block:52px}
.tanji-name-art{margin:0;position:relative;isolation:isolate;background:var(--pale-green)}
.tanji-name-art img{width:300px;mix-blend-mode:multiply;transform:none}
.tanji-name-art figcaption{display:block;text-align:center;font-size:.76rem;color:#737d63;margin-top:4px;padding:0}
.tanji-name-art figcaption [lang=ja]{letter-spacing:.06em}
.about-copy{max-width:480px}
.about-copy>p:not(.eyebrow){color:var(--muted)}
.about-copy h2{font-size:clamp(2.6rem,3.8vw,3.4rem)}
.about-copy h2 em{color:var(--green)}
.about-copy .eyebrow{color:#677953}
.about-copy .tanji-signature{font-size:.78rem;margin:23px 0 0;display:flex;align-items:center;gap:10px}
.tanji-signature span{font-family:var(--display);font-style:italic;font-size:1.55rem;line-height:1;color:var(--orange);transform:rotate(-5deg)}
.waitlist-band{background:var(--green);color:var(--paper)}
.release{gap:clamp(3rem,8vw,8rem);padding-block:88px;align-items:center}
.waitlist-copy{align-self:start;padding-top:25px}
.waitlist-copy .eyebrow{color:#c4cbb5;max-width:none}
.waitlist-copy .status-dot{background:#b4c89a}
.waitlist-copy h2{font-size:clamp(2.7rem,4.3vw,3.85rem)}
.waitlist-copy h2 em{color:#d4deb9}
.waitlist-copy>p:not(.eyebrow){max-width:35ch;color:#d1d7c9;font-size:1rem}
.waitlist-copy .waitlist-note{font-size:.83rem!important;line-height:1.8;margin-top:2rem;color:#bfcbb6!important;max-width:38ch!important}
.waitlist-panel{padding:30px 32px 32px;border:1px solid #eee9d7;border-radius:8px;background:var(--paper);color:var(--muted);box-shadow:0 10px 25px #17231c20}
.field-label,.platform-field legend{font-size:.83rem;margin-bottom:9px}
#waitlist-email{border-color:#aaaf9c;border-radius:4px}
#waitlist-email::placeholder{color:#7d8375}
.platform-field{margin:23px 0}
.platform-options{gap:9px}
.platform-options input{accent-color:var(--green)}
.platform-options span{padding:12px 10px 12px 32px;border-color:#aaaf9c;border-radius:4px;font-size:.85rem;transition:background .15s ease,border-color .15s ease}
.platform-options label:hover span{border-color:var(--green);background:#f0f0e3}
.platform-options input:checked+span{border-color:var(--green);background:#e7ecda;box-shadow:inset 0 0 0 1px var(--green)}
.consent{gap:10px;font-size:.77rem;line-height:1.65}
.consent input{accent-color:var(--green)}
.waitlist-submit{margin-top:23px;width:100%;justify-content:space-between}
.waitlist-submit:disabled{box-shadow:none}
.form-fine-print{font-size:.69rem;line-height:1.7;margin:16px 0 0}
.form-status{font-size:.85rem}
.waitlist-success{padding-block:10px}
.waitlist-success>img{width:80px;margin-bottom:18px}
.site-footer{border:0;padding-block:34px;align-items:center}
.footer-signature{display:flex;align-items:center;gap:24px}
.footer-signature img{width:88px;margin:0}
.site-footer p{font-size:.75rem}
.footer-details nav{margin-bottom:10px}
.footer-details nav a{font-size:.78rem}
@keyframes phone-enter{from{opacity:0;transform:translateY(16px) rotate(8deg)}to{opacity:1;transform:translateY(0) rotate(5deg)}}
@media(min-width:1800px){.wrap{width:min(1320px,calc(100% - 160px))}.app-showcase{height:700px}.phone-frame{width:288px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:24px}.hero h1{font-size:clamp(3.7rem,6.5vw,5rem)}.hero-actions{gap:16px}.hero-actions .button{gap:20px}.app-showcase{height:600px}.phone-frame{width:248px;max-width:66%}.match-note{padding:12px 15px;left:-7px;bottom:104px}.hero-description{font-size:1rem}.how{gap:56px}.about{gap:50px}.tanji-name-art img{width:260px}.release{gap:48px}.waitlist-panel{padding:27px}}
@media(max-width:820px){.wrap{width:calc(100% - 48px)}.site-header{min-height:95px}.brand{width:105px}.site-header nav{gap:23px}.hero{grid-template-columns:1fr 1fr;gap:20px;padding-top:20px}.hero h1{font-size:3.55rem}.hero .eyebrow{font-size:.61rem}.hero-description{font-size:.95rem;margin:24px 0}.hero-actions{gap:18px}.hero-actions .button{font-size:.8rem;gap:18px}.hero-game-link{font-size:.78rem}.hero-companion{margin-top:25px;gap:10px}.hero-companion img{width:48px}.hero-companion p{font-size:.65rem}.app-showcase{height:520px}.phone-frame{max-width:72%;padding:7px;border-radius:27px;margin-left:12px}.phone-frame>img{border-radius:19px}.match-note{bottom:75px;padding:10px 13px}.note-pair{font-size:1.65rem;gap:9px}.app-showcase figcaption{font-size:.57rem}.app-details{font-size:.71rem;gap:10px}.how{gap:36px;padding-block:75px;grid-template-columns:1fr 1fr}.how h2{font-size:2.7rem}.steps li{gap:13px}.steps h3{font-size:1.15rem}.steps p{font-size:.85rem}.about{grid-template-columns:.8fr 1.2fr;gap:35px}.about-copy h2{font-size:2.5rem}.about-copy>p:not(.eyebrow){font-size:.92rem}.tanji-name-art img{width:235px}.release{grid-template-columns:1fr 1fr;gap:35px}.waitlist-copy h2{font-size:2.8rem}.waitlist-panel{padding:24px 20px}.platform-options{gap:6px}.platform-options span{font-size:.75rem;padding-right:6px;padding-left:27px}.platform-options input{left:8px;width:14px;height:14px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.site-header{min-height:94px;gap:18px}.brand{width:100px}.site-header nav{gap:18px}.nav-tanji,.nav-game{display:none}.site-header nav a{font-size:.75rem}.nav-waitlist{padding:8px 12px;gap:13px}.hero{grid-template-columns:1fr;padding-block:26px 30px;gap:22px}.hero-intro{padding-top:0}.hero h1{font-size:clamp(3.3rem,11.5vw,4.7rem);letter-spacing:-.06em;line-height:1.035}.hero .eyebrow{font-size:.64rem;margin-bottom:21px}.hero-description{font-size:1rem;line-height:1.75;max-width:35ch;margin:24px 0}.hero-actions{gap:22px}.hero-actions .button{font-size:.84rem;padding:13px 15px;gap:20px}.hero-game-link{font-size:.8rem}.availability{font-size:.71rem;margin-top:15px}.hero-companion{margin-top:23px}.hero-companion p{font-size:.71rem}.hero-companion img{width:48px}.app-showcase{width:min(420px,100%);height:530px;justify-self:center;padding-bottom:45px;margin-top:5px}.phone-frame{width:220px;max-width:63%;margin-left:15px}.showcase-garden{inset:43px 0 56px;height:calc(100% - 99px);border-radius:200px 200px 14px 14px}.match-note{left:0;bottom:95px;padding:12px 17px;font-size:.69rem}.note-pair{font-size:1.9rem;gap:10px}.app-showcase figcaption{font-size:.62rem;bottom:3px}.app-details{display:grid;grid-template-columns:1fr 1fr;row-gap:13px;column-gap:12px;font-size:.75rem;padding-block:22px}.app-details>span{display:none}.app-details p::before{content:'·';margin-right:9px;color:#8c967a}.how{grid-template-columns:1fr;padding-block:62px 65px;gap:35px}.how .eyebrow{font-size:.63rem}.how h2{font-size:2.65rem}.how-intro>p:not(.eyebrow):not(.pair-caption){font-size:.95rem}.pair-example{margin-top:31px;width:310px}.sample-tile{width:89px;height:97px;font-size:2.8rem}.pair-line{width:94px}.pair-caption{font-size:.7rem}.steps li{gap:18px;padding-block:23px}.steps h3{font-size:1.15rem}.steps p{font-size:.91rem}.about{grid-template-columns:1fr;gap:28px;padding-block:38px 48px}.tanji-name-art{justify-self:start;margin-left:-13px}.tanji-name-art img{width:210px}.tanji-name-art figcaption{font-size:.68rem;margin-top:0}.about-copy{max-width:480px}.about-copy .eyebrow{font-size:.67rem;margin-bottom:20px}.about-copy h2{font-size:2.65rem}.about-copy>p:not(.eyebrow){font-size:.95rem}.about-copy .tanji-signature{font-size:.76rem;margin-top:20px}.release{grid-template-columns:1fr;gap:29px;padding-block:48px}.waitlist-copy{padding-top:0}.waitlist-copy .eyebrow{font-size:.63rem;max-width:none}.waitlist-copy h2{font-size:2.8rem}.waitlist-copy>p:not(.eyebrow){font-size:.95rem;max-width:37ch}.waitlist-copy .waitlist-note{font-size:.8rem!important;margin-top:20px;max-width:42ch!important}.waitlist-panel{padding:25px 23px}.platform-options{gap:8px}.platform-options span{font-size:.81rem;padding-left:29px;padding-right:8px}.platform-options input{left:9px;width:15px;height:15px}.site-footer{align-items:start;flex-direction:column;gap:26px;padding-block:30px}.footer-signature{gap:20px}.footer-signature img{width:77px}.footer-details{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left}.footer-details nav{gap:1.15rem;margin:0}.footer-details nav a{font-size:.72rem}.footer-details>p{font-size:.67rem}}
@media(max-width:380px){.hero h1{font-size:3.22rem}.hero .eyebrow{font-size:.59rem;letter-spacing:.08em}.hero-actions{gap:16px}.hero-actions .button{font-size:.77rem;padding:12px;gap:14px}.hero-game-link{font-size:.74rem}.app-showcase{height:450px}.phone-frame{width:190px;max-width:66%;border-radius:25px;padding:6px}.phone-frame>img{border-radius:18px}.match-note{padding:10px 13px;bottom:77px;font-size:.63rem}.note-pair{font-size:1.6rem}.app-showcase figcaption{font-size:.56rem}.how h2,.about-copy h2{font-size:2.3rem}.waitlist-panel{padding:22px 18px}.platform-options span{font-size:.75rem;padding-left:25px;padding-right:5px}.platform-options input{left:7px;width:13px;height:13px}.platform-options{gap:6px}.waitlist-copy h2{font-size:2.5rem}.footer-details nav{gap:.8rem}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:active{transform:none}}
@media(max-width:640px){.hero-companion{display:none}}
