/* Scoped course-page presentation. Native details keep keyboard/no-script access. */
.premium-foundation .sales-hero-in>div{min-width:0}
.premium-foundation h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.5}
.pf-calendar{margin-top:40px}
.pf-calendar>p,.pf-practice p{line-height:1.8}
.pf-days{display:grid;gap:12px;margin-top:24px}
.pf-day{border:1px solid #a9dce4;border-radius:18px;background:#fff;box-shadow:0 5px 0 #d5eaed,0 10px 22px #163f5010;overflow:hidden}
.pf-day summary{display:flex;align-items:center;gap:12px;min-height:72px;padding:16px;cursor:pointer;font-weight:700;list-style:none;color:#153e4b}
.pf-day summary::-webkit-details-marker{display:none}
.pf-day-number{flex:0 0 64px;background:#e2f7fa;color:#086879;padding:8px;border-radius:12px;text-align:center;font-family:'Space Grotesk',sans-serif;font-size:.8rem}
.pf-expand{margin-left:auto;font-size:1.6rem;color:#0a7180}
.pf-day[open] .pf-expand{transform:rotate(180deg)}
.pf-day summary:focus-visible,.pf-examples summary:focus-visible{outline:3px solid #08778c;outline-offset:-4px;border-radius:14px}
.pf-day[open] summary{background:#f1fbfc}
.pf-day-content{padding:0 18px 18px}
.pf-pages{list-style:none;padding:0;margin:8px 0 16px}
.pf-pages li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed #d6e4e7;font-size:.9rem}
.pf-insight{padding:16px;background:#fff7e8;border:1px solid #e5cd99;border-radius:14px;color:#584625}
.pf-insight h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0 0 7px}
.pf-insight p{margin:0;line-height:1.75}
.pf-note{font-size:.87rem;line-height:1.8;color:#51656d;margin:18px 0}
.pf-practice{background:#fbfdfd}
.pf-legend{background:#eaf7f8;border-radius:12px;padding:14px}
.pf-examples{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.pf-examples article{background:#fff;border:1px solid #c8e2e6;border-radius:24px;padding:24px;min-width:0}
.pf-examples img{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto 12px}
.pf-examples h3{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;line-height:1.65;overflow-wrap:anywhere}
.pf-examples summary{padding:14px 8px;min-height:48px;font-weight:700;cursor:pointer;color:#086879}
.pf-examples details{border-top:1px solid #d5e5e8;margin-top:16px}
.pf-subject,.pf-object{color:#236746}
.pf-verb{color:#245e9b}
.pf-modifier{color:#796332}
.pf-workbook{display:flex;align-items:center;gap:24px;margin-top:30px;padding:24px;background:#fff8ec;border:1px solid #e5d9bf;border-radius:24px}
.pf-workbook img{width:120px;height:120px;object-fit:contain}
.pf-workbook p{margin:8px 0}
.pf-workbook h3{font-size:1.15rem}
.premium-foundation .buy-box{position:sticky;top:100px}
.premium-foundation .sales-hero .badge{line-height:1.8}
.premium-foundation .buy-box .checks li{line-height:1.8}
@media(hover:hover){.pf-day summary:hover{background:#f1fbfc}
}
@media(max-width:900px){.premium-foundation .buy-box{position:static;max-width:520px;width:100%;margin:auto}
.premium-foundation .sales-hero{padding:30px 0}
.pf-examples{grid-template-columns:1fr}
}
@media(max-width:390px){.pf-day summary{padding:14px 10px;gap:9px;font-size:.92rem}
.pf-day-number{flex-basis:57px}
.pf-day-content{padding:0 12px 14px}
.pf-examples article{padding:18px}
.pf-workbook{display:block;padding:18px}
.pf-workbook img{display:block;margin:0 auto 12px}
.pf-calendar>p,.pf-practice p{line-height:1.75}
}
@media(prefers-reduced-motion:reduce){.premium-foundation *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


.pf-purpose{margin-top:28px}
.pf-purpose p,.pf-welcome{line-height:1.8}
.pf-day-cue{font-size:.75rem;color:#0a6475;white-space:nowrap;margin-left:auto}
.pf-day .pf-expand{margin-left:0;flex:0 0 auto}
.pf-phase{margin:28px 0 14px;font-size:1.1rem;color:#12586a}
.pf-method{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:24px 0}
.pf-method li{padding:20px;background:#fff;border:1px solid #d1e3e7;border-radius:18px;box-shadow:0 5px 0 #e8f1f3;min-width:0}
.pf-method strong,.pf-method span{display:block}
.pf-method strong{font-family:'Space Grotesk',sans-serif;font-size:1.25rem}
.pf-method span{margin-top:8px;line-height:1.7}
.pf-course-scope{margin:28px 0}
.pf-course-scope a{color:#086879;text-decoration:underline}
.pf-pages li span:last-child{white-space:nowrap}
.pf-day summary{transition:transform .15s,background .15s}
.pf-day summary:active{transform:translateY(2px)}
@media(hover:hover){.pf-day:not([open]) summary:hover{transform:translateY(-2px)}
}
@media(max-width:1100px){.pf-day summary{flex-wrap:wrap}
.pf-day-cue{margin-left:76px}
.pf-day .pf-expand{margin-left:auto}
}
@media(max-width:768px){.pf-method{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){.pf-day-cue{margin-left:66px}
.pf-method{grid-template-columns:1fr}
.pf-pages li{align-items:flex-start}
}

/* Learner discovery and learning outcomes: only these two replacement sections. */
.pf-discovery,.pf-outcomes,/* Benefits only — soft clay artwork, two primary cards, support row, compact review row. */
.pf-benefits{--pf-benefit-ink:#153e4b;--pf-benefit-teal:#12677a;scroll-margin-top:110px;margin-top:30px}
#pf-benefits-title{scroll-margin-top:110px}
.pf-benefits h2{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.55;text-wrap:balance;margin:0 0 24px;color:var(--pf-benefit-ink)}
.pf-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;margin:0 0 30px}
.pf-benefits .pf-benefit-card{min-width:0;padding:26px;border:1px solid #d4e5e6;border-radius:24px;background:#fff;box-shadow:0 4px 0 #e6eeee,0 12px 28px #163f4a08}
.pf-benefits .pf-benefit-video{background:linear-gradient(145deg,#fffefa,#eff8f3);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.pf-benefits .pf-benefit-workbook{background:linear-gradient(145deg,#fffefa,#f6f2fa);border-color:#e3daeb;box-shadow:0 4px 0 #ece6f0,0 12px 28px #634d7807}
.pf-benefits .pf-benefit-art{display:block;width:156px;height:130px;object-fit:contain;max-width:100%;margin:0 auto 14px}
.pf-benefits h3{font-size:1.16rem;line-height:1.55;margin:0 0 10px;color:var(--pf-benefit-ink)}
.pf-benefits p{font-size:1rem;line-height:1.8;margin:0;color:#4c626d;overflow-wrap:break-word}
.pf-benefits .pf-pdf-condition{margin-top:16px;padding-top:14px;border-top:1px solid #e1d8e8;font-size:.88rem;color:#63546d}
.pf-benefits .pf-pdf-pending{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;width:100%;max-width:100%;margin-top:18px;padding:12px 9px;border:1px solid #d0ccd5;border-radius:14px;font-family:inherit;font-size:.85rem;font-weight:600;line-height:1.5;color:#5c5964;background:#efedf2;cursor:not-allowed;opacity:1;box-sizing:border-box}
.pf-benefits .pf-pdf-pending svg{width:20px;height:20px;flex:0 0 20px}
.pf-benefits .pf-pdf-pending-note{margin-top:8px;font-size:.78rem;line-height:1.6;color:#6b6071;text-align:center}
.pf-benefits .pf-benefit-support,.pf-benefits .pf-benefit-replay{grid-column:1/-1}
.pf-benefits .pf-benefit-support{background:linear-gradient(145deg,#fff,#fffaf6)}
.pf-benefits .pf-benefit-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.pf-benefits .pf-benefit-heading .pf-benefit-art{width:96px;height:80px;margin:0;flex:0 0 96px}
.pf-benefits .pf-benefit-heading h3{margin:0}
.pf-benefits .pf-support-methods{display:grid;gap:16px}
.pf-benefits .pf-support-method{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px 12px;min-width:0;padding:20px;border:1px solid #dde7e9;border-radius:18px;background:#f8fcfd}
.pf-benefits .pf-support-line{background:#f4faf6;border-color:#d4e7dc}
.pf-benefits .pf-contact-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e7f3f7;color:var(--pf-benefit-teal)}
.pf-benefits .pf-contact-icon svg{display:block;width:24px;height:24px}
.pf-benefits .pf-support-line .pf-contact-icon{color:#06a744;background:#fff}
.pf-benefits .pf-contact-copy{min-width:0;grid-column:2;grid-row:1/3}
.pf-benefits .pf-contact-copy h4{font-size:1rem;line-height:1.65;margin:0 0 8px;color:var(--pf-benefit-ink)}
.pf-benefits .pf-contact-copy p{font-size:.94rem;line-height:1.8}
.pf-benefits .pf-contact-copy .pf-contact-detail{font-family:'IBM Plex Sans Thai',sans-serif;font-weight:600;color:var(--pf-benefit-ink);margin-top:12px;overflow-wrap:anywhere}
.pf-benefits .pf-contact-action{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:10px;justify-self:start;min-height:48px;min-width:136px;max-width:100%;padding:10px 15px;margin-top:6px;border:1px solid #12677a;border-radius:12px;background:#12677a;color:#fff;font-size:.9rem;font-weight:600;line-height:1.5;text-decoration:none;box-sizing:border-box;box-shadow:0 3px 0 #0d4b5b;transition:background .15s ease}
.pf-benefits .pf-contact-arrow{font-size:1.2rem;line-height:1}
.pf-benefits .pf-contact-action:focus-visible{outline:3px solid #12677a;outline-offset:4px}
.pf-benefits .pf-benefit-replay{display:flex;align-items:center;gap:22px;background:linear-gradient(110deg,#fffaf0,#f8f5fc);padding:20px 26px}
.pf-benefits .pf-benefit-replay .pf-benefit-art{width:126px;height:105px;flex:0 0 126px;margin:0}
@media(min-width:1024px),(min-width:700px) and (max-width:900px){.pf-benefits .pf-support-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pf-benefits .pf-support-method{display:flex;flex-direction:column;padding:16px 13px;gap:12px}.pf-benefits .pf-contact-copy{flex:1}.pf-benefits .pf-contact-copy h4{font-size:.96rem}.pf-benefits .pf-contact-copy p{font-size:.9rem}.pf-benefits .pf-contact-action{width:100%;min-width:0;margin-top:0;font-size:.88rem;padding:10px 12px}}
@media(min-width:1024px) and (max-width:1100px){.pf-benefits .pf-contact-arrow{display:none}.pf-benefits .pf-contact-action{justify-content:center}}
@media(hover:hover){.pf-benefits .pf-contact-action:hover{background:#0d5364}}
@media(max-width:600px){.pf-benefits .pf-benefit-grid{grid-template-columns:minmax(0,1fr);gap:20px}.pf-benefits .pf-benefit-card{padding:22px}.pf-benefits .pf-benefit-art{width:144px;height:120px}.pf-benefits .pf-support-method{padding:17px}.pf-benefits .pf-contact-action{justify-self:stretch;width:100%;min-width:0}.pf-benefits .pf-benefit-replay{gap:14px}.pf-benefits .pf-benefit-replay .pf-benefit-art{width:104px;height:87px;flex-basis:104px}}
@media(max-width:390px){.pf-benefits .pf-benefit-card{padding:20px}.pf-benefits .pf-support-method{grid-template-columns:32px minmax(0,1fr);padding:14px;column-gap:10px}.pf-benefits .pf-contact-icon{width:32px;height:32px;border-radius:10px}.pf-benefits .pf-contact-icon svg{width:23px;height:23px}.pf-benefits .pf-contact-action{grid-column:1/-1}.pf-benefits .pf-benefit-replay{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px}.pf-benefits .pf-benefit-replay .pf-benefit-art{width:74px;height:74px}.pf-benefits .pf-benefit-replay p{font-size:.94rem}.pf-benefits .pf-benefit-heading{gap:8px}.pf-benefits .pf-benefit-heading .pf-benefit-art{width:80px;height:67px;flex-basis:80px}}
@media(prefers-reduced-motion:reduce){.pf-benefits .pf-contact-action{transition:none}}
@media(hover:hover){.pf-discovery-card:hover{transform:translateY(-3px);border-color:#25869a;box-shadow:0 9px 0 #c8e3e8,0 16px 28px #173e4a15}.pf-discovery-card:active{transform:translateY(2px);box-shadow:0 2px 0 #c0dde2}}
@media(max-width:600px){.pf-discovery-grid{grid-template-columns:1fr;gap:18px}.pf-discovery-card summary{min-height:0;padding:20px;gap:10px}.pf-discovery-card summary img{width:100px;height:100px}.pf-card-title{font-size:1.05rem}.pf-card-invite{margin-top:4px}.pf-outcome summary{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:14px;padding-right:34px}.pf-outcome .pf-topic-icon{grid-row:1/3}.pf-outcome .pf-topic{grid-column:2;padding:0}.pf-outcome .pf-card-chevron{right:12px;bottom:24px}.pf-card-detail{padding:0 20px 20px}.pf-outcomes-insight{padding:20px}.pf-benefit-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pf-discovery-card,.pf-card-chevron{transition:none}.pf-discovery-card:hover,.pf-discovery-card:active{transform:none}}

#pf-pain-title,#pf-outcomes-title{scroll-margin-top:105px}

/* TASK 03D: teaching introduction and the existing final enrollment card. */
.premium-foundation .sales-hero-in{grid-template-columns:minmax(0,1fr)}
.premium-foundation .pf-dna-title{font-size:clamp(1.3rem,2.6vw,1.8rem);letter-spacing:.06em;margin:0 0 20px}
.pf-dna-intro{max-width:76ch}
.pf-dna-intro p{margin:0 0 16px}
.pf-exam-demos .pf-practice-invitation{font-size:clamp(1.15rem,2.2vw,1.5rem);color:#12677a;margin:0 0 10px}
.premium-foundation .pf-final-enrollment .buy-box{position:static;display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:0 32px;max-width:900px;width:100%;margin:0 auto;align-items:center;box-sizing:border-box}
.pf-final-enrollment .buy-box>img{grid-column:1;grid-row:1/7;align-self:center}
.pf-final-enrollment .buy-box>:not(img){grid-column:2}
.pf-final-enrollment .buy-box>.save{justify-self:start}
@media(max-width:600px){.premium-foundation .pf-final-enrollment .buy-box{display:block;max-width:520px}.pf-final-enrollment .buy-box>img{max-width:240px;margin-left:auto;margin-right:auto}.pf-dna-intro p{margin-bottom:14px}}

/* Learning Calendar chapter plaques: lightweight, static and calendar-scoped. */
.pf-calendar .pf-chapter{--pf-chapter-edge:#c7dfe5;--pf-chapter-base:#e0eded;--pf-chapter-label-bg:#e1f3ed;--pf-chapter-label-ink:#245e55;margin:32px 0 0;padding:28px 30px;border:1px solid var(--pf-chapter-edge);border-radius:24px;background:linear-gradient(125deg,#f0faff,#fffdf5);box-shadow:inset 0 2px 0 #ffffff,0 6px 0 var(--pf-chapter-base),0 14px 24px #173e4a09}
.pf-calendar .pf-chapter-toeic{--pf-chapter-edge:#eadaca;--pf-chapter-base:#eee6e7;--pf-chapter-label-bg:#fff0c8;--pf-chapter-label-ink:#71531e;background:linear-gradient(125deg,#fff2e9,#fffdf3 70%,#f7f3fb)}
.pf-calendar .pf-chapter-label{display:inline-block;max-width:100%;padding:6px 12px;border:1px solid #ffffff;border-radius:12px;background:var(--pf-chapter-label-bg);color:var(--pf-chapter-label-ink);box-shadow:0 2px 0 #173e4a0d;font-size:.9rem;font-weight:700;line-height:1.6}
.pf-calendar .pf-chapter h3{max-width:36em;margin:16px 0 10px;color:#153e4b;font-size:clamp(1.3rem,2.3vw,1.65rem);line-height:1.5;text-wrap:balance}
.pf-calendar .pf-chapter p{max-width:76ch;margin:0;color:#405963;font-size:1rem;line-height:1.8;overflow-wrap:break-word}
.pf-calendar .pf-chapter+.pf-days{margin-top:24px}
@media(max-width:600px){.pf-calendar .pf-chapter{margin-top:28px;padding:20px 18px;border-radius:20px}.pf-calendar .pf-chapter h3{margin-top:14px}.pf-calendar .pf-chapter p{line-height:1.75}.pf-calendar .pf-chapter+.pf-days{margin-top:22px}}

/* Authentic course review images: one readable column, without recreated chat. */
.pf-reviews{background:#f5fafb}
.pf-reviews>.wrap{width:min(900px,calc(100% - 32px));padding:0}
.pf-reviews-heading{text-align:center;margin-bottom:30px}
.pf-reviews-heading p{margin:14px auto 0;max-width:44em;color:#405963;line-height:1.8}
.pf-review-list{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.pf-review{min-width:0;margin:0;padding:24px;border:1px solid #d9e5e7;border-radius:22px;background:#fff;box-shadow:0 6px 20px #173e4a07;scroll-margin-top:100px}
.pf-review figcaption{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #edf0ed}
.pf-review h3{margin:0;color:#254e5b;font-size:1.05rem;line-height:1.65;font-weight:600}
.pf-review-image{display:block;border-radius:10px}
.pf-review-image:focus-visible{outline:3px solid #12677a;outline-offset:5px}
.pf-review-image img{display:block;width:100%;height:auto;border-radius:10px}
@media(max-width:600px){.pf-reviews>.wrap{width:calc(100% - 20px)}.pf-review{padding:8px;border-radius:16px}.pf-review figcaption{margin:6px 4px 14px;padding-bottom:12px}.pf-review h3{font-size:1rem}.pf-review-list{gap:22px}}

/* Native FAQ disclosures, scoped to this course and matching the Benefits clay palette. */
.pf-faq{background:#fffdf8}
.pf-faq>.wrap{width:min(920px,calc(100% - 32px));padding:0}
.pf-faq-heading{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:24px;margin-bottom:30px}
.pf-faq-heading>img{display:block;width:160px;height:auto}
.pf-faq-heading h2.sec{font-size:clamp(1.45rem,2.6vw,1.9rem);line-height:1.5;margin:12px 0}
.pf-faq-heading p{margin:0;color:#4c626d;line-height:1.8}
.pf-faq-heading .eyebrow{color:#12677a;line-height:1.8}
.pf-faq details{border:1px solid #cddfe5;border-radius:20px;background:#fff;box-shadow:0 4px 0 #e9eff0,0 8px 18px #173e4a05;margin-top:16px;transition:background .15s ease}
.pf-faq summary{min-height:72px;padding:20px 22px;gap:14px;color:#153e4b;font-size:1rem;line-height:1.7}
.pf-faq summary::after,.pf-faq details[open] summary::after{content:none}
.pf-faq-question{flex:1;min-width:0}
.pf-faq-icon,.pf-faq-indicator{flex:0 0 24px;color:#12677a}
.pf-faq details[open]{background:#f1faf7;border-color:#b8d9d2}
.pf-faq details[open] .pf-faq-plus{display:none}
.pf-faq summary:focus-visible{outline:3px solid #12677a;outline-offset:-4px;border-radius:18px}
.pf-faq details .a{margin:0 22px 20px 60px;padding:16px 0 0;border-top:1px solid #d6e7e2;color:#405963;font-size:1rem;line-height:1.8}
.pf-faq .a p{margin:0 0 12px}
.pf-faq .a p:last-child{margin-bottom:0}
.pf-faq .a a{color:#0c6275;text-decoration:underline;text-underline-offset:3px}
.pf-faq .a a:focus-visible{outline:3px solid #12677a;outline-offset:3px;border-radius:3px}
.pf-faq .a .pf-faq-condition{font-size:.9rem;color:#51676d;padding-top:12px;border-top:1px dashed #c9ddd7}
@media(max-width:600px){.pf-faq-heading{grid-template-columns:minmax(0,1fr);gap:8px;text-align:center;margin-bottom:24px}.pf-faq-heading>img{width:120px;margin:auto}.pf-faq summary{padding:16px 14px;gap:10px}.pf-faq-icon{width:22px;height:22px;flex-basis:22px}.pf-faq details .a{margin:0 16px 18px;padding-top:14px}.pf-faq details{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.pf-faq details{transition:none}}

/* Student bonuses — scoped to the two verified learning tools. */
.pf-bonuses{background:linear-gradient(140deg,#edf9fa 0%,#fbfaf4 55%,#f0f8f4 100%);border-block:1px solid #d7e9e6;padding-block:64px}
.pf-bonuses>.wrap{padding:36px;background:linear-gradient(135deg,#fffdf7,#f3faf8);border:1px solid #e4dabb;border-radius:36px;box-shadow:0 18px 50px #325e6212,inset 0 1px 0 #fff}
.pf-bonuses-heading{max-width:800px;margin:0 auto 32px;text-align:center}
.pf-bonuses-heading .eyebrow{color:#39666d;letter-spacing:.13em}
.pf-bonuses-heading h2{color:#153e4d;font-size:clamp(1.55rem,2.7vw,2.2rem);line-height:1.45;margin:12px 0 16px;text-wrap:balance}
.pf-bonuses-heading p{color:#516b72;line-height:1.85;margin:0}
.pf-bonus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pf-bonus{min-width:0;position:relative;border:1px solid #c9e4df;border-radius:28px;background:#fff;box-shadow:0 7px 0 #dcece8,0 20px 40px #24545f12;overflow:hidden}
.pf-bonus--practice{border-color:#ebdcba;box-shadow:0 7px 0 #f0e6cf,0 20px 40px #806c3310}
.pf-bonus-art{display:flex;justify-content:center;padding:16px 20px 0;background:radial-gradient(ellipse at center,#dff5ed 0%,#f7fcfa 54%,#fff 76%)}
.pf-bonus--practice .pf-bonus-art{background:radial-gradient(ellipse at center,#fff0c8 0%,#fffcf4 54%,#fff 76%)}
.pf-bonus-art img{width:180px;height:180px;object-fit:contain;display:block}
.pf-bonus-copy{padding:8px 28px 28px}
.pf-bonus-label{display:inline-block;color:#386b68;font-size:.78rem;font-weight:800;letter-spacing:.12em;border-bottom:3px solid #bce8de;padding-bottom:5px}
.pf-bonus--practice .pf-bonus-label{color:#74602f;border-color:#f4d58c}
.pf-bonus h3{font-size:clamp(1.2rem,1.8vw,1.45rem);line-height:1.5;color:#153e4d;margin:14px 0 12px;text-wrap:balance}
.pf-bonus p{color:#50676e;font-size:1rem;line-height:1.85;margin:0 0 18px}
.pf-bonus-chip,.pf-bonus-skills li{display:inline-block;border:1px solid #c3dfda;background:#eff9f5;color:#275b59;border-radius:999px;padding:7px 13px;font-size:.86rem;font-weight:700;line-height:1.5}
.pf-bonus--practice .pf-bonus-chip{background:#fff7e5;border-color:#ead6a7;color:#6a5525}
.pf-bonus-skills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0}
.pf-bonus-skills li{background:#f0f8fb;border-color:#cce2ea;color:#285967}
.pf-bonus p.pf-bonus-note{font-size:.85rem;color:#5e7378;line-height:1.75;margin:18px 0 0;padding-top:16px;border-top:1px solid #e3ecea}
@media(max-width:700px){.pf-bonuses{padding-block:40px}.pf-bonuses-heading{margin-bottom:24px}.pf-bonuses-heading h2{line-height:1.5}.pf-bonuses-heading p{font-size:.95rem;line-height:1.8}.pf-bonus-grid{grid-template-columns:minmax(0,1fr);gap:24px}.pf-bonus{border-radius:24px}.pf-bonus-art{padding-top:8px}.pf-bonus-art img{width:140px;height:140px}.pf-bonus-copy{padding:4px 20px 22px}.pf-bonus p{font-size:.95rem;line-height:1.8}.pf-bonus-skills{gap:6px}.pf-bonus-skills li{font-size:.8rem;padding:6px 10px}}
@media(max-width:700px){.pf-bonuses>.wrap{padding:24px 12px;border-radius:26px}}
.pf-platform-preview{margin-top:40px;padding:32px;background:#fff;border:1px solid #d5e5e2;border-radius:28px;box-shadow:0 12px 30px #294c5810}
.pf-platform-heading{max-width:760px;margin:0 auto 28px;text-align:center}
.pf-platform-heading h3{color:#153e4d;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.55;margin:12px 0;text-wrap:balance}
.pf-platform-heading p{color:#50676e;font-size:.95rem;line-height:1.85;margin:0}
.pf-platform-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:center}
.pf-platform-figure{margin:0;min-width:0;width:100%;max-width:360px;justify-self:center}
.pf-platform-screen{position:relative;overflow:hidden;border:1px solid #d3e1de;border-radius:22px;background:#eceae2;box-shadow:0 8px 24px #1d4d5b16}
.pf-platform-screen img{display:block;width:100%;height:auto}
.pf-platform-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;text-decoration:none}
.pf-platform-marker span,.pf-platform-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0c687b;color:#fff;font-weight:800;font-size:15px;line-height:1;border:2px solid #fff;box-shadow:0 2px 7px #173b4c33}
.pf-platform-marker:focus-visible{outline:3px solid #0c687b;outline-offset:1px;border-radius:50%}
.pf-platform-marker:hover span{background:#174e5c}
.pf-platform-figure figcaption{font-size:.82rem;line-height:1.7;color:#556e73;text-align:center;margin-top:12px}
.pf-platform-figure a:not(.pf-platform-marker){color:#0c6275;text-underline-offset:3px}
.pf-platform-figure a:not(.pf-platform-marker):focus-visible{outline:3px solid #0c687b;outline-offset:3px}
.pf-platform-callouts{list-style:none;margin:0;padding:0;display:grid;gap:12px;min-width:0;counter-reset:platform}
.pf-platform-callouts li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:15px;border:1px solid #dbe9e6;border-radius:17px;background:#f7fbfa;scroll-margin-top:110px;counter-increment:platform}
.pf-platform-callouts li::before{content:counter(platform);position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pf-platform-callouts li:nth-child(even){background:#fffcf5;border-color:#ece2c9}
.pf-platform-number{box-shadow:none;border:0;margin-top:2px}
.pf-platform-callouts h4{font-size:1rem;line-height:1.6;margin:0 0 5px;color:#153e4d}
.pf-platform-callouts p{font-size:.9rem;line-height:1.8;color:#50676e;margin:0}
.pf-platform-disclosure{font-size:.8rem;line-height:1.8;color:#62767a;margin:24px 0 0;padding-top:18px;border-top:1px solid #e1ebe8}
@media(max-width:900px){.pf-platform-preview{padding:24px}.pf-platform-layout{grid-template-columns:minmax(0,1fr);gap:24px}.pf-platform-figure{max-width:360px}.pf-platform-callouts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pf-platform-preview{padding:20px 12px;margin-top:28px;border-radius:22px}.pf-platform-heading{margin-bottom:20px}.pf-platform-callouts{grid-template-columns:minmax(0,1fr);gap:10px}.pf-platform-callouts li{padding:13px;gap:10px}.pf-platform-figure{max-width:340px}.pf-platform-disclosure{margin-top:20px}}

/* Benefits and bonuses share one course-plan flow (TASK 05N). */
section.pf-course-plan{padding-top:40px}
.pf-course-plan .pf-benefits{margin-top:0}
.pf-course-plan .pf-benefit-grid{margin-bottom:0}
.pf-course-plan>.wrap>.pf-bonuses{padding:0;margin-top:32px;border:0;background:none}
.pf-course-plan .pf-bonuses>.wrap{width:100%;max-width:none;box-sizing:border-box;padding:28px}
@media(max-width:600px){
  section.pf-course-plan{padding-top:24px}
  .pf-course-plan>.wrap>.pf-bonuses{margin-top:24px}
  .pf-course-plan .pf-bonuses>.wrap{padding:20px 12px}
}
