.program-page{
  --pp-void:#06040E;
  --pp-night:#0D0722;
  --pp-card:#170E38;
  --pp-card2:#1E1348;
  --pp-violet:#6D3BF5;
  --pp-violet-lite:#A78BFF;
  --pp-gold:#F5C56B;
  --pp-gold-deep:#C9964A;
  --pp-lav:#E6DEFF;
  --pp-mute:#A99BD0;

  --pp-line:rgba(167,139,255,.18);
  --pp-line-str:rgba(167,139,255,.34);

  --pp-sec:clamp(64px,6.2vw,96px);
  --pp-gap:clamp(30px,3.2vw,46px);

  position:relative; z-index:2;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:18px; line-height:1.62; color:var(--pp-lav);
  hyphens:none; -webkit-hyphens:none; overflow-wrap:normal; word-break:normal;
}
.program-page h1,.program-page h2,.program-page h3,.program-page h4,
.program-page p,.program-page li,.program-page span,.program-page b{
  hyphens:none; -webkit-hyphens:none; word-break:normal; overflow-wrap:normal;
}

/* ---------- SHELL -------------------------------------------------------- */
.program-page .pp-shell{ width:min(1200px, 100% - 48px); margin-inline:auto; }
@media (min-width:1360px){ .program-page .pp-shell{ width:min(1200px, calc(100vw - 320px)); } }
.program-page .pp-shell--narrow{ max-width:920px; }
.program-page .pp-sec{ padding-block:var(--pp-sec); position:relative; }

/* ---------- ФОН ---------------------------------------------------------- */
.pp-sky{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.pp-sky > *{ position:absolute; inset:0; }
.pp-sky__depth{
  background:
    radial-gradient(140% 110% at 50% -12%, #251057 0%, #170A38 28%, #0C0620 58%, #05030C 100%),
    #05030C;
}
.pp-sky__nebula{
  background:
    radial-gradient(36% 28% at 16% 20%, rgba(109,59,245,.44) 0%, transparent 66%),
    radial-gradient(30% 24% at 84% 14%, rgba(214,86,222,.22) 0%, transparent 68%),
    radial-gradient(44% 32% at 64% 60%, rgba(59,86,245,.28) 0%, transparent 70%),
    radial-gradient(26% 20% at 26% 78%, rgba(245,197,107,.16) 0%, transparent 70%),
    radial-gradient(32% 26% at 90% 86%, rgba(140,59,245,.24) 0%, transparent 72%);
  filter:blur(48px) saturate(1.12); opacity:.88;
  animation:ppNebula 72s ease-in-out infinite alternate; will-change:transform;
}
@keyframes ppNebula{
  0%{ transform:scale(1.06) translate3d(0,0,0); }
  50%{ transform:scale(1.15) translate3d(-2.5%,2%,0); }
  100%{ transform:scale(1.09) translate3d(2%,-2%,0); }
}
.pp-sky__dust{
  background:linear-gradient(107deg, transparent 0%, rgba(167,139,255,.1) 34%, rgba(230,222,255,.15) 46%, rgba(167,139,255,.1) 58%, transparent 84%);
  filter:blur(30px); opacity:.5; transform:scale(1.3);
  animation:ppDust 92s linear infinite alternate;
}
@keyframes ppDust{ from{ transform:scale(1.3) translate3d(-3%,0,0) rotate(0deg);} to{ transform:scale(1.36) translate3d(3%,-2%,0) rotate(3deg);} }
.pp-sky__video{ width:100%; height:100%; object-fit:cover; opacity:.16; mix-blend-mode:screen; }
.pp-sky__stars{ width:100%; height:100%; }
.pp-sky__veil{
  background:
    radial-gradient(76% 50% at 50% 42%, rgba(5,3,12,.6) 0%, transparent 74%),
    linear-gradient(180deg, rgba(5,3,12,.32) 0%, rgba(5,3,12,.08) 32%, rgba(5,3,12,.42) 70%, rgba(5,3,12,.84) 100%);
}
.pp-sky__vignette{ background:radial-gradient(120% 82% at 50% 46%, transparent 44%, rgba(3,2,8,.55) 78%, rgba(3,2,8,.92) 100%); }

/* ---------- ТИПОГРАФІКА -------------------------------------------------- */
.program-page .pp-mark{
  font-family:'JetBrains Mono',monospace; font-size:clamp(11px,.95vw,13px);
  letter-spacing:.26em; text-transform:uppercase; color:var(--pp-gold);
  margin:0 0 18px; display:flex; align-items:center; gap:12px; line-height:1.7; white-space:nowrap;
}
.program-page .pp-mark::before{ content:""; width:24px; height:1px; background:var(--pp-gold); opacity:.75; flex:none; }
.program-page .pp-mark--center{ justify-content:center; }
.program-page h1,.program-page h2,.program-page h3,.program-page h4{
  font-family:'Unbounded',sans-serif; font-weight:800; margin:0; text-wrap:balance;
}
.program-page .pp-h1{
  font-size:min(4vw, 62px); line-height:1.1; letter-spacing:.006em; font-weight:800; color:#fff;
}
@media (max-width:1024px){ .program-page .pp-h1{ font-size:clamp(30px,5.6vw,44px); } }
.program-page .pp-h2{
  font-size:clamp(26px,3vw,46px); line-height:1.12; letter-spacing:.006em;
  color:#fff; max-width:900px; padding-bottom:.04em;
}
.program-page .pp-h2--center{ margin-inline:auto; text-align:center; }
.program-page .pp-h3{ font-size:clamp(19px,1.7vw,26px); line-height:1.16; letter-spacing:0; color:#fff; }
.program-page .pp-lead{ font-size:clamp(17px,1.3vw,20px); line-height:1.62; color:var(--pp-mute); max-width:66ch; }
.program-page p{ margin:0 0 16px; max-width:66ch; }
.program-page p:last-child{ margin-bottom:0; }
.program-page strong{ color:#fff; font-weight:700; }
.program-page .pp-statement{
  font-family:'Unbounded',sans-serif; font-weight:600;
  font-size:clamp(17px,1.6vw,25px); line-height:1.3; color:#fff; max-width:none;
}
.program-page .pp-quote{
  font-family:'Unbounded',sans-serif; font-weight:600;
  font-size:clamp(18px,1.8vw,27px); line-height:1.3; color:#fff;
  padding-left:24px; border-left:2px solid var(--pp-gold); max-width:none;
}

/* заголовок секції: маркер зліва, заголовок справа */
.program-page .pp-head{
  display:grid; grid-template-columns:180px 1fr; gap:clamp(20px,3vw,48px);
  align-items:start; margin-bottom:var(--pp-gap);
}
.program-page .pp-head--solo{ grid-template-columns:1fr; }
.program-page .pp-head__num{
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--pp-gold); line-height:1.8;
  padding-top:10px; border-top:1px solid var(--pp-line-str); white-space:nowrap;
}
.program-page .pp-head__num b{ display:block; color:#fff; font-weight:500; font-size:28px; letter-spacing:.04em; line-height:1; margin-bottom:8px; }

/* ---------- КНОПКИ ------------------------------------------------------- */
.program-page .pp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:15px 30px; border-radius:999px;
  font-weight:700; font-size:16px; letter-spacing:.01em;
  border:1px solid transparent; cursor:pointer; white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;
}
.program-page .pp-btn--gold{
  background:linear-gradient(135deg,var(--pp-gold) 0%, #FFE0A3 52%, var(--pp-gold-deep) 100%);
  color:#221338; box-shadow:0 10px 32px rgba(245,197,107,.24);
}
.program-page .pp-btn--gold:hover{ transform:translateY(-2px); box-shadow:0 16px 44px rgba(245,197,107,.36); }
.program-page .pp-btn--ghost{ background:rgba(167,139,255,.06); border-color:var(--pp-line-str); color:#fff; }
.program-page .pp-btn--ghost:hover{ border-color:var(--pp-gold); color:var(--pp-gold); transform:translateY(-2px); }
.program-page .pp-btn--mini{
  min-height:auto; padding:11px 20px; font-size:13px; font-family:'JetBrains Mono',monospace;
  font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  border:1px solid var(--pp-line-str); color:var(--pp-gold); background:rgba(245,197,107,.06);
}
.program-page .pp-btn--mini:hover{ border-color:var(--pp-gold); background:rgba(245,197,107,.14); }

/* ---------- HERO --------------------------------------------------------- */
.program-page .pp-hero{ min-height:84vh; display:flex; align-items:center; padding-block:clamp(36px,4.4vw,64px) clamp(48px,5vw,80px); }
.program-page .pp-hero__grid{ display:grid; grid-template-columns:56% 44%; align-items:center; gap:clamp(26px,3vw,52px); width:100%; }
.program-page .pp-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.program-page .pp-hero__text{ margin-top:22px; }

/* ---------- ФОТО-ПЛЕЙСХОЛДЕРИ -------------------------------------------- */
.program-page .pp-photo{
  position:relative; border-radius:24px; overflow:hidden;
  border:1px dashed rgba(245,197,107,.42);
  background:
    repeating-linear-gradient(135deg, rgba(167,139,255,.05) 0 12px, transparent 12px 24px),
    linear-gradient(160deg, rgba(30,19,72,.8), rgba(10,6,24,.8));
  display:grid; place-items:center; text-align:center; padding:20px; min-height:220px;
}
.program-page .pp-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.program-page .pp-photo__hint{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(245,197,107,.86); line-height:1.9;
}
.program-page .pp-photo__hint em{ display:block; font-style:normal; color:var(--pp-mute); letter-spacing:.08em; margin-top:6px; }
.program-page .pp-photo--45{ aspect-ratio:4/5; min-height:0; }

/* ---------- ТЕГИ / MARQUEE ----------------------------------------------- */
.program-page .pp-tags{ display:flex; flex-wrap:wrap; gap:10px; }
.program-page .pp-tags span{
  font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--pp-lav); white-space:nowrap;
  border:1px solid var(--pp-line); border-radius:999px; padding:10px 16px; background:rgba(109,59,245,.06);
}
.program-page .pp-tags--gold span{ color:var(--pp-gold); border-color:rgba(245,197,107,.28); background:rgba(245,197,107,.05); }

/* ---------- 02 ДОСВІД: 10 КРОКІВ ----------------------------------------- */
.program-page .pp-steps{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,44px); }
.program-page .pp-steps ol{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.program-page .pp-steps li{
  display:grid; grid-template-columns:52px 1fr; align-items:center; gap:16px;
  padding:16px 18px; border-radius:14px; border:1px solid transparent;
  transition:border-color .3s ease, background .3s ease, transform .3s ease;
}
.program-page .pp-steps li:hover{ border-color:var(--pp-line); background:rgba(109,59,245,.08); transform:translateX(4px); }
.program-page .pp-steps li b{
  font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.14em;
  color:var(--pp-gold); font-weight:500;
}
.program-page .pp-steps li span{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(15px,1.25vw,18px); line-height:1.24; color:#fff; }

/* ---------- 03 ФОРМАТИ: 12 ----------------------------------------------- */
.program-page .pp-formats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.program-page .pp-format{
  border:1px solid var(--pp-line); border-radius:18px; padding:24px 20px;
  background:linear-gradient(168deg, rgba(30,19,72,.6), rgba(10,6,24,.6));
  transition:transform .3s ease, border-color .3s ease;
}
.program-page .pp-format:hover{ transform:translateY(-5px); border-color:var(--pp-line-str); }
.program-page .pp-format b{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.2em; color:var(--pp-gold); font-weight:500; }
.program-page .pp-format span{
  display:block; margin-top:12px; font-family:'Unbounded',sans-serif; font-weight:600;
  font-size:clamp(14px,1.15vw,17px); line-height:1.24; color:#fff;
}

/* ---------- 04 НАВИЧКИ --------------------------------------------------- */
.program-page .pp-skills{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.program-page .pp-skills__col{
  border:1px solid var(--pp-line); border-radius:22px; padding:28px 26px;
  background:linear-gradient(168deg, rgba(23,14,56,.68), rgba(9,5,22,.68));
}
.program-page .pp-skills__col ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.program-page .pp-skills__col li{
  display:flex; gap:12px; align-items:flex-start;
  font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(14px,1.15vw,17px);
  line-height:1.24; color:#fff;
}
.program-page .pp-skills__col li::before{ content:"✦"; color:var(--pp-gold); flex:none; font-family:'Manrope',sans-serif; font-size:13px; line-height:1.6; }

/* ---------- 05 БАЛАНС ---------------------------------------------------- */
.program-page .pp-balance{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.program-page .pp-balance__item{
  position:relative; overflow:hidden;
  border:1px solid var(--pp-line); border-radius:26px; padding:clamp(28px,2.8vw,40px);
  background:
    radial-gradient(90% 110% at 50% 0%, rgba(109,59,245,.32) 0%, transparent 62%),
    linear-gradient(168deg, rgba(30,19,72,.72), rgba(9,5,22,.8));
  display:flex; flex-direction:column; gap:14px;
  transition:transform .3s ease, border-color .3s ease;
}
.program-page .pp-balance__item:hover{ transform:translateY(-5px); border-color:var(--pp-line-str); }
.program-page .pp-balance__item::after{
  content:""; position:absolute; right:-60px; top:-60px; width:170px; height:170px;
  border-radius:50%; border:1px solid rgba(245,197,107,.14);
}
.program-page .pp-balance__n{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.2em; color:var(--pp-gold); }
.program-page .pp-balance__item h3{
  font-family:'Unbounded',sans-serif; font-weight:800; font-size:clamp(20px,1.9vw,28px);
  letter-spacing:.02em; text-transform:uppercase; color:#fff; line-height:1.1;
}
.program-page .pp-balance__item p{ font-size:16.5px; color:var(--pp-mute); }
.program-page .pp-balance__item .pp-btn--mini{ align-self:flex-start; margin-top:auto; }
.program-page .pp-balance__foot{
  margin-top:24px; padding:22px 26px; border-radius:18px;
  border:1px solid rgba(245,197,107,.24); background:rgba(245,197,107,.06);
  font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(15px,1.3vw,20px);
  line-height:1.34; color:#FFE7C9; text-align:center;
}

/* ---------- 06 / 07 / 10: STATEMENT BLOCKS ------------------------------- */
.program-page .pp-box{
  border:1px solid var(--pp-line); border-radius:28px; padding:clamp(30px,3.4vw,54px);
  background:
    radial-gradient(80% 120% at 8% 0%, rgba(109,59,245,.34) 0%, transparent 62%),
    linear-gradient(152deg, rgba(30,19,72,.8), rgba(9,5,22,.88));
  position:relative; overflow:hidden;
}
.program-page .pp-box__orbit{
  position:absolute; right:-120px; top:-100px; width:360px; height:360px;
  border-radius:50%; border:1px solid rgba(245,197,107,.14); pointer-events:none;
}
.program-page .pp-box__orbit::before{ content:""; position:absolute; inset:52px; border-radius:50%; border:1px solid rgba(167,139,255,.12); }
.program-page .pp-box__grid{ display:grid; grid-template-columns:38% 62%; gap:clamp(28px,3.4vw,56px); position:relative; z-index:1; }

/* 07 ТВОРЧІСТЬ: рядки-можливості */
.program-page .pp-lines{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:0; }
.program-page .pp-lines li{
  padding:15px 0; border-bottom:1px solid var(--pp-line);
  font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(15px,1.35vw,20px);
  line-height:1.24; color:#fff; display:flex; gap:16px; align-items:baseline;
  transition:color .25s ease, padding-left .25s ease;
}
.program-page .pp-lines li:last-child{ border-bottom:0; }
.program-page .pp-lines li::before{
  content:"→"; color:var(--pp-gold); font-family:'Manrope',sans-serif; font-size:15px; flex:none;
}
.program-page .pp-lines li:hover{ color:var(--pp-gold); padding-left:8px; }

/* ---------- 09 СЕРЕДОВИЩЕ ------------------------------------------------ */
.program-page .pp-env{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.program-page .pp-env div{
  border:1px solid var(--pp-line); border-radius:18px; padding:24px 20px;
  background:linear-gradient(168deg, rgba(23,14,56,.6), rgba(9,5,22,.6));
  font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(14px,1.15vw,17px);
  line-height:1.26; color:#fff;
}
.program-page .pp-env div b{
  display:block; font-family:'JetBrains Mono',monospace; font-weight:500; font-size:22px;
  color:var(--pp-gold); margin-bottom:12px; line-height:1;
}

/* ---------- 11 БЕЗПЕКА --------------------------------------------------- */
.program-page .pp-safety{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.program-page .pp-safety__item{
  border:1px solid var(--pp-line); border-radius:26px; padding:clamp(28px,3vw,44px);
  background:linear-gradient(168deg, rgba(30,19,72,.72), rgba(9,5,22,.78));
  display:flex; flex-direction:column; gap:14px;
}
.program-page .pp-safety__item h3{
  font-family:'Unbounded',sans-serif; font-weight:800; font-size:clamp(18px,1.7vw,25px);
  letter-spacing:.02em; text-transform:uppercase; color:#fff; line-height:1.12;
}
.program-page .pp-safety__item p{ font-size:16.5px; color:var(--pp-mute); }
.program-page .pp-safety__item .pp-btn--mini{ align-self:flex-start; margin-top:auto; }
.program-page .pp-loc{
  margin-top:20px; border:1px solid var(--pp-line); border-radius:26px;
  padding:clamp(28px,3vw,44px);
  background:
    radial-gradient(70% 110% at 92% 0%, rgba(109,59,245,.28) 0%, transparent 62%),
    linear-gradient(150deg, rgba(23,14,56,.74), rgba(9,5,22,.8));
}

/* ---------- 12 СТАТИСТИКА ------------------------------------------------ */
.program-page .pp-quality{ display:grid; grid-template-columns:58% 42%; gap:clamp(28px,3.4vw,56px); align-items:center; }
.program-page .pp-stats{ display:grid; gap:16px; }
.program-page .pp-stat{
  border:1px solid var(--pp-line); border-radius:20px; padding:22px 26px;
  background:linear-gradient(120deg, rgba(30,19,72,.7), rgba(9,5,22,.7));
  display:flex; align-items:baseline; gap:18px;
}
.program-page .pp-stat b{
  font-family:'Unbounded',sans-serif; font-weight:800; font-size:clamp(30px,3vw,44px); line-height:1;
  letter-spacing:.01em; white-space:nowrap;
  background:linear-gradient(120deg,#fff,var(--pp-gold));
  -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em;
}
.program-page .pp-stat span{
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--pp-mute);
}

/* ---------- 14 РІЗНІ: СВІТЛА СЕКЦІЯ -------------------------------------- */
.program-page .pp-light{ background:linear-gradient(180deg,#F3F0FF 0%, #EAE3FB 100%); color:#2A1A63; position:relative; z-index:2; }
.program-page .pp-light .pp-mark{ color:#6D3BF5; }
.program-page .pp-light .pp-mark::before{ background:#6D3BF5; }
.program-page .pp-light .pp-head__num{ color:#6D3BF5; border-top-color:rgba(109,59,245,.3); }
.program-page .pp-light .pp-head__num b{ color:#2A1A63; }
.program-page .pp-light .pp-h2{ color:#2A1A63; }
.program-page .pp-light p{ color:#5F529A; }
.program-page .pp-light strong{ color:#2A1A63; }
.program-page .pp-diff{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.program-page .pp-diff div{
  background:#fff; border:1px solid rgba(109,59,245,.12); border-radius:18px; padding:22px 20px;
  font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(14px,1.15vw,17px);
  line-height:1.24; color:#2A1A63; box-shadow:0 8px 24px rgba(42,26,99,.05);
}
.program-page .pp-light__foot{
  margin-top:26px; font-family:'Unbounded',sans-serif; font-weight:600;
  font-size:clamp(16px,1.5vw,23px); line-height:1.3; color:#2A1A63; text-align:center; max-width:none;
}

/* ---------- FINAL CTA ---------------------------------------------------- */
.program-page .pp-final{
  position:relative; overflow:hidden; text-align:center;
  border:1px solid var(--pp-line-str); border-radius:32px;
  background:
    radial-gradient(58% 90% at 50% 106%, rgba(245,197,107,.24) 0%, transparent 62%),
    radial-gradient(80% 110% at 50% -10%, rgba(109,59,245,.42) 0%, transparent 64%),
    linear-gradient(180deg,#150E33 0%, #060310 100%);
  padding:clamp(44px,5.4vw,88px) clamp(24px,4vw,64px);
}
.program-page .pp-final p{ margin-inline:auto; }
.program-page .pp-final .pp-quote{
  border-left:0; border-top:1px solid var(--pp-line-str); padding:22px 0 0; margin:26px auto 0;
  max-width:640px; text-align:center;
}
.program-page .pp-final__actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:32px; }
.program-page .pp-camps{
  margin-top:38px; padding-top:26px; border-top:1px solid var(--pp-line);
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
}
.program-page .pp-camps a{
  font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--pp-lav); white-space:nowrap;
  border:1px solid var(--pp-line); border-radius:999px; padding:11px 18px; background:rgba(109,59,245,.06);
  transition:border-color .25s ease, color .25s ease;
}
.program-page .pp-camps a:hover{ border-color:var(--pp-gold); color:var(--pp-gold); }

/* ---------- REVEAL ------------------------------------------------------- */
.program-page .pp-rv{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.program-page .pp-rv.is-in{ opacity:1; transform:none; }

/* ---------- RESPONSIVE --------------------------------------------------- */
@media (max-width:1280px){
  .program-page .pp-formats{ grid-template-columns:repeat(3,1fr); }
  .program-page .pp-env{ grid-template-columns:repeat(3,1fr); }
  .program-page .pp-diff{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1024px){
  .program-page{ font-size:17.5px; }
  .program-page .pp-hero{ min-height:auto; }
  .program-page .pp-hero__grid,
  .program-page .pp-box__grid,
  .program-page .pp-quality,
  .program-page .pp-steps{ grid-template-columns:1fr; }
  .program-page .pp-hero .pp-photo{ order:2; }
  .program-page .pp-head{ grid-template-columns:1fr; gap:16px; }
  .program-page .pp-head__num{ padding-top:8px; }
  .program-page .pp-head__num b{ display:inline; font-size:20px; margin-right:10px; }
  .program-page .pp-formats{ grid-template-columns:repeat(2,1fr); }
  .program-page .pp-skills{ grid-template-columns:1fr; }
  .program-page .pp-balance{ grid-template-columns:1fr; }
  .program-page .pp-safety{ grid-template-columns:1fr; }
  .program-page .pp-env{ grid-template-columns:repeat(2,1fr); }
  .program-page .pp-diff{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px){
  .program-page{ --pp-sec:56px; font-size:17px; }
  .program-page .pp-shell{ width:min(1200px, 100% - 40px); }
  .program-page .pp-formats{ grid-template-columns:1fr; }
  .program-page .pp-env{ grid-template-columns:1fr; }
  .program-page .pp-diff{ grid-template-columns:1fr; }
  .program-page .pp-steps li{ grid-template-columns:44px 1fr; gap:12px; padding:14px 12px; }
  .program-page .pp-stat{ flex-direction:column; gap:6px; }
  .program-page .pp-hero__cta .pp-btn,
  .program-page .pp-final__actions .pp-btn{ width:100%; }
}

/* ---------- REDUCED MOTION ----------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .program-page *,.pp-sky *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .program-page .pp-rv{ opacity:1; transform:none; }
}
