:root{--bg:#071820;--panel:#0e242b;--panel2:#15343d;--text:#f8f6ef;--muted:#9fb1b8;--brand:#0f5d63;--brand2:#d9b66f;--gold:#d9b66f;--white:#fff;--shadow:0 24px 80px rgba(7,24,32,.25);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f4f7fb;color:#142033;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{background:#06181d;color:#dce8f7;font-size:14px}.wrap{max-width:1180px;margin:auto;padding:0 22px}.topbar .wrap{display:flex;justify-content:space-between;gap:14px;padding-top:9px;padding-bottom:9px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.2px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#06181d;font-weight:900}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(7,24,32,.10);border:1px solid rgba(15,32,57,.08);flex:0 0 auto}.brand small{display:block;color:#75869f;font-weight:700;font-size:12px}.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,32,57,.08)}.navrow{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.navlinks{display:flex;align-items:center;gap:4px}.navlinks a{padding:10px 14px;border-radius:999px;color:#27364b;font-weight:750}.navlinks a:hover,.navlinks a.active{background:#edf5f2;color:#07333a}.burger{display:none;border:0;background:#0f2b33;color:#fff;border-radius:12px;padding:10px 12px;font-size:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 20px;font-weight:850;border:1px solid transparent;transition:.2s;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#071820;box-shadow:0 14px 36px rgba(217,182,111,.28)}.btn-primary:hover{transform:translateY(-2px)}.btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}.btn-dark{background:#071820;color:#fff}.hero{position:relative;isolation:isolate;min-height:620px;background:linear-gradient(90deg,rgba(7,17,31,.92),rgba(7,17,31,.62)),url('../img/hero.jpg') center/cover no-repeat;color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:auto -120px -180px auto;width:520px;height:520px;background:radial-gradient(circle,var(--brand),transparent 65%);opacity:.25;filter:blur(8px);z-index:-1}.hero .wrap{padding-top:96px;padding-bottom:96px}.eyebrow{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:999px;color:#dbf9ff;font-weight:800;font-size:13px}.hero h1{font-size:clamp(40px,6vw,76px);line-height:.96;margin:22px 0 20px;max-width:900px;letter-spacing:-2px}.hero p{font-size:20px;max-width:720px;color:#d6e1ef}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero-card{margin-top:46px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:920px}.mini{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);padding:18px;border-radius:20px;backdrop-filter:blur(12px)}.mini b{display:block;font-size:20px}.section{padding:86px 0}.section.dark{background:var(--bg);color:#fff}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:1.05fr .95fr}.grid-3{grid-template-columns:repeat(3,1fr)}.title{font-size:clamp(32px,4vw,52px);line-height:1.05;margin:0 0 18px;letter-spacing:-1.3px;color:#10262d}.dark .title{color:#fff}.lead{font-size:18px;color:#5b6980;max-width:760px}.dark .lead{color:#b9c8db}.card{background:#fff;border:1px solid rgba(15,32,57,.08);border-radius:var(--radius);padding:26px;box-shadow:0 12px 40px rgba(13,31,55,.06)}.dark .card{background:linear-gradient(180deg,var(--panel),var(--panel2));border-color:rgba(255,255,255,.08)}.card h3{margin:0 0 10px;font-size:23px}.icon{width:48px;height:48px;border-radius:16px;background:#eef6f1;display:grid;place-items:center;margin-bottom:16px;font-size:23px}.feature-img{border-radius:20px;min-height:480px;width:100%;object-fit:contain;background:#fff;border:2px solid #d8dee8;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:.3s ease}.check{list-style:none;padding:0;margin:18px 0 0}.check li{padding:9px 0 9px 34px;position:relative}.check li:before{content:'✓';position:absolute;left:0;top:8px;width:23px;height:23px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#06181d;display:grid;place-items:center;font-weight:900;font-size:13px}.aiac{display:flex;align-items:center;gap:18px;background:#fff;border-radius:22px;padding:18px;border:1px solid rgba(15,32,57,.08);box-shadow:0 10px 35px rgba(13,31,55,.07)}.aiac img{width:190px}.cta{background:linear-gradient(135deg,#0e2d34,#16525c);color:#fff;border-radius:34px;padding:44px;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(217,182,111,.24)}.form{display:grid;gap:13px}.form input,.form textarea,.form select{width:100%;border:1px solid #d9e2ed;border-radius:14px;padding:14px 15px;font:inherit}.form textarea{min-height:150px}.footer{background:#06181d;color:#d9e5f5;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer a{color:#d9e5f5}.subfooter{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;color:#91a2b8;font-size:14px}.whatsapp{position:fixed;right:20px;bottom:20px;z-index:60;width:62px;height:62px;border-radius:50%;background:#fff;color:#25D366;display:grid;place-items:center;font-size:0;border:1px solid #e5e7eb;box-shadow:0 14px 34px rgba(7,24,32,.18);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;animation:none}.whatsapp:before{content:"";width:34px;height:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%2325D366' d='M16.01 3.2C9 3.2 3.3 8.84 3.3 15.8c0 2.24.6 4.42 1.74 6.34L3.2 28.8l6.84-1.79a12.78 12.78 0 0 0 5.97 1.48c7.01 0 12.71-5.64 12.71-12.6S23.02 3.2 16.01 3.2Zm0 22.9c-1.9 0-3.75-.5-5.37-1.46l-.38-.22-4.06 1.06 1.08-3.92-.25-.4a10.2 10.2 0 0 1-1.56-5.36c0-5.64 4.73-10.23 10.54-10.23s10.54 4.59 10.54 10.23S21.82 26.1 16.01 26.1Z'/%3E%3Cpath fill='%2325D366' d='M21.77 18.63c-.31-.16-1.84-.9-2.12-1-.28-.1-.49-.16-.7.16-.2.3-.8 1-.98 1.2-.18.2-.36.23-.67.08-.31-.16-1.31-.48-2.5-1.53-.92-.82-1.55-1.84-1.73-2.15-.18-.31-.02-.48.14-.63.14-.14.31-.36.47-.54.16-.18.2-.31.31-.52.1-.2.05-.39-.03-.55-.08-.16-.7-1.68-.95-2.3-.25-.6-.5-.52-.7-.53h-.6c-.2 0-.55.08-.83.39-.28.31-1.1 1.07-1.1 2.6s1.13 3.02 1.28 3.23c.16.2 2.21 3.35 5.35 4.7.75.32 1.33.51 1.79.65.75.24 1.43.2 1.97.12.6-.09 1.84-.75 2.1-1.48.26-.73.26-1.36.18-1.49-.08-.13-.28-.2-.6-.36Z'/%3E%3C/svg%3E") center/contain no-repeat}.whatsapp:hover{transform:scale(1.08);box-shadow:0 18px 42px rgba(7,24,32,.24);border-color:#d1d5db}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.show{opacity:1;transform:none}.page-hero{background:linear-gradient(135deg,#071820,#17454d);color:#fff;padding:86px 0}.page-hero h1{font-size:clamp(38px,5vw,64px);line-height:1;margin:0 0 14px}.breadcrumbs{color:#b7c7db;font-weight:700}.mapbox{border:0;width:100%;height:350px;border-radius:24px;filter:grayscale(.15)}/* CTA premium shine */
.navlinks a.btn-dark{color:#fff !important;background:linear-gradient(135deg,#0f5d63,#071820);box-shadow:0 12px 28px rgba(15,93,99,.25)}
.cta-shine{position:relative;overflow:hidden;isolation:isolate}
.cta-shine:before{content:"";position:absolute;top:-80%;left:-35%;width:34%;height:260%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-180%) rotate(12deg);transition:transform .75s ease;z-index:-1}
.cta-shine:hover:before{transform:translateX(520%) rotate(12deg)}
.btn-primary{background:linear-gradient(135deg,#0f5d63,#d9b66f);color:#fff;box-shadow:0 16px 38px rgba(15,93,99,.24)}
.btn-primary:hover,.btn-dark:hover,.btn-ghost:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,24,32,.22)}
.aiac-link{text-decoration:underline;text-underline-offset:3px;font-weight:900}
.aiac a img{transition:.25s}
.aiac a:hover img{transform:scale(1.03)}

/* Footer AppStream credit - centered and discreet */
.appstream-credit{
  width:100%;
  max-width:1180px;
  margin:12px auto 0;
  padding:0 22px;
  text-align:center;
  color:#7f91a8;
  font-size:12px;
  line-height:1.5;
  opacity:.9;
}
.appstream-credit a{
  color:#aebdd0;
  font-weight:700;
  text-decoration:none;
}
.appstream-credit a:hover{
  color:#d9b66f;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ===========================================================
   RESPONSIVE MOBILE
   =========================================================== */
@media (max-width: 860px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .wrap { width:100%; padding-left:18px; padding-right:18px; }

  .topbar { font-size:12px; line-height:1.4; }
  .topbar .wrap {
    display:flex; flex-direction:column; justify-content:center;
    align-items:center; gap:5px; padding-top:9px; padding-bottom:9px;
    text-align:center;
  }
  .topbar a { color:inherit; }

  .navbar { position:sticky; top:0; }
  .navrow {
    position:relative; display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center; width:100%; height:auto; min-height:74px;
    gap:10px; padding-top:10px; padding-bottom:10px;
  }
  .brand { min-width:0; gap:9px; overflow:hidden; }
  .brand-logo { width:46px; height:46px; flex:0 0 46px; }
  .brand > span, .brand-text {
    min-width:0; font-size:14px; line-height:1.15;
    overflow-wrap:break-word;
  }
  .brand-text { display:flex; flex-direction:column; }
  .brand-text strong {
    display:block; color:#10262d; font-size:14px; line-height:1.15;
  }
  .brand small, .brand-text small {
    display:block; margin-top:3px; font-size:10px; line-height:1.2;
  }
  .burger {
    display:block; flex-shrink:0; margin:0; padding:8px 11px;
    font-size:21px; line-height:1;
  }
  .navlinks {
    display:none; position:absolute; z-index:100;
    top:calc(100% + 8px); left:0; right:0; width:100%;
    padding:12px; border:1px solid rgba(15,32,57,.08);
    border-radius:18px; background:#fff; box-shadow:var(--shadow);
    flex-direction:column; align-items:stretch; gap:4px;
  }
  .navlinks.open { display:flex; }
  .navlinks a { display:block; width:100%; padding:12px 14px; text-align:center; }
  .navlinks a.btn-dark { display:inline-flex; }

  .header-phone, .phone-header {
    grid-column:1/-1; justify-self:center; margin-top:-2px;
    font-size:15px; font-weight:800; white-space:nowrap;
  }
  .header-phone a, .phone-header a { color:#10262d; }

  .hero { min-height:auto; background-position:center; }
  .hero .wrap { padding-top:54px; padding-bottom:58px; }
  .eyebrow {
    max-width:100%; padding:7px 10px; font-size:11px;
    line-height:1.35; flex-wrap:wrap;
  }
  .hero h1 {
    max-width:100%; margin:18px 0 16px;
    font-size:clamp(34px,10vw,44px); line-height:1.03;
    letter-spacing:-1px; overflow-wrap:break-word;
  }
  .hero p {
    max-width:100%; margin:0; font-size:17px; line-height:1.55;
  }
  .hero-actions {
    display:grid; grid-template-columns:1fr; gap:11px; margin-top:25px;
  }
  .hero-actions .btn { width:100%; padding:13px 16px; text-align:center; }
  .hero-card {
    grid-template-columns:1fr; max-width:none; gap:11px; margin-top:30px;
  }
  .mini { padding:16px; border-radius:17px; }
  .mini b { font-size:18px; }

  .section { padding:56px 0; }
  .grid-2, .grid-3, .footer-grid { grid-template-columns:minmax(0,1fr); }
  .grid { gap:22px; }
  .title {
    font-size:clamp(30px,9vw,38px); line-height:1.08; letter-spacing:-.8px;
  }
  .lead { font-size:16px; line-height:1.6; }
  .card { padding:22px; border-radius:20px; }
  .card h3 { font-size:21px; }
  .check li { padding-left:32px; }

  .feature-img {
    width:100%; height:auto; min-height:0; max-height:none;
    padding:10px; border-radius:18px; object-fit:contain;
  }

  .aiac {
    flex-direction:column; align-items:center; gap:14px;
    padding:20px; text-align:center;
  }
  .aiac img { width:min(170px,70%); }

  .cta { padding:27px 22px; border-radius:24px; text-align:center; }
  .cta h2 { font-size:29px !important; line-height:1.15; }
  .cta .btn { width:100%; }

  .page-hero { padding:58px 0; }
  .page-hero h1 { font-size:clamp(34px,10vw,46px); }
  .mapbox { height:300px; border-radius:18px; }

  .footer { padding-top:45px; text-align:center; }
  .footer-grid { gap:26px; }
  .footer .brand { justify-content:center; overflow:visible; }
  .appstream-credit { padding-left:18px; padding-right:18px; }

  .whatsapp { right:14px; bottom:14px; width:56px; height:56px; }
  .whatsapp:before { width:31px; height:31px; }
}
/* ===== Correzione logo/titolo mobile ===== */

.brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.brand span{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1.15;
}

.brand span small{
    display:block;
    position:static !important;
    margin-top:6px;
    font-size:15px;
    line-height:1.25;
    color:#7d8896;
    font-weight:600;
}

.brand-logo{
    width:58px;
    height:58px;
    flex-shrink:0;
}

.navbar{
    min-height:110px;
}

.navrow{
    align-items:center;
}
@media (max-width:390px) {
  .wrap { padding-left:14px; padding-right:14px; }
  .brand-logo { width:42px; height:42px; flex-basis:42px; }
  .brand > span, .brand-text, .brand-text strong { font-size:12.5px; }
  .brand small, .brand-text small { font-size:9px; }
  .burger { padding:8px 10px; font-size:19px; }
  .hero h1 { font-size:34px; }
  .hero p { font-size:16px; }
}

.feature-img:hover { transform:scale(1.02); }


/* Mobile refinement */
@media (max-width:768px){
.navrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px!important}
.brand{display:flex;align-items:center;gap:10px;max-width:75%}
.brand img,.brand-logo{width:44px!important;height:44px!important}
.brand span,.brand-text{font-size:1rem!important;line-height:1.2!important}
.hero,.hero .wrap{padding:56px 18px!important}
.hero h1{font-size:2rem!important;line-height:1.15!important}
.hero p{font-size:1rem!important}
.btn,.buttons a{display:block!important;width:100%;text-align:center;margin:10px 0!important}
section{padding:48px 18px!important}
.cards,.grid{grid-template-columns:1fr!important}
footer .wrap{padding:28px 18px!important;text-align:center}
img{max-width:100%;height:auto}
}
@media (max-width: 860px) {

  .brand {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .brand-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .brand-text small,
  .brand span small {
    display: block;
    position: static;
    margin-top: 6px;
    font-size: 0.95rem;
    line-height: 1.3;
    color: #7b8794;
  }

  .brand-logo {
    flex-shrink: 0;
  }
  @media (max-width:860px){

.navrow{
    height:auto;
    min-height:100px;
    padding:12px 0;
    align-items:center;
/* Correzione logo mobile */

.navrow{
    height:auto !important;
    min-height:100px;
    padding:12px 0;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.brand span{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.brand small{
    position:static !important;
    display:block;
    margin-top:4px;
    font-size:14px;
    line-height:1.25;
    color:#75869f;
}

.brand-logo{
    width:58px;
    height:58px;
}
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.brand span{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.brand small{
    display:block;
    margin-top:4px;
    font-size:14px;
    line-height:1.2;
    color:#75869f;
}

}

}


/* ==== MOBILE HEADER FIX OVERRIDE ==== */
@media (max-width:860px){
  .navrow{
    height:auto !important;
    min-height:96px !important;
    padding:12px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .brand{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    max-width:calc(100% - 64px);
  }
  .brand > span{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    line-height:1.15 !important;
  }
  .brand small{
    display:block !important;
    position:static !important;
    margin-top:4px !important;
    font-size:13px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }
  .brand-logo{
    width:52px !important;
    height:52px !important;
    flex-shrink:0 !important;
  }
}
