/* Typography and adaptive layouts. Loaded last to resolve legacy Elementor rules. */
.elementor-17399 .section-description .elementor-heading-title,
.elementor-17399 .elementor-widget-text-editor,
.elementor-17399 .elementor-widget-text-editor :is(p,span,li),
.elementor-17399 .give-card__body :is(p,span),
.elementor-17399 .teacher-bio{
  font-family:var(--font-body)!important;
  font-weight:400;letter-spacing:normal!important;text-transform:none;
  text-wrap:pretty;
}
.elementor-17399 .section-description .elementor-heading-title{
  font-size:var(--body-size)!important;line-height:1.8!important;
  max-width:62ch;margin-inline:auto;
}
.elementor-17399 .elementor-element.elementor-element-32a4ab6 .elementor-heading-title{
  font-family:var(--font-display)!important;font-weight:400!important;
  line-height:1.2!important;letter-spacing:2px!important;text-wrap:balance;
}
/* Keep shared rails at every breakpoint, including legacy boxed sections. */
.elementor-17399 .elementor-section.elementor-top-section>.elementor-container{
  width:calc(100% - var(--page-gutter)*2);max-width:var(--content-width);
  margin-inline:auto;padding-inline:0;
}
.elementor-17399 .elementor-inner-section>.elementor-container{max-width:100%;min-width:0}
.elementor-17399 .elementor-element-f9c4013>.elementor-container>.elementor-column,
.elementor-17399 .elementor-element-d4b70c5>.elementor-container>.elementor-column,
.elementor-17399 .elementor-element-eb1a78c>.elementor-container>.elementor-column,
.elementor-17399 .elementor-element-d8b4b6c>.elementor-container>.elementor-column,
.elementor-17399 .elementor-element-de691d8>.elementor-container>.elementor-column{min-width:0}
@media(max-width:1024px){
  .elementor-17399 .elementor-inner-section>.elementor-container>.elementor-column,
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container>.elementor-column{width:100%!important}
}
.elementor-17399 :is(.elementor-widget,.elementor-widget-container){min-width:0}
.elementor-17399 .elementor-widget-text-editor p{overflow-wrap:break-word}
@media(max-width:1024px){
  :root{--page-gutter:clamp(20px,4vw,36px);--section-space:64px;--body-size:16px;--heading-size:clamp(32px,4.2vw,42px);--heading-feature-size:clamp(26px,3.4vw,34px);--card-title-size:clamp(23px,4.4vw,28px);--card-title-sm-size:clamp(20px,3.6vw,24px);--card-body-size:15px;--meta-size:12px;--label-size:12px}
  .elementor-17399 .elementor-top-section>.elementor-container>.elementor-column{width:100%}
  .elementor-17399 .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding-inline:0}
  .elementor-17399 .elementor-element-f9c4013>.elementor-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center}
  .elementor-17399 .elementor-element-f9c4013>.elementor-container>.elementor-column{width:100%}
  .elementor-17399 .elementor-element-f9c4013 .elementor-widget-wrap{padding:0!important}
  .elementor-17399 .elementor-element-f9c4013 img{width:100%;height:auto}
  .elementor-17399 .elementor-element-d4b70c5>.elementor-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
  .elementor-17399 .elementor-element-d4b70c5>.elementor-container>.elementor-column{width:100%}
  /* An actual surface replaces the image-shaped panel at narrow widths. */
  .elementor-17399 .elementor-element.elementor-element-eb1a78c{background:var(--muted)!important;border-radius:24px;padding:32px}
  .elementor-17399 .elementor-element-eb1a78c>.elementor-container{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center}
  .elementor-17399 .elementor-element-eb1a78c>.elementor-container>.elementor-column{width:100%}
  .elementor-17399 .elementor-element-5a6a9c5>.elementor-widget-container{margin:0!important}
  .elementor-17399 .elementor-element-5a6a9c5 img{max-height:320px;width:auto;display:block;margin:auto}
  .elementor-17399 .elementor-element-d8b4b6c{padding:40px 0}
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container>.elementor-column{width:100%;order:initial}
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container>.elementor-element-441d892{grid-column:1/-1}
  .elementor-17399 .elementor-element-dc37d31>.elementor-widget-container{margin:0!important}
  .elementor-17399 .elementor-element-dc37d31 img{max-height:320px;width:auto;display:block;margin:auto}
  .elementor-17399 .elementor-element-de691d8>.elementor-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center}
  .elementor-17399 .elementor-element-de691d8>.elementor-container>.elementor-column{width:100%}
  .elementor-17399 :is(.elementor-element-7b1dee2,.elementor-element-6d04eb7)>.elementor-widget-container{margin:0!important}
  /* This is content, not decoration: retain the caption below its photo. */
  .elementor-17399 .elementor-element.elementor-element-6b66289{display:block!important;position:static!important;width:100%;max-width:100%;margin:16px 0 0;transform:none!important}
  .elementor-17399 .elementor-element-6b66289>.elementor-widget-container{transform:none!important;border-width:4px;border-radius:16px;padding:16px}
  .elementor-17399 .elementor-element-6b66289 .elementor-icon-list-text{font-size:15px;line-height:1.6}
  .elementor-17399 .elementor-element.elementor-element-346f83e{background-attachment:scroll!important;padding:var(--section-space) 0}
  .elementor-17399 .elementor-element-b52f3e7>.elementor-container{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0}
  .elementor-17399 .elementor-element-b52f3e7 .elementor-widget-counter>.elementor-widget-container{padding:14px!important}
  .elementor-17399 .elementor-element.elementor-element-b52f3e7 .elementor-counter-title{font-size:14px!important}
  .elementor-17399 .elementor-element.elementor-element-b52f3e7 .elementor-counter-number-wrapper{font-size:34px!important}
  .elementor-17399 .elementor-element-b52f3e7 .elementor-counter{gap:4px}
  .elementor-17399 .platons-teachers .teacher-grid{gap:36px 28px}
  .elementor-17399 .elementor-absolute:not(.elementor-element-6b66289){display:none}
}
@media(max-width:767px){
  :root{--section-space:48px;--heading-size:clamp(30px,6.5vw,38px);--heading-feature-size:clamp(24px,5.5vw,32px);--card-title-size:clamp(22px,5.4vw,26px);--card-title-sm-size:clamp(20px,4.8vw,23px);--card-body-size:14px;--meta-size:11px;--label-size:12px;--content-gap:24px}
  .elementor-17399 .elementor-element.elementor-element-691044d{padding:var(--section-space) 0 32px}
  .elementor-17399 .elementor-element.elementor-element-6777c40 .elementor-heading-title{font-size:clamp(40px,9vw,60px)!important;letter-spacing:2px!important}
  .elementor-17399 .elementor-element.elementor-element-6502a5b .elementor-heading-title{font-size:clamp(25px,5.5vw,34px)!important;letter-spacing:1px!important}
  .elementor-17399 .elementor-element-f9c4013{background-image:none!important}
  .elementor-17399 .elementor-element-f9c4013>.elementor-container{gap:8px}
  .elementor-17399 .elementor-element-d4b70c5>.elementor-container{grid-template-columns:1fr;gap:24px}
  .elementor-17399 .elementor-element.elementor-element-d4b70c5{padding-bottom:36px}
  .elementor-17399 .elementor-element.elementor-element-eb1a78c{padding:28px 24px;border-radius:20px}
  .elementor-17399 .elementor-element-eb1a78c>.elementor-container{grid-template-columns:1fr;gap:24px}
  .elementor-17399 .elementor-element-5a6a9c5 img{max-height:260px}
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container{gap:24px}
  .elementor-17399 [data-od-id="content-section-8"] .elementor-icon-list-item{gap:14px;align-items:center}
  .elementor-17399 [data-od-id="content-section-8"] :is(.elementor-icon-list-icon,.elementor-icon-list-icon svg){width:44px;height:44px;flex-basis:44px}
  .elementor-17399 [data-od-id="content-section-8"] .elementor-icon-list-text{font-size:16px;line-height:1.65}
  .elementor-17399 .elementor-element-de691d8>.elementor-container{gap:28px}
  .elementor-17399 .elementor-element-b52f3e7>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,7vw,34px) clamp(18px,5vw,28px);max-width:min(460px,100%);margin:auto;padding:0}
  .elementor-17399 .elementor-element-b52f3e7 .elementor-widget-counter{width:100%!important;max-width:none!important}
  .elementor-17399 .elementor-element-b52f3e7 .elementor-widget-counter>.elementor-widget-container{padding:clamp(12px,4.5vw,18px)!important}
  .elementor-17399 .elementor-element-b52f3e7 .elementor-counter{gap:5px}
  .elementor-17399 .elementor-element.elementor-element-b52f3e7 .elementor-counter-title{font-size:clamp(13px,3.6vw,15px)!important}
  .elementor-17399 .elementor-element.elementor-element-b52f3e7 .elementor-counter-number-wrapper{font-size:clamp(30px,9vw,38px)!important}
  .elementor-17399 .elementor-element-346f83e{padding:var(--section-space) 0!important}
  .elementor-17399 .elementor-element-d44985b{padding-bottom:32px}
  .elementor-17399 .elementor-widget-heading{margin-bottom:16px}
  .elementor-17399 .elementor-element.elementor-element-cae2361 .elementor-heading-title{font-size:var(--heading-size)!important}
  .elementor-17399 .elementor-swiper{padding-bottom:68px}
  .elementor-17399 .give-card__title{min-height:0}
  .teacher-dialog{max-height:calc(100dvh - 32px)}
}
@media(max-width:599px){
  /* Skills counters: an explicit 2 × 2 grid on phones. Reset Elementor's
     percentage column widths so every item occupies exactly one grid cell. */
  .elementor-17399 .elementor-element-b52f3e7>.elementor-container{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    width:100%;
    max-width:420px;
    margin-inline:auto;
    padding-inline:0;
  }
  .elementor-17399 .elementor-element-b52f3e7>.elementor-container>.elementor-column{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
  }
  .elementor-17399 .elementor-element-b52f3e7 .elementor-widget-counter>.elementor-widget-container{
    display:grid;
    place-items:center;
    aspect-ratio:1;
    min-height:0;
    padding:14px 10px!important;
    border-radius:50%;
  }
  .elementor-17399 .elementor-element-b52f3e7 .elementor-counter{
    width:100%;
    flex-direction:column-reverse;
    justify-content:center;
    gap:5px;
    text-align:center;
  }
  .elementor-17399 .elementor-element.elementor-element-b52f3e7 .elementor-counter-number-wrapper{
    flex:0 0 auto;
    font-size:clamp(29px,9vw,36px)!important;
    line-height:1!important;
  }
  .elementor-17399 .elementor-element.elementor-element-b52f3e7 .elementor-counter-title{
    margin:0;
    font-size:clamp(12px,3.5vw,14px)!important;
    line-height:1.35!important;
  }
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container{grid-template-columns:1fr;gap:0}
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container>.elementor-column{grid-column:auto}
  .elementor-17399 .elementor-element-d8b4b6c>.elementor-container>.elementor-element-441d892{margin-bottom:28px}
  .elementor-17399 [data-od-id="content-section-8"] .elementor-icon-list-item{padding-block:10px;margin:0}
  .elementor-17399 .elementor-element-de691d8>.elementor-container{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
  .elementor-17399 .elementor-element-dc37d31 img{max-height:250px}
  .elementor-17399 .platons-teachers .teacher-grid{gap:28px 16px}
  .elementor-17399 .platons-teachers .teacher-bio{font-size:14px;line-height:1.75}
  .elementor-17399 .platons-teachers .teacher-name{font-size:24px}
}
@media(max-width:389px){
  .elementor-17399 .platons-teachers .teacher-grid{grid-template-columns:1fr;max-width:260px;margin-inline:auto}
  .elementor-17399 .platons-teachers .teacher-portrait{max-width:210px}
}
