/* Landing pages extend the existing Appraisal Arizona design. */
.landing-hero { min-height: 72vh; }
.landing-hero .hero-content { max-width: 1100px; padding-top: 7rem; padding-bottom: 5rem; }
.landing-hero h1 { font-size: clamp(2.8rem, 5.7vw, 5.4rem); max-width: 1000px; }
.landing-hero .hero-sub { font-size: 1.2rem; }
.landing-page p { font-size: 1.0625rem; line-height: 1.85; }
.landing-page .eyebrow, .landing-page .section-label { font-size: .875rem; }
.landing-page .button, .landing-page .text-link { font-size: .875rem; }
.landing-intro h2 { font-size: clamp(2.4rem, 4vw, 3.7rem); margin: 24px 0; }
.landing-intro > p:not(.section-label) { max-width: 830px; color: var(--ink-soft); }
.landing-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; list-style: none; padding: 0; margin: 3rem 0 0; border: 1px solid var(--line); background: var(--line); }
.landing-facts li { background: var(--paper-soft); padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.landing-facts b { font: 500 2rem var(--serif); color: var(--red); }
.landing-facts span { font-size: .9375rem; color: var(--ink-soft); line-height: 1.5; }
.landing-details { padding-top: 0; }
.landing-details article { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 32px; border-top: 1px solid var(--line); padding: 34px 0; }
.landing-number { color: var(--red); font-size: .875rem; padding-top: 12px; }
.landing-details h2 { font-size: clamp(1.9rem,3vw,2.65rem); margin: 0 0 18px; }
.landing-details p { max-width: 820px; margin: 0; color: var(--ink-soft); }
.landing-plan { margin: 28px 0; }
.landing-plan img { height: 520px; width: 100%; object-fit: contain; background: white; }
.landing-plan figcaption { text-align: center; font-size: .875rem; margin-top: 16px; color: var(--ink-soft); }
.landing-related { background: var(--paper-soft); }
.landing-related .section-heading { align-items: flex-start; }
.landing-related h2 { font-size: clamp(2.2rem,4vw,3.8rem); }
.landing-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.landing-link-grid a { padding: 22px 18px 22px 0; border-bottom: 1px solid var(--line); font: 500 1.5rem var(--serif); }
.landing-link-grid a:hover, .service-body h3 a:hover { color: var(--red); }
.landing-page .faq .section-heading h2 { font-size: clamp(2.3rem,4vw,3.8rem); }
.landing-sources { padding: 0 var(--pad-x) 3rem; color: var(--ink-soft); }
.landing-sources p { font-size: .875rem; margin: 0 0 12px; }
.landing-sources ul { padding-left: 20px; }
.landing-sources li { font-size: .875rem; margin: 10px 0; }
.landing-sources a { text-decoration: underline; text-underline-offset: 4px; }
a:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
@media(max-width:900px) { .landing-related .section-heading { flex-direction: column; gap: 20px; } .landing-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .landing-facts, .landing-link-grid { grid-template-columns: 1fr; } .landing-details article { grid-template-columns: 1fr; gap: 12px; } .landing-hero .hero-content { padding-top: 4rem; padding-bottom: 4rem; } .landing-plan img { height: 420px; } .landing-page .eyebrow { letter-spacing: .12em; line-height: 1.6; } }
