/* Page content only. The global header, footer and home keep their own styles. */
.lr-section { padding:var(--spazio-sezione,72px) 0; background:#fff; color:#343f52; }
.lr-section.lr-muted { background:#f6f7f9; }
.lr-section .container { max-width:1140px; }
.lr-section h2 { font-family:var(--wow-serif); font-style:italic; font-weight:400; font-size:clamp(1.65rem,3vw,2.15rem); line-height:1.22; color:#14181f; max-width:820px; margin-bottom:1rem; }
.lr-section h3 { font-size:1.05rem; line-height:1.4; font-weight:700; color:#14181f; margin:0 0 .65rem; }
.lr-section p, .lr-section li { font-size:1rem; line-height:1.7; color:#4b5563; }
.lr-section p { max-width:760px; }
.lr-section a { color:#245f78; text-decoration:underline; text-underline-offset:4px; }
.lr-section a:hover { color:#9a3412; }
.lr-section :is(a,button,input,summary):focus-visible { outline:3px solid #245f78; outline-offset:4px; }
.lr-eyebrow { font:700 .72rem/1.5 var(--wow-mono); letter-spacing:.14em; text-transform:uppercase; color:#245f78!important; margin-bottom:.75rem; }
.lr-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:2rem; }
.lr-grid article { border-top:2px solid #b9c8d4; padding-top:1.35rem; }
.lr-grid article p:last-child { margin-bottom:0; }
.lr-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.lr-figure { margin:0; }
.lr-figure img { display:block; width:100%; height:auto; border-radius:12px; background:#1a1f2e; }
.lr-figure figcaption { margin-top:.8rem; font-size:.85rem; line-height:1.6; color:#4b5563; }
.lr-steps { list-style:none; padding:0; margin:1.4rem 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.lr-steps li { border-top:2px solid #b9c8d4; padding-top:1.2rem; }
.lr-steps strong { display:block; color:#14181f; margin-bottom:.5rem; }
.lr-note { border-left:3px solid #245f78; padding:.3rem 0 .3rem 1.1rem; margin-top:1.4rem; }
.lr-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:1.5rem; }
.lr-faq { max-width:820px; margin-top:1.5rem; }
.lr-faq details { border-top:1px solid #b9c8d4; padding:1rem 0; }
.lr-faq summary { font-size:1rem; line-height:1.5; font-weight:700; color:#14181f; cursor:pointer; }
.lr-faq details p { padding-top:.8rem; margin-bottom:0; }
.lr-form { padding:28px; background:#fff; border:1px solid #b9c8d4; border-radius:12px; }
.lr-form label { display:block; font-size:.95rem; font-weight:600; line-height:1.5; color:#343f52; margin-bottom:.4rem; }
.lr-form input[type=text],.lr-form input[type=email] { display:block; width:100%; border:1px solid #6b7280; border-radius:6px; padding:.7rem .8rem; font:inherit; color:#14181f; background:#fff; margin-bottom:1rem; }
.lr-form .lr-consent { display:flex; gap:12px; align-items:flex-start; font-size:.9rem; font-weight:400; margin:1rem 0; }
.lr-form input[type=checkbox] { flex-shrink:0; width:20px; height:20px; margin-top:3px; accent-color:#245f78; }
.lr-button { display:inline-block; background:#c2410c; color:#fff!important; border:0; border-radius:30px; padding:12px 22px; font-family:inherit; font-size:.95rem; font-weight:600; line-height:1.5; text-decoration:none!important; cursor:pointer; }
.lr-button:hover { background:#9a3412; }
.lr-error { color:#991b1b!important; font-size:.9rem!important; }
.lr-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
/* Local contrast correction for the existing CTA, without editing its
   shared component or changing the home, header or footer. */
.lr-section ~ .wow-cta-final .wow-cta-final-meta { color:rgba(255,255,255,.62); }
@media(max-width:767px) { .lr-grid,.lr-split,.lr-steps { grid-template-columns:1fr; gap:24px; } .lr-section .container { padding-left:24px!important; padding-right:24px!important; } .lr-form { padding:20px; } }
