/* ═══ Pagine interne (generato da _geo/build.py) ═══ */

body.page { padding-top: 0; }
.header--solid { background: var(--primary); box-shadow: var(--shadow); border-bottom-color: transparent; }
/* sul fondo navy i link erano scuri e quasi invisibili */
@media (min-width: 1025px) {
    .header--solid .header__link { color: rgba(255,255,255,.88); }
    .header--solid .header__link:hover { color: #fff; background-color: rgba(255,255,255,.08); }
    .header--solid .header__link--cta,
    .header--solid .header__link--cta:hover { color: var(--text-dark); background-color: var(--accent); }
}
.header--solid .header__toggle span { background-color: #fff; }
.header--solid .header__toggle.active span { background-color: var(--text-dark); }

.page-hero {
    background: linear-gradient(160deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: #fff;
    padding: 160px 0 72px;
}
.crumbs { font-size: 14px; opacity: .7; margin-bottom: 24px; }
.crumbs a { color: var(--accent); text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.page-hero__badge {
    display: inline-block; background: rgba(245,183,49,.16); color: var(--accent);
    border: 1px solid rgba(245,183,49,.35); border-radius: 999px;
    padding: 7px 18px; font-size: 13px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase; margin-bottom: 22px;
}
.page-hero h1 {
    font-size: clamp(30px, 4.4vw, 48px); line-height: 1.18;
    font-weight: 800; max-width: 17ch; margin-bottom: 24px;
}
.page-hero__lead {
    font-size: 19px; line-height: 1.65; max-width: 62ch; opacity: .93;
}
.page-hero__lead strong { color: var(--accent); font-weight: 700; }

.page-body { padding: 72px 0 32px; background: #fff; }
.container--narrow { max-width: 780px; }
.page-body h2 {
    font-size: clamp(24px, 3vw, 33px); color: var(--primary);
    font-weight: 800; margin: 52px 0 18px; line-height: 1.25;
}
.page-body h2:first-child { margin-top: 0; }
.page-body h3 {
    font-size: 21px; color: var(--text-dark); font-weight: 700; margin: 34px 0 12px;
}
.page-body p { font-size: 17.5px; line-height: 1.75; color: var(--text-body); margin-bottom: 18px; }
.page-body a { color: var(--primary-light); font-weight: 600; }
.page-body strong { color: var(--text-dark); }

.lead-quote {
    border-left: 4px solid var(--accent);
    background: var(--bg-light);
    padding: 22px 26px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: 19px !important; font-weight: 600; color: var(--text-dark) !important;
    line-height: 1.6 !important; margin: 4px 0 26px;
}

.tick-list, .num-list { margin: 0 0 24px; padding-left: 0; list-style: none; }
.tick-list li {
    position: relative; padding-left: 30px; margin-bottom: 11px;
    font-size: 17px; line-height: 1.6; color: var(--text-body);
}
.tick-list a { color: var(--primary); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(245,183,49,.7); text-decoration-thickness: 2px; text-underline-offset: 4px; transition: text-decoration-color .2s ease; }
.tick-list a:hover { text-decoration-color: var(--accent); }
.tick-list li::before {
    content: "✓"; position: absolute; left: 0; top: 0;
    color: var(--accent); font-weight: 800;
}
.num-list { counter-reset: n; }
.num-list li {
    counter-increment: n; position: relative; padding-left: 44px;
    margin-bottom: 18px; font-size: 17px; line-height: 1.65; color: var(--text-body);
}
.num-list li::before {
    content: counter(n); position: absolute; left: 0; top: -2px;
    width: 30px; height: 30px; border-radius: 50%;
    background: var(--primary); color: #fff;
    font-size: 14px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}

.tools {
    background: var(--bg-light); border: 1px solid var(--border-light);
    border-radius: var(--radius-sm); padding: 18px 22px;
    font-size: 15.5px !important; color: var(--text-light) !important;
}

.facts-table { width: 100%; border-collapse: collapse; margin: 8px 0 24px; }
.facts-table th, .facts-table td {
    text-align: left; padding: 13px 14px; font-size: 16px;
    border-bottom: 1px solid var(--border-light); vertical-align: top;
}
.facts-table th { width: 34%; color: var(--text-dark); font-weight: 700; }
.facts-table td { color: var(--text-body); }

.faq { background: var(--bg-light); padding: 72px 0; }
.faq .container { max-width: 820px; }
.faq__title {
    font-size: clamp(26px, 3.2vw, 36px); color: var(--primary);
    font-weight: 800; margin-bottom: 34px;
}
.faq__item {
    background: #fff; border: 1px solid var(--border-light);
    border-radius: var(--radius); padding: 26px 28px; margin-bottom: 14px;
}
.faq__q { font-size: 18.5px; font-weight: 700; color: var(--text-dark); margin-bottom: 10px; line-height: 1.4; }
.faq__a { font-size: 16.5px; line-height: 1.72; color: var(--text-body); margin: 0; }

.page-cta { background: var(--primary); color: #fff; padding: 76px 0; text-align: center; }
.page-cta__inner { max-width: 640px; margin: 0 auto; }
.page-cta h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; margin-bottom: 16px; }
.page-cta p { font-size: 17px; line-height: 1.65; opacity: .9; margin-bottom: 30px; }

.clients__names {
    text-align: center; max-width: 840px; margin: 10px auto 0;
    font-size: 14.5px; line-height: 1.7; color: var(--text-light);
}

.home-faq { background: var(--bg-light); padding: 90px 0; }
.home-faq .container { max-width: 860px; }

@media (max-width: 768px) {
    .page-hero { padding: 120px 0 52px; }
    .page-hero h1 { max-width: none; }
    .page-body { padding: 52px 0 24px; }
    .facts-table th { width: 42%; }
}
