
body{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.lnk:hover{text-decoration:underline}
.lnk.on{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.deco{position:absolute;display:block;pointer-events:none;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;animation:floaty 9s ease-in-out infinite}
.deco.lt{color:rgba(240,236,227,0.22)}
.deco.dk{color:rgba(74,91,109,0.18)}
.deco.s2{animation-duration:11s;animation-delay:-4s}
.deco.s3{animation-duration:13s;animation-delay:-7s}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -14px}}
@supports (animation-timeline: view()){
.deco{animation:floaty 9s ease-in-out infinite,drift linear both;animation-timeline:auto,view()}
.deco.s2{animation-duration:11s,auto;animation-delay:-4s,0s}
.deco.s3{animation-duration:13s,auto;animation-delay:-7s,0s}
@keyframes drift{from{transform:translateY(50px)}to{transform:translateY(-50px)}}
}
.soc{width:64px;height:64px;border-radius:50%;border:2px solid #4A5B6D;color:#4A5B6D;display:flex;align-items:center;justify-content:center;box-sizing:border-box;box-shadow:inset 0 0 0 0 #4A5B6D;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,color .25s ease}
.soc:hover,.soc:focus-visible{transform:translateY(-5px);box-shadow:inset 0 0 0 32px #4A5B6D,0 10px 20px rgba(46,51,56,0.25);color:#F0ECE3}
.soc:hover svg,.soc:focus-visible svg{animation:wig .55s ease}
@keyframes wig{0%{transform:scale(1) rotate(0deg)}40%{transform:scale(1.22) rotate(-10deg)}70%{transform:scale(.95) rotate(6deg)}100%{transform:scale(1) rotate(0deg)}}

/* Griglia unica del sito: tutti i contenitori di sezione sono larghi 1360px; le sezioni di solo testo centrato tengono una riga leggibile */
.txt>p,.txt>h1,.txt>h2{max-width:820px}
/* Header: resta in alto durante lo scroll; sotto i 1100px il menu diventa un pannello */
:root{scroll-padding-top:96px}
.hd{position:sticky;top:0;z-index:50;background:#4A5B6D;color:#F0ECE3}
.hd-in{max-width:1360px;margin:0 auto;box-sizing:border-box;padding:12px clamp(20px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:8px 32px}
.hd-logo{display:flex;align-items:center;min-height:44px;min-width:0}
.hd-logo img{display:block;width:260px;max-width:100%;height:auto}
.hd-nav{display:block;position:static;inset:auto;width:auto;height:auto;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible}
.hd-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 28px}
.hd-nav ul a{position:relative;display:flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;font-size:17px;font-weight:600}
/* pagina corrente: barra tortora sotto la voce, diversa dalla sottolineatura dell'hover */
.hd-nav ul a.on,.hd-nav ul a.on:hover{text-decoration:none}
.hd-nav ul a.on::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:4px;border-radius:2px;background:#E5DBD1}
.hd-apri,.hd-top,.hd-wa{display:none}
@supports (animation-timeline:scroll()){
.hd{animation:hd-ombra linear both;animation-timeline:scroll(root);animation-range:0 120px}
.hd-in{animation:hd-stretto linear both;animation-timeline:scroll(root);animation-range:0 120px}
.hd-logo img{animation:hd-logo linear both;animation-timeline:scroll(root);animation-range:0 120px}
}
@keyframes hd-ombra{to{box-shadow:0 8px 24px rgba(20,28,38,0.28)}}
@keyframes hd-stretto{to{padding-top:6px;padding-bottom:6px}}
@keyframes hd-logo{to{width:190px}}
@media (max-width:1099px){
.hd-apri{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:48px;padding:0 16px 0 12px;border:2px solid rgba(240,236,227,0.55);border-radius:10px;background:none;color:inherit;font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.hd-apri:hover{background:rgba(240,236,227,0.12)}
.hd-nav{display:none;position:fixed;inset:0 0 0 auto;width:min(360px,100%);height:100dvh;max-height:none;box-sizing:border-box;padding:16px 24px 28px;background:#F0ECE3;color:#4A5B6D;box-shadow:-12px 0 40px rgba(20,28,38,0.3);overflow:auto}
.hd-nav:popover-open{display:flex;flex-direction:column}
.hd-nav::backdrop{background:rgba(20,28,38,0.55)}
.hd-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.hd-tit{font-family:'Lora',Georgia,serif;font-size:24px;font-weight:500}
.hd-chiudi{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:#E5DBD1;color:#4A5B6D;cursor:pointer}
.hd-nav ul{flex-direction:column;flex-wrap:nowrap;gap:0}
.hd-nav ul li+li{border-top:1px solid #D1CABE}
.hd-nav ul a{min-height:56px;font-family:'Lora',Georgia,serif;font-size:22px;font-weight:500}
.hd-nav ul a.on{margin:0 -12px;padding:0 12px;border-radius:10px;background:#4A5B6D;color:#F0ECE3;font-weight:600}
.hd-nav ul a.on::after{content:none}
.hd-wa{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;min-height:56px;box-sizing:border-box;padding:0 20px;border:2px solid currentColor;border-radius:999px;background:#40843C;color:#FFFFFF;font-weight:700;font-size:18px;text-decoration:none}
.hd-wa:hover{background:#2F6B2C}
}
.i-doghouse{-webkit-mask-image:url(/img/icona-doghouse.svg);mask-image:url(/img/icona-doghouse.svg)}
.i-heartpaw{-webkit-mask-image:url(/img/icona-heartpaw.svg);mask-image:url(/img/icona-heartpaw.svg)}
.i-paw{-webkit-mask-image:url(/img/icona-paw.svg);mask-image:url(/img/icona-paw.svg)}
.i-trasparenza{-webkit-mask-image:url(/img/icona-trasparenza.webp);mask-image:url(/img/icona-trasparenza.webp)}
.mk{display:block;flex:none;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.bt{display:inline-flex;align-items:center;gap:10px;min-height:56px;box-sizing:border-box;padding:0 26px 0 20px;border:2px solid currentColor;border-radius:999px;font-family:inherit;font-weight:700;font-size:18px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.bt-blu,.bt-tortora:hover{background:#4A5B6D;color:#F0ECE3}
.bt-tortora{background:#E5DBD1;color:#4A5B6D}
.bt-blu:hover{background:#FCF3E5;color:#4A5B6D}
.bt:focus-visible{outline:3px solid #4A5B6D;outline-offset:3px}
/* Su telefono le CTA stanno al centro dello schermo, come nella hero del Residence; .cta è il gruppo di pulsanti (revisione mobile del 2026-11-12) */
@media (max-width:600px){.bt,.ctel,.cta{align-self:center!important}.cta{justify-content:center!important;text-align:center}}
/* Informative: la struttura delle pagine legali di Love Light (apertura, «In breve», indice fisso, sezioni numerate) con i colori del sito */
.lg-pill{display:inline-flex;align-items:center;min-height:32px;box-sizing:border-box;padding:2px 14px;border-radius:999px;background:#E5DBD1;color:#4A5B6D;font-size:15px;font-weight:700}
.lg-eyebrow{margin:0;font-family:'Lora',Georgia,serif;font-size:18px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#4A5B6D}
.lg-brief{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}
.lg-card{display:flex;flex-direction:column;gap:12px;padding:30px 28px;border-radius:16px;background:#FFFFFF;border:1px solid #D1CABE}
.lg-card .mk{width:56px;height:56px;color:#4A5B6D}
.lg-card h3{margin:0;font-family:'Lora',Georgia,serif;font-weight:500;font-size:23px;line-height:1.25;color:#4A5B6D}
.lg-card p{margin:0;font-size:17px;line-height:1.55}
.lg-doc{display:grid;grid-template-columns:250px minmax(0,1fr);gap:80px;align-items:start}
.lg-toc{position:sticky;top:112px;max-height:calc(100vh - 144px);overflow-y:auto}
.lg-toc h2{margin-bottom:18px}
.lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;border-left:1px solid #D1CABE}
.lg-toc li{counter-increment:toc}
.lg-toc a{display:flex;gap:12px;margin-left:-1px;padding:7px 0 7px 18px;border-left:2px solid transparent;font-size:17px;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s}
.lg-toc a::before{content:counter(toc,decimal-leading-zero);flex:none;min-width:1.7em;font-size:15px;line-height:1.6;font-weight:700;color:#4A5B6D}
.lg-toc a:hover{border-left-color:#4A5B6D;color:#4A5B6D}
.lg-art{max-width:820px;counter-reset:blk}
.lg-blk{counter-increment:blk;display:flex;flex-direction:column;gap:18px;padding:44px 0;border-top:1px solid #D1CABE}
.lg-blk:first-child{padding-top:0;border-top:0}
.lg-blk::before{content:counter(blk,decimal-leading-zero);margin-bottom:-12px;font-family:'Lora',Georgia,serif;font-size:18px;font-weight:600;letter-spacing:1px;color:#4A5B6D}
.lg-blk h2{margin:0;font-family:'Lora',Georgia,serif;font-weight:500;font-size:clamp(28px,2.8vw,36px);line-height:1.2;color:#4A5B6D}
.lg-blk p{margin:0}
.lg-blk ul:not([class]){margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:12px}
.lg-blk ul:not([class]) li::marker{color:#4A5B6D}
.lg-art a:not(.bt){color:#4A5B6D;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lg-art code{padding:1px 7px;border-radius:6px;background:#E5DBD1;font-size:.88em}
/* i dati ancora da confermare restano evidenziati, invece di essere inventati */
.lg-art mark{padding:0 6px;border-radius:6px;background:#D1CABE;color:inherit}
.lg-note{display:flex;flex-direction:column;gap:6px;padding:22px 26px;border-radius:12px;background:#FFFFFF;border:1px solid #D1CABE}
/* senza JavaScript il sito non salva nulla, quindi non c'è una scelta da riaprire */
@media (scripting:none){.lg-art [data-consent-open]{display:none}}
@media (max-width:1000px){.lg-doc{grid-template-columns:minmax(0,1fr);gap:48px}.lg-toc{position:static;max-height:none}}
@media (max-width:700px){.lg-blk{padding:36px 0}.lg-note{padding:18px 20px}}
@media (prefers-reduced-motion:reduce){.deco{animation:none}.soc{transition:none}.soc:hover,.soc:focus-visible{transform:none}.soc:hover svg,.soc:focus-visible svg{animation:none}.bt,.lg-toc a{transition:none}}
