/*
 * Pressure Tech homepage experience 1.9.0
 *
 * This stylesheet is intentionally isolated to the managed home route and the
 * v1.8.0 main marker. Shared route styles remain the source of truth elsewhere.
 */

body.ptx-route-home .ptx-home-v180 {
    --ptxh-navy-950: #071a2b;
    --ptxh-navy-900: #0c2941;
    --ptxh-navy-800: #123b59;
    --ptxh-gold-500: #f2b947;
    --ptxh-gold-600: #dea52f;
    --ptxh-warm-100: #f5f1e9;
    --ptxh-cool-100: #edf4f7;
    --ptxh-white: #ffffff;
    --ptxh-ink: #0b1f30;
    --ptxh-muted: #526273;
    --ptxh-teal: #26766b;
    --ptxh-line: rgba(11, 31, 48, .15);
    --ptxh-shell: 1240px;
    --ptxh-radius-sm: 8px;
    --ptxh-radius-md: 14px;
    --ptxh-radius-lg: 22px;
    --ptxh-shadow-card: 0 16px 38px rgba(7, 26, 43, .1);
    --ptxh-shadow-photo: 0 34px 80px rgba(0, 0, 0, .34);
    --ptxh-spring: cubic-bezier(.2, 1.45, .38, 1);
    --ptxh-settle: cubic-bezier(.22, 1, .36, 1);
    width: 100%;
    overflow-x: clip;
    background: var(--ptxh-white);
    color: var(--ptxh-ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    line-height: 1.6;
}

body.ptx-route-home .ptx-home-v180,
body.ptx-route-home .ptx-home-v180 *,
body.ptx-route-home .ptx-home-v180 *::before,
body.ptx-route-home .ptx-home-v180 *::after {
    box-sizing: border-box;
}

body.ptx-route-home .ptx-home-v180 .ptx-shell {
    width: min(var(--ptxh-shell), calc(100% - 48px));
    margin-inline: auto;
}

body.ptx-route-home .ptx-home-v180 [id] {
    scroll-margin-top: 98px;
}

body.ptx-route-home .ptx-home-v180 img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
}

body.ptx-route-home .ptx-home-v180 picture {
    display: block;
    max-width: 100%;
}

body.ptx-route-home .ptx-home-v180 a {
    color: inherit;
}

body.ptx-route-home .ptx-home-v180 a:focus-visible,
body.ptx-route-home .ptx-home-v180 button:focus-visible,
body.ptx-route-home .ptx-home-v180 summary:focus-visible,
body.ptx-route-home .ptx-site-header a:focus-visible,
body.ptx-route-home .ptx-site-header button:focus-visible,
body.ptx-route-home .ptx-site-header summary:focus-visible,
body.ptx-route-home .ptx-site-footer a:focus-visible,
body.ptx-route-home .ptx-site-footer button:focus-visible,
body.ptx-route-home .ptx-site-footer summary:focus-visible,
body.ptx-route-home .ptx-mobile-actions a:focus-visible {
    outline: 3px solid #ffffff !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px #26766b !important;
}

body.ptx-route-home .ptx-home-v180 .ptx-kicker {
    margin: 0 0 18px;
    color: var(--ptxh-teal);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body.ptx-route-home .ptx-home-v180 .ptxh-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr);
    align-items: end;
    gap: 48px;
    margin-bottom: 48px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-section-head h2 {
    max-width: 780px;
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(2.6rem, 4.3vw, 4.15rem);
    font-weight: 830;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-section-head > p {
    max-width: 520px;
    margin: 0;
    color: var(--ptxh-muted);
    font-size: 1.08rem;
    line-height: 1.65;
}

body.ptx-route-home .ptx-home-v180 .ptx-button {
    min-height: 50px;
    padding: 13px 23px;
    border-radius: var(--ptxh-radius-sm);
    font-size: .91rem;
    font-weight: 850;
    letter-spacing: -.01em;
}

body.ptx-route-home .ptx-home-v180 .ptx-button-primary {
    border-color: var(--ptxh-gold-500);
    background: var(--ptxh-gold-500);
    color: var(--ptxh-ink) !important;
    box-shadow: 0 10px 30px rgba(242, 185, 71, .19);
}

body.ptx-route-home .ptx-home-v180 .ptx-button-secondary {
    border-color: rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .05);
    color: var(--ptxh-white) !important;
}

body.ptx-route-home .ptx-home-v180 .ptx-text-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-block: 8px;
    gap: 9px;
    color: currentColor !important;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.25;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
}

/* Compact, homepage-only shared header treatment. */
body.ptx-route-home .ptx-site-header {
    border-bottom-color: rgba(7, 26, 43, .11);
    background: rgba(255, 255, 255, .97);
    box-shadow: none;
}

body.ptx-route-home .ptx-site-header.is-scrolled {
    box-shadow: 0 8px 28px rgba(7, 26, 43, .08);
}

body.ptx-route-home .ptx-site-header .ptx-header-inner {
    width: min(1240px, calc(100% - 40px));
    min-height: 70px;
    gap: 22px;
}

body.ptx-route-home .ptx-site-header .ptx-brand {
    min-width: 148px;
    margin-right: auto;
}

body.ptx-route-home .ptx-site-header .ptx-brand-copy {
    display: none;
}

body.ptx-route-home .ptx-site-header .ptx-brand-logo img {
    max-width: 132px;
    max-height: 46px;
}

body.ptx-route-home .ptx-site-header .ptx-primary-nav {
    gap: 5px;
    font-size: .79rem;
}

body.ptx-route-home .ptx-site-header .ptx-primary-nav > a,
body.ptx-route-home .ptx-site-header .ptx-nav-dropdown > summary {
    min-height: 44px;
    padding-inline: 10px;
}

body.ptx-route-home .ptx-site-header .ptx-primary-nav > a[href$="/about/"],
body.ptx-route-home .ptx-site-header .ptx-primary-nav > a[href$="/contact/"] {
    display: none;
}

body.ptx-route-home .ptx-site-header .ptx-primary-nav .ptx-nav-call,
body.ptx-route-home .ptx-site-header .ptx-primary-nav .ptx-nav-estimate {
    padding-inline: 16px;
    border-radius: 8px;
}

body.ptx-route-home .ptx-site-header .ptx-primary-nav .ptx-nav-estimate {
    background: #f2b947;
    color: #071a2b !important;
    box-shadow: 0 8px 20px rgba(242, 185, 71, .17);
}

/* Hero: rating and both calls to action stay in the first visual decision. */
body.ptx-route-home .ptx-home-v180 .ptxh-hero {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0;
    background: var(--ptxh-navy-950);
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__glow {
    position: absolute;
    right: -12%;
    bottom: -38%;
    display: block;
    width: 70%;
    height: 590px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(58, 118, 155, .44), rgba(58, 118, 155, 0) 69%);
    pointer-events: none;
    transform: translate3d(0, var(--ptxh-hero-glow-shift, 0), 0);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
    align-items: center;
    min-height: 690px;
    padding-block: 74px 82px;
    gap: 68px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__copy {
    min-width: 0;
    padding-block: 24px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero .ptx-kicker {
    color: var(--ptxh-gold-500);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
    max-width: 790px;
    margin: 0;
    color: var(--ptxh-white);
    font-size: clamp(3.35rem, 5.25vw, 4.9rem);
    font-weight: 830;
    line-height: .96;
    letter-spacing: -.058em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__lede {
    max-width: 690px;
    margin: 27px 0 0;
    color: #d9e4ec;
    font-size: 1.16rem;
    line-height: 1.63;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero .ptx-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__rating {
    display: flex;
    align-items: center;
    width: fit-content;
    min-height: 44px;
    margin-top: 25px;
    gap: 15px;
    color: #d9e4ec !important;
    font-size: .79rem;
    line-height: 1.45;
    text-decoration: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__rating > span:first-child {
    color: var(--ptxh-gold-500);
    font-size: .95rem;
    letter-spacing: .11em;
    white-space: nowrap;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__rating strong {
    display: block;
    color: var(--ptxh-white);
    font-size: 1.08rem;
    line-height: 1.15;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
    position: relative;
    min-width: 0;
    height: 565px;
    margin-right: 12px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame {
    position: absolute;
    inset: 28px -22px -20px 34px;
    display: block;
    border-radius: var(--ptxh-radius-lg);
    background: var(--ptxh-gold-500);
    transform: translate3d(0, var(--ptxh-hero-frame-shift, 0), 0);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture {
    position: absolute;
    z-index: 1;
    inset: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: var(--ptxh-radius-lg);
    box-shadow: var(--ptxh-shadow-photo);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture img {
    object-position: 51% 48%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-photo-note {
    position: absolute;
    z-index: 2;
    right: auto;
    bottom: 18px;
    left: 18px;
    min-width: 255px;
    max-width: calc(100% - 36px);
    margin: 0;
    padding: 12px 14px;
    border-radius: 8px;
    background: rgba(7, 26, 43, .9);
    color: var(--ptxh-white);
    font-size: .66rem;
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

/* Fast proof: four facts desktop, a compact 2 x 2 grid on phones. */
body.ptx-route-home .ptx-home-v180 .ptxh-proof {
    border-bottom: 1px solid var(--ptxh-line);
    background: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1.45fr 1.2fr;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    min-height: 126px;
    padding: 24px;
    border-right: 1px solid var(--ptxh-line);
    color: var(--ptxh-ink) !important;
    text-decoration: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:first-child {
    padding-left: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:last-child {
    padding-right: 0;
    border-right: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item strong {
    font-size: 1.03rem;
    font-weight: 850;
    line-height: 1.18;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item span {
    margin-top: 7px;
    color: var(--ptxh-muted);
    font-size: .68rem;
    font-weight: 720;
    line-height: 1.45;
    letter-spacing: .085em;
    text-transform: uppercase;
}

/* Services: editorial image mosaic instead of five repeated cards. */
body.ptx-route-home .ptx-home-v180 .ptxh-services {
    padding: 112px 0;
    background: var(--ptxh-warm-100);
}

body.ptx-route-home .ptx-home-v180 .ptxh-service-mosaic {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 280px 280px 260px;
    gap: 18px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--ptxh-radius-md);
    background: var(--ptxh-navy-900);
    box-shadow: var(--ptxh-shadow-card);
    color: var(--ptxh-white) !important;
    text-decoration: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 16, 28, .94), rgba(4, 16, 28, .12) 64%);
    content: "";
    pointer-events: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service__picture {
    position: absolute;
    inset: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service__picture img {
    transition: transform .3s ease;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service__content {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 22px;
    left: 24px;
    display: grid;
    align-content: end;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service__content h3 {
    margin: 0;
    color: var(--ptxh-white);
    font-size: 1.43rem;
    font-weight: 830;
    line-height: 1.1;
    letter-spacing: -.03em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service__content > span {
    max-width: 470px;
    margin-top: 8px;
    color: #dce5ec;
    font-size: .8rem;
    line-height: 1.45;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service__content b {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 32px;
    margin-top: 9px;
    color: var(--ptxh-gold-500);
    font-size: .72rem;
    line-height: 1.3;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service--house {
    grid-column: 1 / span 7;
    grid-row: 1 / span 2;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service--roof {
    grid-column: 8 / span 5;
    grid-row: 1;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service--gutter {
    grid-column: 8 / span 5;
    grid-row: 2;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service--concrete {
    grid-column: 1 / span 6;
    grid-row: 3;
}

body.ptx-route-home .ptx-home-v180 .ptxh-service--deck {
    grid-column: 7 / span 6;
    grid-row: 3;
}

body.ptx-route-home .ptx-home-v180 .ptxh-services__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid var(--ptxh-line);
    gap: 24px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-services__foot p {
    margin: 0;
    color: var(--ptxh-muted);
}

/* Results: both matched photographs remain visible without JavaScript. */
body.ptx-route-home .ptx-home-v180 .ptxh-results {
    padding: 112px 0;
    background: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-result-list {
    display: grid;
    gap: 26px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: center;
    padding: 20px;
    border: 1px solid var(--ptxh-line);
    border-radius: var(--ptxh-radius-lg);
    gap: 34px;
    background: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__copy {
    min-width: 0;
    padding-left: 12px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__copy .ptx-kicker {
    margin-bottom: 13px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__copy h3 {
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(1.8rem, 2.7vw, 2.1rem);
    font-weight: 830;
    line-height: 1;
    letter-spacing: -.045em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__copy > p:last-child {
    margin: 13px 0 0;
    color: var(--ptxh-muted);
    font-size: .9rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__visual {
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 370px;
    overflow: hidden;
    border-radius: var(--ptxh-radius-md);
    background: var(--ptxh-cool-100);
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison:has(figure[hidden]) {
    grid-template-columns: 1fr;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison figure {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison figure[hidden] {
    display: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison figure + figure {
    border-left: 3px solid var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison figure[hidden] + figure {
    border-left: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison figcaption {
    position: absolute;
    right: auto;
    bottom: 14px;
    left: 14px;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(7, 26, 43, .94);
    color: var(--ptxh-white);
    font-size: .63rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/*
 * The first authentic comparison becomes an on-image wash reveal only after
 * successful desktop enhancement. Server-rendered and reduced-motion states
 * retain the fully visible side-by-side pair.
 */
body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable {
    --ptxh-scrub: 50%;
    position: relative;
    display: block;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable figure {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable figure picture,
body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable figure img {
    display: block;
    width: 100%;
    height: 100%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable figure img {
    object-fit: cover;
    object-position: 50% 50%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable [data-ptxh-figure="before"] {
    z-index: 1;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable [data-ptxh-figure="after"] {
    z-index: 2;
    clip-path: inset(0 calc(100% - var(--ptxh-scrub)) 0 0);
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable [data-ptxh-figure="before"] figcaption {
    right: 14px;
    left: auto;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbable [data-ptxh-figure="after"] figcaption {
    right: auto;
    left: 14px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__ui[hidden],
body.ptx-route-home .ptx-home-v180 .ptxh-scrub__hint[hidden] {
    display: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__ui {
    position: absolute;
    z-index: 4;
    inset: 0;
    cursor: ew-resize;
    touch-action: pan-y;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 0;
    width: 100%;
    height: 56px;
    margin: 0;
    padding: 0;
    appearance: none;
    border: 0;
    outline: 0;
    background: transparent;
    cursor: ew-resize;
    touch-action: pan-y;
    transform: translateY(-50%);
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range::-webkit-slider-runnable-track {
    height: 56px;
    background: transparent;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range::-webkit-slider-thumb {
    width: 56px;
    height: 56px;
    appearance: none;
    border: 0;
    background: transparent;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range::-moz-range-track {
    height: 56px;
    border: 0;
    background: transparent;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range::-moz-range-thumb {
    width: 56px;
    height: 56px;
    border: 0;
    background: transparent;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: clamp(28px, var(--ptxh-scrub), calc(100% - 28px));
    width: 2px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 0 0 1px rgba(7, 26, 43, .3), 0 0 22px rgba(255, 255, 255, .38);
    pointer-events: none;
    transform: translateX(-1px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__wand {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 2px solid var(--ptxh-white);
    border-radius: 50%;
    background: var(--ptxh-navy-950);
    color: var(--ptxh-white);
    box-shadow: 0 8px 24px rgba(7, 26, 43, .3);
    transform: translate(-50%, -50%);
    transition: background-color 220ms ease, box-shadow 220ms ease, transform 360ms var(--ptxh-spring);
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__wand svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3.3;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__spray {
    position: absolute;
    top: 50%;
    left: 18px;
    width: 32px;
    height: 30px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0));
    clip-path: polygon(0 43%, 100% 0, 100% 100%, 0 57%);
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, .7));
    transform: translateY(-50%);
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__range:focus-visible + .ptxh-scrub__divider .ptxh-scrub__wand {
    background: var(--ptxh-teal);
    box-shadow: 0 0 0 4px var(--ptxh-white), 0 0 0 7px var(--ptxh-teal), 0 10px 26px rgba(7, 26, 43, .3);
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison.is-scrubbing .ptxh-scrub__wand {
    background: var(--ptxh-teal);
    transform: translate(-50%, -50%) scale(1.025);
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__hint {
    display: flex;
    align-items: center;
    margin: 12px 0 0;
    gap: 9px;
    color: var(--ptxh-muted);
    font-size: .76rem;
    font-weight: 780;
    line-height: 1.45;
}

body.ptx-route-home .ptx-home-v180 .ptxh-scrub__hint > span {
    display: grid;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--ptxh-gold-500);
    color: var(--ptxh-ink);
}

body.ptx-route-home .ptx-home-v180 .ptxh-result--wash-reveal .ptxh-comparison__controls {
    justify-content: flex-end;
    margin-top: 9px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls[hidden] {
    display: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
    gap: 7px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button {
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid var(--ptxh-line);
    border-radius: 8px;
    background: var(--ptxh-white);
    color: var(--ptxh-ink);
    font: inherit;
    font-size: .77rem;
    font-weight: 830;
    line-height: 1.2;
    cursor: pointer;
}

body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button[aria-pressed="true"] {
    border-color: var(--ptxh-navy-900);
    background: var(--ptxh-navy-900);
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-results__link {
    margin-top: 24px;
}

/* Trust principles: one editorial statement plus four specific proof themes. */
body.ptx-route-home .ptx-home-v180 .ptxh-trust {
    padding: 112px 0;
    background: var(--ptxh-cool-100);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__layout {
    display: grid;
    grid-template-columns: minmax(310px, 4fr) minmax(0, 8fr);
    align-items: stretch;
    gap: 68px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 470px;
    padding: 42px;
    border-radius: var(--ptxh-radius-lg);
    background: var(--ptxh-navy-950);
    box-shadow: 0 24px 55px rgba(7, 26, 43, .16);
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel .ptx-kicker {
    color: var(--ptxh-gold-500);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel h2 {
    max-width: 350px;
    margin: 0;
    color: var(--ptxh-white);
    font-size: clamp(2.65rem, 4vw, 3.15rem);
    font-weight: 830;
    line-height: .98;
    letter-spacing: -.05em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel p {
    color: #cbd9e3;
    line-height: 1.6;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel .ptx-text-link {
    color: var(--ptxh-gold-500) !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__main {
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__main > h2 {
    max-width: 780px;
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(2.9rem, 4.5vw, 3.65rem);
    font-weight: 830;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__intro {
    max-width: 650px;
    margin: 24px 0 40px;
    color: var(--ptxh-muted);
    font-size: 1.04rem;
    line-height: 1.62;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--ptxh-line);
    border-left: 1px solid var(--ptxh-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__point {
    min-height: 170px;
    padding: 24px;
    border-right: 1px solid var(--ptxh-line);
    border-bottom: 1px solid var(--ptxh-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__point > span {
    color: var(--ptxh-teal);
    font-size: .74rem;
    font-weight: 900;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__point h3 {
    margin: 30px 0 9px;
    color: var(--ptxh-ink);
    font-size: 1.17rem;
    font-weight: 830;
    line-height: 1.2;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__point p {
    margin: 0;
    color: var(--ptxh-muted);
    font-size: .86rem;
    line-height: 1.5;
}

/* Process: a complete static timeline first, upgraded to one desktop pin. */
body.ptx-route-home .ptx-home-v180 .ptxh-process {
    --ptxh-story-progress: 0;
    --ptxh-story-progress-percent: 0%;
    padding: 112px 0;
    overflow: clip;
    background:
        radial-gradient(circle at 16% 78%, rgba(38, 118, 107, .1), transparent 28%),
        var(--ptxh-warm-100);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__sticky,
body.ptx-route-home .ptx-home-v180 .ptxh-process__head {
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__head {
    max-width: 790px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__head h2 {
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(2.8rem, 4.7vw, 3.8rem);
    font-weight: 830;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__head > p:last-child {
    margin: 22px 0 0;
    color: var(--ptxh-muted);
    font-size: 1.08rem;
    line-height: 1.62;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__visual {
    position: relative;
    height: 320px;
    margin-top: 42px;
    overflow: hidden;
    isolation: isolate;
    border-radius: var(--ptxh-radius-lg);
    background: var(--ptxh-navy-950);
    box-shadow: 0 24px 60px rgba(7, 26, 43, .18);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__gradient {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    background:
        radial-gradient(circle at 18% 80%, rgba(38, 150, 148, .72), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(80, 144, 183, .58), transparent 32%),
        linear-gradient(135deg, rgba(7, 26, 43, .2), rgba(7, 26, 43, .86));
    background-position: 0% 50%;
    background-size: 150% 150%;
    pointer-events: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__media,
body.ptx-route-home .ptx-home-v180 .ptxh-process__media-layer,
body.ptx-route-home .ptx-home-v180 .ptxh-process__picture {
    position: absolute;
    inset: 0;
    margin: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__media-layer {
    opacity: 0;
    transform: scale(1.015);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__media-layer:first-child {
    opacity: .72;
    transform: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__picture img {
    filter: saturate(.78) contrast(1.02);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram {
    position: absolute;
    z-index: 3;
    right: 22px;
    bottom: 18px;
    left: 22px;
    width: calc(100% - 44px);
    height: calc(100% - 36px);
    overflow: visible;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-track,
body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-line {
    fill: none;
    stroke-linecap: round;
    stroke-width: 6;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-track {
    stroke: rgba(255, 255, 255, .26);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-line {
    stroke: var(--ptxh-gold-500);
    filter: drop-shadow(0 0 7px rgba(242, 185, 71, .35));
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-node circle {
    fill: var(--ptxh-navy-900);
    stroke: var(--ptxh-gold-500);
    stroke-width: 3;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-node text {
    fill: var(--ptxh-white);
    font-size: 13px;
    font-weight: 900;
    text-anchor: middle;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 58px 0 0;
    padding: 0;
    gap: 32px;
    list-style: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__steps::before {
    position: absolute;
    top: 17px;
    right: 15px;
    left: 15px;
    height: 1px;
    background: #b7c6ce;
    content: "";
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__step {
    position: relative;
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__number {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid transparent;
    border-radius: 50%;
    background: var(--ptxh-gold-500);
    color: var(--ptxh-ink);
    font-size: .73rem;
    font-weight: 900;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__step h3 {
    margin: 25px 0 9px;
    color: var(--ptxh-ink);
    font-size: 1.08rem;
    font-weight: 830;
    line-height: 1.28;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process__step p {
    margin: 0;
    color: var(--ptxh-muted);
    font-size: .86rem;
    line-height: 1.56;
}

/* Owner proof: specific attribution, no invented credentials. */
body.ptx-route-home .ptx-home-v180 .ptxh-owner {
    padding: 112px 0;
    background: var(--ptxh-navy-950);
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__grid {
    display: grid;
    grid-template-columns: minmax(350px, 5fr) minmax(0, 7fr);
    align-items: center;
    gap: 72px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo {
    position: relative;
    height: 650px;
    margin: 0;
    overflow: hidden;
    border-radius: var(--ptxh-radius-lg);
    background: #dfe6e9;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo img {
    object-position: 50% 34%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo figcaption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    padding: 15px 17px;
    border-radius: 8px;
    background: rgba(7, 26, 43, .92);
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo figcaption strong,
body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo figcaption span {
    display: block;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo figcaption span {
    margin-top: 4px;
    color: #cbd9e3;
    font-size: .8rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy {
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy .ptx-kicker {
    color: var(--ptxh-gold-500);
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy h2 {
    max-width: 650px;
    margin: 0;
    color: var(--ptxh-white);
    font-size: clamp(3.2rem, 5.1vw, 4.15rem);
    font-weight: 830;
    line-height: .96;
    letter-spacing: -.058em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy > p {
    max-width: 660px;
    margin: 24px 0 0;
    color: #cbd9e3;
    font-size: 1.04rem;
    line-height: 1.65;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__points {
    margin: 32px 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__points > p {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    margin: 0;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    gap: 28px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__points strong,
body.ptx-route-home .ptx-home-v180 .ptxh-owner__points span {
    display: block;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__points strong {
    color: var(--ptxh-white);
    font-size: .9rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__points span {
    color: #aebfcb;
    font-size: .85rem;
    line-height: 1.5;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy .ptx-text-link {
    color: var(--ptxh-gold-500) !important;
}

/* Reviews: excerpts remain tied to their published source. */
body.ptx-route-home .ptx-home-v180 .ptxh-reviews {
    padding: 112px 0;
    background: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-reviews__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 36px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-reviews__head h2 {
    max-width: 740px;
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(2.8rem, 4.7vw, 3.9rem);
    font-weight: 830;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-rating {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 15px 19px;
    border: 1px solid var(--ptxh-line);
    border-radius: var(--ptxh-radius-md);
    color: var(--ptxh-ink) !important;
    text-decoration: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-rating strong {
    display: block;
    font-size: 1.32rem;
    line-height: 1.15;
}

body.ptx-route-home .ptx-home-v180 .ptxh-rating strong span {
    color: var(--ptxh-gold-600);
    font-size: .88rem;
    letter-spacing: .08em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-rating > span {
    display: block;
    margin-top: 5px;
    color: var(--ptxh-muted);
    font-size: .7rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 280px;
    padding: 30px;
    border: 1px solid var(--ptxh-line);
    border-radius: var(--ptxh-radius-md);
    background: var(--ptxh-cool-100);
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-card__stars {
    color: var(--ptxh-gold-600);
    font-size: .78rem;
    letter-spacing: .1em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-card blockquote {
    margin: 29px 0;
    color: var(--ptxh-ink);
    font-size: clamp(1.2rem, 2vw, 1.44rem);
    font-weight: 820;
    line-height: 1.28;
    letter-spacing: -.025em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-card footer {
    margin-top: auto;
    color: var(--ptxh-ink);
    font-size: .8rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-card footer span {
    display: block;
    margin-top: 5px;
    color: var(--ptxh-muted);
}

body.ptx-route-home .ptx-home-v180 .ptxh-reviews__link {
    margin-top: 22px;
}

/* Coverage: the exact service-area phrase is the central statement. */
body.ptx-route-home .ptx-home-v180 .ptxh-coverage {
    padding: 90px 0;
    background: var(--ptxh-gold-500);
    color: var(--ptxh-ink);
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__grid {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(290px, 4fr);
    align-items: center;
    gap: 72px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage .ptx-kicker {
    color: #17394f;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage h2 {
    max-width: 900px;
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(3.2rem, 5.25vw, 4.3rem);
    font-weight: 840;
    line-height: .95;
    letter-spacing: -.06em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__grid > div > p:last-child {
    max-width: 640px;
    margin: 19px 0 0;
    line-height: 1.62;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note {
    padding: 30px;
    border: 1px solid rgba(7, 26, 43, .27);
    border-radius: var(--ptxh-radius-md);
    background: rgba(255, 255, 255, .34);
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note strong,
body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note span {
    display: block;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note strong {
    font-size: 1.28rem;
    line-height: 1.2;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note span {
    margin-top: 10px;
    line-height: 1.55;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note .ptx-text-link {
    margin-top: 14px;
}

/* FAQ: native details/summary, with generous touch targets. */
body.ptx-route-home .ptx-home-v180 .ptxh-faq {
    padding: 112px 0;
    background: var(--ptxh-warm-100);
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__grid {
    display: grid;
    grid-template-columns: minmax(290px, 4fr) minmax(0, 8fr);
    align-items: start;
    gap: 72px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__grid > div:first-child {
    position: sticky;
    top: 104px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq h2 {
    max-width: 500px;
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(2.7rem, 4.5vw, 3.65rem);
    font-weight: 830;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__grid > div:first-child > p:last-child {
    max-width: 430px;
    margin: 22px 0 0;
    color: var(--ptxh-muted);
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list {
    border-top: 1px solid var(--ptxh-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list details {
    border-bottom: 1px solid var(--ptxh-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 10px 0;
    gap: 18px;
    color: var(--ptxh-ink);
    font-size: .97rem;
    font-weight: 820;
    line-height: 1.35;
    list-style: none;
    cursor: pointer;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary::-webkit-details-marker {
    display: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary > span {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--ptxh-line);
    border-radius: 50%;
    color: var(--ptxh-navy-900);
    font-size: 1.15rem;
    line-height: 1;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list details[open] summary > span {
    transform: rotate(45deg);
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list details > div {
    padding: 0 50px 24px 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list details p {
    max-width: 760px;
    margin: 0;
    color: var(--ptxh-muted);
    line-height: 1.65;
}

/* Final action: short, high-contrast, and consistent with the hero. */
body.ptx-route-home .ptx-home-v180 .ptxh-final {
    padding: 94px 0;
    background: linear-gradient(110deg, var(--ptxh-navy-950), var(--ptxh-navy-800));
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-final__grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(310px, 5fr);
    align-items: end;
    gap: 72px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-final .ptx-kicker {
    color: var(--ptxh-gold-500);
}

body.ptx-route-home .ptx-home-v180 .ptxh-final h2 {
    max-width: 780px;
    margin: 0;
    color: var(--ptxh-white);
    font-size: clamp(3.2rem, 5.2vw, 4.3rem);
    font-weight: 830;
    line-height: .95;
    letter-spacing: -.06em;
    text-wrap: balance;
}

body.ptx-route-home .ptx-home-v180 .ptxh-final__copy > p:last-child {
    max-width: 640px;
    margin: 22px 0 0;
    color: #cbd9e3;
    font-size: 1.04rem;
    line-height: 1.62;
}

body.ptx-route-home .ptx-home-v180 .ptxh-final .ptx-actions {
    justify-content: flex-end;
    margin: 0;
}

/* Homepage-only refinement of the shared footer. */
body.ptx-route-home .ptx-site-footer {
    padding: 58px 0 22px;
    background: #04111f;
    color: #c8d5df;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-grid,
body.ptx-route-home .ptx-site-footer .ptx-footer-legal {
    width: min(1240px, calc(100% - 48px));
}

body.ptx-route-home .ptx-site-footer .ptx-footer-grid {
    grid-template-columns: minmax(260px, 1.7fr) repeat(2, minmax(140px, .72fr)) minmax(220px, 1fr);
    gap: 44px;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-brand > picture {
    width: 150px;
    margin-bottom: 20px;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-brand h2 {
    max-width: 360px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.85rem, 2.8vw, 2.25rem);
    line-height: 1.04;
    letter-spacing: -.04em;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-brand p:not(.ptx-footer-kicker),
body.ptx-route-home .ptx-site-footer .ptx-footer-contact p {
    color: #aebdca;
}

body.ptx-route-home .ptx-site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-grid nav a,
body.ptx-route-home .ptx-site-footer .ptx-footer-contact > a:not(.ptx-footer-estimate) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #dce8f1 !important;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-estimate {
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f2b947;
    color: #071a2b !important;
}

body.ptx-route-home .ptx-site-footer .ptx-footer-legal {
    margin-top: 44px;
}

/*
 * Desktop motion is progressive enhancement. Copy and actions remain fully
 * visible; JavaScript only arms finite photographic and transform states after
 * confirming a fine pointer and no reduced-motion request.
 */
@keyframes ptxh-v190-hero-crop {
    from {
        clip-path: inset(0 18% 0 0 round var(--ptxh-radius-lg));
        transform: translate3d(10px, var(--ptxh-hero-photo-shift, 0), 0) scale(.99);
    }
    to {
        clip-path: inset(0 round var(--ptxh-radius-lg));
        transform: translate3d(0, var(--ptxh-hero-photo-shift, 0), 0);
    }
}

@keyframes ptxh-v190-image-settle {
    from {
        transform: scale(1.04);
    }
    to {
        transform: scale(1.015);
    }
}

@keyframes ptxh-v190-faq-answer {
    from { transform: translate3d(0, 6px, 0); }
    to { transform: none; }
}

@media (min-width: 901px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture {
        transform: translate3d(0, var(--ptxh-hero-photo-shift, 0), 0);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture img {
        transform: scale(1.015);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready:not(.ptxh-hero-motion-settled) .ptxh-hero__picture {
        animation: ptxh-v190-hero-crop 600ms var(--ptxh-settle) both;
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready:not(.ptxh-hero-motion-settled) .ptxh-hero__picture img {
        animation: ptxh-v190-image-settle 650ms var(--ptxh-settle) both;
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready.ptxh-hero-motion-settled .ptxh-hero__picture {
        clip-path: inset(0 round var(--ptxh-radius-lg));
        transform: translate3d(0, var(--ptxh-hero-photo-shift, 0), 0);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-motion-item {
        opacity: 1;
        transform: none;
        transition: transform 440ms cubic-bezier(.22, 1, .36, 1);
        transition-delay: var(--ptxh-motion-delay, 0ms);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-motion-mask {
        clip-path: inset(0);
        transition-property: transform, clip-path;
        transition-duration: 440ms;
        transition-timing-function: cubic-bezier(.22, 1, .36, 1);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready.ptxh-motion-arming .ptxh-motion-item,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready.ptxh-motion-arming .ptxh-motion-item *,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready.ptxh-motion-arming .ptxh-motion-item::before,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready.ptxh-motion-arming .ptxh-motion-item::after,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready.ptxh-motion-arming .ptxh-motion-group::before {
        transition: none !important;
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-motion-pending {
        transform: translate3d(0, 18px, 0) scale(.995);
        will-change: transform;
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-service__picture.ptxh-motion-pending {
        clip-path: inset(0 0 18% 0);
        transform: scale(1.018);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-result:nth-child(odd) .ptxh-result__copy.ptxh-motion-pending,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-trust__panel.ptxh-motion-pending,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-owner__photo.ptxh-motion-pending {
        transform: translate3d(-12px, 0, 0) scale(.995);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-result:nth-child(odd) .ptxh-result__visual.ptxh-motion-pending,
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-result:nth-child(even) .ptxh-result__copy.ptxh-motion-pending {
        transform: translate3d(12px, 0, 0) scale(.995);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-result:nth-child(even) .ptxh-result__visual.ptxh-motion-pending {
        transform: translate3d(-12px, 0, 0) scale(.995);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-result__visual.ptxh-motion-pending {
        clip-path: inset(0 12% 0 0);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-owner__photo.ptxh-motion-pending {
        clip-path: inset(0 0 16% 0);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready [data-ptxh-choreo-role="type"].ptxh-motion-pending {
        transform: translate3d(0, 10px, 0);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__steps::before {
        transform: scaleX(1);
        transform-origin: left center;
        transition: transform 450ms cubic-bezier(.22, 1, .36, 1);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-process__steps.ptxh-motion-group-pending::before {
        transform: scaleX(0);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo img {
        transition: transform 440ms cubic-bezier(.22, 1, .36, 1);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-owner__photo.ptxh-motion-pending img {
        transform: scale(1.03);
    }

    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-faq__list details[open] > div {
        animation: ptxh-v190-faq-answer 260ms var(--ptxh-spring) both;
    }
}

/* The process is the only pinned story. Natural document scroll remains intact. */
@media (min-width: 1100px) and (min-height: 700px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready {
        padding: 118px 0 138px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__layout {
        display: grid;
        grid-template-columns: minmax(430px, 5fr) minmax(500px, 7fr);
        align-items: start;
        gap: clamp(62px, 6vw, 92px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__sticky {
        position: sticky;
        top: 92px;
        align-self: start;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__head h2 {
        font-size: clamp(2.75rem, 3.7vw, 3.55rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__head > p:last-child {
        margin-top: 18px;
        font-size: .98rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__visual {
        height: clamp(260px, 33vh, 315px);
        margin-top: 28px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__gradient {
        background-position: var(--ptxh-story-progress-percent, 0%) 50%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__media-layer {
        opacity: var(--ptxh-media-opacity, 0);
        transform: scale(var(--ptxh-media-scale, 1.015));
        will-change: transform, opacity;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__media-layer:first-child {
        opacity: var(--ptxh-media-opacity, 1);
        transform: scale(var(--ptxh-media-scale, 1));
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__diagram-node {
        opacity: calc(.42 + var(--ptxh-node-progress, 0) * .58);
        transform-box: fill-box;
        transform-origin: center;
        scale: calc(.9 + var(--ptxh-node-progress, 0) * .1);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__diagram-node[data-ptxh-node-active="true"] circle {
        fill: var(--ptxh-teal);
        stroke: var(--ptxh-white);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__steps {
        display: block;
        margin: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__steps::before {
        content: none;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step {
        display: grid;
        grid-template-columns: 50px minmax(0, 1fr);
        min-height: clamp(380px, 46vh, 430px);
        align-content: center;
        padding: 28px 26px;
        gap: 20px;
        transform: scale(.985);
        transform-origin: left center;
        transition: transform 360ms var(--ptxh-spring);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step::before {
        position: absolute;
        z-index: -1;
        inset: 10px 0;
        border: 1px solid rgba(11, 31, 48, .11);
        border-radius: 18px;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 12px 34px rgba(7, 26, 43, .04);
        content: "";
        opacity: .22;
        transition: opacity 360ms ease, box-shadow 360ms ease;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step.is-story-active {
        transform: scale(1);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step.is-story-active::before {
        box-shadow: 0 18px 48px rgba(7, 26, 43, .1);
        opacity: 1;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__number {
        width: 50px;
        height: 50px;
        border-color: rgba(11, 31, 48, .15);
        background: var(--ptxh-white);
        transition: transform 360ms var(--ptxh-spring), color 260ms ease, background-color 260ms ease, border-color 260ms ease;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step.is-story-active .ptxh-process__number {
        border-color: var(--ptxh-teal);
        background: var(--ptxh-teal);
        color: var(--ptxh-white);
        transform: scale(1.055);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step h3 {
        margin: 2px 0 8px;
        font-size: 1.3rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process.ptxh-story-ready .ptxh-process__step p {
        max-width: 520px;
        font-size: .94rem;
    }
}

@media (hover: hover) and (pointer: fine) {
    body.ptx-route-home .ptx-site-header {
        transition: box-shadow 240ms ease;
    }

    body.ptx-route-home .ptx-home-v180 .ptx-button,
    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item,
    body.ptx-route-home .ptx-home-v180 .ptxh-rating,
    body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button {
        transition: transform 360ms var(--ptxh-spring), box-shadow 240ms ease, background-color 220ms ease, border-color 220ms ease;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service {
        transition: transform 390ms var(--ptxh-spring), box-shadow 280ms ease;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__picture img {
        transition: transform 420ms var(--ptxh-spring);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__content b span,
    body.ptx-route-home .ptx-home-v180 .ptx-text-link b {
        display: inline-block;
        transition: transform 340ms var(--ptxh-spring);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary > span {
        transition: transform 360ms var(--ptxh-spring), background-color 220ms ease;
    }

    body.ptx-route-home .ptx-home-v180 [data-ptxh-spring][data-ptxh-spring-property="scale"] {
        transition: transform 360ms var(--ptxh-spring), background-color 220ms ease, box-shadow 220ms ease;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary[data-ptxh-spring]:hover,
    body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary[data-ptxh-spring]:focus-visible {
        transform: scale(1.004);
    }

    body.ptx-route-home .ptx-home-v180 .ptx-button:hover,
    body.ptx-route-home .ptx-home-v180 .ptx-button:focus-visible {
        transform: translateY(-2.5px);
    }

    body.ptx-route-home .ptx-home-v180 .ptx-button-primary:hover {
        border-color: var(--ptxh-gold-600);
        background: var(--ptxh-gold-600);
        box-shadow: 0 14px 34px rgba(242, 185, 71, .26);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service:hover,
    body.ptx-route-home .ptx-home-v180 .ptxh-service:focus-visible {
        transform: translateY(-3px);
        box-shadow: 0 24px 52px rgba(7, 26, 43, .2);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service:hover .ptxh-service__picture img,
    body.ptx-route-home .ptx-home-v180 .ptxh-service:focus-visible .ptxh-service__picture img {
        transform: scale(1.035);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service:hover .ptxh-service__content b span,
    body.ptx-route-home .ptx-home-v180 .ptxh-service:focus-visible .ptxh-service__content b span,
    body.ptx-route-home .ptx-home-v180 .ptx-text-link:hover b,
    body.ptx-route-home .ptx-home-v180 .ptx-text-link:focus-visible b {
        transform: translateX(4px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:hover,
    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:focus-visible,
    body.ptx-route-home .ptx-home-v180 .ptxh-rating:hover,
    body.ptx-route-home .ptx-home-v180 .ptxh-rating:focus-visible {
        transform: translateY(-2.5px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:hover strong,
    body.ptx-route-home .ptx-home-v180 .ptxh-rating:hover strong {
        color: var(--ptxh-teal);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button:hover,
    body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button:focus-visible {
        border-color: var(--ptxh-navy-800);
        transform: translateY(-2px);
    }

    body.ptx-route-home .ptx-site-header .ptx-primary-nav .ptx-nav-estimate:hover,
    body.ptx-route-home .ptx-site-footer .ptx-footer-estimate:hover {
        background: #dea52f;
    }
}

@media (max-width: 1120px) {
    body.ptx-route-home .ptx-site-header .ptx-header-inner {
        min-height: 68px;
    }

    body.ptx-route-home .ptx-site-header .ptx-primary-nav > a[href$="/about/"],
    body.ptx-route-home .ptx-site-header .ptx-primary-nav > a[href$="/contact/"] {
        display: inline-flex;
    }

    body.ptx-route-home .ptx-site-header .ptx-primary-nav {
        right: 20px;
        left: 20px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr);
        gap: 42px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
        font-size: clamp(3.05rem, 6vw, 4.25rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel {
        min-height: 340px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__grid {
        gap: 44px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__points > p {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-grid {
        grid-template-columns: 1.25fr 1fr 1fr;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-contact {
        grid-column: 2 / -1;
    }
}

@media (max-width: 900px) {
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 42px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__copy {
        max-width: 760px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
        width: min(100% - 10px, 680px);
        height: min(68vw, 565px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__grid {
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:nth-child(even) {
        border-right: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:nth-child(n+3) {
        border-top: 1px solid var(--ptxh-line);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result {
        grid-template-columns: 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result__copy {
        padding: 6px 8px 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__grid {
        grid-template-columns: 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo {
        width: min(100%, 650px);
        height: min(85vw, 650px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-coverage__grid,
    body.ptx-route-home .ptx-home-v180 .ptxh-faq__grid,
    body.ptx-route-home .ptx-home-v180 .ptxh-final__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-faq__grid > div:first-child {
        position: static;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-final .ptx-actions {
        justify-content: flex-start;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-brand,
    body.ptx-route-home .ptx-site-footer .ptx-footer-contact {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    body.ptx-route-home .ptx-site-header .ptx-header-inner {
        width: calc(100% - 24px);
    }

    body.ptx-route-home .ptx-site-header .ptx-brand {
        min-width: 0;
    }

    body.ptx-route-home .ptx-site-header .ptx-brand-logo img {
        max-width: 104px;
        max-height: 40px;
    }

    body.ptx-route-home .ptx-site-header .ptx-menu-toggle {
        min-width: 74px;
        min-height: 44px;
    }

    body.ptx-route-home .ptx-site-header .ptx-primary-nav {
        right: 12px;
        left: 12px;
    }

    body.ptx-route-home .ptx-home-v180 .ptx-shell {
        width: min(var(--ptxh-shell), calc(100% - 28px));
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-section-head {
        grid-template-columns: 1fr;
        margin-bottom: 30px;
        gap: 18px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-section-head h2 {
        font-size: clamp(2.35rem, 10.6vw, 2.75rem);
        line-height: 1;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-section-head > p {
        font-size: .98rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-services,
    body.ptx-route-home .ptx-home-v180 .ptxh-results,
    body.ptx-route-home .ptx-home-v180 .ptxh-trust,
    body.ptx-route-home .ptx-home-v180 .ptxh-process,
    body.ptx-route-home .ptx-home-v180 .ptxh-owner,
    body.ptx-route-home .ptx-home-v180 .ptxh-reviews,
    body.ptx-route-home .ptx-home-v180 .ptxh-faq {
        padding: 76px 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
        padding-block: 52px 48px;
        gap: 32px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__copy {
        padding: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
        font-size: clamp(2.5rem, 11.25vw, 3rem);
        line-height: .99;
        letter-spacing: -.052em;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__lede {
        margin-top: 21px;
        font-size: 1rem;
        line-height: 1.62;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero .ptx-actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 26px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero .ptx-button {
        width: 100%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__rating {
        align-items: flex-start;
        margin-top: 21px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
        width: calc(100% - 8px);
        height: 350px;
        margin: 0 8px 0 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame {
        inset: 20px -9px -10px 22px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture img {
        object-position: 50% 56%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-photo-note {
        right: 14px;
        bottom: 14px;
        left: 14px;
        min-width: 0;
        max-width: none;
        padding: 10px 11px;
        font-size: .58rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__grid {
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item,
    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:first-child,
    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:last-child {
        min-height: 116px;
        padding: 18px 14px 18px 0;
        border-top: 1px solid var(--ptxh-line);
        border-right: 1px solid var(--ptxh-line);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:nth-child(even) {
        padding-right: 0;
        padding-left: 14px;
        border-right: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:nth-child(-n+2) {
        border-top: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item strong {
        font-size: .9rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item span {
        font-size: .59rem;
        letter-spacing: .075em;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 250px 220px 220px;
        gap: 10px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service--house {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service--roof,
    body.ptx-route-home .ptx-home-v180 .ptxh-service--gutter,
    body.ptx-route-home .ptx-home-v180 .ptxh-service--concrete,
    body.ptx-route-home .ptx-home-v180 .ptxh-service--deck {
        grid-column: auto;
        grid-row: auto;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__content {
        right: 14px;
        bottom: 14px;
        left: 14px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__content h3 {
        font-size: 1.03rem;
        line-height: 1.05;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__content > span {
        margin-top: 6px;
        font-size: .64rem;
        line-height: 1.35;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__content b {
        display: none;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-services__foot {
        align-items: stretch;
        flex-direction: column;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-services__foot .ptx-button {
        width: 100%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result {
        padding: 14px;
        border-radius: 17px;
        gap: 14px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result__copy h3 {
        font-size: 1.75rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison {
        grid-template-columns: 1fr 1fr;
        height: 250px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison:has(figure[hidden]) {
        grid-template-columns: 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison figcaption {
        bottom: 9px;
        left: 9px;
        padding: 7px 8px;
        font-size: .56rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls {
        display: grid;
        grid-template-columns: 1.3fr 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button {
        padding-inline: 8px;
        font-size: .7rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel {
        min-height: 350px;
        padding: 30px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel h2,
    body.ptx-route-home .ptx-home-v180 .ptxh-trust__main > h2 {
        font-size: clamp(2.55rem, 11vw, 3rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__grid {
        grid-template-columns: 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__point {
        min-height: 145px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__head h2 {
        font-size: clamp(2.55rem, 11vw, 3rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__head > p:last-child {
        font-size: 1rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__visual {
        height: 250px;
        margin-top: 30px;
        border-radius: 17px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram {
        right: 10px;
        bottom: 10px;
        left: 10px;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__steps {
        grid-template-columns: 1fr;
        margin-top: 44px;
        margin-left: 2px;
        gap: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__steps::before {
        top: 12px;
        right: auto;
        bottom: 22px;
        left: 17px;
        width: 1px;
        height: auto;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__step {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 148px;
        gap: 20px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__step h3 {
        margin-top: 3px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo {
        width: 100%;
        height: 510px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy h2 {
        font-size: clamp(2.7rem, 11.6vw, 3.05rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy > p {
        font-size: .98rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-reviews__head {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 30px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-reviews__head h2 {
        font-size: clamp(2.55rem, 11vw, 3rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-rating {
        width: 100%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-review-grid {
        grid-template-columns: 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-review-card {
        min-height: 235px;
        padding: 26px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-coverage {
        padding: 76px 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-coverage h2,
    body.ptx-route-home .ptx-home-v180 .ptxh-faq h2,
    body.ptx-route-home .ptx-home-v180 .ptxh-final h2 {
        font-size: clamp(2.55rem, 11vw, 3rem);
        line-height: .98;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note {
        padding: 25px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-faq__grid {
        gap: 34px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary {
        min-height: 68px;
        font-size: .92rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-faq__list details > div {
        padding-right: 36px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-final {
        padding: 78px 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-final .ptx-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-final .ptx-button {
        width: 100%;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-grid,
    body.ptx-route-home .ptx-site-footer .ptx-footer-legal {
        width: min(1240px, calc(100% - 28px));
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px 22px;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-brand,
    body.ptx-route-home .ptx-site-footer .ptx-footer-contact {
        grid-column: 1 / -1;
    }

    body.ptx-route-home .ptx-mobile-actions {
        grid-template-columns: 1fr 1.35fr;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(255, 255, 255, .14);
        background: rgba(7, 26, 43, .97);
        box-shadow: 0 -10px 30px rgba(7, 26, 43, .2);
    }

    body.ptx-route-home .ptx-mobile-actions a {
        min-height: 48px;
        border-radius: 8px;
        background: #ffffff;
        color: #071a2b !important;
        font-size: .81rem;
        font-weight: 900;
    }

    body.ptx-route-home .ptx-mobile-actions a:last-child {
        background: #f2b947;
    }
}

@media (max-width: 430px) {
    body.ptx-route-home .ptx-home-v180 .ptx-shell {
        width: min(var(--ptxh-shell), calc(100% - 24px));
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
        font-size: clamp(2.35rem, 10.55vw, 2.65rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
        height: 330px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service-mosaic {
        grid-template-rows: 235px 210px 210px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-service__content > span {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison {
        height: 225px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-comparison__controls button {
        min-width: 0;
        padding-inline: 6px;
        overflow-wrap: anywhere;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo {
        height: 470px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__visual {
        height: 220px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-review-card blockquote {
        font-size: 1.25rem;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-grid,
    body.ptx-route-home .ptx-site-footer .ptx-footer-legal {
        width: min(1240px, calc(100% - 24px));
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-grid {
        grid-template-columns: 1fr;
    }

    body.ptx-route-home .ptx-site-footer .ptx-footer-brand,
    body.ptx-route-home .ptx-site-footer .ptx-footer-contact {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ptx-route-home .ptx-home-v180 *,
    body.ptx-route-home .ptx-home-v180 *::before,
    body.ptx-route-home .ptx-home-v180 *::after,
    body.ptx-route-home .ptx-site-header,
    body.ptx-route-home .ptx-site-header *,
    body.ptx-route-home .ptx-site-footer *,
    body.ptx-route-home .ptx-mobile-actions * {
        animation: none !important;
        transition: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-motion-pending,
    body.ptx-route-home .ptx-home-v180 .ptxh-motion-item,
    body.ptx-route-home .ptx-home-v180 .ptxh-reveal-pending {
        opacity: 1;
        transform: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-motion-mask,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture {
        clip-path: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture img {
        transform: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__glow,
    body.ptx-route-home .ptx-home-v180 .ptxh-process__step {
        transform: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-node {
        scale: 1 !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process__diagram-line {
        stroke-dasharray: none !important;
        stroke-dashoffset: 0 !important;
    }
}

@media (prefers-contrast: more) {
    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item,
    body.ptx-route-home .ptx-home-v180 .ptxh-result,
    body.ptx-route-home .ptx-home-v180 .ptxh-rating,
    body.ptx-route-home .ptx-home-v180 .ptxh-review-card,
    body.ptx-route-home .ptx-home-v180 .ptxh-faq__list details {
        border-color: var(--ptxh-ink);
    }

    body.ptx-route-home .ptx-home-v180 .ptx-button-secondary {
        border-color: var(--ptxh-white);
    }
}

/* ========================================================================== *
 * V2 SELECTED DIRECTION OVERRIDE LAYER — TECHNICIAN / PROOF / PRECISION
 *
 * Append-only by design. The stable v1.9.0 foundation above remains intact
 * and recoverable; this layer only reshapes the managed homepage contracts.
 * Motion stays within three systems: finite hero depth, finite story/reveal,
 * and bounded interaction feedback.
 * ========================================================================== */

body.ptx-route-home .ptx-home-v180 {
    --ptxh-shell: 1320px;
    --ptxh-radius-sm: 4px;
    --ptxh-radius-md: 5px;
    --ptxh-radius-lg: 7px;
    --ptxh-shadow-card: 0 16px 42px rgba(7, 26, 43, .08);
    --ptxh-shadow-photo: 0 36px 90px rgba(0, 0, 0, .36);
    --ptxh-v2-grid: rgba(255, 255, 255, .055);
    --ptxh-v2-line: rgba(11, 31, 48, .18);
    background: #fbfaf6;
}

body.ptx-route-home .ptx-home-v180 .ptx-shell {
    width: min(var(--ptxh-shell), calc(100% - 64px));
}

body.ptx-route-home .ptx-home-v180 .ptx-button,
body.ptx-route-home .ptx-site-header .ptx-primary-nav .ptx-nav-call,
body.ptx-route-home .ptx-site-header .ptx-primary-nav .ptx-nav-estimate,
body.ptx-route-home .ptx-site-footer .ptx-footer-estimate {
    border-radius: 4px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-section-head {
    grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr);
    margin-bottom: 56px;
    gap: clamp(42px, 6vw, 92px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-section-head h2 {
    max-width: 900px;
    font-size: clamp(3rem, 4.9vw, 4.8rem);
    font-weight: 820;
    line-height: .95;
    letter-spacing: -.065em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-section-head > p {
    max-width: 470px;
    font-size: 1.02rem;
}

/* V2 hero — technician first, with a static 132px precision field. */
body.ptx-route-home .ptx-home-v180 .ptxh-hero {
    isolation: isolate;
    background:
        radial-gradient(circle at 86% 28%, rgba(42, 104, 137, .3), transparent 34%),
        linear-gradient(118deg, #061522 0%, #071a2b 49%, #0b2b43 100%);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image:
        linear-gradient(var(--ptxh-v2-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--ptxh-v2-grid) 1px, transparent 1px);
    background-position: center top;
    background-size: 132px 132px;
    content: "";
    opacity: .72;
    pointer-events: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero::after {
    position: absolute;
    z-index: -1;
    top: 18%;
    left: 38%;
    width: min(78vw, 1220px);
    height: 5px;
    background: linear-gradient(90deg, transparent 0 7%, rgba(242, 185, 71, .18) 20%, rgba(242, 185, 71, .92) 54%, rgba(242, 185, 71, .08) 88%, transparent 100%);
    box-shadow: 0 0 28px rgba(242, 185, 71, .18);
    clip-path: polygon(0 42%, 100% 0, 100% 100%, 0 58%);
    content: "";
    opacity: .85;
    pointer-events: none;
    transform: rotate(-17deg);
    transform-origin: left center;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__glow {
    right: -8%;
    bottom: -22%;
    width: 62%;
    height: 670px;
    border-radius: 0;
    background: radial-gradient(circle, rgba(52, 125, 157, .28), rgba(52, 125, 157, 0) 68%);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
    grid-template-columns: minmax(0, 6fr) minmax(430px, 6fr);
    min-height: 760px;
    padding-block: 70px 76px;
    gap: clamp(58px, 6vw, 98px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__copy {
    padding-block: 18px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
    max-width: 800px;
    font-size: clamp(4rem, 6vw, 5.85rem);
    font-weight: 820;
    line-height: .91;
    letter-spacing: -.072em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__lede {
    max-width: 650px;
    margin-top: 29px;
    color: #d3e0e7;
    font-size: 1.1rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
    height: clamp(590px, 48vw, 710px);
    margin-right: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame {
    inset: 24px -18px -18px 26px;
    border: 1px solid rgba(242, 185, 71, .88);
    border-radius: 3px;
    background: rgba(242, 185, 71, .06);
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture {
    border-color: rgba(255, 255, 255, .18);
    border-radius: 3px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture img {
    object-position: 51% 51%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-photo-note {
    right: auto;
    bottom: 16px;
    left: 16px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 2px;
    background: rgba(5, 20, 32, .88);
}

/* V2 proof strip — white, immediate, and intentionally un-carded. */
body.ptx-route-home .ptx-home-v180 .ptxh-proof {
    border-top: 0;
    border-bottom-color: var(--ptxh-v2-line);
    background: #ffffff;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__grid {
    grid-template-columns: .9fr 1.05fr 1.42fr 1.15fr;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item {
    min-height: 116px;
    padding: 22px 27px;
    border-right-color: var(--ptxh-v2-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item strong {
    font-size: 1rem;
    letter-spacing: -.02em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-proof__item span {
    margin-top: 6px;
    font-size: .65rem;
    letter-spacing: .08em;
}

/* V2 motion system 2 + service atlas — bounded crossfades, one 56% media field. */
body.ptx-route-home .ptx-home-v180 .ptxh-services[data-ptxh-service-atlas] {
    padding: 132px 0 138px;
    background: #f3f0e8;
}

body.ptx-route-home .ptx-home-v180 .ptxh-services__foot {
    margin: -14px 0 42px;
    padding-top: 0;
    border-top: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas,
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__list {
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__list {
    --ptxh-atlas-gap: clamp(48px, 5.5vw, 82px);
    --ptxh-atlas-media-share: .56;
    position: relative;
    display: grid;
    min-height: 720px;
    grid-template-columns: minmax(0, 56fr) minmax(330px, 44fr);
    grid-template-rows: repeat(5, minmax(112px, 1fr));
    column-gap: var(--ptxh-atlas-gap);
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item {
    position: static;
    display: block;
    grid-column: 2;
    min-width: 0;
    color: var(--ptxh-ink) !important;
    text-decoration: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(1) { grid-row: 1; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(2) { grid-row: 2; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(3) { grid-row: 3; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(4) { grid-row: 4; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(5) { grid-row: 5; }

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__media {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: calc((100% - var(--ptxh-atlas-gap)) * var(--ptxh-atlas-media-share));
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 4px;
    background: var(--ptxh-navy-900);
    box-shadow: 0 28px 70px rgba(7, 26, 43, .16);
    opacity: 0;
    pointer-events: none;
    transform: scale(1.008);
    transition: opacity 420ms ease, transform 420ms var(--ptxh-settle);
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__picture {
    position: absolute;
    inset: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__picture img {
    object-position: center;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item[data-active="true"] .ptxh-atlas__media,
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item[aria-current="true"] .ptxh-atlas__media,
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item.is-active .ptxh-atlas__media {
    z-index: 2;
    opacity: 1;
    transform: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content {
    position: relative;
    display: grid;
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    min-width: 0;
    min-height: 112px;
    padding: 20px 0;
    border-top: 1px solid rgba(11, 31, 48, .2);
    gap: 20px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(1) .ptxh-atlas__content { grid-row: 1; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(2) .ptxh-atlas__content { grid-row: 2; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(3) .ptxh-atlas__content { grid-row: 3; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(4) .ptxh-atlas__content { grid-row: 4; }
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(5) .ptxh-atlas__content {
    grid-row: 5;
    border-bottom: 1px solid rgba(11, 31, 48, .2);
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--ptxh-gold-500);
    content: "";
    transition: width 360ms var(--ptxh-settle);
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item[data-active="true"] .ptxh-atlas__content::before,
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item[aria-current="true"] .ptxh-atlas__content::before,
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item.is-active .ptxh-atlas__content::before {
    width: 100%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__number {
    color: var(--ptxh-teal);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content h3 {
    margin: 0;
    color: var(--ptxh-ink);
    font-size: clamp(1.2rem, 1.7vw, 1.58rem);
    font-weight: 830;
    line-height: 1.12;
    letter-spacing: -.035em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content p {
    grid-column: 2;
    max-width: 480px;
    margin: 7px 0 0;
    color: var(--ptxh-muted);
    font-size: .78rem;
    line-height: 1.45;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__cta {
    display: inline-flex;
    grid-column: 3;
    grid-row: 1 / span 2;
    align-items: center;
    justify-content: flex-end;
    min-width: 44px;
    min-height: 44px;
    color: var(--ptxh-ink);
    font-size: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__cta::after {
    content: "→";
    font-size: 1rem;
    transition: transform 300ms var(--ptxh-spring);
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:hover .ptxh-atlas__cta::after,
body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:focus-visible .ptxh-atlas__cta::after {
    transform: translateX(3px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:focus-visible .ptxh-atlas__content {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px var(--ptxh-teal);
}

/* V2 motion system 3 + results studio — wash feedback on real matched media. */
body.ptx-route-home .ptx-home-v180 .ptxh-results {
    padding: 138px 0 146px;
    background:
        radial-gradient(circle at 82% 18%, rgba(35, 101, 132, .25), transparent 31%),
        #061723;
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-results .ptxh-section-head h2 {
    color: var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-results .ptxh-section-head > p,
body.ptx-route-home .ptx-home-v180 .ptxh-results .ptxh-result__copy > p:last-child {
    color: #b9cbd5;
}

body.ptx-route-home .ptx-home-v180 .ptxh-results .ptx-kicker {
    color: var(--ptxh-gold-500);
}

body.ptx-route-home .ptx-home-v180 .ptxh-result-list {
    gap: 82px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio {
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) {
    grid-template-columns: minmax(300px, 4fr) minmax(0, 8fr);
    align-items: start;
    gap: clamp(38px, 5vw, 76px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__copy {
    padding: 8px 0 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result__copy h3,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio h3 {
    color: var(--ptxh-white);
    font-size: clamp(2.25rem, 3.3vw, 3.25rem);
    font-weight: 810;
    line-height: .95;
    letter-spacing: -.06em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) .ptxh-comparison {
    height: clamp(480px, 48vw, 650px);
    border-radius: 4px;
    background: #102b3b;
}

body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) .ptxh-comparison figcaption {
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 2px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio {
    display: grid;
    grid-template-columns: minmax(300px, 4fr) minmax(0, 8fr);
    align-items: start;
    gap: clamp(38px, 5vw, 76px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio > .ptxh-result__copy,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__copy {
    position: sticky;
    top: 96px;
    align-self: start;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__visual,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio > .ptxh-result__visual {
    min-width: 0;
}

/* Pending and error are readable, authentic side-by-side states. */
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__stage {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-width: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: 766 / 624;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 4px;
    background: #102b3b;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .3);
    isolation: isolate;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    opacity: 1;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source + .ptxh-wash-studio__source {
    border-left: 2px solid var(--ptxh-white);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source--before {
    order: 1;
    border-left: 0 !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source--after {
    order: 2;
    border-left: 2px solid var(--ptxh-white) !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source picture,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source img {
    width: 100%;
    height: 100%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source img {
    object-fit: cover;
    object-position: center;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source figcaption {
    position: absolute;
    z-index: 3;
    bottom: 14px;
    left: 14px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 2px;
    background: rgba(5, 20, 32, .9);
    color: var(--ptxh-white);
    font-size: .63rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__canvas,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__spray,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand {
    display: none;
}

/* Readiness swaps the reserved stage from paired sources to the wash composite. */
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__stage {
    display: block;
    height: auto;
    min-height: 0;
    aspect-ratio: 766 / 624;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source {
    position: absolute;
    inset: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

/* Destination-out canvas strokes reveal this cleaned source underneath. */
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source--after {
    z-index: 1;
    border: 0 !important;
    opacity: 1;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source--before {
    z-index: 0;
    border: 0 !important;
    opacity: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__canvas {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: grab;
    touch-action: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio.is-washing .ptxh-wash-studio__canvas,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-active="true"] .ptxh-wash-studio__canvas,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-dragging="true"] .ptxh-wash-studio__canvas,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__stage[data-ptxh-wash-dragging="true"] .ptxh-wash-studio__canvas {
    cursor: grabbing;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__spray,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__wand {
    position: absolute;
    z-index: 4;
    display: block;
    pointer-events: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__spray {
    top: 0;
    left: 0;
    width: 126px;
    height: 28px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .84), rgba(214, 241, 255, .38) 42%, rgba(255, 255, 255, 0));
    clip-path: polygon(0 46%, 100% 6%, 100% 94%, 0 54%);
    filter: blur(.25px) drop-shadow(0 0 7px rgba(255, 255, 255, .72));
    opacity: var(--ptxh-wash-spray-opacity, 0);
    transform: translate3d(var(--ptxh-wash-x, 0), var(--ptxh-wash-y, 0), 0) translateY(-50%) rotate(var(--ptxh-wash-angle, 0deg));
    transform-origin: 0 50%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand {
    top: 0;
    left: 0;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 2px solid var(--ptxh-white);
    border-radius: 50%;
    background: var(--ptxh-navy-950);
    color: var(--ptxh-white);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .32);
    opacity: var(--ptxh-wash-wand-opacity, 0);
    transform: translate3d(var(--ptxh-wash-x, 0), var(--ptxh-wash-y, 0), 0) translate(-50%, -50%) rotate(var(--ptxh-wash-angle, 0deg));
    transition: box-shadow 220ms ease, scale 300ms var(--ptxh-spring);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__wand:not([hidden]) {
    display: grid;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint {
    position: absolute;
    z-index: 5;
    top: 16px;
    left: 16px;
    display: grid;
    max-width: min(245px, calc(100% - 32px));
    margin: 0;
    padding: 11px 13px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 3px;
    background: rgba(5, 20, 32, .9);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    color: var(--ptxh-white);
    pointer-events: none;
    gap: 2px;
    transition: opacity 180ms ease, transform 240ms var(--ptxh-settle);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint strong {
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .01em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint span {
    color: #c8d7df;
    font-size: .68rem;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-dragging="true"] .ptxh-wash-studio__hint {
    opacity: 0;
    transform: translateY(-4px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand[hidden] {
    display: none !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__range {
    display: none;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap !important;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__presets {
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .2);
    border-left: 1px solid rgba(255, 255, 255, .2);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__range {
    display: block;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__presets {
    display: grid;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio:has(.ptxh-wash-studio__range:focus-visible) .ptxh-wash-studio__stage {
    outline: 3px solid var(--ptxh-white);
    outline-offset: 3px;
    box-shadow: 0 0 0 6px var(--ptxh-teal), 0 30px 80px rgba(0, 0, 0, .3);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset {
    min-width: 0;
    min-height: 48px;
    padding: 10px 14px;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, .2);
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    border-radius: 0;
    background: transparent;
    color: var(--ptxh-white);
    font: inherit;
    font-size: .76rem;
    font-weight: 850;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 220ms ease, color 220ms ease, transform 300ms var(--ptxh-spring);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset[data-active="true"],
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset[aria-pressed="true"] {
    background: var(--ptxh-gold-500);
    color: var(--ptxh-ink);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset:hover,
body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset:focus-visible {
    transform: translateY(-2px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio [data-ptxh-wash-status] {
    display: block;
    min-height: 22px;
    margin: 10px 0 0;
    color: #aebfca;
    font-size: .72rem;
    line-height: 1.4;
}

body.ptx-route-home .ptx-home-v180 .ptxh-results__link {
    margin-top: 32px;
    color: var(--ptxh-white) !important;
}

/* Motion system 2 continues: compact editorial steps crossfade a real-photo field. */
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial {
    --ptxh-process-active: 1;
    padding: 132px 0 142px;
    overflow: clip;
    background:
        linear-gradient(90deg, rgba(7, 26, 43, .035) 1px, transparent 1px),
        #e9efec;
    background-position: center top;
    background-size: 132px 100%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__editorial {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
    align-items: start;
    gap: clamp(54px, 6vw, 92px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__sticky {
    position: sticky;
    top: 92px;
    align-self: start;
    min-width: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, .52fr);
    align-items: end;
    max-width: none;
    margin-bottom: 30px;
    gap: 36px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head .ptx-kicker {
    grid-column: 1 / -1;
    margin-bottom: -16px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head h2 {
    max-width: 650px;
    font-size: clamp(2.8rem, 4.2vw, 4.15rem);
    line-height: .95;
    letter-spacing: -.062em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head > p:last-child {
    margin: 0 0 5px;
    font-size: .88rem;
    line-height: 1.55;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__stage {
    position: relative;
    min-width: 0;
    height: clamp(430px, 42vw, 590px);
    overflow: hidden;
    border-radius: 4px;
    background: var(--ptxh-navy-950);
    box-shadow: 0 28px 68px rgba(7, 26, 43, .16);
    isolation: isolate;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panels,
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel,
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__picture {
    position: absolute;
    inset: 0;
    margin: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel {
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: scale(1.012);
    transition: opacity 420ms ease, transform 420ms var(--ptxh-settle);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel[data-active="true"],
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel.is-active {
    z-index: 2;
    opacity: 1;
    transform: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel:not([data-active="true"]):not(.is-active) {
    opacity: 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__picture img {
    filter: saturate(.88) contrast(1.04);
    object-position: center;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__stage::after {
    position: absolute;
    z-index: 3;
    inset: 40% 0 0;
    background: linear-gradient(180deg, transparent, rgba(5, 20, 32, .74));
    content: "";
    pointer-events: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__story-number {
    position: absolute;
    z-index: 4;
    bottom: -13px;
    left: 22px;
    color: var(--ptxh-white);
    font-size: clamp(5.5rem, 10vw, 9.25rem);
    font-weight: 860;
    line-height: .9;
    letter-spacing: -.085em;
    text-shadow: 0 8px 32px rgba(0, 0, 0, .34);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__story-number::after {
    position: absolute;
    right: -72px;
    bottom: 28px;
    width: 54px;
    height: 3px;
    background: var(--ptxh-gold-500);
    content: "";
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__steps {
    display: block;
    margin: 92px 0 0;
    padding: 0;
    border-top: 1px solid rgba(11, 31, 48, .22);
    list-style: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__steps::before {
    content: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: clamp(220px, 29vh, 280px);
    align-content: center;
    padding: 32px 0;
    border-bottom: 1px solid rgba(11, 31, 48, .22);
    gap: 24px;
    color: var(--ptxh-ink);
    transform: translateY(4px);
    transition: transform 360ms var(--ptxh-settle), border-color 260ms ease;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--ptxh-gold-500);
    content: "";
    transition: width 360ms var(--ptxh-settle);
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step[data-active="true"],
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step[aria-current="step"],
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step.is-story-active {
    border-bottom-color: rgba(11, 31, 48, .38);
    transform: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step[data-active="true"]::before,
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step[aria-current="step"]::before,
body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step.is-story-active::before {
    width: 100%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__number {
    display: block;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ptxh-teal);
    font-size: .75rem;
    line-height: 1.4;
    letter-spacing: .08em;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step h3 {
    margin: 0 0 9px;
    color: var(--ptxh-ink);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 830;
    line-height: 1.15;
}

body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step p {
    max-width: 430px;
    margin: 0;
    color: var(--ptxh-muted);
    font-size: .84rem;
    line-height: 1.55;
}

/* V2 supporting trust sections — editorial rules in place of card stacks. */
body.ptx-route-home .ptx-home-v180 .ptxh-trust {
    padding: 128px 0 136px;
    background: #f6f4ee;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__layout {
    grid-template-columns: minmax(300px, 4fr) minmax(0, 8fr);
    gap: clamp(54px, 7vw, 104px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__panel {
    min-height: 430px;
    padding: 38px 34px;
    border-top: 4px solid var(--ptxh-gold-500);
    border-radius: 0;
    background: var(--ptxh-navy-950);
    box-shadow: none;
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__grid {
    border-color: var(--ptxh-v2-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-trust__point {
    min-height: 160px;
    padding: 24px 22px;
    border-color: var(--ptxh-v2-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner {
    padding: 128px 0 136px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__grid {
    grid-template-columns: minmax(360px, 5fr) minmax(0, 7fr);
    gap: clamp(58px, 7vw, 104px);
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo {
    height: 680px;
    border-radius: 4px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo figcaption {
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 2px;
}

body.ptx-route-home .ptx-home-v180 .ptxh-owner__copy h2 {
    font-size: clamp(3.2rem, 5vw, 4.5rem);
}

body.ptx-route-home .ptx-home-v180 .ptxh-reviews {
    padding: 128px 0 134px;
    background: #fbfaf6;
}

body.ptx-route-home .ptx-home-v180 .ptxh-rating {
    border-radius: 0;
    background: #ffffff;
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-grid {
    gap: 0;
    border-top: 1px solid var(--ptxh-v2-line);
    border-left: 1px solid var(--ptxh-v2-line);
}

body.ptx-route-home .ptx-home-v180 .ptxh-review-card {
    min-height: 300px;
    border-width: 0 1px 1px 0;
    border-color: var(--ptxh-v2-line);
    border-radius: 0;
    background: transparent;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage {
    padding: 102px 0;
}

body.ptx-route-home .ptx-home-v180 .ptxh-coverage__note {
    border-radius: 0;
    background: rgba(255, 255, 255, .28);
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq {
    padding: 128px 0 134px;
    background: #f3f0e8;
}

body.ptx-route-home .ptx-home-v180 .ptxh-faq__list summary > span {
    border-radius: 50%;
}

body.ptx-route-home .ptx-home-v180 .ptxh-final {
    padding: 106px 0 112px;
    background: #071a2b;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint {
    margin: 13px 0 0;
    color: #c1d0d8;
    font-size: .76rem;
    line-height: 1.45;
}

body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint[hidden] {
    display: none !important;
}

/* V2 motion system 1: finite hero entrance/depth; critical copy stays opaque. */
@keyframes ptxh-v2-hero-copy-settle {
    from { transform: translate3d(0, 12px, 0); }
    to { transform: none; }
}

@media (min-width: 901px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.ptx-route-home .ptx-home-v180.ptxh-motion-ready .ptxh-hero__copy {
        animation: ptxh-v2-hero-copy-settle 520ms var(--ptxh-settle) both;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__media,
    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel {
        will-change: opacity, transform;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item[data-active="true"] .ptxh-atlas__media,
    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel[data-active="true"] {
        will-change: auto;
    }
}

@media (max-width: 1120px) {
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr);
        min-height: 710px;
        gap: 48px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
        font-size: clamp(3.5rem, 6.4vw, 4.65rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__list {
        --ptxh-atlas-gap: 46px;
        --ptxh-atlas-media-share: .54;
        grid-template-columns: minmax(0, 54fr) minmax(320px, 46fr);
        column-gap: 46px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content {
        grid-template-columns: 42px minmax(0, 1fr) auto;
        gap: 14px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio,
    body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) {
        grid-template-columns: minmax(250px, 4fr) minmax(0, 8fr);
        gap: 44px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__editorial {
        grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
        gap: 48px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head .ptx-kicker {
        grid-column: 1;
        margin-bottom: 1px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head > p:last-child {
        max-width: 580px;
    }
}

@media (max-width: 900px) {
    body.ptx-route-home .ptx-home-v180 .ptx-shell {
        width: min(var(--ptxh-shell), calc(100% - 32px));
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-section-head {
        grid-template-columns: 1fr;
        margin-bottom: 38px;
        gap: 18px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-section-head h2 {
        font-size: clamp(2.65rem, 9vw, 4rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero::after {
        top: 47%;
        left: 14%;
        width: 110vw;
        opacity: .58;
        transform: rotate(-14deg);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__grid {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-block: 58px 56px;
        gap: 42px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
        max-width: 720px;
        font-size: clamp(3.2rem, 10.5vw, 4.7rem);
        line-height: .94;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
        width: min(100% - 10px, 720px);
        height: min(76vw, 640px);
        margin: 0 10px 0 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__glow {
        transform: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__grid {
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:nth-child(even) {
        border-right: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item:nth-child(n + 3) {
        border-top: 1px solid var(--ptxh-v2-line);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-services[data-ptxh-service-atlas],
    body.ptx-route-home .ptx-home-v180 .ptxh-results,
    body.ptx-route-home .ptx-home-v180 .ptxh-trust,
    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial,
    body.ptx-route-home .ptx-home-v180 .ptxh-owner,
    body.ptx-route-home .ptx-home-v180 .ptxh-reviews,
    body.ptx-route-home .ptx-home-v180 .ptxh-faq {
        padding-block: 92px;
    }

    /* Every service carries its own authentic inline image on mobile. */
    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__list {
        display: block;
        min-height: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item {
        position: relative;
        display: grid;
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 1fr;
        margin-bottom: 34px;
        color: var(--ptxh-ink) !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:last-child {
        margin-bottom: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__media {
        position: relative;
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        height: min(68vw, 460px);
        border-radius: 4px;
        box-shadow: 0 18px 42px rgba(7, 26, 43, .11);
        opacity: 1;
        pointer-events: auto;
        transform: none;
        transition: none;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(n) .ptxh-atlas__content {
        grid-column: 1;
        grid-row: 2;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        min-height: 0;
        padding: 19px 0 8px;
        border-top: 0;
        border-bottom: 1px solid var(--ptxh-v2-line);
        gap: 14px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content::before {
        content: none;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content h3 {
        font-size: clamp(1.3rem, 5vw, 1.65rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-services__foot {
        align-items: stretch;
        flex-direction: column;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-services__foot .ptx-button {
        width: 100%;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio,
    body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio > .ptxh-result__copy,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__copy {
        position: static;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result__copy h3,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio h3 {
        font-size: clamp(2.2rem, 8.8vw, 3.25rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__stage,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__stage {
        display: grid;
        height: auto;
        min-height: 230px;
        aspect-ratio: 8 / 3;
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source {
        position: relative;
        inset: auto;
        border-left: 0;
        opacity: 1 !important;
        pointer-events: auto;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source + .ptxh-wash-studio__source {
        border-left: 2px solid var(--ptxh-white);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__canvas,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__spray,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__range,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__presets {
        display: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) .ptxh-comparison {
        height: min(58vw, 420px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__editorial {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__sticky {
        position: static;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head {
        grid-template-columns: 1fr;
        margin-bottom: 26px;
        gap: 13px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head .ptx-kicker {
        margin-bottom: 1px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__head h2 {
        font-size: clamp(2.65rem, 9.2vw, 3.75rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__stage {
        height: min(67vw, 520px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__steps {
        margin-top: 0;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step {
        min-height: 154px;
        padding-block: 26px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-trust__layout,
    body.ptx-route-home .ptx-home-v180 .ptxh-owner__grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-owner__photo {
        width: min(100%, 680px);
        height: min(105vw, 680px);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-review-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    body.ptx-route-home .ptx-home-v180 .ptx-shell {
        width: min(var(--ptxh-shell), calc(100% - 24px));
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero h1 {
        font-size: clamp(2.62rem, 12vw, 3.1rem);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-hero__media {
        height: 340px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-proof__item {
        min-height: 116px;
        padding-inline: 13px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__media {
        height: 250px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__item:nth-child(n) .ptxh-atlas__content {
        grid-template-columns: 36px minmax(0, 1fr) 44px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__stage,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__stage {
        min-height: 218px;
        aspect-ratio: 1.7 / 1;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__source figcaption {
        bottom: 8px;
        left: 8px;
        padding: 6px 7px;
        font-size: .54rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset {
        min-height: 48px;
        padding-inline: 6px;
        font-size: .68rem;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-result:not(.ptxh-wash-studio) .ptxh-comparison {
        height: 230px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__stage {
        height: 270px;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__story-number {
        bottom: -8px;
        left: 15px;
        font-size: 5.2rem;
    }
}

/* Touch and reduced-motion always keep the authentic matched fallback pair. */
@media (hover: none), (pointer: coarse) {
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__glow {
        transform: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__stage {
        display: grid;
        height: auto;
        min-height: 250px;
        aspect-ratio: 8 / 3;
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source {
        position: relative;
        inset: auto;
        opacity: 1 !important;
        pointer-events: auto;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source + .ptxh-wash-studio__source {
        border-left: 2px solid var(--ptxh-white);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__canvas,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__spray,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__range,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__presets {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__picture,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__frame,
    body.ptx-route-home .ptx-home-v180 .ptxh-hero__glow,
    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__media,
    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__panel,
    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__stage {
        display: grid;
        height: auto;
        min-height: 250px;
        aspect-ratio: 8 / 3;
        grid-template-columns: 1fr 1fr;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="error"] .ptxh-wash-studio__source {
        position: relative;
        inset: auto;
        border-left: 0;
        opacity: 1 !important;
        pointer-events: auto;
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="ready"] .ptxh-wash-studio__source + .ptxh-wash-studio__source,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio[data-ptxh-wash-state="error"] .ptxh-wash-studio__source + .ptxh-wash-studio__source {
        border-left: 2px solid var(--ptxh-white);
    }

    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__canvas,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__spray,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__wand,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__hint,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__range,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__presets {
        display: none !important;
    }
}

@media (prefers-contrast: more) {
    body.ptx-route-home .ptx-home-v180 .ptxh-atlas__content,
    body.ptx-route-home .ptx-home-v180 .ptxh-process--editorial .ptxh-process__step,
    body.ptx-route-home .ptx-home-v180 .ptxh-review-card,
    body.ptx-route-home .ptx-home-v180 .ptxh-wash-studio__preset {
        border-color: currentColor;
    }
}
