:root{--bg:#FAF7F2;--card:#fff;--ink:#1F1A17;--muted:#7a6f66;--line:#e9e1d6;--ok:#2f7d4f;--warn:#b5532f;--r:14px}
@media (prefers-color-scheme:dark){:root{--bg:#141110;--card:#1e1a18;--ink:#f3ede6;--muted:#a99d92;--line:#332c28}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,3.8rem)}h2{font-size:2rem}h3{font-size:1.3rem}
a{color:inherit}img{max-width:100%;display:block}
.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:600;text-decoration:none;letter-spacing:.02em}.logo img{height:46px;width:auto}
.top nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.top nav a{text-decoration:none;font-size:.95rem}
@media(max-width:640px){.top nav a:not(.btn){display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border-radius:999px;background:var(--brand);color:#fff;border:0;text-decoration:none;font:500 .95rem Inter,sans-serif;cursor:pointer;min-height:44px}
.btn:hover{filter:brightness(1.15)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.accent{background:var(--accent);color:#1F1A17}.btn.small{padding:8px 16px;min-height:36px;font-size:.85rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero{background:linear-gradient(160deg,var(--brand),color-mix(in srgb,var(--brand) 70%,var(--accent)));color:#fff;padding:96px 20px 88px}
.hero-in{max-width:880px;margin:0 auto}.hero .btn{background:var(--accent);color:#1F1A17}.hero .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;opacity:.8}.lead{font-size:1.15rem;max-width:620px;opacity:.9;margin-bottom:28px}
.band{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:1080px;margin:-40px auto 0;padding:0 16px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}.feat p{color:var(--muted);margin:0}
.wrap{max-width:1080px;margin:0 auto;padding:56px 16px}
.cat{margin-bottom:28px}.cat h3{border-bottom:1px solid var(--line);padding-bottom:6px}
.svc{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}.svc small{display:block;color:var(--muted)}.svc span{white-space:nowrap;font-weight:500}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;overflow:hidden}
.card>img:first-child{margin:-18px -18px 14px;width:calc(100% + 36px);height:180px;object-fit:cover}
.center{text-align:center}.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 10px}
.muted{color:var(--muted)}.small{font-size:.85rem}
.cta{text-align:center;padding:64px 16px;background:var(--card);border-top:1px solid var(--line)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:28px 20px 40px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line)}
.app{max-width:760px;margin:0 auto;padding:20px 16px 90px}
.steps{display:flex;gap:6px;margin-bottom:18px}.steps i{flex:1;height:4px;border-radius:4px;background:var(--line)}.steps i.on{background:var(--accent)}
.opt{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:8px;cursor:pointer;color:var(--ink);font:inherit}
.opt.sel{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}
.opt small{display:block;color:var(--muted)}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:var(--ink);min-width:72px}
.chip.sel{background:var(--brand);color:#fff;border-color:var(--brand)}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px}.days .chip{text-align:center;line-height:1.2}
label{display:block;font-size:.85rem;color:var(--muted);margin:10px 0 4px}
input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}
.check{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:.9rem}.check input{width:auto;margin-top:4px}
.sum{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:20}
.note{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 15%,var(--card));font-size:.9rem;margin:10px 0}
.note.err{background:color-mix(in srgb,var(--warn) 15%,var(--card))}.note.ok{background:color-mix(in srgb,var(--ok) 15%,var(--card))}
.tabs{display:flex;gap:4px;position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:20}
.tabs button{flex:1;background:none;border:0;padding:8px 4px;font:500 .78rem Inter,sans-serif;color:var(--muted);cursor:pointer;border-radius:10px}.tabs button.on{color:var(--ink);background:var(--bg)}
.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.kpi div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}.kpi b{display:block;font-size:1.4rem}
.item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px}
.item .h{display:flex;justify-content:space-between;gap:8px}.badge{font-size:.72rem;padding:3px 8px;border-radius:999px;background:var(--line);white-space:nowrap}
.badge.Confermato,.badge.Completato{background:color-mix(in srgb,var(--ok) 20%,transparent)}.badge.Annullato,.badge.No-show{background:color-mix(in srgb,var(--warn) 20%,transparent)}
.legal{max-width:820px;margin:0 auto;padding:40px 16px 80px}.legal h2{font-size:1.5rem;margin-top:1.6em}.legal table{width:100%;border-collapse:collapse;font-size:.9rem}.legal td,.legal th{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.hidden{display:none!important}
/* home */
body{--ivory:#F6F1EA;--hair:color-mix(in srgb,var(--ink) 14%,transparent);background:var(--ivory)}
@media (prefers-color-scheme:dark){body{--ivory:var(--bg)}}
body .top{padding:22px clamp(20px,4vw,56px);background:color-mix(in srgb,var(--brand) 92%,transparent);color:#efe8df;border-bottom:1px solid rgba(255,255,255,.07)}
body .logo{font-weight:400;font-size:1.45rem;letter-spacing:.08em}
body .top nav{gap:32px}
body .top nav a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.82;transition:opacity .3s}
body .top nav a:hover{opacity:1}
body .top .btn{background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);border-radius:0;opacity:1}
body .top .btn:hover{background:var(--accent);color:#1F1A17;filter:none}
body h1,body h2,body h3{font-weight:300;letter-spacing:-.005em}
h1 em,h2 em{font-style:italic;color:var(--accent);font-weight:300}
.h-wrap{max-width:1180px;margin:0 auto;padding:140px clamp(20px,4vw,56px)}
.h-kicker{display:flex;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.32em;font-size:.68rem;color:color-mix(in srgb,var(--accent) 85%,var(--ink));font-weight:500;margin:0 0 22px}
.h-kicker::before{content:"";width:32px;height:1px;background:currentColor;opacity:.6}
.h-head{margin-bottom:72px}.h-head h2{font-size:clamp(2.3rem,4.4vw,3.6rem);line-height:1.08;margin:0}
.h-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.h-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s cubic-bezier(.2,.7,.2,1)}
.h-link:hover{background-size:30% 1px}
.h-link span{transition:transform .4s}.h-link:hover span{transform:translateX(4px)}.h-link.small{font-size:.66rem}
.btn{transition:background .35s,color .35s,border-color .35s}
.btn.h-gold{background:var(--accent);color:#1F1A17;border:1px solid var(--accent);border-radius:0;padding:17px 34px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.btn.h-gold:hover{background:transparent;color:var(--accent);filter:none}
.h-hero{background:var(--brand);color:#efe8df}
.h-hero-in{max-width:1180px;margin:0 auto;padding:clamp(80px,12vw,150px) clamp(20px,4vw,56px) 110px;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(48px,8vw,120px);align-items:center}
.h-eyebrow{display:flex;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.34em;font-size:.68rem;color:var(--accent);margin:0 0 40px}
.h-eyebrow span{width:40px;height:1px;background:var(--accent);opacity:.7}
.h-hero h1{font-size:clamp(3.2rem,7.4vw,6.2rem);line-height:.98;letter-spacing:-.01em;margin:0 0 36px}
.h-lead{font-size:1.02rem;font-weight:300;line-height:1.85;max-width:440px;color:rgba(239,232,223,.68);margin:0 0 52px}
.h-hero .row{gap:36px}.h-hero .h-link{color:#efe8df}
.h-visual{position:relative;justify-self:end;width:100%;max-width:400px}
.h-arch{border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:3/4.3;outline:1px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:16px}
.h-arch img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);animation:h-kb 40s ease-in-out infinite alternate}
@keyframes h-kb{from{transform:scale(1.02)}to{transform:scale(1.08)}}
.h-load>*{animation:h-up 1.4s cubic-bezier(.2,.7,.2,1) both}.h-load>*:nth-child(2){animation-delay:.15s}.h-load>*:nth-child(3){animation-delay:.3s}.h-load>*:nth-child(4){animation-delay:.45s}
.h-visual{animation:h-fade 2s .2s cubic-bezier(.2,.7,.2,1) both}
@keyframes h-up{from{opacity:0;transform:translateY(16px)}}@keyframes h-fade{from{opacity:0}}
.js .rv{opacity:0;transform:translateY(20px);transition:opacity 1.3s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1.3s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.h-stats{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,56px);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.09)}
.h-stats div{padding:34px 24px 40px 0;display:flex;align-items:baseline;gap:16px}
.h-stats div+div{padding-left:32px;border-left:1px solid rgba(255,255,255,.09)}
.h-stats strong{font-family:"Cormorant Garamond",serif;font-size:2.4rem;font-weight:300;color:var(--accent);line-height:1}
.h-stats span{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,232,223,.55)}
.h-marquee{overflow:hidden;white-space:nowrap;padding:26px 0;border-bottom:1px solid var(--hair);color:color-mix(in srgb,var(--ink) 55%,transparent)}
.h-marquee>div{display:inline-flex;align-items:center;gap:48px;animation:h-mq 90s linear infinite;padding-left:48px}
.h-marquee span{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:300;font-size:1.5rem;line-height:1}
.h-marquee i{font-style:normal;width:4px;height:4px;border-radius:50%;background:var(--accent);font-size:0}
@keyframes h-mq{to{transform:translateX(-50%)}}
.h-why{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(56px,9vw,130px);align-items:start}
.h-collage{position:relative;margin-top:64px;height:540px}
.h-collage figure{position:absolute;margin:0;overflow:hidden}
.h-collage figure:first-child{left:0;top:0;width:64%;height:82%;border-radius:999px 999px 0 0}
.h-collage figure:last-child{right:0;bottom:0;width:44%;height:52%;outline:10px solid var(--ivory)}
.h-collage img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);filter:saturate(.85)}
.h-collage figure:first-child img{transition:transform 2s cubic-bezier(.2,.7,.2,1)}.h-collage figure:first-child:hover img{transform:scale(1.12)}
.h-feats{list-style:none;margin:0;padding:0}
.h-feats li{display:grid;grid-template-columns:64px 1fr;column-gap:24px;padding:44px 0;border-top:1px solid var(--hair)}.h-feats li:last-child{border-bottom:1px solid var(--hair)}
.h-feats span{grid-row:span 2;font-size:.68rem;letter-spacing:.24em;color:var(--accent);padding-top:12px}
.h-feats h3{font-size:1.85rem;margin:0 0 10px}.h-feats p{margin:0;color:var(--muted);font-weight:300;line-height:1.8;max-width:440px}
.h-services{background:var(--bg);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.h-tabs{display:flex;gap:32px;flex-wrap:wrap}
.h-tabs button{font:500 .7rem Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;padding:10px 0;border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);cursor:pointer;min-height:42px;transition:color .3s,border-color .3s}
.h-tabs button:hover{color:var(--ink)}
.h-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}
.h-panel{display:none;grid-template-columns:1fr 1fr;column-gap:96px}.h-panel.on{display:grid;animation:h-in .8s ease}
@keyframes h-in{from{opacity:0}}
.h-svc{display:flex;align-items:baseline;gap:18px;padding:28px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit}
.h-svc-name strong{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:400;transition:color .4s}.h-svc-name small{display:block;color:var(--muted);font-size:.84rem;font-weight:300;margin-top:4px}
.h-svc:hover strong{color:var(--accent)}
.h-svc i{flex:1;min-width:20px}
.h-svc-meta{text-align:right;white-space:nowrap}.h-svc-meta b{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:1.3rem;display:block}.h-svc-meta small{color:var(--muted);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.h-note{margin:48px 0 0;font-size:.82rem;font-weight:300;color:var(--muted);max-width:620px;line-height:1.8}
.h-band{position:relative;height:84vh;min-height:480px;overflow:hidden;display:grid;place-items:center;color:#efe8df;text-align:center}
.h-band-img{position:absolute;inset:-12% 0;background-size:cover;background-position:center;will-change:transform;filter:saturate(.8)}
.h-band::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(20,16,14,.52)}
.h-band blockquote{position:relative;z-index:2;margin:0;padding:0 20px}
.h-band p{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.1;margin:0 auto 48px;max-width:820px}.h-band em{color:var(--accent)}
.h-band .btn.h-gold{background:transparent;color:#efe8df;border-color:rgba(239,232,223,.55)}.h-band .btn.h-gold:hover{background:#efe8df;color:#1F1A17}
.h-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border-top:1px solid var(--hair)}
.h-branch{position:relative;padding:48px 40px 44px 0}
.h-branch+.h-branch{padding-left:40px;border-left:1px solid var(--hair)}
.h-branch img{margin:0 0 32px;width:100%;aspect-ratio:4/5;object-fit:cover}
.h-num{font-size:.68rem;letter-spacing:.24em;color:var(--accent)}
.h-branch h3{font-size:2rem;margin:14px 0 8px}.h-addr{color:var(--muted);font-weight:300;margin:0 0 32px}
.h-hours{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 36px;padding:22px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:.86rem;font-weight:300}
.h-hours dt{font-weight:400}.h-hours dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.h-hours dd.closed{color:var(--muted)}
.h-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.h-actions .btn{background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;padding:10px 20px}
.h-actions .btn:hover{background:var(--ink);color:var(--ivory);filter:none}
.h-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:40px}
.h-team figure{margin:0}.h-team img{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:18px;filter:saturate(.85)}
.h-team strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:400}.h-team span{color:var(--muted);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}.h-team p{font-size:.9rem;font-weight:300}
.h-app{background:var(--brand);color:#efe8df;overflow:hidden}
.h-app-in{max-width:1180px;margin:0 auto;padding:140px clamp(20px,4vw,56px) 0;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}
.h-app-in>div:first-child{padding-bottom:140px}
.h-app h2{font-size:clamp(2.4rem,4.6vw,3.6rem)}
.h-checks{list-style:none;padding:0;margin:0 0 52px}.h-checks li{padding:18px 0 18px 36px;position:relative;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(239,232,223,.72);font-weight:300}
.h-checks li::before{content:"";position:absolute;left:0;top:29px;width:16px;height:1px;background:var(--accent)}
.h-app .row{gap:36px}.h-link.light{color:#efe8df}
.h-phone{justify-self:center;width:280px;height:430px;border-radius:44px 44px 0 0;border:1px solid rgba(239,232,223,.18);border-bottom:0;padding:12px 12px 0}
.h-screen{height:100%;border-radius:34px 34px 0 0;background:#F6F1EA;color:#1F1A17;padding:34px 18px 0;overflow:hidden}
.h-ph-top{font-family:"Cormorant Garamond",serif;font-size:1.05rem;letter-spacing:.08em;text-align:center;margin:0 0 20px}
.h-ph-hi{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:1.8rem;margin:0 0 14px}
.h-ph-card{background:#1F1A17;color:#efe8df;padding:14px 16px;margin-bottom:8px}
.h-ph-card small{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}.h-ph-card strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:400;margin:4px 0 2px}.h-ph-card span{font-size:.72rem;opacity:.7}
.h-ph-card.soft{background:transparent;color:#1F1A17;border:1px solid rgba(31,26,23,.12)}.h-ph-card.soft small{color:#8a6a3c}
.h-ph-btn{border:1px solid #1F1A17;text-align:center;padding:10px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;margin-top:14px}
@media (prefers-reduced-motion:reduce){.h-arch img,.h-marquee>div,.h-load>*,.h-visual,.h-panel.on{animation:none}.js .rv{opacity:1;transform:none;transition:none}}
@media (max-width:860px){
  body .top{padding:16px 20px}
  .h-hero-in{grid-template-columns:1fr;padding:64px 24px 64px;gap:64px}
  .h-hero h1{font-size:clamp(3rem,13vw,4.4rem)}
  .h-visual{justify-self:center;max-width:300px;width:78%}
  .h-wrap{padding:96px 24px}
  .h-collage{height:420px;margin-top:40px}.h-why{grid-template-columns:1fr;gap:0}.h-why .h-feats{margin-top:56px}
  .h-band{height:66vh;min-height:400px}
  .h-stats{grid-template-columns:1fr;padding:0 24px}.h-stats div,.h-stats div+div{padding:20px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.09)}.h-stats div:last-child{border-bottom:0}
  .h-panel{grid-template-columns:1fr}
  .h-tabs{gap:24px;flex-wrap:nowrap;overflow-x:auto;margin:0 -24px;padding:0 24px;scrollbar-width:none;width:calc(100% + 48px)}.h-tabs button{flex:none}
  .h-branch,.h-branch+.h-branch{padding:44px 0;border-left:0}.h-branch+.h-branch{border-top:1px solid var(--hair)}
  .h-app-in{grid-template-columns:1fr;padding-top:96px}.h-app-in>div:first-child{padding-bottom:0}.h-phone{width:250px;height:330px}
}
/* elegante globale */
.top{gap:24px}.logo{display:flex;align-items:center}
.top .btn{padding:10px 20px;min-height:0;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
.btn{border-radius:0;padding:14px 28px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:1px solid var(--brand)}
.btn:hover{background:transparent;color:var(--brand);filter:none}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--hair)}.btn.ghost:hover{border-color:var(--ink)}
.btn.accent{border-color:var(--accent)}.btn.accent:hover{color:var(--ink)}
.btn.small{padding:9px 16px;min-height:36px;font-size:.66rem}
.app,.legal{padding-top:56px}
.app>h2,.legal h1{font-weight:300;font-size:clamp(2.4rem,6vw,3.4rem);letter-spacing:-.005em;margin-bottom:.6em}
.app h3{font-weight:400;font-size:1.5rem;margin-top:1.2em}
.legal h2{font-weight:400;border-top:1px solid var(--hair);padding-top:1.2em}
.legal table{background:transparent}.legal td,.legal th{border:0;border-bottom:1px solid var(--hair);padding:12px 10px 12px 0}
.legal th{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}
.steps{gap:4px}.steps i{height:1px;border-radius:0;background:var(--hair)}.steps i.on{height:2px;background:var(--accent)}
.opt{border-radius:0;border-color:var(--hair);background:transparent;padding:18px 16px;transition:border-color .25s,background .25s}
.opt:hover{border-color:var(--ink)}
.opt.sel{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.chip{border-radius:0;border-color:var(--hair);background:transparent}.chip.sel{background:var(--brand);border-color:var(--brand);color:#F3ECE2}
label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin:18px 0 6px}
.check{text-transform:none;letter-spacing:0;font-size:.9rem}
input,select,textarea{border-radius:0;border-color:var(--hair);background:transparent}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent)}
.note{border-radius:0;background:transparent;border-left:2px solid var(--accent);padding:12px 16px}
.note.err{background:transparent;border-left-color:var(--warn)}.note.ok{background:transparent;border-left-color:var(--ok)}
.sum,.tabs{background:var(--ivory);border-top-color:var(--hair)}
.tabs button{border-radius:0;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.tabs button.on{background:transparent;box-shadow:inset 0 2px 0 var(--accent)}
.kpi div,.item{border-radius:0;background:transparent;border-color:var(--hair)}
.kpi b{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:1.9rem}
.badge{border-radius:0;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}
.foot{background:var(--brand);color:rgba(239,232,223,.62);border:0;padding:56px clamp(20px,4vw,56px) 48px;align-items:flex-end;gap:28px}
.foot strong{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:1.25rem;color:#efe8df;letter-spacing:.04em}
.foot a{text-decoration:none;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#efe8df;opacity:.75}.foot a:hover{opacity:1}
.foot-logo{height:54px;width:auto;margin-bottom:18px}
/* pacchetti */
.pk-hero{background:var(--brand);color:#efe8df;padding:96px clamp(20px,5vw,72px) 72px}
.pk-hero h1{font-weight:300;font-size:clamp(2.8rem,7vw,5rem);margin:0 0 .3em}.pk-hero p{max-width:620px;color:rgba(239,232,223,.72);font-weight:300;font-size:1.05rem}
.pk-wrap{max-width:1240px;margin:0 auto;padding:72px clamp(20px,4vw,56px) 120px}
.pk-seg{display:flex;gap:36px;border-bottom:1px solid var(--hair);margin-bottom:28px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.pk-seg button{background:none;border:0;padding:0 0 16px;font:500 .72rem Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.pk-seg button.on{color:var(--ink);border-color:var(--accent)}
.pk-grid{display:none;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--hair);border-left:1px solid var(--hair)}.pk-grid.on{display:grid}
.pk{display:flex;flex-direction:column;padding:36px 28px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);position:relative}
.pk.pk-top{background:var(--brand);color:#efe8df}.pk.pk-top .pk-desc,.pk.pk-top .pk-inc li{color:rgba(239,232,223,.7)}
.pk-tag{position:absolute;top:0;right:28px;background:var(--accent);color:#1F1A17;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px}
.pk h3{font-weight:400;font-size:1.7rem;margin:0 0 6px}
.pk-desc{color:var(--muted);font-size:.9rem;font-weight:300;min-height:3em}
.pk-price{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:3rem;line-height:1;margin:22px 0 4px}
.pk-rate{font-size:.82rem;color:var(--accent);margin-bottom:22px}
.pk-inc{list-style:none;padding:0;margin:0 0 28px;flex:1}.pk-inc li{padding:9px 0 9px 24px;position:relative;font-size:.88rem;font-weight:300;border-bottom:1px solid var(--hair)}
.pk.pk-top .pk-inc li{border-color:rgba(255,255,255,.1)}
.pk-inc li::before{content:"";position:absolute;left:0;top:19px;width:12px;height:1px;background:var(--accent)}
.pk .btn{width:100%}.pk.pk-top .btn{background:var(--accent);border-color:var(--accent);color:#1F1A17}.pk.pk-top .btn:hover{background:transparent;color:var(--accent)}
.pk-how{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:88px}
.pk-how span{font-family:"Cormorant Garamond",serif;color:var(--accent);font-size:1.1rem}.pk-how h3{font-weight:400;margin:8px 0}.pk-how p{color:var(--muted);font-weight:300;font-size:.92rem;margin:0}
.pk-form{position:fixed;inset:0;z-index:50;background:rgba(20,17,16,.6);display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:5vh 16px}
.pk-form.on{display:flex}
.pk-form form{background:var(--ivory);max-width:560px;width:100%;padding:40px 32px}
.pk-form h3{font-weight:300;font-size:2rem;margin:0}
.pk-plans{display:flex;flex-wrap:wrap;gap:8px}.pk-plans .chip{min-width:0;flex:1 1 30%;text-align:center;line-height:1.3;padding:10px 6px}.pk-plans .chip small{display:block;font-size:.72rem;opacity:.75}
.h-pk{text-align:center}.h-pk .h-head{margin:0 auto}.h-pk p{color:var(--muted);font-weight:300;max-width:560px;margin:0 auto 36px}
@media (max-width:860px){.pk-how{grid-template-columns:1fr;gap:28px}.pk-hero{padding:72px 24px 56px}.pk-form form{padding:32px 20px}.foot{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.logo img{height:36px}}
.pk-intro{display:none;margin:0 0 28px;color:var(--muted,#7a6f66)}.pk-intro.on{display:block}
.pk-form label{display:block;margin:16px 0 0}
.pk-form label input,.pk-form label textarea{display:block;width:100%;margin-top:6px}
.pk-form .chk{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0}
.pk-form .chk input{width:auto;margin:3px 0 0}
.pk-plans{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pk-plans .chip small{display:block;opacity:.7;font-size:.75em}
.h-pk .pk-grid{grid-template-columns:repeat(5,1fr);border:0;margin:56px auto 0;max-width:1180px;position:relative;padding:54px 0 50px;counter-reset:pk}
.h-pk .pk-grid:before,.h-pk .pk-grid:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent) 20%,var(--accent) 80%,transparent);opacity:.45}
.h-pk .pk-grid:before{top:0}.h-pk .pk-grid:after{bottom:0}
.h-pk .pk{border:0;padding:6px 22px;counter-increment:pk;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.h-pk .pk+.pk:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:linear-gradient(transparent,rgba(200,162,124,.45),transparent)}
.h-pk .pk h3:before{content:counter(pk,upper-roman);display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1rem;letter-spacing:.1em;color:var(--accent);margin-bottom:18px}
.h-pk .pk h3{font-family:inherit;font-size:.68rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;opacity:.85;margin:0 0 22px}
.h-pk .pk-price{font-size:3.1rem;margin:auto 0 14px;background:linear-gradient(180deg,#f1dcc0,#b98f62);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-pk .pk-rate{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.02rem;color:var(--muted);margin:0;position:relative;padding-top:16px}
.h-pk .pk-rate:before{content:"";position:absolute;top:0;left:50%;width:18px;height:1px;background:var(--accent);transform:translateX(-50%);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.h-pk .pk:hover{transform:translateY(-6px)}.h-pk .pk:hover .pk-rate:before{width:56px}
@media(max-width:900px){.h-pk .pk-grid{grid-template-columns:1fr;max-width:420px;padding:20px 0}.h-pk .pk{padding:30px 0}.h-pk .pk+.pk:before{left:20%;right:20%;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(200,162,124,.45),transparent)}}
