/* ===========================================================================
   DRHP content blocks — real text replacing images of text
   Task #23. WCAG 2.2 AA, 1.4.5 Images of Text.

   Nine home-page graphics carried their copy baked into a picture. Text in an
   image cannot reflow, cannot be zoomed without going blurry, cannot be
   translated, selected, searched or restyled by a reader who needs larger type
   or different colours. These blocks reproduce the same designs in markup.

   COLOURS ARE THE MEASURED ORIGINALS. Each was sampled from the source graphic
   and kept unless it failed AA, in which case it moved the smallest distance
   that passes:

     card panel      #a367b1 -> #9961a6   white heading 4.09:1 -> 4.55:1
     arrow glyph     #a367b1 -> #8c2fb8   on pale pink   3.02:1 -> 4.82:1
     band text       #9030b4    unchanged, 6.43:1 on white
     statement panel #efddfd    unchanged, 5.03:1 with #9030b4
     funders circle  #8c2fb8    unchanged, 6.53:1 on white
     banner text     #181818    unchanged, 17.31:1 on white

   Typeface: Headland One, the serif already loaded on this site by the fonts
   plugin and already used in these graphics. No new webfont was introduced.
   =========================================================================== */

:root {
  --drhp-card-panel:  #9961a6;  /* white on it: 4.55:1 — AA */
  --drhp-card-ink:    #ffffff;
  --drhp-arrow-disc:  #ffd1e3;  /* sampled from the source graphic */
  --drhp-arrow-glyph: #8c2fb8;  /* 4.82:1 on the disc — non-text needs 3:1 */
  --drhp-band-ink:    #9030b4;  /* 6.43:1 on white — AA */
  --drhp-panel-tint:  #efddfd;  /* sampled from the statement graphic */
  --drhp-ring:        #8c2fb8;
  --drhp-serif: "Headland One", Georgia, "Times New Roman", serif;
}

/* ---------------------------------------------------------------------------
   1. "Learn more about …" cards
   Photo one side, purple panel the other, heading and a circular arrow.
   The whole card is the link (Fitts's law) rather than a small "read more",
   and the arrow is visible at rest because touch devices have no hover.
   --------------------------------------------------------------------------- */

.drhp-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  margin: 0 0 28px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--drhp-card-panel);
  text-decoration: none !important;
  color: var(--drhp-card-ink);
  min-height: 88px;
  transition: transform 150ms ease-out, box-shadow 150ms ease-out;
}
.drhp-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(52, 0, 112, 0.22); }
.drhp-card:focus-visible { transform: translateY(-3px); }

/* The panel. The source art curves the purple into the photo; a large radius on
   the inner edge reproduces that without needing an image. */
.drhp-card__panel {
  background: var(--drhp-card-panel);
  color: var(--drhp-card-ink);
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 28px;
  text-align: center;
  position: relative;
  z-index: 1;
  /* The source art curves the purple into the photo as one smooth convex arc
     spanning the full height. A single elliptical corner pair reproduces it:
     45% of the panel's width horizontally, the full height vertically. */
  border-radius: 0 45% 45% 0 / 0 100% 100% 0;
  margin-right: -14%;
}

.drhp-card__title {
  font-family: var(--drhp-serif);
  font-weight: 400;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.22;
  color: var(--drhp-card-ink);
  margin: 0;
  max-width: 12em;
  text-wrap: balance;
}

/* Circular arrow, reproduced from the source art. Decorative: the card's own
   text already names the destination, so it is hidden from assistive tech. */
.drhp-card__arrow {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--drhp-arrow-disc);
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto;
  transition: transform 150ms ease-out;
}
.drhp-card:hover .drhp-card__arrow { transform: translateX(4px); }
.drhp-card__arrow::before {
  content: "";
  width: 15px; height: 15px;
  border-top: 4px solid var(--drhp-arrow-glyph);
  border-right: 4px solid var(--drhp-arrow-glyph);
  transform: rotate(45deg) translate(-2px, 2px);
}

.drhp-card__media { position: relative; overflow: hidden; background: #fff; }
.drhp-card__media img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Client direction (4 Sept 2026): "reduce the opacity of the purple so more of
   the image in the back is seen, but not too much". The photo only ran under
   the panel's curved edge, so the photo now starts at 45% of the card and runs
   under the panel, which is a translucent 85% purple layer over it. The three
   card photos are 820×924 portraits: filling the whole card would crop them
   to half their height and cut the faces, while a 55%-wide column crops only
   ~6% and keeps the right-hand composition. 85% purple keeps the white 34px
   title ≥3:1 over any photo pixel (3.49:1 even over pure white); measured per
   card. Phones keep the stacked layout, where nothing sits behind the panel. */
@media (min-width: 783px) {
  .drhp-card { position: relative; aspect-ratio: 950 / 535; }
  .drhp-card__media { position: absolute; top: 0; bottom: 0; right: 0; left: 45%; z-index: 0; }
  .drhp-card__media img { object-position: right center; }
  .drhp-card__panel { background: rgba(153, 97, 166, 0.85); }
}

@media (max-width: 782px) {
  .drhp-card { grid-template-columns: 1fr; }
  .drhp-card__panel {
    border-radius: 0;
    margin-right: 0;
    padding: 32px 20px;
    gap: 20px;
    order: 2;
  }
  .drhp-card__media { order: 1; aspect-ratio: 16 / 10; }
  .drhp-card__arrow { width: 56px; height: 56px; }
}

/* ---------------------------------------------------------------------------
   2. Statement bands — a single sentence, centred, full width
   --------------------------------------------------------------------------- */

.drhp-band {
  margin: 0 0 26px;
  padding: 46px 24px;
  text-align: center;
  background: #ffffff;
}
.drhp-band p,
.drhp-band__text {
  font-family: var(--drhp-serif);
  font-weight: 400;
  font-size: clamp(21px, 2.5vw, 33px);
  line-height: 1.34;
  color: var(--drhp-band-ink);       /* 6.43:1 on white */
  margin: 0 auto;
  max-width: 22ch;
  text-wrap: balance;
}
.drhp-band--wide p, .drhp-band--wide .drhp-band__text { max-width: 30ch; }

@media (max-width: 782px) {
  .drhp-band { padding: 32px 20px; }
}

/* ---------------------------------------------------------------------------
   3. Solidarity statement — tinted panel, hand-drawn ring, two columns
   --------------------------------------------------------------------------- */

.drhp-statement {
  background: var(--drhp-panel-tint);
  border-radius: 10px;
  padding: 48px 40px;
  margin: 0 0 28px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
.drhp-statement__body {
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.5;
  color: var(--drhp-band-ink);       /* 5.03:1 on the tint */
  margin: 0;
  font-family: var(--drhp-serif);
}
.drhp-statement__ring {
  border: 12px solid var(--drhp-ring);
  /* Slightly irregular radii echo the hand-drawn circle in the source art. */
  border-radius: 49% 51% 47% 53% / 52% 48% 52% 48%;
  padding: 40px 28px;
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 1 / 1;
  max-width: 340px;
  margin-inline: auto;
}
.drhp-statement__ring h2,
.drhp-statement__ring p {
  font-family: var(--drhp-serif);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.15;
  color: var(--drhp-ring);           /* 5.55:1 on the tint */
  margin: 0; text-align: center; text-wrap: balance;
}
.drhp-statement__cta { margin: 20px 0 0; }

@media (max-width: 782px) {
  .drhp-statement { grid-template-columns: 1fr; padding: 32px 20px; gap: 28px; }
  .drhp-statement__ring { order: -1; max-width: 240px; border-width: 9px; padding: 30px 20px; }
}

/* ---------------------------------------------------------------------------
   4. Funders acknowledgement — ring, copy, logo strip
   --------------------------------------------------------------------------- */

.drhp-funders {
  margin: 0 0 28px;
  padding: 40px 24px;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 44px;
  align-items: center;
}
.drhp-funders__body {
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.5;
  color: var(--drhp-band-ink);       /* 6.43:1 on white */
  margin: 0 0 26px;
  font-family: var(--drhp-serif);
}
.drhp-funders__logos {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 40px;
  list-style: none; margin: 0; padding: 0;
}
.drhp-funders__logos img {
  height: 62px; width: auto; max-width: 100%;
  display: block;
}
@media (max-width: 782px) {
  .drhp-funders { grid-template-columns: 1fr; padding: 28px 20px; gap: 26px; }
  .drhp-funders__logos { gap: 24px; }
  .drhp-funders__logos img { height: 48px; }
}

/* ---------------------------------------------------------------------------
   5. Campaign banner — was a flat JPEG of a slogan
   --------------------------------------------------------------------------- */

.drhp-banner {
  border: 3px solid #181818;
  padding: 40px 28px;
  text-align: center;
  margin: 0 0 28px;
  background: #ffffff;
}
.drhp-banner__lead {
  font-family: Montserrat, Inter, sans-serif;
  font-weight: 700;
  font-size: clamp(26px, 5vw, 62px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #181818;                    /* 17.31:1 on white */
  margin: 0 0 18px;
  text-wrap: balance;
}
.drhp-banner__sub {
  font-family: var(--drhp-serif);
  font-size: clamp(15px, 1.9vw, 23px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #181818;
  margin: 0;
  line-height: 1.5;
}
.drhp-banner__sub span { display: block; }
.drhp-banner__sub span + span { border-top: 1px solid #181818; padding-top: 4px; margin-top: 4px; display: inline-block; }

/* Reduced motion: the lift and arrow nudge are decorative. */
@media (prefers-reduced-motion: reduce) {
  .drhp-card, .drhp-card__arrow { transition: none !important; }
  .drhp-card:hover { transform: none; }
  .drhp-card:hover .drhp-card__arrow { transform: none; }
}

/* ---------------------------------------------------------------------------
   Refinements after visual review
   --------------------------------------------------------------------------- */

/* The theme sets list-style-type: square on every li inside .entry-content,
   which beats `list-style: none` declared on the ul. The logo strip is a list
   for semantics, not for bullets. */
.drhp-funders__logos,
.drhp-funders__logos li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding: 0;
}
.drhp-funders__logos li::marker { content: none; }

/* The cropped logos carry their own whitespace, so they need more height than
   a tightly-trimmed logo would to read at the same optical size. */
.drhp-funders__logos img { height: 78px; }
@media (max-width: 782px) { .drhp-funders__logos img { height: 58px; } }

/* Keep the logo strip on one optical baseline. */
.drhp-funders__logos li { display: flex; align-items: center; min-height: 78px; }

/* The statement ring holds a long title; give it room and stop it breaking
   "Anti-Black" across lines. */
.drhp-statement__ring { max-width: 380px; padding: 44px 26px; }
.drhp-statement__ring h2,
.drhp-statement__ring p {
  font-size: clamp(18px, 1.9vw, 26px);
  line-height: 1.2;
  hyphens: none;
}
.drhp-statement__ring h2 { text-wrap: pretty; }

/* The International Women's Day teaser: the quotation is the display element;
   its link should read as a link, not as a second headline. */
.drhp-band p + p a,
.drhp-band__text + p a {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.5;
}

/* ===========================================================================
   SEARCH RESULTS
   The parent renders results as centred 42px blog headlines with author and
   comment metadata — off-design and hard to scan. Search on this site is a
   wayfinding tool for someone who may be in distress, so the page is rebuilt
   as a scannable result list: tinted ground, white cards, one clear title per
   row, the matched words highlighted, and the destination type stated.
   Scoped to body.search; the card markup comes from the child's
   template-parts/post/content-excerpt.php (search only).
   =========================================================================== */
body.drhp-header-2026-active.search #content.site-content {
  background: var(--d26-band, #f7f3fa);
  padding-bottom: 64px;
}

/* ---- page header: query, count ---- */
body.drhp-header-2026-active.search .page-header {
  max-width: 950px;
  margin: 0 auto;
  padding: 56px 0 0;
  text-align: left;
  border: 0;
}
body.drhp-header-2026-active.search .page-title {
  margin: 0;
  font: 700 32px/40px Montserrat, Inter, sans-serif;
  color: var(--d26-ink, #3f124d);                 /* 14.6:1 on the band */
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
}
body.drhp-header-2026-active.search .page-title span { color: var(--d26-purple, #5a246c); }  /* 10.8:1 */
body.drhp-header-2026-active.search .page-title::after { display: none; }   /* parent's decorative rule */
body.drhp-header-2026-active.search .drhp-search-count {
  max-width: 950px;
  margin: 8px auto 0;
  font: 400 15px/22px Inter, system-ui, sans-serif;
  color: var(--d26-muted, #625568);               /* 6.8:1 on the band */
  text-align: left;
}

/* ---- result cards ---- */
body.drhp-header-2026-active.search .site-main > article.drhp-result {
  position: relative;
  text-align: left;
  background: #fff;
  border: 1px solid var(--d26-border, #d9ccde);
  border-radius: 16px;
  padding: 20px 60px 20px 24px;                   /* room for the arrow */
  margin: 0 0 12px;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
body.drhp-header-2026-active.search .site-main > article:first-of-type { margin-top: 0; }
body.drhp-header-2026-active.search .site-main > article::after { content: none; }
body.drhp-header-2026-active.search .site-main > article .entry-meta { display: none; }

body.drhp-header-2026-active.search .drhp-result__kind {
  display: inline-block;
  margin: 0 0 8px;
  padding: 3px 10px;
  background: var(--d26-soft, #ede2f2);
  color: var(--d26-purple, #5a246c);              /* 8.81:1 on soft */
  border-radius: 999px;
  font: 700 12px/16px Montserrat, Inter, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.drhp-header-2026-active.search .site-main > article .entry-title {
  margin: 0;
  font: 700 20px/28px Montserrat, Inter, sans-serif;
  text-align: left;
  text-transform: none;              /* the parent uppercases archive titles */
  letter-spacing: normal;
}
body.drhp-header-2026-active.search .site-main > article .entry-title a {
  color: var(--d26-purple, #5a246c);              /* 11.03:1 on white */
  text-decoration: none;
}
/* The whole card is the click target; the accessible name stays the title. */
body.drhp-header-2026-active.search .site-main > article .entry-title a::after {
  content: ""; position: absolute; inset: 0; border-radius: 16px;
}
body.drhp-header-2026-active.search .drhp-result__excerpt {
  position: relative;                             /* above the click overlay, so text stays selectable */
  margin: 6px 0 0;
  font: 400 16px/24px Inter, system-ui, sans-serif;
  color: var(--d26-text, #241a29);                /* 16.9:1 on white */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
body.drhp-header-2026-active.search .drhp-result__date {
  position: relative;
  margin: 8px 0 0;
  font: 400 13px/20px Inter, system-ui, sans-serif;
  color: var(--d26-muted, #625568);               /* 6.95:1 on white */
}
body.drhp-header-2026-active.search .drhp-result__go {
  position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
  pointer-events: none;                           /* decorative: never a dead zone */
  color: var(--d26-purple, #5a246c);
  font: 600 18px/1 Inter, system-ui, sans-serif;
  transition: transform 150ms ease;
}

/* hover + keyboard focus land on the whole card, not just the title text */
body.drhp-header-2026-active.search .site-main > article.drhp-result:hover {
  border-color: var(--d26-purple, #5a246c);
  box-shadow: 0 6px 18px -8px rgba(31, 10, 36, 0.28);
  transform: translateY(-1px);
}
body.drhp-header-2026-active.search .site-main > article.drhp-result:hover .entry-title a { text-decoration: underline; text-underline-offset: 3px; }
body.drhp-header-2026-active.search .site-main > article.drhp-result:hover .drhp-result__go { transform: translateY(-50%) translateX(3px); }
body.drhp-header-2026-active.search .site-main > article.drhp-result:has(a:focus-visible) {
  outline: 3px solid var(--d26-purple, #5a246c);
  outline-offset: 2px;
  border-color: var(--d26-purple, #5a246c);
}
/* Only hand the ring to the card in browsers that can actually draw it there.
   Without this guard, a browser lacking :has() suppressed the link's own ring
   and rendered nothing at all — a keyboard user would see no focus. */
/* Decision Q16: the 24/7 crisis line sits at the top of the Get Help hub.
   Ink on soft is 12.6:1; the purple link is 8.8:1. */
.drhp-crisis-line {
  margin: 0 0 24px;
  padding: 16px 20px;
  background: var(--d26-soft, #ede2f2);
  border-left: 4px solid var(--d26-purple, #5a246c);
  border-radius: 0 12px 12px 0;
  font: 500 18px/28px Inter, system-ui, sans-serif;
  color: var(--d26-text, #241a29);
}
.drhp-crisis-line a { color: var(--d26-purple, #5a246c); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.drhp-crisis-line a:hover { color: var(--d26-ink, #3f124d); }

@supports selector(:has(*)) {
  body.drhp-header-2026-active.search .site-main > article.drhp-result .entry-title a:focus-visible {
    outline: none !important;                     /* the card draws the ring */
    box-shadow: none !important;                  /* …and a11y.css's white halo with it */
  }
}

/* matched words */
body.drhp-header-2026-active.search .drhp-mark {
  /* No horizontal padding: it injected 2px on each side of a match and
     visually split the host word. */
  background: #f9e3b5;                            /* #241a29 on it 13.6:1 */
  color: var(--d26-text, #241a29);
  padding: 1px 0; border-radius: 2px; font-weight: 600;
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
}

/* ---- pagination ---- */
body.drhp-header-2026-active.search .pagination { margin: 24px 0 0; }
body.drhp-header-2026-active.search .pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding: 0 12px; margin: 0 4px 4px 0;
  background: #fff; border: 1px solid var(--d26-border, #d9ccde); border-radius: 8px;
  color: var(--d26-purple, #5a246c);              /* 11.03:1 */
  font: 600 15px/20px Inter, system-ui, sans-serif; text-decoration: none;
}
body.drhp-header-2026-active.search .pagination a.page-numbers:hover { background: var(--d26-band, #f7f3fa); border-color: var(--d26-purple, #5a246c); }
body.drhp-header-2026-active.search .pagination .page-numbers.dots {
  background: transparent; border-color: transparent; min-width: 24px; padding: 0 4px;
  color: var(--d26-muted, #625568);               /* 6.95:1 — inert, so not chip-styled */
}
body.drhp-header-2026-active.search .pagination .page-numbers.current {
  background: var(--d26-purple, #5a246c); border-color: var(--d26-purple, #5a246c); color: #fff;   /* 11.03:1 */
}

/* ---- empty state ---- */
/* The parent prints the message and form as bare children of <main>. */
body.drhp-header-2026-active.search .site-main > p {
  margin: 0;
  font: 400 18px/28px Inter, system-ui, sans-serif;
  color: var(--d26-text, #241a29);                /* 15.9:1 on the band */
  text-align: left;
}
body.drhp-header-2026-active.search .search-form {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  max-width: 639px; margin: 16px 0 0; position: static;
}
/* Out of flow entirely: as a flex item this screen-reader-only label took a
   1px slot plus the 8px gap, indenting the field from the content column. */
body.drhp-header-2026-active.search .search-form label {
  position: absolute; width: 1px; height: 1px; overflow: hidden; margin: 0;
}
body.drhp-header-2026-active.search .search-form .search-submit { flex: 0 0 auto; position: static; }
body.drhp-header-2026-active.search .search-form .search-field {
  flex: 1 1 auto; width: auto; min-width: 0; min-height: 60px; padding: 0 16px;
  border: 1px solid #ddd; border-radius: 8px;
  font: 400 18px/28px Inter, system-ui, sans-serif;
  color: #151515; background: #fff;
}
body.drhp-header-2026-active.search .search-form .search-submit {
  min-height: 60px; min-width: 44px; padding: 0 16px;
  background: var(--d26-soft, #ede2f2);
  color: var(--d26-purple, #5a246c);              /* 8.81:1 on soft */
  border: 1px solid var(--d26-soft, #ede2f2); border-radius: 8px;
  font: 600 14px/20px Inter, system-ui, sans-serif;
  text-transform: none; letter-spacing: normal; cursor: pointer;
}
body.drhp-header-2026-active.search .search-form .search-submit:hover {
  background: var(--d26-band, #f7f3fa); border-color: var(--d26-border, #d9ccde); text-decoration: none;
}

/* rescue links, inserted after the empty-state form by inc/search-2026.php */
body.drhp-header-2026-active.search .drhp-search-help { margin: 24px 0 0; }
body.drhp-header-2026-active.search .drhp-search-help__title {
  margin: 0 0 12px;
  font: 700 16px/24px Montserrat, Inter, sans-serif;
  color: var(--d26-ink, #3f124d);
}
body.drhp-header-2026-active.search .drhp-search-help__list {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px; list-style: none; margin: 0; padding: 0;
}
body.drhp-header-2026-active.search .drhp-search-help__list a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 52px; padding: 0 16px;
  background: var(--d26-band, #f7f3fa); border: 1px solid var(--d26-border, #d9ccde);
  border-radius: 10px;
  color: var(--d26-purple, #5a246c);              /* 9.7:1 on the band */
  font: 600 16px/22px Inter, system-ui, sans-serif; text-decoration: none;
}
body.drhp-header-2026-active.search .drhp-search-help__list a:hover {
  background: #fff; border-color: var(--d26-purple, #5a246c); text-decoration: underline; text-underline-offset: 3px;
}

/* ---- mobile ---- */
@media (max-width: 767px) {
  /* The parent's percentage gutter drops to 14px at 360; pin the design
     system's 20px content inset so narrow phones keep a comfortable edge. */
  body.drhp-header-2026-active.search .inner-wrap { padding-left: 20px; padding-right: 20px; }
  body.drhp-header-2026-active.search #content.site-content { padding-bottom: 40px; }
  body.drhp-header-2026-active.search .page-header { padding-top: 32px; }
  body.drhp-header-2026-active.search .page-title { font-size: 26px; line-height: 32px; }
  body.drhp-header-2026-active.search .site-main > article.drhp-result { padding: 16px 48px 16px 16px; border-radius: 14px; }
  body.drhp-header-2026-active.search .drhp-result__go { right: 16px; }
  body.drhp-header-2026-active.search .site-main > article .entry-title { font-size: 18px; line-height: 26px; }
  body.drhp-header-2026-active.search .site-main > p { font-size: 16px; line-height: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  body.drhp-header-2026-active.search .site-main > article.drhp-result,
  body.drhp-header-2026-active.search .drhp-result__go { transition: none; }
  body.drhp-header-2026-active.search .site-main > article.drhp-result:hover { transform: none; }
  body.drhp-header-2026-active.search .site-main > article.drhp-result:hover .drhp-result__go { transform: translateY(-50%); }
}

/* Front page only. Interior pages run header → 45 → page title → 45 → content;
   those 45s are the title wrapper's margins (2.8125em). The front page hides
   its title because the hero carries it, but the empty header still collapsed
   both margins into 90px of nothing under the hero. With the empty header out
   of flow only the content wrapper's own 45px top margin remains, so hero →
   first block is 45px: the same title → content distance every other page has. */
body.drhp-header-2026-active.home main article > .entry-header:empty,
body.drhp-header-2026-active.home main article > .entry-header { display: none; }

/* The Privacy Policy layout moved to legal-page.css (inc/legal-page.php, 4 Sept 2026). */
