.about-stage{
  grid-template-columns:59.4fr 40.6fr;
}

.about-content-panel{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#063f5b;
  color:#fff;
}

.about-content-inner{
  height:100%;
  overflow:auto;
  padding:clamp(42px,5.2vw,82px) clamp(44px,5.5vw,92px) clamp(56px,6vw,96px);
  scrollbar-width:thin;
}

.about-page:not(.services-page) .about-content-inner{
  overflow:hidden;
}

.about-tabs{
  display:flex;
  align-items:center;
  gap:clamp(24px,3vw,48px);
  margin:0 0 clamp(44px,6vh,72px);
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.28);
}

.about-tabs a{
  position:relative;
  color:#fff;
  text-decoration:none;
  font-size:clamp(14px,1.12vw,19px);
  line-height:1;
  opacity:.64;
  transition:opacity .18s ease;
}

.about-tabs a:hover,
.about-tabs a:focus-visible,
.about-tabs a.is-active{opacity:1}

.about-tabs a.is-active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-17px;
  height:2px;
  background:#fff;
}

.about-section{max-width:980px}

.about-section h1,
.services-section h1,
.services-section h2{
  margin:0;
  color:#fff;
  font-size:clamp(20px,1.55vw,24px);
  line-height:1.2;
  letter-spacing:-.01em;
  font-weight:700;
}

.about-lead{
  max-width:900px;
  margin:18px 0 0;
  font-size:clamp(13px,1vw,17px);
  line-height:1.6;
  font-weight:400;
  color:rgba(255,255,255,.92);
}

.about-body{
  max-width:900px;
  margin-top:clamp(34px,4.5vh,52px);
  padding-top:clamp(28px,3.8vh,42px);
  border-top:1px solid rgba(255,255,255,.22);
  columns:2;
  column-gap:clamp(34px,4vw,68px);
}

.about-body p,
.services-section p{
  margin:0 0 22px;
  font-size:clamp(13px,1vw,17px);
  line-height:1.6;
  color:rgba(255,255,255,.82);
  break-inside:avoid;
}

.about-body a{
  color:#fff;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.services-section{
  max-width:900px;
  margin-top:clamp(76px,12vh,140px);
  padding-top:clamp(40px,6vh,72px);
  padding-bottom:60px;
  border-top:1px solid rgba(255,255,255,.3);
}

.services-page .services-section{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.services-section h1,
.services-section h2{margin-bottom:22px}

.services-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 30px;
}

.services-filter{
  appearance:none;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:transparent;
  color:rgba(255,255,255,.82);
  padding:8px 13px 7px;
  font:inherit;
  font-size:clamp(10.5px,.76vw,13px);
  line-height:1.15;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}

.services-filter:hover,
.services-filter:focus-visible{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.68);
  outline:none;
  transform:translateY(-1px);
}

.services-filter.is-active{
  background:#fff;
  color:#063f5b;
  border-color:#fff;
  font-weight:700;
}

.services-filter:disabled{
  opacity:.58;
  cursor:default;
  transform:none;
}

.services-status{
  margin:0!important;
  padding:16px 0;
  font-size:clamp(12px,.9vw,14px)!important;
  color:rgba(255,255,255,.68)!important;
}

.services-status[hidden]{display:none!important}
.services-catalog{display:block}

.services-area-group{margin:0 0 clamp(38px,5vh,58px)}

.services-area-title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(14px,1.05vw,18px);
  line-height:1.2;
  font-weight:700;
}

.services-program-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.service-program{
  position:relative;
  overflow:hidden;
  background:#eef0f1;
  color:#102f40;
  box-shadow:0 8px 26px rgba(1,26,39,.08);
  transition:transform .16s ease,box-shadow .16s ease;
}

.service-program.has-subjects{cursor:help}

.service-program.has-subjects:hover,
.service-program.has-subjects:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 11px 30px rgba(1,26,39,.14);
  outline:none;
}

.service-program-head{
  min-height:34px;
  display:grid;
  grid-template-columns:minmax(82px,15%) 1fr;
  align-items:center;
  background:#063f5b;
  color:#fff;
}

.service-program-id{
  align-self:stretch;
  display:flex;
  align-items:center;
  padding:7px 13px;
  border-right:2px solid rgba(255,255,255,.8);
  font-size:clamp(11px,.82vw,14px);
  line-height:1.15;
  font-weight:700;
}

.service-program-name{
  padding:7px 14px;
  font-size:clamp(11.5px,.86vw,14.5px);
  line-height:1.18;
  font-weight:700;
  letter-spacing:.005em;
}

.service-program-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:#fff;
}

.service-program-col{
  min-width:0;
  min-height:108px;
  padding:11px 14px 13px;
  background:#e6e6e6;
}

.service-program-col p{
  margin:0 0 7px!important;
  color:#162e3c!important;
  font-size:clamp(10.5px,.76vw,13px)!important;
  line-height:1.28!important;
}

.service-program-col p:last-child{margin-bottom:0!important}
.service-duration strong,
.service-learning strong{font-weight:700}

.subject-popup{
  position:fixed;
  z-index:9999;
  width:min(360px,calc(100vw - 28px));
  max-height:min(380px,62vh);
  overflow:auto;
  left:14px;
  top:14px;
  padding:13px 15px 15px;
  border:1px solid rgba(6,63,91,.16);
  border-radius:8px;
  background:rgba(255,255,255,.98);
  color:#173e57;
  box-shadow:0 18px 44px rgba(0,26,40,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  pointer-events:none;
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease;
}

.subject-popup.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.subject-popup strong{
  display:block;
  margin:0 0 7px;
  color:#063f5b;
  font-size:clamp(10px,.68vw,12px);
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.subject-popup div{
  white-space:pre-line;
  font-size:clamp(8.5px,.55vw,10px);
  line-height:1.42;
  color:#365b6f;
}

.about-page .identity-watermark{
  position:absolute;
  z-index:1;
  width:72%;
  max-width:none;
  height:auto;
  right:0;
  top:1%;
  opacity:1;
  pointer-events:none;
  user-select:none;
}

.about-profile-panel{
  align-items:stretch;
  justify-content:flex-start;
}

.manager-profile{
  position:absolute;
  z-index:2;
  top:8%;
  left:7%;
  right:7%;
  bottom:15%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:0;
}

.manager-photo-wrap{
  width:100%;
  height:clamp(300px,50vh,500px);
  min-height:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}

.manager-photo{
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 10px 22px rgba(6,63,91,.08));
}

.manager-card{
  position:relative;
  z-index:3;
  width:min(82%,420px);
  margin-top:-28px;
  padding:14px 18px 15px;
  background:#1d4f7a;
  color:#fff;
  text-align:center;
  box-shadow:0 9px 24px rgba(4,48,75,.12);
}

.manager-card::before{
  content:"";
  position:absolute;
  left:0;
  top:-4px;
  width:44%;
  height:4px;
  background:#f2c500;
}

.manager-card h2,
.manager-card p{
  margin:0;
  color:#fff;
  font-size:clamp(13px,1vw,17px);
  line-height:1.28;
}

.manager-card h2{font-weight:700}
.manager-card p{margin-top:3px;font-weight:400}

.about-main-nav{
  left:5%;
  right:5%;
  gap:clamp(18px,2.45vw,40px);
}

.about-main-nav .is-current{font-weight:700}

@media (max-width:1280px){
  .about-content-inner{padding:42px 48px 60px}
  .about-page .identity-watermark{width:72%;right:0;top:1%}
  .manager-profile{top:7%;left:6%;right:6%;bottom:15%}
  .manager-photo-wrap{height:clamp(270px,46vh,420px)}
  .manager-card{width:min(84%,380px);margin-top:-24px;padding:12px 16px 13px}
  .about-main-nav{gap:22px}
}

@media (max-width:900px){
  .about-stage{
    display:flex;
    flex-direction:column;
  }
  .about-content-panel{
    min-height:auto;
    order:0;
  }
  .about-content-inner,
  .about-page:not(.services-page) .about-content-inner{
    height:auto;
    overflow:visible;
    padding:42px 26px 58px;
  }
  .about-body{columns:1}
  .services-section{margin-top:0;padding-top:0;border-top:0}
  .service-program-head{grid-template-columns:88px 1fr}
  .service-program-body{grid-template-columns:1fr}
  .service-program-col{min-height:0}
  .subject-popup{width:min(340px,calc(100vw - 24px))}
  .subject-popup div{font-size:9px}
  .about-page .identity-panel{
    order:-1;
    min-height:92svh;
  }
  .manager-profile{
    position:relative;
    inset:auto;
    width:100%;
    min-height:0;
    padding:72px 26px 122px;
  }
  .manager-photo-wrap{
    height:auto;
    max-height:none;
  }
  .manager-photo{
    width:min(72vw,390px);
    height:auto;
  }
  .manager-card{
    width:min(74vw,360px);
    margin-top:-20px;
  }
  .about-main-nav{
    flex-wrap:wrap;
    row-gap:14px;
    white-space:normal;
  }
}
