/* Shared base styles for rebuilt /ru/* pages. Self-contained, no framework.
   Font stack mirrors the English pages: Source Serif 4 (serif) + Inter (sans). */

/* Inter — self-hosted. Variable weight axis 400–600. */
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Source Serif 4 — self-hosted. Same woff2 file serves weight 400 and 600 per subset. */
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/source-serif4-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/source-serif4-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/source-serif4-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --serif:'Source Serif 4',Georgia,serif;
  --sans:'Inter','Helvetica Neue',Helvetica,Arial,'Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-weight:400;
  color:#1a1a1a;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  line-height:1.55;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* Fixed language pill (top right) */
.lang-pill{
  position:fixed;top:14px;right:14px;z-index:50;
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 14px;border-radius:100px;
  border:1px solid rgba(255,255,255,0.45);
  font-size:12px;font-weight:500;
  color:#fff;text-decoration:none;
  background:rgba(0,0,0,0.35);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:border-color .2s,color .2s,background .2s;
}
.lang-pill:hover,.lang-pill:focus-visible{
  border-color:rgba(255,255,255,0.85);background:rgba(0,0,0,0.5);outline:none;
}
.lang-pill.lang-pill-dark{
  border-color:rgba(0,0,0,0.18);color:#1a1a1a;background:rgba(255,255,255,0.85);
}
.lang-pill.lang-pill-dark:hover,.lang-pill.lang-pill-dark:focus-visible{
  border-color:rgba(0,0,0,0.45);background:#fff;
}
.lang-pill svg{flex-shrink:0}

/* Hero section: full-width cover image with dark overlay */
.hero{
  position:relative;min-height:80vh;
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-align:center;
  padding:96px 20px;
  background-color:#1a1a1a;
  background-size:cover;background-position:center;
  overflow:hidden;
  isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(0,0,0,0.35);
}
.hero__inner{max-width:720px;margin:0 auto}
.hero__uptitle{
  font-size:13px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:600;margin:0 0 20px;opacity:.85;
}
.hero__title{
  font-family:var(--serif);
  font-size:clamp(36px,6vw,64px);line-height:1.15;font-weight:600;
  margin:0 0 22px;
}
.hero__subtitle{
  font-size:clamp(18px,2.4vw,24px);font-weight:400;line-height:1.5;
  margin:0 0 36px;opacity:.95;
}
.hero__cta{
  display:inline-block;background:#fff;color:#1a1a1a;
  padding:18px 42px;border-radius:100px;
  font-size:16px;font-weight:500;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.hero__cta:hover,.hero__cta:focus-visible{
  transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,0.3);outline:none;
}

/* Generic content section */
.section{
  padding:96px 20px;
}
.section--gray{background:#f5f3ef}
.section--cream{background:#FAF8F5}
.section--dark{background:#1a1a1a;color:#fff}
.container{max-width:880px;margin:0 auto}
.container--wide{max-width:1080px;margin:0 auto}
.section__title{
  font-family:var(--serif);
  font-size:clamp(28px,4vw,42px);line-height:1.2;font-weight:600;
  margin:0 0 24px;text-align:center;color:inherit;
}
.section__lead{
  font-size:18px;line-height:1.6;text-align:center;
  max-width:640px;margin:0 auto 56px;opacity:.85;
}

/* Two-column grid for cards, audience tiles */
.grid-2{
  display:grid;grid-template-columns:repeat(2,1fr);gap:32px;
}
.grid-3{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.tile{
  background:#fff;border-radius:14px;padding:32px;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
  border:1px solid rgba(0,0,0,0.05);
}
.section--gray .tile,.section--cream .tile{background:#fff}
.tile__title{
  font-size:20px;font-weight:600;margin:0 0 12px;line-height:1.3;
}
.tile__body{
  font-size:16px;line-height:1.55;font-weight:400;color:#444;margin:0;
}

/* Bullet list (used for "В программе") */
.bullets{
  max-width:640px;margin:0 auto;padding:0;
  list-style:none;font-size:18px;line-height:1.65;
}
.bullets li{
  padding:14px 0 14px 36px;position:relative;
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.bullets li::before{
  content:"";position:absolute;left:8px;top:24px;
  width:8px;height:8px;border-radius:50%;background:#1a1a1a;
}

/* Pricing card */
.pricing{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;
  max-width:880px;margin:0 auto;
}
.price-card{
  background:#fff;border-radius:14px;padding:48px 32px;
  text-align:center;border:1px solid rgba(0,0,0,0.07);
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
}
.price-card__name{
  font-size:22px;font-weight:600;margin:0 0 16px;color:#1a1a1a;
}
.price-card__price{
  font-size:34px;font-weight:600;margin:0 0 16px;color:#1a1a1a;
}
.price-card__desc{
  font-size:16px;line-height:1.55;color:#555;margin:0 0 28px;font-weight:400;
}
.price-card__cta{
  display:inline-block;background:#057839;color:#fff;
  padding:14px 36px;border-radius:100px;
  font-size:15px;font-weight:500;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.price-card__cta:hover,.price-card__cta:focus-visible{
  background:#046430;transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(5,120,57,0.3);outline:none;
}

/* About author block (image + text side by side) */
.about{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  max-width:1080px;margin:0 auto;
}
.about__img{
  width:100%;border-radius:14px;aspect-ratio:1/1;object-fit:cover;
}
.about__title{
  font-family:var(--serif);
  font-size:32px;font-weight:600;margin:0 0 12px;line-height:1.25;
}
.about__uptitle{
  font-size:13px;letter-spacing:2px;text-transform:uppercase;
  font-weight:600;color:#666;margin:0 0 18px;
}
.about__body{
  font-size:17px;line-height:1.6;font-weight:400;color:#333;margin:0 0 16px;
}
.about__body a{color:#ff8562;text-decoration:underline}

/* FAQ — native details */
.faq{max-width:720px;margin:0 auto}
.faq details{
  border-bottom:1px solid rgba(0,0,0,0.12);
}
.faq summary{
  padding:22px 0;font-size:16px;font-weight:400;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";font-size:24px;font-weight:400;color:#888;
  margin-left:16px;transition:transform .2s ease;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{
  padding:0 0 22px;font-size:16px;line-height:1.65;color:#555;font-weight:400;margin:0;
}

/* Reviews carousel — simple horizontal scroll */
.reviews{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;
  max-width:1080px;margin:0 auto;
}
.review{
  background:#fff;border-radius:14px;padding:32px;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.05);
}
.review__author{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.review__avatar{
  width:64px;height:64px;border-radius:50%;flex-shrink:0;
  background:#eee;background-size:cover;background-position:center;
}
.review__name{font-size:17px;font-weight:600;margin:0 0 2px;line-height:1.2}
.review__role{font-size:14px;color:#777;margin:0}
.review__text{font-size:15px;line-height:1.6;font-weight:400;color:#333;margin:0}

/* Final CTA section */
.final-cta{
  text-align:center;padding:96px 20px;
}
.final-cta__title{
  font-family:var(--serif);
  font-size:clamp(32px,5vw,48px);line-height:1.2;font-weight:600;margin:0 0 18px;
}
.final-cta__body{
  font-size:18px;line-height:1.6;max-width:600px;margin:0 auto 0;
}
.final-cta__body a{color:#ff8562;text-decoration:underline}

/* Mobile */
@media (max-width:760px){
  .section{padding:64px 20px}
  .grid-2,.grid-3{grid-template-columns:1fr;gap:20px}
  .tile{padding:24px}
  .about{grid-template-columns:1fr;gap:32px}
  .about__img{max-width:280px;margin:0 auto}
  .price-card{padding:36px 24px}
  .bullets{font-size:16px}
  .reviews{grid-template-columns:1fr}
  .hero{padding:80px 20px;min-height:70vh}
  .final-cta{padding:64px 20px}
}
