@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;src:url("assets/fonts/golos-text-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;src:url("assets/fonts/golos-text-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;src:url("assets/fonts/golos-text-cyrillic-500-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;src:url("assets/fonts/golos-text-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;src:url("assets/fonts/golos-text-cyrillic-700-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;src:url("assets/fonts/golos-text-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:light;--bg:#e8e8e4;--surface:#f4f4f2;--border:#bebfbc;--ink:#161b1b;--accent:#0a4875;--footer:#d3d4d0;--caption:#4f5351}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Golos Text",system-ui,sans-serif;font-size:20px;line-height:1.4}
h1,h2,h3,p,blockquote{margin:0}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap,.header-inner{width:min(100% - 64px,1376px);margin-inline:auto}
[data-vz-role="section"]{scroll-margin-top:76px}
header[data-vz-role="header"]{position:sticky;top:0;z-index:20;background:rgba(244,244,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.header-inner{height:64px;display:flex;align-items:center;gap:32px}
.header-brand{font-size:18px;font-weight:700;white-space:nowrap;margin-right:auto}
nav{display:flex;align-items:center;gap:28px}
nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:18px;font-weight:500;white-space:nowrap}
nav a:hover,[data-vz-contact]:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;font-size:18px;font-weight:500;line-height:1.2;text-align:center;white-space:nowrap}
.button:hover{background:#073a60}
.header-cta{min-height:44px;padding:10px 22px}
h1{font-size:64px;font-weight:700;line-height:1.04;letter-spacing:-.035em}
h2{font-size:57px;font-weight:700;line-height:1.08;letter-spacing:-.03em}
h3{font-size:32px;font-weight:700;line-height:1.13;letter-spacing:-.02em}
[data-vz-text-role="lead"]{font-size:24px;font-weight:400;line-height:1.35}
[data-vz-text-role="number"]{font-size:32px;font-weight:700;line-height:1.15}
.hero{padding:32px 0 64px}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:stretch}
.hero-copy{grid-column:span 6;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-lead{max-width:25ch;margin-top:28px}
.hero-price{max-width:22ch;margin-top:28px}
.hero-cta{margin-top:28px}
.hero-image{grid-column:span 6;width:100%;height:540px;object-fit:cover;object-position:center;border-radius:12px}
.services{padding:64px 0 80px;background:var(--surface)}
.services h2{max-width:19ch;margin-bottom:40px}
.services-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:stretch}
.price-list{grid-column:span 7;min-width:0}
.price-row{border-top:1px solid var(--border);padding:20px 0 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}
.price-row h3{max-width:14ch}
.price-row p{font-size:20px;white-space:nowrap;text-align:right;align-self:center}
.price-row [data-vz-text-role="number"]{color:var(--accent)}
.services-extra{border-top:1px solid var(--border);padding-top:24px;max-width:62ch}
.services-image{grid-column:span 5;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:12px}
.reviews{padding:80px 0 96px}
.reviews h2{max-width:18ch;margin-bottom:48px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.review{border-top:3px solid var(--accent);padding-top:24px;display:flex;flex-direction:column;min-height:270px}
.review blockquote{font-size:20px;line-height:1.4;max-width:38ch}
.review-author{font-size:14px;color:var(--caption);margin-top:auto;padding-top:32px}
.contacts{padding:88px 0 96px;background:var(--surface)}
.contacts h2{max-width:18ch;margin-bottom:48px}
.contacts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:stretch}
.contact-primary,.contact-details{border-top:1px solid var(--border);padding-top:24px}
.contact-primary p,.contact-primary div{font-size:20px;max-width:62ch}
.contact-primary p+div,.contact-details p+p,.contact-details p+div{margin-top:22px}
.contact-primary a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.contact-details p,.contact-details div{max-width:62ch}
.contacts-cta{margin-top:48px}
[data-vz-role="sticky-cta"]{display:none}
footer[data-vz-role="footer"]{background:var(--footer);padding:36px 0 44px}
.footer-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 32px;align-items:start}
.footer-inner p{font-size:14px;color:var(--caption);line-height:1.45}
.footer-inner div:nth-child(2) a{font-size:14px;color:var(--ink)}
.footer-inner [data-vz-role="imagery-disclaimer"]{grid-column:1/-1;max-width:62ch;margin-top:16px}
@media(max-width:1100px){
  h1{font-size:60px}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy,.hero-image{grid-column:auto}
  .hero-image{height:420px}
  .price-row{grid-template-columns:1fr;gap:6px}
  .price-row p{text-align:left}
}
@media(min-width:761px) and (max-width:900px){
  .header-inner{width:calc(100% - 32px);gap:16px}
  .header-brand{font-size:16px}
  nav{gap:16px}
  nav a,.header-cta{font-size:16px}
  .header-cta{padding:10px 12px}
}
@media(max-width:900px){
  .services-grid{grid-template-columns:1fr}
  .price-list,.services-image{grid-column:auto}
  .hero-copy{padding:16px 0}
  .hero-image{height:400px}
  .services-image{height:380px}
  .reviews-grid{gap:20px}
  .review blockquote{font-size:20px}
}
@media(max-width:760px){
  body{font-size:16px}
  .wrap,.header-inner{width:min(100% - 32px,600px)}
  [data-vz-role="section"]{scroll-margin-top:0}
  header[data-vz-role="header"]{position:static;backdrop-filter:none}
  .header-inner{height:auto;display:grid;grid-template-columns:1fr;gap:0;padding-top:8px;padding-bottom:6px}
  .header-brand{font-size:16px;line-height:24px;white-space:nowrap}
  nav{justify-content:space-between;gap:8px}
  nav a{font-size:16px;min-height:30px}
  .header-cta{display:none}
  h1{font-size:29px;line-height:1.08;letter-spacing:-.02em}
  h2{font-size:25px;line-height:1.12;letter-spacing:-.02em}
  h3{font-size:21px;line-height:1.18}
  [data-vz-text-role="lead"]{font-size:18px}
  [data-vz-text-role="number"]{font-size:22px}
  .button{min-height:48px;font-size:16px;padding:12px 20px}
  .hero{padding:20px 0 48px}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:0}
  .hero-copy{display:contents}
  .hero h1{grid-row:1;margin-bottom:16px}
  .hero-image{grid-row:2;height:auto;aspect-ratio:2.2/1;object-fit:cover;border-radius:8px}
  .hero-lead{grid-row:3;margin-top:16px;max-width:34ch}
  .hero-price{grid-row:4;margin-top:12px;max-width:28ch}
  .hero-cta{grid-row:5;margin-top:16px;justify-self:start}
  .services,.reviews,.contacts{padding:52px 0 64px}
  .services h2,.reviews h2,.contacts h2{margin-bottom:28px}
  .services-grid{gap:26px}
  .price-row{padding:16px 0;gap:6px}
  .price-row p{font-size:16px}
  .services-extra{padding-top:20px}
  .services-image{height:auto;aspect-ratio:3/2;object-fit:cover}
  .reviews-grid{grid-template-columns:1fr;gap:28px}
  .review{min-height:0;padding-top:16px}
  .review blockquote{font-size:16px}
  .review-author{padding-top:16px;font-size:14px}
  .contacts-grid{grid-template-columns:1fr;gap:30px}
  .contact-primary p,.contact-primary div{font-size:16px}
  .contact-primary p+div,.contact-details p+p,.contact-details p+div{margin-top:16px}
  .contacts-cta{margin-top:32px}
  [data-vz-role="sticky-cta"]{position:fixed;z-index:30;display:flex;bottom:12px;left:16px;right:16px;width:auto;box-shadow:0 6px 20px rgba(0,0,0,.18)}
  footer[data-vz-role="footer"]{padding:32px 0 96px}
  .footer-inner{grid-template-columns:1fr;gap:12px}
  .footer-inner [data-vz-role="imagery-disclaimer"]{grid-column:auto;margin-top:8px}
}
@media(max-width:370px){
  nav a{font-size:16px}
  .hero-image{aspect-ratio:2.8/1}
  .hero{padding-top:16px}
  .hero h1{margin-bottom:12px}
  .hero-lead{margin-top:12px}
  .hero-price{margin-top:8px}
  .hero-cta{margin-top:8px}
}
