/* GO NET srl — Layout */
.container{width:min(100% - 2rem,var(--maxw));max-width:var(--maxw);margin-inline:auto}

/* Header */
.site-header{
  position:sticky;top:0;z-index:1000;height:var(--hh);
  background:rgba(6,9,16,.85);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:box-shadow var(--t-base),background-color var(--t-base);
}
.site-header::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:var(--g-accent);opacity:.4;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:100%}

/* Logo */
.site-logo{display:inline-flex;align-items:center;flex-shrink:0;height:100%;color:var(--text)}
.site-logo-image{
  display:block;height:52px;width:auto !important;max-width:180px;
  object-fit:contain;transform:translateZ(0);
  image-rendering:auto;-webkit-image-rendering:auto;
}

/* Nav mobile — slide panel */
.site-nav{
  position:fixed;top:0;right:0;bottom:0;z-index:999;
  width:min(85vw,360px);
  background:#070b14;
  display:flex;flex-direction:column;
  padding:0;
  transform:translateX(100%);visibility:hidden;pointer-events:none;
  transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s;
  box-shadow:-8px 0 40px rgba(0,0,0,.5);
}
.site-nav.is-open{
  transform:translateX(0);visibility:visible;pointer-events:auto;
  transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s 0s;
}

/* Menu backdrop */
.nav-backdrop{
  position:fixed;inset:0;z-index:998;
  background:rgba(0,0,0,.6);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .35s ease,visibility 0s .35s;
}
.nav-backdrop.is-visible{
  opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .35s ease,visibility 0s 0s;
}

/* Menu header */
.nav-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 1.75rem;
  border-bottom:1px solid rgba(255,255,255,.06);
  min-height:var(--hh);flex-shrink:0;
}
.nav-header-logo{height:36px;width:auto;opacity:.7}

/* Menu list */
.nav-list{
  display:flex;flex-direction:column;gap:0;
  flex:1;overflow-y:auto;padding:1rem 0;
}
.nav-list li{border-bottom:0}
.nav-list a{
  display:block;
  padding:.95rem 1.75rem;
  font-family:var(--f-head);font-weight:600;font-size:1.1rem;
  color:var(--text);letter-spacing:-.01em;
  transition:color var(--t-fast),background var(--t-fast);
  border-left:3px solid transparent;
}
.nav-list a:hover,.nav-list a:focus-visible{
  color:#fff;background:rgba(255,255,255,.03);
  border-left-color:rgba(56,189,248,.3);
}
.nav-list a[aria-current="page"]{
  color:var(--accent);
  border-left-color:var(--accent);
  background:rgba(56,189,248,.05);
}

/* Menu footer */
.nav-footer{
  flex-shrink:0;padding:1.25rem 1.75rem;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:.75rem;
}
.nav-footer .btn{width:100%;justify-content:center}
.nav-footer-contact{
  font-size:.75rem;color:var(--text-3);text-align:center;
  letter-spacing:.04em;
}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:var(--g-hero);z-index:1}
.hero::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:200px;
  background:linear-gradient(0deg,var(--bg) 5%,transparent);z-index:1;pointer-events:none;
}

.hero-content{
  position:relative;z-index:2;display:flex;flex-direction:column;
  max-width:680px;padding-top:var(--hh);
}
.hero-content h1{font-size:var(--ts-hero);line-height:1.02;font-weight:700;letter-spacing:-.03em;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.hero-text{max-width:520px;margin-top:var(--s-md);font-size:var(--ts-md);line-height:1.7;color:rgba(255,255,255,.8);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin-top:var(--s-xl)}

.hero::before{
  content:"";position:absolute;bottom:0;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(56,189,248,.2),rgba(129,140,248,.12),transparent);
  z-index:2;
}
.hero-scroll-hint{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  color:var(--text-3);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
}
.hero-scroll-hint svg{width:16px;height:16px;animation:bounceDown 2.5s ease-in-out infinite}

/* Split */
.split-content{display:grid;gap:var(--s-2x);align-items:center}
.content-block{max-width:580px}
.content-block h2{max-width:16ch}
.content-block p+.btn,.content-block p+.text-link{margin-top:var(--s-lg)}

/* Content media */
.hero-media,.content-media{
  overflow:hidden;border-radius:var(--r-xl);box-shadow:var(--sh-media);
  background:var(--bg-3);border:1px solid var(--border);
}
.hero-media img,.content-media img{width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .7s var(--ease)}
.content-media:hover img{transform:scale(1.03)}

/* Footer */
.site-footer{
  padding:var(--s-3x) 0 var(--s-xl);
  border-top:1px solid var(--border);background:var(--bg-2);
}
.site-footer::before{
  content:"";position:absolute;top:0;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(56,189,248,.15),rgba(129,140,248,.1),transparent);
}
.footer-inner{display:grid;gap:var(--s-2x)}
.footer-brand,.footer-links,.footer-contacts{display:grid;gap:.6rem}
.footer-brand p{font-size:var(--ts-sm);max-width:30ch}
.footer-title{font-family:var(--f-head);font-weight:700;font-size:var(--ts-lg);color:var(--text)}
.footer-links a,.footer-contacts a{color:var(--text-3);font-size:var(--ts-sm);width:fit-content;transition:color var(--t-fast)}
.footer-links a:hover,.footer-contacts a:hover{color:var(--accent)}

.footer-social{display:flex;gap:.75rem;margin-top:var(--s-xs)}
.footer-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--border-h);color:var(--text-3);
  transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);
}
.footer-social a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.footer-social svg{width:17px;height:17px}
.footer-contacts a[href^="https://www.mn99-lab.it"]{width:100%;max-width:240px}

/* Grids */
.page-grid{display:grid;grid-template-columns:1fr;gap:var(--s-2x)}
.page-grid>*{min-width:0}
.grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:var(--s-lg)}
.service-grid,.card-grid,.services-overview-grid,.page-media-grid{display:grid;grid-template-columns:1fr}
.service-grid>*,.card-grid>*,.services-overview-grid>*,.page-media-grid>*{min-width:0}

@media(min-width:960px){
  .split-content,.page-grid{align-items:start}
  .page-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.88fr)}
  .footer-inner{grid-template-columns:1.4fr 1fr 1fr;align-items:start}
}
@media(max-width:767px){
  .site-logo-image{height:46px}
  .footer-contacts a[href^="https://www.mn99-lab.it"]{max-width:100%}
}
