/* Final layout pass: readable cards, balanced headings, six-use grid. */
h2,h3{line-break:strict;text-wrap:pretty;word-break:normal}.phrase{display:inline-block}.section-lead{max-width:760px}.teacher-grid{align-items:start;gap:clamp(30px,5vw,70px)}.teacher-title{align-self:start;padding:38px 32px}.teacher-story .lead{line-height:1.7;margin-bottom:24px}.teacher-story p{line-height:1.95}.teacher-story p+p{margin-top:22px}.teacher{border-bottom:1px solid #e3e9e3}.use-list{grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:1px;background:#4c7478}.use-list>span,.use-list>span:last-child{border:0;background:#082b37;padding:24px 12px}.feature:not(.major){display:block;padding:30px}.feature:not(.major) .feature-no{float:right;font-size:40px;margin:0 0 12px 16px;color:#b29b65}.feature:not(.major) .tag{display:block;min-height:30px;padding-top:5px}.feature:not(.major) h3{clear:both;line-height:1.6;margin:14px 0}.feature:not(.major) p{font-size:15px;line-height:1.9}.feature.major h3 .phrase{margin-right:.1em}.feature.major{border-radius:10px}.feature{border-radius:8px}.flow-grid li{border-radius:0 0 10px 10px}.flow-grid p{line-height:1.9}.recap-grid h3,.device-recap h3{line-height:1.65}.faq details{scroll-margin-top:110px}.faq summary{line-height:1.65}.seminar-voices{background:#f5f1e7}.voices-caption{max-width:740px;font-size:12px;color:#687166;line-height:1.8;margin-top:20px}.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}.voice-grid article{background:#fff;border:1px solid #e2ddce;border-radius:10px;padding:30px 26px;border-top:3px solid #ae8d4b}.voice-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:#81652f}.voice-grid h3{font-size:21px;line-height:1.65;margin:20px 0}.voice-grid p{font-size:14px;line-height:1.95;color:#526259}.lecturer-voice{margin-top:30px;border-left:3px solid #b99858;padding:12px 0 12px 30px;max-width:820px}.lecturer-voice h3{font-size:25px;line-height:1.65;margin:15px 0}.lecturer-voice p{line-height:1.95}.lecturer-voice .note{margin-top:14px}.price-card{border-radius:10px;overflow:hidden}.deadline strong small{display:block;margin-top:5px}.price-card .button{line-height:1.5}.hero-grid{padding-bottom:35px}.note{line-height:1.8}
@media(min-width:641px) and (max-width:1000px){.teacher-grid{grid-template-columns:1fr;gap:34px}.teacher-title{max-width:650px;padding:32px}.teacher-title h2 br{display:none}.teacher-title h2 .phrase{margin-right:.25em}.voice-grid{grid-template-columns:1fr}.voice-grid article{padding:26px}.offer-grid{grid-template-columns:1fr;max-width:740px}.offer-message h2{font-size:36px}.price{font-size:76px}.price-card .button{font-size:16px}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.section{padding-top:58px;padding-bottom:58px}.hero-grid{padding-bottom:18px}.teacher{padding-top:28px}.teacher-title{padding:27px 24px;margin-right:6px}.teacher-title h2{font-size:clamp(21px,6.1vw,27px);line-height:1.65;letter-spacing:-.025em}.teacher-title .eyebrow{font-size:9px;letter-spacing:.09em}.teacher-name{margin-top:24px;padding-top:22px}.teacher-story .lead{font-size:21px;line-height:1.65}.teacher-story p{font-size:15px;line-height:1.95}.teacher-story .note{font-size:12px}.teacher-grid{gap:32px}.intro h2{font-size:clamp(24px,6.5vw,29px)}.intro .narrow>p:not(.eyebrow) br{display:none}.benefits-heading{gap:12px;align-items:center}.giant-seven{font-size:86px}.benefits-heading h2{font-size:clamp(19px,5.25vw,23px);letter-spacing:-.035em}.benefits-kicker{letter-spacing:0}.feature:not(.major){padding:24px;margin-bottom:0}.feature:not(.major) h3{font-size:21px}.feature.major h3{font-size:clamp(21px,5.7vw,25px)}.inclusions{gap:18px}.feature.major{margin-bottom:0}.use-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.use-list>span,.use-list>span:last-child{grid-column:auto;border:0;padding:19px 8px;font-size:13px}.use-list b{display:block;margin:0 0 6px}.voice-grid{grid-template-columns:1fr;gap:16px}.voice-grid article{padding:25px}.voice-grid h3{font-size:22px}.voice-grid p{font-size:15px}.lecturer-voice{padding-left:20px}.lecturer-voice h3{font-size:22px}.price-card{margin:0}.price{font-size:clamp(51px,16vw,65px)}.deadline strong{font-size:21px}.deadline strong small{font-size:14px}.price-ribbon span{font-size:10px;line-height:1.8}.offer-points{flex-wrap:wrap;gap:6px}.offer-points span{font-size:10px}.closing p br{display:none}.faq summary{padding-right:28px}.method-intro h2,.section-top h2{font-size:30px}.section-lead{font-size:16px}}

.use-list>span.use-more{grid-column:1/-1;background:#103c46;padding:20px 16px}.use-list>span.use-more b{display:inline-block;margin:0 14px 0 0}@media(max-width:640px){.inclusions>.feature+.feature{margin-top:18px}.use-list>span.use-more{font-size:14px;padding:20px 10px}}

/* Clear vertical price comparison. */
.use-list>span.use-more{background:#082b37}
.price-transition{margin-top:30px;text-align:center}.price-transition .regular{margin:0;color:#526368;line-height:1.4}.price-transition .regular>span{display:block;font-size:14px;letter-spacing:.08em;margin-bottom:6px}.price-transition .regular s{display:inline-block;font-size:40px;font-weight:800;position:relative;text-decoration:none;line-height:1.3}.price-transition .regular s:after{content:'';position:absolute;left:-6px;right:-6px;top:52%;height:3px;background:#a9361d;transform:rotate(-7deg)}.price-transition .regular s span{font-size:24px;margin-left:4px}.price-arrow{font-size:50px;font-weight:800;line-height:1.2;margin:10px 0 4px;color:#ad3a21}.price-card .price{margin-top:0;font-size:clamp(66px,6.2vw,88px);color:#092d37;font-weight:900;letter-spacing:-.04em}.price-card .price-saving{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;margin:20px auto 0;padding:13px 16px;background:#a9361d;color:#fff;border-radius:5px}.price-saving>span{font-size:13px}.price-saving>strong{font-size:38px;line-height:1.15;margin:0;font-weight:900;letter-spacing:-.02em}.price-saving strong small{font-size:25px;margin:0 3px}
@media(max-width:640px){.price-transition{margin-top:25px}.price-transition .regular s{font-size:36px}.price-transition .regular>span{font-size:12px}.price-arrow{font-size:44px;margin:8px 0 3px}.price-card .price{font-size:clamp(51px,16vw,65px)}.price-card .price-saving{gap:10px;padding:13px 8px}.price-saving>strong{font-size:34px}.price-saving>span{font-size:12px}}

.multi-use{background:#f2ead7;text-align:center;border-top:1px solid #dac999}.multi-use h2{font-size:clamp(30px,4.1vw,52px);line-height:1.5;color:#113d43}.multi-use .eyebrow{color:#89692f}.multi-lead{font-size:22px;line-height:1.8;color:#58665b;margin-top:24px}.multi-map{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:50px;margin:45px auto;max-width:1000px;text-align:left}.multi-core{background:#103b44;color:#fff;padding:38px 25px;border-radius:50%;width:280px;height:280px;text-align:center;display:flex;flex-direction:column;justify-content:center;box-shadow:0 0 0 9px #fff7,0 0 0 10px #baa36c;position:relative}.multi-core:after{content:'→';position:absolute;right:-42px;top:40%;font-size:36px;color:#96763d}.multi-core span{font-size:12px;color:#e4cf9a}.multi-core strong{font-size:29px;line-height:1.5;margin:12px 0}.multi-core small{font-size:10px;letter-spacing:.15em;color:#c4d9d6}.multi-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.multi-branches>span{background:#fff;padding:24px 12px;text-align:center;border-radius:8px;border:1px solid #d8cba9;color:#697365;font-size:12px}.multi-branches b{display:block;color:#164f52;font-size:18px;margin-top:8px}.multi-message{border-top:1px solid #d3c4a0;padding-top:32px}.multi-message h3{font-size:28px;line-height:1.65;color:#153d40}.multi-message p{margin:20px 0;line-height:1.9}.multi-use .note{max-width:800px;margin:25px auto 0;text-align:left;color:#687166;font-size:12px}@media(max-width:900px){.multi-map{grid-template-columns:1fr;gap:45px}.multi-core{margin:auto}.multi-core:after{content:'↓';right:calc(50% - 15px);top:auto;bottom:-49px}.multi-branches{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.multi-use h2{font-size:clamp(25px,7.4vw,32px);letter-spacing:-.035em}.multi-lead{font-size:19px}.multi-core{width:220px;height:220px;padding:25px}.multi-core strong{font-size:25px}.multi-map{margin:35px 0}.multi-branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.multi-branches>span{padding:20px 8px}.multi-branches b{font-size:17px}.multi-message h3{font-size:22px}.multi-message p{font-size:15px}}
/* Readability pass: main information is large; notes stay secondary. */
.section p:not(.eyebrow):not(.note):not(.small-label):not(.tag):not(.price):not(.regular):not(.price-ribbon):not(.price-caption):not(.payment-note):not(.early-close):not(.voices-caption){font-size:17px;line-height:1.95}
.section h2{font-size:clamp(34px,3.5vw,48px);line-height:1.5}.section h3{font-size:24px;line-height:1.6}.section .section-lead,.section .lead{font-size:21px!important}.teacher-title h2{font-size:32px}.feature:not(.major) p{font-size:17px}.feature:not(.major) h3{font-size:24px}.offer-message li{font-size:18px;line-height:1.9;margin-bottom:12px}.price-card .button{font-size:22px;min-height:86px;padding:20px 14px;gap:12px}.price-card .button>span{flex-shrink:0}.deadline>span{font-size:18px}.deadline strong{font-size:30px;line-height:1.5}.deadline strong small{font-size:23px;margin-top:6px}.price-transition .regular>span{font-size:17px}.installment-summary>strong{font-size:20px}.installment-summary>p:not(.note){font-size:20px!important}.faq summary{font-size:21px;line-height:1.65}.use-list>span,.use-list>span.use-more{font-size:18px}.hero .button{font-size:20px}.hero-date{font-size:15px}.sticky .button{font-size:17px}.price-caption{font-size:16px}.price-ribbon>span{font-size:14px}.price-saving>span{font-size:16px}.flow-grid h3{font-size:23px}
@media(min-width:641px) and (max-width:1000px){.hero .button{font-size:17px}.teacher-title h2{font-size:32px}.offer-grid{grid-template-columns:1fr}.price-card .button{font-size:24px}}
@media(max-width:640px){.section h2{font-size:clamp(27px,7.6vw,34px)}.section h3{font-size:23px}.section .lead,.section .section-lead{font-size:19px!important}.section p:not(.eyebrow):not(.note):not(.small-label):not(.tag):not(.price):not(.regular):not(.price-ribbon):not(.price-caption):not(.payment-note):not(.early-close):not(.voices-caption){font-size:17px}.teacher-title h2{font-size:clamp(22px,6.1vw,27px)}.benefits-heading h2{font-size:clamp(21px,5.75vw,26px)}.feature:not(.major) h3{font-size:23px}.price-card .button{font-size:clamp(17px,4.65vw,21px);min-height:82px;padding:19px 10px;gap:8px;letter-spacing:-.035em}.price-card .button>span{width:25px;height:25px;font-size:16px}.deadline>span{font-size:16px}.deadline strong{font-size:clamp(23px,6.6vw,28px)}.deadline strong small{font-size:22px}.installment-summary>strong{font-size:19px}.installment-summary>p:not(.note){font-size:19px!important}.faq summary{font-size:19px}.hero .button{font-size:17px;padding-left:12px;padding-right:12px}.hero-date{font-size:12px;line-height:1.8}.sticky .button{font-size:15px}.use-list>span,.use-list>span.use-more{font-size:15px}.price-ribbon>span{font-size:11px}.price-caption{font-size:14px}.price-saving>span{font-size:13px}.offer-message li{font-size:17px}.multi-use h2{font-size:clamp(25px,7.2vw,32px)}.multi-message h3{font-size:22px}.feature.major h3{font-size:clamp(21px,5.7vw,25px)}}
/* Bottom fixed application button. */
.sticky .button{font-size:21px;font-weight:800;min-height:60px;line-height:1.4;white-space:nowrap}
@media(max-width:640px){.sticky .button{font-size:clamp(17px,4.65vw,20px);min-height:56px;padding:12px 10px;gap:8px;letter-spacing:-.035em}.sticky .button span{width:24px;height:24px;flex-shrink:0;font-size:16px}}

.circulation{background:#fff;border-top:1px solid #dce7e1}.circulation-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:36px 0}.circulation-grid article{padding:30px;background:#f0f5f2;border-radius:10px;border-top:3px solid #287572}.circulation-no{font:italic 32px Georgia;color:#8c7542}.circulation-grid h3{margin:16px 0}.circulation-grid p+p{margin-top:18px}.circulation-study{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;background:#f7f1e5;border:1px solid #d9c9a7;padding:35px;border-radius:12px}.study-tag{font-size:13px;font-weight:700;color:#7b602e}.circulation-study h3{margin:18px 0}.study-scope{background:#fff;padding:25px;border-radius:8px}.study-scope strong{font-size:20px;color:#155758}.study-scope ul{padding-left:1.3em;margin-top:16px}.study-scope li{font-size:17px;line-height:1.8;margin:12px 0}.circulation-study .study-conclusion{grid-column:1/-1;margin:0;border-top:1px solid #d9c9a7;padding-top:22px;font-weight:600;color:#334d4a}.circulation-references{margin-top:22px;color:#526760;font-size:13px}.circulation-references summary{cursor:pointer;padding:12px 0}.section .circulation-references p{font-size:13px;line-height:1.8;margin:12px 0}@media(max-width:800px){.circulation-grid,.circulation-study{grid-template-columns:1fr;gap:20px}.circulation-study{padding:25px}.circulation-grid article{padding:25px}.study-scope{padding:22px}.circulation h2{font-size:clamp(23px,6.3vw,34px)}.circulation h2 .phrase{white-space:normal}.circulation-study h3 br{display:none}}

.price-arrow{display:flex;align-items:center;justify-content:center;gap:12px}.price-arrow>small{font:800 16px/1.2 Arial,sans-serif;letter-spacing:0;color:#fff;background:#a9361d;padding:6px 8px;border-radius:3px}.keio-study{margin:28px 0;padding:30px;border:1px solid #d8e3dd;border-radius:10px;background:#f7f9f6}.keio-study h3{margin:18px 0}.keio-study p+p{margin-top:18px}.keio-study .study-conclusion{border-top:1px solid #d8e3dd;padding-top:18px;font-weight:600}@media(max-width:640px){.price-arrow{gap:10px}.price-arrow>small{font-size:14px;padding:5px 7px}.keio-study{padding:24px}.keio-study h3 br{display:none}}

/* Keep the kit title on exactly two intentional lines. */
.kit-label{width:250px;padding:22px 24px}.kit-label b{font:700 30px/1.15 Georgia,serif;letter-spacing:0;overflow-wrap:normal;word-break:normal}.kit-label b .kit-word{display:block;white-space:nowrap;font:inherit;letter-spacing:inherit}

/* Center CTA labels independently of their trailing arrows. */
.button,.nav-cta,.countdown-bar .countdown-cta{position:relative;justify-content:center;text-align:center;line-height:1.5}
:is(.hero,.price-card,.closing,.sticky) .button{justify-content:center;text-align:center;padding:18px 48px;font-size:26px;line-height:1.5;white-space:normal;gap:0;max-width:100%;min-width:0}
.button>span,.nav-cta>span,.countdown-cta>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0}
.header .nav-cta{font-size:17px;padding:12px 38px}
.countdown-bar .countdown-cta{font-size:16px;padding:12px 38px}
.sticky .button{font-size:23px;padding:14px 42px;min-width:280px}
@media(max-width:1000px){:is(.hero,.price-card,.closing) .button{font-size:23px}.sticky .button{min-width:0}}
@media(max-width:640px){:is(.hero,.price-card,.closing) .button{font-size:clamp(20px,5.4vw,23px);padding:17px 38px;letter-spacing:0;min-height:76px}.sticky .button{font-size:clamp(18px,4.9vw,21px);padding:12px 32px;line-height:1.4;letter-spacing:0}.button>span{right:8px}.header .nav-cta{font-size:14px;padding:10px 28px}.nav-cta>span{right:9px}}

/* Return CTA labels to a slightly inset left alignment. */
.button,.nav-cta,.countdown-bar .countdown-cta{justify-content:flex-start;text-align:left}
:is(.hero,.price-card,.closing,.sticky) .button{justify-content:flex-start;text-align:left;padding-left:30px;padding-right:48px}
.header .nav-cta{padding-left:28px}
.countdown-bar .countdown-cta{padding-left:24px}
.sticky .button{padding-left:30px;padding-right:42px}
@media(max-width:640px){:is(.hero,.price-card,.closing) .button{padding-left:20px;padding-right:38px}.sticky .button{padding-left:18px;padding-right:32px}.header .nav-cta{padding-left:17px}}

.direct-checkout{margin:0}.direct-checkout .button{width:100%;font-family:inherit;cursor:pointer}

.closing-welcome{display:block;white-space:nowrap;margin-top:.3em}@media(max-width:640px){.closing-welcome{font-size:clamp(14px,4.35vw,23px);letter-spacing:0}}
