@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#ebebeb;--ink:#233535;--yellow:#f1d13e;--muted:#7c8687;--header:82px;--gutter:5.7vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.4 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}img{object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b49928;outline-offset:5px}::selection{background:var(--yellow)}.wrap{width:min(88.6%,1360px);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--yellow);padding:12px}.skip-link:focus{top:10px}
h2{font-size:clamp(38px,4.16vw,64px);line-height:1.1;letter-spacing:-.045em}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:16px 25px;font-size:16px;font-weight:600;line-height:1.4;transition:background-color .2s}.button-yellow{background:var(--yellow);color:var(--ink)}.button-yellow:hover{background:#e4c436}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#355454}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white}
/* Header: reference layout with the requested left logo and centred menu. */
.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid transparent}.site-header.scrolled{border-bottom-color:#23353525}.brand{display:inline-flex;align-items:center;gap:9px;width:max-content}.brand-mark{width:30px;height:40px}.brand-type{font-size:32px;letter-spacing:-.05em;line-height:1}.brand-type small{display:block;font-size:7px;letter-spacing:0;line-height:1.3;margin-top:7px;white-space:nowrap}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:24px}.desktop-nav a{font-size:12px;white-space:nowrap}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-contact{display:flex;align-items:center;justify-content:flex-end;gap:22px}.phone-button{background:transparent;font-size:18px;font-weight:700;white-space:nowrap;padding:0}.text-button{background:var(--ink);color:white;padding:13px 20px;font-size:14px;font-weight:600;white-space:nowrap}.menu-toggle{display:none;background:none;padding:12px 0 12px 12px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:6px 0;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--header) 0 auto;z-index:29;background:var(--paper);padding:10px var(--gutter) 25px;border-bottom:1px solid #23353530;max-height:calc(100dvh - var(--header));overflow:auto}.mobile-menu:not([hidden]){display:grid}.mobile-menu a{font-size:22px;padding:15px 0;border-bottom:1px solid #23353520}.mobile-menu>button{background:var(--ink);color:white;padding:15px;text-align:left;margin-top:20px}
/* 1. Only the reference's title, subtitle, paragraph and photo-filled mark. */
.hero{position:relative;min-height:680px;height:60.7vw;max-height:1100px;overflow:hidden;padding:clamp(150px,13.6vw,250px) var(--gutter) 60px}.hero-copy{position:relative;z-index:2;width:46%;max-width:780px}.hero h1{font-size:clamp(64px,5.6vw,106px);line-height:1.15;letter-spacing:-.055em;min-height:2.3em}.hero h2{font-size:clamp(34px,3.36vw,62px);line-height:1.25;letter-spacing:-.045em;margin-top:18px}.hero p{font-size:clamp(14px,1.28vw,22px);line-height:1.4;max-width:29em;margin-top:30px}.hero-letter{position:absolute;right:-1%;top:clamp(146px,13vw,240px);bottom:-65px;width:53%;pointer-events:none}.hero-letter svg{width:100%;height:100%}.hero-enter{animation:enter .8s ease both}.hero h2{animation-delay:.08s}.hero p{animation-delay:.16s}.hero-letter{animation:enter 1s ease both}
/* 2. Screenshot 1: dark full-width image, centred company and 3 statistics. */
.about{position:relative;isolation:isolate;overflow:hidden;color:#f8ead7;min-height:780px;height:47.5vw;max-height:1050px}.section-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.about-shade{position:absolute;inset:0;background:#22272bad;z-index:-1}.about-inner{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:55px 80px}.about-brand{min-height:175px;display:flex;align-items:flex-start}.about-brand h2{font-size:clamp(78px,5.2vw,108px);line-height:1.1;font-weight:700;letter-spacing:-.04em;color:white}.about-description{font-family:Arial,sans-serif;font-size:clamp(18px,1.16vw,24px);line-height:1.3;max-width:740px;margin:70px auto 0}.stats{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:75px;text-align:left;width:min(100%,1240px);margin-top:auto;padding-top:65px}.stat-number{font-family:Georgia,'Times New Roman',serif;font-size:clamp(66px,4.7vw,100px);letter-spacing:-.035em;line-height:1.1;white-space:nowrap}.stat p{font-family:Arial,sans-serif;color:#bcb6a9;font-size:clamp(17px,1.16vw,24px);line-height:1.3;margin-top:28px}.stat sup{font-size:.65em}
/* 3. The requested team section, without additional marketing copy. */
.team{padding-block:100px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:50px}.team-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.team-photo{overflow:hidden}.team-photo img{width:100%;aspect-ratio:3/2}.team-person{padding:32px 0;border-bottom:1px solid #aebaba}.team-person:first-child{border-top:1px solid #aebaba}.team-person h3{font-size:25px;letter-spacing:-.025em}.team-person p{font-size:16px;color:var(--muted);margin-top:8px}
/* 4. Four copies of the reference project card, mirrored in alternating rows. */
.project{position:relative;isolation:isolate;overflow:hidden;min-height:700px;height:64.7vw;max-height:1100px;padding:9vw var(--gutter);display:flex;align-items:center}.project-backdrop{position:absolute;inset:-55px 0;width:100%;height:calc(100% + 110px);object-fit:cover;z-index:-2;will-change:transform}.project:after{content:'';position:absolute;inset:0;background:#18344d35;z-index:-1}.project-card{width:min(100%,1360px);margin:auto;display:grid;grid-template-columns:34% 66%;padding:8px;background:var(--paper);min-height:530px;height:42.4vw;max-height:740px}.project:nth-child(even) .project-card{grid-template-columns:66% 34%}.project:nth-child(even) .project-copy{order:2}.project:nth-child(even) .project-visual{order:1}.project-copy{padding:24px 20px 75px;display:flex;flex-direction:column;align-items:flex-start}.project h3{font-size:clamp(32px,2.88vw,50px);line-height:1.3;letter-spacing:-.045em}.project-description{font-size:clamp(14px,1.12vw,19px);line-height:1.4;max-width:90%;margin-top:26px}.project-copy .button{margin-top:auto}.project-visual{position:relative;overflow:hidden;min-width:0}.project-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-facts{position:absolute;top:12px;right:12px;left:12px;display:flex;justify-content:flex-end;gap:12px;color:white}.project-fact{background:var(--ink);padding:13px 22px;text-align:center}.project-fact strong{display:block;font-size:16px;line-height:1.3;font-weight:500;white-space:nowrap}.project-fact span{display:block;font-size:10px;margin-top:6px;white-space:nowrap}
/* 5. Exactly the three reference cards; no extra title above them. */
.benefits{padding-block:100px}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.image-zoom{overflow:hidden}.benefit img{width:100%;aspect-ratio:440/540;transition:transform .6s ease}.benefit:hover img{transform:scale(1.018)}.benefit h3{font-size:clamp(18px,1.35vw,24px);line-height:1.35;margin-top:18px;letter-spacing:-.025em}.benefit p{font-size:clamp(15px,1.12vw,20px);line-height:1.35;max-width:92%;margin-top:13px}
/* 6. The oversized transparent architectural silhouette, at reference scale. */
.trust{position:relative;isolation:isolate;overflow:hidden;height:104.6vw;min-height:1180px;max-height:2100px}.trust-image{position:absolute;z-index:-2;width:214%;height:113%;left:-16.5%;top:-2.8%}.trust-image img{width:100%;height:100%;max-width:none;object-fit:fill}.trust-content{position:relative;height:100%;padding-top:clamp(130px,14.4vw,275px)}.trust-copy{width:48%;}.trust-copy h2{font-size:clamp(38px,4.16vw,74px);line-height:1.1;letter-spacing:-.045em}.trust-paragraphs{margin-top:6.8vw;max-width:84%;font-size:clamp(14px,1.28vw,22px);line-height:1.4}.trust-paragraphs p+p{margin-top:10px}.trust-copy .button{margin-top:45px;font-size:16px}.purchase-grid{position:absolute;bottom:10.5%;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:55px;color:white}.purchase-grid article{border-top:1px solid #b8c7c780;padding-top:24px}.purchase-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.purchase-title h3{font-size:clamp(22px,1.76vw,32px);letter-spacing:-.035em}.purchase-title svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.3;flex:none}.purchase-grid p{font-size:clamp(14px,1.28vw,22px);line-height:1.4;margin-top:30px;max-width:95%}
/* 7. News exactly as the supplied screenshot: picture, title, summary. */
.news{padding-top:110px}.news .section-heading{margin-bottom:48px}.news .button{padding-inline:32px;white-space:nowrap}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.news-card{display:block;width:100%;padding:0;text-align:left;background:transparent;font-weight:400}.news-image{display:block;position:relative;overflow:hidden;aspect-ratio:4/5}.news-image>img{width:100%;height:100%;transition:transform .6s ease}.news-card:hover img{transform:scale(1.018)}.news-card h3{font-size:clamp(24px,1.8vw,32px);font-weight:400;line-height:1.4;letter-spacing:-.045em;margin-top:28px}.news-card p{font-size:clamp(16px,1.12vw,20px);line-height:1.45;color:var(--muted);margin-top:12px}
/* 8. Light contact section and separate green form; inset map below. */
.contacts{padding-block:160px 40px}.contacts-inner{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(0,1fr);gap:25px;align-items:start}.contact-copy h2{font-size:clamp(38px,4.16vw,64px);line-height:1.2;letter-spacing:-.04em}.contact-details{margin-top:95px;display:grid;grid-template-columns:1fr 1.1fr;gap:34px 30px}.contact-details span{display:block;font-size:16px;margin-bottom:5px}.contact-details p,.contact-details button{font-size:20px;background:transparent;padding:0;text-align:left;line-height:1.4}.contact-panel{background:linear-gradient(#233535,#3f6666);color:white;padding:32px;margin-top:17px}.contact-panel>h3{font-size:30px;line-height:1.2;max-width:310px;letter-spacing:-.025em}.contact-form{margin-top:30px}.contact-form label{display:block;position:relative;margin-bottom:24px}.contact-form input{display:block;width:100%;height:48px;min-width:0;border:0;border-bottom:1px solid #b6c2c2;background:transparent;color:white;border-radius:0;padding:0 0 12px;font-size:16px;outline-offset:3px}.contact-form input::placeholder{color:#b3c0c0;opacity:1}.phone-field input{padding-left:42px}.phone-prefix{position:absolute;top:8px;left:0;display:flex;align-items:center;gap:5px;font-size:12px;color:#adb9b9}.russian-flag{display:block;width:18px;height:12px;background:linear-gradient(#fff 0 33.33%,#1743a1 33.33% 66.66%,#d83030 66.66%);box-shadow:0 0 0 1px #fff2}.contact-form .button{width:100%;font-size:18px;font-weight:400;min-height:54px}.consent{font-size:12px;color:#b8c7c7;line-height:1.4;margin-top:20px}.consent button{font:inherit;color:inherit;padding:0;background:none;border-bottom:1px solid #b8c7c7}.form-result{font-size:13px;line-height:1.4;color:var(--yellow)}.form-result:not(:empty){margin-top:20px}.map-section{height:400px;margin-top:60px}.map-section iframe{width:100%;height:100%;border:0;display:block}
/* 9. Original dark footer, with navigation in two columns. */
.site-footer{background:linear-gradient(#233535,#3f6666);color:var(--paper);padding:40px 0 26px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:50px}.footer-brand .brand-mark{width:40px;height:50px}.footer-brand .brand-type{font-size:42px}.footer-nav{display:grid;grid-template-columns:max-content max-content;gap:12px 36px;font-size:16px}.footer-nav button{background:none;padding:0;text-align:left}.footer-nav a:hover,.footer-nav button:hover{text-decoration:underline}.footer-contact{display:flex;align-items:flex-end;flex-direction:column;gap:26px}.footer-contact .button{min-width:210px}.footer-contact .phone-button{color:var(--paper);font-size:clamp(24px,2.8vw,44px);font-weight:400;letter-spacing:-.05em}.footer-bottom{margin-top:70px}.footer-bottom>button{color:inherit;background:none;padding:0;font-size:16px}
/* 6.1. Reference modal: 560px, plain dark surface and screen-corner close. */
dialog{border:0;padding:0;position:fixed;max-height:calc(100dvh - 40px);overscroll-behavior:contain}dialog::backdrop{background:#0009}dialog[open]{animation:fade .25s ease both}.contact-dialog{width:min(560px,calc(100% - 40px));background:var(--ink);color:white;overflow:auto}.dialog-content{padding:40px 45px}.dialog-content h2{font-size:36px;line-height:1.2;letter-spacing:-.04em}.dialog-intro{font-size:16px;line-height:1.4;margin-top:14px}.dialog-content .contact-form{margin-top:38px}.dialog-content .contact-form label{margin-bottom:28px}.dialog-content .contact-form input{height:56px}.dialog-content .phone-prefix{top:14px}.dialog-content .contact-form .button{min-height:62px}.dialog-content .consent{font-size:14px;margin-top:22px}.dialog-close{position:fixed;top:15px;right:24px;width:40px;height:40px;padding:0;background:transparent;font-family:Arial,sans-serif;font-size:42px;font-weight:300;line-height:1;color:white;z-index:70}.info-dialog{width:min(680px,calc(100% - 40px));background:var(--paper);color:var(--ink);overflow:auto}.info-dialog .dialog-close{position:absolute;right:12px;top:10px;color:var(--ink)}.info-content{padding:50px 40px 40px}.info-content h2{font-size:32px;line-height:1.2;margin-bottom:25px}.info-content img{width:100%;max-height:350px;object-fit:cover;margin-bottom:25px}.info-content p{margin-top:16px;font-size:16px;line-height:1.5}
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.js .reveal.is-visible{opacity:1;transform:none}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}
@media(min-width:2000px){.hero{padding-left:max(5.7vw,calc((100vw - 1600px)/2))}.hero-letter{width:47%;right:4%;top:180px;bottom:-50px}.project{padding-block:160px}.trust{height:2000px}.trust-image{width:4000px;left:calc(50% - 1700px);height:2260px;top:-55px}.trust-copy{width:650px}.trust-copy h2{font-size:64px}.trust-paragraphs{margin-top:100px;max-width:510px;font-size:19px}.purchase-grid p{font-size:18px}.purchase-grid{bottom:180px}.trust-content{padding-top:230px}}
@media(max-width:1160px){:root{--header:76px}.site-header{grid-template-columns:1fr auto auto;gap:22px}.desktop-nav{display:none}.menu-toggle{display:block}.header-contact{gap:20px}.hero{height:690px;padding-top:145px}.hero h1{font-size:64px}.hero h2{font-size:34px}.hero p{font-size:14px}.hero-letter{top:140px;bottom:0;width:52%}.about-description{max-width:650px}.stats{gap:35px}.stat-number{font-size:60px}.stat p{font-size:16px}.team-layout{gap:40px}.team-person h3{font-size:22px}.project{height:690px;min-height:0;padding-block:70px}.project-card{height:530px;min-height:0}.project-copy{padding:25px 17px 60px}.project h3{font-size:32px}.project-description{font-size:13px;max-width:95%}.project-facts{gap:8px;top:10px;right:10px;left:10px}.project-fact{padding:13px 12px}.project-fact strong{font-size:14px}.project-fact span{font-size:8px}.project-copy .button{font-size:14px;padding-inline:18px}.trust{height:1250px;min-height:0}.trust-copy{width:49%}.trust-copy h2{font-size:39px}.trust-paragraphs{font-size:14px;max-width:90%;margin-top:70px}.trust-content{padding-top:150px}.purchase-grid{gap:35px;bottom:11%}.purchase-grid p{font-size:14px}.news-grid{gap:30px}.news .button{font-size:14px;padding-inline:22px}.contact-copy h2{font-size:39px}.contact-panel{padding:27px}.contact-panel h3{font-size:26px}.contact-details{gap:30px 15px;margin-top:75px}.contact-details span{font-size:14px}.contact-details p,.contact-details button{font-size:17px}.footer-main{gap:25px}.footer-nav{gap:12px 24px;font-size:14px}.footer-contact .phone-button{font-size:26px}}
@media(max-width:850px){.header-contact .text-button{display:none}.hero{min-height:620px;height:650px;padding-top:135px}.hero h1{font-size:58px}.hero h2{font-size:29px;margin-top:18px}.hero p{font-size:13px;margin-top:24px;max-width:300px}.hero-copy{width:47%}.hero-letter{top:140px;bottom:10px}.about{height:750px;min-height:0}.about-inner{padding-block:45px 65px}.about-brand{min-height:140px}.about-brand h2{font-size:76px}.about-description{font-size:17px;margin-top:55px;max-width:620px}.stats{gap:28px}.stat-number{font-size:50px}.stat p{font-size:14px}.team{padding-block:80px}.team-layout{gap:30px;grid-template-columns:1.1fr 1fr}.team-person{padding:22px 0}.team-person h3{font-size:20px}.team-person p{font-size:13px}.project{height:600px;padding-block:50px}.project-card{height:500px;grid-template-columns:36% 64%}.project:nth-child(even) .project-card{grid-template-columns:64% 36%}.project h3{font-size:28px}.project-description{font-size:12px;margin-top:22px}.project-copy{padding:20px 15px 50px}.project-fact{padding:11px 9px}.project-fact strong{font-size:12px}.project-fact span{font-size:7px}.project-facts{gap:6px}.project-copy .button{font-size:12px;padding-inline:15px;min-height:48px}.benefits{padding-block:80px}.benefits-grid{gap:18px}.benefit h3{font-size:17px}.benefit p{font-size:13px}.trust-copy h2{font-size:32px}.trust-paragraphs{font-size:13px;max-width:92%;margin-top:60px}.trust{height:1150px}.trust-content{padding-top:120px}.trust-copy .button{font-size:13px;margin-top:30px}.purchase-grid{gap:25px}.purchase-title h3{font-size:22px}.purchase-grid p{font-size:13px}.news-grid{gap:22px}.news-card h3{font-size:23px}.news-card p{font-size:14px}.news{padding-top:80px}.news .section-heading{gap:20px}.news h2{font-size:36px}.news .button{font-size:12px;padding:15px}.contacts{padding-top:110px}.contacts-inner{grid-template-columns:1.15fr 1fr;gap:25px}.contact-copy h2{font-size:31px}.contact-panel{padding:24px}.contact-panel h3{font-size:23px}.contact-details{grid-template-columns:1fr;gap:25px;margin-top:50px}.contact-form input{font-size:14px}.footer-contact .phone-button{font-size:21px}.footer-contact .button{font-size:13px;min-width:170px}.footer-brand .brand-type{font-size:34px}.footer-nav{gap:12px 18px;font-size:13px}}
@media(max-width:600px){:root{--header:70px;--gutter:6%}.wrap{width:88%}.site-header{gap:12px}.brand-mark{width:23px;height:32px}.brand-type{font-size:28px}.brand-type small{font-size:6px}.header-contact .phone-button{font-size:13px}.menu-toggle span{width:23px}.hero{height:820px;min-height:0;padding-top:115px}.hero-copy{width:100%;max-width:430px}.hero h1{font-size:60px;min-height:0}.hero h2{font-size:30px;margin-top:30px}.hero p{font-size:14px;max-width:330px;margin-top:24px}.hero-letter{height:365px;width:68%;right:7%;top:auto;bottom:-10px}.about{height:auto;min-height:850px}.about-inner{padding-block:50px 55px}.about-brand{min-height:110px}.about-brand h2{font-size:68px}.about-description{font-size:16px;margin-top:35px;line-height:1.4}.stats{grid-template-columns:1fr;gap:30px;margin-top:45px;padding-top:0;width:100%}.stat{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px}.stat-number{font-size:46px}.stat p{margin:0;font-size:13px}.team{padding-block:65px}.section-heading{margin-bottom:30px}h2{font-size:36px}.team-layout{grid-template-columns:1fr;gap:25px}.team-person h3{font-size:22px}.team-person p{font-size:14px}.project{height:auto;padding:35px 16px}.project-card,.project:nth-child(even) .project-card{height:auto;min-height:0;grid-template-columns:1fr;padding:7px}.project-visual,.project:nth-child(even) .project-visual{order:1;aspect-ratio:1/1}.project-copy,.project:nth-child(even) .project-copy{order:2;padding:23px 17px 25px}.project h3{font-size:32px}.project-description{font-size:14px;margin-top:20px;max-width:100%}.project-copy .button{margin-top:27px;font-size:14px;min-width:165px}.project-facts{gap:5px;top:8px;left:8px;right:8px}.project-fact{flex:1;padding:11px 6px}.project-fact strong{font-size:12px}.project-fact span{font-size:7px}.project-fact:last-child{flex:1.4}.benefits{padding-block:60px}.benefits-grid{grid-template-columns:1fr;gap:40px}.benefit h3{font-size:22px;margin-top:18px}.benefit p{font-size:16px;max-width:100%;margin-top:12px}.trust{height:1780px}.trust-content{padding-top:70px}.trust-copy{width:100%}.trust-copy h2{font-size:34px}.trust-paragraphs{font-size:14px;margin-top:35px;max-width:100%}.trust-copy .button{font-size:14px;margin-top:30px}.trust-image{top:550px;left:-82%;width:280%;height:1050px}.trust:after{content:'';position:absolute;inset:auto 0 0;height:470px;background:linear-gradient(transparent,#152526 30%);z-index:-1}.purchase-grid{grid-template-columns:1fr;gap:25px;bottom:50px}.purchase-grid article{padding-top:18px}.purchase-title h3{font-size:24px}.purchase-grid p{font-size:14px;margin-top:14px;max-width:100%}.news{padding-top:65px}.news .section-heading{flex-wrap:wrap;gap:25px;margin-bottom:30px}.news .button{font-size:14px;padding:16px 24px}.news-grid{grid-template-columns:1fr;gap:40px}.news-card h3{font-size:27px;margin-top:22px}.news-card p{font-size:16px}.contacts{padding-block:80px 30px}.contacts-inner{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:33px}.contact-details{grid-template-columns:1fr 1fr;gap:25px 20px;margin-top:40px}.contact-details span{font-size:12px}.contact-details p,.contact-details button{font-size:15px}.contact-panel{padding:28px;margin:0}.contact-panel>h3{font-size:28px;max-width:100%}.contact-form input{font-size:16px}.map-section{height:350px;margin-top:35px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-nav{grid-row:2;grid-column:1/-1;grid-template-columns:1fr 1fr;font-size:15px;gap:17px}.footer-contact .button{font-size:12px;min-height:45px;min-width:150px;padding:12px}.footer-contact .phone-button{font-size:17px}.footer-contact{gap:20px}.footer-bottom{margin-top:45px}.footer-bottom>button{font-size:13px}.contact-dialog{width:calc(100% - 32px);max-height:calc(100dvh - 80px)}.dialog-content{padding:35px 25px}.dialog-content h2{font-size:30px}.dialog-intro{font-size:14px}.dialog-content .contact-form{margin-top:28px}.dialog-content .consent{font-size:12px}.dialog-close{top:9px;right:8px;font-size:36px}.info-content{padding:45px 25px 30px}.info-content h2{font-size:28px}}
@media(max-width:360px){.brand-type{font-size:24px}.brand-mark{width:20px}.brand-type small{font-size:5px}.header-contact .phone-button{font-size:11px}.site-header{gap:8px}.hero h2{font-size:27px}.hero-letter{height:330px}.stat-number{font-size:40px}.stat{gap:12px}.stat p{font-size:12px}.project-fact strong{font-size:10px}.project-fact span{font-size:6px}.project-facts{gap:4px}.project-fact{padding-inline:5px}.trust-copy h2{font-size:29px}.contact-copy h2{font-size:29px}.contact-details{grid-template-columns:1fr}.footer-contact .button{min-width:130px;font-size:11px}.footer-contact .phone-button{font-size:14px}.footer-brand .brand-type{font-size:28px}.footer-brand .brand-mark{width:28px}}
@media(orientation:landscape) and (max-height:650px){.mobile-menu:not([hidden]){grid-template-columns:1fr 1fr;gap:0 25px}.mobile-menu a{font-size:18px}.contact-dialog{max-height:calc(100dvh - 32px)}.dialog-content{padding-top:30px;padding-bottom:30px}.dialog-close{right:8px;top:5px}.dialog-content .contact-form{margin-top:25px}}
.team-photo img,.benefit img{height:auto}
.news-grid{align-items:start}
@media(min-width:1161px){.news-card h3{font-size:30px}.news-card p{font-size:18px}}
@media(min-width:601px){.trust:after{content:'';position:absolute;inset:auto 0 0;height:39%;z-index:-1;background:linear-gradient(transparent,rgba(3,15,25,.52) 38%,rgba(3,15,25,.6))}}
html{scrollbar-gutter:stable}
dialog{scrollbar-width:thin;scrollbar-color:#748a8a #233535}
@media(min-width:2000px){.hero{height:max(100svh,60.7vw);max-height:none;padding-top:13.6vw;padding-left:var(--gutter)}.hero-copy{width:46%;max-width:none}.hero h1{font-size:5.6vw}.hero h2{font-size:3.36vw}.hero p{font-size:1.28vw}.hero-letter{width:53%;right:-1%;top:13vw;bottom:-65px}.trust{height:104.6vw;min-height:145svh;max-height:none}.trust-image{width:214%;height:113%;left:-12%;top:-2.8%}.trust-content{padding-top:14.4vw}.trust-paragraphs{margin-top:6.8vw}.purchase-grid{bottom:10.5%}}
@media(min-width:1161px) and (max-width:1279px){.header-contact{gap:14px}.header-contact .phone-button{font-size:16px}.header-contact .text-button{font-size:12px;padding:13px 12px}}
.contact-socials{display:flex;align-items:flex-end;gap:12px}.contact-socials button{padding:0;background:none}.contact-socials img{width:50px;height:50px}.dialog-close{font-size:0}.dialog-close:before,.dialog-close:after{content:'';position:absolute;left:7px;top:19px;width:28px;height:1.5px;background:currentColor;transform:rotate(45deg)}.dialog-close:after{transform:rotate(-45deg)}
@media(min-width:1161px) and (max-width:1999px){.trust-paragraphs{max-width:92%}.trust-paragraphs p:nth-child(-n+2){max-width:88%}}
.news-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;font-size:48px;line-height:1.1;letter-spacing:-.05em}.news-brand-mark{width:60px;height:72px;margin-bottom:12px}.news-brand small{font-size:12px;letter-spacing:0;margin-top:10px}
@media(min-width:1161px){.project-card{width:min(88%,1360px);margin-left:auto;margin-right:0}.project:nth-child(even) .project-card{margin-left:0;margin-right:auto}}
/* Review corrections: viewport-sized chapters and a visible white project seam. */
.hero,.about,.team,.project,.benefits,.news,.contacts{min-height:100svh;max-height:none}
.trust{min-height:145svh;max-height:none}
.about-inner{min-height:100svh}
.team,.news{display:flex;flex-direction:column;justify-content:center}
.benefits{display:flex;align-items:center}
.benefits-grid{width:100%}
.news{padding-bottom:80px}
#project-list{display:grid;row-gap:clamp(24px,2vw,40px);background:#fff}
/* Both forms share the same field, focus, autofill and consent treatment. */
.contact-panel{border-radius:12px;box-shadow:0 18px 50px #23353514}
.contact-dialog{border-radius:12px;box-shadow:0 24px 90px #0004}
.contact-form label,.dialog-content .contact-form label{margin-bottom:20px}
.contact-form input:not([type=checkbox]){height:58px;padding:15px 16px;border:1px solid #b6c2c24d;border-radius:6px;background:#2d4242;color:#fff;font-size:16px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.contact-form input:not([type=checkbox]):focus{border-color:var(--yellow);box-shadow:0 0 0 3px #f1d13e16;outline:none}
.contact-form input:not([type=checkbox])::placeholder{color:#bdcbcb}
.contact-form input:-webkit-autofill,.contact-form input:-webkit-autofill:hover,.contact-form input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #2d4242 inset;-webkit-text-fill-color:#fff;caret-color:#fff}
.contact-form input:autofill{background:#2d4242;color:#fff}
.contact-form .phone-field input{padding-left:58px}
.contact-form .phone-prefix,.dialog-content .phone-prefix{left:16px;top:50%;transform:translateY(-50%);pointer-events:none}
.contact-form .button{border-radius:6px;min-height:58px}
.contact-form .consent{display:flex;align-items:flex-start;gap:12px;margin-top:22px;color:#c6d2d2;font-size:13px;line-height:1.6}
.contact-form .consent label,.dialog-content .contact-form .consent label{display:block;margin:0;cursor:pointer;padding:0;flex:1}
.contact-form .consent input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:21px;height:21px;margin:0;margin-top:1px;padding:0;border:1px solid #b6c2c2;border-radius:4px;background:#ffffff08;cursor:pointer}
.contact-form .consent input:checked{background:var(--yellow);border-color:var(--yellow)}
.contact-form .consent input:checked:after{content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.consent button{text-align:left;border:0;text-decoration:underline;text-underline-offset:3px}
.consent button:hover{color:white}
.form-result:not(:empty){padding-top:16px;border-top:1px solid #ffffff25;color:#e6eeee}
/* Yandex map in a softly elevated frame. */
.map-section{height:clamp(400px,48svh,650px);padding:10px;border:1px solid #fff;border-radius:26px;background:#f7f8f5;box-shadow:0 22px 65px -22px #23353540,0 4px 18px #2335350c;overflow:hidden;margin-bottom:35px;scroll-margin-top:25px}
.map-section iframe{border-radius:17px;background:#e0e4dc}
@media(max-width:600px){.news{padding-bottom:0}.map-section{padding:7px;border-radius:20px}.map-section iframe{border-radius:13px}.contact-panel{padding:26px}.contact-form .consent{font-size:12px}.dialog-content{padding-inline:24px}}
.map-page{min-height:0;display:flex;align-items:center;padding-block:70px}
.map-page .map-section{width:100%;height:max(280px,calc(70svh - 126px));margin:0}
/* Retain 70% of the entire description-to-statistics gap, including free space. */
@media(min-width:601px){
  .about-inner{display:grid;grid-template-rows:175px max-content minmax(0,7fr) max-content minmax(0,3fr);justify-items:center;padding-bottom:99.5px}
  .about-brand{grid-row:1;align-self:start}
  .about-description{grid-row:2}
  .stats{grid-row:4;margin-top:0;padding-top:45.5px}
}
@media(min-width:601px) and (max-width:850px){.about-inner{grid-template-rows:140px max-content minmax(0,7fr) max-content minmax(0,3fr);padding-bottom:84.5px}}
@media(max-width:600px){.stats{margin-top:31.5px}}
/* One third of the previous visible gap, independent of form height and screen size. */
:root{--contact-top:160px;--contact-bottom:40px;--contact-content-height:513px;--previous-map-height:max(400px,calc(100svh - 180px));--previous-map-inset:max(70px,calc((100svh - var(--previous-map-height))/2))}
.contacts{min-height:0;padding-bottom:0}
.map-page{padding-top:calc((max(var(--contact-bottom),calc(100svh - var(--contact-top) - var(--contact-content-height))) + var(--previous-map-inset))/3)}
@media(max-width:850px){:root{--contact-top:110px}}
@media(max-width:600px){:root{--contact-top:80px;--contact-bottom:30px}}
/* ===== Motion, after the eagle-eye.kz reference =====
   One easing family: rises use cubic-bezier(.65,0,.35,1), wipes and lines cubic-bezier(.83,0,.17,1). */
:root{--ease-rise:cubic-bezier(.65,0,.35,1);--ease-wipe:cubic-bezier(.83,0,.17,1)}
/* Headings rise out of a mask, line by line. */
.rise-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.rise-line{display:block}
.js .rise-line{transform:translate3d(0,108%,0);transition:transform 1s var(--ease-rise);transition-delay:calc(var(--i,0) * 110ms)}
.js [data-rise].is-visible .rise-line,.js.hero-ready .hero .rise-line{transform:none}
/* Body copy fades in with a short rise; --d sets the stagger. */
.js .reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s ease,transform 1s var(--ease-rise);transition-delay:var(--d,0ms)}
.js .reveal.reveal-right{transform:translate3d(60px,0,0)}
.js .reveal.is-visible{opacity:1;transform:none}
/* Photo wipe: the picture uncovers from left to right and settles. */
.js .reveal-wipe{opacity:1;transform:none}
.js .reveal-wipe img,.js .project-card .project-visual>img{clip-path:inset(0 100% 0 0);transform:scale(1.08);transition:clip-path 1.2s var(--ease-wipe),transform 1.6s var(--ease-rise)}
.js .project:nth-child(even) .project-card .project-visual>img{clip-path:inset(0 0 0 100%)}
.js .reveal-wipe.is-visible img,.js .project-card.is-visible .project-visual>img,.js .project:nth-child(even) .project-card.is-visible .project-visual>img{clip-path:inset(0 0 0 0);transform:none}
.js .project-card{transform:translate3d(0,40px,0)}
.project-fact{transition:opacity .6s ease,transform .8s var(--ease-rise)}
.js .project-card .project-fact{opacity:0;transform:translate3d(0,-10px,0)}
.js .project-card.is-visible .project-fact{opacity:1;transform:none}
.js .project-card.is-visible .project-fact:nth-child(1){transition-delay:.7s}
.js .project-card.is-visible .project-fact:nth-child(2){transition-delay:.82s}
.js .project-card.is-visible .project-fact:nth-child(3){transition-delay:.94s}
.project-backdrop{transform-origin:50% 50%}
/* Purchase options: the rule above each one draws from the left. */
.purchase-grid article{border-top:0;position:relative}
.purchase-grid article:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#b8c7c780;transform-origin:0 50%}
.js .line-draw:before{transform:scaleX(0);transition:transform 1.1s var(--ease-wipe);transition-delay:var(--d,0ms)}
.js .line-draw.is-visible:before{transform:none}
/* Opening sequence: header settles, the "В" photo is uncovered by a sliding curtain, title rises. */
.hero-letter{animation:none}
.hero-curtain{fill:var(--ink);transform-box:view-box;transition:transform 1.25s var(--ease-wipe) .15s}
.hero-photo{transform-box:fill-box;transform-origin:50% 50%;transition:transform 2.2s var(--ease-rise) .15s}
.js .hero-curtain{transform:none}
.js .hero-photo{transform:scale(1.14)}
.js.hero-ready .hero-curtain{transform:translate3d(0,101%,0)}
.js.hero-ready .hero-photo{transform:none}
.no-js-fallback .hero-curtain,.hero-curtain{will-change:transform}
html:not(.js) .hero-curtain{display:none}
.hero-title .rise-line{transition-duration:1.1s;transition-delay:.35s}
.hero-sub .rise-line{transition-delay:calc(.55s + var(--i,0) * 110ms)}
.js .hero-lead{animation:none;opacity:0;transform:translate3d(0,20px,0);transition:opacity .9s ease .95s,transform 1s var(--ease-rise) .95s}
.js.hero-ready .hero-lead{opacity:1;transform:none}
.js .site-header>*{opacity:0;transition:opacity .7s ease}
.js.hero-ready .site-header>*{opacity:1}
.js.hero-ready .site-header>*:nth-child(2){transition-delay:.1s}
.js.hero-ready .site-header>*:nth-child(3){transition-delay:.2s}
/* Trust scene drifts slightly slower than the page. */
.trust-image{will-change:transform}
/* Footer brand now carries the legal name. */
.footer-brand .brand-type{font-size:clamp(26px,2.3vw,38px);white-space:nowrap}
.contact-details a{font-size:20px;line-height:1.4;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.header-contact a.phone-button:hover,.footer-contact a.phone-button:hover{text-decoration:underline;text-underline-offset:5px}
.team-person:only-child,.team-person h3:only-child{margin:0}
@media(max-width:1160px){.contact-details a{font-size:17px}}
@media(max-width:600px){.contact-details a{font-size:15px}.footer-brand .brand-type{font-size:22px;white-space:normal}}
@media(max-width:600px){.footer-brand{grid-column:1/-1}.footer-contact{grid-row:3;grid-column:1/-1;align-items:flex-start}.footer-contact .phone-button{font-size:22px}}
/* Mirrored cards (2 and 4): facts sit at the outer, left edge of the photo. */
.project:nth-child(even) .project-facts{justify-content:flex-start}
#main{overflow-x:clip}
/* Project cards: exact eagle-eye.kz geometry (Tilda grid 1440 / 1200 / 960, card centred on the grid). */
@media(min-width:960px){
  .project{display:block;min-height:0;max-height:none;padding:0;height:735px}
  .project-card,.project:nth-child(even) .project-card{position:absolute;margin:0;padding:8px;min-height:0;max-height:none;top:119px;left:calc(50% - 480px + 10px);width:940px;height:496px;grid-template-columns:342px 1fr}
  .project:nth-child(even) .project-card{grid-template-columns:1fr 342px}
  .project-copy,.project:nth-child(even) .project-copy{padding:16px 12px}
  .project:nth-child(even) .project-copy{padding-left:20px}
  .project h3{font-size:40px;line-height:1.3;font-weight:500;letter-spacing:-2px;max-width:290px}
  .project-description{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:-.5px;margin-top:24px;max-width:278px}
  .project-copy .button{margin-top:auto;min-height:55px;height:55px;padding:16px 24px;font-size:16px;font-weight:700;letter-spacing:-.5px;line-height:1.3;min-width:0}
  .project-copy .button:hover{background:#1d3635;color:#fff}
  .project-facts,.project:nth-child(even) .project-facts{top:12px;right:12px;left:12px;gap:12px}
  .project-fact{padding:12px 24px;min-width:0}
  .project-fact strong{font-size:16px;line-height:1.4;font-weight:500}
  .project-fact span{font-size:10px;line-height:1.3;font-weight:500;opacity:.6;margin-top:7px}
}
@media(min-width:1200px){
  .project{height:809px}
  .project-card,.project:nth-child(even) .project-card{top:139px;left:calc(50% - 600px + 175px);width:985px;height:530px;grid-template-columns:337px 1fr}
  .project:nth-child(even) .project-card{left:calc(50% - 600px + 40px);grid-template-columns:1fr 337px}
  .project-copy,.project:nth-child(even) .project-copy{padding:20px 12px 12px 12px}
  .project:nth-child(even) .project-copy{padding-left:20px}
}
@media(min-width:1440px){
  .project{height:840px}
  .project-card,.project:nth-child(even) .project-card{top:150px;left:calc(50% - 720px + 385px);width:1015px;height:540px}
  .project:nth-child(even) .project-card{left:calc(50% - 720px + 40px)}
}
/* The photo inside the card stays at its size after the wipe. */
.project-visual>img{scale:var(--zoom,1)}
/* Section backdrop: exactly the section's size, cover, centred, no tint; a gentle zoom while scrolling (set from app.js). */
.project-backdrop{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:none!important;transform-origin:50% 50%;will-change:scale}
.project:after{content:none}
