/* NihonGO — cohesive design tokens */
:root{
 --bg:#fff9f1;--surface:#fffdf9;--ink:#20283d;--muted:#6e7076;--orange:#ff7417;--orange-dark:#e95d0b;
 --peach:#ffe4c9;--border:#f1e4d5;--cream:#fff0d9;--blue:#dff1ff;--green:#e3f6df;--pink:#fff0f1;
 --radius:22px;--shadow:0 14px 40px rgba(90,53,23,.08);--container:1380px;
 font-family:"Nunito Sans",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--container),calc(100% - 64px));margin-inline:auto}.section{padding-block:78px;position:relative}.skip-link{position:absolute;top:-60px;left:10px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}
.header{height:64px;background:rgba(255,255,255,.91);backdrop-filter:blur(16px);position:sticky;top:0;z-index:30;border-bottom:1px solid #f5e8dc}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{height:52px;display:flex;align-items:center;overflow:hidden}.brand img{width:146px;height:auto;max-height:43px;object-fit:contain;display:block;mix-blend-mode:multiply}.nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,44px);font-size:13px;font-weight:800}.nav-links>a:not(.nav-cta){transition:color .2s}.nav-links>a:not(.nav-cta):hover{color:var(--orange-dark)}.nav-cta{background:var(--orange);color:#fff;padding:13px 23px;border-radius:999px;box-shadow:0 6px 15px #ff74172a}.nav-cta span{margin-left:10px}.menu-toggle{display:none}
.hero{min-height:485px;position:relative;overflow:hidden;background:linear-gradient(105deg,#fff1d9 0%,#fff8ed 47%,#cfeafa 100%);padding:43px 0 0}.hero-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 74% 24%,rgba(255,255,255,.75),transparent 34%),linear-gradient(0deg,rgba(255,209,153,.32),transparent 44%);pointer-events:none}.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-80px;height:145px;background:#fffaf2;border-radius:50% 50% 0 0;z-index:0}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:15px;min-height:405px}.hero-copy{padding:8px 0 25px;z-index:5}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#ffdec0;font-size:12px;font-weight:900;color:#5c3c2c}.pill span{color:var(--orange-dark)}.hero h1{font-family:Nunito,sans-serif;font-size:clamp(58px,7vw,92px);font-weight:1000;letter-spacing:-5px;line-height:.98;margin:18px 0 5px;color:#20283d}.hero h1 span{color:var(--orange)}.hero h2{font-family:Nunito,sans-serif;font-size:clamp(26px,3.1vw,43px);letter-spacing:-1.5px;line-height:1.13;margin:0 0 14px;font-weight:1000}.hero-description{max-width:560px;font-size:17px;line-height:1.65;color:#666a70;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:999px;padding:15px 24px;font-size:14px;font-weight:900;transition:transform .22s,box-shadow .22s,background .22s;border:1.5px solid transparent}.btn:hover{transform:translateY(-3px)}.btn-primary{background:linear-gradient(135deg,#ff811e,#f45e0b);color:white;box-shadow:0 9px 22px #ff74172b}.btn-primary:hover{box-shadow:0 14px 28px #ff74174d}.btn-secondary{background:#fff7ed;border-color:#ffc89e;color:#8c3b15}.play{font-size:11px}.hero-benefits{display:flex;flex-wrap:wrap;gap:17px;margin-top:22px;font-size:12px;font-weight:700;color:#3f4247}.hero-benefits span{display:flex;align-items:center;gap:6px}.hero-benefits b{width:17px;height:17px;display:inline-grid;place-items:center;border-radius:50%;background:var(--orange);color:white;font-size:10px}
.hero-art{height:425px;position:relative;perspective:1100px;transform-style:preserve-3d}.art-halo{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ffe5d3 0%,#ffd9c6 42%,rgba(255,217,198,0) 70%);left:10%;top:-12px;animation:haloPulse 6s ease-in-out infinite}.speech-bubble{position:absolute;z-index:7;top:20px;left:12%;width:195px;height:110px;display:grid;place-content:center;text-align:center;background:#fffefa;border-radius:52% 48% 50% 44%;box-shadow:0 8px 20px #70401b0b;font-family:serif;font-weight:bold;font-size:20px;line-height:1.35;transform:rotate(-8deg);animation:bubbleFloat 5s ease-in-out infinite}.speech-bubble small{color:#ff8494;font-size:15px;position:absolute;right:22px;bottom:7px}.mascot-wrap{position:absolute;z-index:6;width:360px;height:360px;left:18%;top:53px;transform-style:preserve-3d;will-change:transform;animation:momoBob 5s ease-in-out infinite}.mascot-image{position:absolute;inset:0;display:grid;place-items:center;transform:translateZ(32px);filter:drop-shadow(0 20px 15px rgba(100,50,18,.15));}.mascot-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.mascot-shadow{position:absolute;width:250px;height:38px;bottom:1px;left:55px;background:rgba(125,73,37,.17);border-radius:50%;filter:blur(12px);transform:rotateX(62deg);animation:shadowBreathe 5s ease-in-out infinite}.spark{position:absolute;color:#ff8b9b;z-index:8;font-size:31px;transform:translateZ(60px);animation:sparkle 3s ease-in-out infinite}.spark-a{left:-15px;top:180px}.spark-b{right:20px;top:5px;color:#ffb33e;animation-delay:-1.4s}.phone-mockup{position:absolute;z-index:5;right:1%;top:4px;width:270px;height:490px;background:#fffaf2;border:7px solid #1c2027;border-radius:42px;padding:15px 15px 20px;box-shadow:0 22px 50px rgba(38,43,53,.22);transform:rotate(5deg) translateZ(20px);animation:phoneFloat 6.5s ease-in-out infinite;overflow:hidden}.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:94px;height:17px;border-radius:0 0 12px 12px;background:#1c2027}.phone-status{display:flex;justify-content:space-between;font-size:10px;font-weight:900;padding:2px 7px 14px}.phone-brand{display:flex;align-items:center;gap:5px;font-size:15px}.phone-brand img{width:27px;height:27px;object-fit:cover;object-position:top;border-radius:50%;mix-blend-mode:multiply}.phone-brand b{letter-spacing:-.5px}.phone-brand b span{color:var(--orange)}.streak{margin-left:auto;font-size:10px;background:#fff0db;border-radius:99px;padding:5px}.phone-mockup h3{font-size:20px;margin:18px 0 2px;font-weight:1000}.phone-sub{font-size:9px;color:#777;margin:0 0 15px}.phone-skills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.phone-skill{height:105px;background:#fff;border-radius:17px;box-shadow:0 5px 13px #5c3a1c0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.phone-skill>span{font-size:27px;font-weight:900}.phone-skill b{font-size:15px}.phone-skill small{font-size:8px;color:#8a8a8a}.blue>span{color:#4aa9ff}.coral>span{color:#ff684e}.green>span{color:#51b86d}.orange>span{color:#ff9d29}.phone-progress{margin-top:14px;background:#fff;padding:10px;border-radius:12px;font-size:9px;display:grid;grid-template-columns:1fr auto;gap:7px}.phone-progress i{height:5px;border-radius:9px;background:#f0e4d7;grid-column:1/3;overflow:hidden}.phone-progress em{display:block;width:75%;height:100%;background:var(--orange);border-radius:9px}.float-chip{position:absolute;z-index:9;display:flex;align-items:center;gap:10px;padding:10px 13px;background:rgba(255,255,255,.94);border:1px solid #f5e4d4;border-radius:16px;box-shadow:var(--shadow);backdrop-filter:blur(10px);animation:chipFloat 4.8s ease-in-out infinite}.float-chip>span{width:33px;height:33px;border-radius:11px;background:#fff0df;display:grid;place-items:center;color:var(--orange);font-weight:900}.float-chip b{display:block;font-size:11px}.float-chip small{display:block;font-size:9px;color:#777;margin-top:3px}.chip-video{left:0;bottom:58px}.chip-ai{right:3%;bottom:9px;animation-delay:-2s}.torii-silhouette{position:absolute;right:-8px;bottom:22px;width:110px;height:180px;opacity:.35;z-index:1;transform:scale(.85)}.torii-silhouette:before{content:"";position:absolute;top:12px;left:-12px;width:140px;height:14px;background:#c05c36;border-radius:5px;transform:rotate(-2deg)}.torii-silhouette:after{content:"";position:absolute;top:26px;left:0;width:116px;height:9px;background:#c05c36}.torii-silhouette span,.torii-silhouette i{position:absolute;top:28px;bottom:0;width:11px;background:#c05c36;left:15px;transform:skew(-4deg)}.torii-silhouette i{left:84px;transform:skew(4deg)}.torii-silhouette b{position:absolute;top:75px;left:17px;width:78px;height:8px;background:#c05c36}hero-bottom{position:relative;z-index:3;display:flex;align-items:center;gap:14px;padding:0 0 13px;color:#a78f79;font-size:9px;font-weight:900;letter-spacing:2px}.hero-bottom i{height:1px;background:#ead9c7;flex:1}
.proof-strip{position:relative;z-index:8;margin-top:-1px;display:grid;grid-template-columns:repeat(4,1fr);padding:17px 22px;background:rgba(255,255,255,.94);border:1px solid #f6ece2;border-radius:23px;box-shadow:0 9px 28px rgba(96,59,29,.05)}.proof-item{display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 12px;border-right:1px solid #f3e8dc}.proof-item:last-child{border:0}.proof-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff5e7;color:#ffab3e;font-size:25px}.proof-item strong{display:block;font-size:17px;font-weight:1000;letter-spacing:-.4px}.proof-item small{display:block;color:#79777a;font-size:11px;margin-top:3px}
.challenge-section{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:30px;padding-bottom:40px}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:1000;color:#c26c33;margin:0 0 8px}.challenge-left h2,.solution-panel h2,.skills-heading h2,.how-copy h2,.faq-heading h2,.cta-panel h2{font-family:Nunito,sans-serif;font-weight:1000;letter-spacing:-1.1px;line-height:1.12;margin:0 0 18px}.challenge-left h2{font-size:28px}.challenge-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.challenge-card{border:1px solid #f4e9dc;background:linear-gradient(160deg,#fffaf3,#fff5e8);border-radius:19px;padding:14px 12px;text-align:center;min-width:0;transition:transform .25s,box-shadow .25s}.challenge-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.mini-illustration{height:75px;width:100%;position:relative;display:grid;place-items:center;margin-bottom:7px}.mini-illustration b{font-family:serif;font-size:42px;color:#b77c50;text-shadow:2px 2px #f3d3b2}.mini-illustration span{position:absolute;right:18%;top:3px;color:var(--orange);font-weight:1000;font-size:25px}.mini-illustration i{position:absolute;left:15%;top:15px;color:#6ba5ce;font-size:24px;font-style:normal}.practice b{font-size:25px;color:#7c9c78}.motivation b{font-family:Nunito;font-size:28px;color:#d5a1a0}.challenge-card h3{font-size:13px;line-height:1.3;margin:0 0 7px;font-weight:1000}.challenge-card p{font-size:10px;line-height:1.55;color:#777;margin:0}.solution-panel{position:relative;display:flex;align-items:center;overflow:hidden;min-height:285px;border-radius:24px;padding:25px 24px;background:linear-gradient(120deg,#fff0d9,#fff5e7)}.solution-copy{position:relative;z-index:2;max-width:78%}.solution-panel h2{font-size:24px;margin-bottom:17px}.solution-panel h2 span,.solution-panel h2 em{color:var(--orange-dark);font-style:normal}.solution-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.solution-panel li{font-size:11px;line-height:1.45;display:flex;align-items:flex-start;gap:8px}.solution-panel li:before{content:"✓";width:17px;height:17px;flex:0 0 17px;border-radius:50%;background:var(--orange);color:white;font-size:10px;font-weight:1000;display:grid;place-items:center}.reading-momo{position:absolute;right:-12px;bottom:5px;width:165px;height:190px;transform:rotate(-5deg);animation:readingBob 5.5s ease-in-out infinite}.reading-momo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 12px 9px #8e562124)}.reading-momo .book{position:absolute;bottom:20px;left:40px;background:#3d8455;color:#fff8d9;font-family:serif;font-weight:900;padding:7px 10px;border-radius:5px;transform:rotate(4deg);font-size:11px;box-shadow:0 3px 0 #275f3a}.flower{position:absolute;top:15px;left:0;color:#ff9f9f;font-size:28px}
.skills-section{padding-top:34px;padding-bottom:85px}.skills-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.skills-heading h2{font-size:28px;margin-bottom:7px}.skills-heading p:not(.eyebrow){margin:0;color:#73757a;font-size:13px}.text-link{font-size:12px;font-weight:1000;color:#b65c25;white-space:nowrap}.text-link span{margin-left:7px}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.skill-card{display:flex;align-items:center;gap:14px;position:relative;padding:16px;border-radius:20px;min-height:135px;transition:transform .25s,box-shadow .25s;overflow:hidden}.skill-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.skill-listen{background:#fff0f3}.skill-speak{background:#e7f4ff}.skill-read{background:#e9f8e7}.skill-write{background:#fff2df}.skill-art{width:64px;height:70px;flex:0 0 64px;display:grid;place-items:center;position:relative}.skill-art b{font-size:39px;font-family:serif}.skill-listen .skill-art{color:#ff5b83}.sound-wave{position:absolute;font-size:25px;font-weight:1000;letter-spacing:-7px;left:0;transform:rotate(180deg)}.skill-speak .skill-art{color:#379af0}.skill-speak .skill-art b{font-size:25px;background:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.skill-read .skill-art{color:#48ae5c}.skill-read .skill-art span{position:absolute;bottom:1px;font-size:10px;font-weight:1000}.skill-write .skill-art{color:#ff941f}.skill-write .skill-art span{position:absolute;right:1px;top:2px;font-size:25px}.skill-card h3{margin:0 0 5px;font-size:18px;font-weight:1000}.skill-card h3 small{display:block;font-size:10px;font-weight:800;margin-top:2px;opacity:.75}.skill-card p{font-size:10px;line-height:1.5;color:#686b70;margin:0}.skill-arrow{position:absolute;right:12px;top:10px;opacity:0;transform:translate(-3px,3px);transition:.2s}.skill-card:hover .skill-arrow{opacity:.65;transform:none}
.how-section{background:#242638;color:#fff9f1;overflow:hidden}.how-section:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:#ff8a3414;right:-150px;top:-210px}.how-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;position:relative}.how-copy .eyebrow{color:#ffb87b}.how-copy h2{font-size:clamp(36px,4.4vw,52px);margin-bottom:17px}.how-copy h2 span{color:#ffad68}.how-copy>p:not(.eyebrow){color:#c7c4cc;font-size:14px;line-height:1.8;max-width:410px;margin-bottom:24px}.how-steps{border-top:1px solid #494b5b}.how-steps article{display:grid;grid-template-columns:40px 1fr 30px;gap:13px;padding:20px 0;border-bottom:1px solid #494b5b;align-items:start}.how-steps article>span{color:#ffb87b;font-size:11px;font-weight:1000;padding-top:4px}.how-steps h3{margin:0 0 5px;font-size:16px}.how-steps p{margin:0;color:#c7c4cc;font-size:12px;line-height:1.6}.how-steps article>b{color:#ffb87b;text-align:right;font-size:19px}
.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px}.faq-heading h2{font-size:34px}.faq-heading>p:last-child{font-size:13px;color:#74747a}.faq-list details{border-bottom:1px solid var(--border);padding:18px 0}.faq-list details:first-child{border-top:1px solid var(--border)}.faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;font-size:14px;font-weight:900}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--orange);font-size:22px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;line-height:1.8;color:var(--muted);max-width:650px;margin:12px 0 0}
.cta-section{padding-top:5px;padding-bottom:85px}.cta-panel{position:relative;text-align:center;overflow:hidden;border-radius:28px;padding:63px 20px;background:linear-gradient(130deg,#fff0d9,#fffaf3 55%,#ffe7d2);border:1px solid #f5e5d5}.cta-panel h2{font-size:clamp(36px,4.8vw,54px);margin-bottom:13px}.cta-panel h2 span{color:var(--orange)}.cta-panel>p:not(.eyebrow){font-size:13px;color:#777;margin:0}.btn-large{margin-top:22px;padding:17px 28px}.cta-panel>small{display:block;font-size:10px;color:#a48d78;margin-top:15px}.cta-decoration{position:absolute;right:9%;top:22px;width:54px;height:54px;border-radius:16px;background:#fff;border:1px solid #f3ddc9;box-shadow:0 8px 18px #8c4c1c12;display:grid;place-items:center;color:#e96a16;font-weight:1000;transform:rotate(8deg)}.cta-decoration span{font-family:serif;font-size:24px}.cta-decoration i{position:absolute;right:-7px;bottom:-5px;width:20px;height:20px;border-radius:50%;background:#e6f5df;color:#37944b;border:2px solid #fff;display:grid;place-items:center;font-size:11px;font-style:normal}
.footer{background:#fff;border-top:1px solid #f1e5d9}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:25px}.footer-brand img{width:170px;height:auto;mix-blend-mode:multiply}.footer-main>p{font-size:12px;color:#777;margin:0}.footer-main nav{display:flex;gap:22px;font-size:11px;font-weight:800}.footer-bottom{border-top:1px solid #f1e5d9;padding-block:15px;display:flex;justify-content:space-between;color:#999;font-size:10px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes momoBob{0%,100%{transform:translate3d(0,0,0) rotateZ(-1deg) rotateY(-3deg)}50%{transform:translate3d(0,-14px,18px) rotateZ(1.5deg) rotateY(4deg)}}@keyframes phoneFloat{0%,100%{transform:rotate(5deg) translateY(0) translateZ(20px)}50%{transform:rotate(3deg) translateY(-9px) translateZ(25px)}}@keyframes readingBob{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-8px)}}@keyframes shadowBreathe{0%,100%{transform:scaleX(1) rotateX(62deg);opacity:.65}50%{transform:scaleX(.82) rotateX(62deg);opacity:.35}}@keyframes bubbleFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(-5deg)}}@keyframes chipFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes sparkle{0%,100%{transform:translateY(0) scale(1) rotate(0)}50%{transform:translateY(-9px) scale(1.18) rotate(15deg)}}@keyframes haloPulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.08);opacity:1}}
@media(max-width:1100px){.hero-layout{grid-template-columns:.92fr 1.08fr}.hero-art{transform:scale(.9);transform-origin:center right;margin-left:-25px}.hero h1{font-size:72px}.hero h2{font-size:31px}.phone-mockup{right:-5%}.mascot-wrap{left:12%}.float-chip{transform:scale(.9)}.challenge-section{grid-template-columns:1fr}.solution-panel{min-height:250px}.reading-momo{right:35px}.how-grid{gap:45px}.proof-item{padding-inline:5px}.proof-item strong{font-size:15px}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.header{height:62px}.brand img{width:136px;max-height:40px}.menu-toggle{display:flex;width:40px;height:40px;border:1px solid #f0e0d0;border-radius:50%;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:16px;height:2px;background:#26283a;border-radius:5px}.nav-links{display:none;position:absolute;top:57px;left:18px;right:18px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links>a{padding:13px 9px}.nav-links .nav-cta{text-align:center;margin-top:5px}.hero{padding-top:32px}.hero-layout{grid-template-columns:1fr;gap:0}.hero-copy{padding-bottom:0}.hero h1{font-size:70px;letter-spacing:-4px}.hero h2{font-size:29px}.hero-description{font-size:14px;max-width:480px}.hero-actions{gap:9px}.btn{padding:13px 18px;font-size:12px}.hero-benefits{gap:10px 14px;font-size:10px}.hero-art{height:380px;transform:none;margin:0 -12px}.art-halo{width:320px;height:320px;left:calc(50% - 170px);top:35px}.mascot-wrap{width:280px;height:280px;left:calc(50% - 155px);top:65px}.phone-mockup{width:200px;height:365px;right:0;top:10px;border-width:5px;border-radius:31px;padding:11px}.phone-status{font-size:8px;padding-bottom:9px}.phone-brand{font-size:11px}.phone-brand img{width:21px;height:21px}.phone-mockup h3{font-size:16px;margin-top:12px}.phone-sub{font-size:7px;margin-bottom:10px}.phone-skills{gap:6px}.phone-skill{height:76px;border-radius:12px;gap:2px}.phone-skill>span{font-size:19px}.phone-skill b{font-size:11px}.phone-skill small{font-size:6px}.phone-progress{margin-top:8px;padding:7px;font-size:7px}.speech-bubble{width:145px;height:80px;font-size:15px;top:18px;left:0}.float-chip{padding:8px 10px;gap:7px}.float-chip>span{width:27px;height:27px}.float-chip b{font-size:9px}.float-chip small{font-size:7px}.chip-video{left:0;bottom:36px}.chip-ai{right:0;bottom:0}.hero-bottom{font-size:7px;letter-spacing:1px}.proof-strip{grid-template-columns:1fr 1fr;padding:10px;margin-top:0;border-radius:17px}.proof-item{justify-content:flex-start;border-right:0;padding:10px 6px}.proof-item:nth-child(odd){border-right:1px solid #f3e8dc}.proof-item strong{font-size:13px}.proof-item small{font-size:9px}.proof-icon{width:37px;height:37px;font-size:20px}.section{padding-block:55px}.challenge-section{padding-top:35px;padding-bottom:35px}.challenge-left h2{font-size:24px}.challenge-cards{gap:7px}.challenge-card{padding:10px 6px;border-radius:14px}.mini-illustration{height:56px}.mini-illustration b{font-size:30px}.mini-illustration span{font-size:18px}.mini-illustration i{font-size:18px}.challenge-card h3{font-size:10px}.challenge-card p{font-size:9px}.solution-panel{padding:22px 17px;min-height:295px}.solution-copy{max-width:100%;padding-right:52px}.solution-panel h2{font-size:21px}.solution-panel li{font-size:10px;max-width:300px}.reading-momo{width:110px;height:130px;right:-10px;bottom:-1px;opacity:.9}.reading-momo .book{font-size:8px;left:26px;bottom:15px;padding:4px 6px}.reading-icon{position:absolute;top:18px;left:4px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#e96a16;font-size:14px;font-weight:1000;box-shadow:0 4px 10px #8e562124}.skills-section{padding-top:30px}.skills-heading{display:block}.skills-heading h2{font-size:24px}.skills-heading p:not(.eyebrow){font-size:11px}.skills-heading .text-link{display:inline-block;margin-top:14px}.skill-grid{grid-template-columns:1fr 1fr;gap:9px}.skill-card{padding:11px;gap:8px;min-height:112px;border-radius:15px}.skill-art{width:43px;height:52px;flex-basis:43px}.skill-art b{font-size:30px}.skill-card h3{font-size:15px}.skill-card h3 small{font-size:8px}.skill-card p{font-size:9px}.how-grid{grid-template-columns:1fr;gap:30px}.how-copy h2{font-size:38px}.how-copy>p:not(.eyebrow){font-size:12px}.how-steps article{padding:16px 0}.faq-section{grid-template-columns:1fr;gap:20px}.faq-heading h2{font-size:29px}.cta-section{padding-top:0;padding-bottom:55px}.cta-panel{padding:52px 15px;border-radius:21px}.cta-panel h2{font-size:35px}.cta-panel>p:not(.eyebrow){font-size:11px}.footer-main{flex-wrap:wrap;gap:14px}.footer-brand img{width:140px}.footer-main>p{order:3;width:100%}.footer-main nav{gap:12px;font-size:10px}.footer-bottom{font-size:9px;gap:8px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Fix: keep the brand logo fully visible instead of cropping it inside the header. */
.brand{height:56px;min-width:0;max-width:230px;overflow:visible;flex:0 1 230px}
.brand img{display:block;width:100%;max-width:220px;height:auto;max-height:48px;object-fit:contain;object-position:left center;mix-blend-mode:normal}
.mascot-image{overflow:visible}
.mascot-image img{display:block;position:relative;z-index:1;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
.momo-blink{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.blink-eyes{opacity:0;transform-origin:center;animation:momoBlink 5.2s infinite}
@keyframes momoBlink{
  0%, 43%, 45%, 78%, 80%, 100%{opacity:0}
  44%, 79%{opacity:1}
}
@media(max-width:760px){
  .brand{height:48px;max-width:185px;flex-basis:185px}
  .brand img{max-width:178px;max-height:42px}
}

:focus-visible{outline:3px solid #f28a36;outline-offset:3px}

/* Additional content sections: listening demo, quiz, testimonials, pricing */
.section-intro{max-width:760px;margin:0 auto 30px;text-align:center}.section-intro h2,.section-heading-centered h2{font-family:Nunito,sans-serif;font-weight:1000;letter-spacing:-1px;font-size:clamp(28px,3.5vw,40px);line-height:1.15;margin:0 0 12px}.section-intro h2 span{color:var(--orange)}.section-intro>p:last-child,.section-heading-centered>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.listening-section{padding-top:65px;padding-bottom:70px;background:linear-gradient(180deg,#fffaf3,#fff4e7)}.listening-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch}.listening-copy,.dialogue-card{border:1px solid #f0e2d2;border-radius:24px;background:#fffdfa;padding:26px;box-shadow:0 12px 34px rgba(80,50,25,.05)}.feature-points{display:grid;gap:20px}.feature-points>div{display:flex;gap:13px;align-items:flex-start}.feature-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#fff0df;color:#e96a16;display:grid;place-items:center;font-weight:1000;font-size:17px}.feature-points b{display:block;font-size:14px;margin:2px 0 5px}.feature-points small{font-size:12px;color:var(--muted);line-height:1.6}.listening-note{background:#fff6e9;border-radius:15px;padding:16px;margin-top:25px}.listening-note b{font-size:12px;color:#a9541c}.listening-note p{font-size:12px;color:#67676d;line-height:1.65;margin:6px 0 0}.dialogue-card{background:linear-gradient(145deg,#fff,#fffaf4);border-color:#f5e3cf}.dialogue-top{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.2px;font-weight:1000;color:#a5683d}.live-dot{width:8px;height:8px;border-radius:50%;background:#42b878;box-shadow:0 0 0 4px #42b8781d}.level-tag{margin-left:auto;padding:5px 10px;border-radius:99px;background:#fff0df;color:#c35d19;letter-spacing:0}.dialogue-label{font-size:12px;color:#777;margin:22px 0 13px}.japanese-line{font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:clamp(18px,2vw,25px);font-weight:900;line-height:1.6;color:var(--ink)}.furigana-line{font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:12px;color:#c16a30;margin-top:6px}.furigana-line.is-hidden{display:none}.romaji-line{font-size:12px;color:#8c8b8a;font-style:italic;margin-top:12px}.meaning-line{font-size:13px;line-height:1.65;background:#fff3e5;border-radius:12px;padding:12px;margin-top:18px}.dialogue-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.btn-small{padding:10px 14px;font-size:11px}.audio-note{font-size:10px;color:#999;margin:12px 0 0}.quiz-section{background:#fff9f1;padding-block:65px}.quiz-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:45px;align-items:center;background:white;border:1px solid #f3e6d8;border-radius:28px;padding:32px;box-shadow:var(--shadow)}.quiz-momo{position:relative;min-height:290px;display:grid;place-items:center;background:radial-gradient(circle,#fff1d9,transparent 70%);border-radius:22px}.quiz-momo img{width:min(100%,300px);max-height:300px;object-fit:contain;mix-blend-mode:multiply;animation:readingBob 5s ease-in-out infinite}.exp-badge{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:#242638;color:#fff;border-radius:99px;padding:9px 17px;font-size:11px;white-space:nowrap;box-shadow:0 7px 18px #20283d20}.exp-badge b{color:#ffc16a;margin-left:5px}.quiz-content h2{font-family:Nunito,sans-serif;font-size:clamp(26px,3vw,36px);font-weight:1000;letter-spacing:-.8px;line-height:1.15;margin:0 0 12px}.quiz-lead{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 17px}.quiz-options{display:grid;gap:9px}.quiz-option{width:100%;text-align:left;border:1px solid #f0e4d8;background:#fffdfa;border-radius:13px;padding:12px 14px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;color:var(--ink)}.quiz-option:hover{border-color:#ffb27b;transform:translateX(2px)}.quiz-option span{display:block;font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-weight:900;font-size:15px}.quiz-option small{display:block;color:#7a7b80;font-size:10px;margin-top:4px}.quiz-option.correct{border-color:#5cb981;background:#effbf3}.quiz-option.incorrect{border-color:#ed8e83;background:#fff2f0}.quiz-option:disabled{cursor:default}.quiz-feedback{min-height:22px;font-size:12px;font-weight:800;color:#a65b26;margin:13px 0 5px}.quiz-feedback.good{color:#27834e}.quiz-feedback.bad{color:#c34d40}.quiz-reset{border:0;background:transparent;cursor:pointer;padding:5px 0}.section-heading-centered{text-align:center;max-width:820px;margin:0 auto 32px}.section-heading-centered .eyebrow{margin-bottom:10px}.testimonials-section{padding-top:75px;padding-bottom:75px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.testimonial-card{position:relative;background:#fff;border:1px solid #f0e4d8;border-radius:22px;padding:24px 21px 18px;box-shadow:0 10px 28px rgba(80,50,25,.04);display:flex;flex-direction:column;min-height:335px}.quote-mark{position:absolute;right:18px;top:4px;font-family:Georgia,serif;font-size:60px;color:#ffe0bf;line-height:1}.rating-stars{color:#ffad35;letter-spacing:3px;font-size:13px;margin-bottom:14px}.testimonial-card blockquote{font-size:12px;line-height:1.8;color:#62636a;margin:0 0 21px;flex:1}.reviewer{display:flex;align-items:center;gap:10px}.reviewer-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:#ffead5;color:#a84f19;font-size:11px;font-weight:1000}.reviewer-photo{display:block;object-fit:cover;object-position:center;width:46px;height:46px;flex:0 0 46px;border:2px solid #ffead5;background:#ffead5}.reviewer b{display:block;font-size:12px}.reviewer small{display:block;font-size:10px;color:#85858a;margin-top:3px}.review-result{margin-top:15px;padding-top:12px;border-top:1px solid #f2e7dc;color:#b85d22;font-size:10px;font-weight:900}.content-disclaimer,.pricing-disclaimer{font-size:10px;line-height:1.7;color:#8b8580;text-align:center;margin:20px auto 0;max-width:900px}.pricing-section{background:linear-gradient(180deg,#fff3e3,#fffaf3);padding-block:75px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;align-items:stretch}.price-card{position:relative;background:#fff;border:1px solid #efdfce;border-radius:23px;padding:25px 22px 20px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(80,50,25,.045)}.price-featured{border:2px solid var(--orange);box-shadow:0 17px 40px rgba(255,116,23,.13);transform:translateY(-8px)}.popular-label{position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:99px;padding:7px 14px;background:var(--orange);color:#fff;font-size:9px;letter-spacing:1px;font-weight:1000}.plan-kicker{font-size:9px;font-weight:1000;letter-spacing:1.2px;color:#bb713d}.price-card h3{font-family:Nunito,sans-serif;font-size:24px;letter-spacing:-.6px;margin:9px 0 7px;font-weight:1000}.price-card h3 small{font-family:"Nunito Sans",sans-serif;font-size:12px;color:#777;font-weight:700}.price-card-top p{font-size:11px;line-height:1.7;color:#74747a;min-height:58px;margin:0}.price{padding:17px 0 13px;margin-top:10px;border-top:1px solid #f2e6db;display:flex;flex-direction:column;gap:2px}.price strong{font-family:Nunito,sans-serif;font-size:31px;letter-spacing:-1px;color:#20283d}.price span{font-size:11px;color:#777}.saving-note{font-size:9px;color:#bc652c;margin:-5px 0 9px}.price-card ul{list-style:none;padding:0;margin:9px 0 20px;display:grid;gap:12px;flex:1}.price-card li{position:relative;padding-left:22px;font-size:11px;line-height:1.55;color:#555963}.price-card li:before{content:"✓";position:absolute;left:0;top:0;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#e7f8eb;color:#27834e;font-size:9px;font-weight:1000}.price-cta{width:100%;margin-top:auto}.price-foot{display:block;text-align:center;font-size:9px;color:#999;margin-top:12px}.pricing-disclaimer{padding:0 15px}.cta-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.store-placeholder{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 5px}.store-placeholder>span{display:flex;align-items:center;gap:8px;background:#242638;color:white;padding:10px 14px;border-radius:12px;font-size:17px}.store-placeholder b{font-size:10px}.store-placeholder small{width:100%;font-size:9px;color:#999}.footer-columns{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:30px;padding-block:35px}.footer-about p{font-size:11px;line-height:1.8;color:#73737a;max-width:300px}.footer-about>small{font-size:10px;color:#a17a5a}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-col h3{font-size:12px;margin:4px 0 5px}.footer-col a,.language-switch{font-size:10px;color:#73737a;line-height:1.5}.footer-col a:hover{color:var(--orange-dark)}.language-switch{margin-top:7px;padding:8px 10px;border:1px solid #f0e2d5;border-radius:9px}.language-switch span{padding-inline:5px;color:#d4a37e}
@media(max-width:1000px){.listening-grid{grid-template-columns:1fr 1fr}.quiz-layout{gap:25px;padding:24px}.testimonial-grid{gap:11px}.testimonial-card{padding:20px 15px}.pricing-grid{gap:11px}.price-card{padding:23px 16px 18px}.footer-columns{gap:18px}}
@media(max-width:760px){.listening-section,.testimonials-section,.pricing-section{padding-block:52px}.listening-grid,.quiz-layout{grid-template-columns:1fr}.listening-copy,.dialogue-card{padding:20px}.quiz-layout{padding:17px;gap:12px}.quiz-momo{min-height:190px;max-height:210px}.quiz-momo img{max-height:205px;width:220px}.quiz-content h2{font-size:27px}.testimonial-grid,.pricing-grid{grid-template-columns:1fr}.testimonial-card{min-height:unset}.price-featured{transform:none;margin-top:8px}.price-card-top p{min-height:unset}.section-heading-centered{margin-bottom:24px}.section-heading-centered h2{font-size:28px}.footer-columns{grid-template-columns:1fr 1fr;gap:25px 18px}.footer-about{grid-column:1/-1}.store-placeholder>span{font-size:15px}.store-placeholder b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.quiz-momo img{animation:none}}

/* Real NihonGO app screenshot inside the existing phone frame */
.phone-mockup-real{
  padding:0;
  background:#fff8f1;
  aspect-ratio:942 / 2048;
  height:auto;
  min-height:0;
  width:clamp(225px, 20vw, 285px);
  border:7px solid #1c2027;
  border-radius:42px;
  overflow:hidden;
  isolation:isolate;
}
.phone-mockup-real .app-screen-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  border-radius:34px;
}
@media(max-width:760px){
  .phone-mockup-real{width:clamp(190px, 43vw, 250px);border-width:6px;border-radius:34px}
  .phone-mockup-real .app-screen-image{border-radius:27px}
}

/* Consistent Lucide-style outline icon system: local inline SVGs, no external JS/CDN dependency */
.ui-icon{display:block;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.proof-icon .ui-icon{width:23px;height:23px}
.pill-icon .ui-icon{width:16px;height:16px}
.play .ui-icon{width:12px;height:12px;fill:currentColor;stroke-width:1.4}
.feature-icon .ui-icon{width:23px;height:23px}
.skill-art>.ui-icon{width:36px;height:36px;stroke-width:1.7}
.mini-illustration{display:flex;align-items:center;justify-content:center}
.mini-illustration>.ui-icon{width:42px;height:42px;stroke-width:1.7}
.memory>.ui-icon{color:#c78352}
.practice>.ui-icon{color:#739a7b}
.motivation>.ui-icon{color:#e98638}
.how-steps article>b .ui-icon{width:24px;height:24px}
.exp-badge>.ui-icon{width:13px;height:13px;display:inline-block;vertical-align:-2px;margin-right:4px;stroke:#ffc16a}
.dialogue-top>.ui-icon{width:15px;height:15px;display:inline-block;vertical-align:-3px;margin-right:6px}
.cta-decoration>.ui-icon{width:48px;height:48px;stroke:currentColor}
.store-placeholder .ui-icon{width:13px;height:13px;display:inline-block;vertical-align:-2px}
.proof-icon.bars .ui-icon{width:24px;height:24px}
@media (prefers-reduced-motion: reduce){.ui-icon{transition:none!important}}

/* Store badges: secondary app-download actions near the primary hero CTA */
.hero-store-links{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:17px}
.hero-store-label{flex-basis:100%;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#8d8178;margin-bottom:1px}
.store-badge{display:inline-flex;align-items:center;gap:9px;min-height:43px;padding:7px 12px;border:1px solid #e9e1da;border-radius:12px;background:#252638;color:#fff;text-decoration:none;box-shadow:0 4px 12px rgba(32,40,61,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.store-badge:hover{transform:translateY(-2px);box-shadow:0 7px 17px rgba(32,40,61,.14);border-color:#ffb16c}
.store-brand-icon{width:23px;height:23px;flex:0 0 auto}
.store-badge span{display:flex;flex-direction:column;gap:1px;line-height:1.1}
.store-badge small{font-size:8px;font-weight:600;opacity:.82}
.store-badge strong{font-size:12px;font-weight:900;white-space:nowrap}
.store-badge em{font-style:normal;font-size:8px;white-space:nowrap;color:#ffcf9f;border-left:1px solid rgba(255,255,255,.22);padding-left:8px;margin-left:2px}
.store-placeholder{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 5px}
.store-placeholder .store-badge{min-width:160px;justify-content:flex-start}
.store-placeholder>small{width:100%;font-size:9px;color:#999;text-align:center}
@media(max-width:760px){
 .hero-store-links{gap:7px;margin-top:15px}
 .hero-store-label{font-size:9px}
 .store-badge{min-height:41px;padding:7px 10px;gap:7px}
 .store-brand-icon{width:20px;height:20px}
 .store-badge strong{font-size:11px}
 .store-badge em{font-size:7px;padding-left:6px}
}
@media(max-width:420px){
 .hero-store-links .store-badge{flex:1;min-width:0}
 .hero-store-links .store-badge em{display:none}
}

/* Stronger, recognizable platform logos on the download badges */
.store-badge .store-brand-icon{width:29px;height:29px;display:block;flex:0 0 29px}
.store-badge .apple-icon{color:#fff}
.store-badge .google-play-icon{filter:drop-shadow(0 0 1px rgba(255,255,255,.14))}
.store-badge{gap:10px}
.store-badge span{min-width:0}
.store-badge strong{font-size:12px}
@media(max-width:760px){
  .store-badge .store-brand-icon{width:25px;height:25px;flex-basis:25px}
}

/* Use the supplied high-resolution App Store icon asset */
.store-badge .apple-icon-img{
  display:block;
  width:29px;
  height:29px;
  flex:0 0 29px;
  object-fit:contain;
  border-radius:7px;
}
@media(max-width:760px){
  .store-badge .apple-icon-img{width:25px;height:25px;flex-basis:25px;border-radius:6px}
}

/* Language selector — custom dropdown (native select stays hidden for state sync) */
.language-picker{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;border:1px solid #f0dfcf;background:rgba(255,250,245,.96);border-radius:999px;padding:7px 12px;color:#b65319;flex:0 0 auto;box-shadow:0 2px 7px rgba(110,65,30,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;z-index:30}
.language-picker:hover,.language-picker.is-open{border-color:#f2b783;background:#fffdf9;box-shadow:0 5px 16px rgba(160,91,35,.10)}
.language-picker-icon{display:block;width:22px;height:22px;object-fit:contain;flex:0 0 22px}
.language-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:9px;min-width:104px;padding:3px 0;border:0;background:transparent;color:#303447;font:800 12px/1.3 'Nunito Sans',sans-serif;cursor:pointer;white-space:nowrap}
.language-trigger:focus-visible{outline:2px solid #f49a55;outline-offset:4px;border-radius:5px}
.language-chevron{flex:0 0 auto;color:#9b6b4b;transition:transform .18s ease}
.language-picker.is-open .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + 9px);right:0;min-width:174px;padding:6px;background:#fffdf9;border:1px solid #f0dfcf;border-radius:15px;box-shadow:0 14px 34px rgba(53,38,26,.15);z-index:1000;overflow:hidden;transform-origin:top right;animation:languageMenuIn .16s ease-out}
.language-menu[hidden]{display:none}
.language-option{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:10px 11px;border:0;border-radius:9px;background:transparent;color:#424253;text-align:left;font:600 12px/1.25 'Nunito Sans',sans-serif;cursor:pointer;transition:background .15s ease,color .15s ease}
.language-option:hover{background:#fff1e3;color:#a94c12}
.language-option.is-selected{background:#fff0df;color:#a94c12;font-weight:900}
.language-check{width:15px;flex:0 0 15px;text-align:center;color:#e87521;opacity:0}
.language-option.is-selected .language-check{opacity:1}
.language-select-native{display:none!important;visibility:hidden!important;position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@keyframes languageMenuIn{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.language-picker{margin:8px 4px;padding:9px 12px;border-radius:999px;order:2}.language-trigger{min-width:116px;font-size:13px}.language-menu{left:0;right:auto;min-width:190px}.nav-links .nav-cta{order:3}}
@media(prefers-reduced-motion:reduce){.language-menu,.language-chevron{animation:none;transition:none}}
