:root {
  --coral:#FF6B5E; --bg:#12100F; --surface:#1C1917; --muted:#a8a29e; --text:#f5f5f4; --line:#2a2523;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
       background:var(--bg); color:var(--text); line-height:1.6; }
a { color:var(--coral); }
.wrap { max-width:720px; margin:0 auto; padding:24px 20px 72px; }
header.bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; }
.logo { font-size:30px; font-weight:900; letter-spacing:-1.2px; color:var(--coral); text-decoration:none; }
select.lang { background:var(--surface); color:var(--text); border:1px solid var(--line);
  border-radius:10px; padding:8px 10px; font-size:14px; }
.urgency { background:rgba(255,107,94,.12); border:1px solid rgba(255,107,94,.4);
  border-radius:14px; padding:14px 16px; font-size:14px; margin-top:8px; }
h1 { font-size:34px; font-weight:800; letter-spacing:-.5px; margin:28px 0 10px; }
h2 { font-size:20px; font-weight:800; margin:28px 0 8px; }
.sub { color:var(--muted); font-size:18px; }
.card { background:var(--surface); border-radius:18px; padding:22px; margin-top:28px; }
.feat { display:flex; gap:12px; margin:12px 0; font-size:15px; }
.feat b { color:var(--coral); }
label { display:block; font-size:13px; color:var(--muted); margin:6px 0; }
input[type=email] { width:100%; padding:14px; border-radius:10px; border:1px solid var(--line);
  background:#0c0a09; color:var(--text); font-size:16px; }
button { margin-top:14px; width:100%; padding:15px; border:0; border-radius:12px;
  background:var(--coral); color:#1a0f0d; font-size:16px; font-weight:800; cursor:pointer; }
button:disabled { opacity:.5; cursor:default; }
.tip { font-size:13px; color:var(--muted); margin-top:16px; }
.ok { display:none; margin-top:16px; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.4);
  border-radius:12px; padding:14px; }
.err { color:#fca5a5; margin-top:10px; display:none; }
.legal { font-size:15px; }
.legal h2 { font-size:19px; }
.legal p, .legal li { color:#d6d3d1; }
.muted { color:var(--muted); font-size:13px; }
footer { border-top:1px solid var(--line); margin-top:48px; padding-top:20px; font-size:13px; color:#57534e; }
footer a { margin-right:14px; }
[data-lang]{ display:none; }

/* ---- Landing cinematografica: poster wall + hero ---- */
.hero { position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; }
.wall { position:absolute; top:50%; left:50%; width:170%; height:180%;
  transform:translate(-50%,-50%) rotate(-7deg); z-index:0;
  display:flex; flex-direction:column; justify-content:center; gap:14px;
  filter:saturate(1.08); opacity:1; }
.prow { display:flex; gap:14px; width:max-content; will-change:transform;
  animation:scrollL linear infinite; }
.prow.rev { animation-name:scrollR; }
.prow img { height:168px; width:112px; object-fit:cover; border-radius:12px; flex:0 0 auto;
  box-shadow:0 8px 24px rgba(0,0,0,.5); background:var(--surface); }
@keyframes scrollL { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scrollR { from{transform:translateX(-50%)} to{transform:translateX(0)} }
.scrim { position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(18,16,15,.28) 0%, rgba(18,16,15,.20) 42%, rgba(18,16,15,.72) 88%, var(--bg) 100%); }
.hero .content { position:relative; z-index:2; width:100%; }
.hero .content .wrap { padding-top:8px; padding-bottom:8px; }
.glass { background:rgba(28,25,23,.66); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08); border-radius:22px; padding:26px;
  box-shadow:0 20px 60px rgba(0,0,0,.45); }
.hero h1 { font-size:44px; line-height:1.05; margin:6px 0 12px; }
.pill { display:inline-block; font-size:13px; font-weight:700; color:var(--coral);
  background:rgba(255,107,94,.14); border:1px solid rgba(255,107,94,.4);
  border-radius:999px; padding:6px 12px; }
.emailrow { display:flex; gap:10px; margin-top:14px; }
.emailrow input { flex:1; }
.emailrow button { margin-top:0; width:auto; white-space:nowrap; padding:14px 20px; }
@media(max-width:520px){ .hero h1{font-size:34px;} .emailrow{flex-direction:column;} .emailrow button{width:100%;} .prow img{height:132px;width:88px;} }
.section { padding:8px 0 24px; }
.section h2 { text-align:center; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.grid3 .feat3 { background:var(--surface); border-radius:16px; padding:18px; text-align:center; font-size:14px; }
.grid3 .feat3 .ic { font-size:28px; }
@media(max-width:600px){ .grid3{grid-template-columns:1fr;} }
