/* Interior pages use the approved homepage's type, colours and spacing. */
.breadcrumbs { padding-top: 24px; color: var(--steel); font-size: .875rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px 10px; }
.breadcrumbs li + li::before { content: "/"; margin-right: 10px; color: var(--slate-600); }
.breadcrumbs a { text-underline-offset: 4px; }
.breadcrumbs li[aria-current] { color: var(--steel-300); }
.eyebrow { font-size: .82rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; color: var(--coral-ink); margin-bottom: 16px; }
.page-hero .eyebrow, .insurance-banner .eyebrow { color: var(--sand); }
.page-hero__grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; padding-block: clamp(48px,6vw,80px); }
.page-hero h1 { max-width: 21ch; font-size: clamp(2.4rem,2.2vw + 1rem,3.25rem); }
.page-hero .hero__lead { margin-top: 24px; }
.page-hero .hero__proof { gap: 10px 20px; margin-top: 28px; }
.page-hero__media { margin: 0; aspect-ratio: 5 / 4; border-radius: var(--r-m); overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,.18); }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__media--portrait { aspect-ratio: 4 / 5; max-height: 550px; justify-self: center; width: min(100%,440px); }
.page-hero__media--portrait img { object-position: center 30%; }
.page-hero__drawing .hero__art { margin-right: 0; width: 100%; }
.page-hero__drawing .house { width: 100%; }
.content-section { padding-block: var(--section); }
.content-section--mist { background: var(--mist); }
.split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(36px,6vw,88px); }
.split--reverse .prose { order: 2; }
.split--text { display: block; }
.split--text .prose { max-width: 820px; }
.prose h2 { max-width: 25ch; margin-bottom: 24px; }
.prose p { color: var(--muted); font-size: 1.1rem; line-height: 1.7; }
.prose a, .feature-card a, .section-head p a { color: var(--ink); text-underline-offset: 4px; text-decoration-color: var(--coral); }
.split__image { margin: 0; border-radius: var(--r-m); overflow: hidden; background: var(--mist); }
.split__image img { aspect-ratio: 5 / 4; width: 100%; object-fit: cover; }
.split__image figcaption { padding: 12px 18px; color: var(--muted); font-size: .875rem; }
.check-list { display: grid; gap: 14px; margin-top: 24px; }
.check-list li { display: flex; align-items: start; gap: 12px; }
.check-list .icon { color: var(--coral-ink); width: 20px; margin-top: 4px; }
.feature-section { padding-block: var(--section); background: var(--mist); }
.feature-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.feature-card { background: white; border: 1px solid var(--line); padding: clamp(24px,2.5vw,32px); border-radius: var(--r-m); }
.feature-card > .icon { width: 30px; height: 30px; color: var(--coral-ink); margin-bottom: 24px; }
.feature-card h3 { margin-bottom: 14px; font-size: 1.15rem; }
.feature-card p { color: var(--muted); font-size: 1rem; }
.feature-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3,minmax(0,1fr)); }
.feature-section--dark { background: var(--slate-800); color: white; }
.feature-section--dark .section-head p { color: var(--steel-300); }
.feature-section--dark .feature-card { background: var(--slate-900); border-color: var(--slate-600); }
.feature-section--dark .feature-card p { color: var(--steel-300); }
.feature-section--dark .feature-card > .icon { color: var(--sand); }
.process-section { padding-block: var(--section); }
.process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
.process-grid li { border-top: 1px solid var(--line); padding-top: 24px; }
.process-number { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: var(--slate-900); color: var(--sand); font-weight: 750; border-radius: 50%; margin-bottom: 24px; }
.process-grid h3 { margin-bottom: 14px; font-size: 1.15rem; }
.process-grid p { color: var(--muted); font-size: 1rem; }
.local-section { background: var(--mist); padding-block: clamp(48px,6vw,80px); border-block: 1px solid var(--line); }
.local-grid { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: clamp(32px,5vw,72px); }
.local-grid h2 { max-width: 20ch; }
.area-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.area-pills li { padding: 5px 14px; border: 1px solid var(--line); background: white; border-radius: 30px; font-size: .925rem; }
.insurance-banner { padding-block: clamp(48px,6vw,80px); background: var(--slate-800); color: white; }
.insurance-banner .wrap { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.insurance-banner h2 { max-width: 26ch; }
.insurance-banner p:not(.eyebrow) { max-width: 42rem; color: var(--steel-300); margin-top: 20px; }
.insurance-banner .btn { flex: none; }
.services__grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.service__art a { display: block; width: 100%; height: 100%; }
.story-section { padding-block: var(--section); background: var(--mist); }
.story-grid { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: clamp(40px,6vw,88px); }
.story-intro h2 { max-width: 18ch; }
.story-intro > p:last-child { margin-top: 24px; color: var(--muted); }
.story-timeline { border-left: 1px solid var(--line); padding-left: clamp(24px,3vw,40px); }
.story-timeline li { position: relative; padding-bottom: 40px; }
.story-timeline li:last-child { padding-bottom: 0; }
.story-timeline li::before { content: ""; position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--coral); left: calc(-1 * clamp(24px,3vw,40px) - 6px); top: 6px; }
.story-date { display: block; color: var(--coral-ink); font-size: .875rem; font-weight: 750; margin-bottom: 12px; }
.story-timeline h3 { margin-bottom: 16px; font-size: 1.25rem; }
.story-timeline p { color: var(--muted); }
.field-note { margin-top: 8px; font-size: .8rem; color: var(--muted); }
.nav__toggle--current { color: white; }
.utility-page { min-height: 54vh; padding-block: var(--section); background: var(--mist); }
.utility-page h1 { max-width: 20ch; margin-bottom: 28px; }
.utility-page p { max-width: 42rem; color: var(--muted); }
.utility-page .eyebrow { color: var(--coral-ink); }
.utility-page .btn { margin-top: 16px; }
.utility-actions { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
@media(min-width:961px) { .story-intro { align-self: start; position: sticky; top: 120px; } }
@media(max-width:1140px) { .feature-grid, .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:960px) {
  .page-hero__grid, .split, .local-grid, .story-grid { grid-template-columns: 1fr; }
  .page-hero__media { aspect-ratio: 16 / 9; max-height: 480px; }
  .page-hero__media--portrait { aspect-ratio: 4 / 5; max-height: 550px; }
  .page-hero__drawing { max-width: 600px; }
  .page-hero h1 { max-width: 25ch; }
  .page-hero__copy .hero__lead { max-width: 42rem; }
  .split--reverse .prose { order: 0; }
  .split__image { max-width: 650px; }
  .insurance-banner .wrap { flex-direction: column; align-items: start; }
  .services__grid--three, .feature-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .page-hero__grid { padding-top: 32px; }
  .page-hero h1 { font-size: clamp(2.25rem,7.5vw,3rem); }
  .page-hero .hero__proof { flex-direction: column; }
  .feature-grid, .process-grid, .services__grid--three, .feature-grid:has(> :nth-child(3):last-child) { grid-template-columns: 1fr; }
  .process-grid { gap: 28px; }
  .feature-card { padding: 28px; }
  .breadcrumbs { font-size: .8rem; }
  .insurance-banner .btn { width: 100%; }
  .story-timeline { margin-left: 6px; }
}

@media(max-width:960px) { .nav { top: var(--nav-top,84px); } }
@media(max-width:640px) { .nav { top: var(--nav-top,72px); } }

/* Contextual links inherit the existing dark/light section colours. */
.hero__lead a, .claims p a, .insurance-banner p a { color: inherit; text-underline-offset: 4px; text-decoration-color: var(--coral); }
.quote__intro > p a, .about__copy > p a, .section-head p a { text-underline-offset: 4px; text-decoration-color: var(--coral); }
