
:root{--bg:#161616;--surface:#212121;--line:#3a3a3a;--text:#f1f1ee;--muted:#c4c4be;--accent:#f4f23a;--on-accent:#161616;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 Onest,system-ui,"Segoe UI",Arial,sans-serif;-webkit-text-size-adjust:100%}
a{color:inherit}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
section{padding:72px 0;border-top:1px solid var(--line)}
.lead{color:var(--muted);font-size:1.1rem}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);font:700 1rem Onest,sans-serif;text-decoration:none;border:0;padding:14px 26px;cursor:pointer;border-radius:4px}
.btn:hover{filter:brightness(.92)}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header .wrap{display:flex;align-items:center;gap:24px;height:64px}
.logo{font-weight:700;font-size:1.25rem;text-decoration:none;letter-spacing:-.02em}
.logo b{color:var(--accent)}
nav{display:flex;gap:20px;margin-left:auto}
nav a{text-decoration:none;color:var(--muted);font-size:.95rem}
nav a:hover{color:var(--text)}
.tel{font-weight:500;text-decoration:none;white-space:nowrap}
.hero{position:relative;padding:72px 0 80px;border-top:0;overflow:hidden}
.hero::before{display:none;content:"";position:absolute;inset:0;background-image:radial-gradient(var(--accent) 1.2px,transparent 1.4px);background-size:22px 22px;opacity:.16;-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000);mask-image:linear-gradient(100deg,transparent 35%,#000)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center}
.shot{width:100%;height:100%;max-height:640px;min-height:360px;object-fit:cover;border-radius:4px;display:block}
.hero .lead{max-width:52ch}
form{background:var(--surface);border:1px solid var(--line);padding:26px;border-radius:6px}
form h3{margin-bottom:14px}
label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:12px}
input,textarea{width:100%;margin-top:5px;padding:12px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:4px;font:inherit}
textarea{min-height:84px;resize:vertical}
form .btn{width:100%}
.note{font-size:.82rem;color:var(--muted);margin:10px 0 0}
.ok{display:none;color:var(--accent);font-weight:500;margin-top:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stats div{padding:6px 20px;border-left:3px solid var(--accent)}
.stats strong{display:block;font-size:1.9rem;line-height:1.2}
.stats span{color:var(--muted);font-size:.95rem}
.grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:28px}
.card{background:var(--surface);border-left:4px solid var(--accent);padding:22px}
.card p{color:var(--muted);margin:0;font-size:.97rem}
.cases{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.info h3{margin:1.4em 0 .5em;font-size:1.05rem}
.info ul{margin:0;padding-left:1.1em;color:var(--muted)}
.info li{margin-bottom:.35em}
.info ol{list-style:none;margin:0;padding:0;counter-reset:n}
.info ol li{counter-increment:n;display:flex;gap:12px;color:var(--muted);margin-bottom:.7em}
.info ol li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700;display:grid;place-items:center;font-size:.9rem}
.feature{background:var(--surface);border:1px solid var(--accent);border-left-width:6px;padding:32px;margin-top:28px;display:grid;grid-template-columns:1.2fr 1fr;gap:12px 40px;align-items:start}
.feature h3{font-size:1.5rem;margin-bottom:.4em}
.feature p{color:var(--muted)}
.feature ul{margin:0;padding-left:1.1em;color:var(--muted)}
.feature li{margin-bottom:.35em}
.tag{display:inline-block;color:var(--accent);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.case{background:var(--surface);border:1px solid var(--line)}
.ph{aspect-ratio:16/10;display:grid;place-items:center;color:var(--muted);font-size:.85rem;background:repeating-linear-gradient(45deg,#1b1b1b 0 12px,#202020 12px 24px)}
.case{margin:0}
.th{display:block;width:100%;padding:0;border:0;background:#111;cursor:zoom-in;position:relative}
.th img{display:block;width:100%;height:auto;aspect-ratio:16/10}
.th::after{content:"\1F50D";position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.6);border-radius:4px;padding:2px 7px;font-size:.9rem}
.th:hover img{filter:brightness(1.08)}
#lb{border:0;padding:0;background:#0d0d0d;color:var(--text);width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh}
#lb[open]{display:flex;flex-direction:column}
#lb::backdrop{background:#000}
.lbbar{display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--line)}
#lbcap{flex:1;font-size:.95rem}
.lbbar button,.nav{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px;font:inherit;cursor:pointer;min-width:44px;min-height:44px}
.lbbox{flex:1;overflow:auto;display:flex;padding:8px}
#lbimg{margin:auto;max-width:100%;max-height:100%;cursor:zoom-in;display:block}
#lbimg.zoom{max-width:none;max-height:none;cursor:zoom-out}
.nav{position:absolute;top:50%;transform:translateY(-50%);font-size:1.6rem;opacity:.85}
.prev{left:10px}.next{right:10px}
[hidden]{display:none!important}
.legal{display:none;font-size:.93rem;color:var(--muted)}
.legal:target{display:block}
.lv main>section:not(:target){display:none}
.legal h2{color:var(--text);font-size:1.5rem}
.legal h3{color:var(--text);font-size:1rem;margin:1.4em 0 .4em}
.legal p{max-width:80ch;margin:0 0 .7em}
.legal a{color:var(--accent)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted);margin:4px 0 14px}
.chk input{width:auto;margin:3px 0 0;flex:none;accent-color:var(--accent)}
.more{margin-top:28px}
.case div.t{padding:16px 18px}
.case p{margin:0;color:var(--muted);font-size:.93rem}
.case b{color:var(--accent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.steps li{counter-increment:s;border-top:3px solid var(--accent);padding-top:14px}
.steps li::before{content:counter(s);display:block;font-size:1.6rem;font-weight:700;color:var(--accent)}
.steps p{color:var(--muted);font-size:.95rem;margin:0}
.fmt{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.fmt span{border:1px solid var(--line);padding:4px 12px;border-radius:99px;font-size:.9rem}
.price{background:var(--surface);border:1px solid var(--accent);padding:32px;display:grid;grid-template-columns:auto 1fr;gap:12px 40px;align-items:center}
.price strong{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--accent);line-height:1}
.price ul{margin:0;padding-left:1.1em;color:var(--muted)}
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:500;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:12px 0 0;color:var(--muted)}
.contacts{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
@media(max-width:900px){
.hero .wrap,.two{grid-template-columns:1fr;gap:32px}
.shot{max-height:340px}
.grid,.cases{grid-template-columns:1fr 1fr}
.stats,.steps{grid-template-columns:1fr 1fr;gap:24px 0}
.feature{grid-template-columns:1fr;padding:24px}
.steps{gap:24px 18px}
nav{display:none}.tel{margin-left:auto}
}
@media(max-width:600px){
section{padding:52px 0}
.grid,.cases{grid-template-columns:1fr}
.price{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.th img{object-fit:cover}
.actions{display:flex;flex-wrap:wrap;gap:12px}
