/* Service pages extend the existing Brünsch design; all assets are local. */
.brand { text-decoration: none; text-align: center; }
.brand img { width: clamp(190px, 19vw, 270px); height: auto; }
.service-hero { grid-template-columns: 48% 52%; }
.service-hero .hero-copy { padding: 58px 10% 62px 12.3%; }
.service-hero h1 { font-size: clamp(48px, 5.55vw, 88px); line-height: 1.02; letter-spacing: -.035em; margin: 22px 0 26px; }
.service-hero .eyebrow { font-size: 11px; letter-spacing: .16em; }
.service-hero .eyebrow::after { width: 38px; }
.service-hero .hero-intro { font-size: clamp(18px, 1.65vw, 24px); line-height: 1.45; }
.hero-addition { margin-top: 16px; max-width: 450px; color: var(--muted); font-size: clamp(15px, 1.15vw, 17px); line-height: 1.65; }
.service-hero .hero-picture img { aspect-ratio: 1.02; object-position: 60% center; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px; }
.hero-actions .button-green { margin-top: 0; }
.phone-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--green); font-size: 14px; text-decoration: none; }
.phone-link:hover { text-decoration: underline; }
.service-section { max-width: 1440px; margin-inline: auto; padding: 80px 6%; }
.section-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 8%; margin-bottom: 40px; }
.section-intro h2, .request-copy h2 { margin-top: 18px; font-size: clamp(38px, 4vw, 58px); line-height: 1.08; letter-spacing: -.025em; }
.section-intro > p { color: var(--muted); font-size: clamp(16px, 1.35vw, 19px); line-height: 1.7; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.detail-card { box-shadow: none; background: transparent; border-top: 1px solid #c5cbbd; }
.detail-copy { padding: 24px 0 0; }
.detail-number { color: var(--copper); font-size: 12px; }
.detail-card h3 { margin: 18px 0 14px; font-size: 34px; line-height: 1.15; }
.detail-card p { color: var(--muted); font-size: 16px; line-height: 1.7; }
.request-section { background: #eeeee5; }
.request-inner { display: grid; grid-template-columns: 1fr 1fr; max-width: 1440px; gap: 10%; margin-inline: auto; padding: 76px 6%; }
.request-copy > p:not(.eyebrow) { margin-top: 24px; font-size: 17px; color: var(--muted); line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; margin-top: 20px; color: var(--green); text-decoration: none; border-bottom: 1px solid #a6b19f; font-size: 15px; }
.text-link:hover { border-color: var(--green); }
.request-steps { list-style: none; margin: 0; padding: 0; }
.request-steps li { display: grid; grid-template-columns: 25px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid #ccd1c3; }
.request-steps li:first-child { padding-top: 0; }
.request-steps li:last-child { padding-bottom: 0; border-bottom: 0; }
.step-number { padding-top: 5px; color: var(--copper); font-size: 12px; }
.request-steps h3 { font-size: 31px; line-height: 1.2; margin-bottom: 10px; }
.request-steps p { color: var(--muted); font-size: 16px; line-height: 1.7; }
.service-contact { padding: 0; text-align: left; background: #000; }
.contact-inner { display: grid; grid-template-columns: 1.15fr 1fr; gap: 10%; max-width: 1440px; margin-inline: auto; padding: 70px 6%; }
.service-contact h2 { margin-top: 18px; font-size: clamp(40px, 4vw, 58px); line-height: 1.1; }
.contact-eyebrow { text-transform: uppercase; letter-spacing: .17em; font-size: 11px; color: #d0c2a9; }
.service-contact .contact-intro { margin-top: 20px; font-size: 17px; line-height: 1.7; }
.contact-details { display: flex; flex-direction: column; gap: 25px; align-self: center; font-style: normal; font-size: 17px; line-height: 1.6; }
.contact-label { margin-bottom: 7px; font-size: 11px; text-transform: uppercase; letter-spacing: .15em; color: #c4c4be; }
.contact-details a { display: inline-block; min-height: 32px; overflow-wrap: anywhere; }
.contact-email { font-size: clamp(13px, 1.25vw, 18px); }
.site-footer nav { flex-wrap: wrap; justify-content: center; gap: 24px; }
.site-footer nav a { font-size: 12px; }
@media (min-width: 701px) and (max-width: 1000px) {
  .service-hero .hero-copy { padding: 35px 8% 40px 12.3%; }
  .service-hero h1 { font-size: 48px; }
  .service-hero .eyebrow { font-size: 9px; }
  .service-hero .eyebrow::after { display: none; }
  .hero-actions { gap: 8px 20px; margin-top: 22px; }
  .service-section { padding-block: 55px; }
  .detail-grid { gap: 20px; }
  .detail-card h3 { font-size: 29px; }
  .detail-card p, .request-steps p { font-size: 15px; }
  .request-inner { gap: 7%; padding-block: 55px; }
  .contact-inner { gap: 7%; }
}
@media (max-width: 700px) {
  .brand img { width: 230px; height: auto; }
  .header-inner { padding-top: 8px; }
  .site-header nav { gap: clamp(14px, 4vw, 26px); }
  .site-header nav a { font-size: 11px; }
  .service-hero { grid-template-columns: minmax(0, 1fr); }
  .service-hero .hero-copy { padding: 30px 7% 36px; }
  .service-hero .eyebrow { font-size: 9px; letter-spacing: .13em; gap: 10px; }
  .service-hero .eyebrow::after { width: 25px; }
  .service-hero h1 { font-size: clamp(47px, 12vw, 70px); margin: 20px 0 24px; }
  .service-hero .hero-intro { font-size: 18px; }
  .hero-addition { font-size: 15px; }
  .hero-actions { gap: 12px 22px; margin-top: 24px; }
  .phone-link { font-size: 14px; }
  .service-hero .hero-picture img { aspect-ratio: 1.4; object-position: center; }
  .service-section { padding: 48px 7%; }
  .section-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 28px; }
  .section-intro h2, .request-copy h2 { font-size: clamp(36px, 9vw, 48px); }
  .section-intro > p { font-size: 16px; }
  .detail-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .detail-copy { padding-top: 17px; }
  .detail-card h3 { font-size: 33px; margin-top: 10px; }
  .detail-card p { font-size: 16px; }
  .request-inner { grid-template-columns: minmax(0, 1fr); gap: 38px; padding: 48px 7%; }
  .request-copy > p:not(.eyebrow) { font-size: 16px; }
  .request-steps { padding-left: 0; }
  .request-steps li { gap: 14px; }
  .request-steps h3 { font-size: 29px; }
  .request-steps p { font-size: 15px; }
  .contact-inner { grid-template-columns: minmax(0, 1fr); gap: 42px; padding: 50px 7%; }
  .service-contact h2 { font-size: clamp(39px, 10vw, 52px); }
  .service-contact .contact-intro { font-size: 16px; }
  .service-contact .button-light { margin-top: 24px; }
  .contact-details { font-size: 17px; }
  .contact-email { font-size: 14px; }
  .contact-eyebrow { font-size: 10px; letter-spacing: .12em; }
  .site-footer nav { gap: 5px 20px; }
  .legal-page { padding-inline: 7%; }
}

/* Division branding */
:root {
  --brand-accent: #273583;
  --ink: #273583;
  --muted: #505a7e;
  --green: #273583;
  --copper: #273583;
  --brand-button-ink: #ffffff;
  --brand-hover: #1e2968;
  --brand-on-dark: #c5cbed;
  --brand-panel: #eef0f8;
  --brand-border: #bec5e1;
}
.button-green, .button-light { background: var(--brand-accent); color: var(--brand-button-ink); }
.button-green:hover, .button-light:hover { background: var(--brand-hover); }
.eyebrow::after { background: var(--brand-border); }
.detail-card, .request-steps li, .text-link { border-color: var(--brand-border); }
.request-section { background: var(--brand-panel); }
.service-contact, .site-footer { background: #000; color: var(--brand-on-dark); }
.contact-eyebrow, .contact-label { color: var(--brand-on-dark); }
a:focus-visible { outline-color: var(--ink); }
.contact a:focus-visible, .site-footer a:focus-visible { outline-color: var(--brand-on-dark); }
