:root{
  color-scheme:dark;
  --ink-950:#010305;--ink-900:#05090d;--ink-800:#0a141c;--ink-700:#122230;
  --line:#ffffff1a;--line-gold:#6b8cb866;
  --text:#f3efe6;--text-muted:#aaa59a;--silver:#d6d6d6;
  --gold:#6b8cb8;--gold-light:#8fabd2;--accent-deep:#3f5f88;--accent-deep-hover:#4d72a3;--on-gold:#ffffff;--success:#8cc49a;
  --font-display:"Tenor Sans","Jost","Helvetica Neue",Arial,sans-serif;
  --font-sans:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif;
  --space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--space-7:128px;
  --gutter:clamp(16px,5vw,64px);--maxw:1280px;--hdr:88px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink-950);color:var(--text);font-family:var(--font-sans);font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{text-wrap:balance;font-weight:400;margin:0}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:var(--space-7)}
.section--alt{background:var(--ink-900)}
.gold{color:var(--gold)}
@media (max-width:760px){:root{--space-7:80px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Photography: each image defined once, used as a background */
.img{background-size:cover;background-position:center;background-color:var(--ink-800)}
.img-hero{background-image:url("/assets/img/alpi-nuvole.webp");background-position:center 40%}
.img-alps{background-image:url("/assets/img/cervino.webp");background-position:center 35%}
.img-office{background-image:url("/assets/img/ufficio.webp");background-position:center}
.img-sign{background-image:url("/assets/img/firma.webp");background-position:center}
.img-docs{background-image:url("/assets/img/documenti.webp");background-position:center}
.img-tower{background-image:url("/assets/img/edifici.webp");background-position:center}
.img-suit{background-image:url("/assets/img/consulente.webp");background-position:center 30%}
.img-hand{background-image:url("/assets/img/stretta-di-mano.webp");background-position:center}
.img-heroClean{background-image:url("/assets/img/hero-lago.webp");background-position:center}

/* Type */
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:48px;height:1px;background:currentColor;flex:none}
.eyebrow--c::after{content:"";width:48px;height:1px;background:currentColor;flex:none}
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;color:var(--text)}
.display em{font-style:normal;color:var(--gold)}
.d-xl{font-size:clamp(46px,7.4vw,104px);line-height:1}
.d-1{font-size:clamp(40px,5.6vw,76px);line-height:1.04}
.d-2{font-size:clamp(32px,3.8vw,52px);line-height:1.1}
.d-3{font-size:clamp(22px,2vw,28px);line-height:1.25}
.upper{text-transform:uppercase;letter-spacing:.08em}
.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.7;font-weight:300;color:var(--text-muted);max-width:58ch}
.muted{color:var(--text-muted)}
.small{font-size:14px;line-height:1.6}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:20px 34px;border:1px solid var(--gold);font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;transition:color .4s var(--ease),border-color .4s var(--ease);background:none}
.btn span{position:relative;z-index:1}
.btn::before{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn--gold{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-gold)}
.btn--gold::before{background:var(--accent-deep-hover)}
.btn--line{color:var(--text);border-color:#ffffff59}
.btn--line::before{background:var(--accent-deep)}
.btn--line:hover{color:var(--on-gold);border-color:var(--accent-deep)}
.btn__arrow{width:18px;height:8px;position:relative;z-index:1}
.lnk{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:var(--gold)}
.lnk svg{width:28px;height:8px;transition:transform .4s var(--ease)}
.lnk:hover svg{transform:translateX(6px)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:1px solid var(--gold-light);outline-offset:4px}

/* Header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;height:var(--hdr);transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.hdr:not(.solid){background:linear-gradient(180deg,#010305d9 0%,#01030500 100%) border-box}
.hdr.solid{background:#010305e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:100%}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:none}
.brand__mark{height:44px;width:auto}
.brand__word{height:28px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,44px)}
.nav__link{position:relative;font-size:12px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:#f3efe6cc;padding-block:10px;transition:color .3s}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav__link:hover{color:var(--text)}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1)}
.nav__link[aria-current="page"]{color:var(--gold)}
.hdr .btn{padding:15px 24px}
.burger{display:none;background:none;border:0;width:48px;height:48px;cursor:pointer;color:var(--text);align-items:center;justify-content:center}
.burger svg{width:28px;height:14px}
@media (max-width:1080px){
  .burger{display:inline-flex}
  .hdr .btn--cta{display:none}
  .nav{position:fixed;inset:var(--hdr) 0 auto 0;height:calc(100dvh - var(--hdr));flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-3);background:var(--ink-950);padding:var(--space-5) var(--gutter);display:none}
  .nav.open{display:flex}
  .nav__link{font-family:var(--font-display);font-size:32px;letter-spacing:.02em;text-transform:none}
  .nav .btn{margin-top:var(--space-4)}
  .hdr.menu{background:var(--ink-950)}
}
@media (min-width:1081px){.nav .btn--mobile{display:none}}
@media (max-width:420px){.brand__word{height:20px}.brand__mark{height:34px}}

/* Heroes */
.hero{position:relative;margin-top:calc(-1 * var(--hdr));min-height:min(940px,100svh);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2;transform:scale(1.08);animation:kb 18s var(--ease) forwards}
@keyframes kb{to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#010305b3 0%,#01030526 30%,#01030566 62%,#010305 100%),linear-gradient(90deg,#010305cc 0%,#01030500 65%)}
.hero__frame{position:absolute;inset:calc(var(--hdr) + 24px) var(--gutter) 24px;border:1px solid #ffffff1f;pointer-events:none;z-index:-1}
.hero__in{padding-top:calc(var(--hdr) + 120px);padding-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.hero__title{max-width:12.5ch}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}
.hero__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff2e;margin-top:var(--space-6)}
.hero__meta div{padding:var(--space-4) var(--space-4) 0 0;display:flex;flex-direction:column;gap:6px}
.hero__meta b{font-family:var(--font-display);font-weight:400;font-size:18px;color:var(--text)}
.hero__meta span{font-size:13px;color:var(--text-muted);letter-spacing:.04em}
@media (max-width:760px){.hero__meta{grid-template-columns:1fr}.hero__meta div{padding:var(--space-3) 0;border-bottom:1px solid #ffffff1a}.hero__frame{display:none}.hero__in{padding-top:calc(var(--hdr) + 80px)}}

.phero{position:relative;margin-top:calc(-1 * var(--hdr));min-height:600px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.phero .hero__bg{animation-duration:14s}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#010305cc 0%,#01030540 40%,#010305 100%),linear-gradient(90deg,#010305d9 0%,#01030500 70%)}
.phero__in{padding-top:calc(var(--hdr) + 140px);padding-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);max-width:900px}
.crumb{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted)}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--gold)}
@media (max-width:760px){.phero{min-height:480px}}

#cform{scroll-margin-top:calc(var(--hdr) + 24px)}
/* Statement */
.statement{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-5)}
.statement img{height:64px;width:auto;opacity:.9}
.statement p{font-family:var(--font-display);font-size:clamp(26px,3.2vw,44px);line-height:1.3;max-width:26ch;color:var(--text)}
.statement p em{font-style:normal;color:var(--gold)}
.sign{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--text-muted)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.stat{padding:var(--space-5) var(--space-4);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-3)}
.stat:first-child{border-left:0;padding-left:0}
.stat__v{font-family:var(--font-sans);font-weight:200;font-size:clamp(56px,6vw,92px);line-height:1;color:var(--gold);letter-spacing:-.02em;font-variant-numeric:lining-nums}
.stat__l{font-size:12px;line-height:1.6;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);max-width:22ch}
@media (max-width:980px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.stats{grid-template-columns:1fr}.stat{border-left:0;padding-left:0;border-top:1px solid var(--line)}.stat:first-child{border-top:0}}

/* Split with framed photo */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,112px);align-items:center}
.split--rev > :first-child{order:2}
@media (max-width:920px){.split{grid-template-columns:1fr}.split--rev > :first-child{order:0}}
.photo{position:relative;padding:0 24px 24px 0}
.photo::before{content:"";position:absolute;inset:24px 0 0 24px;border:1px solid var(--line-gold)}
.photo .img{position:relative;aspect-ratio:4/5;max-width:100%}
.photo--wide .img{aspect-ratio:5/4}
.photo__cap{position:absolute;left:24px;bottom:48px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--text);background:#010305b3;padding:8px 14px}
.stack{display:flex;flex-direction:column;gap:var(--space-4)}
.prose{display:flex;flex-direction:column;gap:var(--space-3);color:var(--text-muted);max-width:58ch}
.prose strong{color:var(--text);font-weight:400}

.ticks{list-style:none;margin:var(--space-3) 0 0;padding:0}
.ticks li{display:grid;grid-template-columns:40px 1fr;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--line)}
.ticks li:last-child{border-bottom:1px solid var(--line)}
.ticks svg{width:26px;height:26px;color:var(--gold);margin-top:2px}
.ticks b{display:block;font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.3;margin-bottom:4px;color:var(--text)}
.ticks span{color:var(--text-muted);font-size:15px}

/* Full-bleed band */
.band{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.band .img{position:absolute;inset:0;z-index:-2;background-attachment:fixed}
@supports (-webkit-touch-callout:none){.band .img{background-attachment:scroll}}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#010305e6 0%,#01030566 60%,#01030533 100%)}
.band blockquote{margin:0;max-width:20ch;font-family:var(--font-display);font-size:clamp(30px,4.4vw,60px);line-height:1.15}
.band blockquote em{font-style:normal;color:var(--gold)}
.band cite{display:block;margin-top:var(--space-5);font-style:normal;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--text-muted)}

/* Section heads */
.head{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6);max-width:760px}
.head--row{max-width:none;flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap}
.head--row > div{display:flex;flex-direction:column;gap:var(--space-4);max-width:680px}
.head--c{align-items:center;text-align:center;margin-inline:auto}

/* Timeline method */
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line)}
.tstep{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-5)}
.tstep::before{content:"";position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid var(--gold);background:var(--ink-900);transform:rotate(45deg)}
.tstep:hover::before{background:var(--gold)}
.tstep__n{font-weight:200;font-size:56px;line-height:1;color:var(--gold);font-variant-numeric:lining-nums}
.tstep h3{font-family:var(--font-display);font-size:21px;line-height:1.3}
.tstep p{color:var(--text-muted);font-size:15px;line-height:1.65}
@media (max-width:1000px){.timeline{grid-template-columns:1fr;gap:0}.timeline::before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}.tstep{padding:0 0 var(--space-5) var(--space-6)}.tstep::before{top:6px}}

/* Image service cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
@media (max-width:980px){.cards{grid-template-columns:1fr}}
.icard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;overflow:hidden;text-decoration:none;isolation:isolate;border:1px solid var(--line)}
.icard .img{position:absolute;inset:0;z-index:-2;transition:transform 1.2s var(--ease)}
.icard::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#01030526 0%,#010305 88%);transition:background .6s}
.icard:hover .img{transform:scale(1.06)}
.icard__in{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.icard__n{font-size:12px;letter-spacing:.34em;color:var(--gold)}
.icard h3{font-family:var(--font-display);font-size:28px;line-height:1.2}
.icard p{color:var(--text-muted);font-size:15px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .6s}
.icard:hover p,.icard:focus-visible p{max-height:120px;opacity:1}
@media (hover:none){.icard p{max-height:none;opacity:1}}
.icard .lnk{margin-top:var(--space-2)}


/* Home hero (cleaned artwork + HTML copy) */
/* Desktop: the artwork is shown whole at its own proportions (2048x728); copy sits where the original lettering was. */
.hero--home{min-height:0;aspect-ratio:2048/728;justify-content:center}
.hero--home .hero__bg{animation:none;transform:none;background-position:center}
.hero--home::before{background:linear-gradient(90deg,#010305cc 0%,#01030599 28%,#01030500 50%),linear-gradient(180deg,#01030580 0%,#01030500 22%)}
.hero--home .hero__in{padding-top:calc(var(--hdr) * .7);padding-bottom:0;gap:clamp(12px,1.4vw,22px);max-width:var(--maxw)}
.hero--home .lead{color:#ece9e2;max-width:40ch;font-size:clamp(15px,1.15vw,19px);line-height:1.65}
.hero--home .hero__ctas{margin-top:clamp(4px,.6vw,12px)}
@media (max-width:1199px){.hero--home{aspect-ratio:auto;min-height:560px}.hero--home .hero__bg{background-position:30% center}}
@media (max-width:760px){.hero--home{min-height:640px;justify-content:flex-end}.hero--home::before{background:linear-gradient(180deg,#010305b3 0%,#01030566 30%,#010305e6 70%,#010305 100%)}.hero--home .hero__bg{background-position:72% center}.hero--home .hero__in{padding-top:calc(var(--hdr) + 80px);padding-bottom:var(--space-6)}}
.hero > .wrap{width:100%}
.hero__logo{margin:0}
.hero__logo img{width:clamp(240px,27vw,520px)}
.hero__tag{font-size:clamp(11px,.9vw,14px);letter-spacing:.34em;text-transform:uppercase;color:var(--text);margin-top:var(--space-3)}
.hero--home .lead{color:#e3e0d9;max-width:52ch}
@media (max-width:760px){.hero--home::before{background:linear-gradient(180deg,#010305b3 0%,#01030566 30%,#010305e6 70%,#010305 100%)}.hero--home .hero__bg{background-position:72% center}}
/* Statement */
.statement__body{display:flex;flex-direction:column;gap:var(--space-3);max-width:62ch;color:var(--text-muted);font-size:clamp(17px,1.3vw,19px);line-height:1.8}
.statement .statement__close{font-size:clamp(22px,2.2vw,30px);max-width:30ch}
/* Zigzag text + photos */
.zig{display:flex;flex-direction:column;gap:clamp(56px,8vw,112px)}
.zig__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,112px);align-items:center}
.zig__row--rev > :first-child{order:2}
@media (max-width:920px){.zig__row{grid-template-columns:1fr}.zig__row--rev > :first-child{order:0}}
.prose--lg{font-size:clamp(17px,1.3vw,19px);line-height:1.85;gap:var(--space-4)}
.prose__key{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1.35;color:var(--text)}
/* Band subline */
.band__sub{display:block;margin-top:var(--space-4);font-size:clamp(22px,2.4vw,32px);color:var(--text)}
/* Team photo placeholder */
.member__ph--empty{display:flex;align-items:flex-end;background:linear-gradient(160deg,var(--ink-800),var(--ink-950));border:1px solid var(--line-gold)}
.member__ph--empty span{position:relative;margin:var(--space-4) var(--space-5);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted)}
.member__mark{position:absolute;top:44%;left:50%;width:32%;transform:translate(-50%,-50%);opacity:.14}

/* Quotes */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
@media (max-width:980px){.quotes{grid-template-columns:1fr}}
.quote{margin:0;padding:var(--space-5);border:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-4);background:linear-gradient(180deg,#ffffff06,#ffffff00)}
.quote__m{width:34px;height:26px;color:var(--gold)}
.quote blockquote{margin:0;font-family:var(--font-display);font-size:20px;line-height:1.5;flex:1}
.quote figcaption{display:flex;align-items:center;gap:var(--space-3);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}
.quote figcaption::before{content:"";width:28px;height:1px;background:var(--gold)}
.stars{color:var(--gold);letter-spacing:.3em;font-size:13px}

/* CTA band */
.cta{position:relative;overflow:hidden;isolation:isolate;padding-block:var(--space-7);text-align:center}
.cta .img{position:absolute;inset:0;z-index:-2}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:#010305c2}
.cta__in{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}
.cta__frame{position:absolute;inset:24px var(--gutter);border:1px solid var(--line-gold);z-index:-1;pointer-events:none}

/* Values */
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.value{padding:var(--space-5) var(--space-4) var(--space-5) 0;display:flex;flex-direction:column;gap:var(--space-3);border-right:1px solid var(--line);padding-left:var(--space-4)}
.value:first-child{padding-left:0}.value:last-child{border-right:0}
.value svg{width:40px;height:40px;color:var(--gold);margin-bottom:var(--space-3)}
.value h3{font-family:var(--font-display);font-size:22px;line-height:1.3}
.value p{color:var(--text-muted);font-size:15px}
@media (max-width:980px){.values{grid-template-columns:repeat(2,minmax(0,1fr))}.value{border-right:0;padding-left:0;border-bottom:1px solid var(--line)}}
@media (max-width:560px){.values{grid-template-columns:1fr}}

/* Team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);max-width:880px}

@media (max-width:560px){.team{grid-template-columns:1fr}}
.member{display:flex;flex-direction:column;gap:var(--space-3)}
.member__ph{position:relative;aspect-ratio:3/4;overflow:hidden;max-width:100%}
.member__ph .img{position:absolute;inset:0;transition:transform 1.2s var(--ease)}
.member:hover .member__ph .img{transform:scale(1.05)}
.member__ph::after{content:"";position:absolute;inset:12px;border:1px solid #ffffff26;pointer-events:none}
.member__name{font-family:var(--font-display);font-size:24px;margin-top:var(--space-2)}
.member__role{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}

/* Audience */
.who{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
@media (max-width:980px){.who{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.who{grid-template-columns:1fr}}
.who > div{padding:var(--space-5) var(--space-4);border:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .4s,background .4s}
.who > div:hover{border-color:var(--line-gold);background:#6b8cb80a}
.who svg{width:38px;height:38px;color:var(--gold);margin-bottom:var(--space-2)}
.who h3{font-family:var(--font-display);font-size:22px}
.who p{color:var(--text-muted);font-size:15px}

/* Service list with sticky photo */
.svcwrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.svcwrap .photo{position:sticky;top:calc(var(--hdr) + 32px)}
@media (max-width:920px){.svcwrap{grid-template-columns:1fr}.svcwrap .photo{position:relative;top:0}}
.svc{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--line)}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc__n{font-weight:200;font-size:44px;line-height:1;color:var(--gold);font-variant-numeric:lining-nums}
.svc__tag{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.svc h3{font-family:var(--font-display);font-size:26px;line-height:1.25;margin-bottom:var(--space-3)}
.svc p{color:var(--text-muted);font-size:16px}

/* FAQ */
.faqcols{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,96px)}
.faqnav{display:flex;flex-direction:column;position:sticky;top:calc(var(--hdr) + 32px);align-self:start}
.faqnav a{font-size:12px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--text-muted);padding:var(--space-3) 0;border-bottom:1px solid var(--line);transition:color .3s,padding .3s}
.faqnav a:hover{color:var(--gold);padding-left:8px}
.faqgroup{margin-bottom:var(--space-6);scroll-margin-top:calc(var(--hdr) + 32px)}
.faqgroup h2{font-size:12px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-3)}
.faq{border-top:1px solid var(--line)}
.faq:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;font-family:var(--font-display);font-size:clamp(19px,1.6vw,23px);line-height:1.35;transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-light)}
.faq__ic{flex:none;position:relative;width:18px;height:18px}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gold);transition:transform .4s var(--ease)}
.faq__ic::after{transform:rotate(90deg)}
.faq[open] .faq__ic::after{transform:rotate(0)}
.faq__body{padding:0 var(--space-6) var(--space-5) 0;color:var(--text-muted);max-width:72ch}
@media (max-width:900px){.faqcols{grid-template-columns:1fr}.faqnav{position:static;flex-direction:row;flex-wrap:wrap;gap:0 var(--space-4)}.faq__body{padding-right:0}}

/* Contact */
.cinfo__row{display:grid;grid-template-columns:48px 1fr;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--line)}
.cinfo__row:last-child{border-bottom:1px solid var(--line)}
.cinfo__row svg{width:24px;height:24px;color:var(--gold);margin-top:4px}
.cinfo__l{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted)}
.cinfo__v{font-family:var(--font-display);font-size:21px;line-height:1.5;user-select:all;overflow-wrap:anywhere}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4);padding:clamp(28px,4vw,56px);border:1px solid var(--line-gold);background:linear-gradient(180deg,#ffffff07,#ffffff02)}
.form .full{grid-column:1/-1}
@media (max-width:640px){.form{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted)}
.input{width:100%;background:transparent;border:0;border-bottom:1px solid #ffffff33;border-radius:0;padding:12px 0;color:var(--text);font:inherit;font-size:17px;transition:border-color .3s}
.input::placeholder{color:#7b766c}
.input:focus{outline:none;border-bottom-color:var(--gold)}
select.input{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 4px) 55%;background-size:6px 6px;background-repeat:no-repeat}
select.input option{background:var(--ink-900);color:var(--text)}
textarea.input{min-height:120px;resize:vertical}
.check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:14px;line-height:1.6;color:var(--text-muted)}
.check input{accent-color:var(--gold);width:18px;height:18px;margin-top:3px;flex:none}
.form__foot{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between}
.form__ok{color:var(--success);font-size:14px}
.form__err{color:#e8a08c;font-size:14px}
.mapph{position:relative;min-height:260px;display:flex;align-items:flex-end;border:1px solid var(--line);background:
  repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 48px),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 48px),var(--ink-900)}
.mapph::before{content:"";position:absolute;left:50%;top:44%;width:14px;height:14px;background:var(--gold);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 10px #6b8cb826,0 0 0 22px #6b8cb812}
.mapph span{position:relative;margin:var(--space-4);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted)}

/* Footer */
.ftr{position:relative;border-top:1px solid var(--line);padding-block:var(--space-6) var(--space-5);overflow:hidden}
.ftr__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,7vw,112px);align-items:end}
.ftr__cta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:clamp(24px,3.5vw,40px);border:1px solid var(--line-gold)}
.ftr__cta h4{margin:0}
.ftr__cta .ftr__tag{margin:0}
.ftr__logo{width:180px}
.ftr h4{margin:var(--space-5) 0 var(--space-3);font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.ftr__tag{margin-top:var(--space-4);font-size:15px;color:var(--text-muted);max-width:32ch}
.ftr__dl{margin:0;display:flex;flex-direction:column}
.ftr__dl div{padding:var(--space-3) 0;border-top:1px solid var(--line)}
.ftr__dl div:last-child{border-bottom:1px solid var(--line)}
.ftr__dl dt{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.ftr__dl dd{margin:0;font-family:var(--font-display);font-size:18px;line-height:1.5;color:var(--text);user-select:all;overflow-wrap:anywhere}
.ftr__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:13px;color:var(--text-muted);letter-spacing:.06em}
.ftr__legal a{text-decoration:none;transition:color .3s}.ftr__legal a:hover{color:var(--text)}
.ftr__legal .pdf small{font-size:10px;letter-spacing:.14em;border:1px solid var(--line-gold);color:var(--gold);padding:1px 5px;margin-left:4px}
@media (max-width:900px){.ftr__top{grid-template-columns:1fr}}

/* Aggiunte per il sito */
.hero__title-h{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.4vw,50px);line-height:1.12;max-width:22ch;color:var(--text)}
.hero__title-h em{font-style:normal;color:var(--gold)}
.hero--home .hero__logo img{width:clamp(150px,14vw,240px)}
.hero--home{aspect-ratio:auto;min-height:min(860px,100svh)}
@media (max-width:760px){.hero--home .hero__logo img{width:120px}.hero--home .hero__in{gap:18px;padding-top:calc(var(--hdr) + 40px)}}
.member__ini{position:relative;font-family:var(--font-display);font-size:clamp(48px,6vw,72px);letter-spacing:.08em;color:var(--gold);margin:auto}
.member__ph--empty{align-items:center;justify-content:center}
.cinfo__v a{text-decoration:none;border-bottom:1px solid var(--line-gold);transition:color .3s}
.cinfo__v a:hover{color:var(--gold-light)}
.cinfo__more{display:inline-block;margin-top:6px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.cinfo__more:hover{color:var(--gold-light)}
.ftr__dl dd a{text-decoration:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:60;background:var(--accent-deep);color:#fff;padding:10px 16px}
.skip:focus{left:8px}
.member__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;transition:transform 1.2s var(--ease)}
.member:hover .member__foto{transform:scale(1.04)}
.form__note{font-size:14px;line-height:1.6;color:var(--text-muted)}
.form__note a{color:var(--gold-light)}
/* Pagine legali */
.legal{padding-block:clamp(48px,7vw,96px) var(--space-7)}
.legal__in{max-width:860px;display:flex;flex-direction:column;gap:var(--space-4)}
.legal__intro{color:var(--text-muted)}
.legal__intro strong{color:var(--text);font-weight:400}
.legal__toc{margin:var(--space-3) 0 var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) calc(var(--space-4) + 1.2em);border:1px solid var(--line-gold);columns:2 260px;column-gap:var(--space-5);font-size:15px;color:var(--text-muted)}
.legal__toc li{margin-bottom:6px;break-inside:avoid}
.legal__toc a{text-decoration:none}.legal__toc a:hover{color:var(--gold-light)}
.legal__sec{border-top:1px solid var(--line);padding-top:var(--space-4);scroll-margin-top:calc(var(--hdr) + 24px);color:var(--text-muted);display:flex;flex-direction:column;gap:var(--space-3)}
.legal__sec h2{font-family:var(--font-display);font-size:clamp(21px,1.8vw,25px);line-height:1.3;color:var(--text);counter-increment:sez}
.legal{counter-reset:sez}
.legal__sec h2::before{content:counter(sez) ". ";color:var(--gold)}
.legal__sec ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.legal__sec a,.legal__intro a{color:var(--gold-light)}
.legal__date{margin-top:var(--space-4);font-size:14px;letter-spacing:.06em;color:var(--text-muted)}
.member__ph--empty .member__ini{margin:auto;font-size:clamp(48px,6vw,72px);letter-spacing:.08em;text-transform:none;color:var(--gold)}
.member__foto--alto{object-position:center 20%}
