:root{--bg:#FAFAF7;--card:#fff;--ink:#111111;--mute:#6E6E6A;--line:#E3E1DB;--sea:#111111;--sea2:#333333;--sand:#EFEDE7;--warn:#8A5A2B;--r:2px;--sh:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.65 Manrope,system-ui,-apple-system,Segoe UI,sans-serif}
a{color:inherit}img{max-width:100%;display:block}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}b,strong{font-weight:600}
h1{font-size:clamp(44px,8vw,92px)}h2{font-size:clamp(30px,4.5vw,48px)}h3{font-size:26px}
em{font-style:italic;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.hdr{position:sticky;top:0;z-index:50;background:rgba(250,250,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:64px}
.logo{display:flex;align-items:center;text-decoration:none;color:var(--ink)}.logo svg{height:22px;width:auto}
.nav{display:flex;gap:22px;flex:1}.nav a{text-decoration:none;color:var(--mute);font-weight:400;font-size:13px;letter-spacing:.12em;text-transform:uppercase}.nav a:hover,.nav a.on{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:0;padding:14px 26px;font:500 12px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none;background:var(--sea);color:#fff;transition:.15s}
.btn:hover{background:var(--sea2)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn.ghost:hover{background:#fff}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:0;width:42px;height:42px;font-size:20px;cursor:pointer}
@media(max-width:820px){.nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg);padding:16px 20px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.burger{display:block}.hdr .btn{display:none}}
section{padding:72px 0}.lead{font-size:19px;color:var(--mute);max-width:640px}
.hero{padding:96px 20px 56px;text-align:center}.kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin:0 0 24px}.hero .lead{margin:0 auto 28px}
.grid{display:grid;gap:18px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.g3,.g2,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh)}
.entry{display:flex;flex-direction:column;min-height:220px;text-decoration:none}.entry p{color:var(--mute);flex:1}.entry .go{font-weight:600;color:var(--sea)}
.entry.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.entry.dark p{color:#B9C4C0}.entry.dark .go{color:#fff}.entry .go{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.idx{font:400 14px 'Cormorant Garamond',serif;color:var(--mute);margin-bottom:28px}.entry.dark .idx{color:#999}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.dark{background:var(--ink);color:#fff}section.dark .lead{color:#A8A8A4}section.dark .card{background:#1A1A1A;border-color:#2A2A2A;color:#EDEDEA}section.dark .num{color:#fff}
.num{font:400 34px 'Cormorant Garamond',serif;color:var(--ink);margin-bottom:10px}
.muted{color:var(--mute)}.small{font-size:14px}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:0;background:var(--sand);color:var(--ink);letter-spacing:.06em}.tag.demo{background:#F3ECE2;color:var(--warn)}
.steps{counter-reset:s}.steps li{list-style:none;counter-increment:s;position:relative;padding:0 0 22px 52px}.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--ink);background:transparent;color:var(--ink);display:grid;place-items:center;font:400 17px 'Cormorant Garamond',serif}
.dist{text-decoration:none;display:block}.dist b{display:block;font-size:18px}.dist span{color:var(--mute);font-size:14px}
.proj{padding:0;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}.proj .ph{aspect-ratio:16/10;background:#EDEBE5;overflow:hidden}.proj .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.proj:hover .ph img{transform:scale(1.04)}
.proj .bd{padding:18px}.proj .price{font:500 24px 'Cormorant Garamond',serif}.proj .meta{color:var(--mute);font-size:14px;margin:6px 0}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
select,input,textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);width:100%}
.filters select{width:auto}
label{display:block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.form{display:grid;gap:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1px solid var(--line);background:#fff;border-radius:0;padding:10px 18px;font:400 14px Manrope;cursor:pointer}.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ok{padding:18px;background:var(--sand);color:var(--ink);font-weight:500}
.ftr{border-top:1px solid var(--line);padding:40px 0 100px;color:var(--mute);font-size:14px}.ftr .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.ftr a{text-decoration:none;margin-right:16px}
.fab{position:fixed;right:18px;bottom:18px;z-index:40}
@media(max-width:600px){.fab{left:12px;right:12px;bottom:12px}.fab .btn{width:100%}}
.consent{position:fixed;left:18px;bottom:18px;z-index:60;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:0;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,.08);font-size:14px}.consent .row{display:flex;gap:8px;margin-top:12px}.consent .btn{padding:9px 16px;font-size:14px}
@media(max-width:600px){.consent{left:12px;right:12px;bottom:12px;max-width:none}}
table{width:100%;border-collapse:collapse;font-size:15px}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}th{color:var(--mute);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.tbl{overflow-x:auto}
#map{height:calc(100vh - 64px);min-height:480px}
.bar{height:2px;border-radius:0;background:var(--line);overflow:hidden}.bar i{display:block;height:100%;background:var(--sea)}
.leaflet-container img{max-width:none!important}

/* страница проекта */
.pj-hero{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:min(62vh,560px);margin:18px 0 28px}
.pj-hero img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;background:#EDEBE5}
.pj-hero img:first-child{grid-row:1/3}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:#DDD;border:1px solid #DDD;margin:0 0 32px}
.facts div{background:#fff;padding:14px 16px}.facts b{display:block;font:500 20px 'Cormorant Garamond',serif}.facts span{font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.08em}
.pj-sec{margin:44px 0}.pj-sec h2{margin-bottom:14px}
.txt p{max-width:760px;line-height:1.7}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{border:1px solid #CCC;padding:6px 12px;font-size:13px}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.thumbs figure{margin:0}.thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in;background:#EDEBE5}
.thumbs.plans img{object-fit:contain;background:#fff;border:1px solid #E5E5E5}
.thumbs figcaption{font-size:12px;color:#777;margin-top:4px}
.pay{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 18px}.pay div{border:1px solid #DDD;padding:10px 12px;min-width:120px}.pay b{font:500 22px 'Cormorant Garamond',serif;display:block}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:grid;place-items:center;z-index:100}
.lb img{max-width:94vw;max-height:88vh;object-fit:contain}.lb .x{position:absolute;top:14px;right:20px;color:#fff;font-size:34px;background:none;border:0;cursor:pointer}
.lb .nv{position:absolute;top:50%;color:#fff;font-size:44px;background:none;border:0;cursor:pointer;padding:20px}.lb .pv{left:6px}.lb .nx{right:6px}
.lb .cp{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#ccc;font-size:13px}
@media(max-width:760px){.pj-hero{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.pj-hero img{aspect-ratio:4/3}.pj-hero img:not(:first-child){display:none}}

/* v3: статические страницы, мессенджеры, формы */
.page{padding:32px 20px 40px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.h2{font-size:clamp(34px,5vw,56px)}.h3{font-size:26px}
.crumbs{font-size:13px;color:var(--mute);margin:0 0 18px}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.proj h3{margin:10px 0 4px}
.hdr .hmsg{display:flex;gap:6px}
.msg{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--ink);padding:10px 16px;font:500 12px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:#fff}
.msg svg{width:18px;height:18px}.msg:hover{background:var(--ink);color:#fff}
.msg.ic{padding:0;width:38px;height:38px;justify-content:center;border-color:var(--line)}.msg.ic span{display:none}
.msg.round{width:54px;height:54px;padding:0;justify-content:center;border-radius:50%;border:0;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.18)}.msg.round span{display:none}.msg.round svg{width:26px;height:26px}
.msg.round.wa{background:#1FAF55}.msg.round.tg{background:#229ED9}
.fab{display:flex;gap:10px;flex-direction:column;align-items:flex-end}
@media(max-width:600px){.fab{flex-direction:row;justify-content:flex-end;left:auto}}
@media(max-width:820px){.hdr .hmsg{margin-left:auto}}
.lead-form,.form.lead{gap:12px}
.via{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.via legend{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 6px;padding:0}
.via label{margin:0;letter-spacing:normal;text-transform:none;font-size:14px;color:var(--ink);font-weight:400}
.via input{position:absolute;opacity:0;width:1px;height:1px}.via span{display:inline-block;border:1px solid var(--line);padding:9px 16px;cursor:pointer;background:#fff}
.via input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.via input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.or{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:14px}.or>span{font-size:13px;color:var(--mute);width:100%}
.pj-main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
.pj-main aside{position:sticky;top:84px}
@media(max-width:900px){.pj-main{grid-template-columns:1fr}.pj-main aside{position:static}}
.txt h2{font-size:clamp(26px,3.4vw,36px);margin-top:1.4em}.hl{padding-left:20px}.hl li{margin:6px 0}
.tb{padding:4px 16px;overflow-x:auto}td.r{text-align:right}
.pj-sec h3{margin:18px 0 8px}
.pj-sec video{width:100%;max-width:900px;display:block;margin-bottom:10px;background:#000}
details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:500}
.faq{margin:48px 0;max-width:860px}.faq p{margin:10px 0 0;color:var(--mute)}
.seo{margin:48px 0 0}.cta{padding:48px 0 0;max-width:560px}
.pay h3{margin:0}
.ftr .fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.ftr .fcols>div>a{display:block;margin:4px 0}.ftr b{display:block;color:var(--ink);font-weight:500;margin-bottom:8px}
.ftr .logo svg{height:18px;margin-bottom:12px}.fmsg{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fbot{margin-top:28px}
@media(max-width:760px){.ftr .fcols{grid-template-columns:1fr}}
.mapwrap #map{height:calc(100vh - 64px)}
.steps{padding:0;margin:0}
.page h1{font-size:clamp(36px,5.5vw,64px)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
