:root{
  --ink:#14191f;
  --ink2:#1d242c;
  --ink3:#2a323c;
  --paper:#f5f4f0;
  --white:#ffffff;
  --muted:#68717b;
  --line:#d9dadd;
  --brand:#234f78;
  --brand-dark:#183b5d;
  --accent:#c9473f;
  --accent-dark:#a8322d;
  --warm:#e1ad42;
  --max:1220px;
  --radius:18px;
  --shadow:0 22px 60px rgba(13,24,34,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:20px;top:20px;z-index:999;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}

/* Header */
.topbar{background:#0d1319;color:#c9cfd5;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.06)}
.topbar-inner{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
.topbar a:hover{color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,244,240,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(30,48,63,.12)}
.header-main{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{display:block;width:220px;height:auto;max-width:100%}
.mainnav{display:flex;align-items:center;gap:16px;font-size:.84rem;font-weight:700}
.mainnav>a,.nav-drop{padding:14px 2px;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;position:relative}
.mainnav>a:after,.nav-drop:after{content:"";position:absolute;left:2px;right:2px;bottom:8px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.mainnav>a:hover:after,.mainnav>a[aria-current=page]:after,.nav-drop:hover:after{transform:scaleX(1)}
.mainnav>a[aria-current=page],.mainnav>a:hover,.nav-drop:hover{color:var(--brand-dark)}
.nav-group{position:relative}.nav-drop{display:flex;align-items:center;gap:5px}.nav-drop span{font-size:.85em}
.nav-sub{display:none;position:absolute;top:calc(100% - 3px);left:-18px;width:300px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.nav-group:hover .nav-sub,.nav-group.open .nav-sub{display:grid}
.nav-sub a{padding:11px 12px;border-radius:9px;line-height:1.25}.nav-sub a:hover{background:#f0f2f4;color:var(--brand-dark)}
.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:5px 0}

/* Common typography */
.kicker{text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.17em;color:var(--accent);margin:0 0 14px}
.lead{font-size:1.15rem;max-width:730px;color:#d9dfe4;margin:27px 0 0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 21px;border:1px solid transparent;border-radius:999px;font-size:.84rem;font-weight:850;letter-spacing:.02em;transition:.18s ease}
.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark);transform:translateY(-1px)}
.btn.ghost{border-color:rgba(255,255,255,.46);color:#fff;background:rgba(10,15,20,.15)}.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn.light{background:#fff;color:var(--ink)}.btn.light:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.text-link{display:inline-block;font-weight:850;color:var(--brand-dark);border-bottom:1px solid currentColor}

/* Home hero - real archive photo loaded from the preserved uploads tree */
.home-hero{position:relative;color:#fff;overflow:hidden;isolation:isolate;background:#111b25}
.home-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:url('/wp-content/uploads/2014/01/Asfaltatura-51280.jpg');background-size:cover;background-position:center}
.home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,18,27,.94) 0%,rgba(10,18,27,.82) 44%,rgba(10,18,27,.40) 72%,rgba(10,18,27,.20) 100%)}
.hero-grid{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:70px 0}
.hero-copy{max-width:760px}
.home-hero h1,.page-hero h1{font-size:clamp(3.2rem,6.8vw,6rem);line-height:.94;letter-spacing:-.052em;margin:0;font-weight:900}
.home-hero h1 span{color:#fff}.home-hero h1 em{font-style:normal;color:#efb64a}
.hero-side{align-self:end;justify-self:end;width:min(100%,360px);border-left:1px solid rgba(255,255,255,.3);padding:0 0 14px 28px;margin-bottom:30px}
.hero-side strong{display:block;font-size:3.4rem;line-height:.9;letter-spacing:-.05em;color:#fff}.hero-side span{display:block;margin-top:10px;color:#d3d9df;font-size:.92rem}

/* Stats */
.stats-band{background:#fff;border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:30px 34px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}
.stat strong{display:block;color:var(--brand-dark);font-size:1.65rem;line-height:1;margin-bottom:8px}.stat span{font-size:.84rem;color:var(--muted)}

/* Sections */
.section{padding:96px 0}.section.alt{background:#e9e8e3}.section.dark{background:var(--ink2);color:#fff}
.section-head{display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:end;margin-bottom:44px}
.section h2,.cta h2,.whistle-cta h2{font-size:clamp(2.05rem,4vw,3.45rem);line-height:1.03;letter-spacing:-.04em;margin:0}
.section-head>p{margin:0;color:var(--muted)}
.section.dark .section-head>p{color:#b9c2cb}

/* Service cards with project photography */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-card{min-height:350px;position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);padding:27px;color:#fff;display:flex;flex-direction:column;background:#26323c;box-shadow:0 1px 0 rgba(255,255,255,.05) inset;transition:transform .22s ease,box-shadow .22s ease}
.service-card:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .35s ease}
.service-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,16,22,.16) 0%,rgba(10,16,22,.50) 52%,rgba(10,16,22,.92) 100%)}
.service-card--eco:before{background-image:url('/wp-content/uploads/2014/06/slide12.jpg')}
.service-card--road:before{background-image:url('/wp-content/uploads/2014/01/Asfaltatura-61280.jpg')}
.service-card--water:before{background-image:url('/wp-content/uploads/2014/06/slide3.jpg')}
.service-card--eng:before{background-image:url('/wp-content/uploads/2014/06/argine11.jpg')}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card:hover:before{transform:scale(1.035)}
.service-no{font-size:.72rem;font-weight:900;color:#fff;opacity:.9}.service-card h3{font-size:1.42rem;line-height:1.1;margin:auto 0 18px;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.service-card .arrow{font-size:.81rem;font-weight:800;color:#fff}

/* Split / feature content */
.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.split p{font-size:1.04rem;color:#4c555d}
.history-panel{display:grid;grid-template-columns:1fr 1fr;min-height:430px;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.history-image{position:relative;background:#303841}.history-image:before{content:"";position:absolute;inset:0;background-image:url('/wp-content/uploads/2014/06/slide10.jpg');background-size:cover;background-position:center;filter:contrast(1.04)}
.history-copy{padding:46px;display:flex;flex-direction:column;justify-content:center}.history-copy h2{font-size:clamp(2.2rem,4vw,3.6rem);margin:0 0 22px}.history-copy p{color:var(--muted);margin:0 0 24px}
.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.highlight{background:#fff;padding:32px;border-radius:var(--radius);border:1px solid var(--line);transition:.18s}.highlight:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.highlight>span{font-size:.73rem;font-weight:900;color:var(--accent)}.highlight h3{font-size:1.5rem;margin:46px 0 8px}.highlight p{color:var(--muted);margin:0}

/* CTA */
.cta{position:relative;overflow:hidden;background:var(--brand-dark);color:#fff;padding:70px 0}.cta:after{content:"";position:absolute;width:440px;height:440px;border:90px solid rgba(255,255,255,.035);border-radius:50%;right:-170px;top:-180px}.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.cta .kicker{color:#efb64a}.cta p{margin:0 0 20px;color:#d4dce3}

/* Internal page hero */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:#15212b;color:#fff;padding:112px 0 104px}
.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,16,24,.94),rgba(9,16,24,.79) 58%,rgba(9,16,24,.42))}
.page-hero.has-photo:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.page-company .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide11.jpg');background-position:center 58%}
.page-road .page-hero:before{background-image:url('/wp-content/uploads/2014/01/Asfaltatura-51280.jpg')}
.page-eco .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide12.jpg');background-position:center 58%}
.page-water .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide3.jpg')}
.page-engineering .page-hero:before{background-image:url('/wp-content/uploads/2014/06/argine11.jpg')}
.page-cert .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide4.jpg')}
.page-compliance .page-hero:before,.page-whistle .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide51.jpg')}
.page-news .page-hero:before,.page-article .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide1.jpg')}
.page-contact .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide12.jpg')}
.page-legal .page-hero:before{background-image:url('/wp-content/uploads/2014/06/slide10.jpg')}
.page-hero h1{max-width:980px}.page-hero .lead{margin-top:25px;max-width:800px}

/* Content */
.prose{max-width:850px}.prose.wide{max-width:980px}.prose p{font-size:1.04rem;color:#464e56;margin:0 0 1.35em}.prose h2{font-size:1.8rem;margin:2.15em 0 .62em;line-height:1.1}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-grid article{background:#fff;border-radius:var(--radius);padding:29px;border:1px solid var(--line)}.feature-grid h3{margin:0 0 12px;font-size:1.18rem}.feature-grid p{margin:0;color:var(--muted);font-size:.93rem}
.checklist{list-style:none;padding:0;margin:30px 0}.checklist li{padding:15px 0 15px 34px;border-bottom:1px solid var(--line);position:relative}.checklist li:before{content:"";position:absolute;left:2px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(201,71,63,.10)}
.related{padding:10px 0 82px}.related-links{display:flex;gap:10px;flex-wrap:wrap}.related-links a{background:#fff;border:1px solid var(--line);padding:11px 15px;border-radius:999px;font-size:.83rem;font-weight:750}.related-links a:hover{border-color:#9ba8b3;color:var(--brand-dark)}
.status-box{display:flex;justify-content:space-between;gap:25px;background:#e8e9e7;border-radius:14px;padding:18px 22px;margin:35px 0}.status-box span{color:#555f68}
.doc-list{display:grid;gap:10px;margin-top:35px}.doc-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;transition:.18s}.doc-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:#bec4c9}.doc-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:var(--brand-dark);color:#fff;font-size:.67rem;font-weight:900}.doc-card strong{display:block}.doc-card small{display:block;color:var(--muted);margin-top:3px}.doc-arrow{font-size:1.3rem;color:var(--accent)}
.notice{margin-top:35px;padding:23px;border-left:4px solid var(--accent);background:#fff}.notice p{margin:.4em 0 0}
.whistle-cta{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center;background:var(--brand-dark);color:#fff;border-radius:20px;padding:36px;margin:35px 0}.whistle-cta p:not(.kicker){color:#d5dde4;margin-bottom:0}
.news-card{display:grid;grid-template-columns:110px 1fr;gap:32px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px}.news-date{display:flex;align-items:flex-start;gap:9px}.news-date strong{font-size:3rem;line-height:.85;color:var(--brand-dark)}.news-date span{font-size:.72rem;line-height:1.15}.news-card h2{font-size:2rem;max-width:800px}.news-card h2 a:hover{color:var(--accent)}.article{max-width:800px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px}.contact-card.dark{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}.contact-big{font-size:clamp(1.5rem,3vw,2.35rem);font-weight:850;line-height:1.12;overflow-wrap:anywhere}.contact-card.dark .kicker{color:#efb64a}.legal{max-width:900px}.legal h2{font-size:1.45rem;line-height:1.2}

/* Footer */
.site-footer{background:#0d1319;color:#d1d6db;padding:68px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:60px}.footer-brand{font-size:1.2rem;font-weight:900;letter-spacing:.055em;color:#fff}.site-footer h2{font-size:.84rem;text-transform:uppercase;letter-spacing:.11em;color:#fff}.site-footer p{font-size:.89rem;color:#9ca6af}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #2d353d;margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.74rem;color:#77828d}

/* Image fallback: if uploads are not yet copied the UI remains readable */
@supports not (background-image:url('x')){.home-hero:before,.page-hero.has-photo:before,.service-card:before,.history-image:before{display:none}}

@media(max-width:1080px){
  .mainnav{gap:12px;font-size:.8rem}
  .hero-grid{grid-template-columns:1fr .55fr}
  .service-card{min-height:320px}
}
@media(max-width:980px){
  .menu-toggle{display:block}.mainnav{display:none;position:absolute;top:88px;left:24px;right:24px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column}.mainnav.open{display:flex}.mainnav>a,.nav-drop{width:100%;text-align:left;padding:10px}.mainnav>a:after,.nav-drop:after{display:none}.nav-sub{position:static;width:auto;box-shadow:none;margin-top:4px;border-radius:10px}.nav-group:hover .nav-sub{display:none}.nav-group.open .nav-sub{display:grid}
  .hero-grid{grid-template-columns:1fr;min-height:610px;align-content:center}.hero-side{justify-self:start;margin:10px 0 0;border-left-color:rgba(255,255,255,.24)}
  .stats-grid{grid-template-columns:1fr 1fr 1fr}.stat{padding:26px 18px}.stat:first-child{padding-left:0}
  .service-grid{grid-template-columns:1fr 1fr}.section-head,.split,.cta-inner,.whistle-cta{grid-template-columns:1fr;gap:30px}.history-panel{grid-template-columns:1fr}.history-image{min-height:330px}.feature-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .wrap{width:min(calc(100% - 28px),var(--max))}.topbar-inner{justify-content:center}.topbar-inner>span:first-child{display:none}.header-main{min-height:76px}.brand img{width:190px}.mainnav{top:76px;left:14px;right:14px}
  .home-hero:after{background:linear-gradient(90deg,rgba(9,16,24,.93),rgba(9,16,24,.67))}.hero-grid{min-height:590px;padding:65px 0}.home-hero h1,.page-hero h1{font-size:clamp(2.7rem,14vw,4rem)}.hero-side strong{font-size:2.65rem}
  .stats-grid{grid-template-columns:1fr}.stat,.stat:first-child{padding:19px 0;border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.stat strong{font-size:1.35rem}
  .section{padding:72px 0}.service-grid,.highlight-grid,.feature-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.service-card{min-height:280px}.history-copy{padding:30px}.history-image{min-height:250px}.status-box{flex-direction:column}.doc-card{grid-template-columns:auto 1fr}.doc-arrow{display:none}.news-card{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.page-hero{padding:82px 0 76px}.whistle-cta{padding:26px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
