/* HEADER */

.site-header{
  position:fixed;
  top:0;
  left:0;

  width:100%;

  display:flex;
  justify-content:space-between;
  align-items:center;

  padding:2rem 4rem;

  z-index:1000;

  backdrop-filter:blur(18px);

  background:rgba(5,8,22,0.88);

  border-bottom:1px solid rgba(255,255,255,0.06);

  transition:all 0.3s ease;
}

.brand{
  display:flex;
  align-items:center;
}

.brand img{
  height:96px;
  width:auto;
  object-fit:contain;
  display:block;
}

.site-nav{
  display:flex;
  gap:3.2rem;
  align-items:center;
}

.site-nav a{
  font-size:1.45rem;

  font-weight:500;

  color:rgba(255,255,255,0.82);

  transition:var(--transition);

  letter-spacing:-0.02em;
}

.site-nav a:hover{
  color:white;
}

.nav-cta{
  padding:1.2rem 2rem;

  border-radius:999px;

  background:linear-gradient(
    135deg,
    var(--color-secondary),
    var(--color-accent)
  );

  color:white !important;

  font-weight:600;

  box-shadow:
    0 10px 30px rgba(39,93,225,0.25);
}

/* HERO */

.hero{
  position:relative;

  min-height:100vh;

  display:grid;
  grid-template-columns:1fr 1fr;

  align-items:start;

  gap:5rem;

  width:min(100% - 3rem, var(--container-width));
  margin-inline:auto;

  padding-top:16rem;
  padding-bottom:8rem;
}

.hero::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at top right,
      rgba(39,93,225,0.15),
      transparent 35%
    );

  pointer-events:none;
}

.hero__content{
  position:relative;
  z-index:2;
}

.hero__text{
  margin-block:2rem;

  font-size:1.15rem;

  color:rgba(255,255,255,0.78);

  max-width:60ch;
}

.hero__actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}

.hero__visual{
  position:relative;
}

.hero__visual::before{
  content:"";

  position:absolute;

  width:100%;
  height:100%;

  background:linear-gradient(
    180deg,
    rgba(6,25,86,0.1),
    rgba(5,8,22,0.5)
  );

  border-radius:var(--radius-lg);

  z-index:2;
}

.hero__visual img{
  width:100%;
  height:680px;

  object-fit:cover;
  object-position:center;

  border-radius:var(--radius-lg);

  box-shadow:var(--shadow-soft);

  filter:saturate(1.05) contrast(1.05);

}
/* INTRO */

.intro{
  text-align:center;
}

/* SPLIT SECTION */

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
}

/* CARDS */

.card-list{
  display:grid;
  gap:1.5rem;
}

.card{
  padding:2rem;

  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.04),
    rgba(255,255,255,0.02)
  );

  border:1px solid var(--color-border);

  border-radius:var(--radius-md);

  backdrop-filter:blur(10px);
}

/* ECOSYSTEM */

.ecosystem-grid{
  margin-top:4rem;

  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}

.ecosystem-grid article{
  padding:2rem;
  border-radius:var(--radius-md);

  background:rgba(255,255,255,0.03);

  border:1px solid var(--color-border);
}

/* INDUSTRIES */

.tag-grid{
  margin-top:3rem;

  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}

.tag-grid span{
  padding:1rem 1.4rem;

  border-radius:999px;

  background:rgba(255,255,255,0.05);

  border:1px solid var(--color-border);
}

/* FORSENTICO */

.forsentico{
  display:grid;
  align-items:center;
  gap:4rem;
}

/* CONTACT */

.contact{
  text-align:center;
}
/* SECTION DIVIDER */

.section{
  position:relative;
}

.section::after{
  content:"";

  position:absolute;

  bottom:0;
  left:0;

  width:100%;
  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,0.08),
      transparent
    );
}

/* GLASS EFFECT */

.card,
.ecosystem-grid article{
  backdrop-filter:blur(14px);
}

/* HOVER EFFECT */

.card{
  transition:all 0.4s ease;
}

.card:hover{
  transform:translateY(-6px);

  border-color:rgba(61,191,239,0.35);
}

/* INDUSTRIES */

.tag-grid span{
  transition:all 0.3s ease;
}

.tag-grid span:hover{
  background:rgba(39,93,225,0.15);

  border-color:rgba(61,191,239,0.25);
}
/* MOBILE TOGGLE */

.nav-toggle{
  display:none;

  width:52px;
  height:52px;

  border:none;
  background:none;

  cursor:pointer;

  position:relative;
  z-index:1200;
}

.nav-toggle span{
  display:block;

  width:28px;
  height:2px;

  margin:6px auto;

  background:white;

  transition:all 0.3s ease;
}

/* MOBILE MENU ACTIVE */

.site-nav.active{
  transform:translateX(0);
}
/* SCROLL REVEAL */

.reveal{
  opacity:0;
  transform:translateY(80px);
  transition:
    opacity 1s ease,
    transform 1s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}
/* HERO ATMOSPHERE */

.hero::after{

  content:"";

  position:absolute;

  width:700px;
  height:700px;

  right:-200px;
  top:-120px;

  background:
    radial-gradient(
      circle,
      rgba(39,93,225,0.16),
      transparent 70%
    );

  filter:blur(40px);

  z-index:-1;

  pointer-events:none;
}

/* VISUAL DEPTH */

.hero__visual{

  position:relative;
}

.hero__visual::after{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(5,8,22,0.25)
    );

  border-radius:var(--radius-lg);

  pointer-events:none;
}

/* IMAGE HOVER */

.visual-card img,
.ecosystem-visual img,
.hero__visual img{

  transition:
    transform 1.2s ease,
    filter 1.2s ease;
}

.visual-card:hover img,
.ecosystem-visual:hover img,
.hero__visual:hover img{

  transform:scale(1.03);

  filter:
    saturate(1.1)
    contrast(1.05);
}
/* FOOTER */

.site-footer{
  width:100%;

  padding:6rem 3rem 2rem;

  background:
    linear-gradient(
      180deg,
      rgba(5,8,22,0.4),
      rgba(5,8,22,1)
    );

  border-top:1px solid rgba(255,255,255,0.08);
}

.footer-grid{
  width:min(100%, var(--container-width));
  margin-inline:auto;

  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:4rem;
}

.footer-brand img{
  width:220px;
  margin-bottom:1.5rem;
}

.footer-brand p{
  max-width:420px;
}

.footer-column{
  display:flex;
  flex-direction:column;
  gap:0.9rem;
}

.footer-column h3{
  font-size:1rem;
  color:white;
  margin-bottom:0.8rem;
}

.footer-column a,
.footer-column p{
  color:rgba(255,255,255,0.65);
  font-size:0.95rem;
  transition:var(--transition);
}

.footer-column a:hover{
  color:var(--color-accent);
}

.footer-bottom{
  width:min(100%, var(--container-width));
  margin:4rem auto 0;

  padding-top:2rem;

  border-top:1px solid rgba(255,255,255,0.08);

  display:flex;
  justify-content:space-between;
  gap:2rem;
}

.footer-bottom p{
  font-size:0.9rem;
  color:rgba(255,255,255,0.55);
}
/* STATS SECTION */

.stats-grid{
  margin-top:3rem;

  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}

.stat-card{
  padding:2rem;

  border-radius:var(--radius-md);

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.05),
      rgba(255,255,255,0.02)
    );

  border:1px solid var(--color-border);

  min-height:220px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.stat-card span{
  font-size:clamp(2.4rem, 4vw, 4rem);
  font-weight:700;
  line-height:1;
  color:white;
  letter-spacing:-0.06em;
}

.stat-card p{
  font-size:0.95rem;
}
/* FORSENTICO PREMIUM */

.forsentico-premium{
  padding:4rem;

  border-radius:var(--radius-lg);

  background:
    linear-gradient(
      135deg,
      rgba(6,25,86,0.75),
      rgba(39,93,225,0.18)
    );

  border:1px solid rgba(255,255,255,0.08);

  box-shadow:var(--shadow-soft);
}

.forsentico-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.forsentico-logo{
  width:220px;
  height:auto;
  margin-bottom:2rem;
}

.mini-list{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem;

  margin:2rem 0;
}

.mini-list span{
  padding:0.75rem 1rem;

  border-radius:999px;

  background:rgba(255,255,255,0.06);

  border:1px solid rgba(255,255,255,0.08);

  color:rgba(255,255,255,0.82);

  font-size:0.9rem;
}

.forsentico-premium .visual-card{
  border-color:rgba(255,255,255,0.12);
}
/* FINAL CTA */

.final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:3rem;

  padding:4rem;

  border-radius:var(--radius-lg);

  background:
    radial-gradient(
      circle at top right,
      rgba(61,191,239,0.18),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      rgba(39,93,225,0.22),
      rgba(6,25,86,0.82)
    );

  border:1px solid rgba(255,255,255,0.1);

  box-shadow:var(--shadow-soft);
}

.final-cta h2{
  max-width:760px;
}

.final-cta p{
  max-width:620px;
}
/* CONTACT FORM */

.contact-section{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:4rem;
  align-items:start;
}

.contact-copy p{
  margin-bottom:2rem;
}

.whatsapp-inline{
  display:inline-flex;
  padding:1rem 1.5rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  color:white;
  transition:var(--transition);
}

.whatsapp-inline:hover{
  border-color:var(--color-accent);
  color:var(--color-accent);
}

.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
  padding:2rem;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,0.04);
  border:1px solid var(--color-border);
  box-shadow:var(--shadow-soft);
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}

.form-group.full{
  grid-column:1 / -1;
}

.form-group label{
  font-size:0.9rem;
  color:rgba(255,255,255,0.75);
}

.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  padding:1rem;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(5,8,22,0.75);
  color:white;
  font-family:var(--font-primary);
  font-size:1rem;
  outline:none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:var(--color-accent);
}

.form-group textarea{
  resize:vertical;
}

.whatsapp-float{
  position:fixed;
  right:2rem;
  bottom:2rem;
  z-index:1300;
  padding:1rem 1.3rem;
  border-radius:999px;
  background:#25D366;
  color:#07120b;
  font-weight:700;
  box-shadow:0 12px 30px rgba(0,0,0,0.3);
}
/* FORM CONSENT */

.form-consent{
  grid-column:1 / -1;

  display:flex;
  align-items:flex-start;
  gap:1rem;
}

.form-consent input{
  margin-top:0.3rem;
}

.form-consent label{
  font-size:0.9rem;
  color:rgba(255,255,255,0.7);
  line-height:1.5;
}

/* FOOTER LEGAL */

.footer-legal{
  margin-top:1rem;

  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}

.footer-legal a{
  font-size:0.85rem;
  color:rgba(255,255,255,0.45);
}

.footer-legal a:hover{
  color:var(--color-accent);
}

/* COOKIES */

.cookies-banner{

  position:fixed;

  left:2rem;
  bottom:2rem;

  width:min(420px, calc(100% - 2rem));

  padding:1.5rem;

  border-radius:20px;

  background:rgba(5,8,22,0.94);

  border:1px solid rgba(255,255,255,0.08);

  backdrop-filter:blur(20px);

  z-index:1400;

  box-shadow:var(--shadow-soft);

  display:flex;
  flex-direction:column;
  gap:1rem;
}

.cookies-banner p{
  font-size:0.9rem;
  color:rgba(255,255,255,0.72);
}