/* Limited to homepage CTA links and the homepage FAQ. Manufacturer buttons retain their existing styles and handlers. */
body.home .btn-area > a.nsa_search_submit,
body.home #flow .aligncenter > a.btn {
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 360px;
    max-width: 100%;
    min-height: 52px;
    height: auto;
    padding: 12px 44px 12px 24px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #285b6d;
    border-radius: 6px;
    background: #285b6d;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}
body.home .btn-area > a.nsa_search_submit::after,
body.home #flow .aligncenter > a.btn::after {
    content: "";
    position: absolute;
    right: 21px;
    top: calc(50% - 4px);
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
}
body.home .btn-area > a.nsa_search_submit:visited { color: #fff; }
body.home .btn-area > a.nsa_search_submit:hover { background-color: #214b5a; border-color: #214b5a; color: #fff; opacity: 1; }
body.home #flow .aligncenter > a.btn { background: #fff; color: #285b6d; border-color: #b8ced7; }
body.home #flow .aligncenter > a.btn:hover { background: #edf4f6; color: #285b6d; opacity: 1; }
body.home #flow .aligncenter > a.btn .for-pc { display: inline !important; }
body.home #flow .aligncenter > a.btn .for-sp { display: none !important; }
body.home .btn-area > a.nsa_search_submit:focus-visible,
body.home #flow .aligncenter > a.btn:focus-visible { outline: 3px solid #7eb0c1; outline-offset: 3px; }

body.home #faq .pcux-home-faq-heading { margin: 48px 0 30px; padding: 0; border: 0; color: #263f4d; font-size: 28px; font-weight: 500; line-height: 1.5; text-align: center; }
body.home #faq .pcux-home-faq-list { display: grid; gap: 12px; margin: 0; padding: 0; }
body.home #faq .pcux-home-faq { margin: 0; padding: 0; border: 1px solid #cbdce2; border-radius: 8px; background: #f4f8fa; color: #263f4d; }
body.home #faq .pcux-home-faq > summary { display: flex; align-items: center; gap: 12px; min-height: 64px; box-sizing: border-box; padding: 17px 18px; border-radius: 7px; color: #263f4d; font-size: 15px; font-weight: 700; line-height: 1.75; cursor: pointer; list-style: none; }
body.home #faq .pcux-home-faq > summary::-webkit-details-marker { display: none; }
body.home #faq .pcux-home-faq > summary::marker { content: ""; }
body.home #faq .pcux-home-faq > summary:hover { background: #eaf2f5; }
body.home #faq .pcux-home-faq > summary:focus-visible { outline: 3px solid #7eb0c1; outline-offset: -4px; }
body.home #faq .pcux-home-question-icon { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; box-sizing: border-box; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; border: 1.5px solid currentColor; border-radius: 50%; color: #285b6d; font-family: Arial,sans-serif; font-size: 15px; font-weight: 700; line-height: 1; }
body.home #faq .pcux-home-question { flex: 1; min-width: 0; overflow-wrap: anywhere; }
body.home #faq .pcux-home-chevron { display: block; flex: 0 0 8px; width: 8px; height: 8px; margin: -4px 4px 0 3px; border-right: 2px solid #567080; border-bottom: 2px solid #567080; transform: rotate(45deg); transition: transform .15s ease; }
body.home #faq .pcux-home-faq[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
body.home #faq .pcux-home-faq[open] .pcux-home-chevron { transform: rotate(225deg); margin-top: 4px; }
body.home #faq .pcux-home-answer { margin: 0 18px; padding: 14px 0 18px 34px; border-top: 1px solid #cbdce2; font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
body.home #faq .pcux-home-answer p { margin: 0 0 12px; }
body.home #faq .pcux-home-answer p:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
    body.home .btn-area { padding: 24px 16px; }
    body.home .btn-area > a.nsa_search_submit,
    body.home #flow .aligncenter > a.btn { width: 100%; }
    body.home #faq .pcux-home-faq-heading { font-size: 24px; margin: 32px 0 24px; }
    body.home #faq .pcux-home-faq > summary { min-height: 58px; padding: 15px 12px; gap: 9px; font-size: 14px; line-height: 1.8; }
    body.home #faq .pcux-home-question-icon { flex-basis: 20px; width: 20px; height: 20px; font-size: 14px; }
    body.home #faq .pcux-home-answer { margin: 0 12px; padding: 14px 0 17px; }
}
@media (prefers-reduced-motion: reduce) {
    body.home .btn-area > a.nsa_search_submit,
    body.home #flow .aligncenter > a.btn,
    body.home #faq .pcux-home-chevron { transition: none; }
}

/* Homepage hero/search spacing approved 2026-11-05. */
body.home #estimate .nsa_search_div > h1 { margin-top: 40px !important; }
