/* Photographs belong to the named project, with originals opened on demand. */
.section-lead{font-size:17px;color:var(--muted);line-height:1.7;max-width:680px;margin:20px 0 0}
.page-hero h1,.service-card h3{overflow-wrap:anywhere;hyphens:auto}.service-card{min-width:0}
.project-grid{row-gap:50px}.project-card .project-meta{gap:20px}.project-card .project-meta>span:last-child{color:#168bc0;white-space:nowrap}
.project-card .text-link{font-size:13px;margin-top:5px}
.project-open{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:44px;height:44px;background:white;color:#173b57;font-size:23px;transition:background .3s,color .3s,transform .4s}
.project-card:hover .project-open{background:var(--accent);color:#fff;transform:translate(2px,-2px)}
.project-card .project-no-photo{display:flex;flex-direction:column;justify-content:center;padding:45px;background:linear-gradient(145deg,#1d4058,#10212e);color:#a2d9f8}
.project-no-photo>span:first-child{font-size:clamp(40px,5vw,70px);letter-spacing:-2px;line-height:1.2}.project-no-photo>small{font-size:13px;letter-spacing:.8px;margin-top:20px;color:#a2bacb}
.project-cover{position:relative;margin-top:45px}.project-cover>img{width:100%;height:clamp(290px,45vw,610px);object-fit:cover}.project-cover>span{position:absolute;bottom:22px;left:24px;background:#142d42e8;color:#fff;padding:10px 16px;font-size:13px}
.project-works{padding:0;list-style:none;counter-reset:project-work;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin:26px 0}
.project-works li{counter-increment:project-work;display:flex;gap:14px;font-size:15px;line-height:1.6;padding:16px 0;border-top:1px solid var(--line)}.project-works li:before{content:counter(project-work,decimal-leading-zero);color:#1598d2;font-size:12px;line-height:2.1;flex-shrink:0}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.project-gallery figure{margin:0;min-width:0}
.project-gallery figure>a{position:relative;display:block;aspect-ratio:1.35;overflow:hidden;background:#e3e9ed}.project-gallery img{height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.project-gallery a:hover img{transform:scale(1.04)}
.project-gallery a>span{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;background:#ffffffed;color:#173b57;font-size:20px}
.project-gallery figcaption{display:flex;gap:13px;margin-top:13px;font-size:12px;color:var(--muted);line-height:1.65}.project-gallery figcaption>span{color:#1598d2;flex-shrink:0}
.archive-grid a{position:relative;overflow:hidden}.archive-project-title{display:block;font-size:13px;line-height:1.5;margin-top:12px;color:#405b6d}
.process-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}.process-item h3{font-size:19px}.process-item p{font-size:14px}
.dropdown-columns a.development-nav-link{color:var(--accent);font-weight:700;margin-top:8px}
.private-direction{padding:30px;margin:30px 0;background:#edf4e9;border-left:3px solid #4b8664}.private-direction .eyebrow{color:#4b8664}.private-direction .eyebrow:before{background:#4b8664}.private-direction h3{color:#244e3c;margin-top:10px}
body.gallery-open{overflow:hidden}
.photo-viewer{width:min(1320px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 40px);padding:18px 26px 20px;border:1px solid #ffffff22;background:#142129;color:white;overflow:auto;box-shadow:0 24px 90px #0008}
.photo-viewer::backdrop{background:#08131ce8;backdrop-filter:blur(8px)}.photo-viewer[open]{animation:viewer-in .3s ease both}.photo-viewer.closing{animation:viewer-out .18s ease both}
.photo-viewer-bar,.photo-viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.photo-viewer-bar{margin-bottom:16px;font-size:12px;color:#adc3d1;letter-spacing:2px}
.photo-viewer button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #587285;background:transparent;color:white;cursor:pointer;font-size:21px;transition:background .3s,border-color .3s}.photo-viewer button:hover{background:#28485d;border-color:var(--blue)}.photo-viewer .photo-close{font-size:29px;border-color:transparent}
.photo-stage{height:calc(100dvh - 240px);min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-stage img{max-width:100%;max-height:calc(100dvh - 240px);width:auto;height:auto;object-fit:contain}
.photo-stage{position:relative}.photo-stage.loading img,.photo-stage.load-error img{opacity:0}.photo-stage.loading:after,.photo-stage.load-error:after{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#a9bfce;content:'Загрузка фотографии…'}.photo-stage.load-error:after{content:'Не удалось загрузить фотографию. Попробуйте следующий снимок.';padding:20px;text-align:center}
.photo-viewer-bottom{margin-top:20px}.photo-viewer-bottom p{font-size:13px;line-height:1.5;color:#d2dee6;text-align:center;max-width:800px;margin:0}
@keyframes viewer-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes viewer-out{to{opacity:0;transform:translateY(8px)}}
.development{--dark:#171d14;--ink:#151a12;--muted:#69715f;--blue:#b5d761;--accent:#789b2c;--soft:#f5f7ef;--line:#dce4cf}
.development-hero{background:#f5f7ef;padding:0 0 70px;position:relative;overflow:hidden}.development-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.development-hero .breadcrumb{padding:30px 0 55px}.development-hero .eyebrow{color:#708548}
.development-hero h1{font-size:clamp(48px,5.4vw,78px);font-weight:600;line-height:1.08;letter-spacing:-3.3px;margin:0}.development-hero h1>span{color:#778e42}.development-lead{max-width:560px;font-size:19px;line-height:1.7;margin:28px 0 30px;color:#626e52}
.development-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.development-button{background:#b5d761;border-color:#b5d761;color:#171f0d}.development-button:hover{background:#c3e37b;border-color:#c3e37b}
.development-tags{display:flex;gap:24px;margin-top:48px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#76845f}.development-tags span+span{border-left:1px solid #d3dec1;padding-left:24px}
.development-drawing{position:relative;margin-top:75px;min-width:0;color:#8ea94d;aspect-ratio:1.1;background:radial-gradient(ellipse,#dfebc599,transparent 70%)}.development-drawing svg{width:100%;height:100%;display:block}.drawing-caption{position:absolute;top:5px;right:10px;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#82935e}.drawing-number{position:absolute;bottom:-16px;left:15px;font-size:11px;letter-spacing:1px;color:#82935e}
.development-soft{background:#f7f9f1}.development-priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.development-priorities>div{border-top:1px solid #d5dfc4;padding-top:24px}.development-priorities>div>span{font-size:12px;color:#93ad5c}.development-priorities h3{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:27px 0 16px}.development-priorities p{font-size:15px;color:#707c5e}
.development .process-item>span{color:#839d46}.development-process .process-item{border-color:#d5dfc4}
.development-invite{background:#171d14;color:#fff;padding:85px 0}.development-invite h2{font-weight:500;font-size:clamp(36px,4vw,60px);line-height:1.15;letter-spacing:-1.8px;margin:0}.development-invite .eyebrow{color:#b5d761}.development-invite p:not(.eyebrow){max-width:500px;color:#c5d2ad;font-size:17px;margin:25px 0}.development-invite .development-button{background:#b5d761;color:#171f0d;border-color:#b5d761}.development-invite .development-button:hover{background:#c3e37b}
.development .header-cta:hover{background:#b5d761}.development .footer-word{color:#262f1e}.development .cta{background:#f5f7ef}
@media(max-width:1100px){.process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.development-hero-grid{gap:15px}.development-actions{gap:20px}.development-hero h1{font-size:58px}.development-drawing{margin-top:110px}.development-tags{gap:14px}.development-tags span+span{padding-left:14px}}
@media(max-width:950px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.development-hero-grid{grid-template-columns:1fr}.development-drawing{width:min(500px,100%);margin:20px auto 0;aspect-ratio:1.45}.development-priorities{gap:25px}.development-hero .breadcrumb{padding-bottom:40px}.development-hero h1{font-size:clamp(46px,8vw,68px)}}
@media(max-width:650px){
 .page-hero h1{font-size:clamp(28px,7.8vw,39px)}
 .section-lead{font-size:15px;max-width:95%}.project-grid{row-gap:35px}.project-card .project-meta{gap:12px;font-size:11px}.project-open{width:36px;height:36px;right:14px;bottom:14px}.project-cover{margin-top:25px}.project-cover>img{height:280px}.project-cover>span{bottom:12px;left:12px;font-size:11px;padding:8px 10px}.project-works{grid-template-columns:1fr}
 .project-gallery{gap:24px 14px}.project-gallery figure>a{aspect-ratio:1}.project-gallery figcaption{font-size:11px;gap:8px}.project-gallery-section .section-head>p{font-size:12px}.project-gallery a>span{width:28px;height:28px;bottom:10px;right:10px}.archive-project-title{font-size:11px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.process-item h3{font-size:17px}.process-item p{font-size:13px}
 .photo-viewer{width:calc(100% - 20px);padding:12px;max-height:calc(100dvh - 20px)}.photo-stage{height:calc(100dvh - 205px)}.photo-stage img{max-height:calc(100dvh - 205px)}.photo-viewer-bottom{gap:12px}.photo-viewer-bottom p{font-size:11px}.photo-viewer button{width:36px;height:36px}.photo-viewer-bar{margin-bottom:10px}.private-direction{padding:23px}
 .development-hero{padding-bottom:40px}.development-hero h1{font-size:clamp(39px,10vw,58px);letter-spacing:-2px}.development-lead{font-size:17px;margin:24px 0}.development-tags{font-size:9px;gap:12px;margin-top:32px}.development-tags span+span{padding-left:12px}.development-hero .eyebrow{font-size:10px;letter-spacing:1.3px}.development-actions .text-link{font-size:12px}.development-drawing{margin-top:30px;aspect-ratio:1.3}.drawing-caption{font-size:8px}.drawing-number{font-size:9px;bottom:0}.development-priorities{grid-template-columns:1fr;gap:26px}.development-priorities h3{font-size:23px;margin:15px 0 10px}.development-priorities p{margin-bottom:0}.development-invite{padding:55px 0}.development-invite h2{font-size:36px;letter-spacing:-1px}
}
@media(max-width:360px){.project-gallery{grid-template-columns:1fr}.development-tags{flex-wrap:wrap;gap:10px}.development-tags span+span{padding-left:10px}.process-grid{grid-template-columns:1fr}.project-card .project-meta{flex-wrap:wrap;gap:5px}.project-cover>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
