:root {
  --navy: #091e43;
  --blue: #1769dc;
  --gold: #f0b943;
  --gold-pale: #ffe2a3;
  --paper: #edf4fc;
  --ink: #102444;
  --muted: #4c6685;
  --line: #ccdbef;
  --surface: #fff;
  --display: 'Manrope', Arial, sans-serif;
  --body: 'Manrope', Arial, sans-serif;
}

body {
  background-color: var(--paper);
  background-image: radial-gradient(circle at 8% 12%, rgba(65, 133, 230, .16), transparent 25rem),
    radial-gradient(circle at 86% 37%, rgba(240, 185, 67, .17), transparent 24rem);
}

h1, h2, h3 { font-family: var(--display); font-weight: 800; letter-spacing: -.055em; }
.hero-stage h1 { max-width: 900px; font-size: clamp(3.6rem, 6.8vw, 7.1rem); line-height: 1.02; }
.section-intro h2, .autodrome-section h2, .catalog-topline h2, .reviews-directory h2 { font-size: clamp(2.55rem, 3.75vw, 4.3rem); line-height: 1.12; }
.format-feature h3, .format-feature--city h3 { font-size: clamp(2rem, 2.7vw, 3.3rem); }
.exam-section h2, .site-cta h2 { font-size: clamp(2.5rem, 3.5vw, 4rem); }
.catalog-hero h1, .reviews-hero h1 { font-size: clamp(3rem, 4.3vw, 5rem); line-height: 1.12; }
.site-header { background: rgba(251, 253, 255, .94); backdrop-filter: blur(18px); border-bottom-color: var(--line); }
.site-brand__symbol { background: var(--blue); }
.site-nav a[aria-current=page]::after, .site-nav a:hover::after { background: var(--gold); }
.pill-button { border-radius: 12px; }
.pill-button--blue { background: var(--blue); }
.pill-button--gold:hover { background: #ffd26b; }
.hero-stage__shade { background: linear-gradient(90deg, rgba(4, 20, 52, .94), rgba(4, 20, 52, .73) 42%, rgba(4, 20, 52, .08) 90%); }
.hero-stage__rail { background: rgba(4, 24, 58, .9); }
.formats-section, .people-section, .catalog-section, .reviews-directory { background: transparent; }
.autodrome-section, .latest-reviews { background: linear-gradient(120deg, rgba(208, 227, 250, .78), rgba(245, 248, 253, .64)); }
.person-teaser, .teacher-card, .story-review { background: var(--surface); }
.person-teaser { border: 1px solid var(--line); box-shadow: 0 18px 38px rgba(15, 59, 112, .08); overflow: hidden; border-radius: 18px; }
.person-teaser__content b, .teacher-card h3 { font-family: var(--display); font-weight: 800; }
.person-teaser__content b { font-size: 1.55rem; }
.teacher-card { padding: 24px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 16px 34px rgba(17, 65, 121, .06); }
.teacher-card h3 { font-size: 2.15rem; }
.teacher-card__speciality, .teacher-card__head span { color: var(--blue); }
.filter-bar button { border-radius: 11px; background: var(--surface); border-color: var(--line); }
.filter-bar button.active { background: var(--blue); border-color: var(--blue); }
.catalog-hero, .exam-section { background: #0b2a61; }
.reviews-hero { background: linear-gradient(130deg, #d9eafb, #edf4fc 60%, #f8eac8); }
.story-review { margin-bottom: 12px; padding: 30px; border: 1px solid var(--line); border-radius: 17px; }
.story-review blockquote, .latest-reviews blockquote p { font-family: var(--display); font-weight: 700; letter-spacing: -.04em; }
.story-review blockquote { font-size: clamp(1.35rem, 1.8vw, 2rem); }
.latest-reviews blockquote { border-radius: 17px; }
.latest-reviews blockquote + blockquote { background: #dbeafe; }
.latest-reviews blockquote p { font-size: clamp(1.4rem, 1.85vw, 2rem); }
.site-cta { background: linear-gradient(110deg, #0a3180, #1769dc); }

.photo-placeholder { position: relative; display: grid; place-content: center; justify-items: center; gap: 20px; text-align: center; background: radial-gradient(circle at 50% 35%, rgba(71, 142, 247, .2), transparent 42%), linear-gradient(135deg, #d4e7ff, #eaf2fc 58%, #c9ddf5); color: #245385; background-image: radial-gradient(circle at 50% 35%, rgba(71, 142, 247, .2), transparent 42%), linear-gradient(135deg, #d4e7ff, #eaf2fc 58%, #c9ddf5) !important; }
.photo-placeholder::before { content: ''; display: block; width: 80px; height: 80px; border: 2px solid currentColor; border-radius: 24px; opacity: .75; background: center / 49px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23245385' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='22' r='9'/%3E%3Cpath d='M15 52c0-11 7-17 17-17s17 6 17 17M12 8h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4H12a4 4 0 0 1-4-4V12a4 4 0 0 1 4-4Z'/%3E%3C/svg%3E"); }
.photo-placeholder > span { position: static; max-width: 170px; padding: 0; background: none; color: inherit; font-size: .8rem; font-weight: 800; line-height: 1.45; }
.person-teaser > .photo-placeholder { filter: none; }
.teacher-card__portrait.photo-placeholder { filter: none; min-height: 300px; border-radius: 12px; }
.catalog-hero__visual.photo-placeholder { min-height: 360px; align-self: center; border-radius: 22px; background: linear-gradient(145deg, #2a6ccb, #78a8e9) !important; color: #fff; }
.catalog-hero__visual.photo-placeholder::before { border-color: #fff; filter: brightness(0) invert(1); }
.catalog-hero__visual.photo-placeholder > span { position: static; max-width: 230px; font-size: 1rem; color: #fff; }

.review-avatar { display: inline-grid; flex: 0 0 auto; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #0a2448; font-size: .78rem; font-weight: 800; letter-spacing: .02em; opacity: 1 !important; }
.review-avatar--amber { background: linear-gradient(140deg, #ffd06c, #eea53f); }
.review-avatar--blue { background: linear-gradient(140deg, #b2e7ff, #68aceb); }
.review-avatar--violet { background: linear-gradient(140deg, #d2caff, #a998e6); }
.review-avatar--rose { background: linear-gradient(140deg, #ffd4da, #f6a9bb); }
.latest-reviews footer .review-author { display: grid; gap: 3px; opacity: 1; }
.latest-reviews footer .review-author > span { opacity: .7; }
.story-review footer .review-avatar { margin-bottom: 8px; }

.theme-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--navy); font: 700 .73rem var(--body); white-space: nowrap; }
.theme-toggle:hover { border-color: var(--blue); }
.theme-toggle__symbol { font-size: 1.15rem; line-height: 1; }

html[data-theme='dark'] { --navy: #102f67; --blue: #60a5fa; --gold: #f7c352; --gold-pale: #ffe6af; --paper: #07172e; --ink: #edf5ff; --muted: #adc2db; --line: #294664; --surface: #10243e; color-scheme: dark; }
html[data-theme='dark'] body { background-image: radial-gradient(circle at 10% 16%, rgba(40, 106, 209, .2), transparent 26rem), radial-gradient(circle at 90% 48%, rgba(219, 153, 34, .09), transparent 25rem); }
html[data-theme='dark'] .site-header { background: rgba(7, 24, 46, .95); }
html[data-theme='dark'] .site-nav { color: var(--ink); }
html[data-theme='dark'] .site-brand, html[data-theme='dark'] .menu-toggle span, html[data-theme='dark'] .header-login { color: var(--ink); }
html[data-theme='dark'] .site-brand__symbol { background: #326bcb; }
html[data-theme='dark'] .menu-toggle span { background: var(--ink); }
html[data-theme='dark'] .formats-section, html[data-theme='dark'] .people-section, html[data-theme='dark'] .catalog-section, html[data-theme='dark'] .reviews-directory { background: transparent; }
html[data-theme='dark'] .autodrome-section, html[data-theme='dark'] .latest-reviews { background: linear-gradient(120deg, #0c2340, #0a1b34); }
html[data-theme='dark'] .person-teaser, html[data-theme='dark'] .teacher-card, html[data-theme='dark'] .story-review { background: var(--surface); }
html[data-theme='dark'] .photo-placeholder { background: linear-gradient(140deg, #17375c, #25486f) !important; color: #bdd9fc; }
html[data-theme='dark'] .photo-placeholder > span { color: inherit; }
html[data-theme='dark'] .catalog-hero__visual.photo-placeholder { background: linear-gradient(145deg, #164278, #376bb4) !important; color: #fff; }
html[data-theme='dark'] .reviews-hero { background: linear-gradient(135deg, #102a4d, #0b1f39); }
html[data-theme='dark'] .reviews-hero h1, html[data-theme='dark'] .reviews-hero p { color: var(--ink); }
html[data-theme='dark'] .reviews-hero span, html[data-theme='dark'] .reviews-hero .breadcrumb { color: var(--blue); }
html[data-theme='dark'] .latest-reviews blockquote + blockquote { background: #18365d; color: var(--ink); }
html[data-theme='dark'] .latest-reviews blockquote + blockquote footer span { color: var(--muted); }
html[data-theme='dark'] .filter-bar button { background: var(--surface); color: var(--ink); }
html[data-theme='dark'] .filter-bar button.active { background: #276dce; color: #fff; }
html[data-theme='dark'] .filter-bar button:hover:not(.active) { background: #1b3b62; }
html[data-theme='dark'] .teacher-card__speciality, html[data-theme='dark'] .teacher-card__head span, html[data-theme='dark'] .story-review__topic { color: #8dc1ff; }
html[data-theme='dark'] .story-review footer strong { color: var(--ink); }
html[data-theme='dark'] .site-footer { background: #041124; }
html[data-theme='dark'] .theme-toggle { background: #173250; color: #eaf3ff; }

@media (max-width: 1120px) { .site-header__inner { gap: 12px; } .site-nav { gap: 16px; } .theme-toggle__label { display: none; } }
@media (max-width: 750px) { .theme-toggle { width: 40px; justify-content: center; padding: 0; } html[data-theme='dark'] .site-nav { background: #0c2441; } .hero-stage h1 { font-size: clamp(2.9rem, 8vw, 4.4rem); } .catalog-hero__visual.photo-placeholder { min-height: 220px; } .teacher-card { padding: 20px; } .story-review { padding: 22px; } }
