/* ============================================================
   Home page layout refinements (extracted from index.html)
   Depends on styles.css home-page base + action.css forms
   ============================================================ */
.home-page {
            --type-hero: clamp(2.45rem, 5.5vw, 4.4rem);
            --type-section-title: clamp(1.5rem, 2.4vw, 1.9rem);
            --type-section-copy: 0.98rem;
            --type-card-title: 0.98rem;
            --type-card-copy: 0.84rem;
            --type-small: 0.78rem;
            --type-form: 0.95rem;
            --line-tight: 1.08;
            --line-copy: 1.42;
        }

        .home-page .home-hero {
            padding-top: clamp(1.75rem, 4vw, 3.25rem);
            padding-bottom: clamp(1.5rem, 3.5vw, 2.75rem);
        }

        .home-page .home-hero-copy h1 {
            font-size: var(--type-hero);
            line-height: 0.98;
            overflow-wrap: normal;
            word-break: normal;
        }

        .home-page .home-section,
        .home-page .home-section-tight {
            padding-top: clamp(1.35rem, 3vw, 2.25rem);
            padding-bottom: clamp(1.35rem, 3vw, 2.25rem);
        }

        .home-page .section-kicker {
            font-size: var(--type-small);
        }

        .home-page .section-heading h2,
        .home-page .learn-panel h2,
        .compact-appraisal h2,
        .home-page .belief-strip h2 {
            font-size: var(--type-section-title);
            line-height: var(--line-tight);
        }

        .home-page .section-heading p,
        .home-page .learn-panel p,
        .home-hero-lede,
        .appraisal-intro,
        .home-page .belief-strip p {
            font-size: var(--type-section-copy);
            line-height: var(--line-copy);
        }

        .section-heading {
            margin-bottom: clamp(1rem, 2vw, 1.5rem);
        }

        .section-heading p,
        .home-hero-lede,
        .appraisal-intro {
            margin-bottom: 0.9rem;
            line-height: 1.45;
        }

        .visually-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        .brand-promise {
            margin: 0.9rem 0 0;
            padding: 0.78rem 0.95rem;
            background: #ffffff;
            border: 1px solid #dbe4ef;
            border-left: 4px solid var(--home-brand);
            border-radius: 8px;
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
            color: var(--home-ink);
            font-weight: 800;
            max-width: 520px;
        }

        .home-hero-actions {
            margin-top: 1rem;
        }

        .hero-reassurance {
            color: var(--home-muted);
            font-size: 0.82rem;
            font-weight: 700;
            line-height: 1.4;
            margin: 0.8rem 0 0;
        }

        .home-hero-actions .btn-primary,
        .home-hero-actions .btn-secondary {
            border-width: 1px;
            box-sizing: border-box;
            height: 48px;
            line-height: 1;
            padding-bottom: 0;
            padding-top: 0;
        }

        .home-hero-actions .btn-primary {
            border-color: var(--home-brand);
            border-style: solid;
        }

        .decision-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 1rem;
        }

        .decision-card {
            display: block;
            text-decoration: none;
            padding: 0.85rem;
            border-radius: 1rem;
            min-height: auto;
        }

        .decision-card strong {
            display: block;
            font-size: var(--type-card-title);
            margin-bottom: 0.2rem;
        }

        .decision-card span {
            display: block;
            font-size: var(--type-card-copy);
            line-height: 1.28;
            opacity: 0.82;
        }

        .decision-card-primary {
            background: #ffffff;
            border-color: rgba(15, 95, 187, 0.4);
            box-shadow: 0 16px 38px rgba(15, 95, 187, 0.11);
            position: relative;
        }

        .decision-card-primary::before {
            content: "";
            display: block;
            width: 34px;
            height: 3px;
            background: var(--home-brand);
            border-radius: 999px;
            margin-bottom: 0.55rem;
        }

        .meet-section {
            background: #f8fafc;
        }

        .meet-panel {
            align-items: center;
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(180px, 0.65fr);
            gap: clamp(1rem, 3vw, 1.75rem);
            max-width: 920px;
        }

        .meet-copy h2 {
            margin-bottom: 0.65rem;
        }

        .meet-copy p {
            color: var(--home-muted);
            line-height: 1.5;
            margin: 0;
        }

        .meet-copy p + p {
            margin-top: 0.75rem;
        }

        .meet-photo {
            justify-self: end;
            margin: 0;
            width: min(220px, 100%);
        }

        .meet-photo img {
            aspect-ratio: 4 / 5;
            border-radius: 10px;
            box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
            display: block;
            object-fit: cover;
            width: 100%;
        }

        .mini-trust-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem;
        }

        .reviews-section .review-card p,
        .reviews-section .review-archive p {
            font-size: var(--type-card-copy);
            line-height: 1.35;
        }

        .reviews-section .review-card span,
        .reviews-section .review-archive span {
            font-size: var(--type-small);
        }

        .reviews-section .review-archive summary {
            font-size: var(--type-card-title);
            padding: 0.85rem 1rem;
        }

        .reviews-section .review-archive li {
            padding: 0.85rem 1rem;
        }

        .home-page .compact-appraisal.action-container {
            padding-top: clamp(0.35rem, 1vw, 0.4rem);
            padding-bottom: clamp(0.35rem, 1vw, 0.4rem);
        }

        .home-page .compact-appraisal .action-bar {
            max-width: 760px;
            padding: clamp(0.7rem, 1.6vw, 0.95rem);
        }

        .home-page .compact-appraisal .action-bar h2 {
            font-size: var(--type-section-title);
            line-height: var(--line-tight);
            margin-bottom: 0.12rem;
        }

        .compact-appraisal .badge {
            margin-bottom: 0.42rem;
            padding: 0.3rem 0.75rem;
        }

        .compact-form {
            margin-top: 0.42rem;
        }

        .compact-form-grid {
            display: grid;
            grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
            gap: 0.45rem 0.55rem;
            align-items: end;
        }

        .compact-field-issue {
            grid-column: 1 / -1;
        }

        .compact-field span {
            display: block;
            margin-bottom: 0.2rem;
            font-weight: 700;
            font-size: var(--type-small);
        }

        .compact-field input,
        .compact-field textarea {
            width: 100%;
            box-sizing: border-box;
            padding: 0.56rem 0.68rem;
            border-radius: 0.5rem;
            font-size: var(--type-form);
        }

        .compact-field textarea {
            min-height: 48px;
            resize: vertical;
        }

        .compact-form .btn-appraisal {
            grid-column: 1 / -1;
            justify-self: center;
            width: min(420px, 100%);
            margin-top: 0;
            min-height: 44px;
            padding: 0.72rem 0.95rem;
            align-self: end;
            white-space: nowrap;
        }

        .compact-form .appraisal-honey {
            margin: 0;
        }

        .compact-form .compact-form-error {
            grid-column: 1 / -1;
            min-height: 0;
            margin: 0;
            font-size: var(--type-card-copy);
        }

        .compact-form .compact-form-error:empty {
            display: none;
        }

        .compact-form .simple-form-note {
            margin: 0.45rem 0 0;
            text-align: center;
            font-size: var(--type-card-copy);
            color: #475569;
            font-weight: 700;
        }

        .appraisal-faq {
            background: #f8fafc;
            padding-top: clamp(0.8rem, 2vw, 1.2rem);
        }

        .appraisal-faq .home-shell {
            max-width: 760px;
        }

        .markus-accordion {
            margin-top: 0;
            display: grid;
            gap: 0.55rem;
        }

        .markus-accordion details {
            border-radius: 0.9rem;
            overflow: hidden;
            background: #ffffff;
            border: 1px solid #dbe4ef;
        }

        .markus-accordion summary {
            cursor: pointer;
            padding: 0.75rem 0.9rem;
            font-weight: 800;
            list-style-position: inside;
        }

        .markus-accordion details p {
            margin: 0;
            padding: 0 0.9rem 0.9rem;
            line-height: 1.45;
        }

        .home-page .belief-strip {
            text-align: center;
            padding-top: 0.9rem;
            padding-bottom: 0.9rem;
        }

        .home-page .belief-strip .home-shell {
            align-items: center;
            display: flex;
            gap: 0.75rem 1rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .home-page .belief-strip h2 {
            margin: 0;
        }

        .home-page .belief-strip p {
            margin-left: auto;
            margin-right: auto;
            max-width: 720px;
        }

        .final-cta {
            background: #f8fafc;
            padding-top: clamp(0.95rem, 2vw, 1.35rem);
            padding-bottom: clamp(1.1rem, 2.4vw, 1.6rem);
            text-align: center;
        }

        .final-cta .home-shell {
            max-width: 720px;
        }

        .final-cta h2 {
            font-size: var(--type-section-title);
            line-height: var(--line-tight);
            margin: 0 0 0.4rem;
        }

        .final-cta p {
            color: var(--home-muted);
            line-height: var(--line-copy);
            margin: 0 auto 0.85rem;
            max-width: 560px;
        }

        .final-cta .btn-primary {
            min-height: 44px;
            padding: 0.72rem 1rem;
        }

        @media (max-width: 900px) {
            .decision-grid,
            .mini-trust-grid,
            .meet-panel {
                grid-template-columns: 1fr;
            }

            .meet-photo {
                justify-self: start;
                width: min(190px, 55vw);
            }

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

        @media (max-width: 760px) {
            .home-page .compact-appraisal .action-bar {
                padding: 0.75rem;
            }

            .home-page .compact-appraisal .action-bar h2 {
                font-size: var(--type-section-title);
            }

            .compact-appraisal .appraisal-intro {
                margin-bottom: 0.5rem;
            }

            .compact-form-grid {
                grid-template-columns: minmax(0, 1fr);
                gap: 0.42rem;
            }

            .compact-field,
            .compact-field input,
            .compact-field textarea {
                min-width: 0;
                max-width: 100%;
            }

            .compact-field-issue {
                grid-column: auto;
            }

            .compact-form .btn-appraisal {
                grid-column: auto;
                width: 100%;
                white-space: normal;
            }

            .compact-field input,
            .compact-field textarea {
                padding-top: 0.5rem;
                padding-bottom: 0.5rem;
            }

            .compact-field textarea {
                min-height: 42px;
            }

        }

        @media (max-width: 640px) {
            .home-page {
                --type-hero: clamp(2.15rem, 11vw, 3rem);
                --type-card-title: 0.9rem;
                --type-card-copy: 0.78rem;
            }

            .home-page .home-hero {
                padding-top: 2rem;
            }

            .home-page .home-hero-copy,
            .home-page .home-hero-media,
            .home-page .home-shell {
                width: 100%;
                max-width: 100%;
            }

            .home-page .home-hero-actions {
                align-items: stretch;
            }

            .home-page .home-hero-actions .btn {
                min-width: 0;
                white-space: normal;
            }

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

        }
