:root{--orange:#f26a00;--dark:#071114;--black:#05090b;--text:#172126}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;width:100%;overflow-x:hidden;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff}
a{color:inherit}
.site-header{height:112px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);display:flex;align-items:center;gap:34px;padding:0 5.5%;box-shadow:0 1px 0 rgba(0,0,0,.08);position:sticky;top:0;z-index:100}
.logo img{display:block;width:260px;height:auto}
.main-nav{margin-left:auto;display:flex;gap:34px;align-items:center}
.main-nav a{font-family:"Barlow Condensed";font-size:20px;font-weight:800;text-decoration:none;color:#111;position:relative}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:.28s cubic-bezier(.2,.8,.2,1)}
.main-nav a.active,.main-nav a:hover{color:var(--orange)}
.main-nav a.active:after,.main-nav a:hover:after{transform:scaleX(1)}
.quote{background:var(--orange);color:#fff;text-decoration:none;font-weight:900;padding:18px 28px;white-space:nowrap;transition:.28s cubic-bezier(.2,.8,.2,1)}
.quote:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(242,106,0,.28)}
.quote span{font-size:24px;margin-left:14px}
.menu-toggle{display:none;border:0;background:var(--dark);color:#fff;font-size:24px;padding:8px 13px}

.hero{position:relative;height:clamp(520px,58vw,760px);overflow:hidden;background:#05090b;color:#fff}
.slides,.slide{position:absolute;inset:0}
.slide{opacity:0;transform:translateX(18%) scale(1.04);transition:opacity 1.1s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1);background:#05090b;overflow:hidden}
.slide.active{opacity:1;transform:translateX(0) scale(1);z-index:2}
.slide.prev{opacity:0;transform:translateX(-10%) scale(1.02);z-index:1}
.slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.015);transition:transform 8s ease}
.slide.active img{transform:scale(1.065)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.50) 34%,rgba(0,0,0,.08) 65%,rgba(0,0,0,.18));z-index:3;pointer-events:none}
.hero-content{position:absolute;z-index:5;left:7%;top:14%;max-width:720px;text-shadow:0 4px 14px rgba(0,0,0,.45)}
.eyebrow{font-family:"Barlow Condensed";font-weight:800;font-size:clamp(22px,1.6vw,28px);margin:0 0 9px}
.integrate{font-family:"Barlow Condensed";font-weight:800;font-size:clamp(28px,2.2vw,36px);color:var(--orange);margin:0 0 12px}
.hero h1{font-family:"Barlow Condensed";font-size:clamp(60px,6vw,104px);line-height:.88;margin:0 0 16px;font-weight:800}
.hero h1 span{color:var(--orange)}
.hero-content p:not(.eyebrow):not(.integrate){font-size:clamp(18px,1.55vw,26px);line-height:1.35;font-weight:700}
.hero-actions{display:flex;gap:22px;margin-top:26px}
.btn{height:58px;min-width:230px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;transition:.28s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-3px)}
.primary{background:var(--orange);box-shadow:0 18px 40px rgba(242,106,0,.25)}
.secondary{border:2px solid var(--orange);background:rgba(0,0,0,.22)}
.btn span{font-size:25px;margin-left:18px}
.arrow{position:absolute;z-index:7;top:52%;transform:translateY(-50%);width:58px;height:66px;border:0;background:rgba(0,0,0,.62);color:#fff;font-size:56px;line-height:.5;cursor:pointer;transition:.25s}
.arrow:hover{background:var(--orange);transform:translateY(-50%) scale(1.04)}
.arrow.left{left:26px}.arrow.right{right:26px}
.dots{position:absolute;z-index:8;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:13px}
.dots button{width:13px;height:13px;border-radius:50%;border:0;background:#fff;opacity:.95;transition:.25s}
.dots button.active{background:var(--orange);transform:scale(1.25)}

.services-strip{background:linear-gradient(90deg,#121a1d,#070b0d);display:grid;grid-template-columns:repeat(7,1fr);padding:18px 3.8%;border-top:1px solid rgba(255,255,255,.15)}
.services-strip a{min-height:110px;color:#fff;text-decoration:none;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:14px;padding:0 18px;border-right:1px solid rgba(255,255,255,.26);transition:.35s cubic-bezier(.2,.8,.2,1)}
.services-strip a:last-child{border-right:0}
.services-strip a:hover{background:rgba(242,106,0,.16);transform:translateY(-5px)}
.services-strip span{font-size:46px;color:var(--orange);line-height:1}
.services-strip strong{font-family:"Barlow Condensed";font-size:25px;line-height:1.02}
.services-strip small{display:block;font-size:13px;font-style:italic;margin-top:7px;color:#f5f5f5}

.about-preview{display:grid;grid-template-columns:35% 65%;min-height:430px;background:linear-gradient(90deg,#f4f4f4,#fff);overflow:hidden}
.about-copy{padding:48px 0 45px 7vw}
.label{font-family:"Barlow Condensed";font-size:22px;color:var(--orange);font-weight:800;margin:0 0 10px;text-transform:uppercase}
.about-copy h2{font-family:"Barlow Condensed";font-size:clamp(35px,3.2vw,50px);line-height:1.02;margin:0 0 23px}
.about-copy h2 span{color:var(--orange)}
.about-copy p{font-size:15px;line-height:1.48;max-width:500px}
.small-btn{display:inline-flex;align-items:center;margin-top:15px;border:1.5px solid var(--orange);padding:11px 23px;text-decoration:none;font-weight:900;color:#111;transition:.25s}
.small-btn:hover{background:var(--orange);color:#fff}.small-btn span{color:var(--orange);font-size:25px;margin-left:16px}.small-btn:hover span{color:#fff}

.blade-gallery{position:relative;display:flex;align-items:center;gap:0;padding:26px 5vw 26px 0;perspective:1200px}
.blade{height:330px;flex:1;transform:skewX(-13deg);overflow:hidden;box-shadow:0 0 0 8px #fff;margin-left:-10px;background:#ddd;transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s,box-shadow .42s;text-decoration:none}
.blade:hover{filter:brightness(1.08) contrast(1.04);transform:skewX(-13deg) translateY(-8px) scale(1.035);z-index:5;box-shadow:0 22px 55px rgba(0,0,0,.18),0 0 0 8px #fff}
.blade img{width:125%;height:100%;object-fit:cover;transform:skewX(13deg) translateX(-8%);display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.blade:hover img{transform:skewX(13deg) translateX(-8%) scale(1.06)}

.certs{background:#10181b;color:#fff;display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:26px;padding:22px 7%;min-height:130px}
.cert-title{font-family:"Barlow Condensed";font-size:34px;line-height:1;font-weight:700}.cert-title span{color:var(--orange)}
.cert{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:16px;border-left:1px solid rgba(255,255,255,.25);padding-left:26px}
.cert span{width:52px;height:52px;border:4px solid var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px}
.cert strong{display:block;font-family:"Barlow Condensed";font-size:32px;line-height:.9}
.cert small{font-size:14px;font-weight:800}

.footer{background:var(--orange);color:#fff;display:grid;grid-template-columns:1.05fr 1.55fr .9fr 2.1fr;gap:22px;align-items:center;padding:22px 7%;font-size:14px;font-weight:800;line-height:1.45}
.footer a{text-decoration:none;color:#fff}.footer-title{font-family:"Barlow Condensed";font-size:42px;font-weight:800}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

@media(max-width:1180px){
  .main-nav{display:none}
  .main-nav.open{display:flex;position:absolute;top:88px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(18px);flex-direction:column;padding:20px;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  .menu-toggle{display:block;margin-left:auto}.quote{display:none}
  .services-strip{grid-template-columns:repeat(2,1fr)}
  .about-preview{grid-template-columns:1fr}.about-copy{padding:42px 28px}
  .blade-gallery{padding:20px 28px;overflow-x:auto;scroll-snap-type:x mandatory}
  .blade{min-width:230px;scroll-snap-align:center}
  .certs{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr 1fr}
  .logo img{width:210px}.site-header{height:88px}
}
@media(max-width:700px){
  .site-header{height:auto;padding:14px 20px}.logo img{width:180px}
  .hero{height:620px}.hero-content{left:24px;right:24px;top:70px}
  .hero h1{font-size:58px}.hero-actions{flex-direction:column;gap:12px}.btn{width:250px}
  .arrow{width:48px;height:54px;font-size:48px}.arrow.left{left:10px}.arrow.right{right:10px}
  .services-strip{grid-template-columns:1fr;padding:8px 18px}
  .services-strip a{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .blade-gallery{display:grid;grid-template-columns:1fr;gap:14px;padding:20px}
  .blade{min-width:0;width:100%;height:230px;transform:none;margin:0}
  .blade:hover{transform:translateY(-4px)}
  .blade img{width:100%;transform:none}
  .blade:hover img{transform:scale(1.04)}
  .certs{grid-template-columns:1fr;padding:25px}
  .cert{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:18px 0 0}
  .footer{grid-template-columns:1fr;padding:24px}.footer-title{font-size:36px}
}


/* ===== FIX DEFINITIVO: slider originale + BARCA aggiunta + gallery 1/2 non tagliate ===== */
.slide img{
  object-fit:cover;
  object-position:center center;
}

.blade.blade-fit img{
  object-fit:cover;
  object-position:center center;
}

@media(max-width:700px){
  .slide img{
    object-position:center center;
  }
}


/* ===== FIX DEFINITIVO LOGO + SLIDE BARCA ===== */

header,
.header,
.navbar,
.topbar{
  background: transparent !important;
  box-shadow:none !important;
}

.logo,
.logo img{
  background: transparent !important;
}

.logo img{
  max-height:82px;
  width:auto;
  display:block;
  object-fit:contain;
}

header{
  position:absolute !important;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
  padding:18px 40px;
}

/* slide barca */
.slide:nth-child(5) img{
  object-fit:cover;
  object-position:center center;
}


/* ===== FIX FINALE HEADER BIANCO + LOGO LEGGIBILE ===== */

.site-header,
header.site-header{
  position:sticky !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:112px !important;
  z-index:9999 !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  box-shadow:0 2px 18px rgba(0,0,0,.08) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 5.5% !important;
  display:flex !important;
  align-items:center !important;
}

.logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#ffffff !important;
  width:auto !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
}

.logo img{
  display:block !important;
  width:260px !important;
  max-width:260px !important;
  height:auto !important;
  max-height:88px !important;
  object-fit:contain !important;
  background:transparent !important;
  margin:0 !important;
  padding:0 !important;
}

.main-nav a{
  color:#111820 !important;
  text-shadow:none !important;
}

.main-nav a.active,
.main-nav a:hover{
  color:#f26a00 !important;
}

.quote{
  background:#f26a00 !important;
  color:#ffffff !important;
  text-shadow:none !important;
}

.hero{
  margin-top:0 !important;
}

@media(max-width:1180px){
  .site-header,
  header.site-header{
    height:92px !important;
    padding:0 22px !important;
  }

  .logo img{
    width:210px !important;
    max-width:210px !important;
    max-height:72px !important;
  }

  .main-nav.open{
    top:92px !important;
    background:#ffffff !important;
  }
}

@media(max-width:700px){
  .site-header,
  header.site-header{
    height:82px !important;
    padding:0 18px !important;
  }

  .logo img{
    width:170px !important;
    max-width:170px !important;
    max-height:62px !important;
  }
}
