/* Power Ras V17 — hierarchy, motion and interaction pass. */

/* 1. Typographic hierarchy: deliberate phrase groups, never accidental word collisions. */
body.v9-site main :is(h1,h2,h3){
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}
body.v9-site main h1{line-height:1.02!important;letter-spacing:-.045em!important;}
body.v9-site main h2{line-height:1.06!important;letter-spacing:-.042em!important;}
body.v9-site main h3{line-height:1.16!important;letter-spacing:-.025em!important;}
body.v9-site main :is(.v9-section-head,.v12-proof__head)>*{min-width:0;}
body.v9-site main .pr-title-stack{max-width:100%;}
body.v9-site main .pr-title-stack>span{display:block;max-width:100%;}
body.v9-site main .pr-title-stack--section>span{display:block;}
body.v9-site main .v9-kicker{margin-bottom:11px;}

/* Align the explanatory copy to the visual centre of the heading block. */
body.v9-site .v9-section-head,
body.v9-site .v12-proof__head{align-items:center!important;}
body.v9-site .v9-section-head>p,
body.v9-site .v12-proof__head>p{align-self:center;margin-block:0;}
body.v9-site .v9-pv-flow .v9-section-head>div{align-self:start;}
body.v9-site .v9-pv-flow .v9-section-head>p{align-self:center;}

/* Keep grid text columns from visually colliding with neighbours. */
body.v9-site main :is(.v9-home-office__grid,.v9-office-hero__grid,.v10-company-hero__grid,.v9-security-hero__grid,.v9-charge-hero__grid,.v9-clima-hero__grid,.v9-electric-hero__grid,.v9-works-feature>.v9-shell,.v10-company-identity__grid,.v10-business-office__grid,.v9-secondary-hero__grid)>*{min-width:0;}

/* 2. Ufficio tecnico: replace the decorative process line with a technical one-line schematic image. */
body.v9-site .pr-v17-unifilare{
  margin:0;
  min-height:330px;
  overflow:hidden;
  border:1px solid rgba(55,172,154,.28);
  border-radius:18px;
  background:#f7faf9;
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}
body.v9-site .pr-v17-unifilare img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover;}

/* 3. Text links: no permanent underline anywhere in the editorial CTAs. */
body.v9-site main :is(.v9-link,.pr-contact-location-link,.v10-house-map article>a,.v10-business-system__list a,.pr-v14-gallery summary){
  text-decoration:none!important;
  text-decoration-line:none!important;
  transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .22s ease;
}
/* Light backgrounds: brand turquoise -> ink. */
body.v9-site main :is(.v9-link,.pr-contact-location-link,.v10-house-map article>a){color:var(--accent-dark)!important;}
body.v9-site main :is(.v9-link,.pr-contact-location-link,.v10-house-map article>a):hover,
body.v9-site main :is(.v9-link,.pr-contact-location-link,.v10-house-map article>a):focus-visible{color:var(--ink)!important;}
/* Dark/photo backgrounds: white -> turquoise. */
body.v9-site main :is(.v9-service-showcase--pv,.v9-service-showcase--electric,.v9-service-showcase--charge,.v9-works-hero,.v9-pv-hero,.v9-electric-hero,.v9-charge-flow,.v9-security-map,.v9-cta--dark,.v10-company-duo .is-dark) .v9-link{color:#fff!important;text-decoration:none!important;}
body.v9-site main :is(.v9-service-showcase--pv,.v9-service-showcase--electric,.v9-service-showcase--charge,.v9-works-hero,.v9-pv-hero,.v9-electric-hero,.v9-charge-flow,.v9-security-map,.v9-cta--dark,.v10-company-duo .is-dark) .v9-link:hover,
body.v9-site main :is(.v9-service-showcase--pv,.v9-service-showcase--electric,.v9-service-showcase--charge,.v9-works-hero,.v9-pv-hero,.v9-electric-hero,.v9-charge-flow,.v9-security-map,.v9-cta--dark,.v10-company-duo .is-dark) .v9-link:focus-visible{color:#8fe1d4!important;}
/* Remove the legacy turquoise underline from service links. */
body.v9-site .v9-service-showcase .v9-link{text-decoration:none!important;text-decoration-color:transparent!important;}

/* 4. Framed photography: restrained motion on pointer hover, like the work strip. */
body.v9-site main .pr-media-hover{overflow:hidden;isolation:isolate;}
body.v9-site main .pr-media-hover>img,
body.v9-site main .pr-media-hover picture>img{
  transition:transform .7s cubic-bezier(.2,.72,.2,1),filter .45s ease;
  transform:scale(1.001);
  will-change:transform;
}
@media (hover:hover) and (pointer:fine){
  body.v9-site main .pr-media-hover:hover>img,
  body.v9-site main .pr-media-hover:hover picture>img{
    transform:scale(1.045);
    filter:saturate(1.05) contrast(1.025);
  }
  body.v9-site .v9-home-work__strip a:hover img{transform:scale(1.05);}
}

/* 5. Scroll reveal. JS only activates hidden state when motion support is available. */
html.pr-motion-ready body.v9-site .pr-reveal{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .82s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--pr-reveal-delay,0ms);
}
html.pr-motion-ready body.v9-site .pr-reveal.pr-reveal--soft{transform:translate3d(0,14px,0);}
html.pr-motion-ready body.v9-site .pr-reveal.is-visible{opacity:1;transform:none;}

/* 6. Card copy: better centring and breathing room without making the components taller. */
body.v9-site :is(.v9-security-map article,.v9-office-cap__grid article,.v9-charge-scenarios article){display:flex;flex-direction:column;justify-content:center;}
body.v9-site .v9-security-map article p{margin-bottom:0;}
body.v9-site .v9-office-cap__grid article p{max-width:36ch;}
body.v9-site .v9-charge-scenarios article p{margin-bottom:0;}

/* Prevent all common big-heading/copy pairs from touching at narrower desktop widths. */
@media (max-width:1180px){
  body.v9-site .v9-section-head{gap:44px;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);}
  body.v9-site main h1{letter-spacing:-.04em!important;}
}
@media (max-width:800px){
  body.v9-site .v9-section-head,body.v9-site .v12-proof__head{grid-template-columns:1fr!important;gap:18px!important;align-items:start!important;}
  body.v9-site .v9-section-head>p,body.v9-site .v12-proof__head>p{align-self:start;}
  body.v9-site main h1{line-height:1.06!important;letter-spacing:-.035em!important;}
  body.v9-site main h2{line-height:1.09!important;letter-spacing:-.03em!important;}
  body.v9-site .pr-v17-unifilare,body.v9-site .pr-v17-unifilare img{min-height:240px;}
  html.pr-motion-ready body.v9-site .pr-reveal{transform:translate3d(0,16px,0);}
}
@media (max-width:480px){
  body.v9-site main .pr-title-stack>span{display:block;}
  body.v9-site main h1{font-size:clamp(44px,13vw,58px)!important;}
}
@media (prefers-reduced-motion:reduce){
  html.pr-motion-ready body.v9-site .pr-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  body.v9-site main .pr-media-hover>img,body.v9-site main .pr-media-hover picture>img{transition:none!important;transform:none!important;}
}


/* Power Ras V18 — image behaviour, layout hardening and works lightbox. */

/* 1. Media hover: the clipping radius now belongs to the frame, so zoom never squares the corners. */
body.v9-site main .pr-media-hover{
  position:relative;
  overflow:hidden!important;
  isolation:isolate;
  border-radius:var(--pr-media-radius,var(--radius));
}
body.v9-site main .pr-media-hover>img,
body.v9-site main .pr-media-hover>picture>img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  border-radius:0!important;
  transition:transform .72s cubic-bezier(.2,.72,.2,1),filter .45s ease;
  transform:scale(1.001);
  will-change:transform;
}
body.v9-site main .pr-media-wrap-generated{margin:0;min-width:0;}
body.v9-site main .pr-media-wrap-generated>img{width:100%;height:100%;object-fit:cover;}

@media (hover:hover) and (pointer:fine){
  body.v9-site main .pr-media-hover:hover>img,
  body.v9-site main .pr-media-hover:hover>picture>img{
    transform:scale(1.045);
    filter:saturate(1.05) contrast(1.025);
  }
}

/* Full-bleed hero imagery is intentionally static; only framed photography moves. */
body.v9-site main :is(.v9-home-hero__media,.v9-pv-hero__media,.v9-secondary-hero__media,.v10-business-hero__media,.v9-service-showcase__media,.v9-works-hero__mosaic){overflow:hidden;}

/* 2. Electric hero: reserve enough real width for the heading so it cannot overlap the image. */
body.v9-site .v9-electric-hero__grid{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;
  gap:64px!important;
}
body.v9-site .v9-electric-hero h1{font-size:clamp(56px,5.75vw,88px)!important;max-width:720px;}
body.v9-site .v9-electric-hero figure{min-width:0;position:relative;z-index:1;}
body.v9-site .v9-electric-hero__grid>div:first-of-type{position:relative;z-index:2;min-width:0;}

/* 3. Power Ras hero: keep the intended hierarchy without forcing every word onto a new line. */
body.v9-site .v10-company-hero__grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  gap:64px!important;
}
body.v9-site .v10-company-hero h1{font-size:clamp(58px,6vw,94px)!important;max-width:680px;}
@media (min-width:1181px){body.v9-site .v10-company-hero .pr-title-stack>span{white-space:nowrap;}}

/* 4. Work links and recurring framed images use the same geometry. */
body.v9-site .v9-work-link .pr-media-wrap-generated{height:520px;border-radius:var(--radius);}
body.v9-site .v9-work-link .pr-media-wrap-generated>img{object-fit:cover;}
body.v9-site .v10-house-feature figure,
body.v9-site .v10-business-office figure,
body.v9-site .v10-company-identity figure,
body.v9-site .v10-company-hero figure,
body.v9-site .v9-service-showcase figure{margin:0;}

/* 5. Works page: the archive is a gallery, not an accordion inside every card. */
body.v9-site .v10-works-archive .pr-v14-gallery{display:none!important;}
body.v9-site .v10-work-card__media,
body.v9-site .v12-proof__grid figure,
body.v9-site .v9-works-feature__media{cursor:zoom-in;}
body.v9-site .v10-work-card__media:after,
body.v9-site .v9-works-feature__media:after{
  content:"↗";
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:3;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(7,15,13,.78);
  color:#fff;
  font-size:17px;
  line-height:1;
  opacity:.86;
  pointer-events:none;
  backdrop-filter:blur(8px);
}
body.v9-site .v12-proof__grid figure:before{
  content:"↗";
  position:absolute;
  z-index:4;
  right:14px;
  top:14px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(7,15,13,.74);
  color:#fff;
  font-size:16px;
  pointer-events:none;
}

/* Lightbox */
.pr-lightbox[hidden]{display:none!important;}
.pr-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(3,8,7,.94);
  color:#fff;
}
.pr-lightbox__stage{
  width:min(1280px,calc(100vw - 120px));
  height:min(82vh,900px);
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  justify-items:center;
}
.pr-lightbox__stage img{
  display:block;
  max-width:100%;
  max-height:calc(82vh - 74px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 28px 90px rgba(0,0,0,.42);
  user-select:none;
  -webkit-user-drag:none;
}
.pr-lightbox__caption{
  width:min(920px,100%);
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:baseline;
  color:rgba(255,255,255,.76);
  font-size:14px;
}
.pr-lightbox__caption strong{color:#fff;font-size:14px;}
.pr-lightbox__count{white-space:nowrap;color:#9de1d6;font-weight:800;}
.pr-lightbox__close,.pr-lightbox__prev,.pr-lightbox__next{
  position:absolute;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(10,18,16,.66);
  color:#fff;
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.pr-lightbox__close{top:24px;right:24px;width:48px;height:48px;font-size:28px;line-height:1;}
.pr-lightbox__prev,.pr-lightbox__next{top:50%;width:52px;height:52px;margin-top:-26px;font-size:30px;}
.pr-lightbox__prev{left:24px;}.pr-lightbox__next{right:24px;}
.pr-lightbox__close:hover,.pr-lightbox__prev:hover,.pr-lightbox__next:hover{background:rgba(55,172,154,.88);border-color:rgba(55,172,154,.9);transform:scale(1.03);}
.pr-lightbox.is-single .pr-lightbox__prev,.pr-lightbox.is-single .pr-lightbox__next{display:none;}
body.pr-lightbox-open{overflow:hidden;}

/* Keep the service-climate photograph a conventional rounded frame. */
body.v9-site .v9-service-showcase--clima figure{border-radius:var(--radius);}

@media (max-width:1180px){
  body.v9-site .v9-electric-hero__grid,
  body.v9-site .v10-company-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:46px!important;}
  body.v9-site .v9-electric-hero h1{font-size:clamp(54px,6vw,76px)!important;}
  body.v9-site .v10-company-hero h1{font-size:clamp(56px,6.3vw,82px)!important;}
}
@media (max-width:900px){
  body.v9-site .v9-electric-hero__grid,
  body.v9-site .v10-company-hero__grid{grid-template-columns:1fr!important;}
  body.v9-site .v9-electric-hero h1,body.v9-site .v10-company-hero h1{max-width:none;}
  body.v9-site .v10-company-hero .pr-title-stack>span{white-space:normal;}
  body.v9-site .v9-work-link .pr-media-wrap-generated{height:420px;}
  .pr-lightbox{padding:18px;}
  .pr-lightbox__stage{width:calc(100vw - 36px);height:calc(100vh - 100px);}
  .pr-lightbox__stage img{max-height:calc(100vh - 180px);border-radius:10px;}
  .pr-lightbox__prev,.pr-lightbox__next{top:auto;bottom:24px;width:46px;height:46px;font-size:26px;}
  .pr-lightbox__prev{left:18px}.pr-lightbox__next{right:18px}
  .pr-lightbox__close{top:16px;right:16px;width:44px;height:44px;}
  .pr-lightbox__caption{padding:0 52px;justify-content:center;text-align:center;}
  .pr-lightbox__caption strong{display:none;}
}
@media (max-width:680px){
  body.v9-site .v9-work-link .pr-media-wrap-generated{height:340px;}
  .pr-lightbox{padding:10px;}
  .pr-lightbox__stage{width:calc(100vw - 20px);height:calc(100vh - 70px);}
  .pr-lightbox__stage img{max-height:calc(100vh - 150px);max-width:calc(100vw - 20px);}
  .pr-lightbox__caption{font-size:12px;padding:0 44px;}
}
@media (prefers-reduced-motion:reduce){
  body.v9-site main .pr-media-hover>img,
  body.v9-site main .pr-media-hover>picture>img{transition:none!important;transform:none!important;}
  .pr-lightbox__close,.pr-lightbox__prev,.pr-lightbox__next{transition:none!important;}
}


/* Power Ras V19 — gallery continuity, hierarchy cleanup and kicker consistency. */

/* Kicker / pre-title baseline: one visual language on light backgrounds.
   Existing section-specific dark-background rules remain free to use their lighter turquoise. */
.v9-kicker{
  color:#217f72;
  font-size:12px;
  font-weight:850;
  letter-spacing:.14em;
  line-height:1.25;
  text-transform:uppercase;
}

/* Aziende: restore proportion between pre-title and hero title. */
body.v19-site .v10-business-hero__copy>.v9-kicker{
  color:#8ed6cb;
  font-size:13px;
  margin-bottom:20px;
  letter-spacing:.15em;
}
body.v19-site .v10-business-hero h1{
  max-width:980px;
  margin:0 0 26px;
  font-size:clamp(58px,6.15vw,94px);
  line-height:.96;
  letter-spacing:-.055em;
}
body.v19-site .v10-business-hero__copy{padding-bottom:76px;}

/* Headings that no longer need a side paragraph are intentionally centered as one unit. */
body.v19-site .pr-v19-centered-head{
  display:block!important;
  width:100%;
  margin-bottom:52px;
  text-align:center;
}
body.v19-site .pr-v19-centered-head>div{
  width:min(980px,100%);
  margin-inline:auto;
}
body.v19-site .pr-v19-centered-head .v9-kicker{text-align:center;}
body.v19-site .pr-v19-centered-head h2{
  width:min(980px,100%);
  margin-inline:auto;
}
body.v19-site .v9-home-work .pr-v19-centered-head h2{max-width:900px;}
body.v19-site .v10-works-archive .pr-v19-centered-head h2{max-width:820px;}

/* The removed works intro no longer leaves any legacy spacing. */
body.v19-site .v10-works-intro{display:none!important;}

/* All visible imagery on the Works page participates in the same continuous gallery. */
body.v19-site .v9-works-hero__mosaic figure,
body.v19-site .v12-proof__grid figure,
body.v19-site .v9-works-feature__media,
body.v19-site .v10-work-card__media{cursor:zoom-in;}

/* Keep archive-category labels visually aligned with the same brand family. */
body.v19-site .v10-work-card__body>span{
  color:#217f72;
}

@media (max-width:900px){
  body.v19-site .v10-business-hero h1{font-size:clamp(52px,10vw,76px);}
  body.v19-site .v10-business-hero__copy{padding-bottom:58px;}
  body.v19-site .pr-v19-centered-head{margin-bottom:38px;}
}
@media (max-width:680px){
  body.v19-site .v10-business-hero__copy>.v9-kicker{font-size:11px;margin-bottom:14px;}
  body.v19-site .v10-business-hero h1{font-size:clamp(46px,13vw,62px);line-height:.98;}
}


/* Power Ras V20 — audit mobile, gallery cleanup, FAQ hub. */

/* House FAQ inherited the generic FAQ section padding inside another padded section. */
body.v20-site .v10-house-faq .v9-faq{padding:0;}
body.v20-site .pr-faq-more{margin-top:28px;}
body.v20-site .pr-faq-more .v9-link{display:inline-flex;align-items:center;gap:8px;}

/* Dedicated FAQ page */
.pr-faq-hero{padding:105px 0 84px;background:#eef5f3;}
.pr-faq-hero__inner{max-width:1000px;}
.pr-faq-hero h1{margin:0 0 26px;font-size:clamp(62px,7vw,104px);line-height:.94;letter-spacing:-.06em;}
.pr-faq-hero p:not(.v9-kicker){max-width:790px;margin:0;color:var(--copy);font-size:20px;line-height:1.65;}
.pr-faq-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;}
.pr-faq-nav .v9-shell{display:flex;gap:10px;overflow-x:auto;padding-top:14px;padding-bottom:14px;scrollbar-width:thin;}
.pr-faq-nav a{flex:0 0 auto;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12px;font-weight:800;text-decoration:none;}
.pr-faq-nav a:hover,.pr-faq-nav a:focus-visible{border-color:var(--accent);color:var(--accent-dark);outline:none;}
.pr-faq-groups{padding:100px 0 120px;}
.pr-faq-group{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:80px;padding:72px 0;border-top:1px solid var(--line);scroll-margin-top:110px;}
.pr-faq-group:first-child{padding-top:0;border-top:0;}
.pr-faq-group__head{position:sticky;top:110px;align-self:start;}
.pr-faq-group__head h2{margin:12px 0 0;font-size:clamp(38px,4vw,58px);line-height:1;letter-spacing:-.045em;}
.pr-faq-list{border-bottom:1px solid var(--line);}
.pr-faq-list details{border-top:1px solid var(--line);}
.pr-faq-list summary{position:relative;cursor:pointer;list-style:none;padding:24px 52px 24px 0;font-size:20px;font-weight:800;line-height:1.3;}
.pr-faq-list summary::-webkit-details-marker{display:none;}
.pr-faq-list summary:after{content:"+";position:absolute;right:4px;top:20px;font-size:28px;font-weight:400;color:var(--accent-dark);}
.pr-faq-list details[open] summary:after{content:"−";}
.pr-faq-list p{max-width:790px;margin:0;padding:0 54px 26px 0;color:var(--copy);line-height:1.72;}
.pr-faq-note{margin-top:24px;padding:20px 22px;border-radius:14px;background:#f5f7f6;color:var(--copy);font-size:14px;line-height:1.65;}

/* Works: V20 uses only the continuous lightbox; no nested mini-gallery UI remains. */
body.v20-site .pr-lightbox{overscroll-behavior:contain;}
body.v20-site .pr-lightbox__stage{touch-action:pan-y;}

@media(max-width:800px){
  .pr-faq-hero{padding:72px 0 58px;}
  .pr-faq-hero h1{font-size:clamp(48px,13vw,66px);line-height:.98;}
  .pr-faq-hero p:not(.v9-kicker){font-size:17px;}
  .pr-faq-groups{padding:70px 0 84px;}
  .pr-faq-group{grid-template-columns:1fr;gap:30px;padding:58px 0;scroll-margin-top:86px;}
  .pr-faq-group__head{position:static;}
  .pr-faq-group__head h2{font-size:clamp(38px,11vw,52px);}
  .pr-faq-list summary{padding:22px 46px 22px 0;font-size:18px;}
  .pr-faq-list p{padding-right:16px;}
  body.v20-site .pr-lightbox{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));}
}



/* Power Ras V21/V22 — palette, title rhythm, contact spacing and final consistency audit. */
body.v21-site,body.v22-site{
  --accent:#37ac9a;
  --accent-dark:#217f72;
  --accent-light:#8ed6cb;
  --accent-hover:#46baa9;
  --ink:#0b0e0d;
  --copy:#55605b;
  --soft:#f3f6f5;
  --line:#dce3e0;
}
body.v21-site ::selection,body.v22-site ::selection{background:#37ac9a;color:#07110f;}

/* No empty decorative pills: defensive CSS in addition to the cleaned markup/JS. */
body.v21-site .v9-poster-note:empty,body.v22-site .v9-poster-note:empty{display:none!important;}

/* Kicker / category language. */
body.v21-site .v9-kicker,body.v22-site .v9-kicker,
body.v21-site .v10-work-card__body>span,body.v22-site .v10-work-card__body>span{
  color:var(--accent-dark)!important;
}
body.v21-site :is(.v9-home-hero,.v9-pv-hero,.v9-electric-hero,.v9-works-hero,.v10-business-hero,.pr-contact-hero,.v9-charge-flow,.v9-security-map,.v9-cta--dark) .v9-kicker,
body.v22-site :is(.v9-home-hero,.v9-pv-hero,.v9-electric-hero,.v9-works-hero,.v10-business-hero,.pr-contact-hero,.v9-charge-flow,.v9-security-map,.v9-cta--dark) .v9-kicker{
  color:var(--accent-light)!important;
}
body.v21-site main :is(.v9-kicker,.v10-work-card__body>span),body.v22-site main :is(.v9-kicker,.v10-work-card__body>span){
  font-weight:820;
  letter-spacing:.14em;
}

/* Shared heading voice: consistent weight/rhythm while preserving page-specific scale. */
body.v21-site main h1,body.v22-site main h1{font-weight:430!important;line-height:1!important;letter-spacing:-.052em!important;}
body.v21-site main h2,body.v22-site main h2{font-weight:520;line-height:1.055!important;letter-spacing:-.043em!important;}
body.v21-site main h3,body.v22-site main h3{font-weight:650;}
body.v21-site main :is(.v9-home-hero,.v9-pv-hero,.v9-clima-hero,.v9-electric-hero,.v9-security-hero,.v9-charge-hero,.v9-office-hero,.v9-secondary-hero,.v10-business-hero,.v10-company-hero,.v9-works-hero,.pr-contact-hero,.pr-faq-hero) h1,
body.v22-site main :is(.v9-home-hero,.v9-pv-hero,.v9-clima-hero,.v9-electric-hero,.v9-security-hero,.v9-charge-hero,.v9-office-hero,.v9-secondary-hero,.v10-business-hero,.v10-company-hero,.v9-works-hero,.pr-contact-hero,.pr-faq-hero) h1{
  text-wrap:wrap!important;
}

/* FAQ section headings now match the editorial scale used elsewhere. */
body.v21-site .pr-faq-group__head h2,body.v22-site .pr-faq-group__head h2{
  font-size:clamp(44px,4.4vw,66px);
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}

/* Contact cards: never let the first column touch the shell edge. */
body.v21-site .pr-contact-direct__grid>a,body.v22-site .pr-contact-direct__grid>a{
  padding:44px 34px 43px!important;
}
body.v21-site .pr-contact-direct__grid>a:first-child,body.v22-site .pr-contact-direct__grid>a:first-child{
  padding-left:34px!important;
}
body.v21-site .pr-contact-direct__grid>a:last-child,body.v22-site .pr-contact-direct__grid>a:last-child{
  padding-right:34px!important;
}

/* Button and active-state palette normalization. */
body.v21-site .v9-btn:not(.v9-btn--white):not(.v9-btn--dark):not(.v9-btn--ghost),
body.v22-site .v9-btn:not(.v9-btn--white):not(.v9-btn--dark):not(.v9-btn--ghost),
body.v21-site .v9-service-rail a.is-active,body.v22-site .v9-service-rail a.is-active{
  background:var(--accent)!important;
}
@media (hover:hover) and (pointer:fine){
  body.v21-site .v9-btn:not(.v9-btn--white):not(.v9-btn--dark):not(.v9-btn--ghost):hover,
  body.v22-site .v9-btn:not(.v9-btn--white):not(.v9-btn--dark):not(.v9-btn--ghost):hover{background:var(--accent-hover)!important;}
}

/* Footer/mobile FAQ injected by JS keeps the same navigation appearance. */
body.v22-site .pr-v22-injected-link{color:inherit;text-decoration:none;}

/* Legal pages: readable and visually consistent, no alarm-style draft box. */
body.v22-site .pr-legal__status{
  margin:26px 0 34px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--copy);line-height:1.6;
}
body.v22-site .pr-legal__status strong{color:var(--ink);}

@media(max-width:700px){
  body.v21-site .pr-contact-direct__grid>a,body.v22-site .pr-contact-direct__grid>a,
  body.v21-site .pr-contact-direct__grid>a:first-child,body.v22-site .pr-contact-direct__grid>a:first-child,
  body.v21-site .pr-contact-direct__grid>a:last-child,body.v22-site .pr-contact-direct__grid>a:last-child{
    padding:26px 18px!important;
  }
  body.v21-site .pr-faq-group__head h2,body.v22-site .pr-faq-group__head h2{font-size:clamp(40px,11vw,54px);}
}


/* FULL V22 compatibility: legacy Genesis wrappers must not constrain full-bleed 2026 sections. */
body.v9-site .site-inner,
body.v9-site .site-inner > .wrap { display: contents; }
