/* Alternative homepage. Stack's grid, sliders, cards and tabs remain the base. */
.alt-home {
    --navy:#142d6b;
    --cyan:#079ddd;
    --ink:#202b39;
    --muted:#5d6977;
    color:var(--muted);
    font-family:'Open Sans',Arial,sans-serif;
    font-size:18px;
    line-height:1.8;
    background:#fff}

.alt-home h1,.alt-home h2,.alt-home h3,.alt-home h4 {
    font-family:inherit;
    color:var(--ink);
    font-weight:700;
    letter-spacing:-.035em}

.alt-home h2 {
    font-size:clamp(29px,3.3vw,43px);
    line-height:1.18;
    margin:12px 0 24px}
.alt-home h3 {
    font-size:22px;
    line-height:1.35}
.alt-home p {
    color:inherit}
.alt-home section {
    padding:88px 0;
    scroll-margin-top:90px}
.alt-home a {
    color:var(--navy)}
.alt-home a:focus-visible,.alt-home button:focus-visible,.alt-home summary:focus-visible {
    outline:3px solid var(--cyan);
    outline-offset:5px}
.alt-home .lead {
    font-size:18px;
    line-height:1.65}
.alt-home .bg--secondary {
    background:#f3f6f9}
.eyebrow {
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#087caa}
.alt-home .btn {
    border-radius:3px;
    padding:14px 24px;
    transition:background .2s}
.alt-home .btn--primary {
    background:var(--cyan);
    border-color:var(--cyan);
    color:#fff}
.alt-home .btn--primary:hover {
    background:#087cae;
    border-color:#087cae}
.alt-home .btn__text {
    font-size:18px;
    letter-spacing:.04em;
    color:#fff;
    text-transform:uppercase}
.text-link {
    font-weight:700;
    font-size:18px;
    text-decoration:none}
.text-link:hover {
    text-decoration:underline}
.skip-link {
    position:absolute;
    top:-100px;
    left:15px;
    z-index:100;
    background:#fff;
    padding:12px}
.skip-link:focus {
    top:10px}
.utility {
    background:var(--navy);
    color:#e4edff;
    font-size:18px;
    padding:8px 0}
.utility__inner {
    display:flex;
    gap:26px;
    align-items:center}
.utility__inner span {
    margin-right:auto}
.utility a {
    color:#fff}
.site-header {
    position:sticky;
    top:0;
    z-index:50;
    background:#fff;
    box-shadow:0 2px 14px #1024440d}
.nav-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:96px;
    gap:25px}
.brand {
    display:block;
    max-width:245px}
.brand img {
    display:block;
    width:100%;
    max-height:73px;
    object-fit:contain;
    margin:0}
.main-menu {
    display:flex;
    align-items:center;
    gap:28px}
.main-menu>a {
    font-size:18px;
    font-weight:700;
    text-decoration:none}
.menu-toggle {
    display:none}
.alt-home .hero-section {
    padding:0}
.hero-slide {
    position:relative;
    min-height:570px;
    display:flex;
    align-items:center;
    background:#142d6b}
.hero-photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0!important}
.hero-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(7,22,48,.92),rgba(7,22,48,.62) 50%,rgba(7,22,48,.12))}
.hero-copy {
    position:relative;
    padding-top:70px;
    padding-bottom:80px}
.hero-copy .eyebrow {
    color:#83d7fa}
.alt-home .hero-copy h1, .alt-home .hero-copy .hero-title {
    font-size:clamp(41px,5.4vw,72px);
    line-height:1.06;
    color:#fff;
    margin:18px 0 24px;
    max-width:750px}
.hero-copy p {
    color:#e2eaf4;
    max-width:560px;
    font-size:18px;
    margin-bottom:32px}
.hero-secondary {
    color:#fff!important;
    margin-left:22px;
    font-size:18px;
    font-weight:700}
.hero-slider .flickity-prev-next-button {
    background:#ffffff24;
    width:35px;
    height:35px}
.hero-slider .flickity-prev-next-button .arrow {
    fill:white}
.hero-slider .flickity-page-dots {
    bottom:24px}
.hero-slider .flickity-page-dots .dot {
    background:#fff}
.promise-strip {
    background:var(--navy);
    color:#fff}
.promise-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding-top:25px;
    padding-bottom:25px}
.promise-grid>div {
    padding:0 25px;
    border-right:1px solid #ffffff26}
.promise-grid>div:first-child {
    padding-left:0}
.promise-grid>div:last-child {
    border:0}
.promise-grid strong {
    display:block;
    font-size:18px}
.promise-grid span {
    font-size:18px;
    color:#bfcce3}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:35px;
    margin-bottom:35px}
.section-heading h2 {
    margin-bottom:0}
.section-heading>p {
    max-width:345px;
    margin-bottom:5px}
.alt-home .service-card {
    padding:0;
    overflow:hidden;
    border:1px solid #e3e8ef;
    box-shadow:0 8px 24px #10244405;
    margin-bottom:24px;
    height:calc(100% - 24px);
    border-radius:4px}
.service-card>a {
    display:block}
.service-card img {
    width:100%;
    height:215px;
    object-fit:cover;
    margin:0}
.service-body {
    padding:26px}
.card-number {
    color:#7c8ba2;
    font-size:12px;
    letter-spacing:.12em}
.service-body h3 {
    margin:8px 0 15px}
.service-body h3 a {
    text-decoration:none}
.service-body p {
    font-size:18px;
    min-height:100px}
.about-photo {
    position:relative;
    padding-bottom:24px}
.about-photo>img {
    width:100%;
    height:490px;
    object-fit:cover;
    object-position:center 25%;
    border-radius:4px}
.photo-note {
    position:absolute;
    bottom:0;
    right:0;
    background:var(--navy);
    color:#fff;
    padding:23px 35px;
    font-size:18px;
    line-height:1.5}
.tabs-container {
    margin:27px 0}
.alt-home .tabs {
    display:flex;
    flex-wrap:wrap;
    border:0;
    border-bottom:1px solid #ccd6e2;
    justify-content:space-between}
.alt-home .tabs li {
    padding:0}
.alt-home .tabs li.active .tab__title {
    color:var(--navy);
    border-bottom:2px solid var(--cyan)}
.alt-home .tab__title {
    padding:8px 4px;
    font-weight:700;
    font-size:18px}
.alt-home .tabs-content {
    margin-top:18px}
.alt-home .cta-band {
    background:var(--navy);
    padding:40px 0}
.cta-band>.container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px}
.cta-band .eyebrow {
    color:#8edbfb}
.alt-home .cta-band h2 {
    color:#fff;
    font-size:29px;
    margin:8px 0 0}
.work-filters {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 28px}
.work-filters button {
    background:#f3f6f9;
    border:1px solid #e1e7ef;
    padding:8px 17px;
    border-radius:3px;
    font-size:18px;
    font-weight:700;
    color:#5d6977}
.work-filters button.active {
    background:var(--navy);
    border-color:var(--navy);
    color:#fff}
.work-card {
    display:block;
    margin-bottom:25px;
    background:#f3f6f9;
    border-radius:4px;
    overflow:hidden;
    text-decoration:none!important;
    transition:transform .2s}
.work-card:hover {
    transform:translateY(-4px)}
.work-card>img {
    height:230px;
    object-fit:cover;
    width:100%;
    margin:0}
.work-card>div {
    padding:20px}
.work-card h3 {
    font-size:19px;
    margin:7px 0 0}
.work-card h3 span {
    float:right;
    color:var(--cyan)}
.small-note {
    font-size:18px;
    color:#657486;
    margin:13px 0 0}
.work-item[hidden] {
    display:none!important}
.industries img {
    display:block;
    width:100%;
    height:auto;
    margin:0}
.industries .row {
    row-gap:25px}
.process>span {
    font-size:42px;
    color:#8abed5;
    line-height:1.1;
    display:block;
    border-bottom:2px solid #e2eaf2;
    padding-bottom:18px;
    margin-bottom:20px}
.process h3 {
    font-size:18px}
.process p {
    font-size:18px}
.alt-home .reviews-section {
    background:var(--navy);
    color:#fff;
    text-align:center}
.reviews-section .eyebrow {
    color:#8edbfb}
.alt-home .reviews-section h2 {
    color:#fff}
.reviews-section blockquote {
    max-width:820px;
    margin:15px auto 35px;
    padding:0 45px;
    border:0}
.reviews-section blockquote p {
    font-size:18px;
    line-height:1.6;
    color:#fff}
.reviews-section blockquote footer {
    font-size:18px;
    color:#fff;
    margin-top:24px}
.reviews-section blockquote footer span {
    display:block;
    color:#bfcce3;
    font-size:18px}
.reviews-section .text-link {
    color:#8edbfb}
.testimonial-slider {
    margin-bottom:45px}
.reviews-section .flickity-page-dots .dot {
    background:#fff}
.reviews-section .flickity-prev-next-button {
    background:#ffffff20}
.reviews-section .flickity-prev-next-button .arrow {
    fill:#fff}
.resource-card img {
    height:195px;
    width:100%;
    object-fit:cover;
    margin-bottom:22px;
    border-radius:4px}
.resource-card h3 {
    font-size:22px;
    margin:10px 0 15px}
.resource-card h3 a {
    text-decoration:none}
.resource-card p {
    font-size:18px}
.faq-list details {
    border-bottom:1px solid #d6dfe9;
    padding:19px 0}
.faq-list summary {
    font-size:18px;
    font-weight:700;
    color:var(--ink);
    cursor:pointer}
.faq-list details p {
    margin:15px 0 0}
.faq-list>.text-link {
    display:inline-block;
    margin-top:20px}
.contact-details a {
    display:block;
    font-size:18px;
    font-weight:700;
    line-height:1.7}
.contact-details p {
    margin-top:20px}
.contact-form label {
    display:block;
    font-size:18px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:7px}
.alt-home .contact-form input,.alt-home .contact-form textarea {
    background:#f6f8fa;
    border:1px solid #d8e0e9;
    border-radius:3px;
    padding:12px;
    width:100%;
    margin-bottom:20px;
    font-size:18px}
.contact-form .btn {
    width:100%}
.bot-field {
    position:absolute;
    left:-10000px}
.notice {
    padding:17px 20px;
    margin-bottom:20px;
    border:1px solid}
.notice.success {
    background:#edf8f0;
    border-color:#6b9c79;
    color:#245f36}
.notice.error {
    background:#fff2f2;
    border-color:#c87d7d;
    color:#8a2020}
.alt-home .location-section {
    padding:0 0 24px;
    background:#f3f6f9}
.location-section iframe {
    display:block;
    width:100%;
    height:300px;
    border:0;
    margin-bottom:18px}
.location-section a {
    font-size:18px}
.site-footer {
    background:#0b1c3d;
    color:#b7c5dd;
    padding:64px 0 0;
    font-size:18px}
.footer-brand {
    display:inline-block;
    margin-bottom:24px}
.footer-brand img {
    display:block;
    width:260px;
    max-width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    margin:0}
.alt-home .site-footer h3,.alt-home .site-footer h4 {
    color:#fff}
.site-footer h4 {
    font-size:15px;
    margin:12px 0 24px}
.site-footer a {
    display:block;
    color:#cbd7ed;
    margin-bottom:8px}
.site-footer .footer-brand {
    display:inline-block}
.footer-bottom {
    margin-top:40px;
    border-top:1px solid #ffffff20;
    padding:20px 0;
    display:flex;
    justify-content:space-between;
    font-size:18px}
.footer-bottom a {
    margin:0}
.menu-toggle {
    background:transparent;
    border:1px solid #d7e0e9;
    color:var(--navy);
    padding:8px 12px;
    border-radius:3px}

@media(min-width:1200px) {
    .alt-home .container {
    max-width:1170px}
}

@media(max-width:1199px) {
    .nav-inner {
    flex-wrap:wrap;
    min-height:82px;
    padding-top:12px;
    padding-bottom:12px}
.brand {
    max-width:205px}
.menu-toggle {
    display:block}
.main-menu {
    display:none;
    width:100%;
    padding:15px 0;
    flex-direction:column;
    align-items:flex-start;
    gap:18px}
.main-menu.is-open {
    display:flex}
.about-photo {
    margin-bottom:35px}
.about-photo>img {
    height:430px}
.section-heading {
    gap:24px}
.hero-copy {
    padding-left:45px;
    padding-right:45px}
.industries .col-lg-4 {
    margin-bottom:25px}
.contact-form {
    margin-top:28px}
.site-footer .col-lg-5 {
    margin-bottom:20px}
}

@media(max-width:767px) {
    .alt-home section {
    padding:55px 0}
.utility__inner {
    gap:12px;
    justify-content:space-between}
.utility__inner span {
    display:none}
.utility {
    font-size:18px}
.hero-slide {
    min-height:540px}
.hero-copy {
    padding:60px 30px 75px}
.hero-copy p {
    font-size:18px}
.hero-secondary {
    display:block;
    margin:20px 0 0}
.hero-shade {
    background:linear-gradient(90deg,#071630e6,#07163085)}
.promise-grid {
    grid-template-columns:1fr;
    padding-top:10px;
    padding-bottom:10px}
.promise-grid>div,.promise-grid>div:first-child {
    padding:12px 0;
    border-right:0;
    border-bottom:1px solid #ffffff20}
.promise-grid strong {
    font-size:18px}
.section-heading {
    display:block}
.section-heading>p {
    margin-top:20px;
    max-width:none}
.service-body p {
    min-height:0}
.alt-home .cta-band {
    padding:32px 0}
.cta-band>.container {
    align-items:flex-start;
    flex-direction:column}
.alt-home .cta-band h2 {
    font-size:26px}
.work-filters {
    gap:7px}
.work-filters button {
    padding:7px 10px}
.work-card>img {
    height:250px}
.reviews-section blockquote {
    padding:0 22px}
.reviews-section .flickity-prev-next-button {
    display:none}
.process {
    margin-bottom:24px}
.resource-card {
    margin-bottom:35px}
.alt-home .location-section {
    padding-top:0}
.site-footer {
    padding-top:45px}
.site-footer .col-md-4 {
    margin-bottom:20px}
.about-photo>img {
    height:370px}
}

@media(prefers-reduced-motion:reduce) {
    .alt-home * {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important}
}

.alt-home .hero-slider .slides {
    margin-bottom:0}
.alt-home .hero-slider .flickity-page-dots {
    bottom:22px}
.alt-home .slider .slides .slide {
    width:100%}
.alt-home .hero-slider .hero-slide {
    margin-right:0}

.alt-home .hero-slider[data-paging="true"] {
    margin-bottom:0}

.alt-home .hero-slider[data-paging="true"] .flickity-page-dots {
    bottom:22px}
.alt-home .hero-slider .slides .slide {
    margin:0}
.alt-home .menu-toggle {
    white-space:nowrap;
    min-width:80px}


/* Live review corrections: isolate Stack's global section, tab and footer rules. */
.alt-home .hero-section.bg--dark  {
     padding: 0;
     border: 0;
     }

.alt-home .hero-slider[data-paging="true"]:not(section)  {
     margin: 0;
     }

.alt-home .hero-slider[data-paging="true"]:not(section) .flickity-page-dots  {
     bottom: 22px;
     }

.alt-home .hero-slider .slides,
.alt-home .hero-slider .flickity-viewport  {
     margin: 0;
     padding: 0;
     }

.alt-home .hero-slider .slides .slide  {
     margin: 0;
     }

.alt-home .service-card  {
     display: flex;
     flex-direction: column;
     }

.alt-home .service-body  {
     display: flex;
     flex-direction: column;
     flex: 1;
     }

.alt-home .service-body p  {
     min-height: 0;
     }

.alt-home .service-body > .text-link  {
     margin-top: auto;
     padding-top: 12px;
     }

.alt-home .about-photo > img  {
     object-position: center 30%;
     }

.alt-home .tabs-container > .tabs-content > li:not(.active)  {
     display: none;
     }

.alt-home .tabs-container > .tabs-content > li.active  {
     display: block;
     animation: none;
     }

.alt-home .tabs-container > .tabs-content > li.active > .tab__content  {

    display: block;
     position: static;
     opacity: 1;
     animation: none;
     transform: none;

}

.alt-home .tab__title[role="tab"]  {
     cursor: pointer;
     }

.alt-home .work-card p  {
     margin: 12px 0 0;
     font-size:18px;
     line-height: 1.65;
     }

.alt-home .work-item  {
     display: flex;
     }

.alt-home .work-card  {
     width: 100%;
     }

.alt-home .reviews-section  {
     padding: 64px 0;
     }

.alt-home .reviews-unavailable {
    color: #f2f6fc;
    font-size: 18px;
}
.alt-home .reviews-unavailable a {
    color: #b0e7ff;
    font-size: 18px;
    text-decoration: underline;
}
.alt-home .testimonial-slider[data-paging="true"]:not(section) {
    max-width: 920px;
    margin: 36px auto 76px;
    text-align: left;
}
.alt-home .testimonial-slider .slides {
    margin: 0;
    list-style: none;
}
.alt-home .testimonial-slider .slides > li,
.alt-home .testimonial-slider .slides .flickity-slider > li {
    width: 100%;
    padding: 0 2px;
}
.alt-home .testimonial-slider[data-paging="true"]:not(section) .flickity-page-dots {
    bottom: -56px;
    left: 52px;
    width: calc(100% - 104px);
    line-height: 44px;
}
.alt-home .testimonial-slider .flickity-page-dots .dot {
    width: 8px;
    height: 8px;
    padding: 0;
    margin: 0 5px;
}
.alt-home .testimonial-slider .flickity-prev-next-button {
    display: block;
    top: auto;
    bottom: -60px;
    width: 44px;
    height: 44px;
    transform: none;
    border: 1px solid #ffffff50;
    border-radius: 50%;
    background: #ffffff15;
    opacity: 1;
}
.alt-home .testimonial-slider .flickity-prev-next-button:hover {
    background: #ffffff30;
}
.alt-home .testimonial-slider .flickity-prev-next-button:focus-visible,
.alt-home .testimonial-slider .slides:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 4px;
}
.alt-home .review-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    padding: 32px;
    border: 1px solid #ffffff30;
    border-radius: 8px;
    background: #ffffff08;
}
.alt-home .reviews-section .review-card blockquote {
    max-width: none;
    padding: 0;
    margin: 24px 0 0;
    font-family: inherit;
    font-style: normal;
    font-size: 18px;
}
.alt-home .review-card blockquote p {
    margin: 0;
    color: #f2f6fc;
    font-size: 18px;
    line-height: 1.7;
}
.alt-home .review-card figcaption {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    min-height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 18px;
    line-height: 1.5;
}
.alt-home .review-card__identity {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.alt-home .review-card__person {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    color: var(--cyan);
}
.alt-home .review-card__name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}
.alt-home .review-card__location {
    overflow-wrap: anywhere;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #d3def0;
    font-size: 18px;
}
.alt-home .review-card__location svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--cyan);
}

.alt-home .resource-card  {
     height: 100%;
     display: flex;
     flex-direction: column;
     padding: 28px;
     background: #f3f6f9;
     border-radius: 4px;
     }

.alt-home .resource-symbol  {
     color: #126894;
     font-weight: 700;
     letter-spacing: .09em;
     font-size: 17px;
     padding-bottom: 22px;
     margin-bottom: 22px;
     border-bottom: 1px solid #cfdae7;
     }

.alt-home .resource-card > .text-link  {
     margin-top: auto;
     padding-top: 12px;
     }

.alt-home .location-section  {
     padding: 32px 0;
     }

.alt-home .location-inner  {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 25px;
     }

.alt-home .location-section h2  {
     font-size: 24px;
     margin: 8px 0;
     }

.alt-home .location-section p  {
     font-size:18px;
     margin: 0;
     }

.alt-home footer.site-footer a  {
     color: #dbe7fb;
     opacity: 1;
     }

.alt-home footer.site-footer a:hover  {
     color: #fff;
     text-decoration: underline;
     }

.alt-home .footer-bottom  {
     color: #c4d3ea;
     }

.alt-home .menu-toggle  {
     width: auto;
     min-width: 92px;
     align-items: center;
     justify-content: center;
     gap: 9px;
     line-height: 1.2;
     height: 42px;
     padding: 10px 12px;
     }

@media (max-width: 1199px)  {

    .alt-home .menu-toggle  {
     display: inline-flex;
     }

}

@media (max-width: 767px)  {

    .alt-home .reviews-section  {
     padding: 48px 0;
     }

    .alt-home .review-card {
     padding: 24px;
     }

    .alt-home .review-card figcaption {
     align-content: start;
     min-height: 64px;
     }

    .alt-home .resource-card  {
     height: auto;
     margin-bottom: 24px;
     }

    .alt-home .location-inner  {
     display: block;
     }

    .alt-home .location-inner > a  {
     display: inline-block;
     margin-top: 18px;
     }

}


/* In-page service scope keeps the alternative homepage self-contained. */
.alt-home .service-details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.alt-home .service-detail { border: 1px solid #dce3ed; border-radius: 8px; padding: 30px; scroll-margin-top: 110px; }
.alt-home .service-detail h3 { margin-bottom: 16px; }
.alt-home .service-detail ul { list-style: disc; padding-left: 22px; margin: 0 0 20px; }
.alt-home .service-detail li { margin-bottom: 8px; }
.alt-home #residential { scroll-margin-top: 110px; }
@media (max-width: 767px) {
    .alt-home .service-details-grid { grid-template-columns: 1fr; gap: 20px; }
    .alt-home .service-detail { padding: 24px; }
}


/* Shared theme defaults must not shrink ordinary copy or control text. */
.alt-home p,
.alt-home li,
.alt-home label,
.alt-home input,
.alt-home textarea,
.alt-home button,
.alt-home summary,
.alt-home .btn,
.alt-home .tab__title > span {
    font-size:18px;
    line-height:1.65;
}
.alt-home .btn,
.alt-home .btn__text {
    line-height:1.5;
    white-space:normal;
}
.alt-home .main-menu > a:not(.btn),
.alt-home .text-link,
.alt-home .hero-secondary,
.alt-home .site-footer a {
    font-size:18px;
    line-height:1.65;
}
.alt-home .utility__inner,
.alt-home .footer-bottom {
    flex-wrap:wrap;
}
.alt-home .site-footer a,
.alt-home .contact-details a {
    overflow-wrap:anywhere;
}
@media (max-width:767px) {
    .alt-home .utility__inner {
        justify-content:center;
        column-gap:18px;
        row-gap:2px;
    }
    .alt-home .btn {
        max-width:100%;
        padding-right:18px;
        padding-left:18px;
    }
    .alt-home .footer-bottom {
        gap:10px 20px;
    }
}

/* Let multiline submit labels grow beyond Stack's fixed button height. */
.alt-home button.btn {
    height:auto;
    min-height:58px;
}
/* Lightbox captions and image counts are ordinary reading text too. */
.alt-home .lb-data .lb-caption,
.alt-home .lb-data .lb-number {
    font-size:18px;
    line-height:1.5;
}

/* Service headings and direct phone guidance. */
.alt-home .service-detail-heading {
    display:grid;
    grid-template-columns:62px minmax(0, 1fr);
    gap:18px;
    align-items:stretch;
    margin-bottom:20px;
}
.alt-home .service-detail-heading h3 { margin:6px 0 0; }
.alt-home .service-detail-icon { position:relative; color:var(--cyan); }
.alt-home .service-detail-icon svg { position:absolute; inset:0; width:100%; height:100%; }
.alt-home .faq-phone-callout { display:flex; align-items:flex-start; gap:16px; margin:28px 0; }
.alt-home .faq-phone-callout > svg { width:32px; height:32px; flex:none; color:var(--cyan); margin-top:3px; }
.alt-home .faq-phone-callout p { margin-bottom:8px; }
.alt-home .faq-phone-callout a { display:inline-block; font-size:18px; font-weight:700; }
.alt-home .map-section { padding:0; }
.alt-home .map-section iframe { display:block; width:100%; height:420px; border:0; margin:0; }
@media (max-width:767px) {
    .alt-home .service-detail-heading { grid-template-columns:52px minmax(0, 1fr); gap:14px; }
    .alt-home .map-section iframe { height:320px; }
}

.alt-home .service-card .service-body { padding-bottom:36px; }

.alt-home #contact-form {
    scroll-margin-top: 100px;
}

/* Legacy trust detail and Jim's personal closing, adapted to the preview design. */
.alt-home .service-trust { margin-top:32px; text-align:center; }
.alt-home .service-trust__stars { display:block; color:#b57b21; font-size:25px; line-height:1.4; letter-spacing:.14em; }
.alt-home .service-trust p { margin:8px 0 0; font-size:18px; }
.alt-home .service-trust strong { color:var(--ink); }
.alt-home .personal-commitment { background:#faf8f4; }
.alt-home .personal-commitment__photo { display:block; width:100%; height:auto; margin:0; border-radius:8px; box-shadow:0 12px 32px rgba(32,43,57,.09); }
.alt-home .personal-commitment__copy p { font-size:18px; line-height:1.8; margin-bottom:18px; }
.alt-home .personal-commitment__mission { margin-top:26px; padding:20px 24px; background:#fff; border-left:3px solid var(--cyan); border-radius:0 6px 6px 0; }
.alt-home .personal-commitment__signature { color:var(--ink); font-family:'Meow Script',cursive; font-size:48px; line-height:1.4; padding-top:6px; }
@media (max-width:991px) {
    .alt-home .personal-commitment__photo { max-width:540px; margin:0 auto 36px; }
}
