
:root{--ink:#213447;--accent:#267d80;--muted:#64737e;--line:#e2e9e8;--bg:#f7faf9;--sand:#dce9e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(1200px,calc(100% - 46px));margin:auto}.top{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:800;letter-spacing:.03em;font-size:16px}.brand span{color:var(--accent)}.navlinks{display:flex;gap:28px;align-items:center;font-size:14px}.navlinks a:hover{color:var(--accent)}.btn{border:0;border-radius:7px;background:var(--accent);color:#fff;display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;font-weight:700;text-align:center}.btn:hover{background:#1d6669}.btn.outline{background:white;border:1px solid #b6ccca;color:var(--ink)}.btn.sm{padding:10px 17px;font-size:14px}.hero{background:#eaf2f1;padding:84px 0 90px}.hero .eyebrow,.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:700;text-transform:uppercase;color:#527f82}.hero h1{font-size:clamp(43px,6.1vw,78px);line-height:1.06;letter-spacing:-.04em;margin:24px 0;max-width:740px}.hero p{max-width:600px;font-size:19px;color:#536570;margin:0 0 25px}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:75px 0}.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:12px}h2{font-size:clamp(30px,3.5vw,47px);line-height:1.17;letter-spacing:-.025em;margin:10px 0 15px}h3{font-size:24px;line-height:1.22;margin:0 0 12px}.intro{max-width:750px;color:var(--muted);margin:0 0 30px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.card img{height:275px;width:100%;object-fit:cover}.cardcontent{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}.cardcontent p{color:var(--muted);margin:0}.cardcontent .bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.price{color:#2b6f70;font-weight:700}.workflow{background:#f3f7f6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.step{background:#fff;border:1px solid var(--line);padding:28px;border-radius:12px}.number{font-size:38px;font-weight:800;color:#7ab0ab;line-height:1;margin-bottom:20px}.step p{margin:0;color:var(--muted)}.contact{background:#eaf2f1}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact p{color:#526772}.form{background:white;padding:28px;border:1px solid var(--line);border-radius:12px}.form input,.form textarea{display:block;width:100%;border:1px solid #cbd9d6;border-radius:6px;padding:13px 15px;margin-bottom:12px;background:#fff}.form label{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}.form label input{width:auto;margin-top:4px}.form a{text-decoration:underline}.notice{font-size:13px;color:#6a777b}.footer{background:#203843;color:#fff;padding:35px 0;font-size:13px}.footer a{text-decoration:underline}.pagehead{background:#eaf2f1;padding:54px 0}.breadcrumb{color:#557579;font-size:14px;margin-bottom:10px}.pagehead p{max-width:810px;color:#526772;margin:0}.objecthero{width:100%;max-height:560px;object-fit:cover;object-position:center 42%;border-radius:12px;margin:26px 0}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.tab{border:1px solid #cbdedb;background:white;color:#325d60;border-radius:30px;padding:9px 15px}.tab.active{background:#286f71;color:#fff}.lotgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.lot{border:1px solid var(--line);border-radius:12px;overflow:hidden}.lot>img{width:100%;height:225px;object-fit:cover}.lotbody{padding:20px}.lotbody p{color:var(--muted)}.tags{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tag{font-size:12px;color:#47686c;background:#eaf2ef;border-radius:12px;padding:5px 9px}.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.thumbs button{border:0;background:none;padding:0}.thumbs img{width:82px;height:67px;object-fit:cover;border-radius:5px;cursor:zoom-in;border:1px solid #d3e1dd}.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.plan{border:1px solid var(--line);border-radius:12px;overflow:hidden}.plan img{width:100%;height:340px;object-fit:contain;padding:12px;cursor:zoom-in}.plan div{padding:14px 17px;border-top:1px solid var(--line)}.plan p{color:var(--muted);margin:4px 0}.back{margin:25px 0}.modal{position:fixed;inset:0;background:rgba(7,17,21,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:60px 52px}.modal.show{display:flex}.modal img{max-width:100%;max-height:85vh;object-fit:contain}.modal button{position:absolute;background:#fff;border:0;border-radius:50%;width:40px;height:40px;font-size:25px;top:14px;right:18px}.modal .prev,.modal .next{top:50%;transform:translateY(-50%)}.modal .prev{left:10px;right:auto}.modal .next{right:10px}@media(max-width:800px){.wrap{width:min(100% - 30px,1200px)}.hero{padding:65px 0}.cards,.steps,.contactgrid,.lotgrid,.plans{grid-template-columns:1fr}.card img{height:220px}.section{padding:52px 0}}

.hero-carousel,.lotmedia{position:relative}.hero-carousel .objecthero,.lotmedia img{display:block}.carouselbtn,.lotbtn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:26px;line-height:1;color:#24474a;display:flex;align-items:center;justify-content:center;z-index:3}.carouselbtn:hover,.lotbtn:hover{background:#fff}.carouselbtn.prev,.lotbtn.prev{left:14px}.carouselbtn.next,.lotbtn.next{right:14px}.carouselcount,.lotcount{position:absolute;left:14px;bottom:14px;background:rgba(33,52,71,.78);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;z-index:3}.hero-carousel img,.lotmedia img{cursor:pointer}.lotmedia img{width:100%;height:225px;object-fit:cover}.lot{overflow:hidden}.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.thumbs button{border:0;background:none;padding:0;opacity:.9;transition:.2s}.thumbs button:hover{opacity:1;transform:translateY(-1px)}.thumbs img{width:82px;height:67px;object-fit:cover;border-radius:5px;cursor:pointer;border:1px solid #d3e1dd}.galleryhint{font-size:12px;color:#6d7d81;margin:-10px 0 14px}
/* Readability tuning */
body{line-height:1.8}p{line-height:1.85}h1,h2,h3,h4{line-height:1.3} .lotbody p,.intro,.pagehead p,.plan p,.legal p{line-height:1.9} .lotbody{line-height:1.8}.lotgrid{row-gap:26px}.thumbs{margin-top:16px}.tags{margin:14px 0}.plan{padding-bottom:18px}

/* Contacts and callback */
.contactphones{display:flex;flex-direction:column;gap:1px;align-items:flex-end;line-height:1.25;white-space:nowrap}.mainphone{font-weight:800;font-size:22px;color:#173e47}.cellphone{font-size:15px;color:#456b70}.contactphones a:hover{text-decoration:underline}.callback-section{padding:34px 0;background:#f6faf9;border-bottom:1px solid #e2e9e8}.callback-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.callback-grid h2{font-size:clamp(28px,3vw,40px)}.callback-grid p{color:var(--muted)}.callback-form{display:grid;gap:10px;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff}.callback-form>label:not(.consent-line){font-weight:700;font-size:14px}.callback-form>input{border:1px solid #cbd9d6;border-radius:7px;padding:13px 15px;width:100%}.consent-line{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;color:#536570}.consent-line input{margin-top:4px;flex-shrink:0}.consent-line a{text-decoration:underline}.callback-form .btn{width:100%}.honeypot{display:none!important}.contact a[href^="tel"],.contact a[href^="mailto"]{text-decoration:underline}@media(max-width:1050px){.mainphone{font-size:19px}}@media(max-width:690px){.nav{flex-wrap:wrap;min-height:80px;padding:10px 0;gap:8px}.brand{font-size:13px}.contactphones{order:3;width:100%;flex-direction:row;align-items:center;justify-content:space-between}.mainphone{font-size:17px}.cellphone{font-size:13px}.nav .btn.sm{font-size:12px;padding:8px}.callback-grid{grid-template-columns:1fr;gap:14px}.callback-section{padding:32px 0}}

/* Mobile navigation — checkbox-driven, no inline JS/CSS-in-HTML needed,
   works under a strict CSP. Replaces the old display:none-with-no-replacement
   behaviour where the nav links simply vanished below 1050px. */
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border-radius:7px;cursor:pointer;order:5}
.nav-burger span{display:block;width:20px;height:2px;background:var(--ink);margin:0 auto;transition:.2s}
@media(max-width:1050px){
  .nav-burger{display:flex}
  .navlinks{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(20,40,50,.08);padding:10px 23px 18px;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .22s ease}
  .navlinks a{padding:10px 0;width:100%}
  .nav-toggle:checked ~ .navlinks{max-height:260px;visibility:visible}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .top{position:sticky}
  .nav{position:relative}
}

/* Compact callback form in the hero: collapsed on initial load */
.hero .wrap{position:relative}
.quick-request{margin-top:18px;max-width:470px;position:relative;z-index:3}
.quick-request>summary{list-style:none;display:inline-flex;align-items:center;gap:22px;background:#fff;border:1px solid #b9d1cc;border-radius:9px;padding:12px 18px;color:#174d58;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #1c3c4410}
.quick-request>summary::-webkit-details-marker{display:none}
.quick-request[open]>summary span{transform:rotate(180deg)}
.quick-request-panel{background:#fff;border:1px solid #d6e3df;border-radius:13px;padding:18px 20px;box-shadow:0 14px 40px #233f4330;margin-top:10px;color:#233d48}
.quick-request-panel h2{font-size:21px;line-height:1.3;margin:0 0 6px}
.quick-request-panel p{font-size:14px;line-height:1.5;margin:0 0 12px;color:#546871}
.quick-request-panel .callback-form{box-shadow:none;padding:0;border:0;gap:8px}
.quick-request-panel .callback-form label{color:#243d48}
.quick-request-panel .callback-form .consent-line{font-size:12px;line-height:1.55}
@media(max-width:700px){.quick-request{max-width:100%}.quick-request-panel{padding:14px}}

.hero .actions{align-items:flex-start}.hero .actions .quick-request{margin-top:0}.hero .actions .quick-request>summary{min-height:48px;box-sizing:border-box}

/* Показываем полный фасад, без обрезки здания по высоте. */
.bel-building-gallery {background:#eaf2f1;border-radius:12px;overflow:hidden;margin:26px 0;}
.bel-building-gallery .objecthero {height:590px;max-height:none;object-fit:contain;object-position:center;margin:0;display:block;}
@media(max-width:700px){.bel-building-gallery .objecthero{height:440px}}

.object-description {background:#f7faf9;} .object-description .wrap {max-width:1120px;} .object-description h2 {margin:0 0 22px;} .object-description .object-copy {max-width:980px;line-height:1.82;font-size:1.08rem;color:#425365;margin:0 0 16px;}

/* Legal pages (privacy/consent) — now share the site header/footer and the
   teal/mint palette instead of their old standalone dark-green/gold template. */
.legal-page{background:#fff}
.legal-page .wrap{max-width:860px}
.legal-page h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:0 0 22px}
.legal-page h2{font-size:21px;margin:34px 0 12px}
.legal-page p{color:#425365;margin:0 0 14px}
.legal-page .updated{color:var(--muted);font-size:13px;margin-bottom:28px}
.legal-page .back-link{display:inline-block;margin-bottom:22px;color:var(--accent);font-weight:700}

/* Minimal error pages */
.error-page{text-align:center;padding:120px 0}
.error-page h1{font-size:clamp(32px,5vw,56px);margin:0 0 14px}
.error-page p{color:var(--muted);margin:0 0 26px}

.form-error{background:#fdeceb;color:#9c3b2f;border:1px solid #f3c9c3;border-radius:8px;padding:10px 13px;font-size:13px;margin:0 0 12px}
.form-success{background:#eaf6ef;color:#216a46;border:1px solid #bfe3cd;border-radius:8px;padding:10px 13px;font-size:13px;margin:0 0 12px}

.cta-section{text-align:center}
.cta-wrap{max-width:720px}
.cta-wrap .intro{max-width:none}
.cta-wrap .back{margin-top:16px}
