@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#232622;--muted:#676b65;--lime:#d5ff5f;--line:#dfe2da;--paper:#f6f7f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#fff;color:var(--ink);font-family:'Golos Text',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #6b8700;outline-offset:6px}.wrap{max-width:1280px;width:calc(100% - 112px);margin:auto}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-size:44px;font-weight:800;line-height:1;letter-spacing:-5px}.logo span{color:#83ab18}.header nav{display:flex;gap:32px;font-size:14px}.header nav a:hover,.footer a:hover{color:#608200}.header-cta{font-size:14px;font-weight:600}.header-cta span{margin-left:18px}.hero{padding-top:43px}.hero-top{display:flex;justify-content:space-between}.eyebrow,.tiny{font-size:12px;font-weight:600;letter-spacing:1.6px}.tiny{color:var(--muted);font-size:11px}h1,h2,h3,p{margin:0}h1{font-size:clamp(54px,7.8vw,112px);line-height:1.05;letter-spacing:-6px;font-weight:500;margin-top:40px;max-width:1140px}em{font-style:normal}h1 em{background:var(--lime);border-radius:8px;padding:0 12px 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}h2{font-size:clamp(34px,4vw,56px);line-height:1.14;letter-spacing:-2.4px;font-weight:500;margin-top:20px}h3{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.7px}p{color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin:36px 0 48px}.hero-bottom p{font-size:18px;line-height:1.6}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:18px 24px;border-radius:100px;border:0;font-size:14px;font-weight:500;transition:transform .2s,background .2s}.dark{background:var(--ink);color:white}.dark:hover{background:#3d4831;transform:translateY(-3px)}.button span{font-size:22px;line-height:1}.hero .button{margin-top:28px}.hero small{display:block;font-size:12px;color:var(--muted);margin-top:12px}.hero-note{padding:0 50px 0 28px;border-left:1px solid var(--line)}.note-symbol{font-size:52px;line-height:1;display:block}.hero-note p{font-size:24px;color:var(--ink);line-height:1.35;letter-spacing:-.7px}.hero-note .tiny{display:block;margin-top:20px}.hero-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 0;font-size:14px}.hero-footer a{color:var(--muted)}.section{padding:100px 0}.about{display:grid;grid-template-columns:1fr 1.12fr;gap:100px;align-items:center}.portrait{min-height:490px;border-radius:12px;background:#e9ece5;position:relative;overflow:hidden;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.portrait-monogram{font-size:220px;font-weight:600;line-height:1;letter-spacing:-20px;align-self:center;color:#a3b391}.portrait-monogram span{color:#fff}.portrait-label{background:white;border-radius:8px;padding:15px 20px;width:fit-content;display:flex;flex-direction:column;font-size:20px}.portrait-label small{font-size:12px;color:var(--muted)}.portrait-tag{position:absolute;right:22px;top:115px;background:var(--lime);padding:10px 20px;border-radius:100px;font-size:14px;transform:rotate(9deg)}.about-copy p{margin-top:24px;max-width:500px}.about-facts{display:flex;gap:44px;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.about-facts div{display:flex;flex-direction:column}.about-facts b{font-size:16px;font-weight:500}.about-facts span{font-size:13px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:30px}.section-heading>p{font-size:15px;padding-bottom:5px}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.goal-grid article{background:var(--paper);border-radius:12px;padding:30px;transition:transform .25s}.goal-grid article:hover{transform:translateY(-6px)}.goal-grid article:nth-child(2){background:var(--lime)}.card-index{font-size:11px;letter-spacing:1px}.goal-grid h3{margin:45px 0 20px;font-size:28px;letter-spacing:-1px}.goal-grid p{font-size:15px;min-height:100px}.card-foot{display:block;border-top:1px solid #ccd0c4;margin-top:24px;padding-top:16px;font-size:12px}.process{background:var(--paper);margin-top:10px}.process .section-heading{margin-top:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:58px 0 48px}.steps article{border-top:1px solid #cdd2c6;padding-top:18px}.steps article>span{font-size:13px;color:var(--muted)}.steps h3{font-size:19px;margin:28px 0 14px}.steps p{font-size:14px}.lesson-strip{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #cdd2c6;padding-top:25px;font-size:12px;color:var(--muted)}.lesson-strip b{color:var(--ink);font-size:14px;font-weight:500}.approach-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px}.approach h2 em{color:#7b951d}.approach article{border-bottom:1px solid var(--line);padding:24px 0}.approach article:first-child{padding-top:24px}.approach h3{font-size:21px;margin-bottom:12px}.approach p{font-size:15px}.reviews{border-top:1px solid var(--line)}.demo-label{font-size:12px;color:var(--muted);padding-bottom:5px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}blockquote{margin:0;padding:32px;background:var(--paper);border-radius:12px}.quote-mark{display:block;font-size:58px;line-height:1;color:#6f8e20}blockquote>p{font-size:22px;line-height:1.5;color:var(--ink);letter-spacing:-.5px}blockquote footer{display:flex;gap:13px;align-items:center;margin-top:30px}.avatar{width:42px;height:42px;border-radius:50%;background:#e0e5d6;display:grid;place-items:center}blockquote b{font-size:14px;font-weight:500}blockquote small{display:block;color:var(--muted);font-size:12px}.pricing{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;border-top:1px solid var(--line)}.pricing>div>p{margin-top:26px}.price-disclaimer{display:block;font-size:12px;color:var(--muted);max-width:330px;margin-top:25px}.price-card{border:1px solid var(--line);border-radius:12px;padding:35px}.price{display:flex;align-items:baseline;gap:14px;margin:22px 0}.price b{font-size:46px;font-weight:500;letter-spacing:-2px}.price>span{font-size:14px;color:var(--muted)}.price-card ul{list-style:none;padding:20px 0;margin:0;border-top:1px solid var(--line);font-size:14px}.price-card li{margin:10px 0}.price-card li:before{content:'✓';margin-right:12px;color:#6f8e20}.price-card .button{width:100%}.trial{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.trial b{font-size:14px;font-weight:500}.trial span{font-size:12px;color:var(--muted)}.contact{background:var(--lime);padding:70px 0}.contact h2{font-size:clamp(42px,6vw,80px);letter-spacing:-3.6px;max-width:1000px}.contact h2 em{color:#617b1c}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:24px}.contact p{color:#435327}.contact-handle{font-size:12px;margin-top:20px}.footer{display:flex;align-items:center;justify-content:space-between;padding-top:35px;padding-bottom:35px;font-size:12px;color:var(--muted)}.footer .logo{color:var(--ink);font-size:32px}dialog{border:0;padding:42px;border-radius:18px;max-width:480px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#23262288;backdrop-filter:blur(5px)}dialog h2{font-size:34px}dialog p{margin:20px 0}dialog .eyebrow{font-size:10px}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){h1{font-size:112px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header nav{gap:20px}.about{gap:45px}.portrait{min-height:450px}h1{letter-spacing:-4px}.hero-note{padding-right:0}.goal-grid article{padding:24px}.goal-grid h3{font-size:24px}.approach-grid{gap:45px}.pricing{gap:35px}.lesson-strip{flex-wrap:wrap}.steps{gap:20px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:80px}.header nav{display:none}.header-cta{font-size:12px}.logo{font-size:36px}.hero{padding-top:28px}.hero-top .tiny{display:none}.eyebrow{font-size:10px;letter-spacing:1px}h1{font-size:clamp(44px,9.8vw,68px);letter-spacing:-2.5px;margin-top:30px;line-height:1.12}h1 em{padding:0 4px 3px;border-radius:4px}.hero-bottom{margin-top:28px;margin-bottom:36px}.hero-bottom p{font-size:16px}.hero-note{display:none}.hero-footer{font-size:12px;flex-direction:column;gap:10px}.desktop{display:none}.button{font-size:13px;padding:16px 22px}.hero small{font-size:11px}.section{padding:62px 0}h2{font-size:36px;letter-spacing:-1.5px}.about{grid-template-columns:1fr;gap:35px}.portrait{min-height:390px}.portrait-monogram{font-size:190px}.portrait-tag{top:90px}.about-copy p{font-size:15px}.about-facts{gap:30px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}.goal-grid{grid-template-columns:1fr;gap:14px}.goal-grid h3{margin-top:28px}.goal-grid p{min-height:0}.card-foot{margin-top:26px}.steps{grid-template-columns:1fr 1fr;gap:32px 24px;margin-top:35px}.steps h3{font-size:18px;margin-top:20px}.lesson-strip{gap:12px 20px;justify-content:flex-start}.lesson-strip b{width:100%}.approach-grid{grid-template-columns:1fr;gap:20px}.approach h2{font-size:34px}.review-grid{grid-template-columns:1fr}.demo-label{display:block;margin-top:20px}blockquote{padding:26px}blockquote>p{font-size:20px}.pricing{grid-template-columns:1fr;gap:30px}.price-card{padding:26px}.price b{font-size:40px}.contact{padding:55px 0}.contact h2{font-size:43px;letter-spacing:-2px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:25px}.footer{flex-wrap:wrap;gap:20px}.footer>span{order:3;width:100%}dialog{padding:32px}.reveal{transform:translateY(14px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Персональный первый экран и более компактный ритм страницы. */
.hero{display:grid;grid-template-columns:1fr 1.12fr;gap:72px;align-items:center;padding:42px 0 48px;border-bottom:1px solid var(--line)}
.hero-photo{min-height:430px;padding:28px;position:relative;background:var(--lime);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.hero-initials{font-size:clamp(100px,13vw,180px);font-weight:500;letter-spacing:-12px;line-height:1;align-self:center;color:#647c2f}.hero-initials span{color:var(--ink)}
.hero-photo-caption{display:flex;flex-direction:column;font-size:18px;line-height:1.4}.hero-photo-caption small{margin-top:5px;color:#435327;font-size:12px}
.hero-photo-tag{position:absolute;right:24px;top:72px;border:1px solid #92b63a;border-radius:100px;padding:8px 16px;font-size:13px;transform:rotate(6deg)}
.hero h1{font-size:clamp(40px,4.8vw,68px);font-weight:500;line-height:1.08;letter-spacing:-2.6px;margin:22px 0 16px;max-width:600px}
.hero-position{font-size:20px;color:var(--ink);line-height:1.4}.hero-bio{font-size:16px;line-height:1.75;margin-top:22px;max-width:510px}.hero .button{margin-top:26px}.hero-intro>small{margin-top:12px}.hero-data-note{display:block;color:var(--muted);font-size:11px;margin-top:20px}
.section{padding:60px 0}.about{gap:72px}.about .portrait{min-height:390px}.about .portrait-monogram{font-size:175px}.about-copy p{margin-top:18px}.section-heading{margin-bottom:28px}.goal-grid h3{margin:28px 0 16px}.goal-grid p{min-height:76px}.card-foot{margin-top:18px}.steps{margin:32px 0}.steps h3{margin:22px 0 12px}.reviews{border-top:0}blockquote>p{font-size:20px}.contact{padding:44px 0}.contact h2{font-size:clamp(36px,4vw,56px);letter-spacing:-2px}.contact-bottom{margin-top:24px}.footer{padding-top:26px;padding-bottom:26px}
@media(max-width:1000px){.hero,.about{gap:40px}.hero-photo{min-height:410px}.hero h1{font-size:48px}.hero-position{font-size:18px}.hero-bio{font-size:15px}}
@media(max-width:700px){.hero{grid-template-columns:1fr;gap:28px;padding:26px 0 36px}.hero-photo{min-height:320px;padding:24px}.hero-initials{font-size:132px;letter-spacing:-8px}.hero-photo-tag{top:62px}.hero h1{font-size:44px;margin-top:16px;letter-spacing:-1.8px}.hero-position{font-size:18px}.hero-bio{margin-top:16px}.hero .button{margin-top:22px}.hero-data-note{margin-top:12px}.section{padding:42px 0}.about{gap:28px}.about .portrait{min-height:320px}.about .portrait-monogram{font-size:150px}.goal-grid p{min-height:0}.steps{margin:28px 0}.contact{padding:36px 0}.contact h2{font-size:36px}.contact-bottom{gap:20px}}

/* Кадрирование фотографии только на первом экране. */
.hero-photo-real{padding:0;height:480px;min-height:0;background:var(--lime)}
.hero-photo-real img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 60%;transform:scale(1.18);transform-origin:62% 60%;}
@media(max-width:1000px) and (min-width:701px){.hero-photo-real{height:460px}}
@media(max-width:700px){.hero-photo-real{height:390px;min-height:0}.hero-photo-real img{object-position:62% 58%}}

/* Контент Екатерины: текстовый блок обо мне и четыре направления. */
.about-text{grid-template-columns:1fr 1.12fr;align-items:start}.about-text .about-copy p{max-width:none}.about-text .about-copy p:first-child{margin-top:0}.goal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.goal-grid article{padding:24px}.goal-grid h3{font-size:24px}.goal-grid p{min-height:125px}.review-grid{grid-template-columns:1.2fr 1fr}.review-grid blockquote:first-child{grid-row:span 2}.review-grid blockquote>p{font-size:18px}.review-grid blockquote footer{margin-top:22px}
@media(max-width:1000px){.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-grid p{min-height:76px}}
@media(max-width:700px){.about-text{grid-template-columns:1fr;gap:22px}.goal-grid,.review-grid{grid-template-columns:1fr}.goal-grid p{min-height:0}.review-grid blockquote:first-child{grid-row:auto}}

/* Монограмма: белые поля скрыты контейнером, пропорции исходника сохранены. */
.logo{display:block;position:relative;width:58px;height:48px;overflow:hidden;flex-shrink:0;letter-spacing:normal}
.logo img{position:absolute;display:block;width:62px;height:62px;max-width:none;left:-2px;top:-7px;object-fit:contain}
.footer .logo{width:48px;height:40px}.footer .logo img{width:52px;height:52px;left:-2px;top:-6px}
@media(max-width:700px){.header .logo{width:50px;height:42px}.header .logo img{width:54px;height:54px;left:-2px;top:-6px}}

/* Точечное выравнивание текста первого экрана. */
.hero-intro{transform:translateY(-24px)}
.hero-intro h1{margin-top:0}
@media(max-width:700px){.hero-intro{transform:none}}

/* Компактное завершение текстового блока «Обо мне». */
.about-text{padding-bottom:36px}
@media(max-width:700px){.about-text{padding-bottom:28px}}

/* Мягкие оттенки направлений; вторая карточка сохраняет лаймовый акцент. */
.goal-grid article:nth-child(1){background:#DCE8F2}
.goal-grid article:nth-child(3){background:#EDE3D5}
.goal-grid article:nth-child(4){background:#E6E1F0}

/* Равноправные пастельные карточки направлений. */
.goal-grid article:nth-child(2){background:#E2E8D6}

/* Единое жирное начертание нижних подписей в блоке занятий. */
.process .lesson-strip b{font-weight:700}
@media(max-width:700px){.process .lesson-strip b{width:auto}.process .lesson-strip b:first-child{width:100%}}

/* Нижние подписи используют ту же сетку, что и четыре колонки. */
.process .lesson-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.process .lesson-strip b{width:auto;text-align:center}
@media(max-width:1000px){.process .lesson-strip{gap:20px}}
@media(max-width:700px){.process .lesson-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.process .lesson-strip b:first-child{width:auto}}

/* Шесть отзывов: равномерная сетка с комфортной шириной карточек. */
.reviews .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.reviews .review-grid blockquote:first-child{grid-row:auto}
.reviews .review-grid blockquote{display:flex;flex-direction:column}
.reviews .review-grid blockquote footer{margin-top:auto;padding-top:22px}
@media(max-width:700px){.reviews .review-grid{grid-template-columns:1fr}}

.contact .contact-terms{font-size:12px;font-weight:400;line-height:1.6;margin-top:20px;max-width:640px}

.contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;color:#435327}.contact-links a{text-decoration:underline;text-underline-offset:4px}.contact-links a:hover{color:var(--ink)}

/* Шапка: более заметное меню без дополнительной кнопки. */
.header nav{font-size:16.5px;font-weight:500;gap:40px;margin-left:auto}
@media(max-width:1000px){.header nav{gap:32px}}
@media(max-width:700px){.header nav{display:flex;font-size:14px;gap:20px}}
@media(max-width:380px){.header nav{gap:14px;font-size:13px}}

/* Четыре якоря в верхнем меню. */
.header nav{gap:32px}
.header nav a{white-space:nowrap}
@media(max-width:1000px){.header nav{gap:24px}}
@media(max-width:700px){.header nav{gap:12px;font-size:12px;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 70px)}}
@media(max-width:380px){.header nav{gap:8px 12px}}

/* Чистые карточки направлений без нижних подписей. */
.goals .goal-grid article{min-height:433.375px;padding-bottom:32px}
.goals .goal-grid h3{margin-top:36px;margin-bottom:24px}
.goals .goal-grid p{min-height:0}
@media(max-width:1000px){.goals .goal-grid article{min-height:345px}}
@media(max-width:700px){.goals .goal-grid article{min-height:320px}.goals .goal-grid h3{margin-top:28px;margin-bottom:20px}}

/* Общая высота заголовков направлений: три строки при текущем line-height. */
.goals .goal-grid h3{min-height:3.9em}

/* Тонкая оптическая корректировка абзаца первой карточки. */
.goals .goal-grid article:first-child p{position:relative;top:3px}

/* Формат занятий без дополнительного нижнего ряда. */
.process .steps{margin-bottom:0}
.process{padding-bottom:44px}
@media(max-width:700px){.process{padding-bottom:32px}}

/* Заголовки шагов без нумерации: единый отступ от верхней линии. */
.process .steps h3{margin-top:0}

/* Принципы обучения: равноправная сетка, без последовательных этапов. */
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 32px;margin-top:32px}
.principles-grid article{border-top:1px solid #cdd2c6;padding-top:20px}
.principles-grid h3{font-size:19px;line-height:1.3;min-height:2.6em;margin:0 0 12px}
.principles-grid p{font-size:14px;line-height:1.6}
.principles{padding-bottom:52px}
@media(max-width:700px){.principles-grid{grid-template-columns:1fr;gap:26px;margin-top:28px}.principles-grid h3{min-height:0}.principles{padding-bottom:36px}.principles .section-heading>p br{display:none}}

/* Компактная сетка шести отзывов с одинаковой высотой карточек в каждом ряду. */
.reviews .review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.reviews .review-grid blockquote{padding:24px}
.reviews .quote-mark{font-size:46px}
.reviews .review-grid blockquote>p{font-size:16px;line-height:1.5;letter-spacing:-.2px}
.reviews .review-grid blockquote footer{padding-top:18px;gap:10px}
.reviews .avatar{width:34px;height:34px;font-size:14px;flex-shrink:0}
.reviews blockquote b{font-size:13px}
@media(max-width:1000px){.reviews .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.reviews .review-grid{grid-template-columns:1fr;gap:16px}.reviews .review-grid blockquote{padding:22px}}

/* Единая вертикальная композиция финальных контактов. */
.contact .contact-bottom{flex-direction:column;align-items:flex-start;gap:22px}

/* Финальный CTA: текст слева, увеличенная кнопка справа. */
.contact .contact-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:32px}
.contact .contact-bottom .button{min-width:310px;justify-content:center;padding:23px 36px;flex-shrink:0}
@media(max-width:700px){.contact .contact-bottom{flex-direction:column;align-items:flex-start;gap:24px}.contact .contact-bottom .button{min-width:0;width:100%;padding:21px 28px}}

/* Компактный одинаковый рейтинг рядом с кавычками. */
.reviews .review-top{display:flex;align-items:center;gap:12px;height:46px;flex-shrink:0}
.reviews .review-stars{color:#6f8e20;font-size:14px;line-height:1;letter-spacing:3px;white-space:nowrap}

/* Только звёзды: компактнее расстояние до текста, прежняя высота карточек. */
.reviews .review-top{height:38px;justify-content:flex-start}
.reviews .review-grid blockquote{padding-bottom:32px}
@media(max-width:700px){.reviews .review-grid blockquote{padding-bottom:30px}}

/* Финальный CTA без верхней нумерованной подписи. */
.contact h2{margin-top:0}

/* Два уровня иерархии финального CTA. */
.contact .contact-bottom{margin-top:0;align-items:center;gap:40px}
.contact h2{font-size:clamp(32px,3.5vw,49px);letter-spacing:-1.8px}
.contact-copy{flex:1;min-width:0}
.contact-copy p{font-size:18px;line-height:1.6;margin-top:18px;max-width:540px}
.contact .contact-bottom .button{min-width:270px;padding:18px 28px}
@media(max-width:700px){.contact .contact-bottom{align-items:flex-start;gap:24px}.contact h2{font-size:32px}.contact-copy p{font-size:17px;margin-top:16px}.contact .contact-bottom .button{min-width:0;width:auto;padding:18px 26px}}

/* Финальное приглашение: крупный текст и одно действие. */
.contact .contact-copy h2{font-size:clamp(32px,3vw,42px);line-height:1.22;letter-spacing:-1.4px;max-width:790px}
@media(max-width:700px){.contact .contact-copy h2{font-size:30px;letter-spacing:-1px}}

/* Второй уровень текста финального приглашения. */
.contact .contact-copy p{font-size:16px;font-weight:400;line-height:1.6;margin-top:18px;max-width:560px}

/* Самостоятельный центральный блок знакомства. */
.about.about-text{display:block}
.about-text>h2{text-align:center;margin-top:0;margin-bottom:28px}
.about-text .about-copy{max-width:720px;margin:0 auto;text-align:left}
@media(max-width:700px){.about-text>h2{margin-bottom:24px}}

/* Завершение блока знакомства и небольшой оптический сдвиг заголовка. */
.about.about-text{border-bottom:1px solid var(--line)}
.about-text>h2{position:relative;left:-16px}

/* Чуть компактнее сверху; общая высота и нижняя линия сохранены. */
.about.about-text{padding-top:52px;padding-bottom:44px}
@media(max-width:700px){.about.about-text{padding-top:36px;padding-bottom:34px}}

/* Дополнительное уменьшение только верхнего отступа знакомства. */
.about.about-text{padding-top:36px}
@media(max-width:700px){.about.about-text{padding-top:20px}}

/* Приглушённый фон только финального CTA. */
.contact{background:#E1E7D8}

/* Прозрачная ES-монограмма без растягивания или обрезания штрихов. */
.header .logo img,.footer .logo img{position:static;width:100%;height:100%;object-fit:contain;max-width:100%}

/* Мягкий цветовой акцент только служебных подписей трёх разделов. */
#goals .eyebrow,#lessons .eyebrow,#reviews .eyebrow{color:#6F7F3A}

/* Портретные пропорции фотографии только на desktop. */
@media(min-width:701px){
  .hero-photo-real{width:100%;max-width:384px;height:auto;aspect-ratio:4 / 5;justify-self:start}
  .hero-photo-real img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 60%}
}

/* Контролируемый промежуток hero на широком desktop. */
@media(min-width:1100px){
  .hero{grid-template-columns:384px minmax(0,1fr);column-gap:100px}
}

/* Центрирование всей связки фото и текста без изменения её масштаба. */
.hero-content{display:contents}
@media(min-width:1100px){
  .hero{display:block}
  .hero-content{display:grid;grid-template-columns:384px minmax(0,1fr);gap:100px;align-items:center;max-width:1020px;margin:0 auto}
}

/* Чуть более заметный текст знакомства только на desktop. */
@media(min-width:1100px){
  .about-text .about-copy{max-width:792px}
  .about-text .about-copy p{font-size:18px;line-height:1.6}
}

/* Умеренно более заполненная hero-композиция только на desktop. */
@media(min-width:1100px){
  .hero{padding-top:34px;padding-bottom:38px}
  .hero-content{grid-template-columns:422px minmax(0,1fr);max-width:1120px}
  .hero-photo-real{max-width:422px}
  .hero h1{font-size:clamp(42px,5.04vw,71.4px)}
  .hero-bio{max-width:570px}
}

/* Design v2: разные композиции секций в общем спокойном ритме. */
.hero{border-bottom:0}
.about.about-text{border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding-top:56px;padding-bottom:64px}
.about-text>h2{left:0}
.goals{padding-top:40px;padding-bottom:72px}
.goals .goal-grid article{min-height:0;padding:28px}
.goals .goal-grid h3{min-height:2.6em;margin:24px 0 18px}
.goals .goal-grid article:first-child p{top:0}
.principles{margin-top:0;padding-top:64px;padding-bottom:64px;background:#F3F1EC}
.principles-grid h3{min-height:0;font-size:20px}
.principles-grid p{font-size:15px;line-height:1.65}
.reviews{border-top:0;padding-top:72px;padding-bottom:72px}
.reviews .section-heading{max-width:780px;margin-bottom:32px}
.reviews .review-grid{gap:16px}
.reviews .review-grid blockquote{background:#F2EEEA;border:1px solid #C9D4DA}
@media(min-width:1100px){
  .hero{padding-top:40px;padding-bottom:56px}
  .hero-intro{transform:translateY(-12px)}
  .about.about-text{display:grid;grid-template-columns:300px minmax(0,1fr);gap:68px;align-items:start}
  .about-text>h2{text-align:left;margin:0}
  .about-text .about-copy{max-width:850px;margin:0}
  .goals{display:grid;grid-template-columns:300px minmax(0,1fr);gap:68px;align-items:start}
  .goals .section-heading{margin:0;display:block}
  .goals .section-heading h2{font-size:46px}
  .goals .goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .principles>.wrap{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:68px;grid-template-rows:auto 1fr;align-items:start}
  .principles .section-heading{grid-column:1;grid-row:2;margin:0}
  .principles .section-heading h2{font-size:46px}
  .principles-grid{grid-column:2;grid-row:1 / 3;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px;margin:0}
  .principles-grid article{padding-top:18px}
}
@media(max-width:1099px) and (min-width:701px){
  .goals .goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .about.about-text{padding-top:30px;padding-bottom:38px}
  .about-text>h2{text-align:left;margin-bottom:22px}
  .goals{padding-top:32px;padding-bottom:40px}
  .goals .goal-grid article{padding:24px}
  .goals .goal-grid h3{min-height:0;margin:20px 0 16px}
  .principles{padding-top:38px;padding-bottom:38px}
  .reviews{padding-top:40px;padding-bottom:40px}
  .reviews .review-grid blockquote{padding:22px 22px 30px}
}

/* Только mobile: компактная навигация и более плотный набор. */
.mobile-menu-toggle{display:none}
@media(max-width:700px){
  .header{position:relative}
  .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;border:0;border-radius:8px;background:transparent;color:var(--ink)}
  .mobile-menu-toggle span{display:block;width:22px;height:1.5px;background:currentColor}
  .header nav{display:none;position:absolute;z-index:10;top:calc(100% + 8px);right:0;width:220px;max-width:100%;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:15px;gap:14px;flex-direction:column;align-items:flex-start;margin:0}
  .header nav.is-open{display:flex}
  .hero{gap:20px}
  .hero h1{margin-top:0;margin-bottom:12px}
  .hero-bio{margin-top:12px}
  .hero .button{margin-top:18px}
  .about-text .about-copy p{font-size:14.5px;line-height:1.55}
  .goals .goal-grid article{padding-top:20px;padding-bottom:20px}
  .reviews .review-grid blockquote{padding:18px 20px 22px}
  .reviews .review-grid blockquote>p{font-size:15px;line-height:1.5}
  .reviews .review-top{height:30px}
  .reviews .review-grid blockquote footer{padding-top:14px;margin-top:16px}
  .footer>span{font-size:12px;line-height:1.65}
  .footer-role{display:block}
  .footer-divider{display:none}
}

/* Только два mobile-заголовка: умеренное уменьшение без других изменений. */
@media(max-width:700px){
  .hero h1{font-size:41px}
  .goals .section-heading h2{font-size:34px}
}

/* Только один неделимый фрагмент текста знакомства на mobile. */
@media(max-width:700px){.mobile-about-nowrap{white-space:nowrap}}

/* Эксперимент: мягкий почти белый основной фон страницы. */
body{background:#FFF8F5}

.reviews .avatar{background:#E4DED6}

/* Полноширинный фон только секции направлений. */
.goals{position:relative;isolation:isolate}
.goals::before{content:"";position:absolute;inset-block:0;left:calc((100% - 100vw)/2);width:100vw;background:#F5F5F5;z-index:-1;pointer-events:none}
