/* ===================== RESET / BASE ===================== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --green:#5f7d3c;
  --green-d:#4d6730;
  --banner:#5d7838;
  --ink:#33332e;
  --muted:#6f6f68;
  --cream:#fbf8f3;
  --cream2:#f7f2ea;
  --line:#e8e3d9;
  --chip:#eef2e6;
  --gold:#e3b24a;
  --radius:18px;
  --shadow:0 14px 34px rgba(60,70,40,.10);
  --shadow-sm:0 8px 20px rgba(60,70,40,.07);
}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:hidden}
body{
  font-family:'PT Sans',Arial,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.5;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{max-width:1180px;margin:0 auto;padding:0 28px}
.g{color:var(--green)}

h1,h2,h3,h4,.section-title,.hero__title{font-family:'PT Serif',Georgia,serif;font-weight:400;color:var(--ink)}

.section-title{
  font-size:33px;
  line-height:1.25;
  margin-bottom:34px;
}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'PT Sans',sans-serif;font-size:16px;font-weight:400;
  border-radius:10px;cursor:pointer;border:none;transition:.2s;
  padding:15px 30px;
}
.btn--green{background:var(--green);color:#fff}
.btn--green:hover{background:var(--green-d)}
.btn--white{background:#fff;color:var(--green-d);border:1px solid #d8e0cb;padding: 15px 25px;
    border-radius: 10px;}
.btn--white:hover{background:#f3f6ec}
.btn--sm{padding:12px 22px;font-size:15px;border-radius:9px}

/* ===================== HEADER ===================== */
.header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.header.scrolled{
  background:#fff;border-bottom:1px solid #f0ece3;
  box-shadow:0 6px 20px rgba(60,70,40,.07);
}
.header__inner{display:flex;align-items:center;gap:30px;height:74px}
.logo{display:flex;align-items:center;gap:11px}
.logo__img{width:42px;height:42px;object-fit:contain;mix-blend-mode:multiply}
.logo__text{display:flex;flex-direction:column;line-height:1.05}
.logo__name{font-family:'PT Serif',serif;font-size:21px;color:var(--green-d);font-weight:700}
.logo__sub{font-size:11px;color:var(--muted);letter-spacing:.2px}
.nav{display:flex;gap:30px;margin-left:18px}
.nav a{font-size:15px;color:#3c3c36;transition:.2s}
.nav a:hover{color:var(--green)}
.header__contact{margin-left:auto;text-align:right;line-height:1.2}
.header__phone{font-size:19px;font-weight:700;color:var(--ink)}
.header__city{display:block;font-size:13px;color:var(--muted)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
.burger span{width:24px;height:2px;background:var(--ink);border-radius:2px}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:
    linear-gradient(96deg, rgba(251,248,243,.96) 0%, rgba(251,248,243,.82) 24%, rgba(251,248,243,.42) 46%, rgba(251,248,243,.06) 66%, rgba(251,248,243,0) 100%),
    url('../img/fon1.jpg') center center / cover no-repeat;
}
.hero__inner{position:relative;z-index:2}
.adv__leaf{position:absolute;left:-50px;bottom:78px;width:118px;z-index:6;pointer-events:none}
.hero__content{padding: 150px 0 190px;}
.hero__title{font-size: 60px;line-height:1.12;letter-spacing:.3px;}
.hero__text{margin-top:22px;font-size:18px;color:#55554e;line-height:1.5;font-family:'PT Sans',sans-serif;font-weight:400;letter-spacing:0}
.hero__btn{margin-top:30px}

/* ===================== ADVANTAGES (centered panel over the photo) ===================== */
.adr{position:absolute;left:0;right:0;bottom:30px;z-index:5}
.adv__inner{
  display:grid;grid-template-columns:repeat(4,1fr);
  position:relative;z-index:2;
  background:rgba(251,248,243,.94);
  border-radius:20px;
  box-shadow:0 18px 46px rgba(40,50,25,.16);
  padding:22px 18px;
}
.adv__item{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
  padding:6px 18px;position:relative;
}
.adv__item:not(:last-child)::after{
  content:"";position:absolute;right:0;top:14%;height:72%;width:1px;background:#e2dccf;
}
.adv__ic{width:38px;height:38px;flex:none;color:#455939}
.adv__item p{font-size:15px;color:#45453f;line-height:1.35}

/* ===================== ABOUT / SAFETY ===================== */
.about{background:#fff;padding:66px 0 62px}
.about__grid{display:grid;grid-template-columns:0.92fr 1.18fr;gap:50px;align-items:center}
.about__title{margin-bottom:18px;line-height:1.22}
.about__lead{font-size:15px;color:#5d5d56;line-height:1.6;margin-bottom:24px;max-width:430px}
.about__list{margin-bottom:28px}
.about__list li{font-size:15px}
.about__collage{
  display:grid;
  grid-template-columns:1.32fr 1fr;
  grid-template-rows:1.12fr 1fr;
  gap:14px;
  height:436px;
}
.about__img{
  width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;
  border-radius:16px;box-shadow:var(--shadow-sm);
  background-size:cover;background-position:center;
}
.about__img--building{grid-column:1;grid-row:1}
.about__img--care{grid-column:2;grid-row:1}
.about__img--room{grid-column:1;grid-row:2}
.about__img--dining{grid-column:2;grid-row:2}

/* ===================== GALLERY ===================== */
.gallery{background:#fff;padding:66px 0 64px}
.gallery__title{margin-bottom:10px}
.gallery__lead{font-size:15px;color:#5d5d56;line-height:1.6;max-width:560px;margin-bottom:34px}
.gallery__grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.gallery__item{
  position:relative;display:block;overflow:hidden;
  border-radius:16px;box-shadow:var(--shadow-sm);
  aspect-ratio:1/1;cursor:pointer;
}
.gallery__item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s ease;
}
.gallery__item::after{
  content:"";position:absolute;inset:0;
  background:rgba(60,80,40,0);transition:background .3s ease;
}
.gallery__item:hover img{transform:scale(1.07)}
.gallery__item:hover::after{background:rgba(60,80,40,.12)}

/* ===================== CARE ===================== */
.care{position:relative;background:var(--cream);padding:64px 0 56px;overflow:hidden}
.care__bg{
  position:absolute;top:0;right:0;bottom:0;width:60%;z-index:0;
  background:
    linear-gradient(to left, rgba(255,255,255,0) 30%, rgba(251,248,243,.85) 68%, var(--cream) 100%),
    url('../img/fon2.jpg') no-repeat right center;
  background-size:auto 100%, cover;
}
.care .container{position:relative;z-index:1}
.care__cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.care-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}
.care-card__photo{
  height:118px;position:relative;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.care-card__badge{
  position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:50%;
  background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.12);
}
.care-card__badge svg{width:18px;height:18px;color:var(--green-d)}
.care-card p{padding:14px 14px 18px;font-size:14px;color:#3f3f39;line-height:1.35}
.care__note{
  margin-top:30px;display:flex;align-items:center;gap:8px;
  font-size:15px;color:#5a6a3c;font-style:italic;
}
.leaf-ic{width:21px;height:21px;flex:none}

/* placeholders for missing photos */
.ph{
  background:
    radial-gradient(120% 120% at 30% 20%, #e9ddd0 0%, #dfd3c4 45%, #cdbfac 100%);
}
.comfort-card__photo.ph,.care-card__photo.ph{
  background-image:linear-gradient(135deg,#e7e0d3,#d6cdbb 60%,#cdbfac);
}

/* ===================== COMFORT ===================== */
.comfort{background:var(--cream2);padding:60px 0 66px}
.comfort__cards{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.comfort-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}
.comfort-card__photo{height:104px;background-size:cover;background-position:center;background-repeat:no-repeat}
.comfort-card p{padding:13px 12px 18px;font-size:13.5px;color:#3f3f39;line-height:1.35;flex:1}

/* ===================== STEPS ===================== */
.steps{background:#fff;padding:60px 0 64px}
.steps__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:34px;align-items:stretch}
.steps__row{display:flex;align-items:flex-start;gap:4px}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1 0;min-width:0;gap:7px}
.step__icon{width:62px;height:62px;object-fit:contain}
.step__num{font-family:'PT Serif',serif;font-size:18px;color:var(--ink);line-height:1;margin-top:-2px}
.step p{font-size:11px;color:#54544d;line-height:1.3}
.step__arrow{width:18px;height:auto;margin-top:24px;opacity:.8;flex:none}
.steps__note{
  margin-top:34px;display:flex;align-items:center;gap:9px;
  font-size:15px;color:#5a6a3c;font-style:italic;
}
.car-ic{flex:none}

/* consult card */
.consult{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  background: linear-gradient(120deg, #f7f2ea 0%, #f1e9e3 55%, #f5eee7 100%);
  padding:34px 36px;
  min-height:260px;
  box-shadow:var(--shadow-sm);
}
.consult__text{position:relative;z-index:2}
.consult h3{font-size:25px;margin-bottom:10px;max-width:60%}
.consult__text>p{font-size:15px;color:#55554e;line-height:1.45;margin-bottom:18px;max-width:56%}
.consult__list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;max-width:56%}
.consult__list li{position:relative;padding-left:26px;font-size:15px;color:#3f3f39}
.consult__list li::before{
  content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;
  background:var(--green);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;
}
.consult__btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.consult__btns .btn{white-space:nowrap}
.consult__btns .btn svg{width:17px;height:17px;flex:none}
.consult__msgr-note{font-size:13px;color:#7a7a72;margin-top:10px}

/* ===================== MESSENGERS ===================== */
.msgrs{display:flex;gap:10px;align-items:center}
.msgr{display:flex;align-items:center;justify-content:center;transition:transform .2s,filter .2s,background .2s,color .2s}
.msgr--btn{width:46px;height:46px;border-radius:13px;color:#fff}
.msgr--btn svg{width:24px;height:24px;fill:currentColor}
.msgr--btn--wa{background:#25d366}
.msgr--btn--tg{background:#29a9eb}
.msgr--btn--max{background:#6f5bd6}
.msgr--btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.msgr--mini{width:34px;height:34px;border-radius:50%;background:#eef2e6;color:var(--green-d)}
.msgr--mini svg{width:18px;height:18px;fill:currentColor}
.msgr--mini:hover{background:var(--green);color:#fff}
.consult__img{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  /* width:42%; */
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:1;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 34%);
  mask-image:linear-gradient(to right,transparent 0%,#000 34%);
}

/* ===================== TRIPLE ===================== */
.triple{background: white;padding:56px 0 60px}
.triple__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.triple .price{grid-column:1 / -1}
.t-card{background: #f9f6ef;border-radius:20px;box-shadow:var(--shadow);padding:30px 28px;position:relative;overflow:hidden}
.t-card__title{font-size:23px;margin-bottom:20px}
.t-card__body{position:relative;z-index:2}
.check-list{display:flex;flex-direction:column;gap:13px}
.check-list li{position:relative;padding-left:30px;font-size:14.5px;color:#44443e;line-height:1.4}
.check-list li::before{
  content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;
  background:#eaf0e0;color:var(--green);font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}

/* image stuck to the right, full height of the card */
.side-img{
  position:absolute;top:0;right:0;height:100%;object-fit:cover;z-index:1;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 60%);
  mask-image:linear-gradient(to right,transparent 0%,#000 60%);
}
.trust__licens{object-position:center}
.trust .check-list{max-width:60%}

/* reviews (scrollable slider) */
.reviews{display:flex;flex-direction:column}
.reviews__track{
  display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;flex:1;
  -ms-overflow-style:none;scrollbar-width:none;
}
.reviews__track::-webkit-scrollbar{display:none}
.review{
  flex:0 0 100%;scroll-snap-align:start;
  display:flex;flex-direction:column;margin:0;padding:2px 2px 4px;
}
.reviews__mark{font-family:'PT Serif',serif;font-size:54px;color:#c9d3b6;line-height:.6;display:block;height:26px}
.review blockquote{font-size:14.5px;color:#4a4a44;line-height:1.55;font-style:italic;margin:6px 0 18px;flex:1}
.reviews__author{display:flex;align-items:center;gap:12px}
.reviews__avatar{width:44px;height:44px;border-radius:50%;flex:none}
.reviews__author strong{display:block;font-size:14px;color:var(--ink);font-weight:700;margin-bottom:2px}
.stars{color:var(--gold);font-size:14px;letter-spacing:2px}
.dots{display:flex;justify-content:center;gap:7px;margin-top:18px}
.dot{width:8px;height:8px;border-radius:50%;background:#d6dcc7;cursor:pointer;transition:.2s;border:none;padding:0}
.dot.active{background:var(--green);transform:scale(1.15)}

/* price (full width) */
.price{padding:32px 34px}
.price__body{position:relative;z-index:2;max-width:74%}
.price__value{font-size:18px;color:#4a4a44;margin-bottom:6px}
.price__value strong{font-family:'PT Serif',serif;font-size:32px;color:var(--green-d);font-weight:700}
.price__sub{font-size:15px;color:#44443e;font-weight:700;margin:14px 0 16px}
.price__list{
  list-style:none;counter-reset:price;
  columns:2;column-gap:42px;margin-bottom:24px;
}
.price__list li{
  counter-increment:price;position:relative;
  padding-left:34px;margin-bottom:11px;font-size:14px;color:#46463f;line-height:1.4;
  break-inside:avoid;
}
.price__list li::before{
  content:counter(price);position:absolute;left:0;top:0;
  width:23px;height:23px;border-radius:50%;background:#eaf0e0;color:var(--green-d);
  font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.price__bg{top: -20px;right: -20px;height: 110%;}
.price__btn{margin-top:4px}

/* ===================== FAQ ===================== */
.faq{position:relative;background: #fbf6ee;padding:46px 0 60px;overflow:hidden}
.faq__leaf{position:absolute;left:-34px;top:24px;width:150px;opacity:.7;z-index:0;transform:rotate(-6deg)}
.faq__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:center;overflow: hidden;}
.faq__cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.faq__col{display:flex;flex-direction:column;gap:13px}
.acc{background:var(--cream);border:1px solid #ece7dc;border-radius:11px;overflow:hidden}
.acc__head{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:14px 40px 14px 16px;font-size:14px;color:#41413b;font-family:inherit;position:relative;line-height:1.35;
}
.acc__chev{position:absolute;right:14px;top:50%;width:9px;height:9px;border-right:2px solid #8a8a7e;border-bottom:2px solid #8a8a7e;transform:translateY(-65%) rotate(45deg);transition:.25s}
.acc.open .acc__chev{transform:translateY(-35%) rotate(-135deg)}
.acc__body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.acc__body p{padding:0 16px 15px;font-size:13.5px;color:#5b5b54;line-height:1.5}
.faq__photo img{
  width:100%;
  object-fit:cover;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 30%);
  mask-image:linear-gradient(to right,transparent 0%,#000 30%);
}

/* ===================== CTA ===================== */
.cta{background:#fff;padding:10px 0 50px}
.cta__banner{
  position:relative;overflow:hidden;border-radius:24px;
  background:linear-gradient(105deg,var(--banner) 0%,#536c33 100%);
  padding:46px 48px;display:flex;align-items:center;gap:30px;min-height:200px;
}
.cta__home{
  position:absolute;right:200px;top:0;height:100%;width:48%;object-fit:cover;
  object-position:center;opacity:.95;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 34%,#000 78%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 34%,#000 78%,transparent 100%);
}
.cta__left{position:relative;z-index:2;flex:1}
.cta__title{color:#fff;font-size:30px;line-height:1.25;margin-bottom:22px}
.cta__feats{display:flex;flex-direction:column;gap:11px}
.cta__feats li{display:flex;align-items:center;gap:9px;color:#eef3e4;font-size:15px}
.cta__feats img{display:none}
.cta__feats li::before{content:"✓";color:#fff;font-size:14px;line-height:1}
.cta__right{position:relative;z-index:2;width:280px;color:#fff;text-align:left;text-shadow:0 1px 6px rgba(40,55,25,.45)}
.cta__phone{font-size:23px;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cta__city{display:flex;align-items:center;gap:12px;font-size:16px;margin-bottom:22px;color:#fff}
.cta__circle{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.cta__circle svg{width:19px;height:19px;display:block}
.cta__btn{background:#fff;color:var(--green-d);font-weight:700}

/* ===================== FOOTER ===================== */
.footer{position:relative;background:var(--cream);border-top:1px solid #efe9dd;padding:48px 0 40px;overflow:hidden}
.footer__leaf{position:absolute;right:-6px;bottom:-26px;width:172px;opacity:.7;z-index:0;transform:rotate(8deg)}
.footer__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.footer__brand .logo{margin-bottom:18px}
.footer__copy{font-size:13px;color:var(--muted)}
.footer__col h4{font-family:'PT Sans',sans-serif;font-weight:700;font-size:15px;color:var(--green-d);margin-bottom:16px}
.footer__col a{display:block;font-size:14px;color:#5a5a52;margin-bottom:11px;transition:.2s}
.footer__col a:hover{color:var(--green)}
.footer__phone,.footer__city{display:flex;align-items:center;gap:9px}
.fcon{width:17px;height:17px;flex:none;color:var(--green-d)}
.footer__wa{margin-top:6px}
.footer__wa svg{display:block}

/* ===================== DECORATIVE FLOATING BRANCHES ===================== */
/* sections that host floating branches */
.about,.gallery,.comfort,.steps,.cta{position:relative}
/* keep real content above the branches */
.about>.container,.gallery>.container,.comfort>.container,.steps>.container,.cta>.container{position:relative;z-index:1}

.deco-leaf{
  position:absolute;pointer-events:none;user-select:none;
  z-index:0;opacity:.5;--rot:rotate(0deg);
  transform:var(--rot);
  animation:floatLeaf 11s ease-in-out infinite;
}
/* gallery: top-right, drifting over the care/gallery seam */
.deco-leaf--gallery{top:-54px;right:14px;width:215px;opacity:.5;--rot:rotate(4deg);animation-delay:-2s}
/* comfort: left edge, hanging into the margin */
.deco-leaf--comfort{top:54px;left:-58px;width:150px;opacity:.42;--rot:rotate(-14deg);animation-delay:-5s}
/* cta: left margin, floating above the banner into the faq seam */
.deco-leaf--cta{top:-30px;left:-44px;width:165px;opacity:.5;--rot:rotate(12deg) scaleX(-1);animation-delay:-3s}

@keyframes floatLeaf{
  0%,100%{transform:translateY(0) var(--rot)}
  50%{transform:translateY(-9px) var(--rot)}
}
@media (prefers-reduced-motion:reduce){
  .deco-leaf{animation:none}
}

/* ===================== NATURE ===================== */
.nature{background:var(--cream);padding:62px 0}
.nature__grid{display:grid;grid-template-columns:0.82fr 1.5fr;gap:48px;align-items:center}
.nature__text .section-title{margin-bottom:16px}
.nature__lead{font-size:15px;color:#5d5d56;line-height:1.6;margin-bottom:26px;max-width:340px}
.nature__media{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px;height:330px}
.nature__media img{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:var(--shadow-sm)}

/* ===================== LEISURE ===================== */
.leisure{background:#fff;padding:62px 0}
.leisure__grid{display:grid;grid-template-columns:1fr 1.12fr;gap:48px;align-items:center}
.leisure__lead{font-size:15px;color:#5d5d56;line-height:1.6;margin:16px 0 26px;max-width:380px}
.leisure__feats{display:flex;gap:8px}
.leisure__feats li{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.leisure__feats svg{width:30px;height:30px;color:var(--green-d)}
.leisure__feats span{font-size:12px;color:#54544d;line-height:1.3}
.leisure__media{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;height:300px}
.leisure__media img{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:var(--shadow-sm)}

/* ===================== LOCATION ===================== */
.location{background:var(--cream);padding:62px 0}
.location__grid{display:grid;grid-template-columns:0.85fr 1.4fr;gap:48px;align-items:center}
.location__list{display:flex;flex-direction:column;gap:20px;margin:24px 0 28px}
.location__list li{display:flex;gap:14px;align-items:flex-start}
.location__list svg{width:24px;height:24px;color:var(--green-d);flex:none;margin-top:2px}
.location__list strong{display:block;font-size:16px;color:var(--ink);margin-bottom:3px}
.location__list span{font-size:14px;color:#6f6f68}
.location__map{height:350px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}
.location__map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.15) saturate(.9)}

/* ===================== BLOG ===================== */
.blog{background:#fff;padding:62px 0 68px}
.blog__intro{
  display:grid;grid-template-columns:0.58fr 1fr 0.92fr;gap:34px;align-items:center;
  background:var(--cream);border-radius:22px;padding:26px 32px;margin-bottom:42px;
}
.blog__intro-img{height:155px;border-radius:16px;background-size:cover;background-position:center}
.blog__intro-text .section-title{font-size:27px;margin-bottom:8px}
.blog__intro-text p{font-size:14.5px;color:#5d5d56;line-height:1.55}
.subscribe__row{display:flex;gap:10px;margin-bottom:12px}
.subscribe__input{flex:1;min-width:0;font-family:inherit;font-size:14px;padding:13px 15px;border:1px solid #dcd8cc;border-radius:11px;background:#fff;color:var(--ink)}
.subscribe__input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(95,125,60,.13)}
.subscribe__btn{font-family:inherit;font-size:14px;color:#fff;background:var(--green);border:none;border-radius:11px;padding:13px 24px;cursor:pointer;white-space:nowrap;transition:.2s}
.subscribe__btn:hover{background:var(--green-d)}
.subscribe__check{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#7a7a72;line-height:1.4;cursor:pointer}
.subscribe__check input{margin-top:1px;accent-color:var(--green)}
.subscribe__done{font-size:13px;color:var(--green-d);font-weight:700;margin-top:10px}

.blog__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.post{background:#fff;border:1px solid #ece6d9;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post__img{display:block;height:168px;background-size:cover;background-position:center}
.post__body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.post__title{font-family:'PT Serif',serif;font-size:17px;font-weight:700;line-height:1.3;color:var(--ink);margin-bottom:10px}
.post__excerpt{font-size:13.5px;color:#6a6a62;line-height:1.5;margin-bottom:14px;flex:1}
.post__link{font-size:14px;color:var(--green-d);font-weight:700}
.post__link:hover{color:var(--green)}
.blog__more{text-align:center;margin-top:38px}
.blog__more .btn{padding:14px 34px}

/* ===================== NAV DROPDOWN ===================== */
.has-dropdown{position:relative;display:flex;align-items:center}
.has-dropdown__top{display:inline-flex;align-items:center;gap:5px}
.has-dropdown__top::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .2s}
.has-dropdown:hover .has-dropdown__top::after{transform:translateY(0) rotate(225deg)}
.dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:520px;background:#fff;border-radius:16px;
  box-shadow:0 24px 60px rgba(40,50,25,.18);border:1px solid #eee7da;
  padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;
  opacity:0;visibility:hidden;transition:.22s;z-index:80;
}
.has-dropdown::before{content:"";position:absolute;top:100%;left:0;right:0;height:16px}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(12px)}
.dropdown a{display:block;padding:9px 14px;font-size:14px;color:#3c3c36;border-radius:9px;line-height:1.3;transition:.15s}
.dropdown a:hover{background:#f1f4ea;color:var(--green)}

/* ===================== INNER PAGES ===================== */
.header.solid{background:#fff;border-bottom:1px solid #f0ece3;box-shadow:0 6px 20px rgba(60,70,40,.07)}
.page-hero{
  position:relative;overflow:hidden;background-color:var(--cream);
  background-image:
    linear-gradient(95deg, var(--cream) 22%, rgba(251,248,243,.78) 46%, rgba(251,248,243,.30) 70%, rgba(251,248,243,.05) 100%),
    var(--hero-img, none);
  background-repeat:no-repeat,no-repeat;
  background-position:center, right center;
  background-size:cover, cover;
  padding:132px 0 58px;min-height:330px;display:flex;align-items:center;
}
.page-hero>.container{width:100%}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#8a8a80;margin-bottom:16px}
.breadcrumbs a{color:#8a8a80;transition:.2s}
.breadcrumbs a:hover{color:var(--green)}
.breadcrumbs b{color:var(--ink);font-weight:400}
.breadcrumbs span{opacity:.5}
.page-hero h1{font-family:'PT Serif',serif;font-weight:700;font-size:40px;line-height:1.18;color:var(--ink);max-width:760px}
.page-hero__lead{font-size:16px;color:#5d5d56;line-height:1.6;max-width:680px;margin-top:14px}
.page-hero .btn{margin-top:24px}
.page-body{background:#fff;padding:46px 0 56px}
.page__content{max-width:820px;font-size:16px;color:#45453f;line-height:1.7}
.page__content h2{font-family:'PT Serif',serif;font-weight:700;font-size:25px;color:var(--ink);margin:30px 0 14px}
.page__content p{margin-bottom:16px}
.page__content a{color:var(--green-d);font-weight:700}
.page__list{list-style:none;margin:0 0 18px}
.page__list li{position:relative;padding-left:30px;margin-bottom:11px;line-height:1.5}
.page__list li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:#eaf0e0;color:var(--green);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* services index grid */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{display:flex;align-items:center;gap:14px;background:#fdfaf3;border:1px solid #ece6d9;border-radius:14px;padding:18px 20px;transition:.2s}
.service-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#dfe5cf}
.service-card__ic{width:40px;height:40px;flex:none;border-radius:50%;background:#eef2e6;display:flex;align-items:center;justify-content:center;color:var(--green-d)}
.service-card__ic svg{width:21px;height:21px}
.service-card__name{flex:1;font-size:15px;color:var(--ink);line-height:1.3}
.service-card__arrow{color:var(--green);font-size:18px;opacity:0;transform:translateX(-6px);transition:.2s}
.service-card:hover .service-card__arrow{opacity:1;transform:translateX(0)}

/* blog listing page */
.blog__grid--page{grid-template-columns:repeat(3,1fr)}
.post__date{font-size:12.5px;color:#9a9a8e;margin-bottom:6px;display:block}

/* article page */
.article{max-width:860px}
.article__date{font-size:14px;color:#8a8a80;margin-top:10px}
.article__cover{height:380px;border-radius:20px;background-size:cover;background-position:center;margin-bottom:30px;box-shadow:var(--shadow-sm)}
.article__content{max-width:none}
.article__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid #eee7da}

/* contacts page */
.contacts__grid{display:grid;grid-template-columns:0.9fr 1.3fr;gap:40px;align-items:start}
.contacts__info{display:flex;flex-direction:column;gap:22px}
.contacts__item{display:flex;gap:16px;align-items:flex-start}
.contacts__ic{width:46px;height:46px;flex:none;border-radius:50%;background:#eef2e6;display:flex;align-items:center;justify-content:center;color:var(--green-d)}
.contacts__ic svg{width:22px;height:22px}
.contacts__label{display:block;font-size:13px;color:#8a8a80;margin-bottom:3px}
.contacts__val{font-size:17px;color:var(--ink);font-weight:700}
.contacts__btn{margin-top:6px;align-self:flex-start}
.contacts__map{height:420px}

/* ===================== STATS BAND ===================== */
.stats{background:linear-gradient(105deg,var(--banner) 0%,#516a32 100%);padding:42px 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:relative;padding:4px 14px}
.stat:not(:last-child)::after{content:"";position:absolute;right:0;top:12%;height:76%;width:1px;background:rgba(255,255,255,.22)}
.stat__num{font-family:'PT Serif',serif;font-weight:700;font-size:46px;line-height:1;color:#fff;display:inline-flex;align-items:baseline}
.stat__num i{font-style:normal;font-size:20px;margin-left:4px;color:#dfe9cf;font-family:'PT Sans',sans-serif}
.stat__label{font-size:14px;color:#e7eedb;line-height:1.4}

/* ===================== WHY US ===================== */
.whyus{background:#fff;padding:64px 0}
.whyus__title{text-align:center;margin-bottom:10px}
.whyus__lead{text-align:center;max-width:620px;margin:0 auto 40px;font-size:15px;color:#5d5d56;line-height:1.6}
.whyus__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.whyus__card{background:#fdfaf3;border:1px solid #ece6d9;border-radius:18px;padding:28px 26px;transition:.22s}
.whyus__card:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:#dfe5cf}
.whyus__ic{width:52px;height:52px;border-radius:14px;background:#eef2e6;display:flex;align-items:center;justify-content:center;color:var(--green-d);margin-bottom:16px}
.whyus__ic svg{width:26px;height:26px}
.whyus__card h3{font-family:'PT Serif',serif;font-weight:700;font-size:19px;color:var(--ink);margin-bottom:8px}
.whyus__card p{font-size:14px;color:#6a6a62;line-height:1.55}

/* ===================== TEAM ===================== */
.team{background:var(--cream);padding:64px 0}
.team .section-title{text-align:center;margin-bottom:10px}
.team__lead{text-align:center;max-width:640px;margin:0 auto 40px;font-size:15px;color:#5d5d56;line-height:1.6}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.22s;text-align:center;padding-bottom:20px}
.team-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.team-card__photo{height:280px;background-size:cover;background-position:center top;margin-bottom:16px}
.team-card__name{font-family:'PT Serif',serif;font-weight:700;font-size:17px;color:var(--ink);margin-bottom:4px;padding:0 12px}
.team-card__role{font-size:14px;color:var(--green)}

/* ===================== ROUTINE ===================== */
.routine{background:#fff;padding:64px 0}
.routine .section-title{text-align:center;margin-bottom:10px}
.routine__lead{text-align:center;max-width:640px;margin:0 auto 44px;font-size:15px;color:#5d5d56;line-height:1.6}
.routine__track{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;position:relative}
.routine__track::before{content:"";position:absolute;left:0;right:0;top:56px;height:2px;background:#e7e2d6;z-index:0}
.routine__item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
.routine__time{font-family:'PT Serif',serif;font-weight:700;font-size:20px;color:var(--green-d);margin-bottom:18px}
.routine__dot{width:16px;height:16px;border-radius:50%;background:var(--green);border:4px solid #e8eede;margin-bottom:16px}
.routine__item p{font-size:13.5px;color:#54544d;line-height:1.4;padding:0 4px}

/* ===================== MODAL: ÃÅ¾ÃÂ¡ÃÂ¢ÃÂÃâ€™ÃËœÃÂ¢ÃÂ¬ Ãâ€”ÃÂÃÂ¯Ãâ€™ÃÅ¡ÃÂ£ ===================== */
.modal{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:20px;
}
.modal.open{display:flex;animation:modalFade .25s ease}
.modal__overlay{position:absolute;inset:0;background:rgba(40,50,28,.55);backdrop-filter:blur(3px)}
.modal__dialog{
  position:relative;z-index:1;width:100%;max-width:440px;
  background:#fff;border-radius:22px;padding:38px 38px 32px;
  box-shadow:0 30px 80px rgba(30,40,20,.35);overflow:hidden;
  animation:modalUp .3s ease;
}
.modal__leaf{position:absolute;right:-30px;top:-26px;width:150px;opacity:.5;pointer-events:none}
.modal__close{
  position:absolute;right:16px;top:12px;z-index:2;
  background:none;border:none;font-size:30px;line-height:1;color:#9a9a90;cursor:pointer;transition:.2s;
}
.modal__close:hover{color:var(--green-d)}
.modal__title{font-size:26px;margin-bottom:8px;position:relative}
.modal__text{font-size:14.5px;color:#5d5d56;line-height:1.5;margin-bottom:22px;position:relative}
.modal__form{display:flex;flex-direction:column;gap:14px;position:relative}
.field{display:flex;flex-direction:column;gap:6px}
.field__label{font-size:13px;color:#6b6b62;font-weight:700}
.field__input{
  font-family:inherit;font-size:15px;color:var(--ink);
  padding:13px 16px;border:1px solid #dcd8cc;border-radius:11px;background:#fbfaf6;
  transition:border-color .2s, box-shadow .2s;width:100%;
}
.field__input::placeholder{color:#b3b0a4}
.field__input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(95,125,60,.13);background:#fff}
.modal__submit{margin-top:6px;width:100%;padding:15px}
.modal__policy{font-size:11.5px;color:#9a9a90;line-height:1.4;text-align:center;margin-top:2px}
.modal__success{text-align:center;padding:14px 0 6px}
.modal__success-ic{
  width:64px;height:64px;border-radius:50%;background:#eaf0e0;color:var(--green);
  font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.modal__success h3{font-size:23px;margin-bottom:8px}
.modal__success p{font-size:14.5px;color:#5d5d56;line-height:1.5;margin-bottom:22px}
.modal__success .btn{width:100%;padding:14px}
body.modal-open{overflow:hidden}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ===================== SEO TEXT (read more) ===================== */
.seo{background:var(--cream);padding:54px 0}
.seo__content{
  position:relative;max-width:920px;
  max-height:184px;overflow:hidden;transition:max-height .45s ease;
  font-size:15px;color:#54544d;line-height:1.75;
}
.seo__content.open{max-height:4000px}
.seo__content::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:96px;pointer-events:none;
  background:linear-gradient(to bottom, rgba(251,248,243,0), var(--cream));
  transition:opacity .3s ease;
}
.seo__content.open::after{opacity:0}
.seo__content h2{font-family:'PT Serif',serif;font-weight:700;font-size:25px;color:var(--ink);margin:0 0 14px;line-height:1.25}
.seo__content h3{font-family:'PT Serif',serif;font-weight:700;font-size:19px;color:var(--ink);margin:22px 0 10px}
.seo__content p{margin-bottom:13px}
.seo__content a{color:var(--green-d);font-weight:700}
.seo__content a:hover{color:var(--green)}
.seo__toggle{
  margin-top:18px;background:none;border:none;cursor:pointer;
  font-family:'PT Sans',sans-serif;font-size:15px;font-weight:700;color:var(--green-d);
  display:inline-flex;align-items:center;gap:8px;padding:0;
}
.seo__toggle::after{
  content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .25s ease;
}
.seo__toggle.open::after{transform:translateY(2px) rotate(-135deg)}
.seo__toggle:hover{color:var(--green)}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1100px){
  .nav{gap:20px;margin-left:6px}
  .hero__title{font-size:44px}
}
@media (max-width:980px){
  .nav,.header__contact{display:none}
  .burger{display:flex;margin-left:auto}
  .hero{background-size:auto 100%,80% auto}
  .about__grid{grid-template-columns:1fr;gap:30px}
  .about__lead{max-width:none}
  .gallery__grid{grid-template-columns:repeat(4,1fr)}
  .care__cards{grid-template-columns:repeat(3,1fr)}
  .comfort__cards{grid-template-columns:repeat(3,1fr)}
  .steps__grid{grid-template-columns:1fr}
  .steps__row{flex-wrap:wrap;justify-content:center;gap:10px}
  .step{flex:0 0 86px}
  .step__icon{width:72px;height:72px}
  .step p{font-size:12px}
  .step__arrow{display:none}
  .triple__grid{grid-template-columns:1fr}
  .price__body{max-width:78%}
  .faq__inner{grid-template-columns:1fr}
  .faq__photo{display:none}
  .care__bg{width:50%;opacity:.5}
  .whyus__grid{grid-template-columns:repeat(2,1fr)}
  .team__grid{grid-template-columns:repeat(2,1fr)}
  .routine__track{grid-template-columns:repeat(4,1fr);gap:24px 10px}
  .routine__track::before{display:none}
  .nature__grid,.leisure__grid,.location__grid{grid-template-columns:1fr;gap:28px}
  .nature__lead,.leisure__lead{max-width:none}
  .location__map{height:300px}
  .blog__intro{grid-template-columns:1fr;gap:20px;text-align:left}
  .blog__intro-img{display:none}
  .blog__grid{grid-template-columns:repeat(2,1fr)}
  .dropdown{display:none}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .blog__grid--page{grid-template-columns:repeat(2,1fr)}
  .contacts__grid{grid-template-columns:1fr;gap:26px}
  .page-hero h1{font-size:32px}
}
@media (max-width:720px){
  .container{padding:0 18px}
  .hero{
    min-height:auto;
    background-image:
      linear-gradient(165deg, rgba(251, 248, 243, .92) 0%, rgb(251 248 243 / 74%) 46%, rgba(251, 248, 243, .22) 100%), url(../img/fon1.jpg);
    background-repeat:no-repeat;
    background-position:center, center;
    background-size:cover, cover;
    background-position-x: 73%;

  }
  .hero__content{padding:118px 0 26px}
  .hero__title{font-size:34px}
  /* advantages flow under the hero content (no overlap with the button) */
  .adr{position:static;margin:0}
  .adv__inner{grid-template-columns:repeat(2,1fr);gap:18px 0;margin:0 0 6px;        margin: 10px 20px;
        padding: 15px;}
  .adv__item::after{display:none}
  .section-title{font-size:26px}
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:26px 10px}
  .stat:nth-child(2)::after{display:none}
  .whyus__grid{grid-template-columns:1fr}
  .team__grid{grid-template-columns:1fr 1fr}
  .routine__track{grid-template-columns:repeat(2,1fr)}
  .stat__num{font-size:38px}
  .deco-leaf{display:none}
  .adv__leaf{display:none}
  .faq__leaf{width:110px;opacity:.5}
  .about__collage{height:340px}
  .gallery__grid{grid-template-columns:repeat(3,1fr);gap:12px}
  .care__cards{grid-template-columns:1fr 1fr}
  .comfort__cards{grid-template-columns:1fr 1fr}
  .faq__cols{grid-template-columns:1fr}
  .cta__banner{flex-direction:column;align-items:flex-start}
  .cta__home{opacity:.25;width:100%}
  .cta__right{width:100%}
  .consult{
    background-image:
      linear-gradient(115deg, rgba(237,241,228,.97) 0%, rgba(235,240,222,.9) 45%, rgba(235,240,222,.55) 100%),
      url('../img/girl.jpg');
    background-size:auto, cover;
    background-position:center, right top;
    background-repeat:no-repeat;
    min-height:auto;
  }
  .consult__img{display:none}
  .consult__text{max-width:100%}
  .consult h3,.consult__text>p,.consult__list{max-width:100%}
  .price__body{max-width:100%}
  .price__list{columns:1}
  .price__bg{display:none}
  .trust__licens{display:none}
  .trust .check-list{max-width:100%}
  .modal__dialog{padding:32px 24px 26px}
  .services-grid{grid-template-columns:1fr}
  .article__cover{height:230px}
  .page-hero{
    padding:104px 0 40px;min-height:0;
    background-image:linear-gradient(168deg, rgba(251,248,243,.95) 32%, rgba(251,248,243,.62) 72%, rgba(251,248,243,.4) 100%), var(--hero-img, none);
    background-position:center, center;
  }
  .nature__media,.leisure__media{grid-template-columns:1fr;height:auto;gap:12px}
  .nature__media img,.leisure__media img{height:200px}
  .leisure__feats{flex-wrap:wrap;gap:18px 8px}
  .leisure__feats li{flex:0 0 28%}
  .subscribe__row{flex-direction:column}
  .subscribe__btn{width:100%}
  .footer__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:460px){
  .care__cards,.comfort__cards{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:repeat(2,1fr)}
  .blog__grid,.blog__grid--page{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr}
}

@media (max-width:350px){
    .adv__item p {
        font-size: 13px;
    }
}

.faq__photo {
    position: absolute;
    right: 0;
    top: 0;
}

a.msgr.msgr--mini.msgr {
    align-items: center;
    display: flex;
}

a.footer__city, a.footer__phone {
    display: flex;
    gap: 10px;
}

h1.hero__text span {
    color: black;
    font-weight: bold;
}

/* ===================== QUIZ PAGE ===================== */
.quiz-page{
  position:relative;overflow:hidden;
  padding:120px 0 80px;
  background:
    radial-gradient(120% 90% at 50% -10%, #f3f6ec 0%, var(--cream) 46%, var(--cream) 100%);
}
.quiz-page__leaf{position:absolute;width:160px;opacity:.5;pointer-events:none;z-index:0}
.quiz-page__leaf--l{left:-46px;top:90px;transform:scaleX(-1) rotate(8deg)}
.quiz-page__leaf--r{right:-40px;bottom:30px;transform:rotate(-6deg);display:none;}
.quiz-wrap{position:relative;z-index:1;max-width:760px}

.quiz-head{text-align:center;margin-bottom:30px}
.quiz-head__title{font-size:34px;line-height:1.22;margin-bottom:12px}
.quiz-head__sub{font-size:18px;color:#55554e;line-height:1.5}

.quiz{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:34px 40px 40px;
  position:relative;
}

/* progress */
.quiz__progress{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.quiz__bar{flex:1;height:6px;background:#eef0e8;border-radius:6px;overflow:hidden}
.quiz__bar-fill{display:block;height:100%;width:0;background:var(--green);border-radius:6px;transition:width .35s ease}
.quiz__count{font-size:13px;color:var(--muted);white-space:nowrap}
.quiz__count b{color:var(--green-d)}

/* steps + soft slide transitions */
.quiz__steps{position:relative;overflow:hidden;transition:height .38s cubic-bezier(.4,0,.2,1)}
.quiz__step{
  display:none;opacity:1;
  transition:opacity .36s ease, transform .42s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.quiz__step.is-active{display:block}
/* forward direction (default): out → left, in ← from right */
.quiz__step.is-leaving{opacity:0;transform:translateX(-34px)}
.quiz__step.is-entering{opacity:0;transform:translateX(34px)}
/* backward direction */
.quiz.is-back .quiz__step.is-leaving{transform:translateX(34px)}
.quiz.is-back .quiz__step.is-entering{transform:translateX(-34px)}

/* intro */
.quiz__intro{text-align:center;padding:6px 0}
.quiz__intro-lead{font-family:'PT Serif',Georgia,serif;font-size:24px;color:var(--ink);margin-bottom:22px}
.quiz__benefits{display:inline-flex;flex-direction:column;gap:14px;text-align:left;margin:0 auto 24px}
.quiz__benefits li{display:flex;align-items:center;gap:12px;font-size:17px;color:#3f3f39}
.quiz__check{
  flex:none;width:26px;height:26px;border-radius:50%;
  background:var(--chip);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
}
.quiz__timer{font-size:15px;color:var(--muted);margin-bottom:26px}
.quiz__next-btn{
  width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;
  background:var(--green);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px rgba(95,125,60,.32);transition:.22s;
}
.quiz__next-btn svg{width:26px;height:26px}
.quiz__next-btn:hover{background:var(--green-d);transform:translateX(3px)}

/* questions */
.quiz__qnum{font-size:12.5px;color:var(--green);font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:7px}
.quiz__question{font-size:25px;line-height:1.26;margin-bottom:14px;color:var(--green-d)}
/* compact two-column, light "quick to fill" look */
.quiz__opts{display:grid;grid-template-columns:1fr 1fr;gap:2px 36px;margin-top:2px}
.quiz__opt{
  display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
  background:none;border:none;border-radius:9px;
  padding:10px 8px;font-family:'PT Sans',sans-serif;font-size:15.5px;color:#43433d;
  transition:color .18s, background .18s;
}
.quiz__opt:hover{color:var(--green-d);background:rgba(95,125,60,.055)}
.quiz__opt-mark{
  flex:none;width:23px;height:23px;border-radius:50%;
  border:2px solid #d6d2c5;position:relative;transition:border-color .18s;
}
.quiz__opt-mark::after{
  content:"";position:absolute;inset:4.5px;border-radius:50%;background:var(--green);
  transform:scale(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1);
}
.quiz__opt:hover .quiz__opt-mark{border-color:#b7c79a}
.quiz__opt.is-sel{color:var(--green-d);font-weight:700}
.quiz__opt.is-sel .quiz__opt-mark{border-color:var(--green)}
.quiz__opt.is-sel .quiz__opt-mark::after{transform:scale(1)}
/* staggered appearance of options when a step becomes active */
.quiz__step.is-active .quiz__opt{animation:quizOptIn .5s ease backwards}
.quiz__opts .quiz__opt:nth-child(1){animation-delay:.04s}
.quiz__opts .quiz__opt:nth-child(2){animation-delay:.10s}
.quiz__opts .quiz__opt:nth-child(3){animation-delay:.16s}
.quiz__opts .quiz__opt:nth-child(4){animation-delay:.22s}
.quiz__opts .quiz__opt:nth-child(5){animation-delay:.28s}
.quiz__opts .quiz__opt:nth-child(6){animation-delay:.34s}
@keyframes quizOptIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

.quiz__nav{margin-top:22px}
.quiz__back{
  display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;
  font-family:'PT Sans',sans-serif;font-size:15px;color:var(--muted);padding:6px 4px;transition:.18s;
}
.quiz__back svg{width:18px;height:18px}
.quiz__back:hover{color:var(--green)}

/* form step */
.quiz__form-lead{font-size:15px;color:#5d5d56;line-height:1.5;margin:-8px 0 22px}
.quiz__form{display:flex;flex-direction:column;gap:16px}
.quiz__consent{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:#6b6b62;line-height:1.45}
.quiz__consent input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--green);cursor:pointer}
.quiz__consent a{color:var(--green);text-decoration:underline}
.quiz__submit{
  width:100%;border:none;cursor:pointer;border-radius:12px;
  background:var(--green);color:#fff;font-family:'PT Sans',sans-serif;font-size:17px;
  padding:16px;transition:.2s;margin-top:4px;
}
.quiz__submit:hover{background:var(--green-d)}
.quiz__safe{text-align:center;font-size:12.5px;color:#9a9a90;margin-top:2px}

/* success */
.quiz__success{text-align:center;padding:18px 0 10px}
.quiz__success-ic{
  width:62px;height:62px;border-radius:50%;margin:0 auto 18px;
  background:var(--chip);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:30px;
}
.quiz__success h2{font-size:26px;margin-bottom:10px}
.quiz__success p{font-size:15.5px;color:#5d5d56;line-height:1.55;margin-bottom:22px;max-width:460px;margin-left:auto;margin-right:auto}
.quiz__success-link{
  display:inline-block;background:var(--green);color:#fff;border-radius:10px;
  padding:13px 30px;font-size:16px;transition:.2s;
}
.quiz__success-link:hover{background:var(--green-d)}

@media(max-width:640px){
  .quiz-page{padding:96px 0 56px}
  .quiz-head__title{font-size:26px}
  .quiz-head__sub{font-size:16px}
  .quiz{padding:24px 20px 28px}
  .quiz__question{font-size:21px}
  .quiz__intro-lead{font-size:20px}
  .quiz__benefits li{font-size:15.5px}
  .quiz__opts{grid-template-columns:1fr;gap:0}
  .quiz__opt{font-size:15px;padding:11px 6px}
  .quiz-page__leaf--r{display:block;}
}
