/* =========================================================
   London Excellence — styles.css
   1. Токены и сброс
   2. Типографика и утилиты
   3. Шапка
   4. Обложка курса (hero)
   5. Кнопка-плашка программы
   6. Секции: каркас
   7. О курсе
   8. Программа курса (линия уроков — сигнатурный блок)
   9. Реквизиты
   10. Документы
   11. Подвал
   12. Адаптив
   ========================================================= */

/* ---------- 1. Токены и сброс ---------- */
/* Палитра взята из логотипа: красный #F70102 / #A13028, синий #244089, текст #383737 */
:root{
  --red:#a13028;        /* тёмно-красный — основной акцент */
  --red-d:#7d211b;      /* глубокий красный — фоновые плашки */
  --red-br:#f70102;     /* фирменный яркий красный — точечно */
  --blue:#244089;       /* синий из логотипа */
  --blue-d:#1a2f66;     /* тёмный синий — подвал */
  --blue-l:#3d5aa8;
  --ink:#383737;        /* текст, как в логотипе */
  --ink-d:#231f1f;
  --muted:#6f6a6a;
  --line:#e4e0df;
  --paper:#ffffff;
  --paper-soft:#faf8f8;
  --blush:#f7eceb;      /* светлый красноватый — выделение */
  --maxw:940px;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

/* ---------- 2. Типографика и утилиты ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono)}
.eyebrow{
  font-family:var(--sans);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--red);
}

/* ---------- 3. Шапка ---------- */
.site-head{
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(8px);
  position:sticky;top:0;z-index:20;
}
.site-head .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:84px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-logo{height:46px;width:auto}
.brand-mark{
  font-family:var(--serif);
  font-size:1.4rem;font-weight:600;color:var(--blue);
  letter-spacing:.01em;
}
.brand-mark .amp{color:var(--red)}
.head-link{
  font-size:.82rem;font-weight:600;color:var(--blue);
  text-decoration:none;border-bottom:1.5px solid var(--red);
  padding-bottom:2px;transition:color .15s;
}
.head-link:hover{color:var(--red)}

/* ---------- 4. Обложка курса ---------- */
.cover{padding:64px 0 44px;border-bottom:1px solid var(--line)}
.cover .eyebrow{display:block;margin-bottom:20px;max-width:64ch;line-height:1.5}
.cover h1{
  font-family:var(--serif);
  font-size:clamp(2.6rem,6vw,4.4rem);
  font-weight:600;line-height:1.02;letter-spacing:-.015em;
  color:var(--blue);margin-bottom:14px;
}
.cover .sub{
  font-family:var(--serif);
  font-size:clamp(1.15rem,2.4vw,1.6rem);
  font-style:italic;color:var(--muted);
  line-height:1.35;max-width:48ch;margin-bottom:38px;
}
.facts{
  display:grid;grid-template-columns:repeat(3,auto);
  gap:0;border-top:1px solid var(--line);
  justify-content:start;
}
.fact{padding:20px 44px 0 0}
.fact .k{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin-bottom:5px;
}
.fact .v{font-size:1.02rem;font-weight:600;color:var(--blue)}

/* ---------- 5. Кнопка-плашка программы ---------- */
.prog-band{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:var(--red-d);color:#fff;
  padding:22px 28px;border-radius:4px;
  text-decoration:none;
  transition:background .2s,transform .12s;
  position:relative;overflow:hidden;
}
.prog-band::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red-br);
}
.prog-band:hover{background:var(--red);transform:translateY(-1px)}
.prog-band .pb-text{display:flex;align-items:center;gap:14px}
.prog-band .pb-ico{
  color:rgba(255,255,255,.85);flex-shrink:0;
}
.prog-band .pb-label{font-weight:600;font-size:1rem;letter-spacing:.01em}
.prog-band .pb-hint{
  font-size:.74rem;color:rgba(255,255,255,.6);letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;
}

/* ---------- 6. Секции: каркас ---------- */
.section{padding:64px 0}
.section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}
.section-num{
  font-family:var(--mono);font-size:.86rem;font-weight:500;
  color:var(--red);letter-spacing:.06em;
}
.section-head h2{
  font-family:var(--serif);
  font-size:clamp(1.8rem,3.6vw,2.5rem);
  font-weight:600;color:var(--blue);letter-spacing:-.01em;line-height:1.1;
}

/* ---------- 7. О курсе ---------- */
.about-text{
  font-size:1.04rem;color:#4a4646;max-width:68ch;line-height:1.75;
}
.about-text .term{
  font-style:italic;color:var(--blue);font-weight:500;
}

/* ---------- 8. Программа курса (сигнатурный блок) ---------- */
.prog-lead{font-size:.95rem;color:var(--muted);margin-bottom:30px}
.spine{position:relative;padding-left:0}
/* непрерывная вертикальная нить курса */
.spine::before{
  content:"";
  position:absolute;left:19px;top:26px;bottom:34px;
  width:1px;background:var(--line);
}
.lesson{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:0 22px;
  position:relative;
}
.lesson-num{
  font-family:var(--mono);font-size:.8rem;font-weight:500;
  color:var(--red);
  position:relative;z-index:1;
  padding:18px 0;
  display:flex;align-items:center;justify-content:flex-start;
}
.lesson-num span{
  background:var(--paper);
  padding:5px 0;
  display:block;
  width:38px;
}
.lesson-body{
  padding:18px 0;
  border-bottom:1px solid var(--line);
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  transition:padding-left .18s;
}
.lesson:hover .lesson-body{padding-left:6px}
.lesson-en{
  font-family:var(--serif);
  font-size:1.24rem;font-weight:600;color:var(--blue);
  letter-spacing:.005em;
}

/* итоговое тестирование */
.final{
  display:grid;grid-template-columns:56px 1fr;gap:0 22px;
  margin-top:0;
}
.final-mark{
  padding:20px 0;color:var(--red);
  display:flex;align-items:center;
}
.final-body{
  padding:20px 22px;margin-left:-22px;
  background:var(--blush);
  border-radius:3px;
  font-weight:600;color:var(--blue);
  display:flex;align-items:center;
}
.prog-cta{margin-top:34px}

/* ---------- 9. Реквизиты ---------- */
.lic{background:var(--blue);color:#fff;padding:60px 0}
.lic h2{
  font-family:var(--sans);
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.72);font-weight:600;margin-bottom:26px;
  padding-left:12px;border-left:3px solid var(--red-br);
}
.lic-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:22px 48px;margin-bottom:34px;
}
.lic-row .k{
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.5);font-weight:600;margin-bottom:4px;
}
.lic-row .v{font-size:1rem;color:#fff;font-weight:500}
.lic-row .v.mono{font-family:var(--mono);letter-spacing:.02em}
.lic-row .v a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.lic-row .v a:hover{border-bottom-color:#fff}
.lic .prog-band{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.3);
}
.lic .prog-band:hover{background:rgba(255,255,255,.11)}

/* ---------- 10. Документы ---------- */
.docs{background:var(--blue-d);color:#fff;padding:54px 0 44px}
.docs h2{
  font-family:var(--sans);
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.72);font-weight:600;margin-bottom:22px;
  padding-left:12px;border-left:3px solid var(--red-br);
}
.doc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none}
.doc-list li{border-bottom:1px solid rgba(255,255,255,.1)}
.doc-list a{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:15px 0;color:rgba(255,255,255,.86);text-decoration:none;
  font-size:.95rem;transition:color .15s,padding-left .18s;
}
.doc-list a:hover{color:#fff;padding-left:5px}
.doc-list .arw{color:rgba(255,255,255,.5);flex-shrink:0}
.doc-list a:hover .arw{color:#fff}

/* ---------- 11. Подвал ---------- */
.site-foot{
  background:var(--blue-d);color:rgba(255,255,255,.45);
  padding:24px 0 34px;font-size:.8rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.site-foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* ---------- 12. Адаптив ---------- */
@media(max-width:760px){
  .site-head .wrap{height:66px}
  .brand-logo{height:34px}
    .cover{padding:44px 0 34px}
  .facts{grid-template-columns:1fr;gap:0}
  .fact{padding:16px 0 0}
  .fact + .fact{border-top:1px solid var(--line)}
  .fact{padding-bottom:14px}
  .section{padding:48px 0}
  .lic-grid,.doc-list{grid-template-columns:1fr}
  .lic-grid{gap:18px}
  .prog-band{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px}
  .prog-band .pb-hint{white-space:normal}
  .lesson,.final{grid-template-columns:40px 1fr;gap:0 14px}
  .spine::before{left:13px}
  .lesson-num span{width:26px}
  .final-body{margin-left:-14px;padding:16px 14px}
  .lesson-body{padding:15px 0}
  .lesson-en{font-size:1.1rem}
}

/* ---------- Доступность ---------- */
a:focus-visible,.prog-band:focus-visible{
  outline:2px solid var(--red);outline-offset:3px;border-radius:2px;
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
