
:root { --navy:#0a2344; --blue:#146fd2; --gold:#efb94f; --gold-pale:#ffe3a2; --paper:#f3f7fc; --ink:#102744; --muted:#526983; --line:#cfdeed; --surface:#fff; --display:'Onest',Arial,sans-serif; --body:'Onest',Arial,sans-serif; }
html { font-size: 17px; }
body { font-family:var(--body); background:#f3f7fc; background-image:radial-gradient(ellipse at 10% 12%,rgba(47,133,239,.22),transparent 42%),radial-gradient(ellipse at 88% 80%,rgba(234,177,67,.13),transparent 38%),linear-gradient(130deg,#edf5fd,#fff 52%,#e9f1fc); background-size:180% 180%; animation:ambientShift 24s ease-in-out infinite alternate; color:var(--ink); }
@keyframes ambientShift { from {background-position:0% 35%} to {background-position:100% 65%} }
@view-transition { navigation:auto; }
::view-transition-old(root) {animation:pageFadeOut .18s ease both}
::view-transition-new(root) {animation:pageFadeIn .3s ease both}
@keyframes pageFadeOut {to{opacity:.86}}
@keyframes pageFadeIn {from{opacity:.86}to{opacity:1}}
.hero-stage__content,.ground-hero__content {animation:heroArrive .65s cubic-bezier(.2,.75,.3,1) both}
@keyframes heroArrive {from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
button,input,select,textarea {font-family:var(--body)}
h1,h2,h3,.person-teaser__content b,.story-review blockquote {font-family:var(--display);font-weight:600;letter-spacing:-.02em}
.hero-stage h1,.ground-hero h1 {font-weight:700}
p {line-height:1.65}
.site-nav a,.header-login,.theme-toggle,.site-footer__main>div,.site-footer__legal,.breadcrumb {font-size:.9rem}
.site-brand small,.hero-stage__intro,.section-intro__label,.format-feature__tag,.teacher-card__speciality,.teacher-card__head span,.story-review__topic,.demo-note {font-size:.88rem}
.section-intro p,.autodrome-section__body p,.teacher-card__content>p:not(.teacher-card__speciality),.reviews-hero p {font-size:1rem;line-height:1.65}
.site-header {background:rgba(250,253,255,.9)}
.site-nav a:hover,.header-login:hover,.text-arrow:hover {color:var(--blue)}
.pill-button,.filter-bar button,.carousel-controls button,.theme-toggle {transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.pill-button:hover,.carousel-controls button:hover {transform:translateY(-2px);box-shadow:0 0 0 4px rgba(51,145,255,.14),0 8px 24px rgba(37,105,182,.25)}
.pill-button--blue {background:#196fd5;color:#fff}
.pill-button--gold {background:#f1bd56;color:#112846}
.site-cta {background:linear-gradient(112deg,#0c3470,#185db7)}
.formats-section,.people-section,.catalog-section,.reviews-directory {background:transparent}
.autodrome-section,.latest-reviews {background:rgba(229,240,252,.68)}
.autodrome-section__photo,.ground-photo img {border-radius:20px}
.person-teaser,.teacher-card,.story-review,.latest-reviews blockquote {box-shadow:0 12px 32px rgba(23,62,109,.08)}
.person-teaser__content {min-height:180px}
.person-teaser__content b {font-size:1.38rem}
.person-teaser__content small,.person-teaser__content>span,.latest-reviews footer,.story-review footer,.teacher-card dt {font-size:.9rem}
.teacher-card__content>p:not(.teacher-card__speciality) {max-width:62ch}
.teacher-card h3 {font-size:clamp(1.8rem,2.4vw,2.7rem)}
.teacher-card dl {gap:20px}
.teacher-card dd {display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:1rem}
.category-badge {position:relative;display:inline-grid;place-items:center;min-width:38px;height:34px;padding:0 9px;border:1px solid #6ca2db;border-radius:9px;background:#ddebfb;color:#103c72;cursor:help;font-weight:700}
.category-badge:hover,.category-badge:focus-visible {border-color:#277bd9;background:#c8e1fd;outline:2px solid #efb94f;outline-offset:2px}
.category-badge:hover::after,.category-badge:focus-visible::after {content:attr(data-tip);position:absolute;z-index:8;left:50%;bottom:calc(100% + 12px);width:max-content;max-width:220px;padding:10px 12px;transform:translateX(-50%);border-radius:9px;background:#09284b;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.22);font-size:.83rem;line-height:1.4;text-align:center;white-space:normal}
.people-strip,.latest-reviews__grid {display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#7baee8 transparent;padding:8px 4px 22px}
.people-strip>.person-teaser {flex:0 0 clamp(245px,27vw,330px);scroll-snap-align:start}
.latest-reviews__grid>blockquote {flex:0 0 clamp(280px,43vw,560px);scroll-snap-align:start;margin:0}
.carousel-controls {display:flex;justify-content:flex-end;gap:8px;margin:-34px 2px 16px;position:relative;z-index:2}
.carousel-controls button {display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:1.7rem;line-height:1}
.story-review blockquote {font-size:clamp(1.25rem,1.75vw,1.8rem);line-height:1.45}
.story-review footer strong {font-size:1rem}
.ground-hero {position:relative;display:flex;align-items:center;min-height:620px;overflow:hidden;background:#082548;color:#fff}
.ground-hero>img,.ground-hero__shade {position:absolute;inset:0;width:100%;height:100%}
.ground-hero>img {object-fit:cover;object-position:center}
.ground-hero__shade {background:linear-gradient(90deg,rgba(5,28,58,.96),rgba(5,28,58,.75) 48%,rgba(5,28,58,.1))}
.ground-hero__content {position:relative;z-index:1;padding-block:90px}
.ground-hero h1 {max-width:750px;margin:15px 0 24px;font-size:clamp(3.1rem,6.2vw,6rem);line-height:1.05}
.ground-hero p {max-width:540px;margin-bottom:28px;font-size:1.13rem;color:#e2edfa}
.ground-details__grid {display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,7vw,100px)}
.ground-details h2,.ground-photo h2 {font-size:clamp(2.2rem,3.4vw,3.6rem);line-height:1.14}
.ground-details__grid>div:first-child>p {max-width:55ch;margin-bottom:24px;font-size:1.06rem;color:var(--muted)}
.ground-details__list {display:grid;gap:0}
.ground-details__list article {display:grid;grid-template-columns:44px 1fr;gap:0 15px;padding:18px 0;border-bottom:1px solid var(--line)}
.ground-details__list article>span {grid-row:span 2;color:var(--blue);font-weight:700}
.ground-details__list h3 {margin:0 0 5px;font-size:1.2rem}
.ground-details__list p {margin:0;color:var(--muted)}
.ground-photo {display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;margin-bottom:110px;padding:25px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.ground-photo img {width:100%;height:420px;object-fit:cover}
.ground-photo>div {padding:25px}
.ground-photo p {max-width:42ch;color:var(--muted)}

html[data-theme='dark'] {--navy:#071b36;--blue:#80baff;--gold:#f0bc58;--gold-pale:#ffe1a0;--paper:#071b36;--ink:#f4f8ff;--muted:#c4d3e7;--line:#395575;--surface:#102c4b;color-scheme:dark}
html[data-theme='dark'] body {background:#071b36;background-image:radial-gradient(ellipse at 15% 20%,rgba(44,122,229,.27),transparent 45%),radial-gradient(ellipse at 90% 76%,rgba(39,82,157,.28),transparent 40%),linear-gradient(120deg,#071b36,#0e294b 52%,#071b36);background-size:180% 180%;color:var(--ink)}
html[data-theme='dark'] .site-header {background:rgba(6,25,50,.9);border-color:var(--line)}
html[data-theme='dark'] .site-nav a:hover,html[data-theme='dark'] .header-login:hover,html[data-theme='dark'] .text-arrow:hover {color:#a6d0ff}
html[data-theme='dark'] .autodrome-section,html[data-theme='dark'] .latest-reviews {background:rgba(14,40,72,.72)}
html[data-theme='dark'] .person-teaser,html[data-theme='dark'] .teacher-card,html[data-theme='dark'] .story-review,html[data-theme='dark'] .latest-reviews blockquote,html[data-theme='dark'] .ground-photo {background:#102c4b;border-color:#395575;color:#f4f8ff}
html[data-theme='dark'] .latest-reviews blockquote+blockquote {background:#153757;color:#f4f8ff}
html[data-theme='dark'] .latest-reviews footer .review-author>span,html[data-theme='dark'] .teacher-card__content>p:not(.teacher-card__speciality),html[data-theme='dark'] .story-review footer,html[data-theme='dark'] .ground-details p,html[data-theme='dark'] .ground-photo p {color:#c4d3e7;opacity:1}
html[data-theme='dark'] .teacher-card h3,html[data-theme='dark'] .story-review footer strong,html[data-theme='dark'] .ground-details h2,html[data-theme='dark'] .ground-photo h2 {color:#f4f8ff}
html[data-theme='dark'] .teacher-card__speciality,html[data-theme='dark'] .teacher-card__head span,html[data-theme='dark'] .story-review__topic {color:#9bcaff}
html[data-theme='dark'] .category-badge {background:#214976;border-color:#85b7f2;color:#fff}
html[data-theme='dark'] .filter-bar button {background:#173858;border-color:#486a8e;color:#f4f8ff}
html[data-theme='dark'] .filter-bar button.active {background:#267be0;border-color:#80baff;color:#fff}
html[data-theme='dark'] .carousel-controls button {background:#173858;border-color:#55799e;color:#fff}
html[data-theme='dark'] .theme-toggle {background:#173858;border-color:#55799e;color:#fff}
@media(max-width:850px) {.ground-details__grid,.ground-photo {grid-template-columns:1fr}.ground-photo img {height:300px}.carousel-controls {margin:0 0 12px}.people-strip>.person-teaser {flex-basis:280px}.latest-reviews__grid>blockquote {flex-basis:85%}}
@media(max-width:620px) {html{font-size:16px}.site-nav {background:var(--surface)}.ground-hero {min-height:560px}.ground-hero__content{padding-block:65px}.ground-photo {padding:12px;margin-bottom:70px}.ground-photo>div {padding:10px}.teacher-card dl {grid-template-columns:repeat(3,minmax(0,1fr))}.category-badge:hover::after,.category-badge:focus-visible::after {left:0;transform:none}}
@media(prefers-reduced-motion:reduce){body,.hero-stage__content,.ground-hero__content{animation:none}.people-strip,.latest-reviews__grid{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation:none}}
