
:root{
  --bg:#020611; --panel:rgba(7,18,31,.86); --line:rgba(255,255,255,.14);
  --gold:#f2b536; --gold2:#ffd66d; --red:#ff322d; --text:#fff; --muted:#c6d0de;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit}
.topbar{height:70px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:rgba(1,5,14,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand>span{font-family:Cinzel,serif;font-size:42px;letter-spacing:-8px;font-weight:700}
.brand strong{text-transform:uppercase;letter-spacing:.12em;font-size:16px}.brand em{font-style:normal;color:var(--gold)}.brand small{display:block;color:#b7c2d2;text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin-top:2px}
.menu{display:flex;gap:27px}.menu a{text-decoration:none;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.04em;position:relative;padding:27px 0}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:12px;height:3px;background:var(--gold);transform:scaleX(0);transition:.25s;transform-origin:left}.menu a:hover:after{transform:scaleX(1)}
.linkedin{border:1px solid var(--gold);border-radius:8px;text-decoration:none;text-transform:uppercase;font-weight:900;padding:12px 20px}
.hero{min-height:100vh;position:relative;padding-top:70px;overflow:hidden;background:linear-gradient(180deg,#071324 0%,#020611 84%)}
.skyline{position:absolute;inset:0;background:
  radial-gradient(circle at 75% 35%,rgba(255,195,85,.20),transparent 18%),
  radial-gradient(circle at 52% 28%,rgba(74,163,255,.25),transparent 24%),
  linear-gradient(90deg,rgba(2,6,17,.98) 0%,rgba(2,6,17,.70) 31%,rgba(2,6,17,.18) 68%,rgba(2,6,17,.86) 100%);
}
.network{position:absolute;inset:0;opacity:.55;background-image:radial-gradient(circle,rgba(255,225,145,.9) 1px,transparent 2px),linear-gradient(60deg,transparent 48%,rgba(255,255,255,.16) 49%,transparent 50%),linear-gradient(120deg,transparent 48%,rgba(255,255,255,.12) 49%,transparent 50%);background-size:128px 128px,210px 180px,210px 180px;mask-image:linear-gradient(90deg,transparent,black 15%,black 90%,transparent)}
.tower{position:absolute;z-index:1;left:43%;top:74px;width:34vw;max-width:620px;min-width:440px;height:440px;filter:drop-shadow(0 0 80px rgba(70,140,255,.28));transform:perspective(1200px) rotateY(-8deg)}
.tower-a,.tower-b,.tower-c{position:absolute;bottom:0;background:linear-gradient(180deg,#18395e,#071321);border:1px solid rgba(159,207,255,.35);box-shadow:inset 0 0 80px rgba(255,255,255,.04)}
.tower-a{left:0;width:42%;height:82%;border-right:5px solid rgba(255,66,40,.9)}
.tower-b{left:38%;width:34%;height:100%;border-left:5px solid rgba(255,66,40,.9)}
.tower-c{right:0;width:30%;height:86%}
.tower-a:before,.tower-b:before,.tower-c:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,214,120,.78) 0 4px,transparent 4px 33px),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 62px);opacity:.9}
.tower-logo{position:absolute;z-index:8;right:46px;top:48px;font-size:42px;font-weight:900;letter-spacing:.12em;color:white;text-shadow:0 0 25px rgba(255,255,255,.7)}
.hero-wrap{position:relative;z-index:3;width:min(1460px,calc(100% - 76px));margin:0 auto;padding:34px 0 26px}
.hero-copy{max-width:620px}.hero h1{font-size:clamp(66px,8vw,118px);line-height:.86;margin:0;text-transform:uppercase;letter-spacing:-.045em}.hero h1 span{display:block}.hero h1 strong{display:block;background:linear-gradient(#ffdd7b,#d89b22);-webkit-background-clip:text;background-clip:text;color:transparent}
.redline{width:420px;max-width:85%;height:6px;background:var(--red);box-shadow:0 0 20px rgba(255,50,45,.5);margin:20px 0 16px}.hero h2{text-transform:uppercase;letter-spacing:.24em;font-size:18px;line-height:1.55;margin:0 0 12px}.hero-copy p{color:#edf3fb;line-height:1.65;font-size:14px}
.stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:25px}.stats div{padding-right:22px;border-right:1px solid rgba(255,255,255,.22);min-width:140px}.stats div:last-child{border-right:0}.stats i{font-style:normal;color:var(--gold);font-weight:900;font-size:30px}.stats span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.photo-card{position:absolute;right:0;top:34px;width:270px;border:1px solid rgba(242,181,54,.55);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(11,24,41,.9),rgba(5,12,23,.95));box-shadow:0 0 28px rgba(242,181,54,.18),0 22px 70px rgba(0,0,0,.55)}
.photo-card img{width:100%;height:266px;object-fit:cover;object-position:center top;display:block}.photo-card div{padding:17px 20px;border-top:1px solid rgba(255,255,255,.12);background:rgba(5,13,24,.72)}.photo-card p{font-size:13px;line-height:1.5;margin:0 0 10px}.photo-card strong{font-family:Cinzel,serif;color:var(--gold);font-size:17px}
.home-panels{display:grid;grid-template-columns:1fr 1.05fr 1fr 1.05fr;gap:12px;margin-top:24px}.panel{background:linear-gradient(180deg,rgba(8,22,36,.92),rgba(5,13,24,.88));border:1px solid var(--line);border-radius:8px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.35)}.panel h3{text-transform:uppercase;margin:0 0 17px}.panel h3:after{content:"";display:block;width:38px;height:3px;background:var(--gold);margin-top:9px}.panel p{font-size:13px;line-height:1.55;color:#d6dfeb}.panel>a{display:inline-block;margin-top:10px;border:1px solid var(--gold);border-radius:6px;padding:10px 16px;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:900}.highlight>a{display:flex;justify-content:space-between;margin:0;padding:11px 0;border:0;border-bottom:1px solid rgba(255,255,255,.14);font-size:13px;text-transform:none}.contact{border-color:rgba(255,50,45,.65)}.contact h3:after{background:var(--red)}.expertise p{display:flex;justify-content:space-between;margin:7px 0 4px}.expertise i{display:block;height:4px;background:rgba(255,255,255,.22);margin-bottom:8px}.expertise em{display:block;height:100%;background:var(--gold);width:100%}
.home-projects{display:grid;grid-template-columns:300px 1fr;gap:14px;margin-top:12px;background:linear-gradient(180deg,rgba(8,22,36,.76),rgba(5,13,24,.86));border:1px solid var(--line);border-radius:8px;padding:14px}.project-intro{padding:6px 10px}.project-intro small,.feat-card small{color:var(--gold);text-transform:uppercase;font-weight:900}.project-intro h3{font-size:28px;margin:12px 0}.project-intro p{color:#d6dfeb;font-size:14px;line-height:1.55}.project-intro a,.feat-card a{color:var(--red);text-transform:uppercase;font-weight:900;text-decoration:none;font-size:12px}.feat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.feat-card{background:rgba(8,22,36,.92);border:1px solid var(--line);border-radius:7px;overflow:hidden}.feat-img{height:88px;background:linear-gradient(135deg,#0b2c56,#1e8bd2)}.img1{background:linear-gradient(135deg,#bcc9d5,#e6e1d4);position:relative}.img1:after{content:"OFFICINE MECCANICHE GALLETTI";position:absolute;left:18px;top:30px;background:#fff;color:#17456f;font-weight:900;padding:5px 8px;font-size:11px}.img2{background:linear-gradient(135deg,#08396c,#0fb4ff)}.img3{background:linear-gradient(135deg,#d8c09c,#1a314e)}.img4{background:linear-gradient(135deg,#e59048,#10243e)}.img5{background:linear-gradient(135deg,#0b2748,#1b7ad3)}.feat-card small{display:block;padding:11px 12px 3px;color:var(--red);font-size:10px}.feat-card h3{font-size:16px;margin:0;padding:0 12px}.feat-card p{font-size:12px;color:#d6dfeb;line-height:1.45;padding:0 12px}.feat-card a{display:block;padding:0 12px 12px}
.value-strip{display:grid;grid-template-columns:repeat(5,1fr);margin-top:12px;border:1px solid var(--line);border-radius:8px;background:rgba(8,22,36,.9);overflow:hidden}.value-strip div{padding:16px;border-right:1px solid var(--line)}.value-strip div:last-child{border-right:0}.value-strip b{display:block;text-transform:uppercase;font-size:13px}.value-strip span{color:#b7c2d2;font-size:12px}
.section{padding:96px min(6vw,90px)}.section-title{max-width:960px;margin-bottom:38px}.section-title small{display:inline-block;color:var(--gold);text-transform:uppercase;font-weight:900;letter-spacing:.06em}.section-title small:after{content:"";display:block;width:38px;height:3px;background:var(--gold);margin-top:9px}.section-title h2{font-size:clamp(42px,5vw,76px);text-transform:uppercase;line-height:.95;letter-spacing:-.05em;margin:18px 0}.section-title p{font-size:18px;color:var(--muted);line-height:1.6}
.core-grid,.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cmsp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.core-card,.timeline-card,.cert-card,.project-card,.cmsp-grid article,.contact-final>div{background:linear-gradient(180deg,rgba(8,22,36,.88),rgba(4,11,21,.88));border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.3);transition:.25s;position:relative;overflow:hidden}.core-card:hover,.timeline-card:hover,.cert-card:hover,.project-card:hover,.cmsp-grid article:hover{transform:translateY(-5px);border-color:rgba(242,181,54,.45)}.core-card>div,.cert-card>div,.project-top span{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(242,181,54,.55);color:var(--gold);border-radius:12px;font-weight:900}.core-card h3,.timeline-card h3,.cert-card h3,.project-card h3,.cmsp-grid h3{font-size:23px}.core-card ul{padding-left:20px;color:#d9e1eb;line-height:1.8}.timeline-card span{color:var(--gold);font-weight:900}.timeline-card h4{color:#b9c5d5}.timeline-card p,.cert-card p,.project-card p,.cmsp-grid p{color:#d4deeb;line-height:1.65}.cert-card h3{font-size:16px}.cert-card p{font-size:14px}.project-top{display:flex;justify-content:space-between;gap:16px}.project-top small{text-align:right;color:#ffdf91;text-transform:uppercase;font-size:11px;letter-spacing:.07em;font-weight:800}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags b{border:1px solid rgba(242,181,54,.32);color:#ffe4a3;background:rgba(242,181,54,.055);border-radius:999px;padding:7px 10px;font-size:12px}
.contact-final{text-align:center}.contact-final>div{max-width:1050px;margin:auto;padding:54px}.contact-final h2{font-size:clamp(34px,4.6vw,66px);text-transform:uppercase;line-height:1}.contact-final a{display:inline-block;border:1px solid var(--gold);border-radius:8px;padding:14px 18px;margin:6px;text-decoration:none;font-weight:900}
footer{padding:34px min(6vw,90px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);color:#b7c2d2}footer strong{color:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1300px){.menu{display:none}.photo-card{position:relative;right:auto;top:auto;margin-top:20px}.home-panels{grid-template-columns:1fr 1fr}.feat-grid{grid-template-columns:repeat(2,1fr)}.home-projects{grid-template-columns:1fr}.cmsp-grid{grid-template-columns:1fr}.cert-grid{grid-template-columns:repeat(2,1fr)}.tower{opacity:.45;left:42%}}
@media(max-width:900px){.topbar{padding:0 16px}.linkedin{display:none}.brand strong{font-size:13px}.brand>span{font-size:34px}.hero-wrap{width:calc(100% - 32px)}.hero h1{font-size:clamp(58px,18vw,92px)}.stats div{border:0}.home-panels,.core-grid,.timeline,.projects-grid,.cert-grid,.value-strip{grid-template-columns:1fr}.feat-grid{grid-template-columns:1fr}.section{padding:74px 18px}.tower{left:5%;top:150px;min-width:330px;opacity:.22}.photo-card{width:100%}}


/* V19 - sfondo reale Oracle caricato dall'utente */
.tower{
  display:none !important;
}

.hero{
  background:
    linear-gradient(90deg, rgba(2,6,17,.96) 0%, rgba(2,6,17,.72) 32%, rgba(2,6,17,.22) 66%, rgba(2,6,17,.88) 100%),
    linear-gradient(180deg, rgba(2,6,17,.05) 0%, rgba(2,6,17,.92) 82%),
    url('oracle-bg.jpg') center 34% / cover no-repeat !important;
}

.skyline{
  background:
    radial-gradient(circle at 72% 42%, rgba(255,195,85,.18), transparent 22%),
    radial-gradient(circle at 48% 30%, rgba(74,163,255,.20), transparent 25%),
    linear-gradient(90deg, rgba(2,6,17,.98) 0%, rgba(2,6,17,.66) 34%, rgba(2,6,17,.16) 68%, rgba(2,6,17,.80) 100%) !important;
}

.network{
  opacity:.34 !important;
  mask-image:linear-gradient(90deg, transparent, black 12%, black 88%, transparent) !important;
}

.hero-copy{
  max-width:620px;
  position:relative;
  z-index:6;
}

.photo-card{
  top:26px !important;
  right:28px !important;
  width:292px !important;
  border:1px solid rgba(242,181,54,.68) !important;
  box-shadow:
    0 0 34px rgba(242,181,54,.20),
    0 24px 80px rgba(0,0,0,.58) !important;
}

.photo-card img{
  height:286px !important;
}

.home-panels{
  margin-top:24px !important;
}

.hero-stats{
  margin-top:26px !important;
}

@media(max-width:1300px){
  .hero{
    background-position:center top !important;
  }
  .photo-card{
    right:auto !important;
    top:auto !important;
  }
}

@media(max-width:900px){
  .hero{
    background:
      linear-gradient(180deg, rgba(2,6,17,.86), rgba(2,6,17,.96)),
      url('oracle-bg.jpg') center top / cover no-repeat !important;
  }
}


/* V19 - cards coerenti con mockup */
.feat-card,
.panel,
.value-strip,
.core-card,
.timeline-card,
.cert-card,
.project-card,
.cmsp-grid article{
  background:linear-gradient(180deg,rgba(8,22,36,.91),rgba(5,13,24,.90)) !important;
  border-color:rgba(255,255,255,.16) !important;
}

.contact{
  border-color:rgba(255,50,45,.70) !important;
}

.feat-card:hover,
.panel:hover,
.project-card:hover,
.cert-card:hover,
.core-card:hover{
  border-color:rgba(242,181,54,.52) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.42), 0 0 26px rgba(242,181,54,.08);
}


/* V20 - properly proportioned Oracle background */
.hero{
  background:
    linear-gradient(90deg,
      rgba(2,6,17,.96) 0%,
      rgba(2,6,17,.74) 34%,
      rgba(2,6,17,.34) 58%,
      rgba(2,6,17,.82) 100%
    ),
    linear-gradient(180deg,
      rgba(2,6,17,.12) 0%,
      rgba(2,6,17,.90) 84%
    ),
    url('oracle-bg.jpg') center 22% / 58% auto no-repeat !important;
}

.skyline{
  background:
    radial-gradient(circle at 58% 32%, rgba(74,163,255,.18), transparent 18%),
    radial-gradient(circle at 66% 48%, rgba(255,195,85,.12), transparent 18%),
    linear-gradient(90deg,
      rgba(2,6,17,.98) 0%,
      rgba(2,6,17,.66) 34%,
      rgba(2,6,17,.18) 66%,
      rgba(2,6,17,.82) 100%) !important;
}

.hero-wrap{
  padding-top:20px !important;
}

.photo-card{
  top:52px !important;
}

@media(max-width:1400px){
  .hero{
    background:
      linear-gradient(90deg,
        rgba(2,6,17,.96) 0%,
        rgba(2,6,17,.78) 38%,
        rgba(2,6,17,.42) 62%,
        rgba(2,6,17,.88) 100%
      ),
      linear-gradient(180deg,
        rgba(2,6,17,.10) 0%,
        rgba(2,6,17,.92) 84%
      ),
      url('oracle-bg.jpg') center 24% / 68% auto no-repeat !important;
  }
}

@media(max-width:900px){
  .hero{
    background:
      linear-gradient(180deg,
        rgba(2,6,17,.86),
        rgba(2,6,17,.96)
      ),
      url('oracle-bg.jpg') center top / cover no-repeat !important;
  }
}


/* V21 Oracle visible logo */
.oracle-overlay-logo{
  position:absolute;
  z-index:2;
  left:54%;
  top:120px;
  transform:translateX(-50%);
  font-size:42px;
  font-weight:900;
  letter-spacing:.18em;
  color:#ffffff;
  text-shadow:
    0 0 18px rgba(255,255,255,.95),
    0 0 45px rgba(255,255,255,.55),
    0 0 80px rgba(74,163,255,.28);
  opacity:.95;
  pointer-events:none;
}

.hero{
  background:
    linear-gradient(90deg,
      rgba(2,6,17,.96) 0%,
      rgba(2,6,17,.74) 34%,
      rgba(2,6,17,.34) 58%,
      rgba(2,6,17,.82) 100%
    ),
    linear-gradient(180deg,
      rgba(2,6,17,.10) 0%,
      rgba(2,6,17,.90) 84%
    ),
    url('oracle-bg.jpg') center 24% / 52% auto no-repeat !important;
}

.feat-grid{
  grid-template-columns:repeat(4,1fr) !important;
}

@media(max-width:1200px){
  .oracle-overlay-logo{
    left:58%;
    top:132px;
    font-size:32px;
  }
}

@media(max-width:900px){
  .oracle-overlay-logo{
    display:none;
  }

  .feat-grid{
    grid-template-columns:1fr !important;
  }
}


/* V22 - Mobile responsive navigation */
.mobile-menu-toggle{
  display:none;
  width:46px;
  height:42px;
  border:1px solid rgba(242,181,54,.55);
  border-radius:10px;
  background:rgba(8,22,36,.86);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  z-index:120;
}

.mobile-menu-toggle span{
  width:22px;
  height:2px;
  background:var(--gold);
  border-radius:999px;
  transition:.25s ease;
}

.mobile-menu-toggle.active span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2){
  opacity:0;
}

.mobile-menu-toggle.active span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

@media(max-width:1300px){
  .topbar{
    height:72px;
    padding:0 18px;
  }

  .mobile-menu-toggle{
    display:flex;
  }

  .menu{
    position:fixed;
    top:72px;
    left:16px;
    right:16px;
    display:none !important;
    flex-direction:column;
    gap:0;
    padding:14px;
    background:linear-gradient(180deg,rgba(8,22,36,.98),rgba(3,8,18,.98));
    border:1px solid rgba(242,181,54,.28);
    border-radius:14px;
    box-shadow:0 24px 80px rgba(0,0,0,.55);
    backdrop-filter:blur(18px);
    z-index:110;
  }

  .menu.open{
    display:flex !important;
  }

  .menu a{
    display:block;
    padding:16px 14px !important;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:14px;
  }

  .menu a:last-child{
    border-bottom:0;
  }

  .menu a:after{
    display:none;
  }

  .linkedin{
    display:none !important;
  }
}

@media(max-width:900px){
  body.menu-open{
    overflow:hidden;
  }

  .hero{
    padding-top:72px;
  }

  .brand>span{
    font-size:34px !important;
  }

  .brand strong{
    font-size:12px !important;
  }

  .brand small{
    font-size:9px !important;
  }

  .hero-wrap{
    width:calc(100% - 28px) !important;
  }

  .hero h1{
    font-size:clamp(52px,17vw,86px) !important;
  }

  .photo-card{
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
  }

  .home-panels,
  .home-projects,
  .value-strip,
  .core-grid,
  .timeline,
  .cert-grid,
  .projects-grid{
    grid-template-columns:1fr !important;
  }

  .feat-grid{
    grid-template-columns:1fr !important;
  }

  .section{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* V23 mobile menu visibility fix */
@media(max-width:1300px){

  .topbar{
    justify-content:space-between !important;
    position:fixed !important;
    z-index:9999 !important;
  }

  .brand{
    max-width:70%;
  }

  .mobile-menu-toggle{
    display:flex !important;
    position:absolute !important;
    right:18px !important;
    top:14px !important;
    width:52px !important;
    height:44px !important;
    background:rgba(5,13,24,.96) !important;
    border:2px solid rgba(242,181,54,.92) !important;
    box-shadow:
      0 0 18px rgba(242,181,54,.18),
      0 12px 28px rgba(0,0,0,.45) !important;
  }

  .mobile-menu-toggle span{
    background:#f2b536 !important;
    height:3px !important;
    width:24px !important;
  }

  .menu{
    top:72px !important;
    right:16px !important;
    left:16px !important;
    z-index:9998 !important;
  }
}

@media(max-width:900px){

  .mobile-menu-toggle{
    right:14px !important;
    top:13px !important;
  }

  .brand{
    padding-right:60px !important;
  }
}


/* V25 - mobile photo responsive fix */
@media(max-width:1300px){
  .photo-card{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:330px !important;
    margin:28px auto 22px auto !important;
    clear:both !important;
    z-index:4 !important;
  }

  .photo-card img{
    width:100% !important;
    height:auto !important;
    max-height:360px !important;
    object-fit:cover !important;
    object-position:center top !important;
  }

  .home-panels{
    margin-top:22px !important;
    position:relative !important;
    z-index:3 !important;
  }
}

@media(max-width:900px){
  .photo-card{
    max-width:280px !important;
    margin:24px auto 28px auto !important;
  }

  .photo-card img{
    max-height:310px !important;
  }

  .hero-copy{
    margin-bottom:0 !important;
  }

  .home-panels{
    margin-top:18px !important;
  }
}

@media(max-width:480px){
  .photo-card{
    max-width:250px !important;
  }

  .photo-card img{
    max-height:280px !important;
  }
}


/* V26 anchor offset */
section{
  scroll-margin-top:110px;
}


/* V27 - FORCE mobile visibility for Certifications and Projects */
#certificazioni,
#progetti,
.mobile-visible-section{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:auto !important;
  overflow:visible !important;
  position:relative !important;
  z-index:2 !important;
}

#certificazioni .cert-grid,
#progetti .projects-grid{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  overflow:visible !important;
}

#certificazioni .cert-card,
#progetti .project-card{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

@media(max-width:900px){

  main,
  .section,
  #certificazioni,
  #progetti{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:unset !important;
    overflow:visible !important;
    background:transparent !important;
  }

  #certificazioni,
  #progetti{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  #certificazioni .section-title,
  #progetti .section-title,
  #certificazioni .section-heading,
  #progetti .section-heading{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin-bottom:28px !important;
  }

  #certificazioni .cert-grid,
  #progetti .projects-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
    width:100% !important;
  }

  #certificazioni .cert-card,
  #progetti .project-card{
    width:100% !important;
    margin:0 !important;
    padding:20px !important;
  }

  #certificazioni h2,
  #progetti h2{
    font-size:42px !important;
    line-height:1 !important;
    word-break:normal !important;
  }

  #certificazioni h3,
  #progetti h3{
    font-size:20px !important;
    line-height:1.25 !important;
  }

  #certificazioni p,
  #progetti p{
    font-size:14px !important;
    line-height:1.6 !important;
  }
}

/* make anchor landing reliable */
#certificazioni,
#progetti{
  scroll-margin-top:100px !important;
}


/* V29 Blog section */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.blog-card{
  background:linear-gradient(180deg,rgba(8,22,36,.92),rgba(5,13,24,.90));
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:26px;
  box-shadow:0 18px 50px rgba(0,0,0,.34);
  transition:.25s;
}

.blog-card:hover{
  transform:translateY(-6px);
  border-color:rgba(242,181,54,.48);
  box-shadow:
    0 24px 70px rgba(0,0,0,.42),
    0 0 24px rgba(242,181,54,.10);
}

.blog-tag{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(242,181,54,.08);
  border:1px solid rgba(242,181,54,.28);
  color:#ffd978;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.blog-card h3{
  margin:18px 0 14px;
  font-size:24px;
  line-height:1.15;
}

.blog-card p{
  color:#d6dfeb;
  line-height:1.7;
  font-size:14px;
}

.blog-card a{
  display:inline-block;
  margin-top:16px;
  color:#ff4b40;
  text-decoration:none;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
}

@media(max-width:1100px){
  .blog-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:900px){
  .blog-grid{
    grid-template-columns:1fr;
  }

  .blog-card{
    padding:22px;
  }

  .blog-card h3{
    font-size:22px;
  }
}


/* V40 Premium Language Switcher */
.lang-switch{
  position:fixed !important;
  top:88px !important;
  right:22px !important;
  z-index:99999 !important;
  display:flex !important;
  align-items:center;
  gap:6px !important;
  padding:6px;
  border-radius:999px;
  background:rgba(2,6,17,.72) !important;
  border:1px solid rgba(242,181,54,.28) !important;
  backdrop-filter:blur(16px);
  box-shadow:0 18px 45px rgba(0,0,0,.32);
}

.lang-switch a{
  width:auto !important;
  min-width:58px !important;
  height:34px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px;
  background:transparent !important;
  border:0 !important;
  color:#dce6f2 !important;
  text-decoration:none !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.04em;
  transition:.25s ease;
}

.lang-switch a:hover{
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
}

.lang-switch a.active{
  background:linear-gradient(135deg,#f2b536,#ffd978) !important;
  color:#020611 !important;
  box-shadow:0 0 18px rgba(242,181,54,.28);
}

.lang-switch .flag{
  font-size:15px;
  line-height:1;
}

@media(max-width:900px){
  .lang-switch{
    top:78px !important;
    right:12px !important;
    padding:5px;
  }

  .lang-switch a{
    min-width:50px !important;
    height:32px !important;
    padding:0 9px !important;
    font-size:11px !important;
  }
}


/* V41 - mobile language switch no overlap */
@media(max-width:900px){
  .lang-switch{
    top:auto !important;
    right:12px !important;
    bottom:16px !important;
    left:auto !important;
    position:fixed !important;
    z-index:99999 !important;
    padding:4px !important;
    gap:4px !important;
    border-radius:999px !important;
  }

  .lang-switch a{
    min-width:44px !important;
    height:30px !important;
    padding:0 8px !important;
    font-size:10px !important;
  }

  .lang-switch .flag{
    font-size:13px !important;
  }

  body{
    padding-bottom:58px;
  }
}

@media(max-width:420px){
  .lang-switch{
    right:8px !important;
    bottom:10px !important;
  }

  .lang-switch a{
    min-width:40px !important;
    height:28px !important;
    padding:0 7px !important;
  }
}


/* V43 - Enterprise Expertise visible link grid */
.expertise-link-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin:28px 0 34px;
}

.expertise-link-grid a{
  display:block;
  min-height:150px;
  padding:22px;
  border-radius:16px;
  text-decoration:none;
  background:linear-gradient(180deg,rgba(8,22,36,.94),rgba(5,13,24,.92));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 50px rgba(0,0,0,.30);
  transition:.25s ease;
}

.expertise-link-grid a:hover{
  transform:translateY(-6px);
  border-color:rgba(242,181,54,.50);
  box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 24px rgba(242,181,54,.10);
}

.expertise-link-grid span{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(242,181,54,.45);
  color:#f2b536;
  font-weight:900;
  margin-bottom:16px;
}

.expertise-link-grid strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.2;
  margin-bottom:8px;
}

.expertise-link-grid small{
  display:block;
  color:#cfd8e5;
  font-size:12px;
  line-height:1.55;
}

@media(max-width:1200px){
  .expertise-link-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .expertise-link-grid{
    grid-template-columns:1fr;
    margin-top:22px;
  }

  .expertise-link-grid a{
    min-height:auto;
    padding:20px;
  }
}
