:root{--ink:#0b1f3a;--ink-2:#34445c;--muted:#64748b;--line:#dfe5ee;--paper:#f4f7fb;--white:#fff;--gold:#2f74c0;--gold-d:#1d5a9e;--navy:#0b1f3a;--r:14px;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.65rem}
h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 1em;color:var(--gold)}
p{margin:0 0 1em}.muted{color:var(--muted)}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-d);font-weight:600;margin-bottom:1rem}
.eyebrow.light{color:#9fc4ec}
.btn{display:inline-block;padding:.95em 1.6em;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;border:1px solid var(--ink);transition:.2s}
.btn:hover{background:var(--gold-d);border-color:var(--gold-d)}
.btn-small{padding:.6em 1.15em;font-size:.88rem}
.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:#fff}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}.btn-light:hover{background:#9fc4ec;border-color:#9fc4ec;color:var(--ink)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn-ghost-light:hover{background:#fff;color:var(--ink);border-color:#fff}
/* header */
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand img{border-radius:8px;mix-blend-mode:multiply}
.brand span{display:flex;flex-direction:column;line-height:1.15}
.brand strong{font-family:var(--serif);font-size:1.35rem;font-weight:600}
.brand small{font-size:.74rem;letter-spacing:.08em;color:var(--gold-d)}
.nav{display:flex;align-items:center;gap:1.8rem}
.nav a:not(.btn){text-decoration:none;font-size:.95rem;color:var(--ink-2);position:relative}
.nav a[aria-current]:not(.btn){color:var(--ink);font-weight:600}
.nav a[aria-current]:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold)}
.menu-toggle,.menu-button{display:none}
@media (max-width:860px){
 .menu-button{display:flex;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
 .menu-button span,.menu-button span::before,.menu-button span::after{display:block;width:22px;height:2px;background:var(--ink);position:relative;content:""}
 .menu-button span::before{position:absolute;top:-7px}.menu-button span::after{position:absolute;top:7px}
 .nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:1.2rem 20px 1.6rem;gap:1.1rem;border-bottom:1px solid var(--line)}
 .menu-toggle:checked~.nav{display:flex}
}
/* sections */
section{padding:clamp(4rem,8vw,7rem) 0}
.section-head{max-width:680px;margin-bottom:3rem}
.section-head.center{text-align:center;margin-inline:auto}
.hero{padding:clamp(3rem,6vw,5.5rem) 0 clamp(4rem,7vw,6rem)}
.hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.5rem;align-items:center}
.hero h1 em{font-style:italic;color:var(--gold-d)}
.hero .lead{font-size:1.2rem;color:var(--ink-2);max-width:34ch}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.hero-photo{position:relative}
.hero-photo img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%;filter:grayscale(1)}
.hero-badge{position:absolute;left:-28px;bottom:32px;background:#fff;border-radius:var(--r);padding:1.1rem 1.4rem;box-shadow:0 20px 40px -18px rgba(20,22,26,.35)}
.hero-badge strong{font-family:var(--serif);font-size:2.2rem;display:block;line-height:1}
.hero-badge span{font-size:.85rem;color:var(--muted)}
.stats{background:var(--navy);color:#fff;padding:3rem 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stats strong{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:600;display:block;line-height:1;color:#9fc4ec}
.stats span{font-size:.9rem;opacity:.8}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(20,22,26,.35)}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.card-body{padding:1.6rem 1.6rem 1.8rem;flex:1;display:flex;flex-direction:column}
.card-body p{color:var(--ink-2);flex:1}
.link{font-weight:600;font-size:.92rem;color:var(--gold-d)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.split img{border-radius:var(--r);width:100%;object-fit:cover}
.quote{font-family:var(--serif);font-style:italic;font-size:1.6rem;line-height:1.3;border-left:3px solid var(--gold);padding-left:1.2rem;margin:1.6rem 0;color:var(--ink)}
.bg-white{background:#fff}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.review{background:var(--paper);border-radius:var(--r);padding:2rem;display:flex;flex-direction:column}
.bg-paper .review{background:#fff}
.stars{color:var(--gold);letter-spacing:.15em;margin-bottom:1rem}
.review p{font-size:.98rem;color:var(--ink-2);flex:1}
.review-who{display:flex;align-items:center;gap:.9rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.review-who img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.review-who strong{display:block;font-size:.95rem}.review-who span{font-size:.82rem;color:var(--muted)}
.cta-band{background:linear-gradient(90deg,rgba(11,31,58,.95),rgba(11,31,58,.6)),url(/img/nyc-skyline.jpg) center/cover;color:#fff;padding:5.5rem 0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-inner h2{margin:0;max-width:18ch}
.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.site-footer{background:#071629;color:#c9cbd0;padding:4rem 0 2rem;font-size:.93rem}
.site-footer p{margin:0 0 .45em}.site-footer a{text-decoration:none}.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:2.5rem}
.brand-footer{color:#fff;margin-bottom:1rem}.brand-footer img{mix-blend-mode:normal;filter:invert(1)}
.site-footer .muted{color:#8d9098;max-width:34ch;margin-top:1rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid #1c2c45;margin-top:3rem;padding-top:1.5rem;font-size:.82rem;color:#8d9098}
/* page hero */
.page-hero{padding:clamp(3.5rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}
.page-hero p.lead{font-size:1.2rem;color:var(--ink-2);max-width:60ch}
.prose{max-width:720px}.prose p{color:var(--ink-2)}
.prose strong{color:var(--ink)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4.5rem;align-items:start}
.about-grid .sticky{position:sticky;top:110px}
.about-grid img{border-radius:var(--r);width:100%}
/* servizi */
.subnav{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:2rem}
.subnav a{padding:.55em 1.1em;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem;background:#fff}
.subnav a:hover{border-color:var(--gold)}
.service{scroll-margin-top:90px;border-bottom:1px solid var(--line)}
.service-head{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:3rem}
.service-head img{border-radius:var(--r);width:100%;aspect-ratio:3/2;object-fit:cover}
.grid-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem}
.item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}
.item h3{font-size:1.4rem;margin-bottom:.4em}
.item p{color:var(--ink-2);font-size:.96rem;margin:0}
.item .icon{font-size:1.4rem;margin-bottom:.6rem;display:block}
.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem 2rem}
.checks li{padding-left:1.8rem;position:relative;color:var(--ink-2)}
.checks li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem}
/* contatti */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem}
.contact-card p{margin:0 0 .35em;color:var(--ink-2)}
.contact-card a{text-decoration:none}.contact-card a:hover{color:var(--gold-d)}
.big-link{font-family:var(--serif);font-size:1.7rem;font-weight:600;display:block;margin-bottom:.3em;color:var(--ink)}
.notfound{text-align:center;padding:8rem 0}
@media (max-width:960px){
 .hero-grid,.split,.about-grid,.service-head,.two-col{grid-template-columns:1fr;gap:2.5rem}
 .about-grid .sticky{position:static}
 .cards,.reviews,.contact-grid{grid-template-columns:1fr}
 .stats-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr 1fr}
 .hero-badge{left:16px}
 .checks{grid-template-columns:1fr}
}
.office{background:var(--navy);color:#fff}
.office-hero{position:relative;border-radius:var(--r);overflow:hidden}
.office-hero>img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:center 30%}
.office-card{position:absolute;right:2rem;top:50%;transform:translateY(-50%);max-width:400px;background:rgba(7,22,41,.85);backdrop-filter:blur(8px);padding:2.2rem;border-radius:var(--r)}
.office-card p{color:#d6d8dc}.office-card .hours{color:#9fc4ec;font-weight:500}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
@media (max-width:960px){.office-card{position:static;transform:none;max-width:none;border-radius:0}.office-hero>img{aspect-ratio:4/3}.gallery{grid-template-columns:repeat(2,1fr)}}
.stars{color:#f5a623}
.stats{background:linear-gradient(rgba(11,31,58,.88),rgba(11,31,58,.88)),url(/img/nyc-skyline.jpg) center 60%/cover}
.btn-light:hover{color:#fff;background:var(--gold);border-color:var(--gold)}
.review-text{max-height:13.5em;overflow:hidden;position:relative;flex:1}
.review-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3em;background:linear-gradient(transparent,var(--paper))}
.review-text.open{max-height:none}.review-text.open::after{display:none}
.review-text p{flex:none}
.more{background:none;border:0;padding:0;margin-top:.6rem;color:var(--gold-d);font:600 .9rem var(--sans);cursor:pointer;align-self:flex-start}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
.social{display:flex;flex-direction:column;gap:.55rem;align-items:flex-start}
.social a{display:inline-flex;align-items:center;gap:.6rem;padding:.55em 1em;border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink);transition:.2s}
.social a:hover{background:var(--gold);border-color:var(--gold);color:#fff!important}
.site-footer .social a{background:transparent;border-color:#24385a;color:#dfe6f0}
.happy-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.happy-track{display:flex;gap:1rem;width:max-content;animation:happy-scroll 40s linear infinite}
.happy-marquee:hover .happy-track{animation-play-state:paused}
.happy-track img{height:300px;width:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);flex:none}
@keyframes happy-scroll{to{transform:translateX(calc(-50% - .5rem))}}
@media (max-width:700px){.happy-track img{height:200px}}
@media (prefers-reduced-motion:reduce){.happy-track{animation-duration:120s}}
.mini-stats{display:flex;gap:2rem;flex-wrap:wrap;margin:1.6rem 0 2rem}
.mini-stats strong{display:block;font-family:var(--serif);font-size:2rem;color:var(--gold-d);line-height:1}
.mini-stats span{font-size:.85rem;color:var(--muted)}
.office-page-hero{position:relative;color:#fff;padding:clamp(7rem,16vw,12rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
.office-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.office-page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,22,41,.9),rgba(7,22,41,.25));z-index:-1}
.office-page-hero .lead{font-size:1.15rem;color:#dfe6f0}
.office-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.office-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}
.map{width:100%;aspect-ratio:4/3;border:0;border-radius:var(--r)}
@media (max-width:960px){.office-gallery{grid-template-columns:repeat(2,1fr)}}
.hero-photo img{aspect-ratio:5/6;max-height:82vh}
.warm-hero{background:linear-gradient(rgba(60,32,12,.62),rgba(40,22,10,.72)),url(/img/sgc-3.jpg) center/cover;color:#fff}
.warm-bg{background:linear-gradient(180deg,#fbf3e8,#f6e7d3)}
.warm-bg img{box-shadow:0 18px 40px rgba(120,70,20,.25)}
a[href^="tel:"]{display:inline-block;transition:transform .2s ease,color .2s ease}
a[href^="tel:"]:hover{transform:scale(1.12);color:#e8892b}
.btn.btn-wa{background:#25d366;color:#fff;border-color:#25d366}
.wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:999;transition:transform .2s}
.wa-float:hover{transform:scale(1.12)}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:.2s}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(11,31,58,.35)}
.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.blog-card div{padding:1.3rem 1.4rem 1.5rem}
.blog-card h2{font-size:1.45rem;margin:.2rem 0 .8rem;line-height:1.2}
.blog-card span{font-size:.9rem;color:var(--gold-d);font-weight:500}
.blog-date{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0}
.post{padding:4rem 0 5rem;background:#fff}
.post-wrap{max-width:780px}
.post h1{font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1.1;margin:.2rem 0 1.2rem}
.post-back a{color:var(--gold-d);text-decoration:none;font-size:.92rem}
.post-intro p{font-size:1.15rem;color:var(--ink-2);margin:.3rem 0}
.post-cover{width:100%;max-height:520px;object-fit:cover;border-radius:var(--r);margin:1.8rem 0}
.post-body{max-width:none}.post-body h2{font-size:1.6rem;margin:2rem 0 .8rem}
.post-tag{margin:2rem 0 1.4rem}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
/* Blog: titoli moderni e condivisione */
.blog-hero h1,.post h1,.blog-card h2,.post-body h2{font-family:var(--sans);font-weight:700;letter-spacing:-.025em;color:var(--ink)}
.blog-hero h1{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05}
.post h1{font-size:clamp(2rem,4.2vw,3rem);line-height:1.08}
.blog-card h2{font-size:1.2rem;line-height:1.3;margin:.35rem 0 .9rem}
.post-body h2{font-size:1.35rem;margin:2.2rem 0 .7rem}
.blog-date{color:var(--gold-d);font-weight:600}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.2rem 0}
.share>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600;margin-right:.3rem}
.share a,.share button{display:inline-flex;align-items:center;gap:.45rem;padding:.5em 1em;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:500 .88rem var(--sans);text-decoration:none;cursor:pointer;transition:.2s}
.share svg{width:17px;height:17px;fill:currentColor}
.share .sh-fb:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.share .sh-li:hover{background:#0a66c2;border-color:#0a66c2;color:#fff}
.share .sh-ig:hover{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);border-color:#dc2743;color:#fff}
.share .sh-wa:hover{background:#25d366;border-color:#25d366;color:#fff}
.sh-msg{width:100%;margin:.3rem 0 0;font-size:.88rem;color:var(--gold-d)}

/* Motto e valori */
.motto{background:#fff;text-align:center;border-bottom:1px solid var(--line)}
.motto-inner{max-width:820px;margin-inline:auto;text-align:center}
.motto-tag{font-family:var(--sans);font-size:clamp(2.2rem,5.5vw,4rem);font-weight:400;letter-spacing:-.03em;color:var(--ink);margin:0 0 1.2rem;line-height:1}
.motto-tag strong{font-weight:700;color:var(--gold-d)}
.motto-text{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.35;color:var(--ink-2);margin:0 auto 1rem;max-width:36ch}
.signature{font-family:"Mrs Saint Delafield",cursive;font-size:clamp(2.8rem,6vw,4.2rem);color:var(--navy);margin:.2rem 0 1.6rem;line-height:1.2}
.values{background:var(--paper)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.value{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2.2rem 2rem}
.value svg{width:42px;height:42px;color:var(--gold-d);margin-bottom:1rem}
.value h3{font-family:var(--sans);font-size:.95rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin:0 0 .7rem}
.value p{color:var(--ink-2);margin:0;font-size:.98rem}
.values-cta{text-align:center;margin:2.4rem 0 0}
.link-arrow{color:var(--gold-d);font-weight:600;text-decoration:none}
/* Il mio metodo */
.method-hero h1{font-family:var(--sans);font-weight:700;letter-spacing:-.025em}
.method{background:#fff}
.phase{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;padding:3rem 0;border-top:1px solid var(--line)}
.phase:first-child{border-top:0;padding-top:0}
.phase-head{position:sticky;top:110px;align-self:start}
.phase-head h2{font-family:var(--sans);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 .6rem}
.phase-head p:not(.eyebrow){color:var(--ink-2)}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:flex;gap:1.3rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:0}
.step-n{flex:none;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.95rem}
.steps h3{font-family:var(--sans);font-size:1.08rem;font-weight:600;margin:.2rem 0 .25rem}
.steps p{margin:0;color:var(--ink-2);font-size:.97rem}
.method-cta{background:var(--paper)}
@media(max-width:860px){.values-grid,.phase{grid-template-columns:1fr}.phase{gap:1.2rem}.phase-head{position:static}}
/* Firma */
.signature{font-family:"Monsieur La Doulaise",cursive;font-size:clamp(2.6rem,5.5vw,4rem);color:var(--navy);margin:1rem 0 1.8rem;line-height:1;display:inline-block;position:relative;padding:0 .4em}
.sig-g{font-size:2.3em;line-height:0;vertical-align:-.12em;margin-right:-.12em;color:var(--gold-d)}
.sig-f{font-size:1.5em;line-height:0;vertical-align:-.05em;margin-right:-.05em}
.signature::after{content:"";position:absolute;left:12%;right:4%;bottom:-.05em;height:2px;background:linear-gradient(90deg,transparent,var(--gold-d) 25%,var(--navy) 75%,transparent);transform:rotate(-2deg)}
.signature{display:table;margin:4.2rem auto 3.2rem}
.signature{padding-top:.9em}
/* Firma stilografica */
.signature{font-family:"Herr Von Muellerhoff",cursive;font-size:clamp(3.4rem,7vw,5rem);color:#1a2747;padding-top:.2em;margin:2.2rem auto 2rem;transform:rotate(-3deg);text-shadow:0 0 .6px rgba(26,39,71,.55),.3px .3px 0 rgba(26,39,71,.35);letter-spacing:.01em}
.signature::after{display:none}
.sig-g{font-size:1.35em;line-height:0;vertical-align:-.04em;margin-right:-.06em;color:#1a2747}
.sig-f{font-size:1.15em;line-height:0;vertical-align:0;margin-right:0}
/* Lightbox ufficio */
.office-gallery img{cursor:zoom-in;transition:.25s}
.office-gallery img:hover{opacity:.9;transform:scale(1.015)}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(8,16,30,.93);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:86vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.6rem;cursor:pointer;display:grid;place-items:center}
.lb button:hover{background:rgba(255,255,255,.25)}
.lb .lb-close{top:20px;right:20px}.lb .lb-prev{left:20px;top:50%;transform:translateY(-50%)}.lb .lb-next{right:20px;top:50%;transform:translateY(-50%)}
.lb .lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.9rem}
.value-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#e8f1fb,#d3e4f6);color:var(--gold-d);margin-bottom:1.2rem}
.value-ico svg{width:30px;height:30px;margin:0;color:inherit}
/* Valori eleganti */
.values{background:var(--navy);color:#fff;position:relative}
.values .eyebrow{color:#9fc4ec}
.values h2{color:#fff;font-weight:500}
.values-grid{gap:0}
.value{background:none;border:0;border-left:1px solid rgba(159,196,236,.25);border-radius:0;padding:1rem 2.6rem 1.4rem;text-align:center}
.value:first-child{border-left:0}
.value-ico{width:auto;height:auto;background:none;color:#9fc4ec;margin:0 auto 1rem;display:block}
.value-ico svg{width:52px;height:52px}
.value-n{font-family:var(--serif);font-style:italic;color:#9fc4ec;margin:0 0 .2rem;font-size:1.05rem;letter-spacing:.1em}
.value h3{font-family:var(--serif);font-size:2rem;font-weight:500;text-transform:none;letter-spacing:0;color:#fff;margin:0 0 .8rem}
.value h3::after{content:"";display:block;width:40px;height:1px;background:#9fc4ec;margin:.9rem auto 0}
.value p:not(.value-n){color:rgba(255,255,255,.78);font-size:.98rem;line-height:1.7}
.values .link-arrow{color:#fff;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
@media(max-width:860px){.value{border-left:0;border-top:1px solid rgba(159,196,236,.25);padding:2rem 1rem}.value:first-child{border-top:0}}
.btn-weunit{display:inline-flex;align-items:center;gap:.9rem;background:#fff;border:1px solid #e3e3e3;border-radius:999px;padding:.55rem 1.4rem .55rem 1.3rem;box-shadow:0 2px 10px rgba(11,31,58,.08);transition:box-shadow .2s,transform .2s,border-color .2s;text-decoration:none}
.btn-weunit span{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;font-weight:600;white-space:nowrap}
.btn-weunit img{height:30px;width:auto;display:block}
.btn-weunit:hover{border-color:#ef8200;box-shadow:0 6px 18px rgba(239,130,0,.18);transform:translateY(-1px)}
/* comparsa allo scorrimento */
.rv-on .rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv-on .rv.rv-left{transform:translateX(-40px)}
.rv-on .rv.rv-right{transform:translateX(40px)}
.rv-on .rv.rv-in{opacity:1;transform:none}
/* servizi che si aprono */
.svc-panels{display:flex;gap:1rem;height:520px}
.svc-panel{position:relative;flex:1;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;transition:flex-grow .7s cubic-bezier(.2,.7,.2,1),opacity .9s,transform .9s;min-width:0}
.svc-panel.is-open{flex-grow:2.4}
.svc-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.svc-panel.is-open img{transform:scale(1.04)}
.svc-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,58,.05) 30%,rgba(11,31,58,.88));transition:background .5s}
.svc-panel:not(.is-open)::after{background:linear-gradient(180deg,rgba(11,31,58,.35),rgba(11,31,58,.8))}
.svc-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:2rem}
.svc-n{display:block;font-size:.78rem;letter-spacing:.18em;color:#9fc4ec;font-weight:600;margin-bottom:.6rem}
.svc-body h3{font-size:2rem;margin:0;white-space:nowrap}
.svc-more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s,opacity .5s}
.svc-more>div{overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.svc-more{max-width:440px}
.svc-more p{margin:.8rem 0 1rem;color:rgba(255,255,255,.88)}
.svc-more .link{font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:2px;justify-self:start}
.svc-panel.is-open .svc-more{grid-template-rows:1fr;opacity:1;transition-delay:.15s}
@media (max-width:860px){
 .svc-panels{flex-direction:column;height:auto}
 .svc-panel{min-height:300px}
 .svc-more{grid-template-rows:1fr;opacity:1}
 .svc-panel:not(.is-open)::after{background:linear-gradient(180deg,rgba(11,31,58,.05) 30%,rgba(11,31,58,.88))}
}
.rv-on .svc-panel.rv{transition:flex-grow .7s cubic-bezier(.2,.7,.2,1),opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
/* scheda contatti con lo skyline */
.contact-band{position:relative;color:#fff;background:linear-gradient(100deg,rgba(11,31,58,.94) 0%,rgba(11,31,58,.82) 45%,rgba(11,31,58,.55) 100%),url(/img/nyc-skyline.jpg) center/cover no-repeat;background-attachment:scroll,fixed}
.contact-band-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:4rem;align-items:center}
.contact-band h2{color:#fff}
.contact-band-text>p:not(.eyebrow){color:rgba(255,255,255,.82);max-width:460px;font-size:1.05rem}
.contact-band .cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.lead-form{background:rgba(255,255,255,.97);color:var(--ink);border-radius:var(--r);padding:2.2rem;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:1rem}
.lead-form-title{font-family:var(--serif);font-size:1.55rem;font-weight:600;line-height:1.2;margin:0 0 .3rem}
.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lead-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--ink-2)}
.lead-form input:not([type=checkbox]),.lead-form textarea{font:inherit;font-size:.98rem;padding:.8em .95em;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s;width:100%}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(47,116,192,.15)}
.lead-form textarea{resize:vertical;min-height:90px}
.lead-form .lead-check{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.86rem;line-height:1.45}
.lead-check input{margin-top:.2em;accent-color:var(--ink);width:16px;height:16px;flex:none}
.lead-check a{color:var(--gold-d)}
.lead-form .btn{align-self:flex-start;margin-top:.4rem;cursor:pointer}
.lead-form .btn:disabled{opacity:.6;cursor:wait}
.lead-msg{margin:0;padding:.8em 1em;border-radius:10px;font-size:.92rem}
.lead-msg.ok{background:#e7f4ec;color:#1d6b3a}.lead-msg.err{background:#fdecec;color:#a33}
@media (max-width:960px){.contact-band-grid{grid-template-columns:1fr;gap:2.5rem}.contact-band{background-attachment:scroll}}
@media (max-width:560px){.lead-row{grid-template-columns:1fr}.lead-form{padding:1.5rem}}

/* Inaugurazione */
.event-gallery{columns:3 280px;column-gap:1rem}
.event-gallery img{display:block;width:100%;height:auto;margin:0 0 1rem;break-inside:avoid;border-radius:var(--r);cursor:zoom-in;transition:.25s}
.event-gallery img:hover{opacity:.9}
.event-teaser{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.event-teaser-photos{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:860px){.event-teaser{grid-template-columns:1fr}}
.ev-slot{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;box-shadow:0 14px 34px -18px rgba(11,31,58,.4)}
.ev-slot:first-child{grid-row:span 2;aspect-ratio:auto}
.ev-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 6s ease}
.ev-slot img.on{opacity:1;transform:scale(1)}

/* Il mio metodo, stile più caldo */
.method-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.method-portrait{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px var(--r) var(--r);box-shadow:0 24px 50px -28px rgba(11,31,58,.5)}
.method-note{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.6rem);color:var(--ink);border-left:3px solid var(--gold);padding-left:1.1rem;margin-top:1.8rem}
.method .phase{border-top:0;padding:2.5rem 0}
.method .phase-head h2{font-family:var(--serif);font-weight:600;letter-spacing:0;font-size:clamp(2rem,3.6vw,2.7rem)}
.method .steps{display:grid;gap:.9rem}
.method .steps li{background:var(--paper);border:0;border-radius:18px;padding:1.2rem 1.4rem;transition:transform .25s,box-shadow .25s}
.method .steps li:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(11,31,58,.45)}
.method .step-n{background:#fff;color:var(--gold-d);font-family:var(--serif);font-style:italic;font-size:1.25rem;font-weight:600;box-shadow:inset 0 0 0 1.5px var(--line)}
.method-cta-sub{color:var(--ink-2);margin-bottom:1.4rem}
@media(max-width:860px){.method-intro{grid-template-columns:1fr}.method-portrait{max-width:300px}}
/* Percorso a tappe */
.flow-map{position:sticky;top:72px;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.flow-map-inner{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.flow-map-inner::before{content:"";position:absolute;left:12.5%;right:12.5%;top:1.55rem;height:2px;background:var(--line)}
.flow-map a{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.8rem .3rem;text-decoration:none;color:var(--ink-2);font-size:.9rem;text-align:center}
.flow-dot{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--gold);color:var(--gold-d);display:grid;place-items:center;font-weight:600;font-size:.85rem;transition:.25s}
.flow-map a:hover .flow-dot,.flow-map a.is-on .flow-dot{background:var(--gold);color:#fff}
.flow-map a.is-on{color:var(--ink);font-weight:600}
.method .phase{scroll-margin-top:150px}
.phase-img{display:block;width:100%;max-width:360px;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);margin-bottom:1.4rem;box-shadow:0 18px 40px -26px rgba(11,31,58,.55)}
.method .steps{position:relative}
.method .steps::before{content:"";position:absolute;left:calc(1.4rem + 22px);top:1.5rem;bottom:1.5rem;width:2px;background:linear-gradient(var(--gold),rgba(47,116,192,.15))}
.method .steps li{position:relative}
.method .step-n{position:relative;z-index:1}
@media(max-width:860px){.flow-map{top:64px}.flow-label{font-size:.75rem}.phase-img{max-width:none}}
.method .phase-head{top:170px}
.hero-full{position:relative;min-height:calc(100vh - 80px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;isolation:isolate;text-align:center;color:#fff}
.hero-full>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;z-index:-2}
.hero-full::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,20,40,.15) 30%,rgba(10,20,40,.75))}
.hero-full-text{padding:0 1.5rem clamp(3rem,9vh,6rem)}
.hero-full h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,7vw,6rem);line-height:1.1;margin:0}
.hero-full h1 span{background:rgba(20,30,50,.55);padding:.05em .35em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero-full-sub{font-size:clamp(1.1rem,2.2vw,1.6rem);margin:1.2rem 0 0;color:#fff}
.hero-full-sub em{color:#f2b36b}
.hero-full .hero-actions{justify-content:center}
.hero-full{background:#0d1a30;justify-content:flex-start;align-items:center;text-align:left}
.hero-full>img{left:auto;right:0;width:58%;object-position:center 15%}
.hero-full::before{background:linear-gradient(90deg,#0d1a30 40%,rgba(13,26,48,.85) 50%,rgba(13,26,48,0) 75%)}
.hero-full-text{padding:0 0 0 max(1.5rem,calc((100vw - 1200px)/2));max-width:760px}
.hero-full .hero-actions{justify-content:flex-start}
@media(max-width:820px){.hero-full{align-items:flex-end;text-align:center}.hero-full>img{width:100%}.hero-full::before{background:linear-gradient(180deg,rgba(13,26,48,0) 35%,#0d1a30 80%)}.hero-full-text{padding:0 1.5rem 3rem}.hero-full .hero-actions{justify-content:center}}
.hero-full h1 span{background:none;padding:0}
.hero-full .btn:not(.btn-light){background:#e8892b;border-color:#e8892b;color:#fff}
@media (min-width:961px){
.office-hero{display:flex;justify-content:flex-end;align-items:center;min-height:560px;padding:2.5rem 2rem}
.office-hero>img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.office-card{position:relative;right:auto;top:auto;transform:none}
}
.office-hero>img,.office .gallery img{cursor:zoom-in}
/* hero text keeps its width on very wide screens */
.hero-full-text{box-sizing:content-box;max-width:760px}
/* office card: bigger text */
@media (min-width:961px){
.office-hero{min-height:620px;padding:3rem}
.office-card{max-width:540px;padding:2.8rem 3rem}
.office-card h2{font-size:clamp(2.2rem,3.2vw,3rem);line-height:1.1}
.office-card p{font-size:1.15rem;line-height:1.6}
.office-card .eyebrow{font-size:.95rem}
.office-card .hours{font-size:1.15rem}
}
/* cookie consent */
.cookie-bar{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1000;display:flex;justify-content:center;opacity:0;transform:translateY(20px);pointer-events:none;transition:.3s}
.cookie-bar.open{opacity:1;transform:none;pointer-events:auto}
.cookie-box{background:#fff;color:#1b2533;max-width:760px;width:100%;padding:1.5rem 1.75rem;border-radius:var(--r);box-shadow:0 18px 50px rgba(7,22,41,.28);border-top:4px solid var(--navy)}
.cookie-box p{margin:0 0 .6rem;font-size:.95rem;line-height:1.55;color:#3a4553}
.cookie-box .cookie-title{font-weight:600;font-size:1.05rem;color:var(--navy)}
.cookie-box a{color:var(--navy);text-decoration:underline}
.cookie-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}
.cookie-actions .btn{min-width:130px}
.btn-ghost-dark{background:transparent!important;color:var(--navy)!important;border:1px solid var(--navy)!important}
.map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;padding:2rem;background:#eef2f7;color:#1b2533;border-radius:var(--r);min-height:260px}
.map-consent+iframe[data-src]{display:none}
@media (max-width:600px){.cookie-actions .btn{flex:1}}
/* menu: items grow on hover */
.nav a:not(.btn){display:inline-block;transition:transform .2s ease,color .2s ease;transform-origin:center bottom}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s ease}
.nav a[aria-current]:not(.btn)::after,.nav a:not(.btn):hover::after{transform:scaleX(1)}
@media (hover:hover){.nav a:not(.btn):hover{transform:scale(1.15);color:var(--ink)}.nav .btn{transition:transform .2s ease,background .2s}.nav .btn:hover{transform:scale(1.06)}}
#richiedi-consulenza{scroll-margin-top:76px}
/* social: brand colour + lift on hover */
.social a{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.social a:hover,.site-footer .social a:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(11,31,58,.25);color:#fff!important}
.social a[aria-label=Facebook]:hover,.site-footer .social a[aria-label=Facebook]:hover{background:#1877f2;border-color:#1877f2}
.social a[aria-label=Instagram]:hover,.site-footer .social a[aria-label=Instagram]:hover{background:linear-gradient(45deg,#f9a825,#e1306c 50%,#833ab4);border-color:#e1306c}
.social a[aria-label=LinkedIn]:hover,.site-footer .social a[aria-label=LinkedIn]:hover{background:#0a66c2;border-color:#0a66c2}
.social a[aria-label=TikTok]:hover,.site-footer .social a[aria-label=TikTok]:hover{background:#111;border-color:#ff0050;box-shadow:-3px 0 0 #25f4ee inset,0 10px 22px rgba(11,31,58,.25)}
.office-page-hero>img.hero-faces{object-position:50% 18%}
.office-page-hero.hero-tall{min-height:clamp(440px,50vw,740px);display:flex;flex-direction:column;justify-content:flex-end}
.stats{padding:clamp(4.5rem,9vw,7.5rem) 0;background-position:center 55%}
/* Ufficio: foto dell'esterno più grande, con l'insegna visibile */
.office-page-hero.hero-office{min-height:clamp(480px,48vw,700px)}
/* Articoli in stile rivista: foto larga, colonna laterale con le altre news, Stampa */
.post .post-wrap{max-width:1180px}
.post-head{max-width:900px}
.post-head h1{margin:.3rem 0 .8rem}
.post-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.88rem;color:var(--muted);margin:0}
.post-meta span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin-right:1.4rem;vertical-align:middle;position:relative;top:-1px}
.post .post-cover{max-height:440px;aspect-ratio:21/8;margin:1.8rem 0 2.6rem}
.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3.5rem;align-items:start}
.post-main .post-intro p{font-size:1.12rem}
@media(min-width:900px){.post-main .post-body p{text-align:justify;hyphens:auto}}
.post-side{position:sticky;top:96px;display:grid;gap:1.4rem}
.side-box{border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.3rem;background:var(--paper)}
.side-box h3{font-family:var(--sans);font-size:1.05rem;font-weight:700;margin:0 0 .6rem;color:var(--ink)}
.side-list{list-style:none;margin:0;padding:0;max-height:min(58vh,560px);overflow:auto}
.side-list li+li{border-top:1px solid var(--line)}
.side-list a{display:block;padding:.85rem 0;text-decoration:none;color:var(--ink)}
.side-list strong{display:block;font-size:.92rem;line-height:1.35;font-weight:600}
.side-list a:hover strong{color:var(--gold-d)}
.side-date{display:block;font-size:.76rem;color:var(--gold-d);margin:.3rem 0 .2rem}
.side-ex{display:block;font-size:.8rem;line-height:1.45;color:var(--muted)}
.side-cta{background:var(--navy);color:#fff;border-radius:var(--r);padding:1.6rem 1.4rem}
.side-cta .eyebrow{color:#9fc4ec;margin-bottom:.5rem}
.side-cta h3{font-family:var(--sans);font-size:1.25rem;margin:0 0 .5rem;color:#fff}
.side-cta p{font-size:.9rem;color:rgba(255,255,255,.8);margin:0 0 1.1rem}
.post-foot{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem}
.share .sh-print{display:inline-flex;align-items:center;gap:.4em;background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0}
.share .sh-print svg{width:1.05em;height:1.05em;fill:currentColor}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.2rem}
.post-nav a{text-decoration:none;color:var(--ink);font-size:.9rem;line-height:1.4;font-weight:600}
.post-nav small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-d);font-weight:600;margin-bottom:.3rem}
.post-nav .pn-next{text-align:right}
.post-nav a:hover{color:var(--gold-d)}
@media(max-width:900px){.post-grid{grid-template-columns:1fr;gap:2.5rem}.post-side{position:static}.side-list{max-height:none}.post .post-cover{aspect-ratio:16/10}}
@media print{
  header,footer,.post-side,.post-nav,.share,.post-back,.cookie,#cookie,[class*=cookie],.wa-float,.whatsapp-float{display:none!important}
  body,.post{background:#fff!important}
  .post{padding:0}.post-grid{display:block}.post .post-cover{max-height:300px}
  .post-main .post-body p{text-align:justify}
  a{color:inherit;text-decoration:none}
}
/* Riquadro promozionale: consulenza gratuita */
.promo{position:fixed;inset:0;z-index:1000;background:rgba(11,31,58,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1.2rem;opacity:0;transition:opacity .35s}
.promo.on{opacity:1}
.promo-box{position:relative;background:#fff;border-radius:18px;overflow:hidden;width:min(860px,100%);display:grid;grid-template-columns:1fr 1.1fr;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(18px) scale(.98);transition:transform .35s}
.promo.on .promo-box{transform:none}
.promo-img{position:relative;min-height:100%}
.promo-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.promo-img span{position:absolute;left:1rem;bottom:1rem;color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;background:rgba(11,31,58,.55);padding:.4em .8em;border-radius:999px}
.promo-txt{padding:2.6rem 2.4rem 2.4rem}
.promo-eye{font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-d);font-weight:600;margin:0 0 .8rem}
.promo-txt h2{font-family:var(--sans);font-weight:700;letter-spacing:-.02em;font-size:1.6rem;line-height:1.2;margin:0 0 .7rem;color:var(--ink)}
.promo-sub{color:var(--gold-d);font-weight:500;margin:0 0 .9rem;font-size:.98rem}
.promo-txt p{font-size:.92rem;color:var(--ink-2);margin:0 0 1rem}
.promo-txt .promo-hl{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--ink);border-top:1px solid var(--line);padding-top:1rem;margin:1.2rem 0}
.promo-x{position:absolute;top:.7rem;right:.8rem;z-index:2;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink)}
@media(max-width:720px){.promo-box{grid-template-columns:1fr;max-height:92vh;overflow:auto}.promo-img{height:190px}.promo-txt{padding:1.6rem 1.4rem}.promo-txt h2{font-size:1.3rem}}
@media print{.promo{display:none!important}}

/* footer bottom like weplaza */
.footer-grid{grid-template-columns:1.5fr 1fr 1fr}
.footer-bottom{align-items:center}
.footer-legal p{margin:0 0 .35em}
.footer-legal a{margin-right:1.2rem;color:#c9cbd0}
.footer-social .social{flex-direction:row;flex-wrap:wrap;gap:.4rem}
.site-footer .footer-social .social a{border-color:transparent;padding:.4em .8em;font-size:.82rem}
.footer-social .social svg{width:15px;height:15px}
@media(max-width:720px){.footer-bottom{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}}

/* Luce e Gas, schema FCPower */
.service.lg{padding-top:0}
.lg-hero img{width:100%;height:clamp(240px,38vw,520px);object-fit:cover;display:block}
.lg-intro{text-align:center;max-width:820px;margin:3rem auto 0}
.lg-intro h2{text-transform:uppercase;color:var(--gold);letter-spacing:.02em}
.lg-block{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:3rem}
.lg-title{text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.3rem,2.4vw,1.8rem);margin:0 0 2.5rem;color:var(--ink)}
.lg-sol{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;text-align:center}
.lg-sol svg{color:var(--gold);margin-bottom:.8rem}
.lg-sol h4,.lg-cards h4{text-transform:uppercase;letter-spacing:.06em;margin:.2rem 0 .6rem;color:var(--ink)}
.lg-sol p,.lg-cards p{color:var(--muted);font-size:.95rem;margin:0}
.lg-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.lg-cards img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:1rem;transition:transform .3s}
.lg-cards div:hover img{transform:translateY(-4px)}
.lg-cards h4{text-align:center}
@media(max-width:860px){.lg-sol{grid-template-columns:1fr}.lg-cards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.lg-cards{grid-template-columns:1fr}}

.svc-hero{position:relative;overflow:hidden;background:#e9ecef;min-height:clamp(380px,40vw,560px);display:flex;align-items:center}
.svc-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0}
.svc-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,247,251,.95) 0%,rgba(244,247,251,.8) 40%,rgba(244,247,251,0) 70%);z-index:1}
.svc-hero .wrap{position:relative;z-index:2;width:100%}
.svc-hero h1,.svc-hero .lead{max-width:22ch}.svc-hero .lead{max-width:40ch}
@media(max-width:760px){.svc-hero::before{background:rgba(244,247,251,.82)}}

.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.2rem;margin-top:2rem}
.pcard{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.6rem 1.5rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.pcard:hover,.pcard:focus-visible{transform:translateY(-6px) scale(1.02);box-shadow:0 22px 44px -18px rgba(11,31,58,.28);border-color:#b9cfe8}
.pcard:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pcard-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#eaf2fb;color:var(--gold-d);margin-bottom:1.1rem;transition:background .35s,color .35s}
.pcard:hover .pcard-icon{background:var(--navy);color:#fff}
.pcard h3{font-family:var(--serif);font-size:1.45rem;font-weight:600;line-height:1.2;margin:0 0 .45em;color:var(--ink)}
.pcard-short{color:var(--ink-2);font-size:.95rem;margin:0 0 1.2rem;flex:1}
.pcard-more{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-d)}
.pcard-more span{display:inline-block;transition:transform .3s}.pcard:hover .pcard-more span{transform:translateX(5px)}
.pdialog{border:0;border-radius:18px;padding:2.6rem 2.4rem 2.2rem;max-width:560px;width:calc(100% - 2rem);box-shadow:0 30px 80px -20px rgba(11,31,58,.45);color:var(--ink)}
.pdialog::backdrop{background:rgba(7,22,41,.55);backdrop-filter:blur(3px)}
.pdialog[open]{animation:pin .3s cubic-bezier(.2,.7,.2,1)}@keyframes pin{from{opacity:0;transform:translateY(16px) scale(.97)}}
.pdialog h3{font-family:var(--serif);font-size:2rem;font-weight:600;margin:0 0 .5em;line-height:1.15}
.pdialog-body p{color:var(--ink-2);margin:0 0 1.6rem}.pdialog-body strong{color:var(--ink)}
.pdialog-close{position:absolute;top:.9rem;right:1rem;background:none;border:0;font-size:1.9rem;line-height:1;color:var(--muted);cursor:pointer}
.pdialog-close:hover{color:var(--ink)}
.pcard{border:1.5px solid var(--gold-d);border-top:5px solid var(--navy);background:linear-gradient(180deg,#fff 0%,#f1f6fc 100%)}
.pcard:hover,.pcard:focus-visible{border-color:var(--navy);box-shadow:0 22px 44px -16px rgba(11,31,58,.38)}
.lg-banner{display:block;width:100%;height:340px;object-fit:cover;border-radius:18px;margin:0 0 44px;box-shadow:0 20px 40px -20px rgba(11,31,58,.4)}
@media(max-width:700px){.lg-banner{height:200px;margin-bottom:28px}}
/* social nelle pagine: in fila come nel fondo del sito, colori al passaggio */
.social{flex-direction:row;flex-wrap:wrap;gap:.4rem}
.social a{padding:.4em .8em;font-size:.82rem}
.social svg{width:15px;height:15px}
