/* Shared finishing layer: existing source palette and typography remain bound. */
:root{--feature-image-radius:20px;--eyebrow-size:12px;--eyebrow-weight:700;--eyebrow-spacing:2px;--eyebrow-color:var(--muted)}
/* One eyebrow definition for every section rail (testimonials, journal, FAQ,
   CTA, and both dialogs). Container paragraph rules such as
   `.platons-closing p` and `.journal-dialog p` otherwise out-rank
   `.stories-kicker` and reset size/weight, so the type is pinned here and the
   tokens below stay the single source of truth. */
:is(.stories-kicker,.teacher-dialog-kicker){
  font-family:var(--font-body)!important;
  font-size:var(--eyebrow-size)!important;
  font-weight:var(--eyebrow-weight)!important;
  line-height:1.6!important;
  letter-spacing:var(--eyebrow-spacing)!important;
  text-transform:uppercase!important;
  color:var(--eyebrow-color);
  text-wrap:pretty;
}
/* ---- One heading ink for every section ----------------------------------
   Section, item and dialog titles all read a single deep-green token, so the
   page no longer flips between an orange top half and a green bottom half.
   The two genuinely dark surfaces (the fixed photo band and the dark mentor
   card) plus the saturated orange band keep the light ink; that is a contrast
   requirement, not a second heading colour. */
.elementor-17399 .elementor-heading-title{color:var(--heading-color)!important}
.elementor-17399 :is(.elementor-element-346f83e,.elementor-element-eb1a78c,.elementor-element-f9e89ce) .elementor-heading-title{color:var(--heading-color-invert)!important}
.platons-journal .journal-card img{border-radius:var(--feature-image-radius)!important}
.platons-journal .journal-byline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font:400 var(--meta-size)/1.7 var(--font-body);border-top:1px solid oklch(from var(--fg) l c h / .2);padding-top:12px;margin:0 0 16px!important}
/* Courses uses the same editorial masthead grammar as the journal: a readable
   left column, controls aligned at the lower-right, and one quiet divider
   before the card rail. The Elementor widgets remain separate grid items, so
   their rows are composed here into one visual header. */
.elementor-17399 [data-od-id="content-section-12"]>.elementor-container>.elementor-column>.elementor-widget-wrap{display:block}
.elementor-17399 [data-od-id="content-section-12"] .courses-header{display:grid;grid-template-columns:minmax(0,760px) auto;align-items:end;gap:32px;margin:0;padding-bottom:28px;border-bottom:1px solid oklch(from var(--fg) l c h / .24)}
.elementor-17399 [data-od-id="content-section-12"] .courses-header-copy{max-width:760px;min-width:0}
.elementor-17399 [data-od-id="content-section-12"] .elementor-element-df38680{text-align:left!important;margin:0!important;max-width:760px}
.elementor-17399 [data-od-id="content-section-12"] .elementor-element-df38680 .elementor-heading-title{margin:0 0 14px}
.elementor-17399 [data-od-id="content-section-12"] .courses-kicker{margin-bottom:12px}
.elementor-17399 [data-od-id="content-section-12"] .elementor-element-f0bc0c7{text-align:left!important;max-width:58ch;margin:0!important;padding:0}
.elementor-17399 [data-od-id="content-section-12"] .elementor-element-f0bc0c7 .elementor-heading-title{margin:0!important;font-family:var(--font-body)!important;font-size:var(--body-size)!important;font-weight:400!important;line-height:1.8!important;letter-spacing:0!important;text-wrap:pretty}
.elementor-17399 [data-od-id="content-section-12"] .courses-controls{justify-self:end;align-self:end;margin:0}
.elementor-17399 [data-od-id="content-section-12"] .elementor-element-9140862{margin-top:32px;padding-top:0;border-top:0}
.elementor-17399 [data-od-id="content-section-12"] .elementor-swiper{padding-bottom:0!important}
.elementor-17399 [data-od-id="content-section-12"] .courses-controls button{position:static!important;transform:none!important;display:grid!important;width:46px!important;height:46px!important;flex:0 0 46px;margin:0!important;background:transparent!important;color:var(--fg)!important;border:1px solid var(--fg)!important;border-radius:50%!important}
.elementor-17399 [data-od-id="content-section-12"] .courses-controls button:hover{background:oklch(from var(--surface) calc(l - .08) c h)!important;color:var(--fg)!important}
.courses-controls .swiper-button-lock,.stories-controls .swiper-button-lock{display:grid!important;opacity:.35;pointer-events:none}
.stories-controls .swiper-button-disabled,.courses-controls .swiper-button-disabled{opacity:.35;cursor:default;pointer-events:none}
.stories-pagination.swiper-pagination-lock{display:flex!important;visibility:hidden}
.stories-controls button:focus-visible,.stories-pagination button:focus-visible,.platons-closing :is(button,a,summary):focus-visible{outline:3px solid var(--fg);outline-offset:4px}
.platons-closing{background:var(--surface);color:var(--fg);padding:var(--section-space) 0;font-family:var(--font-body)}
/* The enrollment dialog title is a shared heading, not a one-off 36px size. */
dialog h2{font-size:var(--heading-feature-size);letter-spacing:2px}
.platons-closing h2{font:400 var(--heading-size)/1.15 var(--font-display);letter-spacing:2px;text-wrap:balance;margin:0 0 20px}
.platons-closing p{font:400 var(--body-size)/1.85 var(--font-body);text-wrap:pretty}
.platons-faq{background:var(--fg);color:var(--surface)}
.faq-layout{display:grid;grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);gap:clamp(44px,8vw,120px);align-items:start}
.faq-intro{position:sticky;top:32px;padding:clamp(28px,4vw,52px);border:1px solid oklch(from var(--surface) l c h / .3);border-radius:var(--feature-image-radius)}
.faq-intro :is(h2,p,.stories-kicker){color:var(--surface)!important}
.faq-intro p:last-child{max-width:34ch;margin:0;opacity:.82}
.faq-list{counter-reset:faq;border-top:1px solid oklch(from var(--surface) l c h / .28)}
.faq-list details{counter-increment:faq;border-bottom:1px solid oklch(from var(--surface) l c h / .28)}
.faq-list summary{display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:18px;min-height:86px;padding:22px 0;cursor:pointer;list-style:none;color:var(--surface);font:600 var(--body-size)/1.55 var(--font-body)}
.faq-list summary::before{content:counter(faq,decimal-leading-zero);font:700 var(--meta-size)/1 var(--font-body);letter-spacing:.12em;opacity:.65}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .25s}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list details p{padding:0 40px 26px 60px;margin:0;color:var(--surface);font-size:var(--card-body-size);opacity:.82}
.faq-list summary:hover{background:oklch(from var(--fg) calc(l + .06) c h)}
.platons-final-cta{background:var(--bg);padding:var(--section-space) 0}
.cta-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:48px}
.cta-layout h2{max-width:650px;margin-bottom:16px}
.cta-layout p{max-width:50ch;margin:0}
.cta-action{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.platons-closing .cta-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:16px 24px;border:1px solid var(--fg);border-radius:8px;background:var(--fg);color:var(--surface);font:700 var(--label-size)/1.6 var(--font-body);cursor:pointer;transition:background .2s}
.platons-closing .cta-button:hover{background:oklch(from var(--fg) calc(l - .08) c h);color:var(--surface)}
.cta-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.cta-action small{font-size:var(--meta-size);line-height:1.8;max-width:35ch}
@media(max-width:767px){:root{--eyebrow-size:11px}.faq-layout,.cta-layout{grid-template-columns:minmax(0,1fr);gap:28px}.faq-intro{position:static;padding:24px}.faq-list summary{grid-template-columns:34px minmax(0,1fr) 22px;gap:12px;font-size:var(--body-size);min-height:76px}.faq-list details p{padding:0 8px 22px 46px}.elementor-17399 [data-od-id="content-section-12"] .courses-header{display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px;padding-bottom:0;border-bottom:0}.elementor-17399 [data-od-id="content-section-12"] .courses-header-copy{width:100%}.elementor-17399 [data-od-id="content-section-12"] .courses-controls{justify-self:auto;margin-left:auto!important}.elementor-17399 [data-od-id="content-section-12"] .elementor-element-9140862{margin-top:24px;padding-top:0}.platons-closing p{font-size:var(--body-size)}.cta-action{align-items:stretch}.cta-action small{max-width:none}}
@media(prefers-reduced-motion:reduce){.faq-list summary svg,.platons-closing .cta-button{transition:none}}
