/* Two complete passes, then static text. */
.ticker-track{animation-iteration-count:2;animation-fill-mode:forwards}
.news-ticker.is-settled .ticker-track{animation:none!important;transform:none;width:100%}
.news-ticker.is-settled .ticker-group{width:100%;min-width:0;padding:0;white-space:normal;flex-wrap:wrap;justify-content:center;gap:6px 12px}
.news-ticker.is-settled .ticker-copy{display:none}.news-ticker.is-settled .ticker-window{mask-image:none}
body a.button.cta-line,body .closing .closing-action a.button.cta-line,body .mobile-cta a.cta-line,body .footer-socials a.footer-line{background:#008a3b;background-image:none;color:#fff;border-color:#27c96b}
body a.button.cta-line:hover,body .closing .closing-action a.button.cta-line:hover,body .mobile-cta a.cta-line:hover,body .footer-socials a.footer-line:hover{background:#007d35;color:#fff}
/* Silent footage follows the shutter. */
.launch-sequence.has-video.is-active{animation:none}
.launch-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#06121bb3,transparent 50%)}
.film-label{position:absolute;left:7%;bottom:8%;margin:0;color:#fff;font:italic 900 clamp(30px,5vw,68px)/1.1 Arial,sans-serif;letter-spacing:.02em;text-shadow:0 2px 15px #000}
.film-label span{display:block;margin-top:14px;font:700 11px/1.5 'Noto Sans JP',sans-serif;letter-spacing:.24em;color:#d0e7f4}
.has-video .shutter-door{animation:none}.has-video.is-playing .shutter-door{animation:garage-open .7s .05s cubic-bezier(.65,0,.2,1) both}
.film-skip{position:absolute;z-index:6;right:24px;top:24px;padding:9px 18px;border:1px solid #ffffff80;border-radius:24px;background:#071725b3;color:#fff;font-size:13px;cursor:pointer}
.film-skip:hover,.film-skip:focus-visible{background:#254761;outline:2px solid #fff;outline-offset:3px}
.launch-sequence.has-video.is-finishing{opacity:0;transition:opacity .25s}
/* Compact scale: reduce empty space, retain readable body text. */
.section h2{font-size:34px}.student-result strong{font-size:40px}
.wrap{max-width:1120px}.section{padding-block:72px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:34px}
.coded-hero{max-width:1320px;min-height:0;padding:32px 46px 24px}.coded-hero .chance-tag{font-size:25px;margin-bottom:17px}.coded-kicker{font-size:clamp(26px,3.5vw,49px)}.coded-hero h1{font-size:clamp(50px,6.8vw,93px);margin-bottom:17px}
.coded-features{margin-top:24px;gap:12px}.coded-features>div{min-height:152px;padding:13px 6px}.coded-features svg{width:30px;height:30px}.coded-features .profit{font-size:44px}.coded-laptop{width:32%;top:42%}.coded-bottom{margin-top:28px}
.coded-cta.ready-banner{min-height:94px}.ready-stage{min-height:90px}.ready-question{font-size:clamp(30px,4vw,54px)}
.support-banner{padding-block:25px}.audience{padding-block:58px}.audience-grid{gap:12px}.audience-grid article{padding:18px}.results-band{padding-block:30px}.results-grid strong{font-size:38px}
.learning-list article{padding-block:18px}.six-features{gap:16px}.six-features article{padding:22px}.feature-icon{width:38px;height:38px;margin-bottom:14px}
.plan{padding:29px 24px}.plan h3{font-size:31px}.plan-sky h3{font-size:34px}.plan>p.plan-target strong{font-size:39px}.plan li{padding-block:9px;line-height:1.8}
.student-card{padding:24px}.student-card .student-profit{font-size:40px}.community-grid article{padding:25px 20px}.closing{padding-block:64px}.closing h2{font-size:36px}.closing-layout{gap:48px}.original-footer{padding-top:44px}
@media(max-width:800px){
 .section h2{font-size:28px}
 .section{padding-block:46px}.section-heading h2{font-size:28px}.section-heading{margin-bottom:27px}
 .coded-hero{padding:28px}.coded-hero h1{font-size:clamp(49px,7.4vw,67px)}.coded-hero .chance-tag{font-size:22px}
 .coded-features>div{min-height:139px}.coded-features strong{font-size:17px}.coded-features .profit{font-size:37px}.coded-cta.ready-banner{min-height:90px}.ready-stage{min-height:86px}.ready-question{font-size:38px}
 .closing-layout{gap:25px}.closing h2{font-size:28px}.closing{padding-block:46px}.audience{padding-block:44px}
}
@media(max-width:650px){
 .section h2,.section .audience-heading h2{font-size:25px;line-height:1.55}.section .solution-panel h2{font-size:22px}.student-result strong{font-size:34px}.channel-icon{margin-bottom:14px}.audience-grid article{min-height:0}
 .plan .plan-number{margin:3px 0 9px}.plan h3{margin-top:6px}.plan>p.plan-audience{margin-bottom:10px}.plan>p.plan-target{padding-block:13px}.plan-grid{gap:35px}
 html{scroll-padding-top:77px}.wrap{width:calc(100% - 36px)}.header{height:64px}.header nav{top:64px}.section{padding-block:38px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:25px;line-height:1.5}.section-heading>p{font-size:13px}.eyebrow{font-size:12px;margin-bottom:10px}
 .coded-hero{padding:22px 18px 20px}.coded-hero .chance-tag{font-size:19px;margin-bottom:17px}.coded-kicker{font-size:5.4vw;line-height:1.5}.coded-hero h1{font-size:clamp(40px,11.8vw,69px);margin-bottom:17px;line-height:1.16}.coded-sub{font-size:12px;line-height:1.8}.coded-sub b{font-size:20px}.coded-sub strong{font-size:21px}
 .coded-features{gap:8px;margin-top:20px}.coded-features>div{min-height:126px;padding:11px 4px}.coded-features p{font-size:10px;line-height:1.6}.coded-features strong{font-size:14px}.coded-features svg{width:25px;height:25px}.coded-features .profit{font-size:31px}.coded-features .profit small{font-size:15px}.coded-features>div:nth-child(2)>p:first-of-type{font-size:16px;margin:7px 0 10px}
 .coded-laptop{width:55%;top:auto;right:auto;margin-top:13px;margin-bottom:15px}.coded-bottom{margin-top:14px}.coded-cta.ready-banner{min-height:84px}.ready-stage{min-height:80px}.ready-question{font-size:clamp(22px,6.3vw,33px)}.ready-banner>.ready-label{min-width:78px;font-size:12px;padding:9px 7px}
 .news-ticker{padding-block:11px}.news-ticker.is-settled .ticker-group{font-size:12px;line-height:1.7;gap:3px 8px}.news-ticker.is-settled .ticker-detail{font-size:10px}.support-banner{padding-block:22px}.support-banner p:last-child{font-size:13px}
 .audience{padding-block:35px}.audience-grid{gap:9px}.audience-grid article{padding:14px}.audience-grid p{font-size:12px;line-height:1.7}.results-band{padding-block:25px}.results-grid{gap:21px}.results-grid strong{font-size:29px}.results-grid p{font-size:11px}
 .challenge-intro{font-size:14px}.problem-list article{padding:17px}.problem-list h3,.solution-list h3{font-size:15px}.problem-list p,.solution-list p{font-size:13px}.solution-panel{padding:23px 20px}.solution-panel h3{font-size:21px}.solution-list article{padding-block:16px}
 .learning-list article{padding-block:16px;gap:15px}.learning-list h3{font-size:16px}.learning-list p{font-size:14px;line-height:1.8}.system-heading h2{font-size:26px}.system-heading>p:last-child{font-size:14px}.six-features{gap:12px}.six-features article{padding:21px}.six-features h3{font-size:16px}.six-features p{font-size:14px;line-height:1.8}
 .plan{padding:24px 21px}.plan h3,.plan-sky h3{font-size:29px}.plan>p.plan-target strong{font-size:34px}.plan li{font-size:13px;padding-block:8px;line-height:1.8}.plan .button.plan-cta{min-height:44px;font-size:13px}.student-card{padding:22px}.student-card blockquote{font-size:14px;line-height:1.9}.student-card .student-profit{font-size:34px}
 .community-grid{gap:14px}.community-grid article{padding:23px 20px}.channel-icon svg{width:44px;height:44px}.community-grid h3{font-size:18px}.community-grid p{font-size:13px}.community-grid .button{min-height:46px;padding-block:13px;font-size:14px}
 .closing{padding-block:38px}.closing h2{font-size:27px;line-height:1.55}.closing-layout{gap:22px}.closing-action{padding:23px 21px}.closing .closing-card-title{font-size:17px}.closing .closing-action .button{font-size:15px;padding:14px}.original-footer{padding-top:32px}.mobile-cta .button{min-height:42px;padding-block:10px;font-size:13px}
 .launch-film{object-position:35% center}.film-skip{top:18px;right:18px}.film-label{left:7%;bottom:12%}
}
@media(hover:none){.ready-question{transform:translateY(-12px)}.ready-answers{transform:translateY(21px);font-size:13px}.ready-banner:is(:hover,:focus-visible) .ready-question{transform:translateY(-12px)}.ready-banner:is(:hover,:focus-visible) .ready-answers{transform:translateY(21px)}}
@media(max-width:650px){
 .six-features article{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:13px;align-content:start;padding:19px 17px}
 .six-features .feature-icon{grid-row:1/4;width:32px;height:32px;margin:0}.six-features .feature-icon svg{width:21px;height:21px}
 .six-features h3{grid-column:2;font-size:15px;line-height:1.6;margin:0 0 6px}.six-features p{grid-column:2;margin:0;font-size:13px;line-height:1.8}.six-features .feature-status{grid-column:2;justify-self:start;margin-top:9px}
 .community-grid article{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:15px;text-align:left;align-items:center;padding:21px}
 .community-grid .channel-icon{grid-row:1/3;margin:0}.community-grid h3{margin:0 0 4px}.community-grid p{margin:0;font-size:12px;line-height:1.7}.community-grid .button{grid-column:1/-1;margin-top:16px}
 .mobile-cta>a{min-height:42px;padding-block:11px;font-size:12px}
}
@media(max-width:350px){.coded-hero .chance-tag{font-size:18px}.coded-sub b{font-size:17px}.coded-sub strong{font-size:19px}.coded-features strong{font-size:12px}.coded-features .profit{font-size:28px}.ready-banner>.ready-label{min-width:69px;font-size:11px}.ready-question{font-size:20px}.closing h2{font-size:25px}}

/* Keep the desktop comparison; compact, swipeable cards on smaller screens. */
.card-carousel{min-width:0}
.card-carousel-controls{display:none}
@media(max-width:800px){
 .card-carousel .card-carousel-track{position:relative;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100% - 6px);gap:14px;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;scrollbar-width:none;padding:24px 3px 12px;margin:0;-webkit-overflow-scrolling:touch}
 .card-carousel-track::-webkit-scrollbar{display:none}
 .card-carousel-track>.plan,.card-carousel-track>.student-card{min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
 .card-carousel-track>.student-card{height:auto}
 .card-carousel:has(.plan-grid){margin-top:24px}
 .card-carousel:has(.student-grid) .card-carousel-track{padding-top:4px}
 .card-carousel-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;padding-top:8px;color:#c6dbea}
 .card-carousel-dots{display:flex;align-items:center;gap:2px}
 .card-carousel-dot{display:grid;place-items:center;width:28px;height:36px;padding:0;border:0;background:transparent;color:inherit}
 .card-carousel-dot::before{content:"";width:6px;height:6px;border-radius:10px;background:#678198;transition:width .2s,background .2s}
 .card-carousel-dot[aria-current="true"]::before{width:22px;background:#ffda78;box-shadow:0 0 9px #ffda7833}
 .card-carousel-count{font:600 11px/1.5 Arial,sans-serif;letter-spacing:.1em;font-variant-numeric:tabular-nums}
 .card-carousel-pause{min-height:36px;padding:5px 11px;border:1px solid #526e85;border-radius:18px;background:transparent;color:#d6e7f3;font-size:11px;line-height:1.5}
 .card-carousel-pause:hover{background:#29455e}
 .card-carousel-track:focus-visible{outline:2px solid #80d7f3;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.card-carousel-dot::before{transition:none}}
