﻿:root{--c-ink:#1d1d1f;--c-graphite:#707070;--c-slate:#474747;--c-ash:#333;--c-fog:#f5f5f7;--c-snow:#fff;--c-obsidian:#000;--c-sm:#e8e8ed;--c-gold:#C9A96E;--c-gold-h:#D4A853;--c-gold-l:#E8DCC8;--c-gold-d:#A68B4B;--f-d:'Inter',system-ui,sans-serif;--f-t:'Inter',system-ui,sans-serif;--t-c:12px;--l-c:1.33;--tr-c:-0.26px;--t-bs:14px;--l-bs:1.43;--tr-bs:-0.04px;--t-b:17px;--l-b:1.47;--tr-b:-0.1px;--t-sh:20px;--l-sh:1.4;--tr-sh:-0.2px;--t-hs:24px;--l-hs:1.29;--tr-hs:-0.36px;--t-h:40px;--l-h:1.17;--tr-h:-0.6px;--t-hl:56px;--l-hl:1.07;--tr-hl:-0.9px;--t-d:clamp(48px,8vw,80px);--l-d:1.04;--tr-d:-2.11px;--s-4:4px;--s-8:8px;--s-12:12px;--s-16:16px;--s-20:20px;--s-24:24px;--s-28:28px;--s-32:32px;--s-40:40px;--s-48:48px;--s-64:64px;--s-80:80px;--s-120:120px;--pw:1200px;--r-c:28px;--r-b:999px;--r-s:10px;--sc:#f5f5f7;--scc:#fff;--sd:#000}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--f-t);font-size:var(--t-b);line-height:var(--l-b);letter-spacing:var(--tr-b);color:var(--c-ink);background:var(--sc);overflow-x:hidden}
html.hero-lock,html.hero-lock body{overflow:hidden;height:100%;overscroll-behavior:none;touch-action:none}
html.hero-lock body{position:fixed;inset:0;width:100%}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.c{max-width:var(--pw);margin:0 auto;padding:0 var(--s-24)}
.sb{padding:var(--s-80) 0}
.sb-w{background:var(--scc)}
.sb-f{background:var(--sc)}
.sb-d{background:var(--sd);color:var(--c-snow)}
.eb{font-size:var(--t-sh);font-weight:600;letter-spacing:var(--tr-sh);line-height:var(--l-sh);color:var(--c-graphite);margin-bottom:var(--s-16)}
.sh{font-family:var(--f-d);font-size:var(--t-h);font-weight:700;letter-spacing:var(--tr-h);line-height:var(--l-h);color:var(--c-ink);margin-bottom:var(--s-20)}
.sh-l{color:var(--c-snow)}
.ss{font-size:var(--t-sh);font-weight:300;letter-spacing:var(--tr-sh);line-height:var(--l-sh);color:var(--c-graphite);max-width:560px}
.ss-l{color:rgba(255,255,255,0.72)}
.btn-g{display:inline-flex;align-items:center;gap:var(--s-8);padding:var(--s-12) var(--s-24);background:transparent;color:var(--c-gold);border:1px solid var(--c-gold);border-radius:var(--r-b);font-family:var(--f-t);font-size:var(--t-b);font-weight:400;letter-spacing:var(--tr-b);cursor:pointer;transition:all .344s ease;text-decoration:none}
.btn-g:hover{background:var(--c-gold);color:var(--c-ink)}
.btn-g-f{background:var(--c-gold);color:var(--c-ink)}
.btn-g-f:hover{background:var(--c-gold-h);border-color:var(--c-gold-h)}
.btn-g-d{border-color:var(--c-gold);color:var(--c-gold)}
.btn-g-d:hover{background:var(--c-gold);color:var(--c-obsidian)}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(245,245,247,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--c-sm);transform:translateY(-100%);transition:transform .4s ease}
.nav-v{transform:translateY(0)}
.nav-i{max-width:var(--pw);margin:0 auto;padding:0 var(--s-24);height:52px;display:flex;align-items:center;justify-content:space-between}
.nav-lg{display:inline-flex;align-items:center;flex-shrink:0}
.nav-logo-image{display:block;width:auto;height:32px;object-fit:contain}
.nav-ls{display:flex;align-items:center;gap:var(--s-24);list-style:none}
.nav-l{font-size:var(--t-bs);font-weight:400;letter-spacing:var(--tr-bs);color:var(--c-ink);transition:color .2s ease;position:relative}
.nav-l::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--c-gold);transition:width .3s ease}
.nav-l:hover::after{width:100%}
.nav-l:hover{color:var(--c-gold)}
.nav-ct{padding:var(--s-8) var(--s-16);background:var(--c-gold);color:var(--c-ink);border-radius:var(--r-b);font-size:var(--t-bs);font-weight:500;transition:all .2s ease}
.nav-ct:hover{background:var(--c-gold-h)}
.nav-mt{display:none;position:relative;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:none;border-radius:999px;cursor:pointer;padding:0}
.nav-mt span{position:absolute;display:block;width:24px;height:2px;border-radius:999px;background:var(--c-ink);transition:transform .28s cubic-bezier(0.16,1,0.3,1),opacity .2s ease}
.nav-mt span:first-child{transform:translateY(-5px)}
.nav-mt span:last-child{transform:translateY(5px)}
.nav-mt-o span:first-child{transform:rotate(45deg)}
.nav-mt-o span:last-child{transform:rotate(-45deg)}
@media(max-width:768px){.nav-ls{display:flex;position:absolute;top:52px;left:0;right:0;z-index:1001;background:rgba(245,245,247,0.98);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);flex-direction:column;align-items:flex-start;padding:var(--s-24);gap:var(--s-16);border-bottom:1px solid var(--c-sm);box-shadow:0 18px 40px rgba(0,0,0,0.08);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);max-height:0;overflow:hidden;transition:opacity .26s ease,transform .26s cubic-bezier(0.16,1,0.3,1),max-height .3s cubic-bezier(0.16,1,0.3,1),visibility .26s ease}.nav-ls-o{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);max-height:520px}.nav-mt{display:flex}.nav-l,.nav-ct{display:inline-flex;min-height:40px;align-items:center}.nav-ls .nav-ct{justify-content:center;align-self:flex-start;width:auto;max-width:calc(100vw - 48px);box-sizing:border-box;white-space:nowrap;line-height:1.2;padding:11px 22px}}
.hero{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--c-obsidian)}
.hero-section-gradient{position:absolute;bottom:0;left:0;width:100%;height:120px;pointer-events:none;z-index:10;background:linear-gradient(to bottom,transparent 0%,rgba(201,169,110,0.08) 50%,rgba(180,140,80,0.18) 100%)}
.section-warm-bleed{position:relative}
.section-warm-bleed-overlay{position:absolute;top:0;left:0;width:100%;height:160px;pointer-events:none;z-index:1;background:linear-gradient(to bottom,rgba(180,140,80,0.14) 0%,rgba(201,169,110,0.06) 40%,transparent 100%)}
.hs{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a1a1a 0%,#0a0a0a 100%);transition:opacity .5s ease-out,visibility .5s ease-out;pointer-events:auto}
.hs::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");background-size:160px 160px;mix-blend-mode:screen}
.hs::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 20% at 50% 100%,rgba(201,169,110,0.12) 0%,transparent 100%)}
#splash-glow-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 1000ms ease-out;background:radial-gradient(ellipse 80% 55% at 50% 65%,rgba(201,169,110,0.13) 0%,rgba(180,140,80,0.06) 45%,transparent 100%),radial-gradient(ellipse 95% 30% at 50% 100%,rgba(212,168,83,0.10) 0%,transparent 100%),radial-gradient(ellipse 65% 18% at 50% 0%,rgba(200,215,225,0.05) 0%,transparent 100%)}
.hs-h{opacity:0;visibility:hidden;pointer-events:none}
.hs-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(88vw,900px);padding:0 var(--s-24)}
.hs-content::before,.hs-content::after{content:'';position:absolute;top:50%;width:1px;height:60px;background:rgba(201,169,110,0.2);transform:translateY(-50%);pointer-events:none}
.hs-content::before{left:0}
.hs-content::after{right:0}
.hs-eb{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:500;letter-spacing:.3em;color:#C9A96E;margin-bottom:var(--s-16);text-transform:uppercase;opacity:0;animation:fiu .8s ease-out .3s forwards}
.hs-eb::before,.hs-eb::after{content:'';width:42px;height:1px;background:rgba(201,169,110,0.3)}
.hs-hl{font-family:var(--f-d);font-size:clamp(36px,6vw,64px);font-weight:700;letter-spacing:-1.5px;line-height:1.04;color:rgba(255,255,255,0.98);text-align:center;max-width:800px;padding:0 var(--s-24);margin-bottom:var(--s-12);opacity:0;text-shadow:0 0 80px rgba(201,169,110,0.15);animation:fiu .8s ease-out .38s forwards}
.hs-sh{font-size:var(--t-sh);font-weight:300;letter-spacing:var(--tr-sh);line-height:var(--l-sh);color:rgba(255,255,255,0.72);text-align:center;max-width:500px;padding:0 var(--s-24);margin-bottom:var(--s-40);opacity:0;animation:fiu .8s ease-out .56s forwards}
.call-panel-wrap{display:flex;flex-direction:column;align-items:center;opacity:0;animation:fiu .8s ease-out .74s forwards}
.call-panel{width:72px;padding:12px 0;border:1px solid rgba(201,169,110,0.35);border-radius:12px;background:linear-gradient(145deg,rgba(28,27,24,0.96),rgba(9,9,9,0.98));box-shadow:0 18px 60px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -1px 0 rgba(0,0,0,0.8);overflow:hidden}
.floor-display{width:100%;height:36px;display:flex;align-items:center;justify-content:center;margin-top:-12px;background:#0a0a0a;border-bottom:1px solid rgba(201,169,110,0.2);font-family:'Share Tech Mono',monospace;font-size:20px;letter-spacing:.08em;color:#D4A853;text-align:center;text-shadow:0 0 10px rgba(212,168,83,0.35);box-shadow:inset 0 2px 8px rgba(0,0,0,0.85),inset 0 -1px 0 rgba(255,255,255,0.03);transition:opacity 40ms linear}
.floor-display.is-flicker{opacity:.2}
.panel-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;border-radius:8px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;appearance:none}
.panel-btn svg{width:22px;height:22px;transition:transform 150ms ease}
.panel-btn--up{margin-top:10px;margin-bottom:4px;background:rgba(255,255,255,0.03);border:1px solid rgba(201,169,110,0.25);color:rgba(201,169,110,0.3);cursor:default}
.panel-btn--down{margin-top:4px;margin-bottom:10px;background:rgba(201,169,110,0.08);border:1px solid rgba(201,169,110,0.7);color:#C9A96E;cursor:pointer}
.panel-btn--down:hover{background:rgba(201,169,110,0.15);box-shadow:0 0 16px rgba(201,169,110,0.25)}
.panel-btn--down:hover svg{transform:translateY(3px)}
.panel-btn--down:disabled{cursor:default;opacity:.72;box-shadow:none}
.panel-btn--auto-press{animation:autoPressElevator 700ms cubic-bezier(0.16,1,0.3,1) forwards}
.panel-label{margin-top:14px;text-align:center;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,0.35);font-size:10px;font-weight:500}
@keyframes autoPressElevator{0%{transform:scale(1);background:rgba(201,169,110,0.08);border-color:rgba(201,169,110,0.7);box-shadow:0 0 16px rgba(201,169,110,0.22)}35%{transform:scale(0.92);background:rgba(201,169,110,0.22);border-color:rgba(201,169,110,1);box-shadow:0 0 28px rgba(201,169,110,0.45),0 0 10px rgba(212,168,83,0.24)}68%{transform:scale(0.96);background:rgba(201,169,110,0.17);border-color:rgba(212,168,83,0.92);box-shadow:0 0 22px rgba(201,169,110,0.34)}100%{transform:scale(1);background:rgba(201,169,110,0.12);border-color:rgba(201,169,110,0.82);box-shadow:0 0 18px rgba(201,169,110,0.3)}}
@keyframes bounceDown{0%,100%{transform:translateY(0px)}50%{transform:translateY(5px)}}
@keyframes fiu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hvc{position:absolute;inset:0;z-index:10;overflow:hidden}
.hv{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity .3s ease-in,transform 2s ease-out}
.hv-v{opacity:1}
.hv-z{transform:scale(1.08)}
.hvf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity .3s ease-in,transform 2s ease-out;pointer-events:none}
.hvf-v{opacity:1;transform:scale(1.08)}
.ho{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .8s ease-out;isolation:isolate}
.ho::before{content:'';position:absolute;left:50%;top:50%;width:min(760px,72vw);height:min(300px,36vw);transform:translate(-50%,-58%);z-index:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse 55% 35% at 50% 50%,rgba(201,169,110,0.07) 0%,transparent 100%)}
.ho-v::before{animation:warmRevealGlow 1600ms cubic-bezier(0.16,1,0.3,1) forwards}
.ho-v{opacity:1;pointer-events:auto}
.hoh{position:relative;z-index:1;font-family:var(--f-d);font-size:clamp(40px,7vw,80px);font-weight:700;letter-spacing:-2px;line-height:1.04;color:#fff;text-align:center;text-shadow:0 4px 30px rgba(0,0,0,0.5);opacity:0;filter:blur(12px);transform:scale(0.96);transition:opacity 1600ms cubic-bezier(0.16,1,0.3,1),filter 1600ms cubic-bezier(0.16,1,0.3,1),transform 1600ms cubic-bezier(0.16,1,0.3,1);transition-delay:0ms;padding:0 var(--s-24)}
.hoh-i{opacity:1;filter:blur(0);transform:scale(1)}
.hos{position:relative;z-index:1;font-size:clamp(18px,2.5vw,24px);font-weight:300;letter-spacing:-0.2px;line-height:1.4;color:rgba(255,255,255,0.85);text-align:center;max-width:600px;margin-top:var(--s-20);margin-bottom:var(--s-32);text-shadow:0 2px 20px rgba(0,0,0,0.4);opacity:0;filter:blur(12px);transform:scale(0.96);transition:opacity 1600ms cubic-bezier(0.16,1,0.3,1),filter 1600ms cubic-bezier(0.16,1,0.3,1),transform 1600ms cubic-bezier(0.16,1,0.3,1);transition-delay:280ms;padding:0 var(--s-24)}
.hos-i{opacity:1;filter:blur(0);transform:scale(1)}
.hoc{position:relative;z-index:1;opacity:0;filter:blur(12px);transform:scale(0.96);transition:opacity 1600ms cubic-bezier(0.16,1,0.3,1),filter 1600ms cubic-bezier(0.16,1,0.3,1),transform 1600ms cubic-bezier(0.16,1,0.3,1);transition-delay:520ms}
.hoc-i{opacity:1;filter:blur(0);transform:scale(1)}
@keyframes warmRevealGlow{from{opacity:0}to{opacity:1}}
.hero-discover{display:inline-flex;align-items:center;gap:0;padding:14px 36px;background:rgba(15,12,10,0.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(201,169,110,0.85);border-radius:999px;color:#C9A96E;font-size:13px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;box-shadow:0 0 32px rgba(0,0,0,0.4),0 0 20px rgba(201,169,110,0.15),inset 0 0 12px rgba(0,0,0,0.2);transition:all 400ms cubic-bezier(0.16,1,0.3,1)}
.hero-discover:hover{background:rgba(201,169,110,0.9);color:#0a0a0a;border:1.5px solid #C9A96E;box-shadow:0 0 40px rgba(201,169,110,0.35),0 0 16px rgba(0,0,0,0.3);transition:all 400ms cubic-bezier(0.16,1,0.3,1)}
.hero-discover .hero-cta-chev{color:inherit;font-size:16px;margin-left:8px;display:inline-block;font-weight:700;line-height:1;animation:bounceDown 2s ease-in-out infinite}
.hsh{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--s-8);opacity:0;transition:opacity .6s ease 1s}
.hsh-v{opacity:1}
.hsh span{font-size:var(--t-c);font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
.hsh svg{width:20px;height:20px;color:var(--c-gold);animation:bc 2s ease-in-out infinite}
@keyframes bc{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.hvg{position:absolute;inset:0;z-index:15;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,0.4) 100%)}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-24);margin-top:var(--s-48)}
#servizi .sg{align-items:start}
.sc{background:var(--scc);border-radius:var(--r-c);padding:var(--s-32);transition:transform .344s ease}
.sc:hover{transform:translateY(-4px)}
.sci{width:48px;height:48px;margin-bottom:var(--s-20);color:var(--c-gold)}
.sct{font-family:var(--f-d);font-size:var(--t-hs);font-weight:600;letter-spacing:var(--tr-hs);line-height:var(--l-hs);color:var(--c-ink);margin-bottom:var(--s-12)}
.scd{font-size:var(--t-b);font-weight:400;line-height:var(--l-b);color:var(--c-graphite)}
.service-card{overflow:hidden}
#servizi .sc,#servizi .service-card{align-self:start;height:auto}
.service-card-header,.service-card-toggle,button.service-card-header{appearance:none;-webkit-appearance:none;border:0;background:transparent;box-shadow:none;width:100%;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.service-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-20)}
.service-card-header-main{display:flex;flex-direction:row;align-items:center;gap:var(--s-16);min-width:0;width:100%}
.service-card-title{display:block}
.service-card .sci{width:40px;height:40px;margin-bottom:0;flex-shrink:0}
.service-card-title{margin-bottom:0;font-size:22px;line-height:1.2}
.service-card-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .36s cubic-bezier(0.16,1,0.3,1),opacity .24s ease,padding-top .24s ease}
.service-card-body .scd{padding-top:0}
.service-card-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(201,169,110,0.34);color:var(--c-gold);font-family:var(--f-d);font-size:26px;line-height:1;background:rgba(201,169,110,0.05);flex-shrink:0;transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease}
.service-card-header:focus,.service-card-header:active{outline:none}
.service-card-header::-moz-focus-inner{border:0}
.service-card-header:focus-visible{outline:2px solid rgba(201,169,110,0.65);outline-offset:4px;border-radius:16px}
.service-card-open{background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(248,246,241,0.96) 100%);border-color:rgba(201,169,110,0.28);box-shadow:0 20px 42px rgba(0,0,0,0.08)}
.service-card-open .service-card-body{max-height:240px;opacity:1;padding-top:var(--s-16)}
.service-card-open .service-card-toggle{transform:rotate(45deg);background:rgba(201,169,110,0.14);border-color:rgba(201,169,110,0.72);color:var(--c-gold-d)}
@media(max-width:900px){.sg{grid-template-columns:repeat(2,1fr)}.services-accordion{gap:var(--s-16)}.service-card{padding:var(--s-24);border:1px solid rgba(201,169,110,0.16);box-shadow:0 12px 30px rgba(0,0,0,0.05)}.service-card:hover{transform:none}}
@media(max-width:640px){.sg{grid-template-columns:1fr}}
.dg{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-24);margin-top:var(--s-48)}
#perche-noi .ss{max-width:min(860px,100%)}
.dc{background:var(--scc);border-radius:var(--r-c);padding:var(--s-32);display:flex;flex-direction:column;gap:var(--s-16)}
.dcn{font-family:var(--f-d);font-size:var(--t-hl);font-weight:700;letter-spacing:var(--tr-hl);line-height:var(--l-hl);color:var(--c-gold);opacity:0.3}
.dct{font-family:var(--f-d);font-size:var(--t-hs);font-weight:600;letter-spacing:var(--tr-hs);line-height:var(--l-hs);color:var(--c-ink)}
.dcd{font-size:var(--t-b);font-weight:400;line-height:var(--l-b);color:var(--c-graphite)}
@media(max-width:768px){.dg{grid-template-columns:1fr}}
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-24);margin-top:var(--s-48)}
.pc{position:relative;border-radius:var(--r-c);overflow:hidden;aspect-ratio:4/3;background:var(--c-ash)}
.pci{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pc:hover .pci{transform:scale(1.05)}
.pco{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.7) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--s-28)}
.pct{font-family:var(--f-d);font-size:var(--t-hs);font-weight:600;letter-spacing:var(--tr-hs);line-height:var(--l-hs);color:var(--c-snow);margin-bottom:var(--s-8)}
.pcl{font-size:var(--t-bs);font-weight:400;color:rgba(255,255,255,0.7)}
.pctg{position:absolute;top:var(--s-20);left:var(--s-20);padding:var(--s-8) var(--s-16);background:var(--c-gold);color:var(--c-ink);border-radius:var(--r-b);font-size:var(--t-c);font-weight:600;letter-spacing:0.05em;text-transform:uppercase}
.projects-cta-wrap{display:flex;justify-content:center;margin-top:var(--s-32)}
.project-page-hero{padding:138px 0 var(--s-32);background:linear-gradient(180deg,rgba(201,169,110,0.12) 0%,rgba(245,245,247,1) 58%,rgba(255,255,255,1) 100%)}
.project-page-hero .eb{margin-bottom:var(--s-12)}
.project-page-heading{max-width:860px}
.project-page-heading-archive{max-width:var(--pw);text-align:left}
.project-page-heading-archive .sh{margin-bottom:var(--s-16)}
.project-page-heading-archive .ss{max-width:700px}
.project-page-heading-detail{max-width:var(--pw);text-align:left}
.project-page-heading-detail .eb{max-width:980px;margin-left:0;text-align:left}
.project-page-shell{padding-top:0;padding-bottom:var(--s-80)}
.project-page-shell-archive{padding-top:0}
.project-page-shell-detail{padding-top:0}
.project-page-shell .ss{max-width:720px}
.project-archive-shell{display:flex;flex-direction:column;gap:var(--s-24)}
.project-filters{display:flex;flex-wrap:wrap;gap:var(--s-12);margin:-4px 0 var(--s-8)}
.project-filter-pill{appearance:none;-webkit-appearance:none;border:1px solid rgba(201,169,110,0.28);background:rgba(255,255,255,0.92);color:var(--c-ink);padding:11px 18px;border-radius:var(--r-b);font:inherit;font-size:var(--t-bs);cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.project-filter-pill:hover{transform:translateY(-1px);border-color:rgba(201,169,110,0.7);box-shadow:0 10px 24px rgba(0,0,0,0.06)}
.project-filter-pill-active{background:var(--c-gold);color:var(--c-ink);border-color:var(--c-gold)}
.project-card{display:flex;flex-direction:column;background:var(--scc);border:1px solid rgba(201,169,110,0.16);border-radius:var(--r-c);overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,0.06);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.project-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,0.1);border-color:rgba(201,169,110,0.34)}
.project-card-media{position:relative;aspect-ratio:5/4;background:var(--c-ash);overflow:hidden}
.project-image-frame{background:var(--c-ash)}
.project-image-frame-contain{background:linear-gradient(135deg,#f8f6f0 0%,#ece5d8 100%)}
.project-card-image{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project-image-fit-cover{object-fit:cover}
.project-image-fit-contain{object-fit:contain}
.project-card:hover .project-card-image{transform:scale(1.05)}
.project-card-category{position:absolute;top:var(--s-18);left:var(--s-18);padding:var(--s-8) var(--s-16);background:var(--c-gold);color:var(--c-ink);border-radius:var(--r-b);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.project-card-content{padding:var(--s-24) var(--s-28) var(--s-28);display:flex;flex-direction:column;gap:10px}
.project-card-title{font-family:var(--f-d);font-size:clamp(30px,2.1vw,38px);font-weight:600;letter-spacing:-0.04em;line-height:1.04;color:var(--c-ink)}
.project-card-location{font-size:15px;color:var(--c-graphite)}
.project-card-description{font-size:18px;line-height:1.52;color:var(--c-slate);max-width:26ch}
.project-empty-state{grid-column:1/-1;background:var(--scc);border:1px solid rgba(201,169,110,0.16);border-radius:var(--r-c);padding:var(--s-40);text-align:center;box-shadow:0 18px 44px rgba(0,0,0,0.05)}
.project-empty-state h3{font-family:var(--f-d);font-size:var(--t-hs);margin-bottom:var(--s-12)}
.project-empty-state p{font-size:var(--t-b);color:var(--c-graphite);max-width:520px;margin:0 auto}
.project-empty-state--detail{max-width:760px;margin:0 auto;padding:var(--s-48) var(--s-40)}
.project-empty-state--detail .ss{margin:0 auto}
.project-empty-eyebrow{font-size:var(--t-c);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold-d);margin-bottom:var(--s-12)}
.project-detail-shell{display:flex;flex-direction:column;gap:var(--s-28)}
.project-detail-shell-empty{min-height:calc(100vh - 280px);justify-content:center}
.project-detail-intro{width:min(100%,980px);max-width:980px;padding-bottom:var(--s-8)}
.project-detail-meta{display:inline-flex;align-items:center;gap:var(--s-8);font-size:var(--t-c);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold-d);margin-bottom:var(--s-12)}
.project-detail-title{font-family:var(--f-d);font-size:clamp(40px,6.2vw,76px);line-height:0.98;letter-spacing:-1.8px;color:var(--c-ink);margin-bottom:var(--s-12);max-width:980px}
.project-detail-short{font-size:clamp(20px,2vw,24px);line-height:1.42;color:var(--c-slate);max-width:820px}
.project-showcase{display:flex;flex-direction:column;gap:var(--s-16)}
.project-showcase-main{position:relative;border-radius:calc(var(--r-c) + 4px);overflow:hidden;background:var(--c-ash);box-shadow:0 28px 72px rgba(0,0,0,0.12)}
.project-showcase-image{width:100%;aspect-ratio:16/9;object-fit:cover}
.project-showcase-image.project-image-fit-contain{object-fit:contain}
.project-showcase-image.project-image-fit-cover{object-fit:cover}
.project-showcase-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.18);border-radius:999px;background:rgba(15,12,10,0.36);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--c-snow);font:inherit;font-size:34px;cursor:pointer;z-index:2;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.project-showcase-arrow:hover{background:rgba(201,169,110,0.9);border-color:rgba(201,169,110,0.96);color:var(--c-ink);box-shadow:0 14px 32px rgba(0,0,0,0.16)}
.project-showcase-arrow:focus-visible{outline:2px solid rgba(201,169,110,0.72);outline-offset:4px}
.project-showcase-prev{left:var(--s-20)}
.project-showcase-next{right:var(--s-20)}
.project-showcase-thumbs{display:flex;gap:var(--s-10);overflow-x:auto;padding:2px 0 var(--s-4);scrollbar-width:thin}
.project-showcase-thumb{appearance:none;-webkit-appearance:none;flex:0 0 clamp(76px,8vw,96px);padding:0;border:1px solid rgba(201,169,110,0.14);background:rgba(255,255,255,0.8);border-radius:14px;overflow:hidden;cursor:pointer;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease,opacity .3s ease;opacity:.72}
.project-showcase-thumb:hover{transform:translateY(-2px);border-color:rgba(201,169,110,0.42);box-shadow:0 16px 34px rgba(0,0,0,0.08)}
.project-showcase-thumb:focus-visible{outline:2px solid rgba(201,169,110,0.7);outline-offset:4px}
.project-showcase-thumb.is-active{border-color:rgba(201,169,110,0.9);box-shadow:0 18px 38px rgba(201,169,110,0.16);opacity:1;transform:translateY(-2px)}
.project-showcase-thumb-image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:linear-gradient(135deg,#f8f6f0 0%,#ece5d8 100%)}
.project-showcase-thumb-image.project-image-fit-contain{object-fit:contain}
.project-showcase-thumb-image.project-image-fit-cover{object-fit:cover}
.project-story{display:flex;flex-direction:column;gap:var(--s-24);padding-top:var(--s-8)}
.project-story-head{width:min(100%,980px);max-width:980px;display:flex;flex-direction:column;gap:var(--s-12)}
.project-story-head .eb{margin-bottom:0}
.project-story-title{font-family:var(--f-d);font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.08;letter-spacing:-0.04em;color:var(--c-ink);max-width:780px}
.project-story-copy{font-size:18px;line-height:1.8;color:var(--c-slate);max-width:820px;padding-top:0}
.project-sections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-20) var(--s-24)}
.project-section-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,0.72) 0%,rgba(255,255,255,0.92) 100%);border:1px solid rgba(201,169,110,0.12);border-radius:24px;padding:var(--s-24) var(--s-24) var(--s-24) var(--s-28);box-shadow:0 14px 32px rgba(0,0,0,0.035)}
.project-section-card::before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:2px;border-radius:999px;background:linear-gradient(180deg,rgba(201,169,110,0.86) 0%,rgba(201,169,110,0.08) 100%)}
.project-section-title{font-family:var(--f-d);font-size:var(--t-sh);font-weight:600;line-height:1.28;color:var(--c-ink);margin-bottom:var(--s-10)}
.project-section-body{font-size:17px;line-height:1.72;color:var(--c-slate)}
.project-back-link{align-self:flex-start;margin-top:var(--s-4)}
.home-projects-grid .project-card-content{width:100%}
.home-projects-grid .project-card-description{width:100%;max-width:none}
.projects-archive-grid{grid-template-columns:repeat(2,1fr)}
.projects-archive-grid .project-card-content{width:100%}
.projects-archive-grid .project-card-description{width:100%;max-width:none}
@media(max-width:768px){.pg{grid-template-columns:1fr}}
@media(max-width:900px){.project-sections-grid{grid-template-columns:1fr}}
@media(max-width:768px){.project-page-hero{padding:118px 0 var(--s-20)}.project-page-heading-archive .ss{max-width:32ch}.project-archive-shell{gap:var(--s-20)}.project-page-shell{padding-top:0}.project-filters{margin-top:0;margin-bottom:2px;gap:10px}.project-filter-pill{padding:10px 18px}.project-card-media{aspect-ratio:4/3}.project-card-content{padding:var(--s-20) var(--s-24) var(--s-24)}.project-card-title{font-size:clamp(24px,9vw,34px)}.project-card-description{font-size:17px;max-width:none}.project-detail-shell{gap:var(--s-24)}.project-detail-intro{max-width:none}.project-detail-title{font-size:clamp(34px,12vw,48px);max-width:none}.project-detail-short{font-size:18px;max-width:none}.project-empty-state{padding:var(--s-32)}.project-empty-state--detail{padding:var(--s-40) var(--s-24)}.project-showcase{gap:var(--s-14)}.project-showcase-arrow{width:42px;height:42px;font-size:26px}.project-showcase-prev{left:var(--s-12)}.project-showcase-next{right:var(--s-12)}.project-showcase-thumb{flex-basis:88px}.project-story{gap:var(--s-20)}.project-story-head{max-width:none;display:flex;flex-direction:column;gap:var(--s-12)}.project-story-title{font-size:clamp(26px,7.4vw,30px);max-width:none;overflow-wrap:anywhere}.project-story-copy{font-size:17px;max-width:none;padding-top:0}.project-section-card{padding:var(--s-20) var(--s-20) var(--s-20) var(--s-24)}}
@media(max-width:480px){.project-detail-short,.project-story-copy,.project-section-body{overflow-wrap:break-word}.project-story-title{font-size:clamp(24px,6.6vw,27px);line-height:1.12;max-width:min(100%,330px);overflow-wrap:break-word;word-break:normal}.project-section-title{overflow-wrap:break-word}}
.sp{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-24);margin-top:var(--s-48)}
.spc{background:var(--scc);border-radius:var(--r-c);padding:var(--s-28);text-align:center}
.spi{width:40px;height:40px;margin:0 auto var(--s-16);color:var(--c-gold)}
.spv{font-family:var(--f-d);font-size:var(--t-h);font-weight:700;letter-spacing:var(--tr-h);line-height:var(--l-h);color:var(--c-ink);margin-bottom:var(--s-8)}
.trust-made-in{white-space:nowrap}
.made-in-value{display:inline-flex;align-items:center;gap:.28em;white-space:nowrap}
.italy-flag{display:inline-block;width:.95em;height:.65em;border-radius:.08em;box-shadow:0 0 0 1px rgba(0,0,0,0.08);background:linear-gradient(90deg,#009246 0%,#009246 33.33%,#fff 33.33%,#fff 66.66%,#ce2b37 66.66%,#ce2b37 100%)}
.spl{font-size:var(--t-bs);font-weight:400;color:var(--c-graphite)}
@media(max-width:900px){.sp{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.sp{grid-template-columns:1fr}}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-24);margin-top:var(--s-48)}
.tg.testimonial-carousel-wrap{display:flex;justify-content:center;align-items:center;width:100%}
.tc{background:var(--scc);border-radius:var(--r-c);padding:var(--s-32);position:relative}
.tcq{font-size:var(--t-b);font-weight:400;line-height:var(--l-b);color:var(--c-ink);margin-bottom:var(--s-24);font-style:italic}
.tcq::before{content:'"';font-family:Georgia,serif;font-size:48px;line-height:1;color:var(--c-gold);opacity:0.3;display:block;margin-bottom:var(--s-8)}
.tca{font-size:var(--t-bs);font-weight:600;color:var(--c-ink)}
.tcr{font-size:var(--t-c);font-weight:400;color:var(--c-graphite);margin-top:var(--s-4)}
@media(max-width:900px){.tg{grid-template-columns:1fr}}
.cl{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-48);margin-top:var(--s-48);align-items:start}
.ci{display:flex;flex-direction:column;gap:var(--s-32)}
.cii{display:flex;align-items:flex-start;gap:var(--s-16)}
.cii svg{width:24px;height:24px;color:var(--c-gold);flex-shrink:0;margin-top:2px}
.ciil{font-size:var(--t-c);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--c-graphite);margin-bottom:var(--s-4)}
.ciiv{font-size:var(--t-b);font-weight:400;color:var(--c-ink);line-height:1.6}
.cf{background:var(--scc);border-radius:var(--r-c);padding:var(--s-32)}
.fg{margin-bottom:var(--s-20)}
.fg label{display:block;font-size:var(--t-bs);font-weight:500;color:var(--c-ink);margin-bottom:var(--s-8)}
.fg input,.fg textarea,.fg select{width:100%;padding:var(--s-12) var(--s-16);border:1px solid var(--c-sm);border-radius:var(--r-s);font-family:var(--f-t);font-size:var(--t-b);color:var(--c-ink);background:var(--sc);transition:border-color .2s ease}
.fg input:focus,.fg textarea:focus,.fg select:focus{outline:none;border-color:var(--c-gold)}
.fg textarea{min-height:120px;resize:vertical}
.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.contact-form-status{min-height:1.4em;margin:0 0 var(--s-16);font-size:var(--t-bs);color:var(--c-graphite)}
.contact-form-status.is-success{color:#386b45}
.contact-form-status.is-error{color:#9d2f24}
.contact-form-status.is-loading{color:var(--c-gold-d)}
@media(max-width:768px){.cl{grid-template-columns:1fr}}
.ft{background:var(--c-ink);color:var(--c-snow);padding:var(--s-64) 0 var(--s-32)}
.fg2{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s-48);margin-bottom:var(--s-48)}
.fb{max-width:300px}
.fl{font-family:var(--f-d);font-size:var(--t-hs);font-weight:700;letter-spacing:-0.5px;color:var(--c-snow);margin-bottom:var(--s-16)}
.fl span{color:var(--c-gold)}
.ftg{font-size:var(--t-bs);font-weight:400;line-height:1.6;color:rgba(255,255,255,0.6)}
.fct{font-size:var(--t-bs);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:var(--s-20)}
.fls{list-style:none;display:flex;flex-direction:column;gap:var(--s-12)}
.flk{font-size:var(--t-bs);font-weight:400;color:rgba(255,255,255,0.7);transition:color .2s ease}
.flk:hover{color:var(--c-gold)}
.fb2{border-top:1px solid rgba(255,255,255,0.1);padding-top:var(--s-24);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-16)}
.fcp{font-size:var(--t-c);color:rgba(255,255,255,0.4)}
@media(max-width:768px){.fg2{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fg2{grid-template-columns:1fr}.fb2{flex-direction:column;text-align:center}}
.rv{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.rv-v{opacity:1;transform:translateY(0)}
.rd1{transition-delay:.1s}
.rd2{transition-delay:.2s}
.rd3{transition-delay:.3s}
.rd4{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hs-hl,.hs-sh,.hs-eb,.call-panel-wrap{opacity:1;animation:none}.hoh,.hos,.hoc{opacity:1;filter:blur(0);transform:scale(1)}.hv{transform:none!important}.rv{opacity:1;transform:none}.panel-btn--auto-press{animation:autoPressElevatorReduced 320ms ease-out forwards!important}} 
@keyframes autoPressElevatorReduced{0%{transform:scale(1);box-shadow:0 0 14px rgba(201,169,110,0.18)}50%{transform:scale(0.97);background:rgba(201,169,110,0.15);border-color:rgba(201,169,110,0.9);box-shadow:0 0 18px rgba(201,169,110,0.24)}100%{transform:scale(1);background:rgba(201,169,110,0.11);border-color:rgba(201,169,110,0.78);box-shadow:0 0 15px rgba(201,169,110,0.2)}}
@media(max-width:768px){.sb{padding:var(--s-48) 0}.c{padding:0 var(--s-16)}.hs-content{width:min(92vw,900px)}.hs-eb{margin-bottom:var(--s-12)}.hs-hl{font-size:32px;max-width:11ch;margin-bottom:10px}.hs-sh{font-size:18px;max-width:28ch;margin-bottom:var(--s-32);color:rgba(255,255,255,0.76)}.ho{padding:0 var(--s-16)}.hoh{font-size:clamp(38px,9vw,52px);line-height:1.04;max-width:12ch;text-shadow:0 8px 34px rgba(0,0,0,0.62)}.hos{font-size:18px;line-height:1.48;max-width:31ch;margin-top:var(--s-20);margin-bottom:var(--s-32);color:rgba(255,255,255,0.92)}.hoc{margin-top:0}.hero-discover{padding:14px 34px}.hsh{bottom:28px}}
@media(max-width:480px){.ho{padding:0 var(--s-20)}.hoh{font-size:clamp(34px,10.2vw,42px);line-height:1.06;max-width:13ch;letter-spacing:-1.2px}.hos{font-size:17px;line-height:1.5;max-width:min(320px,86vw);margin-top:18px;margin-bottom:30px}.hero-discover{padding:13px 32px;font-size:12px;letter-spacing:.22em}.hsh{bottom:24px;gap:6px}.hsh span{font-size:11px}}

.testimonial-carousel{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-18);width:min(860px,100%);margin:var(--s-32) auto 0}
.testimonial-carousel .testimonial-slide{display:block;width:min(760px,100%);min-height:250px}
.testimonial-carousel .tcq{max-width:none}
.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:var(--s-16);width:100%;padding:0 var(--s-8)}
.testimonial-nav{width:48px;height:48px;border:1px solid rgba(208,173,104,.42);border-radius:999px;background:rgba(255,255,255,.82);color:var(--c-gold);font-size:2rem;line-height:1;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease}
.testimonial-nav:hover,.testimonial-nav:focus-visible{background:var(--c-gold);color:var(--c-ink);transform:translateY(-2px)}
.testimonial-dots{display:flex;justify-content:center;align-items:center;gap:.55rem}
.testimonial-dot{width:10px;height:10px;border:0;border-radius:999px;background:rgba(208,173,104,.28);cursor:pointer}
.testimonial-dot.is-active{width:32px;background:var(--c-gold)}
@media(max-width:640px){.testimonial-carousel{width:100%;margin-top:var(--s-24);gap:var(--s-16)}.testimonial-carousel .testimonial-slide{width:100%;min-height:auto}.testimonial-controls{gap:var(--s-12);padding:0}.testimonial-nav{width:44px;height:44px;flex:0 0 44px}.testimonial-dots{min-width:0;flex-wrap:wrap}}
