  :root{
    --bg:#0c1035;
    --bg2:#111640;
    --bg3:#0a0d28;
    --red:#7c170d;
    --white:#fff;
    --gray:#8a90b8;
    --line:rgba(255,255,255,0.1);
    --card:#141843;
    --card2:#1a2060;
  }

  html{scroll-behavior:smooth;}
  body{background:var(--bg);color:var(--white) !important;-webkit-font-smoothing:antialiased;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  h1, h2, h3, h4, h5, h6,
  .footer {
    color: var(--white);
  }
  .page-hero {
    position: relative;
  }
  .page-hero h3 {
    color: var(--color-blue) !important;
  }
  .page-hero__image {
    position: absolute;
    right: 0;
    top: 0;
  }
  .wrap{max-width:1320px;margin:0 auto;padding:0 28px;}
  .btn-red{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border:none;cursor:pointer;background:var(--red);color:var(--white);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:opacity .2s;}
  .btn-red:hover{opacity:.85;}

  /* ===== PAGE HERO ===== */
  .page-hero{background:var(--white);overflow:hidden;}
  .page-hero-inner{display:flex;align-items:stretch;min-height:96px;}
  .page-hero-title{background:var(--white);display:flex;align-items:center;padding:22px 50px 22px 28px;position:relative;flex-shrink:0;}
  .page-hero-title h1{font-size:30px;font-weight:800;font-style:italic;color:var(--bg);text-transform:uppercase;white-space:nowrap;}
  .page-hero-title::after{content:"";position:absolute;right:-36px;top:0;bottom:0;width:72px;background:var(--white);clip-path:polygon(0 0,50% 0,100% 100%,0 100%);}
  .page-hero-red{background:var(--red);width:70px;flex-shrink:0;clip-path:polygon(0 0,100% 0,60% 100%,0 100%);}
  .page-hero-dark{flex:1;background:var(--bg2);}

  /* ===== PROGRAM TABS ===== */
  .prog-tabs-bar{background:var(--bg3);border-bottom:1px solid var(--line);}
  .prog-tabs{display:flex;}
  .prog-tab{
    padding:0 32px;height:58px;
    display:flex;align-items:center;gap:10px;
    font-size:13px;font-weight:600;letter-spacing:.3px;
    color:rgba(255,255,255,.5);
    background:transparent;border:none;cursor:pointer;
    border-bottom:2px solid transparent;
    transition:color .2s,background .2s,border-color .2s;
    white-space:nowrap;
  }
  .prog-tab .tab-num{
    font-size:11px;font-weight:700;letter-spacing:.5px;
    color:var(--red);opacity:.7;
    transition:opacity .2s;
  }
  .prog-tab.active{color:var(--white);background:#1a1f52;border-bottom:2px solid var(--red);}
  .prog-tab.active .tab-num{opacity:1;}
  .prog-tab:hover{color:rgba(255,255,255,.85);}

  /* ===== TAB CONTENT ===== */
  .tab-pane{display:none;}
  .tab-pane.active{display:block;}

  /* ===== HERO SECTION (full-bleed image + overlay text) ===== */
  .prog-hero{
    position:relative;overflow:hidden;
    min-height:480px;
    display:flex;align-items:flex-end;
  }
  .prog-hero-img{
    position:absolute;inset:0;
    width:100%;height:100%;object-fit:cover;
    filter:brightness(.45);
  }
  .prog-hero-img-placeholder{
    position:absolute;inset:0;
  }
  .prog-hero-overlay{
    position:relative;z-index:2;
    width:100%;
    padding: 56px 0;
  }
  .prog-hero-overlay .wrap{
    display:grid;
    grid-template-columns:1fr 440px;
    gap:48px;
    align-items:end;
  }
  .prog-hero-label{
    font-size:11px;font-weight:700;letter-spacing:1.5px;
    text-transform:uppercase;color:var(--white);
    margin-bottom:12px;display:flex;align-items:center;gap:8px;
  }
  .prog-hero-label::before{content:"";width:24px;height:2px;background:var(--red);}
  .prog-hero-title-big{
    font-size: 64px;
    font-style: italic;
    font-weight: 700;
    line-height: 1;
  }
  .prog-hero-desc{
    font-size:14.5px;line-height:1.75;
    color:rgba(255,255,255,.75);
    margin-top:16px;
    max-width:520px;
  }
  .prog-hero-cta{
    margin-top:28px;
    display:flex;gap:12px;flex-wrap:wrap;
  }
  /* info card floated over hero */
  .prog-info-card{
    background:rgba(10,13,40,.88);
    border:1px solid rgba(255,255,255,.15);
    border-radius:4px;
    padding:28px 28px 24px;
    backdrop-filter:blur(12px);
  }
  .prog-info-card h3{
    font-size:13px;font-weight:700;letter-spacing:.5px;
    text-transform:uppercase;color:var(--gray);
    margin-bottom:16px;padding-bottom:12px;
    border-bottom:1px solid var(--line);
  }
  .prog-info-card ul{display:flex;flex-direction:column;gap:0;}
  .prog-info-card ul li{
    display:flex;align-items:center;gap:12px;
    padding:11px 0;
    border-bottom:1px solid var(--line);
    font-size:13.5px;color:rgba(255,255,255,.85);font-weight:500;
  }
  .prog-info-card ul li:last-child{border-bottom:none;}
  .prog-info-card ul li::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:var(--red);flex-shrink:0;
  }

  /* ===== SUBPROGRAMS GRID (детский блок) ===== */
  .subprog-section{padding:60px 0;}
  .section-eyebrow{
    font-size:11px;font-weight:700;letter-spacing:1.2px;
    text-transform:uppercase;color:var(--white);
    margin-bottom:10px;
  }
  .section-heading{
    font-size:32px;font-weight:800;font-style:italic;
    line-height:1.1;margin-bottom:14px;
  }
  .section-sub{
    font-size:14px;line-height:1.7;color:var(--gray);
    max-width:580px;margin-bottom:40px;
  }
  .subprog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }
  .subprog-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:4px;
    padding:28px 24px 26px;
    display:flex;flex-direction:column;gap:14px;
    transition:border-color .2s,transform .2s;
    cursor:default;
  }
  .subprog-card:hover{border-color:rgba(192,41,31,.5);transform:translateY(-3px);}
  .subprog-card .sp-icon{
    width:46px;height:46px;border-radius:8px;
    background:rgba(192,41,31,.12);border:1px solid rgba(192,41,31,.25);
    display:flex;align-items:center;justify-content:center;
  }
  .subprog-card .sp-name{
    font-size:15px;font-weight:700;color:var(--white);
  }
  .subprog-card .sp-desc{
    font-size:12.5px;line-height:1.65;color:var(--gray);
    flex:1;
  }
  .subprog-card .sp-age{
    display:inline-flex;align-items:center;
    font-size:11px;font-weight:700;letter-spacing:.3px;
    color:var(--white);text-transform:uppercase;
    gap:5px;
  }

  /* ===== ADULT PROGRAMS ===== */
  .adult-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:24px;
    padding:60px 0;
  }
  .adult-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:4px;
    overflow:hidden;
  }
  .adult-card .ac-img{
    position:relative;overflow:hidden;
    height:240px;
  }
  .adult-card .ac-img img{
    width:100%;height:100%;object-fit:cover;
    filter:brightness(.55);
    transition:transform .4s,filter .3s;
  }
  .adult-card:hover .ac-img img{transform:scale(1.03);filter:brightness(.65);}
  .adult-card .ac-img-placeholder{width:100%;height:100%;}
  .adult-card .ac-body{padding:26px 26px 28px;}
  .adult-card .ac-num{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--red);text-transform:uppercase;margin-bottom:10px;display:block;}
  .adult-card .ac-name{font-size:22px;font-weight:800;font-style:italic;margin-bottom:14px;}
  .adult-card ul{display:flex;flex-direction:column;gap:0;margin-bottom:22px;}
  .adult-card ul li{
    display:flex;align-items:center;gap:10px;
    padding:9px 0;border-bottom:1px solid var(--line);
    font-size:13.5px;color:rgba(255,255,255,.8);
  }
  .adult-card ul li:last-child{border-bottom:none;}
  .adult-card ul li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0;}

  /* ===== INDIVIDUAL SECTION ===== */
  .individual-section{padding:60px 0;}
  .individual-grid{
    display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;
    margin-bottom:28px;
  }
  .ind-card{
    background:var(--card);border:1px solid var(--line);border-radius:4px;
    padding:28px 22px 26px;
  }
  .ind-card .ic-icon{
    width:48px;height:48px;border-radius:10px;
    background:rgba(192,41,31,.1);border:1px solid rgba(192,41,31,.2);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:16px;
  }
  .ind-card .ic-name{font-size:16px;font-weight:700;margin-bottom:10px;}
  .ind-card .ic-desc{font-size:13px;line-height:1.65;color:var(--gray);}
  .conditions-card{
    background:var(--card2);
    border:1px solid rgba(255,255,255,.15);
    border-radius:4px;
    padding:28px 32px;
    display:flex;align-items:center;gap:48px;
    flex-wrap:wrap;
  }
  .cond-item{display:flex;align-items:center;gap:14px;}
  .cond-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .cond-text .cond-val{font-size:22px;font-weight:800;font-style:italic;color:var(--white);}
  .cond-text .cond-label{font-size:11.5px;color:var(--gray);margin-top:2px;}

  /* ===== RULES SECTION ===== */
  .rules-section{padding:60px 0;}
  .rules-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
    margin-top:36px;
  }
  .rule-card{
    background:var(--card);border:1px solid var(--line);border-radius:4px;
    padding:26px 22px;display:flex;gap:16px;align-items:flex-start;
  }
  .rule-num{
    font-size:28px;font-weight:800;font-style:italic;
    color:rgba(192,41,31,.3);line-height:1;flex-shrink:0;
    min-width:36px;
  }
  .rule-text h4{font-size:14px;font-weight:700;color:var(--white);margin-bottom:6px;}
  .rule-text p{font-size:13px;line-height:1.65;color:var(--gray);}

  /* ===== CTA STRIP ===== */
  .cta-strip{
    background:#fff;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:52px 0;
  }
  .cta-strip-inner{
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }
  .cta-strip h3{color:var(--color-blue);font-size:26px;font-weight:800;font-style:italic;max-width:500px;}
  .cta-strip .btn-outline-white  {
    color: var(--gray);
    border: 1px solid var(--gray);
}
  .cta-strip p{color:var(--gray);font-size:14px;margin-top:8px;}
  .btn-outline-white{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 26px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
    color:var(--white);border:1px solid rgba(255,255,255,.3);
    background:transparent;cursor:pointer;
    clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
    transition:border-color .2s,background .2s;
  }
  .btn-outline-white:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.05);}
  .cta-btns{display:flex;gap:12px;flex-shrink:0;}

  /* ===== STATS ===== */
  .stats-strip{
    display:grid;grid-template-columns:repeat(3,1fr);
    border:1px solid var(--line);border-radius:4px;overflow:hidden;
    background:var(--card);margin-top:48px;
  }
  .stat-box{
    padding:22px 24px;border-right:1px solid var(--line);
    display:flex;align-items:center;gap:16px;
  }
  .stat-box:last-child{border-right:none;}
  .stat-box .sico{width:44px;height:44px;display:flex;align-items:center;justify-content:center;opacity:.7;flex-shrink:0;}
  .stat-box .sval{font-size:22px;font-weight:800;font-style:italic;color:var(--white);line-height:1.1;}
  .stat-box .slabel{font-size:11px;color:var(--gray);margin-top:3px;}



  /* ===== RESPONSIVE ===== */
  @media(max-width:1000px){
    nav ul{display:none;}
    .prog-hero-overlay .wrap{grid-template-columns:1fr;}
    .prog-info-card{margin-top:24px;}
    .subprog-grid{grid-template-columns:1fr 1fr;}
    .adult-grid{grid-template-columns:1fr;}
    .individual-grid{grid-template-columns:1fr 1fr;}
    .rules-grid{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:640px){
    .subprog-grid,.individual-grid,.rules-grid{grid-template-columns:1fr;}
    .prog-tabs{overflow-x:auto;}
    .prog-tab{padding:0 18px;font-size:12px;}
    .prog-hero-title-big{font-size:32px;}
    .cta-btns{flex-direction:column;}
    .stats-strip{grid-template-columns:1fr;}
    .stat-box{border-right:none;border-bottom:1px solid var(--line);}
    .stat-box:last-child{border-bottom:none;}
  }
.pb-60 {
  padding-bottom: 60px;
}
.wrap.pb-60 .grid {
    display: grid;
    grid-template-columns: 440px 1fr;
    gap: 48px;
    align-items: start;
}
.tabs-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tabs-nav li {
    padding: 12px 16px;
    cursor: pointer;
    transition: .3s;
}


.tabs-nav li.active {
    color: var(--red);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.announcements-item .service-text h3 {
    color: var(--color-black) !important;
}
.page-id-72 .title h3 {
  font-size: 50px;
}