:root{--bg:#f6f5f1;--paper:#fff;--ink:#171715;--muted:#686862;--line:#d9d8d1;--dark:#20211e;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.header{background:rgba(246,245,241,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-weight:800;letter-spacing:.04em}.logo span{display:block;font-size:11px;font-weight:400;letter-spacing:.12em;color:var(--muted);margin-top:2px}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav a{padding:8px 0}nav a:hover,.active{opacity:.55}.nav-cta{border:1px solid var(--ink);padding:11px 16px!important}.hero{padding:82px 0 100px}.hero-grid{display:grid;grid-template-columns:1fr 46%;gap:70px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--muted);margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.045em;margin-bottom:28px}h2{font-size:clamp(34px,4vw,52px);line-height:1.03;letter-spacing:-.035em;margin-bottom:22px}h3{font-size:21px;line-height:1.2;margin-bottom:9px}.lead{font-size:20px;line-height:1.45;color:#45453f;max-width:650px}.actions{display:flex;align-items:center;gap:26px;margin:34px 0 50px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:white;border:0;padding:15px 22px;font:inherit;cursor:pointer}.button:hover{opacity:.84}.text-link{border-bottom:1px solid var(--ink);padding-bottom:3px}.facts{display:flex;gap:42px}.facts div{display:grid;gap:2px}.facts strong{font-size:22px}.facts span{font-size:12px;color:var(--muted)}.image-placeholder{background:#deddd6;min-height:360px;display:grid;place-items:center;color:#77766f;letter-spacing:.12em;font-size:11px;text-align:center}.hero-image{min-height:620px}.section{padding:105px 0}.section-muted{background:#eae9e3}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}.prose{font-size:19px;max-width:650px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-image{min-height:430px;margin-bottom:18px}.project-card p{font-size:14px;color:var(--muted)}.dark{background:var(--dark);color:#f5f4ef}.dark .eyebrow{color:#aaa9a2}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:55px;background:#4a4a45}.services article{background:var(--dark);padding:35px;min-height:270px}.services span{color:#aaa9a2;font-size:12px}.services h3{font-size:28px;margin-top:55px}.services p{color:#c5c4bd}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.form{display:grid;gap:18px}.form label{display:grid;gap:7px;font-size:13px}.form input,.form textarea{width:100%;border:1px solid var(--line);background:white;padding:14px;font:inherit;resize:vertical}.form small{font-size:11px;color:var(--muted)}.footer{border-top:1px solid var(--line);padding:28px 0;font-size:12px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between}.page-hero{padding:95px 0 80px}.project-list{display:grid;gap:110px}.project-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}.large-image{min-height:570px}.project-detail dl{display:grid;grid-template-columns:150px 1fr;gap:12px 20px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:14px}.project-detail dt{color:var(--muted)}.project-detail dd{margin:0}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.button-light{background:#f5f4ef;color:var(--ink)}.principles{display:grid;gap:30px}.principles>div{border-top:1px solid var(--line);padding-top:18px}.principles strong{font-size:12px;color:var(--muted)}.principles h3{margin-top:12px}.narrow{max-width:850px;margin-left:auto;margin-right:auto}.steps{list-style:none;padding:0;margin:45px 0;counter-reset:steps}.steps li{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:20px 0;border-top:1px solid var(--line)}.steps li strong{counter-increment:steps}.steps li strong:before{content:counter(steps,decimal-leading-zero) "  ";color:var(--muted);font-weight:400}@media(max-width:850px){.nav{align-items:flex-start;padding:18px 0}.nav nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 18px}.hero{padding-top:55px}.hero-grid,.two-col,.contact,.project-detail{grid-template-columns:1fr;gap:45px}.hero-image{min-height:430px}.project-grid,.services{grid-template-columns:1fr}.project-image{min-height:360px}.large-image{min-height:400px}.section{padding:75px 0}.facts{gap:22px;flex-wrap:wrap}.section-head,.cta,.footer-row{align-items:flex-start;flex-direction:column;gap:18px}.steps li{grid-template-columns:1fr;gap:8px}.container{width:min(var(--max),calc(100% - 32px))}h1{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Услуги: четыре карточки в один ряд на любом десктопе.
   minmax(0,1fr) разрешает колонкам сжиматься уже содержимого, а переносы
   в заголовках не дают длинным словам распирать страницу по горизонтали. */
@media(min-width:851px){.services{grid-template-columns:repeat(4,minmax(0,1fr))}}
.services h3{overflow-wrap:break-word;hyphens:auto}
@media(min-width:851px) and (max-width:1119px){
  .services article{padding:24px}
  .services h3{font-size:22px;margin-top:36px}
  .services p{font-size:15px;line-height:1.45}
}

/* Длинные заголовки не должны распирать страницу на узких экранах */
h1,h2,h3{overflow-wrap:break-word}
@media(max-width:400px){h1{font-size:clamp(28px,9vw,38px)}}

/* Контакты в разделе «Контакты» */
.contacts{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:16px}
.contacts li{display:grid;gap:5px}
.contacts span{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--muted);text-transform:uppercase}
.contacts a{font-size:20px;justify-self:start;border-bottom:1px solid var(--ink);padding-bottom:2px}
.contacts a:hover{opacity:.6}
.footer a:hover{text-decoration:underline}

/* Уведомление об использовании cookie */
.cookie-notice{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:16px 24px;background:var(--dark);color:#f5f4ef;font-size:13px;line-height:1.45}
.cookie-notice[hidden]{display:none}
.cookie-notice p{margin:0;max-width:760px}
.cookie-notice a{color:inherit;text-decoration:underline}
.cookie-notice button{flex:none;background:#f5f4ef;color:var(--ink);border:0;padding:10px 20px;font:inherit;cursor:pointer}
.cookie-notice button:hover{opacity:.85}

/* Оговорка о том, что информация не является офертой */
.disclaimer{font-size:13px;line-height:1.5;color:var(--muted);max-width:660px;margin:-6px 0 0}
.dark .disclaimer{color:#aaa9a2}
