/* Indianapolis additions; preserve the KeyOffer blue/charcoal palette and layout. */
.indianapolis-site { color: #343a40; }
.indianapolis-site p { font-size: 1rem; line-height: 1.75; }
.indianapolis-site h1 { font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.18; font-weight: 700; }
.indianapolis-site h2 { font-size: clamp(1.6rem, 2.8vw, 2.25rem); line-height: 1.25; font-weight: 600; }
.indianapolis-site h3 { font-size: 1.2rem; line-height: 1.4; font-weight: 600; }
.indianapolis-site a { text-underline-offset: .2em; }
.indianapolis-site a[href^="tel:"] { white-space: nowrap; }
.indianapolis-site a:focus-visible, .indianapolis-site button:focus-visible, .indianapolis-site summary:focus-visible { outline: 3px solid #3188ff; outline-offset: 4px; }
.ko-skip-link { position: fixed; top: -100px; left: 1rem; z-index: 10000; padding: .75rem 1rem; background: #fff; color: #1633a3; }
.ko-skip-link:focus { top: 1rem; }
.indianapolis-site #topbar { height: auto; padding: 0; background: #f5f6f8; }
.ko-topbar-row, .ko-contact-links { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; font-size: 12px; }
.ko-topbar-row { min-height: 40px; }
.ko-contact-links a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; color: #343a40; }
.ko-contact-links svg { flex-shrink: 0; }
.ko-topbar-social { margin-left: auto; flex-shrink: 0; }
.indianapolis-site #topbar .ko-topbar-social li a { display: flex; align-items: center; justify-content: center; }
.indianapolis-site #header, .indianapolis-site #header .header-inner { height: auto; min-height: 90px; line-height: normal; }
.ko-header-row { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 90px; }
.ko-logo { flex-shrink: 0; }
.ko-logo img { display: block; width: 185px; height: auto; }
.ko-menu ul { display: flex; align-items: center; gap: 1.5rem; list-style: none; padding: 0; margin: 0; }
.ko-menu a { color: #000; font-family: "Poppins", sans-serif; font-weight: 600; font-size: 12px; letter-spacing: .6px; text-transform: uppercase; line-height: normal; }
.ko-menu a[aria-current] { color: #2250fc; }
.ko-menu a.btn { color: #fff; }
.ko-menu-toggle { display: none; }
.indianapolis-site .top-getoffer { padding: .7rem 1rem; min-height: auto; }
.indianapolis-site .top-getoffer p { margin: 0; color: #fff; font-size: .9rem; }
.indianapolis-site .top-getoffer a { color: #fff; font-weight: 700; text-decoration: underline; }
.ko-hero { background: linear-gradient(90deg, rgba(17,28,48,.94), rgba(17,28,48,.78) 60%, rgba(17,28,48,.48)), url('../imgs/banner.jpg') center / cover; padding: 5rem 0; }
.ko-hero h1, .ko-hero p { color: #fff; }
.ko-hero-description { max-width: 55rem; margin-top: 1.5rem; }
.ko-eyebrow { font-size: .78rem !important; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1rem; }
.ko-hero-promise { font-size: 1.25rem !important; font-weight: 700; margin-bottom: .5rem; }
.ko-hero-phone { margin-bottom: 0; }
.ko-hero a, .ko-final-cta a:not(.btn) { color: #fff; text-decoration: underline; }
.ko-address-form { background: #fff; border-radius: 10px; padding: 1.25rem; margin: 1.5rem 0; box-shadow: 0 8px 30px rgba(0,0,0,.08); }
.ko-address-form label { color: #343a40; font-size: .85rem; display: block; margin-bottom: .4rem; font-weight: 600; }
.ko-address-form .form-control, .ko-address-form button { min-height: 48px; }
.indianapolis-site .btn { white-space: normal; line-height: 1.5; }
.ko-section { padding: 5rem 0; }
.indianapolis-site .ko-section-divider { width: 100%; height: 1px; margin: 0; border: 0; opacity: 1; background: linear-gradient(to right, transparent, rgba(32,42,64,.35) 20%, rgba(32,42,64,.35) 80%, transparent); }
.ko-global-counter { background: linear-gradient(rgba(17,28,48,.8), rgba(17,28,48,.8)), url('../imgs/homeParallax.jpg') center / cover; }
.ko-global-counter h2 { color: #fff; margin-bottom: 3rem; }
.ko-global-counter .counter { color: #fff; font-size: clamp(1.65rem, 3vw, 2.5rem); font-variant-numeric: tabular-nums; }
.ko-global-counter .icon { margin-bottom: 1rem; }
.ko-global-counter p { color: #fff; font-size: .85rem; }
.ko-callout, .ko-card { padding: 2rem; background: #fff; border-radius: 6px; box-shadow: 0 3px 20px rgba(25,42,70,.07); }
.ko-callout { background: #f5f6f8; }
.ko-callout h3 { font-size: 2rem; }
.ko-property-type { border-left: 3px solid #3188ff; padding-left: 1.25rem; }
.ko-step img { margin-bottom: 1rem; }
.ko-step-number { text-transform: uppercase; color: #2250fc; font-weight: 700; font-size: .85rem !important; margin-bottom: .5rem; }
.ko-zip { display: inline-block; padding: .15rem .7rem; background: #edf2ff; color: #2044c5; font-weight: 700; border-radius: 4px; margin-bottom: .75rem; }
.ko-area-list { margin-top: .5rem; }
.ko-additional-areas { margin-top: 2rem; }
.ko-faq details { border-bottom: 1px solid #dce0e8; }
.ko-faq summary { cursor: pointer; padding: 1.25rem 2rem 1.25rem 0; position: relative; list-style: none; }
.ko-faq summary::-webkit-details-marker { display: none; }
.ko-faq summary::after { content: '+'; position: absolute; right: .25rem; top: 1.05rem; font-size: 1.5rem; color: #2250fc; }
.ko-faq details[open] summary::after { content: '−'; }
.ko-faq summary h3 { display: inline; font-size: 1.05rem; }
.ko-faq-answer { padding-right: 1.5rem; }
.ko-final-cta { background: #202a40; }
.ko-final-cta h2, .ko-final-cta p { color: #fff; }
.indianapolis-site #footer .copyright-content { min-height: auto; padding: 1.25rem 0; }
.indianapolis-site #footer .copyright-content p { color: #d3d7e0; font-size: .8rem; }
.ko-footer-links { list-style: none; padding: 0; line-height: 2; }
.indianapolis-site #footer a { overflow-wrap: anywhere; }
.indianapolis-site #footer h2.widget-title { font-size: 1.05rem; line-height: 1.5; }
.ko-form-panel { max-width: 800px; margin: 0 auto; }
.ko-form-panel label { font-weight: 600; display: block; margin-bottom: .35rem; }
.ko-form-panel label.form-check-label { font-weight: 400; }
.ko-form-panel .form-control, .ko-form-panel .form-select { min-height: 46px; }
.ko-form-panel button[type="submit"] { min-height: 48px; }
.ko-form-message { border-radius: 4px; margin: 1rem 0; padding: 1rem; background: #fff0f0; color: #852222; }
.ko-form-message:empty { display: none; }
.ko-form-panel [aria-invalid="true"] { border-color: #ad2525; }
@media (max-width: 991px) {
    .ko-header-row { flex-wrap: wrap; padding-top: 1rem; padding-bottom: 1rem; gap: 1rem; }
    .ko-menu-toggle { display: block; min-height: 44px; line-height: 1.4; padding: .5rem .75rem; border: 1px solid #ced3dd; border-radius: 4px; background: #fff; color: #202a40; font-weight: 600; }
    .ko-menu { width: 100%; }
    .ko-menu ul { align-items: stretch; flex-direction: column; gap: 0; }
    .ko-menu a { display: block; padding: .75rem 0; }
    .ko-menu a.btn { padding: .75rem; }
    .ko-menu[data-collapsed="true"] { display: none; }
}
@media (max-width: 767px) {
    .ko-topbar-row, .ko-contact-links { justify-content: flex-start; gap: .5rem 1rem; }
    .ko-hero { padding: 3rem 0; }
    .ko-section { padding: 3rem 0; }
    .ko-card, .ko-callout { padding: 1.5rem; }
    .ko-address-form { padding: 1rem; }
    .ko-address-form button { margin-top: .5rem; }
    .ko-header-row { min-height: 76px; }
    .ko-logo img { width: 155px; }
}
@media (max-width: 575px) {
    .ko-topbar-social { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .indianapolis-site *, .indianapolis-site *::before, .indianapolis-site *::after { scroll-behavior: auto !important; transition: none !important; }
}
