:root {
    --bg: #020a16;
    --bg-2: #061426;
    --card: rgba(7, 22, 42, .72);
    --card-strong: rgba(11, 31, 58, .92);
    --line: rgba(255,255,255,.11);
    --text: #f5f9ff;
    --muted: #aebcd0;
    --blue: #087eff;
    --blue-2: #00b2ff;
    --amber: #ffb000;
    --amber-2: #ff7a00;
    --green: #009246;
    --red: #ce2b37;
    --radius-xl: 34px;
    --radius-lg: 24px;
    --shadow: 0 30px 80px rgba(0,0,0,.42);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
.ambient { position: fixed; inset: 0; pointer-events: none; z-index: -2; overflow: hidden; background: radial-gradient(circle at top left, rgba(8,126,255,.22), transparent 28%), radial-gradient(circle at top right, rgba(255,176,0,.18), transparent 24%), linear-gradient(135deg, #020814 0%, #07162a 50%, #020814 100%); }
.grid { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at 50% 15%, #000 0%, transparent 70%); opacity:.5; }
.orb { position:absolute; width: 360px; height: 360px; border-radius: 999px; filter: blur(30px); opacity:.35; animation: float 12s ease-in-out infinite; }
.orb-one { background: var(--blue); left:-160px; top: 130px; }
.orb-two { background: var(--amber); right:-160px; top: 15px; animation-delay:-4s; }
.orb-three { background: #00f0ff; left: 40%; bottom: -210px; animation-delay:-7s; opacity:.18; }
@keyframes float { 0%,100%{ transform: translate3d(0,0,0) scale(1);} 50%{ transform: translate3d(30px,-30px,0) scale(1.08);} }
.site-header { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 20px 0 6px; display:flex; align-items:center; justify-content:space-between; gap: 16px; }
.brand { width: 174px; border-radius: 20px; padding: 7px 10px; background: rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.06); backdrop-filter: blur(16px); }
.header-call { display:flex; flex-direction:column; align-items:flex-end; gap:2px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(255,255,255,.06); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
.header-call span { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing:.1em; }
.header-call strong { font-size: 14px; }
.section-pad { width:min(1180px, calc(100% - 32px)); margin:0 auto; }
.hero { min-height: calc(100svh - 116px); display:grid; grid-template-columns: 1.05fr .95fr; align-items:center; gap: 34px; padding: 24px 0 48px; }
.eyebrow, .kicker { display:inline-flex; align-items:center; gap:9px; font-weight: 800; letter-spacing:.08em; text-transform: uppercase; font-size: 12px; color: #cfe7ff; }
.eyebrow span { width: 13px; height: 13px; border-radius: 999px; background: linear-gradient(135deg, var(--amber), var(--blue)); box-shadow: 0 0 24px rgba(255,176,0,.75); }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(42px, 7vw, 82px); line-height: .93; letter-spacing: -0.075em; margin: 18px 0 22px; }
h1 em { font-style: normal; background: linear-gradient(90deg, var(--amber), #fff, var(--blue-2)); -webkit-background-clip: text; color: transparent; }
.hero-copy p { color: var(--muted); font-size: clamp(16px, 2vw, 20px); line-height: 1.65; max-width: 720px; }
.choice-panel { position:relative; padding: 28px; border-radius: var(--radius-xl); background: linear-gradient(145deg, rgba(12,31,57,.88), rgba(3,12,25,.74)); border: 1px solid rgba(255,255,255,.14); box-shadow: var(--shadow); backdrop-filter: blur(22px); overflow:hidden; }
.choice-panel:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 20% 0%, rgba(255,176,0,.20), transparent 35%), radial-gradient(circle at 100% 35%, rgba(0,178,255,.18), transparent 34%); pointer-events:none; }
.choice-panel > * { position:relative; }
.panel-topline { display:inline-flex; align-items:center; gap:9px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.10); border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.045); font-size: 13px; }
.pulse-dot { width:10px; height:10px; border-radius: 999px; background: #2cff86; box-shadow: 0 0 0 0 rgba(44,255,134,.8); animation: pulse 1.7s infinite; }
@keyframes pulse { to { box-shadow: 0 0 0 12px rgba(44,255,134,0); } }
.choice-panel h2 { font-size: clamp(27px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; margin: 22px 0 10px; }
.choice-panel p { color: var(--muted); line-height:1.55; margin-bottom: 18px; }
.big-choice-grid { display:grid; gap: 14px; }
.big-choice { width:100%; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); color: var(--text); text-align:left; border-radius: 24px; padding: 18px; display:grid; grid-template-columns: 44px 1fr; gap: 12px 14px; align-items:center; transition:.25s ease; position:relative; overflow:hidden; }
.big-choice:after { content:""; position:absolute; inset:auto -20% 0 auto; width: 140px; height: 140px; background: radial-gradient(circle, rgba(255,176,0,.18), transparent 65%); opacity:0; transition:.25s ease; }
.big-choice:hover, .big-choice.is-active { transform: translateY(-2px); border-color: rgba(255,176,0,.52); background: linear-gradient(135deg, rgba(255,176,0,.16), rgba(8,126,255,.12)); box-shadow: 0 20px 36px rgba(0,0,0,.26); }
.big-choice:hover:after, .big-choice.is-active:after { opacity:1; }
.choice-icon { width: 44px; height: 44px; border-radius: 15px; display:grid; place-items:center; background: rgba(8,126,255,.18); border:1px solid rgba(255,255,255,.12); font-size: 24px; grid-row: span 2; }
.big-choice strong { font-size: 18px; letter-spacing:-.02em; }
.big-choice small { color: var(--muted); line-height:1.35; }
.section-heading { text-align:center; margin: 0 auto 24px; max-width: 760px; }
.align-left { text-align:left; margin-left:0; }
.section-heading h2 { font-size: clamp(30px, 4vw, 52px); line-height:1; letter-spacing:-.055em; margin: 10px 0 13px; }
.section-heading p { color: var(--muted); line-height:1.6; }
.kicker { color: #9bd2ff; }
.actions-zone { padding: 24px 0 22px; }
.action-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.action-card { position:relative; min-height: 210px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; padding: 20px; background: linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); overflow:hidden; box-shadow: 0 20px 50px rgba(0,0,0,.22); transition:.25s ease; color: var(--text); text-align:left; }
.action-card:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 100% 0%, var(--accent, rgba(8,126,255,.25)), transparent 46%); opacity:.75; pointer-events:none; }
.action-card > * { position:relative; }
.action-card:hover { transform: translateY(-6px); border-color: rgba(255,255,255,.22); }
.action-card .icon { width: 52px; height:52px; border-radius: 18px; display:grid; place-items:center; font-size: 26px; background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.12); margin-bottom: 22px; }
.action-card h3 { font-size: 22px; line-height:1.08; letter-spacing:-.035em; margin-bottom: 9px; }
.action-card p { color: var(--muted); line-height:1.42; margin-bottom: 20px; }
.action-card span.cta { display:inline-flex; align-items:center; gap: 8px; font-weight: 800; color: #fff; }
.action-card span.cta:after { content:"→"; color: var(--amber); }
.trust-strip { width:min(1180px, calc(100% - 32px)); margin: 28px auto; display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 12px; border: 1px solid rgba(255,255,255,.11); border-radius: 28px; background: rgba(255,255,255,.045); backdrop-filter: blur(18px); }
.trust-strip article { padding: 18px; border-radius: 20px; background: rgba(0,0,0,.16); }
.trust-strip strong { display:block; font-size: 17px; }
.trust-strip span { color: var(--muted); font-size: 14px; }
.services { padding: 54px 0 20px; }
.service-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card { border: 1px solid rgba(255,255,255,.11); border-radius: 26px; padding: 22px; background: rgba(255,255,255,.045); box-shadow: 0 18px 45px rgba(0,0,0,.20); transition:.25s ease; }
.service-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.07); }
.service-card span { font-size: 30px; display:block; margin-bottom: 12px; }
.service-card h3 { font-size: 21px; letter-spacing:-.035em; margin-bottom: 9px; }
.service-card p { color: var(--muted); line-height:1.5; margin:0; }
.contact-band { margin-top: 34px; margin-bottom: 40px; display:grid; grid-template-columns: .9fr 1.1fr; gap: 24px; padding: 30px; border-radius: var(--radius-xl); border: 1px solid rgba(255,255,255,.13); background: linear-gradient(135deg, rgba(8,126,255,.12), rgba(255,176,0,.07)); box-shadow: var(--shadow); }
.contact-band h2 { font-size: clamp(28px, 3vw, 44px); line-height:1; letter-spacing:-.05em; margin: 10px 0 13px; }
.contact-band p { color:var(--muted); line-height:1.55; }
.contact-list { display:grid; gap: 11px; }
.contact-row { display:grid; grid-template-columns: 44px 1fr auto auto; align-items:center; gap: 10px; padding: 12px; border-radius: 20px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.10); }
.contact-ico { width:44px; height:44px; display:grid; place-items:center; background: rgba(8,126,255,.18); border-radius: 15px; }
.contact-row small { display:block; color:var(--muted); }
.contact-row strong { display:block; }
.contact-row a { padding: 10px 13px; border-radius: 999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.11); font-size: 13px; font-weight: 800; }
.contact-row a:last-child { background: linear-gradient(135deg, #22c55e, #10b981); color:#fff; border:0; }
address { grid-column: 1 / -1; font-style: normal; display:flex; gap: 12px; flex-wrap:wrap; color: var(--muted); border-top: 1px solid rgba(255,255,255,.10); padding-top: 18px; }
.action-modal { position:fixed; inset:0; z-index:60; display:none; align-items:end; justify-content:center; padding: 18px; }
.action-modal.is-open { display:flex; }
.modal-backdrop { position:absolute; inset:0; background: rgba(0,0,0,.64); backdrop-filter: blur(10px); }
.modal-card { width:min(520px, 100%); position:relative; z-index:1; border-radius: 30px; padding: 24px; background: linear-gradient(155deg, rgba(13,32,58,.98), rgba(3,12,23,.98)); border:1px solid rgba(255,255,255,.14); box-shadow: var(--shadow); animation: rise .24s ease; }
@keyframes rise { from { transform: translateY(20px); opacity:0; } to { transform: translateY(0); opacity:1; } }
.modal-close { position:absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 999px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; font-size: 26px; line-height: 0; }
.modal-badge { display:inline-flex; padding: 8px 11px; border-radius:999px; background: rgba(255,176,0,.13); color:#ffdc84; border:1px solid rgba(255,176,0,.22); font-weight:800; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.modal-card h2 { margin: 16px 40px 8px 0; font-size: 30px; line-height:1; letter-spacing:-.04em; }
.modal-card p { color:var(--muted); line-height:1.5; }
.modal-actions { display:grid; gap: 11px; margin-top: 18px; }
.modal-actions a, .modal-actions button { display:flex; align-items:center; justify-content:space-between; gap: 14px; border:0; color: #fff; border-radius: 18px; padding: 16px; font-weight: 900; background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); }
.modal-actions a.primary { background: linear-gradient(135deg, var(--blue), var(--blue-2)); border:0; }
.modal-actions a.whatsapp { background: linear-gradient(135deg, #22c55e, #10b981); border:0; }
.modal-actions a.sos { background: linear-gradient(135deg, #ef4444, #f97316); border:0; }
.bot-launcher { position:fixed; right: 18px; bottom: calc(18px + var(--safe-bottom)); z-index:50; border:0; border-radius: 999px; padding: 12px 16px 12px 12px; color:#05111f; background: linear-gradient(135deg, var(--amber), #fff1b8); box-shadow: 0 18px 42px rgba(255,176,0,.32), 0 10px 40px rgba(0,0,0,.32); display:flex; align-items:center; gap: 10px; font-weight: 950; }
.bot-launcher .bolt { width:38px; height:38px; border-radius:999px; display:grid; place-items:center; background:#061426; color: var(--amber); }
.bot-label { white-space:nowrap; }
.bot-drawer { position:fixed; right: 18px; bottom: calc(82px + var(--safe-bottom)); z-index:55; width: min(430px, calc(100vw - 36px)); max-height: min(690px, calc(100svh - 112px)); display:none; flex-direction:column; overflow:hidden; border-radius: 30px; background: linear-gradient(165deg, rgba(11,31,58,.98), rgba(2,10,22,.98)); border:1px solid rgba(255,255,255,.15); box-shadow: var(--shadow); }
.bot-drawer.is-open { display:flex; animation: rise .22s ease; }
.bot-head { padding: 16px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.10); }
.bot-head span { display:block; color:#ffdc84; font-size: 12px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.bot-head strong { font-size: 20px; }
.bot-head button { width: 38px; height: 38px; border-radius: 999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; font-size: 24px; }
.bot-progress { height: 5px; background: rgba(255,255,255,.08); }
.bot-progress span { display:block; width:0%; height:100%; background: linear-gradient(90deg, var(--amber), var(--blue-2)); transition:.25s ease; }
.bot-body { padding: 18px 16px 0; }
.bot-bubble { display:inline-block; padding: 13px 15px; border-radius: 18px 18px 18px 6px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); line-height:1.45; color:#eaf4ff; }
.bot-form { padding: 14px 16px 16px; overflow:auto; }
.bot-options { display:grid; gap:10px; }
.bot-option { width:100%; color:#fff; text-align:left; border-radius:18px; padding: 14px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055); transition:.2s ease; }
.bot-option.is-selected, .bot-option:hover { border-color: rgba(255,176,0,.55); background: rgba(255,176,0,.14); }
.field-stack { display:grid; gap: 10px; }
.field-stack label { display:grid; gap: 7px; font-size: 13px; color: var(--muted); font-weight:700; }
.field-stack input, .field-stack textarea { width:100%; border:1px solid rgba(255,255,255,.13); background: rgba(0,0,0,.22); color:#fff; border-radius: 15px; padding: 13px 14px; outline:none; }
.field-stack textarea { min-height: 92px; resize:vertical; }
.field-stack input:focus, .field-stack textarea:focus { border-color: rgba(255,176,0,.62); box-shadow:0 0 0 4px rgba(255,176,0,.09); }
.bot-nav { display:grid; grid-template-columns: .75fr 1.25fr; gap:10px; margin-top:14px; }
.bot-nav button { border-radius: 16px; padding: 13px 14px; border:1px solid rgba(255,255,255,.12); color:#fff; font-weight:900; }
.bot-nav .ghost { background: rgba(255,255,255,.055); }
.bot-nav .primary { background: linear-gradient(135deg, var(--blue), var(--blue-2)); border:0; }
.bot-nav .primary:disabled { opacity:.55; cursor:not-allowed; }
.privacy-note { color: var(--muted); font-size: 12px; line-height:1.4; margin: 12px 0 0; }
.privacy-note a { color:#fff; text-decoration:underline; }
.hp { position:absolute !important; left:-9999px !important; opacity:0 !important; }
.footer { padding: 28px 16px 112px; text-align:center; color: var(--muted); font-size:13px; }
.footer img { width: 128px; margin: 0 auto 10px; opacity:.85; }
.reveal { opacity:0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.in { opacity:1; transform:none; }
@media (max-width: 980px) {
    .hero { grid-template-columns: 1fr; min-height:auto; padding-top: 18px; }
    .action-grid { grid-template-columns: repeat(2, 1fr); }
    .service-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-band { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .site-header { width: calc(100% - 22px); padding-top: 12px; }
    .brand { width: 142px; }
    .header-call { padding: 9px 11px; }
    .header-call span { display:none; }
    .header-call strong { font-size:12px; }
    .section-pad, .trust-strip { width: calc(100% - 22px); }
    .hero { gap: 20px; padding-bottom: 28px; }
    h1 { font-size: 43px; }
    .hero-copy p { font-size: 15px; }
    .choice-panel { padding: 18px; border-radius: 28px; }
    .big-choice { padding: 15px; border-radius: 20px; }
    .action-grid, .service-grid, .trust-strip { grid-template-columns: 1fr; }
    .action-card { min-height: 178px; }
    .trust-strip { margin-top: 16px; }
    .services { padding-top: 38px; }
    .contact-band { padding: 18px; border-radius: 28px; }
    .contact-row { grid-template-columns: 38px 1fr; }
    .contact-row a { text-align:center; }
    .contact-row a:nth-of-type(1) { grid-column: 1 / 2; }
    .contact-row a:nth-of-type(2) { grid-column: 2 / 3; }
    address { display:grid; }
    .bot-drawer { right: 10px; left: 10px; bottom: calc(76px + var(--safe-bottom)); width:auto; max-height: calc(100svh - 92px); border-radius: 24px; }
    .bot-launcher { right: 12px; bottom: calc(12px + var(--safe-bottom)); }
    .modal-card { border-radius: 24px; padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}


/* Update logo chiaro — versione 2026-06-29 */
.brand {
    width: min(292px, 58vw);
    padding: 8px 12px;
    background: linear-gradient(145deg, rgba(2,10,22,.72), rgba(8,22,42,.38));
}
.footer img {
    width: min(320px, 78vw);
    margin: 0 auto 12px;
}
@media (max-width: 640px) {
    .site-header {
        align-items: flex-start;
    }
    .brand {
        width: min(240px, 62vw);
        padding: 6px 8px;
    }
    .header-call {
        padding: 9px 10px;
    }
    .header-call strong {
        font-size: 12px;
    }
}
