/* Native controls preserve the existing page 3102 layout and typography. */
.page-id-3102 .icnc-service-faq-heading {
    margin: 0;
    font-size: inherit;
    line-height: 1.5;
}
.page-id-3102 button.collapseData__header {
    width: 100%;
    padding: 0;
    border: 0;
    text-align: left;
    font-family: inherit;
}
.page-id-3102 .collapseData__header .icnc-service-faq-question {
    display: block;
    align-self: stretch;
    flex-grow: 1;
    color: #1a1a1a;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    border-right: 1px solid #fff;
    transform: none;
    transition: none;
    padding: 2rem 2rem 2rem 2.5rem;
    font-size: 1.125rem;
}
@media (max-width: 991.98px) {
    .page-id-3102 .collapseData__header .icnc-service-faq-question {
        padding: 1.25rem .375rem 1.25rem 1.25rem;
        font-size: .9375rem;
    }
}
.page-id-3102 button.process__stepsItem,
.page-id-3102 .process__nav button {
    border: 0;
    padding: 0;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    text-align: left;
    cursor: pointer;
}
.page-id-3102 button.collapseData__header:focus-visible,
.page-id-3102 .jsContactModalInit:focus-visible,
.page-id-3102 #jsContactModal button:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 3px;
}
.page-id-3102 button.process__stepsItem:focus-visible,
.page-id-3102 .process__nav button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}
.page-id-3102 button.process__stepsItem:focus-visible {
    outline-offset: -3px;
}

/* Slick gives each vertical slide a transparent 1 px border, including the original DIV rows. */
.page-id-3102 .process__steps.slick-vertical button.process__stepsItem {
    border: 1px solid transparent;
}

/* R4: persistent guidance in the existing page-3102 contact dialog. */
.page-id-3102 #jsContactModal .service3102-required {
    font-size: .875em;
    font-weight: 400;
}
.page-id-3102 #jsContactModal .service3102-message-hint {
    display: block;
    margin: 8px 0 0;
    color: #525252;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
}

/* The existing field wrappers provide the same 6 px gap as the contact inputs. */
.page-id-3102 #jsContactModal .service3102-message-hint + br,
.page-id-3102 #jsContactModal .contactForm__file .file > p > label + br {
    display: none;
}
.page-id-3102 #jsContactModal .contactForm__file .file > p > label {
    margin-bottom: 0;
}

/* Page 3102, first two photos only. The existing portrait frame does not change.
 * Size the image canvas to cover the frame by height, so native sizes=auto can
 * select enough pixels for the actual magnification instead of the narrow crop. */
.page-id-3102 #jsSection-0 .description__photo img {
    width: auto;
    min-width: 100%;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
}
