/* T03 concern composition. Shared header, form, buttons and footer stay in T01/T02. */
.desantis-homepage .t03-service-page .residential-hero__trust-list { position: static; margin-top: 18px; }
/* The locked inspection answers vary in length; retain T02 styling in normal flow. */
.desantis-homepage .t03-service-page .t02-s14 { height: auto; padding: 80px 24px; }
.t03-service-page .t02-s14 .t02-section-heading,
.t03-service-page .t02-s14 .t02-section-heading__eyebrow,
.t03-service-page .t02-s14 .t02-section-heading__title { position: static; transform: none; width: auto; height: auto; }
.t03-service-page .t02-s14 .t02-section-heading__eyebrow { margin-bottom: 22px; }
.t03-service-page .t02-s14 .t02-section-heading__highlight { width: max-content; max-width: 100%; height: auto; margin-inline: auto; }
.t03-service-page .t02-s14__list { position: static; transform: none; width: min(980px, 100%); height: auto; margin: 48px auto 0; }
.t03-service-page .t02-faq-item:nth-child(n) { position: relative; inset: auto; width: 100%; height: auto; min-height: 0; padding: 24px 0; margin: 0; }
.t03-service-page .t02-faq-item:nth-child(n) h3,
.t03-service-page .t02-faq-item:nth-child(n) p { position: static; width: 100%; height: auto; white-space: normal; }
.t03-service-page .t02-faq-item:nth-child(n) h3 { margin: 0; }
.t03-service-page .t02-faq-item:nth-child(n) p { margin: 12px 0 0; }
.t03-service-page .t02-s14__cta { position: static; transform: none; margin: 32px auto 0; }
.t03-service-page .t02-s03 { background: transparent; }
.t03-service-page .t02-s03__shell { border-top: 0; }
.t03-service-page .t02-s03__heading-row { grid-template-columns: minmax(0, 1.2fr) minmax(0, .85fr); gap: 48px; margin-bottom: 40px; }
.t03-service-page .t02-s03__heading-block h2 { font-size: var(--section-heading-font-size, 60px); line-height: var(--section-heading-line-height, 65px); letter-spacing: -.7px; }
.t03-service-page .t02-s03__heading-block .t02-section-heading__highlight { display: inline; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.t03-service-page .t02-s03__intro { line-height: 24px; }
.t03-service-page .t02-story-slider__panels { pointer-events: auto; }
@media (max-width: 1279px) {
    .t03-service-page .t02-s03__heading-row { grid-template-columns: 1fr; gap: 24px; }
    .t03-service-page .t02-s03 { height: auto; }
    .t03-service-page .t02-s03__shell { height: auto; padding: 60px 0; }
    .t03-service-page .t02-s03__heading-row { display: grid; position: static; height: auto; margin-bottom: 32px; }
    .t03-service-page .t02-s03__eyebrow,
    .t03-service-page .t02-s03__heading-block h2,
    .t03-service-page .t02-s03__intro { position: static; width: auto; height: auto; }
    .t03-service-page .t02-story-slider { position: relative; top: auto; }
    .t03-service-page .t02-s03__heading-block h2 { margin-top: 22px; }
}
@media (max-width: 680px) {
    .t03-service-page .t02-s03__heading-block h2 { font-size: var(--section-heading-font-size, 38px); line-height: var(--section-heading-line-height, 44px); }
    .t03-service-page .t02-s03__heading-block .t02-section-heading__highlight { white-space: normal; width: auto; }
    .t03-service-page .t02-s03__heading-row { height: auto; min-height: 0; }
    .t03-service-page .t02-s03__intro { height: auto; min-height: 0; }
}

/* T03 approved photos: retain their subjects in narrow cover crops. */
@media (max-width: 680px) {
    .t03-service-page .residential-hero__image { object-position: 65% center; }
    .t03-service-page .t02-story-slider__visual[data-story-visual="0"] img { object-position: 82% center; }
    .t03-service-page .t02-story-slider__visual[data-story-visual="1"] img { object-position: 73% center; }
    .t03-service-page .t02-story-slider__visual[data-story-visual="3"] img { object-position: 82% center; }
}

/* T03 concern alignment: center labels as a whole and keep copy in normal flow. */
.desantis-residential-roofing .t03-service-page .t02-story-slider__tab[data-story-tab] .t02-story-slider__tab-title,
.desantis-residential-roofing .t03-service-page .t02-story-slider__tab[data-story-tab] .t02-story-slider__tab-arrow {
    top: 50%;
    transform: translateY(-50%);
}
.desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] .t02-story-slider__category,
.desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] h3,
.desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] .t02-story-slider__body,
.desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] .t02-story-slider__cta {
    position: static;
    inset: auto;
    transform: none;
}
.desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] .t02-story-slider__cta {
    display: inline-block;
    margin-top: 20px;
    width: auto;
}
@media (min-width: 1200px) {
    .desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel="3"] .t02-story-slider__cta { margin-top: 11px; }
}
@media (max-width: 1023px) {
    .desantis-residential-roofing .t03-service-page .t02-story-slider__tab[data-story-tab] .t02-story-slider__tab-title {
        position: absolute;
        left: 11px;
        width: calc(100% - 22px);
    }
    .desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] {
        top: auto;
        bottom: 100px;
        left: 20px;
        width: calc(100% - 40px);
        height: auto;
    }
    .desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] .t02-story-slider__category,
    .desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] h3 {
        width: 100%;
        margin: 0 0 12px;
    }
    .desantis-residential-roofing .t03-service-page .t02-story-slider__panel[data-story-panel] .t02-story-slider__body { width: 100%; margin: 0; }
}

/* The leak-repair heading is longer than the inherited fixed-width highlight. */
.desantis-homepage .t03-roof-leak-repair .t02-s02 h2 > span {
    width: max-content;
    max-width: 100%;
    height: auto;
}
.desantis-homepage .t03-roof-leak-repair .t02-s02 h2 > span:last-child {
    width: max-content;
    max-width: 100%;
    height: auto;
    padding-inline: 14px;
}

/* Roof Repair's approved geographic H1 must wrap within the mobile hero. */
@media (max-width: 680px) {
    .desantis-homepage .t03-roof-repair .residential-hero__title-highlight {
        max-width: 100%;
        white-space: normal;
    }
    .desantis-homepage .t03-roof-repair .residential-hero__title-highlight > span {
        width: auto;
        max-width: 100%;
        white-space: normal;
    }
}

/* Keep the unified commercial submit CTA readable within the existing card. */
.commercial-t03-lead-form .residential-lead-form__button--submit {
 font-size: 13px;
 line-height: 17px;
 white-space: normal;
 padding-inline: 10px;
}

/* Commercial Repair I053: keep failed seam visible in the mobile story crop. */
@media (max-width: 680px) {
    body.page-id-569 .t03-service-page .t02-story-slider__visual[data-story-visual="1"] img { object-position: 35% center; }
}

/* Batch A only: center approved photo subjects in narrow mobile crops. */
@media(max-width:680px){body:is(.page-id-153,.page-id-628,.page-id-158) .t03-service-page .t02-story-slider__visual img{object-position:50% center;}}
/* I371: top-focused cover; retain ceiling drip below responsive tab controls. */
body.page-id-158 .t03-service-page .t02-story-slider__visual[data-story-visual="2"] img{object-fit:cover;object-position:50% 0%;}
@media(max-width:1279px){body.page-id-158 .t03-service-page .t02-story-slider__visual[data-story-visual="2"] img{transform:scale(1.4);transform-origin:50% 0%;}}

/* Roof Replacement only: I340 lower focal crop retains staged materials. */
body.page-id-8 .t03-service-page .t02-story-slider__visual[data-story-visual="3"] img{object-position:50% 100%;}
@media(max-width:680px){body.page-id-8 .t03-service-page .t02-story-slider__visual[data-story-visual="3"] img{object-position:70% 100%;transform:scale(1.7);transform-origin:70% 100%;}}

/* Commercial22 accepted targets only: retain centered subjects in mobile cover crops. */
@media(max-width:680px){body:is(.page-id-565,.page-id-573) .t03-service-page .t02-story-slider__visual img,body.page-id-561 .t03-service-page .t02-story-slider__visual:is([data-story-visual="0"],[data-story-visual="1"]) img{object-position:50% center;}}

/* Commercial22 mobile focal corrections: access hatch and complete TPO drain. */
@media(max-width:680px){
body.page-id-565 .t03-service-page .t02-story-slider__visual[data-story-visual="3"] img{object-position:20% center;}
body.page-id-561 .t03-service-page .t02-story-slider__visual[data-story-visual="0"] img{object-position:85% center;}
}
