
/* 2026-10-01: textbook-led three-month curriculum overview. */
.curriculum-overview{width:100%;max-width:1200px;margin-inline:auto;padding:68px 48px;background:#fff;color:#07365f;box-sizing:border-box}
.learning-proof+.curriculum-overview{margin-top:32px}
.curriculum-overview-header{max-width:900px;margin:0 auto 36px;text-align:center}
.curriculum-overview .curriculum-kicker{margin:0 0 10px;color:#1955d1;font-size:15px;font-weight:700;letter-spacing:.08em}
.curriculum-overview h2{margin:0;font-size:clamp(29px,3.2vw,42px);line-height:1.45;letter-spacing:.01em;text-wrap:balance}
.curriculum-overview h2 span{display:block}
.curriculum-textbook-list{display:grid;gap:18px;max-width:980px;margin:0 auto}
.curriculum-textbook{--textbook-color:#368fe4;position:relative;display:grid;grid-template-columns:140px minmax(0,1fr);gap:30px;align-items:center;min-width:0;padding:28px 30px;background:#f7f9fd;border:1px solid #d8e2f2;border-left:6px solid var(--textbook-color);border-radius:12px;box-shadow:0 8px 24px rgba(7,54,95,.06)}
.curriculum-textbook:nth-child(2){--textbook-color:#14ae92}
.curriculum-textbook:nth-child(3){--textbook-color:#7650b9}
.curriculum-textbook figure{margin:0;text-align:center}
.curriculum-textbook img{display:block;width:126px;height:auto;margin:0 auto;filter:drop-shadow(0 5px 7px rgba(7,54,95,.14))}
.curriculum-textbook-copy{min-width:0}
.curriculum-textbook-label{display:inline-block;margin:0 0 8px;color:var(--textbook-color);font-size:14px;font-weight:800;letter-spacing:.06em}
.curriculum-textbook h3{margin:0 0 10px;color:#07365f;font-size:23px;line-height:1.45}
.curriculum-textbook p:last-child{max-width:42em;margin:0;color:#3e5668;font-size:17px;line-height:1.85;font-weight:400;text-wrap:pretty}
@media(max-width:760px){
 .curriculum-overview{padding:44px 20px 48px}
 .learning-proof+.curriculum-overview{margin-top:20px}
 .curriculum-overview-header{margin-bottom:26px;text-align:left}
 .curriculum-overview .curriculum-kicker{margin-bottom:8px;font-size:14px}
 .curriculum-overview h2{font-size:clamp(23px,6vw,28px);line-height:1.48;text-wrap:pretty}
 .curriculum-overview h2 span{display:block}
 .curriculum-textbook-list{gap:14px}
 .curriculum-textbook{grid-template-columns:76px minmax(0,1fr);gap:13px;padding:20px 14px 20px 13px;border-left-width:4px;border-radius:9px}
 .curriculum-textbook img{width:72px}
 .curriculum-textbook-label{margin-bottom:5px;font-size:12px}
 .curriculum-textbook h3{margin-bottom:7px;font-size:18px;line-height:1.45}
 .curriculum-textbook p:last-child{max-width:none;font-size:16px;line-height:1.78;text-wrap:pretty}
 .curriculum-pc-break{display:none}
}
@media(max-width:360px){
 .curriculum-overview{padding-inline:16px}
 .curriculum-textbook{grid-template-columns:66px minmax(0,1fr);gap:10px;padding:18px 10px}
 .curriculum-textbook img{width:64px}
 .curriculum-textbook h3{font-size:17px}
 .curriculum-textbook p:last-child{font-size:16px;line-height:1.75}
}
.qualification-modal{width:min(760px,calc(100% - 32px));max-height:88vh;padding:0;border:0;border-radius:12px;color:#17364f;background:#fff;box-shadow:0 24px 70px rgba(6,35,70,.3);overflow:hidden}
.qualification-modal::backdrop{background:rgba(9,42,74,.72)}
.qualification-modal-shell{max-height:88vh;padding:28px 30px 26px;overflow:auto;box-sizing:border-box}
.qualification-modal-accent{width:24px;height:4px;margin:0 auto 10px;border-radius:999px;background:#f47b20}
.qualification-modal h2{margin:0 0 18px;text-align:center;color:#07365f;font-size:24px;line-height:1.5}
.qualification-modal-table{margin:0;border:1px solid #d4d8d2;background:#fff}
.qualification-modal-title{padding:11px 16px;text-align:center;color:#fff;background:#3f82a8;font-size:14px;font-weight:800}
.qualification-modal-row{display:grid;grid-template-columns:165px minmax(0,1fr);border-top:1px solid #d4d8d2}
.qualification-modal-row:first-of-type{border-top:0}
.qualification-modal-row dt,.qualification-modal-row dd{margin:0;padding:14px 16px;font-size:14px;line-height:1.7}
.qualification-modal-row dt{font-weight:800;background:#f6f5ea;border-right:1px solid #d4d8d2}
.qualification-modal-note{margin:14px 0 0;color:#4e6170;font-size:13px;line-height:1.7}
.qualification-modal-note a{color:#1269aa;text-decoration:underline;text-underline-offset:2px}
.qualification-modal-close{display:block;width:min(220px,70%);min-height:44px;margin:24px auto 0;border:2px solid #f3a37b;border-radius:999px;color:#fff;background:#48c6b8;font-size:15px;font-weight:800;cursor:pointer}
.qualification-modal-close:hover{background:#38b5a8}
.qualification-modal-close:focus-visible{outline:3px solid #0d5ca8;outline-offset:3px}
@media(max-width:600px){
 .qualification-modal{width:calc(100% - 20px);max-height:90vh;border-radius:10px}
 .qualification-modal-shell{max-height:90vh;padding:20px 18px 22px}
 .qualification-modal h2{font-size:20px;margin-bottom:14px}
 .qualification-modal-title{padding:10px;font-size:12px}
 .qualification-modal-row{grid-template-columns:112px minmax(0,1fr)}
 .qualification-modal-row dt,.qualification-modal-row dd{padding:11px 10px;font-size:13px;line-height:1.65}
 .qualification-modal-note{font-size:12px}
}
.qualification.is-integrated{max-width:1200px;padding:56px 48px 52px;background:linear-gradient(180deg,#eef8ff 0%,#e8f4fb 100%);box-sizing:border-box;color:#07365f}
.qualification-new-header{max-width:820px;margin:0 auto 30px;text-align:center}
.qualification-new-header p{margin:0 0 8px;color:#2b9b45;font-size:15px;font-weight:800;letter-spacing:.12em}
.qualification-new-header h2{margin:0;font-size:clamp(30px,3.7vw,46px);line-height:1.45;letter-spacing:.02em}
.qualification-new-header h2 strong{color:#1c61d0}
.qualification-new-lead{max-width:680px;margin:16px auto 0!important;color:#405a6d!important;font-size:17px!important;font-weight:500!important;line-height:1.8!important;letter-spacing:0!important}
.qualification-certificate-card{max-width:1080px;margin:0 auto}
.qualification-certificate-window{display:block;width:100%;overflow:hidden;border-radius:12px;box-shadow:0 12px 30px rgba(7,54,95,.12)}
.qualification-certificate-window img{display:block;width:100%;height:auto}
.qualification.is-integrated .qualification-action{position:static;width:min(530px,100%);height:auto;min-height:52px;margin:22px auto 0;font-size:16px;box-sizing:border-box}
.work-use{max-width:1080px;margin:46px auto 0;padding-top:38px;border-top:1px solid #c9dce9}
.work-use>h3{margin:0 0 24px;text-align:center;font-size:clamp(24px,2.8vw,34px);line-height:1.5}
.work-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.work-use-card{overflow:hidden;background:#fff;border:1px solid #d6e3ec;border-radius:12px;box-shadow:0 8px 22px rgba(7,54,95,.07)}
.work-use-card img{display:block;width:100%;height:170px;object-fit:cover;object-position:center}
.work-use-copy{padding:18px 18px 20px}
.work-use-copy h4{margin:0 0 10px;color:#07365f;font-size:18px;line-height:1.55}
.work-use-copy h4 span{display:block;margin-bottom:5px;color:#1c61d0;font-size:13px;letter-spacing:.05em}
.work-use-copy p{margin:0;color:#405a6d;font-size:15px;line-height:1.75}
@media(max-width:700px){
 .qualification.is-integrated{padding:40px 20px 42px}
 .qualification-new-header{margin-bottom:24px}
 .qualification-new-header p{font-size:13px}
 .qualification-new-header h2{font-size:27px}
 .qualification-new-lead{margin-top:12px!important;font-size:15px!important;line-height:1.75!important}
 .qualification-certificate-window{border-radius:10px}
 .qualification.is-integrated .qualification-action{min-height:48px;margin-top:16px;font-size:15px}
 .work-use{margin-top:34px;padding-top:30px}
 .work-use>h3{margin-bottom:20px;font-size:23px}
 .work-use-grid{grid-template-columns:1fr;gap:14px}
 .work-use-card{display:block}
 .work-use-card img{height:180px}
 .work-use-copy{padding:16px}
 .work-use-copy h4{font-size:17px}
 .work-use-copy p{font-size:15px}
}
@media(max-width:380px){
 .qualification.is-integrated{padding-inline:16px}
 .work-use-copy{padding:14px 12px}
}
