/* Application-owned landing-page layout. No builder runtime or icon font. */
.alc-home { --alc-gold: #e6bd45; }
.alc-home main { line-height: 1.7; }
.alc-home h2, .alc-home h3 { color: #365568; font-weight: 600; line-height: 1.25; text-wrap: balance; }
.alc-home h2 { font-size: clamp(1.65rem, 2.7vw, 2.25rem); margin-bottom: 1.25rem; }
.alc-home h3 { font-size: 1.5rem; }
.alc-home-hero { position: relative; isolation: isolate; background: #365568; color: white; padding: clamp(3rem, 7vw, 7rem) 0; }
.alc-home-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.alc-home-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(25 48 63 / 78%), rgb(25 48 63 / 35%) 65%, transparent); z-index: -1; }
.alc-home-hero-copy { max-width: 680px; }
.alc-home .alc-home-hero h1 { color: white; font-size: clamp(2.3rem, 4.8vw, 4rem); line-height: 1.08; letter-spacing: normal; text-wrap: balance; }
.alc-home-hero .lead { font-size: clamp(1.05rem, 1.7vw, 1.25rem); margin-bottom: 2rem; max-width: 580px; }
.alc-home-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 700; margin-bottom: 1rem; }
.alc-home .btn { border-radius: .35rem; font-weight: 700; padding: .85rem 1.4rem; display: inline-flex; gap: 1rem; align-items: center; justify-content: center; white-space: normal; }
.alc-home-button { background: var(--alc-gold); border: 1px solid var(--alc-gold); color: #203949; }
.alc-home-button:hover { background: #f0ce65; border-color: #f0ce65; color: #203949; }
.alc-home-button-outline { color: #365568; border: 1px solid #365568; }
.alc-home-button-outline:hover { background: #365568; color: white; }
.alc-home-section { padding: clamp(3rem, 6vw, 5rem) 0; }
.alc-home-intro { max-width: 870px; margin: 0 auto 3rem; text-align: center; }
.alc-home-intro > p:last-child { max-width: 730px; margin: 0 auto; }
.alc-home-offer { border: 1px solid #dce4e8; border-radius: .7rem; overflow: hidden; display: flex; flex-direction: column; background: white; }
.alc-home-offer > img { display: block; width: 100%; height: 220px; object-fit: contain; background: #fafbfc; }
.alc-home-offer-body { padding: 1.75rem; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.alc-home-price { display: flex; align-items: baseline; gap: .8rem; margin: .5rem 0 1rem; }
.alc-home-price del { color: #66757e; }
.alc-home-price strong { font-size: 2rem; color: #365568; }
.alc-home-soft { background: #f2f6f7; }
.alc-home-quote { margin: 0; display: flex; flex-direction: column; padding: .25rem 1rem .25rem 1.5rem; border-left: 3px solid #bd9b38; }
.alc-home-quote blockquote { flex: 1; }
.alc-home-quote figcaption { color: #566b78; font-size: .9rem; }
.alc-home-callout { margin: 0; border: 1px solid #dce4e8; border-radius: .7rem; padding: 1.25rem 1.5rem 2.5rem; }
.alc-home-checklist { list-style: none; padding: 0; margin: 1.5rem 0; }
.alc-home-checklist li { position: relative; padding-left: 1.65rem; margin-bottom: .8rem; }
.alc-home-checklist li::before { content: '✓'; position: absolute; left: 0; color: #365568; font-weight: bold; }
.alc-home-photo { display: block; width: 100%; height: auto; border-radius: .7rem; }
.alc-home-text-link { color: #365568; font-weight: 700; }
.alc-home-clients { padding-bottom: 4rem; text-align: center; }
.alc-home-clients img { max-width: 100%; width: 1000px; height: auto; }
.alc-home #getstarted { scroll-margin-top: 1rem; }
@media (max-width: 767px) { .alc-home-hero::before { background: rgb(25 48 63 / 72%); } .alc-home-offer > img { height: 200px; } .alc-home-callout { padding-inline: .5rem; } }
