/* Course landing: a single editorial canvas, with local splits only for images. */
@layer components {
  .hero-cta-pair { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:28px 0 12px; }
  .hero-cta-pair .button { min-height:52px; padding:13px 18px; gap:12px; text-align:center; }
  .hero-cta-pair .secondary { border:1px solid var(--accent); color:var(--accent); background:transparent; }
  .source-hero-heading { font-size:clamp(1.6rem,2.2vw,2.2rem); margin-bottom:24px; }
  .hero-offer { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(0,1.5fr); align-items:center; gap:22px; padding:22px; margin-top:24px; background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:12px; }
  .hero-offer-cost { min-width:0; padding-right:20px; border-right:1px solid var(--line); }
  .hero-offer .format-label { font-size:.875rem; line-height:1.5; margin-bottom:8px; }
  .hero-price { display:block; font-size:clamp(2.5rem,3.8vw,3rem); font-weight:700; line-height:1.1; letter-spacing:-.04em; white-space:nowrap; }
  .hero-price span { font-size:1.5rem; font-weight:500; }
  .original-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; font-size:.875rem; line-height:1.5; }
  .original-facts p { display:contents; }
  .hero-fact { min-width:0; text-wrap:pretty; }
  .course-icon { flex:none; display:inline-block; vertical-align:middle; }
  .hero-meta dt .course-icon { display:block; margin-bottom:9px; color:var(--accent); }
  .course-story,.panel-main { min-width:0; }
  .course-story>.content-block+.content-block { margin-top:76px; }
  .course-panel h2 { font-size:clamp(2rem,3.5vw,3.25rem); margin:0 0 28px; }
  .course-panel .eyebrow { font-size:.875rem; margin-bottom:18px; }
  .panel-intro,.panel-closing { color:var(--muted); line-height:1.8; }
  .panel-intro strong,.panel-closing strong { color:var(--ink); }
  .panel-intro .price-pair { display:flex; align-items:baseline; flex-wrap:wrap; gap:16px; margin-top:24px; }
  .price-pair strong { font-size:clamp(2.4rem,4vw,3rem); font-weight:700; line-height:1.2; }
  .price-pair s { font-size:1.25rem; color:var(--muted); text-decoration-thickness:2px; }
  .panel-intro p,.panel-item p { text-wrap:pretty; }
  .panel-intro p+p,.panel-closing p+p { margin-top:18px; }
  .panel-intro p:first-child { font-size:1.125rem; }
  .panel-intro:empty { display:none; }
  .panel-closing { margin-top:28px; }
  .panel-items { margin-top:32px; }
  .panel-item h3 { line-height:1.3; margin-bottom:14px; }
  .presentation-intro:not(.panel-with-image) .panel-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:0 64px; align-items:start; padding-block:24px; border-top:1px solid var(--line); }
  .presentation-intro:not(.panel-with-image) .panel-main>h2 { grid-column:1; }
  .presentation-intro:not(.panel-with-image) .panel-intro { grid-column:2; grid-row:1 / span 3; }
  .presentation-intro:not(.panel-with-image) .panel-closing { grid-column:2; }
  .presentation-audience { padding:44px 0; border-block:1px solid var(--line); }
  .presentation-audience .panel-items { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
  .presentation-audience .panel-item { position:relative; padding:24px 0; border-top:1px solid var(--line); }
  .item-check { position:absolute; left:0; top:24px; color:var(--accent); }
  .presentation-outcomes { padding:48px; background:var(--surface); border-radius:18px; }
  .presentation-outcomes .panel-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .presentation-outcomes .panel-item { padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
  .presentation-outcomes h3 { font-family:var(--font-display); font-size:1.65rem; font-weight:400; }
  .presentation-outcomes .panel-item p { color:var(--muted); }
  .item-symbol { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:12px; background:var(--accent-soft); color:var(--accent); margin-bottom:22px; }
  .presentation-rhythm { padding:56px; background:var(--navy); color:#fff; border-radius:18px; }
  .presentation-rhythm h2 { max-width:28ch; font-size:clamp(2.2rem,3.8vw,3.6rem); }
  .presentation-rhythm .panel-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
  .presentation-rhythm .panel-item { border-top:1px solid #49607c; padding-top:28px; }
  .presentation-rhythm h3 { font-family:var(--font-display); font-size:1.7rem; font-weight:400; }
  .presentation-rhythm .panel-item p,.presentation-rhythm .panel-intro { color:#d5deeb; }
  .presentation-rhythm strong { color:#fff; }
  .presentation-rhythm .item-symbol { color:#ffb4c0; background:#283e59; }
  .panel-with-image { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:56px; padding:40px; background:var(--surface); border-radius:18px; }
  .panel-picture { min-width:0; }
  .panel-picture img { width:100%; height:auto; border-radius:12px; }
  .presentation-materials.panel-with-image { align-items:start; }
  .presentation-materials h2 { font-size:clamp(1.9rem,2.7vw,2.75rem); }
  .kit-details { margin-top:24px; border-block:1px solid var(--line); }
  .kit-details>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; padding:20px 0; font-weight:600; list-style:none; }
  .kit-details>summary::-webkit-details-marker { display:none; }
  .kit-details .panel-items { margin-top:0; }
  .kit-details .panel-item { padding:14px 0; border-top:1px solid var(--line); color:var(--muted); }
  .expand-mark { display:block; position:relative; width:26px; height:26px; flex-shrink:0; }
  .expand-mark::before,.expand-mark::after { content:''; position:absolute; background:var(--accent); width:14px; height:2px; left:6px; top:12px; }
  .expand-mark::after { transform:rotate(90deg); }
  details[open]>summary .expand-mark::after { transform:none; }
  .presentation-support { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:64px; align-items:center; padding-block:32px; }
  .mentor-portrait { width:100%; max-width:435px; }
  .mentor-portrait img { width:100%; height:auto; border-radius:120px 120px 12px 12px; }
  .mentor-signature { font-size:clamp(1.25rem,1.7vw,1.65rem); line-height:2.5; color:var(--accent); margin-top:28px; }
  .presentation-diploma { padding:48px; border:1px solid var(--line); border-left:4px solid var(--accent); background:var(--surface); border-radius:0 18px 18px 0; }
  .presentation-lessons .panel-items { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
  .presentation-lessons .panel-item { padding:20px 0; border-top:1px solid var(--line); }
  .lesson-list-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 18px; }
  .lesson-list-title { flex:1 1 220px; min-width:0; }
  .lesson-duration { flex:none; margin-left:auto; white-space:nowrap; color:var(--muted); font-size:.875rem; font-variant-numeric:tabular-nums; padding:4px 10px; border:1px solid var(--line); border-radius:999px; }
  .free-lesson-badge { display:inline-flex; margin-top:10px; padding:5px 12px; border-radius:999px; background:var(--accent); color:var(--bg); font-size:.875rem; font-weight:700; line-height:1.5; }
  .presentation-reviews { padding:48px; background:var(--surface); border-radius:18px; }
  .presentation-reviews h2 { margin-bottom:18px; }
  .review-controls { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:24px; }
  .review-controls[hidden] { display:none; }
  .review-position { margin-right:10px; font-size:.9375rem; color:var(--muted); font-variant-numeric:tabular-nums; }
  .carousel-arrow { width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--bg); }
  .carousel-arrow:hover:not(:disabled) { background:var(--ink); color:var(--bg); }
  .carousel-arrow:disabled { opacity:.35; cursor:default; }
  .review-track { display:flex; align-items:flex-start; gap:24px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding:2px; padding:4px 2px 22px; margin-top:24px; scrollbar-width:thin; scrollbar-color:var(--accent) transparent; overscroll-behavior-x:contain; }
  .review-card { flex:0 0 calc((100% - 24px)/2); min-width:0; scroll-snap-align:start; border:1px solid var(--line); border-radius:14px; background:var(--bg); padding:30px; }
  .review-author { display:flex; align-items:center; gap:14px; }
  .review-author img,.review-initial { width:48px; height:48px; flex:none; border-radius:50%; }
  .review-initial { display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); font-family:var(--font-display); font-size:1.5rem; }
  .review-author h3 { font-size:1.0625rem; font-weight:600; margin:0; }
  .review-stars { display:flex; gap:3px; color:var(--accent); margin-block:20px; }
  .review-stars svg { width:17px; height:17px; fill:currentColor; }
  .review-quote { color:var(--muted); line-height:1.8; }
  /* Keep absolute CMS annotations inside the carousel's scrolling box. */
  .original-gallery { position:relative; display:flex; overflow-x:auto; gap:20px; scroll-snap-type:x proximity; padding-bottom:20px; scrollbar-width:thin; scrollbar-color:var(--accent) transparent; }
  .original-gallery a { align-self:start; flex:0 0 calc((100% - 40px)/3); min-width:0; scroll-snap-align:start; }
  .original-gallery img { width:100%; height:auto; border-radius:12px; }
  .original-gallery a:only-child { flex-basis:60%; margin-inline:auto; }
  .course-film .video-stage { background:var(--navy); aspect-ratio:2/1; border-radius:18px; }
  .course-film .video-stage:has(iframe) { aspect-ratio:16/9; min-height:0; }
  .course-film .video-play { position:relative; align-items:flex-start; padding:40px 40px 40px 46%; text-align:left; color:#fff; gap:20px; }
  .course-film .film-portrait { position:absolute; inset:0 auto 0 0; width:38%; height:100%; object-fit:cover; object-position:center 30%; border-radius:0; }
  .course-film .video-play>span:not(.play-symbol) { font-family:var(--font-display); font-weight:400; font-size:clamp(1.5rem,2.5vw,2.4rem); line-height:1.2; }
  .course-film .video-play small { color:#ccd8e8; }
  .course-film .play-symbol { background:#ffb4c0; color:#092952; }
  .course-story .cta-line { display:inline-flex; max-width:100%; margin:12px 12px 0 0; vertical-align:top; }
  .course-story .cta-line:last-child { margin-right:0; }
  .course-story .button { min-height:52px; max-width:100%; padding:14px 20px; text-align:center; border:1px solid transparent; line-height:1.4; }
  .course-story .secondary { border:1px solid var(--accent); color:var(--accent); background:transparent; }
  .course-story .primary { color:var(--button-text); }
  .course-story .purchase-cta:disabled { cursor:not-allowed; opacity:.72; }
  .course-story .purchase-cta:disabled:hover { transform:none; filter:none; }
  .course-film figcaption .button { margin-top:12px; display:table; }
}
@layer responsive {
  @media(max-width:600px) {
    .hero-offer { grid-template-columns:1fr; gap:18px; padding:20px; }
    .hero-offer-cost { border-right:0; border-bottom:1px solid var(--line); padding:0 0 18px; text-align:center; }
    .original-facts { gap:12px 16px; }
  }
  @media(max-width:1050px) {
    .panel-with-image { gap:32px; padding:28px; }
    .presentation-support { grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr); gap:36px; }
    .presentation-reviews,.presentation-outcomes,.presentation-rhythm { padding:32px; }
    .presentation-intro:not(.panel-with-image) .panel-main { gap:0 32px; }
  }
  @media(max-width:760px) {
    .course-story>.content-block+.content-block { margin-top:48px; }
    .presentation-intro:not(.panel-with-image) .panel-main { display:block; }
    .presentation-audience { padding-block:28px; }
    .presentation-outcomes,.presentation-rhythm,.presentation-diploma,.presentation-reviews { padding:28px 22px; border-radius:12px; }
    .presentation-outcomes .panel-items,.presentation-rhythm .panel-items,.presentation-audience .panel-items,.presentation-lessons .panel-items { grid-template-columns:1fr; gap:0; }
    .presentation-outcomes .panel-items,.presentation-rhythm .panel-items { gap:20px; }
    .presentation-outcomes .panel-item { padding:24px; }
    .panel-with-image { grid-template-columns:1fr; gap:28px; padding:22px; border-radius:12px; }
    .panel-picture { width:100%; max-width:520px; margin-inline:auto; }
    .presentation-support { grid-template-columns:1fr; gap:32px; padding:0; }
    .mentor-portrait { width:min(100%,435px); margin-inline:auto; }
    .mentor-portrait img { border-radius:80px 80px 12px 12px; }
    .review-card { flex-basis:100%; padding:24px; }
    .original-gallery a { flex-basis:82%; }
    .original-gallery a:only-child { flex-basis:100%; }
    .course-film .video-stage { aspect-ratio:auto; min-height:300px; }
    .course-film .video-play { min-height:300px; padding:28px 20px 28px 44%; }
    .hero-meta dt .course-icon { width:20px; height:20px; }
  }
  @media(max-width:480px) {
    .hero-cta-pair .button { width:100%; }
    .course-story .cta-line,.course-story .cta-line .button { display:flex; width:100%; margin-right:0; }
    .course-panel h2 { font-size:2rem; }
    .course-film .video-play>span:not(.play-symbol) { font-size:1.35rem; }
    .mentor-signature { font-size:1.15rem; }
  }
  @media(prefers-reduced-motion:no-preference) and (hover:hover) {
    .carousel-arrow { transition:background .18s,color .18s; }
    .course-film .play-symbol { transition:transform .2s; }
    .course-film .video-play:hover .play-symbol { transform:scale(1.08); }
  }
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
  @media print { .review-track { display:block; overflow:visible; height:auto !important; } .review-card { break-inside:avoid; margin-bottom:20px; } .review-controls { display:none; } }
}

@layer components {
  /* Purchase summaries and closing CTAs share a clear central action. */
  .course-story>.content-block>.cta-line { display:flex; justify-content:center; width:100%; margin-inline:0; }
  .presentation-lessons .panel-closing,.course-recap .panel-closing { text-align:center; }
  .course-story>.content-block>.cta-line .button,.presentation-lessons .panel-closing .button,.course-recap .panel-closing .button { min-width:260px; }
  .course-recap { background:var(--navy); color:#fff; padding:48px; }
  .course-recap h2 { text-align:center; margin-bottom:40px; }
  .course-recap .panel-intro { color:#d5deeb; }
  .recap-summary { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,2fr); align-items:center; gap:40px; }
  .recap-offer { border-right:1px solid #425873; padding-right:36px; }
  .course-recap .recap-format { display:inline-block; font-size:.875rem; line-height:1.4; border:1px solid #708097; padding:5px 12px; border-radius:999px; }
  .course-recap .recap-price { display:block; color:#ffb4c0; font-size:clamp(3.25rem,5vw,4.5rem); font-weight:700; line-height:1.15; margin-block:18px 10px; letter-spacing:-.04em; }
  .course-recap .recap-access { margin:0; font-size:1rem; }
  .recap-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
  .course-recap .recap-metric .recap-value { display:block; color:#fff; font-size:clamp(1.7rem,2.6vw,2.3rem); font-weight:600; line-height:1.25; }
  .course-recap .recap-label { margin-top:9px; line-height:1.5; font-size:1rem; }
  .course-recap .panel-items { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:40px; gap:24px; border-top:1px solid #425873; padding-top:28px; }
  .course-recap .panel-item { padding:0; border:0; background:transparent; border-radius:0; }
  .course-recap .panel-item p { color:#d5deeb; font-size:1rem; }
  .course-recap .panel-closing { margin-top:36px; }
  .course-recap .purchase-cta { background:#ffb4c0; color:#102c52; }
  .course-recap .purchase-cta:disabled { opacity:1; }
  .course-payments { border:0; padding:0; }
  .course-payments h2 { text-align:center; }
  .course-payments .panel-items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
  .course-payments .panel-item { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:24px 16px; text-align:center; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
  .payment-mark { display:flex; justify-content:center; align-items:center; gap:4px; height:64px; margin-bottom:16px; }
  .payment-mark img { flex:none; width:auto; height:64px; object-fit:contain; border-radius:5px; }
  .payment-mark img:first-child:nth-last-child(2),.payment-mark img:nth-child(2) { height:44px; }
  .course-payments .panel-item p { font-size:.9375rem; line-height:1.5; }
}
@layer responsive {
  @media(max-width:1100px) {
    .recap-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .course-payments .panel-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media(max-width:760px) {
    .course-recap { padding:28px 22px; }
    .course-recap h2 { margin-bottom:28px; }
    .recap-summary { grid-template-columns:1fr; gap:28px; }
    .recap-offer { border-right:0; border-bottom:1px solid #425873; text-align:center; padding:0 0 28px; }
    .recap-metrics { text-align:center; gap:24px 16px; }
    .course-recap .panel-items { grid-template-columns:1fr; gap:18px; margin-top:28px; }
    .course-recap .panel-item { padding:0; }
    .course-story>.content-block>.cta-line,.presentation-lessons .panel-closing .cta-line,.course-recap .panel-closing .cta-line { width:100%; margin-right:0; }
    .course-story>.content-block>.cta-line .button,.presentation-lessons .panel-closing .button,.course-recap .panel-closing .button { width:100%; min-width:0; }
    .course-payments .panel-items { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .course-payments .panel-item { padding:18px 10px; }
    .payment-mark img:first-child:nth-last-child(2),.payment-mark img:nth-child(2) { height:36px; }
  }
  @media(max-width:359px) { .course-payments .panel-items { grid-template-columns:1fr; } }
}

@layer components {
  /* One continuous programme area; source topics and lesson order stay intact. */
  .course-story>.content-block:has(>.course-program) { padding:44px 48px 32px; background:var(--surface); border-radius:18px 18px 0 0; }
  .course-program h2 { font-size:clamp(2rem,3.6vw,3.4rem); max-width:22ch; margin-bottom:30px; }
  .program-topics ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; list-style:none; padding:0; margin:0; }
  .program-topics li { position:relative; padding:19px 4px 19px 20px; margin:0; border-bottom:1px solid var(--line); line-height:1.65; color:var(--ink); text-wrap:pretty; }
  .program-topics li::before { content:''; position:absolute; left:0; top:28px; width:5px; height:5px; border-radius:50%; background:var(--accent); }
  .course-story>.content-block:has(>.program-lead) { margin-top:0; padding:8px 48px 0; background:var(--surface); }
  .program-lead.presentation-intro:not(.panel-with-image) .panel-main { display:block; padding:32px 0 0; border-top:2px solid var(--line); }
  .program-lead h2 { font-size:clamp(1.85rem,2.7vw,2.6rem); max-width:38ch; margin-bottom:14px; text-wrap:pretty; }
  .program-lead .panel-intro { line-height:1.6; }
  .course-story>.content-block:has(>.program-lead)+.content-block:has(>.presentation-lessons) { margin-top:0; padding:28px 48px 44px; background:var(--surface); border-radius:0 0 18px 18px; }
  .course-story>.content-block:has(>.program-lead)+.content-block .presentation-lessons h2 { font-size:1.5rem; margin:0 0 20px; letter-spacing:-.02em; }
  .course-story>.content-block:has(>.program-lead)+.content-block .presentation-lessons .panel-items { margin-top:0; gap:12px; }
  .course-story>.content-block:has(>.program-lead)+.content-block .presentation-lessons .panel-item { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:18px 20px; background:var(--bg); border:1px solid var(--lesson-border,var(--line)); border-radius:10px; }
  .presentation-lessons .panel-item:has(.free-lesson-badge) { --lesson-border:var(--accent); }
}
@layer responsive {
  @media(max-width:760px) {
    .course-story>.content-block:has(>.course-program) { padding:28px 22px 24px; border-radius:12px 12px 0 0; }
    .program-topics ul { grid-template-columns:1fr; }
    .program-topics li { padding-block:16px; }
    .program-topics li::before { top:25px; }
    .course-story>.content-block:has(>.program-lead) { margin-top:0; padding:0 22px; }
    .program-lead.presentation-intro:not(.panel-with-image) .panel-main { padding-top:28px; }
    .program-lead h2 { font-size:1.65rem; }
    .course-story>.content-block:has(>.program-lead)+.content-block:has(>.presentation-lessons) { margin-top:0; padding:24px 22px 28px; border-radius:0 0 12px 12px; }
    .course-story>.content-block:has(>.program-lead)+.content-block .presentation-lessons h2 { font-size:1.4rem; }
    .course-story>.content-block:has(>.program-lead)+.content-block .presentation-lessons .panel-item { padding:16px; }
  }
}
.purchase-cart-form{margin:0}.purchase-cart-form .purchase-cta{font-family:inherit;border:1px solid transparent;cursor:pointer}

/* Keep long course names whole on desktop and narrow screens. */
.course-hero--long-title .hero-copy h1 { font-size:clamp(2rem, 4vw, 4rem); overflow-wrap:normal; }

/* A course with one lesson list has a complete programme panel of its own. */
.course-story>.content-block:has(>.presentation-lessons.program-lead) {
  padding:36px 40px; margin-top:48px; border-radius:18px;
}
.presentation-lessons.program-lead .panel-items { gap:12px; margin-top:24px; }
.presentation-lessons.program-lead .panel-item {
  padding:20px; background:var(--bg); border:1px solid var(--lesson-border,var(--line)); border-radius:10px;
}
@media(max-width:760px) {
  .course-story>.content-block:has(>.presentation-lessons.program-lead) { padding:24px 18px; }
  .presentation-lessons.program-lead .panel-item { padding:16px; }
}

/* Social links belong to the mentor's introduction, before her signature. */
.course-panel .mentor-social-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin:4px 16px 4px 0;padding:8px 0;border:0;background:none;color:var(--ink);font-size:.85rem;font-weight:500;line-height:1.3;text-decoration:none;vertical-align:middle}
.mentor-social-link svg{flex-shrink:0}.mentor-social-link:hover span{text-decoration:underline;text-underline-offset:4px}.mentor-social-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}
.mentor-social-link.social-instagram svg{color:#bf326b}.mentor-social-link.social-facebook svg,.mentor-social-link.social-messenger svg{color:#1877f2}.mentor-social-link.social-youtube svg{color:#e52d27}.mentor-social-link.social-whatsapp svg{color:#168644}
.presentation-support .panel-closing:has(.mentor-social-link){margin-top:22px}.presentation-support .mentor-signature{margin-top:24px}
@media(max-width:500px){.course-panel .mentor-social-link{font-size:.85rem;margin-right:20px;min-height:46px}}

/* Four shared instructor channels, one row at every landing breakpoint. */
.course-panel .mentor-social-row,.classroom-page .mentor-social-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;max-width:480px}
.course-panel .mentor-social-row .mentor-social-link,.classroom-page .mentor-social-row .mentor-social-link{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;margin:0;padding:10px 0;font-size:.8rem;white-space:nowrap;min-height:44px;background:none;border:0;color:var(--ink);font-weight:500;line-height:1.3;text-decoration:none}
.mentor-social-row .mentor-social-link svg{width:23px;height:23px}
.program-topic-icon{display:flex;align-items:flex-start;color:var(--accent);margin:0;padding-top:2px;grid-column:1;grid-row:1 / span 2}
.panel-item:has(>.program-topic-icon),.program-topics li{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:12px;align-items:start}
.panel-item:has(>.program-topic-icon)>p,.panel-item:has(>.program-topic-icon)>h3,.program-topic-text{grid-column:2;min-width:0}
.program-topics li{padding-left:0}
.program-topics li::before{display:none}
.lesson-list-title:has(.lesson-program-icon){display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:12px}
.lesson-program-icon{grid-column:1;grid-row:1 / span 2;color:var(--accent);padding-top:2px}
.lesson-list-title:has(.lesson-program-icon)>p,.lesson-list-title:has(.lesson-program-icon)>h3{grid-column:2}

/* Course presentations: editorial heading and the actual Vimeo player. */
.course-presentation>h2{margin:0 0 28px;max-width:26ch;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.15}
.course-presentation .course-film{margin:0}
.course-presentation .video-stage{aspect-ratio:16/9;min-height:0;background:#111}
@media(max-width:600px){.course-presentation>h2{margin-bottom:20px}}

.course-recap .recap-value svg{width:1.15em;height:1.15em;vertical-align:middle}
.course-recap .panel-closing{color:#d5deeb}
@media(max-width:700px){.course-recap .purchase-cart-form{width:100%}}

/* One diploma section, including its original caption, explanation and CTA. */
.course-diploma{padding:clamp(24px,4vw,48px);background:var(--surface);border:1px solid var(--line);border-radius:20px}
.course-diploma .presentation-diploma{padding:0;border:0;border-radius:0;background:none}
.course-diploma .diploma-heading h2{max-width:24ch;margin-bottom:20px}
.course-diploma .diploma-heading .panel-intro{max-width:85ch}
.diploma-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(28px,4vw,56px);margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}
.course-diploma .diploma-example{margin:0;min-width:0}
.diploma-example a{display:block}
.diploma-example img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.course-diploma .diploma-example figcaption{margin-top:12px;text-align:center;color:var(--muted);font-size:.85rem;line-height:1.5}
.course-diploma .diploma-example figcaption p{margin:0}
.diploma-copy{min-width:0;font-size:1rem;line-height:1.7;color:var(--muted)}
.diploma-copy strong{color:var(--ink)}
.diploma-copy p{margin:0 0 16px}
.diploma-copy ul{display:grid;gap:12px;list-style:none;padding:0;margin:16px 0 20px}
.diploma-copy li{margin:0;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:var(--bg)}
.diploma-copy>div:empty{display:none}
.course-diploma .diploma-actions{margin-top:28px;text-align:center}
.course-diploma .diploma-actions .cta-line{margin:0}
.diploma-actions .button{min-width:260px}
@media(max-width:850px){
  .diploma-layout{grid-template-columns:1fr;gap:28px;margin-top:24px;padding-top:24px}
  .course-diploma .diploma-example{width:100%;max-width:520px;margin-inline:auto}
  .course-diploma .diploma-heading h2{max-width:none}
}
@media(max-width:600px){
  .course-diploma{padding:24px 18px;border-radius:14px}
  .diploma-copy li{padding:14px}
  .course-diploma .diploma-actions .cta-line,.diploma-actions .purchase-cart-form,.diploma-actions .button{width:100%;min-width:0}
}

.hero-fact--icon{display:flex;align-items:flex-start;gap:10px}
.hero-fact--icon .course-icon{flex:none;width:21px;height:21px;margin-top:1px}
