.service-list a, .area-details-link, .pricing-footnote a, .area-service-copy p a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.service-list a:hover { color: var(--accent-strong); }
.service-page main { min-height: 50vh; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 24px; font-size: 12px; line-height: 1.6; color: var(--muted); }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs [aria-current] { color: var(--secondary); }
.service-hero { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 65px; padding-block: 45px 42px; align-items: center; }
.service-hero h1 { font-size: clamp(40px,4.3vw,64px); line-height: 1.09; letter-spacing: -2.5px; max-width: 850px; margin-bottom: 20px; }
.service-hero .eyebrow { font-size: 10px; margin-bottom: 18px; }
.service-tagline { font-family: var(--head); font-size: 22px; font-weight: 650; letter-spacing: -.6px; margin-bottom: 13px; }
.service-summary { font-size: 16px; line-height: 1.75; max-width: 760px; margin-bottom: 0; color: var(--muted); }
.service-hero-note { border-left: 3px solid var(--accent); padding: 12px 0 12px 28px; }
.service-hero-note .service-icon { background: var(--secondary); color: var(--dominant); width: 52px; height: 52px; margin-bottom: 18px; }
.service-hero-note p { font-family: var(--head); font-size: 21px; font-weight: 750; line-height: 1.35; margin-bottom: 13px; }
.service-hero-note>a { font-weight: 700; font-size: 16px; }
.service-hero-note small { display: block; font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 13px; }
.compact-coverage { border-top: 1px solid #173f5329; border-bottom: 1px solid #173f5329; padding-block: 13px; }
.compact-coverage p { font-size: 12.5px; line-height: 1.7; margin: 0; color: var(--muted); }
.compact-coverage strong, .compact-coverage a { color: var(--secondary); }
.compact-coverage a { text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.service-content { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 78px; padding-block: 65px; align-items: start; }
.service-description h2 { font-size: 33px; letter-spacing: -1px; margin-bottom: 24px; }
.service-description h3 { font-size: 20px; letter-spacing: -.5px; margin: 30px 0 15px; }
.service-description p { font-size: 15px; line-height: 1.85; color: var(--muted); }
.service-description .eyebrow { color: var(--secondary); font-size: 10px; margin-bottom: 15px; }
.included-items { list-style: none; padding: 0; margin: 0; }
.included-items li { display: flex; align-items: flex-start; gap: 12px; padding-block: 12px; border-bottom: 1px solid #173f531f; font-size: 14px; line-height: 1.65; }
.included-items svg { width: 20px; height: 20px; padding: 3px; margin-top: 2px; background: var(--accent); border-radius: 50%; }
.service-description .service-scope { padding-top: 18px; border-top: 1px solid #173f5329; font-size: 13px; }
.service-scope a { text-decoration: underline; text-underline-offset: 3px; }
.service-price-panel { background: var(--secondary); color: var(--dominant); padding: 30px; border-radius: 18px; box-shadow: 8px 9px 0 var(--dominant-shade); }
.service-rig-icon { width: 104px; height: 52px; color: var(--accent); margin-bottom: 13px; }
.service-hero-note .service-rig-icon { color: var(--secondary); }
.service-price-panel .eyebrow { font-size: 9px; margin-bottom: 12px; }
.service-price-panel h2 { font-size: 29px; letter-spacing: -.8px; line-height: 1.2; }
.service-price-panel dl { margin: 22px 0; }
.service-price-panel dl>div { display: flex; justify-content: space-between; align-items: center; gap: 14px; border-bottom: 1px solid #f8f3ea33; padding-block: 13px; }
.service-price-panel dt { font-size: 13px; line-height: 1.5; }
.service-price-panel dd { font-family: var(--head); font-size: 25px; font-weight: 750; margin: 0; color: var(--accent); }
.service-price-panel>p:not(.eyebrow) { font-size: 12px; line-height: 1.7; color: #e1e6e4; }
.service-price-panel .button { width: 100%; padding: 16px; font-size: 12px; gap: 10px; }
.service-price-panel .price-payment { margin: 17px 0 11px; }
.panel-link { font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }
.service-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; padding-block: 35px; border-top: 1px solid #173f5329; border-bottom: 1px solid #173f5329; }
.service-process>div { position: relative; padding-left: 40px; }
.service-process span { position: absolute; left: 0; top: 0; font-size: 12px; font-weight: 700; padding-top: 3px; color: var(--accent-strong); }
.service-process h2 { font-size: 17px; letter-spacing: -.4px; line-height: 1.4; margin-bottom: 10px; }
.service-process p { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0; }
.service-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 75px; padding-block: 70px; align-items: start; }
.service-faq h2 { font-size: 31px; letter-spacing: -1px; }
.service-faq .eyebrow { font-size: 9px; margin-bottom: 16px; }
.service-faq .faqs { min-width: 0; }
.related-section { background: var(--secondary); color: var(--dominant); padding-block: 55px; }
.related-heading { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 25px; }
.related-heading h2 { font-size: 27px; letter-spacing: -.8px; }
.related-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.related-links>a { position: relative; padding: 24px 42px 24px 24px; border: 1px solid #f8f3ea44; border-radius: 12px; transition: background .2s; }
.related-links>a:hover { background: var(--secondary-light); }
.related-links strong { display: block; font-size: 16px; margin-bottom: 12px; line-height: 1.5; }
.related-links span { font-size: 12px; line-height: 1.65; color: #e1e6e4; display: block; }
.related-links b { position: absolute; right: 19px; top: 24px; color: var(--accent); }
.subpage-footer { padding-top: 32px; }
.subpage-footer nav { display: flex; flex-wrap: wrap; gap: 22px; font-size: 12px; }
.service-directory { padding-block: 50px 65px; }
.service-directory>section+section { margin-top: 45px; }
.service-directory h2 { font-size: 27px; letter-spacing: -.8px; margin-bottom: 22px; }
.service-directory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.service-directory-grid>a { display: flex; align-items: flex-start; gap: 18px; padding: 25px; background: var(--dominant-shade); border: 1px solid #173f5320; border-radius: 14px; transition: transform .2s, border-color .2s; }
.service-directory-grid>a:hover { transform: translateY(-3px); border-color: var(--secondary); }
.directory-icon { flex-shrink: 0; width: 38px; height: 38px; display: grid; place-items: center; background: var(--secondary); color: var(--dominant); border-radius: 10px; }
.directory-icon svg { width: 23px; height: 23px; }
.service-directory-grid h3 { font-size: 18px; letter-spacing: -.4px; line-height: 1.4; margin-bottom: 9px; }
.service-directory-grid p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--muted); }
.directory-arrow { margin-left: auto; font-size: 19px; }
.directory-cta { background: var(--accent); padding-block: 55px; }
.directory-cta h2 { font-size: 32px; letter-spacing: -1px; }
.directory-cta p { font-size: 15px; line-height: 1.7; margin: 15px 0 22px; }
.directory-cta .button { background: var(--secondary); color: var(--dominant); }
.area-directory { padding-bottom: 60px; }
.area-directory h2 { font-size: 33px; margin-bottom: 22px; }
.area-directory>p, .area-service-copy p { max-width: 850px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.area-directory>ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; gap: 12px; padding: 16px 0 25px; }
.area-directory>ul li { font-size: 14px; padding: 15px; background: var(--dominant-shade); border-radius: 7px; }
.area-service-copy h3 { font-size: 23px; letter-spacing: -.6px; margin-top: 20px; }
@media(max-width:1000px) {
  .service-hero { gap: 35px; grid-template-columns: minmax(0,1fr) 210px; }
  .service-content { gap: 35px; grid-template-columns: minmax(0,1fr) 310px; }
  .service-price-panel { padding: 25px; }
  .service-faq { gap: 35px; }
  .service-process { gap: 22px; }
  .area-directory>ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:750px) {
  .service-hero { grid-template-columns: 1fr; gap: 30px; padding-top: 30px; }
  .service-hero-note { display: none; }
  .service-content { grid-template-columns: 1fr; gap: 30px; padding-block: 40px; }
  .service-price-panel { max-width: 520px; width: 100%; }
  .service-process { grid-template-columns: 1fr; gap: 24px; }
  .service-faq { grid-template-columns: 1fr; gap: 24px; padding-block: 45px; }
  .related-links { grid-template-columns: 1fr; gap: 12px; }
  .related-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .service-directory-grid { grid-template-columns: 1fr; }
  .area-directory>ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .breadcrumbs { font-size: 11px; gap: 7px; padding-top: 18px; }
  .service-hero h1 { font-size: 40px; letter-spacing: -1.7px; }
  .service-hero .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .service-summary { font-size: 14px; }
  .service-tagline { font-size: 20px; }
  .compact-coverage p { font-size: 12px; line-height: 1.65; }
  .compact-coverage { padding-block: 11px; }
  .service-description h2 { font-size: 29px; }
  .service-description p { font-size: 14px; }
  .service-directory-grid>a { padding: 20px; gap: 13px; }
  .service-directory-grid h3 { font-size: 16px; }
  .directory-icon { width: 32px; height: 32px; }
  .directory-cta h2 { font-size: 29px; }
  .area-directory>ul li { font-size: 12px; padding: 12px; }
  .subpage-footer nav { column-gap: 20px; row-gap: 15px; }
}
