:root{
  --bg:#ffedbd;
  --bg2:#ffe39a;
  --orange:#f29b16;
  --orange2:#ffab18;
  --text:#151515;
  --muted:#5d5548;
  --white:#fffdf8;
  --border:rgba(80,54,11,.12);
  --shadow:0 18px 45px rgba(133,83,0,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Manrope",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.45}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.container{width:min(1180px,calc(100% - 64px));margin:0 auto}
.header{position:absolute;z-index:20;left:0;right:0;top:0;padding:26px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo-pill,.tag-row span,.level,.eyebrow,.chips span{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:999px}
.logo-pill{padding:10px 16px;font-size:12px;font-weight:700;white-space:nowrap}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:7px}
.nav-links{display:flex;gap:34px;font-size:12px;font-weight:700}
.nav-links a{transition:.2s}.nav-links a:hover{color:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;border-radius:999px;padding:14px 24px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-orange{color:#fff;background:var(--orange);box-shadow:0 9px 20px rgba(242,155,22,.24)}
.btn-white{background:#fff;color:var(--text);box-shadow:0 7px 20px rgba(70,48,12,.07)}
.nav-cta{padding:12px 21px}
.burger{display:none;border:0;background:transparent;padding:5px}.burger span{display:block;width:25px;height:2px;background:#171717;margin:5px;border-radius:2px}

.hero{position:relative;overflow:hidden;min-height:720px;padding:142px 0 76px;background:linear-gradient(125deg,#fff2c9 0%,#ffedbe 48%,#ffe19a 100%)}
.hero:after{content:"";position:absolute;right:-120px;top:-100px;width:480px;height:650px;background:rgba(255,255,255,.30);transform:skewX(-26deg);border-radius:80px;pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:80px}
.hero-copy{padding-top:5px}
.hero h1{font-size:72px;line-height:.9;letter-spacing:-3.7px;margin:0 0 26px;font-weight:800}
.hero h1 span,.certificate h2 span,.contact h2 span{color:#ef9410}
.lead{font-size:16px;max-width:650px;color:#4f493f;margin:0 0 28px}
.actions{display:flex;gap:12px;margin-bottom:32px}
.benefits{display:grid;grid-template-columns:1fr 1.25fr;gap:18px 26px;max-width:650px}
.benefit{display:flex;gap:12px;align-items:center;font-size:12px;line-height:1.3}
.icon{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border-radius:8px;background:#ffe5a8;color:var(--orange);font-size:17px;font-weight:800}
.hero-card-wrap{display:flex;justify-content:flex-end}
.hero-card{width:min(100%,480px);padding:30px;background:linear-gradient(145deg,#ffd76f,#ffd060);border:1px solid rgba(255,255,255,.45);border-radius:30px;box-shadow:0 24px 55px rgba(126,80,0,.13)}
.tag-row{display:flex;gap:9px;flex-wrap:wrap}.tag-row span{padding:8px 12px;font-size:11px;font-weight:800}
.hero-card h2{font-size:47px;line-height:.9;letter-spacing:-2px;margin:20px 0 20px}
.level{display:inline-block;padding:8px 12px;font-size:11px;font-weight:700;margin-bottom:12px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stats>div{min-height:72px;background:rgba(255,255,255,.83);border-radius:15px;padding:13px}.stats strong{display:block;font-size:14px}.stats small{font-size:11px;color:#5c554b}

.section{padding:74px 0}
.audience{background:linear-gradient(180deg,#ffdf8e,#ffe5a8)}
.section h2{font-size:44px;line-height:1;letter-spacing:-2.2px;margin:0 0 26px}
.audience-grid{display:grid;grid-template-columns:1.05fr 1.05fr 1.05fr;grid-auto-rows:145px;gap:12px}
.audience-card{position:relative;background:#fffefa;border:1px solid rgba(115,83,24,.09);border-radius:17px;padding:17px 17px 18px;display:flex;align-items:flex-end;box-shadow:0 6px 20px rgba(92,59,4,.05)}
.audience-card span{position:absolute;top:12px;left:12px;background:#fff1c8;color:#c58a22;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:800}
.audience-card b{font-size:14px}.audience-card.wide{grid-column:span 2}.audience-card.tall{grid-row:span 2}

/* ===== Блок «Чем занимается кредитный брокер» ===== */
.broker-work{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffdc88 0%,#ffdf91 100%);
}
.broker-work:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,rgba(255,255,255,.08),transparent 42%,rgba(255,255,255,.06));
  pointer-events:none;
}
.broker-work-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:440px 1fr;
  gap:72px;
  align-items:center;
}
.broker-work-copy .eyebrow{
  margin-bottom:22px;
}
.broker-work-copy h2{
  font-size:60px;
  line-height:.91;
  letter-spacing:-3px;
  margin:0 0 26px;
}
.broker-work-copy p{
  max-width:390px;
  margin:0;
  color:#6b604d;
  font-size:16px;
  line-height:1.65;
}
.broker-work-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.broker-work-card{
  min-height:112px;
  padding:22px;
  border-radius:17px;
  background:rgba(255,250,235,.86);
  border:1px solid rgba(115,83,24,.08);
  box-shadow:0 8px 24px rgba(92,59,4,.05);
  display:flex;
  align-items:center;
  gap:18px;
}
.broker-work-card span{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#fff0c8;
  color:#c58a22;
  font-size:13px;
  font-weight:800;
}
.broker-work-card b{
  font-size:17px;
  line-height:1.25;
}
.broker-work-card-wide{
  grid-column:1 / -1;
}


/* ===== Блок «Программа курса» ===== */
.course-program{
  background:#ffe39a;
  padding-top:48px;
  padding-bottom:58px;
}
.course-program-wrap{max-width:1100px}
.course-program-title{
  font-size:25px;
  line-height:1.25;
  color:#625848;
  margin-bottom:48px;
}

.program-toggle{
  width:100%;
  min-height:86px;
  border:0;
  background:#ffe39a;
  padding:0;
  display:grid;
  grid-template-columns:44px 1fr 38px;
  align-items:center;
  gap:0;
  text-align:left;
  cursor:pointer;
  color:#241f19;
  font:inherit;
}
.program-number{
  color:#c97d19;
  font-size:20px;
  font-weight:700;
  letter-spacing:-.5px;
}
.program-name{
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  padding-right:20px;
}
.program-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fffdf8;
  color:#d58b22;
  display:grid;
  place-items:center;
  justify-self:end;
  font-size:23px;
  line-height:1;
  font-weight:500;
  transition:transform .25s ease,background .25s ease;
}
.program-content{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
  overflow:hidden;
}
.program-content p{
  min-height:0;
  overflow:hidden;
  margin:0;
  padding:0 72px 0 44px;
  color:#6b604d;
  font-size:17px;
  line-height:1.55;
  opacity:0;
  transition:padding .3s ease,opacity .2s ease;
}
.program-item.is-open .program-content{
  grid-template-rows:1fr;
}
.program-item.is-open .program-content p{
  padding-bottom:30px;
  opacity:1;
}
.program-item.is-open .program-icon{font-size:24px}
.program-toggle:hover{background:#ffdc8b}
.program-toggle:hover .program-icon{transform:scale(1.06)}

.prices{background:#ffe09a;padding-top:12px}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.price-card{background:#fffefa;border-radius:17px;padding:24px 20px 18px;min-height:335px;display:flex;flex-direction:column;border:1px solid rgba(120,80,10,.07)}
.price-card.featured{background:linear-gradient(180deg,#ffdb77,#ffcf58);border-left:5px solid #ed9812;padding-left:15px}
.price-card small{font-size:9px;color:#9a6e19;font-weight:800;min-height:16px}
.price-card h3{font-size:15px;line-height:1.1;margin:12px 0 20px}.price-card p{font-size:10px;color:#746b5d;margin:0 0 8px}
.price-card>strong{font-size:27px;letter-spacing:-1px;margin-bottom:8px}
.price-card ul{padding-left:18px;margin:0 0 18px;font-size:10px;color:#655e53;line-height:1.8;flex:1}
.price-card .btn{padding:11px 14px;font-size:11px}

/* ===== Блок «Оплата Долями» ===== */
.installment{
  background:#ffedbb;
  padding-top:56px;
  padding-bottom:56px;
}
.installment-card{
  background:#fffefa;
  border:1px solid rgba(115,83,24,.08);
  border-radius:30px;
  padding:42px 44px;
  box-shadow:var(--shadow);
}
.installment-eyebrow{
  padding:8px 14px;
  margin-bottom:22px;
  background:#fff0dc;
  border:1px solid rgba(224,150,42,.18);
  color:#b66f16;
  font-size:12px;
}
.installment h2{
  font-size:58px;
  line-height:.98;
  letter-spacing:-3px;
  margin:0 0 24px;
}
.installment p{
  max-width:920px;
  color:#625949;
  font-size:18px;
  line-height:1.45;
  margin:0 0 34px;
}
.installment-btn{
  min-width:205px;
}

/* ===== Блок «Что вы получите после программы» ===== */
.after-program{
  background:#fff1cf;
  padding-top:72px;
  padding-bottom:72px;
}
.after-program-wrap{
  max-width:1180px;
}
.after-program-eyebrow{
  padding:8px 14px;
  margin-bottom:20px;
  background:#ffe5ae;
  border-color:rgba(224,150,42,.18);
  color:#b66f16;
  font-size:11px;
}
.after-program h2{
  font-size:58px;
  line-height:.96;
  letter-spacing:-3px;
  margin:0 0 42px;
}
.outcomes-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px 80px;
  background:#fffefa;
  border:1px solid rgba(115,83,24,.08);
  border-radius:28px;
  padding:34px 38px;
  box-shadow:var(--shadow);
}
.outcomes-column{
  display:grid;
  gap:18px;
  align-content:start;
}
.outcome-item{
  display:flex;
  align-items:flex-start;
  gap:17px;
  min-height:28px;
}
.outcome-item span{
  flex:0 0 11px;
  width:11px;
  height:11px;
  margin-top:7px;
  border-radius:50%;
  background:#f6dcc7;
}
.outcome-item p{
  margin:0;
  color:#29251f;
  font-size:15px;
  line-height:1.35;
}

.certificate{position:relative;overflow:hidden;background:#ffedbb}
.certificate:after{content:"";position:absolute;right:-100px;top:0;width:550px;height:100%;background:#ffdc81;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);opacity:.7}
.certificate-glow{position:absolute;width:520px;height:520px;right:80px;top:40px;border-radius:50%;background:rgba(255,190,45,.18);filter:blur(35px)}
.cert-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.eyebrow{display:inline-block;padding:8px 12px;font-size:10px;font-weight:800;margin-bottom:12px}
.certificate h2{font-size:48px;line-height:.96;letter-spacing:-2.5px;margin-bottom:20px}
.certificate p{font-size:13px;color:#625949;max-width:600px}
.certificate-card{background:#fff9e9;border-radius:24px;padding:32px;box-shadow:var(--shadow);min-height:180px}
.certificate-card small{color:#bb8321;font-size:11px;font-weight:800}.certificate-card h3{font-size:25px;line-height:1.05;letter-spacing:-1px;margin:15px 0 0}

.mentor{background:#ffedbb;padding-top:35px;padding-bottom:75px}
.mentor h2{font-size:48px;margin:0 0 12px}
.mentor p{font-size:13px;max-width:680px;color:#625949;margin:7px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chips span{padding:8px 12px;font-size:10px;background:#fff8e8;color:#716957}

.contact{background:#ffe2a0}
.contact-box{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;background:#fff4d4;border-radius:28px;padding:42px}
.contact h2{font-size:42px;line-height:1;letter-spacing:-2px;margin-bottom:15px}.contact p{color:#6b6252;font-size:13px}
#leadForm{display:grid;gap:10px}.contact input{border:1px solid rgba(80,55,10,.12);background:#fffdf7;border-radius:13px;padding:14px 16px;outline:none}.contact input:focus{border-color:#f1a01c}.contact form small{font-size:9px;color:#8a7d69}

.footer{padding:28px 0;background:#ffda87;font-size:11px;color:#685d49}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.footer-copy{max-width:900px}
.requisites{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:12px;line-height:1.5}
.requisites strong{width:100%;color:#4d4435}
.requisites span{display:inline-block}
.footer-top{font-weight:800;white-space:nowrap;padding-top:2px}
@media (max-width:700px){
  .footer-inner{flex-direction:column;gap:14px}
  .footer-copy{width:100%}
  .requisites{display:block;margin-top:10px}
  .requisites strong,.requisites span{display:block;margin-bottom:4px}
  .footer-top{padding-top:0}
}

.mobile-only{display:none}
@media(max-width:1000px){
  .nav-links{display:none}.burger{display:block}.nav-cta{display:none}
  .hero-grid{grid-template-columns:1fr;gap:45px}.hero{padding-top:125px}.hero-card-wrap{justify-content:flex-start}
  .hero-card{max-width:620px}.price-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .container{width:min(100% - 32px,1180px)}
  .header{padding:16px 0}.logo-pill{font-size:10px;padding:8px 11px}
  .hero{min-height:auto;padding:105px 0 55px}.hero h1{font-size:48px;letter-spacing:-2.5px}.lead{font-size:13px}
  .actions{flex-wrap:wrap}.benefits{grid-template-columns:1fr;gap:12px}
  .hero-card{padding:21px;border-radius:22px}.hero-card h2{font-size:37px}
  .section{padding:48px 0}.section h2,.certificate h2,.mentor h2{font-size:36px}
  .audience-grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.audience-card.wide{grid-column:span 2}.audience-card.tall{grid-row:span 1}
  .price-grid{grid-template-columns:1fr}.price-card{min-height:300px}
  .cert-grid,.contact-box{grid-template-columns:1fr;gap:25px}.certificate:after{opacity:.35}
  .contact-box{padding:25px}.contact h2{font-size:34px}.footer .container{gap:15px}
}
@media(max-width:440px){
  .hero h1{font-size:43px}.audience-grid{grid-template-columns:1fr}.audience-card.wide{grid-column:auto}
  .stats strong{font-size:13px}.hero-card h2{font-size:34px}
}


/* ===== Mobile / app-like responsive layer ===== */
body{
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}
button,a,input{ -webkit-tap-highlight-color:transparent; }
a,.btn,button{ touch-action:manipulation; }

@media (max-width: 768px){
  .container{width:calc(100% - 28px)}
  .header{
    position:absolute;
    padding:12px 0;
  }
  .nav{gap:10px}
  .logo-pill{
    max-width:calc(100vw - 75px);
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .burger{
    display:flex;
    width:44px;
    height:44px;
    padding:0;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:rgba(255,255,255,.65);
    border:1px solid rgba(255,255,255,.9);
  }
  .burger span{
    width:20px;
    height:2px;
    margin:2.5px 0;
    transition:transform .2s,opacity .2s;
  }
  .nav-links{
    position:absolute;
    left:14px;
    right:14px;
    top:64px;
    display:flex;
    flex-direction:column;
    gap:0;
    padding:8px;
    background:rgba(255,250,232,.97);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(90,60,10,.08);
    border-radius:18px;
    box-shadow:0 16px 40px rgba(75,48,4,.15);
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:.2s ease;
  }
  .nav-links.open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  .nav-links a{
    padding:14px 12px;
    font-size:13px;
    border-radius:12px;
  }
  .nav-links a:active{background:#ffe6a5}
  .nav-cta{display:none}

  .hero{
    min-height:auto;
    padding:94px 0 38px;
  }
  .hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .hero h1{
    font-size:clamp(42px,12vw,58px);
    line-height:.91;
    letter-spacing:-2.8px;
    margin-bottom:18px;
  }
  .lead{
    font-size:14px;
    line-height:1.55;
    margin-bottom:22px;
  }
  .actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:25px;
  }
  .actions .btn{
    width:100%;
    min-height:48px;
    padding:12px 10px;
  }
  .benefits{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .benefit{
    align-items:flex-start;
    font-size:10.5px;
    gap:8px;
  }
  .icon{
    width:27px;
    height:27px;
    flex-basis:27px;
    font-size:14px;
  }

  .hero-card-wrap{justify-content:stretch}
  .hero-card{
    width:100%;
    padding:18px;
    border-radius:22px;
  }
  .tag-row{gap:6px}
  .tag-row span{
    font-size:9px;
    padding:7px 9px;
  }
  .hero-card h2{
    font-size:clamp(34px,10vw,45px);
    line-height:.92;
    margin:16px 0;
  }
  .stats{
    gap:7px;
  }
  .stats>div{
    min-height:67px;
    padding:11px;
  }

  .section{padding:42px 0}
  .section h2{
    font-size:clamp(32px,9vw,42px);
    letter-spacing:-1.8px;
  }

  .audience-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:minmax(120px,auto);
    gap:9px;
  }
  .audience-card{
    min-height:120px;
    border-radius:15px;
    padding:14px;
  }
  .audience-card b{font-size:11.5px}
  .audience-card span{font-size:9px;padding:5px 7px}

  .broker-work-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .broker-work-copy h2{
    font-size:clamp(38px,11vw,54px);
    letter-spacing:-2.4px;
  }
  .broker-work-copy p{
    font-size:13px;
    line-height:1.55;
    max-width:620px;
  }
  .broker-work-list{
    gap:9px;
  }
  .broker-work-card{
    min-height:96px;
    padding:16px;
    gap:12px;
    border-radius:15px;
  }
  .broker-work-card span{
    width:36px;
    height:36px;
    font-size:10px;
    border-radius:8px;
  }
  .broker-work-card b{font-size:12px}

  .installment{padding-top:30px;padding-bottom:30px}
  .installment-card{padding:23px 20px;border-radius:20px}
  .installment-eyebrow{margin-bottom:16px;font-size:10px}
  .installment h2{font-size:clamp(34px,9vw,46px);letter-spacing:-1.8px;margin-bottom:17px}
  .installment p{font-size:13px;line-height:1.5;margin-bottom:22px}
  .installment-btn{width:100%;min-height:49px}

  .prices{padding-top:8px}
  .price-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .price-card{
    min-height:0;
    padding:21px 18px 17px;
    border-radius:16px;
  }
  .price-card.featured{padding-left:14px}
  .price-card h3{font-size:16px;margin:10px 0 14px}
  .price-card>strong{font-size:28px}
  .price-card ul{font-size:11px;margin-bottom:16px}
  .price-card .btn{
    width:100%;
    min-height:46px;
  }

  .cert-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .certificate h2{font-size:clamp(34px,9vw,46px)}
  .certificate-card{
    min-height:0;
    padding:23px;
    border-radius:20px;
  }
  .certificate-card h3{font-size:23px}

  .mentor{
    padding-top:22px;
    padding-bottom:48px;
  }
  .mentor h2{font-size:clamp(36px,10vw,48px)}
  .mentor p{font-size:12px}
  .chips{gap:6px}
  .chips span{font-size:9px;padding:7px 9px}

  .contact{padding:34px 0}
  .contact-box{
    grid-template-columns:1fr;
    gap:20px;
    padding:21px;
    border-radius:21px;
  }
  .contact h2{
    font-size:clamp(32px,9vw,42px);
    letter-spacing:-1.7px;
  }
  .contact input{
    min-height:49px;
    font-size:14px;
  }
  #leadForm .btn{
    width:100%;
    min-height:49px;
  }

  .footer{
    padding:19px 0;
  }
  .footer .container{
    flex-direction:column;
    gap:8px;
    font-size:10px;
  }
}


@media (max-width: 900px){
  .course-program{padding-top:42px;padding-bottom:48px}
  .course-program-title{font-size:21px;margin-bottom:34px}
  .program-toggle{min-height:78px}
  .program-name{font-size:18px}
  .program-number{font-size:17px}
  .program-content p{font-size:15px;padding-left:44px;padding-right:50px}
}

@media (max-width: 900px){
  .after-program{padding-top:54px;padding-bottom:54px}
  .after-program h2{font-size:46px;letter-spacing:-2.3px;margin-bottom:30px}
  .outcomes-card{gap:20px 35px;padding:28px 30px;border-radius:23px}
  .outcome-item p{font-size:14px}
}

@media (max-width: 600px){
  .after-program{padding-top:46px;padding-bottom:46px}
  .after-program-eyebrow{font-size:10px;padding:7px 11px;margin-bottom:15px}
  .after-program h2{font-size:clamp(34px,10vw,44px);line-height:.98;letter-spacing:-1.9px;margin-bottom:24px}
  .outcomes-card{grid-template-columns:1fr;gap:16px;padding:22px 18px;border-radius:19px}
  .outcomes-column{gap:14px}
  .outcome-item{gap:12px}
  .outcome-item span{flex-basis:9px;width:9px;height:9px;margin-top:6px}
  .outcome-item p{font-size:12.5px;line-height:1.4}
}

@media (max-width: 430px){
  .container{width:calc(100% - 22px)}
  .hero{padding-top:88px}
  .hero h1{
    font-size:43px;
    letter-spacing:-2.2px;
  }
  .actions{
    grid-template-columns:1fr;
  }
  .benefits{
    grid-template-columns:1fr;
  }
  .benefit{
    max-width:320px;
  }
  .audience-grid{
    grid-template-columns:1fr;
  }
  .course-program{padding-top:34px;padding-bottom:40px}
  .course-program-title{font-size:18px;margin-bottom:24px}
  .program-toggle{min-height:70px;grid-template-columns:36px 1fr 34px}
  .program-number{font-size:14px}
  .program-name{font-size:15px;padding-right:10px}
  .program-icon{width:30px;height:30px;font-size:20px}
  .program-content p{font-size:13px;padding-left:36px;padding-right:34px}
  .program-item.is-open .program-content p{padding-bottom:22px}
  .broker-work-list{
    grid-template-columns:1fr;
  }
  .broker-work-card-wide{
    grid-column:auto;
  }
  .audience-card,
  .audience-card.wide,
  .audience-card.tall{
    grid-column:auto;
    grid-row:auto;
    min-height:105px;
  }
  .audience-card b{font-size:12px}
  .hero-card{
    padding:15px;
  }
  .stats>div{
    min-height:62px;
  }
}

@media (max-width: 360px){
  .hero h1{font-size:39px}
  .tag-row span{font-size:8px}
  .stats strong{font-size:12px}
  .stats small{font-size:9px}
}

/* Avoid hover-only UI on touch devices */
@media (hover:none){
  .btn:hover{transform:none}
}

/* Logo in header */
.brand{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 12px 4px 5px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.9);
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.brand-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  display:block;
  border-radius:50%;
}
@media (max-width:700px){
  .brand{
    max-width:calc(100vw - 70px);
    font-size:10px;
    padding:3px 9px 3px 4px;
  }
  .brand-logo{width:38px;height:38px;flex:0 0 38px}
  .brand span{overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:360px){
  .brand{width:44px;height:44px;padding:3px;justify-content:center}
  .brand span{display:none}
  .brand-logo{width:38px;height:38px}
}

/* Официальные партнёры */
.partners{
  position:relative;
  overflow:hidden;
  background:#ffda82;
}
.partners:before{
  content:"";
  position:absolute;
  right:-8%;
  top:-8%;
  width:58%;
  height:430px;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(246,170,31,.18));
  clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);
  pointer-events:none;
}
.partners-wrap{position:relative;z-index:1}
.partners-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  min-height:360px;
}
.partners-copy h2{font-size:64px;line-height:.95;letter-spacing:-3px;margin:24px 0 28px}
.partners-copy h2 span{color:#ef8d0e}
.partners-copy p{font-size:18px;color:#6f654f;max-width:560px;margin:0}
.partners-highlight{
  justify-self:end;
  width:min(100%,560px);
  background:#fff8e8;
  border:1px solid rgba(120,80,10,.08);
  border-radius:30px;
  padding:44px 42px;
  box-shadow:0 18px 45px rgba(116,73,0,.12);
}
.partners-highlight small{display:block;color:#cf8c28;font-size:16px;font-weight:800;margin-bottom:25px}
.partners-highlight strong{display:block;font-size:34px;line-height:1.05;letter-spacing:-1.4px}
.partners-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:10px}
.partner-card{
  min-height:300px;
  background:#fffefa;
  border:1px solid rgba(120,80,10,.08);
  border-radius:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 16px 38px rgba(116,73,0,.09);
}
.sovcom-logo,.tbank-logo{display:flex;align-items:center;gap:18px}
.sovcom-logo strong,.tbank-logo strong{font-size:46px;letter-spacing:-2px;line-height:1;color:#203b78}
.sovcom-mark{position:relative;width:58px;height:58px;border-radius:50%;display:block;background:conic-gradient(#1f3c78 0 74%,#c84d4d 74% 88%,transparent 88% 100%)}
.sovcom-mark:after{content:"";position:absolute;inset:12px;background:#fffefa;border-radius:50%}
.sovcom-mark i{position:absolute;width:14px;height:34px;background:#c84d4d;left:22px;top:12px;border-radius:8px;z-index:1;transform:rotate(24deg)}
.tbank-logo strong{color:#262626}
.tbank-mark{width:76px;height:76px;background:#ffd329;color:#111;display:grid;place-items:center;font-size:58px;font-weight:900;line-height:1;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%);font-family:Arial,sans-serif}
@media (max-width: 980px){
  .partners-head{grid-template-columns:1fr;gap:30px;min-height:0}
  .partners-highlight{justify-self:stretch;width:auto}
  .partners-copy h2{font-size:50px}
}
@media (max-width: 680px){
  .partners{padding:48px 0}
  .partners:before{width:90%;height:360px;right:-30%;top:15%}
  .partners-copy h2{font-size:39px;letter-spacing:-1.8px;margin:18px 0 18px}
  .partners-copy p{font-size:14px}
  .partners-highlight{padding:25px 22px;border-radius:22px}
  .partners-highlight small{font-size:12px;margin-bottom:15px}
  .partners-highlight strong{font-size:25px}
  .partners-grid{grid-template-columns:1fr;gap:16px;margin-top:22px}
  .partner-card{min-height:190px;border-radius:22px}
  .sovcom-logo,.tbank-logo{gap:10px}
  .sovcom-logo strong,.tbank-logo strong{font-size:28px;letter-spacing:-1px}
  .sovcom-mark{width:42px;height:42px}
  .sovcom-mark:after{inset:9px}
  .sovcom-mark i{width:10px;height:24px;left:16px;top:9px}
  .tbank-mark{width:54px;height:54px;font-size:40px}
}

/* ===== HARMONY UPDATE ===== */
:root{
  --warm-cream:#fffaf1;
  --warm-cream-2:#fff3df;
  --warm-orange:#ee8b21;
  --warm-orange-dark:#d96f13;
  --warm-brown:#4a3325;
  --warm-line:rgba(217,111,19,.14);
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
 background:
 radial-gradient(700px 420px at 5% 0%,rgba(238,139,33,.075),transparent 65%),
 radial-gradient(620px 420px at 96% 22%,rgba(255,194,102,.08),transparent 66%),
 var(--warm-cream);
 color:var(--warm-brown);
}
section{position:relative;isolation:isolate}
section+section{border-top:0}
section+section:before{
 content:"";position:absolute;top:0;left:7%;right:7%;height:1px;
 background:linear-gradient(90deg,transparent,rgba(217,111,19,.08) 12%,rgba(238,139,33,.24) 50%,rgba(217,111,19,.08) 88%,transparent);
 pointer-events:none;
}
section+section:after{
 content:"";position:absolute;top:-42px;left:15%;right:15%;height:84px;
 background:radial-gradient(ellipse,rgba(238,139,33,.055),transparent 68%);
 pointer-events:none;z-index:-1;
}
.card,.feature,.program-item,.outcome-item,.partner-card,.price-card,.teacher-card{
 border-color:rgba(217,111,19,.11);
 box-shadow:0 16px 44px rgba(74,51,37,.075);
 transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),border-color .3s ease;
}
.card:hover,.feature:hover,.program-item:hover,.outcome-item:hover,.partner-card:hover,.price-card:hover,.teacher-card:hover{
 transform:translateY(-3px);
 border-color:rgba(238,139,33,.25);
 box-shadow:0 24px 58px rgba(74,51,37,.12);
}
input:focus,textarea:focus,select:focus{
 outline:none;border-color:rgba(238,139,33,.52);
 box-shadow:0 0 0 4px rgba(238,139,33,.085);
}
.btn,button,.cta{
 transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,background .32s ease,border-color .32s ease;
}
.btn:hover,button:hover,.cta:hover{transform:translateY(-2px)}
nav a{transition:color .25s ease,transform .25s ease}
nav a:hover{color:var(--warm-orange-dark);transform:translateY(-1px)}
footer{position:relative}
footer:before{
 content:"";position:absolute;left:0;right:0;top:-60px;height:60px;
 background:linear-gradient(to bottom,transparent,rgba(238,139,33,.04));
 pointer-events:none;
}
.harmony-reveal{
 opacity:0;transform:translate3d(0,16px,0);
 transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);
}
.harmony-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .harmony-reveal{opacity:1;transform:none;transition:none}
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
@media(max-width:760px){
 section+section:before{left:5%;right:5%}
 section+section:after{left:5%;right:5%;top:-28px;height:56px}
 .card,.feature,.program-item,.outcome-item,.partner-card,.price-card,.teacher-card{box-shadow:0 10px 28px rgba(74,51,37,.065)}
}


/* No shadows in Program section */
#program,
#program * {
  box-shadow: none !important;
  text-shadow: none !important;
}
