:root{--bg:#fff;--bg2:#f5f5f5;--tx:#222;--tx2:#777;--bd:#e8e8e8;--r:6px;--w:1180px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Manrope,Inter,system-ui,sans-serif;color:var(--tx);background:var(--bg);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
.wrap{max-width:var(--w);margin:auto;padding:0 24px}
section{padding:110px 0}
.alt{background:var(--bg2)}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.08;font-weight:600;letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.15;font-weight:600;letter-spacing:-.01em;margin-bottom:16px}
h3{font-size:1.15rem;font-weight:600;margin-bottom:6px}
p.lead{color:var(--tx2);max-width:560px}
.btn{display:inline-block;padding:14px 26px;border-radius:var(--r);border:1px solid var(--tx);background:var(--tx);color:#fff;text-decoration:none;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer}
.btn.ghost{background:transparent;color:var(--tx)}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--bd)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-weight:700;text-decoration:none;letter-spacing:-.01em}
nav ul{display:flex;gap:28px;list-style:none;padding:0;align-items:center}
nav a{text-decoration:none;font-size:.95rem}
nav a.btn{color:#fff;padding:10px 18px}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{display:block;width:22px;height:2px;background:var(--tx);position:relative;margin:auto;content:""}
.burger span::before{position:absolute;top:-7px}.burger span::after{position:absolute;top:7px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px}
.svc img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:16px}
.svc p{color:var(--tx2);font-size:.97rem;margin-bottom:10px}
.svc a{font-weight:600;font-size:.93rem}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}
.filters button{border:1px solid var(--bd);background:#fff;border-radius:99px;padding:8px 18px;font:inherit;font-size:.9rem;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--tx);color:#fff;border-color:var(--tx)}
.track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 min(78%,720px);scroll-snap-align:start;border:0;background:none;padding:0;text-align:left;cursor:zoom-in;font:inherit}
.slide img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:var(--r)}
.slide small{color:var(--tx2);display:block;margin-top:10px}
.arrows{display:flex;gap:10px;margin-top:22px}
.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--bd);background:#fff;font-size:1.2rem;cursor:pointer}
.note{color:var(--tx2);font-size:.85rem;margin-top:18px}
dialog{border:0;padding:0;background:transparent;max-width:min(94vw,1100px);width:100%;overflow:visible}
dialog::backdrop{background:rgba(255,255,255,.96)}
dialog img{width:100%;max-height:78vh;object-fit:contain}
dialog p{padding:12px 0}
dialog .x{position:absolute;top:-52px;right:0;background:var(--tx);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.3rem;cursor:pointer}
.two{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.adv{list-style:none;padding:0}
.adv li{padding:18px 0;border-top:1px solid var(--bd)}
.adv li:last-child{border-bottom:1px solid var(--bd)}
.adv span{color:var(--tx2);display:block;font-size:.95rem}
form{display:grid;gap:16px}
label{font-size:.9rem;font-weight:600;display:grid;gap:6px}
input,select,textarea{font:inherit;padding:13px 14px;border:1px solid var(--bd);border-radius:var(--r);background:#fff;width:100%}
.chk{display:flex;gap:10px;font-weight:400;align-items:flex-start}
.chk input{width:auto;margin-top:6px}
.hp{position:absolute;left:-9999px}
#status{font-size:.95rem;min-height:1.4em}
#status.err{color:#b3261e}
footer{background:var(--bg2);padding:70px 0 30px;border-top:1px solid var(--bd);font-size:.95rem}
footer .grid{margin:0 0 40px;grid-template-columns:2fr 1fr 1.4fr}
footer ul{list-style:none;padding:0}
footer p,footer li{color:var(--tx2);margin-bottom:6px}
.copy{border-top:1px solid var(--bd);padding-top:22px;color:var(--tx2);font-size:.85rem}
.fab{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:15}
.fab a{background:var(--tx);color:#fff;text-decoration:none;border-radius:99px;padding:12px 18px;font-size:.9rem;font-weight:600;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.todo{background:#fff6d6;padding:0 3px}
@media(max-width:860px){
section{padding:72px 0}
.grid,footer .grid,.two{grid-template-columns:1fr;gap:30px}
.burger{display:block}
nav ul{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:20px 24px;border-bottom:1px solid var(--bd);gap:16px}
nav ul.open{display:flex}
.slide{flex-basis:88%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.logo img{height:44px;width:auto;border-radius:4px}
.flogo{height:56px;width:auto;border-radius:4px}
.slide{flex:0 0 auto}
.slide img{height:min(62vh,540px);width:auto;max-width:86vw;aspect-ratio:auto}

.hero{position:relative;min-height:calc(100vh - 68px);min-height:calc(100svh - 68px);display:flex;align-items:center;padding:80px 0;color:#fff;overflow:hidden;background:#1a1d22}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,14,18,.82) 0%,rgba(12,14,18,.6) 50%,rgba(12,14,18,.35) 100%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero .txt{max-width:700px}
.hero h1{text-shadow:0 2px 20px rgba(0,0,0,.35)}
.hero .txt p{color:rgba(255,255,255,.88);margin:22px 0 32px;max-width:520px;font-size:1.15rem}
.hero .btns{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn{background:#fff;color:var(--tx);border-color:#fff}
.hero .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.credit{margin-top:6px;font-size:.8rem}
@media(max-width:860px){.hero{padding:60px 0}.hero>img{object-position:70% center}.hero::before{background:rgba(12,14,18,.62)}}
.logo{display:inline-flex;align-items:center;gap:12px;font-size:1.05rem;letter-spacing:.01em}
@media(max-width:380px){.logo span{font-size:.95rem}}
.svc img{width:100%;height:auto}
.legal{max-width:780px;padding-top:56px;padding-bottom:80px}
.legal h1{font-size:clamp(1.9rem,4.5vw,2.8rem);margin:24px 0 8px}
.legal h2{font-size:1.2rem;margin:36px 0 10px}
.legal p,.legal li{color:#444;margin-bottom:10px;font-size:1rem}
.legal ul{padding-left:22px;margin-bottom:10px}
.legal .upd{color:var(--tx2)}
.legal .back{margin-top:48px;display:flex;gap:12px;flex-wrap:wrap}
.legal a:not(.btn){text-decoration:underline}
.todo{background:#fff6d6;padding:0 3px}
