/* Neighborhood Warmth public-site theme. The home and inner-page variants share this system. */
html:has(body.neighborhood-warmth-theme) {
    --warmth-sticky-header-offset: clamp(5.8rem, 7vw, 7.25rem);
    scroll-padding-top: calc(var(--warmth-sticky-header-offset) + env(safe-area-inset-top, 0px));
}

body.neighborhood-warmth-theme {
    --warmth-ink: #1f303b;
    --warmth-muted: #59625f;
    --warmth-paper: #f7f2e9;
    --warmth-paper-deep: #efe8dc;
    --warmth-line: #ddd5c8;
    --warmth-sage: #7d9278;
    --warmth-sage-light: #e6ede5;
    --warmth-terracotta: #c97742;
    --warmth-sticky-header-offset: clamp(5.8rem, 7vw, 7.25rem);
    max-width: none;
    margin: 0;
    padding: 0 0 2.25rem !important;
    background: var(--warmth-paper) !important;
    color: var(--warmth-ink) !important;
    font-family: "Avenir Next", "Segoe UI", system-ui, sans-serif;
    scroll-padding-top: calc(var(--warmth-sticky-header-offset) + env(safe-area-inset-top, 0px));
}

.neighborhood-warmth-theme main#main-content {
    max-width: none;
    padding: 0;
    scroll-margin-top: calc(var(--warmth-sticky-header-offset) + env(safe-area-inset-top, 0px));
}

.neighborhood-warmth-theme .landing-hero,
.neighborhood-warmth-theme .landing-section,
.neighborhood-warmth-theme .warmth-area-intro {
    scroll-margin-top: calc(var(--warmth-sticky-header-offset) + env(safe-area-inset-top, 0px));
}

.neighborhood-warmth-theme .ios-tabbar {
    background: rgba(255, 253, 249, .97);
    border-top-color: var(--warmth-line);
    box-shadow: 0 -8px 24px rgba(50, 54, 45, .12);
}

.neighborhood-warmth-theme .ios-tabbar a {
    color: var(--warmth-muted);
    border-radius: 9px;
}

.neighborhood-warmth-theme .ios-tabbar a.active {
    background: var(--warmth-sage-light);
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-theme .ios-topbar-stack {
    position: sticky;
    top: 0;
    z-index: 1100;
    margin: 0;
    padding: 0 max(1.5rem, calc((100vw - 1440px) / 2 + 3.5rem));
    background: rgba(247, 242, 233, .97);
    border-bottom: 1px solid rgba(221, 213, 200, .8);
}

.neighborhood-warmth-theme .ios-topbar {
    display: flex;
    min-height: 92px;
    margin: 0;
    padding: 1rem 0 .9rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    gap: 1rem;
    justify-content: space-between;
}

.neighborhood-warmth-theme .ios-topbar__brand {
    flex: 0 0 auto;
    min-width: 0;
}

.neighborhood-warmth-theme .ios-topbar__brand img {
    display: block;
    width: auto;
    max-width: min(205px, 32vw);
    height: 62px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
}

.neighborhood-warmth-theme .ios-topbar__brand-text {
    display: none;
}

.neighborhood-warmth-theme .warmth-primary-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1.05rem, 2.35vw, 2.9rem);
    margin-left: auto;
}

.neighborhood-warmth-theme .warmth-primary-nav a {
    color: var(--warmth-ink);
    font-size: .98rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.neighborhood-warmth-theme .warmth-primary-nav a:hover,
.neighborhood-warmth-theme .warmth-primary-nav a:focus-visible {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-theme .warmth-primary-nav__cta {
    padding: .84rem 1.42rem;
    border-radius: 9px;
    background: var(--warmth-terracotta) !important;
    color: #fff !important;
    box-shadow: none;
}

.neighborhood-warmth-theme .warmth-primary-nav__cta:hover,
.neighborhood-warmth-theme .warmth-primary-nav__cta:focus-visible {
    background: #ae6335 !important;
}

.neighborhood-warmth-theme .profile-menu-trigger {
    display: inline-flex !important;
    visibility: visible !important;
    flex: 0 0 auto;
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--warmth-line);
    border-radius: 999px;
    background: transparent;
    color: var(--warmth-ink);
    box-shadow: none;
}

.neighborhood-warmth-theme .profile-menu-trigger__inner {
    gap: 0;
}

.neighborhood-warmth-theme .profile-menu-trigger__label,
.neighborhood-warmth-theme .ios-topbar__cta-row,
.neighborhood-warmth-theme .header-announcements {
    display: none !important;
}

.neighborhood-warmth-theme .profile-menu-trigger--menu .profile-menu-avatar--fallback i {
    display: none;
}

.neighborhood-warmth-theme .profile-menu-trigger--menu .profile-menu-avatar--fallback::before {
    color: var(--warmth-ink);
    content: "☰";
    font-size: 1.05rem;
    line-height: 1;
}

.neighborhood-warmth-theme .home-landing-frame {
    --warmth-gutter: max(1.5rem, calc((100vw - 1440px) / 2 + 3.5rem));
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: clamp(.75rem, 1.6vw, 1.35rem);
    padding-right: var(--warmth-gutter);
    padding-bottom: 0;
    padding-left: var(--warmth-gutter);
}

.neighborhood-warmth-theme .landing-hero.warmth-hero {
    max-width: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--warmth-ink);
    box-shadow: none;
}

.neighborhood-warmth-theme .warmth-hero .hero-grid {
    grid-template-columns: minmax(500px, .85fr) minmax(0, 1.55fr);
    gap: clamp(1.5rem, 2.3vw, 2.3rem);
    align-items: center;
}

.neighborhood-warmth-theme .warmth-hero__copy {
    max-width: 610px;
    min-width: 0;
}

.neighborhood-warmth-theme .warmth-hero h1 {
    width: calc(100% + 3.5rem);
    max-width: none;
    margin: 0 0 1.3rem;
    color: var(--warmth-ink);
    font-size: clamp(2.6rem, 2.9vw, 3.7rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.neighborhood-warmth-theme .warmth-hero__copy > p {
    max-width: 540px;
    margin: 0;
    color: #303a3d;
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.55;
}

.neighborhood-warmth-theme .warmth-hero .hero-cta {
    margin-top: 1.7rem;
}

.neighborhood-warmth-theme .warmth-hero .hero-cta a {
    flex: 0 0 auto;
}

.neighborhood-warmth-theme .warmth-hero .hero-cta button {
    width: auto !important;
    min-height: 0;
    margin: 0;
    padding: .85rem 1.35rem;
    border: 0;
    border-radius: 8px;
    background: var(--warmth-sage);
    color: #fff;
    font-size: 1rem;
    box-shadow: none;
}

.neighborhood-warmth-theme .warmth-hero .hero-cta button span {
    margin-left: .5rem;
    font-size: 1.25em;
    line-height: 0;
}

.neighborhood-warmth-theme .warmth-hero__media {
    min-width: 0;
}

.neighborhood-warmth-theme .warmth-hero .hero-image {
    display: block;
    width: 100%;
    height: clamp(300px, 21vw, 340px);
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    border: 0;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 20px 44px rgba(50, 54, 45, .14);
}

.neighborhood-warmth-theme .landing-grid {
    grid-template-columns: repeat(13, minmax(0, 1fr));
    gap: 0 1.35rem;
    align-items: stretch;
}

.neighborhood-warmth-theme .landing-section {
    min-width: 0;
    margin: 0;
    padding: 2.75rem 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: var(--warmth-ink) !important;
    box-shadow: none;
}

.neighborhood-warmth-theme .landing-section__heading-row {
    align-items: baseline;
    margin-bottom: 1.25rem;
}

.neighborhood-warmth-theme .landing-section h2 {
    margin: 0;
    width: fit-content;
    max-width: 100%;
    color: var(--warmth-ink);
    font-size: clamp(1.3rem, 1.55vw, 1.65rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.neighborhood-warmth-theme .landing-section h2::after {
    display: block;
    width: clamp(5.5rem, 18vw, 11rem);
    max-width: 100%;
    height: .42rem;
    margin-top: .35rem;
    border-top: 2px solid var(--warmth-sage);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    content: "";
    transform: rotate(-1.5deg);
    transform-origin: left center;
}

.neighborhood-warmth-theme .landing-section__heading-cta,
.neighborhood-warmth-theme .landing-section__heading-cta strong {
    color: var(--warmth-terracotta);
    font-weight: 700;
    text-decoration: none;
}

.neighborhood-warmth-theme .landing-section > p:not(.warmth-service-copy),
.neighborhood-warmth-theme .landing-section > p strong {
    color: var(--warmth-muted);
}

.neighborhood-warmth-theme .warmth-services {
    grid-column: 1 / 4;
    padding: 2.35rem 1.25rem 2.65rem 0;
    border-right: 1px solid var(--warmth-line);
}

.neighborhood-warmth-theme .warmth-services > p {
    display: none;
}

.neighborhood-warmth-theme .warmth-services .home-slider {
    margin-top: .35rem;
}

.neighborhood-warmth-theme .warmth-services .home-slider__track {
    grid-template-columns: 1fr !important;
}

.neighborhood-warmth-theme .home-slider__track {
    display: grid !important;
    flex: 1;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: visible;
}

.neighborhood-warmth-theme .home-slider__slide {
    display: block !important;
    min-width: 0;
    margin: 0 !important;
    padding: 1.05rem 1.1rem;
    border: 0;
    border-right: 1px solid #cbd8cc;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.neighborhood-warmth-theme .warmth-services .home-slider__slide img {
    display: none;
}

.neighborhood-warmth-theme .warmth-services .home-slider__slide {
    display: grid !important;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    column-gap: .75rem;
    padding: .72rem 0;
    border-right: 0;
    border-bottom: 1px solid var(--warmth-line);
}

.neighborhood-warmth-theme .warmth-services .home-slider__slide:last-child {
    border-bottom: 0;
}

.neighborhood-warmth-theme .warmth-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    margin-bottom: .85rem;
    color: var(--warmth-sage);
    font-size: 1.25rem;
}

.neighborhood-warmth-theme .warmth-services .warmth-service-icon {
    grid-row: 1 / span 3;
    margin: 0;
}

.neighborhood-warmth-theme .warmth-services h3 {
    margin: 0 0 .32rem !important;
    color: var(--warmth-ink);
    font-size: 1rem;
    line-height: 1.25;
}

.neighborhood-warmth-theme .warmth-services .home-service-slide-link {
    display: contents;
    color: inherit;
    text-decoration: none;
}

.neighborhood-warmth-theme .warmth-services .home-service-slide-link h3,
.neighborhood-warmth-theme .warmth-services .home-service-slide-link p {
    text-decoration: none;
}

.neighborhood-warmth-theme .warmth-service-copy,
.neighborhood-warmth-theme .warmth-service-type,
.neighborhood-warmth-theme .warmth-service-address {
    margin: .2rem 0 0;
    color: var(--warmth-muted);
    font-size: .86rem;
    line-height: 1.4;
}

.neighborhood-warmth-theme .warmth-service-type {
    color: var(--warmth-sage);
    font-weight: 700;
}

.neighborhood-warmth-theme .warmth-service-address {
    display: none;
}

.neighborhood-warmth-theme .home-slider__arrow {
    display: none !important;
}

.neighborhood-warmth-theme .warmth-portfolio {
    grid-column: 4 / 8;
    padding: 2.35rem 1.5rem 3rem;
    border-right: 1px solid var(--warmth-line);
}

.neighborhood-warmth-theme .warmth-portfolio > p {
    display: none;
}

.neighborhood-warmth-theme .warmth-portfolio .home-slider__track {
    grid-template-columns: 1.25fr .75fr !important;
    grid-template-rows: repeat(2, minmax(150px, 1fr));
    gap: .85rem !important;
    min-height: 280px;
}

.neighborhood-warmth-theme .warmth-portfolio .home-slider__slide {
    padding: 0;
    overflow: hidden;
    border: 0;
}

.neighborhood-warmth-theme .warmth-portfolio .home-slider__slide:first-child {
    grid-row: 1 / span 2;
}

.neighborhood-warmth-theme .warmth-portfolio .home-slider__slide:nth-child(n+4) {
    display: none !important;
}

.neighborhood-warmth-theme .warmth-portfolio .home-portfolio-card {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.neighborhood-warmth-theme .warmth-portfolio .home-portfolio-card img {
    display: block;
    width: 100%;
    height: calc(100% - 1.55rem);
    min-height: 0;
    border: 0;
    border-radius: 16px;
    object-fit: cover;
}

.neighborhood-warmth-theme .warmth-portfolio .home-portfolio-card p {
    margin: .35rem 0 0 !important;
    overflow: hidden;
    color: var(--warmth-muted);
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.neighborhood-warmth-theme .warmth-testimonials {
    grid-column: 8 / 11;
    padding: 2.35rem 1.5rem 2.65rem;
    border-right: 1px solid var(--warmth-line);
}

.neighborhood-warmth-theme .warmth-testimonials .home-slider__track {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}

.neighborhood-warmth-theme .warmth-testimonials .landing-section__heading-cta {
    display: none;
}

.neighborhood-warmth-theme .warmth-testimonials .home-slider__slide {
    padding: 1rem 1rem 0 0;
    border-right: 0;
    border-top: 1px solid var(--warmth-line);
}

.neighborhood-warmth-theme .warmth-testimonials .home-slider__slide::before {
    display: block;
    margin: -.25rem 0 .3rem;
    color: var(--warmth-terracotta);
    content: "“";
    font-family: Georgia, serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: .65;
}

.neighborhood-warmth-theme .warmth-testimonials .home-slider__slide p:first-of-type {
    margin: 0 0 .7rem !important;
    color: var(--warmth-ink);
    font-size: .92rem !important;
    line-height: 1.45 !important;
}

.neighborhood-warmth-theme .warmth-testimonials .home-slider__slide p:last-of-type {
    margin: 0 !important;
    color: var(--warmth-sage) !important;
    font-size: .82rem;
}

.neighborhood-warmth-theme .warmth-faq {
    grid-column: 11 / -1;
    padding: 2.35rem 0 2.65rem 1.5rem;
}

.neighborhood-warmth-theme .warmth-portfolio,
.neighborhood-warmth-theme .warmth-faq {
    position: relative;
}

.neighborhood-warmth-theme .warmth-portfolio .landing-section__heading-cta,
.neighborhood-warmth-theme .warmth-faq .landing-section__heading-cta {
    position: absolute;
    bottom: .55rem;
    left: 1.5rem;
}

.neighborhood-warmth-theme .warmth-faq .landing-section__heading-cta {
    left: 1.5rem;
}

.neighborhood-warmth-theme .warmth-faq .faq-list details {
    margin: 0;
    padding: .85rem 0;
    border: 0;
    border-bottom: 1px solid var(--warmth-line);
    border-radius: 0;
    background: transparent;
}

.neighborhood-warmth-theme .warmth-faq .faq-list summary {
    position: relative;
    padding-right: 2rem;
    color: var(--warmth-ink);
    font-size: .92rem;
    font-weight: 600;
    list-style: none;
}

.neighborhood-warmth-theme .warmth-faq .faq-list summary::-webkit-details-marker {
    display: none;
}

.neighborhood-warmth-theme .warmth-faq .faq-list summary::after {
    position: absolute;
    top: 50%;
    right: 0;
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: 999px;
    background: var(--warmth-sage);
    color: #fff;
    content: "+";
    font-size: 1rem;
    line-height: 1;
    transform: translateY(-50%);
}

.neighborhood-warmth-theme .warmth-faq details[open] summary::after {
    content: "–";
}

.neighborhood-warmth-theme .warmth-faq .faq-list details p {
    margin: .65rem 2rem 0 0;
    color: var(--warmth-muted);
    font-size: .86rem;
    line-height: 1.5;
}

.neighborhood-warmth-theme .landing-grid--service-areas-quote {
    display: block;
    grid-column: 1 / -1;
}

.neighborhood-warmth-theme .landing-grid--service-areas-quote > .landing-section {
    height: auto;
}

.neighborhood-warmth-theme .warmth-service-areas {
    padding: 2rem 0 2.3rem;
}

.neighborhood-warmth-theme .warmth-service-areas .home-service-areas-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.neighborhood-warmth-theme .warmth-service-areas .home-service-area-card-link {
    flex: 1 1 180px;
}

.neighborhood-warmth-theme .warmth-service-areas .home-service-area-card-link article {
    padding: .9rem 1rem;
    border: 1px solid var(--warmth-line);
    border-radius: 9px;
    background: rgba(255,255,255,.28);
    box-shadow: none;
}

.neighborhood-warmth-theme .warmth-service-areas .home-service-area-card-link h3 {
    color: var(--warmth-ink);
    font-size: .92rem;
}

.neighborhood-warmth-theme .landing-section--quote {
    min-height: 190px;
    margin: .2rem 0 0;
    padding: 2.7rem 2.8rem !important;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    border-radius: 20px;
    isolation: isolate;
    background: var(--warmth-sage) !important;
    color: #fff !important;
}

.neighborhood-warmth-theme .landing-section--quote::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("/assets/landing/fresh-start-painter.webp") center / cover no-repeat;
    content: "";
}

.neighborhood-warmth-theme .landing-section__quote-overlay {
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(125, 146, 120, 1) 0%, rgba(125, 146, 120, .98) 30%, rgba(125, 146, 120, .82) 45%, rgba(125, 146, 120, .38) 65%, rgba(125, 146, 120, 0) 84%);
}

.neighborhood-warmth-theme .landing-section__quote-content {
    max-width: 620px;
    text-align: left;
    color: #fff;
    z-index: 2;
}

.neighborhood-warmth-theme .landing-section--quote h2,
.neighborhood-warmth-theme .landing-section--quote p {
    position: relative;
    z-index: 1;
    color: #fff !important;
}

.neighborhood-warmth-theme .landing-section--quote h2::after {
    display: none;
}

.neighborhood-warmth-theme .landing-section--quote h2 {
    font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.neighborhood-warmth-theme .landing-section--quote p {
    max-width: 540px;
    margin: .45rem 0 0;
}

.neighborhood-warmth-theme .landing-section--quote .landing-section__quote-content > p:last-of-type {
    margin-bottom: 1rem;
}

.neighborhood-warmth-theme .landing-section--quote .landing-section__quote-content > p:last-of-type a button,
.neighborhood-warmth-theme .landing-section--quote button {
    position: relative;
    z-index: 1;
    width: auto !important;
    padding: .82rem 1.3rem;
    border: 0;
    border-radius: 8px;
    background: var(--warmth-terracotta);
    color: #fff;
    box-shadow: none;
}

.neighborhood-warmth-theme .warmth-footer {
    display: grid;
    grid-template-columns: 1.2fr 1.6fr auto;
    gap: 1rem 2rem;
    align-items: center;
    max-width: none;
    margin: 1.25rem 0 0;
    padding: 2.2rem 0 .3rem;
    border-top: 1px solid var(--warmth-line);
    border-radius: 0;
    background: transparent !important;
    color: var(--warmth-ink) !important;
    box-shadow: none;
}

.neighborhood-warmth-theme .warmth-footer__brand strong {
    display: block;
    color: var(--warmth-ink);
    font-size: .86rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.neighborhood-warmth-theme .warmth-footer__brand p {
    margin: .35rem 0 0;
    color: var(--warmth-muted);
    font-size: .82rem;
}

.neighborhood-warmth-theme .warmth-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    justify-content: center;
}

.neighborhood-warmth-theme .warmth-footer__links a,
.neighborhood-warmth-theme .warmth-footer__contact a {
    color: var(--warmth-ink);
    font-size: .82rem;
    text-decoration: none;
}

.neighborhood-warmth-theme .warmth-footer__links a:hover,
.neighborhood-warmth-theme .warmth-footer__contact a:hover {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-theme .warmth-footer__contact {
    display: flex;
    gap: .85rem;
    align-items: center;
    justify-content: flex-end;
}

.neighborhood-warmth-theme .warmth-footer__contact a[aria-label] {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    border: 1px solid var(--warmth-line);
    border-radius: 999px;
}

.neighborhood-warmth-theme .warmth-footer__copyright {
    grid-column: 1 / -1;
    margin: .2rem 0 0;
    color: var(--warmth-muted);
    font-size: .78rem;
    text-align: center;
}

@media (max-width: 980px) {
    .neighborhood-warmth-theme .home-landing-frame {
        --warmth-gutter: 1.5rem;
    }

    .neighborhood-warmth-theme .ios-topbar-stack,
    .neighborhood-warmth-theme .home-landing-frame {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }

    .neighborhood-warmth-theme .warmth-primary-nav {
        gap: 1rem;
    }

    .neighborhood-warmth-theme .warmth-primary-nav a {
        font-size: .88rem;
    }

    .neighborhood-warmth-theme .warmth-services,
    .neighborhood-warmth-theme .warmth-portfolio,
    .neighborhood-warmth-theme .warmth-testimonials,
    .neighborhood-warmth-theme .warmth-faq {
        grid-column: 1 / -1;
        border-right: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .neighborhood-warmth-theme .warmth-services {
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-theme .warmth-services .home-slider__track {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .neighborhood-warmth-theme .warmth-services .home-slider__slide {
        border-right: 1px solid var(--warmth-line);
        border-bottom: 0;
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

@media (max-width: 760px) {
    html:has(body.neighborhood-warmth-theme) {
        --warmth-sticky-header-offset: 5rem;
    }

    body.neighborhood-warmth-theme {
        --warmth-sticky-header-offset: 5rem;
        padding-bottom: calc(5.8rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    .neighborhood-warmth-theme .ios-topbar-stack {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .neighborhood-warmth-theme .ios-topbar {
        min-height: 74px;
        padding: .65rem 0;
    }

    .neighborhood-warmth-theme .ios-topbar__brand img {
        max-width: 155px;
        height: 50px;
    }

    .neighborhood-warmth-theme .warmth-primary-nav {
        display: none;
    }

    .neighborhood-warmth-theme .profile-menu-trigger {
        width: 42px;
        min-width: 42px;
        height: 42px;
    }

    .neighborhood-warmth-theme .home-landing-frame {
        --warmth-gutter: 1rem;
        min-width: 0;
        overflow-x: clip;
        padding-top: .8rem;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .neighborhood-warmth-theme .landing-hero.warmth-hero {
        padding: 2.3rem 0 2.6rem;
    }

    .neighborhood-warmth-theme .warmth-hero .hero-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .neighborhood-warmth-theme .warmth-hero h1 {
        width: 100%;
        max-width: 100%;
        font-size: clamp(2.25rem, 10vw, 3.3rem);
    }

    .neighborhood-warmth-theme .warmth-hero__copy > p {
        max-width: 100%;
    }

    .neighborhood-warmth-theme .warmth-hero .hero-image {
        height: clamp(260px, 70vw, 390px);
        aspect-ratio: 1.35 / 1;
        border-radius: 16px;
    }

    .neighborhood-warmth-theme .landing-section {
        padding: 2.15rem 0;
    }

    .neighborhood-warmth-theme .warmth-services {
        padding-right: 0;
        padding-left: 0;
    }

    .neighborhood-warmth-theme .warmth-services .home-slider__track {
        grid-template-columns: 1fr !important;
    }

    .neighborhood-warmth-theme .warmth-services .home-slider__slide {
        border-right: 0;
        border-bottom: 1px solid var(--warmth-line);
        padding-right: 0;
        padding-left: 0;
    }

    .neighborhood-warmth-theme .warmth-services .home-slider__slide:last-child {
        border-bottom: 0;
    }

    .neighborhood-warmth-theme .warmth-portfolio .home-slider__track {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: repeat(2, minmax(125px, 1fr));
        min-height: 340px;
    }

    .neighborhood-warmth-theme .warmth-portfolio .home-slider__slide:first-child {
        grid-row: 1 / span 2;
    }

    .neighborhood-warmth-theme .warmth-testimonials,
    .neighborhood-warmth-theme .warmth-faq {
        grid-column: 1 / -1;
        padding-right: 0;
        padding-left: 0;
        border-right: 0;
    }

    .neighborhood-warmth-theme .warmth-testimonials .home-slider__track {
        grid-template-columns: 1fr !important;
    }

    .neighborhood-warmth-theme .warmth-testimonials .home-slider__slide {
        padding-right: 0;
    }

    .neighborhood-warmth-theme .warmth-faq {
        padding-top: 1rem;
    }

    .neighborhood-warmth-theme .landing-section--quote {
        min-height: 300px;
        padding: 2.1rem 1.35rem !important;
        background-position: 100% 100%;
        background-size: 62% 100%;
    }

    .neighborhood-warmth-theme .landing-section__quote-overlay {
        inset: 0 28% 0 0;
    }

    .neighborhood-warmth-theme .landing-section__quote-content {
        max-width: 75%;
    }

    .neighborhood-warmth-theme .warmth-footer {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding-top: 1.7rem;
    }

    .neighborhood-warmth-theme .warmth-footer__links {
        justify-content: flex-start;
    }

    .neighborhood-warmth-theme .warmth-footer__contact {
        justify-content: flex-start;
    }

    .neighborhood-warmth-theme .warmth-footer__copyright {
        text-align: left;
    }
}

/* Homepage facelift: give reviews and service coverage the same editorial weight as the hero and portfolio. */
.neighborhood-warmth-home .warmth-testimonials {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(200px, .72fr) minmax(0, 2.28fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    padding: clamp(3rem, 6vw, 5rem) 0;
    border-top: 1px solid var(--warmth-line);
    border-right: 0;
    border-bottom: 1px solid var(--warmth-line);
}

.neighborhood-warmth-home .warmth-testimonials__intro {
    min-width: 0;
}

.neighborhood-warmth-home .warmth-testimonials .landing-section__heading-row {
    display: block;
    margin: 0;
}

.neighborhood-warmth-home .warmth-testimonials .landing-section__heading-row h2 {
    max-width: 12rem;
    font-size: clamp(2rem, 3.4vw, 3.2rem);
    line-height: .98;
}

.neighborhood-warmth-home .warmth-testimonials .landing-section__heading-cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 2rem;
    color: var(--warmth-sage);
    font-size: .88rem;
}

.neighborhood-warmth-home .warmth-testimonials .landing-section__heading-cta i {
    color: var(--warmth-terracotta);
    transition: transform .2s ease;
}

.neighborhood-warmth-home .warmth-testimonials .landing-section__heading-cta:hover i,
.neighborhood-warmth-home .warmth-testimonials .landing-section__heading-cta:focus-visible i {
    transform: translateX(3px);
}

.neighborhood-warmth-home .warmth-testimonials__content,
.neighborhood-warmth-home .warmth-testimonials .home-slider,
.neighborhood-warmth-home .warmth-testimonials .home-slider__track {
    min-width: 0;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider {
    gap: .8rem;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__slide,
.neighborhood-warmth-home .warmth-testimonials .home-slider__slide.is-active {
    display: block !important;
    min-height: 260px;
    padding: 1.45rem 1.4rem 1.35rem;
    border: 1px solid var(--warmth-line);
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .23) !important;
    box-shadow: none !important;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__slide:not(.is-active) {
    display: none !important;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__slide::before {
    margin: 0 0 1rem;
    font-size: 4.3rem;
    line-height: .52;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__slide p:first-of-type {
    max-width: 28rem;
    margin: 0 0 1.5rem !important;
    font-size: clamp(1rem, 1.25vw, 1.2rem) !important;
    line-height: 1.55 !important;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__slide p:last-of-type {
    margin-top: auto !important;
    padding-top: 1rem;
    border-top: 1px solid var(--warmth-line);
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__arrow {
    display: inline-flex !important;
    flex: 0 0 auto;
    width: 2.35rem;
    min-width: 2.35rem;
    height: 2.35rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--warmth-sage);
    box-shadow: none;
}

.neighborhood-warmth-home .warmth-testimonials .home-slider__arrow:hover,
.neighborhood-warmth-home .warmth-testimonials .home-slider__arrow:focus-visible {
    background: var(--warmth-sage-light);
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-home .warmth-service-areas {
    padding: clamp(3rem, 5vw, 4.2rem) 0 clamp(2.6rem, 4vw, 3.6rem);
    border-top: 0;
}

.neighborhood-warmth-home .warmth-service-areas .landing-section__heading-row {
    align-items: center;
    margin-bottom: 1.45rem;
}

.neighborhood-warmth-home .warmth-service-areas h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1;
}

.neighborhood-warmth-home .warmth-service-areas .landing-section__heading-cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.neighborhood-warmth-home .warmth-service-areas .landing-section__heading-cta i {
    color: var(--warmth-terracotta);
    transition: transform .2s ease;
}

.neighborhood-warmth-home .warmth-service-areas .landing-section__heading-cta:hover i,
.neighborhood-warmth-home .warmth-service-areas .landing-section__heading-cta:focus-visible i {
    transform: translateX(3px);
}

.neighborhood-warmth-home .warmth-service-areas__heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .9rem;
    flex-wrap: wrap;
}

.neighborhood-warmth-home .warmth-service-areas__manage {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--warmth-sage);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.neighborhood-warmth-home .warmth-service-areas__manage:hover,
.neighborhood-warmth-home .warmth-service-areas__manage:focus-visible {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-home .warmth-service-areas__intro {
    max-width: 52rem;
    margin: 0 0 1.15rem;
    color: var(--warmth-muted);
}

.neighborhood-warmth-home .warmth-service-areas .home-service-areas-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem 1rem;
}

.neighborhood-warmth-home .warmth-service-areas .home-service-area-card-link {
    min-width: 0;
    text-decoration: none;
}

.neighborhood-warmth-home .warmth-service-areas .home-service-area-card-link article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: center;
    min-height: 74px;
    padding: 1rem 1.15rem;
    border: 1px solid var(--warmth-line);
    border-radius: 0;
    background: rgba(255, 255, 255, .23);
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.neighborhood-warmth-home .warmth-service-areas .home-service-area-card-link:hover article,
.neighborhood-warmth-home .warmth-service-areas .home-service-area-card-link:focus-visible article {
    border-color: var(--warmth-sage);
    background: rgba(230, 237, 229, .52);
    transform: translateY(-2px);
}

.neighborhood-warmth-home .warmth-service-areas .home-service-area-card-link h3 {
    margin: 0 !important;
    color: var(--warmth-ink);
    font-size: clamp(.92rem, 1.2vw, 1.04rem);
    font-weight: 700;
}

.neighborhood-warmth-home .warmth-service-area-card__marker {
    display: grid;
    width: 1.85rem;
    height: 1.85rem;
    place-items: center;
    border-radius: 999px;
    background: var(--warmth-sage-light);
    color: var(--warmth-sage);
    font-size: .82rem;
}

.neighborhood-warmth-home .warmth-service-area-card__arrow {
    color: var(--warmth-terracotta);
    font-size: .92rem;
}

.neighborhood-warmth-home .warmth-service-areas .home-service-area-card-link h3 {
    text-decoration: none;
}

/* Keep long area headings from letting the decorative swoop crowd the text. */
.neighborhood-warmth-home .landing-section:not(.landing-section--quote) h2 {
    padding-bottom: 0;
}

.neighborhood-warmth-home .landing-section:not(.landing-section--quote) h2::after {
    position: static;
    margin-top: .42rem;
}

/* Area landing pages reuse the same open editorial rhythm as the homepage. */
.neighborhood-warmth-home .warmth-area-intro {
    padding: clamp(2.5rem, 5vw, 3.8rem) 0 clamp(2.2rem, 4vw, 3rem);
    border-bottom: 1px solid var(--warmth-line);
}

.neighborhood-warmth-home .warmth-area-intro .landing-section__heading-row {
    align-items: baseline;
}

.neighborhood-warmth-home .warmth-area-intro h2 {
    font-size: clamp(1.75rem, 3vw, 2.8rem);
    line-height: 1;
}

.neighborhood-warmth-home .warmth-area-intro p {
    max-width: 52rem;
    margin: 0;
    color: var(--warmth-muted);
    font-size: clamp(1rem, 1.35vw, 1.16rem);
    line-height: 1.55;
}

.neighborhood-warmth-home .warmth-service-detail-page > .landing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2rem;
    border-top: 1px solid var(--warmth-line);
}

.neighborhood-warmth-home .warmth-service-detail-hero h1 {
    width: 100%;
}

.neighborhood-warmth-home .warmth-service-detail-page > .landing-grid > .warmth-service-detail-facts,
.neighborhood-warmth-home .warmth-service-detail-page > .landing-grid > .warmth-service-detail-contact {
    grid-column: auto;
    padding: 2.75rem 0 3rem;
}

.neighborhood-warmth-home .warmth-service-detail-page > .landing-grid > .warmth-service-detail-facts {
    padding-right: 2rem;
    border-right: 1px solid var(--warmth-line);
}

.neighborhood-warmth-home .warmth-service-detail-facts__list {
    display: grid;
    gap: 1rem;
}

.neighborhood-warmth-home .warmth-service-detail-facts__list > div {
    display: grid;
    gap: .25rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--warmth-line);
}

.neighborhood-warmth-home .warmth-service-detail-facts__list > div:last-child {
    border-bottom: 0;
}

.neighborhood-warmth-home .warmth-service-detail-facts__label {
    color: var(--warmth-sage);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.neighborhood-warmth-home .warmth-service-detail-facts__list strong {
    color: var(--warmth-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.neighborhood-warmth-home .warmth-service-detail-contact > p {
    max-width: 30rem;
}

.neighborhood-warmth-home .warmth-service-detail-page > .landing-section--quote {
    grid-column: 1 / -1;
}

.neighborhood-warmth-home .warmth-services-listing > p {
    display: block;
    max-width: 52rem;
    margin: 0 0 1.25rem;
}

.neighborhood-warmth-home .warmth-services-listing__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.neighborhood-warmth-home .warmth-services-listing .service-card {
    min-width: 0;
    margin: 0;
    border: 1px solid var(--warmth-line);
    border-radius: 0;
    background: rgba(255, 255, 255, .23);
    box-shadow: none;
}

.neighborhood-warmth-home .warmth-services-listing .service-card__link {
    display: grid;
    grid-template-columns: minmax(120px, 168px) minmax(0, 1fr);
    height: 100%;
    padding: .85rem;
    color: inherit;
}

.neighborhood-warmth-home .warmth-services-listing .service-card__link h3 {
    color: var(--warmth-ink);
}

.neighborhood-warmth-home .warmth-services-listing .service-card__cta {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-home .warmth-services-listing .service-card__media-wrap img,
.neighborhood-warmth-home .warmth-services-listing .service-card__media-wrap > div {
    display: block;
    height: 100% !important;
    min-height: 150px;
}

.neighborhood-warmth-home .warmth-services-listing__actions .discover-listing-filter-btn {
    width: auto;
    margin: 0;
    border-radius: 8px;
    background: var(--warmth-sage) !important;
    box-shadow: none;
}

.neighborhood-warmth-home .warmth-site-footer--inner {
    width: min(calc(100% - 3rem), 1440px);
    margin: 1.25rem auto 0;
}

@media (max-width: 760px) {
    .neighborhood-warmth-home .warmth-service-areas__heading-actions {
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
        gap: .65rem;
    }

    .neighborhood-warmth-home .warmth-testimonials {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 2.75rem 0 3rem;
    }

    .neighborhood-warmth-home .warmth-testimonials .landing-section__heading-row h2 {
        max-width: 16rem;
    }

    .neighborhood-warmth-home .warmth-testimonials .landing-section__heading-cta {
        margin-top: 1.1rem;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider__track {
        grid-template-columns: 1fr !important;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .75rem;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider__track {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider__arrow {
        grid-row: 2;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider__arrow--prev {
        grid-column: 1;
        justify-self: start;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider__arrow--next {
        grid-column: 2;
        justify-self: end;
    }

    .neighborhood-warmth-home .warmth-testimonials .home-slider__slide,
    .neighborhood-warmth-home .warmth-testimonials .home-slider__slide.is-active {
        min-height: 220px;
    }

    .neighborhood-warmth-home .warmth-service-areas .home-service-areas-grid {
        grid-template-columns: 1fr;
    }

    .neighborhood-warmth-home .warmth-area-intro .landing-section__heading-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .8rem;
    }

    .neighborhood-warmth-home .warmth-service-detail-page > .landing-grid {
        grid-template-columns: 1fr;
    }

    .neighborhood-warmth-home .warmth-service-detail-page > .landing-grid > .warmth-service-detail-facts,
    .neighborhood-warmth-home .warmth-service-detail-page > .landing-grid > .warmth-service-detail-contact {
        padding: 2.35rem 0;
    }

    .neighborhood-warmth-home .warmth-service-detail-page > .landing-grid > .warmth-service-detail-facts {
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-home .warmth-services-listing__cards {
        grid-template-columns: 1fr;
    }

    .neighborhood-warmth-home .warmth-services-listing .service-card__link {
        grid-template-columns: minmax(0, 1fr);
    }

    .neighborhood-warmth-home .warmth-site-footer--inner {
        width: calc(100% - 2rem);
    }
}

@media (max-width: 470px) {
    .neighborhood-warmth-theme .warmth-portfolio .home-slider__track {
        grid-template-columns: 1fr !important;
        grid-template-rows: none;
        min-height: 0;
    }

    .neighborhood-warmth-theme .warmth-portfolio .home-slider__slide:first-child {
        grid-row: auto;
    }

    .neighborhood-warmth-theme .warmth-portfolio .home-slider__slide {
        min-height: 190px;
    }

    .neighborhood-warmth-theme .warmth-portfolio .home-portfolio-card img {
        height: 180px;
    }

    .neighborhood-warmth-theme .landing-section--quote {
        background-image: none !important;
    }

    .neighborhood-warmth-theme .landing-section--quote::before {
        display: none;
    }

    .neighborhood-warmth-theme .landing-section__quote-overlay {
        inset: 0;
        clip-path: none;
    }

    .neighborhood-warmth-theme .landing-section__quote-content {
        max-width: none;
    }
}

/* Neighborhood Warmth inner-page system: keep public routes in the same visual family as home. */
body.neighborhood-warmth-inner {
    min-height: 100vh;
    overflow-x: hidden;
}

.neighborhood-warmth-inner main#main-content {
    width: 100%;
    max-width: 1440px;
    min-height: calc(100vh - 92px);
    margin: 0 auto;
    padding: clamp(2.2rem, 5vw, 4.6rem) max(1.5rem, calc((100vw - 1440px) / 2 + 3.5rem)) clamp(3.2rem, 6vw, 5.5rem);
}

.neighborhood-warmth-inner main#main-content > .landing-section,
.neighborhood-warmth-inner main#main-content > .home-landing-frame {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0;
    background: transparent !important;
    color: var(--warmth-ink) !important;
}

.neighborhood-warmth-inner .discover-listing-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin: 0 0 2rem;
    padding: 0 0 1.2rem;
    border-bottom: 1px solid var(--warmth-line);
    background: transparent !important;
}

.neighborhood-warmth-inner .discover-listing-header__title,
.neighborhood-warmth-inner main#main-content > h1,
.neighborhood-warmth-inner main#main-content > .landing-section > h1 {
    margin: 0;
    color: var(--warmth-ink) !important;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.neighborhood-warmth-inner .discover-listing-header__title::after,
.neighborhood-warmth-inner main#main-content > h1::after,
.neighborhood-warmth-inner main#main-content > .landing-section > h1::after {
    display: block;
    width: clamp(5.5rem, 18vw, 11rem);
    max-width: 100%;
    height: .42rem;
    margin-top: .42rem;
    border-top: 2px solid var(--warmth-terracotta);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    content: "";
    transform: rotate(-1.5deg);
    transform-origin: left center;
}

.neighborhood-warmth-inner .discover-listing-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
    flex-wrap: wrap;
}

.neighborhood-warmth-inner .discover-listing-header__actions > a {
    color: inherit;
    text-decoration: none;
}

.neighborhood-warmth-inner .landing-section > p:first-of-type,
.neighborhood-warmth-inner .static-page-shell > p:first-of-type {
    color: var(--warmth-muted) !important;
}

.neighborhood-warmth-inner .landing-section h2,
.neighborhood-warmth-inner .landing-section h3,
.neighborhood-warmth-inner .wizard-card h2,
.neighborhood-warmth-inner .wizard-card h3 {
    color: var(--warmth-ink);
    letter-spacing: -.025em;
}

.neighborhood-warmth-inner .match-item,
.neighborhood-warmth-inner .wizard-card,
.neighborhood-warmth-inner .filter-dialog__sheet,
.neighborhood-warmth-inner .manage-page-shell {
    border: 1px solid var(--warmth-line) !important;
    border-radius: 16px !important;
    background: rgba(255, 253, 249, .92) !important;
    box-shadow: 0 14px 34px rgba(50, 54, 45, .08) !important;
}

.neighborhood-warmth-inner .wizard-card,
.neighborhood-warmth-inner .manage-page-shell {
    padding: clamp(1rem, 2.3vw, 1.65rem) !important;
}

.neighborhood-warmth-inner .muted {
    color: var(--warmth-muted) !important;
}

.neighborhood-warmth-inner a {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-inner .portfolio-gallery-grid,
.neighborhood-warmth-inner .reviews-grid,
.neighborhood-warmth-inner .landing-gallery {
    gap: 1rem;
    margin-top: 1.1rem;
}

.neighborhood-warmth-inner .portfolio-gallery-card {
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}

.neighborhood-warmth-inner .portfolio-gallery-card:hover,
.neighborhood-warmth-inner .portfolio-gallery-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(50, 54, 45, .14) !important;
}

.neighborhood-warmth-inner .portfolio-gallery-card img,
.neighborhood-warmth-inner .landing-gallery img {
    border: 0;
    border-radius: 12px;
    box-shadow: none;
}

.neighborhood-warmth-inner .portfolio-gallery-card__cta {
    color: var(--warmth-terracotta) !important;
}

.neighborhood-warmth-inner .reviews-grid .match-item {
    position: relative;
    padding: 1.25rem !important;
}

.neighborhood-warmth-inner .reviews-grid .match-item::before {
    display: block;
    margin-bottom: .45rem;
    color: var(--warmth-terracotta);
    content: "“";
    font-family: Georgia, serif;
    font-size: 2.7rem;
    line-height: .65;
}

.neighborhood-warmth-inner .faq-list details {
    margin: 0;
    padding: 1rem 1.15rem;
    border: 0;
    border-bottom: 1px solid var(--warmth-line);
    border-radius: 0;
    background: transparent;
}

.neighborhood-warmth-inner .faq-list details:first-child {
    border-top: 1px solid var(--warmth-line);
}

.neighborhood-warmth-inner .faq-list summary {
    color: var(--warmth-ink);
    font-size: 1rem;
}

.neighborhood-warmth-inner .faq-list summary::marker {
    color: var(--warmth-sage);
}

.neighborhood-warmth-inner .quick-links {
    gap: .55rem .9rem;
}

.neighborhood-warmth-inner .quick-links a {
    border: 0;
    border-bottom: 1px solid var(--warmth-terracotta);
    border-radius: 0;
    background: transparent;
    color: var(--warmth-terracotta);
    padding: .2rem 0;
}

.neighborhood-warmth-inner input,
.neighborhood-warmth-inner select,
.neighborhood-warmth-inner textarea {
    border: 1px solid var(--warmth-line) !important;
    border-radius: 8px !important;
    background: #fffdf9 !important;
    color: var(--warmth-ink) !important;
    box-shadow: none !important;
}

.neighborhood-warmth-inner input:focus,
.neighborhood-warmth-inner select:focus,
.neighborhood-warmth-inner textarea:focus {
    border-color: var(--warmth-sage) !important;
    box-shadow: 0 0 0 3px rgba(125, 146, 120, .18) !important;
}

.neighborhood-warmth-inner button:not(.profile-menu-trigger),
.neighborhood-warmth-inner .discover-listing-filter-btn {
    width: auto !important;
    min-height: 42px;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--warmth-sage) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.neighborhood-warmth-inner button:not(.profile-menu-trigger):hover,
.neighborhood-warmth-inner .discover-listing-filter-btn:hover {
    background: #697d65 !important;
}

.neighborhood-warmth-inner .landing-page-footer {
    border: 1px solid var(--warmth-line);
    border-radius: 16px;
    background: var(--warmth-sage-light) !important;
    color: var(--warmth-ink) !important;
    box-shadow: none;
}

.neighborhood-warmth-inner .landing-page-footer a {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-inner .warmth-site-footer--inner {
    width: min(100% - 3rem, 1440px);
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
}

.neighborhood-warmth-inner .warmth-footer__brand span {
    display: block;
    margin-top: .35rem;
    color: var(--warmth-muted);
    font-size: .82rem;
}

@media (max-width: 760px) {
    .neighborhood-warmth-inner main#main-content {
        min-height: 0;
        padding: 2rem 1rem 3rem;
    }

    .neighborhood-warmth-inner .discover-listing-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }

    .neighborhood-warmth-inner .discover-listing-header__actions {
        justify-content: flex-start;
    }

    .neighborhood-warmth-inner .portfolio-gallery-grid,
    .neighborhood-warmth-inner .reviews-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .neighborhood-warmth-inner .warmth-site-footer--inner {
        width: calc(100% - 2rem);
        grid-template-columns: 1fr;
        gap: 1.15rem;
        padding-top: 1.7rem;
    }

    .neighborhood-warmth-inner .warmth-footer__links,
    .neighborhood-warmth-inner .warmth-footer__contact {
        justify-content: flex-start;
    }

    .neighborhood-warmth-inner .warmth-footer__copyright {
        text-align: left;
    }
}

/* At compact desktop widths, let the lower landing sections breathe instead of stretching a narrow collage beside a tall service list. */
@media (max-width: 1100px) and (min-width: 761px) {
    .neighborhood-warmth-home .warmth-services,
    .neighborhood-warmth-home .warmth-portfolio,
    .neighborhood-warmth-home .warmth-testimonials,
    .neighborhood-warmth-home .warmth-faq {
        grid-column: 1 / -1;
        border-right: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .neighborhood-warmth-home .warmth-services {
        padding-top: 2.2rem;
        padding-bottom: 2.4rem;
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-home .warmth-services .home-slider__track {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .neighborhood-warmth-home .warmth-services .home-slider__slide {
        padding-right: 1rem;
        padding-left: 1rem;
        border-right: 1px solid var(--warmth-line);
        border-bottom: 0;
    }

    .neighborhood-warmth-home .warmth-services .home-slider__slide:first-child,
    .neighborhood-warmth-home .warmth-services .home-slider__slide:nth-child(4) {
        padding-left: 0;
    }

    .neighborhood-warmth-home .warmth-services .home-slider__slide:nth-child(3n) {
        border-right: 0;
    }

    .neighborhood-warmth-home .warmth-portfolio {
        padding-top: 2.5rem;
        padding-bottom: 2.8rem;
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-home .warmth-portfolio .home-slider__track {
        width: 100%;
        min-height: 300px;
    }

    .neighborhood-warmth-home .warmth-testimonials {
        padding-top: 2.5rem;
        padding-bottom: 2.7rem;
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-home .warmth-faq {
        padding-top: 2.5rem;
    }
}

/* Public drawer variant: use the same paper, ink, sage, and terracotta language as the site. */
.neighborhood-warmth-theme .profile-drawer {
    width: min(390px, 92vw);
    padding: .75rem;
}

.neighborhood-warmth-theme .profile-drawer__card {
    border: 1px solid var(--warmth-line);
    border-radius: 20px;
    background: var(--warmth-paper);
    color: var(--warmth-ink);
    box-shadow: 0 22px 46px rgba(31, 48, 59, .2);
    padding: 1rem 1rem calc(5rem + env(safe-area-inset-bottom, 0px));
}

.neighborhood-warmth-theme .profile-drawer__identity {
    border-color: var(--warmth-line);
}

.neighborhood-warmth-theme .profile-drawer__avatar {
    border-color: var(--warmth-sage);
    background: var(--warmth-sage-light);
}

.neighborhood-warmth-theme .profile-drawer__name {
    color: var(--warmth-ink);
}

.neighborhood-warmth-theme .profile-drawer__profile-link,
.neighborhood-warmth-theme .profile-drawer__version,
.neighborhood-warmth-theme .profile-drawer__footer-links a {
    color: var(--warmth-muted) !important;
}

.neighborhood-warmth-theme .profile-drawer__profile-link:hover,
.neighborhood-warmth-theme .profile-drawer__footer-links a:hover,
.neighborhood-warmth-theme .profile-drawer__version a:hover {
    color: var(--warmth-terracotta) !important;
}

.neighborhood-warmth-theme .drawer-refresh-btn,
.neighborhood-warmth-theme .drawer-notifications-btn {
    border-color: var(--warmth-line) !important;
    background: var(--warmth-paper-deep) !important;
    color: var(--warmth-ink) !important;
}

.neighborhood-warmth-theme .drawer-refresh-btn:hover,
.neighborhood-warmth-theme .drawer-notifications-btn:hover {
    border-color: var(--warmth-sage) !important;
    background: var(--warmth-sage-light) !important;
}

.neighborhood-warmth-theme .profile-drawer__links a,
.neighborhood-warmth-theme .profile-drawer__links summary {
    border-radius: 8px;
    color: var(--warmth-ink) !important;
}

.neighborhood-warmth-theme .profile-drawer__links a i,
.neighborhood-warmth-theme .profile-drawer__links summary i {
    color: var(--warmth-sage);
}

.neighborhood-warmth-theme .profile-drawer__links a:hover,
.neighborhood-warmth-theme .profile-drawer__links a:focus-visible,
.neighborhood-warmth-theme .profile-drawer__links summary:hover,
.neighborhood-warmth-theme .profile-drawer__links summary:focus-visible {
    background: var(--warmth-sage-light);
    color: var(--warmth-terracotta) !important;
}

.neighborhood-warmth-theme .profile-drawer__link-count {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-theme .profile-drawer__links .logout-link {
    border-radius: 8px;
    color: var(--warmth-terracotta) !important;
    padding: .62rem .35rem;
}

.neighborhood-warmth-theme .profile-drawer__links .logout-link:hover,
.neighborhood-warmth-theme .profile-drawer__links .logout-link:focus-visible {
    background: rgba(201, 119, 66, .12);
}

.neighborhood-warmth-theme .profile-drawer__footer {
    border-color: var(--warmth-line);
}

.neighborhood-warmth-theme .profile-drawer-backdrop {
    background: rgba(31, 48, 59, .32);
}

/* Shared account, onboarding, and admin surfaces: same site shell, same visual language. */
.neighborhood-warmth-auth main#main-content,
.neighborhood-warmth-app main#main-content,
.neighborhood-warmth-onboarding main#main-content,
.neighborhood-warmth-admin main#main-content {
    min-height: calc(100vh - 92px);
    padding: clamp(2.2rem, 5vw, 4.8rem) max(1rem, calc((100vw - 1180px) / 2));
    background: transparent;
}

.neighborhood-warmth-auth main#main-content {
    display: grid;
    align-content: start;
}

.neighborhood-warmth-auth main#main-content > h1,
.neighborhood-warmth-auth main#main-content > section h1 {
    width: min(100%, 620px);
    margin: 0 auto 1rem;
    color: var(--warmth-ink) !important;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.neighborhood-warmth-auth main#main-content > h1::after,
.neighborhood-warmth-auth main#main-content > section h1::after,
.neighborhood-warmth-admin main#main-content > h1::after,
.neighborhood-warmth-app main#main-content > h1::after,
.neighborhood-warmth-onboarding main#main-content > h1::after {
    display: block;
    width: clamp(5.5rem, 18vw, 11rem);
    max-width: 100%;
    height: .42rem;
    margin-top: .42rem;
    border-top: 2px solid var(--warmth-terracotta);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    content: "";
    transform: rotate(-1.5deg);
    transform-origin: left center;
}

.neighborhood-warmth-auth main#main-content > form,
.neighborhood-warmth-auth main#main-content > section.match-item {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    margin: 1rem auto 0 !important;
    padding: clamp(1.2rem, 3vw, 2rem) !important;
    border: 1px solid var(--warmth-line) !important;
    border-radius: 18px !important;
    background: rgba(255, 253, 249, .94) !important;
    box-shadow: 0 18px 42px rgba(50, 54, 45, .1) !important;
}

.neighborhood-warmth-auth main#main-content > section.match-item > h1 {
    margin-right: 0;
    margin-left: 0;
}

.neighborhood-warmth-theme input,
.neighborhood-warmth-theme select,
.neighborhood-warmth-theme textarea,
.neighborhood-warmth-theme button {
    border-color: var(--warmth-line);
    border-radius: 9px;
    font-family: inherit;
}

.neighborhood-warmth-auth label,
.neighborhood-warmth-onboarding label,
.neighborhood-warmth-admin label {
    color: var(--warmth-ink);
}

.neighborhood-warmth-auth input,
.neighborhood-warmth-auth select,
.neighborhood-warmth-auth textarea,
.neighborhood-warmth-onboarding input,
.neighborhood-warmth-onboarding select,
.neighborhood-warmth-onboarding textarea,
.neighborhood-warmth-admin input,
.neighborhood-warmth-admin select,
.neighborhood-warmth-admin textarea {
    background: #fffdf9;
    color: var(--warmth-ink);
}

.neighborhood-warmth-auth input[type="checkbox"],
.neighborhood-warmth-onboarding input[type="checkbox"],
.neighborhood-warmth-admin input[type="checkbox"] {
    width: auto;
}

.neighborhood-warmth-auth button,
.neighborhood-warmth-onboarding .wizard-nav-actions a,
.neighborhood-warmth-onboarding .wizard-nav-actions button,
.neighborhood-warmth-admin main#main-content button {
    border-color: var(--warmth-terracotta) !important;
    background: var(--warmth-terracotta) !important;
    color: #fff !important;
}

.neighborhood-warmth-auth a,
.neighborhood-warmth-onboarding a,
.neighborhood-warmth-admin a {
    color: var(--warmth-terracotta);
}

.neighborhood-warmth-app main#main-content > .match-item,
.neighborhood-warmth-admin main#main-content > .match-item,
.neighborhood-warmth-admin main#main-content > section,
.neighborhood-warmth-admin main#main-content > form {
    color: var(--warmth-ink);
}

.neighborhood-warmth-admin .discover-listing-filter-btn {
    border: 1px solid var(--warmth-sage) !important;
    background: var(--warmth-sage) !important;
    color: #fff !important;
}

.neighborhood-warmth-onboarding .wizard-card {
    width: min(100%, 820px);
    margin: 0 auto;
    border-color: var(--warmth-line) !important;
    background: rgba(255, 253, 249, .94) !important;
    box-shadow: 0 18px 42px rgba(50, 54, 45, .1) !important;
}

.neighborhood-warmth-onboarding .wizard-progress {
    background: var(--warmth-paper-deep) !important;
}

.neighborhood-warmth-onboarding .wizard-progress > span {
    background: var(--warmth-sage) !important;
}

.neighborhood-warmth-onboarding .onboarding-step-link {
    border-color: var(--warmth-line) !important;
    background: var(--warmth-paper-deep) !important;
    color: var(--warmth-ink) !important;
}

.neighborhood-warmth-onboarding .onboarding-step-link span {
    background: var(--warmth-sage-light) !important;
    color: var(--warmth-ink) !important;
}

.neighborhood-warmth-onboarding .onboarding-step-link.is-done span {
    background: var(--warmth-sage) !important;
    color: #fff !important;
}

.neighborhood-warmth-onboarding .onboarding-step-link.is-active {
    border-color: var(--warmth-terracotta) !important;
    background: var(--warmth-sage-light) !important;
}

.neighborhood-warmth-theme .warmth-footer__contact {
    flex-wrap: wrap;
}

.neighborhood-warmth-theme .warmth-footer__phone {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    white-space: nowrap;
}

.neighborhood-warmth-theme .warmth-footer__phone i {
    color: var(--warmth-sage);
}

.neighborhood-warmth-theme .warmth-footer__social-links {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-left: .2rem;
}

.neighborhood-warmth-theme .warmth-footer__social-link {
    display: grid;
    width: 1.95rem;
    height: 1.95rem;
    place-items: center;
    border: 1px solid var(--warmth-line);
    border-radius: 999px;
    color: var(--warmth-ink) !important;
}

.neighborhood-warmth-theme .warmth-footer__social-link:hover,
.neighborhood-warmth-theme .warmth-footer__social-link:focus-visible {
    border-color: var(--warmth-terracotta);
    color: var(--warmth-terracotta) !important;
}

/* Email template previews use the same warm shell as the actual outbound HTML. */
.neighborhood-warmth-theme .mail-template-preview,
.neighborhood-warmth-theme #mailTemplatePreview.filter-dialog {
    border: 1px solid var(--warmth-line);
    border-radius: 18px;
    background: var(--warmth-paper);
    box-shadow: 0 22px 46px rgba(31, 48, 59, .2);
}

.neighborhood-warmth-theme .mail-template-preview::backdrop,
.neighborhood-warmth-theme #mailTemplatePreview.filter-dialog::backdrop {
    background: rgba(31, 48, 59, .34);
}

.neighborhood-warmth-theme .mail-template-preview__header,
.neighborhood-warmth-theme #mailTemplatePreview.filter-dialog .filter-dialog__header {
    background: var(--warmth-paper);
    color: var(--warmth-ink);
    border-bottom: 1px solid var(--warmth-line);
}

.neighborhood-warmth-theme .mail-template-preview__header button,
.neighborhood-warmth-theme #mailTemplatePreview.filter-dialog .filter-dialog__close {
    border-color: var(--warmth-line);
    background: var(--warmth-paper-deep);
    color: var(--warmth-ink);
}

.neighborhood-warmth-theme .mail-template-preview__body,
.neighborhood-warmth-theme #mailTemplatePreviewBody {
    background: var(--warmth-paper) !important;
}

@media (max-width: 760px) {
    .neighborhood-warmth-auth main#main-content,
    .neighborhood-warmth-app main#main-content,
    .neighborhood-warmth-onboarding main#main-content,
    .neighborhood-warmth-admin main#main-content {
        min-height: 0;
        padding: 2rem 1rem 3rem;
    }

    .neighborhood-warmth-theme .warmth-footer__contact {
        align-items: flex-start;
        justify-content: flex-start;
    }
}

/* Homepage desktop composition: give the two primary content blocks room, then let reviews and FAQs span the page. */
@media (min-width: 1101px) {
    .neighborhood-warmth-home .home-landing-frame > .landing-grid:not(.landing-grid--service-areas-quote) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(1.5rem, 3vw, 3rem);
        row-gap: 0;
    }

    .neighborhood-warmth-home .home-landing-frame > .landing-grid:not(.landing-grid--service-areas-quote) > .warmth-services,
    .neighborhood-warmth-home .home-landing-frame > .landing-grid:not(.landing-grid--service-areas-quote) > .warmth-portfolio {
        grid-column: span 1;
        border-right: 0;
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-home .home-landing-frame > .landing-grid:not(.landing-grid--service-areas-quote) > .warmth-services {
        padding: 3rem 1.5rem 3rem 0;
    }

    .neighborhood-warmth-home .home-landing-frame > .landing-grid:not(.landing-grid--service-areas-quote) > .warmth-portfolio {
        padding: 3rem 0 3rem 1.5rem;
    }

    .neighborhood-warmth-home .warmth-services .home-slider__track {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 1rem !important;
    }

    .neighborhood-warmth-home .warmth-services .home-slider__slide {
        padding-right: .75rem;
    }

    .neighborhood-warmth-home .warmth-services .home-slider__slide:nth-child(2n) {
        padding-right: 0;
        padding-left: .75rem;
        border-right: 0;
    }

    .neighborhood-warmth-home .warmth-portfolio .home-slider__track {
        min-height: 360px;
        grid-template-rows: repeat(2, minmax(170px, 1fr));
    }

    .neighborhood-warmth-home .warmth-testimonials,
    .neighborhood-warmth-home .warmth-faq {
        grid-column: 1 / -1;
        border-right: 0;
    }

    .neighborhood-warmth-home .warmth-testimonials {
        border-top: 0;
    }

    .neighborhood-warmth-home .warmth-faq {
        padding: clamp(3rem, 5vw, 4.2rem) 0;
        border-top: 0;
        border-bottom: 1px solid var(--warmth-line);
    }

    .neighborhood-warmth-home .warmth-faq .landing-section__heading-row {
        align-items: baseline;
        justify-content: space-between;
    }

    .neighborhood-warmth-home .warmth-faq .landing-section__heading-cta {
        position: static;
    }

    .neighborhood-warmth-home .warmth-faq .faq-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(1.5rem, 4vw, 4rem);
    }
}

/* Keep the editorial swoop visible in the Gmail-style email preview while preserving the email-safe inline fallback. */
.neighborhood-warmth-theme .email-client-preview__message h1 + div {
    width: 110px !important;
    max-width: 32% !important;
    min-width: 72px !important;
    height: 10px !important;
    margin-top: 12px !important;
    background: transparent !important;
    border-top: 3px solid var(--warmth-terracotta) !important;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
    transform: rotate(-2deg);
    transform-origin: left center;
}

.neighborhood-warmth-theme .landing-section--quote h2::after {
    display: block;
    border-top-color: rgba(255, 255, 255, .88);
}
