/* Pagine di presentazione dei pacchetti (visitor.html, citizen.html): colori "Velluto e oro" come abbonati.html e corsi.html */
:root{color-scheme:dark;--bg:#160b17;--bg2:#3a1636;--panel:#22111f;--panel2:#2e1729;--line:#4a2742;--fg:#f7ece0;--muted:#d2b9c4;--gold:#f2c14e;--mint:#4fd6b4;--onAcc:#2b1230;--hd:#2b1230;--acc2:#e0527e;--acc3:#4fd6b4;--bad:#ff8a7a;
  --display:'Righteous','Trebuchet MS',system-ui,sans-serif;--body:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--title:'Josefin Sans','Nunito Sans',sans-serif;--serif:'Merriweather',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 50% -10%,var(--bg2) 0%,var(--bg) 60%);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.55}
header{height:64px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:3px solid;border-image:linear-gradient(90deg,var(--acc2),var(--acc3)) 1;background:var(--hd);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}.brand .face{height:46px;width:auto}.brand .logo{height:28px;width:auto;min-width:0;object-fit:contain}
header .sp{flex:1}header a.in{color:var(--gold);border:2px solid var(--gold);border-radius:10px;padding:7px 14px;font-weight:800;text-decoration:none;white-space:nowrap}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
section{padding:46px 0;border-bottom:1px solid var(--line)}section:last-of-type{border-bottom:0}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding-top:40px}
.kick{font-weight:900;font-size:13px;letter-spacing:.16em;color:var(--acc3);text-transform:uppercase}
h1{font-family:var(--title);font-weight:700;font-size:54px;letter-spacing:.04em;color:var(--gold);margin:6px 0 10px;text-transform:uppercase;line-height:1}
h2{font-family:var(--title);font-weight:700;font-size:32px;letter-spacing:.03em;color:var(--gold);margin:0 0 8px;text-transform:uppercase;line-height:1.1}
h3{font-size:19px;margin:0 0 4px;color:var(--fg)}
.lead{font-family:var(--serif);color:var(--fg);font-size:19px;margin:0 0 18px}
.intro{color:var(--muted);max-width:720px;margin:0 0 26px;font-size:16.5px}
.price{color:var(--muted);font-weight:800;margin:0 0 18px}.price b{font-family:var(--display);font-weight:400;color:var(--gold);font-size:40px;margin:0 4px}
.cta{display:inline-block;background:var(--gold);color:var(--onAcc);font-weight:900;font-size:18px;padding:15px 28px;border-radius:999px;text-decoration:none;box-shadow:0 4px 0 rgba(0,0,0,.35)}
.cta.ghost{background:none;color:var(--gold);border:2px solid var(--gold);box-shadow:none;padding:13px 24px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero img{width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:6px}
.stat{background:var(--panel2);border:2px solid var(--line);border-radius:18px;padding:16px;text-align:center}.stat b{display:block;font-family:var(--display);font-weight:400;font-size:36px;color:var(--gold);line-height:1.1}.stat span{color:var(--muted);font-size:14px;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--panel2);border:2px solid var(--line);border-radius:18px;padding:18px 20px}
.card .ic{font-size:30px;line-height:1;display:block;margin-bottom:8px}.card p{margin:0;color:var(--muted);font-size:15px}
.card .n{display:inline-block;background:rgba(242,193,78,.15);color:var(--gold);font-weight:900;font-size:12.5px;border-radius:999px;padding:2px 10px;margin-bottom:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.split.rev>:first-child{order:2}
.shot{width:100%;height:auto;border-radius:16px;border:3px solid var(--line);box-shadow:0 14px 34px rgba(0,0,0,.45);display:block}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ticks li{display:grid;grid-template-columns:28px 1fr;gap:8px}.ticks li::before{content:'✓';color:var(--mint);font-weight:900;font-size:18px}
.ticks li.no::before{content:'✕';color:var(--bad)}.ticks li.no{color:var(--muted)}
.upsell{background:linear-gradient(135deg,rgba(242,193,78,.16),rgba(224,82,126,.12));border:2px solid var(--gold);border-radius:22px;padding:26px}
.faq details{background:var(--panel);border:2px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:10px}.faq summary{cursor:pointer;font-weight:800}.faq details p{color:var(--muted);margin:10px 0 0}
.htLogo{background:#f4ead6;border-radius:18px;padding:14px;width:190px;margin:4px 0 16px;box-shadow:0 8px 20px rgba(0,0,0,.35)}.htLogo img{width:100%;height:auto;display:block}
.final{text-align:center;padding:56px 0 70px}
.cal{margin-top:26px;background:var(--panel);border:2px solid var(--gold);border-radius:20px;padding:20px 22px}.cal h3{margin:0;color:var(--gold);font-size:20px}.calSub{margin:4px 0 14px;color:var(--muted);font-size:14px}
.calDay{margin-top:12px}.calDay>b::first-letter{text-transform:uppercase}.calDay>b{display:block;color:var(--fg);font-size:15px;margin-bottom:6px}
.calRow{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;gap:10px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:6px}
.calRow .t{font-family:var(--display);color:var(--gold);font-size:18px}.calRow .n{font-weight:800}.calRow .p{color:var(--muted);font-size:13px;white-space:nowrap}.calNone{color:var(--muted);margin:0}
.calRow .bk{font:inherit;cursor:pointer;border:0;border-radius:999px;background:var(--gold);color:#1a1020;font-weight:900;font-size:13px;padding:7px 12px;white-space:nowrap}.calRow .bk:disabled{opacity:.6;cursor:default}.calBuy{margin:12px 0 0;color:var(--muted);font-size:14px}.calBuy b{color:var(--gold)}
@media (max-width:600px){.calRow{grid-template-columns:54px minmax(0,1fr) auto}.calRow .p{grid-column:2;white-space:normal}.calRow .bk{grid-column:3;grid-row:1 / span 2}}
@media (max-width:820px){.hero,.split{grid-template-columns:minmax(0,1fr)}.split.rev>:first-child{order:0}.grid,.grid.three{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  h1{font-size:40px}h2{font-size:26px}.brand .logo{height:20px}.brand .face{height:38px}.hero{padding-top:26px}section{padding:34px 0}}
