:root {
  --bg:        #06080C;
  --surf:      #0B0E14;
  --surf2:     #10131A;
  --gold:      #4A72A8;
  --gold-lt:   #6B92C8;
  --gold-dk:   #1E3565;
  --silver:    #7A96BE;
  --text:      #EDEBE6;
  --muted:     #575450;
  --dim:       #2e2c2a;
  --border:    rgba(74,114,168,0.14);
  --border-s:  rgba(255,255,255,0.055);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Syne',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  cursor:none;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold-dk);}

/* ── CUSTOM CURSOR ── */
#cur,#cur-ring{
  position:fixed;pointer-events:none;z-index:9999;
  border-radius:50%;transform:translate(-50%,-50%);
}
#cur{width:7px;height:7px;background:var(--gold);transition:width .25s,height .25s;}
#cur-ring{
  width:30px;height:30px;
  border:1px solid rgba(74,114,168,.5);
  transition:width .3s,height .3s,opacity .3s;
}
body.on-interactive #cur{width:11px;height:11px;}
body.on-interactive #cur-ring{width:46px;height:46px;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  padding:30px 64px;
  display:flex;align-items:center;justify-content:space-between;
  transition:padding .4s,background .5s,backdrop-filter .5s,border-color .5s;
  border-bottom:1px solid transparent;
}
nav.s{
  padding:18px 64px;
  background:rgba(7,7,7,.88);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border-bottom-color:var(--border);
}
.n-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;font-weight:400;
  letter-spacing:.22em;color:var(--text);text-decoration:none;
}
.n-logo span{color:var(--gold);}
.n-links{display:flex;align-items:center;gap:38px;list-style:none;}
.n-links a{
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color .3s;
}
.n-links a:hover{color:var(--gold);}
.n-cta{
  color:var(--gold)!important;
  border:1px solid var(--border);
  padding:9px 22px;
  transition:background .3s,color .3s!important;
}
.n-cta:hover{background:var(--gold)!important;color:var(--bg)!important;}
.hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:none;padding:4px;
}
.hamburger span{display:block;width:22px;height:1px;background:var(--text);transition:all .3s;}

/* ── MOBILE MENU ── */
.mob-menu{
  display:none;position:fixed;inset:0;z-index:190;
  background:rgba(7,7,7,.97);backdrop-filter:blur(24px);
  flex-direction:column;align-items:center;justify-content:center;gap:28px;
}
.mob-menu.open{display:flex;}
.mob-menu a{
  font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;
  color:var(--text);text-decoration:none;letter-spacing:.05em;transition:color .3s;
}
.mob-menu a:hover{color:var(--gold);}
.mob-close{
  position:absolute;top:26px;right:26px;
  background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:none;
}

/* ── HERO ── */
#hero{
  position:relative;height:100vh;min-height:680px;
  display:flex;align-items:flex-end;
  padding:116px 64px 84px;overflow:hidden;
}
.h-grid{
  position:absolute;inset:0;z-index:1;
  background-image:
    linear-gradient(rgba(74,114,168,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(74,114,168,.035) 1px,transparent 1px);
  background-size:72px 72px;
}
.h-glow{
  position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(ellipse 70% 60% at 72% 48%,rgba(74,114,168,.07) 0%,transparent 65%),
    radial-gradient(ellipse 50% 50% at 18% 78%,rgba(139,155,180,.045) 0%,transparent 55%);
}
.h-vignette{
  position:absolute;inset:0;z-index:3;
  background:radial-gradient(ellipse at center,transparent 40%,rgba(7,7,7,.6) 100%);
}
.h-content{position:relative;z-index:10;max-width:800px;}

.h-tag{
  display:inline-flex;align-items:center;gap:14px;
  font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:30px;
  opacity:0;transform:translateY(18px);
  animation:fadeUp .9s ease .2s forwards;
}
.h-tag::before{content:'';display:block;width:36px;height:1px;background:var(--gold);}

.h-hl{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.2rem,6.2vw,6.2rem);
  font-weight:300;line-height:.93;letter-spacing:-.02em;
  color:var(--text);margin-bottom:30px;
  opacity:0;transform:translateY(28px);
  animation:fadeUp 1.1s ease .4s forwards;
}
.h-hl em{font-style:italic;color:var(--gold);}

.h-sub{
  font-size:.88rem;line-height:1.85;color:var(--muted);
  max-width:480px;margin-bottom:44px;
  opacity:0;transform:translateY(18px);
  animation:fadeUp .9s ease .7s forwards;
}
.h-actions{
  display:flex;align-items:center;gap:30px;
  opacity:0;transform:translateY(18px);
  animation:fadeUp .9s ease .9s forwards;
}

/* ── BUTTONS ── */
.btn-p{
  display:inline-flex;align-items:center;gap:11px;
  padding:15px 38px;
  background:var(--gold);color:var(--bg);
  font-family:'Syne',sans-serif;font-size:.7rem;
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;border:none;cursor:none;
  transition:background .3s,transform .2s;
}
.btn-p:hover{background:var(--gold-lt);transform:translateY(-1px);}
.btn-g{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;
  transition:color .3s;cursor:none;background:none;border:none;
}
.btn-g::after{content:'→';display:inline-block;transition:transform .3s;}
.btn-g:hover{color:var(--text);}
.btn-g:hover::after{transform:translateX(4px);}

/* hero decorative counter */
.h-counter{
  position:absolute;right:64px;top:50%;transform:translateY(-50%);
  z-index:10;text-align:right;
  opacity:0;animation:fadeIn 1s ease 1.1s forwards;
}
.h-counter-n{
  font-family:'Cormorant Garamond',serif;
  font-size:9rem;font-weight:300;
  color:var(--dim);line-height:1;user-select:none;
}
.h-counter-l{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);}

/* hero scroll line */
.h-scroll{
  position:absolute;bottom:38px;right:64px;z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;animation:fadeIn .8s ease 1.4s forwards;
}
.h-scroll span{
  font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--dim);writing-mode:vertical-rl;
}
.h-scroll-line{
  width:1px;height:56px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollPulse 2.2s ease-in-out infinite 2s;
}

/* ── SECTION COMMON ── */
section{padding:120px 64px;}
.s-tag{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.63rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
}
.s-tag::before{content:'';display:block;width:28px;height:1px;background:var(--gold);}
.s-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,4.5vw,4.4rem);
  font-weight:300;line-height:1.06;
  letter-spacing:-.01em;color:var(--text);
}
.s-title em{font-style:italic;color:var(--gold);}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(38px);transition:opacity .9s ease,transform .9s ease;}
.rv.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.22s;}.d3{transition-delay:.36s;}.d4{transition-delay:.52s;}

/* ── MANIFESTO ── */
#manifesto{
  border-top:1px solid var(--border-s);
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;
}
.mfst-text{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.55rem,2.4vw,2.7rem);
  font-weight:300;line-height:1.34;color:var(--text);
}
.mfst-text em{font-style:italic;color:var(--gold);}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:2.9rem;font-weight:300;color:var(--gold);line-height:1;}
.stat-l{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:7px;}

/* ── MATERIALI ── */
#materiali{background:var(--surf);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
/* ── PORTFOLIO ── */
#portfolio{overflow:hidden;}
.port-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;}
.port-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1px;background:var(--border);}
.case-card{
  background:var(--surf);position:relative;
  overflow:hidden;cursor:none;
  aspect-ratio:4/3;display:flex;align-items:flex-end;
}
.case-card:first-child{grid-column:1/2;grid-row:1/3;aspect-ratio:auto;}
.case-bg{
  position:absolute;inset:0;
  background:var(--surf2);
  display:flex;align-items:center;justify-content:center;
  transition:transform .7s cubic-bezier(.25,.46,.45,.94);
}
.case-card:hover .case-bg{transform:scale(1.04);}
.case-vis{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.case-overlay{
  position:absolute;bottom:0;left:0;right:0;padding:36px;
  background:linear-gradient(to top,rgba(7,7,7,.96) 0%,transparent 100%);
  z-index:10;
}
.case-cat{font-size:.59rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:9px;}
.case-ttl{
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;font-weight:400;
  color:var(--text);line-height:1.2;margin-bottom:10px;
}
.case-desc{font-size:.77rem;color:var(--muted);line-height:1.65;max-width:380px;}
.case-arr{
  position:absolute;top:26px;right:26px;
  width:34px;height:34px;
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:.8rem;z-index:10;
  transition:background .3s,border-color .3s,color .3s;
}
.case-card:hover .case-arr{background:var(--gold);border-color:var(--gold);color:var(--bg);}

/* ── CONFIGURATORE ── */
#configuratore{
  background:var(--surf);
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.cfg-wrap{
  position:relative;aspect-ratio:1;
  background:var(--bg);overflow:hidden;
}
#threeCanvas{display:block;width:100%;height:100%;}
.cfg-label{
  position:absolute;bottom:18px;left:18px;
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
}
.cfg-ctrl{position:absolute;bottom:18px;right:18px;display:flex;gap:5px;}
.c-dot{
  width:28px;height:28px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);cursor:none;transition:border-color .3s,color .3s;
}
.c-dot:hover,.c-dot.a{border-color:var(--gold);color:var(--gold);}
.cfg-opts{display:flex;flex-direction:column;gap:11px;margin-top:36px;}
.cfg-opt{
  padding:18px 22px;border:1px solid var(--border-s);
  cursor:none;transition:border-color .3s,background .3s;
  display:flex;align-items:center;justify-content:space-between;
}
.cfg-opt.a{border-color:var(--gold);background:rgba(74,114,168,.04);}
.cfg-opt:hover{border-color:rgba(74,114,168,.45);}
.cfg-opt-name{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--text);}
.cfg-opt-det{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.cfg-dot{
  width:6px;height:6px;border-radius:50%;
  background:transparent;border:1px solid var(--muted);
  transition:background .3s,border-color .3s;
  flex-shrink:0;
}
.cfg-opt.a .cfg-dot{background:var(--gold);border-color:var(--gold);}
#upl-status{
  display:none;padding:18px;border:1px solid var(--gold);
  margin-top:12px;font-size:.76rem;color:var(--gold);
}

/* ── CONTATTI ── */
#contatti{background:var(--surf);border-top:1px solid var(--border);}
.ct-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:96px;margin-top:56px;}
.ct-item{
  display:flex;flex-direction:column;gap:5px;
  padding:22px 0;border-bottom:1px solid var(--border-s);
}
.ct-lbl{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);}
.ct-val{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--text);}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.f-field{display:flex;flex-direction:column;gap:8px;}
.f-field.full{grid-column:1/-1;}
.f-field label{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.f-field input,.f-field select,.f-field textarea{
  background:transparent;
  border:none;border-bottom:1px solid rgba(74,114,168,.22);
  color:var(--text);font-family:'Syne',sans-serif;font-size:.84rem;
  padding:13px 0;outline:none;transition:border-color .3s;width:100%;
}
.f-field input::placeholder,.f-field textarea::placeholder{color:var(--muted);opacity:.5;}
.f-field select{cursor:none;}
.f-field select option{background:var(--surf);}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-bottom-color:var(--gold);}
.f-field textarea{resize:none;height:95px;line-height:1.6;}
.f-submit{margin-top:28px;display:flex;align-items:center;justify-content:space-between;}
.f-note{font-size:.67rem;color:var(--dim);max-width:280px;line-height:1.65;}

/* ── TRUST BAR ── */
#trust{
  padding:48px 64px;
  border-top:1px solid var(--border-s);
  border-bottom:1px solid var(--border-s);
}
.trust-bar{display:flex;align-items:center;justify-content:space-between;gap:32px;}
.tr-item{display:flex;align-items:center;gap:11px;}
.tr-txt{font-size:.7rem;letter-spacing:.09em;color:var(--muted);}

/* ── FOOTER ── */
footer{
  padding:60px 64px;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:56px;
  border-top:1px solid var(--border);
}
.ft-logo{font-family:'Cormorant Garamond',serif;font-size:1.4rem;letter-spacing:.22em;color:var(--text);margin-bottom:14px;}
.ft-logo span{color:var(--gold);}
.ft-line{font-size:.7rem;color:var(--muted);line-height:1.72;max-width:210px;}
.ft-nav-ttl{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);margin-bottom:18px;}
.ft-nav-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.ft-nav-links a{font-size:.8rem;color:var(--muted);text-decoration:none;transition:color .3s;}
.ft-nav-links a:hover{color:var(--gold);}
.ft-bottom{
  grid-column:1/-1;padding-top:28px;
  border-top:1px solid var(--border-s);
  display:flex;justify-content:space-between;align-items:center;
}
.ft-copy{font-size:.62rem;color:var(--dim);letter-spacing:.1em;}
.ft-legal{display:flex;gap:22px;}
.ft-legal a{font-size:.62rem;color:var(--dim);text-decoration:none;letter-spacing:.1em;transition:color .3s;}
.ft-legal a:hover{color:var(--muted);}

/* ── KEYFRAMES ── */
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{to{opacity:1;}}
@keyframes scrollPulse{
  0%{opacity:0;transform:scaleY(0);transform-origin:top;}
  50%{opacity:1;transform:scaleY(1);transform-origin:top;}
  100%{opacity:0;transform:scaleY(1);transform-origin:bottom;}
}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  #manifesto{grid-template-columns:1fr;gap:48px;}
#configuratore{grid-template-columns:1fr;}
  
  .ct-grid{grid-template-columns:1fr;gap:48px;}
  footer{grid-template-columns:1fr 1fr;}
  .h-counter{display:none;}
}
@media(max-width:768px){
  nav{padding:22px 22px;}
  nav.s{padding:15px 22px;}
  .n-links{display:none;}
  .hamburger{display:flex;}
  section{padding:76px 22px;}
  #hero{padding:100px 22px 56px;}
  #chi-siamo{grid-template-columns:1fr;gap:40px;}
  .h-scroll{right:22px;}
.port-grid{grid-template-columns:1fr;}
  .case-card:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3;}
  .trust-bar{flex-direction:column;align-items:flex-start;gap:18px;}
  footer{grid-template-columns:1fr;gap:36px;padding:40px 22px;}
  #trust{padding:38px 22px;}
  .f-row{grid-template-columns:1fr;}
  .f-submit{flex-direction:column;align-items:flex-start;gap:18px;}
}

.settore-card:hover { background: var(--surf2) !important; }
.settore-card::after {
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:2px;background:#4A72A8;transition:width .45s ease;
}
.settore-card:hover::after { width:100%; }
@media(max-width:768px){
  #come-funziona > div:last-of-type { grid-template-columns:1fr !important; }
  #settori > div:last-of-type { grid-template-columns:1fr !important; }
  #come-funziona > div:first-of-type { flex-direction:column !important; align-items:flex-start !important; }
}


/* ── LANGUAGE SWITCHER ── */
.lang-switch{position:relative;margin-left:24px;}
.lang-btn{
  display:flex;align-items:center;gap:7px;
  background:none;border:1px solid var(--border);
  color:var(--muted);padding:8px 14px;cursor:none;
  font-family:'Syne',sans-serif;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;
  transition:border-color .3s,color .3s;
}
.lang-btn:hover{border-color:var(--arc,#4A72A8);color:var(--text);}
.lang-btn svg{transition:transform .3s;}
.lang-switch.open .lang-btn svg{transform:rotate(180deg);}
.lang-drop{
  position:absolute;top:calc(100% + 8px);right:0;
  background:rgba(11,14,20,.97);backdrop-filter:blur(20px);
  border:1px solid var(--border);min-width:140px;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s,transform .3s,visibility .3s;z-index:300;
}
.lang-switch.open .lang-drop{opacity:1;visibility:visible;transform:translateY(0);}
.lang-opt{
  display:block;width:100%;text-align:left;
  background:none;border:none;cursor:none;
  padding:11px 16px;color:var(--muted);
  font-family:'Syne',sans-serif;font-size:.72rem;
  letter-spacing:.1em;transition:background .25s,color .25s;
}
.lang-opt:hover{background:rgba(74,114,168,.08);color:var(--text);}
.lang-opt.active{color:var(--arc,#4A72A8);}
@media(max-width:768px){
  .lang-switch{margin-left:0;}
  nav .lang-switch{display:none;}
  .mob-lang{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;justify-content:center;}
  .mob-lang button{
    background:none;border:1px solid var(--border);color:var(--muted);
    padding:8px 14px;cursor:none;font-size:.7rem;letter-spacing:.1em;
  }
  .mob-lang button.active{border-color:var(--arc,#4A72A8);color:var(--arc,#4A72A8);}
}


/* ── PORTFOLIO GRID ── */
.portfolio-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--border);
  margin-top:1px;
}
.portfolio-item {
  position:relative;
  overflow:hidden;
  cursor:none;
  aspect-ratio:4/3;
  background:var(--surf2);
}
.portfolio-item:first-child {
  grid-column:1/-1;
  aspect-ratio:21/9;
}
.portfolio-img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .7s cubic-bezier(.25,.46,.45,.94);
  filter:brightness(.55) saturate(.8);
}
.portfolio-item:hover .portfolio-img {
  transform:scale(1.04);
  filter:brightness(.7) saturate(.9);
}
.portfolio-info {
  position:absolute;
  bottom:0;left:0;right:0;
  padding:32px 36px;
  background:linear-gradient(to top, rgba(7,7,7,.92) 0%, transparent 100%);
  z-index:2;
}
.portfolio-category {
  font-size:.6rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#4A72A8;
  margin-bottom:8px;
}
.portfolio-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;
  font-weight:400;
  color:var(--text);
  line-height:1.2;
}
.portfolio-item::after {
  content:'↗';
  position:absolute;
  top:24px;right:24px;
  width:36px;height:36px;
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;color:var(--muted);
  transition:background .3s,border-color .3s,color .3s;
  line-height:36px;text-align:center;
}
.portfolio-item:hover::after {
  background:#4A72A8;
  border-color:#4A72A8;
  color:#fff;
}
@media(max-width:768px){
  .portfolio-grid{grid-template-columns:1fr;}
  .portfolio-item:first-child{aspect-ratio:4/3;}
}

/* ── STABILITY & USABILITY PATCH ── */
html{scroll-padding-top:96px;}
body:not(.custom-cursor-enabled),
body:not(.custom-cursor-enabled) *{cursor:auto;}
body:not(.custom-cursor-enabled) a,
body:not(.custom-cursor-enabled) button,
body:not(.custom-cursor-enabled) select,
body:not(.custom-cursor-enabled) #ctaUpload,
body:not(.custom-cursor-enabled) .cfg-opt,
body:not(.custom-cursor-enabled) .c-dot{cursor:pointer;}
body.menu-open{overflow:hidden;}
.mob-menu{z-index:420;}
.mob-close{z-index:430;}
.lang-drop{z-index:460;}
.ct-val a{color:var(--text);text-decoration:none;transition:color .25s;}
.ct-val a:hover{color:var(--gold);}
.f-field input.field-error,
.f-field textarea.field-error,
.f-field select.field-error{border-bottom-color:#d96969;}
#ctaUpload:focus-visible,
.lang-btn:focus-visible,
.lang-opt:focus-visible,
.mob-lang button:focus-visible,
.mob-close:focus-visible,
.hamburger:focus-visible,
a:focus-visible,
button:focus-visible{outline:1px solid var(--gold);outline-offset:4px;}
.btn-p.sent{background:transparent;border:1px solid var(--gold);color:var(--gold);}
.cfg-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center;background:radial-gradient(circle at center,rgba(74,114,168,.08),rgba(6,8,12,.96));color:var(--text);}
.cfg-fallback strong{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;}
.cfg-fallback span{font-size:.78rem;line-height:1.7;color:var(--muted);max-width:320px;}
.legal-page{min-height:100vh;padding:140px 64px 80px;background:var(--bg);}
.legal-card{max-width:860px;margin:0 auto;padding:56px;background:var(--surf);border:1px solid var(--border);}
.legal-card h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:300;line-height:1.05;margin-bottom:24px;color:var(--text);}
.legal-card h2{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:300;margin:34px 0 12px;color:var(--gold);}
.legal-card p,.legal-card li{font-size:.9rem;line-height:1.85;color:var(--muted);}
.legal-card ul{padding-left:20px;margin:12px 0;}
.legal-back{display:inline-flex;margin-bottom:28px;color:var(--gold);text-decoration:none;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;}

@media(max-width:1100px){
  .n-links{gap:22px;}
  .n-links a{font-size:.66rem;}
  #configuratore{gap:52px;}
}

@media(max-width:768px){
  html{scroll-padding-top:78px;}
  nav,nav.s{padding-left:18px;padding-right:18px;}
  .n-logo{font-size:1.35rem;letter-spacing:.18em;}
  .mob-menu{padding:72px 24px;gap:20px;overflow-y:auto;}
  .mob-menu a{font-size:clamp(2rem,10vw,2.8rem);}
  .mob-lang{margin-top:10px;}
  #hero{height:auto;min-height:720px;padding:120px 22px 56px;align-items:flex-end;}
  .h-logo-img{width:100% !important;left:0 !important;right:0 !important;opacity:.42;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.35) 55%,transparent 100%) !important;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.35) 55%,transparent 100%) !important;}
  .h-content{max-width:100% !important;}
  .h-hl{font-size:clamp(3rem,17vw,4.8rem);}
  .h-tag{font-size:.58rem;letter-spacing:.18em;line-height:1.6;}
  .h-actions{flex-direction:column;align-items:flex-start;gap:18px;}
  .btn-p{width:100%;justify-content:center;padding:15px 22px;text-align:center;}
  .btn-g{line-height:1.5;}
  section{padding:76px 22px;}
  #manifesto{gap:34px;}
  .stats-grid{grid-template-columns:1fr;gap:24px;}
  #chi-siamo{display:grid !important;grid-template-columns:1fr !important;gap:40px !important;}
  #chi-siamo > div:first-child{min-height:320px !important;}
  #chi-siamo .rv.d3{flex-direction:column !important;gap:24px !important;}
  #come-funziona > div:first-of-type{flex-direction:column !important;align-items:flex-start !important;gap:22px;margin-bottom:42px !important;}
  #come-funziona > div:first-of-type p{text-align:left !important;max-width:100% !important;}
  #come-funziona > div:nth-of-type(2){display:grid !important;grid-template-columns:1fr !important;}
  #come-funziona > div:nth-of-type(2) > div{padding:38px 26px !important;}
  #come-funziona > div:nth-of-type(2) > div > div[style*="right:-1px"]{display:none !important;}
  #come-funziona > div:last-of-type{flex-direction:column !important;align-items:stretch !important;gap:16px !important;}
  .port-header{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:38px;}
  .port-grid{grid-template-columns:1fr;}
  .case-card,.case-card:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3;min-height:260px;}
  .case-overlay{padding:26px 24px;}
  .case-ttl{font-size:1.55rem;}
  .case-desc{font-size:.78rem;}
  .portfolio-grid{grid-template-columns:1fr;}
  .portfolio-item:first-child,.portfolio-item{aspect-ratio:4/3;}
  .portfolio-info{padding:24px;}
  #settori > div:last-of-type{display:grid !important;grid-template-columns:1fr !important;}
  .settore-card{padding:38px 26px !important;min-height:300px;}
  .settore-card > div[style*="font-size:7rem"]{font-size:5rem !important;bottom:26px !important;right:26px !important;}
  #configuratore{display:grid !important;grid-template-columns:1fr !important;gap:42px !important;}
  .cfg-wrap{min-height:320px;}
  .cfg-ctrl{left:18px;right:auto;bottom:56px;}
  .cfg-opt{align-items:flex-start;gap:18px;}
  .ct-grid{grid-template-columns:1fr;gap:42px;}
  #ctaUpload{align-items:flex-start !important;}
  .trust-bar{flex-direction:column;align-items:flex-start;gap:18px;}
  .ft-bottom{flex-direction:column;align-items:flex-start;gap:18px;}
  .ft-legal{flex-wrap:wrap;gap:14px 20px;}
  .legal-page{padding:110px 22px 56px;}
  .legal-card{padding:34px 24px;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto;}
  .rv{opacity:1;transform:none;}
}
