
:root{--bg:#080b11;--panel:#111827;--txt:#eef2ff;--muted:#a8b3c7;--blue:#1463e5;--teal:#16a394;--amber:#f4b84a}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(#0d1117,#080b11);color:var(--txt);font:16px Arial}
.wrap{width:min(1180px,92%);margin:auto;padding:50px 0}
header{position:sticky;top:0;z-index:10;background:#080b11ee;border-bottom:1px solid #1f2937;backdrop-filter:blur(8px)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:10px 0}
.logo{height:70px}.nav nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav a{color:#fff;text-decoration:none}
.config-menu{position:relative;display:inline-flex;align-items:center;background:transparent;border:0;padding:0;border-radius:0}.config-menu summary{list-style:none;cursor:pointer;color:#fff}.config-menu summary::-webkit-details-marker{display:none}.config-menu-list{display:none;position:absolute;top:100%;left:0;min-width:245px;background:#111827;border:1px solid #243244;border-radius:8px;padding:8px;box-shadow:0 20px 50px #0008}.config-menu:hover > .config-menu-list,.config-menu[open] > .config-menu-list{display:block}.config-menu-list a{display:block;padding:10px 12px;border-radius:6px;white-space:nowrap;color:#e5edff}.config-menu-list a:hover{background:#172235}
.hero{min-height:60vh;display:flex;align-items:center}
.hero > div{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.hero-with-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:34px;align-items:center}.hero-visual{margin:0}.hero-visual img{display:block;width:100%;max-height:450px;aspect-ratio:640/900;object-fit:cover;object-position:center;border-radius:8px;border:1px solid #243244;box-shadow:0 24px 80px #0008}
h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:0}h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-top:0}p{color:var(--muted);line-height:1.6}.hero p{max-width:820px;font-size:1.15rem}
.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);padding:14px 22px;border-radius:8px;color:#fff;text-decoration:none;border:0;cursor:pointer;font-weight:700}.btn.secondary{background:var(--teal)}.btn.ghost{background:transparent;border:1px solid #334155}.btn.danger{background:#b91c1c}.btn:hover{filter:brightness(1.08)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
article,details,.form{background:var(--panel);padding:20px;border-radius:8px;border:1px solid #243244}.nav .config-menu{background:transparent;border:0;padding:0;border-radius:0}
.section-head{display:grid;gap:8px;max-width:760px}.section-head p{margin-top:0}.generator-card{display:flex;flex-direction:column;gap:10px}.generator-card .btn{margin-top:auto}.tag{width:max-content;max-width:100%;display:inline-flex;background:#162b33;color:#8ff0dc;border:1px solid #235a63;padding:6px 10px;border-radius:999px;font-size:.85rem}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.steps article{position:relative}.steps article:before{counter-increment:step;content:counter(step);display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:var(--amber);color:#10131a;font-weight:700}.page-hero{display:grid;gap:18px;min-height:42vh;align-content:center}.page-hero p{max-width:850px;font-size:1.1rem}.page-hero-media{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:34px}.hero-media{margin:0}.hero-media img{display:block;width:100%;aspect-ratio:1672/941;object-fit:cover;border-radius:8px;border:1px solid #243244;box-shadow:0 24px 80px #0008}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}.notice,.legal{border-left:4px solid var(--amber);background:#141b25;padding:16px 18px;border-radius:8px;color:#d7deea}.mini-form label{display:grid;gap:8px;color:#d7deea}.mini-form .hint{font-size:.9rem;color:#94a3b8}
.slider{display:flex;align-items:center;gap:10px}
.slider img{width:100%;max-height:550px;object-fit:contain;background:#000;border-radius:18px}
.slider button{font-size:2rem;background:none;color:#fff;border:0;cursor:pointer}
#thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:15px}
#thumbs img{width:100%;height:100px;object-fit:cover;border-radius:10px;cursor:pointer}
.portfolio-view img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.portfolio-view #slide{pointer-events:none}.portfolio-view #thumbs img.active{outline:2px solid var(--blue);outline-offset:2px}
.socials{display:flex;gap:15px;flex-wrap:wrap}
.socials a{background:var(--panel);padding:12px 18px;border-radius:12px;color:#fff;text-decoration:none}
.form{display:grid;gap:10px;margin-top:20px}.form input,.form textarea,.form select{width:100%;padding:12px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#fff}.form textarea{min-height:120px;resize:vertical}
footer{text-align:center;padding:30px;color:#94a3b8}.footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}.footer-links a{color:#dbeafe;text-decoration:none}
#faq details,#faq details p{cursor:default}#faq summary{cursor:pointer}#faq a{cursor:pointer}
.notice.error{border-left-color:#ef4444}.admin-form{max-width:560px}.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,190px));gap:14px;align-items:start}.admin-gallery article{display:grid;gap:8px;padding:10px}.admin-gallery img{width:100%;height:110px;object-fit:cover;border-radius:8px;background:#000}.admin-gallery .broken-image img{object-fit:contain;background:#111827;border:1px dashed #475569}.admin-gallery .broken-image:before{content:"Файл не читается";color:#fca5a5;font-size:.82rem}.admin-gallery p{margin:0;word-break:break-word;font-size:.82rem;line-height:1.3}.admin-gallery .btn{padding:10px 12px;width:100%;font-size:.9rem}
@media(max-width:900px){.page-hero-media,.hero-with-media{grid-template-columns:1fr}.hero-media{order:-1}.hero-visual{order:-1}.hero-visual img{aspect-ratio:16/9;object-position:center}}
@media(max-width:760px){.nav{align-items:flex-start;gap:14px}.logo{height:56px}.nav nav{gap:12px;font-size:.95rem}.config-menu{display:grid}.config-menu[open] .config-menu-list{display:block}.config-menu-list{position:static;min-width:0;margin-top:6px;padding:6px}.config-menu-list a{white-space:normal}.two-col{grid-template-columns:1fr}.wrap{padding:34px 0}.hero{min-height:auto}.actions .btn{width:100%}}
