/* Elevatech homepage v1 — temi e componenti. Nessuna dipendenza esterna. */
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color-scheme:light;--bg:#f6f9fc;--surface:#fff;--surface2:#eef4fa;--ink:#12223c;--muted:#52647c;--line:#dce6f1;--blue:#3043ed;--blue2:#008bd8;--header:rgba(255,255,255,.95);--shadow:0 15px 40px rgba(23,49,91,.08)}
html[data-theme=dark]{color-scheme:dark;--bg:#0a1420;--surface:#111f2e;--surface2:#1c2c3c;--ink:#f2f7fd;--muted:#b0bfd0;--line:#34465b;--blue:#39a0ff;--blue2:#1bd4fa;--header:rgba(11,22,35,.96);--shadow:0 18px 40px rgba(0,0,0,.27)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--blue2);outline-offset:3px}.container{max-width:1230px;margin:auto;padding:0 28px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-60px;left:20px;z-index:20;padding:10px;background:var(--surface)}.skip:focus{top:10px}
.site-header{background:var(--header);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.header-inner{min-height:92px;display:flex;align-items:center;gap:24px}.brand{display:block;flex:0 0 230px}.brand img{display:block;width:100%;height:auto}.nav{display:flex;gap:18px;align-items:center;justify-content:center;flex:1}.nav a{font-size:13px;font-weight:650;white-space:nowrap}.nav a:hover,.text-link:hover{color:var(--blue)}.header-actions{display:flex;align-items:center;gap:10px}#scelta-tema{max-width:135px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px;font-size:12px}.mobile-menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:13px 20px;font-size:14px;font-weight:750;border:1px solid transparent;transition:transform .15s,box-shadow .15s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-primary{background:#2442ed;color:#fff;box-shadow:0 8px 20px rgba(30,80,233,.2)}.button-outline{border-color:var(--blue);color:var(--blue);background:var(--surface)}.button-white{background:#fff;color:#10284d}.button.small{padding:10px 13px;font-size:12px}
.hero{background:radial-gradient(circle at 75% 20%,rgba(26,122,211,.13),transparent 45%),var(--surface);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:530px}.hero-copy{padding:82px 32px 70px 0;align-self:center}.eyebrow{display:block;font-size:11px;font-weight:850;letter-spacing:.16em;color:var(--blue);text-transform:uppercase;margin-bottom:12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(37px,4.5vw,64px);line-height:1.09;letter-spacing:-.045em;margin-bottom:22px}h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{font-size:18px;max-width:560px;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.hero-areas{margin-top:34px;color:var(--muted);font-size:12px}.hero-visual{position:relative;background:linear-gradient(130deg,#102e53,#164875 53%,#0a1529);overflow:hidden;min-height:440px;isolation:isolate}.hero-visual:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 72px,rgba(150,206,249,.14) 74px 76px),linear-gradient(125deg,transparent 30%,rgba(71,162,241,.28) 31%,transparent 33%,transparent 64%,rgba(49,145,240,.2) 65%,transparent 67%)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,14,30,.76),transparent 45%);z-index:1}.shaft-lines{position:absolute;inset:8% 15% 0 12%;border:2px solid rgba(154,207,252,.32);transform:skewY(-4deg);box-shadow:30px -20px 0 rgba(156,220,250,.09),-70px 40px 0 rgba(156,220,250,.08)}.lift-cab{position:absolute;bottom:0;right:17%;width:52%;height:84%;border:13px solid #8fa6bb;background:linear-gradient(90deg,#31536d,#0d2438 20%,#60839e 52%,#10293d 82%,#385a76);box-shadow:0 0 0 10px #1c334a,0 18px 30px rgba(0,0,0,.6),inset 0 0 38px rgba(0,0,0,.6)}.cab-top{height:10%;background:linear-gradient(90deg,#768ea1,#d3e7f8,#667b90)}.cab-door{position:absolute;top:10%;bottom:0;width:45%;background:linear-gradient(90deg,#7f9aaf,#263f56 25%,#5d7d95 49%,#18354c 95%);border:1px solid #b8cde0}.cab-door.left{left:5%}.cab-door.right{right:5%;transform:scaleX(-1)}.cab-panel{position:absolute;right:-51px;top:30%;width:38px;background:#162c42;border:2px solid #7b9ebd;display:grid;place-items:center;padding:7px;color:#4fbdff;box-shadow:0 0 12px #32a7ee}.cab-panel span{font-size:24px}.visual-label{position:absolute;bottom:24px;left:22px;z-index:2;color:#d2eaff;font-size:11px;letter-spacing:.14em}.visual-label span{margin-left:14px;color:#43baff}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface2)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:17px;padding-bottom:17px}.trust-grid span{font-size:13px;color:var(--blue);text-align:center}.trust-grid b{font-weight:650;color:var(--ink);margin-left:6px}.section{padding:82px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading h2,.qr-band h2,.contact-cta h2{font-size:clamp(29px,3vw,42px);line-height:1.15;letter-spacing:-.035em;margin:0}.section-heading p{color:var(--muted);max-width:340px;font-size:14px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card,.tile{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.service-card{padding:24px;min-height:260px;position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid var(--blue);border-radius:50%;opacity:.08;right:-55px;top:-40px}.service-icon{display:block;font-size:36px;color:var(--blue);line-height:1;margin-bottom:24px}.card-index{position:absolute;top:25px;right:24px;font-size:11px;color:var(--muted)}.service-card h3{font-size:20px;line-height:1.2}.service-card p,.tile p{color:var(--muted);font-size:14px;margin:0}
.qr-band{padding:70px 0;background:linear-gradient(110deg,#102a48,#071829);color:#fff}.qr-grid{display:grid;grid-template-columns:40% 1fr;align-items:center;gap:7%}.qr-band .eyebrow{color:#6abfff}.qr-band h2{margin-bottom:18px}.qr-band p{color:#d7e4f1}.note{font-size:12px;font-style:italic;opacity:.83}.qr-band .button-outline{background:transparent;border-color:#70b9fa;color:#fff;margin-top:10px}.qr-plaque{height:225px;background:linear-gradient(125deg,#c5d2de,#f4f6f8 50%,#b4c7d5);border:8px solid #7e93a4;border-radius:16px;color:#1b3355;box-shadow:15px 25px 45px #0007,inset 0 0 2px #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-2deg);text-align:center}.qr-plaque img{width:70%;height:auto;max-height:50px;object-fit:contain}.qr-pattern{font-size:65px;line-height:1}.qr-plaque span{font-size:10px;font-weight:750;letter-spacing:.08em}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile{padding:28px;min-height:195px}.tile>span{font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.08em}.tile h3{font-size:21px;margin:16px 0 10px}.section-footnote{font-size:12px;margin:17px 0 0;color:var(--muted)}.tools-section{background:var(--surface2)}.doc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.doc-list span{padding:24px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:700}.contact-cta{background:linear-gradient(105deg,#1b3aaf,#1264a7);color:#fff;padding:55px 0}.contact-cta .eyebrow{color:#bedafe}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-row p{margin:14px 0 0;color:#e0ebff}
.site-footer{background:#0a1729;color:#e1eaf6;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:60px}.footer-logo{max-width:260px;height:auto}.site-footer h3{font-size:15px;color:#fff}.site-footer p{font-size:13px;color:#c0cbdc}.site-footer small,.site-footer .muted{color:#aebdcf}.site-footer a,.site-footer .text-link{color:#f4f8ff}.text-link{background:none;border:none;text-decoration:underline;text-underline-offset:3px;padding:0;font-size:13px}.legal{border-top:1px solid #2d3d55;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#b1bdd0;font-size:11px}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand{flex-basis:200px}.nav{order:3;flex-basis:100%;justify-content:flex-start}.hero-grid{min-height:470px}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:740px){.container{padding:0 19px}.header-inner{min-height:75px;flex-wrap:wrap;gap:10px}.brand{flex:1 1 190px;max-width:230px}.mobile-menu{display:block;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 11px;font-size:21px}.header-actions{order:3;flex:1 1 100%;justify-content:flex-end}.header-contact{display:none}.nav{display:none;order:4;flex:1 1 100%;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:11px 0;border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:60px 0 45px}.hero-visual{min-height:320px}.trust-grid{grid-template-columns:repeat(2,1fr);gap:14px}.trust-grid span{text-align:left}.section{padding:58px 0}.section-heading{display:block}.section-heading p{margin-top:12px}.service-grid,.tile-grid,.doc-list{grid-template-columns:1fr}.qr-grid{grid-template-columns:1fr;gap:38px}.qr-plaque{max-width:370px;width:100%;margin:auto}.contact-row{display:block}.contact-row .button{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:24px}.legal{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}


/* ============================================================
   ELEVATECH V2 - Loghi SVG per il tema chiaro/scuro
   Priorita' alle regole specifiche: un solo logo alla volta.
   ============================================================ */
.brand .theme-logo { width:100%; height:auto; max-width:100%; }
.site-footer .theme-logo { width:260px; height:auto; max-width:100%; }
html .brand .logo-light, html .site-footer .logo-light { display:block !important; }
html .brand .logo-dark, html .site-footer .logo-dark { display:none !important; }
html[data-theme="dark"] .brand .logo-light,
html[data-theme="dark"] .site-footer .logo-light { display:none !important; }
html[data-theme="dark"] .brand .logo-dark,
html[data-theme="dark"] .site-footer .logo-dark { display:block !important; }


/* ============================================================
   ELEVATECH V4 — MENU SENZA SOVRAPPOSIZIONI
   Desktop: prima riga logo + comandi; seconda riga navigazione.
   Mobile: logo + pulsante, comandi sotto, navigazione espandibile.
   ============================================================ */
.site-header .header-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) max-content;
  grid-template-areas: "brand actions" "nav nav";
  column-gap: 20px;
  row-gap: 10px;
  min-height: 0;
  padding-top: 12px;
  padding-bottom: 12px;
  align-items: center;
}
.site-header .brand {
  grid-area: brand;
  display: block;
  flex: none;
  width: min(220px, 100%);
  min-width: 0;
}
.site-header .brand .theme-logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
}
.site-header .brand .logo-dark {display:none;}
html[data-theme="dark"] .site-header .brand .logo-light {display:none !important;}
html[data-theme="dark"] .site-header .brand .logo-dark {display:block !important;}
html[data-theme="light"] .site-header .brand .logo-light {display:block !important;}
html[data-theme="light"] .site-header .brand .logo-dark {display:none !important;}
.site-header .header-actions {
  grid-area: actions;
  justify-self: end;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  order: unset;
}
.site-header #scelta-tema {
  width: 145px;
  max-width: 145px;
  min-width: 0;
  font-size: 13px;
  padding: 9px;
}
.site-header .header-contact {display:inline-flex;}
.site-header .nav {
  grid-area: nav;
  display: flex;
  flex: none;
  order: unset;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 10px 24px;
  flex-wrap: wrap;
  margin: 0;
  padding: 12px 0 1px;
  border-top: 1px solid var(--line);
}
.site-header .nav a {
  display: inline-block;
  font-size: 13px;
  line-height: 1.5;
  white-space: nowrap;
}
.site-header .mobile-menu {display:none;}
@media (max-width: 740px) {
  .site-header .header-inner {
    grid-template-columns: minmax(0,1fr) 48px;
    grid-template-areas: "brand mobile" "actions actions" "nav nav";
    column-gap: 12px;
    row-gap: 8px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .site-header .brand {width: min(195px,100%);}
  .site-header .brand .theme-logo {max-height: 64px;}
  .site-header .mobile-menu {
    grid-area: mobile;
    display: block;
    width: 44px;
    min-height: 42px;
    justify-self: end;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--ink);
    border-radius: 8px;
    padding: 6px 11px;
    font-size: 21px;
  }
  .site-header .header-actions {
    grid-area: actions;
    width: 100%;
    justify-self: stretch;
    justify-content: flex-end;
  }
  .site-header .header-contact {display:none;}
  .site-header .nav {
    grid-area: nav;
    display: none;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    padding-top: 4px;
    margin: 0;
  }
  .site-header .nav.open {display:flex;}
  .site-header .nav a {
    display:block;
    padding:12px 4px;
    white-space: normal;
    border-bottom: 1px solid var(--line);
    font-size:14px;
  }
}

/* === ELEVATECH V5: PAGINE SECONDARIE E STRUMENTI === */
.page-section {min-height:62vh}.page-section h1{font-size:clamp(34px,5vw,56px);margin-bottom:18px}.page-intro{max-width:860px;color:var(--muted);font-size:17px;margin-bottom:32px}.inline-link,.faq-list a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-weight:700}.faq-list{display:grid;gap:12px;max-width:980px}.faq-list details{border:1px solid var(--line);border-radius:12px;padding:18px 22px;background:var(--surface)}.faq-list summary{cursor:pointer;font-weight:750;font-size:17px}.faq-list details p{margin:16px 0 2px;color:var(--muted)}.calculator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.calc-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.calc-card h2{font-size:23px}.calc-card p{color:var(--muted);font-size:14px}.calc-card label{display:block;font-size:13px;font-weight:700;margin:16px 0 5px}.calc-card input,.calc-card select{width:100%;padding:11px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}.calc-result{display:block;margin-top:20px;padding:16px;border-radius:10px;background:var(--surface2);font-weight:750;line-height:1.8;white-space:pre-line;min-height:75px}.status-text{margin-top:15px!important;font-weight:700;color:var(--blue)!important}.site-header .nav a[aria-current="page"]{color:var(--blue)}@media(max-width:900px){.calculator-grid{grid-template-columns:1fr}}
