/* servizi */
.sv-head{position:relative;overflow:hidden;background:var(--o50);padding:clamp(128px,10vw,144px) 0 clamp(48px,6vw,80px)}
.sv-head .ghost{top:clamp(64px,6.7vw,96px);left:0;text-transform:uppercase;font-size:clamp(2.4rem,8.5vw,8rem);color:rgba(11,20,24,.08)}
.sv-head h1{position:relative;max-width:760px;font-size:clamp(2rem,4.7vw,4.2rem);line-height:1.05;letter-spacing:-.02em;color:var(--g900)}
.sv-head h1 span{display:block}
.sv-head h1 .gold{color:var(--o700)}
.sv-head .lead{position:relative;margin-top:24px;max-width:680px;font-family:var(--serif);font-size:clamp(1.05rem,1.4vw,1.15rem);line-height:1.6;color:var(--ink)}
.sv-list{background:linear-gradient(var(--o50),#f3ede4);padding:clamp(56px,7vw,112px) 0 clamp(64px,8vw,120px)}
.svc-group+.svc-group{margin-top:clamp(64px,8vw,112px)}
.svc-ghead{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(224,210,192,.5)}
.svc-ghead h2{font-size:clamp(1.6rem,3.8vw,3.4rem);letter-spacing:-.015em;color:var(--g900)}
.svc-ghead p{margin-top:8px;font-size:clamp(.95rem,1.2vw,1.05rem);color:#5b666b}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{position:relative;height:560px;border-radius:16px;overflow:hidden;background:#031d23;border:1px solid rgba(255,255,255,.06);display:flex;align-items:flex-end;cursor:pointer;isolation:isolate}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.12);transition:transform .7s var(--expo)}
.svc-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(3,29,35,.18),rgba(3,29,35,.04) 38%,rgba(3,29,35,.55) 62%,rgba(3,29,35,.93)),linear-gradient(120deg,rgba(184,152,112,.12),transparent 60%)}
.svc:hover img{transform:scale(1.18)}
.svc-body{padding:28px;color:var(--paper);transition:transform .7s var(--expo)}
.svc:hover .svc-body{transform:translateY(-6px)}
.svc h3{font-size:clamp(1.7rem,2.5vw,2.25rem);line-height:1.1;color:var(--paper)}
.svc p{margin-top:10px;font-size:15.5px;line-height:1.5;font-style:italic;color:rgba(255,253,248,.65)}
.svc-open{margin-top:18px;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#d8c5aa}
.svc-open svg{transition:transform .4s var(--ease)}
.svc:hover .svc-open svg{transform:translateX(4px)}
.svc-open:focus-visible{outline:2px solid var(--o300);outline-offset:4px}
@media (max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr;gap:20px}.svc{height:430px}}

/* scheda tecnica (drawer) */
.dr{position:fixed;inset:0;z-index:90}
.dr-bg{position:absolute;inset:0;background:rgba(5,29,34,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .16s ease-out}
.dr-panel{position:absolute;top:0;right:0;bottom:0;width:min(750px,100%);background:var(--paper);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .36s cubic-bezier(.3,.7,.3,1);box-shadow:-20px 0 60px rgba(5,29,34,.25)}
.dr.on .dr-bg{opacity:1;transition:opacity .3s ease-out}.dr.on .dr-panel{transform:none;transition:transform .5s var(--expo)}
.dr-scroll{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.dr-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 40px;background:rgba(251,250,247,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,177,145,.3)}
.dr-lab,.dr-k{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--g700)}
.dr-lab span,.dr-k span{display:block;width:32px;height:1px;background:var(--o400)}
.dr-x{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--g800);color:var(--paper);transition:background .3s,transform .4s var(--ease)}
.dr-x:hover{background:var(--g600);transform:rotate(90deg)}
.dr-hero{position:relative;overflow:hidden;background:var(--g800);color:var(--paper);padding:64px 40px 72px}
.dr-wm{position:absolute;right:30px;top:50%;width:300px;transform:translateY(-50%);opacity:.18;filter:brightness(0) invert(1);pointer-events:none}
.dr-hin{position:relative;max-width:520px}
.dr-eye{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--o300)}
.dr-hero h2{margin-top:20px;font-size:clamp(2.2rem,5vw,3rem);line-height:1.05;letter-spacing:-.015em;color:var(--paper)}
.dr-hero h2 span{display:block}.dr-hero h2 .gold{color:var(--o300)}
.dr-rule{display:block;margin-top:28px;width:64px;height:1px;background:rgba(201,177,145,.7)}
.dr-hero p:last-child{margin-top:24px;font-size:1.05rem;line-height:1.65;color:rgba(251,250,247,.85)}
.dr-img{position:relative;aspect-ratio:16/10;background:var(--g900);overflow:hidden}
.dr-img img{width:100%;height:100%;object-fit:cover}
.dr-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,29,34,.4),transparent 50%)}
.dr-main{padding:64px 40px 56px}
.dr-main>section{margin-bottom:64px}.dr-main>section:last-child{margin-bottom:16px}
.dr-main h3{font-size:clamp(1.6rem,3vw,1.85rem);line-height:1.15;color:var(--g800)}
.dr-box{margin-top:20px;border-left:2px solid var(--o400);background:rgba(248,245,241,.6);border-radius:6px;padding:20px}
.dr-box p{font-size:1.05rem;line-height:1.7;color:var(--ink)}
.dr-note{margin-top:20px;font-size:.95rem;line-height:1.7;color:#5b666b}
.dr-k{margin-bottom:28px;color:var(--o700)}
.dr-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dr-list li{position:relative;padding-left:20px;font-size:1rem;line-height:1.65;color:var(--ink)}
.dr-list li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--o500)}
.dr-adv{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dr-adv article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;padding:24px;background:#fff;transition:border-color .3s,transform .4s var(--ease)}
.dr-adv article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--o400);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.dr-adv article:hover{border-color:var(--o200)}.dr-adv article:hover::before{transform:scaleY(1)}
.dr-ico{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:var(--o50);color:var(--o700)}
.dr-adv h4{margin-top:16px;font-size:1.15rem;line-height:1.2;color:var(--g800)}
.dr-adv p{margin-top:8px;font-size:.95rem;line-height:1.6;color:#5b666b}
.dr-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:24px}
.dr-steps::before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--o400),transparent)}
.dr-steps li{position:relative;display:flex;align-items:flex-start;gap:16px}
.dr-steps li>span{position:relative;z-index:1;flex:none;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--o400);font-family:var(--serif);font-size:15px;color:var(--o700)}
.dr-steps div{padding-top:4px}
.dr-st{font-family:var(--serif);font-size:1.1rem;line-height:1.2;color:var(--g800)}
.dr-steps div p+p{margin-top:6px;font-size:.95rem;line-height:1.6;color:#5b666b}
.dr-faq{max-width:none;border-top:1px solid var(--line)}
.dr-faq .faq-q{font-size:1.1rem;color:var(--g800);min-height:44px}
.dr-foot{flex:none;padding:14px 40px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:rgba(251,250,247,.95)}
@media (max-width:640px){
 .dr-top{padding:16px 24px}.dr-hero{padding:48px 24px 56px}.dr-main{padding:48px 24px 40px}.dr-foot{padding-inline:24px}
 .dr-wm{width:200px;right:-20px}.dr-adv{grid-template-columns:1fr;gap:16px}.dr-main>section{margin-bottom:48px}
}
/* motion misurato sul riferimento: expo-out 0.8s, y 20 testata / 50 card, stagger 0.1s */
.sv-head,.sv-list,.dr{--expo:cubic-bezier(.16,1,.3,1)}
.sv-head .rv,.svc-ghead.rv{transform:translateY(20px);transition:opacity .8s var(--expo),transform .8s var(--expo)}
.sv-head h1 .rv{display:block}
.svc.rv{transform:perspective(1200px) translateY(50px);transition:opacity .8s var(--expo),transform .8s var(--expo),box-shadow .6s var(--ease)}
.svc.rv.d1{transition-delay:0s}.svc.rv.d2{transition-delay:.1s}.svc.rv.d3{transition-delay:.2s}
.sv-head .rv.in,.svc-ghead.rv.in{transform:none}
.svc.rv.in{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.svc:hover{box-shadow:inset 0 0 60px rgba(184,152,112,.05),0 24px 60px -30px rgba(3,29,35,.45)}
@media (prefers-reduced-motion:reduce){.dr-bg,.dr-panel,.dr.on .dr-bg,.dr.on .dr-panel,.svc img,.svc-body,.svc.rv{transition:none}.svc.rv,.sv-head .rv,.svc-ghead.rv{transform:none}.svc:hover img{transform:scale(1.12)}.svc:hover .svc-body{transform:none}}
