:root{
  --cream:#FBF3E7;
  --cream2:#FFF9F0;
  --ink:#37264E;
  --ink-soft:#5C4A75;
  --coral:#F26B4E;
  --coral-dark:#C74524;
  --coral-tint:#FFE9DF;
  --gold:#E9A93D;
  --gold-dark:#A9741A;
  --gold-tint:#FFF3D6;
  --teal:#1E8E7E;
  --teal-dark:#0F5F54;
  --teal-tint:#DDF1EC;
  --lilac:#8B6FD8;
  --lilac-dark:#5B43A3;
  --lilac-tint:#EDE7FB;
  --night:#251A3E;
  --night2:#1D1433;
  --display:"Cormorant Garamond",Georgia,serif;
  --body:"Golos Text","Segoe UI",Arial,sans-serif;
  --hand:"Caveat",cursive;
  --radius:26px;
  --shadow:0 18px 45px -18px rgba(55,38,78,.28);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}

body{
  font-family:var(--body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
}

img{
  max-width:100%;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

button{
  font-family:inherit;
  cursor:pointer;
}

::selection{
  background:var(--coral);
  color:#fff;
}

.container{
  width:min(1180px,92%);
  margin-left:auto;
  margin-right:auto;
}

.skip-link{
  position:fixed;
  left:1rem;
  top:-4rem;
  z-index:200;
  background:var(--ink);
  color:#fff;
  padding:.7rem 1.2rem;
  border-radius:0 0 12px 12px;
}

.skip-link:focus{
  top:0;
}

.noise{
  position:fixed;
  inset:0;
  z-index:120;
  pointer-events:none;
  opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.cursor-glow{
  position:fixed;
  width:460px;
  height:460px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  left:70%;
  top:30%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(233,169,61,.16),rgba(242,107,78,.06) 45%,transparent 70%);
}

/* ТИПОГРАФИКА */

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:600;
  line-height:1.12;
}

.h2{
  font-size:clamp(2.1rem,4.6vw,3.2rem);
}

.h2 em,
.page-head h1 em{
  font-style:italic;
  color:var(--coral-dark);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--coral-dark);
}

.eyebrow::before{
  content:"✦";
  color:var(--gold);
}

.hand{
  font-family:var(--hand);
}

/* АНИМАЦИИ */

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
}

.reveal.in{
  opacity:1;
  transform:none;
}

.lm{
  display:block;
  overflow:hidden;
}

.lm>span{
  display:block;
}

/* ШАПКА */

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:rgba(251,243,231,.96);
  border-bottom:1px solid rgba(55,38,78,.1);
  backdrop-filter:blur(10px);
}

.site-header.scrolled{
  box-shadow:0 10px 30px -18px rgba(55,38,78,.35);
}

.header-in{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}

.logo{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-shrink:0;
}

.logo-mark{
  width:44px;
  height:44px;
  border-radius:50% 50% 50% 6px;
  background:var(--coral);
  color:#fff;
  display:grid;
  place-items:center;
  font-family:var(--display);
  font-size:1.5rem;
  font-weight:700;
  box-shadow:0 6px 16px -6px rgba(242,107,78,.6);
}

.logo-name{
  font-family:var(--display);
  font-size:1.35rem;
  font-weight:700;
  line-height:1;
}

.logo-sub{
  display:block;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

.main-nav ul{
  display:flex;
  align-items:center;
  gap:1.6rem;
  list-style:none;
}

.nav-link{
  position:relative;
  font-weight:600;
  font-size:.95rem;
  padding:.4rem 0;
  display:inline-block;
}

.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
  width:0;
  background:var(--coral);
  transition:width .3s;
}

.nav-link:hover::after,
.nav-link.active::after{
  width:100%;
}

.nav-link.active{
  color:var(--coral-dark);
}

.has-sub{
  position:relative;
}

.caret{
  font-size:.7em;
  margin-left:.25rem;
  color:var(--coral);
}

.sub{
  position:absolute;
  top:100%;
  left:-1rem;
  min-width:280px;
  background:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:.7rem;
  list-style:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:.25s;
  border:1px solid rgba(55,38,78,.08);
  display:block!important;
}

.has-sub:hover .sub,
.has-sub:focus-within .sub{
  opacity:1;
  visibility:visible;
  transform:none;
}

.sub li{
  display:block;
}

.sub a{
  display:block;
  padding:.6rem .9rem;
  border-radius:10px;
  font-size:.9rem;
  font-weight:500;
}

.sub a:hover{
  background:var(--coral-tint);
  color:var(--coral-dark);
}

.sub small{
  display:block;
  font-size:.72rem;
  color:var(--ink-soft);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  border:none;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  padding:.85rem 1.6rem;
  transition:.25s;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-ink{
  background:var(--ink);
  color:var(--cream);
}

.btn-ink:hover{
  background:var(--coral);
  box-shadow:0 12px 24px -10px rgba(242,107,78,.55);
}

.btn-coral{
  background:var(--coral);
  color:#fff;
}

.btn-coral:hover{
  background:var(--coral-dark);
}

.btn-ghost{
  background:transparent;
  color:var(--ink);
  box-shadow:inset 0 0 0 2px var(--ink);
}

.btn-ghost:hover{
  background:var(--ink);
  color:var(--cream);
}

.btn-ghost-light{
  background:transparent;
  color:var(--cream);
  box-shadow:inset 0 0 0 2px rgba(251,243,231,.6);
}

.btn-ghost-light:hover{
  background:var(--cream);
  color:var(--night);
}

.header-cta{
  padding:.65rem 1.3rem;
  font-size:.88rem;
}

.burger{
  display:none;
  width:46px;
  height:46px;
  background:none;
  border:none;
  position:relative;
  z-index:130;
}

.burger span{
  position:absolute;
  left:11px;
  width:24px;
  height:2.5px;
  background:var(--ink);
  border-radius:2px;
  transition:.35s;
}

.burger span:nth-child(1){
  top:18px;
}

.burger span:nth-child(2){
  top:26px;
}

body.menu-open .burger span:nth-child(1){
  top:22px;
  transform:rotate(45deg);
}

body.menu-open .burger span:nth-child(2){
  top:22px;
  transform:rotate(-45deg);
}

.mobile-menu{
  position:fixed;
  inset:0;
  z-index:110;
  background:var(--cream);
  display:flex;
  flex-direction:column;
  padding:6.5rem 8% 3rem;
  gap:.2rem;
  transform:translateX(100%);
  transition:.35s;
  overflow:auto;
}

body.menu-open .mobile-menu{
  transform:none;
}

.mobile-menu a{
  font-family:var(--display);
  font-size:clamp(1.6rem,6vw,2.4rem);
  font-weight:600;
  padding:.45rem 0;
  border-bottom:1px dashed rgba(55,38,78,.2);
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.mobile-menu a small{
  font-family:var(--hand);
  font-size:1.1rem;
  color:var(--coral);
}

.mobile-menu .mm-sub a{
  font-size:1.2rem;
  padding-left:1.4rem;
  color:var(--ink-soft);
}

.mobile-menu .mm-note{
  margin-top:1.6rem;
  font-family:var(--hand);
  font-size:1.4rem;
  color:var(--ink-soft);
}

/* ГЛАВНЫЙ ЭКРАН */

.hero{
  position:relative;
  padding:112px 0 4.2rem;
  min-height:auto;
  display:block;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:3.2rem;
  align-items:center;
}

.hero-hello{
  font-family:var(--hand);
  font-size:1.7rem;
  color:var(--coral-dark);
  transform:rotate(-2deg);
  display:inline-block;
  margin-bottom:.5rem;
}

.hero h1{
  font-size:clamp(2.6rem,5.8vw,4.7rem);
  margin:.4rem 0 1.4rem;
}

.hero h1 .lm:last-child span{
  font-style:italic;
  color:var(--coral-dark);
}

.hero-sub{
  max-width:34rem;
  color:var(--ink-soft);
  font-size:1.08rem;
}

.hero-ctas{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:2rem;
}

.hero-stats{
  display:flex;
  gap:2.2rem;
  margin-top:2.4rem;
  padding-top:1.4rem;
  border-top:1px solid rgba(55,38,78,.15);
  flex-wrap:wrap;
}

.hero-stats b{
  display:block;
  font-family:var(--display);
  font-size:2rem;
  color:var(--coral-dark);
  line-height:1;
}

.hero-stats span{
  font-size:.8rem;
  color:var(--ink-soft);
}

.hero-visual{
  position:relative;
  max-width:520px;
  margin-left:auto;
  padding:18px 24px 42px 24px;
}

.arch{
  position:relative;
  border-radius:300px 300px 30px 30px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:8px solid #fff;
  aspect-ratio:4/5;
  background:#fff;
}

.arch img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.kenburns img{
  animation:kb 16s ease-in-out infinite alternate;
}

@keyframes kb{
  from{transform:scale(1)}
  to{transform:scale(1.08)}
}

.ring{
  position:absolute;
  top:0;
  right:0;
  width:72%;
  aspect-ratio:1;
  border:2px dashed rgba(242,107,78,.5);
  border-radius:50%;
  animation:spin 40s linear infinite;
  pointer-events:none;
}

@keyframes spin{
  to{transform:rotate(360deg)}
}

.chip-float{
  position:absolute;
  background:#fff;
  border-radius:999px;
  padding:.55rem 1rem;
  font-size:.8rem;
  font-weight:600;
  box-shadow:0 12px 26px -12px rgba(55,38,78,.4);
  display:flex;
  gap:.5rem;
  align-items:center;
  white-space:nowrap;
  z-index:2;
}

.cf-1{
  top:12%;
  left:0;
  border:2px solid var(--teal);
  color:var(--teal-dark);
}

.cf-2{
  top:42%;
  right:0;
  border:2px solid var(--gold);
  color:var(--gold-dark);
}

.cf-3{
  bottom:18%;
  left:0;
  border:2px solid var(--lilac);
  color:var(--lilac-dark);
}

.badge-rot{
  position:absolute;
  right:9%;
  bottom:0;
  width:116px;
  height:116px;
  z-index:3;
}

.badge-rot svg{
  width:100%;
  height:100%;
  animation:spin 22s linear infinite;
}

.badge-rot .core{
  position:absolute;
  inset:34px;
  background:var(--gold);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.4rem;
  color:var(--ink);
}

.sparkle{
  position:absolute;
  color:var(--gold);
  animation:twinkle 3.4s ease-in-out infinite;
  pointer-events:none;
  font-size:1.2rem;
}

@keyframes twinkle{
  0%,100%{opacity:.15;transform:scale(.7)}
  50%{opacity:1;transform:scale(1.15)}
}

.scroll-hint{
  display:none;
}

/* БЕГУЩАЯ СТРОКА */

.ticker{
  background:var(--coral);
  color:var(--cream);
  border-top:3px solid var(--ink);
  border-bottom:3px solid var(--ink);
  overflow:hidden;
  padding:.9rem 0;
}

.ticker-track{
  display:flex;
  width:max-content;
  animation:marquee 30s linear infinite;
}

.ticker-group{
  display:flex;
  gap:2.2rem;
  padding-right:2.2rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.85rem;
  white-space:nowrap;
}

.ticker-group b{
  color:var(--gold-tint);
}

@keyframes marquee{
  to{transform:translateX(-50%)}
}

/* ОБЩИЕ СЕКЦИИ */

section{
  position:relative;
}

.section-pad{
  padding:5.5rem 0;
}

.section-head{
  max-width:46rem;
  margin-bottom:2.8rem;
}

.section-head p{
  margin-top:1rem;
  color:var(--ink-soft);
}

.page-head{
  padding:9.5rem 0 3.5rem;
  background:
    radial-gradient(600px 300px at 85% 0%,rgba(233,169,61,.18),transparent 60%),
    radial-gradient(500px 300px at 5% 100%,rgba(242,107,78,.12),transparent 60%);
}

.crumbs{
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.08em;
  color:var(--ink-soft);
  margin-bottom:1.2rem;
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

.crumbs a:hover{
  color:var(--coral-dark);
}

.crumbs .sep{
  color:var(--gold);
}

.page-head h1{
  font-size:clamp(2.4rem,5.4vw,4rem);
  max-width:20ch;
}

.page-sub{
  margin-top:1.1rem;
  color:var(--ink-soft);
  max-width:56ch;
  font-size:1.06rem;
}

/* КАРТОЧКИ УСЛУГ */

.pv-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.8rem;
}

.pv-card{
  border-radius:var(--radius);
  padding:2rem;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.3s;
}

.pv-card:hover{
  transform:translateY(-6px);
}

.pv-card::before{
  content:attr(data-num);
  position:absolute;
  top:-1.4rem;
  right:.4rem;
  font-family:var(--display);
  font-size:8rem;
  font-weight:700;
  opacity:.12;
  line-height:1;
}

.pv-access{
  background:var(--coral-tint);
  border:2px solid var(--coral);
}

.pv-candle{
  background:var(--gold-tint);
  border:2px solid var(--gold);
}

.pv-body{
  background:var(--teal-tint);
  border:2px solid var(--teal);
}

.pv-matrix{
  background:var(--lilac-tint);
  border:2px solid var(--lilac);
}

.pv-card .ico{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.4rem;
  color:#fff;
  margin-bottom:1rem;
}

.pv-access .ico{background:var(--coral)}
.pv-candle .ico{background:var(--gold)}
.pv-body .ico{background:var(--teal)}
.pv-matrix .ico{background:var(--lilac)}

.pv-card h3{
  font-size:1.7rem;
  margin-bottom:.5rem;
}

.pv-card p{
  font-size:.95rem;
  color:#463a5e;
  max-width:46ch;
}

.pv-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.4rem;
  flex-wrap:wrap;
}

.pv-price{
  font-family:var(--display);
  font-size:1.4rem;
  font-weight:700;
}

.link-more{
  font-weight:700;
  font-size:.9rem;
  border-bottom:2px solid currentColor;
  padding-bottom:2px;
  display:inline-flex;
  gap:.4rem;
}

.link-more:hover{
  color:var(--coral-dark);
}

/* СТРАНИЦА УСЛУГ */

.svc-row{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:3rem;
  align-items:center;
  margin-bottom:4rem;
}

.svc-row.rev{
  direction:rtl;
}

.svc-row.rev>*{
  direction:ltr;
}

.svc-row-img{
  border-radius:var(--radius);
  overflow:hidden;
  border:8px solid #fff;
  box-shadow:var(--shadow);
  aspect-ratio:4/3;
}

.svc-row-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.svc-row-num{
  font-family:var(--display);
  font-size:1.1rem;
  font-weight:700;
  color:var(--coral);
  letter-spacing:.2em;
}

.svc-row h2{
  font-size:clamp(1.8rem,3.4vw,2.5rem);
  margin:.3rem 0 .8rem;
}

.svc-row p{
  color:#463a5e;
  max-width:56ch;
}

.svc-perks{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem 1.3rem;
  margin:1.3rem 0;
}

.svc-perks li{
  display:flex;
  gap:.6rem;
  font-size:.92rem;
  font-weight:500;
}

.svc-perks li::before{
  content:"✦";
  color:var(--coral-dark);
  flex-shrink:0;
}

.svc-row-foot{
  display:flex;
  align-items:center;
  gap:1.4rem;
  flex-wrap:wrap;
  border-top:1px dashed rgba(55,38,78,.3);
  padding-top:1.3rem;
}

.svc-price{
  font-family:var(--display);
  font-size:1.6rem;
  font-weight:700;
}

.svc-meta{
  font-size:.82rem;
  color:var(--ink-soft);
}

/* ШАГИ */

.steps-sec{
  background:var(--coral-tint);
  border-top:2px solid rgba(199,69,36,.18);
  border-bottom:2px solid rgba(199,69,36,.18);
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.6rem;
}

.step{
  background:#fff;
  border-radius:20px;
  padding:1.8rem 1.5rem;
  box-shadow:0 10px 26px -16px rgba(55,38,78,.3);
}

.step-num{
  font-family:var(--display);
  font-size:3.2rem;
  font-weight:700;
  line-height:1;
  color:var(--coral);
  opacity:.85;
}

.step:nth-child(2) .step-num{color:var(--gold)}
.step:nth-child(3) .step-num{color:var(--teal)}
.step:nth-child(4) .step-num{color:var(--lilac)}

.step h3{
  font-size:1.35rem;
  margin:.6rem 0 .5rem;
}

.step p{
  font-size:.9rem;
  color:var(--ink-soft);
}

.step small{
  display:inline-block;
  margin-top:.8rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--coral-dark);
}

/* МИНИ-КАРТОЧКИ */

.mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.6rem;
}

.mini-grid.cols-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.mini-card{
  background:#fff;
  border-radius:20px;
  padding:1.8rem;
  box-shadow:0 12px 30px -18px rgba(55,38,78,.35);
  border-top:4px solid var(--coral);
}

.mini-card.gold{border-top-color:var(--gold)}
.mini-card.teal{border-top-color:var(--teal)}
.mini-card.lilac{border-top-color:var(--lilac)}

.mini-card h3{
  font-size:1.4rem;
  margin-bottom:.5rem;
}

.mini-card p{
  font-size:.92rem;
  color:var(--ink-soft);
}

.mini-meta{
  display:flex;
  gap:.7rem;
  margin-top:1.1rem;
  flex-wrap:wrap;
}

.mini-meta span{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:var(--cream);
  border-radius:999px;
  padding:.32rem .8rem;
  color:var(--ink-soft);
}

/* АККОРДЕОН */

.acc{
  border-top:2px solid rgba(55,38,78,.15);
}

.acc-item{
  border-bottom:1px dashed rgba(55,38,78,.25);
}

.acc-head{
  width:100%;
  background:none;
  border:none;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.1rem .2rem;
  text-align:left;
  font-weight:600;
  font-size:1.05rem;
  color:var(--ink);
}

.acc-head .plus{
  margin-left:auto;
  width:32px;
  height:32px;
  border-radius:50%;
  border:2px solid var(--coral-dark);
  display:grid;
  place-items:center;
  flex-shrink:0;
}

.acc-item.open .acc-head .plus{
  transform:rotate(45deg);
  background:var(--coral-dark);
  color:#fff;
}

.acc-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:.35s;
}

.acc-item.open .acc-panel{
  grid-template-rows:1fr;
}

.acc-panel>div{
  overflow:hidden;
}

.acc-panel p{
  padding:0 3rem 1.2rem .2rem;
  color:#463a5e;
  font-size:.95rem;
}

/* ОБО МНЕ */

.about-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:4rem;
  align-items:center;
}

.about-photos{
  position:relative;
}

.about-photo-main{
  border-radius:var(--radius);
  border:10px solid #fff;
  box-shadow:var(--shadow);
  transform:rotate(-2.5deg);
  overflow:hidden;
  aspect-ratio:4/5;
  background:#fff;
}

.about-photo-main img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.about-photo-sub{
  position:absolute;
  right:-6%;
  bottom:-8%;
  width:46%;
  border:7px solid #fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  transform:rotate(4deg);
  overflow:hidden;
}

.tape{
  position:absolute;
  width:90px;
  height:26px;
  background:rgba(233,169,61,.7);
  top:-12px;
  left:50%;
  transform:translateX(-50%) rotate(-3deg);
  border-radius:3px;
  z-index:2;
}

.about-text p{
  margin-bottom:1.1rem;
  color:#463a5e;
}

.about-quote{
  font-family:var(--display);
  font-style:italic;
  font-size:1.35rem;
  color:var(--coral-dark);
  border-left:3px solid var(--gold);
  padding-left:1.2rem;
  margin:1.6rem 0;
}

.creds{
  list-style:none;
  margin:1.6rem 0;
  display:grid;
  gap:.6rem;
}

.creds li{
  display:flex;
  gap:.7rem;
  font-weight:500;
  font-size:.96rem;
}

.creds li::before{
  content:"✦";
  color:var(--gold);
  flex-shrink:0;
}

.about-sign{
  font-family:var(--hand);
  font-size:2rem;
  color:var(--coral-dark);
  transform:rotate(-2deg);
  display:inline-block;
}

.counters{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.2rem;
  margin-top:2.2rem;
  padding-top:2rem;
  border-top:1px solid rgba(55,38,78,.15);
}

.counter b{
  display:block;
  font-family:var(--display);
  font-size:clamp(1.9rem,3.4vw,2.7rem);
  font-weight:700;
  line-height:1;
}

.counter b::after{
  content:"+";
  color:var(--coral);
}

.counter span{
  font-size:.8rem;
  color:var(--ink-soft);
}

/* ОТЗЫВЫ */

.filters{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin-bottom:2.4rem;
}

.filter-chip{
  border:1.5px solid rgba(55,38,78,.3);
  background:#fff;
  border-radius:999px;
  padding:.55rem 1.2rem;
  font-size:.85rem;
  font-weight:600;
  color:var(--ink-soft);
}

.filter-chip.active{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--cream);
}

.rev-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2rem;
  align-items:start;
}

.review-card{
  background:#fff;
  border-radius:18px;
  padding:1.8rem 1.6rem;
  box-shadow:0 14px 34px -18px rgba(55,38,78,.35);
  position:relative;
}

.review-card.hidden{
  display:none;
}

.review-card::before{
  content:"”";
  position:absolute;
  top:-1.4rem;
  right:1rem;
  font-family:var(--display);
  font-size:5rem;
  color:var(--lilac);
  opacity:.35;
  line-height:1;
}

.rc-1{transform:rotate(-2deg)}
.rc-2{transform:rotate(1.6deg);margin-top:1.4rem}
.rc-3{transform:rotate(-1.2deg)}
.rc-4{transform:rotate(1.8deg)}
.rc-5{transform:rotate(-1.6deg);margin-top:1.4rem}
.rc-6{transform:rotate(2deg)}

.stars{
  color:var(--gold);
  letter-spacing:.15em;
  margin-bottom:.7rem;
}

.review-card blockquote{
  font-size:.95rem;
  color:#463a5e;
}

.review-card figcaption{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  margin-top:1.2rem;
  flex-wrap:wrap;
}

.rev-name{
  font-weight:700;
  font-size:.92rem;
}

.rev-tag{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:999px;
  padding:.32rem .8rem;
  color:#fff;
}

.tag-bars{background:var(--coral)}
.tag-face{background:var(--gold)}
.tag-mtvss{background:var(--teal)}
.tag-stuck{background:var(--ink)}
.tag-candle{background:var(--gold-dark)}
.tag-matrix{background:var(--lilac)}
.tag-body{background:var(--teal-dark)}

.rev-note{
  margin-top:2.6rem;
  font-size:.8rem;
  color:var(--ink-soft);
  text-align:center;
  font-style:italic;
}

/* КОНТАКТЫ */

.dark-sec{
  background:var(--night);
  color:var(--cream);
  overflow:hidden;
}

.dark-sec .eyebrow{
  color:var(--gold);
}

.contacts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  position:relative;
  z-index:1;
}

.contacts-info>p{
  color:#C9BBDF;
  max-width:38rem;
  margin-top:1rem;
}

.contact-list{
  list-style:none;
  margin-top:2.2rem;
  display:grid;
  gap:1.2rem;
}

.contact-list li{
  display:flex;
  gap:1rem;
  align-items:center;
}

.c-ico{
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(233,169,61,.16);
  border:1px solid rgba(233,169,61,.45);
  display:grid;
  place-items:center;
  font-size:1.2rem;
  flex-shrink:0;
}

.contact-list b{
  display:block;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9d8abf;
}

.contact-list a,
.contact-list span.val{
  font-size:1.05rem;
  font-weight:600;
  color:var(--cream);
}

.socials{
  display:flex;
  gap:.8rem;
  margin-top:2rem;
  flex-wrap:wrap;
}

.socials a{
  border:1.5px solid rgba(251,243,231,.3);
  border-radius:999px;
  padding:.6rem 1.3rem;
  font-size:.85rem;
  font-weight:600;
}

.form-card{
  background:var(--cream);
  color:var(--ink);
  border-radius:var(--radius);
  padding:clamp(1.6rem,3vw,2.6rem);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.5);
}

.form-card h2,
.form-card h3{
  font-size:1.8rem;
  margin-bottom:.4rem;
}

.form-card>p{
  font-size:.9rem;
  color:var(--ink-soft);
  margin-bottom:1.4rem;
}

.field{
  margin-bottom:1.1rem;
}

.field label{
  display:block;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:.4rem;
  color:var(--ink-soft);
}

.field input,
.field select,
.field textarea{
  width:100%;
  font-family:var(--body);
  font-size:.98rem;
  padding:.85rem 1rem;
  border-radius:14px;
  border:2px solid rgba(55,38,78,.15);
  background:#fff;
  color:var(--ink);
}

.field textarea{
  resize:vertical;
  min-height:96px;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--coral);
  box-shadow:0 0 0 4px rgba(242,107,78,.18);
}

.field.err input,
.field.err select{
  border-color:#D63B2F;
}

.field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

.agree{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  font-size:.78rem;
  color:var(--ink-soft);
  margin:1rem 0 1.3rem;
}

.agree input{
  accent-color:var(--coral);
  margin-top:.2rem;
}

.form-submit{
  width:100%;
}

.success{
  display:none;
  text-align:center;
  padding:2.5rem 1rem;
}

.success.show{
  display:block;
}

.success-ico{
  width:84px;
  height:84px;
  margin:0 auto 1.4rem;
  border-radius:50%;
  background:var(--teal);
  display:grid;
  place-items:center;
  color:#fff;
  font-size:2.2rem;
}

.success h4{
  font-family:var(--display);
  font-size:1.9rem;
  margin-bottom:.6rem;
}

.success p{
  color:var(--ink-soft);
  font-size:.95rem;
  margin-bottom:1.4rem;
}

/* CTA И ПОДВАЛ */

.cta-band{
  background:var(--night);
  color:var(--cream);
  padding:4.5rem 0;
  overflow:hidden;
  position:relative;
}

.cta-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}

.cta-in h2{
  font-size:clamp(1.9rem,4vw,2.8rem);
  color:var(--cream);
}

.cta-in p{
  color:#C9BBDF;
  margin-top:.4rem;
  max-width:42ch;
}

.cta-btns{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}

.site-footer{
  background:var(--night2);
  color:#9d8abf;
  padding:3rem 0 2rem;
}

.foot-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
  padding-bottom:1.8rem;
  border-bottom:1px solid rgba(157,138,191,.2);
}

.site-footer .logo-name{
  color:var(--cream);
}

.foot-nav{
  display:flex;
  gap:1.8rem;
  flex-wrap:wrap;
}

.foot-nav a{
  font-size:.9rem;
  font-weight:600;
}

.foot-nav a:hover{
  color:var(--gold);
}

.foot-bottom{
  padding-top:1.4rem;
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
  font-size:.78rem;
}

.foot-bottom .disclaimer{
  max-width:62ch;
  opacity:.8;
}

/* СВЕЧА */

.candle-visual{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:3rem 0 1rem;
}

.flame{
  width:26px;
  height:44px;
  background:radial-gradient(circle at 50% 78%,#FFE9A8,#F9A825 58%,#E25917 100%);
  border-radius:50% 50% 50% 50%/62% 62% 38% 38%;
  filter:drop-shadow(0 0 22px rgba(249,168,37,.85));
}

.wick{
  width:3px;
  height:12px;
  background:#3a2a1a;
}

.candle-body{
  width:110px;
  height:150px;
  border-radius:14px 14px 20px 20px;
  background:linear-gradient(#FFF6E3,#F3E2C2);
  box-shadow:inset -14px 0 24px rgba(169,116,26,.25),var(--shadow);
}

.candle-plate{
  width:150px;
  height:12px;
  border-radius:999px;
  background:var(--gold-dark);
  opacity:.5;
  margin-top:4px;
}

/* ТОСТ */

.toast{
  position:fixed;
  left:50%;
  bottom:2rem;
  transform:translate(-50%,140%);
  background:var(--ink);
  color:var(--cream);
  padding:.9rem 1.6rem;
  border-radius:999px;
  font-size:.9rem;
  font-weight:600;
  box-shadow:0 16px 40px -12px rgba(0,0,0,.4);
  z-index:150;
  transition:.35s;
  display:flex;
  gap:.6rem;
  align-items:center;
}

.toast.show{
  transform:translate(-50%,0);
}

.toast i{
  font-style:normal;
  color:var(--gold);
}

/* АДАПТИВ */

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

  .hero-grid{
    grid-template-columns:1fr;
  }

  .hero-visual{
    margin:0 auto;
  }
}

@media (max-width:960px){
  .main-nav,
  .header-cta{
    display:none;
  }

  .burger{
    display:block;
  }

  .hero{
    padding:98px 0 3.5rem;
  }

  .hero-grid{
    gap:2.5rem;
  }

  .hero-visual{
    max-width:440px;
    padding:18px 14px 38px;
  }

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

  .about-grid,
  .contacts-grid,
  .svc-row,
  .svc-row.rev{
    grid-template-columns:1fr;
    direction:ltr;
    gap:2.5rem;
  }

  .about-photos{
    max-width:430px;
    margin:0 auto;
  }

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

  .mini-grid.cols-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cursor-glow{
    display:none;
  }
}

@media (max-width:600px){
  .container{
    width:min(100% - 28px,1180px);
  }

  .section-pad{
    padding:3.8rem 0;
  }

  .page-head{
    padding:7.5rem 0 2.8rem;
  }

  .hero{
    padding:92px 0 3rem;
  }

  .hero h1{
    font-size:2.55rem;
  }

  .hero-ctas{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-ctas .btn{
    width:100%;
  }

  .hero-stats{
    gap:1.4rem;
  }

  .hero-visual{
    max-width:360px;
  }

  .chip-float{
    font-size:.72rem;
    padding:.45rem .8rem;
  }

  .cf-1{
    left:4px;
  }

  .cf-2{
    right:4px;
  }

  .cf-3{
    left:4px;
  }

  .badge-rot{
    width:92px;
    height:92px;
    bottom:6px;
  }

  .badge-rot .core{
    inset:28px;
  }

  .steps-grid,
  .rev-grid,
  .mini-grid,
  .mini-grid.cols-3,
  .field-row{
    grid-template-columns:1fr;
  }

  .rc-1,
  .rc-2,
  .rc-3,
  .rc-4,
  .rc-5,
  .rc-6{
    transform:none;
    margin-top:0;
  }

  .svc-perks{
    grid-template-columns:1fr;
  }

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

  .cta-in{
    flex-direction:column;
    align-items:flex-start;
  }

  .about-photo-sub{
    right:0;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
  }

  .reveal{
    opacity:1;
    transform:none;
  }
}
/* компактный верх: без приветствия и пустоты */
.hero-hello,
.hero .eyebrow{display:none}
.hero{padding:96px 0 3rem}
.hero h1{margin-top:0}
.hero-visual{max-width:480px}
/* фотография выше */
.hero-grid{align-items:start}
.hero-visual{padding-top:4px}
/* логотип: крупнее и заметнее */
.logo-mark{
  width:60px;
  height:60px;
  background:url("../images/logo.png") center/cover no-repeat;
  border-radius:50%;
  color:transparent;
  box-shadow:0 10px 22px -8px rgba(55,38,78,.45),
             0 0 0 3px #fff,
             0 0 0 5px rgba(242,107,78,.55);
}
.logo-name{font-size:1.5rem}
/* фото в шапке раздела "обо мне" */
.page-head-photo .container{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:3rem;
  align-items:center;
}
.head-photo{
  border-radius:220px 220px 24px 24px;
  overflow:hidden;
  border:6px solid #fff;
  box-shadow:var(--shadow);
  aspect-ratio:4/5;
  background:#fff;
}
.head-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:960px){
  .page-head-photo .container{grid-template-columns:1fr}
  .head-photo{max-width:340px;margin-top:.5rem}
}
.head-mess{display:flex;gap:.5rem;align-items:center}
.head-mess a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(55,38,78,.25);background:#fff;color:var(--ink);transition:.3s}
.head-mess a:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(55,38,78,.4)}
.head-mess a.tg:hover{background:#229ED9;border-color:#229ED9;color:#fff}
.head-mess a.wa:hover{background:#25D366;border-color:#25D366;color:#fff}
.head-mess svg{width:17px;height:17px;fill:currentColor}
@media (max-width:960px){.head-mess a{width:36px;height:36px}.head-mess svg{width:15px;height:15px}}
/* кружки мессенджеров крупнее */
.head-mess a{width:48px;height:48px}
.head-mess svg{width:21px;height:21px}
@media (max-width:960px){.head-mess a{width:42px;height:42px}.head-mess svg{width:18px;height:18px}}
/* cookie-баннер */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;background:#2b1b3d;color:#f5efe6;padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;z-index:999;box-shadow:0 -8px 30px rgba(0,0,0,.25);transform:translateY(110%);transition:transform .5s ease}
.cookie-bar.show{transform:translateY(0)}
.cookie-bar p{margin:0;font-size:.9rem;max-width:60ch}
.cookie-bar a{color:#ffd9a0;border-bottom:1px solid rgba(255,217,160,.5)}
