:root{--navy:#17253d;--ink:#171b22;--muted:#66717e;--coral:#a64f4b;--line:#dfe3e8;--soft:#f4f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 Manrope,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-row{min-height:80px;display:flex;align-items:center;gap:30px}.header-row img{display:block;width:138px;height:auto}.header-row nav{display:flex;gap:28px;margin-left:auto;font-size:13px;font-weight:700}.header-row a{padding:10px 0}.header-back{font-size:13px;color:var(--coral);font-weight:800}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:30px 0 44px}.course-hero{background:linear-gradient(120deg,#f5f7f9 45%,#faeeee);padding-bottom:64px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.85fr);gap:64px;align-items:center}.eyebrow{color:var(--coral);text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,4.8vw,64px);line-height:1.07;letter-spacing:-.055em;margin-bottom:20px;max-width:650px}.hero-subtitle{font-size:24px;line-height:1.4;letter-spacing:-.02em;margin-bottom:24px}.intro{font-size:18px;color:var(--muted);max-width:610px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.chips span{border:1px solid #d8dfe5;border-radius:999px;padding:7px 12px;font-size:12px;background:#ffffff80}.plain{display:inline-flex;gap:16px;align-items:center;font-weight:800;font-size:14px;min-height:44px}.purchase{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 20px 60px #17253d0a}.purchase .eyebrow{font-size:10px}.price{font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-.04em}.price-note{font-size:13px;color:var(--muted);margin:10px 0 22px}.purchase dl{margin:0 0 26px}.purchase dl>div{border-top:1px solid var(--line);padding:12px 0}.purchase dt{font-size:12px;color:var(--muted)}.purchase dd{margin:3px 0 0;font-size:14px;font-weight:700}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:14px 20px;border-radius:12px;background:var(--coral);color:#fff;font-weight:800;font-size:14px}.button:hover{background:#8f403d}.fine{font-size:12px;color:var(--muted);line-height:1.6;margin:16px 0}.help{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.section{padding:80px 0}.soft{background:var(--soft)}h2{font-size:clamp(30px,3.2vw,42px);line-height:1.15;letter-spacing:-.04em;margin-bottom:24px}h3{font-size:20px;line-height:1.35;letter-spacing:-.02em}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px}.section-intro{font-size:19px;line-height:1.65}.muted{color:var(--muted);font-size:15px}.outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}.outcome{padding:28px;border:1px solid var(--line);border-radius:20px}.outcome>span{display:block;color:var(--coral);font-size:13px;font-weight:800;margin-bottom:30px}.outcome p{font-size:15px;color:var(--muted);margin:0}.curriculum-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.curriculum-intro{position:sticky;top:112px}.toggle-all{background:none;border:0;padding:12px 0;color:var(--coral);font-weight:800;font-size:14px}.module{border:1px solid var(--line);border-radius:16px;background:white;margin-bottom:12px;overflow:hidden}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.module summary{display:flex;align-items:center;gap:16px;padding:22px}.module h3{font-size:16px;margin:0;flex:1}.number{color:var(--coral);font-size:12px;font-weight:800}.plus{font-size:24px;line-height:1;color:var(--coral)}details[open] .plus{transform:rotate(45deg)}.module ul{padding:0 30px 22px 65px;margin:0;font-size:14px;color:var(--muted)}.module li{margin:8px 0}.teacher{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:44px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(120deg,#fff,#f8efec)}.teacher-role{color:var(--coral);font-size:14px;font-weight:700}.teacher-description p{font-size:17px}.teacher-fact{display:flex;flex-direction:column;border-top:1px solid #e4d6d1;padding-top:22px;gap:6px}.teacher-fact span{color:var(--muted);font-size:14px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}.steps article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px}.step-number{display:inline-grid;place-items:center;width:38px;height:38px;color:var(--coral);background:#f9eeeb;border-radius:12px;font-size:13px;font-weight:800;margin-bottom:20px}.steps p{color:var(--muted);font-size:15px;margin:0}.enrollment-list article{display:flex;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.enrollment-list article>span{font-size:13px;color:var(--coral);font-weight:800}.enrollment-list p{font-size:15px;color:var(--muted);margin:0}.enrollment-list h3{font-size:18px;margin-bottom:10px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-weight:700;font-size:15px}.faq summary span{color:var(--coral)}.faq p{font-size:14px;color:var(--muted);padding-bottom:18px}.closing{padding:40px 0 64px}.closing-card{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding:44px;border:1px solid #eadfdb;border-radius:24px;background:#faf1ed}.closing-card h2{font-size:32px}.closing-card p{font-size:14px;color:var(--muted);margin:0}.closing-action{display:flex;flex-direction:column;gap:16px;justify-content:center}.closing-action>strong{font-size:36px;letter-spacing:-.04em}footer{background:#0b1524;color:#fff;padding:44px 0 26px}.footer-row{display:flex;justify-content:space-between;gap:36px}.footer-row>div:last-child{display:flex;flex-direction:column;gap:12px;font-size:13px}.footer-row p{max-width:400px;color:#b4bfcc;font-size:13px}.copyright{margin-top:32px;border-top:1px solid #ffffff20;padding-top:20px;color:#b4bfcc;font-size:12px}
@media(max-width:900px){.hero-grid{gap:32px;grid-template-columns:1.2fr 1fr}.split,.curriculum-grid{gap:32px}.teacher{gap:32px}.header-row nav{gap:16px}.closing-card{gap:32px}}
@media(max-width:720px){.header-row{min-height:70px;gap:20px;flex-wrap:wrap;padding:8px 0}.header-row nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:4px;gap:8px}.header-back{margin-left:auto}.hero-grid,.split,.curriculum-grid,.teacher,.closing-card{grid-template-columns:1fr}.hero-grid{gap:32px}h1{font-size:42px}.hero-subtitle{font-size:22px}.breadcrumbs{padding:22px 0 30px}.outcome-grid{grid-template-columns:1fr}.section{padding:48px 0}.curriculum-intro{position:static}.teacher{padding:28px;width:calc(100% - 48px)}.steps{grid-template-columns:1fr}.closing-card{padding:28px}.footer-row{flex-direction:column}.module summary{padding:18px}.module ul{padding-left:52px}.purchase{padding:26px}html{scroll-padding-top:145px}.wrap{width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Portrait kept separate from the lecturer biography. */
.teacher{grid-template-columns:280px minmax(0,1fr);column-gap:44px;row-gap:24px;align-items:start}
.teacher-portrait{grid-column:1;grid-row:1/3;align-self:stretch;min-height:390px;overflow:hidden;border-radius:18px;background:#edf0f3}
.teacher-portrait img{display:block;width:100%;height:100%;max-height:500px;object-fit:cover;object-position:center 18%}
.teacher-heading{grid-column:2}
.teacher-description{grid-column:2}
.teacher-heading h2{margin-bottom:14px}
@media(max-width:720px){.teacher{grid-template-columns:minmax(0,1fr);gap:24px}.teacher-portrait{grid-column:1;grid-row:auto;width:100%;max-width:320px;min-height:0;aspect-ratio:4/5;margin-inline:auto}.teacher-portrait img{height:100%;max-height:none}.teacher-heading,.teacher-description{grid-column:1}}

/* Touch targets, narrow screens and keyboard navigation. */
.skip-link{position:fixed;top:12px;left:12px;z-index:30;padding:12px 18px;background:var(--navy);color:#fff;border-radius:8px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.hero-grid>*,.split>*,.curriculum-grid>*,.teacher>*,.closing-card>*{min-width:0}
.help{display:inline-flex;align-items:center;min-height:44px}
.header-row a{min-height:44px;display:inline-flex;align-items:center}
.price,.closing-action>strong{white-space:nowrap}
.module h3{min-width:0;overflow-wrap:anywhere}
.number,.plus,.faq-icon{flex-shrink:0}
.faq-icon{font-size:22px;line-height:1.2}
.faq details[open] .faq-icon{transform:rotate(45deg)}
.module summary:focus-visible{outline-offset:-4px}
.teacher-heading h2{overflow-wrap:anywhere}
@media(max-width:900px) and (min-width:721px){.teacher{grid-template-columns:220px minmax(0,1fr);padding:30px;column-gap:28px}}
@media(max-width:380px){.header-row{gap:8px}.header-row img{width:120px}.header-back{font-size:12px}.header-row nav{font-size:12px}h1{font-size:36px}.purchase,.teacher,.closing-card{padding:22px}.teacher{width:calc(100% - 36px)}.module summary{gap:10px;padding:16px}.module ul{padding-left:40px;padding-right:20px}.outcome,.steps article{padding:22px}}

/* Longer title and landscape portrait for the pelvic-floor course. */
.course-pelvic h1{font-size:clamp(34px,4vw,54px);overflow-wrap:anywhere}
.course-pelvic .teacher-portrait img{object-position:43% center}
@media(max-width:720px){.course-pelvic h1{font-size:36px}}
@media(max-width:380px){.course-pelvic h1{font-size:32px}}

/* Keep the landscape source inside a stable portrait frame. */
.course-pelvic .teacher-portrait{position:relative}
.course-pelvic .teacher-portrait img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:43% center}
.course-pelvic h1{overflow-wrap:normal;hyphens:manual}

/* Gynecology course uses the same lecturer portrait and course layout. */
.course-gynecology h1{font-size:clamp(34px,4vw,54px);hyphens:manual}
.course-gynecology .teacher-portrait{position:relative}
.course-gynecology .teacher-portrait img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:43% center}
.final-assessment{margin-top:24px;padding:24px;border:1px solid #e4d6d1;border-radius:16px;background:#faf1ed}
.final-assessment h3{font-size:18px;margin-bottom:10px}
.final-assessment p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:720px){.course-gynecology h1{font-size:36px}}
@media(max-width:380px){.course-gynecology h1{font-size:32px}}

.price small{font-size:22px;font-weight:600}
.tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.tariff-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}
.tariff-card h3{font-size:24px;margin-bottom:12px}
.tariff-description{font-size:14px;color:var(--muted);min-height:70px}
.tariff-price{font-size:36px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}
.tariff-card ul{padding-left:20px;font-size:14px;margin:24px 0;flex:1}
.tariff-card li{margin:0 0 12px}.tariff-card li::marker{color:var(--coral)}
.tariff-status{font-size:12px;color:var(--muted);margin:12px 0}
.tariff-card .button{font-size:13px;gap:12px}
@media(max-width:960px){.tariff-grid{grid-template-columns:1fr}.tariff-description{min-height:0}.course-gynecology .header-row{gap:16px}.course-gynecology .header-row nav{gap:12px}}
@media(max-width:380px){.course-gynecology .header-row nav{font-size:11px;gap:6px}}

.guest-expert{margin-top:24px;padding:28px;border:1px solid var(--line);border-radius:20px}.guest-expert p:last-child{margin-bottom:0}

.guest-expert{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:center}.guest-photo{position:relative;height:240px;border-radius:16px;overflow:hidden;background:var(--soft)}.guest-photo img{position:absolute;width:100%;height:160%;object-fit:cover;object-position:42% 0;top:-35px;left:0}@media(max-width:720px){.guest-expert{grid-template-columns:1fr}.guest-photo{width:200px}}

/* Flat controls: suppress native outset edges and decorative shadows in every state. */
:is(button,input[type="button"],input[type="submit"],input[type="reset"],.button,.btn,[role="button"]),
:is(button,input[type="button"],input[type="submit"],input[type="reset"],.button,.btn,[role="button"]):is(:hover,:active,:focus,:focus-visible,:disabled){
 -webkit-appearance:none;appearance:none;border-style:solid;box-shadow:none!important;filter:none!important;text-shadow:none!important;
}
