
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url(../assets/fonts/aleryc-sora-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url(../assets/fonts/aleryc-sora-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/aleryc-inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/aleryc-inter-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
:root{
  --bg:#000000; --bg-2:#000000; --bg-3:#000000;   
  --surface:#212226; --surface-2:#2A2C31;
  --txt:#ECEDEF; --txt-2:#A6AAB1; --txt-3:#7D8188;
  --line:rgba(236,237,239,.08); --line-2:rgba(236,237,239,.14);
  --ir-a:#3E5C52; --ir-b:#5D4FD0; --ir-c:#8A6A3E; --rv-star:#DA9F4E;
  --irid:linear-gradient(120deg,var(--ir-a),var(--ir-b),var(--ir-c));
  --irid-t:linear-gradient(120deg,#4A6E62,#6154D1,#8A6A3E);
  --irid-hi:linear-gradient(120deg,#6F9C8C,#8C80F0,#C49A5E);
  --card-fondo:linear-gradient(180deg,#2E3036,#1E1F23);
  --card-bordo:rgba(236,237,239,.10);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --pad:clamp(20px,4vw,56px);
  --r:8px;                                     
  --hd:76px;                                   
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.muro-dito{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
html.muro-dito-on{scroll-snap-type:y proximity}
html.muro-dito-on .muro-dito{scroll-snap-align:start;scroll-snap-stop:always}
html.senza-nativo{overflow:hidden}   
body{margin:0;padding-top:var(--hd);background:var(--bg);color:var(--txt);font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.6;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:'Syne',system-ui,sans-serif;margin:0;font-weight:300;letter-spacing:-.025em;line-height:1.05}
h1 b,h2 b,h3 b{font-weight:600}
p{margin:0}
button{font:inherit;color:inherit}
::selection{background:#5D4FD0;color:#fff}
:focus-visible{outline:2px solid #8C80F0;outline-offset:3px;border-radius:6px}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none;border-radius:0}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--txt);color:var(--bg);padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600}
.skip:focus{top:16px}
.nowrap{white-space:nowrap}
.wrap{width:100%;max-width:1360px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.k{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--txt-2)}
.k::before{content:"";width:26px;height:1px;background:var(--irid-hi);flex:none}
.t{font-size:clamp(34px,4.6vw,72px)}
.s{color:var(--txt-2);font-size:clamp(16px,1.25vw,18px);max-width:52ch}
.lead{color:var(--txt-2)}
.irid-txt,.irid-chars{background:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent}
.irid-chars.is-split{background:none;color:inherit}
.irid-chars.is-split .c{background-image:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent;background-repeat:no-repeat}
.split .w,.split-up .w,.words .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block}
.split-up .w{overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-up .wi{display:inline-block}
.btn{display:inline-flex;align-items:center;justify-content:center;position:relative;isolation:isolate;padding:15px 30px;border-radius:999px;font-weight:600;font-size:15px;line-height:1.3;text-decoration:none;color:var(--bg);background:var(--txt);border:0;cursor:pointer;transition:transform .3s var(--ease),border-color .3s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn-ir{color:#fff;background:#5D4FD0;border:0;overflow:hidden}
.btn-ir::before{content:"";position:absolute;left:50%;top:50%;width:max(260%,340px);aspect-ratio:1;translate:-50% -50%;z-index:-1;background:conic-gradient(#3E5C52,#5D4FD0,#8A6A3E,#3E5C52);filter:saturate(1.16);animation:gira 10s linear infinite}
.btn-ir:hover::before{animation-duration:2.6s}
.btn-outline{color:var(--txt);background:var(--surface);border:1px solid var(--line-2);padding:14px 29px}
.btn-outline:hover{border-color:#8f86e8}
.btn-xl{padding:20px 40px;font-size:17px}
@keyframes spin-a{to{--a:360deg}}
.roll{display:inline-block;overflow:hidden;vertical-align:top;height:1.3em;line-height:1.3}
.roll .r-i{display:block;text-shadow:0 1.3em 0 currentColor;transition:transform .55s var(--ease)}
a:hover .roll .r-i,a:focus-visible .roll .r-i{transform:translateY(-1.3em)}
#hero img:not([src]),#hero img[src=""]{visibility:hidden}
#intro{display:none}
#hero img{color:transparent;font-size:0}   
html.intro #intro,html.intro-breve #intro{display:grid;position:fixed;inset:0;z-index:120;place-items:center;background:var(--bg-3);animation:intro-failsafe .01s 14s forwards}   
@keyframes intro-failsafe{to{visibility:hidden;opacity:0}}
html.intro #intro{will-change:transform}
html.in-rientro #intro .in-c{display:none}
html.in-rientro-b #intro{background:#fff}
html.in-rientro #intro.esce{transform:none;opacity:0;transition:opacity .16s linear}
#intro.esce{transform:translateY(-100%);transition:transform .6s cubic-bezier(.87,0,.13,1) .05s}   
.in-c{transition:opacity .45s cubic-bezier(.55,0,1,.45),transform .45s cubic-bezier(.55,0,1,.45)}
#intro.esce .in-c{opacity:0;transform:translateY(-30px)}
.in-c{display:flex;flex-direction:column;align-items:center}
.in-mark{position:relative;width:clamp(92px,7.5vw,112px);height:clamp(92px,7.5vw,112px);margin-bottom:26px}   
.in-vid,.in-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.in-vid{background:#000;opacity:0}
.in-vid::-webkit-media-controls,.in-vid::-webkit-media-controls-panel,.in-vid::-webkit-media-controls-start-playback-button,.in-vid::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none}
html.in-vok .in-vid{opacity:1}                       
html.in-vno .in-vid{opacity:0}                       
.in-svg{opacity:0;transition:opacity .5s}
html.in-vno .in-svg,html.rm .in-svg{opacity:1}       
html.in-vno:not(.rm) .in-svg{transition:none}
html.in-vno:not(.rm) .in-svg path{stroke-dasharray:var(--l,80);stroke-dashoffset:var(--l,80);animation:in-traccia .35s cubic-bezier(.65,0,.35,1) forwards}
html.in-vno:not(.rm) .in-svg path+path{animation-delay:.25s}   
@keyframes in-traccia{to{stroke-dashoffset:0}}
html.in-quieto body>*:not(#intro):not(svg):not(main),html.in-quieto main>*:not(#hero){visibility:hidden}
html.intro .in-name span,html.intro .in-line{will-change:transform}
html.intro .in-sub{will-change:opacity}
html.in-via .in-name span{will-change:transform;animation:in-su .5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.45s + var(--k,0) * .025s)}   
.in-name span:nth-child(2){--k:1}.in-name span:nth-child(3){--k:2}.in-name span:nth-child(4){--k:3}.in-name span:nth-child(5){--k:4}.in-name span:nth-child(6){--k:5}
@keyframes in-su{to{transform:translateY(0)}}
html.in-via .in-sub{animation:in-op .4s ease .6s forwards}
@keyframes in-op{to{opacity:1}}
html.in-via .in-line{will-change:transform;animation:in-riga .55s cubic-bezier(.65,0,.35,1) .55s forwards}
html.in-lento.in-via .in-name span{animation-duration:.25s;animation-delay:calc(.15s + var(--k,0) * .012s)}
html.in-lento.in-via .in-sub{animation-duration:.2s;animation-delay:.25s}
html.in-lento.in-via .in-line{animation-duration:.25s;animation-delay:.2s}
@keyframes in-riga{to{transform:scaleX(1)}}
.in-name{font-family:'Aleryc Logo','Syne',sans-serif;font-weight:600;font-size:clamp(34px,5vw,56px);letter-spacing:.42em;margin-right:-.42em;display:flex;overflow:hidden}
.in-name span{display:inline-block;transform:translateY(110%)}
.in-line{width:min(260px,60vw);height:1px;margin:18px 0 20px;background:var(--irid-hi);transform:scaleX(0);transform-origin:0 50%}   
.in-sub{font-size:12.5px;font-weight:600;letter-spacing:.6em;margin-right:-.6em;color:var(--txt-2);opacity:0}
.prog{display:none}   
.tinta{position:fixed;left:0;right:0;height:12px;z-index:85;pointer-events:none}
.tinta.su{top:-8px}
.tinta.giu{bottom:-8px}
.prog i{display:block;height:100%;background:var(--irid-hi);transform-origin:0 50%;transform:scaleX(0)}
.hd{position:fixed;left:0;right:0;top:0;z-index:80;height:var(--hd);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--pad);background:var(--bg)}   
.hd::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:160px;background:inherit;pointer-events:none}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--txt)}
.logo svg{width:30px;height:30px}
.logo .sep{width:1px;height:22px;background:var(--line-2)}
.logo .w{font-family:'Sora',sans-serif;font-weight:600;font-size:15px;letter-spacing:.28em}
.logo .ds{display:flex;flex-direction:column;font-size:8.5px;line-height:1.25;letter-spacing:.32em;color:var(--txt)}
.logo .ds b{font-weight:600;background:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent}.logo .ds i{font-style:normal}   
.hd-nav{display:flex;align-items:center;gap:2px;margin:0 auto}
.hd-nav .roll{white-space:nowrap}   
.hd-nav a{display:block;padding:10px 13px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--txt-2);transition:color .3s,background-color .3s}
.hd-nav a:hover,.hd-nav a.cur{color:var(--txt);background:var(--line)}
.hd-act{display:flex;align-items:center;gap:10px}
.hd-act .btn{padding:11px 22px;font-size:14px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:rgba(236,237,239,.08);box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;position:relative}
.burger i{position:absolute;left:14px;right:14px;height:1.5px;background:var(--txt);transition:transform .45s var(--ease)}
.burger i:first-child{top:19px}.burger i:last-child{top:26px}
.burger[aria-expanded="true"] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:70;background:var(--bg-3);display:flex;flex-direction:column;justify-content:safe center;overflow-y:auto;overscroll-behavior:contain;padding:100px var(--pad) 40px;clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .8s var(--ease-io)}
.menu[hidden]{display:flex;visibility:hidden}
.menu.open{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible}
.hd.chiaro~.menu{background:#FFFFFF;color:#0B0B0C}   
.menu nav{display:flex;flex-direction:column;gap:6px}
.menu nav a{font-family:'Syne',sans-serif;font-size:clamp(26px,7vw,40px);font-weight:300;letter-spacing:-.02em;text-decoration:none;line-height:1.15;transform:translateY(30px);opacity:0;transition:transform .7s var(--ease),opacity .7s}
.menu.open nav a{transform:none;opacity:1}
.menu.open nav a:nth-child(2){transition-delay:.05s}.menu.open nav a:nth-child(3){transition-delay:.1s}.menu.open nav a:nth-child(4){transition-delay:.15s}.menu.open nav a:nth-child(5){transition-delay:.2s}.menu.open nav a:nth-child(6){transition-delay:.25s}
.menu nav a.menu-ir{background:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:400}   
.menu.open nav a:nth-child(7){transition-delay:.3s}.menu.open nav a:nth-child(8){transition-delay:.35s}
#hero{position:relative;background:var(--bg-3)}
.hero-intro{position:relative;display:flex;justify-content:center;align-items:flex-start;min-height:0;padding:calc(152px - var(--hd)) var(--pad) clamp(28px,4vh,48px);   
text-align:center;overflow:hidden}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;max-width:1180px}
.hero-k{margin-bottom:clamp(18px,3vh,28px)}
.hero-k::after{content:"";width:26px;height:1px;background:var(--irid-hi);flex:none}
.hero-h1{font-size:clamp(34px,4.7vw,88px);line-height:.96;letter-spacing:-.045em}
.hero-h1 .l1,.hero-h1 .l2{display:block;white-space:nowrap}
.hero-h1 .l1{font-weight:300}
.hero-h1 .l2{font-weight:600;padding-bottom:.06em}
.hero-cta{margin-top:clamp(24px,4vh,38px);display:flex;flex-direction:column;align-items:center}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.trust{margin-top:14px;font-size:13px;color:var(--txt-3);letter-spacing:.02em}
.zp{position:relative;height:300vh;height:300svh}
.zp-stage{position:relative;height:calc(100vh - var(--hd));height:calc(100svh - var(--hd));overflow:hidden;background:var(--bg-3)}
.zp-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-origin:50% 50%;pointer-events:none}
.zp-box{position:relative;margin:0;width:25vw;height:25vh;overflow:hidden;background:var(--surface);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.zp-box img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}   
.zp-layer[data-i="1"] .zp-box{top:-30vh;left:5vw;width:35vw;height:30vh}
.zp-layer[data-i="2"] .zp-box{top:-10vh;left:-25vw;width:20vw;height:45vh}
.zp-layer[data-i="3"] .zp-box{left:27.5vw;width:25vw;height:25vh}
.zp-layer[data-i="4"] .zp-box{top:27.5vh;left:5vw;width:20vw;height:25vh}
.zp-layer[data-i="5"] .zp-box{top:27.5vh;left:-22.5vw;width:30vw;height:25vh}
.zp-layer[data-i="6"] .zp-box{top:22.5vh;left:25vw;width:15vw;height:15vh}
.zp-layer[data-i="7"] .zp-box{top:-28vh;left:27vw;width:20vw;height:20vh}   
.zp-layer[data-i="0"]{z-index:2}
#problema{position:relative;z-index:2;background:var(--bg-3);--onda:0px}
#problema::after{content:"";position:absolute;left:0;right:0;bottom:100%;height:0;background:var(--bg-3);pointer-events:none}
#problema.fermo::after{height:calc(var(--hd) + 4px)}   
#problema::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--onda);background:var(--bg-3);clip-path:ellipse(62% 100% at 50% 100%);pointer-events:none}
.pb-pin{position:relative;min-height:calc(100vh - var(--hd));min-height:calc(100svh - var(--hd));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(36px,6vh,70px);padding:clamp(90px,13vh,130px) var(--pad) 90px;overflow:hidden}
.pb-h,.pb-r{text-align:center;font-family:'Syne',sans-serif;font-size:clamp(34px,5.4vw,88px);font-weight:300;line-height:1.04;letter-spacing:-.025em;max-width:14em;perspective:900px;position:relative;z-index:3}
.pb-h .pb-l1,.pb-h .pb-l2{display:block}
.pb-r b{font-weight:600}
.pb-h .c,.pb-r .c{transform-origin:50% 100% -0.4em}
.pb-fade{position:absolute;inset:0;z-index:6;background:var(--bg);opacity:0;pointer-events:none}
.pb-shot{position:relative;z-index:2;width:min(1100px,84vw,(100vh - 210px) * 1.6);aspect-ratio:16/10;margin:0;overflow:hidden;background:#0b0b0d}
.pb-shot picture{display:block;height:100%}
.pb-shot img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
html.fx .pb-pin{display:block;height:calc(100vh - var(--hd));height:calc(100lvh - var(--hd));min-height:0;padding:0}
html.fx .pb-h,html.fx .pb-r{position:absolute;left:var(--pad);right:var(--pad);top:50%;translate:0 -50%;margin:0 auto}
html.fx .pb-shot{position:absolute;left:50%;top:50%;translate:-50% -50%}
.words .w{transition:opacity .2s}
#servizi{position:relative;padding-top:clamp(90px,14vh,160px);background:var(--bg)}
.sec-head{display:grid;grid-template-columns:1.3fr 1fr;gap:20px clamp(30px,5vw,80px);align-items:end}
.sec-head .k,#servizi .sec-head .t{grid-column:1/-1}
.sv-pin{position:relative;min-height:calc(100vh - var(--hd));min-height:calc(100svh - var(--hd));display:flex;flex-direction:column;justify-content:center;padding:60px 0}
.sv-stage{position:relative;flex:1;display:flex;align-items:center}
.sv-list{list-style:none;margin:0;padding:0;width:56%}
.sv-item{position:static;padding:clamp(6px,1.2vh,14px) 0}
.sv-n{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--txt-3);vertical-align:top;margin-right:14px;transform:translateY(.9em)}
.sv-t{display:inline;font-size:clamp(28px,3.9vw,64px);line-height:1.08;color:var(--txt);opacity:.14;transition:opacity .6s var(--ease)}
.sv-item.is-on .sv-t{opacity:1;background:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent}
.sv-item.is-on .sv-n{color:var(--txt)}
html.fx .sv-n,html.fx .sv-t{cursor:pointer}   
.sv-m{position:absolute;right:var(--pad);top:50%;width:min(36%,460px);transform:translateY(-46%);opacity:0;visibility:hidden;transition:opacity .6s var(--ease),transform .8s var(--ease),visibility 0s .6s}
.sv-item.is-on .sv-m{opacity:1;visibility:visible;transform:translateY(-50%);transition:opacity .6s var(--ease),transform .8s var(--ease),visibility 0s}
.sv-m p{margin-top:22px;color:var(--txt-2);font-size:15.5px}
@media (min-width:1100px) and (max-width:1599px){.sv-m{right:calc(var(--pad) + min(5vw,72px))}}   
@media (min-width:900px){
  #servizi .sv-pin{justify-content:flex-start;padding:clamp(22px,4.5vh,56px) 0 0}
  #servizi .sv-stage{flex:none;align-items:flex-start;margin-top:clamp(34px,6vh,72px)}
  #servizi .sv-m{top:clamp(10px,calc(1.2vh + 6px),20px);transform:translateY(14px);width:min(36%,460px)}
  #servizi .sv-item.is-on .sv-m{transform:none}
  #servizi .sv-t{font-size:clamp(28px,min(3.9vw,5.6vh),64px)}
}
@media (min-width:900px) and (max-height:940px){
  #servizi .sv-m{width:min(36%,460px,calc((100svh - 400px) * .85))}
  #servizi .sv-m p{margin-top:16px;font-size:14.5px}
  #servizi .sv-link{margin-top:14px}
  #servizi .sv-stage{margin-top:clamp(28px,5vh,72px)}
}
@media (min-width:900px) and (max-height:760px){
  #servizi .sv-m{width:min(36%,330px)}
  #servizi .sv-m p{margin-top:12px;font-size:14px;line-height:1.5}
  #servizi .sv-link{margin-top:10px}
  #servizi .sv-stage{margin-top:24px}
}
@media (min-width:900px) and (max-height:700px){
  #servizi .sv-vis{width:min(100%,calc((100svh - 400px) * 1.333))}
}
@media (min-width:900px) and (max-height:760px){
  #servizi .sv-m{top:clamp(-130px,calc((100svh - 770px) * 1.2),-20px)}
}
@media (min-width:900px) and (max-width:1100px) and (min-height:761px) and (max-height:790px){
  #servizi .sv-m{top:-70px}
}
@media (min-width:900px) and (max-height:560px){
  #servizi .sv-t{font-size:22px}
  #servizi .sv-stage{margin-top:12px}
  #servizi .sv-item{padding:3px 0}
}
.sv-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-weight:600;font-size:15px;color:var(--txt);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease)}
.sv-link svg{width:18px;height:18px;transition:transform .5s var(--ease)}
.sv-link:hover{background-size:100% 1px}
.sv-link:hover svg{transform:translateX(5px)}
.sv-vis{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--card-fondo);box-shadow:inset 0 0 0 1px var(--card-bordo),inset 0 1px 0 rgba(255,255,255,.08),0 30px 70px -30px rgba(0,0,0,.8)}
.sv-vis::before{content:"";position:absolute;inset:-30%;background:radial-gradient(closest-side,rgba(93,79,208,.35),transparent);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
.sv-foto::before{display:none}
.sv-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 1.8s var(--ease)}
.sv-item.is-on .sv-foto img{transform:none}
@keyframes pan{0%,10%{transform:translateY(0)}90%,100%{transform:translateY(calc(-100% + 180px))}}
@keyframes bob{50%{transform:translateY(-10px)}}
@keyframes heart{0%{opacity:0;transform:translateY(0) scale(.5)}15%{opacity:1;transform:translateY(-20px) scale(1)}100%{opacity:0;transform:translateY(-240px) translateX(16px) scale(.7) rotate(14deg)}}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.vq-code{position:absolute;left:9%;top:50%;width:42%;aspect-ratio:1;transform:translateY(-50%);padding:12px;border-radius:14px;background:var(--txt);overflow:hidden;box-shadow:0 20px 50px -14px rgba(0,0,0,.9)}
.vq-svg{width:100%;height:100%}
.vq-svg rect{fill:var(--bg)}
@keyframes laser{50%{transform:translateY(calc(var(--qh,200px) - 3px))}}
#metodo{position:relative;background:var(--bg);--cima:calc(min(max(7vw,48px),120px) + 32px)}   
.mt-pin{position:relative;padding:var(--cima) var(--pad) 80px}
.mt-tit{margin:0}   
.mt-passi{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.mt-st small{display:block;font:600 11px/1 'Inter',sans-serif;letter-spacing:.22em;color:var(--txt-3)}
.mt-st small i{font-style:normal;color:#8C80F0}
.mt-st h3{margin:10px 0 0;font:400 clamp(22px,2vw,32px)/1.1 'Syne',sans-serif;letter-spacing:-.02em}
.mt-st p{margin:10px 0 0;color:var(--txt-2);font-size:15px;line-height:1.6}
.mt-cin{display:block}
html:not(.fx) .mt-riga,html:not(.fx) .mt-avanz{display:none}   
html.fx .mt-pin{height:calc(100vh - var(--hd));height:calc(100svh - var(--hd));padding:0;overflow:hidden}
html.fx .mt-testa{position:absolute;left:0;right:0;top:var(--cima);z-index:2;display:flex;justify-content:center}   
html.fx .mt-passi{position:relative;z-index:2;width:min(620px,86vw);min-height:5.4em;margin:clamp(22px,4.2vh,46px) auto 0;display:block}   
html.fx .mt-st{position:absolute;left:0;right:0;top:0;opacity:0;text-align:center}
html.fx .mt-st small,html.fx .mt-st h3,html.fx .mt-avanz{display:none}   
html.fx .mt-st p{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.6}
html.fx .mt-cin{position:absolute;left:0;right:0;top:calc(var(--cima) + 30px);bottom:4vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.2vh;pointer-events:none}
.mt-riga{display:grid;justify-items:center;white-space:nowrap;font:600 clamp(48px,6.6vw,116px)/1 'Syne',sans-serif;letter-spacing:-.04em;color:var(--txt)}
.mt-riga b{grid-area:1/1;font-weight:600;padding:0 .04em .06em;opacity:0;will-change:transform,opacity}
.mt-centro{font-size:clamp(64px,11vw,200px);letter-spacing:-.05em}
.mt-centro b{background:linear-gradient(100deg,#6F9C8C,#8C80F0 50%,#C49A5E);-webkit-background-clip:text;background-clip:text;color:transparent}
.mt-avanz{display:flex;gap:8px;margin-top:clamp(22px,4.6vh,48px)}
@media (min-width:900px) and (max-height:700px){
  .mt-riga{font-size:min(clamp(48px,6.6vw,116px),10.5vh)}
  .mt-centro{font-size:min(clamp(64px,11vw,200px),17vh)}
  html.fx .mt-passi{margin-top:clamp(10px,2.4vh,22px)}
}
@media (min-width:900px) and (max-height:560px){
  .mt-riga{font-size:min(clamp(48px,6.6vw,116px),9vh)}
  .mt-centro{font-size:min(clamp(64px,11vw,200px),14vh)}
}
.mt-avanz i{width:clamp(26px,2.6vw,40px);height:2px;border-radius:2px;background:rgba(236,237,239,.14);position:relative;overflow:hidden}
.mt-avanz i::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#6F9C8C,#8C80F0,#C49A5E);transform-origin:0 50%;transform:scaleX(var(--p,0))}
#servizi,#perche,#progetti,#recensioni{
  --bg:#FFFFFF; --bg-3:#FFFFFF; --surface:#F2F2F3; --surface-2:#E6E6E8;
  --txt:#0B0B0C; --txt-2:#4B4E55; --txt-3:#6E727A;
  --line:rgba(11,11,12,.08); --line-2:rgba(11,11,12,.14);
  --irid-hi:var(--irid-t);                                  
  --card-fondo:linear-gradient(180deg,#F5F5F6,#ECECEE); --card-bordo:rgba(11,11,12,.07);
  color:var(--txt);z-index:3}
#servizi .sv-vis,#progetti .pj-in,#perche .pc-card{
  --surface:#212226; --surface-2:#2A2C31; --txt-3:#7D8188; --line:rgba(236,237,239,.08);
  --txt:#ECEDEF; --txt-2:#A6AAB1; --bg:#000000; --line-2:rgba(236,237,239,.14);
  --card-fondo:linear-gradient(180deg,#2E3036,#1E1F23); --card-bordo:rgba(236,237,239,.10);
  --irid-hi:linear-gradient(120deg,#6F9C8C,#8C80F0,#C49A5E);
  box-shadow:inset 0 0 0 1px var(--card-bordo),inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.35)}
#progetti .pj-in{box-shadow:inset 0 0 0 1px var(--card-bordo),0 40px 80px -30px rgba(0,0,0,.4)}
#servizi,#progetti{--onda:0px}
#progetti{z-index:5}
#servizi::before,#progetti::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--onda);background:#FFFFFF;clip-path:ellipse(62% 100% at 50% 100%);pointer-events:none}
#servizi,#recensioni{--chiusa:0px;z-index:5}
#servizi{z-index:7}
html.fx #servizi{margin-top:calc(var(--hd) - 100vh);margin-top:calc(var(--hd) - 100lvh)}   
#metodo{--chiusa:0px;z-index:6}   
#metodo::after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--chiusa);background:#000000;clip-path:ellipse(62% 100% at 50% 0%);pointer-events:none}   
#servizi::after,#recensioni::after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--chiusa);background:#FFFFFF;clip-path:ellipse(62% 100% at 50% 0%);pointer-events:none}
#problema::before,#servizi::before,#progetti::before{bottom:calc(100% - 2px);height:calc(var(--onda) + 2px)}
#servizi::after,#recensioni::after,#metodo::after{top:calc(100% - 2px);height:calc(var(--chiusa) + 2px)}
.hd.chiaro{--irid-hi:var(--irid-t); --bg:#FFFFFF; --txt:#0B0B0C; --txt-2:#4B4E55; --line:rgba(11,11,12,.06); --line-2:rgba(11,11,12,.14); --surface:#F2F2F3}
.hd.chiaro .burger{background:rgba(11,11,12,.05)}
.hd.scatto,.hd.scatto *,.hd.scatto *::before,.hd.scatto *::after{transition:none!important}
#perche{position:relative;z-index:4;background:var(--bg)}
.pc-pin{position:relative;display:grid;gap:28px;padding:clamp(70px,10vh,110px) var(--pad)}
.pc-lato .pc-h{margin:16px 0 0;font-size:clamp(30px,3.2vw,50px);font-weight:400;line-height:1.05;letter-spacing:-.03em}
.pc-lato .pc-h b{font-weight:600}
.pc-lato .s{margin-top:16px;max-width:40ch;font-size:clamp(14.5px,1.05vw,16px)}
.pc-mazzo{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pc-card{position:relative;container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;border-radius:8px;padding:8.5%;background:#000;color:var(--txt);box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.pc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Syne',sans-serif;font-size:clamp(12px,4cqw,16px);font-weight:500;color:#ECEDEF}
.pc-pt{display:flex;gap:4px}
.pc-pt i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3)}
.pc-pt i.on{background:#fff}
#perche .pc-img{position:relative;flex:none;height:auto;aspect-ratio:330/185;margin:5cqw 0 0;border-radius:6px;overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,#3a3c42,#141518 70%)}
.pc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}   
.pc-txt{margin-top:auto;padding-top:6cqw}
.pc-card h3{margin:0;font-family:'Syne',sans-serif;font-size:clamp(16px,4.75cqw,22px);font-weight:600;line-height:1.3;letter-spacing:-.02em;color:#fff}
.pc-card p{margin:2.5cqw 0 0;font-size:clamp(12px,3.3cqw,15px);line-height:1.5;color:#A6AAB1}
.pc-conta,.pc-ante{display:none}
html.fx #perche .pc-pin{display:block;height:calc(100svh - var(--hd));padding:0;overflow:hidden}
html.fx .pc-lato{position:absolute;left:var(--pad);top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:min(25vw,370px);z-index:2}
html.fx .pc-mazzo{--pc-w:clamp(300px,min(24vw,46vh),480px);display:grid;grid-template-columns:1fr;gap:0;position:absolute;left:50%;top:50%;width:var(--pc-w);translate:-50% -50%;z-index:3;perspective:1400px}   
html.fx .pc-card{position:relative;grid-area:1/1;min-height:calc(var(--pc-w) * 1.25)}
html.fx .pc-card:nth-child(1){z-index:4}html.fx .pc-card:nth-child(2){z-index:3}html.fx .pc-card:nth-child(3){z-index:2}html.fx .pc-card:nth-child(4){z-index:1}
html.fx .pc-conta{display:block;position:absolute;right:var(--pad);top:50%;translate:0 -50%;z-index:2;font-family:'Syne',sans-serif;font-weight:200;font-size:clamp(44px,5vw,84px);line-height:1;letter-spacing:-.04em}
.pc-conta span{color:var(--txt-3)}
html.fx .pc-ante{display:block;position:absolute;inset:0;z-index:6;pointer-events:none}
html.fx .pc-ante::before{content:"";position:absolute;left:calc(50% - 2px);width:4px;top:0;bottom:0;background:#000;opacity:var(--giunta,1)}   
.pc-anta{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:#000;will-change:transform}
.pc-anta.sx{left:0}.pc-anta.dx{right:0}
.pc-frase{position:absolute;top:0;bottom:0;width:200%;display:flex;align-items:center;justify-content:center;gap:.25em;font-family:'Syne',sans-serif;font-size:clamp(46px,8.5vw,150px);font-weight:300;line-height:1;letter-spacing:-.04em;color:#fff;white-space:nowrap}
.pc-frase b{font-weight:600}
.pc-anta.sx .pc-frase{left:0}.pc-anta.dx .pc-frase{right:0}
.pc-h{font-size:clamp(34px,4.8vw,76px);font-weight:400;line-height:1.05;margin-bottom:26px}
.pc-h b{font-weight:600}
@keyframes morph{25%{border-radius:58% 42% 34% 66%/62% 39% 61% 38%}50%{border-radius:36% 64% 52% 48%/38% 62% 38% 62%}75%{border-radius:66% 34% 47% 53%/55% 48% 52% 45%}}
@keyframes spin{to{rotate:360deg}}
@keyframes chat{0%{opacity:0;transform:translateY(14px) scale(.95)}6%,80%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes dot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.vis-report svg{position:absolute;left:4%;top:10%;width:92%;height:80%;overflow:visible}
#progetti{position:relative;padding:clamp(90px,14vh,160px) 0 clamp(60px,10vh,120px);background:var(--bg)}
.pj-wrap{display:grid;grid-template-columns:.78fr 1.62fr;gap:clamp(30px,4vw,70px);align-items:start}
.pj-side{position:sticky;top:18vh;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.pj-side .t{font-size:clamp(34px,4.4vw,66px)}
.pj-stack{display:flex;flex-direction:column;gap:6vh}
.pj-card{position:sticky;top:calc(12vh + var(--i,0)*22px);aspect-ratio:1440/1000;border-radius:8px;transform-origin:50% 0}   
.pj-card:nth-child(2){--i:1}.pj-card:nth-child(3){--i:2}
.pj-in{position:relative;will-change:transform;height:100%;display:grid;grid-template-columns:1fr;border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-bordo),0 40px 90px -30px rgba(0,0,0,.9)}
.pj-media{position:relative;overflow:hidden;background:var(--surface-2)}
.pj-media picture{display:block;height:100%}
.pj-media img{width:100%;height:100%;object-fit:cover;object-position:top}   
.pj-badge{position:absolute;color:#fff;background:rgba(23,24,27,.86)!important;left:18px;top:18px;padding:7px 14px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;background:rgba(23,24,27,.6);box-shadow:inset 0 0 0 1px var(--line-2)}
.pj-media:has(img[src*="smash"]) .pj-badge{left:auto;right:10px;top:auto;bottom:10px}   
.pj-tutta{position:absolute;inset:0;z-index:2;border-radius:8px}
.pj-shade{position:absolute;inset:0;border-radius:8px;background:#0b0c0e;opacity:0;pointer-events:none;z-index:1}
#recensioni{position:relative;background:var(--bg)}
.rv-pin{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(90px,14vh,150px) 0}
.rv-testa{display:flex;flex-direction:column;align-items:center}
.rv-testa .t{margin-top:16px;font-size:clamp(22px,2.2vw,32px)}
.rv-testa .s{margin:14px auto 0}
.rv-palco{position:relative;display:flex;flex-direction:column;gap:70px;max-width:1080px;margin-top:clamp(40px,6vh,70px)}
.rv-cit{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rv-virg{width:52px;height:40px;margin-bottom:14px;fill:none;stroke:url(#g-irid-h);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rv-cit blockquote{margin:0}
.rv-cit blockquote p{font-family:'Syne',sans-serif;font-weight:300;font-size:clamp(22px,2.6vw,38px);line-height:1.3;letter-spacing:-.02em;max-width:26em;color:var(--txt)}
.rv-who{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;text-align:left}
.rv-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;letter-spacing:.04em;background:var(--irid);color:#fff;flex:none}
.rv-who b{display:block;font-size:15px}
.rv-who span span{font-size:13px;color:var(--txt-3)}
.rv-tacche{display:none}
html.fx .rv-pin{height:calc(100vh - var(--hd));height:calc(100svh - var(--hd));justify-content:center;padding:20px 0;overflow:hidden}
html.fx .rv-palco{display:block;width:100%;height:min(400px,48vh);margin-top:clamp(20px,4vh,40px)}
html.fx .rv-cit{position:absolute;inset:0;padding:0 var(--pad);opacity:0;will-change:opacity,transform}
html.fx .rv-cit blockquote .w{opacity:.14}
html.fx .rv-who{opacity:0}
html.fx .rv-tacche{display:flex;gap:2px;margin-top:clamp(20px,4vh,40px)}
.rv-tac{border:0;padding:12px 3px;background:none;cursor:pointer}
.rv-tac i{display:block;position:relative;width:34px;height:3px;border-radius:3px;background:rgba(11,11,12,.1);overflow:hidden}
.rv-tac i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#4A6E62,#6154D1,#8A6A3E);transform:scaleX(var(--p,0));transform-origin:0 50%}
.rv-tac:hover i{background:rgba(11,11,12,.2)}
#faq{position:relative;padding:clamp(140px,21vh,240px) 0 max(44vh,280px);background:var(--bg)}
@media (max-width:899px){#faq{padding-bottom:24px}}   
.faq-wrap{display:grid;grid-template-columns:.9fr 1.5fr;gap:clamp(30px,5vw,90px);align-items:start}
.faq-side{position:sticky;top:18vh}
.faq-side .t{margin-top:18px;font-size:clamp(32px,4vw,60px)}
#faq .faq-wrap{grid-template-columns:1fr;justify-items:center;gap:clamp(30px,5vh,56px)}
#faq .faq-side{position:relative;top:auto;display:flex;flex-direction:column;align-items:center;max-width:760px;text-align:center}
#faq .fh-cerca{width:min(560px,100%);max-width:none}
#faq .fh-spunti{justify-content:center;max-width:none}
.faq{counter-reset:q;border-top:1px solid var(--line-2)}
.qa{border-bottom:1px solid var(--line-2);counter-increment:q}
.qa h3{font-size:inherit;font-weight:inherit;letter-spacing:0;line-height:inherit}
.qa button{position:relative;display:flex;gap:18px;align-items:baseline;width:100%;padding:26px 56px 26px 0;border:0;background:none;text-align:left;cursor:pointer;font-family:'Syne',sans-serif;font-size:clamp(17px,1.45vw,21px);font-weight:400;letter-spacing:-.01em;line-height:1.35;color:var(--txt);transition:color .3s}
.qa button::before{content:counter(q,decimal-leading-zero);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--txt-3);flex:none;width:24px}
.qa button::after{content:"";position:absolute;right:6px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2);background:linear-gradient(var(--txt),var(--txt)) center/12px 1.5px no-repeat,linear-gradient(var(--txt),var(--txt)) center/1.5px 12px no-repeat;transition:transform .5s var(--ease),background-color .3s}
.qa button[aria-expanded="true"]::after{transform:rotate(135deg);background-color:rgba(93,79,208,.35)}
.qa button:hover{color:#fff}
.qa .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.qa .a>div{overflow:hidden}
.qa.open .a{grid-template-rows:1fr}
.qa .a p{padding:0 56px 28px 42px;color:var(--txt-2);font-size:16px;max-width:72ch}
.faq-tutte{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-family:'Syne',sans-serif;font-size:16px;font-weight:600;color:var(--txt);text-decoration:none}   
.faq-tutte svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.faq-tutte:hover svg{transform:translateX(5px)}
.fh-cerca{position:relative;margin-top:clamp(28px,4vh,40px);max-width:420px}
.fh-cerca label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fh-cerca input{width:100%;height:56px;padding:0 52px 0 50px;border:0;border-radius:999px;background:rgba(236,237,239,.06);box-shadow:inset 0 0 0 1px rgba(236,237,239,.14);font:400 16px/1.2 'Inter',sans-serif;color:#ECEDEF;-webkit-appearance:none;appearance:none;outline:none;transition:background-color .3s,box-shadow .4s var(--ease)}
.fh-cerca input::placeholder{color:#7D8188}
.fh-cerca input::-webkit-search-cancel-button{display:none}
.fh-cerca input:focus{background:rgba(236,237,239,.09);box-shadow:inset 0 0 0 1.5px #8C80F0,0 20px 50px -24px rgba(140,128,240,.55)}
.fh-lente{position:absolute;left:19px;top:50%;width:20px;height:20px;margin-top:-10px;color:#7D8188;pointer-events:none;transition:color .3s}
.fh-cerca input:focus+.fh-lente,.fh-cerca.piena .fh-lente{color:#ECEDEF}
.fh-via{position:absolute;right:9px;top:50%;width:38px;height:38px;margin-top:-19px;border:0;border-radius:50%;background:transparent;color:#A6AAB1;cursor:pointer;display:none;place-items:center;transition:background-color .3s,color .3s}
.fh-via:hover{background:rgba(236,237,239,.08);color:#fff}
.fh-via svg{width:15px;height:15px}
.fh-cerca.piena .fh-via{display:grid}
.fh-spunti{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:420px}
.fh-spunti button{padding:7px 13px;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px rgba(236,237,239,.14);font:500 13px/1.2 'Inter',sans-serif;color:#A6AAB1;cursor:pointer;transition:box-shadow .3s,color .3s}
.fh-spunti button:hover{color:#fff;box-shadow:inset 0 0 0 1px #8C80F0}
.fh-stato{min-height:1.5em;margin-top:14px;font-size:13.5px;color:#7D8188}
.fh-stato b{color:#ECEDEF;font-weight:600}
#faq .faq{transition:opacity .25s}
#faq .faq.cambio{opacity:0}
#faq .faq.cerca>.qa:not(.fh-r),#faq .faq.cerca>.faq-tutte{display:none}
.fh-r .fh-cat{display:block;padding:0 0 0 42px;margin:-14px 0 18px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7D8188}
.fh-r mark{background:rgba(140,128,240,.28);color:inherit;border-radius:3px;padding:0 .08em}
.fh-r .a ul{margin:0;padding:0 56px 22px 62px;color:var(--txt-2);font-size:16px;max-width:72ch}
.fh-r .a li+li{margin-top:6px}
.fh-r .a p+p{margin-top:-14px}
.fh-r .a a,.fh-vuoto a{color:#ECEDEF;text-decoration:underline;text-decoration-color:rgba(140,128,240,.7);text-underline-offset:3px}
.fh-tutte{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-family:'Syne',sans-serif;font-size:16px;font-weight:600;color:#ECEDEF;text-decoration:none}
.fh-tutte svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.fh-tutte:hover svg{transform:translateX(5px)}
.fh-vuoto{padding:28px 0;border-bottom:1px solid var(--line-2)}
.fh-vuoto h3{font-size:clamp(20px,1.8vw,26px);font-weight:500;letter-spacing:-.02em}
.fh-vuoto p{margin-top:10px;color:var(--txt-2);max-width:56ch}
@media (max-width:899px){   
  .fh-cerca,.fh-spunti{max-width:none}
  .fh-cerca input{height:52px}
  .fh-r .a ul{padding:0 0 20px 60px}
}
#faq .faq{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:10px 14px;width:100%;border-top:0;isolation:isolate}
#faq .faq-tutte,#faq .fh-tutte,#faq .fh-vuoto{grid-column:1/-1;justify-self:center}
#faq .faq.cerca{grid-template-columns:1fr;max-width:900px;margin:0 auto}   
#faq .qa{position:relative;border-bottom:0;border-radius:34px;background:rgba(236,237,239,.05);transition:background-color .5s,border-radius .6s var(--ease)}
#faq .qa:hover{background:rgba(236,237,239,.08)}
#faq .qa.open{border-radius:22px;background:rgba(236,237,239,.07)}
#faq .qa::before{content:"";position:absolute;inset:10% 6%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(140,128,240,.35),rgba(111,156,140,.15) 60%,transparent);filter:blur(30px);opacity:0;transition:opacity .7s;pointer-events:none}
#faq .qa.open::before{opacity:1}
#faq .qa button{align-items:center;padding:18px 66px 18px 26px;font-family:'Inter',sans-serif;font-size:clamp(15.5px,1.2vw,18px);font-weight:500;letter-spacing:0}
#faq .qa button::before{display:none}
#faq .qa button::after{right:16px;background:linear-gradient(#fff,#fff) center/12px 1.6px no-repeat,linear-gradient(#fff,#fff) center/1.6px 12px no-repeat,#000;box-shadow:inset 0 0 0 1px rgba(236,237,239,.16);transition:background-size .5s var(--ease),transform .5s var(--ease)}
#faq .qa button[aria-expanded="true"]::after{transform:none;background-size:12px 1.6px,1.6px 0,auto}
#faq .qa .a p{padding:0 70px 24px 26px}
#faq .faq-tutte{margin-top:20px}
#faq .fh-r .fh-cat{padding-left:26px;margin:-8px 0 14px}
#faq .fh-r .a ul{padding:0 70px 22px 46px}
#faq .fh-vuoto{border-bottom:0}
@media (max-width:899px){   
  #faq .qa button{padding:14px 58px 14px 20px}
  #faq .qa button::after{right:12px}
  #faq .qa .a p{padding:0 20px 20px}
  #faq .fh-r .fh-cat{padding-left:20px}
  #faq .fh-r .a ul{padding:0 20px 20px 40px}
}
#contatti{position:relative;z-index:2;background:var(--bg-3);overflow-x:clip}
.ct-in{position:relative;z-index:2;min-height:calc(100vh - 96px - var(--hd));min-height:calc(100svh - 96px - var(--hd));display:flex;align-items:center;padding-top:16vh;padding-bottom:40px}
.ct-text{display:flex;flex-direction:column;align-items:center;gap:26px;max-width:min(46%,640px)}
.ct-h{font-size:min(clamp(40px,4.6vw,88px),calc((min(100vw,1360px) - 2 * var(--pad)) * .46 / 8.8));line-height:.98;letter-spacing:-.04em;perspective:900px;text-align:center}
.ct-h .split{display:block;white-space:nowrap}
.ct-h b{font-weight:600}
.ct-robot{position:absolute;left:36%;right:0;top:0;bottom:-60px;z-index:1;pointer-events:none}
html.fx .ct-robot{opacity:0;transition:opacity .5s var(--ease)}   
html.fx #contatti.robot-vivo .ct-robot{opacity:1}
@media (min-width:900px){ .ct-text,.ct-robot{translate:clamp(0px,(1920px - 100vw) * .15,90px) 0} }   
@keyframes gira{to{transform:rotate(360deg)}}
.ari-slot{position:absolute;inset:0}
.ari-slot canvas{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity 1.2s var(--ease)}
.ari-slot.pronto canvas{opacity:1}
.ari-fermo{display:none}
.ari-slot.fermo .ari-fermo{display:block;position:absolute;left:58%;bottom:0;width:min(90%,620px);translate:-50% 0}
.ft{position:relative;z-index:0;background:var(--bg-3);padding:60px 0 0;overflow:hidden;font-size:14px;color:var(--txt-3)}
.ft-grid{display:grid;grid-template-columns:1.5fr .9fr 1.15fr .9fr;gap:40px;padding-top:40px;border-top:1px solid var(--line)}
.ft-info{line-height:1.8}
.ft-info b{color:var(--txt)}
.ft a{text-decoration:none;transition:color .3s}
.ft a:hover{color:var(--txt)}
.ft-nav,.ft-legal{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.social{display:flex;gap:10px;margin-top:10px}
.social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2)}
.social img{width:18px;height:18px}
.social .tx{display:none;font-size:11px;font-weight:700}
.social a.noimg .tx{display:block}
.ft-word{margin-top:50px;line-height:.9;text-align:center;overflow:hidden;padding-bottom:5vw}
.ft-word span{display:block;font-family:'Sora',sans-serif;font-weight:600;font-size:24.5vw;letter-spacing:-.04em;background:linear-gradient(180deg,rgba(236,237,239,.2),rgba(236,237,239,.035) 92%,rgba(236,237,239,0));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.anim-ferme .sv-vis::before,.anim-ferme .btn-ir::before{animation-play-state:paused!important}
html.js:not(.rm) .rv{opacity:0;transform:translateY(28px)}
html.js:not(.rm) .rv.in{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
@media (max-width:1420px){ .hd-nav a{padding:10px 10px;letter-spacing:.1em} }
@media (max-width:1360px){
  .hd-contatti{display:none}
}
@media (max-width:1180px){
  .hd-nav{display:none}
  .burger{display:block}
}
@media (max-width:899px){
  :root{--hd:68px}
  body{font-size:16px}
  .burger{display:block}
  .hd-cta{display:none}
  .logo .ds,.logo .w+.sep{display:none}
  .hero-intro{min-height:0;height:60vw;align-items:center;padding:0 16px}   
  .hero-k{font-size:10.5px;letter-spacing:.24em;gap:9px}
  .hero-k::before,.hero-k::after{width:16px}
  .hero-h1{font-size:min(8.1vw,46px)}   
  
  .hero-cta{margin-top:20px}
  .hero-cta .btn{padding:9px 16px;font-size:13px}
  .hero-cta .btn-outline{padding:8px 15px}
  .hero-cta .cta-row{flex-wrap:nowrap;gap:8px}
  .zp-box{width:34vw;height:34vh}
  .zp-layer[data-i="1"] .zp-box{top:-33vh;left:16vw;width:46vw;height:18vh}
  .zp-layer[data-i="2"] .zp-box{top:-11vh;left:-33vw;width:28vw;height:30vh}
  .zp-layer[data-i="3"] .zp-box{top:5vh;left:34vw;width:28vw;height:22vh}
  .zp-layer[data-i="4"] .zp-box{top:31vh;left:12vw;width:36vw;height:15vh}
  .zp-layer[data-i="5"] .zp-box{top:28vh;left:-28vw;width:38vw;height:19vh}
  .zp-layer[data-i="6"] .zp-box{top:19vh;left:38vw;width:20vw;height:12vh}
  .zp-layer[data-i="7"] .zp-box{top:-36vh;left:-30vw;width:30vw;height:12vh}
  .pb-pin{padding:90px 20px 70px}
  .pb-h,.pb-r{font-size:min(calc((100vw - 40px) / 13),44px);max-width:none}
  .pb-h .pb-l1,.pb-h .pb-l2,.pb-r{white-space:nowrap}
  .pb-shot{width:min(78vw,(100svh - 190px) / 2);aspect-ratio:1/2}   
  .sec-head{grid-template-columns:1fr}
  #servizi .sec-head .t{font-size:min(34px,calc((100vw - 2 * var(--pad)) / 11.6))}   
  .sv-pin{min-height:0;padding:40px 0 20px}
  .sv-stage{display:block}
  .sv-list{width:100%;display:flex;flex-direction:column;gap:18px}
  .sv-item{padding:24px;border-radius:8px;background:var(--card-fondo);box-shadow:inset 0 0 0 1px var(--card-bordo)}
  .sv-n{transform:none;display:block;margin-bottom:8px}
  .sv-t{display:block;opacity:1;font-size:clamp(26px,7vw,34px);background:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent}
  .sv-m,.sv-item.is-on .sv-m{position:static;width:100%;opacity:1;visibility:visible;transform:none;margin-top:18px}
  #metodo{--cima:calc(min(max(16vw,48px),120px) + 24px)}
  .mt-pin{padding:var(--cima) 20px 40px}
  .mt-passi{grid-template-columns:1fr;gap:26px}
  .mt-st p{font-size:13.5px}
  .mt-riga{font-size:8.4vw}.mt-centro{font-size:11.6vw}
  .pc-pin{padding:70px 20px}
  .pc-mazzo{grid-template-columns:1fr}
  html.fx .pc-lato{left:0;right:0;top:0;bottom:auto;display:block;width:auto;padding:18px 20px 16px;background:var(--bg);z-index:5}   
  html.fx .pc-lato .pc-h{font-size:26px;margin-top:10px}
  html.fx .pc-lato .s{display:none}
  html.fx .pc-mazzo{top:calc(50% + 52px);--pc-w:min(82vw,345px,calc((100svh - var(--hd) - 190px) * .8))}
  html.fx .pc-mazzo{top:calc(50% + 66px)}   
  html.fx .pc-card h3{font-size:20px}html.fx .pc-card p{font-size:15px}   
  html.fx .pc-conta{top:22px;translate:none;right:20px;font-size:26px;z-index:5}
  .pc-frase{font-size:13vw}
  
  .pj-wrap{grid-template-columns:1fr}
  .pj-side{position:relative;top:auto}
  .pj-card{top:calc(80px + var(--i,0)*14px);height:auto;aspect-ratio:auto}
  .pj-media img{object-position:50% 50%}   
  .pj-media{aspect-ratio:9/10}
  .faq-wrap{grid-template-columns:1fr}
  .faq-side{position:relative;top:auto}
  .qa button{padding-right:50px}
  .qa .a p{padding:0 0 24px 42px}
  
  #faq .faq{grid-template-columns:1fr}
  #contatti{--ari-h:min(calc(100vw * .821 + 95px),calc(100svh - 200px))}
  #contatti{display:flex;flex-direction:column;justify-content:flex-end;min-height:calc(100vh - 3px - var(--hd));min-height:calc(100lvh - 3px - var(--hd))}
  .ct-in{display:block;min-height:0;padding-top:84px;padding-bottom:var(--ari-h)}
  .ct-text{max-width:none}
  .ct-robot{left:0;top:auto;bottom:0;height:var(--ari-h)}   
  .ft{padding-top:0}   
  html.fin-attesa .ft{height:3px;padding:0;overflow:hidden}
  html.svlock{touch-action:pinch-zoom;overscroll-behavior:none}
  .ari-slot.fermo .ari-fermo{left:50%}
  .ct-h{font-size:min(8.1vw,46px)}
  .ct-text .btn-xl{padding:9px 16px;font-size:13px}
  
  .ft-grid{grid-template-columns:1fr auto;gap:28px 20px}
  .ft-info{grid-column:1/-1}
  .ft-legal{align-items:flex-end;text-align:right}
  .ft-legal .social{justify-content:flex-end}
}
html.fx #progetti{padding:0}
html.fx .pj-wrap{height:calc(100vh - var(--hd));height:calc(100svh - var(--hd));align-items:center;padding-top:clamp(24px,4vh,48px);padding-bottom:clamp(30px,6vh,60px)}
html.fx .pj-side{position:relative;top:auto;align-self:center}
html.fx .pj-stack{position:relative;display:block;aspect-ratio:1440/1000;width:min(100%,calc(72vh * 1.44),922px);justify-self:end;clip-path:inset(-60px -60px 0 -60px)}
html.fx .pj-card{position:absolute;left:0;right:0;top:0;height:100%}
@media (max-width:899px){
  html.fx .sv-pin{height:calc(100svh - var(--hd));min-height:0;padding:20px 0 0;justify-content:flex-start}
  html.fx .sv-stage{display:block;flex:none}
  html.fx .sv-list{gap:4px}
  html.fx .sv-item{padding:4px 0;border-radius:0;background:none;box-shadow:none}
  html.fx .sv-n{display:inline-block;margin:0 10px 0 0;transform:translateY(-.3em)}
  html.fx .sv-t{display:inline;font-size:clamp(21px,5.8vw,26px);opacity:.22;background:none;color:var(--txt)}
  html.fx .sv-item.is-on .sv-t{opacity:1;background:var(--irid-hi);-webkit-background-clip:text;background-clip:text;color:transparent}
  html.fx .sv-m{position:static;width:auto;max-height:0;overflow:hidden;margin:0;opacity:0;visibility:hidden;transform:none;
    transition:max-height .7s var(--ease),margin .7s var(--ease),opacity .4s var(--ease),visibility 0s .7s}
  html.fx .sv-item.is-on .sv-m{position:static;width:auto;max-height:var(--sv-h,560px);margin:12px 0 10px;opacity:1;visibility:visible;transform:none;
    transition:max-height .7s var(--ease),margin .7s var(--ease),opacity .6s var(--ease) .15s,visibility 0s}
  html.fx .sv-vis{aspect-ratio:16/10}
  html.fx .sv-m p{margin-top:14px;font-size:14.5px;line-height:1.55}
  html.fx .sv-link{margin-top:12px;font-size:14px}
  
  html.fx #servizi .sv-pin{padding:16px 0 0}
  html.fx #servizi .sec-head{margin-bottom:36px;gap:8px}   
  html.fx #servizi .sv-list{gap:6px}
  html.fx #servizi .sv-vis{aspect-ratio:16/10;max-width:100%}
  html.fx .mt-pin{padding:0}
  html.fx .mt-testa{left:0}
  html.fx .mt-passi{align-self:stretch;width:auto;margin:22px 20px 0;min-height:6.6em}
  html.fx .mt-st p{font-size:14.5px}
  html.fx .mt-cin{top:calc(var(--cima) + 24px);bottom:6vh;gap:.6vh}
  html.fx .mt-avanz{margin-top:22px}
  html.fx .pj-wrap{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-top:20px;padding-bottom:20px}
  html.fx .pj-side{gap:10px;align-self:stretch}
  html.fx .pj-side .t{font-size:clamp(28px,8vw,36px)}
  html.fx .pj-side .s{font-size:14px}
  html.fx .pj-side .btn{padding:10px 18px;font-size:13px}
  html.fx .pj-stack{flex:1;min-height:0;height:auto;width:auto;aspect-ratio:auto}
  html.fx .pj-card{height:100%}
  html.fx .pj-in{grid-template-rows:minmax(0,1fr)}
  html.fx .pj-media{aspect-ratio:auto;min-height:0}
  html.fx .pj-media img{object-fit:cover;object-position:50% 50%}   
  html .pj-media:has(img[src*="smash"]){background:#151210}
  html .pj-media:has(img[src*="smash"]) img{object-fit:cover;object-position:50% 50%}
  html .pj-media:has(img[src*="ombra-interni"]),html .pj-media:has(img[src*="lesena"]){background:#1b1815}
  html .pj-media:has(img[src*="circolo-valverde"]),html .pj-media:has(img[src*="valverde"]){background:#1d2a1b}
  html .pj-media:has(img[src*="lesena"]) img,html .pj-media:has(img[src*="ombra-interni"]) img,html .pj-media:has(img[src*="valverde"]) img{object-fit:cover;object-position:50% 50%}
  html.fx .pj-media picture{position:absolute;inset:0;height:auto}
  html.fx .pj-media img{position:absolute;inset:0;display:block}
  html .pj-media.pj-intera{background:var(--pj-fondo,#1b1815)}
  html .pj-media.pj-intera img{object-fit:cover;object-position:50% 50%}
  html.fx .pj-badge{left:auto;right:10px;top:auto;bottom:10px;color:#fff}   
  html.fx   html.fx   html.fx   html.fx 
  .rv-pin{padding:90px 0 70px}
  .rv-cit blockquote p{font-size:clamp(19px,5.4vw,24px)}
  html.fx .rv-testa .t,html.fx .rv-testa .s{display:none}      
  html.fx .rv-palco{height:min(430px,58svh)}
}
@media (max-width:899px) and (max-height:700px) and (orientation:landscape){
  html.fx #servizi .sec-head{margin-bottom:14px}
  html.fx #servizi .sv-vis{float:inline-start;width:var(--sv-foto,96px)!important;margin-block:3px 4px;margin-inline-end:12px}
  html.fx #servizi .sv-m p{margin-top:0;font-size:var(--sv-fs,13px);line-height:1.4}
  html.fx #servizi .sv-link{display:flex;clear:both;margin-top:6px;font-size:13px}
  html.fx .sv-item.is-on .sv-m{margin:8px 0 6px}
}
@media (max-width:899px) and (max-height:600px){
  html.fx #servizi .sv-pin{padding-top:10px}
  html.fx #servizi .sec-head{margin-bottom:8px;gap:4px}
  html.fx #servizi .sec-head .t{font-size:24px!important}
  html.fx #servizi .sv-list{gap:0}
  html.fx #servizi .sv-item{padding:3px 0}
  html.fx .sv-t{font-size:18px}
}
@media (max-width:899px) and (max-height:480px) and (orientation:landscape){
  html.fx #servizi .sec-head .t{font-size:22px!important}
  html.fx #servizi .sv-list{width:50%}
  html.fx #servizi .sv-m,html.fx .sv-item.is-on .sv-m{position:absolute;inset-inline-end:var(--pad);top:0;width:44%;margin:0}
}
@media (min-width:600px) and (max-width:899px) and (min-aspect-ratio:637/1000){
  html.fx .pj-stack{flex:none;width:min(100%,calc((100svh - 300px)*1.25));aspect-ratio:5/4;align-self:center}
}
@media (max-width:899px) and (max-height:680px){
  html.fx #servizi .sec-head{margin-bottom:28px}
}
@media (max-width:899px) and (max-height:720px){
  html.fx .sv-foto img[src*="servizi/seo-"]{object-position:50% 36%}   
  html.fx .sv-vis{aspect-ratio:2/1}   
}
@media (max-width:899px) and (orientation:portrait){
  html.fx #servizi .sec-head{margin-bottom:clamp(10px,2.6svh,30px)}
  html.fx #servizi .sv-vis{aspect-ratio:auto;width:calc(var(--sv-alta,190px) * 1.336)!important;max-width:100%;height:var(--sv-alta,190px)}   
  html.fx #servizi .sv-m p{margin-top:9px;font-size:var(--sv-fs,15px);line-height:1.42}
  html.fx #servizi .sv-link{display:flex;margin-top:7px;font-size:14px}
  html.fx .sv-item.is-on .sv-m{margin:9px 0 0}
  html.fx #servizi .sv-list{gap:2px}
  html.fx #servizi .sv-item{padding:2px 0}
  html.fx #servizi .sv-t{font-size:18px}   
  html.fx #servizi .sv-item.is-on .sv-t{font-size:clamp(20px,5.8vw,26px)}
}
@media (max-width:899px) and (orientation:portrait) and (max-height:600px){
  html.fx #servizi .sec-head .t{display:none}   
  html.fx #servizi .sec-head{margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.pb-shot.stz{aspect-ratio:16/9;width:min(1100px,84vw);background:#000}
.stz-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stz-c{position:absolute;inset:0;width:100%;height:100%;display:block}
html.fx .pb-shot.stz{left:0;top:0;right:0;bottom:0;translate:none;width:auto;aspect-ratio:auto}
html.fx .stz-poster{display:none}
.ls{position:absolute;inset:0;z-index:3;container-type:size;opacity:0;visibility:hidden;pointer-events:none;background:#1D1B19;color:#F4EEE4;font-family:'Ls Sans',system-ui,sans-serif;text-align:left;line-height:1.5}
html:not(.fx) .ls{display:none}
.ls-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--ox,50%) 50%}
.ls-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,27,25,.74) 0%,rgba(29,27,25,.38) 34%,rgba(29,27,25,0) 60%),linear-gradient(0deg,rgba(29,27,25,.6) 0%,rgba(29,27,25,0) 36%),linear-gradient(180deg,rgba(29,27,25,.5) 0%,rgba(29,27,25,0) 22%)}
.ls-nav{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:2.5cqw;padding:1.25cqw 4.5cqw}
.ls-brand{display:inline-flex;align-items:center;gap:.83cqw;font:400 1.875cqw/1 'Ls Serif',serif;white-space:nowrap}
.ls-brand svg{width:2.08cqw;height:2.08cqw}
.ls-brand small{font:500 .76cqw/1 'Ls Sans',sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#E6C79C;margin-top:.2cqw}
.ls-links{display:flex;gap:2.08cqw;margin-left:auto;font-size:.97cqw;letter-spacing:.03em;opacity:.9}
.ls-btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.33cqw;padding:0 1.8cqw;border-radius:999px;font:500 .97cqw/1 'Ls Sans',sans-serif;letter-spacing:.03em;border:1px solid transparent;white-space:nowrap}
.ls-light{background:#F4EEE4;color:#1D1B19}
.ls-line{border-color:rgba(244,238,228,.5)}
.ls-cta{min-height:2.92cqw;padding:0 1.39cqw;font-size:.9cqw}
.ls-intro{position:absolute;left:4.5cqw;bottom:12cqh;display:block}
.ls-kicker{display:flex;align-items:center;gap:.83cqw;margin-bottom:1.53cqw;font:500 .83cqw/1 'Ls Sans',sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#E6C79C}
.ls-kicker::before{content:"";width:1.8cqw;height:1px;background:currentColor}
.ls-h1{display:block;white-space:nowrap;font:300 7cqw/.94 'Ls Serif',serif;letter-spacing:-.015em;text-shadow:0 2px 40px rgba(29,27,25,.35)}
.ls-h1 i,.ls-t i{color:#E6C79C}
.ls-lead{display:block;max-width:29em;margin-top:1.8cqw;font-size:1.25cqw;color:rgba(244,238,228,.9)}
.ls-act{display:flex;gap:1cqw;margin-top:2.2cqw}
.ls-specs{position:absolute;inset:0}
.ls-spec{--v:0;position:absolute;display:block;max-width:25cqw;opacity:var(--v);transform:translateY(calc((1 - var(--v)) * 1.25cqw));text-shadow:0 1px 2px rgba(29,27,25,.45),0 2px 26px rgba(29,27,25,.6)}
.ls-spec::before{content:"";display:block;width:3.2cqw;height:1px;margin-bottom:1.1cqw;background:#E6C79C;transform-origin:left;transform:scaleX(var(--v))}
.ls-n{display:block;margin-bottom:.83cqw;font:500 .76cqw/1 'Ls Sans',sans-serif;letter-spacing:.24em;color:#E6C79C}
.ls-t{display:block;font:300 2.9cqw/1.02 'Ls Serif',serif}
.ls-d{display:block;margin-top:.83cqw;font-size:.9cqw;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,238,228,.82)}
.ls-l1{left:4.5cqw;top:22cqh}
.ls-l2{left:4.5cqw;bottom:16cqh}
.ls-r1{right:12.8cqw;top:22cqh;text-align:right}
.ls-r2{right:12.8cqw;bottom:16cqh;text-align:right}
.ls-r1::before,.ls-r2::before{margin-left:auto;transform-origin:right}
.ls-end{left:4.5cqw;top:22cqh}
.ls-end::before{display:none}
.ls-end .ls-t{font-size:3.6cqw}
@media (max-aspect-ratio:1/1){
  .ls-veil{background:linear-gradient(0deg,rgba(29,27,25,.84) 0%,rgba(29,27,25,.5) 30%,rgba(29,27,25,0) 58%),linear-gradient(180deg,rgba(29,27,25,.55) 0%,rgba(29,27,25,0) 24%)}
  .ls-nav{gap:3cqw;padding:4.3cqw 5.3cqw}
  .ls-brand{gap:2.6cqw;font-size:6.4cqw}
  .ls-brand svg{width:7cqw;height:7cqw}
  .ls-brand small,.ls-links{display:none}
  .ls-cta{margin-left:auto;min-height:10.7cqw;padding:0 4.3cqw;font-size:3.2cqw}
  .ls-intro{left:5.3cqw;right:5.3cqw;bottom:13cqh}
  .ls-kicker{gap:2.4cqw;margin-bottom:4cqw;font-size:2.9cqw}
  .ls-kicker::before{width:6cqw}
  .ls-h1{white-space:normal;font-size:13cqw}
  .ls-lead{max-width:none;margin-top:4.5cqw;font-size:4cqw}
  .ls-act{gap:2.6cqw;margin-top:5.5cqw}
  .ls-act .ls-btn{min-height:11.7cqw;padding:0 5cqw;font-size:3.5cqw}
  .ls-spec{max-width:none;left:5.3cqw;right:5.3cqw;text-align:left;transform:translateY(calc((1 - var(--v)) * 4cqw))}
  .ls-spec::before{width:9cqw;margin-bottom:3.2cqw}
  .ls-l1,.ls-r1,.ls-end{top:14cqh;bottom:auto}
  .ls-l2,.ls-r2{top:auto;bottom:11cqh}
  .ls-r1::before,.ls-r2::before{margin-left:0;transform-origin:left}
  .ls-n{margin-bottom:2.4cqw;font-size:2.7cqw}
  .ls-t{font-size:8.5cqw}
  .ls-d{margin-top:2.4cqw;font-size:3cqw}
  .ls-end .ls-t{font-size:11cqw}
}
.st{container-type:size;--ox:50%;--st-oro:#BF9E64;--st-perg:#EFE4D2;--st-g:4.5cqw;background:#1E0F16;color:var(--st-perg);font-family:'St Sans',system-ui,sans-serif;text-align:left;line-height:1.5}
.st-nav{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:2.25cqw;padding:1.125cqw var(--st-g)}
.st-cta{min-height:2.625cqw;padding:0 1.25cqw;font-size:.8125cqw}
.st-nav{transition:opacity .45s}
.st.grande .st-nav{opacity:0}
.st-lead{display:block;margin-top:1.625cqw;max-width:30em;font-size:1.19cqw;line-height:1.6;color:rgba(239,228,210,.86)}
@media (max-width:899px){.st{--st-g:11cqw}}
@container (orientation:portrait){
  .st-nav{padding:4.6cqw var(--st-g)}
  .st-cta{display:none}
  
  
  
  .st-lead{font-size:4.1cqw;margin-top:6.7cqw}
  
  
  
  
  
  
}
html.cookie-attesa:not(.cookie-via) #iubenda-cs-banner{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html.cookie-via #iubenda-cs-banner{animation:cookie-entra .7s cubic-bezier(.22,1,.36,1) both}
@keyframes cookie-entra{from{opacity:0}to{opacity:1}}   
html.cookie-blocco,html.cookie-blocco body{overflow:hidden!important;overscroll-behavior:none}
.salto{position:fixed;inset:0;z-index:79;background:#000;opacity:0;pointer-events:none;transition:opacity .17s ease}
html.salto-via .salto{opacity:1}
@font-face{font-family:'Lv Syne';font-weight:400 800;font-display:swap;src:url(../assets/fonts/aleryc-syne.woff2) format('woff2')}
@font-face{font-family:'Lv Geist';font-weight:100 900;font-display:swap;src:url(../assets/fonts/lanterna-geist.woff2) format('woff2')}
.zp-box.lv{container-type:size;background:#0B121A;color:#EEEAE3;font-family:'Lv Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-align:left;line-height:1.2;-webkit-font-smoothing:antialiased}
.zp-box.lv img.lv-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.lv-palco{position:absolute;left:0;right:0;top:0;bottom:0;overflow:hidden;opacity:0;transition:opacity .4s}
.lv.pronto .lv-palco{opacity:1}
.lv-tela{position:absolute;inset:0;width:100%;height:100%;display:block;transform-origin:50% 42%}
.lv-velo{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,14,22,.86) 0%,rgba(8,14,22,.6) 26%,rgba(8,14,22,.16) 46%,rgba(8,14,22,0) 58%),linear-gradient(180deg,rgba(8,14,22,.55) 0%,rgba(8,14,22,0) 18%,rgba(8,14,22,0) 72%,rgba(8,14,22,.6) 100%)}
.lv-ui{position:absolute;inset:0;pointer-events:none}
.lv-sopra{position:absolute;left:0;top:0;width:0;height:0;container-type:size;overflow:hidden;pointer-events:none;color:#EEEAE3;font-family:'Lv Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-align:left;line-height:1.2;-webkit-font-smoothing:antialiased}
.lv-nav{position:absolute;left:4.4cqw;right:4.4cqw;top:2.1cqw;display:flex;align-items:center;justify-content:space-between;opacity:var(--lv-nav,1)}
.lv-logo{display:flex;align-items:center;gap:.83cqw}
.lv-sopra .lv-logo img{width:2.36cqw;height:auto;object-fit:contain}
.lv-logo b{display:block;white-space:nowrap;font-family:'Lv Syne',sans-serif;font-weight:600;font-size:.97cqw;letter-spacing:.2em}
.lv-logo small{display:block;margin-top:.2cqw;font-size:.7cqw;letter-spacing:.26em;text-transform:uppercase;color:#9FB4C2}
.lv-nav ul{display:flex;gap:2.64cqw;list-style:none;margin:0;padding:0;font-size:.94cqw;letter-spacing:.02em;color:#C9D4DA}
.lv-btn{display:inline-flex;align-items:center;gap:.7cqw;height:3.33cqw;padding:0 1.67cqw;border-radius:999px;font-weight:500;font-size:1.01cqw;letter-spacing:.01em;color:#EEEAE3;white-space:nowrap}
.lv-btn svg{width:1.11cqw;height:1.11cqw}
.lv-vetro{box-shadow:inset 0 0 0 1px rgba(238,234,227,.35);background:rgba(11,18,26,.25)}
.lv-pieno{background:#F4F1EC;color:#0B121A}
.lv-tx{position:absolute;inset:0;opacity:var(--lv-txt,1)}
.lv-testo{position:absolute;left:6.6cqw;bottom:max(7.6cqw,min(17cqh,11.8cqw));width:46cqw}
.lv-k{display:flex;align-items:center;gap:.97cqw;font-size:.76cqw;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:#EBD3A0}
.lv-k::before{content:"";width:2.36cqw;height:1px;background:currentColor;opacity:.8}
.lv-h1{display:block;margin-top:1.67cqw;font-family:'Lv Syne',sans-serif;font-weight:500;font-size:max(3.05cqw,min(5cqw,6.1cqw));line-height:.98;letter-spacing:-.035em}
.lv-h1 i{display:block;font-style:normal;font-weight:400;background:linear-gradient(100deg,#F6E6BF 0%,#E2B666 42%,#F8EDD2 68%,#D9A85B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lv-testo p{margin:1.8cqw 0 0;max-width:32.6cqw;font-size:1.1cqw;line-height:1.65;color:#B9C6CE}
.lv-az{margin-top:2.36cqw;display:flex;flex-wrap:wrap;gap:.83cqw}
.lv-scorri{position:absolute;left:50%;bottom:2.1cqw;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.7cqw;font-size:.73cqw;letter-spacing:.3em;text-transform:uppercase;color:#9FB4C2;transition:opacity .6s}
.lv-scorri i{width:1px;height:2.64cqw;background:linear-gradient(#EBD3A0,transparent)}
@media (max-width:899px){
  .lv-palco{top:50%;bottom:auto;height:100%;transform:translateY(-50%)}
  .lv-velo{background:linear-gradient(180deg,rgba(8,14,22,.5) 0%,rgba(8,14,22,0) 16%,rgba(8,14,22,0) 42%,rgba(8,14,22,.82) 78%,rgba(8,14,22,.9) 100%)}
  .lv-nav{left:5.3cqw;right:5.3cqw;top:4.8cqw}
  .lv-nav ul,.lv-logo small,.lv-scorri{display:none}
  .lv-logo{gap:2.7cqw}
  .lv-sopra .lv-logo img{width:7.5cqw}
  .lv-logo b{font-size:3.2cqw;letter-spacing:.16em}
  .lv-nav .lv-btn{height:clamp(11px,calc(20.8cqw - 40px),10.1cqw);padding:0 clamp(4px,calc(8.8cqw - 18px),4cqw);font-size:clamp(3px,calc(6.8cqw - 13px),3.33cqw)}
  .lv-tx{opacity:var(--lv-txt,0)}
  .lv-testo{left:5.3cqw;right:5.3cqw;width:auto;bottom:9cqw}
  .lv-k{font-size:2.9cqw;gap:3.7cqw}.lv-k::before{width:9cqw}
  .lv-h1{margin-top:5cqw;font-size:10cqw}
  .lv-testo p{margin-top:5cqw;max-width:none;font-size:4cqw}
  .lv-az{margin-top:6.4cqw;gap:3.2cqw}
  .lv-az .lv-btn{height:12.3cqw;padding:0 5.3cqw;font-size:3.9cqw;gap:2.7cqw}
  .lv-btn svg{width:4.3cqw;height:4.3cqw}
}
@media (min-width:600px) and (max-width:899px){
  .lv-testo{bottom:min(9cqw,6cqh)}
  .lv-k{font-size:min(2.9cqw,1.9cqh)}
  .lv-h1{margin-top:min(5cqw,3cqh);font-size:min(10cqw,6cqh)}
  .lv-testo p{margin-top:min(5cqw,3cqh);font-size:min(4cqw,2.5cqh)}
  .lv-az{margin-top:min(6.4cqw,3.6cqh);gap:min(3.2cqw,2cqh)}
  .lv-az .lv-btn{height:min(12.3cqw,7cqh);padding:0 min(5.3cqw,3.4cqh);font-size:min(3.9cqw,2.4cqh);gap:min(2.7cqw,1.7cqh)}
  .lv-btn svg{width:min(4.3cqw,2.7cqh);height:min(4.3cqw,2.7cqh)}
}
@media (min-width:600px) and (max-width:899px){.hero-intro{overflow:visible}}
#iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-container .iubenda-cs-content{padding:0!important}
#iubenda-cs-banner .iubenda-cs-rationale .iubenda-banner-content.iubenda-custom-content{padding:12px 14px 0!important;margin:0!important}
#iubenda-cs-banner .iubenda-banner-content .iubenda-cs-small-margin-top{margin-top:0!important}
#iubenda-cs-banner .iubenda-banner-content p.iub-p{font-size:11.5px!important;line-height:1.34!important}
#iubenda-cs-banner .iubenda-cs-rationale .iubenda-cs-opt-group{margin:8px 12px 10px!important}
#iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-btn-primary,#iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-customize-btn{padding:6px 14px!important;margin:3px!important;font-size:12.5px!important}
#iubenda-cs-banner .iubenda-cs-rationale .iubenda-cs-brand-badge-text{margin:-2px 14px 8px!important}
@media (max-width:359px){
  .btn-xl{max-width:100%;white-space:normal;padding:16px 24px;text-align:center}
}
@media (min-width:600px) and (max-width:899px) and (min-aspect-ratio:576/1000) and (max-aspect-ratio:636/1000){
  html.fx .pj-stack{flex:none;width:min(100%,calc(100svh - 300px));aspect-ratio:1/1;align-self:center}
}
@media (max-width:899px) and (max-height:480px) and (orientation:landscape){
  html.fx #servizi .sv-list{width:38%}
  html.fx #servizi .sv-m,html.fx .sv-item.is-on .sv-m{width:55%}
  html.fx #servizi .sv-vis{width:clamp(136px,22vw,190px)!important}
}
@media (min-width:900px) and (max-width:1000px) and (max-height:460px){
  .mt-riga{font-size:34px}
  .mt-centro{font-size:48px}
  html.fx .mt-cin{top:calc(var(--cima) + 22px);bottom:0;gap:0}
  html.fx .mt-passi{width:min(760px,86vw);min-height:4.2em;margin-top:6px}
  html.fx .mt-st p{font-size:13px;line-height:1.4}
  html.fx .rv-pin{padding:6px 0}
  html.fx .rv-palco{height:150px;margin-top:6px}
  html.fx .rv-cit blockquote p{font-size:18px}
  html.fx .rv-tacche{margin-top:2px}
}
@media (hover:none) and (pointer:coarse){
  .logo,.sv-link,.faq-tutte,.sp-back,.rv-tac,.fh-spunti button,.fq-spunti button,.pz-switch button,.ft2-col a,.ft2-cont a,.ft2-legali a,.menu nav a,.sv-t [role=button]{position:relative}
  .logo::after,.sv-link::after,.faq-tutte::after,.sp-back::after,.rv-tac::after,.fh-spunti button::after,.fq-spunti button::after,.pz-switch button::after,.ft2-col a::after,.ft2-cont a::after,.ft2-legali a::after,.menu nav a::after,.sv-t [role=button]::after,.hero-cta .btn-outline::after,.btn-outline.rv::after{content:"";position:absolute;inset:0}
  .logo::after{inset:-7px 0}
  .sv-link::after{inset:-19px 0 0}   
  .faq-tutte::after{inset:-9px 0}
  .sp-back::after{inset:-11px 0}
  .rv-tac::after{inset:-9px -1px}
  .fh-spunti button::after,.fq-spunti button::after{inset:-4px 0}
  .pz-switch button::after{inset:-5px 0}
  .ft2-col a::after{inset:-4px 0}
  .ft2-cont a::after{inset:-3px 0}
  .ft2-legali a::after{inset:-3px 0}
  .menu nav a::after{inset:-3px 0}
  .sv-t [role=button]::after{inset:-7px 0}
  .hero-cta .btn-outline::after{inset:-8px 0 -3px}
  .btn-outline.rv::after{inset:-4px 0}
  .hero-cta .btn-ir{border-style:solid;border-color:transparent;border-width:7px 0 2px;background-clip:padding-box;margin-top:-7px;margin-bottom:-2px}
  .ct-text .btn-xl{border-style:solid;border-color:transparent;border-width:5px 0;background-clip:padding-box;margin-block:-5px}
}
@media (hover:none) and (pointer:coarse) and (min-width:360px){
  .ft2-legali a::after{inset:-12px 0}
}
@media (hover:none){.sv-link,.sv-link:hover{background-image:none}}
html.hero-entra .hero-h1 .c{animation:hero-c 1.1s cubic-bezier(.16,1,.3,1) calc(.1s + var(--i,0) * .022s) backwards paused;will-change:transform,opacity}
html.hero-entra .hero-cta{animation:hero-b 1s cubic-bezier(.16,1,.3,1) .7s backwards paused;will-change:transform,opacity}
html.hero-via .hero-h1 .c,html.hero-via .hero-cta{animation-play-state:running}
@keyframes hero-c{from{transform:translateY(115%) rotate(6deg);opacity:0}}
@keyframes hero-b{from{transform:translateY(24px);opacity:0}}
