/* ============================================================
   Landing iscrizione newsletter (standalone, no-exit).
   Condiviso tra /newsletter/techy e /newsletter/ilpunto.
   Il brand (accent) viene impostato inline in ogni pagina:
   --acc (vivo, decorativo), --acc-ink (testo/bottone, AA), --acc-soft.
   Nessun contenuto nascosto via JS: se il JS non parte, la pagina
   resta leggibile e il form resta usabile.
   ============================================================ */
:root{
  --ink:#14151C; --muted:#5C606E; --line:#E8E8EF; --bg:#FFFFFF; --paper:#F6F6FB;
  --acc:#FA047B; --acc-ink:#C10063; --acc-soft:#FFE4F1;
  --ok:#0F9D58;
  --maxw:760px;
  --font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font); color:var(--ink); background:var(--bg);
  line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100svh; display:flex; flex-direction:column; overflow-x:hidden;
}
a{color:var(--acc-ink);}
img{max-width:100%;display:block;}

/* glow di brand dietro l'hero */
.glow{position:fixed;z-index:0;width:70vw;max-width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, var(--acc-soft), transparent 70%);
  top:-180px;left:50%;transform:translateX(-50%);pointer-events:none;filter:blur(6px);opacity:.8;}

.wrap{position:relative;z-index:1;flex:1;width:100%;max-width:var(--maxw);margin:0 auto;
  padding:0 22px 48px;display:flex;flex-direction:column;}

/* top bar: solo logo, nessun link in uscita */
.top{padding:18px 0 4px;display:flex;justify-content:center;}
.top img{height:32px;width:auto;}
.top .logo-word{height:26px;}
.top .logo-lockup{height:42px;}

/* hero */
.hero{text-align:center;padding:14px 0 6px;animation:fadeUp .5s ease both;}
.eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--acc-ink);background:var(--acc-soft);padding:6px 12px;border-radius:999px;margin-bottom:18px;}
h1{font-size:clamp(28px,5.2vw,34px);line-height:1.13;font-weight:800;letter-spacing:-.02em;margin:0 0 16px;}
.hl{position:relative;display:inline-block;white-space:nowrap;background:var(--acc-ink);color:#fff;font-weight:800;padding:.02em .3em .1em;margin:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.hl .ib{position:absolute;top:8%;bottom:8%;width:2px;background:#fff;}
.hl .ib.l{left:-3px;} .hl .ib.r{right:-3px;}
.hl .ib::before,.hl .ib::after{content:"";position:absolute;left:-4px;width:10px;height:2px;background:#fff;}
.hl .ib::before{top:0;} .hl .ib::after{bottom:0;}
.sub{font-size:clamp(14px,3.5vw,15.5px);color:var(--muted);margin:0 auto;max-width:40rem;}
.sub strong{color:var(--ink);}

/* form card */
.card{background:var(--bg);border:1px solid var(--line);border-radius:22px;
  box-shadow:0 18px 50px -28px rgba(20,21,28,.4);padding:22px 20px;margin:18px auto 0;width:100%;max-width:460px;align-self:center;animation:fadeUp .5s .06s ease both;}
form{display:flex;flex-direction:column;gap:12px;}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
label.f-lbl{font-size:13px;font-weight:700;color:var(--muted);text-align:left;}
input[type=email]{width:100%;font:inherit;font-size:16px;padding:15px 16px;border:1.5px solid var(--line);
  border-radius:14px;background:var(--paper);color:var(--ink);transition:border-color .15s,box-shadow .15s;}
input[type=email]::placeholder{color:#9A9EAB;}
input[type=email]:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-soft);background:#fff;}
.btn{appearance:none;border:none;cursor:pointer;font:inherit;font-weight:800;font-size:17px;color:#fff;
  background:var(--acc-ink);padding:16px 20px;border-radius:999px 999px 999px 6px;
  transition:transform .12s ease,filter .15s ease;width:100%;}
.btn:hover{filter:brightness(1.06);}
.btn:active{transform:translateY(1px);}
.btn:disabled{opacity:.7;cursor:default;}
.note{font-size:13.5px;color:var(--muted);display:flex;gap:7px;align-items:flex-start;justify-content:center;text-align:center;}
.note svg{flex:none;width:16px;height:16px;margin-top:1px;stroke:var(--acc-ink);}
.consent{font-size:12.5px;color:#8A8E9B;line-height:1.5;margin-top:2px;text-align:center;}
.consent a{color:#8A8E9B;text-decoration:underline;}
.err{background:#FDECEC;color:#B42318;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600;text-align:center;}

/* social proof */
.proof{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 0;
  font-size:14.5px;color:var(--muted);animation:fadeUp .5s .1s ease both;}
.proof b{color:var(--ink);}
.stars{color:#F5A623;letter-spacing:1px;font-size:15px;}

/* benefici */
.perks{list-style:none;padding:0;margin:18px 0 2px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;animation:fadeUp .5s .12s ease both;}
.perk{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:13px;font-weight:700;color:var(--ink);line-height:1.3;}
.perk .ic{flex:none;width:30px;height:30px;border-radius:9px;background:var(--acc-soft);display:grid;place-items:center;}
.perk .ic svg{width:16px;height:16px;stroke:var(--acc-ink);}

/* stato "fatto" */
.done{text-align:center;padding:8px 0 4px;}
.done .check{width:62px;height:62px;border-radius:50%;background:var(--acc-soft);display:grid;place-items:center;margin:0 auto 16px;}
.done .check svg{width:30px;height:30px;stroke:var(--acc-ink);}
.done h2{font-size:23px;font-weight:800;margin:0 0 10px;}
.done p{color:var(--muted);margin:0 auto;max-width:36ch;}
.done .mail{color:var(--ink);font-weight:700;}

/* footer minimale */
.foot{margin-top:22px;text-align:center;font-size:12px;color:#9A9EAB;line-height:1.6;}
.foot a{color:#9A9EAB;text-decoration:underline;}

@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@media (max-width:560px){.hl{white-space:normal;}.hl .ib{display:none;}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;}}

[hidden]{display:none!important;}
