.d5-search-panel,
.d5-search-page {
  --d5-bg: #101013;
  --d5-text: #f5f4f0;
  --d5-muted: #c4c0ba;
  --d5-rule: #343438;
  --d5-highlight: #e3c7ff;
  background: var(--d5-bg);
  color: var(--d5-text);
  font-family: Inter, system-ui, sans-serif;
}

.d5-search-panel {
  padding: clamp(3rem, 6vw, 6rem) 1.5rem;
  border-block: 1px solid var(--d5-rule);
}

.d5-search-panel--light {
  --d5-bg: #f5f2ed;
  --d5-text: #171619;
  --d5-muted: #49444c;
  --d5-rule: #d3cbd2;
  --d5-highlight: #55207c;
}

.d5-search-wrap {
  box-sizing: border-box;
  width: min(100%, 68rem);
  margin: 0 auto;
}

.d5-search-panel h2,
.d5-search-page h2 {
  margin: 0 0 .8rem;
  color: var(--d5-text);
  font-size: clamp(1.65rem, 3.6vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.d5-search-panel h3,
.d5-search-page h3 {
  margin: 0 0 .55rem;
  color: var(--d5-text);
  font-size: 1.08rem;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.d5-search-panel p,
.d5-search-page p,
.d5-search-page li {
  margin: 0;
  color: var(--d5-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.d5-search-panel p,
.d5-search-page p { max-width: 70ch; }

.d5-search-panel a,
.d5-search-page a {
  color: var(--d5-highlight);
  text-decoration: underline;
  text-underline-offset: .22em;
}

.d5-search-panel a:focus-visible,
.d5-search-page a:focus-visible { outline: 2px solid var(--d5-highlight); outline-offset: 4px; }

.d5-search-kicker {
  margin-bottom: 1rem !important;
  color: var(--d5-highlight) !important;
  font-size: .77rem !important;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.d5-search-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: 0 1.35rem;
  list-style: none;
  margin: 1.8rem 0 0;
  padding: 0;
}

.d5-search-links li { min-width: 0; border-block-start: 1px solid var(--d5-rule); }
.d5-search-links a { display: block; padding: .78rem 0; line-height: 1.45; }

.d5-search-answers { display: grid; gap: 1.25rem; margin-block: 1.8rem; }
.d5-search-answer { border-left: 2px solid var(--d5-rule); padding-left: 1rem; }

.d5-search-page { margin: 0; }
.d5-search-page *, .d5-search-page *::before, .d5-search-page *::after { box-sizing: border-box; }
.d5-search-page .d5-search-wrap { width: min(calc(100% - 3rem), 68rem); }
.d5-service-header { border-bottom: 1px solid var(--d5-rule); }
.d5-service-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; padding: .9rem 0; }
.d5-service-nav .d5-brand { margin-right: auto; font-size: 1.32rem; font-weight: 800; color: var(--d5-text); text-decoration: none; }
.d5-service-crumbs { display: flex; flex-wrap: wrap; gap: .25rem .6rem; margin: 0; padding: 1.2rem 0; list-style: none; }
.d5-service-crumbs li + li::before { content: '/'; margin-right: .6rem; color: var(--d5-muted); }
.d5-service-hero { padding: clamp(2rem, 6vw, 5rem) 0; }
.d5-service-hero h1 { max-width: 15ch; margin: 0 0 1.2rem; font-size: clamp(2.15rem, 6vw, 5.45rem); line-height: .99; letter-spacing: -.062em; }
.d5-service-hero .d5-lead { font-size: clamp(1.08rem, 1.8vw, 1.37rem); }
.d5-service-cta { display: inline-flex; align-items: center; min-height: 44px; margin-top: 1.4rem; border: 1px solid var(--d5-highlight); padding: .5rem .95rem; }
.d5-service-section { padding: clamp(2rem, 4vw, 3.8rem) 0; border-top: 1px solid var(--d5-rule); }
.d5-service-inputs { max-width: 70ch; margin: .65rem 0 0; padding-left: 1.3rem; }
.d5-service-inputs li + li { margin-top: .4rem; }
.d5-service-footer { border-top: 1px solid var(--d5-rule); padding: 2rem 0; }
