:root {
    --if-navy: #152033;
    --if-text: #24324a;
    --if-muted: #637086;
    --if-border: #d7e0ea;
    --if-soft: #f3f7f6;
    --if-white: #ffffff;
    --if-blue: #2563eb;
    --if-teal: #0f9488;
    --if-green: #16a34a;
    --if-amber: #d97706;
    --if-shadow: 0 18px 42px rgba(21, 32, 51, 0.10);
}

body {
    color: var(--if-text);
    background: var(--if-white);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
}

a {
    color: var(--if-blue);
}

a:hover,
a:focus {
    color: var(--if-teal);
}

.ifinder-home,
.ifinder-page {
    overflow: hidden;
    background: var(--if-white);
}

.ifinder-container {
    width: min(100% - 40px, 1240px);
    margin: 0 auto;
}

.ifinder-site-header {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid rgba(215, 224, 234, 0.9);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 10px 28px rgba(21, 32, 51, 0.05);
}

.ifinder-site-header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    min-height: 94px;
}

.ifinder-site-logo {
    display: inline-flex;
    align-items: center;
    width: 214px;
    max-width: 42vw;
    text-decoration: none;
}

.ifinder-site-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.ifinder-primary-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

.ifinder-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ifinder-menu li {
    margin: 0;
}

.ifinder-menu a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 10px;
    border-radius: 8px;
    color: var(--if-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

.ifinder-menu a:hover,
.ifinder-menu .current-menu-item > a,
.ifinder-menu .current_page_item > a {
    background: #e8f7f4;
    color: #08766d;
}

.ifinder-header-cta,
.ifinder-button,
.ifinder-starter-card button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 11px 16px;
    border: 1px solid var(--if-blue);
    border-radius: 6px;
    background: var(--if-blue);
    color: #ffffff;
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.20);
    cursor: pointer;
}

.ifinder-header-cta:hover,
.ifinder-header-cta:focus,
.ifinder-button:hover,
.ifinder-button:focus,
.ifinder-starter-card button:hover,
.ifinder-starter-card button:focus {
    border-color: #1d4ed8;
    background: #1d4ed8;
    color: #ffffff;
}

.ifinder-button-light {
    border-color: #ffffff;
    background: #ffffff;
    color: var(--if-navy);
    box-shadow: none;
}

.ifinder-button-light:hover,
.ifinder-button-light:focus {
    border-color: #d8eef0;
    background: #d8eef0;
    color: var(--if-navy);
}

.ifinder-button-icon,
.ifinder-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ifinder-button-icon {
    width: 18px;
    height: 18px;
}

.ifinder-icon {
    width: 46px;
    height: 46px;
    color: var(--if-teal);
}

.ifinder-button-icon svg,
.ifinder-icon svg,
.ifinder-preview svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ifinder-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--if-border);
    border-radius: 8px;
    background: var(--if-white);
    cursor: pointer;
}

.ifinder-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    margin: 3px 0;
    border-radius: 999px;
    background: var(--if-navy);
}

.ifinder-hero {
    position: relative;
    padding: 44px 0 64px;
    border-bottom: 1px solid var(--if-border);
    background: linear-gradient(180deg, #f7fbfb 0%, #ffffff 100%);
}

.ifinder-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    min-height: 560px;
}

.ifinder-hero-copy {
    max-width: 720px;
}

.ifinder-badge,
.ifinder-section-heading span,
.ifinder-network-cta span,
.ifinder-page-hero span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 14px;
    border: 1px solid #a9ded8;
    border-radius: 999px;
    background: #e8f7f4;
    color: #08766d;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1.25;
}

.ifinder-hero h1 {
    max-width: 680px;
    margin: 18px 0;
    color: var(--if-navy);
    font-size: clamp(3rem, 5.2vw, 5.15rem);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: 0;
}

.ifinder-lead {
    max-width: 620px;
    margin: 0 0 26px;
    color: var(--if-text);
    font-size: 1.1rem;
    line-height: 1.65;
}

.ifinder-starter-wrap {
    width: min(100%, 500px);
    justify-self: end;
}

.ifinder-starter-card {
    box-sizing: border-box;
    display: grid;
    width: 100%;
    gap: 0;
    padding: 26px;
    border: 1px solid rgba(215, 224, 234, 0.96);
    border-radius: 8px;
    background: #ffffff;
    color: var(--if-navy);
    box-shadow: 0 28px 66px rgba(21, 32, 51, 0.16);
}

.ifinder-starter-kicker {
    margin: 0 0 10px;
    color: #08766d;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
}

.ifinder-starter-card h2 {
    margin: 0 0 8px;
    color: var(--if-navy);
    font-size: 1.86rem;
    font-weight: 900;
    line-height: 1.12;
    text-align: center;
    letter-spacing: 0;
}

.ifinder-starter-intro {
    margin: 0 0 18px;
    color: var(--if-text);
    font-size: 0.98rem;
    line-height: 1.5;
    text-align: center;
}

.ifinder-starter-card label,
.ifinder-starter-card legend {
    display: block;
    margin: 0 0 8px;
    color: var(--if-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.3;
}

.ifinder-starter-card select,
.ifinder-starter-card input[type="text"] {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 14px;
    padding: 13px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: var(--if-navy);
    font: inherit;
    font-size: 1rem;
    line-height: 1.3;
}

.ifinder-starter-card select:focus,
.ifinder-starter-card input[type="text"]:focus {
    outline: none;
    border-color: var(--if-teal);
    box-shadow: 0 0 0 4px rgba(15, 148, 136, 0.12);
}

.ifinder-starter-card fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
}

.ifinder-starter-card fieldset legend {
    flex: 0 0 100%;
    margin-bottom: 0;
}

.ifinder-starter-card fieldset label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--if-navy);
    font-weight: 600;
}

.ifinder-starter-card input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--if-teal);
}

.ifinder-starter-card button {
    width: 100%;
    min-height: 48px;
    margin: 2px 0 0;
    padding: 15px 18px;
    border-radius: 8px;
    font-size: 1rem;
}

.ifinder-starter-error {
    min-height: 20px;
    margin: 0 0 10px;
    color: #b45309;
    font-size: 0.9rem;
    line-height: 1.35;
    text-align: center;
}

.ifinder-starter-error:empty {
    display: none;
}

.ifinder-starter-secure {
    margin: 12px 0 0;
    color: var(--if-muted);
    font-size: 0.86rem;
    line-height: 1.4;
    text-align: center;
}

.ifinder-plugin-missing {
    box-sizing: border-box;
    width: 100%;
    padding: 26px;
    border: 1px solid rgba(215, 224, 234, 0.96);
    border-radius: 8px;
    background: #ffffff;
    color: var(--if-navy);
    box-shadow: 0 28px 66px rgba(21, 32, 51, 0.16);
    text-align: center;
}

.ifinder-plugin-missing h2 {
    margin: 0 0 10px;
    color: var(--if-navy);
    font-size: 1.86rem;
    font-weight: 900;
    line-height: 1.12;
}

.ifinder-plugin-missing p {
    margin: 0;
    color: var(--if-muted);
    font-size: 0.98rem;
    line-height: 1.5;
}

.ifinder-popular-searches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
    margin-top: 18px;
    color: var(--if-muted);
    font-size: 0.92rem;
    font-weight: 800;
}

.ifinder-popular-searches a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #b9e5e0;
    border-radius: 999px;
    background: #ffffff;
    color: #08766d;
    text-decoration: none;
}

.ifinder-popular-searches a:hover,
.ifinder-popular-searches a:focus {
    background: #e8f7f4;
    color: #075f58;
}

.ifinder-preview {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(215, 224, 234, 0.96);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 28px 66px rgba(21, 32, 51, 0.16);
}

.ifinder-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.ifinder-preview-head div {
    display: grid;
    gap: 4px;
}

.ifinder-preview-head span {
    color: #08766d;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ifinder-preview-head strong {
    color: var(--if-navy);
    font-size: 1.35rem;
    line-height: 1.1;
}

.ifinder-preview-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid #c7d2fe;
    border-radius: 999px;
    background: #eef2ff;
    color: #1d4ed8 !important;
    font-size: 0.78rem !important;
}

.ifinder-preview-map {
    position: relative;
    min-height: 210px;
    overflow: hidden;
    border: 1px solid #d7e0ea;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(215, 224, 234, 0.48) 1px, transparent 1px),
        linear-gradient(180deg, rgba(215, 224, 234, 0.48) 1px, transparent 1px),
        #f8fafc;
    background-size: 44px 44px;
}

.ifinder-map-pin {
    position: absolute;
    z-index: 2;
    width: 34px;
    height: 34px;
    color: var(--if-blue);
    filter: drop-shadow(0 10px 16px rgba(37, 99, 235, 0.22));
}

.ifinder-map-pin-one {
    left: 22%;
    top: 22%;
}

.ifinder-map-pin-two {
    right: 22%;
    top: 36%;
    color: var(--if-teal);
}

.ifinder-map-pin-three {
    left: 46%;
    bottom: 18%;
    color: var(--if-amber);
}

.ifinder-map-line {
    position: absolute;
    height: 2px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.24);
    transform-origin: left center;
}

.ifinder-map-line-one {
    left: 29%;
    top: 35%;
    width: 44%;
    transform: rotate(11deg);
}

.ifinder-map-line-two {
    left: 50%;
    top: 58%;
    width: 29%;
    background: rgba(15, 148, 136, 0.28);
    transform: rotate(-24deg);
}

.ifinder-preview-list {
    display: grid;
    gap: 0;
    margin-top: 18px;
    border: 1px solid #d7e0ea;
    border-radius: 8px;
    background: #ffffff;
}

.ifinder-preview-list > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 74px;
    padding: 14px;
}

.ifinder-preview-list > div + div {
    border-top: 1px solid #d7e0ea;
}

.ifinder-preview-list span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #b9e5e0;
    border-radius: 50%;
    background: #e8f7f4;
    color: var(--if-teal);
}

.ifinder-preview-list strong,
.ifinder-preview-list small {
    display: block;
}

.ifinder-preview-list strong {
    color: var(--if-navy);
    font-size: 0.98rem;
    line-height: 1.28;
}

.ifinder-preview-list small {
    margin-top: 3px;
    color: var(--if-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.ifinder-proof {
    position: relative;
    z-index: 2;
    margin-top: -34px;
    padding-bottom: 34px;
}

.ifinder-proof-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--if-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--if-shadow);
}

.ifinder-proof-item {
    display: grid;
    grid-template-columns: 54px 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
    align-items: center;
    min-height: 104px;
    padding: 18px 22px;
    border-right: 1px solid var(--if-border);
}

.ifinder-proof-item:last-child {
    border-right: 0;
}

.ifinder-proof-item .ifinder-icon {
    grid-row: 1 / span 2;
}

.ifinder-proof-item strong {
    align-self: end;
    color: var(--if-navy);
    font-size: 1rem;
    line-height: 1.28;
}

.ifinder-proof-item small {
    align-self: start;
    color: var(--if-muted);
    font-size: 0.9rem;
    line-height: 1.35;
}

.ifinder-section {
    padding: 62px 0 78px;
}

.ifinder-section-heading {
    max-width: 780px;
    margin: 0 auto 34px;
    text-align: center;
}

.ifinder-section-heading-left {
    margin: 0;
    text-align: left;
}

.ifinder-section-heading h2,
.ifinder-network-cta h2,
.ifinder-page-hero h1 {
    margin: 16px 0 0;
    color: var(--if-navy);
    font-size: clamp(2.1rem, 3.5vw, 3.25rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.ifinder-section-heading p {
    margin: 16px 0 0;
    color: var(--if-text);
    font-size: 1.04rem;
    line-height: 1.65;
}

.ifinder-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.ifinder-service-card {
    display: grid;
    gap: 12px;
    min-height: 212px;
    padding: 22px;
    border: 1px solid var(--if-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--if-text);
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(21, 32, 51, 0.06);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ifinder-service-card:hover,
.ifinder-service-card:focus {
    border-color: #a9ded8;
    color: var(--if-text);
    box-shadow: 0 18px 38px rgba(21, 32, 51, 0.10);
    transform: translateY(-2px);
}

.ifinder-service-card strong {
    color: var(--if-navy);
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.25;
}

.ifinder-service-card small {
    color: var(--if-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.ifinder-service-card em {
    align-self: end;
    color: #08766d;
    font-size: 0.88rem;
    font-style: normal;
    font-weight: 900;
}

.ifinder-how {
    border-top: 1px solid var(--if-border);
    border-bottom: 1px solid var(--if-border);
    background: #f8fafc;
}

.ifinder-split {
    display: grid;
    grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 70px);
    align-items: start;
}

.ifinder-steps {
    display: grid;
    gap: 12px;
}

.ifinder-step {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 18px;
    align-items: center;
    min-height: 118px;
    padding: 22px;
    border: 1px solid var(--if-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 26px rgba(21, 32, 51, 0.05);
}

.ifinder-step > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--if-teal);
    color: #ffffff;
    font-weight: 900;
}

.ifinder-step h3 {
    margin: 0 0 6px;
    color: var(--if-navy);
    font-size: 1.14rem;
    font-weight: 900;
    line-height: 1.3;
}

.ifinder-step p {
    margin: 0;
    color: var(--if-muted);
    font-size: 0.96rem;
    line-height: 1.55;
}

.ifinder-locations {
    padding-top: 58px;
}

.ifinder-location-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.ifinder-location-row span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    min-width: 118px;
    padding: 9px 14px;
    border: 1px solid var(--if-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--if-navy);
    font-weight: 900;
    text-decoration: none;
}

.ifinder-location-row span:hover {
    border-color: #a9ded8;
    background: #e8f7f4;
    color: #08766d;
}

.ifinder-network-cta {
    padding: 58px 0;
    background: var(--if-navy);
    color: #ffffff;
}

.ifinder-network-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ifinder-network-cta span {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.10);
    color: #d8eef0;
}

.ifinder-network-cta h2 {
    max-width: 860px;
    color: #ffffff;
    font-size: clamp(1.8rem, 3vw, 2.75rem);
}

.ifinder-site-footer {
    border-top: 1px solid #c8dedc;
    background: #0f172a;
    color: #ffffff;
}

.ifinder-site-footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    min-height: 90px;
    padding-top: 22px;
    padding-bottom: 22px;
}

.ifinder-site-footer-inner > div {
    display: grid;
    gap: 5px;
}

.ifinder-site-footer strong {
    color: #ffffff;
    font-size: 1.02rem;
}

.ifinder-site-footer span,
.ifinder-footer-links a {
    color: #d8eef0;
    font-size: 0.92rem;
}

.ifinder-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.ifinder-footer-links a {
    font-weight: 800;
    text-decoration: none;
}

.ifinder-footer-links a:hover,
.ifinder-footer-links a:focus {
    color: #ffffff;
}

.ifinder-page-hero {
    padding: 74px 0 58px;
    border-bottom: 1px solid var(--if-border);
    background: linear-gradient(180deg, #e8f7f4 0%, #ffffff 100%);
}

.ifinder-page-hero h1 {
    max-width: 920px;
}

.ifinder-page-content-section {
    padding: 58px 0 86px;
}

.ifinder-page-content {
    max-width: 920px;
    color: var(--if-text);
    font-size: 1.05rem;
    line-height: 1.75;
}

.ifinder-page-content > *:first-child {
    margin-top: 0;
}

.ifinder-page-content h2,
.ifinder-page-content h3,
.ifinder-page-content h4 {
    color: var(--if-navy);
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.ifinder-page-content h2 {
    margin: 2.1rem 0 1rem;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.ifinder-page-content h3 {
    margin: 1.8rem 0 0.8rem;
    font-size: 1.45rem;
}

.ifinder-page-content p,
.ifinder-page-content ul,
.ifinder-page-content ol {
    margin-bottom: 1.25rem;
}

.ifinder-page-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

button,
input[type="submit"],
.wp-block-button__link {
    border: 0;
    border-radius: 6px;
    background: var(--if-blue);
    color: #ffffff;
    font-weight: 900;
    letter-spacing: 0;
}

button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    background: #1d4ed8;
    color: #ffffff;
}

@media (max-width: 1120px) {
    .ifinder-site-header-inner {
        grid-template-columns: auto auto auto;
    }

    .ifinder-primary-nav {
        order: 4;
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .ifinder-menu {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .ifinder-hero-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .ifinder-preview {
        max-width: 680px;
    }

    .ifinder-proof-grid,
    .ifinder-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ifinder-proof-item:nth-child(2) {
        border-right: 0;
    }

    .ifinder-proof-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--if-border);
    }

    .ifinder-split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .ifinder-container {
        width: min(100% - 28px, 1240px);
    }

    .ifinder-site-header-inner {
        grid-template-columns: auto auto;
        min-height: 78px;
    }

    .ifinder-site-logo {
        width: 166px;
        max-width: 62vw;
    }

    .ifinder-header-cta {
        display: none;
    }

    .ifinder-menu-toggle {
        display: inline-flex;
        flex-direction: column;
        justify-self: end;
    }

    .ifinder-primary-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        padding: 12px 14px 18px;
        border-bottom: 1px solid var(--if-border);
        background: #ffffff;
        box-shadow: 0 18px 34px rgba(21, 32, 51, 0.12);
    }

    .ifinder-primary-nav.is-open {
        display: block;
    }

    .ifinder-menu {
        display: grid;
        gap: 4px;
        max-width: 1240px;
        margin: 0 auto;
    }

    .ifinder-menu a {
        justify-content: center;
        min-height: 44px;
        font-size: 0.95rem;
    }

    .ifinder-hero {
        padding: 30px 0 54px;
    }

    .ifinder-hero h1 {
        font-size: clamp(2.35rem, 12vw, 3.2rem);
    }

    .ifinder-lead {
        font-size: 1rem;
    }

    .ifinder-starter-wrap {
        width: 100%;
        justify-self: stretch;
    }

    .ifinder-starter-card {
        padding: 22px;
    }

    .ifinder-preview {
        padding: 18px;
    }

    .ifinder-preview-map {
        min-height: 180px;
    }

    .ifinder-preview-list > div {
        grid-template-columns: 38px 1fr;
        padding: 12px;
    }

    .ifinder-proof {
        margin-top: -24px;
        padding-bottom: 30px;
    }

    .ifinder-proof-grid,
    .ifinder-service-grid {
        grid-template-columns: 1fr;
    }

    .ifinder-proof-item,
    .ifinder-proof-item:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid var(--if-border);
    }

    .ifinder-proof-item:last-child {
        border-bottom: 0;
    }

    .ifinder-section {
        padding: 46px 0 58px;
    }

    .ifinder-section-heading,
    .ifinder-section-heading-left {
        text-align: center;
    }

    .ifinder-service-card {
        min-height: 0;
    }

    .ifinder-network-cta-inner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .ifinder-network-cta .ifinder-button {
        width: 100%;
    }

    .ifinder-page-hero {
        padding: 44px 0 36px;
    }

    .ifinder-page-content-section {
        padding: 36px 0 58px;
    }
}

@media (max-width: 480px) {
    .ifinder-site-logo {
        width: 146px;
    }

    .ifinder-preview-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ifinder-proof-item {
        grid-template-columns: 48px 1fr;
        min-height: 92px;
        padding: 16px 18px;
    }

    .ifinder-icon {
        width: 42px;
        height: 42px;
    }

    .ifinder-step {
        grid-template-columns: 46px 1fr;
        padding: 18px;
    }
}

/* v0.1.6 public polish */
.ifinder-hero {
    min-height: clamp(560px, 78vh, 720px);
    padding: 42px 0 72px;
    border-bottom: 0;
    background: #eef6f5;
}

.ifinder-hero-media,
.ifinder-hero-overlay {
    position: absolute;
    inset: 0;
}

.ifinder-hero-media {
    background:
        linear-gradient(90deg, rgba(37, 99, 235, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15, 148, 136, 0.07) 1px, transparent 1px);
    background-size: 52px 52px;
}

.ifinder-hero-overlay {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.92) 34%, rgba(255, 255, 255, 0.58) 58%, rgba(255, 255, 255, 0.14) 100%),
        linear-gradient(180deg, rgba(247, 251, 251, 0.18) 0%, rgba(21, 32, 51, 0.12) 100%);
}

.ifinder-hero-grid {
    position: relative;
    z-index: 2;
    min-height: clamp(500px, 68vh, 640px);
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 460px);
}

.ifinder-hero h1 {
    max-width: 760px;
    margin: 18px 0 16px;
    font-size: clamp(3.15rem, 5.6vw, 5.6rem);
}

.ifinder-lead {
    max-width: 660px;
    margin-bottom: 22px;
    font-size: 1.15rem;
}

.ifinder-hero-promises {
    display: grid;
    gap: 9px;
    max-width: 520px;
    margin: 0 0 22px;
}

.ifinder-hero-promises div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    color: var(--if-navy);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.35;
}

.ifinder-hero-promises span {
    display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e8f7f4;
    color: #08766d;
}

.ifinder-hero-promises svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
}

.ifinder-starter-wrap {
    width: min(100%, 460px);
}

.ifinder-starter-wrap .ifq-starter-card {
    max-width: none;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.76);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 30px 70px rgba(21, 32, 51, 0.22);
    backdrop-filter: blur(8px);
}

.ifinder-starter-wrap .ifq-starter-card h2 {
    font-size: 1.72rem;
}

.ifinder-proof {
    margin-top: -36px;
    padding-bottom: 22px;
}

.ifinder-proof-grid {
    border-color: rgba(215, 224, 234, 0.82);
    box-shadow: 0 22px 50px rgba(21, 32, 51, 0.12);
}

.ifinder-proof-item {
    background: rgba(255, 255, 255, 0.98);
}

.ifinder-services {
    padding-top: 52px;
}

.ifinder-service-card {
    position: relative;
    min-height: 228px;
    overflow: hidden;
}

.ifinder-service-card::after {
    content: "";
    position: absolute;
    inset: auto 18px 18px auto;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #eef7fb;
}

.ifinder-service-card .ifinder-icon,
.ifinder-service-card strong,
.ifinder-service-card small,
.ifinder-service-card em {
    position: relative;
    z-index: 2;
}

.ifinder-service-card em::after {
    content: " ->";
}

.ifinder-quote-hero {
    position: relative;
    overflow: hidden;
    padding: 56px 0 42px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 46%, rgba(255, 255, 255, 0.55) 100%),
        linear-gradient(135deg, #f7fbfb 0%, #eef7fb 100%);
}

.ifinder-quote-hero h1 {
    max-width: 760px;
    font-size: clamp(2.3rem, 4.2vw, 4.1rem);
}

.ifinder-quote-hero p {
    max-width: 700px;
    margin: 16px 0 0;
    color: var(--if-text);
    font-size: 1.06rem;
    line-height: 1.62;
}

.ifinder-quote-content-section {
    padding: 42px 0 76px;
    background: linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);
}

.ifinder-quote-content {
    max-width: 980px;
    margin: 0 auto;
}

.ifinder-quote-content .ifq-form {
    max-width: 900px;
    border-color: rgba(215, 224, 234, 0.88);
    box-shadow: 0 28px 62px rgba(21, 32, 51, 0.12);
}

.ifinder-quote-content .ifq-form-head h2 {
    font-size: clamp(1.9rem, 3.2vw, 2.75rem);
}

@media (max-width: 1120px) {
    .ifinder-hero {
        min-height: auto;
    }

    .ifinder-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .ifinder-starter-wrap {
        width: min(100%, 560px);
        justify-self: start;
    }
}

@media (max-width: 820px) {
    .ifinder-hero {
        padding: 34px 0 58px;
    }

    .ifinder-hero-overlay {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 58%, rgba(255, 255, 255, 0.82) 100%),
            rgba(255, 255, 255, 0.4);
    }

    .ifinder-hero-media {
        background-position: center top;
        opacity: 0.42;
    }

    .ifinder-hero h1 {
        font-size: clamp(2.4rem, 11vw, 3.65rem);
    }

    .ifinder-hero-promises {
        max-width: none;
    }

    .ifinder-starter-wrap {
        justify-self: stretch;
    }

    .ifinder-starter-wrap .ifq-starter-card {
        padding: 22px;
        backdrop-filter: none;
    }

    .ifinder-proof {
        margin-top: -22px;
    }

    .ifinder-quote-hero {
        padding: 42px 0 34px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.88) 100%),
            linear-gradient(135deg, #f7fbfb 0%, #eef7fb 100%);
    }

    .ifinder-quote-content-section {
        padding: 28px 0 56px;
    }
}

/* v0.1.7 icon network and service palettes */
.ifinder-service-theme-solar-panels {
    --svc: #06a735;
    --svc-dark: #057326;
    --svc-soft: #ecfdf2;
    --svc-border: #a7efbb;
    --svc-rgb: 6, 167, 53;
}

.ifinder-service-theme-heat-pumps {
    --svc: #f25a1d;
    --svc-dark: #b8340b;
    --svc-soft: #fff3ed;
    --svc-border: #ffc4a8;
    --svc-rgb: 242, 90, 29;
}

.ifinder-service-theme-ev-chargers {
    --svc: #1266f1;
    --svc-dark: #0c43a8;
    --svc-soft: #eff6ff;
    --svc-border: #b8d2ff;
    --svc-rgb: 18, 102, 241;
}

.ifinder-service-theme-battery-storage {
    --svc: #6d28d9;
    --svc-dark: #4c1d95;
    --svc-soft: #f5f0ff;
    --svc-border: #d7c6ff;
    --svc-rgb: 109, 40, 217;
}

.ifinder-service-theme-windows-doors {
    --svc: #1f74e8;
    --svc-dark: #124b9e;
    --svc-soft: #eef7ff;
    --svc-border: #b9d8ff;
    --svc-rgb: 31, 116, 232;
}

.ifinder-service-theme-boilers-heating {
    --svc: #e1192d;
    --svc-dark: #9f1020;
    --svc-soft: #fff1f2;
    --svc-border: #ffb8c0;
    --svc-rgb: 225, 25, 45;
}

.ifinder-service-theme-insulation {
    --svc: #e79a00;
    --svc-dark: #9a6500;
    --svc-soft: #fff8e6;
    --svc-border: #ffd887;
    --svc-rgb: 231, 154, 0;
}

.ifinder-service-theme-air-conditioning {
    --svc: #159fe8;
    --svc-dark: #0c6695;
    --svc-soft: #ecf9ff;
    --svc-border: #b7e6ff;
    --svc-rgb: 21, 159, 232;
}

.ifinder-service-theme-ventilation {
    --svc: #0f8792;
    --svc-dark: #075b63;
    --svc-soft: #eefcfd;
    --svc-border: #a9e5ea;
    --svc-rgb: 15, 135, 146;
}

.ifinder-hero-media,
.ifinder-hero-overlay {
    display: none;
}

.ifinder-hero {
    min-height: auto;
    padding: 48px 0 68px;
    border-bottom: 1px solid rgba(215, 224, 234, 0.78);
    background:
        linear-gradient(90deg, rgba(21, 32, 51, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15, 148, 136, 0.06) 1px, transparent 1px),
        linear-gradient(135deg, #fbfdfd 0%, #f0f8f7 58%, #ffffff 100%);
    background-size: 56px 56px, 56px 56px, auto;
}

.ifinder-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.72) 44%, rgba(255, 255, 255, 0.42) 100%),
        repeating-linear-gradient(135deg, rgba(37, 99, 235, 0.04) 0 2px, transparent 2px 18px);
    pointer-events: none;
}

.ifinder-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 0;
    grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

.ifinder-hero h1 {
    max-width: 690px;
    font-size: clamp(3rem, 5.4vw, 5.35rem);
}

.ifinder-lead {
    max-width: 640px;
}

.ifinder-hero-stack {
    display: grid;
    width: min(100%, 620px);
    gap: 22px;
    justify-self: end;
}

.ifinder-service-orbit {
    position: relative;
    width: min(100%, 580px);
    aspect-ratio: 1;
    justify-self: center;
    isolation: isolate;
}

.ifinder-service-orbit::before,
.ifinder-service-orbit::after,
.ifinder-orbit-ring {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.ifinder-service-orbit::before {
    inset: 52px;
    z-index: 0;
    background: conic-gradient(from -90deg, #06a735 0 40deg, #f25a1d 40deg 80deg, #1f74e8 80deg 120deg, #6d28d9 120deg 160deg, #e79a00 160deg 200deg, #1266f1 200deg 240deg, #159fe8 240deg 280deg, #e1192d 280deg 320deg, #0f8792 320deg 360deg);
    opacity: 0.18;
}

.ifinder-service-orbit::after {
    inset: 98px;
    z-index: 1;
    border: 1px solid rgba(215, 224, 234, 0.82);
    background: rgba(255, 255, 255, 0.88);
}

.ifinder-orbit-ring-one {
    inset: 44px;
    z-index: 1;
    border: 8px solid rgba(21, 32, 51, 0.08);
}

.ifinder-orbit-ring-two {
    inset: 116px;
    z-index: 2;
    border: 1px dashed rgba(15, 148, 136, 0.28);
}

.ifinder-orbit-center {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    display: grid;
    width: 178px;
    min-height: 160px;
    align-content: center;
    justify-items: center;
    padding: 18px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 54px rgba(21, 32, 51, 0.14);
    color: var(--if-navy);
    text-align: center;
    transform: translate(-50%, -50%);
}

.ifinder-orbit-mark {
    display: inline-flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    border: 1px solid #b9e5e0;
    border-radius: 50%;
    background: #e8f7f4;
    color: var(--if-blue);
}

.ifinder-orbit-mark svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ifinder-orbit-center strong {
    color: var(--if-navy);
    font-size: 1.52rem;
    font-weight: 900;
    line-height: 0.96;
}

.ifinder-orbit-center small {
    margin-top: 8px;
    color: var(--if-muted);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.25;
}

.ifinder-orbit-node {
    position: absolute;
    z-index: 5;
    display: grid;
    width: 118px;
    min-height: 84px;
    align-content: center;
    justify-items: center;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--svc-border, #b9e5e0);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.97);
    color: var(--svc, var(--if-teal));
    text-align: center;
    text-decoration: none;
    box-shadow: 0 16px 32px rgba(21, 32, 51, 0.10);
    transform: translate(-50%, -50%);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.ifinder-orbit-node:hover,
.ifinder-orbit-node:focus {
    border-color: var(--svc, var(--if-teal));
    background: var(--svc-soft, #e8f7f4);
    color: var(--svc-dark, var(--if-teal));
    box-shadow: 0 20px 40px rgba(21, 32, 51, 0.16);
}

.ifinder-orbit-node .ifinder-icon {
    width: 38px;
    height: 38px;
    color: currentColor;
}

.ifinder-orbit-node strong {
    color: var(--if-navy);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.08;
}

.ifinder-orbit-node-1 {
    left: 50%;
    top: 8%;
}

.ifinder-orbit-node-2 {
    left: 78%;
    top: 21%;
}

.ifinder-orbit-node-3 {
    left: 91%;
    top: 47%;
}

.ifinder-orbit-node-4 {
    left: 78%;
    top: 73%;
}

.ifinder-orbit-node-5 {
    left: 58%;
    top: 89%;
}

.ifinder-orbit-node-6 {
    left: 37%;
    top: 89%;
}

.ifinder-orbit-node-7 {
    left: 15%;
    top: 73%;
}

.ifinder-orbit-node-8 {
    left: 8%;
    top: 47%;
}

.ifinder-orbit-node-9 {
    left: 22%;
    top: 21%;
}

.ifinder-hero-stack .ifinder-starter-wrap {
    width: min(100%, 500px);
    justify-self: center;
}

.ifinder-starter-wrap .ifq-starter-card {
    border-top: 5px solid var(--if-blue);
}

.ifinder-service-card {
    border-color: var(--svc-border, var(--if-border));
    background:
        linear-gradient(180deg, rgba(var(--svc-rgb, 15, 148, 136), 0.08) 0%, rgba(255, 255, 255, 0) 42%),
        #ffffff;
}

.ifinder-service-card:hover,
.ifinder-service-card:focus {
    border-color: var(--svc, var(--if-teal));
    box-shadow: 0 20px 42px rgba(var(--svc-rgb, 15, 148, 136), 0.16);
}

.ifinder-service-card .ifinder-icon {
    box-sizing: border-box;
    width: 52px;
    height: 52px;
    padding: 10px;
    border: 1px solid var(--svc-border, #b9e5e0);
    border-radius: 50%;
    background: var(--svc-soft, #e8f7f4);
    color: var(--svc, var(--if-teal));
}

.ifinder-service-card::after {
    background: var(--svc-soft, #eef7fb);
    box-shadow: inset 0 0 0 1px var(--svc-border, #d7e0ea);
}

.ifinder-service-card em {
    color: var(--svc-dark, #08766d);
}

.ifinder-page-hero-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.ifinder-page-hero:not(.ifinder-quote-hero) .ifinder-page-hero-inner {
    display: block;
}

.ifinder-quote-hero {
    border-bottom: 1px solid var(--svc-border, var(--if-border));
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.78) 54%, rgba(255, 255, 255, 0.58) 100%),
        linear-gradient(135deg, var(--svc-soft, #f7fbfb) 0%, #ffffff 100%);
}

.ifinder-quote-hero > .ifinder-container {
    position: relative;
}

.ifinder-quote-hero span:not(.ifinder-quote-icon) {
    border-color: var(--svc-border, #a9ded8);
    background: var(--svc-soft, #e8f7f4);
    color: var(--svc-dark, #08766d);
}

.ifinder-quote-icon {
    display: inline-flex;
    width: 76px;
    height: 76px;
    align-items: center;
    justify-content: center;
    padding: 17px;
    border: 1px solid var(--svc-border, #a9ded8);
    border-radius: 50%;
    background: #ffffff;
    color: var(--svc, var(--if-teal));
    box-shadow: 0 18px 36px rgba(var(--svc-rgb, 15, 148, 136), 0.16);
}

.ifinder-quote-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ifinder-quote-content-section {
    background:
        linear-gradient(180deg, rgba(var(--svc-rgb, 15, 148, 136), 0.07) 0%, rgba(255, 255, 255, 0) 280px),
        #ffffff;
}

.ifinder-quote-content .ifq-form {
    border-top: 5px solid var(--svc, var(--if-blue));
}

@media (max-width: 1180px) {
    .ifinder-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ifinder-hero-copy {
        max-width: 820px;
    }

    .ifinder-hero-stack {
        justify-self: center;
        width: min(100%, 720px);
    }
}

@media (max-width: 720px) {
    .ifinder-hero {
        padding: 36px 0 54px;
    }

    .ifinder-hero h1 {
        font-size: clamp(2.35rem, 11vw, 3.55rem);
    }

    .ifinder-service-orbit {
        display: grid;
        width: 100%;
        aspect-ratio: auto;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        padding: 14px;
        border: 1px solid rgba(215, 224, 234, 0.84);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 20px 44px rgba(21, 32, 51, 0.10);
    }

    .ifinder-service-orbit::before,
    .ifinder-service-orbit::after,
    .ifinder-orbit-ring {
        display: none;
    }

    .ifinder-orbit-center,
    .ifinder-orbit-node {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
    }

    .ifinder-orbit-center {
        width: 100%;
        min-height: 122px;
        grid-column: 1 / -1;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 14px;
        align-items: center;
        justify-items: start;
        text-align: left;
        box-shadow: none;
    }

    .ifinder-orbit-mark {
        grid-row: 1 / span 2;
        margin: 0;
    }

    .ifinder-orbit-center strong {
        font-size: 1.32rem;
    }

    .ifinder-orbit-center small {
        margin-top: 0;
    }

    .ifinder-orbit-node {
        width: auto;
        min-height: 76px;
        box-shadow: none;
    }

    .ifinder-orbit-node .ifinder-icon {
        width: 34px;
        height: 34px;
    }

    .ifinder-page-hero-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .ifinder-service-orbit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ifinder-orbit-center {
        grid-column: 1 / -1;
    }
}

/* v0.1.8 supplied logo-led brand polish */
.ifinder-site-logo {
    width: 260px;
    max-width: 44vw;
}

.ifinder-site-logo img {
    border-radius: 0;
}

.ifinder-hero {
    background:
        linear-gradient(90deg, rgba(21, 32, 51, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(37, 99, 235, 0.045) 1px, transparent 1px),
        radial-gradient(circle at 78% 14%, rgba(37, 99, 235, 0.10), transparent 36%),
        linear-gradient(135deg, #ffffff 0%, #f7fbff 46%, #eef7f4 100%);
    background-size: 58px 58px, 58px 58px, auto, auto;
}

.ifinder-hero::before {
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.78) 48%, rgba(255, 255, 255, 0.62) 100%),
        repeating-linear-gradient(135deg, rgba(21, 32, 51, 0.028) 0 2px, transparent 2px 20px);
}

.ifinder-hero-grid {
    grid-template-columns: minmax(0, 0.86fr) minmax(520px, 0.98fr);
}

.ifinder-hero-stack {
    width: min(100%, 640px);
    gap: 16px;
}

.ifinder-brand-showcase {
    display: grid;
    gap: 12px;
}

.ifinder-brand-primary,
.ifinder-service-logo-pill,
.ifinder-service-logo,
.ifinder-quote-logo {
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid rgba(215, 224, 234, 0.92);
    border-radius: 8px;
    background: #ffffff;
}

.ifinder-brand-primary {
    padding: 18px;
    box-shadow: 0 24px 58px rgba(21, 32, 51, 0.14);
}

.ifinder-brand-primary img {
    display: block;
    width: 100%;
    height: auto;
}

.ifinder-service-logo-cloud {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.ifinder-service-logo-pill {
    display: flex;
    aspect-ratio: 16 / 10;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-color: var(--svc-border, rgba(215, 224, 234, 0.92));
    box-shadow: 0 12px 26px rgba(21, 32, 51, 0.08);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ifinder-service-logo-pill:hover,
.ifinder-service-logo-pill:focus {
    border-color: var(--svc, var(--if-blue));
    box-shadow: 0 16px 34px rgba(var(--svc-rgb, 37, 99, 235), 0.16);
    transform: translateY(-2px);
}

.ifinder-service-logo-pill img,
.ifinder-service-logo img,
.ifinder-quote-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ifinder-starter-wrap .ifq-starter-card {
    border-top-color: var(--if-blue);
}

.ifinder-service-card {
    min-height: 318px;
    padding: 14px;
    gap: 12px;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.ifinder-service-card::after {
    display: none;
}

.ifinder-service-logo {
    display: flex;
    aspect-ratio: 16 / 10;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-color: var(--svc-border, var(--if-border));
    background: #ffffff;
}

.ifinder-service-card strong,
.ifinder-service-card small,
.ifinder-service-card em {
    padding-inline: 6px;
}

.ifinder-service-card strong {
    font-size: 1.06rem;
}

.ifinder-service-card small {
    font-size: 0.9rem;
}

.ifinder-page-hero-inner {
    grid-template-columns: minmax(260px, 430px) minmax(0, 1fr);
    gap: clamp(18px, 4vw, 40px);
}

.ifinder-quote-logo {
    display: flex;
    aspect-ratio: 16 / 10;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-color: var(--svc-border, var(--if-border));
    box-shadow: 0 20px 46px rgba(var(--svc-rgb, 37, 99, 235), 0.14);
}

.ifinder-quote-hero {
    padding: 42px 0;
}

.ifinder-quote-hero span:not(.ifinder-quote-icon) {
    border-color: var(--svc-border, #a9ded8);
    background: var(--svc-soft, #e8f7f4);
    color: var(--svc-dark, #08766d);
}

@media (max-width: 1180px) {
    .ifinder-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ifinder-hero-stack {
        width: min(100%, 760px);
        justify-self: start;
    }
}

@media (max-width: 820px) {
    .ifinder-site-logo {
        width: 198px;
    }

    .ifinder-service-logo-cloud {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ifinder-page-hero-inner {
        grid-template-columns: 1fr;
    }

    .ifinder-quote-logo {
        max-width: 430px;
    }
}

@media (max-width: 520px) {
    .ifinder-site-logo {
        width: 168px;
        max-width: 58vw;
    }

    .ifinder-brand-primary,
    .ifinder-service-logo-pill,
    .ifinder-service-logo,
    .ifinder-quote-logo {
        padding: 6px;
    }

    .ifinder-service-logo-cloud {
        gap: 8px;
    }

    .ifinder-service-card {
        min-height: 0;
    }
}

/* v0.1.9 hero rejig with branded service backdrop */
.ifinder-hero {
    padding: 34px 0 48px;
    background:
        linear-gradient(90deg, rgba(21, 32, 51, 0.030) 1px, transparent 1px),
        linear-gradient(180deg, rgba(37, 99, 235, 0.038) 1px, transparent 1px),
        url("../images/brand/installerfinder-hero-network-bg-v2.png"),
        radial-gradient(circle at 82% 18%, rgba(37, 99, 235, 0.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 48%, #eef8f6 100%);
    background-position: center, center, center top, center, center;
    background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat;
    background-size: 58px 58px, 58px 58px, 100% auto, auto, auto;
}

.ifinder-hero::before {
    background:
        linear-gradient(105deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.91) 42%, rgba(255, 255, 255, 0.78) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.72) 100%);
}

.ifinder-hero-grid {
    grid-template-columns: minmax(0, 0.84fr) minmax(500px, 0.96fr);
    gap: clamp(30px, 4vw, 56px);
    align-items: center;
}

.ifinder-hero-copy {
    max-width: 650px;
}

.ifinder-hero h1 {
    max-width: 610px;
    margin: 16px 0 12px;
    font-size: clamp(2.8rem, 4.8vw, 4.8rem);
    line-height: 1.04;
}

.ifinder-lead {
    max-width: 590px;
    margin-bottom: 18px;
}

.ifinder-hero-promises {
    margin-bottom: 16px;
}

.ifinder-starter-wrap-primary {
    width: min(100%, 520px);
    margin-top: 22px;
    justify-self: start;
}

.ifinder-starter-wrap-primary .ifq-starter-card,
.ifinder-starter-wrap-primary .ifinder-plugin-missing {
    padding: 24px;
    border-color: rgba(215, 224, 234, 0.86);
    box-shadow: 0 22px 48px rgba(21, 32, 51, 0.13);
}

.ifinder-hero-stack {
    width: min(100%, 640px);
    align-self: center;
}

.ifinder-brand-primary {
    display: none;
}

.ifinder-brand-showcase {
    display: grid;
    gap: 14px;
}

.ifinder-showcase-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    color: var(--if-navy);
}

.ifinder-showcase-head span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid #b9e5e0;
    border-radius: 999px;
    background: rgba(232, 247, 244, 0.92);
    color: #08766d;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}

.ifinder-showcase-head strong {
    max-width: 390px;
    color: var(--if-navy);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 900;
    line-height: 1.12;
    text-align: right;
}

.ifinder-service-logo-cloud {
    gap: 12px;
}

.ifinder-service-logo-pill {
    padding: 7px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 30px rgba(21, 32, 51, 0.10);
}

.ifinder-service-logo-pill:nth-child(2),
.ifinder-service-logo-pill:nth-child(5),
.ifinder-service-logo-pill:nth-child(8) {
    transform: translateY(8px);
}

.ifinder-service-logo-pill:nth-child(3),
.ifinder-service-logo-pill:nth-child(6),
.ifinder-service-logo-pill:nth-child(9) {
    transform: translateY(3px);
}

.ifinder-service-logo-pill:hover,
.ifinder-service-logo-pill:focus {
    transform: translateY(-2px);
}

.ifinder-proof {
    margin-top: -20px;
}

@media (max-width: 1180px) {
    .ifinder-hero {
        background-size: 58px 58px, 58px 58px, 1320px auto, auto, auto;
        background-position: center, center, right top, center, center;
    }

    .ifinder-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ifinder-hero-copy {
        max-width: 780px;
    }

    .ifinder-hero-stack {
        width: min(100%, 780px);
        justify-self: start;
    }
}

@media (max-width: 820px) {
    .ifinder-hero {
        padding: 30px 0 44px;
        background-size: 58px 58px, 58px 58px, 1120px auto, auto, auto;
    }

    .ifinder-showcase-head {
        align-items: start;
        flex-direction: column;
    }

    .ifinder-showcase-head strong {
        max-width: 560px;
        text-align: left;
    }

    .ifinder-service-logo-pill:nth-child(n) {
        transform: none;
    }

    .ifinder-starter-wrap-primary {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .ifinder-hero h1 {
        font-size: clamp(2.25rem, 11vw, 3.35rem);
    }

    .ifinder-starter-wrap-primary .ifq-starter-card,
    .ifinder-starter-wrap-primary .ifinder-plugin-missing {
        padding: 20px;
    }
}

/* v0.1.10 simplified hero and raised 3x3 services */
.ifinder-hero {
    padding: 46px 0 44px;
}

.ifinder-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 520px);
    gap: clamp(34px, 5vw, 70px);
}

.ifinder-hero-copy {
    align-self: center;
}

.ifinder-hero h1 {
    max-width: 660px;
}

.ifinder-hero-stack {
    width: min(100%, 520px);
    justify-self: end;
}

.ifinder-brand-showcase,
.ifinder-service-logo-cloud {
    display: none;
}

.ifinder-starter-wrap-primary {
    width: 100%;
    margin-top: 0;
}

.ifinder-starter-wrap-primary .ifq-starter-card,
.ifinder-starter-wrap-primary .ifinder-plugin-missing {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 26px 60px rgba(21, 32, 51, 0.15);
}

.ifinder-services-spotlight {
    position: relative;
    z-index: 3;
    padding: 46px 0 32px;
    border-top: 1px solid rgba(215, 224, 234, 0.72);
    background: #ffffff;
}

.ifinder-services-spotlight .ifinder-section-heading {
    margin-bottom: 26px;
}

.ifinder-services-spotlight .ifinder-section-heading h2 {
    max-width: 640px;
    margin-inline: auto;
}

.ifinder-services-spotlight .ifinder-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 980px;
    margin-inline: auto;
}

.ifinder-services-spotlight .ifinder-service-card {
    min-height: 268px;
}

.ifinder-proof {
    margin-top: 0;
    padding: 24px 0 42px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.ifinder-proof-grid {
    box-shadow: 0 18px 42px rgba(21, 32, 51, 0.10);
}

@media (max-width: 1180px) {
    .ifinder-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ifinder-hero-stack {
        width: min(100%, 540px);
        justify-self: start;
    }
}

@media (max-width: 860px) {
    .ifinder-services-spotlight .ifinder-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .ifinder-hero {
        padding: 34px 0 38px;
    }

    .ifinder-services-spotlight {
        padding-top: 34px;
    }

    .ifinder-services-spotlight .ifinder-service-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.1.11 stronger branded network hero background */
.ifinder-hero {
    background:
        linear-gradient(90deg, rgba(21, 32, 51, 0.028) 1px, transparent 1px),
        linear-gradient(180deg, rgba(37, 99, 235, 0.034) 1px, transparent 1px),
        url("../images/brand/installerfinder-hero-network-bg-v2.png"),
        radial-gradient(circle at 82% 18%, rgba(37, 99, 235, 0.13), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 48%, #eef8f6 100%);
    background-position: center, center, right 5% center, center, center;
    background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat;
    background-size: 58px 58px, 58px 58px, clamp(980px, 74vw, 1320px) auto, auto, auto;
}

.ifinder-hero::before {
    background:
        linear-gradient(102deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.95) 36%, rgba(255, 255, 255, 0.80) 64%, rgba(255, 255, 255, 0.66) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.62) 100%);
}

.ifinder-starter-wrap-primary .ifq-starter-card,
.ifinder-starter-wrap-primary .ifinder-plugin-missing {
    border-color: rgba(202, 213, 225, 0.92);
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 28px 68px rgba(21, 32, 51, 0.17);
}

@media (max-width: 1180px) {
    .ifinder-hero {
        background-position: center, center, right -150px center, center, center;
        background-size: 58px 58px, 58px 58px, 1160px auto, auto, auto;
    }
}

@media (max-width: 820px) {
    .ifinder-hero {
        background-position: center, center, right -320px top 40px, center, center;
        background-size: 58px 58px, 58px 58px, 1060px auto, auto, auto;
    }

    .ifinder-hero::before {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.86) 100%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.68) 100%);
    }
}

/* v0.1.12 polished quote-page shell */
.ifinder-quote-page {
    background:
        linear-gradient(180deg, rgba(var(--svc-rgb, 37, 99, 235), 0.045) 0%, rgba(255, 255, 255, 0) 520px),
        #ffffff;
}

.ifinder-quote-page .ifinder-quote-hero {
    padding: clamp(24px, 3.4vw, 38px) 0 clamp(22px, 3vw, 32px);
    border-bottom: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.18);
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.92) 54%, rgba(255, 255, 255, 0.82) 100%),
        linear-gradient(135deg, var(--svc-soft, #f7fbfb) 0%, #ffffff 100%);
}

.ifinder-quote-page .ifinder-page-hero-inner {
    grid-template-columns: minmax(0, 700px) minmax(120px, 178px);
    gap: clamp(20px, 3.2vw, 44px);
    align-items: center;
    justify-content: start;
}

.ifinder-quote-page .ifinder-quote-logo {
    width: min(100%, 178px);
    max-width: 178px;
    justify-self: start;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ifinder-quote-page .ifinder-quote-logo img {
    height: auto;
    mix-blend-mode: multiply;
    opacity: 0.9;
}

.ifinder-quote-page .ifinder-quote-hero h1 {
    max-width: 780px;
    margin-top: 0;
    margin-bottom: 0;
    font-size: clamp(2.05rem, 3.7vw, 3.75rem);
    line-height: 1.04;
}

.ifinder-quote-page .ifinder-quote-hero p {
    max-width: 660px;
    margin-top: 10px;
    font-size: 0.98rem;
    line-height: 1.55;
}

.ifinder-quote-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.ifinder-quote-hero-points span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--svc-dark, #08766d);
    font-size: 0.8rem;
    font-weight: 900;
    line-height: 1.2;
}

.ifinder-quote-page .ifinder-quote-content-section {
    padding: clamp(22px, 3.8vw, 38px) 0 clamp(58px, 7vw, 86px);
    background:
        linear-gradient(180deg, rgba(var(--svc-rgb, 37, 99, 235), 0.08) 0%, rgba(255, 255, 255, 0) 260px),
        #ffffff;
}

.ifinder-quote-layout {
    display: grid;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    gap: clamp(22px, 4vw, 42px);
    align-items: start;
}

.ifinder-quote-assurance {
    position: sticky;
    top: 116px;
    padding: 22px;
    border: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.20);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88)),
        var(--svc-soft, #f3f7f6);
    box-shadow: 0 22px 52px rgba(21, 32, 51, 0.09);
}

.ifinder-quote-assurance-default,
.ifinder-quote-assurance-reinforcement {
    display: grid;
    gap: 18px;
}

.ifinder-quote-assurance-reinforcement {
    display: none;
}

.ifinder-quote-layout.is-mid-journey .ifinder-quote-assurance-default {
    display: none;
}

.ifinder-quote-layout.is-mid-journey .ifinder-quote-assurance-reinforcement {
    display: grid;
}

.ifinder-quote-layout:has(.ifq-step.is-active:not([data-ifq-step-name="Homeowner"]):not([data-ifq-step-name="Details"])) .ifinder-quote-assurance-default {
    display: none;
}

.ifinder-quote-layout:has(.ifq-step.is-active:not([data-ifq-step-name="Homeowner"]):not([data-ifq-step-name="Details"])) .ifinder-quote-assurance-reinforcement {
    display: grid;
}

.ifinder-quote-assurance-default > span,
.ifinder-quote-assurance-reinforcement > span {
    justify-self: start;
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.24);
    border-radius: 999px;
    background: #ffffff;
    color: var(--svc-dark, #08766d);
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.2;
}

.ifinder-quote-assurance-default h2,
.ifinder-quote-assurance-reinforcement h2 {
    margin: 0;
    color: var(--if-navy);
    font-size: clamp(1.32rem, 2vw, 1.7rem);
    font-weight: 950;
    line-height: 1.16;
}

.ifinder-quote-reinforcement-lead {
    margin: -4px 0 0;
    color: var(--if-text);
    font-size: 0.95rem;
    line-height: 1.55;
}

.ifinder-quote-assurance-list {
    display: grid;
    gap: 14px;
}

.ifinder-quote-assurance-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding-top: 14px;
    border-top: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.16);
}

.ifinder-quote-assurance-item:first-child {
    padding-top: 0;
    border-top: 0;
}

.ifinder-quote-assurance-item b {
    display: inline-flex;
    width: 34px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.28);
    border-radius: 999px;
    background: var(--svc, var(--if-blue));
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 950;
    line-height: 1;
}

.ifinder-quote-assurance-item strong {
    display: block;
    margin: 0 0 4px;
    color: var(--if-navy);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.25;
}

.ifinder-quote-assurance-item p {
    margin: 0;
    color: var(--if-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.ifinder-quote-page .ifinder-quote-content {
    max-width: none;
}

.ifinder-quote-page .ifinder-quote-content .ifq-form {
    max-width: 920px;
    margin: 0;
    border-top: 1px solid rgba(var(--svc-rgb, 37, 99, 235), 0.22);
    border-color: rgba(var(--svc-rgb, 37, 99, 235), 0.22);
    box-shadow: 0 30px 72px rgba(21, 32, 51, 0.13);
}

@media (max-width: 1060px) {
    .ifinder-quote-page .ifinder-page-hero-inner,
    .ifinder-quote-layout {
        grid-template-columns: 1fr;
    }

    .ifinder-quote-assurance {
        position: relative;
        top: auto;
        max-width: 920px;
    }

    .ifinder-quote-page .ifinder-quote-logo {
        width: min(170px, 54vw);
        max-width: 170px;
        justify-self: start;
    }
}

@media (max-width: 820px) {
    .ifinder-quote-page .ifinder-quote-hero {
        padding-bottom: 22px;
    }

    .ifinder-quote-page .ifinder-quote-content-section {
        padding-top: 18px;
    }

    .ifinder-quote-layout {
        display: block;
    }

    .ifinder-quote-assurance {
        display: none;
    }

    .ifinder-quote-page .ifinder-quote-content .ifq-form {
        max-width: 100%;
        margin: 0 auto;
        box-shadow: 0 18px 42px rgba(21, 32, 51, 0.10);
    }
}

@media (max-width: 620px) {
    .ifinder-quote-page .ifinder-quote-hero h1 {
        font-size: clamp(2rem, 10vw, 3.05rem);
    }

    .ifinder-quote-hero-points {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ifinder-quote-hero-points span {
        justify-content: center;
        text-align: center;
    }

    .ifinder-quote-page .ifinder-quote-content-section {
        padding-top: 14px;
    }
}

/* v0.1.14 homepage strapline family alignment */
@media (min-width: 1181px) {
    .ifinder-hero .ifinder-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 500px);
        gap: clamp(28px, 4vw, 54px);
    }
}

.ifinder-hero .ifinder-hero-title {
    max-width: 660px;
    font-size: clamp(2.65rem, 4.1vw, 4.35rem);
}

.ifinder-title-line {
    display: block;
    color: var(--if-navy);
    white-space: nowrap;
}

.ifinder-title-line-blue {
    color: var(--if-blue);
}

.ifinder-title-line-green {
    color: var(--if-green);
}

@media (max-width: 760px) {
    .ifinder-hero .ifinder-hero-grid {
        grid-template-columns: 1fr;
    }

    .ifinder-hero .ifinder-hero-title {
        font-size: clamp(2.35rem, 10vw, 3.65rem);
    }
}

@media (max-width: 520px) {
    .ifinder-title-line {
        white-space: normal;
    }
}
