/* Ready banner — pointer is decorative; navigation requires a real activation. */
.coded-cta.ready-banner{position:relative;min-height:112px;padding-right:0;gap:0;background:linear-gradient(175deg,#fff8d2,#ffe98c 35%,#f9c632 78%,#ffeb92);border-color:#fff0ad;box-shadow:0 0 0 1px #fff0ad,0 0 28px #ffc74f8c,0 0 55px #ffaf2944;filter:none;transition:box-shadow .2s}
.coded-cta.ready-banner:hover{filter:none;background:linear-gradient(175deg,#fff8d2,#ffe98c 35%,#f9c632 78%,#ffeb92);box-shadow:0 0 0 1px #fff0ad,0 0 28px #ffc74f8c,0 0 55px #ffaf2944}
.ready-banner>.ready-label{min-width:160px;align-self:stretch;display:grid;place-items:center;font-size:24px;padding:12px 20px;white-space:nowrap}
.ready-stage{position:relative;flex:1;align-self:stretch;min-width:0;min-height:108px;display:grid;place-items:center;overflow:hidden}
.ready-question{font-size:clamp(30px,4.4vw,62px);font-family:'Noto Sans JP',sans-serif;font-weight:900;font-style:italic;line-height:1.2;letter-spacing:-.04em;color:#992508;text-shadow:1px 2px #fff6c6;transition:opacity .22s,transform .3s;white-space:nowrap}
.ready-answers{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:25px;opacity:0;transform:translateY(15px);transition:opacity .22s,transform .3s;color:#842509;font-style:italic;font-weight:900;font-size:44px}
.ready-yes,.ready-hai{min-width:145px;text-align:center;line-height:1.2;padding:9px 17px;border-radius:7px;border:1px solid #dba323;background:#fff0b26b}.ready-or{font-size:21px;font-weight:500;font-style:normal;color:#95782a}.ready-yes{background:#8c260d;color:#fff0ab;border-color:#ad4b22}
.ready-cursor{position:absolute;z-index:2;width:29px;height:39px;left:calc(50% - 65px);top:calc(50% + 7px);opacity:0;pointer-events:none;filter:drop-shadow(2px 3px 2px #48270766)}
.ready-click-ring{position:absolute;left:calc(50% - 67px);top:calc(50% + 6px);width:22px;height:22px;border:2px solid white;border-radius:50%;opacity:0;pointer-events:none}
.ready-banner:is(:hover,:focus-visible) .ready-question{opacity:0;transform:translateY(-12px)}.ready-banner:is(:hover,:focus-visible) .ready-answers{opacity:1;transform:none}.ready-banner:is(:hover,:focus-visible) .ready-cursor{animation:demo-pointer 1.8s .1s both}.ready-banner:is(:hover,:focus-visible) .ready-click-ring{animation:demo-click 1.8s .1s both}.ready-banner:is(:hover,:focus-visible) .ready-yes{animation:demo-button 1.8s .1s both}
@keyframes demo-pointer{0%,12%{opacity:0;transform:translate(135px,50px)}35%,54%{opacity:1;transform:translate(0,0)}62%{opacity:1;transform:translate(0,3px) scale(.87)}73%,90%{opacity:1;transform:none}100%{opacity:0;transform:translate(10px,10px)}}
@keyframes demo-click{0%,56%{opacity:0;transform:scale(.3)}63%{opacity:1;transform:scale(.7)}89%,100%{opacity:0;transform:scale(3)}}
@keyframes demo-button{0%,54%,78%,100%{transform:none;box-shadow:none}62%{transform:scale(.95);box-shadow:0 0 24px #fff3bc}}
/* Ivory/blue breaking-news strip separates the hero and content. */
.news-ticker{background:#e7eef3;border-color:#75adc3;color:#163850}.news-ticker:before,.news-ticker:after{background:repeating-linear-gradient(-45deg,#2e799c 0 10px,#c4dce7 10px 20px);opacity:.65}.news-label{background:#164762;color:#fff;border:1px solid #225c7a}.ticker-group strong{color:#123e5a}.ticker-status{background:#1a687f;color:white}.ticker-detail{color:#426274}.ticker-toggle{background:#dbe8ef;color:#254e65;border-color:#91b1c1}.ticker-toggle:hover{background:#bedbe8}
/* Japanese paragraphs: phrase-aware wrapping and balanced final lines. */
.learning-list article>div{min-width:0}.learning-list p,.about>div>p:not(.eyebrow),.solution-list p,.six-features p,.plan li,.student-card blockquote,.closing-copy>p:last-child{line-break:strict;overflow-wrap:break-word;text-wrap:pretty;word-break:normal}
.learning-list p{max-width:36em;line-height:1.95}.learning-list article{gap:20px}.plan li{padding-block:10px;line-height:1.9}
@supports(word-break:auto-phrase){.learning-list p,.solution-list p,.six-features p,.plan li{word-break:auto-phrase}}
/* A short garage launch, constructed entirely in CSS and SVG. */
.launch-sequence{position:fixed;inset:0;z-index:2000;display:none;overflow:hidden;background:#06182a;pointer-events:none}.launch-sequence.is-active{display:block;pointer-events:auto}.launch-running{overflow:hidden}
.launch-tunnel{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 43%,#c4f5ff 0,#2b759a 7%,#103653 20%,#071727 55%)}
.tunnel-frame{position:absolute;width:52%;height:46%;left:24%;top:14%;border:2px solid #78cdef;box-shadow:0 0 25px #4acbff44,inset 0 0 30px #3ab2ff22;transform:perspective(500px) rotateX(-3deg)}
.launch-road{position:absolute;inset:44% -35% -80%;transform:perspective(420px) rotateX(60deg);transform-origin:50% 0;background:linear-gradient(90deg,transparent 28%,#80d6fabb 28.2%,transparent 28.6%,transparent 49.7%,#f2d272 49.9% 50.2%,transparent 50.4%,transparent 71.2%,#80d6fabb 71.4%,transparent 71.6%),repeating-linear-gradient(0deg,#081b2c 0 43px,#173851 44px 46px);box-shadow:0 0 90px #1c9ee844}
.launch-car{position:absolute;bottom:8%;left:50%;width:min(500px,67vw);transform:translateX(-50%);filter:drop-shadow(0 0 10px #ff344d44);z-index:2}.launch-car svg{display:block;width:100%}
.launch-go{position:absolute;top:17%;left:0;right:0;text-align:center;font:italic 900 clamp(40px,7vw,90px)/1.15 Arial,sans-serif;color:#fff0ae;letter-spacing:.1em;opacity:0;z-index:3;text-shadow:0 0 25px #ffb82255}.launch-go span{display:block;font:700 12px/2 'Noto Sans JP',sans-serif;letter-spacing:.25em;margin-top:12px;color:#a4e0fb}
.shutter-door{position:absolute;inset:0;z-index:4;background:repeating-linear-gradient(0deg,#223a4b 0 24px,#4b6879 25px 27px,#102939 28px 31px);box-shadow:0 20px 70px #000b}.shutter-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(90deg,#04111c88,transparent 50%,#04111c88);color:#ffdb77;font:italic 900 clamp(30px,5vw,68px)/1.3 Arial,sans-serif;letter-spacing:.08em;text-shadow:0 3px #102d3f}.shutter-title span{font:700 11px/2 'Noto Sans JP',sans-serif;letter-spacing:.3em;color:#c6dae6;margin-top:12px}.shutter-edge{position:absolute;bottom:0;left:0;right:0;height:15px;background:repeating-linear-gradient(-45deg,#e9bd54 0 20px,#1d2a34 20px 40px)}
.speed-lines{position:absolute;inset:0;overflow:hidden}.speed-lines i{position:absolute;height:2px;width:40vw;background:linear-gradient(90deg,transparent,#b7f4ff);opacity:0;left:-10%;top:60%;transform:rotate(-25deg)}.speed-lines i:nth-child(2){top:78%;width:55vw;transform:rotate(-38deg)}.speed-lines i:nth-child(3){top:43%;transform:rotate(-10deg)}.speed-lines i:nth-child(n+4){left:auto;right:-10%;transform:rotate(25deg);background:linear-gradient(90deg,#b7f4ff,transparent)}.speed-lines i:nth-child(5){top:78%;width:55vw;transform:rotate(38deg)}.speed-lines i:nth-child(6){top:43%;transform:rotate(10deg)}
.is-active .shutter-door{animation:garage-open .8s .16s cubic-bezier(.65,0,.2,1) both}.is-active .launch-car{animation:car-depart 1s .9s cubic-bezier(.64,0,.88,.35) both}.is-active .launch-go{animation:launch-title 1.6s .55s both}.is-active .speed-lines i{animation:acceleration .65s 1s ease-in both}.is-active .launch-tunnel{animation:tunnel-exit .45s 1.95s ease-in both}.is-active{animation:launch-fade .35s 2.15s both}
@keyframes garage-open{to{transform:translateY(-104%)}}@keyframes car-depart{0%{transform:translateX(-50%) translateY(0) scale(1)}25%{transform:translateX(-50%) translateY(-8vh) scale(.88)}100%{transform:translateX(-50%) translateY(-43vh) scale(.06);opacity:.1}}@keyframes launch-title{0%{opacity:0;transform:translateY(12px)}18%,75%{opacity:1;transform:none}100%{opacity:0}}@keyframes acceleration{0%{opacity:0}45%{opacity:.95}100%{opacity:0;translate:0 35vh;scale:1.7}}@keyframes tunnel-exit{to{transform:scale(2.5);filter:brightness(2);opacity:0}}@keyframes launch-fade{to{opacity:0}}
@media(max-width:800px){.ready-banner>.ready-label{min-width:130px;font-size:21px}.ready-stage{min-height:99px}.coded-cta.ready-banner{min-height:103px}.ready-question{font-size:42px}.ready-answers{font-size:35px;gap:17px}.ready-yes,.ready-hai{min-width:105px;padding:8px 12px}.ready-or{font-size:17px}.ready-cursor{left:calc(50% - 52px)}.ready-click-ring{left:calc(50% - 54px)}}
@media(max-width:650px){.coded-cta.ready-banner{min-height:98px}.ready-banner>.ready-label{min-width:84px;padding:10px 8px;font-size:13px}.ready-stage{min-height:94px}.ready-question{font-size:clamp(23px,6.6vw,37px)}.ready-answers{font-size:23px;gap:12px}.ready-yes,.ready-hai{min-width:69px;padding:7px 10px}.ready-or{font-size:12px}.ready-cursor{width:23px;height:31px;left:calc(50% - 35px)}.ready-click-ring{left:calc(50% - 37px)}.launch-car{width:88vw;bottom:15%}.launch-go{top:22%}.tunnel-frame{left:10%;width:80%;top:22%;height:36%}.learning-list article{gap:15px}.learning-list p{font-size:13px}.plan li{line-height:1.9}}
@media(hover:none){.ready-question{transform:translateY(-13px);opacity:1!important}.ready-answers{opacity:1;transform:translateY(23px);font-size:14px;gap:12px;pointer-events:none}.ready-yes,.ready-hai{min-width:48px;padding:2px 8px}.ready-or{font-size:10px}.ready-cursor,.ready-click-ring{display:none}.ready-banner:is(:hover,:focus-visible) .ready-question{transform:translateY(-13px)}.ready-banner:is(:hover,:focus-visible) .ready-answers{transform:translateY(23px)}}
@media(max-width:350px){.ready-banner>.ready-label{min-width:74px;font-size:12px}.ready-question{font-size:22px}.ready-answers{gap:9px}.ready-yes,.ready-hai{min-width:57px;font-size:19px}.ready-or{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ready-cursor,.ready-click-ring,.launch-sequence{display:none!important}.ready-yes{animation:none!important}.ready-question,.ready-answers{transition:none!important}}
