/* Route-owned content; the existing Contact shell and shared utilities stay authoritative. */
.lead-page {
  --lead-accent: #b88a44;
  --lead-accent-strong: #8f642a;
  --lead-soft: var(--dk-surface-renovations-soft, #f7efe4);
  --lead-gap: var(--dk-panel-gap-desktop, 24px);
  --lead-section-space: var(--dk-density-standard-desktop, 58px);
  font-family: "Manrope", "Noto Sans SC", Arial, sans-serif;
  background: #fff;
}
.lead-page[data-business="extensions"] { --lead-accent: #6e8794; --lead-accent-strong: #506b78; --lead-soft: #f1f4f5; }
.lead-page[data-business="granny-flats"] { --lead-accent: #3f816c; --lead-accent-strong: #2f6a58; --lead-soft: #f0f7f1; }
.lead-page[data-business="new-builds"] { --lead-accent: #679dbb; --lead-accent-strong: #4d819f; --lead-soft: #f5fafc; }
.lead-page #main-content { padding: 0; margin: 0; }
.lead-page .lead-container { width: min(1220px, calc(100% - 80px)); margin-inline: auto; }
.lead-page .lead-section { padding-block: var(--lead-section-space); scroll-margin-top: 190px; }
.lead-page .lead-white { background: #fff; }
.lead-page .lead-soft { background: var(--lead-soft); }
.lead-page #main-content :is(h1, h2, h3, p, a, li, summary) { letter-spacing: 0; }
.lead-page #main-content p { font-size: 16.5px; font-weight: 500; line-height: 1.7; color: #354e5e; }
.lead-page .lead-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: min(620px, calc(100svh - 230px)); background: #123047; }
.lead-page .lead-hero-copy { --dk-text-body: #fff; position: relative; z-index: 1; padding-block: 52px 84px; }
.lead-page .navbar .nav-actions { flex-direction: row; flex-wrap: nowrap; }
.lead-page .lead-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 18px; font-size: 15px; color: #fff; }
.lead-page .lead-breadcrumb a { text-underline-offset: 4px; }
.lead-page .lead-hero h1 { margin: 0; max-width: 880px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 62px; font-weight: 600; line-height: 1.08; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.35); text-wrap: balance; }
.lead-page:lang(zh) .lead-hero h1 { font-family: "Noto Sans SC", "Manrope", Arial, sans-serif; font-size: 48px; font-weight: 700; line-height: 1.2; }
.lead-page #main-content .lead-hero-copy > p { max-width: 780px; margin: 18px 0 22px; font-size: 18px; font-weight: 600; color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.45); }
.lead-page .lead-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.lead-page .lead-button { min-height: 52px; padding: 15px 24px; background: var(--lead-accent-strong); color: #fff; border: 1px solid transparent; border-radius: 7px; font-size: 15px; font-weight: 700; line-height: 1.4; text-align: center; }
.lead-page .lead-button:hover, .lead-page .lead-button:focus-visible { background: #123047; }
.lead-page .lead-hero-media { position: absolute; z-index: -1; inset: 0; margin: 0; }
.lead-page .lead-hero-media::after { content: ""; position: absolute; inset: 0; background: rgba(13,27,42,.44); }
.lead-page .lead-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: none; }
.lead-page .lead-hero-media figcaption { position: absolute; z-index: 1; inset: auto 0 0; padding: 9px 40px; background: rgba(255,255,255,.94); color: #354e5e; font-size: 13px; font-weight: 500; line-height: 1.5; text-align: center; }
.lead-page .lead-intro { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr); gap: 48px; align-items: start; }
.lead-page #main-content h2 { margin: 0; font-family: "Manrope", "Noto Sans SC", Arial, sans-serif; font-size: 44px; font-weight: 700; line-height: 1.14; color: #123047; overflow-wrap: break-word; }
.lead-page .lead-intro p { margin: 0; }
.lead-page .lead-section-heading { text-align: center; margin-bottom: var(--dk-section-head-gap-desktop, 34px); }
.lead-page .lead-section-heading > p { max-width: 720px; margin: 16px auto 0; font-size: 18px; font-weight: 600; }
.lead-page .lead-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lead-gap); }
.lead-page .lead-choice { display: flex; flex-direction: column; align-items: start; background: #fff; border: 1px solid #e5ded4; border-top: 3px solid var(--lead-accent); border-radius: 4px; padding: 28px; }
.lead-page #main-content h3 { margin: 0; font-family: "Manrope", "Noto Sans SC", Arial, sans-serif; font-size: 24px; font-weight: 700; line-height: 1.35; color: #123047; }
.lead-page .lead-choice p { margin: 14px 0 24px; }
.lead-page .lead-text-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; color: var(--lead-accent-strong); font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.lead-page .lead-hero .lead-text-link { color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.4); }
.lead-page .lead-checks { max-width: 1000px; margin-inline: auto; }
.lead-page .lead-check { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 22px; padding-block: 26px; border-bottom: 1px solid #e5ded4; }
.lead-page .lead-check:first-child { padding-top: 0; }
.lead-page .lead-step { color: var(--lead-accent-strong); font-size: 28px; font-weight: 700; line-height: 1.3; }
.lead-page .lead-check p { margin: 12px 0 0; }
.lead-page .lead-source-link a { color: #506b78; font-size: 14px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
.lead-page .lead-advice-note { max-width: 1000px; margin: 26px auto 0; border-left: 3px solid var(--lead-accent); padding-left: 20px; }
.lead-page .lead-preparation { max-width: 940px; margin: 0 auto; display: grid; gap: 18px; padding-left: 25px; }
.lead-page .lead-preparation li { padding-left: 8px; font-size: 16.5px; font-weight: 500; line-height: 1.7; color: #354e5e; }
.lead-page .lead-preparation li::marker { color: var(--lead-accent-strong); }
.lead-page .lead-faq { max-width: 1000px; margin-inline: auto; }
.lead-page .lead-faq-item { border-bottom: 1px solid #e5ded4; }
.lead-page .lead-faq-item summary { position: relative; display: block; padding: 24px 50px 24px 0; cursor: pointer; font-size: 18px; font-weight: 700; line-height: 1.5; color: #123047; list-style: none; }
.lead-page .lead-faq-item summary::-webkit-details-marker { display: none; }
.lead-page .lead-faq-item summary::after { content: "+"; position: absolute; right: 10px; top: 21px; width: 28px; text-align: center; color: var(--lead-accent-strong); font-size: 25px; font-weight: 500; }
.lead-page .lead-faq-item[open] summary::after { content: "\2212"; }
.lead-page .lead-faq-item[open] { border-bottom-color: var(--lead-accent); }
.lead-page .lead-faq-item p { margin: 0; padding: 0 40px 24px 0; }
.lead-page .lead-faq-item summary:focus-visible { outline: 2px solid var(--lead-accent-strong); outline-offset: 3px; }
.lead-page .lead-sources { max-width: 1000px; margin: 0 auto; padding: 0; display: grid; gap: 20px; list-style: none; }
.lead-page .lead-sources a { font-size: 16px; font-weight: 700; color: #123047; text-underline-offset: 4px; overflow-wrap: anywhere; }
.lead-page .lead-sources p { margin: 6px 0 0; font-size: 15px !important; }
.lead-page .lead-final { text-align: center; }
.lead-page .lead-final .lead-actions { justify-content: center; margin-top: 24px; }
.lead-page .lead-final .button { min-width: 240px; }
.lead-page .lead-final .button--light { border-radius: 7px; padding: 14px 24px; }
.lead-page .lead-language-note { font-size: 11px; font-weight: 500; opacity: 0.85; }
@media (max-width: 1100px) {
  .lead-page { --lead-gap: var(--dk-panel-gap-tablet, 22px); --lead-section-space: var(--dk-density-standard-tablet, 62px); }
  .lead-page .lead-hero h1 { font-size: 52px; }
  .lead-page:lang(zh) .lead-hero h1 { font-size: 40px; }
  .lead-page #main-content h2 { font-size: 34px; }
  .lead-page .lead-intro { gap: 30px; }
}
@media (max-width: 768px) {
  .lead-page { --lead-gap: var(--dk-panel-gap-mobile, 20px); --lead-section-space: var(--dk-density-standard-mobile, 48px); }
  .lead-page .lead-container { width: calc(100% - 40px); }
  .lead-page .lead-hero { min-height: min(520px, calc(100svh - 210px)); }
  .lead-page .lead-hero-copy { padding-block: 34px 84px; }
  .lead-page .lead-hero h1 { font-size: 40px; }
  .lead-page:lang(zh) .lead-hero h1 { font-size: 34px; }
  .lead-page #main-content .lead-hero-copy > p, .lead-page #main-content p, .lead-page .lead-preparation li { font-size: 16px; }
  .lead-page #main-content h2 { font-size: 30px; }
  .lead-page #main-content h3 { font-size: 22px; }
  .lead-page .lead-hero-media figcaption { padding: 10px 20px; font-size: 12px; }
  .lead-page .lead-intro, .lead-page .lead-choices { grid-template-columns: 1fr; gap: 24px; }
  .lead-page .lead-choice { padding: 24px; }
  .lead-page .lead-check { grid-template-columns: 32px minmax(0, 1fr); gap: 14px; }
  .lead-page .lead-step { font-size: 24px; }
  .lead-page .lead-section-heading { margin-bottom: var(--dk-section-head-gap-mobile, 28px); }
  .lead-page .lead-faq-item summary { font-size: 17px; padding-block: 20px; }
  .lead-page .lead-final .button { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .lead-page { scroll-behavior: auto; }
  .lead-page .button { transition: none; transform: none; }
}
