*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff}
a{color:inherit}
.top{
  min-height:118px;background:rgba(255,255,255,.97);
  display:flex;justify-content:center;align-items:center;
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(184,92,69,.08);
  backdrop-filter:blur(8px);
  box-shadow:0 2px 12px rgba(0,0,0,.035)
}
.menu{
  width:min(420px,calc(100vw - 28px));
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:36px;
  gap:10px;
  justify-content:center;
  padding:14px 0
}
.menu a{
  display:flex;align-items:center;justify-content:center;
  min-width:0;padding:0 13px;text-decoration:none;color:#cc4400;
  background:#fff5f0;border-radius:22px;font-size:14px;
  white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .18s ease
}
.menu a.active{border:1px solid #cc4400;background:#fff}


.menu a:nth-child(1){grid-column:1/3}
.menu a:nth-child(2){grid-column:3/5}
.menu a:nth-child(3){grid-column:5/7}
.menu a:nth-child(4){grid-column:1/4}
.menu a:nth-child(5){grid-column:4/7}
.menu a:hover{background:#fdeae2;transform:translateY(-1px)}
.hero{min-height:900px;background:url("assets/hero.png") center center/cover no-repeat;padding:34px 0 36px}
.hero-card{width:667px;margin-left:auto;margin-right:auto;background:#fff7f3;border:1px solid #222;border-radius:12px;box-shadow:0 4px 3px rgba(0,0,0,.38);text-align:center}
.hero-main{height:511px;padding:50px 55px 20px}
.hero-kicker{font-size:16px;font-weight:700;color:#93475b;margin-bottom:14px}
.hero-main h1{margin:0 0 25px;color:#974a5d;font-size:54px;line-height:1.16;font-weight:700}
.hero-main p{font-size:17px;line-height:1.34;letter-spacing:.4px;margin:0 0 11px}
.hero-lead{font-size:20px!important;line-height:1.32!important}
.discount{margin-top:27px!important;font-size:16px!important}
.hero-reasons{min-height:254px;height:auto;margin-top:70px;padding:28px 0 25px}
.hero-reasons strong{font-size:16px}
.reason-list{width:390px;margin:7px auto 18px;text-align:left;display:flex;flex-direction:column;font-size:17px;line-height:1.38}
.button{display:flex;width:210px;height:40px;align-items:center;justify-content:center;background:#b85c45;color:#fff;text-decoration:none;border:0;font-size:14px}
.hero-reasons .button{margin:4px auto 0}

.services{padding:54px 0 76px;background:#fff}
.services>h2{text-align:center;margin:0 0 22px;font-size:48px;color:#3a2d2c;line-height:1}
.service-card{width:961px;height:415px;margin:0 auto 25px;background:#fff7f3;border:1px solid #9b9b9b;border-radius:14px;box-shadow:0 3px 3px rgba(0,0,0,.28);overflow:hidden;display:grid;grid-template-columns:376px 1fr}
.service-card img{width:376px;height:100%;object-fit:cover}
.service-text{padding:25px 20px 14px;display:flex;flex-direction:column;justify-content:space-between;font-size:15px;line-height:1.46}
.service-text p{margin:0 0 24px}
.service-text h3{font-size:19px;margin:0 0 10px;font-weight:700}
.service-button{width:238px;height:48px}

.about{height:1005px;background:#e8e6e6;padding-top:60px}
.about-wrap{width:calc(100% - 120px);height:885px;margin:auto;display:grid;grid-template-columns:2.08fr 1fr}
.about-copy{background:#f8efea;padding:84px 135px 60px}
.about-copy h2{margin:0 0 6px;font-size:50px;color:#312524}
.about-sub{font-size:25px;margin-bottom:50px}
.about-copy p{font-size:16px;line-height:1.55;margin:0 0 27px}
.about-button{margin-top:30px}
.about-photo{width:100%;height:885px;object-fit:cover;border-radius:10px;box-shadow:0 3px 3px rgba(0,0,0,.35)}

.pricing{height:837px;background:#f8efea;overflow:hidden;padding-top:31px}
.pricing-inner{width:890px;margin:0 auto}
.pricing h2{font-size:52px;margin:0 0 18px;text-align:center;white-space:nowrap}
.pricing-intro{text-align:center;font-size:14px;line-height:1.35;margin:0 0 31px}
.price-grid{margin:0 auto;display:grid;grid-template-columns:414px 414px;grid-template-rows:198px 284px;gap:60px;width:888px}
.price-card{background:#fff7f3;border:1px solid #aaa;border-radius:14px;box-shadow:0 2px 3px rgba(0,0,0,.28);padding:16px 21px;font-size:16px;line-height:1.5}
.price-card h3{font-size:20px;font-weight:400;margin:0 0 42px}
.price-card p{margin:0 0 9px}
.price-card span{color:#b85c45}
.price-card.tall h3{margin-bottom:43px}
.pricing-note{font-size:21px;text-align:center;white-space:nowrap;margin:26px 0 12px}
.pricing-med{font-size:15px;color:#5c4f4c;text-align:center;margin:0}

.booking{height:885px;background:url("assets/booking-bg.png") center center/cover no-repeat;padding-top:30px}
.booking-form-wrap{width:557px;min-height:690px;margin:0 auto;background:#fff;padding:30px 24px 24px;transform:translateX(-25px)}
.booking-form-wrap h2{font-size:39px;font-weight:400;color:#933c35;margin:0 0 30px}
.booking-form-wrap>p{font-size:16px;line-height:1.45;color:#a33830;margin:0 0 25px}
#contactForm label{display:block;color:#cc4400;font-size:14px;margin-bottom:23px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#contactForm input,#contactForm select,#contactForm textarea{display:block;width:100%;height:38px;margin-top:7px;border:1px solid #cc4400;background:#fff5f0;border-radius:0;outline:none;padding:6px 9px;font:14px Arial}
#contactForm textarea{height:39px;resize:vertical}
#contactForm select{appearance:none;background:#fff5f0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23cc4400'/%3E%3C/svg%3E") right 14px center/14px 8px no-repeat}
#contactForm button{width:100%;height:41px;background:#cc4400;color:#fff;border:0;font-weight:700;font-size:15px;cursor:pointer}
#contactForm button:disabled{opacity:.65}
.honey{position:absolute!important;left:-10000px!important}
.form-status{font-size:13px;color:#9b2c23;margin-top:8px;min-height:17px}

.contacts{height:386px;background:url("assets/booking-bg.png") center bottom/cover no-repeat;padding-top:68px}
.contact-box{width:980px;height:165px;margin:auto;background:#fff;display:grid;grid-template-columns:1fr 1.25fr .85fr;align-items:center;text-align:center}
.contact-box h3{font-size:15px;font-weight:400;margin:0 0 34px}
.contact-box a{text-decoration:none;font-size:16px}
.socials{display:flex;gap:8px;justify-content:center;align-items:center}
.social{
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;transition:transform .15s ease,opacity .15s ease
}
.social:hover{transform:translateY(-1px);opacity:.88}
.social svg{width:17px;height:17px;fill:currentColor}
.tg{background:#28a8e8}
.ig{background:#e83283}
.fb{background:#2d79dc;border-radius:50%}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.42);display:none;align-items:center;justify-content:center;z-index:20}
.modal.open{display:flex}
.modal-card{width:360px;background:#fff7f3;padding:35px;text-align:center;position:relative;border-radius:10px}
.modal-card h2{color:#974a5d;font-size:34px}
.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:25px;cursor:pointer}

@media(max-width:1000px){
  .top{min-height:auto;padding:0}
  .hero{height:auto;padding:24px 16px 36px}
  .hero-card{width:min(667px,100%)}
  .hero-main{height:auto;padding:38px 24px}
  .hero-main h1{font-size:clamp(36px,8vw,54px)}
  .hero-main p br,.pricing-intro br,.booking-form-wrap>p br{display:none}
  .hero-reasons{height:auto;padding:26px 20px;margin-top:28px}
  .services{padding:40px 16px}
  .service-card{width:100%;height:auto;min-height:340px;grid-template-columns:40% 1fr}
  .service-card img{width:100%;min-height:340px}
  .about{height:auto;padding:36px 20px}
  .about-wrap{width:100%;height:auto;grid-template-columns:1fr 38%}
  .about-copy{padding:50px 45px}
  .about-photo{height:100%;min-height:650px}
  .pricing{height:auto;padding:45px 20px 50px}
  .pricing-inner{width:100%;margin:0 auto}
  .pricing h2{font-size:42px;white-space:normal}
  .price-grid{margin:0 auto;width:100%;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:22px}
  .price-card,.price-card.tall{min-height:220px}
  .pricing-note{white-space:normal}
  .booking{height:auto;padding:30px 16px}
  .booking-form-wrap{width:min(557px,100%);min-height:0;transform:none}
  .contacts{height:auto;padding:40px 16px}
  .contact-box{width:min(980px,100%);height:auto;min-height:165px}
}
@media(max-width:680px){
  .menu{width:min(420px,calc(100vw - 24px));gap:8px}
  .hero-kicker{font-size:13px}
  .hero-lead{font-size:17px!important}
  .reason-list{width:min(390px,100%)}
  .services>h2{font-size:38px}
  .service-card{display:block}
  .service-card img{height:270px;min-height:0}
  .service-text{min-height:330px}
  .about-wrap{display:block}
  .about-copy{padding:40px 26px}
  .about-copy h2{font-size:42px}
  .about-photo{height:520px;min-height:0;border-radius:0 0 10px 10px}
  .price-grid{grid-template-columns:1fr}
  .price-card,.price-card.tall{min-height:0}
  .price-card h3,.price-card.tall h3{margin-bottom:24px}
  .two{grid-template-columns:1fr}
  .contact-box{grid-template-columns:1fr;gap:28px;padding:35px 15px}
  .contact-box h3{margin-bottom:10px}
}


/* Плавное появление карточек услуг при прокрутке */
.service-card{
  opacity:0;
  transform:translateY(34px) scale(.985);
  transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;
  will-change:opacity,transform
}
.service-card.is-visible{
  opacity:1;
  transform:translateY(0) scale(1)
}
.service-card.is-visible:hover{
  box-shadow:0 8px 22px rgba(0,0,0,.18)
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .service-card{opacity:1;transform:none;transition:none}
}
