.clt-hero { padding: 5rem 0; background: linear-gradient(115deg, #f5f8fc 30%, #e5eff9); overflow: hidden; }
.clt-page h1 { font-size: clamp(3.2rem, 5.5vw, 5.25rem); line-height: 1.02; letter-spacing: -.06em; }
.clt-page .clt-hero-subtitle { max-width: 560px; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.4; letter-spacing: -.015em; font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; color: var(--fp-accent); margin: 0 0 1.25rem; }
.clt-hero-intro { max-width: 560px; color: var(--fp-muted); }
.clt-hero-intro p { margin: 0 0 1rem; }
.clt-hero-copy > .btn { margin-top: .75rem; }
.clt-hero-copy > .fp-eyebrow { display: inline-flex; align-items: center; gap: .65rem; }
.clt-hero-copy > .fp-eyebrow::before { content: ''; width: 22px; height: 2px; background: currentColor; flex-shrink: 0; }
.clt-hero-preview { height: 550px; }
.clt-hero-preview .fp-preview-orbit { background: #c5dbef; }
.clt-gallery { scroll-margin-top: 90px; }
.clt-page .fp-template-select { top: 50%; bottom: auto; transform: translate(-50%, -50%); }
.clt-download-note .badge { color: var(--fp-ink); font-size: .8em; }
.clt-testimonials { padding-top: 5.5rem; }
.clt-mentions { padding-top: 0; background: #fff; }
.clt-art { display: flex; height: 110px; overflow: hidden; opacity: .18; }
.clt-art img { width: 50%; height: auto; object-fit: cover; object-position: center; }
.clt-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.clt-step { padding: 1.75rem; text-align: center; border: 1px solid #dce6f0; border-radius: 12px; background: #fff; }
.clt-step-image { display: grid; place-items: center; height: 220px; margin-bottom: 1.5rem; border-radius: 12px; background: #edf4fc; }
.clt-step-image img { width: 90%; height: 190px; object-fit: contain; }
.clt-step h3 { font-size: 1.35rem; margin-bottom: .75rem; }
.clt-step p { margin: 0; color: var(--fp-muted); font-size: .95rem; }
.clt-features { background: linear-gradient(135deg, #f0f6fc, #e2edf9); }
.clt-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.clt-feature { display: flex; align-items: flex-start; gap: 1.25rem; padding: 2rem; border: 1px solid #d6e3f0; border-radius: 12px; background: #fff; }
.clt-feature:last-child { grid-column: 1 / -1; }
.clt-feature-icon { display: grid; place-items: center; flex-shrink: 0; width: 56px; height: 56px; border-radius: 12px; background: #e5effb; color: var(--fp-accent); font-size: 1.65rem; --fa-secondary-color: #00845d; }
.clt-feature h3 { font-size: 1.3rem; line-height: 1.35; margin: 0 0 .8rem; }
.clt-feature p { color: var(--fp-muted); font-size: .95rem; margin: 0; }
.clt-faq { background: #f7f9fb; }
.clt-faq-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 3.5rem; align-items: start; }
.clt-faq-nav { position: sticky; top: 100px; }
.clt-faq-nav ol { padding-left: 1.4rem; margin: 1.5rem 0 0; color: var(--fp-accent); }
.clt-faq-nav li { padding-left: .3rem; margin-bottom: 1rem; }
.clt-faq a { color: var(--fp-accent); text-underline-offset: 4px; }
.clt-faq-nav a { font-weight: 600; line-height: 1.6; }
.clt-faq-answer { padding: 2rem; border: 1px solid #dce5ef; border-radius: 14px; background: #fff; scroll-margin-top: 100px; }
.clt-faq-answer + .clt-faq-answer { margin-top: 1.5rem; }
.clt-faq-answer h3 { font-size: 1.5rem; margin-bottom: 1.25rem; }
.clt-faq-answer p, .clt-faq-answer li { color: var(--fp-muted); font-size: .95rem; }
.clt-faq-answer > :last-child { margin-bottom: 0; }

@media (max-width: 991.98px) {
    .clt-hero { padding: 3.5rem 0; }
    .clt-hero-copy { text-align: center; }
    .clt-page h1, .clt-hero-subtitle, .clt-hero-intro { margin-left: auto; margin-right: auto; }
    .clt-hero-preview { max-width: 440px; height: 480px; }
    .clt-testimonials { padding-top: 4rem; }
    .clt-step { padding: 1rem; }
    .clt-step-image { height: 180px; }
    .clt-step-image img { height: 150px; }
    .clt-feature { flex-direction: column; padding: 1.5rem; }
    .clt-faq-layout { grid-template-columns: 1fr; gap: 2rem; }
    .clt-faq-nav { position: static; }
}
@media (max-width: 575.98px) {
    .clt-hero-preview { max-width: 340px; height: 370px; }
    .clt-testimonials { padding-top: 3rem; }
    .clt-art { height: 70px; }
    .clt-step-grid, .clt-feature-grid { grid-template-columns: 1fr; }
    .clt-step { padding: 1.5rem; }
    .clt-step-image { height: 210px; }
    .clt-step-image img { height: 180px; }
    .clt-faq-answer { padding: 1.5rem; }
}
