
:root{--ink:#101214;--muted:#686d72;--line:#d8d9d7;--paper:#f3f1ec;--white:#fff;--accent:#1637a3;--accent2:#8297ee;--dark:#121416;--max:1280px;--radius:2px;--shadow:0 24px 60px rgba(16,18,20,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(243,241,236,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,18,20,.08)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:.16em;font-size:14px}.brand-mark{width:37px;height:37px;border:1.5px solid var(--ink);display:grid;place-items:center;font-size:12px;letter-spacing:0}.brand-logo{display:block;width:auto;height:54px;object-fit:contain}.footer-brand-logo{height:68px}.brand-text-fallback{display:none}.menu{display:flex;gap:25px;align-items:center;font-size:13px;font-weight:650}.menu a{padding:9px 0;border-bottom:1px solid transparent}.menu a:hover,.menu a[aria-current=page]{border-color:var(--accent)}.menu .pill{border:1px solid var(--ink);padding:10px 15px;transition:.2s}.menu .pill:hover{background:var(--ink);color:white}.menu-toggle{display:none;background:none;border:0;font-size:24px}
.hero{min-height:82vh;display:grid;align-items:end;position:relative;background:var(--dark);color:white;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04);opacity:.62}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.88),rgba(7,9,10,.35) 58%,rgba(7,9,10,.08)),linear-gradient(0deg,rgba(7,9,10,.66),transparent 58%)}.hero-copy{position:relative;z-index:2;padding:132px 0 92px;max-width:920px}.eyebrow{text-transform:uppercase;letter-spacing:.20em;font-size:11px;font-weight:800;color:var(--accent)}.hero .eyebrow,.page-hero .eyebrow{color:#e6c3a0}.hero h1,.page-hero h1{font-size:clamp(52px,7vw,96px);line-height:.93;letter-spacing:-.055em;margin:18px 0 28px;font-weight:650;max-width:1000px}.hero p{font-size:clamp(18px,2vw,23px);max-width:690px;color:#e9e7e2}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;border:1px solid currentColor;font-size:13px;font-weight:800;letter-spacing:.02em;transition:.2s}.btn.primary{background:white;color:var(--ink);border-color:white}.btn.dark{background:var(--ink);color:white}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.proof-strip{padding:0;background:var(--dark);color:white;border-top:1px solid rgba(255,255,255,.12)}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}.proof-grid>div{padding:26px 28px;border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:baseline;gap:12px}.proof-grid>div:first-child{padding-left:0}.proof-grid>div:last-child{border-right:0}.proof-grid strong{font-size:32px;font-weight:650;color:#f2d5b8}.proof-grid span{font-size:12px;color:#c3c6c8;max-width:290px}
section{padding:104px 0}.section-head{display:flex;justify-content:space-between;gap:42px;align-items:end;margin-bottom:40px}.section-head h2{font-size:clamp(36px,5vw,62px);line-height:.98;letter-spacing:-.045em;margin:7px 0 0;font-weight:620}.section-head p{max-width:560px;color:var(--muted);margin:0;font-size:16px}.portfolio-intro{font-size:18px;color:var(--muted);margin:-8px 0 28px}.grid{display:grid;gap:20px}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-2{grid-template-columns:repeat(2,1fr)}.card{background:white;border:1px solid var(--line);min-width:0;transition:.25s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-media{aspect-ratio:4/3;overflow:hidden;background:#ddd}.card-media img{width:100%;height:100%;object-fit:cover;transition:.5s ease}.card:hover .card-media img{transform:scale(1.035)}.card-body{padding:25px}.card h3{font-size:23px;line-height:1.1;margin:7px 0 11px}.card p{color:var(--muted);margin:0}.meta{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:850}.service{padding:29px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:64px 1fr 1.2fr;gap:24px;align-items:start}.service b{font-size:13px;color:var(--accent)}.service h3{font-size:26px;margin:0}.service p{margin:0;color:var(--muted)}
.band{background:var(--dark);color:white}.band p{color:#c8cbce}.method{counter-reset:step;grid-template-columns:repeat(3,1fr)}.step{border-top:1px solid #4f5357;padding-top:19px;min-height:120px}.step:before{counter-increment:step;content:"0" counter(step);font-size:11px;letter-spacing:.15em;color:#d1ae89}.step h3{font-size:22px;margin:13px 0 8px}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card{position:relative;background:#111;color:#fff;overflow:hidden;min-height:470px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transition:.55s;filter:saturate(.85)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.04) 72%)}.project-card:hover img{transform:scale(1.04)}.project-card .info{position:absolute;z-index:2;left:25px;right:25px;bottom:24px}.project-card h3{font-size:25px;line-height:1.05;margin:8px 0}.project-card p{font-size:13px;color:#ddd;margin:0}
.page-hero{padding:124px 0 72px;background:var(--dark);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-8vw;top:-14vw;width:45vw;height:45vw;border:1px solid rgba(255,255,255,.08);border-radius:50%}.page-hero p{font-size:20px;color:#cdd0d3;max-width:780px}.content{max-width:850px}.content h2{font-size:40px;line-height:1.02;margin:64px 0 18px;letter-spacing:-.025em}.content p{font-size:18px;color:#50555a}.project-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:52px;align-items:start}.project-detail .hero-image{aspect-ratio:4/3;overflow:hidden;background:#ddd;box-shadow:var(--shadow)}.project-detail .hero-image img{width:100%;height:100%;object-fit:cover}.specs{background:white;border:1px solid var(--line);padding:30px;position:sticky;top:110px}.spec{padding:15px 0;border-top:1px solid var(--line)}.spec:first-child{border-top:0}.spec span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.spec strong{display:block;margin-top:6px;font-size:16px}.experience{padding:32px;border:1px solid var(--line);background:white}.experience h3{font-size:26px;margin:6px 0 12px}.notice{border-left:3px solid var(--accent);padding:19px 21px;background:#fff;color:#555b60}.gallery-section{padding-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.gallery-grid figure{margin:0;grid-column:span 4;background:#fff;border:1px solid var(--line);overflow:hidden}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(5){grid-column:span 8}.gallery-grid img{width:100%;height:360px;object-fit:cover}.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(5) img{height:470px}.gallery-grid figcaption{padding:12px 14px;font-size:12px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px}.form{background:white;border:1px solid var(--line);padding:30px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:750}.field input,.field textarea,.field select{font:inherit;width:100%;padding:13px;border:1px solid #cdd1d4;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(183,121,63,.25);border-color:var(--accent)}.field textarea{min-height:150px;resize:vertical}.small{font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:56px 0 30px;background:#ece9e2}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}.footer-grid a{display:block;margin:8px 0;color:var(--muted)}.footer-bottom{margin-top:42px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.restricted{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module{background:#fff;border:1px solid var(--line);padding:23px}.module strong{display:block}.module span{color:var(--muted);font-size:13px}.badge{display:inline-block;padding:5px 8px;background:#e7e2d9;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:850}.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}
@media(max-width:980px){.menu-toggle{display:block}.menu{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu.open{display:flex}.cards-3,.project-grid,.method,.restricted{grid-template-columns:1fr 1fr}.project-detail,.contact-grid{grid-template-columns:1fr}.specs{position:static}.service{grid-template-columns:46px 1fr}.service p{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:72vh}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(5){grid-column:span 6}.gallery-grid img,.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(5) img{height:360px}.proof-grid{grid-template-columns:1fr}.proof-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding-left:0}}
@media(max-width:640px){.wrap{width:min(100% - 28px,var(--max))}.hero-copy{padding:100px 0 58px}.cards-3,.cards-2,.project-grid,.method,.restricted,.fields{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:18px}.footer-grid{grid-template-columns:1fr}.project-card{min-height:380px}section{padding:74px 0}.page-hero{padding:88px 0 48px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(5){grid-column:auto}.gallery-grid img,.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(5) img{height:300px}.proof-grid strong{font-size:27px}}

/* V3 galleries and lightbox */
.gallery-link{display:block;position:relative;overflow:hidden;cursor:zoom-in}.gallery-link:after{content:"+";position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(15,17,19,.76);color:#fff;font-size:20px;opacity:0;transform:translateY(-4px);transition:.2s}.gallery-link:hover:after{opacity:1;transform:none}.gallery-link img{transition:transform .35s ease}.gallery-link:hover img{transform:scale(1.018)}.lightbox{position:fixed;inset:0;background:rgba(6,8,9,.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:34px}.lightbox.open{display:flex}.lightbox img{max-width:min(94vw,1800px);max-height:90vh;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.4)}.lightbox-close{position:fixed;right:22px;top:18px;border:0;background:transparent;color:white;font-size:44px;line-height:1;cursor:pointer}.lightbox-close:focus{outline:2px solid white;outline-offset:4px}@media(max-width:640px){.lightbox{padding:18px}.lightbox-close{right:13px;top:10px}}


/* V4 brand, group and team */
.brand{letter-spacing:0}.site-header .brand{min-width:190px}.site-header .brand-logo{max-width:220px}.footer-group-note{display:flex;align-items:center;gap:18px;margin-top:18px}.footer-mm-logo{width:130px;height:auto;object-fit:contain}.group-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center}.group-primary{background:#fff;border:1px solid var(--line);padding:36px;box-shadow:var(--shadow)}.group-primary .group-logo{width:min(360px,100%);max-height:180px;object-fit:contain;margin-bottom:24px}.group-primary h2{font-size:clamp(34px,4vw,54px);line-height:1;margin:0 0 18px;letter-spacing:-.04em}.group-primary p{font-size:18px;color:var(--muted);margin:0}.group-copy h2{font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.045em;margin:10px 0 22px;font-weight:620}.group-copy p{font-size:18px;color:var(--muted)}.group-network{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}.group-unit{padding:20px;border-top:2px solid var(--accent);background:#fff}.group-unit.primary-unit{grid-column:1/-1;background:var(--dark);color:#fff;border-top-color:#8297ee}.group-unit strong{display:block;font-size:15px}.group-unit span{display:block;font-size:13px;color:var(--muted);margin-top:6px}.group-unit.primary-unit span{color:#cfd4e4}.team-section{background:#eae8e2}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-card{background:#fff;border:1px solid var(--line);overflow:hidden}.team-photo{aspect-ratio:4/5;overflow:hidden;background:#d7d9dc}.team-photo img{width:100%;height:100%;object-fit:cover}.team-card.marilena .team-photo img{object-position:62% 38%}.team-card.massimo .team-photo img{object-position:50% 35%}.team-card.agostino .team-photo img{object-position:50% 42%}.team-card.andrea .team-photo img{object-position:50% 30%}.team-info{padding:22px}.team-info h3{margin:5px 0 6px;font-size:22px;line-height:1.05}.team-role{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:850}.team-info p{font-size:14px;color:var(--muted);margin:12px 0 0}.home-about{background:#fff}.home-about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}.home-about-copy h2{font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.045em;margin:10px 0 18px;font-weight:620}.home-about-copy p{color:var(--muted);font-size:18px}.home-about-brand{padding:34px;background:var(--paper);border:1px solid var(--line)}.home-about-brand img{width:min(360px,100%);max-height:170px;object-fit:contain;margin:0 auto 22px}.mini-team{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.mini-person{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ddd}.mini-person img{width:100%;height:100%;object-fit:cover}.mini-person:after{content:attr(data-name);position:absolute;left:0;right:0;bottom:0;padding:18px 10px 10px;color:#fff;font-size:11px;font-weight:750;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent)}
@media(max-width:980px){.group-intro,.home-about-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.site-header .brand-logo{height:48px;max-width:190px}.mini-team{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.team-grid{grid-template-columns:1fr}.group-network{grid-template-columns:1fr}.group-unit.primary-unit{grid-column:auto}.mini-team{grid-template-columns:1fr 1fr}.brand-logo{height:46px}.footer-brand-logo{height:58px}.footer-group-note{align-items:flex-start;flex-direction:column}}


/* V5 publication polish, contacts and legal */
.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-legal{display:flex;gap:18px}.footer-legal a{color:inherit}.contact-hero{background:linear-gradient(135deg,#eef1fb 0%,#f2f0ea 65%,#e8e6df 100%)}.contact-overview{padding-top:30px;padding-bottom:10px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.contact-card{display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border:1px solid var(--line);min-height:170px;transition:.2s}.contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.contact-card strong{font-size:20px;line-height:1.12}.contact-card>span:last-child{font-size:13px;color:var(--muted)}.contact-principle{display:flex;gap:22px;align-items:center;margin-top:30px;padding:22px;border:1px solid var(--line);background:#fff}.contact-principle img{width:145px;max-height:85px;object-fit:contain}.consent label{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.45}.consent input{width:auto;margin-top:4px}.legal-hero{background:#eceff9}.legal-page{display:grid;grid-template-columns:280px 1fr;gap:54px;align-items:start}.legal-summary{position:sticky;top:110px;background:#fff;border:1px solid var(--line);padding:24px;display:grid;gap:10px}.legal-copy{max-width:780px}.legal-copy h2{font-size:28px;margin:38px 0 12px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{color:var(--muted);font-size:16px;line-height:1.72}.legal-warning{margin-top:34px;padding:20px 22px;border-left:3px solid var(--accent);background:#fff;color:#555b60}.cookie-notice{position:fixed;z-index:2000;left:18px;right:18px;bottom:18px;max-width:980px;margin:auto;background:#11161d;color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.32);padding:18px 20px;display:flex;gap:24px;justify-content:space-between;align-items:center}.cookie-notice>div:first-child{display:grid;gap:5px}.cookie-notice span{color:#cdd3dc;font-size:13px}.cookie-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}.cookie-actions a{color:#dbe2ff;text-decoration:underline}.cookie-actions button{border:0;background:#2d4fd7;color:#fff;padding:11px 16px;font-weight:750;cursor:pointer}.team-info p{line-height:1.5}.home-about-brand{box-shadow:0 16px 50px rgba(16,22,42,.06)}
@media(max-width:980px){.contact-cards{grid-template-columns:1fr 1fr}.legal-page{grid-template-columns:1fr}.legal-summary{position:static}.footer-bottom{align-items:flex-start;flex-direction:column}.cookie-notice{align-items:flex-start;flex-direction:column}.cookie-actions{width:100%;justify-content:space-between}}
@media(max-width:640px){.contact-cards{grid-template-columns:1fr}.contact-principle{align-items:flex-start;flex-direction:column}.cookie-notice{left:10px;right:10px;bottom:10px}.cookie-actions{gap:10px}}
.contact-hero h1,.contact-hero p{color:var(--ink)}.contact-hero .eyebrow{color:var(--accent)}
.legal-hero h1,.legal-hero p{color:var(--ink)}.legal-hero .eyebrow{color:var(--accent)}


/* V6 consorzio, fotovoltaico and role details */
.menu{gap:18px;font-size:12.5px}.team-duties{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.team-duties>strong{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.team-duties ul{margin:10px 0 0;padding-left:17px;color:var(--muted);font-size:13px}.team-duties li{margin:5px 0}.team-summary{min-height:64px}.consortium-teaser{background:#fff}.consortium-teaser-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:58px;align-items:center}.consortium-logo{width:min(520px,100%);max-height:220px;object-fit:contain}.consortium-teaser h2,.home-consortium h2,.consortium-lead h2,.solar-intro h2,.solar-consortium h2{font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.045em;margin:10px 0 22px;font-weight:620}.consortium-teaser p,.home-consortium p,.consortium-lead p,.solar-intro p,.solar-consortium p{font-size:18px;color:var(--muted)}.home-consortium{background:#e9e5de}.home-consortium-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:center}.home-consortium-brand{background:#fff;border:1px solid var(--line);padding:34px}.home-consortium-brand img{width:min(500px,100%);max-height:190px;object-fit:contain;margin-bottom:18px}.consortium-hero{background:linear-gradient(135deg,#16191c 0%,#24282b 55%,#341820 100%)}.consortium-lead{display:grid;grid-template-columns:.75fr 1.25fr;gap:62px;align-items:center}.consortium-logo-panel{background:#fff;border:1px solid var(--line);padding:36px;box-shadow:var(--shadow)}.consortium-logo-panel img{width:min(560px,100%);margin:auto;max-height:230px;object-fit:contain}.consortium-logo-panel p{text-align:center;margin:18px 0 0}.consortium-fields{grid-template-columns:repeat(3,1fr)}.consortium-band .module{background:#1d2023;border-color:#3a3e41;color:#fff}.consortium-band .module span{color:#bfc3c6;margin-top:8px;display:block}.proof-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.proof-cards>div{background:#fff;border:1px solid var(--line);padding:26px}.proof-cards strong{display:block;font-size:34px;line-height:1;color:var(--accent)}.proof-cards span{display:block;font-size:13px;color:var(--muted);margin-top:10px}.consortium-note{margin-top:18px}.consortium-cta{background:#16213a;color:#fff}.cta-panel{display:flex;align-items:end;justify-content:space-between;gap:42px}.cta-panel h2{font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.045em;margin:10px 0 16px}.cta-panel p{color:#cdd5e3;max-width:760px}.cta-panel .btn:not(.primary){color:#fff}.solar-hero{background:radial-gradient(circle at 75% 20%,rgba(255,204,70,.22),transparent 28%),linear-gradient(135deg,#0d1720,#162d3b 58%,#0b2025)}.solar-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.solar-visual{min-height:420px;background:linear-gradient(160deg,#173e52,#0d2635);position:relative;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08)}.solar-visual .sun{position:absolute;width:130px;height:130px;border-radius:50%;right:58px;top:48px;background:radial-gradient(circle,#ffe8a1 0 34%,#ffc83d 35% 60%,rgba(255,200,61,.12) 61%);box-shadow:0 0 80px rgba(255,200,61,.35)}.panel-grid{position:absolute;left:8%;right:8%;bottom:-4%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;transform:perspective(600px) rotateX(48deg)}.panel-grid i{display:block;height:120px;background:linear-gradient(135deg,#1a5f88,#0f3450);border:2px solid #82c8e3;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.solar-process{background:#fff}.solar-process .step p{color:var(--muted);font-size:14px}.solar-consortium{background:#e9e5de}.solar-consortium-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center}.solar-consortium-grid>img{width:min(520px,100%);max-height:230px;object-fit:contain}.expansion-card{display:block}.expansion-card:hover{transform:translateY(-3px)}
@media(max-width:1100px){.menu{gap:14px;font-size:12px}.site-header .brand{min-width:160px}.site-header .brand-logo{max-width:180px}}
@media(max-width:980px){.consortium-teaser-grid,.home-consortium-grid,.consortium-lead,.solar-intro,.solar-consortium-grid{grid-template-columns:1fr}.consortium-fields{grid-template-columns:1fr 1fr}.proof-cards{grid-template-columns:1fr 1fr}.cta-panel{align-items:flex-start;flex-direction:column}.team-summary{min-height:0}}
@media(max-width:640px){.consortium-fields,.proof-cards{grid-template-columns:1fr}.solar-visual{min-height:320px}.panel-grid i{height:90px}.team-duties ul{font-size:13px}}

/* V7 - didascalie dedicate team: anni sempre esplicitati come esperienza professionale */
.team-caption{padding:14px 18px 15px;background:#f4f2ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:126px}
.team-caption strong{display:block;font-size:14px;line-height:1.2;color:var(--dark);margin-bottom:6px}
.team-caption span{display:block;font-size:12.5px;line-height:1.45;color:var(--muted)}
.team-caption em{display:inline-block;margin-top:9px;padding:5px 8px;border:1px solid rgba(47,80,165,.24);background:#fff;color:var(--accent);font-size:10.5px;font-style:normal;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
@media(max-width:980px){.team-caption{min-height:0}}


/* V8 - movimento architettonico e team 2+2 */
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.team-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .45s ease}
.team-card:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(16,18,20,.12);border-color:#c5c8cc}
.team-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.team-card:hover .team-photo img{transform:scale(1.035);filter:saturate(1.03)}

/* Reveal system: added progressively by site.js */
.motion-ready .reveal-item{opacity:0;transform:translate3d(0,26px,0);transition:opacity .72s ease,transform .82s cubic-bezier(.2,.72,.2,1);will-change:opacity,transform}
.motion-ready .reveal-item.reveal-left{transform:translate3d(-28px,0,0)}
.motion-ready .reveal-item.reveal-right{transform:translate3d(28px,0,0)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .reveal-item[data-reveal-delay="1"]{transition-delay:.08s}
.motion-ready .reveal-item[data-reveal-delay="2"]{transition-delay:.16s}
.motion-ready .reveal-item[data-reveal-delay="3"]{transition-delay:.24s}
.motion-ready .reveal-item[data-reveal-delay="4"]{transition-delay:.32s}
.motion-ready .reveal-item[data-reveal-delay="5"]{transition-delay:.40s}

/* Hero: slow architectural drift while scrolling */
.hero-media img{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.035);transition:filter .5s ease;will-change:transform}
.hero-copy>*{opacity:0;transform:translateY(20px);animation:heroEnter .8s cubic-bezier(.2,.72,.2,1) forwards}
.hero-copy>*:nth-child(1){animation-delay:.08s}.hero-copy>*:nth-child(2){animation-delay:.18s}.hero-copy>*:nth-child(3){animation-delay:.30s}.hero-copy>*:nth-child(4){animation-delay:.42s}
@keyframes heroEnter{to{opacity:1;transform:translateY(0)}}

/* Page heroes and technical rhythm */
.page-hero:after{animation:heroOrbit 16s ease-in-out infinite alternate;transform-origin:center}
@keyframes heroOrbit{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-28px,32px,0) scale(1.08)}}
.service{position:relative;overflow:hidden;transition:background-color .35s ease,padding-left .35s ease}
.service:after{content:"";position:absolute;left:0;top:0;width:0;height:1px;background:var(--accent);transition:width .7s cubic-bezier(.2,.72,.2,1)}
.service.is-visible:after,.service:hover:after{width:100%}.service:hover{background:rgba(255,255,255,.45);padding-left:10px}

.project-card,.card,.module,.contact-card,.experience,.group-unit,.proof-cards>div,.home-about-brand,.home-consortium-brand,.consortium-logo-panel{will-change:transform}
.project-card .info{transition:transform .45s cubic-bezier(.2,.72,.2,1)}.project-card:hover .info{transform:translateY(-6px)}
.gallery-grid figure{transition:transform .45s cubic-bezier(.2,.72,.2,1),box-shadow .45s ease}.gallery-grid figure:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gallery-grid img{transition:transform .75s cubic-bezier(.2,.72,.2,1)}.gallery-grid figure:hover img{transform:scale(1.025)}

/* Subtle scroll indicator on desktop */
.scroll-progress{position:fixed;z-index:120;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left center;background:var(--accent);pointer-events:none}

@media(max-width:980px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.team-grid{grid-template-columns:1fr;gap:18px}.motion-ready .reveal-item.reveal-left,.motion-ready .reveal-item.reveal-right{transform:translate3d(0,22px,0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal-item,.motion-ready .reveal-item.reveal-left,.motion-ready .reveal-item.reveal-right{opacity:1!important;transform:none!important;transition:none!important}.hero-copy>*{opacity:1;transform:none;animation:none}.hero-media img{transform:none!important}.page-hero:after{animation:none}.team-card,.team-photo img,.gallery-grid figure,.gallery-grid img,.project-card .info{transition:none}.scroll-progress{display:none}}


/* V9 - sistema tecnico, SEO-oriented project storytelling */
.technical-system{padding:86px 0;background:#ebe8e1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.technical-head{margin-bottom:30px}.technical-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.technical-visual{display:grid;grid-template-columns:1fr 1fr;gap:14px}.technical-visual figure{margin:0;background:#fff;border:1px solid var(--line);min-height:320px;display:flex;flex-direction:column}.technical-visual figure:only-child{grid-column:1/-1}
.technical-visual img{width:100%;height:320px;object-fit:contain;background:#fff;padding:14px}.technical-visual figcaption{padding:10px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.technical-placeholder{grid-column:1/-1;padding:18px;background:#fff;border:1px dashed #b9bdc1;color:var(--muted);font-size:13px}
.technical-info{background:#fff;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;align-items:flex-start}.technical-ident{display:grid;gap:5px;width:100%;padding-bottom:18px;border-bottom:1px solid var(--line)}.technical-ident span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.technical-ident strong{font-size:20px;margin-bottom:8px}
.technical-facts{display:grid;grid-template-columns:1fr auto;width:100%;margin:18px 0 24px}.technical-facts dt,.technical-facts dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.technical-facts dt{color:var(--muted)}.technical-facts dd{font-weight:750;text-align:right;padding-left:18px}
.technical-info .btn{margin:0 10px 10px 0}.technical-note{font-size:12px;color:var(--muted);margin:10px 0 0}
@media(max-width:900px){.technical-grid{grid-template-columns:1fr}.technical-visual{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.technical-visual{grid-template-columns:1fr}.technical-visual img{height:260px}.technical-facts{grid-template-columns:1fr}.technical-facts dd{text-align:left;padding-left:0;padding-top:0}}

/* V10 Serramenti */
.page-hero-windows{background:linear-gradient(135deg,#111417 0%,#1d252c 100%);color:#fff}.page-hero-windows p{max-width:900px}.window-philosophy{padding-top:72px}.window-philosophy-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:40px;align-items:start}.partner-manifesto{background:#151a1f;color:#fff;padding:34px;border-top:4px solid var(--accent,#1d4ed8)}.partner-manifesto h3{font-size:clamp(1.6rem,3vw,2.4rem);margin:.5rem 0 1rem}.window-method .step{min-height:220px}.step-no{display:block;font-size:.8rem;letter-spacing:.16em;font-weight:700;margin-bottom:22px;opacity:.65}.brand-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#d9d9d5;border:1px solid #d9d9d5}.brand-rail span{background:#fff;padding:26px 14px;text-align:center;font-weight:800;letter-spacing:.06em;font-size:.82rem}.systems-showcase{padding-top:72px}.system-card-wide{display:grid;grid-template-columns:1.3fr .75fr .95fr;border:1px solid #ddd;background:#fff;margin-bottom:28px;overflow:hidden}.system-project{position:relative;min-height:360px;background:#eee}.system-project>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.system-caption{position:absolute;left:0;right:0;bottom:0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff}.system-caption h3{margin:.2rem 0 .3rem;font-size:2rem}.system-node{display:flex;align-items:center;justify-content:center;background:#f7f7f4;padding:22px;border-left:1px solid #e5e5e0;border-right:1px solid #e5e5e0}.system-node img{max-width:100%;max-height:320px;object-fit:contain}.system-node-text{display:block;padding:34px}.system-node-text .node-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:18px}.system-node-text strong{display:block;font-size:1.45rem;margin-bottom:14px}.system-facts{padding:34px}.system-facts h4{font-size:1.1rem;margin:0 0 18px}.system-facts dl{display:grid;grid-template-columns:1fr auto;margin:0 0 22px}.system-facts dt,.system-facts dd{padding:8px 0;border-bottom:1px solid #e5e5e0}.system-facts dd{font-weight:700;margin:0;text-align:right}.text-link{display:inline-block;font-weight:700;text-decoration:none;margin-top:8px}.technical-note{display:block;font-size:.78rem;opacity:.7;margin:10px 0}.window-other-brands{background:#f3f2ee}.window-other-brands .section-head p{max-width:660px}@media(max-width:980px){.window-philosophy-grid,.system-card-wide{grid-template-columns:1fr}.system-node{border-left:0;border-right:0;border-top:1px solid #e5e5e0;border-bottom:1px solid #e5e5e0}.brand-rail{grid-template-columns:repeat(3,1fr)}.system-project{min-height:420px}}@media(max-width:640px){.brand-rail{grid-template-columns:repeat(2,1fr)}.window-philosophy{padding-top:48px}.system-project{min-height:330px}.system-caption h3{font-size:1.55rem}}


/* V11 - catalogo tecnico serramenti */
.catalog-intro{padding-bottom:70px}.brand-rail-4{grid-template-columns:repeat(4,1fr)}
.catalog-jump{display:flex;gap:10px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;position:sticky;top:82px;z-index:20;background:rgba(243,241,236,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.catalog-jump a{border:1px solid var(--line);background:#fff;padding:10px 14px;font-size:12px;font-weight:800;letter-spacing:.03em}.catalog-jump a:hover{border-color:var(--accent);color:var(--accent)}
.catalog-section{padding:92px 0}.band-soft{background:#ebe8e1}.pvc-section{background:#f6f5f1}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.catalog-card{background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:transform .35s ease,box-shadow .35s ease}.catalog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.catalog-media{display:grid;grid-template-columns:1fr 1fr;background:#f7f7f4;border-bottom:1px solid var(--line)}.catalog-media figure{margin:0;min-width:0;border-right:1px solid var(--line);background:#fff}.catalog-media figure:last-child{border-right:0}.catalog-media img{width:100%;height:245px;object-fit:contain;background:#fff;padding:14px}.catalog-media figcaption{padding:9px 12px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:750}
.catalog-copy{padding:26px}.catalog-copy h3{font-size:28px;line-height:1.05;margin:7px 0 12px}.catalog-copy p{color:var(--muted);margin:0 0 18px}.catalog-specs{display:grid;grid-template-columns:1fr auto;margin:0 0 18px}.catalog-specs dt,.catalog-specs dd{padding:7px 0;border-bottom:1px solid #e6e6e2;font-size:12px}.catalog-specs dt{color:var(--muted)}.catalog-specs dd{margin:0;padding-left:16px;text-align:right;font-weight:750}.catalog-subhead{margin:54px 0 20px;padding-top:24px;border-top:1px solid var(--line)}.catalog-subhead h3{font-size:32px;margin:0}.catalog-subhead p{max-width:760px;color:var(--muted)}.thermo-head{margin-top:72px}.compact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.compact-system{background:#fff;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:18px}.compact-system h3{font-size:22px;margin:4px 0 10px}.compact-system p{color:var(--muted);margin:0}.compact-system .catalog-specs{margin-top:auto}.catalog-note{font-size:12px;color:var(--muted);margin:24px 0 0}.facade-feature{grid-template-columns:1.1fr .9fr;grid-template-rows:none}.facade-feature .catalog-media{height:100%}.facade-feature .catalog-media img{height:360px}
@media(max-width:980px){.catalog-grid{grid-template-columns:1fr}.compact-grid{grid-template-columns:1fr 1fr}.facade-feature{grid-template-columns:1fr}.catalog-jump{top:82px}.brand-rail-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.catalog-media{grid-template-columns:1fr}.catalog-media figure{border-right:0;border-bottom:1px solid var(--line)}.catalog-media img{height:230px}.compact-grid{grid-template-columns:1fr}.catalog-jump{position:static}.catalog-section{padding:64px 0}.catalog-copy h3{font-size:24px}.brand-rail-4{grid-template-columns:1fr 1fr}}

/* V12 catalogo sistemi */
.catalog-nav{position:sticky;top:72px;z-index:20;background:rgba(247,245,240,.96);border-top:1px solid #ddd8ce;border-bottom:1px solid #ddd8ce;backdrop-filter:blur(10px)}.catalog-nav .wrap{display:flex;gap:24px;overflow:auto;padding-top:15px;padding-bottom:15px}.catalog-nav a{white-space:nowrap;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.catalog-section{padding:86px 0}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.catalog-card{background:#fff;border:1px solid #dfddd7;display:flex;flex-direction:column;min-height:100%;box-shadow:0 12px 36px rgba(20,24,28,.04)}.catalog-visual{aspect-ratio:4/3;background:#f2f2f0;display:flex;align-items:center;justify-content:center;overflow:hidden}.catalog-visual img{width:100%;height:100%;object-fit:contain;background:#fff}.catalog-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}.catalog-body h3{font-size:1.42rem;margin:0}.catalog-body p{margin:0 0 8px;line-height:1.55}.catalog-links{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:12px}.muted-link{opacity:.72}.technical-source-callout{padding:20px 22px;margin:0 0 26px;border-left:3px solid #c88732;background:#fff}.technical-source-callout p{max-width:860px}.partner-manifesto{height:max-content}.band .catalog-card{background:#fff}@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.catalog-grid{grid-template-columns:1fr}.catalog-section{padding:58px 0}.catalog-nav{top:60px}}


/* v13 category pages */
.category-hero{position:relative;min-height:500px;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;overflow:hidden}
.category-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,39,.94) 0%,rgba(8,25,39,.74) 42%,rgba(8,25,39,.14) 75%,rgba(8,25,39,.05) 100%)}
.category-hero .wrap{position:relative;z-index:1;padding-top:96px;padding-bottom:72px}.category-hero h1{max-width:720px;font-size:clamp(3rem,7vw,6.5rem);line-height:.92;margin:.35rem 0 1rem}.category-hero p{max-width:660px;font-size:1.12rem;line-height:1.65}.category-hero .eyebrow{color:#d5ad72}
.category-benefits{border-bottom:1px solid var(--line);background:#fff}.category-benefits .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.category-benefit{padding:26px 28px;border-right:1px solid var(--line)}.category-benefit:last-child{border-right:0}.category-benefit strong{display:block;margin-bottom:7px}.category-benefit span{font-size:.9rem;opacity:.72;line-height:1.45}
.category-intro{padding:72px 0 28px}.category-intro .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end}.category-intro h2{font-size:clamp(2.2rem,5vw,4rem);margin:.2rem 0}.category-intro p{max-width:620px}.category-note{font-size:.78rem;opacity:.65;margin-top:12px}
.category-page .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:72px}.category-page .catalog-visual{aspect-ratio:1.25/1}.category-page .catalog-body h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:1.55rem}
.category-cta{background:#102b3d;color:#fff;padding:70px 0}.category-cta .wrap{display:flex;justify-content:space-between;gap:28px;align-items:center}.category-cta h2{font-size:clamp(2rem,4vw,3.8rem);margin:0;max-width:680px}.category-cta p{max-width:500px;margin:0 0 18px}.category-cta .btn{border-color:#fff;color:#fff}
.serramenti-landing{padding:78px 0}.family-row{display:grid;grid-template-columns:.75fr 1.25fr 1.25fr;gap:20px;align-items:stretch;margin-bottom:28px}.family-copy{padding:24px 20px 24px 0}.family-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,5vw,5rem);font-weight:500;margin:.25rem 0 1rem}.family-copy p{max-width:330px}.family-tile{position:relative;min-height:340px;overflow:hidden}.family-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.family-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(10,25,36,.88))}.family-tile .tile-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.family-tile h3{margin:0 0 4px;font-size:1.5rem}.family-tile p{margin:0;opacity:.84;font-size:.92rem}.family-tile a{position:absolute;inset:0;z-index:3}.family-row.facades .family-tile{min-height:380px}
@media(max-width:980px){.category-benefits .wrap{grid-template-columns:1fr 1fr}.category-benefit:nth-child(2){border-right:0}.family-row{grid-template-columns:1fr 1fr}.family-copy{grid-column:1/-1}.category-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-intro .wrap{grid-template-columns:1fr}.category-cta .wrap{display:block}.category-cta p{margin-top:18px}}
@media(max-width:680px){.category-hero{min-height:430px}.category-benefits .wrap,.family-row,.category-page .catalog-grid{grid-template-columns:1fr}.category-benefit{border-right:0;border-bottom:1px solid var(--line)}.family-tile{min-height:300px}.category-hero .wrap{padding-bottom:48px}.category-intro{padding-top:52px}}

/* V14 catalogo visuale: schede tecniche piu ampie */
.category-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-bottom:86px}
.category-page .catalog-card{border-radius:2px;overflow:hidden;box-shadow:0 14px 38px rgba(15,31,42,.06)}
.category-page .catalog-visual{aspect-ratio:16/10;background:#f4f4f1;border-bottom:1px solid var(--line)}
.category-page .catalog-visual img{object-fit:contain;padding:20px;background:#fff}
.category-page .catalog-body{padding:28px}
.category-page .catalog-body .meta{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#9b7445;font-weight:800}
.category-page .catalog-body h3{font-size:2rem;line-height:1.08;margin:2px 0 8px}
.category-page .catalog-body p{font-size:1rem;line-height:1.6;color:#535b61}
.category-page .catalog-links{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}
.category-page .catalog-links a{font-size:.88rem;font-weight:700}
.category-benefits .wrap{max-width:1180px}
.category-intro .wrap{max-width:1180px}
.category-page section>.wrap{max-width:1180px}
@media(max-width:860px){.category-page .catalog-grid{grid-template-columns:1fr}.category-page .catalog-body h3{font-size:1.7rem}}

/* V15 corretta da V14 - aggiunte senza alterare la struttura approvata */
.hero-carousel{overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity 1s ease,transform 6s ease;pointer-events:none}.hero-slide.is-active{opacity:1;transform:scale(1);z-index:1}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);opacity:.68}.hero-carousel-controls{position:absolute;right:clamp(22px,5vw,72px);bottom:34px;z-index:4;display:flex;gap:8px}.hero-dot{width:34px;height:3px;padding:0;border:0;background:rgba(255,255,255,.34);cursor:pointer}.hero-dot.is-active{background:#fff}.edilizia-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.edilizia-gallery figure{margin:0;background:#fff;border:1px solid var(--line)}.edilizia-gallery img{width:100%;height:320px;object-fit:cover}.edilizia-gallery figcaption{padding:13px 15px;color:var(--muted);font-size:.78rem;line-height:1.45}.technical-docs-section{background:#e9e6de;padding:74px 0}.technical-docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.technical-doc-card{background:#fff;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:8px;min-height:145px}.technical-doc-card>span:last-child{margin-top:auto;font-size:.84rem;font-weight:800}.consorzio-photo-note{margin-top:20px;font-size:.84rem;color:var(--muted)}@media(max-width:900px){.edilizia-gallery,.technical-docs-grid{grid-template-columns:1fr}.edilizia-gallery img{height:280px}.hero-carousel-controls{bottom:20px;right:20px}}


/* V17 responsive globale - struttura invariata */
html,body{max-width:100%;overflow-x:hidden}img,video,svg,canvas,iframe{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - clamp(28px,4vw,64px)))}.catalog-card,.card,.project-card,.team-card,.family-tile,.technical-doc-card{min-width:0}.catalog-body,.card-body,.team-info{min-width:0;overflow-wrap:anywhere}.tech-sheet-label{display:inline-block;margin:0 0 9px;padding:5px 8px;border:1px solid var(--line);background:#f4f2ed;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.internal-tech-note{min-height:0}.team-caption{min-height:0}.team-caption span{font-weight:750;color:var(--dark)}
/* Laptop: conserva composizione ma riduce scala verticale */
@media (max-width:1440px){.nav{height:72px}.site-header .brand-logo{height:46px}.hero{min-height:clamp(500px,72vh,650px)}.hero-copy{padding:96px 0 64px}.hero h1,.page-hero h1{font-size:clamp(44px,5.6vw,76px)}section{padding:82px 0}.project-card{min-height:390px}.gallery-grid img,.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(5) img{height:auto;aspect-ratio:4/3}.edilizia-gallery img{height:auto;aspect-ratio:4/3}.category-hero{min-height:420px}.family-tile,.family-row.facades .family-tile{min-height:300px}.catalog-media img{height:auto;aspect-ratio:4/3}.facade-feature .catalog-media img{height:auto;aspect-ratio:4/3}}
@media (max-width:1180px){.wrap{width:min(var(--max),calc(100% - 36px))}.hero{min-height:clamp(480px,68vh,590px)}.hero-copy{padding:82px 0 54px}.project-card{min-height:350px}.page-hero{padding:96px 0 58px}.category-hero{min-height:380px}.catalog-section{padding:66px 0}.category-page section>.wrap,.category-benefits .wrap,.category-intro .wrap{max-width:100%}}
@media (max-width:980px){.wrap{width:min(var(--max),calc(100% - 32px))}.hero{min-height:620px}.hero-copy{padding:90px 0 58px}.project-card{min-height:360px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-intro,.home-about-grid{grid-template-columns:1fr}.gallery-grid img,.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(5) img{aspect-ratio:4/3;height:auto}.catalog-visual,.category-page .catalog-visual{aspect-ratio:4/3}}
@media (max-width:680px){.wrap{width:calc(100% - 28px)}.hero{min-height:560px}.hero h1,.page-hero h1{font-size:clamp(38px,12vw,58px)}.hero p,.page-hero p{font-size:17px}.team-grid{grid-template-columns:1fr}.project-card{min-height:330px}.category-hero{min-height:340px}.category-hero .wrap{padding-top:74px}.catalog-body,.category-page .catalog-body{padding:20px}.catalog-media img,.category-page .catalog-visual img{height:auto;aspect-ratio:4/3}.edilizia-gallery img{height:auto;aspect-ratio:4/3}.technical-docs-grid{grid-template-columns:1fr}.footer-mm-logo{width:min(130px,40vw)}}
@media (max-width:420px){.wrap{width:calc(100% - 22px)}.hero{min-height:520px}.hero-copy{padding:76px 0 48px}.actions{gap:8px}.btn{width:100%;justify-content:center}.project-card{min-height:300px}.page-hero{padding:80px 0 48px}.category-hero{min-height:310px}.category-benefit{padding:20px 18px}}


/* === V18 commerciale B2B === */
.site-v18 .v18-header .nav{max-width:1500px}.site-v18 .v18-header .menu{gap:16px}.site-v18 .v18-header .menu>a{font-size:11px;letter-spacing:.02em}.nav-cta{background:var(--accent);color:#fff!important;padding:11px 14px;border-radius:2px}.nav-private{opacity:.62;font-size:10px!important}.v18-home-hero .hero-copy{max-width:1050px}.v18-home-hero h1{font-size:clamp(46px,6.2vw,88px)}.v18-home-hero .hero-media img{opacity:.68}.section-head.compact{max-width:900px}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.macro-card{position:relative;min-height:500px;overflow:hidden;background:#111;color:#fff}.macro-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65;transition:.5s}.macro-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 75%)}.macro-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:30px}.macro-card span{font-size:11px;letter-spacing:.16em;color:#e4b17e}.macro-card h3{font-size:34px;line-height:1;margin:8px 0 12px}.macro-card p{margin:0;color:#eee}.macro-card:hover img{transform:scale(1.035)}.v18-offers{background:#13171a}.offer-card{border-top:1px solid rgba(255,255,255,.2);padding:28px 0;display:flex;flex-direction:column;min-height:320px}.offer-card h3{font-size:30px;line-height:1.05;margin:14px 0}.offer-card p{color:#c8cbce;flex:1}.offer-card a{color:#fff;font-weight:800}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.case-card{display:grid;grid-template-columns:.95fr 1.05fr;background:#fff;border:1px solid var(--line);min-height:360px}.case-card img{width:100%;height:100%;object-fit:cover}.case-copy{padding:28px}.case-copy>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}.case-copy h3{font-size:27px;line-height:1.08;margin:10px 0 18px}.case-copy p{font-size:14px;color:var(--muted);margin:8px 0}.case-copy strong{display:block;margin-top:18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.v18-pro-bridge{background:#2d3033;color:#fff}.split-callout{display:grid;grid-template-columns:1.5fr .5fr;gap:40px;align-items:end}.split-callout h2{font-size:clamp(38px,5vw,64px);margin:10px 0}.split-callout p{color:#cdd0d3;max-width:760px}.v18-final-cta{text-align:center;background:#ece9e2}.v18-final-cta h2{font-size:clamp(40px,5vw,64px);margin:12px 0}.v18-final-cta p{font-size:18px;color:var(--muted)}.v18-page-hero{background:linear-gradient(135deg,#101315,#242a2f)}.v18-page-hero h1{max-width:1100px}.linked-card{display:block}.tag-grid{display:flex;flex-wrap:wrap;gap:10px}.tag-grid span{padding:13px 16px;border:1px solid var(--line);background:#fff;font-weight:750}.v18-highlight{background:#ebe7df}.v18-highlight h2{max-width:900px}.energy-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.energy-flow span{padding:14px 18px;border:1px solid rgba(255,255,255,.24)}.energy-flow b{color:#e4b17e}.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:28px}.trust-panel{background:#f1eee8;padding:30px;border-left:3px solid var(--accent)}.v18-geo{background:#f0f1f2}.hospitality-hero{background:linear-gradient(90deg,rgba(11,14,16,.88),rgba(11,14,16,.54)),url('images/glamping-vulci-01.webp') center/cover}.hospitality-tags span{background:#191e22;color:#fff;border-color:#353b40}.case-feature{background:#f2f0eb}.case-feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.case-feature-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}.case-feature-grid h2{font-size:clamp(38px,5vw,62px)}.v18-multisite{background:#ece9e2}.case-filters{display:grid;gap:14px;margin-bottom:34px;padding:20px;background:#fff;border:1px solid var(--line)}.case-filters>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.case-filters strong{min-width:90px}.case-filters button{border:1px solid var(--line);background:#fff;padding:8px 12px;cursor:pointer}.case-filters button.is-active{background:#17191b;color:#fff;border-color:#17191b}.case-study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.case-study-card{border:1px solid var(--line);background:#fff}.case-study-card[hidden]{display:none!important}.case-study-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.case-study-body{padding:22px}.case-study-body>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:800}.case-study-body h2{font-size:24px;line-height:1.08;margin:10px 0 18px}.case-study-body p{font-size:14px;color:var(--muted)}.case-study-body strong{font-size:12px}.case-study-commercial-cta{background:#ece9e2;text-align:center}.case-study-commercial-cta h2{font-size:clamp(34px,4vw,54px)}.lead-section{background:#f3f1ec}.lead-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:46px;align-items:start}.lead-intro{position:sticky;top:110px}.lead-intro h2{font-size:42px;line-height:1.04}.lead-trust{margin-top:24px;padding:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:7px}.project-form{background:#fff;border:1px solid var(--line);padding:32px}.form-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:28px}.form-progress span{height:5px;background:#e3e3df;text-indent:-9999px}.form-progress span.is-active,.form-progress span.is-complete{background:var(--accent)}.form-step{display:none;border:0;padding:0;margin:0}.form-step.is-active{display:block}.form-step legend{font-size:28px;font-weight:760;margin-bottom:24px}.form-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-grid label{display:flex;gap:9px;align-items:flex-start;padding:13px;border:1px solid var(--line);cursor:pointer}.check-grid input{margin-top:2px}.budget-field{margin-top:22px}.optional{font-weight:400;color:var(--muted)}.form-status{margin-top:16px;padding:0}.form-status.is-success{padding:14px;border-left:3px solid #26834a;background:#f0f7f2}.form-status.is-warning{padding:14px;border-left:3px solid var(--accent);background:#f7f1e9}.v18-operating-model{background:#f2f0eb}
@media(max-width:1180px){.site-v18 .v18-header .menu{gap:10px}.site-v18 .v18-header .menu>a{font-size:10px}.case-study-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.macro-grid,.case-grid,.split-callout,.split-feature,.case-feature-grid,.lead-layout{grid-template-columns:1fr}.macro-card{min-height:420px}.case-card{grid-template-columns:1fr}.case-card img{aspect-ratio:16/9}.lead-intro{position:static}.case-study-grid{grid-template-columns:repeat(2,1fr)}.nav-cta{background:transparent;color:inherit!important;padding:0}.nav-private{opacity:1}}
@media(max-width:640px){.macro-grid,.case-study-grid,.check-grid{grid-template-columns:1fr}.macro-card{min-height:360px}.project-form{padding:20px}.case-filters>div{align-items:flex-start}.case-filters strong{width:100%}.v18-home-hero h1{font-size:clamp(40px,12vw,58px)}}
/* V18 header switches to compact navigation before tablet width to avoid 1024px crowding. */
@media(max-width:1180px){
  .site-v18 .v18-header .menu-toggle{display:block}
  .site-v18 .v18-header .menu{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);gap:10px}
  .site-v18 .v18-header .menu.open{display:flex}
  .site-v18 .v18-header .menu>a{font-size:12px;width:100%}
  .site-v18 .v18-header .nav-cta{background:var(--accent);color:#fff!important;padding:11px 14px;width:auto}
  .site-v18 .v18-header .nav-private{opacity:.7}
}

/* V19 publishability fixes */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status.is-success{padding:14px 16px;border:1px solid rgba(45,130,80,.35);background:rgba(45,130,80,.08);border-radius:10px}
.form-status.is-error{padding:14px 16px;border:1px solid rgba(180,45,45,.35);background:rgba(180,45,45,.08);border-radius:10px}
.form-status.is-loading{padding:14px 16px;border:1px solid rgba(118,64,160,.25);background:rgba(118,64,160,.07);border-radius:10px}
.case-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.case-story-grid>div{padding:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);border-radius:14px}.case-story-grid p{margin:.55rem 0 0}.case-study-related{padding-top:20px;padding-bottom:60px}.case-study-related .actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:760px){.case-story-grid{grid-template-columns:1fr}.case-study-related .actions .btn{width:100%}}


/* V20 corrective know-how */
.legacy-knowhow .legacy-text-only{display:flex;min-height:100%;}
.legacy-knowhow .legacy-text-only>a{display:flex;align-items:stretch;width:100%;}
.legacy-knowhow .legacy-text-only .case-study-body{display:flex;flex-direction:column;justify-content:center;min-height:260px;}
