@font-face{font-family:'Forum';font-weight:400;font-display:swap;src:url(fonts/Forum-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Forum';font-weight:400;font-display:swap;src:url(fonts/Forum-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-weight:400 700;font-display:swap;src:url(fonts/Manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-weight:400 700;font-display:swap;src:url(fonts/Manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#FBF6F1;--alt:#F3E8DE;--text:#3A2B26;--muted:#7A6A62;--accent:#3A2B26;--accent2:#B97D5A;--card:#FFFFFF;--on-accent:#FFFFFF;--on-accent2:#FFFFFF;--r:18px;--f-head:'Forum','Times New Roman',serif;--f-body:'Manrope','Segoe UI',system-ui,sans-serif}
/* Общие стили сайтов конструктора. Цвета и шрифты приходят из переменных (:root выше). */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--f-body);-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--f-head);font-weight:600;margin:0;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(32px,5.4vw,58px)}
h2{font-size:clamp(26px,3.8vw,40px)}
h3{font-size:clamp(18px,2vw,21px)}
p{margin:0}
.wrap{width:min(100%,1160px);margin-inline:auto;padding-inline:clamp(18px,5vw,40px)}
.narrow{max-width:820px}
.center{text-align:center}
.muted{color:var(--muted)}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent2);font-weight:600;margin-bottom:10px}
.lead{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:60ch;margin-top:12px}
.center .lead,.hero-center .lead,.sec-head .lead{margin-inline:auto}
.prose p{margin-top:12px}.prose p:first-child{margin-top:0}
/* шапка */
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}
.top-in{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{font-family:var(--f-head);font-size:22px;font-weight:600;text-decoration:none;display:flex;align-items:center;color:var(--accent)}
.brand img{height:36px;width:auto}
.menu{display:flex;gap:22px;margin-left:auto;font-size:15px}
.menu a{text-decoration:none;color:var(--text);opacity:.8}.menu a:hover{opacity:1;color:var(--accent2)}
.top-cta{margin-left:8px}.menu:empty+.top-cta{margin-left:auto}
.burger{display:none;background:none;border:0;padding:8px;margin-left:auto;cursor:pointer}
.burger i{display:block;width:24px;height:2px;background:var(--text);margin:5px 0;border-radius:2px}
/* кнопки */
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:600;padding:13px 26px;border-radius:calc(var(--r) * 2);border:2px solid var(--accent);font:inherit;font-weight:600;cursor:pointer;transition:transform .15s,opacity .15s}
.btn:hover{transform:translateY(-1px);opacity:.92}
.btn.sm{padding:9px 18px;font-size:14px}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.light{background:#fff;color:#0A1E3C;border-color:#fff}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.center .btn-row,.hero-center .btn-row{justify-content:center}
/* секции */
.sec{padding-block:clamp(52px,8vw,96px)}
.sec.pad-s{padding-block:clamp(28px,4vw,48px)}.sec.pad-l{padding-block:clamp(72px,11vw,140px)}
.sec.bg-alt{background:var(--alt)}
.sec.bg-accent{background:var(--accent);color:var(--on-accent)}
.sec.bg-accent h2,.sec.bg-accent h3,.sec.bg-accent .lead,.sec.bg-accent .eyebrow{color:inherit}
.sec.bg-accent .card{color:var(--text)}
.sec.bg-dark{background:#0d1b2a;color:#eef3f8}.sec.bg-dark .lead,.sec.bg-dark .muted{color:#9fb0c4}.sec.bg-dark .card{background:#15283d;color:#eef3f8;border-color:#223a55}
.sec-head{text-align:center;margin-bottom:clamp(28px,4vw,48px)}
.sec.t-hero{padding-block:0}
/* главный экран */
.hero{padding-block:clamp(48px,8vw,100px)}
.hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:center}
.hero-img img{border-radius:calc(var(--r) * 1.6);width:100%;aspect-ratio:4/5;object-fit:cover}
.hero-center{text-align:center}.hero-center .hero-img{margin-top:36px}.hero-center .hero-img img{aspect-ratio:16/9}
.hero-bg{background-size:cover;background-position:center;color:#fff;padding-block:clamp(90px,16vw,200px)}
.hero-bg .lead,.hero-bg .eyebrow,.hero-bg h1{color:#fff}.hero-in{max-width:760px}
/* две колонки */
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.twocol.one{grid-template-columns:1fr;max-width:820px}.twocol.rev .pic{order:-1}
.twocol .pic img{border-radius:calc(var(--r) * 1.4);width:100%;object-fit:cover}
.twocol h2+.prose{margin-top:14px}
/* сетки и карточки */
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid color-mix(in srgb,var(--text) 10%,transparent);border-radius:var(--r);padding:clamp(18px,2.4vw,28px)}
.feat .ico{font-size:30px;line-height:1;margin-bottom:12px}.feat p,.svc p{color:var(--muted);margin-top:8px}
.svc{display:flex;flex-direction:column}.svc img{border-radius:calc(var(--r) * .7);margin-bottom:14px;aspect-ratio:3/2;object-fit:cover;width:100%}
.svc-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.price{font-family:var(--f-head);font-weight:600;color:var(--accent2);white-space:nowrap;font-size:20px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:n;max-width:760px;margin-inline:auto}
.steps li{display:flex;gap:18px;align-items:flex-start}
.num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent2);color:var(--on-accent2);display:grid;place-items:center;font-weight:700}
.steps p{color:var(--muted);margin-top:4px}
.rev p{margin:10px 0}.rev footer{color:var(--muted);font-size:14px}.stars{color:var(--accent2);letter-spacing:3px}
.faqs{display:grid;gap:12px;text-align:left}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:'+';font-size:22px;line-height:1;color:var(--accent2)}.faq[open] summary::after{content:'–'}
.faq .prose{margin-top:12px;color:var(--muted)}
.cta{text-align:center}.cta h2{margin-bottom:8px}.cta .btn{margin-top:22px}
.video iframe,.video video{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);background:#000}
.map iframe{width:100%;height:340px;border:0;border-radius:var(--r)}
.clist{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}.clist li{display:flex;gap:12px}.clist a{text-decoration:none;font-weight:600}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.chip{border:1px solid var(--accent);color:var(--accent);padding:7px 16px;border-radius:99px;text-decoration:none;font-size:14px;font-weight:600}
/* галерея */
.gal{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.shot{margin:0}.shot img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);transition:transform .2s}.shot a:hover img{transform:scale(1.02)}
.shot figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.zoom{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:99;display:grid;place-items:center;cursor:zoom-out;padding:20px}.zoom img{max-height:92vh;max-width:96vw;border-radius:8px}
/* форма */
.form{display:grid;gap:14px;text-align:left;margin-top:8px}
.form label{display:grid;gap:6px;font-size:14px;color:var(--muted);font-weight:600}
.form input,.form textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:calc(var(--r) * .6);padding:12px 14px;width:100%}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent2);border-color:transparent}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-msg{min-height:1.4em;font-weight:600}.form-msg.ok{color:#2e9d5b}.form-msg.err{color:#d63b3b}
/* подвал */
.foot{border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent);padding-block:28px;font-size:14px;color:var(--muted)}
.foot-in{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.foot-in a{text-decoration:none}.powered{margin-left:auto}
/* выбранный блок в предпросмотре */
.sel{outline:3px solid #00d4ff;outline-offset:-3px}
@media(max-width:860px){
 .hero-split,.twocol,.g3,.g2{grid-template-columns:1fr}
 .twocol.rev .pic{order:0}
 .menu{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;gap:0;background:var(--bg);padding:8px 20px 16px;border-bottom:1px solid color-mix(in srgb,var(--text) 12%,transparent)}
 .menu a{padding:12px 0}.menu-open .menu{display:flex}.burger{display:block}.top-cta{display:none}
 .powered{margin-left:0}
}

/* Модуль «Мастер» на сайте: запись онлайн и блоки из кабинета. Цвета берутся из переменных сайта. */
.sec[hidden]{display:none}
.mk-book{background:var(--card);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:calc(var(--r) * 1.4);padding:clamp(20px,4vw,34px);text-align:left}
.mk-book h3{margin:26px 0 14px}.mk-book h3:first-of-type{margin-top:8px}
.mk-stepper{display:flex;gap:8px;margin:0 0 30px;list-style:none;padding:0}
.mk-stepper li{flex:1;height:4px;border-radius:4px;background:var(--alt);position:relative}.mk-stepper li.on{background:var(--accent2)}
.mk-stepper li span{position:absolute;top:10px;left:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap}
.mk-opt{display:grid;gap:10px}
.mk-opt label{display:flex;align-items:center;gap:14px;border:1.5px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:calc(var(--r) * .9);padding:14px 16px;cursor:pointer;color:var(--text)}
.mk-opt label:hover{border-color:var(--accent2)}.mk-opt input{position:absolute;opacity:0;pointer-events:none}
.mk-opt label:has(input:checked){border-color:var(--accent);background:var(--alt)}
.mk-opt .dot{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--muted);flex:none;display:grid;place-items:center}
.mk-opt label:has(input:checked) .dot{background:var(--accent);border-color:var(--accent)}.mk-opt label:has(input:checked) .dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--on-accent)}
.mk-opt .nm{font:600 18px/1.2 var(--f-head)}.mk-opt .sub{font-size:12.5px;color:var(--muted)}.mk-opt .pr{margin-left:auto;font:600 17px var(--f-head);white-space:nowrap}
.mk-days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity}
.mk-days .day{scroll-snap-align:start;flex:none;min-width:62px;border:1.5px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:14px;background:transparent;padding:9px 6px;text-align:center;cursor:pointer;color:var(--text);font:inherit}
.mk-days .day small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.mk-days .day b{display:block;font:600 22px/1.1 var(--f-head)}.mk-days .day em{display:block;font-style:normal;font-size:10.5px;color:var(--accent2);font-weight:600}
.mk-days .day[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}.mk-days .day[aria-pressed="true"] small,.mk-days .day[aria-pressed="true"] b,.mk-days .day[aria-pressed="true"] em{color:var(--on-accent)}
.mk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px;margin-top:10px}
.mk-times .time{border:1.5px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:12px;background:transparent;padding:12px 6px;font:600 16px var(--f-body);color:var(--text);cursor:pointer}
.mk-times .time:hover{border-color:var(--accent2)}.mk-times .time[aria-pressed="true"]{background:var(--accent2);border-color:var(--accent2);color:var(--on-accent2)}
.mk-empty{padding:14px 16px;border-radius:14px;background:var(--alt);color:var(--muted);font-size:14.5px}
.mk-link{background:none;border:0;padding:0;font:600 14px var(--f-body);color:var(--accent2);text-decoration:underline;cursor:pointer}
.mk-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.mk-field label{font-size:12.5px;font-weight:600;color:var(--muted)}
.mk-field input,.mk-field textarea{width:100%;border:1.5px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:calc(var(--r) * .7);background:var(--bg);padding:13px 15px;font:400 16px var(--f-body);color:var(--text)}
.mk-field input:focus,.mk-field textarea:focus{outline:2px solid var(--accent2);border-color:transparent}.mk-field textarea{min-height:84px;resize:vertical}
.mk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.mk-consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--muted);margin:6px 0 16px}.mk-consent input{width:22px;height:22px;accent-color:var(--accent);flex:none}
.mk-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--alt);border-radius:14px;padding:12px 16px;font-size:14px;margin-bottom:16px}.mk-summary b{font:600 18px var(--f-head);color:var(--accent2)}
.mk-prepay{background:color-mix(in srgb,var(--accent2) 14%,var(--bg));border:1px solid var(--accent2);border-radius:14px;padding:12px 16px;font-size:13.5px;margin-bottom:16px}
.mk-err{color:#c0392b;font-size:14px;margin:0 0 12px}
.mk-done{display:flex;flex-direction:column;gap:16px}.mk-ok{width:60px;height:60px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:30px}
.mk-what{background:var(--alt);border-radius:14px;padding:14px 18px;display:grid;gap:3px}.mk-what b{font:600 20px var(--f-head)}
.mk-msgr{display:grid;gap:10px}.mk-msgr .btn{display:flex;justify-content:flex-start;gap:8px;padding:14px 20px}.mk-msgr small{margin-left:auto;opacity:.7;font-weight:500}
.mk-copybox{display:flex;gap:10px;align-items:center;background:var(--bg);border:1px dashed var(--accent2);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--muted)}.mk-copybox span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-sub{font-size:13px;color:var(--muted)}
.promo code{display:inline-block;margin-top:10px;background:var(--alt);padding:4px 10px;border-radius:8px;font-weight:700}
.svc .price small{font:400 12px var(--f-body);color:var(--muted)}
