:root{--et-navy:#0a2543;--et-green:#4f8f3a;--et-blue:#168bc5;--et-yellow:#efa91d;--et-red:#d8292f;--et-white:#fff;--et-light:#f4f7f7;--et-text:#20272d;--et-muted:#667078;--container:1440px;--gutter:42px;--transition:.3s ease}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--et-text);background:#fff}a{color:inherit;text-decoration:none}.et-container{width:min(calc(100% - (var(--gutter)*2)),var(--container));margin:auto}.site-header{height:92px;background:#fff;display:flex;align-items:center;position:relative;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between}.brand-name,.footer-brand{font-weight:900;font-size:28px;color:var(--et-navy)}.custom-logo{max-height:62px;width:auto}.primary-nav{display:flex;align-items:center;gap:34px}.menu{display:flex;gap:34px;list-style:none;margin:0;padding:0}.menu a{font-size:13px;text-transform:uppercase;font-weight:700}.menu-toggle{display:none;background:none;border:0}.button{display:inline-flex;align-items:center;gap:16px;background:var(--et-green);color:#fff;padding:16px 22px;text-transform:uppercase;font-size:12px;font-weight:800;border-radius:3px}.button-small{padding:13px 18px}.hero{min-height:700px;position:relative;display:flex;align-items:center;color:#fff;background:linear-gradient(110deg,#18291f 0%,#273f31 45%,#88744e 100%);overflow:hidden}.hero:after{content:"Inserire fotografia hero";position:absolute;right:8%;bottom:10%;opacity:.28;font-size:28px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.05))}.hero-content{position:relative;z-index:2}.hero h1{font-size:clamp(60px,6vw,96px);line-height:.9;text-transform:uppercase;margin:18px 0 24px;letter-spacing:-3px}.hero-copy{max-width:590px;font-size:20px;line-height:1.45}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.7px;color:var(--et-navy);display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:42px;height:2px;background:var(--et-green)}.eyebrow-light{color:#fff}.eyebrow-light:before{background:#fff}.scroll-hint{position:absolute;z-index:2;bottom:30px;left:max(var(--gutter),calc((100vw - var(--container))/2));font-size:11px;text-transform:uppercase}.section{padding:100px 0}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:48px}.section h2,.manifesto h2,.contact-cta h2{font-size:clamp(42px,4vw,66px);line-height:.98;letter-spacing:-2px;color:var(--et-navy);margin:16px 0}.section-head>p{max-width:500px;line-height:1.6}.services{background:var(--et-light)}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.service-card{color:#fff;overflow:hidden;border-radius:5px}.service-top{min-height:290px;padding:24px;display:flex;flex-direction:column}.service-number{font-weight:900;font-size:18px}.service-icon{font-size:46px;margin:28px 0}.service-card h3{font-size:24px;line-height:1.05;margin:auto 0 8px}.service-card p{margin:0;font-size:14px}.service-green .service-top{background:var(--et-green)}.service-blue .service-top{background:var(--et-blue)}.service-yellow .service-top{background:var(--et-yellow)}.service-red .service-top{background:var(--et-red)}.service-navy .service-top{background:var(--et-navy)}.service-image{height:180px;background:#d7dcda;color:#677;display:grid;place-items:center;font-size:12px}.partner-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.partner-grid>div>p:not(.eyebrow){max-width:600px;font-size:18px;line-height:1.55}.stats{display:flex;gap:34px;margin-top:38px}.stats div{padding-right:30px;border-right:1px solid #ddd}.stats strong{display:block;color:var(--et-green);font-size:28px}.stats span{font-size:12px}.mascot-placeholder{height:560px;background:#f7f6f1;border-radius:50% 50% 8px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--et-navy);font-size:28px}.mascot-placeholder span{font-size:13px;color:var(--et-muted);margin-top:8px}.manifesto{padding:110px 0;background:linear-gradient(110deg,var(--et-navy),#07385a);color:#fff}.manifesto h2{color:#fff;max-width:850px}.manifesto>div>p:last-child{font-size:18px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:50px}.process-grid>div{position:relative;border-top:1px solid #bbc2c6;padding-top:25px}.process-grid strong{font-size:28px;color:var(--et-green)}.process-grid div:nth-child(2) strong{color:var(--et-blue)}.process-grid div:nth-child(3) strong{color:var(--et-yellow)}.process-grid div:nth-child(4) strong{color:var(--et-red)}.process-grid h3{margin:8px 0}.showcase{min-height:430px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.15)),linear-gradient(120deg,#5f695d,#a59b7e)}.showcase h2{font-size:54px;line-height:1;color:#fff}.button-outline{background:transparent;border:1px solid #fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-image{height:460px;background:#d8dddb;display:grid;place-items:center;overflow:hidden;border-radius:4px;color:var(--et-muted);font-size:12px}.about-image.has-image{background:transparent}.about-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.about-content>p:not(.eyebrow){max-width:620px;font-size:18px;line-height:1.65;color:var(--et-muted)}.button-disabled{background:#aeb5b5;pointer-events:none}.contact-cta{padding:65px 0;background:var(--et-green);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1fr .8fr;gap:70px;align-items:center}.contact-cta h2{color:#fff;margin:0}.button-light{background:#fff;color:var(--et-green)}.contact-list{display:flex;flex-direction:column;gap:12px;font-size:14px}.site-footer{background:var(--et-navy);color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.2fr;gap:60px}.footer-grid h3{font-size:12px;text-transform:uppercase}.footer-grid a,.footer-grid span{display:block;font-size:13px;line-height:1.7;opacity:.86}.footer-brand{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.25);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;font-size:11px;opacity:.7}.page-placeholder{min-height:60vh;padding:140px 0}.page-placeholder h1{font-size:70px;color:var(--et-navy)}

/* EnergyTech v1.1 — official brand assets */
.brand{display:flex;align-items:center;min-width:250px}.brand-logo{display:block;width:clamp(220px,18vw,320px);height:auto;max-height:66px;object-fit:contain;object-position:left center}.site-header{height:104px}.header-inner{height:100%}.services{padding-top:110px;padding-bottom:115px}.service-top{position:relative;min-height:315px}.service-icon-img{width:62px;height:62px;object-fit:contain;object-position:left center;margin:24px 0 20px;filter:brightness(0) invert(1)}.service-yellow .service-icon-img{filter:brightness(0) invert(1)}.service-card{transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(10,37,67,.14)}.partner{overflow:hidden}.partner-grid{min-height:650px}.partner-visual{height:580px;position:relative;display:flex;align-items:flex-end;justify-content:center}.mascot-halo{position:absolute;width:520px;height:520px;left:50%;top:50%;transform:translate(-50%,-48%);border-radius:50% 50% 10% 10%;background:#f7f6f1}.partner-mascot{position:relative;z-index:2;display:block;max-width:78%;max-height:540px;width:auto;height:auto;object-fit:contain}.partner-note{position:absolute;z-index:3;right:0;top:24%;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:25px;line-height:1.35;color:#5d6463;transform:rotate(-5deg)}.partner-note:after{content:"";display:block;width:55px;height:3px;background:var(--et-green);margin:14px 0 0 18px;transform:rotate(-4deg)}.footer-logo{display:block;width:300px;max-width:100%;height:auto;margin-bottom:12px}

/* v1.4 - centratura mascotte sezione partner */
.partner-visual{align-items:center;justify-content:center}
.partner-mascot{position:absolute;left:50%;top:50%;transform:translate(-50%,-47%);max-width:78%;max-height:540px}

/* v1.5 - ACF Hero */
.hero.has-hero-image{background-size:cover;background-position:center;background-repeat:no-repeat}.hero.has-hero-image:after{display:none}

#servizi{scroll-margin-top:104px}.service-image.has-image{background-size:cover;background-position:center;background-repeat:no-repeat}.service-image.has-image span{display:none}
/* Manifesto v1.8 */
.manifesto{position:relative;overflow:hidden;min-height:500px;display:flex;align-items:center;padding:110px 0;background:linear-gradient(110deg,var(--et-navy),#07385a);color:#fff}.manifesto-photo{position:absolute;inset:0 0 0 40%;background-size:cover;background-position:center right}.manifesto-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a2543 0%,rgba(10,37,67,.98) 31%,rgba(10,37,67,.76) 52%,rgba(10,37,67,.18) 78%,rgba(10,37,67,.12) 100%)}.manifesto-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:80px;align-items:end}.manifesto-copy{max-width:820px}.manifesto h2{color:#fff;max-width:820px;margin:18px 0 24px}.manifesto-subtitle{font-size:18px;margin:0}.manifesto-claim{justify-self:end;max-width:270px;border-left:2px solid rgba(255,255,255,.8);padding:8px 0 8px 26px;font-family:Georgia,serif;font-size:25px;line-height:1.35;text-shadow:0 2px 12px rgba(0,0,0,.25)}

/* v1.9 — Process */
.process{background:#fff;overflow:hidden}.process-head{margin-bottom:70px}.process-head>p{font-size:17px;color:var(--et-muted)}.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.process-grid:before{content:"";position:absolute;top:8px;left:0;right:0;height:1px;background:#d9dfe1}.process-step{position:relative;border-top:0!important;padding:42px 44px 0 0;min-height:255px}.process-step:not(:last-child){margin-right:20px}.process-marker{position:absolute;top:0;left:0;width:17px;height:17px;border:1px solid #cbd3d6;border-radius:50%;background:#fff;display:grid;place-items:center;z-index:2}.process-marker span{width:7px;height:7px;border-radius:50%;background:var(--et-green)}.process-step-2 .process-marker span{background:var(--et-blue)}.process-step-3 .process-marker span{background:var(--et-yellow)}.process-step-4 .process-marker span{background:var(--et-red)}.process-grid strong{display:block;font-size:44px;line-height:1;font-weight:300;letter-spacing:-2px;color:var(--et-green)}.process-grid .process-step-2 strong{color:var(--et-blue)}.process-grid .process-step-3 strong{color:var(--et-yellow)}.process-grid .process-step-4 strong{color:var(--et-red)}.process-grid h3{margin:18px 0 12px;color:var(--et-navy);font-size:24px;line-height:1.1}.process-grid p{margin:0;max-width:280px;color:var(--et-muted);font-size:15px;line-height:1.65}

/* v1.10 — Showcase */
.showcase{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;color:#fff;background-color:#26382f;background-size:cover;background-position:center center}.showcase-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,36,.82) 0%,rgba(5,22,36,.62) 36%,rgba(5,22,36,.24) 68%,rgba(5,22,36,.08) 100%)}.showcase-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.20),transparent 45%)}.showcase-inner{position:relative;z-index:2}.showcase-copy{max-width:760px;padding:105px 0}.showcase h2{max-width:760px;margin:18px 0 26px;color:#fff;font-size:clamp(52px,5.1vw,82px);line-height:.96;letter-spacing:-3px;text-wrap:balance}.showcase-text{max-width:570px;margin:0;color:rgba(255,255,255,.9);font-size:18px;line-height:1.6}.showcase.has-showcase-image{background-repeat:no-repeat}

/* v1.13 */
.partner-mascot{max-width:70%;max-height:500px;}

/* v1.14 - Partner: mascotte monocromatica senza fondale, proporzioni equilibrate */
.partner-visual{
    height:560px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}
.partner-visual .mascot-halo{display:none !important;}
.partner-mascot{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:auto;
    height:auto;
    max-width:62%;
    max-height:470px;
    object-fit:contain;
    object-position:center;
}

/* v1.15 — Pagina Contatti */
.contact-page-hero{padding:115px 0 90px;background:#fff}.contact-page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end}.contact-page-hero h1{margin:18px 0 0;color:var(--et-navy);font-size:clamp(64px,6.3vw,104px);line-height:.88;letter-spacing:-4px}.contact-page-intro{padding-bottom:8px}.contact-page-intro p{max-width:570px;margin:0;color:var(--et-muted);font-size:21px;line-height:1.6}.contact-page-main{padding:105px 0;background:var(--et-light);scroll-margin-top:104px}.contact-page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px;align-items:start}.contact-details{position:sticky;top:135px}.contact-details h2,.contact-form-panel h2{margin:16px 0 28px;color:var(--et-navy);font-size:clamp(38px,3.3vw,56px);line-height:1;letter-spacing:-2px}.contact-detail-list{margin-top:48px;border-top:1px solid #d9dfe1}.contact-detail-list>div{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:19px 0;border-bottom:1px solid #d9dfe1}.contact-detail-list span{color:var(--et-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.contact-detail-list a,.contact-detail-list p{margin:0;color:var(--et-navy);font-size:17px;line-height:1.5}.contact-detail-list a:hover{color:var(--et-green)}.contact-accent{margin-top:42px;padding:26px 28px;border-left:3px solid var(--et-green);background:#fff}.contact-accent strong{display:block;color:var(--et-navy);font-size:18px}.contact-accent span{display:block;margin-top:7px;color:var(--et-muted);font-size:14px}.contact-form-panel{padding:58px 62px 62px;background:#fff;border-radius:5px;box-shadow:0 22px 60px rgba(10,37,67,.07)}.contact-form-panel h2{margin-bottom:16px}.contact-form-lead{max-width:570px;margin:0 0 38px;color:var(--et-muted);font-size:16px;line-height:1.6}.energytech-contact-form{display:flex;flex-direction:column;gap:24px}.energytech-contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.energytech-contact-form label{display:flex;flex-direction:column;gap:9px;color:var(--et-navy);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}.energytech-contact-form input[type=text],.energytech-contact-form input[type=tel],.energytech-contact-form input[type=email],.energytech-contact-form textarea{width:100%;border:0;border-bottom:1px solid #bcc6ca;border-radius:0;background:transparent;padding:12px 0 13px;color:var(--et-text);font:inherit;font-size:17px;outline:none;transition:border-color .25s ease}.energytech-contact-form textarea{min-height:130px;resize:vertical}.energytech-contact-form input:focus,.energytech-contact-form textarea:focus{border-color:var(--et-green)}.energytech-contact-form .privacy-check{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;text-transform:none;font-weight:400;letter-spacing:0;color:var(--et-muted);font-size:12px;line-height:1.5}.privacy-check input{margin:2px 0 0}.contact-submit{border:0;cursor:pointer;align-self:flex-start;margin-top:4px}.contact-message{margin:0 0 28px;padding:15px 18px;border-radius:3px;font-size:14px;line-height:1.5}.contact-message-success{background:#eef6eb;color:#315d28;border-left:3px solid var(--et-green)}.contact-message-error{background:#fff1f1;color:#8d2528;border-left:3px solid var(--et-red)}.et-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-page-bottom{padding:90px 0;background:var(--et-navy);color:#fff}.contact-page-bottom h2{max-width:900px;margin:18px 0 0;color:#fff;font-size:clamp(48px,5vw,78px);line-height:.95;letter-spacing:-3px}





/* v1.20 — Partner visual: composizione corretta sul markup reale */
.partner .partner-visual{
    position:relative;
    height:560px;
    min-height:560px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
    isolation:isolate;
}

.partner .partner-scene{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}

/* linea di appoggio */
.partner .partner-ground{
    position:absolute;
    left:8%;
    right:2%;
    bottom:22px;
    height:1px;
    background:rgba(79,143,58,.24);
}

/* casa: pareti */
.partner .partner-house-wall{
    position:absolute;
    width:330px;
    height:265px;
    right:2%;
    bottom:22px;
    border-left:20px solid rgba(79,143,58,.045);
    border-right:20px solid rgba(79,143,58,.045);
    border-bottom:0;
}

/* casa: tetto disegnato con due linee */
.partner .partner-house-roof{
    position:absolute;
    width:235px;
    height:235px;
    right:49px;
    bottom:177px;
    border-left:20px solid rgba(79,143,58,.045);
    border-top:20px solid rgba(79,143,58,.045);
    transform:rotate(45deg);
    transform-origin:center;
}

/* arco sottile verde */
.partner .partner-arc{
    position:absolute;
    width:420px;
    height:420px;
    right:2%;
    bottom:62px;
    border:3px solid rgba(79,143,58,.18);
    border-right-color:transparent;
    border-bottom-color:transparent;
    border-radius:50%;
    transform:rotate(13deg);
}

/* foglia grande a sinistra */
.partner .partner-leaf-one{
    position:absolute;
    width:145px;
    height:235px;
    left:5%;
    bottom:22px;
    background:rgba(79,143,58,.055);
    border-radius:100% 0 100% 0;
    transform:rotate(-19deg);
}
.partner .partner-leaf-one::after{
    content:"";
    position:absolute;
    width:2px;
    height:180px;
    left:73px;
    bottom:5px;
    background:rgba(79,143,58,.10);
    transform:rotate(18deg);
    transform-origin:bottom;
}

/* seconda foglia, più piccola */
.partner .partner-leaf-two{
    position:absolute;
    width:95px;
    height:155px;
    left:20%;
    bottom:22px;
    background:rgba(79,143,58,.035);
    border-radius:100% 0 100% 0;
    transform:rotate(14deg);
}

/* mascotte sopra a tutti gli elementi */
.partner .partner-visual > .partner-mascot{
    position:relative !important;
    z-index:5;
    left:auto !important;
    top:auto !important;
    display:block;
    width:auto;
    height:auto;
    max-width:355px;
    max-height:455px;
    object-fit:contain;
    object-position:center bottom;
    margin:0 20px 22px 0;
    transform:none !important;
    filter:none;
}
