/* ============================ RESET & BASE ============================ */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --blu: #0B2A4A; --blu-medio: #1A3F63; --blu-chiaro: #1E4F7A; --ocra: #C89A3B; --ocra-light: #E8C06A; --ocra-pale: #F5E8C0; --bianco: #FDFAF5; --grigio: #F0EDE8; --testo: #2C1810; --testo-soft: #5A4A3A;}html { scroll-behavior: smooth; }body { font-family: 'Montserrat', sans-serif; background: var(--bianco); color: var(--testo); overflow-x: hidden; -webkit-font-smoothing: antialiased;}/* ============================ UTILITY ============================ */.container { max-width: 720px; margin: 0 auto; padding: 0 24px;}.gold-line { display: block; width: 48px; height: 2px; background: linear-gradient(90deg, var(--ocra), var(--ocra-light)); margin: 0 auto;}.gold-line.left { margin: 0; }/* ============================ TOP BAR ============================ */.topbar { background: var(--blu); padding: 14px 24px; text-align: center; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 20px rgba(0,0,0,0.3);}.topbar-inner { display: flex; align-items: center; justify-content: center; gap: 12px;}.topbar-logo { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 3px; color: var(--bianco); text-transform: uppercase;}.topbar-sep { width: 1px; height: 16px; background: rgba(200,154,59,0.4);}.topbar-sub { font-size: 10px; letter-spacing: 2px; color: var(--ocra); text-transform: uppercase;}/* ============================ HERO ============================ */.hero { background: var(--blu); position: relative; overflow: hidden; padding: 72px 24px 80px; text-align: center;}.hero::before { content: ''; position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 600px; height: 400px; background: radial-gradient(ellipse, rgba(200,154,59,0.15) 0%, transparent 70%); pointer-events: none;}.hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, transparent, var(--ocra), var(--ocra-light), var(--ocra), transparent);}.hero-eyebrow { font-size: 10px; letter-spacing: 4px; color: var(--ocra); text-transform: uppercase; margin-bottom: 24px; opacity: 0; animation: fadeUp 0.7s 0.1s ease forwards;}.hero-title { font-family: 'Montserrat', sans-serif; font-size: clamp(32px, 7vw, 52px); font-weight: 700; line-height: 1.1; letter-spacing: -1px; color: var(--bianco); margin-bottom: 8px; opacity: 0; animation: fadeUp 0.8s 0.2s ease forwards;}.hero-title em { color: var(--ocra-light);}.hero-subtitle { font-family: 'Montserrat', sans-serif; font-size: 18px; color: rgba(253,250,245,0.6); margin-bottom: 40px; opacity: 0; animation: fadeUp 0.8s 0.35s ease forwards;}/* Badge premio */.hero-badge { display: inline-flex; flex-direction: column; align-items: center; border: 1px solid rgba(200,154,59,0.5); padding: 24px 40px; position: relative; margin-bottom: 40px; opacity: 0; animation: fadeUp 0.8s 0.5s ease forwards; background: rgba(200,154,59,0.06);}.hero-badge::before,.hero-badge::after { content: ''; position: absolute; width: 12px; height: 12px; border-color: var(--ocra); border-style: solid;}.hero-badge::before { top: -1px; left: -1px; border-width: 2px 0 0 2px;}.hero-badge::after { bottom: -1px; right: -1px; border-width: 0 2px 2px 0;}.badge-label { font-size: 10px; letter-spacing: 3px; color: var(--ocra); text-transform: uppercase; margin-bottom: 6px;}.badge-amount { font-family: 'Montserrat', sans-serif; font-size: 56px; font-weight: 800; color: var(--bianco); line-height: 1; letter-spacing: -2px;}.badge-currency { font-size: 28px; vertical-align: top; margin-top: 8px; color: var(--ocra-light);}.badge-desc { font-size: 11px; letter-spacing: 1.5px; color: rgba(253,250,245,0.5); text-transform: uppercase; margin-top: 6px;}.hero-desc { font-size: 15px; line-height: 1.75; color: rgba(253,250,245,0.72); max-width: 500px; margin: 0 auto; opacity: 0; animation: fadeUp 0.8s 0.65s ease forwards;}.hero-desc strong { color: var(--bianco); font-weight: 600;}/* ============================ SECTION: COSA RICEVI ============================ */.section { padding: 72px 0;}.section-alt { background: var(--grigio);}.section-header { text-align: center; margin-bottom: 48px;}.section-eyebrow { font-size: 10px; letter-spacing: 4px; color: var(--ocra); text-transform: uppercase; margin-bottom: 12px;}.section-title { font-family: 'Montserrat', sans-serif; font-size: clamp(24px, 4.5vw, 36px); font-weight: 700; color: var(--blu); line-height: 1.2; letter-spacing: -0.5px; margin-bottom: 16px;}.section-title em { color: var(--ocra); }.section-lead { font-size: 14px; font-weight: 400; color: var(--testo-soft); line-height: 1.75; max-width: 520px; margin: 0 auto;}/* Tabella premi */.prizes-grid { display: flex; flex-direction: column; gap: 16px;}.prize-card { display: flex; align-items: center; gap: 20px; background: var(--bianco); border: 1px solid rgba(11,42,74,0.1); padding: 24px; position: relative; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease;}.prize-card:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(11,42,74,0.12);}.prize-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--ocra), var(--ocra-light));}.prize-rank { flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; background: var(--blu); display: flex; align-items: center; justify-content: center;}.prize-rank-num { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 600; color: var(--ocra-light);}.prize-info { flex: 1;}.prize-product { font-weight: 600; font-size: 13px; letter-spacing: 0.5px; color: var(--blu); text-transform: uppercase; margin-bottom: 3px;}.prize-product-sub { font-size: 12px; color: var(--testo-soft);}.prize-value { flex-shrink: 0; text-align: right;}.prize-amount { font-family: 'Montserrat', sans-serif; font-size: 34px; font-weight: 800; color: var(--blu); line-height: 1; letter-spacing: -1px;}.prize-type { font-size: 10px; letter-spacing: 1.5px; color: var(--ocra); text-transform: uppercase;}/* ============================ SECTION: COME FUNZIONA ============================ */.steps { display: flex; flex-direction: column; gap: 0; position: relative;}.steps::before { content: ''; position: absolute; left: 28px; top: 52px; bottom: 52px; width: 1px; background: linear-gradient(180deg, var(--ocra), rgba(200,154,59,0.1));}.step { display: flex; gap: 24px; align-items: flex-start; padding: 28px 0; position: relative;}.step-num-wrap { flex-shrink: 0; width: 56px; height: 56px; background: var(--blu); border: 2px solid var(--ocra); display: flex; align-items: center; justify-content: center; position: relative; z-index: 1;}.step-num { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 700; color: var(--ocra-light);}.step-body {}.step-title { font-weight: 700; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--blu); margin-bottom: 6px;}.step-desc { font-size: 14px; line-height: 1.7; color: var(--testo-soft);}.step-desc strong { color: var(--testo); font-weight: 600;}/* ============================ OBIEZIONI / RASSICURAZIONI ============================ */.reassurance { background: var(--blu); padding: 64px 0; text-align: center;}.reassurance-title { font-family: 'Montserrat', sans-serif; font-size: clamp(24px, 4.5vw, 36px); color: var(--bianco); margin-bottom: 12px; font-weight: 700; letter-spacing: -0.5px;}.reassurance-title em { color: var(--ocra-light);}.reassurance-sub { font-size: 15px; color: rgba(253,250,245,0.65); margin-bottom: 48px; line-height: 1.7; max-width: 500px; margin-left: auto; margin-right: auto;}.pills { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; max-width: 560px; margin: 0 auto;}.pill { display: flex; align-items: center; gap: 8px; background: rgba(200,154,59,0.1); border: 1px solid rgba(200,154,59,0.3); padding: 10px 18px; font-size: 13px; color: var(--bianco); font-weight: 500;}.pill-icon { color: var(--ocra); font-size: 16px; font-style: normal;}/* ============================ CTA SECTION ============================ */.cta-section { padding: 80px 0; text-align: center; position: relative; overflow: hidden;}.cta-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--ocra), transparent);}.cta-title { font-family: 'Montserrat', sans-serif; font-size: clamp(26px, 5.5vw, 40px); color: var(--blu); margin-bottom: 12px; font-weight: 700; line-height: 1.2; letter-spacing: -0.5px;}.cta-title em { color: var(--ocra); }.cta-sub { font-size: 15px; color: var(--testo-soft); margin-bottom: 40px; line-height: 1.7; max-width: 480px; margin-left: auto; margin-right: auto;}/* Form contatto */.cta-form { background: var(--bianco); border: 1px solid rgba(11,42,74,0.12); padding: 36px 28px; max-width: 480px; margin: 0 auto 32px; position: relative;}.cta-form::before { content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 3px; background: linear-gradient(90deg, var(--ocra), var(--ocra-light));}.form-label { display: block; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--blu); margin-bottom: 6px; font-weight: 600;}.form-input { width: 100%; border: 1px solid rgba(11,42,74,0.2); background: var(--grigio); padding: 12px 16px; font-family: 'Montserrat', sans-serif; font-size: 14px; color: var(--testo); outline: none; transition: border-color 0.2s ease; margin-bottom: 20px; -webkit-appearance: none; border-radius: 0;}.form-input:focus { border-color: var(--ocra); background: var(--bianco);}.form-input::placeholder { color: rgba(90,74,58,0.4);}.form-select { width: 100%; border: 1px solid rgba(11,42,74,0.2); background: var(--grigio); padding: 12px 16px; font-family: 'Montserrat', sans-serif; font-size: 14px; color: var(--testo); outline: none; transition: border-color 0.2s ease; margin-bottom: 20px; -webkit-appearance: none; border-radius: 0; cursor: pointer;}.form-select:focus { border-color: var(--ocra); }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}.btn-primary { display: block; width: 100%; background: var(--blu); color: var(--bianco); border: none; padding: 16px 32px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; cursor: pointer; transition: background 0.2s ease, transform 0.15s ease; position: relative; overflow: hidden;}.btn-primary::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--ocra), var(--ocra-light));}.btn-primary:hover { background: var(--blu-medio); transform: translateY(-1px);}.btn-primary:active { transform: translateY(0); }.form-note { font-size: 11px; color: var(--testo-soft); margin-top: 12px; opacity: 0.7;}/* Alternativa WhatsApp */.cta-or { font-size: 12px; color: var(--testo-soft); margin: 24px 0; position: relative; display: flex; align-items: center; gap: 12px; max-width: 480px; margin-left: auto; margin-right: auto;}.cta-or::before,.cta-or::after { content: ''; flex: 1; height: 1px; background: rgba(11,42,74,0.15);}.btn-whatsapp { display: flex; align-items: center; justify-content: center; gap: 10px; max-width: 480px; margin: 0 auto; background: #25D366; color: white; border: none; padding: 15px 32px; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 1px; cursor: pointer; text-decoration: none; transition: opacity 0.2s ease;}.btn-whatsapp:hover { opacity: 0.9; }.btn-whatsapp svg { width: 20px; height: 20px; fill: white;}/* ============================ TRUST BAR ============================ */.trust-bar { background: var(--grigio); padding: 40px 0; border-top: 1px solid rgba(11,42,74,0.08);}.trust-items { display: flex; flex-wrap: wrap; justify-content: center; gap: 32px;}.trust-item { display: flex; flex-direction: column; align-items: center; gap: 6px;}.trust-num { font-family: 'Montserrat', sans-serif; font-size: 30px; font-weight: 800; color: var(--blu); line-height: 1; letter-spacing: -1px;}.trust-desc { font-size: 11px; letter-spacing: 1.5px; color: var(--testo-soft); text-transform: uppercase; text-align: center;}/* ============================ FOOTER ============================ */footer { background: var(--blu); padding: 40px 24px 32px; text-align: center;}.footer-logo { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 3px; color: var(--bianco); text-transform: uppercase; margin-bottom: 8px;}.footer-address { font-size: 12px; color: rgba(253,250,245,0.4); margin-bottom: 16px; line-height: 1.6;}.footer-legal { font-size: 10px; color: rgba(253,250,245,0.25); line-height: 1.6; max-width: 480px; margin: 0 auto;}/* ============================ THANK YOU STATE ============================ */.thankyou { display: none; text-align: center; padding: 40px 20px;}.thankyou-icon { font-size: 48px; margin-bottom: 16px;}.thankyou-title { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 700; color: var(--blu); margin-bottom: 10px; letter-spacing: -0.5px;}.thankyou-desc { font-size: 14px; color: var(--testo-soft); line-height: 1.7;}/* ============================ ANIMATIONS ============================ */@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); }}.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.65s ease, transform 0.65s ease;}.reveal.visible { opacity: 1; transform: translateY(0);}/* ============================ RESPONSIVE ============================ */@media (max-width: 480px) { .form-row { grid-template-columns: 1fr; } .prize-card { flex-wrap: wrap; } .prize-rank { display: none; } .steps::before { left: 26px; } .hero { padding: 56px 24px 64px; } .trust-items { gap: 24px; } .topbar-sub { display: none; }}