/* Landing principale (struttura a funnel): stessa base di styles.css,
   attenzione → problema → transizione → offer → USP → soluzione → obiezioni → CTA → FAQ */

/* Toni alternati in ordine di pagina */
.f-hero, .offer, .services, .work, .calc, .contact { background: var(--bg); }
.problem, .usp, .case, .clients, .method, .obj, .faq { background: var(--bg-alt); }
.obj + .calc { background: var(--bg-alt); border-top: 0; }

/* 1. Attenzione */
.f-kicker { font-size: .8rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-2); margin-bottom: 20px; }
.f-hero .hero__title { font-size: clamp(2.4rem, 10.5vw, 5.2rem); }
.f-hero .hero__title .serif { font-family: var(--serif); font-style: italic; font-weight: 500; letter-spacing: -0.02em; }
@media (min-width: 961px) { .f-hero .hero__title { max-width: none; } }
@media (max-width: 640px) { .f-br { display: none; } }

/* 4. Offer */
.offer__card { margin-top: clamp(40px, 6vw, 64px); display: grid; grid-template-columns: 1fr 1.25fr; border: 1px solid var(--line-2); border-radius: 22px; overflow: hidden; background: var(--surface); }
.offer__main { padding: clamp(28px, 4vw, 48px); background: radial-gradient(90% 70% at 0% 0%, rgba(215,255,60,.12), transparent 60%), var(--bg-2); border-right: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-start; }
.offer__label { font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.offer__price { margin-top: 10px; font-size: clamp(3.4rem, 8vw, 5.5rem); line-height: .95; font-weight: 700; letter-spacing: -0.05em; }
.offer__sub { margin-top: 12px; color: var(--text-2); max-width: 30ch; }
.offer__main .btn { margin-top: 28px; }
.offer__24h { margin-top: 16px; display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--text-2); }
.offer__list { padding: clamp(28px, 4vw, 48px); }
.offer__list-t { font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-3); }
.offer__list ol { list-style: none; margin: 20px 0 0; padding: 0; counter-reset: o; }
.offer__list li { counter-increment: o; display: grid; grid-template-columns: 40px 1fr; column-gap: 16px; padding: 20px 0; border-top: 1px solid var(--line); }
.offer__list li::before { content: counter(o); grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(215,255,60,.1); color: var(--accent); font-weight: 700; font-size: .95rem; }
.offer__list strong { font-size: 1.1rem; font-weight: 600; letter-spacing: -0.01em; }
.offer__list span { margin-top: 4px; color: var(--text-2); font-size: .98rem; }

/* 5. USP */
.usp__grid { list-style: none; margin: clamp(40px, 6vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.usp__item { background: var(--bg-alt); padding: clamp(24px, 3vw, 36px); }
.usp__big { font-size: clamp(3rem, 5.5vw, 4.4rem); line-height: 1; font-weight: 700; letter-spacing: -0.05em; }
.usp__big small { font-size: .45em; letter-spacing: 0; margin-left: 2px; }
.usp__item h3 { margin-top: 18px; font-size: 1.15rem; font-weight: 600; letter-spacing: -0.01em; }
.usp__item p:last-child { margin-top: 8px; color: var(--text-2); font-size: .98rem; }
.usp + .case { border-top: 0; padding-top: 0; }

/* 7. Obiezioni */
.obj__grid { list-style: none; margin: clamp(40px, 6vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.obj__item { border: 1px solid var(--line-2); border-radius: 18px; padding: clamp(24px, 3vw, 36px); background: var(--surface); }
.obj__q { font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.15; }
.obj__a { margin-top: 14px; color: var(--text-2); }
.obj:has(+ .calc) { padding-bottom: clamp(48px, 6vw, 72px); }

/* 9. FAQ: chiusura */
.f-last { margin-top: clamp(48px, 6vw, 72px); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 32px; border-top: 1px solid var(--line); }
.f-last p { font-size: clamp(1.1rem, 1.8vw, 1.35rem); font-weight: 600; letter-spacing: -0.015em; }

@media (max-width: 960px) {
  .offer__card { grid-template-columns: 1fr; }
  .offer__main { border-right: 0; border-bottom: 1px solid var(--line); }
  .usp__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .usp__grid, .obj__grid { grid-template-columns: 1fr; }
  .offer__main .btn { width: 100%; }
  .f-last { flex-direction: column; align-items: stretch; text-align: center; }
}
