/* =========================================================
   ЮЛИЯ СКОПИНЦОВА — психолог
   Premium psychology / quiet luxury
   ========================================================= */

/* ---------- 1. TOKENS ---------- */
/* Палитра подобрана по фотографиям Юлии и проверена по WCAG AA.
   Рядом с каждым текстовым цветом — фактический контраст. */
:root{
  /* фоны */
  --bg:          #F8F4EE;   /* светлый кремовый */
  --bg-warm:     #EDE3D5;   /* тёплый бежевый */
  --bg-light:    #FCFAF7;
  --white:       #FFFFFF;

  /* бренд */
  --beige:       #D8C5AE;
  --caramel:     #8F6C43;
  --choco:       #35251F;   /* глубокий шоколадный */
  --choco-soft:  #43302A;   /* поверхность внутри шоколадных секций */
  --gold:        #B89556;   /* благородное золото */
  --gold-light:  #D8BD83;   /* светлое золото, акценты на тёмном */
  --gold-ink:    #855F22;   /* золото для текста на светлом: 4.5:1 на бежевом, 5.2:1 на кремовом */

  /* текст на светлом */
  --ink:         #2A1C16;   /* 15.0 : 1 на кремовом, 13.0 : 1 на бежевом */
  --ink-soft:    #55443C;   /*  8.4 : 1 / 7.3 : 1 */
  --ink-mute:    #6A5749;   /*  6.2 : 1 / 5.4 : 1 */
  --ink-faint:   #8A7668;   /* только декор, не текст */

  /* текст на шоколадном */
  --on-dark:       #F5EFE5;  /* 12.8 : 1 */
  --on-dark-soft:  #D6C8B8;  /*  8.9 : 1 */
  --on-dark-mute:  #B4A493;  /*  5.9 : 1 */

  /* линии */
  --line:        rgba(133, 95, 34, .24);
  --line-strong: rgba(133, 95, 34, .44);
  --line-dark:   rgba(216, 189, 131, .26);

  /* золотые градиенты — только для декора, не для длинного текста */
  --grad-gold:      linear-gradient(135deg, #E0C894 0%, #B89556 48%, #8F6C33 100%);
  --grad-gold-soft: linear-gradient(90deg, rgba(184,149,86,0) 0%, rgba(184,149,86,.55) 35%, rgba(216,189,131,.9) 50%, rgba(184,149,86,.55) 65%, rgba(184,149,86,0) 100%);

  /* типографика */
  --serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* ритм */
  --pad:        clamp(20px, 5vw, 64px);
  --section:    clamp(76px, 9.5vw, 156px);
  --section-sm: clamp(52px, 6.5vw, 104px);
  --maxw: 1320px;

  --r-sm: 3px;
  --r:    5px;
  --r-lg: 8px;

  --ease: cubic-bezier(.22, .61, .36, 1);
  --header-h: 76px;
}

/* ---------- 2. RESET / BASE ---------- */
*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top: calc(var(--header-h) + 16px);
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:clamp(16px, .55vw + 14.4px, 17.5px);
  line-height:1.78;
  font-weight:400;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

/* hidden должен работать и на элементах с собственным display,
   иначе скрытые контакты остаются видимыми */
[hidden]{ display:none !important; }

img,svg{ display:block; max-width:100%; }
img{ height:auto; }

a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

::selection{ background:rgba(185,154,99,.28); color:var(--ink); }

:focus-visible{
  outline:2px solid var(--caramel);
  outline-offset:3px;
  border-radius:2px;
}

.skip-link{
  position:absolute; left:16px; top:-100px; z-index:2000;
  background:var(--choco); color:var(--on-dark);
  padding:12px 20px; border-radius:var(--r);
  font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  transition:top .2s var(--ease);
}
.skip-link:focus{ top:16px; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ---------- 3. LAYOUT ---------- */
.wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--pad);
}
.wrap--narrow{ max-width:920px; }
.wrap--mid{ max-width:1120px; }

.section{ padding-block:var(--section); position:relative; }
.section--sm{ padding-block:var(--section-sm); }
.section--warm{ background:var(--bg-warm); }
.section--light{ background:var(--bg-light); }
.section--dark{ background:var(--choco); color:var(--on-dark); }
.section--dark p{ color:var(--on-dark-soft); }

.rule{ height:1px; background:var(--line); border:0; margin:0; }
/* принудительный перенос строки только на широких экранах */
@media (max-width:1100px){ .br-lg{ display:none; } }

/* ---------- 4. TYPOGRAPHY ---------- */
.eyebrow{
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-ink);
  font-weight:500;
  margin:0 0 20px;
  display:flex;
  align-items:center;
  gap:14px;
}
.eyebrow::before{
  content:"";
  width:30px; height:2px; flex:none; border-radius:2px;
  background:var(--grad-gold);
}
.eyebrow--center{ justify-content:center; }
.section--dark .eyebrow{ color:var(--gold); }

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:300;
  letter-spacing:-.005em;
  margin:0;
  color:var(--ink);
}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{ color:var(--on-dark); }

.h1{ font-size:clamp(40px, 6.4vw, 86px); line-height:1.02; }
.h2{ font-size:clamp(30px, 4.3vw, 58px); line-height:1.1; }
.h3{ font-size:clamp(24px, 2.3vw, 34px); line-height:1.22; font-weight:400; }
.h4{ font-size:clamp(20px, 1.5vw, 24px); line-height:1.3; font-weight:400; }

.lead{
  font-size:clamp(17.5px, 1.15vw + 13.4px, 21px);
  line-height:1.7;
  color:var(--ink-soft);
  font-weight:300;
}
.section--dark .lead{ color:var(--on-dark-soft); }

.small{ font-size:15px; line-height:1.68; color:var(--ink-mute); }
.gold{ color:var(--gold-ink); }
.it{ font-style:italic; }

.section-head{ max-width:860px; margin-bottom:clamp(40px, 4.5vw, 72px); }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head--center .eyebrow{ justify-content:center; }
.section-head p{ margin-top:22px; }

/* ---------- 5. BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:17px 34px;
  font-size:12px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  border-radius:var(--r);
  border:1px solid transparent;
  transition:background .35s var(--ease), color .35s var(--ease),
             border-color .35s var(--ease), transform .35s var(--ease);
  text-align:center;
  line-height:1.2;
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }

.btn--primary{ background:var(--choco); color:var(--on-dark); }
.btn--primary:hover{ background:var(--caramel); color:var(--white); }

.btn--gold{ background:var(--gold); color:#2C231B; }
.btn--gold:hover{ background:var(--caramel); color:var(--white); }

.btn--ghost{ border-color:var(--line-strong); color:var(--ink); }
.btn--ghost:hover{ border-color:var(--caramel); background:rgba(167,132,98,.07); }

.btn--light{ border-color:var(--line-dark); color:var(--on-dark); }
.btn--light:hover{ background:var(--on-dark); color:var(--choco); border-color:var(--on-dark); }

.btn--sm{ padding:13px 24px; font-size:11px; }
.btn--wide{ width:100%; }

.btn-row{ display:flex; flex-wrap:wrap; gap:14px; }

.link-line{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-ink); font-weight:500;
  padding-bottom:5px;
  border-bottom:1px solid var(--line-strong);
  transition:color .3s var(--ease), border-color .3s var(--ease), gap .3s var(--ease);
}
.link-line:hover{ color:var(--choco); border-color:var(--choco); gap:16px; }
.section--dark .link-line{ color:var(--gold); border-color:var(--line-dark); }
.section--dark .link-line:hover{ color:var(--on-dark); border-color:var(--on-dark); }

/* ---------- 6. PHOTO PLACEHOLDER SYSTEM ---------- */
.ph{
  position:relative; margin:0; overflow:hidden;
  background:var(--bg-warm);
  border-radius:var(--r-lg);
  isolation:isolate;
}
.ph picture{ display:block; width:100%; height:100%; }
.ph img{
  width:100%; height:100%; object-fit:cover; object-position:center 22%;
  display:block;
  opacity:0;
  transition:opacity .7s var(--ease);
}
.ph.is-loaded img{ opacity:1; }
html:not(.js) .ph img{ opacity:1; }
.ph__fallback{
  display:none;
  position:absolute; inset:0;
  flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:28px; text-align:center;
  background:
    linear-gradient(135deg, rgba(216,197,174,.30), rgba(252,250,247,.75) 55%, rgba(216,197,174,.22));
  border:1px solid var(--line);
  border-radius:inherit;
}
.ph.is-empty .ph__fallback{ display:flex; }
.ph.is-empty > img,
.ph.is-empty > picture{ display:none; }
.ph__mark{
  width:44px; height:44px; flex:none;
  border:1px solid var(--line-strong); border-radius:50%;
  display:grid; place-items:center;
  color:var(--gold-ink);
}
.ph__mark svg{ width:19px; height:19px; }
.ph__name{
  font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-ink); font-weight:500;
}
.ph__hint{
  font-size:12.5px; line-height:1.55; color:var(--ink-mute);
  max-width:34ch; font-family:var(--serif); font-style:italic;
  font-size:15px;
}
.ph--p34{ aspect-ratio:3/4; }
.ph--p45{ aspect-ratio:4/5; }
.ph--sq{ aspect-ratio:1/1; }
.ph--l32{ aspect-ratio:3/2; }
.ph--wide{ aspect-ratio:16/9; }
.ph--p916{ aspect-ratio:9/16; }
.ph--doc{ aspect-ratio:4/3; background:var(--white); }
.ph--doc img{ object-fit:cover; object-position:center top; }

/* ---------- 7. HEADER / NAV ---------- */
.header{
  position:fixed; inset:0 0 auto 0; z-index:900;
  height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(248,244,238,.72);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  transition:background .4s var(--ease), box-shadow .4s var(--ease);
}
.header::after{
  content:""; position:absolute; inset:auto 0 0 0; height:1px;
  background:var(--line); opacity:0; transition:opacity .4s var(--ease);
}
.header.is-stuck{ background:rgba(248,244,238,.93); }
.header.is-stuck::after{ opacity:1; }

.header__inner{
  width:100%; max-width:var(--maxw); margin-inline:auto;
  padding-inline:var(--pad);
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px;
}
/* ссылки по центру полосы, как на макете */
.header__inner .nav{ justify-content:center; }

.brand{ display:flex; align-items:center; gap:13px; flex:none; }
.brand__mark{
  width:38px; height:38px; flex:none;
  border:1px solid var(--line-strong); border-radius:50%;
  display:grid; place-items:center;
  font-family:var(--serif); font-size:15px; letter-spacing:.02em;
  color:var(--gold-ink);
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.brand:hover .brand__mark{ border-color:var(--caramel); color:var(--choco); }
.brand__name{
  font-family:var(--serif); font-size:19px; line-height:1.1; letter-spacing:.01em;
  white-space:nowrap;
}
.brand__role{
  display:block; font-family:var(--sans);
  font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-mute); margin-top:3px;
}

.nav{ display:flex; align-items:center; gap:clamp(18px, 2.4vw, 44px); }
.nav__link{
  font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); white-space:nowrap;
  position:relative; padding:6px 0;
  transition:color .3s var(--ease);
}
.nav__link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--caramel);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav__link:hover{ color:var(--ink); }
.nav__link:hover::after,
.nav__link.is-active::after{ transform:scaleX(1); }
.nav__link.is-active{ color:var(--ink); }

.header__cta{
  flex:none; border-radius:100px;
  padding:15px 28px; font-size:11.5px; letter-spacing:.14em;
}

.burger{
  display:none; width:44px; height:44px; flex:none;
  align-items:center; justify-content:center;
  border:1px solid var(--line-strong); border-radius:var(--r);
}
.burger span{
  display:block; width:18px; height:1px; background:var(--ink);
  position:relative; transition:background .25s var(--ease);
}
.burger span::before,.burger span::after{
  content:""; position:absolute; left:0; width:18px; height:1px; background:var(--ink);
  transition:transform .3s var(--ease), top .3s var(--ease);
}
.burger span::before{ top:-6px; }
.burger span::after{ top:6px; }
.burger.is-open span{ background:transparent; }
.burger.is-open span::before{ top:0; transform:rotate(45deg); }
.burger.is-open span::after{ top:0; transform:rotate(-45deg); }

/* мобильное меню */
.mobile-nav{
  position:fixed; inset:0; z-index:880;
  background:var(--bg);
  padding:calc(var(--header-h) + 24px) var(--pad) 40px;
  display:flex; flex-direction:column;
  opacity:0; visibility:hidden;
  transform:translateY(-10px);
  /* видимость включается сразу при открытии и выключается после анимации при
     закрытии — иначе фокус не успевает перейти в меню */
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility 0s linear .4s;
  overflow-y:auto;
}
.mobile-nav.is-open{
  opacity:1; visibility:visible; transform:none;
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility 0s;
}
[inert]{ cursor:default; }
.mobile-nav__list{ display:flex; flex-direction:column; }
.mobile-nav__list a{
  font-family:var(--serif); font-size:26px; font-weight:300;
  padding:16px 0; border-bottom:1px solid var(--line);
}
.mobile-nav__extra{ display:flex; flex-direction:column; margin-top:6px; }
.mobile-nav__extra a{
  font-family:var(--sans); font-size:15px; color:var(--ink-mute);
  padding:13px 0; border-bottom:1px solid var(--line);
}
.mobile-nav__foot{ margin-top:30px; display:grid; gap:14px; }
.mobile-nav__meta{ margin-top:26px; font-size:12.5px; color:var(--ink-mute); letter-spacing:.04em; }

/* ---------- 8. HERO ---------- */
.hero{
  position:relative;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center;
  padding-top:calc(var(--header-h) + clamp(10px, 1.8vw, 30px));
  padding-bottom:clamp(22px, 2.6vw, 44px);
  overflow:hidden;
  background:
    radial-gradient(70% 55% at 16% 22%, rgba(255,255,255,.75) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(135deg, #FBF7F1 0%, var(--bg) 42%, var(--bg-warm) 100%);
}

/* мягкие светлые изгибы слева */
.hero__art{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero__curves{ width:100%; height:100%; }
.hero__curves path{
  fill:none; stroke:rgba(255,255,255,.85); stroke-width:34;
}
.hero__curves path:last-child{ stroke:rgba(216,189,131,.10); stroke-width:16; }

/* фотография справа: родные пропорции, ничего не обрезается */
.hero__media{
  position:absolute; z-index:1; right:0; top:0; bottom:0;
  width:50%;
  display:flex; justify-content:flex-end;
  /* декоративные линии не выходят за половину экрана и не задевают текст */
  overflow:hidden;
}
.hero__photo{
  position:relative;
  height:100%; width:auto; aspect-ratio:940 / 1252;
}
.hero__media .ph{
  width:100%; height:100%;
  border-radius:0; background:transparent;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M100 0 H44 C 20 22, 14 48, 26 70 C 34 85, 30 92, 34 100 H100 Z' fill='%23fff'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M100 0 H44 C 20 22, 14 48, 26 70 C 34 85, 30 92, 34 100 H100 Z' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}
/* кадр задаётся здесь: снимок приходит целиком, без обрезки в сборщике.
   object-position по вертикали определяет, какая часть кадра видна;
   «top» держит верх головы с запасом и не даёт ему уйти под шапку. */
.hero__media .ph img{ object-fit:cover; object-position:center top; }

/* две тонкие золотые дуги ровно по краю фотографии */
.hero__arcs{
  position:absolute; inset:0; z-index:2;
  width:100%; height:100%; pointer-events:none;
}
.hero__arcs path{
  fill:none; stroke:rgba(184,149,86,.7); stroke-width:1.3;
  vector-effect:non-scaling-stroke;
}
.hero__arcs path:last-child{ stroke:rgba(184,149,86,.32); }

.hero__wrap{ position:relative; z-index:2; width:100%; }
.hero__body{ max-width:min(66ch, 50%); }

.hero__eyebrow{
  font-size:clamp(11px, .85vw, 13px);
  letter-spacing:.34em; text-transform:uppercase;
  color:var(--ink-mute); font-weight:400; line-height:1.9;
  margin:0 0 clamp(12px, 1.5vw, 20px);
  position:relative;
}
.hero__eyebrow::after{
  content:""; position:absolute; right:-clamp(40px, 6vw, 110px); bottom:.55em;
  width:clamp(36px, 6vw, 104px); height:1px; background:var(--gold);
}

.hero__title{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(28px, 3.5vw, 52px);
  line-height:1.1; letter-spacing:-.01em;
  color:var(--ink);
  margin:0 0 clamp(13px, 1.4vw, 20px);
}
.hero__accent{
  background:linear-gradient(92deg, #A97C34 0%, #C79A56 45%, #9A6F2C 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__accent-soft{ color:var(--gold-ink); font-weight:500; }

/* пять преимуществ с тонкими разделителями */
.merits{
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr));
  margin:0 0 clamp(14px, 1.6vw, 22px);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.merit{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:5px; padding:clamp(9px, .95vw, 13px) clamp(5px, .7vw, 10px);
  border-right:1px solid var(--line);
}
.merit:last-child{ border-right:0; }
.merit__ico{ color:var(--gold); line-height:0; margin-bottom:2px; }
.merit__ico svg{ width:clamp(26px, 2.3vw, 34px); height:clamp(26px, 2.3vw, 34px); }
.merit__t{
  font-size:clamp(12px, .95vw, 14.5px); font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:var(--ink);
  line-height:1.25;
}
.merit__d{
  font-size:clamp(10.5px, .8vw, 12px); line-height:1.34; color:var(--ink-soft);
}

.hero__say{ margin-bottom:clamp(14px, 1.6vw, 22px); }
.hero__script{
  font-family:"Marck Script", var(--serif), cursive;
  font-size:clamp(29px, 2.7vw, 40px); line-height:1;
  color:var(--gold-ink);
  margin:0 0 6px;
}
.hero__text{
  font-size:clamp(14.5px, 1.06vw, 16.5px); line-height:1.58;
  color:var(--ink-soft); max-width:52ch; margin:0;
}

.hero__cta{ display:flex; flex-wrap:wrap; gap:clamp(10px, 1vw, 16px); }
.hero__cta .btn{
  padding:18px clamp(18px, 1.7vw, 28px);
  font-size:clamp(10.5px, .78vw, 12px); letter-spacing:.12em;
  border-radius:9px;
}
.hero__cta .btn--primary{
  background:linear-gradient(135deg, #4A362C 0%, #35251F 55%, #241813 100%);
}
.hero__cta .btn--ghost{ background:rgba(255,255,255,.55); border-color:rgba(184,149,86,.5); }

/* стрелка в кнопках */
.btn__arrow{ width:17px; height:17px; flex:none; transition:transform .3s var(--ease); }
.btn:hover .btn__arrow{ transform:translateX(4px); }

/* на узких десктопах текстовая колонка чуть уже,
   чтобы между текстом и дугами оставался воздух */
@media (max-width:1340px){
  .hero__body{ max-width:min(66ch, 46%); }
}

@media (max-width:1100px){
  .hero{ min-height:0; display:block; padding-bottom:clamp(40px,5vw,64px); }
  .hero__media{
    position:relative; width:auto; margin-inline:calc(var(--pad) * -1);
    margin-bottom:clamp(24px, 3vw, 36px); height:auto;
  }
  .hero__media .ph{
    aspect-ratio:4/3; -webkit-mask-image:none; mask-image:none;
    border-radius:0 0 var(--r-lg) var(--r-lg);
  }
  .hero__media .ph img{ object-position:center 16%; }
  .hero__arcs{ display:none; }
  .hero__photo{ height:auto; width:100%; aspect-ratio:auto; }
  .hero__body{ max-width:none; }
  .hero__eyebrow::after{ display:none; }
  /* порядок: подпись, заголовок, фото, преимущества, текст, кнопки */
  .hero__wrap{ display:contents; }
  .hero__body{ display:contents; }
  .hero__eyebrow{ order:1; } .hero__title{ order:2; }
  .hero__media{ order:3; } .merits{ order:4; }
  .hero__say{ order:5; } .hero__cta{ order:6; }
  .hero{ display:flex; flex-direction:column; }
  .hero__eyebrow,.hero__title,.merits,.hero__say,.hero__cta{
    width:100%; max-width:var(--maxw); margin-inline:auto;
    padding-inline:var(--pad);
  }
}
@media (max-width:760px){
  .merits{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .merit{ border-bottom:1px solid var(--line); align-items:flex-start; text-align:left; }
  .merit:nth-child(2n){ border-right:0; }
  .merit:last-child{ grid-column:1 / -1; border-bottom:0; }
  .merits{ border-bottom:0; }
  .hero__cta{ flex-direction:column; align-items:stretch; }
}

/* ---------- 9. С ЧЕМ ОБРАЩАЮТСЯ ---------- */
/* Секция рассчитана на один экран, как в макете: пропорции и кегли
   подобраны так, чтобы 4 карточки, кнопки и строка доверия помещались. */
.issues{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center;
  padding-top:calc(var(--header-h) + clamp(8px, 1vw, 16px));
  padding-bottom:clamp(16px, 1.6vw, 24px);
  background:
    radial-gradient(70% 60% at 84% 10%, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 62%),
    linear-gradient(135deg, var(--bg-warm) 0%, var(--bg) 46%, #FBF8F3 100%);
}

/* фотография слева, срез зеркальный первому экрану */
.issues__media{
  position:absolute; z-index:1; left:0; top:0; bottom:0;
  width:47%;
  display:flex; justify-content:flex-start;
  overflow:hidden;
}
.issues__photo{ position:relative; height:100%; width:100%; }
.issues__photo .ph{
  width:100%; height:100%; border-radius:0; background:transparent;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H70 C 100 20, 106 50, 86 76 C 74 92, 78 96, 74 100 H0 Z' fill='%23fff'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H70 C 100 20, 106 50, 86 76 C 74 92, 78 96, 74 100 H0 Z' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}
.issues__photo .ph img{
  object-fit:cover; object-position:52% top;
}
.issues__arcs{ position:absolute; inset:0; z-index:2; width:100%; height:100%; pointer-events:none; }
.issues__arcs path{
  fill:none; stroke:rgba(184,149,86,.7); stroke-width:1.3; vector-effect:non-scaling-stroke;
}
.issues__arcs path:last-child{ stroke:rgba(184,149,86,.32); }

.issues__script{
  position:absolute; z-index:3;
  /* самый широкий участок светлого клина — у нижнего края изгиба */
  right:clamp(6px, .9vw, 16px); bottom:clamp(22px, 2.8vw, 48px);
  margin:0; text-align:center;
  font-family:"Marck Script", var(--serif), cursive;
  font-size:clamp(16px, 1.45vw, 23px); line-height:1.45;
  color:var(--gold-ink);
  transform:rotate(-7deg);
  text-shadow:0 1px 6px rgba(248,244,238,.9);
}
.issues__script span{ display:block; margin-top:4px; font-size:1.1em; }

/* контент начинается строго за изгибом фотографии: левый край колонки —
   ровно половина экрана, правый — как поля секции, поэтому карточки
   не задевают ни дуги, ни рукописную подпись */
.issues__wrap{
  position:relative; z-index:4; width:100%;
  max-width:none; padding-inline:clamp(20px, 3.8vw, 68px);
}
.issues__body{ margin-left:50%; width:auto; }

.eyebrow--rule{ margin-bottom:clamp(8px, 1vw, 14px); }
.eyebrow--rule::after{
  content:""; flex:1; height:1px; margin-left:4px;
  background:linear-gradient(90deg, var(--gold), rgba(184,149,86,0));
}
.issues__title{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(24px, 2.55vw, 46px); line-height:1.07;
  margin-bottom:clamp(6px, .8vw, 12px);
}
.issues__accent{
  background:linear-gradient(92deg, #A97C34 0%, #C79A56 45%, #9A6F2C 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.issues .lead{
  margin-bottom:clamp(8px, .9vw, 12px); max-width:none;
  font-size:clamp(12.5px, .95vw, 17px); line-height:1.38;
}

/* четыре карточки запросов — компактные, как в макете */
.qcards{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(8px, .72vw, 10px);
  align-items:start;
}
.qcard{
  background:rgba(255,255,255,.55);
  border:1px solid var(--line);
  border-radius:10px;
  padding:clamp(10px, .85vw, 12px);
  transition:border-color .4s var(--ease), background .4s var(--ease);
}
.qcard:hover{ border-color:rgba(184,149,86,.5); background:rgba(255,255,255,.8); }
.qcard__head{ display:flex; align-items:center; gap:7px; margin-bottom:clamp(5px, .55vw, 7px); }
.qcard__n{
  font-family:var(--serif); font-size:clamp(15px, 1.25vw, 20px);
  color:var(--gold-ink); line-height:1;
}
.qcard__ico{
  width:clamp(24px, 2vw, 31px); height:clamp(24px, 2vw, 31px); flex:none; border-radius:50%;
  display:grid; place-items:center;
  background:var(--grad-gold); color:#F6EFE3;
}
.qcard__ico svg{ width:55%; height:55%; }
.qcard__t{
  font-family:var(--sans); font-size:clamp(10.5px, .85vw, 12.5px);
  font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink); margin:0; line-height:1.25;
}
.qcard__list{ display:grid; gap:clamp(1px, .12vw, 2px); }
.qcard__list li{
  position:relative; padding-left:16px;
  font-size:clamp(10.8px, .79vw, 11.8px); line-height:1.28; color:var(--ink-soft);
}
.qcard__list li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:9px; height:1px; background:var(--gold);
}

.issues__cta{
  display:flex; flex-wrap:wrap; gap:clamp(9px, .9vw, 14px);
  margin-top:clamp(9px, .95vw, 13px);
}
.issues__cta .btn{
  padding:clamp(10px, .9vw, 13px) clamp(14px, 1.4vw, 22px);
  font-size:clamp(9.5px, .74vw, 12.5px); letter-spacing:.12em;
  border-radius:8px; text-align:center; line-height:1.3;
}
.issues__cta .btn--primary{
  background:linear-gradient(135deg, #4A362C 0%, #35251F 55%, #241813 100%);
}
.issues__cta .btn--ghost{ background:rgba(255,255,255,.6); border-color:rgba(184,149,86,.5); }

.qtrust{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(10px, 1.5vw, 26px);
  margin-top:clamp(8px, .85vw, 12px);
}
.qtrust li{
  display:flex; align-items:center; gap:8px;
  font-size:clamp(9.5px, .74vw, 12.5px); letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:500;
}
.qtrust li + li{ padding-left:clamp(10px, 1.5vw, 26px); border-left:1px solid var(--line-strong); }
.qtrust__ico{ color:var(--gold-ink); line-height:0; }
.qtrust__ico svg{ width:17px; height:17px; }

/* на широких экранах высоты хватает — даём тексту карточек вырасти */
@media (min-width:1700px){
  .qcard__list li{ font-size:13.4px; line-height:1.32; }
  .qcard__t{ font-size:14px; }
  .issues .lead{ font-size:17px; }
}

@media (max-width:1100px){
  .issues{
    min-height:0; display:flex; flex-direction:column;
    gap:clamp(22px, 3vw, 34px); padding-block:clamp(44px, 6vw, 72px);
  }
  .issues__media{ position:relative; width:auto; margin-inline:calc(var(--pad) * -1); }
  .issues__photo{ height:auto; width:100%; aspect-ratio:16/10; }
  .issues__photo .ph{ -webkit-mask-image:none; mask-image:none; }
  .issues__arcs, .issues__script{ display:none; }
  /* на десктопе текст отодвинут на половину экрана от фотографии;
     на узких экранах блоки стоят друг под другом — отступ убираем,
     иначе текст уезжает за правый край и обрезается */
  .issues__body{ width:100%; margin-left:0; }
  .issues__wrap{ width:100%; }
  .qcard__list li{ font-size:15px; }
  .issues .lead{ font-size:17px; }
}
@media (max-width:760px){
  .qcards{ grid-template-columns:1fr; }
  .issues__cta{ flex-direction:column; align-items:stretch; }
  .qtrust{ gap:10px; flex-direction:column; align-items:flex-start; }
  .qtrust li + li{ padding-left:0; border-left:0; }
}

/* ---------- 11. ОБО МНЕ ---------- */
.about{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center;
  padding-top:calc(var(--header-h) + clamp(8px, 1vw, 16px));
  padding-bottom:clamp(16px, 1.6vw, 24px);
  background:
    radial-gradient(70% 60% at 86% 14%, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 62%),
    linear-gradient(120deg, #F5EFE6 0%, var(--bg) 52%, #FBF8F3 100%);
}

.about__media{
  position:absolute; z-index:1; left:0; top:0; bottom:0;
  width:48%;
  display:flex; justify-content:flex-start;
  overflow:hidden;
}
.about__photo{ position:relative; height:100%; width:100%; }
.about__photo .ph{
  width:100%; height:100%; border-radius:0; background:transparent;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H72 C 100 20, 106 50, 86 76 C 74 92, 78 96, 74 100 H0 Z' fill='%23fff'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H72 C 100 20, 106 50, 86 76 C 74 92, 78 96, 74 100 H0 Z' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}
.about__photo .ph img{ object-fit:cover; object-position:48% 30%; }
.about__arcs{ position:absolute; inset:0; z-index:2; width:100%; height:100%; pointer-events:none; }
.about__arcs path{
  fill:none; stroke:rgba(184,149,86,.7); stroke-width:1.3; vector-effect:non-scaling-stroke;
}
.about__arcs path:last-child{ stroke:rgba(184,149,86,.32); }

.about__wrap{
  position:relative; z-index:4; width:100%;
  max-width:none; padding-inline:clamp(20px, 3.8vw, 68px);
}
.about__body{ margin-left:51%; width:auto; }

.about__title{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(25px, 2.75vw, 42px); line-height:1.09;
  margin-bottom:clamp(8px, .9vw, 13px);
}
.about__accent{
  background:linear-gradient(92deg, #A97C34 0%, #C79A56 45%, #9A6F2C 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.about .lead{
  max-width:60ch; margin-bottom:clamp(12px, 1.3vw, 18px);
  font-size:clamp(12.5px, .95vw, 15.5px); line-height:1.5;
}

/* кому помогает — строки с круглыми значками */
.who{ display:grid; gap:clamp(6px, .7vw, 10px); }
.who li{ display:flex; align-items:center; gap:clamp(10px, 1.1vw, 16px); }
.who__ico{
  width:clamp(30px, 2.5vw, 40px); height:clamp(30px, 2.5vw, 40px); flex:none;
  border-radius:50%; display:grid; place-items:center;
  background:rgba(184,149,86,.12); color:var(--gold-ink);
}
.who__ico svg{ width:54%; height:54%; }
.who__t{
  position:relative; padding-left:24px;
  font-size:clamp(12px, .93vw, 15px); line-height:1.4; color:var(--ink-soft);
}
.who__t::before{
  content:""; position:absolute; left:0; top:.62em;
  width:12px; height:1px; background:var(--gold);
}

/* выделенная мысль */
.about__quote{
  margin:clamp(14px, 1.5vw, 22px) 0 clamp(10px, 1.1vw, 16px);
  padding-top:clamp(14px, 1.5vw, 22px);
  border-top:1px solid var(--line);
  display:flex; align-items:center; gap:clamp(12px, 1.3vw, 20px);
}
.about__quote-ico{ color:var(--gold-ink); line-height:0; flex:none; }
.about__quote-ico svg{ width:clamp(22px, 1.8vw, 30px); height:clamp(22px, 1.8vw, 30px); }
.about__quote p{
  margin:0; padding-left:clamp(12px, 1.3vw, 20px);
  border-left:1px solid var(--line-strong);
  font-family:var(--serif); font-weight:600;
  font-size:clamp(16px, 1.5vw, 25px); line-height:1.28; color:var(--ink);
}
.about__task{
  font-size:clamp(12px, .92vw, 15px); line-height:1.5; color:var(--ink-soft);
  max-width:56ch; margin:0;
}

.about__foot{
  margin-top:clamp(14px, 1.6vw, 24px);
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
}
.about__sign-script{
  font-family:"Marck Script", var(--serif), cursive;
  font-size:clamp(22px, 2vw, 32px); line-height:1;
  color:var(--gold-ink); margin:0;
  padding-bottom:8px; border-bottom:1px solid var(--line-strong);
  display:inline-block;
}
.about__motto{
  margin:0; text-align:right;
  font-size:clamp(9.5px, .74vw, 12px); letter-spacing:.16em; text-transform:uppercase;
  line-height:1.6; color:var(--gold-ink); font-weight:600;
}

@media (max-width:1100px){
  .about{
    min-height:0; display:flex; flex-direction:column;
    gap:clamp(22px, 3vw, 34px);
    padding-top:clamp(44px, 6vw, 72px); padding-bottom:clamp(44px, 6vw, 72px);
  }
  .about__media{ position:relative; width:auto; margin-inline:calc(var(--pad) * -1); }
  .about__photo{ height:auto; width:100%; aspect-ratio:16/10; }
  .about__photo .ph{ -webkit-mask-image:none; mask-image:none; }
  .about__arcs{ display:none; }
  .about__wrap{ width:100%; }
  .about__body{ margin-left:0; }
  .about .lead, .about__task{ font-size:16px; }
  .who__t{ font-size:15.5px; }
}
@media (max-width:620px){
  .about__foot{ flex-direction:column; align-items:flex-start; gap:18px; }
  .about__motto{ text-align:left; }
}

/* ---------- 12. ПОЧЕМУ МНЕ ДОВЕРЯЮТ ---------- */
/* Блок рассчитан на один экран, как в макете: шоколадный фон, фотография
   справа со срезом и золотыми дугами, шесть карточек фактов, полоса
   направлений и подпись внизу. Кегли подобраны так, чтобы всё помещалось. */
.trust{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center;
  padding-top:calc(var(--header-h) + clamp(5px, .6vw, 10px));
  padding-bottom:clamp(12px, 1.1vw, 17px);
  background:
    radial-gradient(62% 50% at 32% 4%, rgba(255,228,190,.11) 0%, rgba(255,228,190,0) 64%),
    linear-gradient(176deg, #4C3223 0%, #432C1E 48%, #3B2518 100%);
}

/* фотография справа: срез и дуги живут в одной системе координат */
.trust__media{
  position:absolute; z-index:1; right:0; top:0; bottom:0;
  width:54%;
  overflow:hidden;
}
.trust__photo{ position:relative; height:100%; width:100%; }
.trust__photo .ph{
  width:100%; height:100%; border-radius:0; background:transparent;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M100 0 H14 C 9 9, 7 19, 7.4 28 C 8 42, 13 58, 17.3 72 C 19 84, 12 93, 9 100 H100 Z' fill='%23fff'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M100 0 H14 C 9 9, 7 19, 7.4 28 C 8 42, 13 58, 17.3 72 C 19 84, 12 93, 9 100 H100 Z' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}
.trust__photo .ph img{ object-fit:cover; object-position:54% 22%; }
.trust__arcs{ position:absolute; inset:0; z-index:2; width:100%; height:100%; pointer-events:none; }
.trust__arcs path{
  fill:none; stroke:rgba(216,189,131,.75); stroke-width:1.2; vector-effect:non-scaling-stroke;
}
.trust__arcs path:last-child{ stroke:rgba(216,189,131,.34); }

.trust__wrap{
  position:relative; z-index:4; width:100%;
  max-width:none; padding-inline:clamp(20px, 3.4vw, 52px);
}
.trust__body{ position:relative; width:51%; }

/* веточка — декоративный акцент у заголовка */
.trust__sprig .trust__sprig-stem{ fill:none; }
.trust__sprig{
  position:absolute; z-index:-1; right:1%; top:-2%;
  width:clamp(54px, 6.4vw, 100px); height:auto;
  fill:rgba(216,189,131,.16); stroke:rgba(216,189,131,.5); stroke-width:1.1;
  stroke-linecap:round; stroke-linejoin:round;
  pointer-events:none;
}

.trust__eyebrow{
  color:var(--gold-light);
  font-size:clamp(10px, .85vw, 13px); letter-spacing:.2em; font-weight:400;
  margin:0 0 clamp(7px, .82vw, 13px);
  gap:clamp(10px, 1.6vw, 25px);
}
.trust__eyebrow::before{
  width:clamp(22px, 3.3vw, 50px); height:1px; border-radius:0;
  background:linear-gradient(90deg, rgba(216,189,131,0), rgba(216,189,131,.85));
}
.trust__eyebrow::after{
  content:""; width:clamp(22px, 3.3vw, 50px); height:1px; flex:none;
  background:linear-gradient(90deg, rgba(216,189,131,.85), rgba(216,189,131,0));
}

.trust__title{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(27px, 3.55vw, 55px); line-height:.92;
  letter-spacing:-.005em; color:var(--on-dark);
  margin:0 0 clamp(9px, 1.22vw, 19px);
}
.trust__lead{
  font-size:clamp(12px, .96vw, 15.4px); line-height:1.34;
  color:var(--on-dark-soft); font-weight:300;
  margin:0 0 clamp(9px, 1vw, 16px); max-width:52ch;
}

/* шесть карточек фактов: правая колонка шире — как в макете */
.mcards{
  display:grid;
  grid-template-columns:minmax(0,.47fr) minmax(0,.53fr);
  gap:clamp(7px, .74vw, 11.5px);
  align-items:stretch;
}
.mcard{
  display:flex; align-items:center; gap:clamp(9px, .95vw, 15px);
  padding:clamp(8px, .72vw, 11px) clamp(10px, .9vw, 14px);
  border:1px solid rgba(216,189,131,.17);
  border-radius:12px;
  background:rgba(255,236,214,.05);
  transition:border-color .4s var(--ease), background .4s var(--ease);
}
.mcard:hover{ border-color:rgba(216,189,131,.34); background:rgba(255,236,214,.08); }
.mcard__ico{
  width:clamp(38px, 3.8vw, 58px); height:clamp(38px, 3.8vw, 58px); flex:none;
  border:1px solid rgba(216,189,131,.45); border-radius:50%;
  display:grid; place-items:center; color:var(--gold-light);
}
.mcard__ico svg{ width:52%; height:52%; }
.mcard__text{ min-width:0; }
.mcard__t{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(16px, 1.68vw, 26px); line-height:1.02;
  color:var(--on-dark); margin:0 0 clamp(2px, .28vw, 5px);
}
.mcard__t--word{ font-size:clamp(13px, 1.2vw, 19px); line-height:1.08; }
.mcard__d{
  font-size:clamp(10px, .755vw, 12px); line-height:1.32;
  color:var(--on-dark-soft); margin:0; font-weight:300;
}

/* полоса основных направлений */
.mstrip{
  display:flex; align-items:center; gap:clamp(11px, 2.4vw, 38px);
  margin-top:clamp(7px, .74vw, 11.5px);
  padding:clamp(6px, .5vw, 8px) clamp(10px, .9vw, 14px);
  border:1px solid rgba(216,189,131,.17);
  border-radius:12px;
  background:rgba(255,236,214,.05);
}
.mstrip__ico{
  width:clamp(26px, 2.2vw, 34px); height:clamp(26px, 2.2vw, 34px); flex:none;
  color:var(--gold-light); display:grid; place-items:center;
}
.mstrip__ico svg{ width:100%; height:100%; }
.mstrip__t{
  font-family:var(--serif); font-size:clamp(13px, 1.15vw, 18px);
  color:var(--on-dark); margin:0; flex:none;
}
.mstrip__d{
  font-size:clamp(10.5px, .82vw, 13.2px); letter-spacing:.06em;
  color:var(--on-dark-soft); margin:0; font-weight:400;
}

/* подпись: сердце, мысль курсивом и девиз через золотую линию */
.trust__foot{
  display:flex; align-items:center; gap:clamp(11px, 1.25vw, 20px);
  margin-top:clamp(10px, 1.2vw, 19px);
}
.trust__heart{ color:var(--gold-light); flex:none; line-height:0; }
.trust__heart svg{ width:clamp(24px, 2.2vw, 34px); height:clamp(24px, 2.2vw, 34px); }
.trust__quote{
  font-family:var(--serif); font-style:italic;
  font-size:clamp(12.5px, 1.16vw, 18.5px); line-height:1.22;
  color:var(--on-dark); margin:0; flex:1;
}
.trust__motto{
  margin:0; flex:none;
  padding-left:clamp(11px, 1.3vw, 21px);
  border-left:1px solid rgba(216,189,131,.45);
  font-size:clamp(8.5px, .66vw, 10.5px); line-height:1.5;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--on-dark-mute); font-weight:400;
}

@media (min-width:1700px){
  .mcard__d{ font-size:13.8px; }
  .trust__lead{ font-size:18px; }
}

@media (max-width:1100px){
  .trust{
    min-height:0; display:flex; flex-direction:column;
    gap:clamp(22px, 3vw, 34px); padding-block:clamp(44px, 6vw, 72px);
  }
  .trust__media{ position:relative; width:auto; margin-inline:calc(var(--pad) * -1); }
  .trust__photo{ height:auto; width:100%; aspect-ratio:4/3; }
  .trust__photo .ph{ -webkit-mask-image:none; mask-image:none; }
  .trust__photo .ph img{ object-position:58% 12%; }
  .trust__arcs{ display:none; }
  .trust__wrap{ width:100%; padding-inline:var(--pad); }
  .trust__body{ width:100%; }
  .trust__sprig{ display:none; }
  .trust__lead{ font-size:17px; line-height:1.6; }
  .mcard__d{ font-size:14px; line-height:1.45; }
  .trust__quote{ font-size:20px; line-height:1.4; }
}
@media (max-width:760px){
  .mcards{ grid-template-columns:1fr; }
  .mstrip{ flex-wrap:wrap; }
  .mstrip__d{ margin-left:0; width:100%; }
  .trust__foot{ flex-wrap:wrap; }
  .trust__motto{
    padding-left:0; border-left:0; width:100%;
    padding-top:12px; border-top:1px solid rgba(216,189,131,.35);
  }
  .trust__motto br{ display:none; }
}

/* ---------- 13. ОБРАЗОВАНИЕ ---------- */
/* Блок на один экран: слева документы, справа кремовая панель с тремя
   записями об образовании и полосой из трёх фактов. */
.edu-section{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center; justify-content:flex-end;
  padding:calc(var(--header-h) + clamp(5px, .55vw, 9px)) 0 clamp(8px, .7vw, 11px);
  background:var(--bg-light);
}
/* Фотография начинается под шапкой: на самом снимке сверху есть подпись
   «Знания, которые помогают людям», и фиксированная шапка её перекрывала. */
.edu-section__media{
  position:absolute; left:0; top:var(--header-h); bottom:0; width:50%;
  overflow:hidden;
  background:linear-gradient(150deg, #F3EADC 0%, #EFE4D3 46%, #E8DAC5 100%);
}
.edu-section__media .ph{
  width:100%; height:100%; border-radius:0; background:transparent;
}
.edu-section__media .ph img{ object-fit:cover; object-position:center top; }

/* Подпись «Знания, которые помогают людям» и композиция документов —
   часть самой фотографии edu-documents, отдельной вёрстки не требуют.
   Кадр держим так, чтобы подпись сверху не срезалась. */

.edu-section__panel{
  position:relative; z-index:2;
  width:50%; align-self:stretch;
  display:flex; align-items:center;
  padding-inline:clamp(18px, 2.2vw, 34px) clamp(20px, 2.6vw, 40px);
  background:var(--bg-light);
}
.edu-section__body{ width:100%; }
.edu-section__panel .eyebrow{
  font-size:clamp(10px, .78vw, 12px); margin-bottom:clamp(6px, .75vw, 11px);
  gap:clamp(8px, 1vw, 14px);
}
.edu-section__panel .eyebrow::before{ width:clamp(18px, 1.9vw, 30px); height:1px; border-radius:0; }
.edu-section__title{
  font-size:clamp(24px, 3.32vw, 53px); line-height:1.05;
  margin-bottom:clamp(6px, .72vw, 11px);
}
.edu-section__lead{
  font-size:clamp(12px, .99vw, 15.4px); line-height:1.48;
  margin-bottom:clamp(6px, .72vw, 11px);
}

/* компактная запись: номер слева, под заголовком — детали и плашка */
.edu--compact .edu__item{
  grid-template-columns:clamp(34px, 3.4vw, 54px) minmax(0,1fr);
  gap:0;
  padding:clamp(4px, .5vw, 7.5px) 0;
  align-items:start;
}
.edu--compact .edu__n{ font-size:clamp(10px, .82vw, 13px); line-height:1.9; }
.edu--compact .edu__title{
  font-size:clamp(16px, 1.68vw, 26.5px); line-height:1.1; margin-bottom:clamp(2px, .32vw, 5px);
}
.edu--compact .edu__meta{ font-size:clamp(10px, .85vw, 13.4px); line-height:1.36; }
.edu--compact .edu__hours{ display:block; width:max-content; line-height:1.15; margin-top:clamp(3px, .34vw, 5px); }

/* три факта одной строкой под списком */
.edu-facts{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:clamp(6px, .65vw, 10px);
  border:1px solid var(--line); border-radius:8px;
  background:rgba(255,255,255,.5);
}
.edu-facts li{
  padding:clamp(5px, .55vw, 8px) clamp(7px, .8vw, 12px);
  text-align:center; align-self:center;
  font-size:clamp(9.5px, .79vw, 12.4px); line-height:1.32; color:var(--ink-soft);
}
.edu-facts li + li{ border-left:1px solid var(--line); }

/* ---------- 13b. ПРОФЕССИОНАЛЬНОЕ РАЗВИТИЕ ---------- */
.growth{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center;
  padding:calc(var(--header-h) + clamp(5px, .55vw, 9px)) 0 clamp(10px, .9vw, 14px);
  background:var(--bg);
}
/* Фон блока — фотография собственника: книги и гипсофила слева внизу,
   справа пустое кремовое поле под текст. Пропорции снимка (1748×898)
   почти совпадают с экраном, поэтому кадр почти не обрезается. */
.growth__art{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg, #FCFAF5 0%, var(--bg) 58%, #F4EDE1 100%);
}
.growth__art picture{ display:block; position:absolute; inset:0; }
.growth__art img{
  width:100%; height:100%; object-fit:cover; object-position:left bottom;
  opacity:1;
}
.growth__wrap{
  position:relative; z-index:2; width:100%;
  max-width:var(--maxw); margin-inline:auto;
  /* Книги на фотографии занимают левые 17,2 % кадра. Кадр вписан по covera,
     поэтому их правый край в пикселях = max(17.2vw, 33.5vh). Текст начинается
     правее этой границы на любом экране — иначе строки наезжают на книги. */
  --books:  max(17.2vw, 33.5vh);
  --gutter: max(0px, (100vw - var(--maxw)) / 2);
  padding-left:max(187px, calc(var(--books) + 26px - var(--gutter)));
  padding-right:clamp(20px, 3.4vw, 52px);
}
.growth__head{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(16px, 2.4vw, 40px); align-items:start;
  margin-bottom:clamp(8px, 1vw, 16px);
}
.growth .eyebrow{
  font-size:clamp(10px, .78vw, 12px); margin-bottom:clamp(8px, 1vw, 15px);
  gap:clamp(8px, 1vw, 14px);
}
.growth .eyebrow::before{ width:clamp(18px, 1.9vw, 30px); height:1px; border-radius:0; }
.growth__title{
  font-size:clamp(24px, 2.9vw, 46px); line-height:1.05;
  margin-bottom:clamp(6px, .75vw, 12px);
}
.growth__lead{
  font-size:clamp(12px, .93vw, 14.6px); line-height:1.45; margin:0;
}
.growth__note{
  margin:clamp(2px, .4vw, 6px) 0 0; max-width:16ch; justify-self:end;
  font-family:var(--serif); font-style:italic;
  font-size:clamp(12px, 1.02vw, 16px); line-height:1.4;
  color:var(--gold-ink);
}
.growth .edu__item{ padding:clamp(7px, .75vw, 12px) 0; }
.growth .edu__title{ font-size:clamp(14px, 1.28vw, 20px); line-height:1.22; }
.growth .edu__meta{ font-size:clamp(10px, .8vw, 12.6px); line-height:1.42; }
.growth .edu__hours{ display:block; width:max-content; line-height:1.15; margin-top:clamp(4px, .45vw, 7px); }
.growth .edu__note{ margin-top:clamp(9px, 1vw, 16px); font-size:clamp(10px, .8vw, 12.6px); line-height:1.5; }
.growth .edu__foot{ margin-top:clamp(9px, 1vw, 16px); }
.growth .edu__foot .btn{
  padding:clamp(10px, 1vw, 16px) clamp(16px, 1.7vw, 28px);
  font-size:clamp(9.5px, .75vw, 12px);
}

.edu{ display:grid; gap:0; border-top:1px solid var(--line); }
.edu__item{
  display:grid;
  grid-template-columns:clamp(60px, 7.6vw, 100px) minmax(0,1fr) minmax(0,.62fr);
  gap:clamp(14px, 2vw, 34px);
  align-items:baseline;
  padding:clamp(26px, 2.8vw, 40px) 0;
  border-bottom:1px solid var(--line);
}
.edu__n{
  /* --gold на кремовом даёт 2.7:1 и не проходит AA для текста,
     --gold-ink даёт 5.5:1 при том же оттенке */
  font-family:var(--serif); font-size:15px; color:var(--gold-ink); letter-spacing:.1em;
}
.edu__title{ font-size:clamp(20px, 1.7vw, 27px); line-height:1.3; }
.edu__meta{
  font-size:15px; color:var(--ink-soft); line-height:1.65;
}
.edu__hours{
  display:inline-block; margin-top:10px;
  font-size:clamp(9.5px, .78vw, 12px); letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-ink); border:1px solid var(--line-strong);
  border-radius:100px; padding:clamp(3px, .4vw, 5px) clamp(9px, 1vw, 14px);
}
.edu__note{
  border-left:2px solid var(--gold); padding-left:clamp(12px, 1.4vw, 22px);
  font-size:clamp(11px, .87vw, 14px); line-height:1.55; color:var(--ink-soft); max-width:92ch;
}
.edu__foot{
  margin-top:clamp(34px, 4vw, 56px);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px;
}

@media (max-width:1100px){
  .edu-section{
    min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px);
  }
  .edu-section__media{
    position:relative; top:0; width:auto; height:clamp(320px, 66vw, 480px);
    margin-inline:calc(var(--pad) * -1); margin-bottom:clamp(24px, 3vw, 36px);
  }
  .edu-section__panel{
    width:auto; padding-inline:var(--pad); background:none;
  }
  .edu-section__lead, .edu--compact .edu__meta{ font-size:15px; line-height:1.6; }
  .edu--compact .edu__title{ font-size:22px; }
  .edu-facts li{ font-size:13.5px; }

  .growth{ min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px); }
  .growth__art img{ object-position:right top; opacity:.5; }
  .growth__wrap{ padding-inline:var(--pad); }
  .growth__head{ grid-template-columns:1fr; }
  .growth__note{ justify-self:start; max-width:none; }
  .growth .edu__title{ font-size:20px; }
  .growth .edu__meta{ font-size:15px; }
}
@media (max-width:760px){
  .edu-facts{ grid-template-columns:1fr; }
  .edu-facts li + li{ border-left:0; border-top:1px solid var(--line); }
}

/* ---------- 14. КАК ПРОХОДИТ РАБОТА ---------- */
/* Блок на один экран: слева заголовок, портрет и рукописная подпись,
   справа вертикальный путь из пяти шагов-карточек. */
.path-section{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:flex; align-items:center;
  padding:calc(var(--header-h) + clamp(5px, .55vw, 9px)) 0 clamp(10px, .9vw, 14px);
  background:var(--bg);
  border-top:1px solid var(--line);
}
/* Фон блока — фотография собственника: тень растения и оконного света слева,
   справа пустое кремовое поле. Пропорции снимка (1656×948) совпадают
   с пропорциями блока, поэтому кадр почти не обрезается. */
.path-section__art{
  position:absolute; inset:0; pointer-events:none;
  background:var(--bg);
}
.path-section__art picture{ display:block; position:absolute; inset:0; }
.path-section__art img{
  width:100%; height:100%; object-fit:cover; object-position:left center;
}
.path__wrap{ position:relative; z-index:2; }

.path{
  display:grid;
  grid-template-columns:minmax(0, 46fr) minmax(0, 54fr);
  gap:clamp(24px, 3.4vw, 56px);
  align-items:center;
}
/* Мягкий световой блик под левой колонкой: фотография фона там чуть темнее,
   и надзаголовок на ней давал 4,43:1 вместо 4,5 по AA. Блик поднимает
   подложку, не перекрывая тень растения у самого края. */
.path__intro{ position:relative; }
.path__intro::before{
  content:""; position:absolute; z-index:-1;
  inset:clamp(-40px, -3vw, -24px) clamp(-48px, -3.6vw, -28px);
  background:radial-gradient(74% 62% at 34% 36%,
    rgba(252,250,247,.82) 0%, rgba(252,250,247,.45) 52%, rgba(252,250,247,0) 78%);
}
.path__title{
  font-size:clamp(26px, 3.4vw, 54px); line-height:1.05;
  margin-bottom:clamp(8px, 1vw, 16px);
}
.path__lead{
  font-size:clamp(12.5px, .99vw, 15.4px); line-height:1.5;
  margin:0; max-width:none;
}
.path-section .eyebrow{
  font-size:clamp(10px, .78vw, 12px); margin-bottom:clamp(7px, .85vw, 13px);
  gap:clamp(8px, 1vw, 14px);
}
.path-section .eyebrow::before{ width:clamp(18px, 1.9vw, 30px); height:1px; border-radius:0; }

/* портрет и рукописная подпись */
.path__author{
  display:grid; grid-template-columns:auto auto;
  justify-content:start;
  gap:clamp(10px, 1.3vw, 22px); align-items:center;
  margin-top:clamp(14px, 1.9vw, 30px);
}
.ph--path{
  aspect-ratio:4/5; border-radius:16px;
  width:clamp(180px, 22vw, 350px);
}
.ph--path img{ object-position:center 18%; }
/* Рукописная подпись рядом с фотографией: строки идут горизонтально
   с лёгким наклоном, под ними — короткая золотая черта. */
.path__sign{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:clamp(10px, 1.2vw, 20px);
  transform:rotate(-7deg);
}
.path__script{
  font-family:"Marck Script", var(--serif), cursive;
  font-size:clamp(14px, 1.32vw, 21px); line-height:1.5;
  color:var(--gold-ink); margin:0;
  max-width:11ch;
}
.path__sign::after{
  content:""; width:clamp(26px, 2.8vw, 44px); height:1px;
  background:var(--gold);
}

/* вертикальный путь: линия проходит через номера, между ними — точки */
.path__list{
  --pn:clamp(36px, 3.1vw, 50px);
  --pgap:clamp(10px, 1.25vw, 20px);
  position:relative; list-style:none; margin:0; padding:0;
  display:grid; gap:var(--pgap);
}
.path__list::before{
  content:""; position:absolute; z-index:0;
  left:calc(var(--pn) / 2); top:14px; bottom:14px; width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,
    rgba(133,95,34,0) 0%, rgba(133,95,34,.4) 10%,
    rgba(133,95,34,.4) 90%, rgba(133,95,34,0) 100%);
}
.path__item{
  position:relative; z-index:1;
  display:grid; grid-template-columns:var(--pn) minmax(0,1fr);
  gap:clamp(12px, 1.5vw, 24px);
  align-items:center;
}
.path__item:not(:last-child)::after{
  content:""; position:absolute; z-index:2;
  left:calc(var(--pn) / 2); transform:translate(-50%, 50%);
  bottom:calc(var(--pgap) / -2);
  width:5px; height:5px; border-radius:50%; background:var(--gold);
}
.path__n{
  width:var(--pn); height:var(--pn); flex:none;
  display:grid; place-items:center;
  border-radius:50%;
  background:var(--bg);
  border:1px solid var(--line-strong);
  font-family:var(--serif); font-size:clamp(12px, 1vw, 16px); font-weight:400;
  color:var(--gold-ink); letter-spacing:.02em;
}
.path__card{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(10px, 1.2vw, 18px); align-items:center;
  padding:clamp(9px, 1vw, 16px) clamp(13px, 1.35vw, 22px);
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:14px;
}
.path__body{ padding-top:0; min-width:0; }
.path__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(16px, 1.42vw, 23px); line-height:1.2;
  color:var(--ink); margin-bottom:clamp(2px, .28vw, 5px);
}
.path__d{
  font-size:clamp(10.5px, .85vw, 13.4px); line-height:1.42; color:var(--ink-soft);
  max-width:46ch; margin:0;
}
.path__ico{
  width:clamp(32px, 2.9vw, 46px); height:clamp(32px, 2.9vw, 46px); flex:none;
  border-radius:12px; display:grid; place-items:center;
  background:rgba(216,197,174,.3); color:var(--gold-ink);
}
.path__ico svg{ width:52%; height:52%; }

@media (max-width:1040px){
  .path-section{ min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px); }
  .path-section__art{ display:none; }
  .path{ grid-template-columns:1fr; gap:clamp(34px, 5vw, 52px); align-items:start; }
  .path__title{ font-size:clamp(28px, 6vw, 44px); }
  .path__lead{ font-size:17px; line-height:1.6; max-width:52ch; }
  .path__author{ max-width:460px; }
  .path__t{ font-size:21px; }
  .path__d{ font-size:15px; line-height:1.55; max-width:56ch; }
  .path__ico{ width:44px; height:44px; }
}
@media (max-width:560px){
  .path__list{ --pn:40px; --pgap:16px; }
  .path__n{ font-size:15px; }
  .path__t{ font-size:19px; }
  .path__d{ font-size:14.5px; }
  .path__card{ padding:14px 16px; }
  .path__ico{ width:38px; height:38px; }
  .path__author{ grid-template-columns:minmax(0,1fr) auto; }
  .path__script{ font-size:16px; }
}

/* ---------- 15. УСЛУГИ — ФОРМАТЫ РАБОТЫ ---------- */
/* Блок на один экран: слева фотография с заголовком поверх неё,
   справа три карточки форматов и девиз под ними. */
.services{
  position:relative; overflow:hidden;
  min-height:min(1040px, 100svh);
  display:grid; grid-template-columns:47% 53%;
  align-items:start;
  padding:calc(var(--header-h) + clamp(4px, .4vw, 7px)) 0 clamp(6px, .5vw, 8px);
  background:#F3EDE5;
}
.services__media{
  position:absolute; left:0; top:0; bottom:0; width:47%; z-index:0;
  overflow:hidden;
}
.services__media .ph{
  /* Снимок опущен и уменьшен: голова начинается ниже заголовка, кадр виден
     целиком — плечи, костюм, раскрытая книга, кресло, цветы слева.
     Верхний и правый края растворяются маской, прямоугольной границы нет. */
  position:absolute; inset:18% 0 -14% 0;
  width:auto; height:auto; border-radius:0; background:transparent;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 15%, #000 100%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 15%, #000 100%);
}
.services__media .ph img{ object-fit:cover; object-position:center top; }

.services__head{
  position:relative; z-index:2; grid-column:1;
  align-self:start;
  /* левый отступ 10,4 % ширины — как на рендере */
  padding:clamp(6px, .8vw, 14px) clamp(14px, 4.6vw, 75px) 0 clamp(24px, 10.4vw, 170px);
}
/* Надзаголовок и рукописная подпись лежат на фотографии: обычное --gold-ink
   давало на ней 4,48 и 4,12 при норме AA 4,5. Оттенок на полтона глубже
   поднимает их до 5,2 и 4,7, на глаз разница незаметна. */
/* Эталон нарисован в 1320×802. --u = 1 % его ширины; на экранах ниже
   по пропорции единица уменьшается вместе с высотой, поэтому блок
   остаётся в один экран и сохраняет пропорции макета. */
.services{
  /* 1 --u = 1 % ширины эталона 1320×802. По высоте считаем от полезной области,
     то есть за вычетом фиксированного меню, иначе на низких экранах нижняя
     подпись срезается. Нижняя граница 11 px — чтобы текст не стал мелким. */
  --u:clamp(11px, min(1vw, calc((100vh - var(--header-h)) * .01818)), 13.2px);
  --gold-on-photo:#7A561E;
}
.services .eyebrow{
  color:var(--gold-on-photo);
  font-size:clamp(10px, calc(.91 * var(--u)), 12px); margin-bottom:calc(1.1 * var(--u));
  gap:calc(1.1 * var(--u));
}
.services .eyebrow::before{ width:clamp(18px, 1.9vw, 30px); height:1px; border-radius:0; }
.services__title{
  font-size:clamp(25px, calc(3.94 * var(--u)), 52px); line-height:.96;
  margin:0;
}
.services__lead{
  margin:calc(1.6 * var(--u)) 0 0 auto;
  max-width:26ch; text-align:right;
  font-size:clamp(11.5px, calc(1.06 * var(--u)), 14px); line-height:1.55;
  color:var(--ink-soft); font-weight:300;
}

/* рукописная подпись: на фотографии её нет, набираем тем же Marck Script */
.services__script{
  margin:clamp(14px, 1.9vw, 32px) clamp(6px, 1vw, 18px) 0 auto;
  position:relative; width:max-content; text-align:center;
  font-family:"Marck Script", var(--serif), cursive;
  font-size:clamp(14px, 1.42vw, 23px); line-height:1.5;
  color:var(--gold-on-photo);
  transform:rotate(-8deg);
}
.services__script::after{
  content:""; display:block; width:clamp(26px, 2.8vw, 44px); height:1px;
  margin:clamp(9px, 1.1vw, 18px) 0 0 auto; background:var(--gold);
}

.services__panel{
  position:relative; z-index:2; grid-column:2;
  padding:0 clamp(12px, 2.2vw, 34px) 0 clamp(8px, .9vw, 15px);
  display:flex; flex-direction:column; gap:calc(.8 * var(--u));
}

.formats{
  display:grid; gap:calc(1.06 * var(--u));
  list-style:none; margin:0; padding:0;
}
.format{
  position:relative;
  display:grid;
  grid-template-columns:clamp(18px, calc(1.89 * var(--u)), 25px) minmax(0,1fr) auto;
  grid-template-rows:auto auto auto;
  column-gap:clamp(10px, calc(2.05 * var(--u)), 27px);
  align-items:start;
  background:#F8F3ED;
  border:1px solid rgba(133,95,34,.14);
  border-radius:14px;
  padding:calc(1.06 * var(--u)) clamp(12px, calc(1.67 * var(--u)), 22px) calc(1.36 * var(--u)) clamp(12px, calc(1.67 * var(--u)), 22px);
  transition:border-color .5s var(--ease), background .5s var(--ease);
}
.format:hover{ border-color:rgba(184,149,86,.42); background:#FBF7F2; }
.format__n{
  grid-area:1 / 1;
  font-family:var(--serif); font-size:clamp(11px, calc(1.06 * var(--u)), 14px);
  color:var(--gold-ink); letter-spacing:.06em; line-height:2.1;
}
.format__body{ grid-area:1 / 2; min-width:0; }
.format__ico{
  grid-area:1 / 3; align-self:start;
  width:clamp(44px, calc(6.44 * var(--u)), 85px); height:clamp(44px, calc(6.44 * var(--u)), 85px); flex:none;
  justify-self:center;
  border-radius:50%; display:grid; place-items:center;
  background:rgba(216,197,174,.28); color:var(--gold-ink);
}
.format__ico svg{ width:48%; height:48%; }
.format__title{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(16px, calc(2.05 * var(--u)), 27px); line-height:1.26;
  color:var(--ink); margin:0 0 clamp(2px, .3vw, 4px);
}
.format__desc{
  font-size:clamp(11px, calc(1.14 * var(--u)), 15px); line-height:1.4; color:var(--ink-soft);
  margin:0; max-width:46ch;
}
.format__rule{
  grid-area:2 / 2;
  height:1px; margin:calc(.68 * var(--u)) 0 calc(.61 * var(--u));
  background:linear-gradient(90deg,
    rgba(184,149,86,.4) 0%, rgba(216,189,131,.3) 60%, rgba(184,149,86,0) 100%);
}
.format__foot{ display:contents; }
.format__meta{ grid-area:3 / 2; align-self:center; }
.format__btn{ grid-area:3 / 3; align-self:end; justify-self:end; }
.format__meta{
  display:flex; align-items:center; gap:clamp(8px, .95vw, 15px);
  margin:0; flex-wrap:wrap;
}
.format__time{
  font-size:clamp(10px, calc(.98 * var(--u)), 13px); letter-spacing:.06em;
  color:var(--ink-mute);
}
.format__sep{ width:1px; height:1em; background:var(--line-strong); flex:none; }
.format__price{
  font-size:clamp(10px, calc(.98 * var(--u)), 13px); letter-spacing:.04em; color:var(--ink-mute);
}
.format__price b{
  font-family:var(--serif); font-weight:400; letter-spacing:0;
  font-size:clamp(15px, calc(1.67 * var(--u)), 22px); color:var(--ink);
}
.format__price span{ color:var(--ink-mute); }
.format__btn{
  padding:calc(.83 * var(--u)) clamp(14px, calc(1.97 * var(--u)), 26px);
  font-size:clamp(9px, calc(.83 * var(--u)), 11px); letter-spacing:.13em;
  border-radius:100px;
  background:linear-gradient(135deg, #4A362C 0%, #35251F 55%, #241813 100%);
}
.format__btn .btn__arrow{ width:14px; height:14px; }

.services__motto{
  margin:0; text-align:right; align-self:flex-end;
  display:flex; align-items:center; justify-content:flex-end; gap:clamp(10px, 1.2vw, 20px);
  font-size:clamp(8.5px, .68vw, 11px); letter-spacing:.16em; text-transform:uppercase;
  line-height:1.7; color:var(--gold-ink);
}
.services__motto::before{
  content:""; width:clamp(26px, 3vw, 48px); height:1px; background:var(--gold); flex:none;
}

@media (max-width:1040px){
  .services{
    min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px);
    background:var(--bg);
  }
  .services__media{
    position:relative; width:auto; height:clamp(320px, 66vw, 480px);
    margin-inline:calc(var(--pad) * -1); margin-bottom:clamp(24px, 3vw, 36px);
  }
  .services__media .ph{ position:relative; inset:auto; width:100%; height:100%;
    -webkit-mask-image:none; mask-image:none; }
  .services__media .ph img{ object-fit:cover; object-position:center top; }
  .services__head{ padding:0 var(--pad); }
  .services__title{ font-size:clamp(28px, 6vw, 44px); }
  .services__lead{ margin-left:0; text-align:left; max-width:52ch; font-size:16px; }
  .services__panel{ padding-inline:var(--pad); margin-top:clamp(24px, 3vw, 36px); }
  .format__title{ font-size:21px; }
  .format__desc{ font-size:15px; line-height:1.55; }
  .format__ico{ width:52px; height:52px; }
  .format__time, .format__price{ font-size:13px; }
  .format__price b{ font-size:22px; }
  .format__btn{ font-size:11px; padding:13px 22px; }
  .services__motto{ font-size:11px; }
}
@media (max-width:560px){
  .format{ grid-template-columns:26px minmax(0,1fr); }
  .format__ico{ display:none; }
  .format__rule, .format__foot{ grid-column:1 / -1; }
  .format__foot{ align-items:flex-start; flex-direction:column; }
  .services__motto{ flex-direction:column; align-items:flex-end; gap:10px; text-align:right; }
}

/* ---------- 16. ПАКЕТЫ УСЛУГ ---------- */
/* Эталон 1320×819. --u = 1 % его ширины, ограниченный полезной высотой
   экрана (за вычетом фиксированного меню) и снизу 12 px ради читаемости. */
.packages{
  position:relative; overflow:hidden;
  /* золото на фотографическом фоне — на полтона глубже обычного --gold-ink:
     иначе рукописная надпись и нижняя подпись дают 4,6 и 4,2 при норме AA 4,5 */
  --gold-on-photo:#7A561E;
  --u:clamp(12px, min(1vw, calc((100vh - var(--header-h)) * .01612)), 13.2px);
  min-height:min(1100px, 100svh);
  display:grid; grid-template-columns:35% 65%;
  align-items:stretch;
  padding:calc(var(--header-h) + calc(.6 * var(--u))) 0 calc(.8 * var(--u));
  background:var(--bg-light);
}

/* левая часть: пока мягкий градиент; утверждённое фото добавим позже */
.packages__media{
  position:absolute; left:0; top:0; bottom:0; width:35%; z-index:0;
  overflow:hidden;
  background:
    radial-gradient(70% 46% at 22% 14%, rgba(255,255,255,.75), rgba(255,255,255,0) 66%),
    radial-gradient(64% 40% at 12% 88%, rgba(216,197,174,.45), rgba(216,197,174,0) 72%),
    linear-gradient(168deg, #F7F1E8 0%, #F1E7DA 52%, #E9DAC7 100%);
}

.packages__intro{
  position:relative; z-index:2; grid-column:1;
  padding:calc(.9 * var(--u)) calc(1.4 * var(--u)) 0 calc(7.6 * var(--u));
  display:flex; flex-direction:column;
}
.pkg__eyebrow{
  color:var(--gold-ink);
  font-size:clamp(10px, calc(.91 * var(--u)), 12px); letter-spacing:.2em;
  margin:0 0 calc(1.8 * var(--u)); gap:calc(1.1 * var(--u));
}
.pkg__eyebrow::before{
  width:calc(2 * var(--u)); height:1px; border-radius:0; background:var(--gold);
}
.pkg__title{
  font-size:clamp(26px, calc(4.24 * var(--u)), 56px); line-height:.98;
  margin:0 0 calc(1.6 * var(--u));
}
.pkg__lead{
  font-size:clamp(12px, calc(1.21 * var(--u)), 16px); line-height:1.53;
  color:var(--ink-soft); font-weight:300;
  margin:0; max-width:27ch;
}
.pkg__script{
  margin:calc(2.4 * var(--u)) 0 0 calc(3.6 * var(--u));
  width:max-content; text-align:center;
  font-family:"Marck Script", var(--serif), cursive;
  font-size:clamp(15px, calc(1.67 * var(--u)), 22px); line-height:1.5;
  color:var(--gold-on-photo); transform:rotate(-7deg);
}
.pkg__heart{
  display:block; margin:calc(1.1 * var(--u)) 0 0 calc(5.4 * var(--u));
  width:calc(2.6 * var(--u)); height:calc(2.28 * var(--u)); color:var(--gold);
}
.pkg__heart svg{ width:100%; height:100%; }
.pkg__motto{
  margin:calc(2.6 * var(--u)) 0 calc(.6 * var(--u));
  position:relative; padding-top:calc(1.4 * var(--u));
  font-size:clamp(9px, calc(.83 * var(--u)), 11px); line-height:1.75;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-on-photo);
}
.pkg__motto::before{
  content:""; position:absolute; top:0; left:0;
  width:calc(2 * var(--u)); height:1px; background:var(--gold);
}

/* правая часть */
.packages__panel{
  position:relative; z-index:2; grid-column:2;
  padding:0 calc(2 * var(--u)) 0 calc(1.6 * var(--u));
  display:flex; flex-direction:column; gap:calc(2.4 * var(--u));
}
.plans{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:calc(.91 * var(--u));
  list-style:none; margin:0; padding:0;
  align-items:stretch;
}
.plan{
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:calc(2.6 * var(--u)) calc(1.3 * var(--u)) calc(1.5 * var(--u));
  background:#FBF6F0;
  border:1px solid rgba(133,95,34,.15);
  border-radius:calc(1.06 * var(--u));
}
.plan--best{
  background:#FAF3EA;
  border-color:rgba(184,149,86,.62);
  box-shadow:0 0 0 1px rgba(184,149,86,.18) inset;
}
.plan__badge{
  position:absolute; top:calc(-1.15 * var(--u)); left:50%; transform:translateX(-50%);
  padding:calc(.45 * var(--u)) calc(1.5 * var(--u));
  border-radius:100px; white-space:nowrap;
  background:var(--grad-gold); color:#4A3523;
  font-size:clamp(8.5px, calc(.76 * var(--u)), 10px);
  letter-spacing:.16em; text-transform:uppercase; font-weight:500;
}
.plan__ico{
  width:calc(4.7 * var(--u)); height:calc(4.7 * var(--u));
  border-radius:50%; display:grid; place-items:center;
  background:rgba(216,197,174,.34); color:var(--gold-ink);
  margin-bottom:calc(1.3 * var(--u));
}
.plan__ico svg{ width:52%; height:52%; }
.plan__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(17px, calc(2.12 * var(--u)), 28px); line-height:1.2;
  color:var(--ink); margin:0 0 calc(.9 * var(--u));
}
.plan__sub{
  font-size:clamp(8.5px, calc(.83 * var(--u)), 11px); line-height:1.55;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute);
  margin:0 0 calc(1.3 * var(--u));
}
.plan__list{
  list-style:none; margin:0; padding:calc(1.3 * var(--u)) 0 0;
  border-top:1px solid var(--line);
  width:100%;
  display:grid; gap:calc(1.1 * var(--u));
  text-align:left;
}
.plan__list li{
  display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:calc(.8 * var(--u)); align-items:start;
  font-size:clamp(10px, calc(1.06 * var(--u)), 14px); line-height:1.4;
  color:var(--ink-soft);
}
.plan__mark{
  width:calc(1.5 * var(--u)); height:calc(1.5 * var(--u)); margin-top:.15em;
  color:var(--gold); flex:none;
}
.plan__mark svg{ width:100%; height:100%; }

.plan__pricing{
  width:100%; margin-top:auto;
  padding-top:calc(1.5 * var(--u));
  border-top:1px solid var(--line);
  display:flex; flex-direction:column; align-items:center; gap:calc(.5 * var(--u));
}
.plan__price{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(22px, calc(2.5 * var(--u)), 33px); line-height:1.1;
  color:var(--ink); margin:0;
}
.plan__old{ margin:0; font-size:clamp(11px, calc(1.14 * var(--u)), 15px); color:var(--ink-mute); }
.plan__old s{ text-decoration-thickness:1px; text-decoration-color:rgba(106,87,73,.7); }
.plan__save{
  margin:calc(.3 * var(--u)) 0 0;
  padding:calc(.45 * var(--u)) calc(1.2 * var(--u));
  border-radius:100px; background:rgba(216,197,174,.34);
  font-size:clamp(8.5px, calc(.83 * var(--u)), 11px);
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);
}
.plan__pricing--ask{ flex-direction:row; align-items:center; justify-content:center; gap:calc(.9 * var(--u)); }
.plan__askprice{
  font-family:var(--serif); font-size:clamp(16px, calc(1.82 * var(--u)), 24px);
  line-height:1.25; color:var(--ink); margin:0;
}
.plan__info{ width:calc(1.6 * var(--u)); height:calc(1.6 * var(--u)); color:var(--gold-ink); flex:none; }
.plan__info svg{ width:100%; height:100%; }

.plan__btn{
  width:100%; margin-top:calc(1.5 * var(--u));
  padding:calc(1.15 * var(--u)) calc(1.2 * var(--u));
  border-radius:100px;
  font-size:clamp(9px, calc(.83 * var(--u)), 11px); letter-spacing:.14em;
  background:linear-gradient(135deg, #4A362C 0%, #35251F 55%, #241813 100%);
}
.plan__btn .btn__arrow{ width:calc(1.2 * var(--u)); height:calc(1.2 * var(--u)); }

.plans__foot{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:calc(1.2 * var(--u));
}
.plans__gift{ width:calc(2.4 * var(--u)); height:calc(2.4 * var(--u)); color:var(--gold-ink); flex:none; }
.plans__gift svg{ width:100%; height:100%; }
.plans__note{
  margin:0; font-size:clamp(10px, calc(1.06 * var(--u)), 14px); line-height:1.5;
  color:var(--ink-soft);
}
.plans__tag{
  margin:0; text-align:right; position:relative; padding-left:calc(3.4 * var(--u));
  font-size:clamp(8.5px, calc(.83 * var(--u)), 11px); line-height:1.7;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink);
}
.plans__tag::before{
  content:""; position:absolute; left:0; top:50%;
  width:calc(2.2 * var(--u)); height:1px; background:var(--gold);
}

@media (max-width:1040px){
  .packages{
    min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px);
    --u:12px;
  }
  .packages__media{
    position:relative; width:auto; height:clamp(260px, 46vw, 380px);
    margin-inline:calc(var(--pad) * -1); margin-bottom:clamp(24px, 3vw, 36px);
  }
  .packages__intro{ padding:0 var(--pad); min-height:0; display:block; }
  .pkg__title{ font-size:clamp(28px, 6vw, 44px); }
  .pkg__lead{ font-size:16px; max-width:52ch; }
  .pkg__script{ margin-left:0; }
  .pkg__heart{ margin-left:calc(1.8 * var(--u)); }
  .pkg__motto{ margin:clamp(22px,3vw,32px) 0 0; font-size:11px; }
  .packages__panel{ padding:0 var(--pad); margin-top:clamp(26px, 3.4vw, 40px); gap:clamp(22px,3vw,32px); }
  .plans{ grid-template-columns:1fr; gap:clamp(30px, 4vw, 44px); }
  .plan{ padding:30px 22px 24px; }
  .plan__t{ font-size:26px; }
  .plan__sub{ font-size:11px; }
  .plan__list li{ font-size:15px; }
  .plan__price{ font-size:32px; }
  .plan__btn{ font-size:11px; padding:15px 22px; }
  .plans__foot{ grid-template-columns:auto minmax(0,1fr); row-gap:18px; }
  .plans__tag{ grid-column:1 / -1; text-align:left; padding-left:calc(3.4 * var(--u)); }
  .plans__note{ font-size:15px; }
}

/* ---------- 17. ПЕРСОНАЛЬНОЕ СОПРОВОЖДЕНИЕ ---------- */
/* Эталон 1320×823. --u = 1 % его ширины, ограниченный полезной высотой. */
.support{
  position:relative; overflow:hidden;
  --u:clamp(10.6px, min(1vw, calc((100vh - var(--header-h)) * .01604)), 13.2px);
  min-height:min(1100px, 100svh);
  display:block;
  padding:calc(var(--header-h) + calc(1.2 * var(--u))) 0 calc(1.2 * var(--u));
  background:linear-gradient(150deg, #FBF5E9 0%, #F7EFE4 46%, #F1E6D9 100%);
  color:var(--ink);
}
/* мягкие светлые пятна — спокойный флоральный фон как на макете */
.support__art{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(26% 30% at 6% 12%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%),
    radial-gradient(22% 26% at 92% 8%, rgba(255,255,255,.7), rgba(255,255,255,0) 72%),
    radial-gradient(30% 34% at 88% 82%, rgba(216,197,174,.38), rgba(216,197,174,0) 72%),
    radial-gradient(24% 28% at 12% 88%, rgba(216,197,174,.32), rgba(216,197,174,0) 74%),
    radial-gradient(18% 22% at 46% 96%, rgba(255,255,255,.6), rgba(255,255,255,0) 76%);
}
.support__wrap{
  position:relative; z-index:2; width:100%;
  padding-inline:calc(10.8 * var(--u));
  display:flex; flex-direction:column; gap:calc(.7 * var(--u));
}

.support__top{
  display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:calc(3.2 * var(--u)); align-items:center;
}
.support__media{
  margin:0 0 0 calc(4.4 * var(--u));
  width:calc(31 * var(--u)); aspect-ratio:438 / 336; border-radius:calc(1.8 * var(--u));
  background:var(--bg-warm);
  box-shadow:0 18px 40px -26px rgba(53,37,31,.5);
}
/* Кадр: у исходника почти нет воздуха над причёской (верх волос на 3 % высоты),
   поэтому смещение по вертикали минимальное — иначе голова срезается. */
.support__media img{ object-fit:cover; object-position:center 4%; }

.sup__eyebrow{
  color:var(--gold-ink);
  font-size:clamp(9px, calc(.8 * var(--u)), 10.6px); letter-spacing:.2em;
  margin:0 0 calc(1.3 * var(--u)); gap:calc(1.1 * var(--u));
}
.sup__eyebrow::before{ width:calc(2.4 * var(--u)); height:1px; border-radius:0; background:var(--gold); }
.sup__title{
  font-size:clamp(23px, calc(3.05 * var(--u)), 40px); line-height:1.22;
  margin:0 0 calc(.8 * var(--u)); color:var(--ink);
}
.sup__lead{
  font-size:clamp(12px, calc(1.12 * var(--u)), 14.6px); line-height:1.5;
  color:var(--ink-soft); font-weight:300; margin:0; max-width:46ch;
}

.support__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:calc(.76 * var(--u));
  align-items:stretch;
}
.support__card{
  display:flex; flex-direction:column;
  padding:calc(1.1 * var(--u)) calc(2.2 * var(--u)) calc(1 * var(--u));
  background:rgba(255,252,247,.72);
  border:1px solid rgba(133,95,34,.16);
  border-radius:calc(1.2 * var(--u));
}
.sup__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(17px, calc(1.97 * var(--u)), 26px); line-height:1.24;
  color:var(--ink); margin:0 0 calc(.9 * var(--u));
}
.sup__d{
  font-size:clamp(11px, calc(1.1 * var(--u)), 14.5px); line-height:1.6;
  color:var(--ink-soft); margin:0 0 calc(.7 * var(--u)); font-weight:300;
}
.sup__label{
  font-size:clamp(8.5px, calc(.76 * var(--u)), 10px); letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-ink);
  margin:calc(.2 * var(--u)) 0 calc(.7 * var(--u));
}
.sup__inc{ list-style:none; margin:0; padding:0; display:grid; gap:calc(.08 * var(--u)); }
.sup__inc li{
  position:relative; padding-left:calc(2.6 * var(--u));
  font-size:clamp(10px, calc(1.02 * var(--u)), 13.4px); line-height:1.5;
  color:var(--ink-soft);
}
.sup__inc li::before{
  content:""; position:absolute; left:0; top:.72em;
  width:calc(1.4 * var(--u)); height:1px; background:var(--gold);
}
.sup__foot{
  margin-top:auto; padding-top:calc(.9 * var(--u));
  border-top:1px solid var(--line);
  display:flex; align-items:baseline; justify-content:space-between; gap:calc(1.2 * var(--u));
}
.sup__term{
  font-size:clamp(9.5px, calc(.87 * var(--u)), 11.5px); color:var(--ink-mute);
}
.sup__price{
  font-size:clamp(10px, calc(.95 * var(--u)), 12.5px); color:var(--ink-mute);
}
.sup__price b{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(19px, calc(2.27 * var(--u)), 30px); color:var(--ink); letter-spacing:0;
}

.support__foot{
  display:flex; align-items:center; justify-content:space-between;
  gap:calc(1.6 * var(--u)); flex-wrap:wrap;
}
.sup__note{
  margin:0; font-size:clamp(11px, calc(1.06 * var(--u)), 14px); line-height:1.55;
  color:var(--ink-soft);
}
.sup__btn{
  padding:calc(1.15 * var(--u)) calc(2.2 * var(--u));
  border-radius:100px;
  font-size:clamp(9px, calc(.83 * var(--u)), 11px); letter-spacing:.14em;
  background:linear-gradient(135deg, #4A362C 0%, #35251F 55%, #241813 100%);
}
.sup__btn .btn__arrow{ width:calc(1.2 * var(--u)); height:calc(1.2 * var(--u)); }

@media (max-width:1040px){
  .support{
    min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px);
    --u:12px;
  }
  .support__wrap{ padding-inline:var(--pad); gap:clamp(26px, 3.4vw, 38px); }
  /* minmax(0,1fr) вместо 1fr: колонка должна уметь сжиматься уже
     собственного содержимого, иначе на 320–375 px текст выходит за экран */
  .support__top{ grid-template-columns:minmax(0,1fr); gap:clamp(22px, 3vw, 32px); }
  .support__media{ margin-left:0; aspect-ratio:4/3; }
  .sup__title{ font-size:clamp(26px, 5.6vw, 40px); }
  .sup__lead{ font-size:16px; }
  .support__grid{ grid-template-columns:1fr; gap:clamp(16px, 2.4vw, 24px); }
  .support__card{ padding:26px 24px 22px; }
  .sup__t{ font-size:24px; }
  .sup__d{ font-size:15px; }
  .sup__inc li{ font-size:14.5px; }
  .sup__price b{ font-size:26px; }
  .support__foot{ flex-direction:column; align-items:flex-start; gap:18px; }
  .sup__btn{ width:100%; font-size:11px; padding:15px 22px; }
}

/* ---------- 18. FEATURE BLOCKS (подростки / родители / пары) ---------- */
.feature{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(30px, 4.5vw, 84px); align-items:center;
}
.feature--flip .feature__media{ order:2; }
.feature__body{ max-width:54ch; }
.feature__body h2{ margin-bottom:20px; }
.feature__kicker{
  font-family:var(--serif); font-style:italic;
  font-size:clamp(20px, 1.5vw, 25px); line-height:1.45;
  color:var(--gold-ink); margin-bottom:26px;
}
.feature__list{ margin:22px 0 28px; display:grid; gap:8px; }
.feature__list li{
  font-family:var(--serif); font-size:19px; font-style:italic; color:var(--ink-soft);
  padding-left:22px; position:relative;
}
.feature__list li::before{
  content:""; position:absolute; left:0; top:14px; width:11px; height:1px; background:var(--gold);
}

/* ---------- 18b. ПОДРОСТКАМ ---------- */
/* Эталон 1320×745. Одна фотография слева, текст справа, золотая веточка
   в правом нижнем углу. Вторая фотография (с девочкой) убрана по решению
   собственника 23.09.2026. */
.teens{
  position:relative; overflow:hidden;
  --u:clamp(11px, min(1vw, calc((100vh - var(--header-h)) * .01772)), 13.2px);
  min-height:min(1100px, 100svh);
  display:flex; align-items:center;
  padding:calc(var(--header-h) + calc(1 * var(--u))) 0 calc(1 * var(--u));
  background:#F8F5F0;
}
.teens__wrap{
  position:relative; width:100%;
  padding-inline:calc(5.6 * var(--u)) calc(4.5 * var(--u));
  display:grid; grid-template-columns:calc(41.1 * var(--u)) minmax(0,1fr);
  gap:calc(5.45 * var(--u));
  align-items:center;
}
.teens__media{
  margin:0; aspect-ratio:542 / 655;
  border-radius:calc(1.3 * var(--u));
  background:var(--bg-warm);
  box-shadow:0 20px 44px -30px rgba(53,37,31,.45);
}
.teens__media img{ object-fit:cover; object-position:center 28%; }

.teens__body{ position:relative; z-index:2; }
.teens__eyebrow{
  color:var(--gold-ink);
  font-size:clamp(9.5px, calc(.83 * var(--u)), 11px); letter-spacing:.2em;
  margin:0 0 calc(2.2 * var(--u)); gap:calc(1.1 * var(--u));
}
.teens__eyebrow::before{ width:calc(2.4 * var(--u)); height:1px; border-radius:0; background:var(--gold); }
.teens__title{
  font-size:clamp(25px, calc(3.64 * var(--u)), 48px); line-height:1.3;
  margin:0 0 calc(1.3 * var(--u)); color:var(--ink);
}
.teens__kicker{
  font-family:var(--serif); font-style:italic;
  font-size:clamp(13px, calc(1.29 * var(--u)), 17px); line-height:1.5;
  color:var(--gold-ink); margin:0 0 calc(1.7 * var(--u));
}
.teens__p{
  font-size:clamp(12px, calc(1.21 * var(--u)), 16px); line-height:1.55;
  color:var(--ink-soft); font-weight:300; margin:0 0 calc(1.2 * var(--u)); max-width:44ch;
}
.teens__p--lead{ color:var(--ink); margin-bottom:calc(.9 * var(--u)); }
.teens__list{
  list-style:none; margin:0 0 calc(1.9 * var(--u)); padding:0;
  display:grid; gap:calc(.85 * var(--u));
}
.teens__list li{
  position:relative; padding-left:calc(3.4 * var(--u));
  font-size:clamp(11.5px, calc(1.14 * var(--u)), 15px); line-height:1.4;
  color:var(--ink-soft);
}
.teens__list li::before{
  content:""; position:absolute; left:0; top:.66em;
  width:calc(1.9 * var(--u)); height:1px; background:var(--gold);
}
.teens__btn{
  padding:calc(1.25 * var(--u)) calc(2.4 * var(--u));
  border-radius:100px;
  font-size:clamp(9.5px, calc(.83 * var(--u)), 11px); letter-spacing:.14em;
  background:linear-gradient(135deg, #4A362C 0%, #35251F 55%, #241813 100%);
}
.teens__btn .btn__arrow{ width:calc(1.2 * var(--u)); height:calc(1.2 * var(--u)); }

/* декоративная веточка в правом нижнем углу */
.teens__leaf{
  position:absolute; z-index:1; pointer-events:none;
  right:calc(1.5 * var(--u)); bottom:calc(.5 * var(--u));
  width:calc(13.6 * var(--u)); height:auto;
  fill:rgba(184,149,86,.12); stroke:rgba(184,149,86,.42); stroke-width:1.1;
  stroke-linecap:round; stroke-linejoin:round;
}
.teens__leaf .teens__leaf-stem{ fill:none; }

@media (max-width:1040px){
  .teens{ min-height:0; display:block; padding-block:clamp(44px, 6vw, 72px); --u:12px; }
  .teens__wrap{
    grid-template-columns:1fr; gap:clamp(24px, 3.4vw, 36px);
    padding-inline:var(--pad);
  }
  .teens__media{ max-width:460px; }
  .teens__title{ font-size:clamp(27px, 5.8vw, 40px); }
  .teens__kicker{ font-size:17px; }
  .teens__p{ font-size:16px; max-width:54ch; }
  .teens__list li{ font-size:15.5px; }
  .teens__btn{ width:100%; font-size:11px; padding:16px 22px; }
  .teens__leaf{ display:none; }
}

/* ---------- 19. ИСТОРИИ КЛИЕНТОВ ---------- */
.reviews{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(16px, 1.6vw, 26px); }
.review{
  padding:clamp(26px, 2.4vw, 38px);
  background:var(--white);
  display:flex; flex-direction:column; gap:18px;
  min-height:260px;
}
.review--empty{
  background:
    repeating-linear-gradient(135deg, rgba(216,197,174,.12) 0 2px, transparent 2px 12px),
    var(--white);
}
.review__mark{ font-family:var(--serif); font-size:40px; line-height:.6; color:var(--beige); }
.review__text{ font-family:var(--serif); font-size:19px; line-height:1.5; font-weight:300; color:var(--ink-soft); flex:1; }
.review__who{
  padding-top:18px; border-top:1px solid var(--line);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute);
}
.review__who b{ display:block; color:var(--choco); font-weight:500; margin-bottom:5px; }
.review__tag{
  display:inline-block; margin-top:10px;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-ink); border:1px solid var(--line); border-radius:100px; padding:4px 12px;
}
.reviews__note{
  margin-top:26px; text-align:center; font-size:14px; color:var(--ink-mute);
}

/* ---------- 19b. ИСТОРИИ КЛИЕНТОВ ---------- */
/* Эталон 1320×798: заголовок по центру, 2×2 сетка карточек с отзывами,
   внизу строка с короткими чертами по бокам. */
.stories{
  position:relative;
  --u:clamp(11px, min(1vw, calc((100vh - var(--header-h)) * .01654)), 13.2px);
  padding:calc(var(--header-h) + calc(1 * var(--u))) 0 calc(1.5 * var(--u));
  background:#EDE5DB;
}
.stories__wrap{
  width:100%; max-width:var(--maxw); margin-inline:auto;
  padding-inline:calc(4.5 * var(--u));
}
.stories__head{ text-align:center; margin-bottom:calc(1.9 * var(--u)); }
.stories__eyebrow{
  color:var(--gold-ink); justify-content:center;
  font-size:clamp(9.5px, calc(.83 * var(--u)), 11px); letter-spacing:.2em;
  margin:0 0 calc(1.2 * var(--u)); gap:calc(1.1 * var(--u));
}
.stories__eyebrow::before{ width:calc(2.4 * var(--u)); height:1px; border-radius:0; background:var(--gold); }
.stories__title{
  font-size:clamp(24px, calc(3.03 * var(--u)), 40px); line-height:1.16;
  margin:0 0 calc(1.1 * var(--u)); color:var(--ink);
}
.stories__lead{
  margin:0 auto; max-width:74ch;
  font-size:clamp(11.5px, calc(1.06 * var(--u)), 14px); line-height:1.6;
  color:var(--ink-soft); font-weight:300;
}

.stories__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:calc(1.8 * var(--u)) calc(1.8 * var(--u));
  align-items:stretch;
}
.story{
  display:flex; flex-direction:column;
  padding:calc(1.35 * var(--u)) calc(1.8 * var(--u)) calc(1.3 * var(--u));
  background:#FBF7F1;
  border:1px solid rgba(133,95,34,.14);
  border-radius:calc(.9 * var(--u));
}
.story__head{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:calc(.9 * var(--u));
  margin-bottom:calc(1.1 * var(--u));
}
.story__mark{
  font-family:var(--serif); font-size:calc(2.6 * var(--u)); line-height:.6;
  color:var(--gold); align-self:start; margin-top:.18em;
}
.story__who{
  margin:0; display:flex; align-items:baseline; gap:calc(.6 * var(--u));
  font-size:clamp(11px, calc(1.06 * var(--u)), 14px); color:var(--ink-mute);
}
.story__who b{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(15px, calc(1.44 * var(--u)), 19px); color:var(--ink);
}
.story__dot{ color:var(--gold); }
.story__tag{
  padding:calc(.4 * var(--u)) calc(1.1 * var(--u));
  border:1px solid rgba(184,149,86,.5); border-radius:100px;
  font-size:clamp(8px, calc(.72 * var(--u)), 9.6px);
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink);
  white-space:nowrap;
}
.story__text{
  margin:0; font-family:var(--serif);
  font-size:clamp(12px, calc(1.14 * var(--u)), 15px); line-height:1.55;
  color:var(--ink-soft);
}
.story__sign{
  margin:calc(1 * var(--u)) 0 0;
  font-family:var(--serif); font-style:italic;
  font-size:clamp(9.5px, calc(.87 * var(--u)), 11.5px); color:var(--ink-mute);
}

.stories__note{
  margin:calc(1.5 * var(--u)) 0 0;
  display:flex; align-items:center; justify-content:center; gap:calc(1.4 * var(--u));
  font-size:clamp(9.5px, calc(.87 * var(--u)), 11.5px); line-height:1.6;
  color:var(--ink-mute); text-align:center;
}
.stories__note::before,
.stories__note::after{
  content:""; width:calc(2.4 * var(--u)); height:1px; background:var(--gold); flex:none;
}

@media (max-width:1040px){
  .stories{ padding-block:clamp(44px, 6vw, 72px); --u:12px; }
  .stories__wrap{ padding-inline:var(--pad); }
  .stories__title{ font-size:clamp(26px, 5.6vw, 38px); }
  .stories__lead{ font-size:15px; }
  .stories__grid{ grid-template-columns:1fr; gap:16px; }
  .story{ padding:22px 20px 20px; }
  .story__text{ font-size:15.5px; }
  .story__head{ grid-template-columns:auto minmax(0,1fr); row-gap:10px; }
  .story__tag{ grid-column:2; justify-self:start; font-size:9.5px; }
  .stories__note{ font-size:12px; }
}

/* ---------- 20b. ДИПЛОМЫ И НАГРАДЫ ---------- */
/* Вместо карусели — спокойная выставка: три главных документа в ряд,
   ниже сетка дополнительных и кнопка «показать все». Документы никогда
   не обрезаются: object-fit:contain внутри паспарту одинаковой высоты. */
.awards{
  --u:clamp(11px, 1vw, 13.2px);
  padding-block:clamp(64px, 7vw, 116px);
  background:var(--bg);
}
.awards__wrap{
  width:100%; max-width:var(--maxw); margin-inline:auto;
  padding-inline:var(--pad);
}
.awards__head{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px, 3vw, 54px); align-items:end;
  margin-bottom:clamp(26px, 3vw, 44px);
}
.awards__eyebrow{
  color:var(--gold-ink);
  font-size:clamp(10px, .82vw, 12px); letter-spacing:.2em;
  margin:0 0 clamp(12px, 1.4vw, 20px); gap:clamp(10px, 1.2vw, 16px);
}
.awards__eyebrow::before{ width:clamp(20px, 2.2vw, 32px); height:1px; border-radius:0; background:var(--gold); }
.awards__title{
  font-size:clamp(26px, 3.1vw, 46px); line-height:1.14;
  margin:0 0 clamp(12px, 1.3vw, 20px); color:var(--ink);
}
.awards__lead{
  margin:0; max-width:56ch;
  font-size:clamp(13px, 1.02vw, 16px); line-height:1.6;
  color:var(--ink-soft); font-weight:300;
}
.awards__span{
  margin:0; text-align:right; display:grid; gap:6px;
  font-size:clamp(10px, .8vw, 12px); letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-mute); line-height:1.5;
}
.awards__span b{
  font-family:var(--serif); font-weight:400; letter-spacing:.02em;
  font-size:clamp(17px, 1.5vw, 22px); text-transform:none; color:var(--gold-ink);
}

/* линия профессионального пути */
.awards__timeline{
  position:relative; list-style:none; margin:0 0 clamp(34px, 4vw, 60px); padding:clamp(14px, 1.6vw, 22px) 0 0;
  display:flex; justify-content:space-between; align-items:flex-start;
}
.awards__timeline::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, rgba(184,149,86,0) 0%, rgba(184,149,86,.55) 12%,
    rgba(184,149,86,.55) 88%, rgba(184,149,86,0) 100%);
}
.awards__timeline li{ position:relative; padding-top:clamp(10px, 1.1vw, 16px); }
.awards__timeline li::before{
  content:""; position:absolute; top:calc(-1 * clamp(14px, 1.6vw, 22px) - 2px);
  left:50%; transform:translateX(-50%);
  width:5px; height:5px; border-radius:50%; background:var(--gold);
}
.awards__timeline li:first-child::before{ left:2px; transform:none; }
.awards__timeline li:last-child::before{ left:auto; right:2px; transform:none; }
.awards__timeline span{
  font-size:clamp(10px, .82vw, 12px); letter-spacing:.14em;
  color:var(--ink-mute); white-space:nowrap;
}
.awards__timeline li:first-child span{ margin-left:-2px; }
.awards__timeline .is-now span{ color:var(--gold-ink); }

/* документы */
.awards__main,
.awards__grid{ list-style:none; margin:0; padding:0; display:grid; }
.awards__main{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(18px, 2.2vw, 40px);
  margin-bottom:clamp(40px, 5vw, 76px);
}
.awards__grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(16px, 2vw, 34px);
}
.doc{
  width:100%; display:grid; gap:clamp(8px, .9vw, 14px);
  background:none; border:0; padding:0; margin:0;
  text-align:left; cursor:pointer; font:inherit; color:inherit;
}
.doc__year{
  font-size:clamp(10px, .8vw, 12px); letter-spacing:.18em;
  color:var(--gold-ink); min-height:1em;
}
.doc__year--none{ visibility:hidden; }
.doc__frame{
  /* растягиваем картинку на всю область и вписываем её через object-fit:
     процентная высота внутри grid c aspect-ratio ведёт себя ненадёжно */
  display:grid; grid-template-columns:1fr; grid-template-rows:1fr; place-items:stretch;
  aspect-ratio:4 / 3; padding:clamp(12px, 1.4vw, 22px);
  background:var(--bg-light);
  border:1px solid var(--line);
  border-radius:4px;
  box-shadow:0 10px 26px -24px rgba(53,37,31,.5);
  transition:border-color .45s var(--ease), box-shadow .45s var(--ease);
  overflow:hidden;
}
.doc__frame picture{ display:contents; }
.doc__frame img{
  width:100%; height:100%; min-width:0; min-height:0;
  object-fit:contain; display:block;
}
.doc:hover .doc__frame,
.doc:focus-visible .doc__frame{
  border-color:rgba(184,149,86,.55);
  box-shadow:0 14px 30px -22px rgba(53,37,31,.55);
}
.doc__body{ display:grid; gap:calc(.3 * var(--u)); }
.doc__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(16px, 1.5vw, 22px); line-height:1.24; color:var(--ink);
}
.doc__org{
  font-size:clamp(11.5px, .92vw, 14px); line-height:1.5; color:var(--ink-soft);
}
.doc__meta{
  font-size:clamp(10.5px, .84vw, 12.6px); line-height:1.5; color:var(--ink-mute);
}
.doc__open{
  margin-top:calc(.35 * var(--u));
  font-size:clamp(10px, .8vw, 12px); letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-ink);
}
.doc:hover .doc__open,
.doc:focus-visible .doc__open{ color:var(--caramel); }

.doc-cell--sm .doc__frame{ aspect-ratio:3 / 2; padding:clamp(10px, 1.1vw, 16px); }
.doc-cell--sm .doc__t{ font-size:clamp(14px, 1.18vw, 17px); }
.doc-cell--sm .doc__org{ font-size:clamp(11px, .85vw, 13px); }
.doc-cell--sm .doc__meta{ font-size:clamp(10px, .78vw, 11.6px); }

.awards__sub{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(18px, 1.72vw, 26px); line-height:1.3; color:var(--ink);
  margin:0 0 clamp(18px, 2vw, 30px);
}
.awards__more{ margin-top:clamp(24px, 2.8vw, 44px); text-align:center; }
.awards__toggle{
  padding:clamp(12px, 1.2vw, 17px) clamp(22px, 2.4vw, 38px);
  border-radius:100px; font-size:clamp(10px, .8vw, 12px); letter-spacing:.14em;
  background:rgba(255,255,255,.6); border-color:rgba(184,149,86,.5);
}
/* плавное раскрытие дополнительных документов */
.doc--more{ animation:docReveal .5s var(--ease) both; }
@keyframes docReveal{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce){
  .doc--more{ animation:none; }
  .doc__frame{ transition:none; }
}

@media (max-width:1040px){
  .awards__head{ grid-template-columns:1fr; align-items:start; }
  .awards__span{ text-align:left; }
  .awards__main{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .awards__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:760px){
  .awards__main,
  .awards__grid{ grid-template-columns:1fr; gap:clamp(22px, 5vw, 32px); }
  /* все годы остаются на месте — просто мельче */
  .awards__timeline{ margin-bottom:30px; }
  .awards__timeline span{ font-size:9.5px; letter-spacing:.08em; }
  .doc__frame{ aspect-ratio:4 / 3; }
  .doc-cell--sm .doc__frame{ aspect-ratio:4 / 3; }
  .doc__t{ font-size:19px; }
  .doc-cell--sm .doc__t{ font-size:18px; }
  .doc__org{ font-size:14px; }
  .awards__toggle{ width:100%; font-size:11px; }
}

/* ---------- 21. FAQ ---------- */
/* Ответы открыты по умолчанию: человек читает список целиком, а не кликает
   шесть раз. Кнопка остаётся — вопрос можно свернуть. */
#faq .section-head{ margin-bottom:clamp(22px, 2.4vw, 34px); }
.faq{ border-top:1px solid var(--line); }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{
  width:100%; display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  padding:clamp(20px, 2vw, 28px) 0 clamp(12px, 1.2vw, 17px);
  text-align:left;
  font-family:var(--serif); font-size:clamp(18px, 1.9vw, 26px); font-weight:300; line-height:1.3;
  color:var(--ink);
  transition:color .3s var(--ease);
}
.faq__q:hover{ color:var(--caramel); }
.faq__ico{
  flex:none; width:25px; height:25px; margin-top:3px; position:relative;
  border:1px solid var(--line-strong); border-radius:50%;
  transition:border-color .3s var(--ease), transform .4s var(--ease);
}
.faq__ico::before,.faq__ico::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--caramel);
  transform:translate(-50%,-50%); transition:opacity .3s var(--ease);
}
.faq__ico::before{ width:9px; height:1px; }
.faq__ico::after{ width:1px; height:9px; }
.faq__q[aria-expanded="true"] .faq__ico{ border-color:var(--line-strong); }
.faq__q[aria-expanded="true"] .faq__ico::after{ opacity:0; }
.faq__a{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .45s var(--ease);
}
.faq__q[aria-expanded="true"] + .faq__a{ grid-template-rows:1fr; }
.faq__a > div{ overflow:hidden; }
.faq__a p{
  padding-right:clamp(16px, 3vw, 48px);
  padding-bottom:clamp(20px, 2vw, 28px);
  max-width:830px;
  font-size:clamp(14px, 1.18vw, 16px); line-height:1.5;
  color:var(--ink-soft);
}

@media (max-width:640px){
  .faq__q{ font-size:19px; gap:16px; padding-top:20px; padding-bottom:11px; }
  .faq__ico{ width:22px; height:22px; margin-top:2px; }
  .faq__a p{ padding-right:0; font-size:14.2px; line-height:1.55; }
}

/* ---------- 23. КОНТАКТЫ — ЛИЧНОЕ ПРИГЛАШЕНИЕ ---------- */
.invite{ background:var(--bg); }
.invite__grid{
  display:grid;
  grid-template-columns:minmax(0, 40fr) minmax(0, 60fr);
  gap:clamp(36px, 5vw, 86px);
  align-items:center;
}
.invite__media .ph{
  border-radius:var(--r-lg) var(--r-lg) 190px 190px;
  outline:1px solid rgba(184,149,86,.45); outline-offset:-1px;
  box-shadow:0 40px 80px -50px rgba(53,37,31,.5);
}
.invite__body{ max-width:54ch; }
.invite__body .h2{ margin-bottom:20px; }
.invite__body .lead{ max-width:42ch; }
.invite__cta{ margin-top:clamp(28px, 3vw, 40px); }

.invite__or{
  margin:clamp(30px, 3.2vw, 44px) 0 18px;
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-mute);
  display:flex; align-items:center; gap:14px;
}
.invite__or::after{
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg, var(--beige), rgba(216,197,174,0));
}

.invite__links{ display:flex; flex-wrap:wrap; gap:10px clamp(22px, 3vw, 44px); }
.invite__link{
  display:inline-flex; align-items:center; gap:12px;
  padding:8px 0;
  color:var(--ink);
  transition:color .3s var(--ease);
}
a.invite__link:hover{ color:var(--gold-ink); }
a.invite__link:hover .invite__ico{ border-color:var(--gold); color:var(--gold-ink); }
.invite__ico{
  width:38px; height:38px; flex:none; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--line-strong); color:var(--gold-ink);
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.invite__ico svg{ width:16px; height:16px; }
.invite__link-t{ font-size:16px; line-height:1.3; }

.invite__foot{
  margin-top:clamp(28px, 3vw, 40px);
  padding-top:clamp(22px, 2.4vw, 30px);
  border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 28px;
}
.invite__phone{
  font-family:var(--serif); font-size:clamp(24px, 2vw, 31px);
  line-height:1.1; color:var(--ink);
  transition:color .3s var(--ease);
}
.invite__phone:hover{ color:var(--gold-ink); }
.invite__where{ font-size:15px; color:var(--ink-mute); margin:0; }

.invite__legal{
  margin-top:clamp(34px, 4vw, 56px);
  padding-top:clamp(20px, 2.2vw, 28px);
  border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px;
  font-size:14.5px; color:var(--ink-mute);
}

/* мягкий переход к подвалу */
.footer{ border-top:1px solid var(--line); background:var(--bg-warm); }
.footer__inner{
  padding-block:34px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  font-size:13px; color:var(--ink-mute);
}
.footer__links{ display:flex; flex-wrap:wrap; gap:22px; }
.footer__links button,.footer__links a{ transition:color .3s var(--ease); }
.footer__links button:hover,.footer__links a:hover{ color:var(--choco); }

@media (max-width:1199px){
  .invite__grid{
    grid-template-columns:1fr;
    grid-template-areas:"body" "media";
    gap:clamp(28px, 4vw, 40px);
  }
  .invite__body{ grid-area:body; max-width:none; }
  .invite__media{ grid-area:media; }
  /* порядок на узких экранах: подпись, заголовок, текст, фото, кнопка, ссылки.
     display:contents отменяет анимацию появления у контейнера — снимаем её явно,
     чтобы содержимое гарантированно было видно */
  .invite__body{ display:contents; opacity:1 !important; transform:none !important; }
  .invite__body > .eyebrow{ grid-row:1; }
  .invite__body > .h2{ grid-row:2; }
  .invite__body > .lead{ grid-row:3; max-width:56ch; }
  .invite__media{
    grid-row:4; margin-block:clamp(18px,3vw,28px);
    max-width:560px;   /* в одну колонку фото не растягивается на всю ширину */
  }
  .invite__body > .invite__cta{ grid-row:5; justify-self:start; margin-top:0; }
  .invite__body > .invite__or{ grid-row:6; }
  .invite__body > .invite__links{ grid-row:7; }
  .invite__body > .invite__foot{ grid-row:8; }
  .invite__media .ph{
    aspect-ratio:4/3;                    /* не занимает больше одного экрана */
    border-radius:var(--r-lg) var(--r-lg) 120px 120px;
  }
  .invite__media .ph img{ object-position:center 22%; }
}
@media (max-width:560px){
  .invite__links{ flex-direction:column; gap:4px; }
  .invite__link{ padding:10px 0; }
  .invite__cta{ width:100%; }
  .invite__media .ph{ aspect-ratio:3/2; }
}

/* ---------- 24. MODALS ---------- */
.modal{
  position:fixed; inset:0; z-index:1000;
  display:grid; place-items:center;
  padding:clamp(16px, 4vw, 40px);
  opacity:0; visibility:hidden;
  transition:opacity .35s var(--ease), visibility .35s;
}
.modal.is-open{ opacity:1; visibility:visible; }
.modal__backdrop{
  position:absolute; inset:0;
  background:rgba(43,34,27,.62);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.modal__box{
  position:relative; z-index:2;
  width:min(620px, 100%);
  max-height:88vh; overflow-y:auto;
  background:var(--bg-light);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:clamp(28px, 4vw, 48px);
  box-shadow:0 50px 90px -50px rgba(43,34,27,.7);
  transform:translateY(14px) scale(.985);
  transition:transform .4s var(--ease);
}
.modal.is-open .modal__box{ transform:none; }
.modal__close{
  position:absolute; top:14px; right:14px;
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--line);
  color:var(--ink-mute);
  transition:border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.modal__close:hover{ border-color:var(--caramel); color:var(--choco); transform:rotate(90deg); }
.modal__close svg{ width:14px; height:14px; }
.modal h3{ margin-bottom:14px; padding-right:40px; }
.modal__chip{
  display:inline-flex; align-items:center; gap:9px;
  border:1px solid var(--line-strong); border-radius:100px;
  padding:7px 16px; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-ink); margin-bottom:20px;
}
.modal__channels{ display:grid; gap:12px; margin:26px 0 22px; }
.channel{
  display:flex; align-items:center; gap:16px;
  border:1px solid var(--line); border-radius:var(--r);
  padding:16px 20px; background:var(--white);
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.channel:hover{ border-color:var(--caramel); transform:translateX(4px); }
.channel__ico{
  width:38px; height:38px; flex:none; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--line-strong); color:var(--gold-ink);
}
.channel__ico svg{ width:17px; height:17px; }
.channel__t{ display:block; font-size:15px; color:var(--ink); }
.channel__d{ display:block; font-size:12.5px; color:var(--ink-mute); margin-top:3px; line-height:1.45; }
.channel > span:last-child{ min-width:0; }
.channel.is-empty{ opacity:.5; pointer-events:none; }
.modal__note{
  font-size:13px; line-height:1.6; color:var(--ink-mute);
  border-top:1px solid var(--line); padding-top:18px;
}

/* ---------- 25. LIGHTBOX ---------- */
.lightbox{
  position:fixed; inset:0; z-index:1100;
  display:grid; place-items:center;
  opacity:0; visibility:hidden;
  transition:opacity .35s var(--ease), visibility .35s;
}
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox__backdrop{
  position:absolute; inset:0;
  background:rgba(30,23,18,.96);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.lightbox__fig{
  position:relative; z-index:2; margin:0;
  width:min(1000px, 92vw); max-height:88vh;
  display:flex; flex-direction:column; align-items:center; gap:18px;
}
.lightbox__stage{
  width:100%; max-height:72vh; min-height:200px;
  display:grid; place-items:center;
  background:var(--white); border-radius:var(--r);
  overflow:hidden;
}
.lightbox__stage img{ max-height:72vh; width:auto; object-fit:contain; cursor:zoom-in; }
/* натуральная величина с прокруткой — чтобы текст документа читался на телефоне */
.lightbox__stage.is-zoom{ place-items:start; overflow:auto; -webkit-overflow-scrolling:touch; }
.lightbox__stage.is-zoom img{ max-height:none; max-width:none; width:auto; height:auto; cursor:zoom-out; }
.lightbox:has(.lightbox__stage.is-zoom) .lightbox__nav{ opacity:0; pointer-events:none; }
.lightbox__nav{ transition:background .3s var(--ease), border-color .3s var(--ease), opacity .3s var(--ease); }
.lightbox__empty{
  padding:60px 28px; text-align:center; color:var(--ink-mute);
  font-family:var(--serif); font-size:19px; font-style:italic;
}
.lightbox__cap{ color:var(--on-dark-soft); font-size:14px; text-align:center; max-width:60ch; }
.lightbox__cap b{ display:block; color:var(--on-dark); font-weight:400; font-family:var(--serif); font-size:20px; margin-bottom:6px; }
.lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid rgba(246,241,233,.3); color:var(--on-dark);
  background:rgba(43,34,27,.4);
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.lightbox__nav:hover{ background:var(--caramel); border-color:var(--caramel); }
.lightbox__nav svg{ width:16px; height:16px; }
.lightbox__nav--prev{ left:max(12px, calc(50% - 570px)); }
.lightbox__nav--next{ right:max(12px, calc(50% - 570px)); }
.lightbox__close{
  position:absolute; top:22px; right:22px; z-index:3;
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid rgba(246,241,233,.3); color:var(--on-dark);
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.lightbox__close:hover{ background:rgba(246,241,233,.12); transform:rotate(90deg); }
.lightbox__close svg{ width:16px; height:16px; }
.lightbox__bar{
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; align-items:center; gap:18px;
}
.lightbox__count{ font-size:12px; letter-spacing:.2em; color:var(--on-dark-mute); white-space:nowrap; }
.lightbox__zoom{
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 18px; border-radius:100px;
  border:1px solid rgba(246,241,233,.3); color:var(--on-dark);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(43,34,27,.45);
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.lightbox__zoom:hover{ background:var(--caramel); border-color:var(--caramel); }
.lightbox__zoom svg{ width:15px; height:15px; flex:none; }
.lightbox__zoom[aria-pressed="true"]{ background:var(--caramel); border-color:var(--caramel); }

/* ---------- 26. FLOATING MOBILE BAR ---------- */
.floatbar{
  position:fixed; z-index:850; left:0; right:0; bottom:0;
  display:none; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(248,244,238,.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  transform:translateY(110%);
  transition:transform .45s var(--ease);
}
.floatbar.is-visible{ transform:none; }
.floatbar .btn{ flex:1; padding:15px 18px; }
.floatbar__ico{
  flex:none !important; width:52px; padding:0 !important;
  display:grid; place-items:center;
  border:1px solid var(--line-strong); border-radius:var(--r); color:var(--gold-ink);
}
.floatbar__ico svg{ width:21px; height:21px; }
/* иконка Telegram нарисована с небольшим визуальным перевесом вправо */
.floatbar__ico[data-contact="telegram"] svg{ margin-left:-1px; }

/* ---------- 27. ANIMATIONS ---------- */
.rise{
  opacity:0; transform:translateY(26px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.rise.is-in{ opacity:1; transform:none; }
.rise-d1{ transition-delay:.09s; }
.rise-d2{ transition-delay:.18s; }
.rise-d3{ transition-delay:.27s; }
.rise-d4{ transition-delay:.36s; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .rise{ opacity:1; transform:none; }
}

/* ---------- 28. RESPONSIVE ---------- */
@media (max-width:1180px){
  .nav{ gap:14px; }
  .nav__link{ font-size:12.5px; }
}

@media (max-width:1040px){
  .nav,.header__cta{ display:none; }
  .burger{ display:flex; }
  /* на телефоне и планшете фотография идёт сразу после заголовка,
     чтобы лицо было видно на первом экране */
  .hero__grid{ grid-template-columns:1fr; grid-template-areas:"intro" "media" "more"; row-gap:32px; }
  .hero__media{ max-width:520px; }
  .hero__badge{ left:auto; right:0; bottom:6%; }
  .about__grid{ grid-template-columns:1fr; }
  .about__media{ max-width:560px; }
  .edu__item{ grid-template-columns:60px minmax(0,1fr); }
  .edu__meta{ grid-column:2; }
  .feature{ grid-template-columns:1fr; gap:30px; }
  .feature--flip .feature__media{ order:0; }
  .support__grid{ grid-template-columns:1fr; }
  .reviews{ grid-template-columns:1fr; }
  .floatbar{ display:flex; }
  /* место под плавающую панель, чтобы она не закрывала футер */
  body{ padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
}

@media (max-width:720px){
  :root{ --header-h:66px; }
  .brand__name{ font-size:17px; }
  .issues{ grid-template-columns:1fr; }
  .issues__col{ border-right:0; padding-inline:0; }
  .hero__poem{ padding-left:20px; }
  .hero__badge{
    position:static; margin-top:16px; max-width:none;
    display:flex; align-items:baseline; gap:14px; box-shadow:none;
  }
  .hero__badge span{ margin-top:0; }
  .hero__media .ph{ border-radius:var(--r-lg) var(--r-lg) 120px 120px; }
  .lightbox__nav--prev{ left:8px; }
  .lightbox__nav--next{ right:8px; }
  .lightbox__nav{ width:44px; height:44px; }
  .lightbox__fig{ width:96vw; gap:12px; }
  .lightbox__stage{ max-height:64vh; }
  .lightbox__stage img{ max-height:64vh; }
  .lightbox__cap{ font-size:13px; padding-bottom:52px; }
  .lightbox__cap b{ font-size:17px; }
  .lightbox__bar{ bottom:12px; gap:12px; }
  .contact-row__v{ text-align:left; }
  .btn{ padding:16px 26px; }
  .footer__inner{ flex-direction:column; align-items:flex-start; }
}

@media (max-width:420px){
  .btn-row .btn{ width:100%; }
}

@media print{
  .header,.floatbar,.mobile-nav,.modal,.lightbox,.btn{ display:none !important; }
  body{ background:#fff; }
}

/* ---------- 29. БЕЗ JAVASCRIPT ---------- */
html:not(.js) .rise{ opacity:1 !important; transform:none !important; }
html:not(.js) .faq__a{ grid-template-rows:1fr; }


/* Секция 30 (старое оформление блока сопровождения) удалена:
   блок пересобран по референсу, правила ниже перекрывали новую вёрстку. */

/* ---------- 31. ФОТО С ПРОФЕССИОНАЛЬНЫХ МЕРОПРИЯТИЙ ---------- */
.events{ margin-top:clamp(40px, 5vw, 72px); }
.events__label{ margin-bottom:22px; }
.events__grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(14px, 1.4vw, 22px);
}
.events__grid .ph{ border-radius:var(--r); }

@media (max-width:720px){
  .events__grid{ grid-template-columns:1fr; }
}


/* ---------- 33. ПОДРОСТКАМ: две фотографии ---------- */
.feature__media--duo{ position:relative; padding-bottom:64px; padding-right:52px; }
.feature__inset{
  position:absolute; right:0; bottom:0;
  width:46%; max-width:250px;
  border:6px solid var(--bg);
  border-radius:var(--r-lg);
  box-shadow:0 30px 60px -40px rgba(71,56,46,.55);
}
.section--light .feature__inset{ border-color:var(--bg-light); }

@media (max-width:1040px){
  .trust__grid{ grid-template-columns:1fr; gap:34px; }
  .trust__media{ max-width:340px; }
  .trust__media .ph{ border-radius:160px 160px var(--r-lg) var(--r-lg); }
}
@media (max-width:720px){
  .feature__media--duo{ padding-bottom:0; padding-right:0; }
  .feature__inset{
    position:static; width:62%; margin:-56px 0 0 auto; display:block;
  }
}


/* ---------- 34. ПРИМЕЧАНИЕ ПОД ТАЙМЛАЙНОМ ОБРАЗОВАНИЯ ---------- */
.edu__note{
  margin-top:clamp(28px, 3vw, 44px);
  max-width:78ch; font-size:15px; line-height:1.7; color:var(--ink-soft);
  padding-left:26px; border-left:1px solid var(--line-strong);
}

@media (max-width:1180px){
  .docgroup__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:720px){
  .docgroup__grid{ grid-template-columns:1fr; }
  .gallery__item--wide{ grid-column:span 1; }
  .gallery__item--wide .ph--doc{ aspect-ratio:4/3; }
}

/* ---------- 29. ТЕЛЕФОН: ЧИТАЕМОСТЬ И ЗОНЫ НАЖАТИЯ ---------- */
/* На узких экранах подписи опускались до 9–10 px. Размеры на десктопе
   не трогаем — поднимаем только нижнюю границу на телефоне. */
@media (max-width:760px){
  .eyebrow,
  .pkg__eyebrow,
  .sup__eyebrow,
  .teens__eyebrow,
  .trust__eyebrow,
  .awards__eyebrow,
  .eyebrow--center,
  .plan__badge,
  .plan__save,
  .sup__label,
  .sup__term,
  .story__tag,
  .doc__year,
  .edu__hours{ font-size:11px; }

  .doc-cell .doc__meta,
  .doc-cell--sm .doc__meta,
  .mstrip__d,
  .story__sign,
  .growth .edu__note,
  .edu__note{ font-size:11.5px; }

  .hero__cta .btn--ghost,
  .growth .edu__foot .btn,
  .edu__foot .btn--ghost,
  .growth .btn--ghost,
  .btn--ghost{ font-size:11px; }

  /* подписи, которые перебивались более точными правилами разделов */
  .edu-section__body .eyebrow,
  .growth__intro .eyebrow,
  .path__intro .eyebrow,
  .services__head .eyebrow,
  .awards__head .awards__span span,
  .awards__timeline span,
  .awards__timeline li span{ font-size:11px; }

  .qcard__head .qcard__t{ font-size:11.5px; }
  .qtrust li span{ font-size:11px; }
}

/* самые узкие экраны: плашка с годами не помещается в строку — разрешаем перенос */
@media (max-width:360px){
  .edu--compact .edu__hours,
  .growth .edu__hours{ width:auto; letter-spacing:.08em; }
}

/* Зона нажатия вырастает, внешний вид не меняется: отрицательный отступ
   компенсирует добавленные поля, поэтому вёрстка остаётся прежней. */
@media (max-width:1040px){
  .footer__links{ gap:14px 22px; }
  .footer__links a,
  .footer__links button{
    display:inline-block;
    padding-block:10px; margin-block:-10px;
  }
  .invite__phone{
    display:inline-block;
    padding-block:9px; margin-block:-9px;
  }
  .nav__link{ padding-block:11px; margin-block:-5px; }
  .doc__open{ display:inline-block; padding-block:6px; margin-block:-6px; }
}
@media (max-width:760px){
  .btn--ghost{ min-height:44px; }
}
