
*,
*::before,
*::after{
  box-sizing:border-box;
}

img{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:inherit;
  text-decoration:none;
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin-inline:auto;
}

body{
  padding-top:84px;
}

body.home{
  padding-top:0;
}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:90;
  background:linear-gradient(90deg, var(--primary), var(--secondary));
  box-shadow:0 8px 24px rgba(0, 0, 0, 0.08);
  transition:background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease, border-color .28s ease;
}

.site-header--overlay{
  background:transparent;
  box-shadow:none;
}

.site-header--overlay.is-scrolled,
.site-header--overlay.menu-open{
  background:rgba(7, 37, 95, 0.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(7, 37, 95, 0.18);
  border-bottom:1px solid rgba(255,255,255,0.1);
}

.admin-bar .site-header{
  top:32px;
}

.header-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:84px;
  transition:min-height .28s ease, padding .28s ease;
}

.site-header--overlay .header-bar{
  min-height:96px;
}

.site-header--overlay.is-scrolled .header-bar,
.site-header--overlay.menu-open .header-bar{
  min-height:80px;
}

.brand-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#fff;
  font-size:1.85rem;
  font-weight:800;
  line-height:1;
}

.brand-mark{
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(255,255,255,0.16);
  position:relative;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,0.22);
}

.brand-mark::before,
.brand-mark::after{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid #fff;
  border-radius:4px;
  transform:skewY(-12deg);
}

.brand-mark::after{
  inset:4px 12px 16px 4px;
  opacity:.45;
}

.site-logo img{
  max-height:56px;
  width:auto;
}

.main-navigation{
  flex:1;
  display:flex;
  justify-content:center;
}

.main-navigation ul{
  display:flex;
  align-items:center;
  gap:30px;
  list-style:none;
  padding:0;
  margin:0;
}

.main-navigation li{
  position:relative;
}

.main-navigation a{
  color:#fff;
  font-weight:700;
  font-size:1rem;
  padding:10px 0;
  opacity:.92;
  transition:opacity .22s ease, color .22s ease;
}

.main-navigation a:hover{
  opacity:1;
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a{
  position:relative;
}

.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:#fff;
}

.header-phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  color:#fff;
  font-weight:700;
  white-space:nowrap;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.15);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.menu-toggle{
  display:none;
  border:0;
  background:rgba(255,255,255,0.14);
  color:#fff;
  font-size:1.5rem;
  width:48px;
  height:48px;
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.15);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.hero-section{
  position:relative;
  padding:132px 0 34px;
  min-height:440px;
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}

.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0));
  pointer-events:none;
}

.hero-grid{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-height:360px;
  padding:30px 0 36px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-weight:700;
  font-size:.88rem;
  margin-bottom:18px;
  backdrop-filter:blur(4px);
}

.hero-copy{
  width:min(720px, 64%);
  max-width:720px;
  padding-left:clamp(20px, 3vw, 40px);
}

.hero-copy h1{
  margin:0 0 18px;
  font-size:clamp(2.35rem, 4.2vw, 4.2rem);
  line-height:1.06;
  letter-spacing:-0.035em;
  color:#fff;
  text-shadow:0 10px 28px rgba(0,0,0,.22);
}

.hero-copy p{
  font-size:1.14rem;
  line-height:1.85;
  max-width:700px;
  color:rgba(255,255,255,.94);
  margin:0 0 30px;
  text-shadow:0 8px 22px rgba(0,0,0,.18);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.feature-strip-section{
  position:relative;
  margin-top:var(--feature-strip-down, 42px);
  padding:0 0 12px;
}

.feature-strip{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
  margin:0;
  position:relative;
  z-index:2;
}

.feature-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:var(--surface);
  border:1px solid rgba(13,87,198,0.08);
  border-radius:24px;
  padding:22px 22px;
  box-shadow:var(--shadow);
}

.feature-icon,
.program-icon,
.benefit-icon{
  width:62px;
  height:62px;
  flex:0 0 62px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(255,138,0,.12), rgba(13,87,198,.08));
  color:var(--primary);
}

.feature-icon .dashicons,
.program-icon .dashicons,
.benefit-icon .dashicons{
  font-size:30px;
  width:30px;
  height:30px;
}

.feature-item h3,
.program-card h3,
.benefit-card h3,
.testimonial-copy h3,
.article-content h3{
  margin:0 0 8px;
  font-size:1.25rem;
}

.feature-item p,
.program-card p,
.benefit-card p,
.testimonial-copy p,
.article-content p{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}

.section-block{
  padding:56px 0;
}

.section-muted{
  background:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.05));
}

.section-heading{
  text-align:center;
  margin-bottom:30px;
}

.section-heading.align-left{
  text-align:left;
}

.section-heading h1,
.section-heading h2{
  margin:0;
  font-size:clamp(1.9rem, 3vw, 2.75rem);
  line-height:1.15;
}

.section-heading p{
  margin:10px auto 0;
  max-width:620px;
  color:var(--muted);
  font-size:1.02rem;
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(13,87,198,.08);
  color:var(--primary);
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:16px;
}

.section-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--program-highlight, var(--accent));
  box-shadow:0 0 0 6px rgba(255,138,0,.12);
}

.card-grid.four-up{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}

.program-grid{
  display:grid;
  grid-template-columns:repeat(var(--program-columns, 4), minmax(0, 1fr));
  gap:24px;
}

.info-card,
.benefit-card,
.blog-card,
.page-card{
  background:var(--surface);
  border-radius:28px;
  box-shadow:var(--shadow);
  border:1px solid rgba(13,87,198,0.08);
}

.program-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, var(--program-bg) 0%, rgba(255,255,255,0) 100%);
}

.program-section::before,
.program-section::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}

.program-section::before{
  width:360px;
  height:360px;
  left:-120px;
  top:40px;
  background:radial-gradient(circle, rgba(13,87,198,.12), rgba(13,87,198,0) 70%);
}

.program-section::after{
  width:300px;
  height:300px;
  right:-90px;
  top:80px;
  background:radial-gradient(circle, rgba(255,138,0,.18), rgba(255,138,0,0) 72%);
}

.program-section .container{
  position:relative;
  z-index:1;
}

.program-heading{
  margin-bottom:34px;
}

.program-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:20px;
  min-height:100%;
  padding:28px 24px 24px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.96), #fff 72%);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.program-card::before,
.program-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.program-card::before{
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg, var(--primary), var(--program-highlight, var(--accent)));
}

.program-card::after{
  top:-56px;
  right:-36px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(13,87,198,.08), rgba(13,87,198,0) 70%);
}

.program-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(18,70,183,.12);
  border-color:rgba(13,87,198,.16);
}

.program-card.is-featured{
  background:linear-gradient(180deg, rgba(13,87,198,.06), #fff 48%);
  border-color:rgba(13,87,198,.18);
  box-shadow:0 24px 50px rgba(18,70,183,.14);
}

.program-card.is-featured::before{
  height:7px;
  background:linear-gradient(90deg, var(--program-highlight, var(--accent)), var(--primary));
}

.program-card__top,
.program-card__content,
.program-card__footer{
  position:relative;
  z-index:1;
}

.program-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.program-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:calc(100% - 78px);
  padding:9px 14px;
  border-radius:999px;
  background:rgba(13,87,198,.08);
  color:var(--primary);
  font-weight:800;
  font-size:.84rem;
  line-height:1.3;
}

.program-badge::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--program-highlight, var(--accent));
}

.program-card__content{
  display:grid;
  gap:14px;
  flex:1;
}

.program-card h3{
  margin:0;
  font-size:1.4rem;
  line-height:1.25;
}

.program-audience{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  max-width:100%;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(13,87,198,.05);
  color:var(--text);
  font-size:.92rem;
  font-weight:700;
}

.program-audience .dashicons{
  width:18px;
  height:18px;
  font-size:18px;
  color:var(--primary);
}

.program-card p{
  margin:0;
  min-height:auto;
  color:var(--muted);
  line-height:1.8;
}

.program-card__footer{
  margin-top:auto;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  font-weight:700;
  transition:.25s ease;
}

.button:hover{
  transform:translateY(-2px);
}

.button-primary{
  background:var(--accent);
  color:#fff;
  box-shadow:0 12px 24px rgba(255,138,0,.22);
}

.button-secondary{
  background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 75%, var(--primary) 25%));
  color:#fff;
  box-shadow:0 12px 24px rgba(255,138,0,.18);
}

.program-card .button-secondary{
  width:100%;
  justify-content:space-between;
  padding-inline:18px;
}

.program-card .button-secondary .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
}

.button-link{
  background:linear-gradient(90deg, var(--primary), var(--secondary));
  color:#fff;
  padding-inline:18px;
  min-height:42px;
  font-size:.94rem;
}



.teacher-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, color-mix(in srgb, var(--teacher-bg, #fff) 74%, #f3f7ff 26%) 100%);
}

.teacher-section::before,
.teacher-section::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.teacher-section::before{
  width:320px;
  height:320px;
  top:40px;
  right:-120px;
  background:radial-gradient(circle, color-mix(in srgb, var(--teacher-highlight, var(--primary)) 18%, transparent) 0%, rgba(13,87,198,0) 72%);
}

.teacher-section::after{
  width:260px;
  height:260px;
  left:-100px;
  bottom:10px;
  background:radial-gradient(circle, rgba(255,138,0,.14) 0%, rgba(255,138,0,0) 72%);
}

.teacher-section .container{
  position:relative;
  z-index:1;
}

.teacher-grid{
  display:grid;
  grid-template-columns:repeat(var(--teacher-columns, 3), minmax(0, 1fr));
  gap:24px;
}

.teacher-card{
  position:relative;
  overflow:hidden;
  padding:0;
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.96), var(--surface) 68%);
}

.teacher-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg, var(--teacher-highlight, var(--primary)), var(--accent));
}

.teacher-card__media{
  position:relative;
  aspect-ratio: 4 / 4.3;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(13,87,198,.1), rgba(255,138,0,.08));
}

.teacher-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.teacher-card__media.is-placeholder{
  display:grid;
  place-items:center;
}

.teacher-card__media.is-placeholder .dashicons{
  width:78px;
  height:78px;
  font-size:78px;
  color:rgba(13,87,198,.28);
}

.teacher-card__media.is-default{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:22px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 46%),
    linear-gradient(135deg, color-mix(in srgb, var(--teacher-highlight, var(--primary)) 84%, #ffffff 16%) 0%, color-mix(in srgb, var(--primary) 88%, #1f376f 12%) 100%);
}

.teacher-card__initials{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:88px;
  height:88px;
  border-radius:26px;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
  color:#fff;
  font-size:1.9rem;
  font-weight:800;
  letter-spacing:.06em;
}

.teacher-card__placeholder-label{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.teacher-empty-note{
  margin-top:18px;
  display:inline-flex;
  align-items:flex-start;
  gap:10px;
  padding:13px 16px;
  border-radius:16px;
  background:rgba(13,87,198,.06);
  color:var(--muted);
  font-size:.95rem;
  line-height:1.6;
}

.teacher-empty-note .dashicons{
  width:18px;
  height:18px;
  font-size:18px;
  color:var(--teacher-highlight, var(--primary));
  margin-top:2px;
}

.teacher-card__body{
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1;
  padding:24px;
}

.teacher-card__badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.teacher-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  font-size:.83rem;
  font-weight:800;
  line-height:1.3;
}

.teacher-badge--role{
  background:rgba(13,87,198,.08);
  color:var(--primary);
}

.teacher-badge--experience{
  background:rgba(255,138,0,.1);
  color:#9b5a03;
}

.teacher-badge--experience .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
}

.teacher-card h3{
  margin:0;
  font-size:1.36rem;
  line-height:1.25;
}

.teacher-subject{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  max-width:100%;
  padding:10px 14px;
  border-radius:16px;
  background:rgba(13,87,198,.05);
  color:var(--text);
  font-size:.92rem;
  font-weight:700;
}

.teacher-subject .dashicons{
  width:18px;
  height:18px;
  font-size:18px;
  color:var(--teacher-highlight, var(--primary));
}

.teacher-card p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.teacher-card__footer{
  margin-top:auto;
}

.teacher-card .button-secondary{
  width:100%;
  justify-content:space-between;
  padding-inline:18px;
}

.benefit-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}

.benefit-card{
  padding:28px 22px;
  text-align:center;
}

.benefit-icon{
  margin:0 auto 18px;
}

.testimonial-section{
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--testimonial-highlight, var(--accent)) 18%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--testimonial-bg, #f8fbff) 92%, #ffffff 8%) 0%, #ffffff 100%);
}

.testimonial-heading{
  margin-bottom:34px;
}

.testimonial-slider{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:18px;
}

.testimonial-slider__viewport{
  overflow:hidden;
}

.testimonial-slider__track{
  display:flex;
  transition:transform .55s ease;
  will-change:transform;
}

.testimonial-slide{
  flex:0 0 100%;
  min-width:100%;
}

.testimonial-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  overflow:hidden;
  min-height:360px;
  background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, color-mix(in srgb, var(--testimonial-bg, #f8fbff) 70%, #ffffff 30%) 100%);
  border-radius:32px;
  border:1px solid rgba(13,87,198,0.08);
  box-shadow:0 24px 60px rgba(18, 70, 183, 0.10);
}

.testimonial-card::before,
.testimonial-card::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

.testimonial-card::before{
  top:-70px;
  right:-50px;
  width:220px;
  height:220px;
  background:color-mix(in srgb, var(--testimonial-highlight, var(--accent)) 14%, transparent);
}

.testimonial-card::after{
  left:-50px;
  bottom:-70px;
  width:180px;
  height:180px;
  background:color-mix(in srgb, var(--primary) 10%, transparent);
}

.testimonial-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:42px;
}

.testimonial-quote-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:20px;
  background:color-mix(in srgb, var(--testimonial-highlight, var(--accent)) 18%, #ffffff 82%);
  color:var(--testimonial-highlight, var(--accent));
}

.testimonial-quote-mark .dashicons{
  width:28px;
  height:28px;
  font-size:28px;
}

.testimonial-stars{
  display:flex;
  gap:4px;
  color:#ffb400;
}

.testimonial-stars .dashicons{
  width:18px;
  height:18px;
  font-size:18px;
}

.testimonial-text{
  margin:0;
  max-width:760px;
  color:var(--text);
  font-size:1.12rem;
  line-height:1.95;
}

.testimonial-author{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(13,87,198,0.08);
}

.testimonial-media{
  flex:0 0 76px;
  width:76px;
  height:76px;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg, color-mix(in srgb, var(--testimonial-highlight, var(--accent)) 24%, #ffffff 76%) 0%, color-mix(in srgb, var(--primary) 16%, #ffffff 84%) 100%);
  box-shadow:0 14px 30px rgba(18, 70, 183, 0.12);
}

.testimonial-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.testimonial-media.is-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--testimonial-highlight, var(--accent));
}

.testimonial-media.is-placeholder .dashicons{
  width:30px;
  height:30px;
  font-size:30px;
}

.testimonial-author__meta h3{
  margin:0 0 6px;
  font-size:1.18rem;
}

.testimonial-author__meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:.95rem;
}

.testimonial-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:none;
  border-radius:50%;
  background:#ffffff;
  color:var(--text);
  box-shadow:0 14px 30px rgba(18, 70, 183, 0.12);
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}

.testimonial-nav:hover,
.testimonial-nav:focus-visible{
  transform:translateY(-2px);
  background:var(--primary);
  color:#ffffff;
  outline:none;
}

.testimonial-nav .dashicons{
  width:22px;
  height:22px;
  font-size:22px;
}

.testimonial-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:24px;
}

.testimonial-dot{
  width:11px;
  height:11px;
  padding:0;
  border:none;
  border-radius:999px;
  background:rgba(13,87,198,.18);
  cursor:pointer;
  transition:all .25s ease;
}

.testimonial-dot.is-active{
  width:34px;
  background:var(--testimonial-highlight, var(--accent));
}

.article-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, color-mix(in srgb, var(--article-bg, #fff) 96%, #f4f8ff 4%) 0%, color-mix(in srgb, var(--article-bg, #fff) 78%, #eef4ff 22%) 100%);
}

.article-section::before,
.article-section::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.article-section::before{
  width:320px;
  height:320px;
  right:-110px;
  top:-60px;
  background:radial-gradient(circle, color-mix(in srgb, var(--article-highlight, var(--primary)) 16%, transparent) 0%, rgba(13,87,198,0) 72%);
}

.article-section::after{
  width:250px;
  height:250px;
  left:-90px;
  bottom:10px;
  background:radial-gradient(circle, rgba(255,138,0,.12) 0%, rgba(255,138,0,0) 72%);
}

.article-section .container{
  position:relative;
  z-index:1;
}

.article-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}

.article-heading__copy{
  max-width:760px;
}

.article-heading__button{
  flex-shrink:0;
  background:#fff;
  color:var(--primary);
  border:1px solid rgba(13,87,198,.12);
  box-shadow:0 14px 30px rgba(18,70,183,.08);
}

.article-heading__button:hover{
  color:var(--primary);
}

.article-heading__button .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
}

.article-grid{
  display:grid;
  grid-template-columns:repeat(var(--article-columns, 3), minmax(0, 1fr));
  gap:24px;
}

.article-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.96), var(--surface) 100%);
  border-radius:24px;
  border:1px solid rgba(13,87,198,0.08);
  box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.article-card:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb, var(--article-highlight, var(--primary)) 24%, rgba(13,87,198,0.08));
  box-shadow:0 24px 42px rgba(18,70,183,.12);
}

.article-thumb{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio: 16 / 10;
  background:rgba(13,87,198,.08);
}

.article-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.article-card:hover .article-thumb img{
  transform:scale(1.05);
}

.article-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--primary);
  font-size:.82rem;
  font-weight:800;
  box-shadow:0 12px 26px rgba(18,70,183,.14);
}

.article-content{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:24px 24px 18px;
  flex:1;
}

.article-content h3{
  margin:0;
  font-size:1.24rem;
  line-height:1.42;
}

.article-content h3 a{
  color:inherit;
}

.article-content p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--muted);
  font-size:.88rem;
}

.article-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(13,87,198,.06);
}

.article-meta .dashicons{
  width:15px;
  height:15px;
  font-size:15px;
  color:var(--article-highlight, var(--primary));
}

.article-action{
  margin-top:auto;
  padding:0 24px 24px;
}

.article-readmore{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--article-highlight, var(--primary));
  font-weight:800;
  text-decoration:none;
}

.article-readmore .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
}

.article-readmore:hover{
  color:var(--primary);
}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

.blog-card{
  overflow:hidden;
}

.blog-thumb{
  display:block;
  aspect-ratio: 1.45 / 1;
}

.blog-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.blog-body{
  padding:22px;
}

.blog-body h2{
  font-size:1.35rem;
  line-height:1.3;
  margin:0 0 12px;
}

.blog-body p{
  color:var(--muted);
  line-height:1.8;
}

.content-shell{
  width:min(900px, calc(100% - 32px));
}

.page-card{
  padding:32px;
}

.entry-title{
  margin:0 0 16px;
  font-size:clamp(1.9rem, 3vw, 2.8rem);
}

.entry-content{
  line-height:1.9;
  color:var(--text);
}

.entry-content p{
  margin:0 0 18px;
}

.single-thumb{
  border-radius:24px;
  overflow:hidden;
  margin:22px 0 28px;
}

.single-thumb img{
  width:100%;
}


.teacher-single-shell{
  padding-top:40px;
}

.teacher-single-container{
  width:min(1180px, calc(100% - 32px));
}

.teacher-single-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:20px;
  color:var(--muted);
  font-size:.95rem;
}

.teacher-single-breadcrumb a{
  color:var(--primary);
  text-decoration:none;
  font-weight:700;
}

.teacher-single-card{
  display:flex;
  flex-direction:column;
  gap:28px;
}

.teacher-single-hero{
  display:grid;
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
  gap:28px;
  padding:28px;
  border-radius:32px;
  background:linear-gradient(145deg, rgba(13,87,198,.08), rgba(255,255,255,.98) 55%);
  box-shadow:var(--shadow);
  border:1px solid rgba(13,87,198,.08);
}

.teacher-single-media{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  min-height:100%;
  background:linear-gradient(180deg, rgba(13,87,198,.12), rgba(255,138,0,.08));
}

.teacher-single-media::after{
  content:"";
  position:absolute;
  inset:auto -60px -70px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.45), rgba(255,255,255,0) 70%);
}

.teacher-single-media img{
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
}

.teacher-single-media.is-placeholder{
  display:grid;
  place-items:center;
  min-height:420px;
}

.teacher-single-media.is-placeholder .dashicons{
  width:90px;
  height:90px;
  font-size:90px;
  color:rgba(13,87,198,.32);
}

.teacher-single-summary{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}

.teacher-single-badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(13,87,198,.1);
  color:var(--primary);
  font-weight:800;
}

.teacher-single-lead{
  margin:0;
  font-size:1.04rem;
  color:var(--muted);
  line-height:1.9;
}

.teacher-single-meta-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.teacher-meta-item{
  display:flex;
  gap:14px;
  padding:16px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(13,87,198,.08);
}

.teacher-meta-item__icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(13,87,198,.12), rgba(255,138,0,.12));
  color:var(--primary);
}

.teacher-meta-item__icon .dashicons{
  width:22px;
  height:22px;
  font-size:22px;
}

.teacher-meta-item__content{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.teacher-meta-item__label{
  color:var(--muted);
  font-size:.88rem;
}

.teacher-meta-item__content strong{
  font-size:1rem;
  line-height:1.5;
}

.teacher-single-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.teacher-single-actions .button{
  min-height:48px;
}

.teacher-single-content-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.7fr) minmax(280px, .9fr);
  gap:24px;
}

.teacher-single-content,
.teacher-info-panel{
  padding:28px;
}

.teacher-single-section-heading{
  margin-bottom:16px;
}

.teacher-single-section-heading h2,
.teacher-info-panel h3{
  margin:0;
  font-size:1.4rem;
}

.teacher-info-list{
  list-style:none;
  margin:20px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.teacher-info-list li{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(13,87,198,.04);
  border:1px solid rgba(13,87,198,.06);
}

.teacher-info-list span{
  color:var(--muted);
  font-size:.88rem;
}

.teacher-info-list strong{
  font-size:1rem;
  line-height:1.55;
}

.pagination-wrap{
  margin-top:32px;
}

.pagination .nav-links{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
}

.pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  min-height:46px;
  padding:0 12px;
  border-radius:999px;
  background:var(--surface);
  border:1px solid rgba(13,87,198,0.1);
  box-shadow:var(--shadow);
}

.pagination .current{
  background:linear-gradient(90deg, var(--primary), var(--secondary));
  color:#fff;
}

.site-footer{
  margin-top:44px;
  padding-top:12px;
  background:linear-gradient(180deg, var(--secondary), color-mix(in srgb, var(--primary) 65%, #031e54 35%));
  color:#fff;
}

.footer-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-bottom:10px;
  padding:34px clamp(22px, 4vw, 42px);
  border-radius:calc(var(--radius) + 8px);
  background:linear-gradient(135deg, rgba(255,255,255,0.16), rgba(255,255,255,0.08));
  box-shadow:0 22px 48px rgba(3, 30, 84, 0.18), inset 0 0 0 1px rgba(255,255,255,0.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.footer-cta__content{
  max-width:720px;
}

.footer-cta__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  margin-bottom:14px;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  color:#fff;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.footer-cta h2{
  margin:0 0 12px;
  font-size:clamp(1.8rem, 2.8vw, 2.7rem);
  line-height:1.14;
  color:#fff;
}

.footer-cta p{
  margin:0;
  max-width:660px;
  color:rgba(255,255,255,0.84);
  line-height:1.8;
}

.footer-cta__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}

.footer-cta__secondary{
  background:rgba(255,255,255,0.12);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.footer-cta__secondary:hover{
  background:rgba(255,255,255,0.18);
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:32px;
  padding:44px 0 30px;
}

.site-footer h3{
  margin:0 0 18px;
  font-size:1.15rem;
}

.site-footer p{
  color:rgba(255,255,255,.82);
  line-height:1.75;
}

.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.footer-links a{
  color:rgba(255,255,255,.82);
}

.footer-contact li{
  display:flex;
  gap:10px;
  color:rgba(255,255,255,.82);
}

.footer-socials{
  display:flex;
  gap:12px;
  margin-top:18px;
}

.footer-socials a{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  text-align:center;
  padding:14px 0;
}

.footer-bottom p{
  margin:0;
  color:rgba(255,255,255,.78);
}

.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}


.site-header--overlay .brand-link,
.site-header--overlay .main-navigation a,
.site-header--overlay .header-phone,
.site-header--overlay .menu-toggle{
  text-shadow:0 8px 18px rgba(0,0,0,.18);
}

@media (min-width: 861px){
  .site-header--overlay .main-navigation ul{
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,0.06);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .site-header--overlay:not(.is-scrolled):not(.menu-open) .header-phone{
    background:rgba(255,255,255,0.12);
  }
}

@media (max-width: 782px){
  .admin-bar .site-header{
    top:46px;
  }
}

@media (max-width: 980px){
  .footer-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-cta__actions{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width: 1080px){
  .card-grid.four-up,
  .program-grid,
  .teacher-grid,
  .benefit-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .blog-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .hero-section{
    min-height:400px;
    padding-top:118px;
    background-position:72% center;
  }

  .hero-grid{
    min-height:330px;
    padding:24px 0 30px;
  }

  .hero-copy{
    width:min(760px, 72%);
    padding-left:24px;
  }

  .footer-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width: 860px){
  .feature-strip-section{
    margin-top:calc(var(--feature-strip-down, 42px) * .8);
  }

  body{
    padding-top:76px;
  }

  body.home{
    padding-top:0;
  }

  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .header-bar{
    flex-wrap:wrap;
    min-height:auto;
    padding:14px 0;
  }

  .site-header--overlay .header-bar{
    min-height:auto;
  }

  .main-navigation{
    width:100%;
    justify-content:flex-start;
    display:none;
    order:4;
  }

  .header-phone{
    display:none;
  }

  .main-navigation.is-open{
    display:flex;
  }

  .main-navigation ul{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:18px;
    border-radius:20px;
    background:rgba(7,37,95,.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 16px 34px rgba(7,37,95,.22);
  }

  .feature-strip,
  .blog-grid{
    grid-template-columns:1fr;
  }

  .teacher-card__media{
    aspect-ratio: 4 / 3.6;
  }

  .hero-section{
    min-height:360px;
    padding-top:108px;
    background-position:76% center;
  }

  .hero-grid{
    min-height:300px;
    padding:20px 0 26px;
  }

  .hero-copy{
    width:min(100%, 680px);
    padding-left:18px;
  }

  .article-heading{
    align-items:flex-start;
  }

  .article-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .feature-strip-section{
    margin-top:calc(var(--feature-strip-down, 42px) * .65);
  }

  .program-heading{
    margin-bottom:26px;
  }

  .section-kicker{
    margin-bottom:14px;
  }

  .container{
    width:min(100% - 20px, 100%);
  }

  .footer-cta{
    padding:24px 18px;
    gap:20px;
  }

  .footer-cta h2{
    font-size:1.6rem;
  }

  .footer-cta__actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .footer-cta__actions .button{
    width:100%;
  }

  .article-grid{
    grid-template-columns:1fr;
  }

  .article-heading{
    flex-direction:column;
    align-items:flex-start;
  }

  .article-heading__button{
    width:100%;
  }

  .article-content,
  .article-action{
    padding-inline:18px;
  }

  .article-content{
    padding-top:20px;
    gap:12px;
  }

  .hero-section{
    min-height:320px;
    padding-top:124px;
    padding-bottom:26px;
    background-position:78% center;
  }

  .hero-grid{
    min-height:250px;
    padding:18px 0 22px;
  }

  .hero-copy{
    width:100%;
    padding-left:10px;
    padding-top:8px;
  }

  .hero-copy h1{
    font-size:2rem;
  }

  .hero-copy p{
    font-size:1rem;
    line-height:1.7;
    max-width:100%;
  }

  .feature-item,
  .program-card,
  .benefit-card,
  .page-card,
  .testimonial-copy{
    padding:22px;
  }

  .teacher-card__body{
    padding:22px;
  }

  .program-card__top{
    align-items:flex-start;
  }

  .program-badge{
    max-width:100%;
  }

  .feature-strip,
  .card-grid.four-up,
  .program-grid,
  .teacher-grid,
  .benefit-grid{
    grid-template-columns:1fr;
  }

  .testimonial-card{
    grid-template-columns:1fr;
  }

  .testimonial-media{
    max-height:240px;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .header-phone{
    display:none;
  }
}


@media (max-width: 980px){
  .teacher-single-hero,
  .teacher-single-content-grid{
    grid-template-columns:1fr;
  }

  .teacher-single-media{
    min-height:340px;
  }
}

@media (max-width: 640px){
  .teacher-single-hero,
  .teacher-single-content,
  .teacher-info-panel{
    padding:22px;
    border-radius:24px;
  }

  .teacher-single-meta-grid{
    grid-template-columns:1fr;
  }

  .teacher-single-actions{
    flex-direction:column;
  }

  .teacher-single-actions .button{
    width:100%;
    justify-content:center;
  }
}


@media (max-width: 860px){
  .testimonial-copy{
    padding:28px;
  }

  .testimonial-text{
    font-size:1rem;
    line-height:1.85;
  }
}

@media (max-width: 640px){
  .testimonial-slider{
    gap:14px;
  }

  .testimonial-card{
    min-height:auto;
    border-radius:26px;
  }

  .testimonial-copy{
    padding:24px;
  }

  .testimonial-author{
    align-items:flex-start;
  }

  .testimonial-media{
    flex-basis:64px;
    width:64px;
    height:64px;
    border-radius:20px;
  }

  .testimonial-nav{
    width:44px;
    height:44px;
  }

  .testimonial-nav--prev{
    left:10px;
  }

  .testimonial-nav--next{
    right:10px;
  }
}

.registration-page{
  position:relative;
  overflow:hidden;
}

.registration-page::before,
.registration-page::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.registration-page::before{
  width:360px;
  height:360px;
  top:80px;
  left:-140px;
  background:radial-gradient(circle, rgba(13,87,198,.12) 0%, rgba(13,87,198,0) 74%);
}

.registration-page::after{
  width:300px;
  height:300px;
  right:-120px;
  bottom:20px;
  background:radial-gradient(circle, rgba(255,138,0,.12) 0%, rgba(255,138,0,0) 72%);
}

.registration-shell{
  position:relative;
  z-index:1;
}

.registration-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);
  gap:30px;
  align-items:start;
}

.registration-intro,
.registration-form-card{
  position:relative;
  overflow:hidden;
}

.registration-intro{
  padding:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.88));
}

.registration-intro::before,
.registration-form-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
}

.registration-intro h1{
  margin:0 0 16px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
}

.registration-lead{
  margin:0 0 26px;
  color:var(--muted);
  line-height:1.9;
  font-size:1.02rem;
}

.registration-highlight-list{
  display:grid;
  gap:14px;
  margin-bottom:28px;
}

.registration-highlight-item,
.registration-contact-list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:var(--text);
}

.registration-highlight-item .dashicons,
.registration-contact-list .dashicons{
  flex-shrink:0;
  width:20px;
  height:20px;
  font-size:20px;
  color:var(--accent);
}

.registration-contact-card{
  display:grid;
  gap:14px;
  padding:22px 24px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(13,87,198,.08), rgba(255,138,0,.08));
  box-shadow:inset 0 0 0 1px rgba(13,87,198,.08);
}

.registration-contact-card strong{
  display:block;
  margin-bottom:6px;
  font-size:1.05rem;
}

.registration-contact-card p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.registration-contact-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.registration-extra-content{
  margin-top:26px;
  color:var(--muted);
}

.registration-form-column{
  display:grid;
  gap:18px;
}

.registration-form-card{
  padding:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,247,252,.96));
}

.registration-form-card__head{
  margin-bottom:24px;
}

.registration-form-card__head h2{
  margin:0 0 8px;
  font-size:1.7rem;
}

.registration-form-card__head p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.registration-form__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.form-field{
  display:grid;
  gap:8px;
}

.form-field--textarea,
.form-field--full{
  grid-column:1 / -1;
}

.form-field label{
  font-weight:700;
  color:var(--text);
}

.form-field label span{
  color:var(--accent);
  margin-left:4px;
}

.form-field input,
.form-field textarea,
.form-field select{
  width:100%;
  border:1px solid rgba(13,87,198,.12);
  border-radius:18px;
  background:#fff;
  padding:14px 16px;
  font:inherit;
  color:var(--text);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.form-field textarea{
  min-height:126px;
  resize:vertical;
}

.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--primary) 60%, #fff 40%);
  box-shadow:0 0 0 4px rgba(13,87,198,.08);
}

.form-field select{
  appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, var(--primary) 50%), linear-gradient(135deg, var(--primary) 50%, transparent 50%);
  background-position:calc(100% - 22px) calc(50% - 3px), calc(100% - 16px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:42px;
}

.registration-submit{
  width:100%;
  margin-top:22px;
  min-height:54px;
  font-size:1rem;
}

.registration-honeypot{
  position:absolute !important;
  left:-9999px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.form-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 18px;
  border-radius:18px;
  box-shadow:var(--shadow);
}

.form-notice p{
  margin:0;
  line-height:1.8;
}

.form-notice .dashicons{
  flex-shrink:0;
  width:20px;
  height:20px;
  font-size:20px;
}

.form-notice--success{
  background:rgba(40, 167, 69, .08);
  color:#1f7a33;
  box-shadow:inset 0 0 0 1px rgba(40, 167, 69, .14);
}

.form-notice--error{
  background:rgba(220, 53, 69, .08);
  color:#a62a3a;
  box-shadow:inset 0 0 0 1px rgba(220, 53, 69, .14);
}

@media (max-width: 980px){
  .registration-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .registration-intro,
  .registration-form-card{
    padding:24px;
    border-radius:24px;
  }

  .registration-form__grid{
    grid-template-columns:1fr;
  }
}


.single-entry-shell{
  padding-top:52px;
}

.content-shell--single{
  width:min(1040px, calc(100% - 32px));
}

.single-entry{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.entry-breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:18px;
  background:rgba(13,87,198,.06);
  color:var(--muted);
  border:1px solid rgba(13,87,198,.08);
  white-space:nowrap;
  overflow-x:auto;
  scrollbar-width:thin;
}

.entry-breadcrumb a{
  color:var(--primary);
  font-weight:700;
}

.entry-breadcrumb .separator{
  color:rgba(19,48,88,.35);
}

.entry-breadcrumb .current{
  min-width:0;
  color:var(--muted);
}

.entry-hero,
.entry-card{
  background:var(--surface);
  border:1px solid rgba(13,87,198,.08);
  box-shadow:var(--shadow);
}

.entry-hero{
  padding:34px 38px;
  border-radius:30px;
  background:linear-gradient(135deg, rgba(13,87,198,.08), rgba(255,255,255,.98));
}

.entry-hero--page{
  background:linear-gradient(135deg, rgba(13,87,198,.06), rgba(255,255,255,1));
}

.entry-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff;
  color:var(--primary);
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 12px 24px rgba(18, 70, 183, 0.08);
}

.entry-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 6px rgba(255,138,0,.14);
}

.entry-hero .entry-title{
  margin:18px 0 0;
  font-size:clamp(2.1rem, 3.3vw, 3.35rem);
  line-height:1.08;
  letter-spacing:-0.03em;
}

.entry-meta-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.entry-meta-pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--text);
  font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(13,87,198,.08);
}

.entry-meta-pill .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
  color:var(--primary);
}

.entry-featured-media{
  overflow:hidden;
  border-radius:30px;
  background:var(--surface);
  border:1px solid rgba(13,87,198,.08);
  box-shadow:var(--shadow);
}

.entry-featured-media img{
  width:100%;
  max-height:620px;
  object-fit:cover;
}

.entry-card{
  padding:34px 38px;
  border-radius:30px;
}

.entry-content{
  color:var(--text);
  font-size:1.03rem;
  line-height:1.92;
}

.entry-content > *:first-child{
  margin-top:0;
}

.entry-content > *:last-child{
  margin-bottom:0;
}

.entry-content p{
  margin:0 0 20px;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6{
  margin:40px 0 16px;
  line-height:1.24;
  color:var(--text);
}

.entry-content h2{
  font-size:clamp(1.65rem, 2.2vw, 2.2rem);
}

.entry-content h3{
  font-size:clamp(1.35rem, 1.9vw, 1.8rem);
}

.entry-content ul,
.entry-content ol{
  margin:0 0 24px;
  padding-left:1.35rem;
}

.entry-content li + li{
  margin-top:10px;
}

.entry-content blockquote{
  margin:28px 0;
  padding:24px 26px;
  border-left:4px solid var(--primary);
  border-radius:0 24px 24px 0;
  background:rgba(13,87,198,.05);
  color:var(--text);
}

.entry-content img{
  border-radius:24px;
  margin:28px auto;
}

.entry-content a{
  color:var(--primary);
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

.entry-content table{
  display:block;
  width:100%;
  overflow-x:auto;
  border-collapse:collapse;
  margin:28px 0;
  border-radius:20px;
}

.entry-content table th,
.entry-content table td{
  padding:14px 16px;
  border:1px solid rgba(13,87,198,.12);
  background:#fff;
}

.entry-content pre{
  margin:28px 0;
  padding:22px;
  border-radius:22px;
  background:#102249;
  color:#fff;
  overflow:auto;
}

.entry-content code{
  padding:3px 8px;
  border-radius:8px;
  background:rgba(13,87,198,.08);
  font-size:.94em;
}

.entry-content pre code{
  padding:0;
  background:transparent;
  color:inherit;
}

.page-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(13,87,198,.1);
}

.page-links span:first-child{
  font-weight:800;
}

.page-links .post-page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(13,87,198,.06);
  color:var(--primary);
  font-weight:700;
}

.page-links .post-page-numbers.current{
  background:var(--primary);
  color:#fff;
}

.single-post-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(13,87,198,.1);
}

.single-post-tags__label{
  font-weight:800;
  color:var(--text);
}

.single-post-tags a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(13,87,198,.06);
  color:var(--primary);
  font-weight:700;
}

.single-post-nav{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  margin-top:28px;
}

.single-post-nav__item{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(13,87,198,.04);
  border:1px solid rgba(13,87,198,.08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.single-post-nav__item:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 28px rgba(18, 70, 183, 0.08);
  border-color:rgba(13,87,198,.16);
}

.single-post-nav__item--next{
  text-align:right;
  align-items:flex-end;
}

.single-post-nav__label{
  color:var(--muted);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.single-post-nav__item strong{
  font-size:1.02rem;
  line-height:1.5;
}

@media (max-width: 860px){
  .single-entry-shell{
    padding-top:36px;
  }

  .content-shell--single{
    width:min(100%, calc(100% - 24px));
  }

  .entry-breadcrumb{
    padding:12px 14px;
    border-radius:16px;
  }

  .entry-hero,
  .entry-card{
    padding:24px;
    border-radius:24px;
  }

  .entry-featured-media{
    border-radius:24px;
  }

  .entry-hero .entry-title{
    font-size:clamp(1.9rem, 7vw, 2.55rem);
  }

  .entry-meta-list{
    gap:10px;
  }

  .entry-meta-pill{
    width:100%;
    justify-content:flex-start;
  }

  .single-post-nav{
    grid-template-columns:1fr;
  }

  .single-post-nav__item--next{
    text-align:left;
    align-items:flex-start;
  }
}

@media (max-width: 560px){
  .entry-content{
    font-size:.98rem;
    line-height:1.84;
  }

  .entry-content blockquote{
    padding:20px 18px;
    border-radius:0 18px 18px 0;
  }

  .single-post-tags{
    align-items:flex-start;
  }
}


/* Menu submenu fix */
.main-navigation > ul,
.main-navigation .menu,
.main-navigation > div > ul{
  display:flex;
  align-items:center;
  gap:30px;
  list-style:none;
  padding:0;
  margin:0;
}

.main-navigation .menu-item-has-children,
.main-navigation .page_item_has_children{
  position:relative;
}

.main-navigation .menu-item-has-children > a,
.main-navigation .page_item_has_children > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding-right:18px;
}

.main-navigation .menu-item-has-children > a::before,
.main-navigation .page_item_has_children > a::before{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-6px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  opacity:.78;
}

.main-navigation .sub-menu,
.main-navigation .children{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:240px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
  padding:12px;
  margin:0;
  list-style:none;
  background:#ffffff;
  border-radius:18px;
  box-shadow:0 24px 50px rgba(9, 35, 79, 0.18);
  border:1px solid rgba(13,87,198,0.10);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  z-index:40;
}

.main-navigation .sub-menu .sub-menu,
.main-navigation .children .children{
  top:-12px;
  left:calc(100% + 10px);
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:hover > .children,
.main-navigation li:focus-within > .sub-menu,
.main-navigation li:focus-within > .children,
.main-navigation li.submenu-open > .sub-menu,
.main-navigation li.submenu-open > .children{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.main-navigation .sub-menu a,
.main-navigation .children a{
  display:flex;
  align-items:center;
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  color:var(--text);
  opacity:1;
  font-size:.96rem;
  line-height:1.4;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus-visible,
.main-navigation .children a:hover,
.main-navigation .children a:focus-visible{
  background:rgba(13,87,198,0.08);
  color:var(--primary);
}

.main-navigation .sub-menu .current-menu-item > a,
.main-navigation .sub-menu .current_page_item > a,
.main-navigation .children .current-menu-item > a,
.main-navigation .children .current_page_item > a{
  background:rgba(13,87,198,0.10);
  color:var(--primary);
}

.main-navigation .sub-menu .current-menu-item > a::after,
.main-navigation .sub-menu .current_page_item > a::after,
.main-navigation .children .current-menu-item > a::after,
.main-navigation .children .current_page_item > a::after{
  display:none;
}

.main-navigation .submenu-toggle{
  display:none;
}

@media (max-width: 860px){
  .main-navigation > ul,
  .main-navigation .menu,
  .main-navigation > div > ul{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:18px;
    border-radius:20px;
    background:rgba(7,37,95,.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 16px 34px rgba(7,37,95,.22);
  }

  .main-navigation li{
    width:100%;
  }

  .main-navigation li.menu-item-has-children,
  .main-navigation li.page_item_has_children{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 42px;
    align-items:center;
    gap:10px;
  }

  .main-navigation li.menu-item-has-children > a,
  .main-navigation li.page_item_has_children > a{
    padding-right:0;
  }

  .main-navigation .menu-item-has-children > a::before,
  .main-navigation .page_item_has_children > a::before{
    display:none;
  }

  .main-navigation .submenu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:0;
    border-radius:12px;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
  }

  .main-navigation .submenu-toggle:hover,
  .main-navigation .submenu-toggle:focus-visible{
    background:rgba(255,255,255,.20);
  }

  .main-navigation li.submenu-open > .submenu-toggle{
    transform:rotate(180deg);
  }

  .main-navigation .submenu-toggle::before{
    content:"";
    width:9px;
    height:9px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-1px);
  }

  .main-navigation .sub-menu,
  .main-navigation .children{
    position:static;
    left:auto;
    top:auto;
    min-width:0;
    grid-column:1 / -1;
    display:none;
    margin:4px 0 0;
    padding:10px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    border-radius:16px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:none;
  }

  .main-navigation li.submenu-open > .sub-menu,
  .main-navigation li.submenu-open > .children{
    display:flex;
  }

  .main-navigation .sub-menu .sub-menu,
  .main-navigation .children .children{
    margin-top:8px;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    padding:10px 12px;
    color:#fff;
    background:transparent;
  }

  .main-navigation .sub-menu a:hover,
  .main-navigation .sub-menu a:focus-visible,
  .main-navigation .children a:hover,
  .main-navigation .children a:focus-visible,
  .main-navigation .sub-menu .current-menu-item > a,
  .main-navigation .sub-menu .current_page_item > a,
  .main-navigation .children .current-menu-item > a,
  .main-navigation .children .current_page_item > a{
    color:#fff;
    background:rgba(255,255,255,.12);
  }
}


.teacher-timeline-panel{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(13,87,198,.1);
}

.teacher-timeline-panel h4{
  margin:0 0 14px;
  font-size:1.05rem;
}

.teacher-info-panel--timeline-only h3{
  margin:0 0 14px;
}

.teacher-timeline-empty{
  margin:0;
  color:rgba(27,43,65,.68);
}

.teacher-career-timeline{
  list-style:none;
  margin:0;
  padding:0 0 0 18px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.teacher-career-timeline::before{
  content:"";
  position:absolute;
  top:4px;
  bottom:4px;
  left:5px;
  width:2px;
  background:rgba(13,87,198,.18);
}

.teacher-career-timeline__item{
  position:relative;
  padding-left:20px;
}

.teacher-career-timeline__item::before{
  content:"";
  position:absolute;
  left:-1px;
  top:7px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--secondary);
  box-shadow:0 0 0 5px rgba(13,87,198,.08);
}

.teacher-career-timeline__year{
  display:inline-flex;
  margin-bottom:6px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(13,87,198,.08);
  color:var(--primary);
  font-size:.82rem;
  font-weight:700;
}

.teacher-career-timeline__title{
  color:var(--text);
  line-height:1.65;
  font-weight:600;
}


.program-audience{flex-wrap:wrap;}

.program-pricing{display:grid;gap:10px;}
.program-pricing__label{font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.program-pricing__list{display:grid;gap:10px;}
.program-pricing__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(13,87,198,.12);background:rgba(255,255,255,.88);color:var(--text);text-decoration:none;transition:.2s ease;box-shadow:0 10px 24px rgba(18,70,183,.05);}
.program-pricing__item:hover{transform:translateY(-2px);border-color:rgba(13,87,198,.28);box-shadow:0 16px 34px rgba(18,70,183,.10);}
.program-pricing__item strong{font-size:.95rem;line-height:1.4;}
.program-pricing__item span{font-weight:800;color:var(--primary);white-space:nowrap;}


.package-catalog-page{padding:52px 0 0;}
.package-catalog-intro{padding:34px 36px;}
.package-catalog-intro h1{margin:10px 0 12px;font-size:clamp(2rem,3vw,2.9rem);color:var(--text);}
.package-catalog-intro p{margin:0;max-width:760px;color:var(--muted);line-height:1.8;}
.package-catalog-section{padding-top:18px;}
.package-catalog-empty{padding:34px 36px;text-align:center;}
.package-catalog-empty h2{margin:0 0 10px;color:var(--text);}
.package-catalog-empty p{margin:0;color:var(--muted);line-height:1.8;}
@media (max-width: 767px){
  .package-catalog-page{padding-top:32px;}
  .package-catalog-intro{padding:26px 22px;}
  .package-catalog-empty{padding:26px 22px;}
}
