/* TASK 05C: scoped opening only; later course components retain their styles. */
.io-hero{padding:56px 0 46px}.io-hero .ir-hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);gap:34px}.io-hero h1{text-wrap:balance;font-size:clamp(1.8rem,3.1vw,2.8rem);line-height:1.45;margin:14px 0 20px}.io-hero p{max-width:740px;line-height:1.85;margin:0 0 16px}.io-hero .ir-course-name{font-size:.92rem;margin-bottom:8px}.io-hero .io-focus{background:#e8f7fa;border:1px solid #bedfe8;border-radius:16px;padding:14px 18px;color:#155c78;margin-top:20px}.io-hero .ir-hero-art{padding:8px;max-width:330px;justify-self:center}.io-hero .ir-hero-art figcaption{font-size:.9rem;margin-top:12px}
.io-personas{padding:56px 0 64px}.io-personas .ir-section-head{max-width:100%}.io-persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.io-persona{--persona-tint:#eef9fd;min-width:0;padding:22px 26px 28px;border:1px solid #c9e2e9;border-radius:28px;background:linear-gradient(155deg,var(--persona-tint),#fff 70%);box-shadow:0 7px 0 #e4f0f3,0 16px 28px #1237460a}.io-determined{--persona-tint:#fff6e6}.io-returning{--persona-tint:#eef5ff}.io-persona>img{display:block;width:148px;height:148px;object-fit:contain;margin:0 auto 16px}.io-persona h3{font-size:1.2rem;line-height:1.65;margin:0 0 16px}.io-persona blockquote{margin:0 0 18px;padding:16px 0;border-top:1px solid #dce7eb;border-bottom:1px solid #dce7eb;font-weight:500;color:#245269;line-height:1.85}.io-persona p{font-size:.97rem;line-height:1.85;margin:0;color:#48616f}
.io-exam{padding:56px 0 64px;background:#f1f9fc}.io-exam .ir-section-head{margin-bottom:24px}.io-exam .ir-section-head p{margin:0;line-height:1.8}.io-exam-total{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:22px 28px;background:#fff;border:1px solid #bfdee8;border-radius:22px;box-shadow:0 5px 0 #dcecf2;margin-bottom:28px;color:#155c78}.io-exam-total>strong{font-size:1.25rem}.io-exam-total>span{font-family:'IBM Plex Sans Thai',sans-serif;font-size:1.1rem}.io-exam-total b{font-size:1.7rem;color:#123746}.io-exam-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.io-part{--part-color:#076e92;--paper-tint:#dceff9;min-width:0;border:1px solid #c5dee8;border-top:5px solid var(--part-color);border-radius:24px;background:#fff;padding:24px;box-shadow:0 7px 0 #deecf1,0 16px 26px #12374609;display:flex;flex-direction:column}.io-part6{--part-color:#836017;--paper-tint:#f8e8bd}.io-part7{--part-color:#3e648c;--paper-tint:#dee8fb}.io-part-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.io-part-number{color:var(--part-color);font-weight:700;font-size:.9rem;letter-spacing:.07em}.io-count{font-size:.86rem;color:#48616f}.io-count b{font-size:1.6rem;color:#123746;margin-right:4px}.io-part h3{font-family:'IBM Plex Sans Thai',sans-serif;font-size:1.22rem;line-height:1.5;margin:10px 0 10px}.io-part>p{margin:0 0 18px;line-height:1.8}.io-part-focus{margin-top:auto;padding-top:18px;border-top:1px solid #dde8ec}.io-part-focus>span{font-size:.73rem;letter-spacing:.1em;color:var(--part-color);font-weight:700}.io-part-focus p{font-size:.95rem;line-height:1.7;margin:6px 0 0;color:#375766}.io-passages{padding-left:20px;line-height:1.8;margin:0 0 20px;font-size:.94rem}.io-passages li+li{margin-top:8px}.io-passages span{display:block;color:#48616f}.io-paper{position:relative;box-sizing:border-box;width:82px;height:94px;margin:24px 0 14px 4px;border:1px solid #c6dce5;border-radius:10px;background:linear-gradient(135deg,#fff,var(--paper-tint));box-shadow:5px 6px 0 var(--paper-tint),8px 12px 18px #1237460d;padding:20px 12px;transform:rotate(-4deg)}.io-paper i{display:block;height:4px;border-radius:4px;background:#80b8ce;margin-bottom:8px}.io-paper i:nth-child(2){width:65%}.io-paper-sentence i:nth-child(3){width:42%;background:#d9b761}.io-paper-text i:nth-child(even){background:#d9b761;width:55%}.io-paper-multiple{box-shadow:5px 5px 0 #c9d9ed,10px 10px 0 #e4ecf8,12px 15px 18px #12374610}.io-source{font-size:.82rem;line-height:1.8;color:#48616f;margin:28px 0 0}.io-source a{color:#146b89;text-underline-offset:4px}
@media(max-width:1000px){.io-persona-grid,.io-exam-grid{gap:16px}.io-persona,.io-part{padding:20px}.io-persona h3{font-size:1.1rem}.io-hero .ir-hero-grid{gap:20px}}
@media(max-width:767px){.io-hero{padding:32px 0}.io-hero .ir-hero-grid{grid-template-columns:1fr;gap:10px}.io-hero h1{text-wrap:balance;font-size:clamp(1.75rem,6.5vw,2.2rem);margin:12px 0 16px;line-height:1.5}.io-hero p{line-height:1.8;margin-bottom:14px}.io-hero .io-focus{padding:12px 14px;margin-top:16px}.io-hero .ir-hero-art{max-width:168px;padding:0}.io-hero .ir-hero-art img{max-height:168px}.io-hero .ir-hero-art figcaption{display:none}.io-personas,.io-exam{padding:40px 0 46px}.io-persona-grid,.io-exam-grid{grid-template-columns:1fr;gap:22px}.io-persona{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;padding:22px 20px}.io-persona>img{width:96px;height:112px;max-width:100%;margin:0;align-self:start}.io-persona h3{font-size:1.12rem;line-height:1.65;margin-bottom:12px}.io-persona blockquote{line-height:1.8;padding:12px 0;margin-bottom:12px}.io-persona p{font-size:.95rem;line-height:1.8}.io-exam-total{padding:18px 20px;gap:8px}.io-exam-total>strong{font-size:1.1rem}.io-exam-total>span{font-size:1rem}.io-exam-total b{font-size:1.5rem}.io-part{position:relative;padding:22px;min-height:0}.io-paper{position:absolute;top:64px;right:28px;width:48px;height:58px;padding:12px 8px;opacity:.75;margin:0;pointer-events:none}.io-paper i{height:3px;margin-bottom:6px}.io-part h3{max-width:calc(100% - 70px);margin-top:20px;min-height:58px;display:flex;align-items:center}.io-part-focus{margin-top:0}.io-source{font-size:.8rem}}
@media(max-width:430px){.io-persona{grid-template-columns:1fr;gap:10px}.io-persona>img{width:112px;height:112px;margin:0 auto}.io-persona h3{text-align:center}.io-persona blockquote{padding:14px 0}}
@media(prefers-reduced-motion:reduce){.io-hero *,.io-personas *,.io-exam *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
