/*
Theme Name: KinDom — Дом-студия
Theme URI: https://дом-студия.рф/
Author: KinDom
Description: Чёрно-белая адаптивная тема строительной компании «КинДом» для сайта дом-студия.рф. Акцент на архитектуре, строительстве и каталоге проектов.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: kindom-domstudio
*/
:root{--ink:#111;--paper:#fff;--muted:#707070;--line:#dedede;--soft:#f5f5f3;--max:1320px;--gutter:clamp(20px,4.5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{opacity:.78}button,input,textarea,select{font:inherit}.wrap{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.24)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:92px}.brand{display:flex;flex-direction:column;line-height:1.05;min-width:160px}.brand-name{font-size:24px;font-weight:800;letter-spacing:.11em}.brand-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:7px;opacity:.8}.main-nav{display:flex;align-items:center;gap:clamp(15px,2vw,32px);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.main-nav ul{display:flex;align-items:center;gap:clamp(15px,2vw,32px);list-style:none;margin:0;padding:0}.main-nav li{margin:0;padding:0}.header-contact{display:flex;align-items:center;gap:18px;font-size:14px;white-space:nowrap}.menu-toggle{display:none;background:none;color:inherit;border:1px solid currentColor;padding:9px 12px}.hero{min-height:min(850px,100svh);min-height:max(690px,100svh);display:flex;align-items:flex-end;position:relative;isolation:isolate;color:#fff;background:#252525 url('https://kingdom16.ru/media/widgetkit/187-1-acac674cbab2ec739ed27daa734ffd50.jpg') center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 48%)}.hero-inner{padding-top:140px;padding-bottom:clamp(54px,8vw,112px);width:100%}.eyebrow,.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.hero h1{font-size:clamp(44px,7.1vw,102px);line-height:.98;letter-spacing:-.065em;max-width:900px;margin:0 0 28px;font-weight:600}.hero-copy{font-size:clamp(16px,1.6vw,20px);max-width:590px;color:rgba(255,255,255,.86);margin:0 0 32px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:15px 22px;background:#fff;color:#111;border:1px solid #fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;transition:.2s}.btn:hover{background:#111;color:#fff;opacity:1}.btn-dark{background:#111;color:#fff;border-color:#111}.btn-outline{background:transparent;color:inherit;border-color:currentColor}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.text-link span{font-size:20px}.hero-meta{display:flex;gap:clamp(24px,5vw,72px);margin-top:clamp(44px,7vw,92px);padding-top:22px;border-top:1px solid rgba(255,255,255,.35);max-width:880px}.hero-meta strong{display:block;font-size:clamp(19px,2vw,27px);font-weight:500}.hero-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}.section{padding:clamp(68px,9vw,132px) 0}.section-soft{background:var(--soft)}.section-head{display:grid;grid-template-columns:1.05fr .7fr;gap:50px;align-items:end;margin-bottom:46px}.section-head h2,.about-copy h2,.cta-band h2{font-size:clamp(34px,5vw,64px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:13px 0 0}.section-head p{max-width:470px;color:var(--muted);margin:0 0 4px}.kicker{color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 24px}.project-card{min-width:0}.project-image{position:relative;overflow:hidden;background:#e6e6e4;aspect-ratio:1.52}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-image img{transform:scale(1.035)}.project-number{position:absolute;top:16px;left:16px;background:#fff;color:#111;padding:8px 11px;font-size:10px;letter-spacing:.08em}.project-info{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-top:18px}.project-info h3{font-size:clamp(21px,2.5vw,31px);letter-spacing:-.035em;line-height:1.1;margin:0 0 8px;font-weight:500}.project-info p{margin:0;color:var(--muted);font-size:13px}.project-area{white-space:nowrap;text-align:right;font-size:12px;color:var(--muted)}.project-area strong{display:block;font-size:19px;color:#111;font-weight:500}.center-action{text-align:center;margin-top:52px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px);align-items:center}.about-image{aspect-ratio:4/5;background:#ddd;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy h2{margin:14px 0 24px}.about-copy>p{color:var(--muted);max-width:560px}.feature-list{margin:32px 0 34px;border-top:1px solid var(--line)}.feature{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.feature-num{font-size:11px;color:var(--muted);padding-top:4px}.feature strong{display:block;font-size:17px;font-weight:600;margin-bottom:4px}.feature p{margin:0;color:var(--muted);font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:28px;min-height:210px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.service-index{font-size:11px;color:var(--muted)}.service h3{font-size:23px;line-height:1.1;letter-spacing:-.03em;font-weight:500;margin:34px 0 10px}.service p{font-size:13px;color:var(--muted);margin:0}.service-arrow{align-self:flex-end;font-size:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.step{padding:25px 24px 0 0;margin-right:22px}.step-no{font-size:12px;color:var(--muted);margin-bottom:40px}.step h3{font-size:20px;line-height:1.15;margin:0 0 10px;font-weight:500}.step p{font-size:13px;color:var(--muted);margin:0}.cta-band{background:#111;color:#fff;padding:clamp(50px,7vw,90px) 0}.cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.cta-band .kicker{color:#aaa}.cta-band h2{max-width:760px}.cta-band p{color:#bbb;max-width:550px}.cta-band .btn{flex-shrink:0}.site-footer{background:#111;color:#fff;padding:42px 0 24px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;padding-bottom:38px}.footer-brand .brand-sub{color:#aaa}.footer-links{display:flex;gap:26px;flex-wrap:wrap;font-size:12px;color:#ddd}.footer-contact{text-align:right;font-size:14px}.footer-contact a{display:block;margin-bottom:7px}.footer-bottom{border-top:1px solid #3c3c3c;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#999}.content-page{padding:145px 0 90px;min-height:70vh}.content-page h1{font-size:clamp(38px,6vw,76px);line-height:1;letter-spacing:-.05em;font-weight:500}.content-page .entry-content{max-width:850px}.content-page .entry-content img{height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wp-block-button__link{background:#111;color:#fff;border-radius:0}.alignwide{max-width:1100px;margin-inline:auto}.alignfull{width:100%;max-width:none}.menu-open{overflow:hidden}
@media(max-width:980px){.header-inner{min-height:78px}.main-nav{gap:13px;font-size:10px}.header-contact{font-size:12px}.brand-name{font-size:21px}.section-head{grid-template-columns:1fr;gap:18px}.services-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);row-gap:32px}.step{padding-top:22px}.step-no{margin-bottom:20px}}
@media(max-width:700px){.main-nav ul{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding:0;margin:0}.main-nav li{font-size:20px}.site-header{position:absolute}.header-inner{min-height:72px}.header-contact{display:none}.menu-toggle{display:block}.main-nav{display:none;position:fixed;inset:0;background:#111;color:#fff;z-index:-1;flex-direction:column;align-items:flex-start;justify-content:center;padding:90px var(--gutter) 50px;font-size:20px;gap:22px}.main-nav.is-open{display:flex}.brand{z-index:2}.menu-toggle{z-index:3}.hero{min-height:790px;min-height:100svh;background-position:58% center}.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.62),transparent 72%)}.hero-inner{padding-top:120px;padding-bottom:34px}.hero h1{font-size:clamp(42px,12vw,66px);max-width:560px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.btn{min-height:52px}.hero-meta{gap:18px;justify-content:space-between;margin-top:42px}.hero-meta strong{font-size:20px}.hero-meta span{font-size:9px}.section{padding:68px 0}.section-head h2,.about-copy h2,.cta-band h2{font-size:clamp(34px,9vw,48px)}.projects-grid{grid-template-columns:1fr;gap:34px}.project-image{aspect-ratio:1.25}.project-info{gap:10px}.project-info h3{font-size:24px}.about-grid{grid-template-columns:1fr;gap:32px}.about-image{aspect-ratio:1.2}.services-grid{grid-template-columns:1fr}.service{min-height:165px;padding:23px}.service h3{margin-top:25px}.steps{grid-template-columns:1fr;gap:26px}.step{margin-right:0;padding-top:0}.step-no{margin-bottom:15px}.cta-inner{display:block}.cta-band .btn{margin-top:18px}.footer-top{flex-direction:column}.footer-contact{text-align:left}.footer-bottom{flex-direction:column}.content-page{padding-top:120px}}

/* Editorial project catalogue inspired by contemporary architectural portfolios */
.projects-section{overflow:hidden}.projects-heading{grid-template-columns:1fr .72fr;align-items:end;margin-bottom:clamp(38px,5vw,72px)}.projects-heading h2{font-size:clamp(48px,8vw,112px);line-height:.9;letter-spacing:-.075em;font-weight:500;margin:18px 0 0}.heading-period{color:#a3a3a3}.projects-intro{max-width:490px;justify-self:end}.projects-intro p{font-size:15px;line-height:1.7;color:#696969;margin:0 0 22px}.projects-grid--editorial{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(36px,5vw,76px) 22px;align-items:start}.projects-grid--editorial .project-card{grid-column:span 6}.projects-grid--editorial .project-card:nth-child(4n+2),.projects-grid--editorial .project-card:nth-child(4n+3){margin-top:clamp(28px,7vw,100px)}.projects-grid--editorial .project-image{display:block;aspect-ratio:1.28;position:relative;background:#ececea;color:#fff}.projects-grid--editorial .project-card:nth-child(4n+1) .project-image{aspect-ratio:1.18}.projects-grid--editorial .project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.projects-grid--editorial .project-card:hover .project-image img{transform:scale(1.035);filter:brightness(.82)}.project-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:22px;opacity:0;transition:opacity .3s;background:linear-gradient(0deg,rgba(0,0,0,.32),transparent 55%);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.projects-grid--editorial .project-card:hover .project-overlay,.projects-grid--editorial .project-image:focus-visible .project-overlay{opacity:1}.project-arrow{display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);width:42px;height:42px;border-radius:50%;font-size:19px}.projects-grid--editorial .project-number{top:16px;left:16px;padding:9px 12px;font-size:10px;letter-spacing:.12em;background:#fff;color:#111}.projects-grid--editorial .project-info{padding-top:19px;gap:20px;align-items:center}.projects-grid--editorial .project-info h3{font-size:clamp(23px,3vw,36px);font-weight:500;letter-spacing:-.055em;margin:0 0 8px}.projects-grid--editorial .project-info p{max-width:390px;font-size:13px;line-height:1.6}.project-contact{flex:0 0 42px;width:42px;height:42px;border:1px solid #bdbdbd;border-radius:50%;display:grid;place-items:center;font-size:20px;transition:background .2s,color .2s,border-color .2s}.project-contact:hover{background:#111;color:#fff;border-color:#111;opacity:1}.projects-bottom-note{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:clamp(52px,8vw,110px);padding-top:18px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#777}.projects-bottom-note b{font-size:18px;color:#111;margin-left:8px;font-weight:400}
@media(max-width:700px){.projects-heading{grid-template-columns:1fr;gap:24px}.projects-heading h2{font-size:clamp(48px,13vw,76px)}.projects-intro{justify-self:stretch}.projects-intro p{font-size:14px}.projects-grid--editorial{grid-template-columns:1fr;gap:38px}.projects-grid--editorial .project-card,.projects-grid--editorial .project-card:nth-child(4n+2),.projects-grid--editorial .project-card:nth-child(4n+3){grid-column:1;margin-top:0}.projects-grid--editorial .project-image,.projects-grid--editorial .project-card:nth-child(4n+1) .project-image{aspect-ratio:1.16}.projects-grid--editorial .project-info h3{font-size:27px}.project-overlay{opacity:1;padding:14px}.project-arrow{width:36px;height:36px}.projects-bottom-note{font-size:9px;letter-spacing:.04em}.projects-bottom-note span:last-child{text-align:right}}

/* Single-project gallery: uncropped main image with folder thumbnails */
.project-viewer{width:100%;}.project-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px;background:#f4f4f2;border:1px solid #e5e5e3;overflow:hidden;padding:24px 76px 64px;}.project-main-image{width:100%;height:clamp(340px,62vw,760px);max-height:72vh;object-fit:contain;object-position:center;display:block;transition:opacity .18s ease}.project-switch{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(17,17,17,.32);border-radius:50%;background:#fff;color:#111;font-size:48px;font-family:Arial,sans-serif;font-weight:300;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.project-switch:hover{background:#111;color:#fff;border-color:#111}.project-switch--prev{left:20px}.project-switch--next{right:20px}.project-viewer-label{position:absolute;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#555}.project-viewer-under{padding-top:26px}.project-viewer-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.project-viewer-caption h3{font-size:clamp(28px,4vw,48px);letter-spacing:-.055em;font-weight:500;line-height:1;margin:9px 0 0}.project-viewer-caption .btn{flex-shrink:0}.project-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:thin;scroll-snap-type:x proximity}.project-thumb{flex:0 0 clamp(86px,12vw,150px);height:clamp(64px,8vw,100px);padding:0;border:1px solid #ddd;background:#f2f2f0;cursor:pointer;overflow:hidden;scroll-snap-align:start;opacity:.72;transition:opacity .2s,border-color .2s}.project-thumb img{width:100%;height:100%;object-fit:cover}.project-thumb.is-active{opacity:1;border:2px solid #111}.project-thumb:hover{opacity:1}.project-viewer-hint{font-size:11px;color:#777;margin:10px 0 0}.project-viewer .project-main-image.is-loading{opacity:.35}
@media(max-width:700px){.project-viewer-stage{min-height:260px;padding:18px 44px 48px}.project-main-image{height:clamp(240px,68vw,440px);max-height:none}.project-switch{width:40px;height:40px;font-size:32px;background:rgba(255,255,255,.94)}.project-switch--prev{left:8px}.project-switch--next{right:8px}.project-viewer-label{left:12px;right:12px;bottom:12px;font-size:9px}.project-viewer-caption{align-items:flex-start;flex-direction:column;gap:16px}.project-viewer-caption h3{font-size:34px}.project-viewer-caption .btn{width:100%;justify-content:space-between}.project-thumbnails{gap:7px}.project-thumb{flex-basis:92px;height:68px}}

/* Hero: balanced split composition with featured projects on the right */
.hero{align-items:center}.hero-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);align-items:center;gap:clamp(36px,6vw,100px);padding-top:145px;padding-bottom:58px}.hero-copy-column{padding-left:clamp(16px,4vw,64px);}.hero h1{font-size:clamp(42px,5.8vw,82px)}.hero-meta{margin-top:clamp(34px,4vw,58px);gap:clamp(18px,2.8vw,42px)}.hero-meta span{display:block;max-width:145px;line-height:1.45}.hero-projects{width:100%;max-width:540px;justify-self:end;padding-top:24px}.hero-projects-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px;font-size:10px;letter-spacing:.13em}.hero-projects-top a{color:rgba(255,255,255,.8);white-space:nowrap}.hero-project-card{position:relative;display:block;overflow:hidden;background:#ddd;color:#fff}.hero-project-card--large{height:clamp(230px,27vw,390px)}.hero-project-card img,.hero-projects-mini img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.hero-project-card:hover img,.hero-projects-mini a:hover img{transform:scale(1.035)}.hero-project-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.62))}.hero-project-card>span{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;display:flex;align-items:end;justify-content:space-between;gap:12px}.hero-project-card b{font-size:23px;font-weight:500}.hero-project-card i{font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.hero-projects-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.hero-projects-mini a{height:clamp(72px,8vw,112px);position:relative;display:block;overflow:hidden;background:#333}.hero-projects-mini a:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55))}.hero-projects-mini span{position:absolute;z-index:1;left:10px;bottom:7px;font-size:10px;letter-spacing:.08em}.service-page .service-hero{padding:clamp(36px,6vw,80px) 0 clamp(48px,7vw,94px);border-bottom:1px solid var(--line);max-width:1040px}.service-page .service-hero h1{max-width:980px;margin:18px 0 24px}.service-lead{font-size:clamp(17px,1.7vw,21px);line-height:1.7;color:#555;max-width:820px;margin:0 0 28px}.service-content-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(35px,8vw,110px);padding:clamp(48px,7vw,90px) 0;border-bottom:1px solid var(--line)}.service-benefits h2,.service-request h2,.service-faq h2{font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:14px 0 28px}.service-benefit{display:grid;grid-template-columns:38px 1fr;gap:15px;padding:18px 0;border-top:1px solid var(--line)}.service-benefit span{color:#777;font-size:12px}.service-benefit p{margin:0;font-size:16px}.service-request{background:#f4f4f2;padding:clamp(22px,3vw,38px);align-self:start}.service-request>p{color:#666;font-size:14px}.lead-form{display:grid;gap:14px;margin-top:22px}.lead-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.lead-form label span{color:#777}.lead-form input,.lead-form textarea{width:100%;border:1px solid #d3d3d0;background:#fff;padding:13px 14px;border-radius:0;outline:none}.lead-form input:focus,.lead-form textarea:focus{border-color:#111}.lead-form textarea{resize:vertical}.lead-form .btn{width:100%;justify-content:space-between;cursor:pointer}.lead-form small{font-size:10px;line-height:1.5;color:#777}.form-status{padding:12px;background:#fff;border-left:3px solid #111;font-size:13px}.form-status--success{border-color:#3c7d51}.service-faq{padding:clamp(48px,7vw,90px) 0}.service-faq details{border-top:1px solid var(--line);padding:20px 0}.service-faq details:last-child{border-bottom:1px solid var(--line)}.service-faq summary{font-size:18px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.service-faq summary::-webkit-details-marker{display:none}.service-faq summary:after{content:"+";font-size:22px;font-weight:300}.service-faq details[open] summary:after{content:"−"}.service-faq details p{max-width:800px;color:#666;margin:14px 0 0}.page .site-header,.single .site-header{position:absolute;background:#fff;color:#111;border-bottom:1px solid #e5e5e5}.page .header-contact a{color:#111}
@media(max-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:28px}.hero-copy-column{padding-left:12px}.hero-meta{flex-wrap:wrap}.hero-project-card--large{height:260px}}
@media(max-width:700px){.hero{align-items:flex-end}.hero-inner{display:block;padding-top:118px;padding-bottom:32px}.hero-copy-column{padding-left:0}.hero h1{font-size:clamp(42px,11vw,64px)}.hero-meta{margin-top:30px}.hero-projects{display:none}.service-page .service-hero{padding-top:18px}.service-content-grid{grid-template-columns:1fr;gap:32px}.service-benefits h2,.service-request h2,.service-faq h2{font-size:34px}.service-request{padding:22px}.service-faq summary{font-size:16px}.page .site-header{position:absolute}.page .main-nav{color:#fff}}

/* Hero revision: copy on the left, lead form on the right; no project tiles above the fold. */
.hero{align-items:center;background-position:center;background-size:cover}.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.65) 46%,rgba(0,0,0,.40) 100%)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);align-items:center;gap:clamp(38px,7vw,110px);padding-top:138px;padding-bottom:64px;max-width:var(--max);margin-inline:auto}
.hero-copy-column{padding-left:clamp(12px,3.5vw,54px)}.hero-copy-column .hero-meta{max-width:780px}
.hero-request{background:#fff;color:#111;padding:clamp(24px,3.4vw,44px);width:100%;max-width:500px;justify-self:end;box-shadow:0 22px 70px rgba(0,0,0,.2)}
.hero-request-heading .kicker{color:#777}.hero-request-heading h2{font-size:clamp(27px,3vw,38px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:14px 0}.hero-request-heading p{font-size:14px;line-height:1.65;color:#666;margin:0}
.hero-request .lead-form{gap:11px;margin-top:20px}.hero-request .lead-form label{font-size:11px}.hero-request .lead-form input,.hero-request .lead-form textarea{padding:12px}.hero-request .lead-form textarea{min-height:70px}.hero-request .lead-form small{font-size:9px}.hero-request .form-status{margin:14px 0}
.service-detail-block{padding:clamp(48px,7vw,88px) 0;border-bottom:1px solid var(--line)}.service-detail-block h2{font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.05;letter-spacing:-.05em;max-width:820px;margin:14px 0 24px}.service-detail-block p{max-width:900px;color:#5f5f5f;line-height:1.8}.service-detail-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(30px,7vw,95px)}.service-detail-aside{background:#f5f5f3;padding:clamp(22px,3vw,36px);align-self:start}.service-detail-aside h3{font-size:22px;font-weight:500;margin:0 0 16px}.service-detail-aside ul{padding-left:18px;color:#555;font-size:14px;line-height:1.9}.service-detail-aside .text-link{margin-top:10px}.service-detail-block--soft{background:#f7f7f5;padding-inline:clamp(20px,4vw,54px);margin-top:0}.material-chips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.material-chips span{border:1px solid #d4d4d1;padding:9px 14px;font-size:12px;letter-spacing:.03em;background:#fff}
@media(max-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:28px}.hero-copy-column{padding-left:14px}.hero-request{padding:24px}}
@media(max-width:700px){.hero{min-height:100svh;align-items:flex-start}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:108px;padding-bottom:34px}.hero-copy-column{padding-left:0}.hero h1{font-size:clamp(42px,11vw,62px)}.hero-meta{margin-top:28px}.hero-request{max-width:none;padding:22px}.hero-request-heading h2{font-size:29px}.hero-request .lead-form textarea{display:none}.hero-request .lead-form label:first-of-type{display:none}.hero-request .lead-form{gap:10px;margin-top:16px}.hero-request .lead-form small{font-size:9px}.service-detail-grid{grid-template-columns:1fr;gap:24px}.service-detail-block--soft{padding-inline:20px}.hero-projects{display:none}}


/* Refinements: project imagery, required phone marker and useful image slots */
.about-image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#f0f0ed;padding:clamp(10px,1.5vw,22px);}
.about-image img{width:100%;height:100%;object-fit:contain;object-position:center;}
.lead-form label .field-label{display:block;font-size:inherit;font-weight:700;line-height:1.35;}
.lead-form label .field-label em{display:inline;color:#b42318;font-style:normal;font-weight:700;margin-left:2px;}
.lead-form label>span:not(.field-label){color:#777;}
.service-visual-placeholder{padding:clamp(28px,4vw,54px) 0;border-bottom:1px solid var(--line);}
.placeholder-media{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:9px;overflow:hidden;background:linear-gradient(135deg,#efefec 0%,#e3e3df 48%,#f6f6f3 100%);border:1px dashed #b9b9b3;color:#333;padding:clamp(18px,3vw,34px);min-width:0;isolation:isolate;}
.placeholder-media:before,.placeholder-media:after{content:"";position:absolute;z-index:-1;pointer-events:none;border:1px solid rgba(120,120,110,.18);transform:rotate(-14deg);}
.placeholder-media:before{width:45%;height:125%;right:8%;top:-15%;}
.placeholder-media:after{width:34%;height:100%;right:21%;top:6%;}
.placeholder-media--wide{aspect-ratio:16/9;max-height:440px;min-height:230px;}
.placeholder-media strong{font-size:clamp(19px,2.2vw,29px);font-weight:500;letter-spacing:-.025em;max-width:560px;}
.placeholder-media p{max-width:640px;margin:0;color:#62625d;font-size:14px;line-height:1.65;}
.placeholder-media small{font-size:11px;color:#6c6c66;}
.placeholder-tag{position:absolute;top:16px;left:16px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#676761;}
.material-image-placeholders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 10px;}
.placeholder-media--material{aspect-ratio:4/3;padding:15px;min-height:130px;}
.placeholder-media--material strong{font-size:clamp(13px,1.2vw,17px);line-height:1.25;}
.placeholder-media--material .placeholder-tag{top:9px;left:10px;font-size:8px;}
@media(max-width:900px){.material-image-placeholders{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.about-image{aspect-ratio:4/3;padding:10px;}.placeholder-media--wide{min-height:210px;}.material-image-placeholders{gap:9px;}.placeholder-media--material{min-height:120px;padding:12px;}.placeholder-media p{font-size:12px;}}

/* One-page layout: consolidated service information, director and legal contacts */
.onepage-service-list{display:grid;gap:clamp(55px,8vw,110px)}
.onepage-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,6vw,86px);align-items:center;padding-top:clamp(35px,5vw,65px);border-top:1px solid var(--line);scroll-margin-top:35px}
.onepage-service--reverse .onepage-service-media{order:2}.onepage-service--reverse .onepage-service-copy{order:1}
.onepage-service-media{width:100%;aspect-ratio:16/9;min-height:0;max-height:none}
.onepage-service-copy h2,.director-copy h2{font-size:clamp(31px,4vw,52px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:14px 0 20px}
.onepage-service-copy p,.onepage-service-copy li{color:#5f5f5b;line-height:1.75}.onepage-service-copy ul{padding-left:20px;margin:18px 0 24px}.onepage-service-copy li{padding:4px 0}.onepage-service-copy h3{font-size:19px;font-weight:600;margin:24px 0 8px}
.material-image-placeholders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:32px 0}.material-note{max-width:850px;color:var(--muted)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px)}.faq-group h3{font-size:22px;font-weight:500;margin:0 0 20px}.faq-group details{border-top:1px solid var(--line);padding:18px 0}.faq-group details:last-child{border-bottom:1px solid var(--line)}.faq-group summary{font-size:16px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}.faq-group summary::-webkit-details-marker{display:none}.faq-group summary:after{content:'+';font-size:22px;font-weight:300}.faq-group details[open] summary:after{content:'−'}.faq-group details p{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.7}
.director-section{background:#eeefec}.director-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1fr);gap:clamp(36px,7vw,100px);align-items:center}.director-photo{margin:0;min-width:0}.director-photo img{width:100%;height:auto;max-height:650px;object-fit:contain;object-position:center bottom;background:#e2e2de}.director-photo span{display:block;padding-top:12px;font-size:12px;color:var(--muted)}.director-copy p{color:#5f5f5b;line-height:1.8;font-size:16px}.director-copy>strong,.director-copy>small{display:block}.director-copy>strong{margin-top:20px}.director-copy>small{color:var(--muted);margin-top:4px}.director-copy .btn{margin-top:28px}
.contact-cards{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.contact-card{background:#f0f0ed;padding:clamp(24px,3.5vw,44px);min-width:0}.contact-card--main{background:#111;color:#fff}.contact-card--main .kicker{color:#aaa}.contact-card h3{font-size:clamp(22px,2.4vw,31px);line-height:1.2;font-weight:500;margin:16px 0 20px}.contact-card p{color:#bcbcbc}.contact-card--main a{display:block;font-size:18px;margin-top:10px}.contact-card dl{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:12px 20px;margin:22px 0 0}.contact-card dt{font-size:13px;color:var(--muted)}.contact-card dd{margin:0;font-weight:600;overflow-wrap:anywhere}.footer-legal{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #3c3c3c;padding:18px 0;font-size:11px;color:#aaa}.site-footer .footer-links a{white-space:nowrap}
#projects,#building,#services,#about,#proektirovanie,#ipoteka,#uchastki,#trejd-in,#materials,#faq,#director,#contacts{scroll-margin-top:25px}
@media(max-width:850px){.onepage-service{grid-template-columns:1fr;gap:26px}.onepage-service--reverse .onepage-service-media,.onepage-service--reverse .onepage-service-copy{order:initial}.onepage-service-media{max-height:none}.material-image-placeholders{grid-template-columns:repeat(2,minmax(0,1fr))}.director-grid{grid-template-columns:1fr 1.15fr}.contact-cards{grid-template-columns:1fr}.footer-legal{flex-direction:column;gap:8px}}
@media(max-width:700px){.faq-grid{grid-template-columns:1fr;gap:34px}.director-grid{grid-template-columns:1fr}.director-photo{max-width:420px}.contact-card dl{grid-template-columns:1fr;gap:5px}.contact-card dd{margin-bottom:10px}.material-image-placeholders{gap:10px}.onepage-service-copy h2,.director-copy h2{font-size:clamp(30px,8vw,42px)}.main-nav ul{max-height:75svh;overflow-y:auto}.site-footer .footer-links{gap:16px}}


/* SEO content section: readable local service information, not keyword stuffing. */
.local-seo-section{background:#fff}.local-seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,42px);margin-top:34px}.local-seo-grid>div{border-top:1px solid var(--line);padding-top:20px}.local-seo-grid h3{font-size:clamp(20px,2vw,27px);font-weight:500;letter-spacing:-.035em;margin:0 0 14px}.local-seo-grid p{font-size:15px;line-height:1.8;color:#5e5e5e;margin:0}.local-seo-cta{margin-top:34px;padding:24px 28px;background:#f4f4f2;display:flex;align-items:center;justify-content:space-between;gap:24px}.local-seo-cta p{margin:0;max-width:760px;line-height:1.7;color:#555}.local-seo-cta strong{color:#111}.local-seo-cta .btn{flex-shrink:0}
@media(max-width:760px){.local-seo-grid{grid-template-columns:1fr;gap:22px}.local-seo-cta{align-items:stretch;flex-direction:column;padding:22px}.local-seo-cta .btn{width:100%;justify-content:space-between}}
