/* Landing Installatori (Agenda Piena 90): pensata per il telefono, blocchi corti, contrasto alto */
.lp{--hl:#F0B429}
.lp section{padding:clamp(56px,8vw,100px) 0}
.lp .tag{display:inline-flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line);
  border-radius:999px; padding:7px 14px; font-size:.82rem; font-weight:600; color:var(--ink)}
.lp .tag::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--ok)}
.lp .hl{background:linear-gradient(transparent 60%, var(--hl) 60%); padding:0 .06em}
.lp h2{font-size:clamp(1.75rem,4.4vw,2.7rem)}
.lp .center{text-align:center; margin-left:auto; margin-right:auto}

/* Hero */
.lp-hero{background:radial-gradient(1200px 500px at 85% -10%, #FDF3DC 0%, transparent 60%), var(--ground); padding-top:clamp(36px,6vw,72px) !important}
.lp-hero-grid{display:grid; gap:44px; align-items:center}
@media (min-width:980px){.lp-hero-grid{grid-template-columns:1.1fr 1fr}}
.lp-hero h1{font-size:clamp(2.3rem,6vw,4.1rem); margin-top:18px}
.lp-hero .lede{margin-top:20px; font-size:clamp(1.08rem,2.3vw,1.25rem); color:var(--body)}
.lp-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px}
.lp-chips span{font-family:"IBM Plex Mono",monospace; font-size:.8rem; font-weight:500; color:var(--ink);
  background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:6px 10px}
.lp-visual{position:relative; padding:0 0 30px}
.lp-agenda{background:var(--surface); border:1px solid var(--line); border-radius:20px; box-shadow:0 24px 60px rgba(19,23,26,.12); overflow:hidden}
.lp-agenda-top{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line)}
.lp-agenda-top b{font-family:Archivo,sans-serif; color:var(--ink); font-size:1.05rem}
.lp-agenda-top span{font-size:.82rem; font-weight:600; color:var(--ok); background:#E6F2EA; border-radius:999px; padding:5px 10px}
.lp-slots{display:grid; gap:10px; padding:16px}
.lp-slot{display:grid; grid-template-columns:62px 1fr auto; gap:12px; align-items:center; border:1px solid var(--line);
  border-left:4px solid var(--hl); border-radius:12px; padding:11px 14px}
.lp-slot .d{font-family:"IBM Plex Mono",monospace; font-size:.78rem; color:var(--muted); line-height:1.25}
.lp-slot .d b{display:block; color:var(--ink); font-size:.95rem}
.lp-slot .w{font-weight:600; color:var(--ink); font-size:.95rem; line-height:1.3}
.lp-slot .ok{font-size:.72rem; font-weight:600; color:var(--ok)}
.lp-person{position:absolute; left:-14px; bottom:-6px; display:flex; align-items:center; gap:12px; background:var(--ink); color:#fff;
  border-radius:16px; padding:10px 16px 10px 10px; box-shadow:0 16px 36px rgba(19,23,26,.25); max-width:310px}
.lp-person img{width:52px; height:52px; border-radius:50%; object-fit:cover; flex:none}
.lp-person p{font-size:.86rem; line-height:1.35; color:#fff}
.lp-person b{color:var(--hl)}
@media (max-width:560px){.lp-person{position:relative; left:0; bottom:0; margin-top:-18px; margin-left:12px; max-width:none}}

/* Striscia numeri */
.lp-proof{display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-top:clamp(40px,6vw,64px)}
@media (min-width:760px){.lp-proof{grid-template-columns:repeat(3,1fr)}}
.lp-proof div{background:var(--surface); padding:22px 24px}
.lp-proof b{display:block; font-family:Archivo,sans-serif; font-size:clamp(1.6rem,3.5vw,2.2rem); color:var(--ink); letter-spacing:-.03em; line-height:1.1}
.lp-proof span{font-size:.92rem; color:var(--muted)}

/* Problema */
.lp-problem{background:var(--accent-soft)}
.lp-qgrid{display:grid; gap:14px; margin-top:34px}
@media (min-width:760px){.lp-qgrid{grid-template-columns:repeat(2,1fr)}}
.lp-q{background:var(--surface); border-radius:16px; padding:20px 22px; display:flex; gap:14px; align-items:flex-start; color:var(--ink); font-size:1.04rem; font-weight:500; line-height:1.45}
.lp-q::before{content:"?"; flex:none; width:34px; height:34px; border-radius:50%; background:var(--ink); color:var(--hl);
  display:grid; place-items:center; font-family:Archivo,sans-serif; font-weight:800}
.lp-punch{margin-top:30px; font-family:Archivo,sans-serif; font-weight:800; font-size:clamp(1.3rem,3vw,1.75rem); color:var(--ink); letter-spacing:-.02em; line-height:1.25}

/* Agenzia */
.lp-split{display:grid; gap:28px; align-items:center}
@media (min-width:900px){.lp-split{grid-template-columns:1fr 1fr; gap:60px}}
.lp-card{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:clamp(22px,3.5vw,34px)}
.lp-card p{font-size:1.08rem; color:var(--ink)}

/* Come funziona */
.lp-steps{display:grid; gap:14px; margin-top:38px; counter-reset:s}
@media (min-width:1000px){.lp-steps{grid-template-columns:repeat(5,1fr)}}
.lp-step{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:24px 22px}
.lp-step .n{width:46px; height:46px; border-radius:14px; background:var(--hl); color:#241902; display:grid; place-items:center;
  font-family:Archivo,sans-serif; font-weight:800; font-size:1.1rem}
.lp-step h3{margin-top:16px; font-size:1.15rem}
.lp-step p{margin-top:8px; font-size:.97rem}
.lp-step.me::after{content:"lo faccio io"; position:absolute; top:22px; right:18px; font-size:.7rem; font-weight:600; color:var(--ok);
  background:#E6F2EA; border-radius:999px; padding:4px 9px}

/* Caso studio */
.lp-case{background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.lp-funnel{display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:30px}
@media (min-width:860px){.lp-funnel{grid-template-columns:repeat(5,1fr)}}
.lp-funnel div{background:var(--ground); border-radius:14px; padding:16px 18px}
.lp-funnel b{display:block; font-family:Archivo,sans-serif; font-size:1.7rem; color:var(--ink); letter-spacing:-.03em}
.lp-funnel span{font-size:.88rem; color:var(--muted)}
.lp-funnel div:last-child{background:var(--ink)}
.lp-funnel div:last-child b{color:var(--hl)}
.lp-funnel div:last-child span{color:#E4E7E5}
@media (max-width:859px){.lp-funnel div:last-child{grid-column:1 / -1}}
.lp-video{margin-top:30px; border-radius:20px; overflow:hidden; background:#0D1012; box-shadow:0 20px 50px rgba(19,23,26,.15)}
.lp-video video{width:100%; height:auto}
.lp-caption{margin-top:12px; font-size:.9rem; color:var(--muted)}
.lp-quotes{display:grid; gap:14px; margin-top:28px}
@media (min-width:860px){.lp-quotes{grid-template-columns:repeat(3,1fr)}}
.lp-quotes blockquote{margin:0; background:var(--ground); border-radius:16px; padding:20px 22px; color:var(--ink); font-size:1rem; line-height:1.5}
.lp-quotes blockquote::before{content:"“"; display:block; font-family:Archivo,sans-serif; font-size:2.4rem; line-height:.6; color:var(--hl); margin-bottom:8px}
.lp-note{margin-top:24px; background:var(--accent-soft); border-radius:16px; padding:20px 22px; color:var(--ink)}

/* Cosa c'è dentro */
.lp-inside{display:grid; gap:16px; margin-top:34px}
@media (min-width:860px){.lp-inside{grid-template-columns:1fr 1fr}}
.lp-phase{display:inline-block; font-size:.78rem; font-weight:600; color:var(--ink); background:var(--accent-soft); border-radius:999px; padding:5px 12px; margin-bottom:12px}
.lp-list{list-style:none; margin:0; padding:0; display:grid; gap:11px}
.lp-list li{position:relative; padding-left:30px; color:var(--ink); font-size:1rem}
.lp-list li::before{content:"✓"; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:#E6F2EA; color:var(--ok);
  display:grid; place-items:center; font-size:.72rem; font-weight:700}
.lp-gift{margin-top:16px; display:grid; gap:10px; background:var(--ink); color:#fff; border-radius:20px; padding:clamp(22px,3.5vw,34px)}
.lp-gift .lp-phase{background:var(--hl); color:#241902; justify-self:start}
.lp-gift h3{color:#fff; font-size:1.3rem}
.lp-gift p{color:#E4E7E5; font-size:1.02rem}
.lp-list.no li::before{content:"✕"; background:#F6E3DF; color:#B4442F}

/* Garanzia */
.lp-guarantee{display:grid; gap:24px; align-items:center; background:var(--surface); border:2px solid var(--ok); border-radius:24px; padding:clamp(24px,4vw,46px)}
@media (min-width:860px){.lp-guarantee{grid-template-columns:auto 1fr; gap:44px}}
.lp-seal{width:132px; height:132px; border-radius:50%; background:#E6F2EA; color:var(--ok); display:grid; place-items:center; text-align:center;
  font-family:Archivo,sans-serif; font-weight:800; line-height:1}
.lp-seal b{display:block; font-size:2.8rem}
.lp-seal span{font-size:.8rem; font-weight:700}
.lp-guarantee .eyebrow{color:var(--ok)}
.lp-guarantee h2{margin-top:8px}
.lp-guarantee p{margin-top:14px; color:var(--ink)}

/* Prezzo */
.lp-price{max-width:760px; margin:34px auto 0; background:var(--surface); border:1px solid var(--line); border-radius:24px; overflow:hidden; box-shadow:0 20px 50px rgba(19,23,26,.08)}
.lp-price-top{padding:clamp(24px,4vw,38px); text-align:center; border-bottom:1px solid var(--line)}
.lp-price .was{font-family:"IBM Plex Mono",monospace; color:var(--muted); text-decoration:line-through; font-size:1.1rem}
.lp-price .now{display:block; font-family:Archivo,sans-serif; font-weight:800; font-size:clamp(3.4rem,10vw,5rem); color:var(--ink); line-height:1; letter-spacing:-.04em; margin-top:6px}
.lp-price .now small{font-size:1.05rem; color:var(--muted); letter-spacing:0}
.lp-price .incl{display:inline-block; margin-top:12px; font-weight:600; color:var(--ok); background:#E6F2EA; border-radius:999px; padding:5px 12px; font-size:.88rem}
.lp-price .min{margin-top:10px; font-size:.92rem; color:var(--muted)}
.lp-price-rows{display:grid}
@media (min-width:640px){.lp-price-rows{grid-template-columns:repeat(3,1fr)}}
.lp-price-rows div{padding:18px 20px; border-top:1px solid var(--line); text-align:center}
@media (min-width:640px){.lp-price-rows div{border-top:0; border-left:1px solid var(--line)} .lp-price-rows div:first-child{border-left:0}}
.lp-price-rows b{display:block; font-family:Archivo,sans-serif; font-size:1.4rem; color:var(--ink)}
.lp-price-rows span{font-size:.88rem; color:var(--muted)}
.lp-price-rows div:last-child{background:var(--accent-soft)}
.lp-why{max-width:760px; margin:24px auto 0; display:grid; gap:14px}
.lp-why p{color:var(--ink)}

/* Per chi */
.lp-fit{display:grid; gap:16px; margin-top:34px}
@media (min-width:860px){.lp-fit{grid-template-columns:1fr 1fr}}
.lp-fit .lp-card h3{margin-bottom:16px; font-size:1.25rem}

/* Chiusura */
.lp-close{background:var(--ink); color:#fff}
.lp-close h2{color:#fff}
.lp-close .lede{color:#E4E7E5; margin-top:16px}
.lp-close-grid{display:grid; gap:28px; align-items:center}
@media (min-width:900px){.lp-close-grid{grid-template-columns:1.2fr 1fr}}
.lp-book{background:var(--surface); color:var(--ink); border-radius:22px; padding:clamp(22px,3.5vw,32px); display:grid; gap:14px}
.lp-book-head{display:flex; align-items:center; gap:14px}
.lp-book-head img{width:56px; height:56px; border-radius:50%; object-fit:cover}
.lp-book-head b{display:block; font-family:Archivo,sans-serif; font-size:1.1rem}
.lp-book-head span{font-size:.88rem; color:var(--muted)}
.lp-book .ph{border:1px dashed var(--line-firm); border-radius:14px; padding:18px; text-align:center; font-size:.9rem; color:var(--muted)}
.lp-book .btn{justify-content:center}

/* FAQ */
.lp-faq{max-width:780px; margin:30px auto 0}
.lp-faq details{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin-bottom:10px}
.lp-faq summary{cursor:pointer; list-style:none; font-weight:600; color:var(--ink); font-size:1.05rem; padding-right:34px; position:relative}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+"; position:absolute; right:0; top:-3px; width:26px; height:26px; border-radius:50%; background:var(--accent-soft);
  display:grid; place-items:center; color:var(--ink); font-weight:700}
.lp-faq details[open] summary::after{content:"–"}
.lp-faq details p{margin-top:12px; color:var(--body)}
.lp-foot{max-width:780px; margin:34px auto 0; font-size:.86rem; color:var(--muted); text-align:center}

/* Barra CTA fissa sul telefono */
.lp-sticky{position:fixed; left:0; right:0; bottom:0; z-index:55; display:none; gap:10px; padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96); border-top:1px solid var(--line); backdrop-filter:blur(8px)}
.lp-sticky .btn{flex:1; justify-content:center; padding:14px 16px}
@media (max-width:760px){
  .lp-sticky{display:flex}
  body.landing{padding-bottom:78px}
  body.landing .wa{bottom:88px}
}
/* Modulo nella chiusura */
.lead-form{background:var(--surface); color:var(--ink); border-radius:22px; padding:clamp(22px,3.5vw,32px); margin-top:26px; gap:14px}
.lead-form h3{font-family:Archivo,sans-serif; font-size:1.25rem; margin:0}
.lead-form .row2{display:grid; gap:14px}
@media (min-width:560px){.lead-form .row2{grid-template-columns:1fr 1fr}}
.lead-form .checks{display:grid; gap:8px}
.lead-form .checks label{font-size:.92rem; align-items:flex-start}
.lead-form .checks input{margin-top:3px}
.lead-form .consent{flex-direction:row; align-items:flex-start; gap:8px; font-weight:400; font-size:.88rem}
.lead-form .consent a{color:var(--ink)}
.lead-msg{margin:0; font-size:.9rem; color:var(--muted)}
.lead-msg.err{color:#B3261E}
.lead-msg a{color:inherit; font-weight:600}
.lp-close-grid{align-items:start}
