/* Identity: four curved blades, dawn light, paper and a single spacing system. */
:root{--pe-petrol:#004959;--pe-teal:#0b6870;--pe-lime:#aec35b;--pe-mist:#e3f0ec;--pe-paper:#fcfdf8;--pe-ink:#173d49;--pe-rule:#c4d6cd;--pe-gutter:clamp(20px,4vw,48px);--pe-measure:1140px;--pe-corner:7px 22px 7px 22px;--pe-action-shape:7px 20px 7px 20px;--pe-page-gutter:max(var(--pe-gutter),calc((100% - var(--pe-measure))/2))}
.pe-site{color:var(--pe-ink);background:var(--pe-paper)}
.pe-site :is(h1,h2,h3){text-wrap:balance}
.pe-site :is(input,select,textarea,button){font-family:inherit}
:root body.pe-site .pe-action{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;max-width:100%;padding:12px 20px 12px 45px;border:1px solid var(--pe-petrol);border-radius:var(--pe-action-shape);background:radial-gradient(ellipse at 7% 0%,#729c8066,transparent 58%),linear-gradient(118deg,#004959 34%,#07545f 72%,#336f6c);color:#fff;font:700 13px/1.4 Manrope,Inter,sans-serif;letter-spacing:0;text-transform:none;text-align:center;box-shadow:0 7px 18px #00495917,inset 0 1px #eef4cb70,inset 1px 0 #c3d99430;cursor:pointer;transition:background-color .18s,border-color .18s,box-shadow .18s;vertical-align:middle;text-decoration:none}
:root body.pe-site .pe-action::before{content:'';position:absolute;left:14px;top:50%;width:19px;height:19px;transform:translateY(-50%);background:url('/assets/brand/punto-luce.svg?v=r22') center/contain no-repeat;opacity:.92;pointer-events:none;transition:filter .2s}
:root body.pe-site .pe-action::after{content:'';position:absolute;pointer-events:none;left:9px;right:9px;bottom:4px;height:9px;border-bottom:1px solid #ebf3c47a;border-radius:0 0 65% 45%;opacity:.5;transition:opacity .3s,transform .5s}
:root body.pe-site .pe-action:hover{background:radial-gradient(ellipse at 12% 0%,#a3c89388,transparent 68%),linear-gradient(118deg,#075560,#176c70);color:#fff;border-color:#729d8e;box-shadow:0 7px 24px #477d6530,inset 0 1px #fff7cc;transform:none}
:root body.pe-site .pe-action:hover::before{filter:drop-shadow(0 0 5px #fff8cb);opacity:1}
:root body.pe-site .pe-action.pe-action-secondary{background:radial-gradient(ellipse at 0 0,#fffce0c9,transparent 75%),linear-gradient(120deg,#ffffffc9,#e8f3e4c4);color:#004959;border-color:#85aaa0;box-shadow:inset 0 1px white}
:root body.pe-site .pe-action.pe-action-secondary::before{filter:drop-shadow(0 1px 1px #00495960)}
:root body.pe-site .pe-action.pe-action-secondary:hover{background:#e7f0e2;border-color:#0b6870;color:#004959}
:root body.pe-site .pe-action:focus-visible{outline:3px solid #0b6870;outline-offset:4px;box-shadow:0 0 0 4px #fffdf1}
:root body.pe-site .pe-action:disabled,:root body.pe-site .pe-action[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none}
:root body.pe-site .pe-action[aria-busy=true]{cursor:progress}
:root body.pe-site .pe-action[aria-busy=true]::before{animation:pe-action-wait 1.6s linear infinite}
@keyframes pe-action-wait{to{transform:translateY(-50%) rotate(360deg)}}
.pe-site .nav-links .nav-cta-lnk{min-height:44px;padding:10px 16px 10px 39px;font-size:11px;white-space:nowrap;opacity:1}
.pe-site .nav-cta-lnk::before{width:16px;height:16px;left:12px}
.pe-site .mobile-action-bar{padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));gap:8px}
.pe-site .mobile-action-bar .pe-action{min-height:44px;padding:10px 10px 10px 33px;font-size:11px;flex:1}
.pe-site .mobile-action-bar .pe-action::before{left:9px;width:16px;height:16px}
.pe-site .soc-btn{border-radius:12px 18px 12px 18px;background:#ffffff0a;border-color:#dbe8d750}
.pe-site .soc-btn:hover,.pe-site .soc-btn:focus-visible{background:#ffffff22;box-shadow:0 0 18px #e6edbb26}
/* Site shell: one left edge; long-form text retains its own readable measure. */
.pe-site>nav{padding-inline:var(--pe-page-gutter)}
.pe-site :is(.breadcrumb-inner,.footer-grid){width:100%;max-width:var(--pe-measure);margin-inline:auto}
.pe-site .breadcrumb-trail{padding-inline:var(--pe-page-gutter)}
.pe-site .breadcrumb-inner{padding-inline:0}.pe-site .breadcrumb-inner [aria-current="page"]{flex-basis:auto;padding-top:0}
.pe-site :is(.page-hero,.article-header,.blog-home-hero,.b2b-hero){padding-inline:var(--pe-page-gutter)}
.pe-site :is(.pe-sky-heading,.pe-catalog-sky){border-bottom-color:var(--pe-rule)}
.pe-site .pe-constellation-stage{padding-inline:var(--pe-page-gutter)}
.pe-site :is(.section-head,.page-hero-content){max-width:var(--pe-measure);margin-inline:auto}
.pe-site :is(.sec-label,.lumi-eyebrow){color:var(--pe-teal)}
.pe-site :is(.contatto-card,.service-scenario,.scenario-card,.practice-card,.blog-card,.sede-info-card,.coverage-card,.pe-flow-panel,.pe-lead-panel){border-radius:var(--pe-corner);border-color:var(--pe-rule);background:linear-gradient(145deg,#fffef8,#f1f6ed);box-shadow:0 5px 20px #00495906}
.pe-site :is(.contatto-card,.service-scenario,.scenario-card,.practice-card){position:relative;overflow:hidden}
.pe-site :is(.contatto-card,.service-scenario,.scenario-card,.practice-card)::after{content:'';position:absolute;right:14px;bottom:12px;width:38px;height:38px;background:url('/assets/brand/punto-luce.svg?v=r22') center/contain no-repeat;opacity:.2;pointer-events:none}
.pe-site :is(.cta-section,.b2b-final,.service-close){background:linear-gradient(115deg,#e5eee1ee,#e5f1e9dd),url('/assets/lumi/sky-liguria.webp') center/cover;color:var(--pe-petrol);border-top:1px solid var(--pe-rule)}
.pe-site :is(.cta-section,.b2b-final,.service-close) :is(h2,p){color:inherit}
.pe-site :is(.cta-section,.b2b-final,.service-close) p{max-width:640px;margin-inline:auto}
/* Reading and guide navigation: the sky frames the content, not the paragraphs. */
.pe-site .article-content{color:#264c54;line-height:1.8}
.pe-site .article-content :is(h2,h3){scroll-margin-top:100px}
.pe-site .article-content a:not([class]){color:var(--pe-teal);text-decoration:underline;text-decoration-color:#9cb5a5;text-underline-offset:3px}
.pe-site :is(.article-summary,.article-note,.article-callout,.article-toc,.pe-reading-nav details){border-color:var(--pe-rule);border-radius:var(--pe-corner);background:linear-gradient(115deg,#f2f7ea,#fffdf4)}
.pe-site .article-content blockquote{border-left:3px solid var(--pe-lime);background:#f1f6ed;color:#305b59;border-radius:0 18px 0 0}
.pe-site :is(.blog-card,.related-card){overflow:hidden}
.pe-site :is(.blog-card,.related-card) img{aspect-ratio:16/10;object-fit:cover}
.pe-site .pe-atlas-map button{border-radius:var(--pe-corner)}
/* Native fields, including error/focus states; validation and submission unchanged. */
.pe-site form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea){max-width:100%;min-height:46px;padding:12px 14px;border:1px solid #adc5b9;border-radius:6px 16px 6px 16px;background:#fffef9;color:#173d49;box-shadow:inset 0 1px 2px #00495905;font-size:16px;line-height:1.45}
.pe-site form :is(input,select,textarea):focus-visible{outline:2px solid #0b6870;outline-offset:3px}
.pe-site form :is(input,select,textarea)[aria-invalid=true]{border-color:#a94343;outline-color:#a94343}
.pe-site form :is(input[type=checkbox],input[type=radio]){accent-color:#0b6870;min-width:19px;min-height:19px}
/* The luminous mark. Scale stays restrained so labels never collide. */
.pe-site :is(.pe-need-star,.pe-star i,.pe-atlas-map .pe-brand-icon){filter:drop-shadow(0 1px 1px #3a786550) drop-shadow(0 0 5px #fffde5);transition:filter .22s,transform .22s}
.pe-site :is(.pe-needs-grid button:hover,.pe-needs-grid button:focus-visible,.pe-needs-grid button[aria-pressed=true]) .pe-need-star,
.pe-site :is(.pe-star:hover,.pe-star:focus-visible,.pe-star[aria-pressed=true]) i,
.pe-site .pe-atlas-map button:is(:hover,:focus-visible,[aria-pressed=true]) .pe-brand-icon{filter:drop-shadow(0 0 3px white) drop-shadow(0 0 12px #fff3a8) drop-shadow(0 1px 1px #477a6580);transform:scale(1.08)}
.pe-site .pe-star.is-lit i{animation:pe-ether-turn 32s linear infinite;animation-play-state:var(--pe-atmosphere-state,paused)}
/* Catalog: compact controls share the four-blade corner rather than pill shapes. */
:root body.pe-site.offers-page .pe-catalog .lumy-categories button{border-radius:6px 17px 6px 17px;min-height:44px;padding:9px 14px;border-color:#adc5b6}
:root body.pe-site.offers-page .pe-catalog .pe-select-offer{border-radius:6px 16px 6px 16px;min-height:44px}
:root body.pe-site.offers-page .pe-catalog .pe-shop-card{border-radius:var(--pe-corner);display:flex;flex-direction:column}
:root body.pe-site.offers-page .pe-catalog .pe-shop-actions{margin-top:auto}
:root body.pe-site.offers-page .pe-catalog .pe-shop-card h3{min-height:0}
:root body.pe-site.offers-page .pe-catalog .pe-shop-actions .pe-action{font-size:12px;padding:11px 13px 11px 39px}
:root body.pe-site.offers-page .pe-catalog .pe-shop-actions .pe-action::before{width:17px;height:17px;left:11px}
:root body.pe-site.offers-page .pe-featured-offer{border-radius:var(--pe-corner)}
:root body.pe-site.offers-page .gh-catalog-intro{padding-right:calc(var(--pe-page-gutter) + 200px);min-height:220px}
:root body.pe-site.offers-page .pe-catalog-sky .gh-catalog-copy{max-width:720px}
.pe-catalog-lumi{position:absolute;right:var(--pe-page-gutter);bottom:6px;width:174px;height:202px;pointer-events:none;isolation:isolate}
.pe-catalog-lumi img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.pe-catalog-lumi .pe-lumi-present{opacity:1}
.pe-catalog-cloud{position:absolute;left:-18px;right:-18px;bottom:-4px;height:44px;z-index:2;background:url('/assets/brand/nuvola-lumi.svg') center/100% 100% no-repeat;transform-origin:center;pointer-events:none}
.pe-catalog-shadow{position:absolute;bottom:12px;left:23%;width:54%;height:12px;background:#5984781c;filter:blur(5px);border-radius:50%;z-index:-1}
@media(prefers-reduced-motion:no-preference){
 .pe-catalog-arrival .pe-lumi-present{animation:pe-lumi-present 2.4s cubic-bezier(.2,.65,.3,1) both}
 .pe-catalog-arrival .pe-catalog-cloud{animation:pe-lumi-cloud 2.4s ease-out both}
 .pe-catalog-arrival .pe-catalog-shadow{animation:pe-lumi-shadow 2.7s both}
}
@keyframes pe-lumi-present{0%{opacity:0;transform:translate3d(16px,-48px,0) rotate(-4deg)}18%{opacity:1}65%{opacity:1;transform:translate3d(0,4px,0) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes pe-lumi-cloud{0%{transform:scale(.86);opacity:.4}64%{transform:scale(1.08,.92);opacity:1}100%{transform:none;opacity:1}}
@keyframes pe-lumi-shadow{0%{transform:scale(.2);opacity:.15}43%{transform:scale(1.2);opacity:1}100%{transform:none;opacity:1}}
@media(min-width:761px){
 .pe-site main>.contatti-grid{padding-inline:var(--pe-page-gutter)}
 .pe-site :is(.contatti-grid,.sedi-grid){max-width:none;gap:24px}
}
@media(min-width:761px) and (max-width:1050px){.pe-site>nav{padding-inline:24px}.pe-site .nav-links{gap:13px}.pe-site .nav-links a{font-size:11px}}
@media(max-width:760px){
 :root{--pe-gutter:22px}
 :root body.pe-site .pe-action{min-height:46px;font-size:12px;padding:12px 16px 12px 41px;gap:9px}
 :root body.pe-site .pe-action::before{left:13px;width:17px;height:17px}
 :root body.pe-site.offers-page .gh-catalog-intro{padding-right:var(--pe-page-gutter);min-height:0;padding-bottom:16px}
 :root body.pe-site.offers-page .pe-catalog-sky .gh-catalog-intro h1{padding-right:0}
 :root body.pe-site.offers-page .pe-catalog-sky .gh-catalog-intro p{padding-right:98px;min-height:105px;margin-bottom:0}
 .pe-catalog-lumi{right:16px;bottom:8px;width:94px;height:118px}
 .pe-catalog-cloud{left:-6px;right:-6px;bottom:0;height:25px}
 :root body.pe-site.offers-page .pe-needs{padding-top:10px}
 .pe-site :is(.pe-place-links,.lumi-actions,.hero-ctas){flex-wrap:wrap}
 .pe-site .pe-place-links .pe-action{font-size:11px;min-height:40px;padding:9px 11px 9px 32px}
 .pe-site .pe-place-links .pe-action::before{width:15px;height:15px;left:9px}
}
@media(prefers-reduced-motion:reduce){
 :root body.pe-site .pe-action,:root body.pe-site .pe-action::before,.pe-site :is(.pe-need-star,.pe-star i,.pe-atlas-map .pe-brand-icon){transition:none}
 :root body.pe-site .pe-action[aria-busy=true]::before{animation:none}
 .pe-catalog-lumi *{animation:none!important}
}

/* Assisted requests share the sky and the same content edges as the home. */
.pe-site .activation-page{padding:44px var(--pe-page-gutter) 58px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start;background:linear-gradient(180deg,#f5f8ec55,#fcfdf8 680px),url('/assets/lumi/sky-liguria.webp') top center/auto 680px no-repeat}
.pe-site .activation-page>section{padding:0;min-width:0;position:relative;inset:auto}
.pe-site .activation-intro h1{font-size:clamp(32px,3.2vw,46px);line-height:1.15;letter-spacing:-.04em;margin:18px 0 22px}
.pe-site .activation-intro>p{font-size:15px;line-height:1.8;max-width:460px}
.pe-site .activation-intro::after{content:'';display:block;width:140px;height:170px;margin:22px 0 0;background:url('/assets/lumy/reassure.webp') center/contain no-repeat}
.pe-site .activation-summary{border-radius:var(--pe-corner);border-left-color:var(--pe-lime);background:var(--pe-petrol)}
.pe-site .pe-conversion-form{border-radius:var(--pe-corner);background:#fffef8;border:1px solid var(--pe-rule);padding:25px;box-shadow:0 8px 24px #00495906}
.pe-site .activation-panel .pe-conversion-form>label:not(.privacy-check){display:grid;gap:7px;margin:0 0 17px}
.pe-site .activation-panel .pe-conversion-form .privacy-check{margin:20px 0;line-height:1.6;font-size:12px}
.pe-site .activation-panel .pe-form-assurance{margin-top:16px;font-size:12px;line-height:1.65}
.pe-site :is(.coverage-hero,.questions-hero){position:relative;isolation:isolate;background:var(--pe-sky);padding:42px var(--pe-page-gutter);border-bottom:1px solid var(--pe-rule)}
.pe-site :is(.coverage-hero,.questions-hero)::after{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/brand/orizzonte-punto-energia.svg?v=r22') right bottom/440px auto no-repeat;pointer-events:none}
.pe-site :is(.coverage-hero,.questions-hero) h1{font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-.04em}
.pe-site :is(.coverage-request,.questions-form-band){background:linear-gradient(130deg,#edf4e9,#fafbf4)}
.pe-site .coverage-form{border-radius:var(--pe-corner);border-color:var(--pe-rule);background:#fffef8}
.pe-site .coverage-fields{gap:20px}
.pe-site .coverage-fields label{display:grid;gap:7px}
.pe-site .pe-reading-nav details{padding:17px 12px 12px}
.pe-site .article-byline{font-size:12px;line-height:1.7}
.pe-site :is(.article-body,.article-content){color:#264c54;line-height:1.8}
.pe-site :is(.article-body,.article-content) blockquote{border-left:3px solid var(--pe-lime);background:#f1f6ed;color:#305b59;border-radius:0 18px 0 0}
.pe-site :is(.article-body,.article-content) a:not([class]){color:var(--pe-teal);text-decoration:underline;text-decoration-color:#9cb5a5;text-underline-offset:3px}
.pe-site .article-cover img{border-radius:var(--pe-corner)}
.pe-site.gh-offer{--gh-deep:#004959;--gh-ink:#173d49;--gh-gold:#aec35b}
@media(min-width:761px){.pe-site.gh-offer .gh-card{padding-left:0;padding-right:0}}
@media(min-width:761px){
 .pe-site> :is(.sede-info,.sede-servizi,.sede-local-faq,.other-sedi,.service-scenarios,.srv-how,.srv-sedi){max-width:none;width:100%;padding-inline:var(--pe-page-gutter)}
 .pe-site :is(.srv-sedi,.sede-servizi) .sedi-grid{padding-inline:0}
 .pe-site .pe-star-guide{border-radius:var(--pe-corner)}
}
@media(min-width:901px){
 .pe-site .pe-reading-layout{width:calc(100% - 2 * var(--pe-gutter));max-width:var(--pe-measure);padding:0;grid-template-columns:210px minmax(0,1fr);gap:48px}
 .pe-site .pe-reading-layout .article-body{max-width:760px}
 .pe-site .article-byline{max-width:var(--pe-measure);padding:0;margin:24px auto;text-align:left}
}
@media(max-width:900px){
 .pe-site .activation-page{grid-template-columns:1fr;gap:24px;padding:30px var(--pe-gutter) 38px}
 .pe-site .activation-intro{position:relative;top:auto;padding-right:0}
 .pe-site .activation-intro::after{position:absolute;right:0;bottom:0;width:75px;height:100px;margin:0}
 .pe-site .activation-intro>p{padding-right:70px;max-width:none;font-size:14px}
 .pe-site .activation-steps{padding-right:70px;flex-wrap:wrap}
 .pe-site .activation-intro h1{font-size:34px;max-width:650px;margin-top:14px}
 .pe-site .pe-conversion-form{padding:21px}
 .pe-site .pe-reading-layout{padding-inline:var(--pe-gutter)}
 .pe-site .pe-reading-nav details{padding:16px}
}
@media(max-width:380px){.pe-site .activation-intro h1{font-size:30px}.pe-site .activation-intro>p{padding-right:0}.pe-site .activation-intro::after{display:none}.pe-site .activation-steps{padding-right:0}}

/* Viewport-aware light and motion; transforms never change text layout. */
:root body.pe-site .pe-action:hover::after{opacity:1;transform:translateY(-1px)}
:root body.pe-site .pe-action-secondary::after{border-color:#82a88680}
:root body.pe-site .pe-action:active{box-shadow:inset 0 2px 7px #00495930}
@keyframes pe-ether-turn{to{rotate:360deg}}
@keyframes pe-lumi-welcome{0%{transform:translateY(18px) rotate(-3deg)}65%{transform:translateY(-4px) rotate(1deg)}100%{transform:none}}
@keyframes pe-reading-settle{0%{transform:translateY(8px) rotate(-2deg)}60%{transform:translateY(-3px) rotate(1deg)}100%{transform:none}}
@keyframes pe-reading-light{0%,100%{opacity:.55;transform:rotate(-18deg) scale(.96)}50%{opacity:1;transform:rotate(-14deg) scale(1.03)}}
@keyframes pe-cloud-drift{0%,100%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
@media(prefers-reduced-motion:no-preference){
 .pe-site :is(.pe-need-star>svg,.pe-atlas-map .pe-brand-icon){animation:pe-ether-turn 38s linear infinite;animation-play-state:var(--pe-atmosphere-state,paused);transform-origin:center}
 .pe-site .pe-star i{animation:pe-ether-turn 38s linear infinite;animation-play-state:var(--pe-atmosphere-state,paused);transform-origin:center}
 :root body.pe-site .pe-action:hover::before{animation:pe-action-wait 4s linear infinite}
 .pe-atmosphere-entered .pe-place-lumi>img{animation:pe-lumi-welcome 1.8s cubic-bezier(.2,.65,.3,1) both}
 .pe-place-spark,.pe-blog-lumy::after{animation:pe-ether-turn 38s linear infinite;animation-play-state:var(--pe-atmosphere-state,paused)}
 .pe-place-orbit{animation:pe-reading-light 12s ease-in-out infinite;animation-play-state:var(--pe-atmosphere-state,paused)}
 .pe-blog-lumy.pe-atmosphere-entered img{animation:pe-reading-settle 1.8s ease-in-out both}
 .pe-blog-lumy::before{animation:pe-reading-light 12s ease-in-out infinite;animation-play-state:var(--pe-atmosphere-state,paused)}
 .pe-catalog-lumi .pe-catalog-cloud{animation:pe-cloud-drift 14s ease-in-out infinite;animation-play-state:var(--pe-atmosphere-state,paused)}
 .pe-catalog-arrival .pe-catalog-cloud{animation:pe-lumi-cloud 2.4s ease-out both}
 .pe-reading-nav.pe-atmosphere-entered>img{animation:pe-reading-settle 1.8s ease-in-out both}
}
@media(prefers-reduced-motion:reduce){
 .pe-site :is(.pe-star i,.pe-need-star>svg,.pe-atlas-map .pe-brand-icon,.pe-place-lumi>img,.pe-place-spark,.pe-place-orbit,.pe-blog-lumy img,.pe-reading-nav>img){animation:none!important}
 .pe-blog-lumy::before,.pe-blog-lumy::after,:root body.pe-site .pe-action:hover::before{animation:none!important}
}

/* R24 — customer proof, the light around Lumi and shared interaction details. */
.pe-hero-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-bottom:20px}
.pe-hero-kicker .lumi-eyebrow{font-size:11px;max-width:220px;line-height:1.6}
.pe-hero-kicker .pe-clients-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;min-height:54px;padding:6px 12px 8px 0;color:var(--pe-petrol);text-decoration:none;font:650 11px/1.35 Manrope,sans-serif}
.pe-clients-cta::before{content:'';position:absolute;inset:-12px -20px;z-index:-1;background:radial-gradient(ellipse at 40% 65%,#fffde4f5,#fbf1b777 45%,transparent 72%);pointer-events:none}
.pe-clients-cta::after{content:'';position:absolute;bottom:2px;left:0;right:5px;height:1px;background:linear-gradient(90deg,#729d83,#dce6b2 35%,#fffdf0 60%,#a8c1a0);box-shadow:0 2px 9px #fffbd3;pointer-events:none}
.pe-proof-overline{font-size:11px;align-self:center}
.pe-clients-cta .pe-proof-number{font:800 34px/1 Manrope,sans-serif;letter-spacing:-1.7px;white-space:nowrap;color:#155b5d;text-shadow:0 1px #fff,0 0 18px #fff8c3}
.pe-proof-caption{max-width:86px;font-size:12px;text-wrap:balance}
.pe-proof-arrow{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:2px;border:1px solid #a8c0a799;border-radius:50%;font-size:15px;transition:transform .25s,background .25s}
.pe-clients-cta:hover .pe-proof-arrow{transform:translate(2px,-2px);background:#fffced}
.pe-clients-cta:focus-visible{outline:2px solid var(--pe-teal);outline-offset:5px;border-radius:4px}
.pe-hero-celestial{position:absolute;inset:-7%;z-index:-1;pointer-events:none;overflow:visible}
.pe-hero-celestial svg{display:block;width:100%;height:100%;overflow:visible}
.pe-hero-celestial .pe-celestial-track{fill:none;stroke:#fffdf2;stroke-width:1;opacity:.85;vector-effect:non-scaling-stroke}
.pe-hero-celestial .pe-celestial-fine{fill:none;stroke:#88ac9573;stroke-width:.7;vector-effect:non-scaling-stroke}
.pe-hero-celestial .pe-celestial-star{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 5px #fffde5)}
.pe-hero-celestial .pe-celestial-light{fill:none;stroke:#fffbe0;stroke-width:2;stroke-linecap:round;stroke-dasharray:.07 .93;filter:drop-shadow(0 0 3px #fff)}
.pe-site .pe-brand-signature{position:relative;isolation:isolate;display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:22px;max-width:var(--pe-measure);margin:28px auto 36px;padding:28px 0;border-block:1px solid #c9d9c9;color:var(--pe-petrol);background:radial-gradient(ellipse at 18% 60%,#fff6c885,transparent 58%)}
.pe-brand-signature::after{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/brand/orizzonte-punto-energia.svg?v=r22') right bottom/320px auto no-repeat;opacity:.55;pointer-events:none}
.pe-signature-mark{position:relative;display:grid;place-items:center;width:80px;height:80px}
.pe-signature-mark::before{content:'';position:absolute;inset:7px -5px;border:1px solid #bfd1aa;border-radius:50%;transform:rotate(-22deg);box-shadow:0 0 22px #fffbdc;z-index:-1}
.pe-signature-lumi{display:block;width:80px;height:80px;object-fit:contain}
.pe-brand-signature strong{display:flex;align-items:baseline;gap:7px;font:650 17px/1.3 Manrope,sans-serif;letter-spacing:-.025em}
.pe-brand-signature .pe-proof-number{font:800 42px/1.1 Manrope,sans-serif;letter-spacing:-2px;text-shadow:0 1px #fff,0 0 18px #fffbd6}
.pe-brand-signature div>span{display:block;font:400 12px/1.65 Inter,sans-serif;color:#476860;margin-top:8px;max-width:520px}
.pe-brand-signature>a{font:700 12px/1.5 Manrope,sans-serif;color:#2d655b;text-decoration:underline;text-decoration-color:#9dbb96;text-underline-offset:6px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
/* Deliberate keyboard and pointer states, including the quieter links. */
.pe-site :is(.lumi-text-link,.pe-brand-signature>a,.pe-needs-heading>a,.pe-needs-help>a,.ft-links a):focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:3px}
.pe-site .nav-links a:not(.pe-action){position:relative}
.pe-site .nav-links a:not(.pe-action)::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:linear-gradient(90deg,#70a798,#c7d587);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.pe-site .nav-links a:not(.pe-action):is(:hover,:focus-visible,[aria-current=page],[aria-current=location])::after{transform:scaleX(1)}
.pe-site .nav-links a[aria-current]{color:var(--pe-teal)}
.pe-site ::selection{background:#d3e2ae;color:#003e4a}
.pe-site .pe-needs-grid button:focus-visible{outline:2px solid var(--pe-teal);outline-offset:5px;border-radius:var(--pe-corner)}
.pe-site .pe-needs-grid button[aria-pressed=true] strong{text-decoration:underline;text-decoration-color:#9bb87f;text-underline-offset:6px;text-decoration-thickness:2px}
.pe-site .pe-needs-grid button[aria-pressed=true] .pe-need-star{background:radial-gradient(ellipse,#fffbd0c9,transparent 72%)}
.pe-site .pe-catalog-disclosure>summary:hover .pe-disclosure-sign{background:#f5f4d8;border-color:#729b83}
.pe-site .lumy-categories button:focus-visible{outline:2px solid var(--pe-teal);outline-offset:3px}
.pe-site .pe-catalog .pe-shop-card:focus-within{border-color:#6f9b8b;box-shadow:0 0 0 2px #d7e3c9}
.pe-site .pe-catalog .pe-shop-facts{line-height:1.65}
.pe-site .pe-catalog :is(input,select):focus-visible{outline:2px solid var(--pe-teal);outline-offset:3px}
@media(min-width:761px) and (max-width:1200px){.pe-site .pe-brand-signature{margin-inline:var(--pe-gutter)}}
@media(min-width:761px) and (max-width:1050px){
 :root body.home-page .lumi-hero-inner{grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:24px}
 .lumi-hero-art.lumy-seated{width:clamp(210px,28vw,280px);height:auto;aspect-ratio:655/660}
 .pe-hero-kicker .lumi-eyebrow{max-width:none}
 .lumi-hero-copy>p{font-size:14px}
 :root .lumi-hero-art.lumy-seated .lumi-art-note{top:-24%}
}
@media(max-width:1050px){:root .lumi-hero-art.lumy-seated .lumi-art-note{right:0;max-width:138px}}
@media(max-width:760px){
 :root body.pe-site:has(.mobile-action-bar,#pe-selection-bar:not([hidden])) .iubenda-tp-btn[data-tp-float]{bottom:var(--pe-mobile-clearance,90px)!important}
 .pe-hero-kicker{gap:9px;margin-bottom:18px;align-items:flex-start;flex-direction:column}
 .pe-hero-kicker .lumi-eyebrow{font-size:11px;max-width:none}
 .pe-hero-kicker .pe-clients-cta{min-height:45px;padding:3px 8px 7px 0;gap:7px}
 .pe-clients-cta .pe-proof-number{font-size:30px;letter-spacing:-1.3px}
 .pe-proof-caption{max-width:none;font-size:11px}
 .pe-proof-arrow{width:22px;height:22px;font-size:14px}
 .pe-hero-celestial{inset:-2%}
 :root .lumi-hero-art.lumy-seated .lumi-art-note{top:-36%;font-size:11px;max-width:126px}
 .lumi-hero-art.lumy-seated{margin-top:112px}
 .pe-site .pe-brand-signature{grid-template-columns:64px minmax(0,1fr);gap:10px 14px;margin:20px var(--pe-gutter) 26px;padding:22px 0}
 .pe-signature-mark,.pe-signature-lumi{width:64px;height:64px}
 .pe-brand-signature strong{font-size:14px;gap:5px;flex-wrap:wrap}
 .pe-brand-signature .pe-proof-number{font-size:34px;letter-spacing:-1.6px}
 .pe-brand-signature div>span{font-size:11px;margin-top:7px}
 .pe-brand-signature>a{grid-column:2;font-size:11px;min-height:40px;white-space:normal}
 .pe-site .nav-links a:not(.pe-action)::after{bottom:0;right:auto;width:35px}
}
@media(prefers-reduced-motion:no-preference){
 .lumi-hero .pe-clients-cta::before{animation:pe-dawn-breathe 8s ease-in-out infinite alternate;animation-play-state:var(--pe-sky-state,paused)}
 .pe-celestial-star{animation:pe-ether-turn 40s linear infinite;animation-play-state:var(--pe-sky-state,paused)}
 .pe-celestial-light{animation:pe-celestial-orbit 24s linear infinite;animation-play-state:var(--pe-sky-state,paused)}
}
@keyframes pe-celestial-orbit{to{stroke-dashoffset:-1}}
@media(max-width:380px){.lumi-story-top .lumi-eyebrow{display:block;max-width:calc(100% - 85px);line-height:1.5}}
@media(prefers-reduced-motion:reduce){.pe-proof-arrow,.pe-site .nav-links a::after{transition:none}}

/* Approved home: keep the primary action within short desktop viewports. */
@media(min-width:901px) and (max-height:760px){
 :root body.home-page .lumi-hero-inner{padding-top:18px;padding-bottom:18px;min-height:0}
 :root body.home-page .lumi-hero h1{font-size:clamp(38px,7.5svh,60px);margin-top:14px;margin-bottom:16px}
 :root body.home-page .lumi-hero-copy>p{line-height:1.65}
 :root body.home-page .lumi-hero-art{max-height:390px}
}
