:root{
  --y:#ffd119;
  --y2:#ffe36b;
  --ink:#111;
  --text:#3a3a3a;
  --mute:#777;
  --gray:#f9f9f9;
  --line:#e6e6e6;
  --logo:#58575c;
  --r:5px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--text);background:#fff;font-weight:300;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
svg{flex:none}
b,strong{font-weight:700;color:var(--ink)}
h1,h2,h3{color:var(--ink);line-height:1.2}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}
.center{text-align:center;margin-top:44px}
section{padding:90px 0}

/* заголовки як у Elenis: капс, жирне слово + легкий хвіст */
.h{font-size:38px;font-weight:300;text-transform:uppercase;text-align:center;letter-spacing:.005em}
.h b{font-weight:700}
.h--plain{text-transform:none;font-weight:700;font-size:36px}
.h--left{text-align:left}
.sub{text-align:center;font-size:18px;margin-top:12px;color:#444}

/* кнопки: радіус 5, жовта з чорним текстом, чорна на жовтому, контурна */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 26px;border-radius:var(--r);border:1px solid var(--y);background:var(--y);color:#000;font:600 15px/1.2 Roboto,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn svg{width:18px;height:18px}
.btn--y:hover{background:#fff;border-color:#000}
.btn--k{background:#000;border-color:#000;color:#fff}
.btn--k:hover{background:#fff;color:#000}
.btn--line{background:transparent;border-color:#000;color:#000}
.btn--line:hover{background:#000;color:#fff}
.btn--ghost{background:transparent;border-color:#fff;color:#fff}
.btn--ghost:hover{background:#fff;color:#000}
.btn--lg{min-height:56px;padding:14px 34px;font-size:16px}

/* шапка */
.hdr{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .2s}
.hdr.is-stuck{box-shadow:0 2px 16px rgba(0,0,0,.08)}
.hdr__in{display:flex;align-items:center;gap:26px;min-height:100px;transition:min-height .2s}
.hdr.is-stuck .hdr__in{min-height:72px}
.logo img{width:120px}
.nav{display:flex;gap:28px;margin:0 auto;font-size:16px;font-weight:400;text-transform:uppercase;color:#000}
.nav a{text-decoration:none;border-bottom:1px solid transparent;padding:4px 0}
.nav a:hover{border-color:#000}
.hdr__tel{white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;font-size:13px;font-weight:700;color:#000;line-height:1.3}
.hdr__tel a{text-decoration:none}
.hdr__soc{display:flex;gap:10px}
.hdr__soc a{width:30px;height:30px;border-radius:50%;background:#000;color:#fff;display:flex;align-items:center;justify-content:center}
.hdr__soc svg{width:17px;height:17px}
.hdr__cta{white-space:nowrap;text-transform:uppercase;font-weight:400;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.hdr__ic{display:none;width:42px;height:42px;align-items:center;justify-content:center;background:none;border:0;color:#000;cursor:pointer}
.hdr__ic svg{width:24px;height:24px}

/* перший екран: фото на всю ширину з затемненням, жовтий капс */
.hero{position:relative;padding:0;min-height:640px;display:flex;align-items:center;color:#fff;overflow:hidden;background:#2b2724}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.12) 100%)}
.hero__in{position:relative;z-index:2;padding-top:70px;padding-bottom:70px}
.hero h1{color:var(--y);font-size:58px;font-weight:900;text-transform:uppercase;line-height:1.05;max-width:640px}
.hero h1 span{display:block;color:#fff;font-weight:300;font-size:30px;text-transform:none;margin-top:12px;letter-spacing:.01em}
.hero__lead{font-size:20px;font-weight:500;max-width:560px;margin:22px 0 22px}
.hero__prices{list-style:none;display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:0;margin-bottom:28px;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);max-width:640px}
.hero__prices li{display:flex;flex-direction:column;padding:12px 26px 12px 0;margin-right:22px;border-right:1px solid rgba(255,255,255,.22)}
.hero__prices li:last-child{border-right:0;margin-right:0}
.hero__prices span{font-size:14px;opacity:.85}
.hero__prices b{color:#fff;font-size:22px;font-weight:700;white-space:nowrap}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px}
.hero__note{margin-top:18px;font-size:15px;opacity:.9;max-width:560px}

/* адреси під першим екраном */
.info{padding:34px 0;border-bottom:1px solid var(--line)}
.info__in{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:20px}
.info__in>div{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:15px;color:#666}
.info svg{width:22px;height:22px;color:#000;margin-bottom:6px}
.info b{font-size:17px;font-weight:500;color:#000}
.info a{font-weight:700;color:#000;text-decoration:none;margin-top:4px}

/* лазерна епіляція це */
.pro__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:56px;text-align:center}
.pro__ic{display:flex;width:96px;height:96px;margin:0 auto 22px;border-radius:50%;background:#f4f4f4;align-items:center;justify-content:center;color:#333}
.pro__ic svg{width:52px;height:52px}
.pro h3{font-size:22px;font-weight:500;margin-bottom:12px}
.pro p{font-size:15px;color:#555}
.pro__photos{display:grid;grid-template-columns:1.35fr 1fr 1.35fr .8fr;gap:16px;margin-top:60px}
.pro__photos img{width:100%;height:300px;object-fit:cover;border-radius:var(--r)}

/* прайс */
.price{padding-top:40px}
.tabs{display:flex;justify-content:center;margin:40px auto 50px;max-width:380px}
.tabs button{flex:1;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 10px;font:500 14px Roboto,Arial,sans-serif;text-transform:uppercase;color:#888;cursor:pointer}
.tabs button[aria-selected=true]{color:#000;border-bottom:2px solid #000}
.combo{display:grid;grid-template-columns:300px 1fr;gap:40px;background:var(--gray);padding:34px 40px;border-radius:var(--r);margin-bottom:56px;align-items:start}
.combo__head h3{font-size:24px;font-weight:700;text-transform:uppercase}
.combo__head p{font-size:18px;margin-top:4px}
.combo__list{list-style:none;columns:2;column-gap:40px}
.combo__list li{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid #e1e1e1;break-inside:avoid;font-size:15px}
.combo__list li span{flex:1}
.combo__list s{color:#000;font-weight:700;font-size:14px}
.combo__list b{white-space:nowrap}
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 50px}
.zg h3{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-bottom:10px;border-bottom:2px solid var(--y)}
.zg ul{list-style:none}
.zg li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.zg li b{white-space:nowrap}
.zg--shave h3{border-color:#000}
.price__man{width:100%;max-height:340px;object-fit:cover;border-radius:var(--r);margin-top:44px}

/* абонементи */
.abon{background:var(--gray)}
.abon__cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:50px}
.acard{background:var(--y);border-radius:var(--r);padding:34px 40px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.acard h3{font-size:30px;font-weight:700}
.acard p{margin:10px auto 24px;max-width:420px;color:#222;font-weight:400}
.acard .btn{min-height:40px;padding:8px 26px;font-size:14px}
.calc{display:grid;grid-template-columns:1.4fr 1fr;margin-top:28px;background:#fff;border-radius:var(--r);box-shadow:0 4px 18px rgba(0,0,0,.05);overflow:hidden}
.calc__l{padding:34px 40px}
.calc__l h3{font-size:22px;font-weight:700;margin-bottom:20px}
.calc__f{display:block;margin-bottom:18px}
.calc__f>span{display:block;font-size:14px;font-weight:500;color:#555;margin-bottom:8px}
.calc select{width:100%;height:52px;border:1px solid #d5d5d5;border-radius:var(--r);padding:0 14px;font:400 16px Roboto,Arial,sans-serif;color:#000;background:#fff}
.seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #000;border-radius:var(--r);overflow:hidden}
.seg button{min-height:48px;border:0;border-right:1px solid #000;background:#fff;font:500 15px Roboto,Arial,sans-serif;cursor:pointer;color:#000}
.seg button:last-child{border-right:0}
.seg button[aria-checked=true]{background:#000;color:#fff}
.calc__r{background:#111;color:#fff;padding:34px 40px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.calc__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.calc__row b{color:#fff;font-size:20px;white-space:nowrap}
.calc__row .calc__sum{color:var(--y);font-size:30px}
.calc__row--save b{color:var(--y)}
.calc__r .btn{margin-top:18px}
.calc__fix{font-size:13px;color:rgba(255,255,255,.7);margin-top:10px}
.book__quote{max-width:520px;margin:30px auto 0;font-size:15px;color:#444}
.book__quote blockquote{font-style:italic;font-weight:400}
.book__quote figcaption{font-size:13px;color:#888;margin-top:6px}
.fine{font-size:14px;color:var(--mute);margin-top:14px;text-align:center}

/* відгуки */
.rev__grid{columns:3;column-gap:24px;margin-top:50px}
.rv{break-inside:avoid;margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 24px;font-family:Roboto,Arial,sans-serif}
.rv__top{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.rv__av{width:40px;height:40px;border-radius:50%;color:#fff;font-weight:500;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.rv__top b{display:block;font-size:15px;font-weight:500}
.rv__st{display:flex;gap:1px;color:#fbbc04;margin-top:2px}
.rv__st svg{width:15px;height:15px}
.rv__svc{font-size:13px;color:#666;margin-bottom:8px}
.rv blockquote{font-size:15.5px;line-height:1.55;color:#222;font-weight:400}
.rev__cta{display:grid;grid-template-columns:420px 1fr;gap:40px;align-items:center;background:var(--y);border-radius:var(--r);overflow:hidden;margin-top:26px}
.rev__cta img{width:100%;height:100%;min-height:260px;object-fit:cover}
.rev__cta div{padding:30px 40px 30px 0}
.rev__cta h3{font-size:28px;font-weight:700}
.rev__cta p{margin:10px 0 22px;color:#222;font-weight:400;max-width:520px}

/* спеціалісти */
.team{background:var(--gray)}
.team__in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.team__text>p{margin:18px 0 26px;font-size:17px}
.team__cards{display:grid;gap:14px}
.spec{display:flex;gap:18px;align-items:flex-start;background:#fff;border-radius:var(--r);padding:20px 22px}
.spec__mono{width:58px;height:58px;border-radius:50%;background:var(--y);color:#000;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;letter-spacing:.04em}
.spec h3{font-size:19px;font-weight:700;margin-bottom:4px}
.spec p{font-size:15px}
.team__img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover}

/* питання */
.faq__wrap{display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:start}
.faq__pics{display:grid;gap:16px;position:sticky;top:100px}
.faq__pics img{border-radius:var(--r);width:100%;object-fit:cover}
.faq__pics img:first-child{aspect-ratio:4/3}
.faq__pics img:last-child{aspect-ratio:4/4.2}
.faq .h{margin-bottom:40px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:18px;font-weight:500;color:#000;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:24px;height:24px;transition:transform .2s}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq details p{padding:0 40px 22px 0;font-size:16px}

/* запис */
.book{padding-top:40px;padding-bottom:70px;text-align:center}
.book__in{max-width:760px}
.book .sub{max-width:560px;margin:14px auto 0}
.form{display:grid;gap:14px;max-width:440px;margin:34px auto 0}
.form input{width:100%;height:54px;border:1px solid #d5d5d5;border-radius:var(--r);background:#f4f4f4;padding:0 16px;font:400 16px Roboto,Arial,sans-serif;color:#000}
.form input:focus{outline:none;border-color:#000;background:#fff}
.form input.is-bad{border-color:#d33}
.form__done{max-width:520px;margin:30px auto 0;background:var(--y);border-radius:var(--r);padding:28px}
.form__done[hidden]{display:none}
.form__done b{font-size:22px;display:block;line-height:1.3}
.form__done b a{text-decoration:none}
.form__done p{margin:10px 0 16px;color:#222;font-weight:400}
.form__done p a{font-weight:700;text-decoration:none}
.form__links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.book__alt{position:relative;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}
.book__arrow{position:absolute;left:-10px;top:-36px;width:56px;height:66px;color:#999}

/* підвал: жовтий, як у них */
.ftr{background:var(--y);color:#111}
.ftr__in{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding-top:40px;padding-bottom:44px;gap:20px}
.ftr__in>div{display:flex;flex-direction:column;gap:2px;font-size:16px;font-weight:400}
.ftr b{font-weight:700}
.ftr a{text-decoration:none}
.ftr__soc{display:flex;gap:10px;justify-content:center;margin-top:12px}
.ftr__soc a{width:34px;height:34px;border-radius:50%;background:#000;color:#fff;display:flex;align-items:center;justify-content:center}
.ftr__soc svg{width:18px;height:18px}
.ftr__bottom{background:#fff;font-size:13px;color:#333}
.ftr__bin{display:flex;justify-content:center;gap:24px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.ftr__bin a{color:#888}
.ftr__bin a:hover{color:#000}

.rise{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rise.is-in{opacity:1;transform:none}

@media (max-width:1150px){
  .hdr__soc{display:none}
  .nav{gap:18px;font-size:14px}
}
@media (max-width:960px){
  section{padding:64px 0}
  .h{font-size:30px}
  .h--plain{font-size:28px}
  .hdr__in{min-height:68px;gap:10px}
  .hdr.is-stuck .hdr__in{min-height:64px}
  .logo{margin-right:auto}
  .logo img{width:96px}
  .hdr__tel{display:none}
  .hdr__ic{display:inline-flex}
  .hdr__cta{padding:8px 14px;min-height:40px;font-size:13px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;gap:0;padding:4px 20px 14px;box-shadow:0 14px 24px rgba(0,0,0,.08)}
  .nav.is-open{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line)}
  .pro__grid{grid-template-columns:1fr 1fr;gap:40px 30px}
  .combo{grid-template-columns:1fr;gap:16px;padding:26px}
  .zones{grid-template-columns:1fr 1fr}
  .calc{grid-template-columns:1fr}
  .rev__grid{columns:2}
  .rev__cta{grid-template-columns:1fr}
  .rev__cta img{min-height:0;aspect-ratio:16/9}
  .rev__cta div{padding:0 26px 28px}
  .team__in{grid-template-columns:1fr;gap:30px}
  .faq__wrap{grid-template-columns:1fr;gap:30px}
  .faq__pics{position:static;grid-template-columns:1fr 1fr}
  .faq__pics img{aspect-ratio:1!important}
  .pro__photos{grid-template-columns:1fr 1fr}
  .pro__photos img{height:240px}
}
@media (max-width:640px){
  body{font-size:15px}
  section{padding:52px 0}
  .wrap{padding:0 16px}
  .h{font-size:24px}
  .h--plain{font-size:24px}
  .sub{font-size:16px}
  .hdr__cta{padding:7px 12px;min-height:38px;font-size:12px}
  .logo img{width:84px}
  .hero{min-height:0;align-items:flex-end}
  .hero__bg{object-position:66% 0;height:62%;bottom:auto}
  .hero{background:#1c1a18}
  .hero::before{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.55) 30%,rgba(0,0,0,.86) 100%)}
  .hero__in{padding-top:150px;padding-bottom:36px}
  .hero h1{font-size:36px}
  .hero h1 span{font-size:21px;margin-top:8px}
  .hero__lead{font-size:16.5px;margin:14px 0 18px}
  .hero__prices{grid-template-columns:1fr 1fr;margin-bottom:22px}
  .hero__prices li{padding:10px 10px 10px 0;margin:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .hero__prices li:nth-child(n+3){border-bottom:0}
  .hero__prices b{font-size:19px}
  .hero__btns .btn{width:100%}
  .hero__note{font-size:14px}
  .info{padding:26px 0}
  .info__in{grid-template-columns:1fr;gap:22px}
  .pro__grid{grid-template-columns:1fr 1fr;gap:28px 16px;margin-top:32px}
  .pro__ic{width:64px;height:64px;margin-bottom:10px}
  .pro__ic svg{width:36px;height:36px}
  .pro h3{font-size:16.5px;margin-bottom:6px}
  .pro p{font-size:13.5px}
  .zones.is-acc .zg h3{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0}
  .zones.is-acc .zg h3::after{content:"";width:9px;height:9px;border-right:1.6px solid #000;border-bottom:1.6px solid #000;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
  .zones.is-acc .zg.is-open h3::after{transform:rotate(-135deg)}
  .zones.is-acc .zg:not(.is-open) ul{display:none}
  .zones.is-acc{gap:0}
  .zones.is-acc .zg{margin-bottom:8px}
  .pro__photos{grid-template-columns:1fr 1fr;margin-top:36px;gap:10px}
  .pro__photos img{height:170px}
  .pro__photos img:first-child{grid-column:1/-1;height:220px}
  .pro__photos img:last-child{display:none}
  .h--left{text-align:center}
  .tabs{margin:26px auto 30px}
  .combo{padding:22px 18px;margin-bottom:36px}
  .combo__head h3{font-size:20px}
  .combo__head p{font-size:16px}
  .combo__list{columns:1}
  .combo__list li{flex-wrap:wrap;gap:4px 10px}
  .combo__list li span{flex-basis:100%}
  .zones{grid-template-columns:1fr;gap:30px}
  .price__man{max-height:220px;margin-top:30px}
  .abon__cards{grid-template-columns:1fr;gap:14px;margin-top:30px}
  .acard{padding:26px 20px}
  .acard h3{font-size:25px}
  .calc__l,.calc__r{padding:24px 18px}
  .calc__l h3{font-size:19px}
  .seg button{font-size:13.5px;min-height:46px}
  .calc__row .calc__sum{font-size:26px}
  .rev__grid{columns:1;margin-top:30px}
  .rev__grid .rv:nth-child(n+5){display:none}
  .rev__grid.is-all .rv{display:block}
  .rev__more{display:flex!important}
  .rev__cta h3{font-size:22px}
  .rev__cta div{padding:0 18px 24px}
  .rev__cta .btn{width:100%}
  .team__text>p{font-size:15.5px}
  .spec{padding:16px}
  .spec__mono{width:48px;height:48px;font-size:14px}
  .faq summary{font-size:16px;padding:16px 0}
  .faq details p{padding-right:0}
  .form .btn,.book__alt .btn{width:100%}
  .book__arrow{display:none}
  .ftr__in{grid-template-columns:1fr;gap:24px}
}
.rev__more{display:none;width:100%;margin-top:4px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .rise{opacity:1;transform:none}
}
.form[hidden]{display:none}
