/* Homepage and footer dimensions measured against heliosenergia.it. */
body.home{--body:"neue-haas-grotesk-display",sans-serif;--pad:64px;--space-section:120px;font-family:"neue-haas-grotesk-display",sans-serif}
.home #main>.section{padding:120px 64px}
.home #main>.section>.container{width:100%;max-width:1600px;margin:0 auto;padding:0}
.home #main .reveal{opacity:1;transform:none}
.home .hero{height:auto;min-height:95dvh}
.home .hero__content{min-height:95dvh;height:auto;width:100%;max-width:none;padding:180px 64px 40px;gap:24px;justify-content:space-between}
.home .hero__kicker{font-size:16.8px;line-height:1.4;margin:0}
.home .hero__copy{gap:4px;width:100%}
.home .hero__title{font-size:88px;line-height:1;font-weight:400;max-width:none;width:auto;letter-spacing:.02em}
.home .hero__subtitle{font:400 20px/1.4 "neue-haas-grotesk-display",sans-serif;max-width:900px;margin:0}
.home .hero__promos{display:flex;gap:32px;justify-content:space-between;align-items:stretch;margin-top:24px;width:100%}
.home .hero__intro{font-size:32px;line-height:1.1;width:auto;min-width:20%;max-width:320px;flex:0 0 auto;margin:0}
.home .hero__slider{width:calc(100% - 320px);flex:none;min-width:0;margin:-16px -64px 0 -16px;padding:24px 64px 0 16px;overflow:hidden}
.home .hero__slider .slider__viewport{overflow:visible}
.home .hero__slider .promo-track{display:flex;gap:24px;grid-template-columns:none;align-items:stretch;overflow-x:auto;scrollbar-width:none}
.home .hero .promo-card{flex:0 0 352px;width:352px;min-width:352px;max-width:352px;height:auto;min-height:0;padding:24px;border:1px solid #e1e9f1;border-radius:8px;display:flex;flex-direction:column;align-items:stretch;background:#fff;color:#25303a;box-shadow:none;gap:0}
.home .hero .promo-card__tags{height:22.4px;gap:8px}
.home .hero .tag{font:400 12px/1.2 Ubuntu,sans-serif;padding:4px 8px;border-radius:100px;letter-spacing:0}
.home .hero .promo-card__title{font-size:24px;line-height:1.2;font-weight:400;margin:24px 0 16px;letter-spacing:.02em}
.home .hero .promo-card__price{display:block;margin:0}
.home .hero .promo-card__prefix{display:block;font-size:16.8px;line-height:1.2;margin:0;font-weight:400}
.home .hero .promo-card__amount{display:block;font-size:48px;line-height:1;font-weight:400;letter-spacing:.02em}
.home .hero .promo-card__euro{font-size:48px;line-height:1;font-weight:400;vertical-align:baseline;margin-left:0}
.home .hero .promo-card__note{display:none}
.home .hero .promo-card__cta{margin-top:16px;padding:0;min-height:0;height:23.52px;display:flex;justify-content:space-between;border:0;border-radius:0;background:none;color:#25303a;box-shadow:none;font-size:16.8px;line-height:1.4}
.home .hero__slider .slider__controls{height:82px;min-height:82px;padding-top:24px;margin:0;align-items:flex-end}
.home .hero__slider .slider-btn{width:48px;height:48px}
.home .hero__quicklinks{display:none}
.home .needs>.container{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:flex-start;gap:4vw}
.home #scopri-di-piu .heading-large{font-size:32px;line-height:1.1;font-weight:400;margin:0 0 4px;width:auto}
.home .needs .text_wrapper{flex:1;min-width:208px;display:flex;flex-direction:column;align-items:flex-start}
.home .needs .card_list.is-home{width:100%;max-width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:24px}
.home .needs .card_row{display:flex;flex:none;width:auto;gap:24px;flex-wrap:nowrap;margin:0}
.home .needs .card-01_component.is-flat{width:272px;min-width:272px;max-width:none;flex:none;min-height:0;height:auto;border-radius:8px}
.home .needs .card_text_wrapper{padding:24px;gap:32px}
.home .needs .card_info{min-height:0;gap:4px;justify-content:flex-start}
.home .needs .card_text{padding-bottom:40px}
.home .needs .card_heading{font-size:24px;line-height:1.2;font-weight:400}
.home .needs .card_image{width:120px;height:120px;flex:none}
.home .needs .arrow.is-flat{width:24px;height:24px;opacity:0}
.home .needs .card-01_component:hover .arrow.is-flat{opacity:1}
.home .stores{position:relative;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.home .stores>.stores__grid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;max-width:912px!important;background:#fff;border-radius:8px;padding:64px!important;box-shadow:0 8px 32px #0002;z-index:1}
.home .stores__intro{width:100%;text-align:center}
.home .stores__intro h2{font:400 32px/1.1 "neue-haas-grotesk-display",sans-serif;margin:0 0 12px}
.home .city-ticker{display:none}
.home .stores__backdrop{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:0 24px;opacity:.035;font-size:clamp(48px,6vw,96px);font-style:italic;font-weight:900;line-height:1;pointer-events:none;transform:rotate(-4deg);z-index:0}
.home .store-finder{width:100%;max-width:640px;margin:0;display:flex;flex-direction:column;align-items:center}
.home .store-finder__card{display:flex;width:100%;padding:0;border:0;border-radius:0;box-shadow:none;gap:0;background:none}
.home .store-finder select{height:48px;min-height:48px;padding:8px 16px;border:1px solid #25303a;border-radius:8px 0 0 8px;font:400 16.8px/1.4 "neue-haas-grotesk-display",sans-serif;background:#fff;flex:1;min-width:0}
.home .store-finder__card .btn{height:48px;min-height:48px;padding:0 16px;border-radius:0 8px 8px 0}
.home .stores__all{margin-top:32px;min-height:0;padding:0;font-size:16.8px;line-height:1.4}
.home #main>.tailor{display:none}
.home .about__inner{display:flex;flex-direction:column;align-items:stretch}
.home .about .kicker{font-size:12px;line-height:1.4;margin:0 0 4px;font-weight:700}
.home .about__text{font-size:64px;line-height:1;letter-spacing:.02em;font-weight:400;margin:0;max-width:none}
.home .about__text p{margin:0}
.home .about__inner>.btn{align-self:flex-end;margin-top:32px;height:40px;min-height:40px;padding:8px 32px;border:1px solid #25303a;border-radius:8px;background:#fff;color:#25303a}
.home .news>.container{max-width:912px!important}
.home .news__head{text-align:center;display:flex;flex-direction:column;gap:16px;margin-bottom:40px;align-items:center}
.home .news__head h2{font-size:32px;line-height:1.1;font-weight:400;margin:0 0 4px}
.home .news__head p{font-size:16.8px;line-height:1.4;margin:0;max-width:none}
.home .news-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-template-rows:auto auto auto;gap:0 32px;width:100%;align-items:stretch}
.home .news-grid .news-card{width:100%;min-width:0;min-height:0;height:auto;padding:16px 0;grid-column:2;grid-row:auto;border:0;border-bottom:1px solid #e1e9f1;border-radius:0;box-shadow:none;overflow:hidden;transform:none}
.home .news-grid .news-card.is-featured{grid-column:1;grid-row:1/span 3;padding:0;border:0;border-radius:8px;box-shadow:0 8px 15px #0000001a}
.home .news-card__link{display:flex;flex-direction:column;height:100%;min-height:0}
.home .news-grid .news-card:not(.is-featured) .news-card__media{display:none}
.home .news-grid .news-card.is-featured .news-card__media{display:block;width:100%;aspect-ratio:3/2;height:auto;min-height:0;flex:none}
.home .news-grid .news-card__body{padding:24px;gap:0;flex:1}
.home .news-grid .card_info{min-height:0;gap:16px;justify-content:flex-start;width:100%}
.home .news-grid .card_header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;margin:0}
.home .news-grid .news_tag{font:700 12px/1.4 "neue-haas-grotesk-display",sans-serif;gap:4px}
.home .news-grid .news-tag__dot{width:12px;height:12px}
.home .news-grid .news_date{font-size:14px;line-height:1.4;letter-spacing:0;gap:0}
.home .news-grid .card_heading{font:400 24px/1.2 "neue-haas-grotesk-display",sans-serif;letter-spacing:.02em;margin:0}
.home .news-grid .news-card__excerpt{font-size:16.8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0 0;color:#7f868d}
.home .news-grid .arrow{display:none}
.home .news__cta{text-align:center;margin-top:72px}
.home .news__cta .btn{min-height:40px;height:40px;padding:8px 32px;background:#25303a;color:white;border-radius:8px;border:0}
.home .news__cta .btn svg{display:none}
.home .cta-band__grid{display:flex;flex-flow:row;gap:4vw;align-items:flex-start;justify-content:space-between}
.home .cta-band h2{font-size:64px;line-height:1;font-weight:400;letter-spacing:.02em;max-width:560px;min-width:40%;flex:0 0 40%;margin:0}
.home .cta-band__copy{flex:1;min-width:0;margin-top:25.6px}
.home .cta-band p{font-size:32px;line-height:1.2;margin:0}
.home .cta-band .btn{height:40px;min-height:40px;padding:8px 32px;margin-top:40px;font-size:16.8px;border-radius:8px}
@media(min-width:1440px){.home .needs>.container{gap:1vw}}
@media(max-width:991px){
 body.home{--pad:48px;--space-section:96px}
 .home #main>.section{padding:96px 48px}
 .home .hero__content{padding:144px 48px 40px}
 .home .hero__title{font-size:clamp(40px,7vw,88px)}
 .home .hero__subtitle{max-width:100%}
 .home .hero__promos{flex-direction:column;gap:16px}
 .home .hero__intro{font-size:28px;line-height:1.1;max-width:none;width:auto}
 .home .hero__intro br{display:none}
 .home .hero__slider{width:calc(100% + 64px);margin:-16px -48px 0 -16px;padding:24px 48px 0 16px}
 .home .hero .promo-card{padding-bottom:32px}
 .home .needs>.container{flex-direction:column;align-items:center;gap:16px}
 .home #scopri-di-piu .heading-large{font-size:28px;line-height:1.1;text-align:center}
 .home #scopri-di-piu .heading-large br{display:none}
 .home .needs .text_wrapper{width:100%;min-width:0}
 .home .needs .card_row{flex:1;flex-wrap:wrap;width:auto}
 .home .needs .card-01_component.is-flat{flex:1;min-width:256px;width:100%}
 .home .needs .card_text_wrapper{padding-bottom:32px}
 .home .stores{min-height:0;padding:15vw 48px!important}
 .home .stores>.stores__grid{padding:64px!important}
 .home .about__text{font-size:40px;line-height:1}
 .home .news__head h2{font-size:28px}
 .home .news-grid{grid-template-columns:1fr 1fr}
 .home .news-grid .news-card.is-featured{grid-row:1/span 2;margin-bottom:16px}
 .home .news-grid .news-card:last-child{display:none}
 .home .news-grid .news-card__body{padding-bottom:32px}
 .home .cta-band__grid{flex-direction:column;gap:16px}
 .home .cta-band h2{font-size:48px;min-width:0;max-width:none;flex:auto}
 .home .cta-band__copy{margin-top:0;width:100%}
 .home .cta-band p{font-size:24px}
}
@media(max-width:767px){
 body.home{--pad:32px;--space-section:64px}
 .home #main>.section{padding:64px 32px}
 .home .hero__content{padding:96px 32px 40px;align-items:center;text-align:center}
 .home .hero__title{font-size:clamp(40px,15vw,64px)}
 .home .hero__subtitle{font-size:20px}
 .home .hero__intro,.home .hero__slider{display:none}
 .home .hero__promos{margin-top:32px}
 .home .hero__quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;margin:0}
 .home .hero__quicklink{background:white;border:1px solid #e1e9f1;border-radius:8px;color:#25303a;padding:32px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:16.8px;line-height:1.4;min-height:0}
 .home .hero__quicklink svg{width:24px;height:24px}
 .home #scopri-di-piu .heading-large{font-size:26.4px}
 .home .needs .card_heading{font-size:26.4px}
 .home .needs .card_text{padding-bottom:0}
 .home .needs .card_text_wrapper{padding:24px}
 .home .stores{padding:15vw 32px!important}
 .home .stores>.stores__grid{padding:64px 24px!important}
 .home .stores__intro h2{font-size:24px}
 .home .about__text{font-size:32px}
 .home .news__head h2{font-size:26.4px}
 .home .news-grid{column-gap:8px}
 .home .news-grid .news-card{padding:0}
 .home .news-grid .news-card__body{padding:24px}
 .home .news-grid .card_heading{font-size:26.4px}
 .home .cta-band__grid{text-align:center;align-items:center;gap:24px}
 .home .cta-band h2{font-size:40px}
 .home .cta-band p{font-size:20px}
}
@media(max-width:479px){
 body.home{--pad:20px;--space-section:80px}
 .home #main>.section{padding:80px 20px}
 .home .hero__content{padding:120px 20px 16px}
 .home .hero__quicklink{padding:24px 16px;gap:4px}
 .home .needs .card_list.is-home{gap:19.5px}
 .home .needs .card_row{width:100%;flex-direction:column;gap:5vw}
 .home .needs .card-01_component.is-flat{width:100%;min-width:0}
 .home .needs .card_image{width:88px;height:88px}
 .home .stores{padding:15vw 20px!important}
 .home .news-grid{grid-template-columns:1fr;grid-template-rows:auto}
 .home .news-grid .news-card,.home .news-grid .news-card.is-featured{grid-column:1;grid-row:auto;margin:0}
 .home .news-grid .news-card:last-child{display:block}
 .home .news__cta{margin-top:48px}
}
/* Align inherited tracking and intrinsic component sizing with the reference. */
.home .hero__title,.home .hero .promo-card__title,.home .hero .promo-card__amount,.home .hero .promo-card__euro,.home .about__text,.home .news__head h2,.home .news-grid .card_heading,.home .cta-band h2{letter-spacing:.336px}
.home .hero .promo-card__cta{width:100%;max-width:none}
.home .hero__intro{width:max-content;flex:0 0 auto}
.home .about__text em{font-style:normal;color:#9ea5ab}
.home .stores__intro h2{max-width:none;width:100%}
.home .stores>.stores__grid{min-height:289.65625px;border-radius:14px}
.home .store-finder{gap:8px}
.home .news__head{gap:12px}
.home .news-grid .card_info{gap:4px}
.home .news-grid .card_header{margin-bottom:16px}
.home .news-grid .is-featured .card_info{justify-content:center}
.home .news-grid .news-card__excerpt{margin:0 0 8px}
.home .news-grid .home-news-arrow{display:flex;width:24px;height:24px;margin-left:auto;flex:none}
.home .cta-band h2{width:560px;flex:0 0 560px}
@media(max-width:991px){
 .home .cta-band h2{width:auto;flex:auto}
}
@media(max-width:767px){
 .home .stores>.stores__grid{padding:64px 16px!important;min-height:337.328125px}
 .home .store-finder__card{flex-direction:column;align-items:center;gap:8px;margin-top:8px}
 .home .store-finder select{width:100%;border-radius:8px;flex:none}
 .home .store-finder__card .btn{border-radius:8px;min-height:40.46875px;height:40.46875px;padding:10px 24px;margin:0}
 .home .stores__all{font-size:16.8px;line-height:1.1;border:0}
}
.home .needs .card_heading{letter-spacing:.336px}
.home .about .kicker{line-height:16.8px}
.home .about__inner>.btn,.home .cta-band .btn{height:40.46875px;min-height:40.46875px}
.home .cta-band__grid{gap:4vw}
@media(max-width:991px){
 .home .cta-band h2 br{display:none}
 .home .cta-band p{font-size:28.8px}
 .home .cta-band__grid{gap:16px}
 .home .news-grid{grid-template-rows:auto auto}
 .home .news-grid .home-news-arrow{display:none}
 .home .news-grid .is-featured .card_heading{margin-top:8px}
 .home .news-grid .news-card__excerpt{margin-bottom:16px}
}
@media(max-width:767px){.home .cta-band p{font-size:20px}}
@media(max-width:479px){.home .about__text{font-size:26.4px;line-height:1}.home .news-grid{grid-template-rows:auto}}
.home .reveal{opacity:1;transform:none;filter:none;transition:none}
.home .hero .promo-card__title,.home .hero .promo-card__prefix,.home .hero .promo-card__amount,.home .hero .promo-card__euro,.home .hero .promo-card__cta,.home .hero .promo-card__cta *,.home .hero .promo-card .tag{color:#25303a!important}
.home .hero .promo-card .tag{border-color:#7f868d;background:transparent}
.home .stores__intro,.home .stores__intro h2,.home .about__inner>.btn,.home .about__inner>.btn *{color:#25303a!important}
.home .about__text em{font-weight:300}
.home .about .kicker{line-height:19.2px;letter-spacing:.6px;margin-bottom:0}
@media(min-width:480px) and (max-width:991px){.home .news-grid .news-card.is-featured{margin-bottom:0}}
/* Reference surface colors and responsive intermediate layouts. */
.home .hero .promo-card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.home .hero .promo-card__title,.home .hero .promo-card__prefix,.home .hero .promo-card__amount,.home .hero .promo-card__euro,.home .hero .promo-card__cta,.home .hero .promo-card__cta *,.home .hero .promo-card .tag,.home .hero .promo-card .tag *{color:#fff!important}
.home .hero .promo-card__tags{justify-content:flex-end}
.home .hero .promo-card .tag{border:1px solid #ffffff80;display:inline-flex;gap:4px;background:transparent}
.home .hero .promo-card__price{flex:1}
.home .hero .promo-card__price:not(:has(.promo-card__amount)) .promo-card__note{display:block;font-size:16.8px;line-height:1.2;color:#fff}
.home .hero .promo-card__cta{height:24px}
.home .hero .promo-card__cta svg{opacity:0}
.home .hero .promo-card:hover .promo-card__cta svg{opacity:1}
.home .stores,.home .cta-band{background:#fff}
.home .stores__backdrop{color:#25303a;opacity:.18;transform:none;font-size:clamp(48px,8vw,128px);line-height:.9;mask-image:radial-gradient(ellipse at center,#000,transparent 72%)}
.home .stores__all,.home .stores__all *{color:#25303a!important;background:transparent!important}
.home .stores__all{align-self:center;border:0;line-height:1.1}
.home .cta-band .btn svg{display:none}
.home .news-grid [data-brand="energia"] .news-tag__dot{background:#a5a645}
@media(min-width:992px){
 .home .about__text,.home .cta-band h2{font-size:clamp(40px,5vw,64px)}
 .home .cta-band h2{width:auto;flex:0 0 40%;max-width:none}
 .home .cta-band__copy{min-width:50%}
 .home .cta-band p{font-size:clamp(28.8px,3vw,32px)}
}
@media(min-width:480px) and (max-width:767px){
 .home .needs .card_list.is-home{align-items:flex-start}
 .home .stores>.stores__grid{padding:64px 32px!important;min-height:0}
 .home .store-finder__card{flex-direction:row;gap:0;margin-top:0}
 .home .store-finder select{width:auto;flex:1;border-radius:8px 0 0 8px}
 .home .store-finder__card .btn{height:48px;min-height:48px;padding:10px 16px;border-radius:0 8px 8px 0}
}
@media(min-width:992px){.home .cta-band h2{flex:1;min-width:40%;max-width:560px}.home .cta-band__copy{flex:1;min-width:50%}}
.home .hero .promo-card .tag{padding:3px 8px}
@media(min-width:480px) and (max-width:767px){
 .home .needs .card_row{flex:none;width:100%;flex-wrap:nowrap}
 .home .stores__all{height:26.46875px;min-height:26.46875px}
}
@media(min-width:768px) and (max-width:991px){.home .hero .promo-card__price{padding-bottom:16px}.home .hero .promo-card__cta{height:18.46875px;line-height:1.1}}
@media(max-width:767px){
 .home .hero__content{padding-bottom:96px}
 .home .hero__quicklink{background:rgba(255,255,255,.12);color:#fff;border:1px solid #ffffff33;backdrop-filter:blur(8px);font-size:7vw;line-height:1;letter-spacing:.336px}
 .home .hero__quicklink svg{display:none}
}
@media(max-width:479px){.home .hero__content{padding-bottom:72px}}
.home .news__cta .btn{height:40.46875px;min-height:40.46875px}
@media(min-width:480px) and (max-width:767px){.home .news__cta{margin-top:56px}}
@media(min-width:992px){.home .site-header.is-hero .nav-cta{background:#fff!important;color:#25303a!important;border:1px solid #fff;border-radius:8px;padding:10.08px 16.8px 8.4px;min-height:0;height:auto;font-size:16.8px;line-height:1.1}.home .site-header.is-hero .nav-cta span{color:#25303a!important}}
.home .stores::before,.home .stores::after,.home .cta-band::before{display:none}
.home .hero .promo-card__cta,.home .hero .promo-card:hover .promo-card__cta,.home .hero .promo-card__cta:hover{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.home .hero .promo-card__tags{width:100%}

/* Dynamic homepage promos: same desktop surface, responsive text-only rail. */
.home .hero--dynamic-promos .promo-card__tags{height:auto;min-height:22.4px}
.home .hero--dynamic-promos .promo-card__note{margin:0;overflow-wrap:anywhere}
.home .hero--dynamic-promos .promo-card__title{overflow-wrap:anywhere}
@media(max-width:767px){
 .home .hero--dynamic-promos .hero__slider{display:block;width:100%;margin:0;padding:8px 0 0;overflow:hidden;text-align:left}
 .home .hero--dynamic-promos .hero__slider .promo-track{gap:16px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
 .home .hero--dynamic-promos .promo-card{flex:0 0 100%;width:100%;min-width:0;max-width:100%;padding:24px;scroll-snap-align:start;box-sizing:border-box}
 .home .hero--dynamic-promos .promo-card__title{font-size:24px}
 .home .hero--dynamic-promos .promo-card__cta{height:auto;min-height:44px}
 .home .hero--dynamic-promos .hero__slider .slider__controls{height:64px;min-height:64px;padding-top:16px}
 .home .hero--dynamic-promos .hero__promos{min-width:0}
}
