
:root {
  --navy-950:#05152a;
  --navy-900:#071d38;
  --navy-850:#092545;
  --navy-800:#0d315d;
  --gold:#d4ad63;
  --gold-light:#f0d291;
  --cream:#f7f3ec;
  --paper:#fffdf9;
  --ink:#102640;
  --muted:#5d6876;
  --line:#e6dccb;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.page{min-width:1180px}
.shell{width:1180px;margin:0 auto}

.hero {
  position:relative;
  overflow:hidden;
  min-height:730px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 42%,rgba(38,99,164,.25),transparent 32%),
    linear-gradient(118deg,var(--navy-950) 0%,var(--navy-900) 49%,var(--navy-800) 100%);
}
.hero-watermark {
  position:absolute;
  right:70px;
  bottom:-30px;
  width:500px;
  opacity:.075;
  filter:grayscale(1) brightness(1.7);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;padding:58px 0 72px}
.brand-row {
  display:grid;
  grid-template-columns:194px 1px 1fr;
  align-items:center;
  column-gap:34px;
  margin-bottom:58px;
}
.logo-wrap{width:194px;height:194px;display:flex;align-items:center;justify-content:center}
.logo{width:184px;height:184px;object-fit:contain}
.brand-line{width:1px;height:166px;background:linear-gradient(to bottom,transparent,var(--gold),transparent)}
.eyebrow {
  margin:0 0 10px;
  color:var(--gold-light);
  font-size:15px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
h1 {
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:86px;
  line-height:.98;
  font-weight:400;
  letter-spacing:-.035em;
}
.role {
  margin-top:15px;
  color:var(--gold-light);
  font-size:24px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.hero-copy{max-width:790px}
.hero-copy h2 {
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:52px;
  line-height:1.18;
  font-weight:400;
  letter-spacing:-.018em;
}
.gold-rule{width:86px;height:2px;margin:30px 0 25px;background:var(--gold)}
.principles{margin:0 0 38px;color:#d9e2ed;font-size:21px}
.actions{display:flex;gap:16px}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  min-height:60px;
  padding:0 28px;
  border-radius:4px;
  font-size:18px;
  font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:var(--navy-900);background:linear-gradient(135deg,var(--gold-light),var(--gold));box-shadow:0 11px 26px rgba(0,0,0,.16)}
.btn-secondary{color:var(--gold-light);border:1px solid var(--gold);background:rgba(255,255,255,.02)}

.services{padding:80px 0 88px;background:linear-gradient(#fffefd,#fbf7f0)}
.services-grid{display:grid;grid-template-columns:390px 1fr;gap:56px;align-items:start}
.section-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:48px;line-height:1.08;font-weight:400}
.section-intro{margin:0;max-width:370px;color:var(--muted);font-size:18px;line-height:1.78}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card {
  min-height:190px;
  padding:30px 24px 26px;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.82);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  box-shadow:0 7px 22px rgba(16,38,64,.035);
}
.service-icon{width:62px;height:62px;margin-bottom:20px;color:var(--gold)}
.service-icon svg{width:62px;height:62px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{margin:0;font-size:17px;line-height:1.48;font-weight:700}

.contacts{padding:72px 0 62px;color:#fff;background:linear-gradient(118deg,var(--navy-950),var(--navy-850))}
.contacts-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:80px;align-items:start}
.contacts h2{margin:0 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:400}
.contacts .note{margin:0;color:#c9d3df;font-size:17px}
.contact-list{display:grid;gap:16px;font-size:18px}
.contact-item{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center}
.contact-icon{width:28px;height:28px;color:var(--gold)}
.contact-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.contact-list a{color:var(--gold-light)}

footer{padding:28px 0;color:#9da9b8;background:var(--navy-950);text-align:center;font-size:14px}

/* Портрет в первом экране */
.hero { min-height:805px; }
.hero-main {
  display:grid;
  grid-template-columns:minmax(0,735px) 385px;
  column-gap:60px;
  align-items:center;
}
.hero-copy { max-width:735px; }
.hero-copy h2 { font-size:49px; }
.hero-portrait {
  width:385px;
  height:520px;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(240,210,145,.45);
  box-shadow:0 24px 60px rgba(0,0,0,.34);
  background:#0a2343;
}
.hero-portrait img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 18%;
}


/* Premium tree watermark */
.hero::before {
    content:"";
    position:absolute;
    right:-120px;
    top:-30px;
    width:980px;
    height:980px;
    background-image:url("../img/logo-shield.webp");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    opacity:.022;
    filter:grayscale(100%) brightness(2.8) contrast(.9);
    transform:rotate(-8deg);
    pointer-events:none;
}

.hero::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 82% 48%,
        rgba(212,173,99,.05) 0,
        rgba(212,173,99,.04) 180px,
        rgba(212,173,99,.025) 181px,
        transparent 184px),
      radial-gradient(circle at 82% 48%,
        transparent 0,
        transparent 255px,
        rgba(212,173,99,.03) 256px,
        transparent 259px),
      radial-gradient(circle at 82% 48%,
        transparent 0,
        transparent 330px,
        rgba(212,173,99,.025) 331px,
        transparent 334px);
}


/* ===== Адаптивная версия для планшетов и телефонов ===== */
html {
  scroll-behavior: smooth;
}

.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 50;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #25d366;
  color: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
  transition: transform .18s ease, box-shadow .18s ease;
}

.whatsapp-float:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 14px 34px rgba(0,0,0,.32);
}

.whatsapp-float svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

@media (max-width: 1100px) {
  .page {
    min-width: 0;
  }

  .shell {
    width: min(100% - 40px, 920px);
  }

  .brand-row {
    grid-template-columns: 150px 1px 1fr;
    column-gap: 26px;
  }

  .logo-wrap {
    width: 150px;
    height: 150px;
  }

  .logo {
    width: 142px;
    height: 142px;
  }

  .brand-line {
    height: 138px;
  }

  h1 {
    font-size: 68px;
  }

  .role {
    font-size: 20px;
  }

  .hero-main {
    grid-template-columns: minmax(0, 1fr) 320px;
    column-gap: 38px;
  }

  .hero-copy h2 {
    font-size: 42px;
  }

  .hero-portrait {
    width: 320px;
    height: 440px;
  }

  .services-grid {
    grid-template-columns: 320px 1fr;
    gap: 36px;
  }

  .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  body {
    overflow-x: hidden;
  }

  .page {
    min-width: 0;
  }

  .shell {
    width: min(100% - 28px, 620px);
  }

  .hero {
    min-height: auto;
  }

  .hero-inner {
    padding: 28px 0 48px;
  }

  .hero::before {
    right: -330px;
    top: 130px;
    width: 760px;
    height: 760px;
    opacity: .018;
  }

  .hero::after {
    opacity: .7;
  }

  .brand-row {
    grid-template-columns: 92px 1fr;
    gap: 16px;
    margin-bottom: 28px;
  }

  .logo-wrap {
    width: 92px;
    height: 92px;
  }

  .logo {
    width: 88px;
    height: 88px;
  }

  .brand-line {
    display: none;
  }

  .eyebrow {
    margin-bottom: 6px;
    font-size: 10px;
    line-height: 1.35;
    letter-spacing: .12em;
  }

  h1 {
    font-size: 42px;
    line-height: .98;
  }

  .role {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .08em;
  }

  .hero-main {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .hero-portrait {
    order: 1;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    border-radius: 16px;
  }

  .hero-copy {
    order: 2;
    max-width: none;
  }

  .hero-copy h2 {
    font-size: 31px;
    line-height: 1.2;
  }

  .gold-rule {
    width: 68px;
    margin: 22px 0 20px;
  }

  .principles {
    margin-bottom: 28px;
    font-size: 17px;
    line-height: 1.5;
  }

  .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .btn {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 0 20px;
    font-size: 17px;
  }

  .services {
    padding: 54px 0 60px;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .section-title {
    font-size: 39px;
  }

  .section-intro {
    max-width: none;
    font-size: 17px;
    line-height: 1.7;
  }

  .cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .service-card {
    min-height: 0;
    padding: 24px 20px;
  }

  .service-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 15px;
  }

  .service-icon svg {
    width: 54px;
    height: 54px;
  }

  .contacts {
    padding: 52px 0 48px;
  }

  .contacts-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .contacts h2 {
    font-size: 38px;
  }

  .contact-list {
    gap: 15px;
    font-size: 17px;
  }

  .contact-item {
    grid-template-columns: 24px 1fr;
    gap: 10px;
  }

  footer {
    padding: 24px 14px 92px;
    font-size: 13px;
  }

  .whatsapp-float {
    right: 16px;
    bottom: 16px;
    width: 56px;
    height: 56px;
  }
}

@media (max-width: 380px) {
  h1 {
    font-size: 37px;
  }

  .hero-copy h2 {
    font-size: 28px;
  }

  .contacts h2,
  .section-title {
    font-size: 35px;
  }
}


/* Telegram button */
.btn-telegram {
  color:#fff;
  background:#229ED9;
  border:1px solid #229ED9;
  box-shadow:0 10px 24px rgba(34,158,217,.22);
}

/* Floating messenger buttons */
.messenger-floats {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:50;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.messenger-float {
  position:relative;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  transition:transform .18s ease, box-shadow .18s ease;
}

.messenger-float:hover {
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}

.messenger-float svg {
  display:block;
  width:30px;
  height:30px;
  fill:currentColor;
  margin:0;
}

.telegram-float {
  background:#229ED9;
}

.whatsapp-float {
  position:relative;
  right:auto;
  bottom:auto;
  background:#25D366;
}

.whatsapp-float svg {
  width:31px;
  height:31px;
}

@media (max-width:760px) {
  .messenger-floats {
    right:16px;
    bottom:16px;
    gap:10px;
  }

  .messenger-float {
    width:56px;
    height:56px;
  }

  .messenger-float svg {
    width:29px;
    height:29px;
  }
}


/* Финальная полировка кнопок и композиции первого экрана */
.btn-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  fill:currentColor;
}
.phone-icon{width:23px;height:23px;flex-basis:23px}

.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#27d96f,#16b956);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 11px 26px rgba(22,185,86,.22);
}

.btn-telegram{
  color:#fff;
  background:linear-gradient(135deg,#32b6eb,#229ED9);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 11px 26px rgba(34,158,217,.22);
}

.btn-secondary{
  gap:12px;
}

.actions .btn{
  gap:11px;
}

.whatsapp-float svg{
  transform:translateX(-2px);
}

@media (min-width:1101px){
  .hero-main{
    grid-template-columns:minmax(0,720px) 385px;
    column-gap:75px;
  }
  .hero-copy{max-width:720px}
  .actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    width:720px;
  }
  .actions .btn{
    min-width:0;
    padding:0 16px;
    white-space:nowrap;
    font-size:17px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  .actions{
    display:grid;
    grid-template-columns:1fr;
    width:min(100%,420px);
  }
  .actions .btn{min-width:0;width:100%}
}

@media (max-width:760px){
  .actions .btn{
    gap:12px;
  }
}


/* Одна основная кнопка записи */
.actions{
  display:block;
  width:auto;
}

.btn-booking{
  min-width:480px;
  min-height:68px;
  gap:15px;
  color:var(--navy-900);
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  box-shadow:0 14px 32px rgba(0,0,0,.20);
  cursor:pointer;
}

.btn-booking .btn-icon{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.phone-float{
  color:var(--navy-900);
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
}

.phone-float svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

/* дополнительная коррекция центра значка WhatsApp */
.whatsapp-float svg{
  transform:translateX(-2px);
}

/* Окно выбора способа связи */
body.modal-open{overflow:hidden}

.contact-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.contact-modal.is-open{display:flex}

.contact-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,13,26,.72);
  backdrop-filter:blur(5px);
}

.contact-modal__panel{
  position:relative;
  z-index:1;
  width:min(100%,460px);
  padding:38px 34px 34px;
  border:1px solid rgba(212,173,99,.55);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,var(--navy-900),var(--navy-800));
  box-shadow:0 28px 80px rgba(0,0,0,.46);
  text-align:center;
}

.contact-modal__panel h2{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}

.contact-modal__panel p{
  margin:0 0 25px;
  color:#d4deea;
  font-size:17px;
}

.contact-modal__close{
  position:absolute;
  top:10px;
  right:14px;
  padding:0;
  border:0;
  color:#d9e2ed;
  background:transparent;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}

.contact-modal__actions{
  display:grid;
  gap:12px;
}

.modal-choice{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  color:#fff;
  font-size:17px;
  font-weight:700;
}

.modal-choice--whatsapp{background:#25D366}
.modal-choice--telegram{background:#229ED9}
.modal-choice--phone{
  color:var(--navy-900);
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
}

@media (max-width:760px){
  .btn-booking{
    min-width:0;
    width:100%;
    min-height:60px;
    padding:0 18px;
    font-size:17px;
  }

  .contact-modal__panel{
    padding:34px 20px 24px;
  }

  .contact-modal__panel h2{
    font-size:27px;
  }
}


/* Исправленная фирменная иконка WhatsApp */
.whatsapp-float{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.whatsapp-float svg{
  width:34px!important;
  height:34px!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  fill:#fff!important;
}
@media (max-width:760px){
  .whatsapp-float svg{
    width:33px!important;
    height:33px!important;
  }
}


/* Новые информационные блоки */
.section-kicker{
  margin:0 0 12px;
  color:var(--gold);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.consultation-process{
  position:relative;
  overflow:hidden;
  padding:92px 0;
  background:linear-gradient(135deg,#f8f3ea,#fffdf9);
}
.consultation-process::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-210px;
  width:610px;
  height:610px;
  border:1px solid rgba(212,173,99,.10);
  border-radius:50%;
  box-shadow:
    0 0 0 70px rgba(212,173,99,.035),
    0 0 0 145px rgba(212,173,99,.02);
  pointer-events:none;
}
.process-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:390px 1fr;
  gap:90px;
  align-items:start;
}
.process-intro p:last-child,
.faq-heading p:last-child{
  color:var(--muted);
  font-size:18px;
  line-height:1.75;
}
.process-timeline{
  position:relative;
  display:grid;
  gap:0;
}
.process-timeline::before{
  content:"";
  position:absolute;
  left:25px;
  top:34px;
  bottom:34px;
  width:1px;
  background:linear-gradient(var(--gold),rgba(212,173,99,.15));
}
.process-step{
  position:relative;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:26px;
  padding:0 0 34px;
}
.process-step:last-child{padding-bottom:0}
.process-number{
  position:relative;
  z-index:1;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gold);
  border-radius:50%;
  color:var(--gold);
  background:#fffdf9;
  font-size:13px;
  font-weight:700;
}
.process-step h3{
  margin:2px 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  font-weight:400;
}
.process-step p{
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.65;
}

.advantages{
  padding:88px 0 96px;
  background:#fff;
}
.section-heading-centered{
  max-width:700px;
  margin:0 auto 44px;
  text-align:center;
}
.advantages-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.advantage-card{
  min-height:285px;
  padding:34px 24px 28px;
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#fbf7f0);
  text-align:center;
  box-shadow:0 9px 25px rgba(16,38,64,.04);
}
.advantage-icon{
  width:64px;
  height:64px;
  margin:0 auto 20px;
  color:var(--gold);
}
.advantage-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.advantage-card h3{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  font-weight:400;
}
.advantage-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}

.approach{
  padding:86px 0;
  background:linear-gradient(118deg,var(--navy-950),var(--navy-850));
}
.approach-card{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:55px;
  align-items:center;
  padding:52px 62px;
  border:1px solid rgba(212,173,99,.38);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.approach-mark{
  width:180px;
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,173,99,.55);
  border-radius:50%;
  color:rgba(240,210,145,.9);
  font-family:Georgia,"Times New Roman",serif;
  font-size:54px;
}
.approach-copy .section-title{
  color:#fff;
}
.approach-copy p:last-child{
  margin:22px 0 0;
  color:#d3dce7;
  font-size:18px;
  line-height:1.75;
}

.philosophy{
  padding:72px 0;
  background:#f7f1e7;
}
.philosophy blockquote{
  position:relative;
  max-width:900px;
  margin:0 auto;
  padding-top:28px;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:40px;
  line-height:1.35;
  text-align:center;
}
.philosophy blockquote::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:90px;
  height:2px;
  transform:translateX(-50%);
  background:var(--gold);
}

.faq{
  padding:92px 0 98px;
  background:#fff;
}
.faq-layout{
  display:grid;
  grid-template-columns:390px 1fr;
  gap:70px;
  align-items:start;
}
.faq-list{
  border-top:1px solid var(--line);
}
.faq details{
  border-bottom:1px solid var(--line);
}
.faq summary{
  position:relative;
  padding:23px 48px 23px 0;
  cursor:pointer;
  color:var(--ink);
  font-size:18px;
  font-weight:700;
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:16px;
  color:var(--gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}
.faq details[open] summary::after{content:"-"}
.faq details p{
  margin:0;
  padding:0 52px 24px 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.footer-legal{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:12px;
  color:#c7d0dc;
  font-size:13px;
}
.footer-legal a:hover{color:var(--gold-light)}

@media (max-width:1100px){
  .process-layout,
  .faq-layout{
    grid-template-columns:320px 1fr;
    gap:48px;
  }
  .advantages-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:760px){
  .consultation-process,
  .advantages,
  .approach,
  .faq{
    padding:58px 0;
  }
  .process-layout,
  .faq-layout{
    grid-template-columns:1fr;
    gap:34px;
  }
  .process-timeline::before{
    left:22px;
  }
  .process-step{
    grid-template-columns:46px 1fr;
    gap:18px;
    padding-bottom:28px;
  }
  .process-number{
    width:46px;
    height:46px;
  }
  .process-step h3{
    font-size:22px;
  }
  .advantages-grid{
    grid-template-columns:1fr;
  }
  .advantage-card{
    min-height:0;
  }
  .approach-card{
    grid-template-columns:1fr;
    gap:28px;
    padding:34px 22px;
  }
  .approach-mark{
    width:110px;
    height:110px;
    font-size:36px;
  }
  .philosophy{
    padding:54px 0;
  }
  .philosophy blockquote{
    font-size:30px;
  }
  .faq summary{
    font-size:17px;
  }
  .footer-legal{
    flex-wrap:wrap;
    padding:0 18px;
  }
}


/* Фирменный логотип в блоке «Мой подход» */
.approach-mark.approach-logo{
  width:190px;
  height:190px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.approach-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.22));
}
@media (max-width:760px){
  .approach-mark.approach-logo{
    width:128px;
    height:128px;
  }
}



/* Technical production hardening */
*,*::before,*::after{box-sizing:border-box}
html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{width:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg{max-width:100%}
a,button{-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit}
.floating-whatsapp{display:flex!important;align-items:center!important;justify-content:center!important}
.floating-whatsapp svg{width:28px!important;height:28px!important;display:block;margin:auto;transform:translateX(-2px)}
@supports(padding:max(0px)){
  .messenger-floats{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
  footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* === Contact form layout === */
.contact-modal__panel{width:min(92vw,620px);max-height:90vh;overflow-y:auto;}
.contact-form{display:flex;flex-direction:column;gap:18px;margin:24px 0;}
.contact-form label{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;font-size:16px;font-weight:600;}
.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:#fff;color:#111;}
.contact-form textarea{min-height:120px;resize:vertical;}
.contact-form .btn{width:100%;min-width:0;margin-top:8px;}
.contact-form__consent{font-size:14px;line-height:1.5;text-align:center;}

/* Уведомление об успешной отправке */
.success-message[hidden]{
  display:none!important;
}
.success-message{
  position:fixed;
  top:20px;
  left:50%;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:14px;
  width:min(92vw,680px);
  padding:18px 22px;
  border-radius:14px;
  background:linear-gradient(135deg,#198754,#2aa86f);
  color:#fff;
  box-shadow:0 18px 45px rgba(25,135,84,.35);
  border:1px solid rgba(255,255,255,.15);
  opacity:0;
  transform:translate(-50%,-20px);
  transition:opacity .35s ease,transform .35s ease;
  pointer-events:none;
}
.success-message.show{
  opacity:1;
  transform:translate(-50%,0);
}
.success-message__icon{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.35);
  color:#fff;
  font-size:20px;
  font-weight:700;
}
.success-message strong{
  display:block;
  margin-bottom:2px;
  font-size:16px;
}
@media (max-width:600px){
  .success-message{
    top:12px;
    padding:15px 16px;
    font-size:14px;
  }
}


/* === Version 2.0: content and visual polish === */
.hero-trustline{
  margin:18px 0 0;
  color:var(--gold-light);
  font-size:15px;
  line-height:1.5;
  letter-spacing:.025em;
}
.advantages-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.approach-copy{
  max-width:760px;
}
.approach-copy .approach-lead{
  margin:14px 0 22px;
  color:var(--ink);
  font-size:21px;
  line-height:1.55;
  font-weight:600;
}
.approach-copy p:not(.section-kicker):not(.approach-lead){
  margin:0 0 15px;
  max-width:740px;
}
.approach-copy p:last-child{
  margin-bottom:0;
}
@media (max-width:900px){
  .advantages-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .hero-trustline{font-size:13px;}
  .approach-copy .approach-lead{font-size:18px;}
}

/* === Final corrections: approach contrast === */
.approach-copy .section-kicker{
  color:var(--gold-light);
}
.approach-copy .section-title{
  color:#fff;
}
.approach-copy .approach-lead{
  color:#fff;
}
.approach-copy p:not(.section-kicker):not(.approach-lead){
  color:#e2e8f0;
}

/* === Final corrections: uniform typography and spacing in "Мой подход" === */
.approach-copy .section-kicker{
  margin:0 0 10px;
}
.approach-copy .section-title{
  margin:0 0 18px;
}
.approach-copy .approach-lead,
.approach-copy p:not(.section-kicker):not(.approach-lead){
  margin:0 0 16px;
  max-width:740px;
  color:#e2e8f0;
  font-size:18px;
  line-height:1.7;
  font-weight:400;
}
.approach-copy .approach-lead{
  color:#fff;
}
.approach-copy p:last-child{
  margin-bottom:0;
  font-size:18px;
  line-height:1.7;
}
@media (max-width:600px){
  .approach-copy .section-title{
    margin-bottom:16px;
  }
  .approach-copy .approach-lead,
  .approach-copy p:not(.section-kicker):not(.approach-lead),
  .approach-copy p:last-child{
    font-size:16px;
    line-height:1.65;
  }
}


/* === Master polish: education and visual rhythm === */
.section-heading-decorated::before{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin:0 auto 18px;
  background:var(--gold);
}
.faq-heading.section-heading-decorated::before{
  margin-left:0;
}
.advantage-card{
  padding:38px 30px 34px;
  min-height:300px;
  align-items:center;justify-content:center;text-align:center;
}
.advantage-icon{
  width:58px;
  height:58px;
  margin-bottom:24px;
}
.advantage-icon svg{width:58px;height:58px}
.advantage-card h3{
  min-height:52px;
  margin-bottom:14px;
  display:flex;
  align-items:center;justify-content:center;text-align:center;
}
.advantage-card p{margin-top:0}

.education{
  padding:88px 0 94px;
  background:linear-gradient(180deg,#fffefd 0%,#f8f2e9 100%);
}
.education .section-heading-centered{margin-bottom:42px}
.education-card{
  position:relative;
  display:grid;
  grid-template-columns:170px 1fr;
  gap:42px;
  align-items:center;
  width:min(100%,920px);
  margin:0 auto;
  padding:46px 54px;
  border:1px solid rgba(212,173,99,.58);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 48px rgba(16,38,64,.08);
  overflow:hidden;
}
.education-card::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-145px;
  width:360px;
  height:360px;
  border:1px solid rgba(212,173,99,.14);
  border-radius:50%;
}
.education-emblem{
  width:150px;
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,173,99,.55);
  border-radius:50%;
  background:linear-gradient(145deg,#0b2a50,#061a33);
  color:var(--gold-light);
}
.education-emblem svg{width:78px;height:78px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.education-type{margin:0 0 10px;color:#9a7130;font-size:14px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.education-content h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.18;font-weight:400;color:var(--ink)}
.education-program{margin:14px 0 28px;color:var(--muted);font-size:19px;line-height:1.55}
.education-hours{display:grid;grid-template-columns:repeat(2,minmax(0,190px));gap:34px}
.education-hours div{display:flex;flex-direction:column;border-left:2px solid var(--gold);padding-left:18px}
.education-hours strong{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:1;color:var(--navy-850);font-weight:400}
.education-hours span{margin-top:7px;color:var(--muted);font-size:16px}


.contact-item{padding:8px 0}
.contacts .contact-icon{flex:none}
.footer-legal{margin-top:10px}
footer>p{margin-top:10px!important}

@media (max-width:900px){
  .education-card{grid-template-columns:130px 1fr;padding:38px 34px;gap:30px}
  .education-emblem{width:120px;height:120px}
  .education-content h3{font-size:29px}
}
@media (max-width:600px){
  .section-heading-decorated::before{margin-bottom:14px}
  .advantage-card{padding:30px 24px;min-height:0}
  .advantage-card h3{min-height:0}
  .education{padding:60px 0 66px}
  .education-card{grid-template-columns:1fr;text-align:center;padding:32px 22px;gap:24px}
  .education-emblem{width:112px;height:112px;margin:0 auto}
  .education-content h3{font-size:26px}
  .education-program{font-size:17px;margin-bottom:24px}
  .education-hours{grid-template-columns:1fr 1fr;gap:14px}
  .education-hours div{border-left:0;border-top:2px solid var(--gold);padding:14px 4px 0}
  .education-hours strong{font-size:32px}
  .education-hours span{font-size:14px}
}
/* ===== intl-tel-input ===== */

.iti {
    width: 100%;
}

.iti__country-list {
    background: #ffffff;
    color: #222;
    border: 1px solid #dcdcdc;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    max-height: 260px;
}

.iti__country {
    color: #222;
}

.iti__country:hover,
.iti__country.iti__highlight {
    background: #f5f5f5;
}

.iti__country-name,
.iti__dial-code {
    color: #222;
}

.iti input {
    width: 100%;
}
