:root{--snow:#e7f1ee;--sand:#efe6d4;--paper:#f6f3ec;--card:#f3efe6;--widget:#f6f3ec;--ink:#24343c;--muted:#5a6864;--sun:#d4bc6a;--pine:#6d8f78;--ice:#8fb4c2;--sh:0 22px 44px rgba(8,16,28,.16);--r:22px;--banner:34px;--font:"Segoe UI","Helvetica Neue",system-ui,sans-serif;--serif:Palatino,Georgia,serif;--accent:var(--sun);--header:#000;--logo-bg:#000;--header-ink:#f4efe4;--float:rgba(255,248,236,.78);--float-line:rgba(255,255,255,.45);--shade:rgba(12,10,8,.2);--cat-stroke:linear-gradient(145deg,#ffe2a8,#e07030 48%,#fff0d0);--sky-a:#1a0c08;--sky-b:#3d1610;--sky-c:#8a3c18;--sky-d:#d4783a;--sky-e:#f0c070;--sky-f:#f8e6c0;--glow-a:rgba(255,168,72,.3);--glow-b:rgba(255,220,150,.18);--wave-a:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20320%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27rgba%28255%2C255%2C255%2C0.16%29%27%20d%3D%27M0%2C224L60%2C208C120%2C192%2C240%2C160%2C360%2C165C480%2C171%2C600%2C213%2C720%2C208C840%2C203%2C960%2C149%2C1080%2C128C1200%2C107%2C1320%2C117%2C1380%2C123L1440%2C128L1440%2C320L0%2C320Z%27/%3E%3C/svg%3E");--wave-b:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20320%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27rgba%28255%2C255%2C255%2C0.12%29%27%20d%3D%27M0%2C96L80%2C122C160%2C149%2C320%2C203%2C480%2C208C640%2C213%2C800%2C171%2C960%2C149C1120%2C128%2C1280%2C128%2C1360%2C128L1440%2C128L1440%2C320L0%2C320Z%27/%3E%3C/svg%3E");--wave-c:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20320%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27rgba%28255%2C255%2C255%2C0.1%29%27%20d%3D%27M0%2C256L48%2C240C96%2C224%2C192%2C192%2C288%2C181C384%2C171%2C480%2C181%2C576%2C197C672%2C213%2C768%2C235%2C864%2C224C960%2C213%2C1056%2C171%2C1152%2C149C1248%2C128%2C1344%2C128%2C1392%2C128L1440%2C128L1440%2C320L0%2C320Z%27/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--sky-a);scroll-padding-top:calc(var(--banner) + 80px);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--accent) var(--logo-bg)}html,body{margin:0;min-height:100%}html::-webkit-scrollbar,body::-webkit-scrollbar,.modal__sheet::-webkit-scrollbar,.drawer__sheet::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.modal__sheet::-webkit-scrollbar-track,.drawer__sheet::-webkit-scrollbar-track{background:var(--logo-bg)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.modal__sheet::-webkit-scrollbar-thumb,.drawer__sheet::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px;border:2px solid var(--logo-bg)}html.is-modal,html.is-modal body{overflow:hidden}
body{font-family:var(--font);color:var(--ink);line-height:1.45;position:relative;background:transparent}
html[data-season="winter"],body[data-season="winter"]{--accent:var(--ice);--float:rgba(236,246,252,.78);--float-line:rgba(255,255,255,.5);--shade:rgba(6,14,24,.22);--cat-stroke:linear-gradient(145deg,#c9eefc,#4a90b8 48%,#e8f7ff);--widget:#eef6fb;--sky-a:#061018;--sky-b:#0c2134;--sky-c:#1c4a6c;--sky-d:#4a90b0;--sky-e:#9fd0e8;--sky-f:#d7eef8;--glow-a:rgba(120,190,230,.32);--glow-b:rgba(200,230,250,.2);--header:#000}
html[data-season="summer"],body[data-season="summer"]{--accent:var(--sun);--float:rgba(255,248,236,.78);--float-line:rgba(255,255,255,.45);--shade:rgba(12,10,8,.2);--cat-stroke:linear-gradient(145deg,#ffe2a8,#e07030 48%,#fff0d0);--widget:#f6f3ec;--sky-a:#1a0c08;--sky-b:#3d1610;--sky-c:#8a3c18;--sky-d:#d4783a;--sky-e:#f0c070;--sky-f:#f8e6c0;--glow-a:rgba(255,168,72,.3);--glow-b:rgba(255,220,150,.18);--header:#000}
.sky{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--sky-a) 0%,var(--sky-b) 16%,var(--sky-c) 34%,var(--sky-d) 52%,var(--sky-e) 70%,var(--sky-f) 86%,var(--sky-e) 100%)}
.template-banner,.header,.hero,.rail,.main-wrap,main,.footer,.legal,.modal,.toast,.drawer{position:relative;z-index:1}
.header,.rail,.drawer,.modal,.toast{z-index:40}
.drawer{z-index:55}.modal{z-index:60}.toast{z-index:70}.rail{z-index:48}
a{color:var(--pine)}button,input,select,textarea{font:inherit}img{max-width:100%;height:auto}[hidden]{display:none!important}
.template-banner{position:sticky;top:0;z-index:50;text-align:center;font-size:12px;padding:8px 12px;background:var(--logo-bg);color:var(--header-ink)}
.header{position:sticky;top:var(--banner);z-index:40;background:var(--logo-bg);box-shadow:0 10px 28px rgba(0,0,0,.45)}.hero{height:clamp(280px,72vw,400px);overflow:hidden;pointer-events:none;position:relative;z-index:0;margin-bottom:-120px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 36%,rgba(0,0,0,.75) 56%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 36%,rgba(0,0,0,.75) 56%,transparent 100%)}.hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:.82;filter:saturate(1.08) contrast(1.06)}html[data-season="winter"] .hero img,body[data-season="winter"] .hero img{opacity:.84;filter:saturate(1.06) contrast(1.05)}@media(min-width:768px){.hero{height:clamp(400px,54vw,560px);margin-bottom:-170px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 38%,rgba(0,0,0,.7) 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 38%,rgba(0,0,0,.7) 60%,transparent 100%)}.hero img{object-position:center 45%;opacity:.84}}@media(min-width:1100px){.hero{height:clamp(460px,48vw,640px);margin-bottom:-200px}}
.header__bar{display:flex;align-items:center;gap:10px;padding:8px 14px;min-height:56px;max-width:1180px;margin:0 auto}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}
.brand__logo{display:block;width:140px;height:42px;object-fit:contain;background:var(--logo-bg)}
.nav-desk{display:none;gap:16px;flex:1;justify-content:center}
.nav-desk a{text-decoration:none;color:var(--header-ink);font-size:.86rem}
.header__tel{display:none;white-space:nowrap;text-decoration:none;color:var(--header-ink);font-weight:650}
.header .btn,.header__bar .btn--sun{margin-left:auto;background:var(--accent);color:#1a1410;font-weight:700}
.btn{border:0;cursor:pointer;border-radius:14px;padding:9px 14px;box-shadow:0 10px 22px var(--shade);text-decoration:none;display:inline-flex;align-items:center;background:var(--widget);color:var(--ink);font-weight:650;transition:transform .22s ease,box-shadow .22s ease}
.btn:hover{transform:translateY(-2px)}
.btn--ink{background:var(--ink);color:var(--paper)}.btn--sun{background:var(--accent);color:#1a1410}.btn--ghost{background:var(--widget);color:var(--ink)}
.rail{display:flex;align-items:center;justify-content:center;position:fixed;left:0;top:42%;z-index:48;margin:0;border:0;padding:16px 8px;border-radius:0 14px 14px 0;background:var(--accent);color:var(--ink);box-shadow:var(--sh);cursor:pointer}
.rail span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}
.drawer{position:fixed;inset:0;z-index:55;background:rgba(36,52,60,.28);visibility:hidden;opacity:0;pointer-events:none}
.drawer.is-open{visibility:visible;opacity:1;pointer-events:auto;display:block}
.drawer__sheet{width:min(300px,86vw);height:100%;overflow-y:auto;background:var(--float);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:22px 14px 32px;display:grid;align-content:start;gap:8px;transform:translateX(-100%);transition:transform .28s ease}
.drawer.is-open .drawer__sheet{transform:none}
.drawer__label{margin:8px 4px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.drawer__sheet a{text-decoration:none;color:var(--ink);padding:10px 12px;border-radius:14px;background:var(--float);box-shadow:var(--sh)}
main{max-width:1180px;margin:0 auto;padding:12px 14px 36px;position:relative;z-index:1}
.block--cats{margin-bottom:22px;position:relative;z-index:2}
.seg{display:flex;gap:6px;background:var(--widget);border-radius:999px;padding:4px;box-shadow:0 10px 24px var(--shade)}
.seg--hero{width:fit-content;margin:0 auto 14px}
.seg button{border:0;background:transparent;border-radius:999px;padding:8px 18px;cursor:pointer;font-weight:650;color:var(--ink)}
.seg button.is-on{background:var(--accent);box-shadow:none;color:var(--ink)}
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:0;border:0;position:relative;background:var(--widget);border-radius:var(--r);padding:16px 8px 14px;box-shadow:0 12px 28px var(--shade);cursor:pointer;text-decoration:none;color:var(--ink);text-align:center;min-height:118px;transition:transform .22s ease,box-shadow .22s ease}
.cat:hover{transform:translateY(-4px);box-shadow:0 18px 36px var(--shade)}
.cat span{font-size:.82rem;font-weight:650;color:var(--ink)}
.ico{width:48px;height:48px;object-fit:contain;flex:none;display:block}
.card .ico{width:40px;height:40px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));position:relative}
.steps .neo,.steps h3,.steps p{min-width:0}
.steps span{display:block;font-size:.72rem;letter-spacing:.14em;color:var(--ice);margin-bottom:4px}
.steps h3{font-size:.92rem}
.steps p{font-size:.78rem}
.fine{color:var(--muted);font-size:.86rem}
.neo{background:var(--widget);border-radius:var(--r);box-shadow:0 12px 28px var(--shade);padding:14px;position:relative}
.neo h2,.neo h3{margin:0 0 6px;font-size:1.02rem;color:var(--ink)}.neo p{margin:0;color:var(--muted);font-size:.88rem}
.block{margin-bottom:30px;scroll-margin-top:calc(var(--banner) + 80px)}
.block__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.block__head h2{margin:0;font-family:var(--serif);color:var(--header-ink);text-shadow:0 1px 2px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.35)}
.grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.card{text-align:left;border:0;background:var(--widget);border-radius:18px;padding:12px;box-shadow:0 12px 28px var(--shade);cursor:pointer;color:var(--ink);display:grid;gap:4px;justify-items:start;transition:transform .22s ease}
.card:hover{transform:translateY(-3px)}
.card h3{margin:6px 0 0;font-size:.95rem;color:var(--ink)}.card p{margin:0;color:var(--muted);font-size:.82rem}
html[data-season="summer"] [data-szn="winter"],body[data-season="summer"] [data-szn="winter"],html[data-season="winter"] [data-szn="summer"],body[data-season="winter"] [data-szn="summer"]{display:none!important}
#promo .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#promo .neo{min-width:0;padding:12px 8px}
#promo h3{font-size:.9rem}
#promo p{font-size:.76rem}
#promo .btn{padding:6px 10px;font-size:.78rem;margin-top:8px}
.contacts{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.contacts .neo{min-width:0;padding:12px 10px}
.contacts h3{font-size:.9rem}
.contacts p{font-size:.78rem}
.contacts .btn{padding:6px 10px;font-size:.78rem;margin-top:8px}.map{position:relative;margin-top:10px;border-radius:14px;overflow:hidden;line-height:0}.map iframe{display:block;width:100%;height:180px;border:0}.map:after{content:"";position:absolute;left:0;right:0;bottom:0;height:26px;background:var(--widget)}
.faq details{background:var(--widget);border-radius:14px;padding:10px 12px;margin-bottom:8px;box-shadow:0 12px 28px var(--shade)}
.faq summary{cursor:pointer;font-weight:650;color:var(--ink)}
.faq details p{color:var(--muted)}
.footer{max-width:none;width:100%;margin:0;padding:16px 14px 8px;position:relative;z-index:1;background:var(--logo-bg);color:var(--header-ink)}
.footer__grid{display:grid;gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;max-width:1180px;margin:0 auto;background:transparent;padding:8px 0}
.footer h2{font-family:var(--serif);font-size:1.1rem;margin:0 0 6px;color:var(--header-ink)}
.footer p{margin:0;color:rgba(244,239,228,.82)}
.footer a{color:var(--accent)}
.footer__act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.footer .brand__logo{background:var(--logo-bg)}
.legal{text-align:center;font-size:12px;color:rgba(244,239,228,.7);padding:8px 16px 28px;max-width:none;margin:0;background:var(--logo-bg);position:relative;z-index:1}
.legal p{margin:0 0 6px}.legal-stitch{color:inherit;text-decoration:none}
.modal{position:fixed;inset:0;z-index:60;background:rgba(8,10,14,.55);display:grid;place-items:end center;overscroll-behavior:contain}
.modal[hidden]{display:none!important}
.modal__sheet{background:var(--widget);width:100%;max-height:min(92vh,900px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--logo-bg);border-radius:22px 22px 0 0;padding:22px 18px 28px;position:relative;box-shadow:0 -12px 40px var(--shade)}
.modal__x{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:12px;background:var(--float);cursor:pointer;font-size:22px;box-shadow:var(--sh)}
.copy p,.copy li{color:var(--muted)}.copy h3{font-size:1rem;margin:14px 0 6px}
.copy table{width:100%;border-collapse:collapse;font-size:.88rem;margin:10px 0}
.copy td,.copy th{padding:6px 4px;border-bottom:1px solid rgba(224,228,220,.6);text-align:left}
.copy .grid{margin-top:12px}
.form{display:grid;gap:8px;margin-top:12px}
.form input,.form textarea,.form select{width:100%;border:0;border-radius:12px;padding:10px;background:color-mix(in srgb,var(--sand) 80%,transparent)}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--paper);border-radius:14px;padding:10px 16px;box-shadow:var(--sh)}
.toast[hidden]{display:none!important}
@media(min-width:768px){
.header__tel{display:block}
.cats,.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer__grid{grid-template-columns:auto minmax(0,1fr) auto auto}
.steps h3,.contacts h3,#promo h3{font-size:1.02rem}
.steps p,.contacts p,#promo p{font-size:.88rem}
.steps .neo,.contacts .neo,#promo .neo{padding:14px}
.modal{place-items:center;padding:24px}
.modal__sheet{width:min(720px,100%);border-radius:22px;max-height:88vh}
}
@media(min-width:1100px){
.rail{display:none}
.nav-desk{display:flex}
.header__bar{padding:10px 22px}
.cats,.grid,#promo .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1099px){.nav-desk{display:none}}
