@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#151719;--grey:#697078;--cream:#f7f6f3;--line:#e3e1db;--white:#fff;--accent:#a6adab}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.container{width:min(1320px,calc(100% - 100px));margin:auto}.skip{position:absolute;left:-200vw;top:10px;background:white;padding:12px;z-index:30}.skip:focus{left:10px}header{position:sticky;top:0;height:84px;z-index:15;background:#fff;border-bottom:1px solid #ededed;transition:box-shadow .2s}header.scrolled{box-shadow:0 8px 30px #00000010}.nav{display:flex;height:100%;align-items:center;justify-content:space-between;gap:30px}.logo{display:inline-flex;flex-direction:column;align-items:center;line-height:.85;letter-spacing:-.075em;font:800 36px 'Manrope',sans-serif;white-space:nowrap}.logo small{font-size:13px;letter-spacing:.08em;margin-top:9px;font-weight:800}.nav nav{display:flex;gap:37px;font-size:13px;font-weight:700}.nav nav a:hover,.footer-links a:hover{color:#777}.nav-actions{display:flex;align-items:center;gap:15px}.lang{border:0;background:transparent;font-size:13px;font-weight:800;padding:12px}.lang span{font-size:10px}.nav-cta{padding:14px 21px;background:var(--ink);color:white;font-size:12px;font-weight:700}.menu{display:none;border:0;background:transparent;padding:8px}.menu span{display:block;width:23px;height:2px;background:#111;margin:5px}.hero{height:min(830px,calc(100svh - 84px));min-height:620px;position:relative;color:#fff;background:#222}.hero-photo{position:absolute;inset:0;background:url('assets/construction.webp') center 39%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,12,.89) 0%,rgba(4,8,12,.62) 48%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,#0006,transparent 40%)}.hero-inner{height:100%;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hero-content{max-width:920px;padding-top:clamp(90px,15vh,180px)}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;color:#666f74;margin:0 0 28px}.eyebrow.light{color:#cbd1d0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(48px,6vw,91px);font-weight:600;letter-spacing:-.065em;line-height:1.09;margin-bottom:25px}h1 em,h2 em{font-weight:500;font-style:normal;color:#aeb7b6}.hero-text{font-size:17px;line-height:1.7;color:#e1e3e3;max-width:565px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.btn{border:1px solid transparent;display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:18px 24px;font-weight:800;font-size:12px;letter-spacing:.02em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-white{background:#fff;color:#111}.btn-outline{border-color:#ffffff80;color:#fff;background:#ffffff0a}.btn-outline:hover{background:#ffffff20}.hero-bottom{border-top:1px solid #ffffff55;padding:19px 0 28px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em}.section{padding-top:130px;padding-bottom:130px}.about{display:grid;grid-template-columns:1.12fr 1fr;gap:12%}.about h2,.section h2,.contact h2,.statement h2{font-size:clamp(36px,4.4vw,67px);letter-spacing:-.065em;line-height:1.15;font-weight:600}.about-right{padding-top:49px}.about-right>p{font-size:18px;color:#5d6265;line-height:1.8}.rule{height:1px;background:var(--line);margin:38px 0}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.about-stats div{display:flex;flex-direction:column;gap:10px}.about-stats strong{font:600 36px 'Manrope',sans-serif;letter-spacing:-.06em}.about-stats span{font-size:12px;color:#72787a}.image-banner{height:580px;position:relative;background:#111}.image-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000a,transparent 45%)}.image-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.banner-caption{position:absolute;bottom:31px;left:50%;transform:translateX(-50%);z-index:1;display:flex;justify-content:space-between;color:#fff;font-size:11px;font-weight:700;letter-spacing:.15em}.services{background:var(--cream)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:90px;margin-bottom:55px}.section-top h2{margin-bottom:0;max-width:680px}.section-top>p{max-width:340px;line-height:1.8;font-size:15px;color:#71777b;margin-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfceca}.service-grid article{padding:33px 22px 35px 0;border-bottom:1px solid #cfceca;position:relative;min-height:280px}.service-grid article+article{padding-left:25px;border-left:1px solid #cfceca}.num{color:#858b8e;font-size:12px;margin-bottom:35px}.service-grid h3{font-size:22px;letter-spacing:-.04em;max-width:240px;line-height:1.35}.service-grid p{font-size:13px;line-height:1.7;color:#777f80;max-width:270px}.arrow{position:absolute;right:18px;top:30px;font-size:20px}.projects{padding-bottom:150px}.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter button{padding:11px 18px;background:transparent;border:1px solid #ddd;color:#666;font-size:12px;font-weight:700}.filter button.active,.filter button:hover{background:#16191b;color:white;border-color:#16191b}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:330px;gap:16px}.gallery-card{border:0;padding:0;position:relative;overflow:hidden;text-align:left;background:#eee;color:#fff;min-width:0}.gallery-card.wide{grid-column:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.gallery-card:hover img{transform:scale(1.05)}.gallery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 65%)}.g-info{position:absolute;bottom:25px;left:26px;z-index:1}.g-info small{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:12px}.g-info strong{font:600 22px 'Manrope',sans-serif;letter-spacing:-.04em}.expand{position:absolute;right:25px;bottom:28px;z-index:1;font-size:23px}.gallery-card[hidden]{display:none}.statement{background:#151819;color:white;padding:110px 0 120px}.statement p{font-size:11px;letter-spacing:.17em;color:#b5bdbc;font-weight:700}.statement h2{max-width:950px;margin:28px 0 40px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.faqs details{border-bottom:1px solid #dedede;padding:22px 0}.faqs details:first-child{border-top:1px solid #dedede}.faqs summary{font-size:16px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}.faqs summary:after{content:'+';font-size:24px;font-weight:400;line-height:.75}.faqs details[open] summary:after{content:'−'}.faqs p{line-height:1.75;color:#697276;font-size:14px;padding-top:20px;margin-bottom:0}.contact{background:#202426;color:white;padding:120px 0}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:12%}.contact h2{margin-bottom:25px}.contact p:not(.eyebrow){line-height:1.85;color:#c7cdcd;max-width:540px}.social{display:inline-flex;justify-content:space-between;gap:60px;border-bottom:1px solid #8a9090;padding:12px 0;margin-top:23px;font-size:15px;font-weight:700}.contact-note{font-size:12px;color:#9da8a9;line-height:1.6;max-width:460px;margin-top:38px}.contact form{display:flex;flex-direction:column;gap:10px}.contact form label{font-size:12px;font-weight:700;margin-top:12px}.contact input,.contact select,.contact textarea{width:100%;border:1px solid #525a5c;border-radius:0;background:#2c3133;color:white;padding:16px;outline:none;min-height:52px}.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:white}.contact textarea{resize:vertical}.contact input::placeholder,.contact textarea::placeholder{color:#a9b0b2}.contact .form-submit{align-self:stretch;margin-top:15px}.contact form small{font-size:11px;color:#a5acae;line-height:1.6;margin-top:9px}.form-result{background:#31383a;padding:17px;margin-top:10px}.form-result p{font-size:13px}.form-result textarea{font-size:12px}.result-actions{display:flex;align-items:center;gap:15px;margin-top:12px}.result-actions button,.result-actions a{background:white;border:0;color:#111;font-size:12px;font-weight:700;padding:10px 15px}footer{background:#f3f2ee;padding:55px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-center,.footer-links{display:flex;flex-direction:column;gap:12px;font-size:12px;color:#6f7475}.footer-links{text-align:right}.float-contact{position:fixed;right:26px;bottom:24px;z-index:12;background:#16191a;color:#fff;border:1px solid #ffffff66;display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:50px;box-shadow:0 5px 25px #0004;font-weight:700;font-size:12px}.float-contact:first-letter{font-weight:900}#top{position:fixed;bottom:89px;right:26px;z-index:12;background:white;color:#17191a;width:38px;height:38px;border:1px solid #ddd;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s}#top.visible{opacity:1;pointer-events:auto}dialog{padding:45px 20px 20px;border:0;background:#111;color:#fff;width:min(1000px,95vw);max-height:95vh;text-align:center}dialog::backdrop{background:#000d}dialog img{max-height:75vh;margin:auto;object-fit:contain}dialog>button{position:absolute;right:9px;top:6px;background:transparent;color:white;border:0;font-size:30px}dialog p{font-size:13px;margin:15px}.light-nav{display:flex;justify-content:center;gap:15px}.light-nav button{border:1px solid #aaa;color:#fff;background:transparent;padding:8px 18px;font-size:20px}
@media(max-width:980px){.container{width:min(100% - 48px,1320px)}.nav nav{gap:18px}.nav-cta{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(3){border-left:0;padding-left:0}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-card.wide{grid-column:span 2}.about,.faq,.contact-grid{gap:7%}}
@media(max-width:680px){header{height:69px}.container{width:calc(100% - 36px)}.logo{font-size:28px}.logo small{font-size:10px;margin-top:7px}.menu{display:block}.nav nav{display:none;position:absolute;top:69px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:15px 18px 25px;box-shadow:0 12px 15px #0002}.nav nav.open{display:flex}.nav nav a{padding:15px 5px;border-bottom:1px solid #eee}.nav-actions{gap:3px}.hero{min-height:610px;height:calc(100svh - 69px);max-height:790px}.hero-photo{background-position:57% center}.hero-overlay{background:linear-gradient(90deg,#050708e6,#05070880),linear-gradient(0deg,#0009,transparent 50%)}.hero-content{padding-top:110px}h1{font-size:clamp(43px,10.2vw,65px)}.hero-text{font-size:14px}.eyebrow{font-size:10px}.btn{font-size:11px;padding:15px 17px;gap:20px}.hero-bottom{font-size:9px}.section{padding-top:80px;padding-bottom:80px}.about,.faq,.contact-grid{grid-template-columns:1fr;gap:25px}.about h2,.section h2,.contact h2,.statement h2{font-size:clamp(36px,9vw,52px)}.about-right{padding-top:0}.about-right>p{font-size:15px}.about-stats strong{font-size:29px}.image-banner{height:380px}.section-top{display:block;margin-bottom:35px}.section-top>p{margin-top:19px;font-size:14px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article,.service-grid article:nth-child(3){border-left:0;padding:22px 42px 22px 0;min-height:205px}.num{margin-bottom:20px}.service-grid h3{font-size:20px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:235px;gap:9px}.gallery-card.wide{grid-column:span 2;grid-row:span 1}.gallery-card:not(.wide) .g-info strong{font-size:15px}.gallery-card:not(.wide) .g-info small{font-size:9px}.g-info{bottom:14px;left:12px}.expand{right:12px;bottom:15px;font-size:17px}.statement{padding:80px 0}.faq{gap:5px}.contact{padding:80px 0}.footer-inner{align-items:flex-start;flex-wrap:wrap}.footer-center,.footer-links{font-size:11px}.footer-links{text-align:left}.float-contact{right:13px;bottom:13px;padding:12px 14px}#top{right:15px;bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
