:root{--bg:#16181a;--panel:#1f2225;--ink:#e9e6df;--mut:#a7a39b;--acc:#f5b700;--earth:#b07a4f;--moss:#5d6b4a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--acc)}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;z-index:9;background:rgba(22,24,26,.92);backdrop-filter:blur(8px);border-bottom:1px solid #2b2f33}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.2rem}
.brand b{color:var(--acc)}.logo{height:52px;width:auto;display:block}.foot-logo{height:56px;width:auto;margin-bottom:6px}
.links{display:flex;gap:24px;align-items:center}.links a{color:var(--ink);text-decoration:none;font-weight:500}
.menu{display:none;background:none;border:0;color:var(--ink);font-size:1.6rem}
.btn{display:inline-block;background:var(--acc);color:#16181a!important;font-weight:700;padding:14px 26px;border-radius:8px;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn.sm{padding:9px 16px}.btn.ghost{background:transparent;color:var(--ink)!important;border:2px solid var(--earth)}
.hero{padding:110px 0 100px;background:radial-gradient(circle at 80% 20%,rgba(245,183,0,.16),transparent 45%),linear-gradient(180deg,#1b1e21,#16181a 70%,#241c15)}
.eyebrow{color:var(--earth);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.85rem}
h1{font-size:clamp(2.3rem,6vw,4.2rem);line-height:1.08;margin:.3em 0}h1 span{color:var(--acc)}
.lead{font-size:1.2rem;color:var(--mut);max-width:620px}.cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 18px}
.fine{color:var(--mut);font-size:.9rem}
.sec{padding:84px 0}.sec.alt{background:var(--panel);border-top:3px solid var(--moss)}
h2{font-size:clamp(1.8rem,4vw,2.5rem);margin:0 0 .3em}.sub{color:var(--mut);margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:32px}
.card{background:var(--panel);border:1px solid #2e3236;border-radius:12px;padding:24px;transition:.2s}
.card:hover{border-color:var(--acc);transform:translateY(-3px)}.card h3{margin:.4em 0}.card p{color:var(--mut);margin:0}.ic{font-size:1.8rem}
.area{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.cities{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cities li{background:var(--bg);border-left:4px solid var(--acc);padding:12px 14px;border-radius:6px;font-weight:600}
.map{width:100%;max-width:360px}
.why>div{border-top:3px solid var(--earth);padding-top:14px}.why p{color:var(--mut)}
.quote{display:grid;grid-template-columns:1fr 1.3fr;gap:40px}
form{background:var(--bg);padding:28px;border-radius:12px;border:1px solid #2e3236;display:grid;gap:14px}

label{display:grid;gap:6px;font-weight:600;font-size:.92rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,select,textarea{background:#24282b;border:1px solid #3a3f44;color:var(--ink);padding:11px;border-radius:7px;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc)}.out{color:var(--acc);margin:0;min-height:1em}
.foot{background:#111315;padding:40px 0 20px;color:var(--mut);font-size:.92rem}.foot-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot strong{color:var(--ink)}.copy{margin-top:24px;font-size:.82rem}
@media(max-width:760px){.menu{display:block}.links{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;background:var(--bg);padding:20px;border-bottom:1px solid #2b2f33}
.links.open{display:flex}.area,.quote,.row{grid-template-columns:1fr}.cities{grid-template-columns:1fr 1fr}.hero{padding:70px 0}.sec{padding:60px 0}}
/* services: 5 cards, balanced */
#services .grid{display:flex;flex-wrap:wrap;justify-content:center}
#services .card{flex:0 1 calc((100% - 40px)/3);min-width:240px}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.shot{margin:0;background:var(--bg);border-radius:12px;overflow:hidden;border:1px solid #2e3236}
.shot button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.shot img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .3s}

.shot:hover img{transform:scale(1.04)}
.shot figcaption{padding:10px 14px;font-size:.9rem;color:var(--mut)}
.lb{position:fixed;inset:0;z-index:50;background:rgba(10,11,12,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.lb[hidden]{display:none}.lb img{max-width:100%;max-height:82vh;border-radius:8px}.lb p{color:var(--ink);margin-top:12px}
.lb-x{position:absolute;top:14px;right:20px;background:none;border:0;color:var(--ink);font-size:2.4rem;cursor:pointer}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}#services .card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}#services .card{flex-basis:100%}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.out.err{color:#ff8a7a}
