.layout-calculator .quote-flow-page { color: var(--color-ink); }
.layout-calculator .quote-card,
.layout-calculator .homepage-quote-panel,
.layout-calculator .homepage-analysis-grid article,
.layout-calculator .homepage-situation-grid article,
.layout-calculator .homepage-faq details { border-color: var(--color-border); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.layout-calculator :is(.step-meta, .homepage-eyebrow, .back-link) { color: var(--color-petrol-700); }
.layout-calculator .progress-fill { background: var(--color-petrol-700); }
.layout-calculator :is(.primary-button, .homepage-hero-cta) { background: var(--color-mandarin-600); border-color: var(--color-mandarin-600); }
.layout-calculator :is(.primary-button, .homepage-hero-cta):hover { background: var(--color-mandarin-700); border-color: var(--color-mandarin-700); }
.layout-calculator :is(.homepage-secondary-button, .homepage-secondary-cta) { color: var(--color-petrol-700); border-color: var(--color-petrol-700); }
.layout-calculator .homepage-split > :first-child { background: var(--color-petrol-700); color: var(--color-surface); }
.layout-calculator .homepage-split > :first-child :is(h2,h3) { color: var(--color-surface); }
.layout-calculator .homepage-cost-card { background: var(--color-surface); border-color: var(--color-mandarin-500); }
.layout-calculator .homepage-final-cta { background: var(--color-petrol-700); }
.layout-calculator .homepage-final-cta :is(h2,p) { color: var(--color-surface); }
.layout-calculator .form-control:focus,
.layout-calculator .form-select:focus { border-color: var(--color-petrol-700); box-shadow: var(--focus-ring); }

/* Homepage refinement: hierarchy, rhythm and the analysis-to-match geometry. */
.layout-calculator :is(
    .homepage-hero,
    .homepage-proof-strip,
    .homepage-section,
    .homepage-final-cta
) {
    width: min(100%, var(--content-width));
    margin-inline: auto;
}
.layout-calculator .homepage-hero {
    position: relative;
    align-items: start;
    padding-block: var(--space-5) var(--space-8);
}
.layout-calculator .homepage-hero__content,
.layout-calculator .homepage-quote-panel { position: relative; z-index: 1; }
.layout-calculator .homepage-hero__content h1 {
    color: var(--color-ink);
    font-size: clamp(2.75rem, 5vw, 4.25rem);
}
.layout-calculator .homepage-hero__intro,
.layout-calculator .homepage-section__header p,
.layout-calculator .homepage-situation-grid p,
.layout-calculator .homepage-comparison-grid p,
.layout-calculator .homepage-steps p,
.layout-calculator .homepage-platform-notice p {
    color: var(--color-text-muted);
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
}
.layout-calculator .homepage-section { margin-bottom: var(--space-16); }
.layout-calculator .homepage-intro-section { margin-bottom: var(--space-10); }
.layout-calculator .homepage-section__header { margin-bottom: var(--space-6); }
.layout-calculator .homepage-proof-strip { margin-bottom: var(--space-8); }
.layout-calculator .homepage-geo__cta { margin: var(--space-6) 0 0; }
.layout-calculator .homepage-proof-strip span {
    color: var(--color-text-muted);
    font-size: 0.9375rem;
    line-height: 1.55;
}
.layout-calculator .homepage-proof-strip > div,
.layout-calculator .homepage-situation-grid article { position: relative; }
.layout-calculator .homepage-card-icon {
    display: block;
    width: 2rem;
    height: 2rem;
    margin-bottom: var(--space-3);
    fill: none;
    stroke: var(--color-petrol-700);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.layout-calculator .homepage-situation-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.layout-calculator .homepage-situation-grid article {
    min-height: 13rem;
    padding: var(--space-5);
}

.layout-calculator .homepage-comparison-grid {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(5, minmax(8.5rem, auto));
    gap: var(--space-3);
}
.layout-calculator .homepage-comparison-grid article {
    position: relative;
    min-height: 8.5rem;
    padding: var(--space-5) var(--space-5) var(--space-5) 8rem;
    overflow: hidden;
    border-color: var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}
.layout-calculator .homepage-comparison-grid article > span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 6.5rem;
    margin: 0;
    display: grid;
    place-items: center;
    background: var(--color-petrol-700);
    color: var(--color-surface);
    font-size: var(--font-size-sm);
}
.layout-calculator .homepage-comparison-grid article:nth-child(n + 6) > span {
    background: var(--color-mandarin-600);
}
.layout-calculator .homepage-comparison-grid article > span svg {
    width: 3rem;
    height: 3rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.layout-calculator .homepage-comparison-grid h3 { color: var(--color-ink); font-size: var(--font-size-base); }
.layout-calculator :is(
    .homepage-comparison-grid,
    .homepage-situation-grid,
    .homepage-steps
) p {
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
}

.layout-calculator .homepage-eyebrow {
    min-height: 1.75rem;
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-sm);
    line-height: 1.3;
}

.layout-calculator .homepage-split {
    gap: 0;
    padding: 0;
    overflow: hidden;
    border-color: var(--color-petrol-700);
}
.layout-calculator .homepage-split > :first-child {
    position: relative;
    max-width: none;
    padding: var(--space-10);
}
.layout-calculator .homepage-split > :first-child p { color: var(--color-petrol-050); }
.layout-calculator .homepage-split > :first-child .homepage-eyebrow {
    background: var(--color-petrol-100);
    color: var(--color-petrol-900);
}
.layout-calculator .homepage-assurance-section .homepage-cost-card {
    margin: var(--space-4);
    padding: var(--space-8);
    border: 1px solid var(--color-mandarin-500);
    border-radius: var(--radius-lg);
}

.layout-calculator .homepage-steps {
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--color-petrol-700);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
}
.layout-calculator .homepage-steps article {
    position: relative;
    min-height: 12rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.layout-calculator .homepage-steps article + article { border-left: 1px solid var(--color-border); }
.layout-calculator .homepage-steps article:first-child { box-shadow: inset 0 0.3rem 0 var(--color-petrol-700); }
.layout-calculator .homepage-steps article:last-child { box-shadow: inset 0 0.3rem 0 var(--color-mandarin-500); }
.layout-calculator .homepage-steps article:last-child span { background: var(--color-mandarin-600); }
.layout-calculator .homepage-steps h3 { color: var(--color-ink); font-size: var(--font-size-lg); }

.layout-calculator :is(.primary-button, .homepage-secondary-button, .btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.625rem;
    line-height: 1.2;
}
.layout-calculator :is(.primary-button, .homepage-secondary-button) > span {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}
.layout-calculator .homepage-final-button {
    min-height: 3.25rem;
    padding-inline: var(--space-8);
}
.layout-calculator .homepage-platform-notice {
    max-width: 43.75rem;
    margin-inline: auto;
    text-align: center;
}
.layout-calculator .homepage-platform-notice p { margin-inline: auto; }
.layout-calculator .homepage-faq > .homepage-faq-more {
    padding: 0;
    overflow: hidden;
    border-color: var(--color-petrol-100);
    background: var(--color-petrol-050);
}
.layout-calculator .homepage-faq > .homepage-faq-more > summary {
    padding: var(--space-4) var(--space-5);
    color: var(--color-petrol-700);
}
.layout-calculator .homepage-faq-more__items {
    display: grid;
    gap: var(--space-2);
    padding: 0 var(--space-3) var(--space-3);
}
.layout-calculator .homepage-faq-more__items details { box-shadow: none; }
.layout-calculator .homepage-final-cta {
    padding: var(--space-12);
    text-align: left;
}
.layout-calculator .homepage-final-cta h2 {
    max-width: 50rem;
    font-size: clamp(2rem, 3.4vw, 2.65rem);
}
.layout-calculator .homepage-final-cta p { max-width: 45rem; margin-inline: 0; }
.layout-calculator + footer,
.layout-calculator footer { margin-top: var(--space-12) !important; }
@media (max-width: 47.99rem) {
    .layout-calculator :is(
        .homepage-hero,
        .homepage-proof-strip,
        .homepage-section,
        .homepage-final-cta
    ) { width: 100%; }
    .layout-calculator .homepage-split { grid-template-columns: 1fr; }
    .layout-calculator .homepage-split > :first-child { padding: var(--space-8) var(--space-5); }
    .layout-calculator .homepage-assurance-section .homepage-cost-card { margin: var(--space-3); padding: var(--space-6); }
    .layout-calculator .homepage-section { margin-bottom: var(--space-12); }
    .layout-calculator .homepage-proof-strip { margin-bottom: var(--space-12); }
    .layout-calculator .homepage-steps { grid-template-columns: 1fr; }
    .layout-calculator .homepage-steps article { min-height: 0; }
    .layout-calculator .homepage-steps article + article { border-top: 1px solid var(--color-border); border-left: 0; }
    .layout-calculator .homepage-comparison-grid {
        grid-auto-flow: row;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }
    .layout-calculator .homepage-comparison-grid article { min-height: 0; padding-left: 8rem; }
    .layout-calculator .homepage-situation-grid { grid-template-columns: 1fr; }
    .layout-calculator .homepage-situation-grid article { min-height: 0; }
    .layout-calculator .homepage-final-cta { padding: var(--space-10) var(--space-5); text-align: center; }
    .layout-calculator .homepage-final-cta p { margin-inline: auto; }
}

@media (max-width: 61.99rem) and (min-width: 48rem) {
    .layout-calculator .homepage-situation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .layout-calculator .homepage-situation-grid article { min-height: 0; }
}
