
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --dark:#1f252b;
  --text:#242b31;
  --muted:#60666d;
  --blue:#6d8df2;
  --button:#0a76b8;
  --white:#fff;
  --footer-line:#e8e8e8;
  --container:1180px;
  --wide:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:Poppins,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.72;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
strong{font-weight:700}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}.wide{width:min(var(--wide),calc(100% - 40px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.site-header{position:absolute;inset:0 0 auto 0;z-index:50;padding-top:29px;color:#fff}.site-header .wide{display:flex;align-items:flex-start;justify-content:space-between}.site-logo{display:block;width:270px;line-height:0}.site-logo img{height:auto;width:100%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.site-nav{display:flex;gap:31px;align-items:center;padding-top:14px}.site-nav a{font-size:15px;letter-spacing:.45px;text-transform:uppercase;font-weight:800;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.12)}.site-nav a:hover{color:#fff;opacity:.82}.mail-link{width:18px;height:18px;display:flex;align-items:center;justify-content:center}.mail-link svg{width:17px;height:17px;fill:#fff}.menu-toggle{display:none;appearance:none;border:0;background:rgba(0,0,0,.36);color:#fff;border-radius:4px;width:42px;height:38px;align-items:center;justify-content:center}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:21px;height:2px;background:#fff;content:'';transition:.2s}.menu-toggle span:before{transform:translateY(-7px)}.menu-toggle span:after{transform:translateY(5px)}.nav-open .menu-toggle span{background:transparent}.nav-open .menu-toggle span:before{transform:rotate(45deg)}.nav-open .menu-toggle span:after{transform:rotate(-45deg) translate(1px,-1px)}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;color:#fff;text-align:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.58);z-index:1}.hero-inner{position:relative;z-index:2;width:min(900px,calc(100% - 40px));margin-top:55px}.section-mark{display:block;width:80px;height:3px;background:#2c2f33;margin:0 0 26px}.section-mark.center{margin:0 auto 26px}.hero .section-mark{background:#fff;margin:0 auto 30px}.home-hero{background:none}.hero-slides{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .85s ease;background-size:cover;background-position:center center;background-repeat:no-repeat}.hero-slide.is-active{opacity:1}.slide-rebar{background-image:url('../images/rebar-silhouette.jpg')}.slide-glass{background-image:url('../images/hero-glass.jpg');background-position:center 44%}.hero-title{margin:0;font-size:66px;line-height:1.08;letter-spacing:-1.3px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.22)}.hero-subtitle{margin:35px auto 0;max-width:750px;font-size:18px;line-height:1.65;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.28)}.page-hero{min-height:360px;height:360px;align-items:center}.page-hero:before{background:rgba(0,0,0,.27)}.page-hero .hero-inner{margin-top:50px}.page-hero .hero-title{font-size:66px}.hero-rebar{background-image:url('../images/rebar-silhouette.jpg');filter:none}.hero-contact{background-image:url('../images/workers-bw.jpg');background-position:center 43%}.hero-contact:before{background:rgba(0,0,0,.45)}
.section{padding:112px 0}.home-about{padding:110px 0 125px}.about-grid{display:grid;grid-template-columns:500px 1fr;gap:68px;align-items:center;width:min(960px,calc(100% - 40px));margin:0 auto}.about-img{width:500px;height:670px;object-fit:cover;object-position:center;border:0}.about-copy{padding-top:8px}.home-about h2,.content-split h2{margin:0 0 34px;font-size:42px;line-height:1.15;letter-spacing:-.5px;font-weight:700;color:#30333a}.home-about p{font-size:18px;line-height:1.6;margin:0 0 31px;color:#3d4148}.features{position:relative;background:url('../images/hero-glass.jpg') center center/cover no-repeat;color:#fff;padding:125px 0 112px;text-align:center}.features:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.72)}.feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:70px;width:min(1130px,calc(100% - 40px));margin:0 auto}.feature h3{font-size:20px;line-height:1.3;margin:0 0 56px;font-weight:800;color:#fff}.feature p{font-size:15px;line-height:1.75;margin:0;font-weight:600;color:#fff}.home-gallery{padding:112px 0 120px}.section-title{font-size:42px;line-height:1.2;text-align:center;font-weight:700;margin:0 0 48px;color:#222830}.gallery-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:min(1140px,calc(100% - 40px));margin:0 auto}.gallery-home-grid img{height:282px;width:100%;object-fit:cover}.gallery-home-grid img:nth-child(4),.gallery-home-grid img:nth-child(5){height:332px}.home-contact{background:url('../images/helmet-house-wide.jpg') center center/cover no-repeat;min-height:700px;padding:221px 0 214px}.contact-card{width:460px;background:#fff;padding:62px 60px 58px;margin-left:calc((100vw - min(var(--wide), calc(100% - 40px))) / 2 + 150px);box-shadow:0 0 0 rgba(0,0,0,0)}.contact-card h2{font-size:29px;color:var(--blue);margin:0 0 18px;line-height:1.1;font-weight:800}.contact-card p{font-size:13px;line-height:1.55;margin:0;color:#222}.contact-card b{font-weight:800;color:#000}
.main-content{background:#fff}.page-section{padding:112px 0}.azienda-main{padding:125px 0 112px}.content-split{display:grid;grid-template-columns:505px 1fr;gap:76px;align-items:start;width:min(1010px,calc(100% - 40px));margin:0 auto}.content-split .tall-img{width:505px;height:760px;object-fit:cover;object-position:center}.text-block{padding-top:69px}.text-block p{font-size:17px;line-height:1.58;margin:0 0 34px;color:#101822}.values{margin-top:38px;line-height:1.55}.azienda-columns{display:grid;grid-template-columns:1fr 1fr;gap:110px;width:min(1010px,calc(100% - 40px));margin:84px auto 50px}.azienda-columns h3{font-size:17px;line-height:1.4;margin:0 0 38px;font-weight:800}.azienda-columns p{font-size:17px;line-height:1.62;margin:0;color:#111922}.gallery-page{padding:91px 0 28px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:min(1025px,calc(100% - 40px));margin:0 auto 28px}.gallery-grid a,.gallery-grid img{display:block;width:100%;height:335px}.gallery-grid img{object-fit:cover}.services-page{padding:132px 0 58px}.services-intro{width:min(900px,calc(100% - 40px));margin:0 auto 84px;text-align:center}.services-intro h2{margin:0;font-size:28px;line-height:1.15;font-weight:800;color:#252a31}.services-grid{width:min(1010px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;column-gap:110px;row-gap:72px}.service-item h3{font-size:17px;line-height:1.45;margin:0 0 48px;color:#111a24;font-weight:800}.service-item h3 a:hover{color:#0a76b8}.service-item p{font-size:16.5px;line-height:1.65;margin:0 0 29px;color:#111822}.service-list{margin:0;padding:0;list-style:none;font-size:16px;line-height:1.55}.service-list li{margin:0}.service-detail{padding:105px 0 80px}.service-detail-wrap{width:min(980px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:370px 1fr;gap:70px;align-items:start}.service-detail img{height:520px;width:370px;object-fit:cover}.service-detail h2{font-size:36px;line-height:1.2;margin:0 0 24px}.service-detail p{font-size:17px;line-height:1.75;margin:0 0 28px}.service-detail h3{font-size:18px;margin:34px 0 12px}.service-cta{display:inline-flex;margin-top:34px;background:var(--button);color:#fff;border-radius:22px;padding:12px 22px;text-transform:uppercase;font-weight:800;font-size:12px;letter-spacing:.7px}.contact-page{padding:112px 0 55px}.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:80px;width:min(950px,calc(100% - 40px));margin:0 auto 130px;text-align:center}.contact-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 18px;background:#f7f7f7;color:var(--blue)}.contact-icon svg{width:34px;height:34px;fill:var(--blue)}.contact-info h2{font-size:14px;text-transform:uppercase;letter-spacing:1.2px;color:var(--blue);font-weight:800;margin:0 0 8px}.contact-info p{font-size:14px;margin:0;color:#000;line-height:1.5}.contact-form{width:min(1020px,calc(100% - 40px));margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:23px}.field label{display:block;font-size:13px;color:#000;font-weight:800;margin-bottom:8px}.req{color:#d20b0b}.field input,.field textarea{display:block;width:100%;border:0;background:#f7f7f7;border-radius:26px;min-height:38px;padding:10px 17px;font:400 14px/1.4 Poppins,Arial,sans-serif;color:#111;outline:none}.field small{display:block;font-size:12px;color:#63686e;margin-top:6px}.field textarea{min-height:111px;border-radius:24px;resize:vertical}.submit-btn{appearance:none;border:0;background:var(--button);color:#fff;min-width:148px;height:38px;border-radius:20px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.8px;cursor:pointer;padding:0 20px}.submit-btn:hover,.service-cta:hover{filter:brightness(.93)}.policy-page{padding:110px 0}.policy-page .container{width:min(900px,calc(100% - 40px))}.policy-page h1{font-size:42px;margin:0 0 20px}.policy-page p{font-size:16px;color:#333}.site-footer{padding:21px 0 32px;background:#fff;text-align:center}.footer-inner{width:min(1370px,calc(100% - 40px));border-top:1px solid var(--footer-line);margin:0 auto;padding-top:28px}.footer-nav{display:flex;justify-content:center;gap:36px;align-items:center;margin-bottom:28px}.footer-nav a{text-transform:uppercase;font-size:14px;letter-spacing:1.1px;font-weight:800;color:#10161d}.copyright{font-size:12px;letter-spacing:.6px;font-weight:700;color:#14171b}.back-to-top{position:fixed;right:28px;bottom:24px;width:42px;height:42px;border-radius:50%;border:0;background:#f1f1f1;color:#111;display:flex;align-items:center;justify-content:center;z-index:70;opacity:.95;cursor:pointer}.back-to-top svg{width:16px;height:16px;fill:#111}
@media (max-width:1100px){.site-logo{width:240px}.site-nav{gap:20px}.about-grid,.content-split{grid-template-columns:1fr 1fr;gap:42px}.about-img,.content-split .tall-img{width:100%;height:620px}.contact-card{margin-left:80px}.services-grid,.azienda-columns{gap:60px}.gallery-grid img,.gallery-grid a{height:300px}}
@media (max-width:860px){body{font-size:15px}.site-header{padding-top:20px}.site-header .wide{align-items:center}.site-logo{width:205px}.menu-toggle{display:flex}.site-nav{position:absolute;left:20px;right:20px;top:78px;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(0,0,0,.88);padding:12px 0;border-radius:2px}.nav-open .site-nav{display:flex}.site-nav a{display:block;padding:14px 18px;font-size:13px}.mail-link{height:auto;width:auto;align-items:flex-start;justify-content:flex-start}.mail-link svg{margin-left:18px;margin-top:10px}.hero-title,.page-hero .hero-title{font-size:42px}.hero-subtitle{font-size:16px;line-height:1.55}.hero{min-height:720px}.page-hero{height:310px;min-height:310px}.section,.home-about,.azienda-main,.page-section,.services-page,.contact-page{padding:70px 0}.about-grid,.content-split,.service-detail-wrap{grid-template-columns:1fr;width:min(620px,calc(100% - 36px))}.about-img,.content-split .tall-img,.service-detail img{height:auto;width:100%;max-height:none}.text-block{padding-top:0}.home-about h2,.content-split h2,.section-title{font-size:34px}.features{padding:70px 0}.feature-grid{grid-template-columns:1fr;gap:48px}.feature h3{margin-bottom:15px}.gallery-home-grid,.gallery-grid{grid-template-columns:1fr 1fr}.gallery-home-grid img,.gallery-home-grid img:nth-child(4),.gallery-home-grid img:nth-child(5),.gallery-grid img,.gallery-grid a{height:260px}.contact-card{width:min(450px,calc(100% - 40px));margin:0 auto;padding:45px 38px}.home-contact{padding:110px 0;min-height:520px}.azienda-columns,.services-grid,.contact-info{grid-template-columns:1fr;gap:42px}.azienda-columns{margin-top:40px}.service-item h3{margin-bottom:18px}.services-intro{margin-bottom:48px}.contact-info{margin-bottom:65px}.form-row{grid-template-columns:1fr}.site-footer{padding-top:10px}.footer-nav{flex-direction:column;gap:12px;margin-bottom:22px}.copyright{line-height:1.6}.back-to-top{right:17px;bottom:17px}}
@media (max-width:520px){.container,.wide{width:calc(100% - 30px)}.site-logo{width:184px}.hero{min-height:640px}.hero-inner{margin-top:45px}.hero-title,.page-hero .hero-title{font-size:36px}.hero-subtitle{font-size:14.5px}.page-hero{height:280px;min-height:280px}.home-about h2,.content-split h2,.section-title{font-size:30px}.home-about p,.text-block p,.azienda-columns p,.service-detail p{font-size:15px}.gallery-home-grid,.gallery-grid{grid-template-columns:1fr}.gallery-home-grid img,.gallery-home-grid img:nth-child(4),.gallery-home-grid img:nth-child(5),.gallery-grid img,.gallery-grid a{height:300px}.home-contact{padding:82px 0}.contact-card{padding:36px 28px}.contact-info{gap:34px}.contact-icon{width:68px;height:68px}.services-intro h2{font-size:22px}.service-detail h2{font-size:28px}}

.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:9999;padding:30px}.lightbox-overlay img{max-width:min(1100px,96vw);max-height:88vh;box-shadow:0 18px 60px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:18px;right:22px;background:transparent;border:0;color:#fff;font-size:44px;line-height:1;cursor:pointer}
