.landing-hero .header-copy { max-width:850px; }
.page-hero.page-photo-header.landing-hero { padding-top:160px; }
.page-hero.page-photo-header.landing-hero h1 { font-size:clamp(2.15rem,4.9vw,4rem); line-height:1.1; }
.landing-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; margin:22px 0 12px; }
.landing-actions .action { margin:0; background:#23b94f; color:white; font-size:1rem; min-height:48px; text-align:center; }
.landing-actions .landing-secondary { display:inline-flex; align-items:center; min-height:48px; padding:8px 4px; color:#16305b; font-weight:900; text-decoration:underline; text-underline-offset:5px; }
.landing-hero .landing-secondary { background:#ffffffed; border-radius:16px; padding:10px 16px; }
.landing-facts { display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:center; padding:22px 0 0; font-weight:800; font-size:.95rem; }
.landing-facts span { background:#eaf6fc; padding:8px 15px; border-radius:20px 15px 22px 17px; }
.landing-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:48px; align-items:start; }
.landing-copy section + section { margin-top:28px; }
.landing-copy h2 { margin-top:0; }
.landing-copy p { max-width:70ch; }
.landing-checklist { background:#fff7d8; border-radius:32px 45px 30px 40px; padding:22px 26px; margin-top:26px; }
.landing-checklist h2 { font-size:1.45rem; margin:0 0 12px; }
.landing-side > p { margin-top:22px; font-weight:800; }
.landing-next { margin-top:36px; background:#eaf6fb; padding:30px 34px; border-radius:35px 50px 40px 30px; }
.landing-next h2 { margin-top:0; }
.landing-next .landing-contact { margin:20px 0 0; font-size:.95rem; }
.landing-directory { background:#fff9e6; padding-block:40px; }
.landing-directory .content-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.landing-directory h3 { font:600 1.35rem Fredoka,sans-serif; }
.landing-directory ul { list-style:none; padding:0; }
.landing-directory a { display:inline-flex; align-items:center; min-height:44px; color:#1557d5; font-weight:800; text-underline-offset:4px; }
.cost-calculator { background:#f0f8f1; border-radius:35px 45px 32px 42px; padding:30px; margin-top:34px; }
.cost-calculator h2 { margin-top:0; }
.calculator-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.calculator-fields label { display:flex; flex-direction:column; justify-content:space-between; font-weight:800; gap:10px; min-width:0; }
.calculator-fields input { box-sizing:border-box; width:100%; min-width:0; padding:12px; font:inherit; font-size:16px; border:2px solid #b8d9ee; border-radius:14px; background:white; color:#16305b; }
.cost-calculator button { border:0; cursor:pointer; font:800 1rem Nunito,sans-serif; }
.cost-calculator #cost-result { margin:24px 0 12px; font-weight:900; }
.cost-calculator small,.landing-source { font-size:.9rem; }
@media(max-width:800px){
 .landing-layout,.calculator-fields,.landing-directory .content-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .landing-side .service-photo { display:block; max-width:360px; margin:auto; }
 .landing-actions { gap:10px; }
 .landing-actions a { width:100%; justify-content:center; }
 .landing-next,.cost-calculator { padding:24px 20px; }
 .landing-facts { justify-content:flex-start; gap:8px; }
 .page-hero.page-photo-header.landing-hero { padding-top:130px; padding-bottom:65px; }
 .page-hero.page-photo-header.landing-hero p { font-size:17px; }
}
