/* /olymp_english — программы по английскому; основа — стиль «Олимпологии» (olimp-v2.css) */
.en-hero{padding:28px 0 8px;background:linear-gradient(180deg,var(--paper) 0%,var(--bg) 100%)}
.en-h1{margin:8px 0 0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.02em;text-wrap:balance}
.en-h1 b{color:var(--accent)}
.en-sub{margin:12px 0 0;font-size:16px;line-height:1.45;color:var(--muted);font-weight:600}
.en-stats{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.en-stats li{padding:12px;border-radius:16px;background:var(--card);border:1px solid var(--card-line)}
.en-stats b{display:block;font-size:22px;line-height:1.1;color:var(--accent)}
.en-stats span{display:block;margin-top:4px;font-size:12.5px;line-height:1.3;color:var(--muted);font-weight:600}
.en-sec{padding:36px 0}
.en-progs{display:grid;gap:12px;margin-top:18px}
.en-prog{display:flex;flex-direction:column;padding:20px;border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
.en-main{background:var(--primary-soft);border-color:transparent}
.en-k{margin:0;font-size:13px;font-weight:800;color:var(--accent-small);letter-spacing:.01em}
.en-prog h3{margin:6px 0 0;font-size:28px;line-height:1.1;font-weight:800;font-style:italic}
.en-d{margin:8px 0 0;font-size:16px;line-height:1.45;color:var(--fg);font-weight:600}
.en-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}
.en-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4;color:var(--muted)}
.en-list i{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;margin-top:-1px}
.en-list svg{width:13px;height:13px}
.en-foot{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:14px}
.en-price{margin:0;font-size:15px;color:var(--muted);font-weight:600}
.en-price b{font-size:26px;color:var(--fg)}
.en-price small{display:block;margin-top:2px;font-size:13px}
.en-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.en-btns .ov-btn:only-child{grid-column:1/-1}
.en-frees{display:grid;gap:10px;margin-top:18px}
.en-free{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 54px 18px 18px;border-radius:20px;background:var(--card);border:1px solid var(--card-line);color:var(--fg);text-decoration:none;transition:border-color .2s,transform .2s}
.en-free b{font-size:17px;line-height:1.25}
.en-free span{font-size:14.5px;line-height:1.4;color:var(--muted)}
.en-free i{position:absolute;right:16px;top:50%;width:30px;height:30px;margin-top:-15px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--accent-small)}
.en-free i svg{width:16px;height:16px}
@media (hover:hover){.en-free:hover{border-color:var(--primary);transform:translateY(-2px)}}
.en-socs{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.en-socs p{margin:0;font-size:14px;font-weight:700;color:var(--muted)}
.en-socs>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.en-soc{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:var(--card);border:1px solid var(--card-line);color:var(--fg);text-decoration:none;font-weight:800;font-size:15px}
.en-soc i{flex:none;display:grid;place-items:center;width:28px;height:28px}
.en-soc i svg,.en-soc i img{width:28px;height:28px;border-radius:8px;display:block}
.en-soc .ov-vk{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#0077FF;margin:0}
.en-soc .ov-vk svg{width:20px;height:20px}
@media (min-width:1000px){
  .en-hero{padding:56px 0 18px}
  .en-h1{font-size:48px;max-width:980px}
  .en-sub{font-size:20px;margin-top:16px}
  .en-stats{margin-top:32px;max-width:900px;gap:12px}
  .en-stats li{padding:16px 18px;border-radius:20px}
  .en-stats b{font-size:30px}
  .en-stats span{font-size:14px}
  .en-sec{padding:56px 0}
  .en-progs{grid-template-columns:1.15fr 1fr;gap:20px;margin-top:28px}
  .en-prog{padding:32px 34px;border-radius:30px}
  .en-prog h3{font-size:40px}
  .en-d{font-size:18px}
  .en-list li{font-size:16px}
  .en-price b{font-size:32px}
  .en-btns{display:flex;gap:12px}
  .en-btns .ov-btn{min-width:180px}
  .en-frees{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
  .en-free{padding:22px 22px 60px;min-height:190px}
  .en-free i{top:auto;bottom:18px;left:22px;right:auto;margin:0}
  .en-socs{flex-direction:row;align-items:center;justify-content:space-between;margin-top:32px}
  .en-socs>div{display:flex}
}
@media (max-width:999px){.en-stats span{font-size:11.5px;hyphens:auto}.en-stats li{padding:10px}}
/* обложки карточек программ */
.en-prog{padding:0;overflow:hidden}
.en-prog>:not(.en-cover){margin-left:20px;margin-right:20px}
.en-prog>.en-k{margin-top:18px}
.en-prog>.en-foot{padding-bottom:20px}
.en-cover{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0b2236}
.en-cover-ol{background:linear-gradient(135deg,#0aa3e6 0%,#0077b6 100%)}
.en-msu{position:absolute;left:-4%;bottom:-6%;width:62%;opacity:.28;filter:grayscale(1) brightness(1.6);mix-blend-mode:screen}
.en-circle{position:absolute;right:8%;bottom:-38%;width:52%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.18)}
.en-person{position:absolute;right:12%;bottom:-48%;height:150%;width:auto;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.en-cover-sys img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.en-cover-sys::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55))}
.en-play{position:absolute;left:50%;top:50%;z-index:1;width:56px;height:56px;margin:-28px 0 0 -28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#0098db;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.en-play svg{width:24px;height:24px;margin-left:3px}
.en-chip{position:absolute;left:14px;bottom:12px;z-index:1;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.92);color:#13202b;font-size:13px;font-weight:800}
@media (min-width:1000px){
  .en-prog>:not(.en-cover){margin-left:32px;margin-right:32px}
  .en-prog>.en-k{margin-top:24px}
  .en-prog>.en-foot{padding-bottom:30px}
  .en-progs{grid-template-columns:1fr 1fr}
  .en-play{width:68px;height:68px;margin:-34px 0 0 -34px}
  .en-chip{left:20px;bottom:18px;font-size:14px}
}
.en-stats{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:1000px){.en-stats{max-width:620px}}

/* ---------- первый экран: оффер + ближайшие олимпиады ---------- */
.en-hero-grid{display:grid;gap:22px}
.en-hero-btns{margin-top:20px}
.en-cal{padding:18px;border-radius:24px;background:var(--bg);border:1px solid var(--card-line);box-shadow:var(--shadow-soft)}
.en-cal-h{margin:0 0 10px;font-size:19px;line-height:1.2;font-weight:800}
.en-cal-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.en-cal-row{display:grid;grid-template-columns:52px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:8px 8px 8px 0;border-radius:14px;color:var(--fg);text-decoration:none;transition:background .15s}
.en-cal-d{display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;border-radius:12px;background:var(--primary-soft);color:var(--accent-small);font-size:12px;font-weight:800;line-height:1}
.en-cal-d b{font-size:19px;margin-bottom:3px;color:var(--fg);white-space:nowrap}
.en-cal-row.on .en-cal-d{background:var(--primary);color:#fff}
.en-cal-row.on .en-cal-d b{color:#fff}
.en-cal-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.en-cal-t>b{font-size:15.5px;line-height:1.25}
.en-cal-t>span{font-size:13.5px;line-height:1.35;color:var(--muted);font-weight:600}
.en-cal-t em{font-style:normal;color:var(--accent-small);font-weight:800}
.en-cal-row i{color:var(--muted);opacity:.6}
.en-cal-row i svg{width:18px;height:18px;display:block}
@media (hover:hover){.en-cal-row:hover{background:var(--card)}.en-cal-row:hover i{color:var(--accent-small);opacity:1}}
.en-cal-all{margin-top:12px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:0;border-radius:14px;background:var(--primary-soft);color:var(--accent-small);font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.en-cal-all svg{width:18px;height:18px;flex:none}
.en-cal-note{margin:10px 0 0;font-size:12px;line-height:1.4;color:var(--muted)}
.en-cal-dlg{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);height:fit-content;padding:0;border:0;border-radius:24px;background:var(--bg);color:var(--fg);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.en-cal-dlg::backdrop{background:rgba(10,20,30,.55)}
.en-cal-dlg-in{padding:20px 20px 24px}
.en-cal-dlg-top{position:sticky;top:-20px;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-20px -20px 8px;padding:20px 20px 12px;background:var(--bg)}
.en-cal-dlg-top h2{margin:0;font-size:20px;line-height:1.2;font-weight:800;text-wrap:balance}
.en-cal-x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:var(--card);color:var(--fg);font-size:24px;line-height:1;cursor:pointer}
.en-cal-o{padding:14px 0;border-top:1px solid var(--line)}
.en-cal-o h3{margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:17px;line-height:1.25}
.en-cal-o h3 a{display:inline-flex;align-items:center;gap:4px;color:var(--fg);text-decoration:none}
.en-cal-o h3 a svg{width:16px;height:16px;color:var(--accent-small)}
.en-cal-o h3 small{font-size:13px;font-weight:600;color:var(--muted)}
.en-cal-o ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.en-cal-o li{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.4;color:var(--muted)}
.en-cal-o li b{flex:none;color:var(--fg);font-weight:700;text-align:right}
.en-cal-o li.past{opacity:.45}
@media (min-width:1000px){
  .en-hero{padding:48px 0 24px}
  .en-hero-grid{grid-template-columns:minmax(0,1fr) 440px;gap:48px;align-items:center}
  .en-h1{font-size:52px}
  .en-hero-btns{margin-top:28px}
  .en-hero-btns .ov-btn{font-size:16px;padding:18px 28px}
  .en-cal{padding:24px;border-radius:28px}
  .en-cal-h{font-size:22px;margin-bottom:12px}
  .en-cal-dlg-in{padding:28px 32px 32px}
  .en-cal-dlg-top{top:-28px;margin:-28px -32px 8px;padding:28px 32px 14px}
  .en-cal-dlg-top h2{font-size:24px}
}

/* ---------- обложки программ: фото на фирменном круге, как в первом экране «Олимпологии» ---------- */
.en-cover-ol{background:linear-gradient(180deg,var(--paper) 0%,var(--primary-soft) 100%)}
.en-cover-sys::after{content:none}
.en-photo{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,#000 84%,transparent);mask-image:linear-gradient(180deg,#000 84%,transparent)}
.en-cover .en-circle{position:absolute;left:50%;top:26%;width:min(62%,96cqh,330px);right:auto;bottom:auto;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:var(--primary);opacity:.9}
.en-cover{container-type:size}
.en-cover .en-person{position:absolute;left:50%;transform:translateX(-50%);-webkit-mask-image:none;mask-image:none;right:auto}
.en-cover-ol .en-person{top:3%;bottom:auto;height:110%;width:auto}
.en-cover-sys .en-person{top:6%;bottom:auto;height:118%;width:auto}
.en-cover-sys .en-circle{top:20%}
.en-cal-d b small{font-size:12px;margin-right:2px;vertical-align:2px;opacity:.8}
.en-hero-grid{grid-template-columns:minmax(0,1fr)}
@media (max-width:999px){
  .en-h1{font-size:clamp(25px,7.2vw,40px)}
  .en-hero-btns{grid-template-columns:1fr}
}
@media (min-width:1000px){.en-hero-grid{grid-template-columns:minmax(0,1fr) 440px}}
/* обложки: одинаковый голубой фон в обеих темах, заметно отличается от карточки */
.en-main{background:var(--card);border-color:var(--card-line)}
.en-cover-ol,.en-cover-sys{background:linear-gradient(160deg,#e4f4fc 0%,#bfe2f5 100%)}
html.dark .en-cover-ol,html.dark .en-cover-sys{background:linear-gradient(160deg,#183d52 0%,#0d2535 100%)}
.en-photo{-webkit-mask-image:none;mask-image:none}
.en-cover .en-circle{opacity:1}
