/* 2026-09 review: extend the existing red / white visual system. */
:root{--soft:#f5f6f7;--warm:#fff;--muted:#525b65}
html{scroll-padding-top:100px}
body{overflow-wrap:break-word;word-break:normal;line-break:strict}
.site-header__inner{gap:18px}.global-nav{gap:18px;font-size:.875rem}.global-nav>a{white-space:nowrap}
.site-header .brand{width:175px;height:70px}.site-header .brand img{width:175px;transform:translateY(-10px)}
.hero{min-height:610px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.hero__copy{padding:54px max(24px,calc((100vw - 1240px)/2));padding-right:36px}
.hero h1{font-size:clamp(2.35rem,4vw,3.8rem);line-height:1.35}.hero__visual{min-height:610px}
.hero__actions .button{font-size:1rem;gap:8px;padding:14px 18px;line-height:1.5}
.hero__proof{margin-top:28px}.hero__proof dt{font-size:1.2rem}.hero__proof dd{font-size:.875rem}
.section{padding:80px 0}.section-heading{margin-bottom:34px}.section-heading h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.4}
.research-note{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}.research-note summary{cursor:pointer;font-weight:700}
.products.section--dark{background:#f4f5f6;color:var(--ink)}.products .section-heading--light p{color:var(--muted)}.products .section-heading--light .eyebrow{color:var(--red)}
.product-card{background:#fff;color:var(--ink);border:1px solid var(--line)}.product-card__copy>p:not(.product-card__no){color:var(--muted)}.product-card__copy>a{color:var(--red)}
.product-card__visual--pamphlet{background:#fff}.product-card__visual--pamphlet img{object-fit:contain}
.case-card__visual--event strong{font-size:2rem}.product-conditions{padding-block:60px;max-width:1000px}.product-conditions h2{font-size:2rem}.product-conditions p{font-size:1rem}
.subhero h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.4}.feature-list p,.spec-grid p,.subpanel p{font-size:1rem}.subhero__copy>p:not(.eyebrow){font-size:1.125rem}
.button{height:auto;padding-block:12px;line-height:1.5}.site-footer__nav a{min-height:40px}.site-footer__brand img{height:auto;max-width:220px}
@media(max-width:1150px){
 .menu-button{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px}
 .global-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);max-height:75vh;overflow-y:auto;align-items:stretch}
 .global-nav.is-open{display:flex;flex-direction:column;gap:4px}.global-nav>a:not(.nav-cta){padding:12px 0}.global-nav>a{white-space:normal}.nav-cta{padding:12px}
}
@media(max-width:920px){.hero{grid-template-columns:1fr}.hero__visual{min-height:320px;max-height:420px}.hero__copy{padding:42px 24px}.hero__visual img{max-height:420px;object-position:50% 55%}.section-heading--split{gap:24px}.hero__visual-proof{max-width:85%}}
@media(max-width:620px){.section{padding:56px 0}.hero__actions{display:grid}.hero__actions .button{width:100%}.hero__visual{min-height:280px;max-height:320px}.hero__visual img{max-height:320px}.hero__proof{gap:12px}.hero__proof dt{font-size:1rem}.hero__proof dd{font-size:.875rem}.prototype-bar__inner{flex-wrap:wrap;gap:6px}.prototype-bar__note{display:none}.prototype-bar strong{font-size:.65rem}.hero h1{font-size:2.25rem}.subhero__grid{gap:0}.subhero__copy{padding:40px 0}.subhero__visual{min-height:0}.button{max-width:100%;white-space:normal}.subhero__actions{display:grid}.site-footer__nav{gap:24px}.case-card__copy p,.support-card p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.global-nav{flex-wrap:wrap;justify-content:flex-end}.products .product-card a{color:#b01520}.products .product-card .book-purchase{background:#c91f2e;color:#fff}.products .product-card__no{color:#b01520}.products .section-heading--light h2{color:#17191c}
@media(max-width:920px){.hero__copy{order:0}.hero__visual{order:1}}
@media(max-width:620px){.hero__copy{padding:30px 24px}.hero h1{font-size:1.8rem;line-height:1.45}.hero__actions{margin-top:24px}.hero__proof{margin-top:22px}}
/* Book illustrations and source-grounded survey, September 2026. */
.hero__visual--teaching img{object-fit:cover;object-position:52% 35%}.hero__visual--teaching:after{background:linear-gradient(180deg,transparent 65%,rgba(14,25,36,.68))}.hero__visual--teaching .hero__visual-proof{top:auto;left:32px;bottom:32px;color:#fff}.hero__visual--teaching .hero__visual-proof strong{font-size:1.5rem;line-height:1.5}.hero__visual--teaching .hero__visual-proof span{font-size:.75rem}
.survey-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:36px 0 24px}.survey-results>div{border-top:3px solid #c91f2e;padding-top:18px}.survey-results span{display:block;font-size:1rem;font-weight:700}.survey-results strong{display:block;font-size:3.2rem;line-height:1.4;letter-spacing:-.04em}.survey-results small{font-size:1.2rem;letter-spacing:0}.survey-source{font-size:.875rem;line-height:1.85;color:#59616a}.survey-source a{text-decoration:underline;color:#a71020;text-underline-offset:4px}
.book-samples{background:#f4f6f8}.book-sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.book-sample-grid figure{margin:0;min-width:0}.book-sample-grid figure>a{display:block;background:white;border:1px solid #d8dde3;box-shadow:0 10px 28px #1c273410}.book-sample-grid img{display:block;width:100%;height:auto}.book-sample-grid figcaption{padding:18px 0;font-size:1rem;line-height:1.8}.book-sample-grid figcaption strong,.book-sample-grid figcaption span{display:block}.book-sample-grid figcaption strong{font-size:1.25rem}.book-sample-grid figcaption a{color:#ae1422;text-decoration:underline}.book-more{margin-top:24px;padding-top:20px;border-top:1px solid #ccd2d8}.book-more summary{font-size:1rem;font-weight:700;cursor:pointer;padding:10px 0}.book-more[open] .book-sample-grid{margin-top:24px}.paperback-plan{padding:12px 16px;border-left:3px solid #c91f2e;background:#f5f6f7;font-size:1rem!important;line-height:1.8}
.product-card__visual--consulting img{object-position:50% 30%}.product-card__visual--consulting{overflow:hidden}
@media(max-width:760px){.book-sample-grid{grid-template-columns:1fr;max-width:500px;margin-inline:auto}.survey-results{gap:12px}.survey-results strong{font-size:2.2rem}.survey-results small{font-size:.875rem}.survey-results span{font-size:.875rem}.hero__visual--teaching img{object-position:50% 22%}.hero__visual--teaching .hero__visual-proof{left:24px;bottom:20px}.hero__visual--teaching .hero__visual-proof strong{font-size:1.2rem}}

/* Review feedback: concise navigation, readable wrapping and section numbers. */
.gp-phrase{display:inline-block;max-width:100%}
main :is(h1,h2,h3){line-height:1.4;letter-spacing:-.02em;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
.feature-list b,.feature-list--4 b,.about-strip__points strong{font-size:2rem;line-height:1.1;letter-spacing:0;font-variant-numeric:tabular-nums}
.feature-list h3{margin-top:18px}.product-card__no{font-size:1rem;margin-bottom:20px}.product-card__no.book-release{font-size:1rem}
.pathway-card,.product-card,.resource-item,.support-card,.case-card{min-width:0}
.partner-halls{padding:40px 0;background:#fff;border-bottom:1px solid #d9dfe5}
.partner-halls__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.partner-halls h2{font-size:2rem;margin:8px 0 16px}.partner-halls p{font-size:1rem;line-height:1.8;margin:0 0 12px}.partner-halls .eyebrow{font-size:.875rem}
.partner-halls__intro>a{font-size:1rem;color:#a51120;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.partner-hall-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:20px;border:1px solid #d9dfe5;color:#202329;background:#f5f6f7;text-decoration:none}
.partner-hall-card:hover{border-color:#c91f2e}.partner-hall-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.partner-hall-card h3{margin:0 0 10px;font-size:1.35rem}.partner-hall-card p{font-size:.875rem;margin:0 0 8px}.partner-hall-card span{display:block;margin-top:16px;color:#a51120;font-size:1rem;font-weight:700}
@media(max-width:1280px){.menu-button{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px}.global-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);max-height:75vh;overflow-y:auto;align-items:stretch}.global-nav.is-open{display:flex;flex-direction:column;gap:4px}.global-nav>a:not(.nav-cta){padding:12px 0}.global-nav>a{white-space:normal}.nav-cta{padding:12px}}
@media(max-width:760px){
 main h1{font-size:2rem}.hero h1{font-size:1.875rem}main h2,.section-heading h2,.subsection h2,.subcta h2{font-size:1.75rem}main h3,.product-card h3{font-size:1.375rem}
 .partner-halls__inner{grid-template-columns:1fr;gap:24px}.partner-hall-card{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:16px}.partner-hall-card h3{font-size:1.125rem}.partner-halls{padding-block:32px}
 .hero__lead{font-size:1.25rem}.hero__lead br{display:none}.feature-list b,.about-strip__points strong{font-size:1.75rem}
}
@media(max-width:380px){.partner-hall-card{grid-template-columns:1fr}.partner-hall-card img{max-width:180px}}

.legacy-resources .site-header__inner{min-height:82px;display:flex;align-items:center;justify-content:space-between}.legacy-resources .site-header .brand{display:block;overflow:hidden;flex-shrink:0}.legacy-resources .global-nav{display:flex;align-items:center}.legacy-resources .nav-cta{background:#c91f2e;color:#fff;padding:12px 20px}.legacy-resources .menu-button{display:none;border:1px solid #ccd1d7;background:#fff;font-size:1rem}
@media(max-width:1280px){.legacy-resources .global-nav{display:none}.legacy-resources .global-nav.is-open{display:flex;align-items:stretch}.legacy-resources .menu-button{display:flex}}
@media(max-width:760px){.legacy-resources .hero{padding-block:40px;min-height:0}.legacy-resources .hero h1{font-size:2rem}.legacy-resources .section-head h2,.legacy-resources .cta-grid h2{font-size:1.75rem}.legacy-resources .card-copy h3{font-size:1.375rem}}

/* Three independently linked partner halls. */
.partner-halls__inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.partner-halls__intro{grid-column:1/-1}.partner-hall-card{display:flex;flex-direction:column;align-items:stretch;gap:20px}.partner-hall-card img{aspect-ratio:4/3;object-fit:contain}.partner-hall-card h3{font-size:1.25rem;line-height:1.5}
@media(max-width:900px){.partner-halls__inner{grid-template-columns:1fr}.partner-hall-card{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center}}
@media(max-width:560px){.partner-hall-card{grid-template-columns:100px minmax(0,1fr);gap:16px}.partner-hall-card h3{font-size:1.125rem}}
@media(max-width:380px){.partner-hall-card{grid-template-columns:1fr}.partner-hall-card img{max-width:240px}}

/* Corporate refresh — readable Japanese, restrained color and larger material images. */
:root{--ink:#142334;--red:#be2432;--soft:#f2f5f7;--line:#dce2e8;--muted:#526373}
body{font-family:"Hiragino Sans","Yu Gothic",Meiryo,Arial,sans-serif;color:#142334;background:#fff;line-height:1.9}
.prototype-bar{background:#142334;color:#fff;border:0}.prototype-bar__inner{padding-block:8px;min-height:0;justify-content:flex-start}.prototype-bar strong{font-size:13px;letter-spacing:.03em;line-height:1.6;font-weight:500}
.site-header{border-bottom:1px solid #dce2e8}.site-header__inner{min-height:82px}
main :is(h1,h2,h3){letter-spacing:0;line-height:1.5;text-wrap:pretty}
main .hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);min-height:0;background:#142334;color:#fff}
.hero__copy{padding:76px 56px 56px max(28px,calc((100vw - 1240px)/2));min-width:0;display:flex;align-items:center}
.hero__copy-inner{max-width:710px}.hero .eyebrow{color:#d8e3ec;font-size:.8rem;letter-spacing:.15em;margin-bottom:28px}
.hero h1{font-size:clamp(1.85rem,3.1vw,2.85rem);font-weight:700;line-height:1.6;margin:0 0 26px;letter-spacing:0;color:#fff}.hero-title-line{display:block;color:#fff}
.hero__description{font-size:17px;line-height:2;color:#d6e0e9;max-width:640px;margin:0 0 30px}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:0}.hero__actions .button{font-size:16px;padding:15px 24px;border:1px solid transparent;min-width:175px}.hero__actions .button--primary{background:#be2432;color:#fff}.hero__actions .button--secondary{background:transparent;color:#fff;border-color:#84919e}
.hero-diagnosis{display:inline-block;color:#dce6ee;font-size:14px;line-height:1.8;text-decoration:underline;text-underline-offset:4px;margin-top:20px}
.hero .hero__proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid #52616f;padding-top:24px;margin:32px 0 0}.hero .hero__proof>div{border:0;padding:0}.hero .hero__proof dt{font-size:16px;line-height:1.8;color:#fff;letter-spacing:0}.hero .hero__proof dd{font-size:12px;line-height:1.8;color:#c6d3de;margin:6px 0 0}
.hero__visual{margin:0;position:relative;min-height:610px;height:100%;max-height:none;overflow:hidden}.hero__visual img{width:100%;height:100%;max-height:none;position:absolute;inset:0;object-fit:cover;object-position:50% 45%}.hero__visual:after{display:none}.hero__visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:64px 30px 28px;background:linear-gradient(transparent,rgba(12,27,39,.9));font-size:17px;line-height:1.85;color:#fff}.hero__visual small{display:block;font-size:12px;opacity:.85;margin-top:10px}
.section{padding:88px 0}.section-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.55}.eyebrow{letter-spacing:.06em;font-size:.85rem}.section-heading p{font-size:17px;line-height:1.9}.section-heading .eyebrow{font-size:.85rem}
.education-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:80px;align-items:center}.staff-education{background:#eef2f5;border-bottom:1px solid #dce2e8}.education-copy h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:16px 0 24px}.education-copy>p:not(.eyebrow){font-size:17px;line-height:1.95;color:#425263;max-width:690px}.education-copy ul{list-style:none;margin:28px 0;padding:0;border-top:1px solid #cbd4dd}.education-copy li{padding:16px 0;border-bottom:1px solid #cbd4dd}.education-copy li strong{display:block;font-size:18px}.education-copy li span{display:block;font-size:15px;color:#526373;margin-top:6px}.education-material{margin:0}.education-material img{display:block;width:100%;height:auto;background:#fff;border:1px solid #dce2e8;box-shadow:0 16px 36px #14233416}.education-material figcaption{font-size:13px;line-height:1.9;color:#526373;margin-top:18px}
.pathway-card,.product-card,.support-card,.case-card{box-shadow:none;border-color:#dce2e8}.pathway-card{background:#fff}.pathway-card h3,.support-card h3{font-size:1.4rem}.pathway-card p,.support-card p,.case-card__copy p{font-size:16px;line-height:1.9}.products.section--dark{background:#142334}.products .section-heading--light h2{color:#fff}.products .section-heading--light p{color:#c8d4df}.products .section-heading--light .eyebrow{color:#e2a8b0}.product-card__copy{padding:38px}.product-card h3{font-size:clamp(1.4rem,2.3vw,2rem)}.product-card__visual img{max-width:100%}.product-card__visual--consulting img{object-position:50% 45%}.product-card__copy>p:not(.product-card__no){font-size:16px;line-height:1.9}
.partner-halls{padding-block:68px}.partner-hall-card{background:#fff;border-color:#dce2e8;padding:0;overflow:hidden}.partner-hall-card>div{padding:0 24px 24px}.partner-hall-card img{max-width:none;width:100%;background:#f1f4f6}.about-strip{background:#eef2f5}.site-footer{background:#142334;color:#fff}.site-footer__nav a{color:#fff}
.subhero{background:#eef2f5}.subhero h1{font-size:clamp(2rem,3.7vw,3.3rem)}.subhero__copy>p:not(.eyebrow){font-size:17px;line-height:1.95}.subsection h2,.subcta h2{font-size:clamp(1.8rem,3vw,2.6rem)}.feature-list h3{font-size:1.4rem}.subcta{background:#142334}.subcta h2,.subcta p{color:#fff}.feature-list p,.spec-grid p,.subpanel p{font-size:16px;line-height:1.9}
@media(max-width:1050px){main .hero{grid-template-columns:1fr 40%}.hero__copy{padding:54px 30px}.hero h1{font-size:2rem}.hero__proof dd{font-size:12px}.education-grid{gap:40px;grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:760px){main .hero{grid-template-columns:1fr}.hero__copy{padding:42px 24px}.hero h1{font-size:1.8rem;line-height:1.65}.hero__description{font-size:16px;line-height:1.95}.hero__visual{min-height:330px;height:330px;max-height:none}.hero__visual img{max-height:none;object-position:50% 48%}.hero__visual figcaption{font-size:15px;padding:50px 24px 20px}.hero__proof{gap:12px}.hero .hero__proof dt{font-size:15px}.hero .hero__proof dd{font-size:12px}.hero__actions{display:grid;grid-template-columns:1fr 1fr}.hero__actions .button{min-width:0;width:100%;padding:13px 10px;font-size:15px}.hero-diagnosis{font-size:13px}.section{padding-block:56px}.education-grid{grid-template-columns:1fr;gap:30px}.education-copy h2{font-size:1.65rem}.education-copy h2 br{display:none}.education-material{max-width:310px;margin:auto}.section-heading h2{font-size:1.7rem}.section-heading p{font-size:16px}.product-card__copy{padding:28px 24px}.partner-hall-card{padding:16px;gap:16px}.partner-hall-card>div{padding:0}.prototype-bar strong{font-size:12px;letter-spacing:0}.hero-title-line{display:inline}.hero .eyebrow{margin-bottom:20px}.partner-halls h2{font-size:1.7rem}.site-footer__nav{gap:28px}}
.prototype-bar strong{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}.prototype-bar__inner{flex-wrap:wrap}
.hero .hero__proof>div{display:block;min-width:0;width:auto}.hero-phrase{display:inline-block;max-width:100%}.hero__description{border:0;padding-left:0}
@media(max-width:760px){.hero h1{font-size:1.6rem;line-height:1.65}.hero-title-line{display:block}.hero .hero__proof{gap:12px}.hero .hero__proof dt{font-size:14px}.hero .hero__proof dd{font-size:12px;word-break:normal}.hero .hero__proof>div{display:block}}
.prototype-bar__inner>span{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;font-size:13px;line-height:1.65;letter-spacing:0}
@media(max-width:760px){.prototype-bar__inner>span{font-size:12px}.prototype-bar__inner{padding-block:8px}}
.prototype-bar .prototype-bar__inner>span:first-child{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}
.hero__visual img{object-position:60% 50%}
@media(max-width:760px){.hero__visual img{object-position:50% 45%}}
