/* =========================================================================
   Helios — pagine interne
   Ricalca i blocchi del sito di produzione: hero a immagine piena,
   fasce grigie e scure con raggio 14px, form in card bianca.
   Riusa i token di assets/css/main.css.
   ========================================================================= */

:root{
  --band-grey:#e9eaec;
  --band-radius:14px;
}

.page-generic{padding-top:calc(var(--header) + 2.5rem);padding-bottom:4rem}

/* ------------------------------------------------------------- Breadcrumb */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  font-family:var(--body);font-size:.8rem;color:rgba(255,255,255,.72);margin:0 0 .75rem}
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{opacity:.55}
.crumbs span[aria-current]{color:#fff}
.hero-inner--plain .crumbs,.hero-inner--plain .crumbs a{color:var(--muted)}
.hero-inner--plain .crumbs span[aria-current]{color:var(--ink)}

/* ------------------------------------------------------------- Hero pagina */
.hero-inner{position:relative;display:block;overflow:hidden;
  padding-top:calc(var(--header) + clamp(5rem,12vw,11rem));
  padding-bottom:clamp(1.75rem,1rem + 3vw,3rem);
  min-height:clamp(20rem,40vw,38rem);
  display:flex;align-items:flex-end;
  color:#fff;background:var(--ink)}
.hero-inner__media{position:absolute;inset:0;z-index:0}
.hero-inner__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:ken 28s ease-in-out infinite alternate}
.hero-inner__shade{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,26,32,.55) 0%,rgba(20,26,32,.28) 40%,rgba(20,26,32,.72) 100%)}
.hero-inner__inner{position:relative;z-index:2;width:100%;padding-inline:var(--pad)}
.hero-inner__kicker{margin:0 0 .5rem;font-size:.9rem;color:rgba(255,255,255,.82)}
.hero-inner__title{font-family:var(--display);font-weight:400;letter-spacing:-.025em;
  font-size:clamp(2.5rem,1.4rem + 4.6vw,5.5rem);line-height:1;margin:0;text-wrap:balance}

.hero-inner--plain{color:var(--ink);background:transparent;
  padding-top:calc(var(--header) + clamp(1.5rem,1rem + 2vw,3rem));padding-bottom:clamp(1rem,.5rem + 1.5vw,2rem);
  min-height:auto;display:block}
.hero-inner--plain .hero-inner__kicker{color:var(--muted)}

/* ------------------------------------------------------------ Fasce comuni */
.section--band{padding-block:clamp(1.5rem,1rem + 2vw,3rem)}
.band{border-radius:var(--band-radius);padding:clamp(1.75rem,1.2rem + 3vw,3.5rem);position:relative;overflow:hidden}
.band--grey{background:var(--band-grey)}
.band--dark{background:var(--ink);color:#fff}
.band__title{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.6rem,1.1rem + 2.2vw,3rem);line-height:1.05;margin:.5rem 0 0;text-wrap:balance}
.band__title--sm{font-size:clamp(1.25rem,1rem + 1.2vw,1.9rem)}
.kicker--light{color:rgba(255,255,255,.62)}

/* -------------------------------------------------- Introduzione editoriale */
.intro-ed{padding-block:clamp(2.5rem,1.5rem + 4vw,5.5rem)}
.intro-ed__grid{display:grid;gap:clamp(1.5rem,1rem + 3vw,3.5rem);
  grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);align-items:start}
.intro-ed__title{font-family:var(--display);font-size:clamp(1.15rem,1rem + .6vw,1.5rem);
  line-height:1.2;margin:0;letter-spacing:-.01em}
.intro-ed__cols{display:grid;gap:clamp(1.25rem,1rem + 2vw,3rem);grid-template-columns:repeat(2,minmax(0,1fr))}
.intro-ed__col p{margin:0 0 .9rem;font-size:.95rem;line-height:1.55;color:var(--ink-700)}
.intro-ed__col p:last-child{margin-bottom:0}
@media (max-width:900px){.intro-ed__grid{grid-template-columns:1fr}.intro-ed__cols{grid-template-columns:1fr}}

/* -------------------------------------------------------- Carosello step */
.steps-slider{display:grid;gap:clamp(1.5rem,1rem + 3vw,3rem);grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);
  align-items:start}
.steps-slider__viewport{position:relative;min-width:0}
.steps-slider__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding-bottom:.5rem;scrollbar-width:none;cursor:grab}
.steps-slider__track::-webkit-scrollbar{display:none}
.step-card{scroll-snap-align:start;flex:0 0 clamp(13rem,20vw,15.5rem);display:flex;flex-direction:column;
  background:#fff;border-radius:var(--radius);padding:1.35rem;min-height:14rem;transition:transform .2s ease,box-shadow .2s ease}
.step-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.step-card__n{margin:0;font-family:var(--meta);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.step-card__title{font-family:var(--display);font-size:1.15rem;font-weight:400;margin:.65rem 0 .5rem;line-height:1.2}
.step-card__text{margin-bottom:5;font-size:.88rem;line-height:1.5;color:var(--ink-700)}
.step-card__cta{margin-top:auto;align-self:flex-start}
.band--grey .slider-btn{color:var(--ink);border-color:var(--ink)}
.band--grey .slider-dots{color:var(--ink)}
.band--grey .slider-btn:hover{background:var(--ink);color:var(--paper)}
.band--grey .slider-btn:hover svg{color:var(--paper)}
@media (max-width:900px){.steps-slider{grid-template-columns:1fr}}

/* ------------------------------------------------------------- Vantaggi */
.section--benefits{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem)}
.benefits{max-width:62rem;margin-inline:auto}
.benefits__title{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.5rem,1.1rem + 1.8vw,2.5rem);line-height:1.1;margin:0 0 clamp(1.5rem,1rem + 2vw,2.5rem)}
.benefits__list{list-style:none;margin:0;padding:0;display:grid;gap:0 clamp(1.5rem,1rem + 3vw,4rem);
  grid-template-columns:repeat(2,minmax(0,1fr))}
.benefit{display:flex;gap:.75rem;align-items:flex-start;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.benefit__arrow{flex:none;width:1rem;height:1rem;margin-top:.25rem;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6v2h8.59L5 17.59L6.41 19L16 9.41V18h2V6z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6v2h8.59L5 17.59L6.41 19L16 9.41V18h2V6z'/%3E%3C/svg%3E") center/contain no-repeat}
.benefit h3{font-family:var(--display);font-size:1rem;font-weight:500;margin:0 0 .3rem;line-height:1.25}
.benefit p{margin:0;font-size:.87rem;line-height:1.5;color:var(--ink-700)}
@media (max-width:760px){.benefits__list{grid-template-columns:1fr}}

/* ------------------------------------------------------------ Correlati */
.related{display:grid;gap:clamp(1.5rem,1rem + 3vw,3rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;border-top:1px solid rgba(37,48,58,.16);border-radius:var(--band-radius)}
.related__cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.related__card{display:block;background:#fff;border-radius:var(--radius);padding:1.25rem;
  color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
a.related__card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.related__card h3{font-family:var(--display);font-size:1rem;font-weight:500;margin:0 0 .4rem}
.related__card p{margin:0;font-size:.82rem;line-height:1.45;color:var(--ink-700)}
@media (max-width:900px){.related{grid-template-columns:1fr}}

.cert-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}
.cert-grid li{display:grid;justify-items:center;gap:.6rem;text-align:center;
  background:#fff;border-radius:var(--radius);padding:1rem .75rem;box-shadow:var(--shadow)}
.cert-grid img{height:4.5rem;width:auto;max-width:100%;object-fit:contain}
.cert-grid span{font-size:.78rem;color:var(--ink-700)}

/* ---------------------------------------------------------------- Claim */
.section--claim{padding-block:clamp(2.5rem,1.5rem + 4vw,5.5rem)}
.claim{max-width:56rem;margin-inline:auto}
.claim__meta{display:flex;justify-content:space-between;gap:1rem;font-family:var(--meta);
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.claim__text{margin:0;font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.4rem,1.05rem + 1.8vw,2.4rem);line-height:1.2}
.claim__text strong{font-weight:400;color:var(--ink)}
.claim__text span{color:var(--muted-2,#b9bec3)}
.claim__art{margin-top:clamp(1.5rem,1rem + 3vw,3rem);display:flex;justify-content:center}
.claim__art img{max-width:min(18rem,60%);height:auto}

/* ------------------------------------------------------- Fascia contatto */
.lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,1rem + 3vw,3rem);
  align-items:stretch;min-height:24rem}
.lead__mark{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;justify-content:flex-end;
  gap:.25rem;pointer-events:none;user-select:none;overflow:hidden;padding-bottom:1rem}
.lead__mark span{display:block;white-space:nowrap;font-family:var(--display);font-weight:700;
  font-size:clamp(4.5rem,11vw,8.5rem);line-height:1.05;letter-spacing:-.02em;color:rgba(255,255,255,.045)}
.lead__mark span:nth-child(2){transform:translateX(-8%)}
.lead__mark span:nth-child(3){transform:translateX(-16%)}
.lead__copy{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;justify-content:flex-start}
.lead__sub{margin:.75rem 0 0;font-size:.85rem;color:rgba(255,255,255,.62)}
.lead__phone{margin-top:auto;padding-top:clamp(2rem,1.5rem + 3vw,4rem)}
.lead__phone p{margin:0 0 .6rem;font-size:.8rem;color:rgba(255,255,255,.62)}
.phone-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:.85rem}
.phone-pill:hover{background:rgba(255,255,255,.1)}

.lead__card{position:relative;z-index:1;background:#fff;color:var(--ink);
  border-radius:var(--radius);padding:clamp(1.25rem,1rem + 1vw,1.75rem)}
@media (max-width:900px){.lead{grid-template-columns:1fr}.lead__mark{display:none}}

/* -------------------------------------------------------------- Form */
.lead-form{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.lead-form .field--full{grid-column:1/-1}
.lead-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form__submit{display:flex;justify-content:flex-end}
.lead-form__submit .btn{width:auto;flex:0 0 auto;align-self:flex-end}
.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field>label{font-family:var(--body);font-size:.78rem;color:var(--ink-700)}
.field input,.field select,.field textarea{font:inherit;font-size:.88rem;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem;width:100%}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--link);outline-offset:1px;border-color:transparent}
.field input[readonly]{background:var(--mist);color:var(--ink-700)}
.field textarea{resize:vertical;min-height:5.5rem}
.consent{display:flex;gap:.55rem;align-items:flex-start;font-size:.74rem;line-height:1.4;color:var(--ink-700)}
.consent+.consent{margin-top:.45rem}
.consent input{width:auto;flex:none;margin-top:.1rem}
.consent a{color:var(--link)}
.btn--accent{border:0;padding:.65rem 1.5rem;border-radius:8px;font-size:16.8px;font-weight:500;cursor:pointer}
.btn--green{background:var(--green);color:var(--ink)}
.btn--green:hover{filter:brightness(.94)}
.btn--luce{background:var(--luce);color:var(--ink)}
.btn--luce:hover{filter:brightness(.94)}
.form-alert{margin:0 0 1rem;padding:.8rem 1rem;border-radius:var(--radius);font-size:.85rem}
.form-alert--ok{background:#eaf7ee;border:1px solid #bfe3c9;color:#1b5e2c}
.form-alert--ko{background:#fdeeee;border:1px solid #f0c4c4;color:#8c2020}
@media (max-width:640px){.lead-form{grid-template-columns:1fr}}

/* --------------------------------------------------------- Strip notizie */
.section--newsstrip{padding-block:clamp(2rem,1.5rem + 2vw,3.5rem)}
.newsstrip__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding-bottom:1rem;border-bottom:1px solid var(--line)}
.newsstrip__all{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;
  color:var(--ink);text-decoration:none}
.newsstrip__all:hover{color:var(--link)}
.newsstrip__list{list-style:none;margin:0;padding:0}
.newsstrip__item{border-bottom:1px solid var(--line)}
.newsstrip__item a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.5rem;
  align-items:baseline;padding:1.15rem 0;text-decoration:none;color:inherit}
.newsstrip__item a:hover .newsstrip__title{color:var(--link)}
.newsstrip__meta{display:flex;align-items:center;gap:1rem;font-family:var(--meta);font-size:.72rem}
.newsstrip__date{color:var(--muted)}
.newsstrip__title{font-family:var(--display);font-size:clamp(1rem,.9rem + .5vw,1.25rem);line-height:1.25}
@media (max-width:700px){.newsstrip__item a{grid-template-columns:1fr;gap:.5rem}}

/* ------------------------------------------------- Blocchi di servizio */
.section-head{max-width:60ch;margin-bottom:clamp(1.5rem,1rem + 2vw,2.5rem)}
.section-head h2{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.5rem,1.1rem + 1.8vw,2.5rem);line-height:1.1;margin:0;text-wrap:balance}
.section-head p{margin:.7rem 0 0;color:var(--ink-700);line-height:1.55}
.section-head__mini{font-family:var(--display);font-size:1.2rem;font-weight:500;margin:0 0 1rem}

.svc-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.svc-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;
  min-height:14rem;padding:1.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  color:inherit;text-decoration:none;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
a.svc-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.svc-card__body{display:flex;flex-direction:column;gap:.5rem}
.svc-card__title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  font-family:var(--display);font-size:1.2rem;line-height:1.15;font-weight:400}
.svc-card__title svg{flex:none;color:var(--muted);transition:transform .2s ease}
a.svc-card:hover .svc-card__title svg{transform:translate(2px,-2px)}
.svc-card__text{color:var(--ink-700);font-size:.88rem;line-height:1.5}
.svc-card__media{margin-top:1.25rem;width:100%}
.svc-card__media img{width:100%;height:11rem;object-fit:cover;border-radius:6px;display:block}
.svc-grid--plain .svc-card{min-height:auto}
.svc-grid--plain .svc-card__media img{height:7rem;object-fit:contain;background:#f4f5f6}

/* Offerte */
.offer-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}
.offer{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius)}
.offer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.offer__name{font-family:var(--display);font-size:1.35rem;font-weight:400;margin:0;line-height:1.15}
.offer__code{margin:.3rem 0 0;font-family:var(--meta);font-size:.72rem;color:var(--muted)}
.offer__code span{color:var(--ink)}
.offer__price{font-family:var(--display);font-size:1.8rem;font-weight:400;line-height:1;margin:0}
.offer__specs{margin:0;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.45rem}
.offer__specs>div{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}
.offer__specs dt{color:var(--muted)}
.offer__specs dd{margin:0;text-align:right}
.offer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}
.offer__list li{position:relative;padding-left:1.1rem;color:var(--ink-700)}
.offer__list li::before{content:"";position:absolute;left:0;top:.45em;width:.4rem;height:.4rem;
  border-radius:50%;background:var(--green)}
.offer__docs{display:flex;flex-wrap:wrap;gap:.4rem}
.doc{display:inline-flex;align-items:center;font-family:var(--meta);font-size:.7rem;
  padding:.35rem .6rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}
.doc:hover{border-color:var(--ink)}
.doc--missing{opacity:.45;pointer-events:none}
.offer__actions{margin-top:auto}
.offer-note{margin-top:1.25rem;max-width:70ch;font-size:.82rem;color:var(--muted);line-height:1.55}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:56rem}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;padding:1.1rem 0;font-family:var(--display);font-size:1.05rem;line-height:1.3}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";flex:none;width:.65rem;height:.65rem;
  border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);
  transform:rotate(45deg) translateY(-.15rem);transition:transform .2s ease}
.faq__item[open] summary::after{transform:rotate(225deg) translateY(-.1rem)}
.faq__body{padding-bottom:1.2rem;max-width:70ch;color:var(--ink-700);line-height:1.6}
.faq__body p{margin:0 0 .7rem}.faq__body p:last-child{margin-bottom:0}

/* Numeri, timeline, specifiche, documenti, canali, locator, promo */
.stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin:0}
.stat{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.stat__value{font-family:var(--display);font-size:clamp(1.8rem,1.4rem + 1.4vw,2.5rem);line-height:1;font-weight:400}
.stat__label{margin:.5rem 0 0;color:var(--ink-700);font-size:.87rem;line-height:1.45}

.timeline{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.tl{padding-top:1.15rem;border-top:2px solid var(--ink)}
.tl__year{font-family:var(--meta);font-size:.78rem;letter-spacing:.1em;color:var(--muted)}
.tl h3{font-family:var(--display);font-size:1.1rem;font-weight:500;margin:.45rem 0 .35rem}
.tl p{margin:0;color:var(--ink-700);font-size:.88rem;line-height:1.5}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.specs{width:100%;border-collapse:collapse;min-width:22rem}
.specs th,.specs td{padding:.8rem 1.1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem}
.specs tr:last-child th,.specs tr:last-child td{border-bottom:0}
.specs th{font-weight:400;color:var(--muted);width:45%}

.doc-group+.doc-group{margin-top:clamp(2rem,1.5rem + 2vw,3rem)}
.doc-group__title{font-family:var(--display);font-size:1.3rem;font-weight:500;margin:0 0 1rem}
.doc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.doc-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.95rem .25rem;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.doc-row:hover{background:var(--mist)}
.doc-row__meta{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--meta);font-size:.72rem;color:var(--muted);flex:none}
.doc-row--missing{opacity:.5;pointer-events:none}

.channels{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.channel{display:flex;flex-direction:column;gap:.3rem;padding:1.25rem;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:inherit}
.channel:hover{box-shadow:var(--shadow)}
.channel__type{font-family:var(--meta);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.channel__value{font-family:var(--display);font-size:1.15rem;line-height:1.2}
.channel__note{font-size:.8rem;color:var(--muted)}
.offices{margin-top:clamp(2rem,1.5rem + 2vw,3rem)}
.offices ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.offices li{display:flex;flex-direction:column;gap:.2rem;padding-top:1rem;border-top:1px solid var(--line)}
.offices li span{color:var(--ink-700);font-size:.9rem}

.locator-bar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1.5rem}
.locator-bar select,.locator-bar input{font:inherit;font-size:.92rem;padding:.7rem .85rem;
  border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:14rem}
.locator-count{margin:0 0 0 auto;font-family:var(--meta);font-size:.78rem;color:var(--muted)}
.pv-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.pv-card{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius)}
.pv-card[hidden]{display:none}
.pv-card__name{font-family:var(--display);font-size:1.1rem;font-weight:500;margin:0;line-height:1.2}
.pv-card__name a{color:inherit;text-decoration:none}
.pv-card__name a:hover{color:var(--link)}
.pv-card__prov{margin:0;font-family:var(--meta);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pv-card__addr{margin:.3rem 0 0;color:var(--ink-700);font-size:.9rem;line-height:1.45}
.pv-card__actions{margin-top:.85rem;display:flex;gap:1rem;font-size:.86rem}
.pv-card__actions a{color:var(--link);text-decoration:none}
.pv-empty{margin-top:2rem;color:var(--muted)}

.promo-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.promo-tile{display:flex;flex-direction:column;gap:.7rem;padding:1.5rem;background:var(--band-grey);border-radius:var(--radius)}
.promo-tile__tags{display:flex;flex-wrap:wrap;gap:.4rem}
.promo-tile__title{font-family:var(--display);font-size:1.45rem;font-weight:400;margin:.2rem 0 0;line-height:1.15}
.promo-tile__price{margin:0;display:flex;flex-direction:column;gap:.1rem}
.promo-tile__price span{font-size:.85rem;color:var(--muted)}
.promo-tile__price strong{font-family:var(--display);font-size:2.1rem;font-weight:400;line-height:1}
.promo-tile__text{margin:0;color:var(--ink-700);font-size:.92rem;line-height:1.5}
.promo-tile__deadline{margin:0;font-family:var(--meta);font-size:.72rem;color:var(--muted)}
.promo-tile .btn{margin-top:auto;align-self:flex-start}

.promo-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem 2.5rem}
.promo-summary__price{margin:0;font-family:var(--display);font-size:clamp(1.4rem,1rem + 1.6vw,2.1rem);line-height:1.15;letter-spacing:-.02em}
.promo-summary__deadline{margin:0;font-family:var(--meta);font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:.4rem .9rem}

.cert-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.cert-list li{padding:.5rem .95rem;border:1px solid var(--line);border-radius:100px;font-size:.85rem;background:#fff}

.section--cards,.section--steps,.section--faq,.section--stats,.section--offers,.section--docs,
.section--channels,.section--locator,.section--promos,.section--timeline,.section--specs,.section--certs{
  padding-block:clamp(2rem,1.5rem + 2.5vw,4rem)}
.inner-page .prose{max-width:70ch}

@media (prefers-reduced-motion:reduce){
  .svc-card,.related__card,.steps-slider__track{transition:none;scroll-behavior:auto}
  a.svc-card:hover,a.related__card:hover{transform:none}
}

.hero-inner__sub{margin:1rem 0 0;max-width:52ch;font-size:clamp(.95rem,.9rem + .25vw,1.1rem);
  line-height:1.5;color:rgba(255,255,255,.85)}
.hero-inner--plain .hero-inner__sub{color:var(--ink-700)}

/* =========================================================================
   Punti vendita — listing + single (live Agropoli / helios-energy-points)
   ========================================================================= */

.hero-inner--plain .hero-inner__title strong { font-weight: 500; color: var(--ink); }

.crumbs--plain { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  font-size:.8rem; color:var(--muted); margin:0 0 .75rem; }
.crumbs--plain a { color:inherit; text-decoration:none; }
.crumbs--plain a:hover { color:var(--ink); }
.crumbs--plain span[aria-current] { color:var(--ink); }

.section--point-hero { padding-top: calc(var(--header) + 24px); padding-bottom: var(--space-section); }
.point-hero { display:grid; grid-template-columns: minmax(0,1fr) minmax(18rem, 440px);
  gap: clamp(2rem, 3vw, 4rem); align-items:start; }
.point-hero__title { font-size: var(--hero-h1); line-height: 1; font-weight: 400; letter-spacing: var(--ls);
  margin: 0 0 .75rem; }
.point-hero__title strong { font-weight: 500; }
.point-hero__open { margin: 0 0 1.75rem; color: var(--muted); font-size: 1rem; }
.point-hero__open strong { font-weight: 500; color: var(--ink); }
.point-welcome { margin: 0 0 .5rem; font-size: 1.15rem; }
.point-bio { color: var(--ink-700); font-size: .95rem; line-height: 1.55; max-width: 38rem; margin: 0 0 1.5rem; }
.point-bio p { margin: 0 0 .6rem; }
.point-stack { display:grid; gap: var(--space-small); margin-bottom: 1.75rem; }
.point-row { display:grid; grid-template-columns: 1.25rem 1fr; gap: 12px; align-items: start; }
.point-row__icon { color: var(--muted); display:grid; place-items:center; width: 1.25rem; height: 1.25rem; }
.point-row__icon svg { width: 18px; height: 18px; }
.point-link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.point-link:hover { color: var(--link); }
.point-hours__label { margin: 0 0 .25rem; }
.point-hours p { margin: 0 0 .2rem; font-size: .95rem; color: var(--ink-700); }
.point-hours strong { color: var(--ink); font-weight: 500; }

.point-map { position: relative; border-radius: 8px; overflow: hidden; height: 440px; background: var(--mist); }
.point-map iframe { width: 100%; height: 100%; border: 0; display:block; }
.point-map__dir { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%);
  background: #fff; color: var(--ink); border-color: var(--ink); white-space: nowrap; z-index: 2; }
.point-map__dir:hover { background: #6489ab; color: #fff; border-color: #6489ab; }

.section--point-services { background: var(--mist); padding-block: var(--space-section); }
.point-services-grid { display:grid; grid-template-columns: minmax(12rem,1fr) minmax(0,3fr);
  gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.point-services__intro .kicker--line { border-bottom: 1px solid var(--line); padding-bottom: .75rem;
  text-transform: uppercase; letter-spacing: .05em; font-size: .8rem; font-weight: 600; }
.point-services__lead { font-size: clamp(1.4rem, 1rem + 1.6vw, 2rem); line-height: 1.15; margin: 1rem 0 0; }
.point-services { list-style:none; margin:0; padding:0; display:grid; gap: 1rem;
  grid-template-columns: repeat(3, minmax(0,1fr)); }
.point-service { background:#fff; border-radius: 8px; padding: 1.35rem 1.25rem; box-shadow: var(--shadow);
  min-height: 10rem; }
.point-service__title { font-size: 1.15rem; font-weight: 500; margin: 0 0 .5rem; line-height: 1.2; }
.point-service p { margin:0; color: var(--ink-700); font-size: .9rem; line-height: 1.5; }

/* Fascia appuntamento — ricalca live #richiedi-appuntamento */
.section.section--appt{
  padding: var(--space-xsmall);
  background: transparent;
}
.appt-band{
  background: var(--ink);
  color: #fff;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  padding-block: var(--space-xxxlarge);
}
.appt-grid{
  display: grid;
  grid-template-columns: .4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-large);
  align-items: start;
  justify-content: space-between;
}
.appt-copy,
.appt-cta{
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xsmall);
  position: relative;
}
.appt-copy__eyebrow{
  margin: 0;
  font-size: .75rem;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(255,255,255,.62);
}
.appt-copy__title{
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -.025em;
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1;
  margin: 0;
  color: #fff;
  text-wrap: balance;
}
.appt-copy__sub{
  margin: .25rem 0 0;
  font-size: 1rem;
  line-height: 1.4;
  color: #fff;
}
.appt-cta{
  align-self: end;
}
.appt-cta__resp{
  margin: 0 0 .35rem;
  max-width: 28rem;
  font-size: .95rem;
  line-height: 1.45;
  color: #fff;
}
.appt-cta__resp strong{ font-weight: 600; }
.appt-cta .btn--ghost{ margin-top: .15rem; }

.appt-card{
  grid-row: span 2;
  z-index: 3;
  position: relative;
  margin-left: auto;
  width: 100%;
  max-width: 40rem;
  min-height: 32rem;
  padding: var(--space-xlarge) var(--space-large);
  background: #fff;
  color: var(--ink);
  border-radius: 14px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.appt-card__slot{ min-height: 22rem; }

/* Fluent Forms dentro la card bianca */
.appt-card .fluentform,
.appt-card .ff-el-form-wrap,
.appt-card .frm-fluent-form{
  display: flex;
  flex-direction: column;
  gap: var(--space-xsmall);
  font-family: var(--body);
}
.appt-card .ff-el-group{ margin-bottom: .35rem; }
.appt-card .ff-el-input--label label,
.appt-card .ff-el-form-check-label,
.appt-card .ff-el-input--label{
  font-family: var(--body);
  font-size: .82rem;
  font-weight: 400;
  color: var(--ink-700);
}
.appt-card .ff-el-form-control,
.appt-card input[type="text"],
.appt-card input[type="email"],
.appt-card input[type="tel"],
.appt-card input[type="number"],
.appt-card select,
.appt-card textarea{
  font: inherit;
  font-size: .88rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .7rem .8rem;
  width: 100%;
  min-height: 3rem;
  box-shadow: none;
}
.appt-card textarea{ min-height: 5.5rem; resize: vertical; }
.appt-card .ff-el-form-control:focus,
.appt-card input:focus,
.appt-card select:focus,
.appt-card textarea:focus{
  outline: 2px solid var(--link);
  outline-offset: 1px;
  border-color: transparent;
}
.appt-card .ff-el-form-check{
  font-size: .74rem;
  line-height: 1.4;
  color: var(--ink-700);
  margin: .2rem 0;
}
.appt-card .ff-btn,
.appt-card .ff-btn-submit,
.appt-card button[type="submit"]{
  align-self: flex-end;
  margin-top: var(--space-large);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .55rem 1.75rem;
  border: 1px solid var(--ink);
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
  font-family: var(--display);
  font-size: 16.8px;
  font-weight: 500;
  letter-spacing: var(--ls);
  cursor: pointer;
  width: auto;
}
.appt-card .ff-btn:hover,
.appt-card .ff-btn-submit:hover,
.appt-card button[type="submit"]:hover{
  background: #6489ab;
  border-color: #6489ab;
  color: #fff;
}
.appt-card .ff-el-group:has(.ff-btn-submit),
.appt-card .ff-el-form-buttons{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0;
}
.appt-card .ff-t-container{ display: flex; gap: var(--space-small); }
.appt-card .ff-t-cell{ flex: 1; min-width: 0; }
.appt-card .ff-form-info{ color: var(--ink); }

@media (max-width: 991px){
  .appt-grid{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-xxlarge);
  }
  .appt-card{
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
  .appt-cta{ align-self: stretch; }
}
@media (max-width: 767px){
  .appt-band{ padding-block: var(--space-section); }
  .appt-card{ padding: var(--space-large) var(--space-medium); }
}
@media (max-width: 479px){
  .section.section--appt{ padding: var(--space-xxsmall); }
  .appt-copy__title{ font-size: 2.5rem; }
  .appt-card{ padding: var(--space-medium) var(--space-small); min-height: 0; }
}

.section--point-nearby { padding-block: var(--space-section); }
.point-nearby { list-style:none; margin: 1.5rem 0 0; padding:0; display:grid; gap: var(--space-large, 32px);
  grid-template-columns: repeat(4, minmax(0,1fr)); }
.pv-card--mini {
  width: 100%;
  column-gap: var(--space-large, 32px);
  row-gap: var(--space-large, 32px);
  flex-direction: column;
  display: flex;
  padding: var(--space-medium, 24px);
  flex: 1 1 0%;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: inherit;
  min-height: 8.5rem;
  transition: box-shadow .2s ease, transform .2s ease;
}
.pv-card--mini:hover { box-shadow: var(--shadow); transform: translateY(-2px); }

/* Listing */
.page-locator .hero-inner--locator{padding-block:clamp(1.5rem,1rem + 2vw,2.4rem)}
.page-locator .hero-inner--locator .hero-inner__title{font-size:clamp(1.8rem,1.2rem + 2vw,2.6rem)}
.section--locator { padding-top: 0; padding-bottom: 2.5rem; }
body:has(.page-locator) .site-header { z-index: 1200; }
.locator { display:grid; grid-template-columns: minmax(18rem, 24rem) minmax(0,1fr);
  gap: 0; align-items: stretch;
  height: min(28rem, calc(100svh - var(--header, 137px) - 10rem));
  min-height: 20rem; max-height: 28rem;
  border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background:#fff;
  isolation: isolate; position: relative; z-index: 0; }
.locator__list { background:#fff; overflow: auto; display:flex; flex-direction:column; min-height:0; z-index: 1; }
.locator__map { min-height: 0; height: 100%; background: var(--mist, #e9eaec);
  position: relative; z-index: 0; overflow: hidden; isolation: isolate; }
.locator__map .leaflet-container { height: 100% !important; width: 100% !important; z-index: 0; }
.locator-bar { position: sticky; top: 0; z-index: 2; background:#fff;
  padding: 1rem 1.15rem .85rem; border-bottom: 1px solid var(--line); display:grid; gap: .7rem; }
.locator-search input { font: inherit; font-size: .95rem; padding: .7rem .9rem; width: 100%;
  border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.locator-chips { display:flex; flex-wrap:wrap; gap: .4rem; }
.locator-chip { font: inherit; font-size: .78rem; padding: .28rem .7rem; border-radius: 999px;
  border: 1px solid var(--line); background:#fff; color: var(--ink); cursor: pointer; }
.locator-chip.is-on { background: var(--ink, #25303a); color:#fff; border-color: transparent; }
.locator-count { margin: 0; font-size: .78rem; color: var(--muted, #7f868d); }
.pv-list { list-style:none; margin:0; padding: 0 0 1rem; }
.pv-card {
  width: 100%;
  column-gap: var(--space-large, 32px);
  row-gap: var(--space-large, 32px);
  flex-direction: column;
  display: flex;
  padding: var(--space-medium, 24px);
  flex: 1 1 0%;
  text-decoration: none;
  border-bottom: 1px solid var(--line);
}
.pv-card[hidden] { display:none; }
.pv-card.is-active { background: #f4f6f8; }
.pv-card__hit {
  width: 100%;
  column-gap: var(--space-large, 32px);
  row-gap: var(--space-large, 32px);
  flex-direction: column;
  display: flex;
  padding: 0;
  flex: 1 1 0%;
  text-decoration: none;
  text-align: left;
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.pv-card__top { display:flex; justify-content:space-between; gap: .75rem; }
.pv-card__prov, .pv-card__tipo { margin:0; font-size: .68rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted, #7f868d); font-weight: 500; }
.pv-card__name { font-family: var(--display); font-size: 1.15rem; font-weight: 400; margin: 0; line-height: 1.15; }
.pv-card__addr, .pv-card__tel { margin: 0; font-size: .86rem; line-height: 1.4; color: var(--ink-700, #7f868d); }
.pv-card__more { align-self: flex-end; margin: 0; font-size: .88rem; }
.pv-empty { margin: 1.25rem 1.15rem; color: var(--muted, #7f868d); }

@media (max-width: 1100px) {
  .point-services { grid-template-columns: 1fr; }
  .point-services-grid { grid-template-columns: 1fr; }
  .point-nearby { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .point-hero { grid-template-columns: 1fr; }
  .point-map { height: 280px; }
  .locator { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .locator__map { height: 16rem; min-height: 14rem; max-height: 18rem; order: -1; }
  .locator__list { max-height: none; }
}
@media (max-width: 640px) {
  .point-nearby { grid-template-columns: 1fr; }
  .section--point-hero { padding-top: calc(var(--header) + 12px); }
}

/* ------------------------------------------------------ FV gallery / promo */
.gallery-band{display:grid;gap:clamp(1.5rem,1rem + 2vw,2.5rem)}
.gallery-band__head .band__title{max-width:18ch}
.gallery-slider{min-width:0}
.gallery-slider__track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.gallery-slide{flex:0 0 min(72%,32rem);margin:0;background:transparent;scroll-snap-align:start;display:flex;flex-direction:column}
.gallery-slide__media{position:relative;border-radius:14px;overflow:hidden;width:100%;aspect-ratio:16/10}
.gallery-slide__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gallery-slide:hover .gallery-slide__media img{transform:scale(1.02)}
.gallery-slide figcaption{margin:.85rem .2rem 0;font-size:1rem;font-weight:600;line-height:1.35;color:var(--ink)}

/* Hover stats card overlay */
.gallery-slide__hover{position:absolute;inset:0;background:rgba(37,48,58,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:2}
.gallery-slide:hover .gallery-slide__hover{opacity:1;pointer-events:auto}
.gallery-slide__hover-content{font-size:.82rem;line-height:1.45}
.gallery-slide__hover-intro{font-size:.85rem;font-weight:600;margin:0 0 .6rem;color:#fff}
.gallery-slide__hover-list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.gallery-slide__hover-list li{position:relative;padding-left:1.1rem}
.gallery-slide__hover-list li::before{content:"";position:absolute;left:0;top:.5em;width:.45rem;height:.45rem;border-radius:50%;background:var(--green,#2ae845)}
.gallery-slide__hover-list strong{color:#fff;font-weight:600}
.gallery-slide__hover-extra{margin:.7rem 0 0;font-size:.78rem;opacity:.88;line-height:1.35}

/* Pure photo slider variant (e.g. Iperammortamento photos) */
.gallery-band--photos .gallery-slide{flex:0 0 min(78%,36rem)}
.gallery-band--photos .gallery-slide__media{aspect-ratio:16/9}

@media (max-width:700px){
  .gallery-slide{flex-basis:85%}
  .gallery-slide__media{aspect-ratio:4/3}
  .gallery-slide__hover{position:relative;inset:auto;opacity:1;pointer-events:auto;background:var(--ink);border-radius:10px;margin-top:.5rem;padding:1rem}
}

.promo-teaser{text-align:center;padding-block:clamp(2.5rem,2rem + 4vw,4.5rem)}
.promo-teaser .band__title{margin-inline:auto;max-width:16ch}
.promo-teaser__card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;align-items:stretch;
  margin:clamp(1.5rem,1rem + 2vw,2.5rem) auto 0;max-width:52rem;text-align:left;color:inherit;text-decoration:none;
  background:rgba(255,255,255,.06);border-radius:14px;overflow:hidden}
.promo-teaser__card img{width:100%;height:100%;min-height:12rem;object-fit:cover}
.promo-teaser__copy{padding:1.25rem 1.35rem 1.5rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem}
.promo-teaser__name{font-family:var(--display);font-size:1.25rem;font-weight:400;margin:0;color:#fff}
.promo-teaser__text{margin:0;color:rgba(255,255,255,.72);font-size:.9rem}
.promo-teaser__copy .btn{align-self:flex-start;margin-top:.6rem}
@media (max-width:760px){.promo-teaser__card{grid-template-columns:1fr}}

.gallery-slider__track::-webkit-scrollbar{display:none}

/* ----------------------------------------------------------- Contatti */
.contacts-intro{padding-block:clamp(2rem,1rem + 3vw,4rem)}
.contacts-intro__grid{display:grid;gap:clamp(1.5rem,1rem + 3vw,4rem);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}
.contacts-intro__hours{font-size:clamp(1.15rem,1rem + 1vw,1.6rem);line-height:1.35;font-family:var(--display);font-weight:400;max-width:22ch}
.contact-row{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.contact-row__label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-700)}
.contact-row__value{font-size:1.05rem}
.verde-pill{display:flex;flex-direction:column;gap:.25rem;margin-top:1.25rem;padding:1rem 1.15rem;border:1px solid var(--green);border-radius:999px;color:inherit;text-decoration:none;max-width:28rem}
.verde-pill__n{font-family:var(--display);font-size:1.35rem}
.verde-pill__note{font-size:.78rem;color:var(--ink-700)}
.hq-sedi{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
.hq-sedi__slider{min-width:0}
.hq-sedi__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.hq-sedi__track::-webkit-scrollbar{display:none}
.hq-card{flex:0 0 min(70%,18rem);scroll-snap-align:start;background:#fff;border-radius:14px;padding:1.35rem 1.25rem;color:inherit;text-decoration:none}
.hq-card__title{font-family:var(--display);font-size:1rem;font-weight:500;margin:0 0 .4rem}
.hq-card__addr{margin:0;font-size:.88rem;color:var(--ink-700)}
.support-split{display:grid;gap:clamp(1.5rem,1rem + 3vw,3rem);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}
.support-split__cards{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.support-card{background:#fff;color:var(--ink);border-radius:14px;padding:1.4rem 1.3rem;display:flex;flex-direction:column;gap:.6rem}
.support-card__kicker{margin:0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-700)}
.support-card h3{font-family:var(--display);font-weight:400;font-size:1.2rem;margin:0;line-height:1.25}
.support-card p,.support-card li{margin:0;font-size:.88rem;line-height:1.45;color:var(--ink-700)}
.support-card ul{margin:.4rem 0 0;padding:0 0 0 1.1rem}
.support-card__btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:1rem}
.jobs-cta{padding-block:clamp(3rem,2rem + 4vw,5rem)}
.jobs-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}
.jobs-cta__title{font-family:var(--display);font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem);font-weight:400;margin:.2rem 0 0}
@media (max-width:900px){
  .contacts-intro__grid,.support-split,.support-split__cards,.jobs-cta__inner{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}
}

/* -------------------------------------------------------------- Hub T1/T2 */
.hub-intro{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem) clamp(1.25rem,.8rem + 1.5vw,2rem)}
.hub-intro__kicker{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#7f868d);margin:0 0 1rem}
.hub-intro__title{font-family:var(--display);font-weight:400;letter-spacing:-.025em;
  font-size:clamp(1.8rem,1.2rem + 2.4vw,3.1rem);line-height:1.08;margin:0;text-wrap:balance}

.intro-ed__right{min-width:0}
.intro-ed--lead .intro-ed__title{font-size:clamp(1.6rem,1.1rem + 2.2vw,2.8rem);line-height:1.08}
.intro-ed__lead{font-family:var(--display);font-weight:400;font-size:clamp(1.15rem,1rem + .7vw,1.55rem);
  line-height:1.3;margin:0 0 1.25rem}

.section--hub-split{padding-block:clamp(1.25rem,.8rem + 2vw,2.5rem)}
.hub-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);border-radius:14px;overflow:hidden;min-height:26rem}
.hub-split__copy{background:var(--ink);color:#fff;padding:clamp(1.6rem,1.2rem + 2.5vw,3rem);
  display:flex;flex-direction:column;gap:1.15rem}
.hub-split__title{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.5rem,1.1rem + 1.8vw,2.5rem);line-height:1.12;margin:0;text-wrap:balance}
.hub-split__title span{display:block;color:rgba(255,255,255,.55)}
.hub-split__text{margin:0;font-size:.95rem;line-height:1.55;color:rgba(255,255,255,.82);max-width:42ch}
.hub-split__pills{display:flex;flex-direction:column;gap:.55rem;margin-top:auto}
.hub-split__pill{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:#fff;color:var(--ink);border-radius:8px;padding:.85rem 1.15rem;
  text-decoration:none;font-size:.95rem;line-height:1.2}
.hub-split__pill:hover{background:#f4f6f8}
.hub-split__pill svg{flex:none}
.hub-split__cta{align-self:flex-start;margin-top:.35rem}
.btn--light{background:#fff;color:var(--ink);border-color:#fff}
.btn--light:hover{filter:brightness(.96)}
.hub-split__media{min-height:16rem;background:var(--ink)}
.hub-split__media img{width:100%;height:100%;object-fit:cover;display:block}

.hub-cta{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem)}
.hub-cta__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:start}
.hub-cta__title{font-family:var(--display);font-weight:400;letter-spacing:-.025em;
  font-size:clamp(1.8rem,1.2rem + 2.4vw,3.2rem);line-height:1.08;margin:0;text-wrap:balance}
.hub-cta__body p{margin:0 0 1.25rem;font-size:1.02rem;line-height:1.55;color:var(--ink-700,#7f868d)}
.hub-cta__body .btn{min-width:10rem}

.hub-story{padding-block:clamp(2rem,1.2rem + 3vw,4rem)}
.hub-story__inner{max-width:52rem}
.hub-story__title{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.5rem,1.1rem + 1.8vw,2.5rem);line-height:1.1;margin:0 0 1.25rem}

.newsstrip__list--cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;border:0}
.newsstrip__list--cards .newsstrip__item{border:0;background:#fff;border-radius:8px;
  box-shadow:0 8px 15px rgba(0,0,0,.10)}
.newsstrip__list--cards .newsstrip__item a{display:flex;flex-direction:column;gap:.7rem;
  padding:1.15rem 1.15rem 1.3rem;grid-template-columns:none}
.newsstrip__list--cards .newsstrip__title{font-size:1.02rem}
.news-tag--efficienza .news-tag__dot{background:var(--green,#3cae6a)}

.svc-grid--plain{grid-template-columns:repeat(3,minmax(0,1fr))}

@media (max-width:1100px){
  .newsstrip__list--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hub-split,.hub-cta__grid,.svc-grid--plain{grid-template-columns:1fr}
  .hub-split__media{height:16rem}
}
@media (max-width:640px){
  .newsstrip__list--cards{grid-template-columns:1fr}
}

/* ------------------------------------------------ T3 impresa / GC */
.iper-band .step-card{flex:0 0 clamp(16rem,26vw,20rem);min-height:16rem}
.iper-band .step-card__text{font-size:.86rem;line-height:1.5;color:var(--ink-700)}
.iper-band .step-card__text p{margin:0 0 .65rem}
.iper-band .step-card__text p:last-child{margin-bottom:0}
.section--faq .section-head .kicker{margin:0 0 .5rem}
.hero-inner--plain .hero-inner__kicker a{color:inherit;text-decoration:none}
.hero-inner--plain .hero-inner__kicker a:hover{color:var(--ink)}

/* ------------------------------------------------ T14 PA / T15 CER+progetti */
.intro-ed__cta{margin-top:1.5rem;align-self:flex-start}
.intro-ed__right .intro-ed__cta{display:inline-flex}

.pa-claim{max-width:48rem;margin-inline:auto;text-align:center;padding-block:clamp(1.5rem,1rem + 3vw,3.5rem)}
.pa-claim .kicker{margin:0 0 1rem}
.pa-claim__lead{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.35rem,1rem + 1.6vw,2.1rem);line-height:1.2;margin:0 0 1.1rem;text-wrap:balance}
.pa-claim__text{margin:0 auto;max-width:42rem;font-size:.98rem;line-height:1.55;color:var(--ink-700)}

.we-do .hub-split__title{margin-bottom:.35rem}
.we-do__list{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:1.15rem}
.we-do__item{display:flex;gap:.85rem;align-items:flex-start;color:#fff}
.we-do__arrow{background:#fff;margin-top:.35rem}
.we-do__item strong{display:block;font-family:var(--display);font-weight:500;font-size:1.05rem;margin:0 0 .25rem}
.we-do__item span{display:block;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.78);font-weight:400}

.benefits__list--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem clamp(1.25rem,1rem + 2vw,2.5rem)}
.benefits__list--3 .benefit{flex-direction:column;border-bottom:0;padding:0}
.benefits__list--3 .benefit__arrow{margin-bottom:.35rem}
@media (max-width:900px){.benefits__list--3{grid-template-columns:1fr}}

.pa-more{margin-top:.85rem}
.pa-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;
  border:1px solid var(--ink);border-radius:8px;padding:.45rem .85rem;font-size:.82rem;background:#fff}
.pa-more summary::-webkit-details-marker{display:none}
.pa-more summary::after{content:"+";font-size:1rem;line-height:1}
.pa-more[open] summary::after{content:"–"}
.pa-more__body{margin-top:1rem;padding:1.1rem 1.2rem;background:#fff;border-radius:14px;
  box-shadow:0 8px 15px rgba(0,0,0,.10);font-size:.9rem;line-height:1.5}
.pa-more__body h4{font-family:var(--display);font-weight:400;font-size:1.25rem;margin:0 0 .75rem}
.pa-more__body h5{font-family:var(--display);font-weight:500;font-size:1rem;margin:1rem 0 .4rem}
.pa-more__body ul{margin:.25rem 0 .6rem;padding:0 0 0 1.1rem}
.pa-more__body li{margin:0 0 .35rem}

.pa-process{align-items:start}
.pa-process .hub-cta__title{max-width:16ch}
.pa-process .intro-ed__lead{margin-bottom:.9rem}

.cases-band{display:grid;gap:clamp(1.25rem,1rem + 2vw,2rem)}
.cases-band__head .band__title{max-width:18ch}
.cases-slider{min-width:0}
.cases-slider__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem}
.cases-slider__track::-webkit-scrollbar{display:none}
.case-card{flex:0 0 min(72%,20rem);scroll-snap-align:start;background:#fff;border-radius:14px;
  padding:1.35rem 1.3rem 1.5rem;display:flex;flex-direction:column;gap:.65rem;min-height:16rem}
.case-card__logo{height:3.5rem;width:auto;max-width:9rem;object-fit:contain;align-self:flex-start}
.case-card__title{font-family:var(--display);font-weight:500;font-size:1.05rem;margin:0;line-height:1.25}
.case-card__text{margin:0;font-size:.88rem;line-height:1.5;color:var(--ink-700)}
@media (max-width:700px){.case-card{flex-basis:85%}}

.partner-card{flex:0 0 min(60%,15rem);scroll-snap-align:start;background:#fff;border-radius:14px;
  padding:1.35rem 1.3rem;display:flex;flex-direction:column;gap:1.5rem;min-height:9.5rem;
  text-decoration:none;color:inherit;transition:box-shadow .2s ease,transform .2s ease}
a.partner-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.partner-card__media{display:flex;align-items:center;height:3.25rem}
.partner-card__media img{max-height:100%;max-width:100%;width:auto;object-fit:contain}
.partner-card__title{margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  gap:.75rem;font-family:var(--display);font-weight:500;font-size:1rem;line-height:1.25}
.partner-card__title svg{flex:none;color:var(--muted);transition:transform .2s ease}
a.partner-card:hover .partner-card__title svg{transform:translate(2px,-2px)}
@media (max-width:700px){.partner-card{flex-basis:78%}}

.gallery-slide__stats{list-style:none;margin:.55rem 0 0;padding:0;font-size:.78rem;line-height:1.45;color:var(--ink-700)}
.gallery-slide__stats li{margin:0}

.utenza-radios{border:0;padding:0;margin:0 0 .5rem}
.utenza-radios legend{font-size:.88rem;margin:0 0 .55rem}
.utenza-radios__opt{display:inline-flex;align-items:center;gap:.45rem;margin-right:1.25rem;font-size:.92rem}

.hero-inner--plain .hero-inner__title{max-width:18ch}

/* ------------------------------------------------ Newsletter band (T5/T8) */
.nl-band{
  background:var(--ink,#25303a);
  color:#fff;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  padding:clamp(2.5rem,1.6rem + 4vw,4.5rem) clamp(1.5rem,1rem + 3vw,3.5rem);
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,1rem + 3vw,3rem);
  align-items:center;
}
.nl-band__mark{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  display:flex;align-items:flex-end;padding:1rem;
}
.nl-band__mark span{
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(2.2rem,4.5vw,4rem);
  line-height:1;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.04);
  white-space:nowrap;
}
.nl-band__copy,.nl-band__form{position:relative;z-index:1}
.nl-band__eyebrow{
  margin:0 0 .5rem;
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  font-weight:600;
}
.nl-band__title{
  margin:0;
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-.025em;
  font-size:clamp(1.8rem,1.2rem + 2.4vw,3.2rem);
  line-height:1.05;
  color:#fff;
}
.nl-band__form .fluentform,
.nl-band__form .ff-el-form-wrap,
.nl-form{display:flex;flex-direction:column;gap:.85rem}
.nl-band__form .ff-el-input--label{display:none}
.nl-band__form .ff-el-form-control,
.nl-form input[type="email"]{
  font:inherit;font-size:.92rem;color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  padding:.85rem 1rem;
  width:100%;min-height:3rem;
}
.nl-band__form .ff-el-form-control::placeholder,
.nl-form input::placeholder{color:rgba(255,255,255,.55)}
.nl-band__form .ff-el-form-control:focus,
.nl-form input:focus{
  outline:2px solid #6489ab;outline-offset:1px;border-color:transparent;
}
.nl-band__form .ff-el-form-check,
.nl-form__consent{
  color:rgba(255,255,255,.82);
  font-size:.78rem;line-height:1.45;
}
.nl-band__form .ff-el-form-check a,
.nl-form__consent a{color:#fff;text-decoration:underline}
.nl-band__form .ff-btn,
.nl-band__form .ff-btn-submit,
.nl-form__submit{
  align-self:flex-start;
  margin-top:.35rem;
  background:#fff;color:var(--ink,#25303a);
  border:1px solid #fff;border-radius:8px;
  min-height:2.75rem;padding:.55rem 1.75rem;
  font-family:var(--display);font-size:16.8px;font-weight:500;
  cursor:pointer;
}
.nl-band__form .ff-btn:hover,
.nl-band__form .ff-btn-submit:hover,
.nl-form__submit:hover{background:#6489ab;border-color:#6489ab;color:#fff}
.nl-band .ff-message-success{color:#fff}
@media (max-width:900px){
  .nl-band{grid-template-columns:1fr}
}

/* =========================================================================
   Chi siamo — La nostra storia (about-story) + slider tappe (about-tl)
   Clone live: titolo 32px + lead 24px + 2 colonne testo; sotto, slider di
   card in card-01 anatomy (radius 8px, shadow standard, tag anno maiuscolo).
   ========================================================================= */

.about-story{
  display:grid;
  grid-template-columns:minmax(200px,25%) minmax(0,1fr);
  gap:clamp(1.5rem,1rem + 2vw,3.75rem);
  align-items:start;
}
.about-story__title{
  font-family:var(--display);font-weight:400;font-size:2rem;line-height:1.1;
  margin:0;color:var(--ink);
}
.about-story__body{min-width:0;display:flex;flex-direction:column;gap:1.5rem}
.about-story__lead{
  font-family:var(--display);font-weight:400;
  font-size:clamp(1.15rem,1rem + .75vw,1.5rem);line-height:1.2;
  margin:0;color:var(--ink);max-width:56ch;
}
.about-story__cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}
.about-story__cols p{margin:0;font-size:16.8px;line-height:1.4;color:var(--ink)}

.about-tl{margin-top:clamp(2rem,1.5rem + 2vw,3rem)}
.about-tl__kicker{
  font-size:.875rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;
  color:var(--muted);margin:0 0 1.25rem;
}
.about-tl__track{
  display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem;
}
.about-tl__track::-webkit-scrollbar{display:none}
.about-tl__card{
  flex:0 0 min(75%,19rem);scroll-snap-align:start;
  background:#fff;border-radius:8px;box-shadow:var(--shadow);
  padding:1.5rem;display:flex;flex-direction:column;gap:2rem;min-height:28rem;
}
.about-tl__year{
  margin:0;font-size:.875rem;font-weight:500;letter-spacing:.02em;
  text-transform:uppercase;color:var(--muted);
}
.about-tl__title{
  font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.2;
  margin:0 0 .25rem;color:var(--ink);
}
.about-tl__text{margin:0;font-size:16.8px;line-height:1.4;color:var(--muted)}

@media (max-width:768px){
  .about-story{grid-template-columns:1fr}
}
@media (max-width:640px){
  .about-tl__card{flex-basis:85%;min-height:24rem}
}

/* ---------------------------------------------------- Chi siamo — certificazioni */
.about-certs__layout{
  display:grid;grid-template-columns:minmax(11rem,17rem) 1fr;
  gap:clamp(2rem,1.5rem + 2vw,4rem);align-items:start;
}
.about-certs__title{
  font-family:var(--display);font-weight:400;letter-spacing:-.01em;
  font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.15;margin:0;
}
.about-certs__body h2{
  font-family:var(--display);font-weight:500;font-size:1.05rem;
  margin:0 0 clamp(1.5rem,1rem + 1.5vw,2.5rem);
}
.about-certs__group{margin-bottom:clamp(1.5rem,1rem + 1.5vw,2.5rem)}
.about-certs__group:last-child{margin-bottom:0}
.about-certs__group h3{
  font-family:var(--body);font-weight:500;font-size:.85rem;color:var(--muted);
  margin:0 0 1rem;
}
.about-certs__grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1.25rem;
}
.about-certs__card{
  position:relative;border:1px solid var(--line);border-radius:12px;
  background:#fff;padding:1.25rem 1rem;min-height:8.5rem;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease;
}
.about-certs__card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(37,48,58,.09);
  border-color:transparent;
}
.about-certs__link{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;height:100%;color:inherit;text-decoration:none;gap:.5rem;
}
.about-certs__img{max-width:100%;max-height:4.2rem;object-fit:contain;transition:transform .25s ease}
.about-certs__card:hover .about-certs__img{transform:scale(1.05)}
.about-certs__label{font-family:var(--body);font-weight:500;font-size:.88rem;color:var(--ink)}
.about-certs__open{
  display:inline-flex;align-items:center;gap:.3rem;
  font-family:var(--meta);font-size:.74rem;color:var(--muted);text-decoration:none;
}
.about-certs__open svg{width:.9em;height:.9em;transition:transform .2s ease}
.about-certs__card:hover .about-certs__open{color:var(--link)}
.about-certs__card:hover .about-certs__open svg{transform:translate(2px, -2px)}

/* ------------------------------------------------- Chi siamo — governance/docs */
.about-docs__quote{
  font-family:var(--display);font-weight:400;line-height:1.3;
  font-size:clamp(1.3rem,1.05rem + 1.2vw,1.85rem);
  max-width:46rem;margin:0 0 clamp(2rem,1.5rem + 2vw,3rem);
}
.about-docs__list{
  list-style:none;margin:0;padding:clamp(1.5rem,1rem + 1.5vw,2.5rem) 0 0;
  border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  gap:clamp(1.5rem,1rem + 2vw,3rem);
}
.about-docs__item{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
.about-docs__item h3{font-family:var(--display);font-weight:500;font-size:1.1rem;margin:0}
.about-docs__item p{margin:0;color:var(--ink-700);font-size:.9rem;line-height:1.5}

/* ----------------------------------------------------- Chi siamo — mission */
.about-mission{background:var(--mist)}
.about-mission__inner{max-width:44rem;margin:0 auto;text-align:center}
.about-mission__text{
  font-family:var(--display);font-weight:400;line-height:1.3;
  font-size:clamp(1.4rem,1.1rem + 1.6vw,2.1rem);
  margin:.75rem 0 0;
}

@media (max-width:768px){
  .about-certs__layout{grid-template-columns:1fr}
}

/* ------------------------------------------------ Search Results Page ------------------------------------------------ */
.heading-xlarge {
  font-family: var(--display);
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: -.02em;
  color: var(--ink, #25303a);
  margin: 0 0 1.5rem;
}

.margin-bottom-small {
  margin-bottom: 1rem;
}

.form_field_wrapper.w-form,
.search-form-box {
  display: flex;
  gap: 1rem;
  align-items: center;
  max-width: 42rem;
  margin-bottom: 2.5rem;
}

.search-form-box .form_field_wrapper {
  position: relative;
  flex: 1;
  width: 100%;
}

.form_field-02.is-icon.is-404 {
  width: 100%;
  height: 3.2rem;
  padding: 0.8rem 1.2rem;
  border: 1px solid var(--line, #e1e9f1);
  border-radius: 8px;
  background: #ffffff;
  font-size: 1rem;
  font-family: var(--body);
  color: var(--ink, #25303a);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.form_field-02.is-icon.is-404:focus {
  border-color: var(--ink, #25303a);
  box-shadow: 0 0 0 3px rgba(37, 48, 58, 0.1);
}

.form_label-02 {
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted, #7f868d);
  font-size: 0.95rem;
  pointer-events: none;
  transition: all .2s ease;
}

.form_field-02:focus ~ .form_label-02,
.form_field-02:not(:placeholder-shown) ~ .form_label-02 {
  top: -0.6rem;
  left: 0.8rem;
  background: #ffffff;
  padding: 0 0.4rem;
  transform: none;
  font-size: 0.75rem;
  color: var(--muted, #7f868d);
}

.button.is-filters.is-404 {
  height: 3.2rem;
  padding: 0 1.8rem;
  background: var(--ink, #25303a);
  color: #ffffff;
  border: 1px solid var(--ink, #25303a);
  border-radius: 8px;
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
  white-space: nowrap;
}

.button.is-filters.is-404:hover {
  background: #6489ab;
  border-color: #6489ab;
  color: #ffffff;
}

.card_list.search-result-items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.card-01_component.is-grid.search-result-card {
  position: relative;
  background: #ffffff;
  border: 1px solid var(--line, #e1e9f1);
  border-radius: 8px;
  padding: 1.5rem;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.card-01_component.is-grid.search-result-card:hover {
  border-color: var(--ink, #25303a);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

.card-01_component.is-grid.search-result-card .item_link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.card-01_component.is-grid.search-result-card .card_heading {
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--ink, #25303a) !important;
  margin-bottom: 0.5rem;
}

.card-01_component.is-grid.search-result-card .search-card__excerpt,
.card-01_component.is-grid.search-result-card .margin-bottom-small {
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--muted, #7f868d);
  margin-bottom: 0.65rem;
}

.card-01_component.is-grid.search-result-card .search-card__excerpt strong,
.card-01_component.is-grid.search-result-card .margin-bottom-small strong {
  color: var(--ink, #25303a);
  font-weight: 600;
}

.card-01_component.is-grid.search-result-card .text-color-light.text-size-small {
  font-size: 0.8rem;
  color: var(--link, #6489ab);
  word-break: break-all;
}

/* =========================================================================
   Promo Hero Single (Live Webflow Match 1:1)
   ========================================================================= */

.header_component.is-promo {
  position: relative;
  min-height: 80vh;
  background-color: var(--ink, #25303a);
  color: #ffffff;
  display: flex;
  align-items: flex-end;
  padding-top: calc(var(--header) + 4rem);
  padding-bottom: 10rem;
  overflow: hidden;
}

.header_background {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.header_background img.image-fit-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}

.header_hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(20, 26, 32, 0.55) 0%, rgba(20, 26, 32, 0.35) 50%, rgba(20, 26, 32, 0.75) 100%);
}

.header_container.is-promo {
  position: relative;
  z-index: 3;
  width: min(100% - (var(--pad) * 2), var(--container));
  margin: 0 auto;
  padding-bottom: 1.5rem;
}

.header_container.is-promo .breadcrumb {
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--body);
}

.header_container.is-promo .breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.header_container.is-promo .breadcrumb a:hover {
  text-decoration: underline;
}

.header_container.is-promo .heading-xxlarge {
  font-family: var(--display);
  font-size: clamp(3rem, 5.2vw, 5.5rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.025em;
  color: #ffffff;
  margin: 0;
}

.header_container.is-promo .header_claim,
.header_container.is-promo .promo-claim__text {
  font-family: var(--display);
  font-size: clamp(1.4rem, 2.2vw, 2.2rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.015em;
  color: #ffffff;
  margin-top: 1rem;
  max-width: 44rem;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.section.is-promo {
  position: relative;
  z-index: 5;
  background: #ffffff;
  padding-top: 3rem;
  padding-bottom: 4rem;
}

.container.is-promo {
  width: min(100% - (var(--pad) * 2), var(--container));
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
}

.promo_text {
  flex: 1;
  max-width: 38rem;
  padding-top: 2rem;
}

.promo_text .text-size-large,
.promo-claim__text {
  font-family: var(--display);
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.015em;
  color: var(--ink, #25303a);
  margin: 0;
}

/* Floating White Promo Hero Card (Live Webflow Match 1:1) */
.promo_card {
  width: 29vw;
  min-width: 22rem;
  max-width: 45%;
  padding-top: var(--space-xlarge, 2.25rem);
  padding-bottom: var(--space-xlarge, 2.25rem);
  padding-left: 3%;
  padding-right: 3%;
  column-gap: var(--space-medium, 1.5rem);
  row-gap: var(--space-medium, 1.5rem);
  border-radius: var(--radius-medium, 14px);
  background-color: var(--paper, #ffffff);
  color: var(--ink, #25303a);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.14);
  margin-top: -24rem;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
}

.card_tags.is-detail {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.35rem !important;
  margin-left: auto;
  margin-bottom: 1.5rem;
  width: 100%;
}

.card_tags.is-detail .promo_tag,
.promo_card .promo_tag,
.promo_tag {
  height: 1.4rem !important;
  column-gap: 0.3em !important;
  row-gap: 0.3em !important;
  color: #4F575F !important;
  border-color: #4F575F !important;
  border: 1px solid #4F575F !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  justify-content: center !important;
  align-items: center !important;
  display: inline-flex !important;
  padding: 0.1875rem 0.5rem !important;
  border-radius: 100px !important;
  background: transparent !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.card_tags.is-detail .promo_tag span,
.promo_card .promo_tag span,
.promo_tag span {
  color: #4F575F !important;
  white-space: nowrap !important;
}

.card_tags.is-detail .promo_tag svg,
.promo_card .promo_tag svg,
.promo_tag svg {
  flex-shrink: 0 !important;
  color: #4F575F !important;
  fill: currentColor !important;
  width: 13px !important;
  height: 13px !important;
}

.promo_row.is-promo {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.5rem;
}

.promo_row.is-promo .promo_label {
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink, #25303a);
  margin-bottom: 0.4rem;
}

.promo_prezzo-2.is-promo {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.promo_prezzo-amount {
  font-family: var(--display);
  font-size: 48px !important;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink, #25303a);
  line-height: 1;
}

.promo_bolletta {
  font-size: 1.02rem;
  line-height: 1.35;
  color: var(--ink, #25303a);
  margin: 0.4rem auto 0;
  font-weight: 400;
  max-width: 25ch;
  text-align: center;
}

.promo_row.is-cta {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}

.promo_value.is-date {
  font-size: 0.88rem;
  line-height: 1.4;
  color: var(--muted, #7f868d);
  font-weight: 400;
  text-align: center;
}

.button.is-promo,
.promo_card .button,
.promo_card .btn {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #4F575F !important;
  color: #ffffff !important;
  border: 1px solid #4F575F !important;
  border-radius: 8px !important;
  padding: 0.85rem 1.5rem !important;
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}

.button.is-promo:hover,
.promo_card .button:hover,
.promo_card .btn:hover {
  background: #383e44 !important;
  border-color: #383e44 !important;
  color: #ffffff !important;
}

@media (max-width: 991px) {
  .header_component.is-promo {
    min-height: 55vh;
    padding-bottom: 6rem;
  }
  .container.is-promo {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
  }
  .promo_text {
    max-width: 100%;
    padding-top: 0;
  }
  .promo_card {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    padding: 1.75rem 1.25rem;
  }
}

/* =========================================================================
   CER — Comunità Energetiche Rinnovabili (Live Styling)
   ========================================================================= */

.cer-partner-band {
  background: var(--band-grey, #e9eaec);
  padding: clamp(2rem, 3.5vw, 3.5rem);
  border-radius: var(--band-radius, 14px);
}

.cer-partner-head h2 {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -.02em;
  font-size: clamp(1.8rem, 2.5vw, 2.75rem);
  line-height: 1.1;
  margin: 0 0 1rem;
}

.cer-partner-lead {
  font-size: 1.1rem;
  line-height: 1.55;
  color: var(--ink, #25303a);
  margin-bottom: 0.75rem;
}

.cer-partner-lead a {
  color: var(--link, #6489ab);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}

.cer-partner-lead a:hover {
  color: var(--ink, #25303a);
}

.cer-partner-sub {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--ink-700, #4f575f);
  margin-bottom: 1.5rem;
}

.cer-partner-points {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.cer-partner-point {
  background: #ffffff;
  border-radius: var(--radius, 10px);
  padding: 1.25rem 1.35rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.cer-partner-point__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.15rem;
  color: var(--green, #65be87);
}

.cer-partner-point p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--ink, #25303a);
}

.cer-partner-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.cer-partner-cta .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 8px;
  font-weight: 500;
}

.section--cer-roles {
  padding-block: clamp(2.5rem, 1.5rem + 4vw, 5rem);
}

.cer-roles-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  margin-bottom: 1.5rem;
}

.cer-role-card {
  background: #ffffff;
  border: 1px solid var(--line, #e2e5e8);
  border-radius: var(--radius, 10px);
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}

.cer-role-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.cer-role-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.65rem;
  border-radius: 100px;
  background: #eaf7ee;
  color: #1b5e2c;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.85rem;
  align-self: flex-start;
}

.cer-role-card h3 {
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0 0 0.65rem;
  line-height: 1.2;
}

.cer-role-card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ink-700, #4f575f);
}

.cer-notice-box {
  background: #f4f6f8;
  border-left: 4px solid #6489ab;
  border-radius: 0 8px 8px 0;
  padding: 1.15rem 1.35rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ink, #25303a);
}

.cer-notice-box strong {
  color: var(--ink, #25303a);
}

/* ------------------------------------------------------------- Recensioni */
.section--reviews {
  padding-block: clamp(2.5rem, 2rem + 3vw, 5rem);
  background: #ffffff;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}
.reviews-widget-wrap {
  width: 100%;
  margin-inline: auto;
  position: relative;
}
.reviews-widget-wrap .ti-widget,
.reviews-widget-wrap .ti-widget-container,
.reviews-widget-wrap .trustindex-widget {
  max-width: 100% !important;
  margin-inline: auto !important;
}
.reviews-widget-wrap .ti-nav-btn {
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.reviews-widget-wrap .ti-nav-btn:hover {
  transform: scale(1.06);
}

/* ----------------------------------------------------- Investor Relations */
.inner-page--ir .ir-intro {
  padding-bottom: clamp(1.5rem, 1rem + 2vw, 3rem);
}

.ir-sdir-badge {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: #f0f4f8;
  border-left: 3px solid #158aff;
  padding: 0.9rem 1.15rem;
  border-radius: 0 8px 8px 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--ink-700, #4f575f);
  margin-top: 1rem;
}

.ir-sdir-badge svg {
  flex: none;
  color: #158aff;
  margin-top: 0.15rem;
}

.ir-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

@media (max-width: 860px) {
  .ir-hub-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 540px) {
  .ir-hub-grid {
    grid-template-columns: 1fr;
  }
}

.ir-hub-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.15rem 1.4rem;
  border: 1px solid var(--line, #e2e5e8);
  border-radius: 8px;
  background: #fff;
  color: var(--ink, #25303a);
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

.ir-hub-btn:hover {
  border-color: var(--ink, #25303a);
  background: var(--ink, #25303a);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.ir-hub-btn svg {
  transition: transform 0.2s ease;
}

.ir-hub-btn:hover svg {
  transform: translateX(4px);
  color: var(--green, #2ae845);
}

.ir-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.25rem, 1rem + 2vw, 2.5rem);
  margin-top: 2rem;
}

@media (max-width: 960px) {
  .ir-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .ir-stats-grid {
    grid-template-columns: 1fr;
  }
}

.ir-stat-card {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}

.ir-stat-card__val {
  font-family: var(--display);
  font-size: clamp(2rem, 1.5rem + 2vw, 2.75rem);
  font-weight: 500;
  color: #fff;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.ir-stat-card__label {
  font-weight: 600;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.35rem;
}

.ir-stat-card__sub {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}

.ir-section {
  padding-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
}

.ir-docs-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.ir-doc-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.25rem 1.75rem;
  background: #fff;
  border: 1px solid var(--line, #e2e5e8);
  border-radius: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ir-doc-item:hover {
  border-color: #cbd2d8;
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}

.ir-doc-item__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: none;
  min-width: 13rem;
}

.ir-doc-item__date {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--muted, #64748b);
}

.ir-badge {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 4px;
  background: #f1f5f9;
  color: var(--ink, #25303a);
  border: 1px solid #e2e8f0;
}

.ir-doc-item__title {
  margin: 0;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ink, #25303a);
  flex: 1;
}

.ir-doc-item__action {
  flex: none;
}

.btn--disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  color: var(--muted, #64748b);
}

@media (max-width: 860px) {
  .ir-doc-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .ir-doc-item__meta {
    min-width: auto;
  }
}

.ir-reports-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.ir-report-card {
  background: #fff;
  border-radius: 10px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.05);
}

.ir-report-card__year {
  font-family: var(--display);
  font-size: 0.85rem;
  font-weight: 700;
  color: #158aff;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.ir-report-card__title {
  font-family: var(--display);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 0.65rem;
  color: var(--ink, #25303a);
}

.ir-report-card__desc {
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--ink-700, #4f575f);
  margin: 0 0 1.25rem;
  flex: 1;
}

.ir-report-card__footer {
  margin-top: auto;
}

.ir-tag-status {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--muted, #64748b);
  text-transform: uppercase;
}

.ir-meta-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}

@media (max-width: 860px) {
  .ir-meta-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .ir-meta-cards {
    grid-template-columns: 1fr;
  }
}

.ir-meta-card {
  background: #f8fafc;
  border: 1px solid var(--line, #e2e5e8);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
}

.ir-meta-card__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--muted, #64748b);
  margin-bottom: 0.35rem;
}

.ir-meta-card__value {
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink, #25303a);
}

.ir-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--line, #e2e5e8);
  border-radius: 10px;
  background: #fff;
}

.ir-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.92rem;
}

.ir-table th, .ir-table td {
  padding: 1rem 1.35rem;
  border-bottom: 1px solid var(--line, #e2e5e8);
}

.ir-table th {
  background: #f8fafc;
  font-weight: 600;
  color: var(--ink, #25303a);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ir-table tr:last-child td {
  border-bottom: none;
}

.ir-pct-badge {
  display: inline-block;
  font-weight: 700;
  color: #1b5e2c;
  background: #eaf7ee;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
}

.ir-governance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}

@media (max-width: 860px) {
  .ir-governance-grid {
    grid-template-columns: 1fr;
  }
}

.ir-gov-column h3 {
  font-family: var(--display);
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--ink, #25303a);
  color: var(--ink, #25303a);
}

.ir-gov-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.ir-gov-list li {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0.85rem 1rem;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.05);
}

.ir-gov-list li strong {
  font-size: 0.92rem;
  color: var(--ink, #25303a);
}

.ir-gov-list li span {
  font-size: 0.82rem;
  color: var(--muted, #64748b);
  margin-top: 0.2rem;
}

.ir-split-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

@media (max-width: 860px) {
  .ir-split-grid {
    grid-template-columns: 1fr;
  }
}

.ir-accordion-item {
  border: 1px solid var(--line, #e2e5e8);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.ir-accordion-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  font-family: var(--display);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ink, #25303a);
  cursor: pointer;
  user-select: none;
  background: #f8fafc;
  border-bottom: 1px solid var(--line, #e2e5e8);
}

.ir-accordion-item summary::-webkit-details-marker {
  display: none;
}

.ir-accordion-item[open] summary svg {
  transform: rotate(180deg);
}

.ir-accordion-item summary svg {
  transition: transform 0.2s ease;
}

.ir-accordion-body {
  padding: 1.5rem;
}

.ir-cal-events {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.ir-cal-events li {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line, #e2e5e8);
}

.ir-cal-events li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ir-cal-date {
  font-size: 0.85rem;
  font-weight: 700;
  color: #158aff;
}

.ir-cal-desc {
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--ink, #25303a);
}

.ir-contact-card {
  display: flex;
  flex-direction: column;
}

.ir-contact-role {
  font-size: 0.8rem;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--muted, #64748b);
  margin: 0 0 0.35rem;
}

.ir-contact-person {
  font-family: var(--display);
  font-size: 1.35rem;
  color: var(--ink, #25303a);
  margin: 0 0 1.25rem;
}

.ir-contact-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.ir-contact-links li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.92rem;
  color: var(--ink-700, #4f575f);
}

.ir-contact-links li svg {
  flex: none;
  color: var(--muted, #64748b);
}

.ir-contact-links a {
  color: #158aff;
  text-decoration: none;
  font-weight: 500;
}

.ir-contact-links a:hover {
  text-decoration: underline;
}



/* Long contact details and editorial URLs must wrap within their column. */
.point-hero > *, .point-row > * { min-width: 0; }
.point-link, .prose { overflow-wrap: anywhere; }

.point-hero__title { overflow-wrap: anywhere; }
@media (max-width: 479px) {
  .promo_card .card_tags.is-detail { flex-wrap: wrap !important; }
}

/* Careers page: reference layout, with live BambooHR in the right column. */
.inner-page--jobs { padding-bottom: 0; }
.jobs-header { padding-top: 180px; }
.jobs-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--display); font-size: 16.8px; line-height: 1.1; letter-spacing: .02em; margin-bottom: 8px; }
.jobs-breadcrumb a { color: inherit; text-decoration: none; }
.jobs-breadcrumb a:hover { text-decoration: underline; }
.jobs-title { font-family: var(--display); font-size: 88px; font-weight: 400; line-height: 1; letter-spacing: .336px; margin: 0; overflow-wrap: anywhere; }
.jobs-content { padding-block: 60px 120px; }
.jobs-layout { display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 640px); column-gap: clamp(32px, 8.14vw, 117.2px); align-items: start; }
.jobs-copy { min-width: 0; font-family: var(--display); font-size: 16.8px; font-weight: 400; line-height: 1.4; letter-spacing: .336px; }
.jobs-copy p { margin: 0 0 23.52px; }
.jobs-copy p:last-child { margin-bottom: 0; }
.jobs-openings { min-width: 0; padding: 40px 32px; border-radius: 14px; background: #fff; box-shadow: 0 8px 16px rgba(0,0,0,.1); }
.jobs-openings #BambooHR { min-width: 0; max-width: 100%; }
.jobs-openings #BambooHR a { color: inherit; text-decoration: none; }
.jobs-openings #BambooHR a:hover { text-decoration: underline; }
.jobs-openings #BambooHR-Footer img { width: auto; }
@media (max-width: 991px) {
  .jobs-header { padding-top: 144px; }
  .jobs-title { font-size: 7vw; }
  .jobs-content { padding-block: 48px 96px; }
  .jobs-layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
@media (max-width: 479px) {
  .jobs-header { padding-top: 120px; }
  .jobs-title { font-size: 40px; }
  .jobs-content { padding-block: 40px 80px; }
  .jobs-openings { padding: 24px 16px 40px; }
  .jobs-openings .BambooHR-ATS-Jobs-Item { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; }
  .jobs-openings .BambooHR-ATS-Location { float: none !important; padding-top: 0 !important; }
  .jobs-openings .BambooHR-ATS-Jobs-Item a { overflow-wrap: anywhere; }
}

/* Match the reference typography without changing other page templates. */
.jobs-openings #BambooHR h2 { font-family: Lato, sans-serif; font-weight: 400; line-height: 1.4; letter-spacing: .336px; }
body.page-template-page-lavora-con-noi { --header: 93px; --nav-main: 61px; }
body.page-template-page-lavora-con-noi .nav-list > li > a.nav-link,
body.page-template-page-lavora-con-noi .nav-list > li > .nav-link--parent { font-size: 14.4px; }
@media (max-width: 1280px) {
  body.page-template-page-lavora-con-noi { --header: 64px; --nav-main: 64px; }
  body.page-template-page-lavora-con-noi .nav-list > li > a.nav-link,
  body.page-template-page-lavora-con-noi .nav-list > li > .nav-link--parent { font-size: 20px; }
}
/* Guide index and articles — scoped to the assistance guides. */
body:has(.assist-guides-section), body:has(.inner-page--guide) { --header:93px; --nav-main:61px; }
body:has(.assist-guides-section) .nav-link, body:has(.inner-page--guide) .nav-link { font-size:14.4px; }
.inner-page:has(.assist-guides-section), .inner-page--guide {padding-bottom:0;}
.inner-page:has(.assist-guides-section) .hero-inner, .inner-page--guide .hero-inner {padding:180px 0 0; margin:0; min-height:0; background:#fff; color:#25303a;}
.inner-page:has(.assist-guides-section) .hero-inner__inner, .inner-page--guide .hero-inner__inner {padding-top:0;padding-bottom:0;display:block;}
.inner-page:has(.assist-guides-section) .hero-inner__title, .inner-page--guide .hero-inner__title {font-family:var(--display);font-size:88px;font-weight:400;line-height:1;letter-spacing:.336px;max-width:none;margin:8px 0 0;overflow-wrap:anywhere;}
.inner-page:has(.assist-guides-section) .hero-inner__kicker, .inner-page--guide .crumbs {font-family:var(--display);font-size:16.8px;line-height:1.1;letter-spacing:.336px;margin:0;color:#25303a;}
.inner-page:has(.assist-guides-section) .hero-inner__kicker::after {content:' › Linee guida';white-space:pre;}
.inner-page:has(.assist-guides-section) .hero-inner__sub {display:none;}
.inner-page--guide .crumbs > :first-child, .inner-page--guide .crumbs > :nth-child(2), .inner-page--guide .crumbs > :nth-last-child(-n+2) {display:none;}
.inner-page--guide .hero-inner__sub {max-width:none;font:400 24px/1.2 var(--display);color:#92979c;margin:8px 0 0;}
.assist-guides-section {padding:60px 0 120px;}
.assist-guides-section > .container {display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:4vw;align-items:start;}
.assist-guides-section .text_container {margin:0;min-width:0;}
.guide-intro h2 {font:400 24px/1.2 var(--display);letter-spacing:.336px;margin:0 0 4px;}
.guide-intro p {font:400 16.8px/1.4 var(--display);color:#92979c;margin:0 0 4px;}
.assist-guides-section .form_field_wrapper {position:relative;}
.assist-guides-section input[type=search] {width:100%;height:48px;padding:12px 44px 12px 16px;border:1px solid #e9eaeb;border-radius:8px;background:white;font:400 16.8px/1.4 var(--display);}
.assist-guides-section .form_label-02 {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.assist-guides-section .form_icon {position:absolute;right:16px;top:12px;pointer-events:none;}
.assist-guides-section .modulistica_list {display:flex;flex-direction:column;gap:40px;}
.assist-guides-section .guide-card-item {border-radius:8px;background:white;box-shadow:0 8px 16px #0000001a;transition:box-shadow .2s ease,background-color .2s ease;}
.assist-guides-section .guide-card-item:hover {background:#f9fbfc;box-shadow:0 8px 20px #00000026;}
.assist-guides-section .guide-card-item:focus-visible {outline:2px solid #6489ab;outline-offset:4px;}
.assist-guides-section .card_text_wrapper {padding:40px;min-height:200px;display:flex;flex-direction:column;gap:8px;}
.assist-guides-section .card_heading {font:400 24px/1.2 var(--display);margin:0;}
.assist-guides-section .card_text_wrapper p {font:400 16.8px/1.4 var(--display);color:#92979c;margin:0;}
.inner-page:has(.assist-guides-section) > .section--band, .inner-page:has(.assist-guides-section) > .stores {display:none;}
.inner-page--guide > .section:has(.prose) {padding:72px 0 96px;}
.inner-page--guide .prose {width:calc(100% - 128px);max-width:640px;padding:0;font:400 16.8px/1.4 neue-haas-grotesk-text,sans-serif;}
.inner-page--guide .prose p {margin:0 0 4px;}
.inner-page--guide .prose h2 {font:400 32px/1.1 neue-haas-grotesk-text,sans-serif;margin:64px 0 16px;}
.inner-page--guide .prose h3 {font:400 24px/1.2 neue-haas-grotesk-text,sans-serif;margin:32px 0 16px;}
.inner-page--guide .prose :first-child {margin-top:0;}
.inner-page--guide .prose ul {padding-left:18px;list-style-type:'›  ';margin:8px 0 24px;}
.inner-page--guide .prose li {padding-left:0;margin-bottom:8px;}
.inner-page--guide .prose a {color:#0086ff;text-underline-offset:3px;}
@media(max-width:1280px){body:has(.assist-guides-section),body:has(.inner-page--guide){--header:64px;--nav-main:64px;}body:has(.assist-guides-section) .nav-link,body:has(.inner-page--guide) .nav-link{font-size:20px;}}
@media(max-width:991px){
.inner-page:has(.assist-guides-section) .hero-inner,.inner-page--guide .hero-inner{padding-top:144px;}
.inner-page:has(.assist-guides-section) .hero-inner__title,.inner-page--guide .hero-inner__title{font-size:7vw;}
.assist-guides-section{padding:48px 0 96px;}
.assist-guides-section > .container{grid-template-columns:minmax(0,1fr);gap:16px;}
.guide-intro h2{font-size:16.8px;font-weight:600;line-height:1.4;}
.guide-intro{margin-bottom:40px;}
.assist-guides-section .card_text_wrapper{min-height:0;}
.inner-page--guide .prose{width:calc(100% - 96px);}
}
@media(max-width:479px){
.inner-page:has(.assist-guides-section) .hero-inner,.inner-page--guide .hero-inner{padding-top:120px;}
.inner-page:has(.assist-guides-section) .hero-inner__title,.inner-page--guide .hero-inner__title{font-size:40px;}
.inner-page--guide .hero-inner__sub{font-size:20px;}
.assist-guides-section{padding:40px 0 80px;}
.assist-guides-section .modulistica_list{gap:24px;}
.assist-guides-section .card_text_wrapper{padding:24px;}
.inner-page--guide .prose{width:calc(100% - 40px);}
.inner-page--guide > .section:has(.prose){padding:48px 0 64px;}
.inner-page--guide .prose h2{font-size:28px;}
}
.assist-guides-section {letter-spacing:.336px;} 
.assist-guides-section .card_text_wrapper .arrow {display:none;} 
