﻿@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/library/Inter-Light.ttf') format('truetype');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/library/Inter-Regular.ttf') format('truetype');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/library/Inter-Medium.ttf') format('truetype');}
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/library/Lora-Regular.ttf') format('truetype');}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/library/Lora-Medium.ttf') format('truetype');}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/library/Lora-SemiBold.ttf') format('truetype');}
:root{--pink:#f5a3b0;--pink-d:#e98a9b;--blush:#fdf1f1;--ink:#2a2224;--muted:#7d6f72;--dark:#1b1517;--line:#f0dfe1}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo{font-family:'Lora','PT Serif',Georgia,serif;font-weight:500;line-height:1.2}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* header */
.hdr{position:absolute;top:0;left:0;right:0;z-index:20;color:#fff}
.hdr .wrap{display:flex;align-items:center;gap:36px;height:84px}
.logo{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:.14em;font-weight:500}
.logo svg{width:30px;height:30px}
.nav{display:flex;gap:30px;margin-left:auto;font-size:14px;letter-spacing:.04em}
.nav a{opacity:.85;padding:6px 0;border-bottom:1px solid transparent;transition:.25s}
.nav a:hover,.nav a.on{opacity:1;border-color:var(--pink)}
.hdr-tel{font-size:14px;white-space:nowrap}
.burger{display:none;background:none;border:0;width:44px;height:44px;margin-left:auto;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{display:block;position:absolute;left:10px;width:24px;height:2px;background:#fff;content:'';transition:.3s}
.burger span{top:21px}.burger span::before{top:-7px;left:0}.burger span::after{top:7px;left:0}
.inner .hdr{background:var(--dark);position:relative}

.btn{display:inline-block;background:var(--pink);color:#3b1f26;border:0;border-radius:30px;padding:14px 32px;font:500 14px 'Inter',sans-serif;cursor:pointer;transition:.25s}
.btn:hover{background:var(--pink-d);transform:translateY(-2px)}
.btn.sm{padding:10px 24px}
.link{color:var(--pink-d);font-size:14px}

/* hero */
.hero{position:relative;min-height:640px;height:88vh;max-height:760px;background:var(--dark);color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 20%}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,13,15,.88) 0%,rgba(20,13,15,.55) 38%,rgba(20,13,15,0) 65%)}
.hero .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:60px}
.hero h1{font-size:clamp(38px,4.4vw,56px);max-width:520px;margin-bottom:22px}
.hero p{font-size:15px;letter-spacing:.04em;opacity:.9;margin-bottom:34px;max-width:480px}
.hero .side{position:absolute;z-index:2;left:max(28px,calc((100% - 1124px)/2));bottom:48px;font-size:14px;color:#fff}
.hero .side b{display:block;font-weight:400;margin-bottom:12px}

/* sections */
section{padding:72px 0}
section.tint{background:var(--blush)}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:36px}
.sec-h h2{font-size:30px}
.lead{max-width:640px;color:var(--muted);margin:-18px 0 36px}

.circles{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;text-align:center}
.circle img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;margin-bottom:14px;transition:.35s;box-shadow:0 8px 24px rgba(120,60,70,.12)}
.circle:hover img{transform:scale(1.05)}
.circle b{display:block;font-size:14px;font-weight:500}
.circle small{color:var(--muted);font-size:12px}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.photo{border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:zoom-in;background:var(--line)}
.photo img{width:100%;height:100%;object-fit:cover;transition:.5s}
.photo:hover img{transform:scale(1.07)}

.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;object-position:75% 20%;width:100%}
.about h2{font-size:32px;margin-bottom:18px}
.about p{color:var(--muted);margin-bottom:14px}
.facts{display:flex;gap:36px;margin-top:26px}
.facts b{display:block;font:500 30px 'Lora',serif;color:var(--pink-d)}
.facts span{font-size:13px;color:var(--muted)}

.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}
.card h3{font-size:20px;margin-bottom:8px}
.card p{color:var(--muted);font-size:14px}
.svc{display:flex;flex-direction:column;gap:6px}
.svc img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;object-position:50% 25%;margin-bottom:12px}
.svc .pr{color:var(--pink-d);font-weight:500;margin-top:auto;padding-top:8px}

.master{text-align:center}
.master .av{width:110px;height:110px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--pink),#f7d3d8);display:grid;place-items:center;font:500 34px 'Lora',serif;color:#fff}
.master small{color:var(--pink-d)}

.rev p{font-style:italic;margin-bottom:14px}
.rev b{font-weight:500;font-size:14px}
.stars{color:var(--pink-d);letter-spacing:3px;margin-bottom:8px}

.price-block{margin-bottom:44px}
.price-block h2{font-size:26px;margin-bottom:14px}
.row{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.row i{flex:1;border-bottom:1px dotted #d9c3c6;transform:translateY(-4px)}
.row b{font-weight:500;white-space:nowrap}
.row span small{display:block;color:var(--muted);font-size:12px}

.contacts{display:grid;grid-template-columns:5fr 7fr;gap:40px}
.contacts dl dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:22px}
.contacts dl dd{font-size:17px}
.map{border-radius:14px;overflow:hidden;min-height:440px;border:1px solid var(--line)}
.map iframe{width:100%;height:100%;min-height:440px;border:0;display:block}
form.book{display:grid;gap:12px;margin-top:20px}
form.book input,form.book select{padding:14px 18px;border:1px solid var(--line);border-radius:30px;font:inherit;background:#fff}

.pagehead{background:var(--dark);color:#fff;padding:56px 0 52px}
.pagehead h1{font-size:clamp(32px,4vw,44px)}
.pagehead p{opacity:.7;margin-top:8px}

.cta{background:var(--dark);color:#fff;text-align:center;padding:64px 0}
.cta h2{font-size:30px;margin-bottom:12px}
.cta p{opacity:.75;margin-bottom:26px}
footer{background:#120d0f;color:#bfb2b5;padding:36px 0;font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer .logo{color:#fff;font-size:16px}
.ftr-legal{font-size:12px;line-height:1.7;color:#8a7a7d;border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-top:16px;max-width:1180px;margin-left:auto;margin-right:auto}

/* ---------- согласие на cookie ---------- */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:300;max-width:480px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.cookie-banner p{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.5}
.cookie-banner__actions{display:flex;gap:10px}
.cookie-banner__actions button{font:500 13px 'Inter',sans-serif;border-radius:30px;padding:11px 20px;cursor:pointer;transition:.25s}
.cookie-banner__actions .btn-o{background:none;border:1px solid var(--ink);color:var(--ink)}
.cookie-banner__actions .btn-o:hover{background:var(--ink);color:#fff}
.cookie-banner__actions .btn-w{background:var(--pink);border:0;color:#3b1f26}
.cookie-banner__actions .btn-w:hover{background:var(--pink-d)}
@media(max-width:520px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:16px}}

.lb{position:fixed;inset:0;background:rgba(10,6,8,.92);display:none;place-items:center;z-index:100;padding:20px}
.lb.on{display:grid}
.lb img{max-height:88vh;max-width:92vw;border-radius:8px}
.lb button{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:38px;cursor:pointer}

.fade{opacity:0;transform:translateY(20px);transition:.7s}
.fade.in{opacity:1;transform:none}

/* tablet */
@media(max-width:1000px){
 .nav,.hdr-tel,.hdr .btn{display:none}
 .burger{display:block}
 .circles{grid-template-columns:repeat(3,1fr)}
 .grid4{grid-template-columns:repeat(2,1fr)}
 .grid3{grid-template-columns:repeat(2,1fr)}
 .about,.contacts{grid-template-columns:1fr}
}
/* mobile */
@media(max-width:640px){
 .wrap{padding:0 18px}
 .hdr .wrap{height:68px}
 .logo{font-size:16px}
 section{padding:48px 0}
 /* hero: фото сверху с лицом, текст снизу на градиенте */
 .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;background:var(--dark)}
 .hero img{position:relative;height:112vw;max-height:520px;object-position:80% 10%;mask-image:linear-gradient(#000 70%,transparent);-webkit-mask-image:linear-gradient(#000 70%,transparent)}
 .hero::after{display:none}
 .hero .wrap{height:auto;margin-top:-90px;padding-top:0;padding-bottom:40px}
 .hero h1{font-size:32px;margin-bottom:14px}
 .hero p{font-size:14px;margin-bottom:24px}
 .hero .btn{width:100%;text-align:center;padding:16px}
 .hero .side{display:none}
 .sec-h h2{font-size:24px}
 /* услуги — горизонтальная лента со свайпом */
 .circles{display:flex;overflow-x:auto;gap:16px;margin:0 -18px;padding:0 18px 8px;scroll-snap-type:x mandatory;scroll-padding:0 18px;scrollbar-width:none}
 .circles::-webkit-scrollbar{display:none}
 .circle{flex:0 0 96px;scroll-snap-align:start}
 .grid4,.grid3{grid-template-columns:1fr 1fr;gap:10px}
 .grid3.one{grid-template-columns:1fr}
 .about h2{font-size:26px}
 .facts{gap:22px}
 .row{flex-wrap:wrap;gap:6px 12px}
 .pagehead{padding:36px 0}
 footer .wrap{flex-direction:column}
 .map,.map iframe{min-height:340px}
}
body.menu-open{overflow:hidden}
.mmenu{position:fixed;inset:0;background:rgba(20,13,15,.97);z-index:50;display:none;flex-direction:column;justify-content:center;align-items:center;gap:22px;color:#fff;font:500 26px 'Lora',serif}
.mmenu.on{display:flex}
.mmenu .btn{font-family:'Inter';margin-top:12px}
.mmenu-x{position:absolute;top:14px;right:16px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}
@media(min-width:1001px){.mmenu{display:none!important}}


