/*
Theme Name: Daughters of Ruin
Theme URI: https://daughtersofruin.com/
Author: Daughters of Ruin / House of Phoenix
Description: Fully custom block theme for Daughters of Ruin. Dark, cinematic, responsive, and built around the native WordPress Site Editor.
Version: 0.7.30
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: daughters-of-ruin
License: Proprietary
*/

:root {
  --dor-black: #111111;
  --dor-charcoal: #171717;
  --dor-panel: #211919;
  --dor-red: #941616;
  --dor-red-bright: #b01818;
  --dor-bone: #f4f1ec;
  --dor-smoke: #c9c3bc;
  --dor-muted: #8f8984;
  --dor-border: #3a2929;
  --dor-radius: 6px;
  --dor-shadow: 0 18px 45px rgba(0,0,0,.35);
}

html { scroll-behavior: smooth; }
body { background: var(--dor-black); color: var(--dor-bone); }
a { text-underline-offset: .18em; }
img { height: auto; max-width: 100%; }

.dor-section {
  padding-top: clamp(3rem, 7vw, 6rem);
  padding-bottom: clamp(3rem, 7vw, 6rem);
}

.dor-eyebrow {
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--dor-smoke);
}

.dor-display {
  text-transform: uppercase;
  letter-spacing: -.03em;
  line-height: .96;
}

.dor-btn,
.wp-block-button__link {
  border-radius: var(--dor-radius);
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.dor-btn:hover,
.dor-btn:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
  transform: translateY(-2px);
}

.dor-card {
  background: var(--dor-panel);
  border: 1px solid var(--dor-border);
  border-radius: var(--dor-radius);
  overflow: hidden;
  box-shadow: var(--dor-shadow);
}

.dor-hero {
  min-height: min(78vh, 760px);
  display: grid;
  align-items: center;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 30%, rgba(148,22,22,.30), transparent 34%),
    linear-gradient(135deg, #0e0e0e 0%, #181111 55%, #0f0f0f 100%);
}

.dor-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 180px;
  background: linear-gradient(transparent, var(--dor-black));
  z-index: -1;
}

.dor-hero .wp-block-cover__inner-container,
.dor-hero > .wp-block-group {
  width: min(1120px, calc(100% - 2rem));
  margin-inline: auto;
}

.dor-hero-copy {
  max-width: 760px;
}

.dor-release-feature {
  display: grid;
  grid-template-columns: minmax(220px, 360px) 1fr;
  gap: clamp(1.75rem, 5vw, 4rem);
  align-items: center;
}

.dor-release-art img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--dor-radius);
  box-shadow: var(--dor-shadow);
}

.dor-release-meta {
  color: var(--dor-smoke);
  font-size: .92rem;
}

.dor-stream-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.4rem;
}

.dor-stream-links a,
.dor-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .72rem 1rem;
  border: 1px solid var(--dor-red);
  border-radius: var(--dor-radius);
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
  background: transparent;
}

.dor-stream-links a:first-child,
.dor-link-button--primary {
  background: var(--dor-red);
}

.dor-stream-links a:hover,
.dor-stream-links a:focus-visible,
.dor-link-button:hover,
.dor-link-button:focus-visible {
  background: var(--dor-red-bright);
  border-color: var(--dor-red-bright);
}

.dor-release-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
}

.dor-release-card {
  display: block;
  color: inherit;
  text-decoration: none;
  background: var(--dor-panel);
  border: 1px solid var(--dor-border);
  border-radius: var(--dor-radius);
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease;
}

.dor-release-card:hover,
.dor-release-card:focus-visible {
  transform: translateY(-4px);
  border-color: var(--dor-red);
}

.dor-release-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.dor-release-card__body { padding: 1rem; }
.dor-release-card__title { margin: 0; font-weight: 800; font-size: 1.05rem; }
.dor-release-card__meta { margin: .35rem 0 0; color: var(--dor-smoke); font-size: .88rem; }

.dor-callout {
  background: linear-gradient(135deg, #241919, #151515);
  border: 1px solid var(--dor-border);
  border-left: 4px solid var(--dor-red);
  border-radius: var(--dor-radius);
  padding: clamp(1.5rem, 4vw, 2.75rem);
}

.dor-epk-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.dor-site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(17,17,17,.96);
}

.dor-site-header .wp-block-navigation a {
  text-decoration: none;
  font-weight: 700;
}

.dor-site-footer {
  border-top: 1px solid rgba(255,255,255,.08);
}

.dor-release-archive-intro {
  max-width: 760px;
  margin-bottom: 2rem;
}

.dor-release-single-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .5rem 1.5rem;
  margin: 1.5rem 0;
  padding: 1.25rem;
  background: var(--dor-panel);
  border: 1px solid var(--dor-border);
  border-radius: var(--dor-radius);
}

.dor-release-single-meta dt {
  font-weight: 800;
  color: var(--dor-smoke);
}

.dor-release-single-meta dd { margin: 0 0 .6rem; }

@media (max-width: 900px) {
  .dor-release-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .dor-release-feature { grid-template-columns: 1fr; }
  .dor-release-art { max-width: 420px; margin-inline: auto; }
  .dor-epk-grid { grid-template-columns: 1fr; }
  .dor-release-single-meta { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .dor-release-grid { grid-template-columns: 1fr; }
  .dor-stream-links { flex-direction: column; }
  .dor-stream-links a { width: 100%; box-sizing: border-box; }
}


/* === v0.2.0 visual direction: closer to approved DoR concept === */

.dor-site-header {
  background:
    linear-gradient(180deg, rgba(10,10,10,.98), rgba(10,10,10,.94)),
    radial-gradient(circle at 15% 50%, rgba(148,22,22,.12), transparent 30%);
}

.dor-site-header .wp-block-site-logo img {
  width: auto;
  max-height: 64px;
  max-width: 180px;
  object-fit: contain;
}

.dor-site-header .wp-block-navigation-item__content {
  font-size: .82rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dor-site-header .wp-block-navigation-item__content:hover,
.dor-site-header .wp-block-navigation-item__content:focus-visible {
  color: var(--dor-red-bright);
}

.dor-hero {
  min-height: min(84vh, 860px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.dor-hero .dor-display {
  font-size: clamp(3.4rem, 8vw, 7rem);
  max-width: 9ch;
  text-shadow: 0 3px 30px rgba(0,0,0,.55);
}

.dor-hero .wp-block-buttons {
  margin-top: 1.5rem;
}

.dor-section-title {
  margin-bottom: 2rem;
}

.dor-texture {
  position: relative;
  isolation: isolate;
}

.dor-texture::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .17;
  z-index: -1;
  background:
    radial-gradient(circle at 10% 20%, rgba(176,24,24,.32), transparent 22%),
    radial-gradient(circle at 90% 80%, rgba(176,24,24,.18), transparent 26%),
    repeating-linear-gradient(165deg, transparent 0 28px, rgba(255,255,255,.012) 29px 30px);
}

.dor-release-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.35rem;
}

.dor-release-card {
  background:
    linear-gradient(180deg, rgba(35,24,24,.98), rgba(20,20,20,.98));
}

.dor-release-card__body {
  padding: 1rem 1rem 1.15rem;
}

.dor-release-card__title {
  font-size: 1.1rem;
}

.dor-release-detail {
  max-width: 1180px;
  margin-inline: auto;
}

.dor-release-detail-hero {
  display: grid;
  grid-template-columns: minmax(280px, 470px) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.dor-release-detail-hero .dor-release-art {
  margin: 0 !important;
  max-width: none !important;
}

.dor-release-detail-copy {
  padding-top: .4rem;
}

.dor-rule {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, var(--dor-red), rgba(148,22,22,0));
  margin: 2rem 0;
}

.dor-about-section {
  border-top: 1px solid var(--dor-border);
  padding-top: 2rem;
  margin-top: 2rem;
}

@media (max-width: 760px) {
  .dor-site-header .wp-block-site-logo img {
    max-height: 52px;
    max-width: 150px;
  }

  .dor-release-detail-hero {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   v0.3.0 - Authoritative masthead/header layout
   This intentionally supersedes earlier header experiments.
   ========================================================== */

.dor-site-header-v3 {
  position: relative;
  z-index: 50;
  width: 100%;
  background:
    linear-gradient(180deg, rgba(7,7,7,.99), rgba(12,12,12,.97)),
    radial-gradient(circle at 22% 50%, rgba(148,22,22,.10), transparent 28%);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.dor-site-header-v3 .dor-header-inner {
  width: min(1700px, calc(100% - 48px));
  max-width: 1700px;
  margin-inline: auto;
  min-height: 150px;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 3rem;
}

.dor-site-header-v3 .wp-block-site-logo {
  flex: 0 0 auto !important;
  width: 620px !important;
  max-width: 620px !important;
  margin: 0 !important;
}

.dor-site-header-v3 .wp-block-site-logo a {
  display: block !important;
  width: 100% !important;
}

.dor-site-header-v3 .wp-block-site-logo img {
  display: block !important;
  width: 620px !important;
  max-width: 620px !important;
  height: auto !important;
  object-fit: contain !important;
}

.dor-site-header-v3 .wp-block-navigation {
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
}

.dor-site-header-v3 .wp-block-navigation__container {
  justify-content: flex-end !important;
  gap: 1.05rem !important;
}

.dor-site-header-v3 .wp-block-navigation-item__content {
  color: var(--dor-bone) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.dor-site-header-v3 .wp-block-navigation-item__content:hover,
.dor-site-header-v3 .wp-block-navigation-item__content:focus-visible {
  color: var(--dor-red-bright) !important;
}

@media (max-width: 1380px) {
  .dor-site-header-v3 .dor-header-inner {
    width: min(1240px, calc(100% - 40px));
    gap: 2rem;
    min-height: 132px;
  }

  .dor-site-header-v3 .wp-block-site-logo,
  .dor-site-header-v3 .wp-block-site-logo img {
    width: 480px !important;
    max-width: 480px !important;
  }

  .dor-site-header-v3 .wp-block-navigation__container {
    gap: .72rem !important;
  }

  .dor-site-header-v3 .wp-block-navigation-item__content {
    font-size: .72rem !important;
  }
}

@media (max-width: 1024px) {
  .dor-site-header-v3 .dor-header-inner {
    min-height: 112px;
  }

  .dor-site-header-v3 .wp-block-site-logo,
  .dor-site-header-v3 .wp-block-site-logo img {
    width: 390px !important;
    max-width: 46vw !important;
  }
}

@media (max-width: 760px) {
  .dor-site-header-v3 .dor-header-inner {
    min-height: 96px;
    width: calc(100% - 28px);
    gap: 1rem;
  }

  .dor-site-header-v3 .wp-block-site-logo,
  .dor-site-header-v3 .wp-block-site-logo img {
    width: 290px !important;
    max-width: 68vw !important;
  }

  .dor-site-header-v3 .wp-block-navigation {
    flex: 0 0 auto !important;
  }
}

/* Homepage refinement */
.dor-hero-v3 {
  min-height: min(78vh, 820px);
  display: grid;
  align-items: center;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(8,8,8,.98) 0%, rgba(12,8,8,.92) 44%, rgba(56,8,8,.62) 100%),
    radial-gradient(circle at 78% 40%, rgba(176,24,24,.32), transparent 34%),
    linear-gradient(135deg, #0b0b0b 0%, #1b1111 60%, #0c0c0c 100%);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.dor-hero-v3::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .24;
  background:
    repeating-linear-gradient(165deg, transparent 0 30px, rgba(255,255,255,.012) 31px 32px),
    radial-gradient(circle at 18% 72%, rgba(148,22,22,.20), transparent 24%);
}

.dor-hero-v3 .dor-hero-copy {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  max-width: none;
}

.dor-hero-v3 .dor-hero-copy > * {
  max-width: 760px;
}

.dor-hero-v3 .dor-display {
  font-size: clamp(4rem, 8vw, 7.4rem) !important;
  max-width: 8.5ch;
  margin-bottom: 1.2rem;
}

.dor-hero-v3 .wp-block-buttons {
  margin-top: 1.6rem;
}


/* ==========================================================
   v0.3.1 - Centered masthead with navigation below
   ========================================================== */

.dor-site-header-v3 .dor-header-inner {
  width: min(1700px, calc(100% - 48px));
  max-width: 1700px;
  margin-inline: auto;
  min-height: 190px;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.1rem !important;
  padding-top: 18px;
  padding-bottom: 16px;
}

.dor-site-header-v3 .wp-block-site-logo {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
}

.dor-site-header-v3 .wp-block-site-logo a {
  display: block !important;
  width: auto !important;
}

.dor-site-header-v3 .wp-block-site-logo img {
  display: block !important;
  width: min(780px, 72vw) !important;
  max-width: 780px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.dor-site-header-v3 .wp-block-navigation {
  width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  justify-content: center !important;
}

.dor-site-header-v3 .wp-block-navigation__container {
  width: 100% !important;
  justify-content: center !important;
  gap: 1.15rem !important;
}

.dor-site-header-v3 .wp-block-navigation-item__content {
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .dor-site-header-v3 .wp-block-site-logo img {
    width: min(620px, 78vw) !important;
  }

  .dor-site-header-v3 .wp-block-navigation__container {
    gap: .85rem !important;
  }

  .dor-site-header-v3 .wp-block-navigation-item__content {
    font-size: .75rem !important;
  }
}

@media (max-width: 760px) {
  .dor-site-header-v3 .dor-header-inner {
    min-height: 140px;
    gap: .7rem !important;
  }

  .dor-site-header-v3 .wp-block-site-logo img {
    width: min(420px, 86vw) !important;
  }

  .dor-site-header-v3 .wp-block-navigation {
    width: auto !important;
  }
}


/* ==========================================================
   v0.4.0 - Approved DoR visual system
   Reference: dark grunge / red / white concept supplied by user.
   ========================================================== */

:root {
  --dor-font-display: "Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --dor-font-ui: "Oswald", "Arial Narrow", Arial, sans-serif;
  --dor-font-brush: "Permanent Marker", "Segoe Print", cursive;
  --dor-black: #070707;
  --dor-charcoal: #111111;
  --dor-panel: #161212;
  --dor-panel-2: #201515;
  --dor-red: #b31318;
  --dor-red-bright: #df2028;
  --dor-bone: #f5f1eb;
  --dor-smoke: #c9c2ba;
  --dor-muted: #918a84;
  --dor-border: #3b2324;
}

body {
  background:
    radial-gradient(circle at 15% 10%, rgba(179,19,24,.06), transparent 22%),
    linear-gradient(#080808, #070707);
  font-family: var(--dor-font-ui);
  color: var(--dor-bone);
}

h1,h2,h3,h4,h5,h6,
.dor-display,
.wp-block-post-title,
.wp-block-query-title {
  font-family: var(--dor-font-display) !important;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.dor-brush,
.dor-section-kicker,
.dor-script {
  font-family: var(--dor-font-brush) !important;
  text-transform: uppercase;
  letter-spacing: .015em;
}

.dor-section-kicker {
  color: var(--dor-bone);
  font-size: clamp(1.5rem, 2.4vw, 2.6rem);
  margin-bottom: .45rem;
}

.dor-red-brush {
  color: var(--dor-red-bright);
  font-family: var(--dor-font-brush) !important;
  text-transform: uppercase;
  font-size: clamp(2.1rem, 4vw, 4.25rem);
  line-height: 1;
  margin: .25rem 0 1rem;
}

.dor-grunge {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.dor-grunge::before,
.dor-grunge::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

.dor-grunge::before {
  opacity: .22;
  background:
    repeating-linear-gradient(168deg, transparent 0 22px, rgba(255,255,255,.018) 23px 24px),
    radial-gradient(circle at 8% 42%, rgba(179,19,24,.35), transparent 23%),
    radial-gradient(circle at 94% 78%, rgba(179,19,24,.20), transparent 20%);
}

.dor-grunge::after {
  background:
    linear-gradient(180deg, transparent 75%, rgba(179,19,24,.10)),
    linear-gradient(90deg, rgba(0,0,0,.18), transparent 22%, transparent 78%, rgba(0,0,0,.18));
}

.dor-red-swipe {
  height: 18px;
  margin: 1.4rem 0;
  opacity: .9;
  background:
    linear-gradient(90deg,
      transparent 0 4%,
      rgba(179,19,24,.15) 4% 8%,
      var(--dor-red) 8% 77%,
      rgba(179,19,24,.42) 77% 92%,
      transparent 92%);
  clip-path: polygon(0 38%, 8% 20%, 24% 36%, 48% 6%, 67% 30%, 100% 18%, 93% 72%, 70% 62%, 45% 88%, 19% 66%, 4% 80%);
}

/* Masthead: retain user's centered logo + centered nav preference. */
.dor-site-header-v3 {
  background: #050505 !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.dor-site-header-v3 .dor-header-inner {
  min-height: 210px !important;
  gap: .85rem !important;
  padding-top: 16px !important;
  padding-bottom: 14px !important;
}

.dor-site-header-v3 .wp-block-site-logo img {
  width: min(820px, 76vw) !important;
  max-width: 820px !important;
}

.dor-site-header-v3 .wp-block-navigation-item__content {
  font-family: var(--dor-font-ui) !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
}

/* Hero */
.dor-hero-v4 {
  min-height: min(78vh, 850px);
  position: relative;
  display: grid;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(7,7,7,.98) 0%, rgba(7,7,7,.92) 42%, rgba(35,5,7,.70) 100%),
    radial-gradient(circle at 78% 38%, rgba(213,24,33,.24), transparent 34%),
    #090909;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.dor-hero-v4::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .32;
  background:
    repeating-linear-gradient(164deg, transparent 0 34px, rgba(255,255,255,.018) 35px 36px),
    radial-gradient(circle at 12% 72%, rgba(179,19,24,.22), transparent 22%);
}

.dor-hero-v4 .dor-hero-copy {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.dor-hero-v4 h1 {
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(3.6rem, 7.2vw, 7.1rem) !important;
  line-height: .98;
  max-width: 10ch;
  text-shadow: 0 6px 28px rgba(0,0,0,.55);
}

.dor-hero-v4 .dor-eyebrow {
  font-family: var(--dor-font-ui);
  font-weight: 700;
  letter-spacing: .19em;
}

.dor-hero-v4 .wp-block-button__link {
  min-width: 150px;
}

/* Homepage layout */
.dor-home-shell {
  background: #080808;
}

.dor-home-section {
  padding: clamp(3.25rem, 6vw, 5.75rem) 24px;
}

.dor-home-section > .wp-block-group,
.dor-home-section > .wp-block-columns,
.dor-home-section > div {
  width: min(1180px, 100%);
  margin-inline: auto;
}

.dor-latest-wrap {
  background:
    linear-gradient(180deg, rgba(8,8,8,.98), rgba(18,9,10,.98)),
    radial-gradient(circle at 92% 82%, rgba(179,19,24,.15), transparent 28%);
}

.dor-mission-wrap {
  text-align: center;
  background:
    radial-gradient(circle at 50% 50%, rgba(179,19,24,.12), transparent 46%),
    #080808;
}

.dor-mission-wrap .wp-block-paragraph {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.dor-cta-band {
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(90deg, #0a0a0a, #1d0d0e 52%, #0a0a0a);
}

/* Buttons */
.wp-block-button__link,
.dor-link-button,
.dor-stream-links a {
  font-family: var(--dor-font-ui) !important;
  font-size: .88rem;
  font-weight: 700 !important;
  letter-spacing: .045em;
  border-radius: 0 !important;
  text-transform: uppercase;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.dor-link-button--primary {
  background: linear-gradient(180deg, #c01820, #9c1116) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border: 1px solid var(--dor-red-bright) !important;
  background: rgba(0,0,0,.25) !important;
}

/* Music archive */
.dor-release-archive-intro {
  max-width: none !important;
  width: min(1180px, 100%);
  margin: 0 auto 2.4rem;
  padding: 1rem 0 1.4rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 80% 40%, rgba(255,255,255,.035), transparent 30%);
}

.dor-release-archive-intro h1 {
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(3.6rem, 7vw, 6.2rem) !important;
  margin-bottom: .35rem;
}

.dor-release-grid {
  width: min(1180px, 100%);
  margin-inline: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.55rem !important;
}

.dor-release-card {
  background: #0d0d0d !important;
  border: 1px solid #3d2526 !important;
  border-radius: 0 !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.28);
}

.dor-release-card img {
  aspect-ratio: 1;
  object-fit: cover;
}

.dor-release-card__body {
  padding: 1.05rem 1.15rem 1.2rem !important;
  text-align: center;
}

.dor-release-card__title {
  font-family: var(--dor-font-display);
  text-transform: uppercase;
  font-size: 1.55rem !important;
  letter-spacing: .03em;
}

.dor-release-card__meta {
  font-family: var(--dor-font-ui);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .76rem !important;
}

/* Single release page */
.dor-release-detail {
  width: min(1180px, 100%);
}

.dor-release-detail > .dor-eyebrow {
  font-family: var(--dor-font-ui);
  letter-spacing: .18em;
}

.dor-release-detail > h1 {
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(3.3rem, 6vw, 5.6rem);
  color: var(--dor-bone);
}

.dor-release-detail .dor-release-art {
  max-width: 440px !important;
}

.dor-release-single-meta {
  background: #151010 !important;
  border: 1px solid #452527 !important;
  border-radius: 0 !important;
}

.dor-release-content {
  font-family: var(--dor-font-ui);
  font-size: 1.06rem;
}

.dor-stream-links {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .7rem !important;
}

.dor-stream-links a {
  min-height: 46px;
  border-color: var(--dor-red) !important;
  background: transparent;
}

.dor-stream-links a:hover {
  background: var(--dor-red) !important;
}

/* Generic pages: About / Vocalist / EPK / Contact */
.dor-page-hero {
  padding: clamp(4rem, 8vw, 7rem) 24px 2.75rem;
  background:
    linear-gradient(180deg, rgba(0,0,0,.50), rgba(8,8,8,.96)),
    radial-gradient(circle at 85% 30%, rgba(179,19,24,.14), transparent 26%);
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.dor-page-hero h1 {
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(3.6rem, 7vw, 6.4rem) !important;
}

.dor-page-shell {
  width: min(1080px, calc(100% - 48px));
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5rem) 0;
}

.dor-page-shell h2 {
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(2rem, 3.4vw, 3.3rem);
}

.dor-page-shell h3 {
  font-family: var(--dor-font-display) !important;
  font-size: 1.7rem;
}

.dor-page-shell blockquote {
  margin: 2.5rem 0;
  padding: 2rem;
  border: 0;
  border-top: 12px solid var(--dor-bone);
  border-bottom: 12px solid var(--dor-bone);
  text-align: center;
  font-family: var(--dor-font-brush);
  font-size: clamp(1.5rem, 3vw, 2.65rem);
  background: #111;
}

/* Footer */
.dor-site-footer {
  background: #101010 !important;
  border-top: 1px solid rgba(255,255,255,.08);
  font-family: var(--dor-font-ui);
}

@media (max-width: 900px) {
  .dor-release-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .dor-stream-links {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 640px) {
  .dor-release-grid {
    grid-template-columns: 1fr !important;
  }
  .dor-stream-links {
    grid-template-columns: 1fr;
  }
  .dor-site-header-v3 .wp-block-site-logo img {
    width: min(420px, 90vw) !important;
  }
}


/* ==========================================================
   v0.5.0 - Full sample-site workup
   ========================================================== */

.dor-sample-hero {
  position: relative;
  min-height: 760px;
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(4,4,4,.98) 0%, rgba(4,4,4,.92) 44%, rgba(23,5,7,.62) 100%),
    radial-gradient(circle at 76% 35%, rgba(213,24,33,.24), transparent 35%),
    #070707;
}

.dor-sample-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(135deg, transparent 52%, rgba(179,19,24,.10) 52% 56%, transparent 56%),
    repeating-linear-gradient(168deg, transparent 0 26px, rgba(255,255,255,.014) 27px 28px);
}

.dor-sample-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -12% 48%;
  height: 78%;
  z-index: -1;
  opacity: .58;
  background:
    radial-gradient(ellipse at center, rgba(179,19,24,.40), transparent 60%);
  filter: blur(8px);
}

.dor-sample-hero__inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.dor-sample-hero__copy {
  max-width: 690px;
}

.dor-sample-hero__brand {
  font-family: var(--dor-font-display);
  font-size: clamp(4.8rem, 10vw, 8.8rem);
  line-height: .84;
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 0;
}

.dor-sample-hero__tagline {
  font-family: var(--dor-font-brush);
  font-size: clamp(2rem, 4vw, 4rem);
  margin: 1.2rem 0 1.5rem;
}

.dor-sample-hero__lead {
  color: var(--dor-smoke);
  max-width: 650px;
  font-size: 1.12rem;
}

.dor-section-heading {
  font-family: var(--dor-font-brush);
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  margin: 0 0 1.3rem;
  text-transform: uppercase;
}

.dor-section-heading--red {
  color: var(--dor-red-bright);
}

.dor-home-feature {
  display: grid;
  grid-template-columns: minmax(280px, 460px) 1fr;
  gap: 3rem;
  align-items: center;
}

.dor-home-feature__art {
  aspect-ratio: 1;
  border: 1px solid var(--dor-border);
  background:
    linear-gradient(145deg, #0b3445, #06141a 55%, #0b0b0b 100%);
  position: relative;
  overflow: hidden;
}

.dor-home-feature__art::before {
  content: "LATEST RELEASE";
  position: absolute;
  inset: auto 1rem 1rem;
  font-family: var(--dor-font-display);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  color: rgba(245,241,235,.16);
  letter-spacing: .02em;
}

.dor-platform-row {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.2rem;
}

.dor-platform-pill {
  border: 1px solid var(--dor-border);
  padding: .65rem .9rem;
  min-width: 110px;
  text-align: center;
  font-family: var(--dor-font-ui);
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .06em;
}

.dor-mission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.25rem;
  margin-top: 2rem;
}

.dor-mission-card {
  padding: 1.5rem;
  background: linear-gradient(180deg, #171111, #0d0d0d);
  border-top: 3px solid var(--dor-red);
  text-align: center;
}

.dor-mission-card h3 {
  font-family: var(--dor-font-brush) !important;
  color: var(--dor-red-bright);
  font-size: 2rem;
  margin: .4rem 0;
}

.dor-demo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.dor-demo-card {
  border: 1px solid var(--dor-border);
  background: #0d0d0d;
  padding: 1.25rem;
}

.dor-demo-card__art {
  aspect-ratio: 1;
  margin-bottom: 1rem;
  background:
    radial-gradient(circle at 50% 30%, rgba(213,24,33,.32), transparent 30%),
    linear-gradient(145deg,#1f0d0f,#0b0b0b);
  display: grid;
  place-items: end start;
  padding: 1rem;
  font-family: var(--dor-font-display);
  font-size: 2.2rem;
}

.dor-page-split {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 3rem;
  align-items: start;
}

.dor-photo-placeholder {
  min-height: 420px;
  background:
    radial-gradient(circle at 65% 30%, rgba(179,19,24,.22), transparent 24%),
    linear-gradient(145deg,#181818,#080808);
  border: 1px solid rgba(255,255,255,.08);
  position: relative;
  overflow: hidden;
}

.dor-photo-placeholder::after {
  content: "IMAGE PLACEHOLDER";
  position: absolute;
  inset: auto 1rem 1rem;
  font-family: var(--dor-font-display);
  color: rgba(255,255,255,.18);
  font-size: 2rem;
  letter-spacing: .08em;
}

.dor-vocalist-hero {
  padding: clamp(5rem, 9vw, 8rem) 24px;
  background:
    linear-gradient(90deg, rgba(5,5,5,.97), rgba(20,7,8,.80)),
    radial-gradient(circle at 85% 50%, rgba(179,19,24,.28), transparent 24%);
}

.dor-epk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
}

.dor-epk-tile {
  min-height: 180px;
  padding: 1.2rem;
  border: 1px solid var(--dor-border);
  background: linear-gradient(145deg,#151111,#0b0b0b);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.dor-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.dor-contact-card {
  padding: 1.5rem;
  border: 1px solid var(--dor-border);
  background: #101010;
}

.dor-contact-card label {
  display: block;
  margin-bottom: .35rem;
  font-family: var(--dor-font-ui);
  text-transform: uppercase;
  letter-spacing: .05em;
}

.dor-contact-card input,
.dor-contact-card textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .8rem;
  margin-bottom: 1rem;
  color: var(--dor-bone);
  background: #080808;
  border: 1px solid #4a3333;
}

.dor-contact-card textarea {
  min-height: 160px;
}

@media (max-width: 900px) {
  .dor-home-feature,
  .dor-page-split,
  .dor-contact-grid {
    grid-template-columns: 1fr;
  }

  .dor-mission-grid,
  .dor-epk-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .dor-demo-grid {
    grid-template-columns: 1fr;
  }

  .dor-sample-hero {
    min-height: 640px;
  }
}


/* ==========================================================
   v0.5.1 - Page layout correction
   Fixes oversized empty space and tiny content on About/general pages.
   ========================================================== */

.dor-page-hero {
  padding: 64px 24px 58px !important;
  min-height: 0 !important;
}

.dor-page-hero > * {
  width: min(1180px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.dor-page-hero .wp-block-post-title {
  margin: 0 !important;
  font-size: clamp(4rem, 7vw, 6.5rem) !important;
  line-height: .95 !important;
}

.dor-page-shell {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 64px 0 80px !important;
}

.dor-page-shell > .wp-block-columns {
  gap: clamp(2.5rem, 5vw, 5rem) !important;
  align-items: start !important;
  margin: 0 !important;
}

.dor-page-shell > .wp-block-columns > .wp-block-column:first-child {
  flex-basis: 62% !important;
}

.dor-page-shell > .wp-block-columns > .wp-block-column:last-child {
  flex-basis: 38% !important;
}

.dor-page-shell .dor-eyebrow {
  margin: 0 0 .65rem !important;
  font-size: .9rem !important;
  line-height: 1.2 !important;
}

.dor-page-shell .dor-section-heading {
  margin: 0 0 1.35rem !important;
  font-size: clamp(3rem, 4.8vw, 4.75rem) !important;
  line-height: 1 !important;
}

.dor-page-shell p,
.dor-page-shell li {
  font-size: 1.08rem !important;
  line-height: 1.72 !important;
}

.dor-page-shell p {
  margin-top: 0 !important;
  margin-bottom: 1.1rem !important;
}

.dor-page-shell .dor-photo-placeholder {
  min-height: 520px !important;
  margin: 0 !important;
}

.dor-page-shell .wp-block-quote {
  margin: 3.5rem 0 0 !important;
  padding: 2rem 1.5rem !important;
}

@media (max-width: 900px) {
  .dor-page-shell {
    width: min(100% - 32px, 760px) !important;
    padding: 48px 0 64px !important;
  }

  .dor-page-shell > .wp-block-columns {
    gap: 2rem !important;
  }

  .dor-page-shell > .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
  }

  .dor-page-shell .dor-photo-placeholder {
    min-height: 360px !important;
  }
}


/* ==========================================================
   v0.5.2 - Unified content-page layout
   Removes the oversized generic page-title band and lets each
   editable page own its heading/content composition.
   ========================================================== */

.dor-page-content-wrap {
  background:
    radial-gradient(circle at 14% 8%, rgba(179,19,24,.08), transparent 22%),
    linear-gradient(180deg,#080808 0%,#070707 100%);
  min-height: 60vh;
  padding: 0 24px;
}

.dor-page-content-wrap > .wp-block-post-content {
  width: 100%;
  max-width: none;
  margin: 0;
}

.dor-page-shell {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: 72px 0 88px !important;
}

.dor-page-shell .dor-section-heading {
  max-width: none !important;
}

.dor-page-shell .wp-block-columns {
  width: 100%;
  gap: clamp(2rem, 4vw, 4rem) !important;
}

.dor-page-shell .wp-block-column {
  min-width: 0;
}

.dor-page-shell .wp-block-column p,
.dor-page-shell .wp-block-column li {
  max-width: 70ch;
}

.dor-page-shell .dor-photo-placeholder {
  width: 100%;
  min-height: 520px !important;
}

/* Vocalist page */
.dor-vocalist-hero {
  padding: 88px 24px !important;
}

.dor-vocalist-hero .dor-page-shell {
  padding: 0 !important;
}

.dor-vocalist-hero .dor-section-heading {
  font-size: clamp(3.8rem, 7vw, 6.3rem) !important;
  margin-bottom: 1.3rem !important;
}

/* EPK cards: equal-width, readable tiles */
.dor-page-shell .dor-epk-grid,
.dor-page-shell .wp-block-columns:has(.dor-epk-tile) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 1.25rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-epk-tile) > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}

.dor-epk-tile {
  min-height: 210px !important;
  padding: 1.4rem !important;
}

.dor-epk-tile h3 {
  font-size: 1.65rem !important;
  margin-bottom: .8rem !important;
}

/* Contact: balanced two-column layout */
.dor-contact-card {
  height: 100%;
  box-sizing: border-box;
  padding: 1.75rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 2rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}

/* Music archive tightening */
.post-type-archive-dor_release .dor-section {
  padding-top: 68px !important;
}

.post-type-archive-dor_release .dor-release-archive-intro {
  margin-bottom: 1.8rem !important;
}

.post-type-archive-dor_release .dor-release-grid {
  margin-top: 0 !important;
  align-items: start;
}

@media (max-width: 900px) {
  .dor-page-shell .dor-epk-grid,
  .dor-page-shell .wp-block-columns:has(.dor-epk-tile),
  .dor-page-shell .wp-block-columns:has(.dor-contact-card) {
    grid-template-columns: 1fr !important;
  }

  .dor-page-shell {
    width: min(100% - 32px, 760px) !important;
    padding: 54px 0 72px !important;
  }
}


/* ==========================================================
   v0.5.3 - Contact form styling
   ========================================================== */

.dor-contact-form {
  display: grid;
  gap: 1rem;
}

.dor-contact-form__field label {
  display: block;
  margin-bottom: .35rem;
  font-family: var(--dor-font-ui);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
}

.dor-contact-form__field input,
.dor-contact-form__field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .85rem .9rem;
  color: var(--dor-bone);
  background: #080808;
  border: 1px solid #4a3333;
  border-radius: 0;
  font: inherit;
}

.dor-contact-form__field input:focus,
.dor-contact-form__field textarea:focus {
  outline: 2px solid var(--dor-red-bright);
  outline-offset: 2px;
}

.dor-contact-form__submit {
  justify-self: start;
  min-width: 160px;
  padding: .85rem 1.25rem;
  color: #fff;
  background: linear-gradient(180deg, #c01820, #9c1116);
  border: 1px solid var(--dor-red-bright);
  border-radius: 0;
  font-family: var(--dor-font-ui);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}

.dor-contact-form__submit:hover,
.dor-contact-form__submit:focus-visible {
  background: var(--dor-red-bright);
}

.dor-contact-form__notice {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--dor-border);
  background: #111;
}

.dor-contact-form__notice--success {
  border-color: #416c46;
}

.dor-contact-form__notice--error {
  border-color: var(--dor-red-bright);
}

.dor-contact-form__hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* ==========================================================
   v0.5.4 - Contact page layout refinement
   ========================================================== */

.dor-page-shell:has(.dor-contact-card) {
  width: min(1180px, calc(100% - 48px)) !important;
  padding-top: 56px !important;
  padding-bottom: 64px !important;
}

.dor-page-shell:has(.dor-contact-card) > .dor-eyebrow {
  margin-bottom: .35rem !important;
}

.dor-page-shell:has(.dor-contact-card) > .dor-section-heading {
  margin-bottom: 1.25rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) {
  display: grid !important;
  grid-template-columns: minmax(300px, .82fr) minmax(440px, 1.18fr) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) > .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  display: flex !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
  width: 100% !important;
  min-height: 430px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 1.45rem 1.55rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card h3 {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card p {
  margin-bottom: .8rem !important;
}

.dor-page-shell .dor-contact-form {
  gap: .72rem !important;
}

.dor-page-shell .dor-contact-form__field label {
  margin-bottom: .25rem !important;
}

.dor-page-shell .dor-contact-form__field input,
.dor-page-shell .dor-contact-form__field textarea {
  padding: .68rem .78rem !important;
}

.dor-page-shell .dor-contact-form__field textarea {
  min-height: 118px !important;
  height: 118px !important;
  resize: vertical;
}

.dor-page-shell .dor-contact-form__submit {
  margin-top: .25rem !important;
  padding: .72rem 1.2rem !important;
}

@media (max-width: 900px) {
  .dor-page-shell .wp-block-columns:has(.dor-contact-card) {
    grid-template-columns: 1fr !important;
  }

  .dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
    min-height: 0 !important;
  }
}


/* ==========================================================
   v0.5.5 - Final Contact page balance
   ========================================================== */

.dor-page-shell:has(.dor-contact-card) {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) {
  display: grid !important;
  grid-template-columns: minmax(280px, .78fr) minmax(460px, 1.22fr) !important;
  gap: 1.35rem !important;
  align-items: start !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) > .wp-block-column {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  flex-basis: auto !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 1.35rem 1.45rem !important;
  box-sizing: border-box !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card h3 {
  margin-bottom: .8rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card p {
  margin-bottom: .7rem !important;
}

.dor-page-shell .dor-contact-form {
  gap: .58rem !important;
}

.dor-page-shell .dor-contact-form__field label {
  margin-bottom: .2rem !important;
}

.dor-page-shell .dor-contact-form__field input,
.dor-page-shell .dor-contact-form__field textarea {
  padding: .62rem .72rem !important;
}

.dor-page-shell .dor-contact-form__field textarea {
  min-height: 96px !important;
  height: 96px !important;
}

.dor-page-shell .dor-contact-form__submit {
  margin-top: .15rem !important;
  padding: .68rem 1.15rem !important;
}

@media (max-width: 900px) {
  .dor-page-shell .wp-block-columns:has(.dor-contact-card) {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================
   v0.5.6 - Contact polish
   ========================================================== */

.dor-page-shell:has(.dor-contact-card) {
  width: min(1280px, calc(100% - 56px)) !important;
  max-width: 1280px !important;
  padding-top: 48px !important;
  padding-bottom: 56px !important;
}

.dor-page-shell:has(.dor-contact-card) > .dor-eyebrow {
  margin-bottom: .18rem !important;
}

.dor-page-shell:has(.dor-contact-card) > .dor-section-heading {
  margin-bottom: .8rem !important;
}

.dor-page-shell:has(.dor-contact-card)::after {
  content: "";
  display: block;
  width: min(420px, 42%);
  height: 2px;
  margin: 0 0 1.35rem;
  background: linear-gradient(90deg, var(--dor-red-bright), rgba(179,19,24,.16), transparent);
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) {
  grid-template-columns: minmax(330px, .9fr) minmax(520px, 1.1fr) !important;
  gap: 1.5rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
  padding: 1.45rem 1.55rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card h3 {
  margin-bottom: .72rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card p {
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  .dor-page-shell:has(.dor-contact-card) {
    width: min(100% - 32px, 760px) !important;
  }

  .dor-page-shell:has(.dor-contact-card)::after {
    width: 180px;
  }

  .dor-page-shell .wp-block-columns:has(.dor-contact-card) {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================
   v0.5.7 - Contact width + divider placement correction
   ========================================================== */

/* Remove the v0.5.6 divider that rendered below the entire section. */
.dor-page-shell:has(.dor-contact-card)::after {
  content: none !important;
}

/* Keep the title area compact and put the red accent directly under it. */
.dor-page-shell:has(.dor-contact-card) > .dor-section-heading {
  position: relative;
  display: inline-block;
  margin-bottom: 1.35rem !important;
  padding-bottom: .55rem;
}

.dor-page-shell:has(.dor-contact-card) > .dor-section-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 210px;
  max-width: 70%;
  height: 2px;
  background: linear-gradient(90deg, var(--dor-red-bright), rgba(179,19,24,.18), transparent);
}

/* Make the actual Contact layout use more of the available desktop width. */
.dor-page-shell .wp-block-columns:has(.dor-contact-card) {
  width: min(100%, 1020px) !important;
  max-width: 1020px !important;
  margin: 0 !important;
  grid-template-columns: minmax(320px, .82fr) minmax(540px, 1.18fr) !important;
  gap: 1.5rem !important;
}

/* Slightly larger card padding now that the layout has more room. */
.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
  padding: 1.5rem 1.6rem !important;
}

/* Keep the form from feeling cramped. */
.dor-page-shell .dor-contact-form__field input,
.dor-page-shell .dor-contact-form__field textarea {
  width: 100% !important;
}

@media (max-width: 900px) {
  .dor-page-shell .wp-block-columns:has(.dor-contact-card) {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
  }

  .dor-page-shell:has(.dor-contact-card) > .dor-section-heading::after {
    width: 150px;
  }
}


/* ==========================================================
   v0.5.9 - Contact copy fit + social spacing
   ========================================================== */

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
  padding-bottom: 1.8rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card p {
  margin-bottom: .6rem !important;
  line-height: 1.48 !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card .wp-block-social-links {
  margin-top: .35rem !important;
  margin-bottom: .8rem !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card .wp-block-social-links + p {
  margin-top: 0 !important;
}

.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card p:last-child {
  margin-bottom: 0 !important;
  padding-bottom: .15rem !important;
}

/* Give the final callout a little separation without wasting space. */
.dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card strong:last-child {
  display: inline-block;
  margin-top: .2rem;
}

@media (max-width: 900px) {
  .dor-page-shell .wp-block-columns:has(.dor-contact-card) .dor-contact-card {
    padding-bottom: 1.5rem !important;
  }
}


/* ==========================================================
   v0.6.0 - Music archive refinement
   ========================================================== */

.post-type-archive-dor_release .dor-section {
  padding-top: 54px !important;
  padding-bottom: 76px !important;
}

.post-type-archive-dor_release .dor-release-archive-intro {
  width: min(1180px, 100%) !important;
  margin: 0 auto 1.8rem !important;
  padding: 0 0 1.25rem !important;
  border-bottom: 1px solid rgba(179,19,24,.28) !important;
}

.post-type-archive-dor_release .dor-release-archive-intro h1 {
  margin: 0 0 .3rem !important;
  font-size: clamp(4rem, 6.5vw, 6.4rem) !important;
  line-height: .92 !important;
}

.post-type-archive-dor_release .dor-release-archive-intro .dor-eyebrow {
  margin: 0 !important;
  font-size: .86rem !important;
  letter-spacing: .16em !important;
}

.post-type-archive-dor_release .dor-release-grid {
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 360px)) !important;
  justify-content: start !important;
  align-items: start !important;
  gap: 1.5rem !important;
}

.post-type-archive-dor_release .dor-release-card {
  width: 100% !important;
  max-width: 360px !important;
  background:
    linear-gradient(180deg, rgba(18,18,18,.99), rgba(11,11,11,.99)) !important;
  border: 1px solid #3b2425 !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.32) !important;
}

.post-type-archive-dor_release .dor-release-card:hover,
.post-type-archive-dor_release .dor-release-card:focus-visible {
  transform: translateY(-5px) !important;
  border-color: var(--dor-red-bright) !important;
}

.post-type-archive-dor_release .dor-release-card img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

.post-type-archive-dor_release .dor-release-card__body {
  padding: 1rem 1.15rem 1.15rem !important;
  text-align: left !important;
  border-top: 1px solid rgba(179,19,24,.16);
}

.post-type-archive-dor_release .dor-release-card__title {
  margin: 0 !important;
  font-family: var(--dor-font-display) !important;
  font-size: 1.65rem !important;
  letter-spacing: .025em !important;
}

.post-type-archive-dor_release .dor-release-card__meta {
  margin: .35rem 0 0 !important;
  font-size: .78rem !important;
  letter-spacing: .07em !important;
  color: var(--dor-smoke) !important;
}

@media (max-width: 760px) {
  .post-type-archive-dor_release .dor-section {
    padding-top: 38px !important;
  }

  .post-type-archive-dor_release .dor-release-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .post-type-archive-dor_release .dor-release-card {
    max-width: 100% !important;
  }
}


/* ==========================================================
   v0.6.1 - Center sparse Music archive rows
   ========================================================== */

/* One or two releases: center the cards so the archive feels intentional. */
.post-type-archive-dor_release .dor-release-grid {
  justify-content: center !important;
}

/* Three or more releases: return to a normal left-starting catalog grid. */
.post-type-archive-dor_release .dor-release-grid:has(.dor-release-card:nth-child(3)) {
  justify-content: start !important;
}

/* Keep a single card comfortably sized and visually centered. */
.post-type-archive-dor_release .dor-release-grid:not(:has(.dor-release-card:nth-child(2))) .dor-release-card {
  width: min(100%, 360px) !important;
  justify-self: center !important;
}

/* Two cards remain centered as a pair. */
.post-type-archive-dor_release .dor-release-grid:has(.dor-release-card:nth-child(2)):not(:has(.dor-release-card:nth-child(3))) {
  grid-template-columns: repeat(2, minmax(280px, 360px)) !important;
  justify-content: center !important;
}

@media (max-width: 760px) {
  .post-type-archive-dor_release .dor-release-grid,
  .post-type-archive-dor_release .dor-release-grid:has(.dor-release-card:nth-child(2)):not(:has(.dor-release-card:nth-child(3))) {
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
  }
}


/* ==========================================================
   v0.6.2 - Music archive polish
   ========================================================== */

.post-type-archive-dor_release .dor-release-archive-intro {
  margin-bottom: 1.15rem !important;
  padding-bottom: .9rem !important;
  border-bottom: 1px solid rgba(179,19,24,.22) !important;
}

.post-type-archive-dor_release .dor-release-grid {
  margin-top: .15rem !important;
}

.post-type-archive-dor_release .dor-release-card {
  position: relative;
  overflow: hidden;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}

.post-type-archive-dor_release .dor-release-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid transparent;
  transition: border-color .18s ease;
}

.post-type-archive-dor_release .dor-release-card:hover,
.post-type-archive-dor_release .dor-release-card:focus-within {
  transform: translateY(-4px) !important;
  border-color: var(--dor-red-bright) !important;
  box-shadow:
    0 18px 36px rgba(0,0,0,.38),
    0 0 0 1px rgba(223,32,40,.08) !important;
}

.post-type-archive-dor_release .dor-release-card:hover::after,
.post-type-archive-dor_release .dor-release-card:focus-within::after {
  border-color: rgba(223,32,40,.22);
}

/* Reduce the visual weight of the long archive divider on sparse rows. */
.post-type-archive-dor_release .dor-release-grid:not(:has(.dor-release-card:nth-child(2)))::before {
  content: "";
  display: block;
  position: absolute;
}

/* Add a compact action link when the card title is already linked. */
.post-type-archive-dor_release .dor-release-card__body::after {
  content: "VIEW RELEASE";
  display: inline-block;
  margin-top: .8rem;
  padding: .48rem .72rem;
  border: 1px solid var(--dor-red);
  color: var(--dor-bone);
  font-family: var(--dor-font-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Keep the sparse single-card presentation visually tight. */
.post-type-archive-dor_release .dor-release-grid:not(:has(.dor-release-card:nth-child(2))) {
  padding-top: .25rem;
}

@media (max-width: 760px) {
  .post-type-archive-dor_release .dor-release-card__body::after {
    margin-top: .7rem;
  }
}


/* ==========================================================
   v0.6.3 - Music divider cleanup
   ========================================================== */

.post-type-archive-dor_release .dor-release-archive-intro {
  position: relative;
  border-bottom: 0 !important;
  padding-bottom: 1.1rem !important;
}

.post-type-archive-dor_release .dor-release-archive-intro::after {
  content: "";
  display: block;
  width: 220px;
  max-width: 45%;
  height: 2px;
  margin-top: .9rem;
  background: linear-gradient(
    90deg,
    var(--dor-red-bright),
    rgba(179,19,24,.28),
    transparent
  );
}

@media (max-width: 760px) {
  .post-type-archive-dor_release .dor-release-archive-intro::after {
    width: 150px;
    max-width: 60%;
  }
}


/* ==========================================================
   v0.6.4 - Release detail redesign
   ========================================================== */

.single-dor_release .dor-section {
  padding-top: 52px !important;
  padding-bottom: 84px !important;
}

.dor-release-detail-v2 {
  width: min(1180px, 100%) !important;
  margin-inline: auto !important;
}

.dor-release-back {
  margin: 0 0 1.4rem !important;
}

.dor-release-back a {
  color: var(--dor-smoke);
  font-family: var(--dor-font-ui);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}

.dor-release-back a:hover,
.dor-release-back a:focus-visible {
  color: var(--dor-red-bright);
}

.dor-release-detail-v2 .dor-release-detail-hero {
  display: grid !important;
  grid-template-columns: minmax(320px, 470px) minmax(0, 1fr) !important;
  gap: clamp(2.5rem, 5vw, 5.25rem) !important;
  align-items: center !important;
}

.dor-release-detail-v2 .dor-release-art {
  max-width: 470px !important;
  margin: 0 !important;
  border: 1px solid var(--dor-border);
  box-shadow: 0 22px 48px rgba(0,0,0,.38);
}

.dor-release-detail-v2 .dor-release-art img {
  display: block;
  width: 100%;
  height: auto;
}

.dor-release-detail-v2 .dor-release-detail-copy {
  padding-top: 0 !important;
}

.dor-release-detail-v2 .dor-eyebrow {
  margin: 0 0 .6rem !important;
  color: var(--dor-smoke);
  font-size: .8rem !important;
  letter-spacing: .18em !important;
}

.dor-release-detail-v2 h1 {
  margin: 0 0 .75rem !important;
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(4rem, 7vw, 6.7rem) !important;
  line-height: .92 !important;
  color: var(--dor-bone);
}

.dor-release-detail-v2 .dor-release-meta {
  margin: 0 0 1.25rem !important;
  color: var(--dor-smoke);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.dor-release-detail-v2 .dor-release-lead {
  max-width: 58ch;
  margin-bottom: 1.5rem;
  color: var(--dor-smoke);
  font-size: 1.08rem;
  line-height: 1.65;
}

.dor-release-detail-v2 .dor-stream-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .65rem !important;
  margin: 1.35rem 0 1.6rem !important;
}

.dor-release-detail-v2 .dor-stream-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .65rem .85rem;
  color: var(--dor-bone);
  border: 1px solid var(--dor-red);
  background: rgba(0,0,0,.22);
  font-family: var(--dor-font-ui);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none;
}

.dor-release-detail-v2 .dor-stream-links a:first-child {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, #c01820, #981015);
  border-color: var(--dor-red-bright);
}

.dor-release-detail-v2 .dor-stream-links a:hover,
.dor-release-detail-v2 .dor-stream-links a:focus-visible {
  background: var(--dor-red-bright);
}

.dor-release-detail-v2 .dor-release-single-meta {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 1px solid var(--dor-border) !important;
}

.dor-release-detail-v2 .dor-release-single-meta > div {
  padding: .85rem 1rem;
  border-right: 1px solid var(--dor-border);
}

.dor-release-detail-v2 .dor-release-single-meta > div:last-child {
  border-right: 0;
}

.dor-release-detail-v2 .dor-release-single-meta dt {
  margin-bottom: .22rem;
  color: var(--dor-muted);
  font-size: .67rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dor-release-detail-v2 .dor-release-single-meta dd {
  margin: 0 !important;
  color: var(--dor-bone);
  font-size: .88rem;
}

.dor-release-about,
.dor-release-credits {
  width: min(900px, 100%);
  margin-top: 4rem;
  padding-top: 2.25rem;
  border-top: 1px solid rgba(179,19,24,.34);
}

.dor-release-about .dor-section-kicker,
.dor-release-credits .dor-section-kicker {
  margin: 0 0 1rem !important;
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(2rem, 3.2vw, 3.25rem) !important;
  color: var(--dor-bone);
}

.dor-release-detail-v2 .dor-release-content,
.dor-release-credits-copy {
  max-width: 72ch;
  color: var(--dor-smoke);
  font-size: 1.06rem;
  line-height: 1.72;
}

.dor-release-detail-v2 .dor-release-content > :first-child {
  margin-top: 0;
}

@media (max-width: 820px) {
  .dor-release-detail-v2 .dor-release-detail-hero {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .dor-release-detail-v2 .dor-release-art {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    margin-inline: auto !important;
  }

  .dor-release-detail-v2 .dor-stream-links {
    grid-template-columns: 1fr !important;
  }

  .dor-release-detail-v2 .dor-stream-links a:first-child {
    grid-column: auto;
  }

  .dor-release-detail-v2 .dor-release-single-meta {
    grid-template-columns: 1fr !important;
  }

  .dor-release-detail-v2 .dor-release-single-meta > div {
    border-right: 0;
    border-bottom: 1px solid var(--dor-border);
  }

  .dor-release-detail-v2 .dor-release-single-meta > div:last-child {
    border-bottom: 0;
  }
}


/* ==========================================================
   v0.6.5 - Release detail polish
   ========================================================== */

.single-dor_release .dor-section {
  padding-top: 42px !important;
  padding-bottom: 68px !important;
}

.dor-release-detail-v2 .dor-release-back {
  margin-bottom: 1rem !important;
}

.dor-release-detail-v2 .dor-release-detail-hero {
  grid-template-columns: minmax(320px, 460px) minmax(0, 1fr) !important;
  gap: clamp(2rem, 3.4vw, 3.5rem) !important;
  align-items: center !important;
}

.dor-release-detail-v2 .dor-release-art {
  max-width: 460px !important;
}

.dor-release-detail-v2 h1 {
  font-size: clamp(3.5rem, 5.8vw, 5.5rem) !important;
  line-height: .94 !important;
  max-width: 8.7ch !important;
  margin-bottom: .6rem !important;
}

.dor-release-detail-v2 .dor-release-meta {
  margin-bottom: 1rem !important;
}

.dor-release-detail-v2 .dor-release-lead {
  margin-bottom: 1.15rem !important;
  max-width: 52ch !important;
  font-size: 1.02rem !important;
  line-height: 1.58 !important;
}

.dor-release-detail-v2 .dor-stream-links {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 1rem 0 1.2rem !important;
  max-width: 520px;
}

.dor-release-detail-v2 .dor-stream-links a:first-child {
  grid-column: auto !important;
}

.dor-release-detail-v2 .dor-stream-links a {
  min-height: 42px !important;
  padding: .55rem .8rem !important;
}

.dor-release-detail-v2 .dor-release-single-meta {
  max-width: 520px;
}

.dor-release-detail-v2 .dor-release-single-meta > div {
  padding: .72rem .85rem !important;
}

.dor-release-about,
.dor-release-credits {
  width: min(900px, 100%);
  margin-top: 2.4rem !important;
  padding-top: 1.55rem !important;
  border-top: 0 !important;
  position: relative;
}

.dor-release-about::before,
.dor-release-credits::before {
  content: "";
  display: block;
  width: 180px;
  height: 2px;
  margin-bottom: 1.25rem;
  background: linear-gradient(
    90deg,
    var(--dor-red-bright),
    rgba(179,19,24,.28),
    transparent
  );
}

.dor-release-about .dor-section-kicker,
.dor-release-credits .dor-section-kicker {
  font-size: clamp(1.9rem, 2.8vw, 2.8rem) !important;
  margin-bottom: .8rem !important;
}

.dor-release-detail-v2 .dor-release-content,
.dor-release-credits-copy {
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
}

@media (max-width: 820px) {
  .dor-release-detail-v2 h1 {
    max-width: none !important;
  }

  .dor-release-detail-v2 .dor-stream-links,
  .dor-release-detail-v2 .dor-release-single-meta {
    max-width: none !important;
  }
}


/* ==========================================================
   v0.6.6 - Release lower-content polish
   ========================================================== */

.dor-release-about,
.dor-release-credits {
  width: min(1040px, 100%) !important;
  margin-top: 2.7rem !important;
  padding-top: 1.5rem !important;
}

.dor-release-about::before,
.dor-release-credits::before {
  width: 150px !important;
  margin-bottom: 1rem !important;
}

.dor-release-about .dor-section-kicker,
.dor-release-credits .dor-section-kicker {
  margin-bottom: .65rem !important;
  font-size: clamp(2rem, 2.9vw, 2.9rem) !important;
  line-height: 1 !important;
}

.dor-release-detail-v2 .dor-release-content,
.dor-release-credits-copy {
  max-width: 82ch !important;
  font-size: 1.04rem !important;
  line-height: 1.72 !important;
  color: var(--dor-smoke) !important;
}

.dor-release-detail-v2 .dor-release-content p,
.dor-release-credits-copy p {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

.dor-release-detail-v2 .dor-release-content h2,
.dor-release-detail-v2 .dor-release-content h3 {
  margin-top: 2rem !important;
  margin-bottom: .75rem !important;
}

.dor-release-credits {
  margin-bottom: .75rem !important;
}

.dor-release-credits-copy {
  padding: 1rem 1.1rem !important;
  border: 1px solid var(--dor-border);
  background: rgba(16,16,16,.72);
}

@media (max-width: 820px) {
  .dor-release-about,
  .dor-release-credits {
    width: 100% !important;
  }

  .dor-release-detail-v2 .dor-release-content,
  .dor-release-credits-copy {
    max-width: none !important;
  }
}


/* ==========================================================
   v0.6.7 - About page refinement
   ========================================================== */

body.page-id-about .dor-page-shell,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) {
  width: min(1220px, calc(100% - 48px)) !important;
  max-width: 1220px !important;
  padding-top: 58px !important;
  padding-bottom: 76px !important;
}

body.page-id-about .dor-page-shell > .wp-block-columns,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr) !important;
  gap: clamp(2.5rem, 4vw, 4.5rem) !important;
  align-items: start !important;
}

body.page-id-about .dor-page-shell > .wp-block-columns > .wp-block-column,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns > .wp-block-column {
  flex-basis: auto !important;
  min-width: 0 !important;
}

body.page-id-about .dor-page-shell .dor-eyebrow,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) .dor-eyebrow {
  margin-bottom: .45rem !important;
}

body.page-id-about .dor-page-shell .dor-section-heading,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) .dor-section-heading {
  margin-bottom: 1rem !important;
  font-size: clamp(3.3rem, 5vw, 4.9rem) !important;
  line-height: .95 !important;
}

body.page-id-about .dor-page-shell p,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) p {
  max-width: 68ch;
  font-size: 1.05rem !important;
  line-height: 1.62 !important;
  margin-bottom: .95rem !important;
}

body.page-id-about .dor-photo-placeholder,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
  width: 100% !important;
  min-height: 560px !important;
  margin-top: 0 !important;
  border: 1px solid var(--dor-border) !important;
  background:
    radial-gradient(circle at 68% 22%, rgba(179,19,24,.24), transparent 28%),
    linear-gradient(145deg, #151515 0%, #0b0b0b 70%, #120708 100%) !important;
  box-shadow: 0 20px 44px rgba(0,0,0,.28);
}

body.page-id-about .dor-photo-placeholder::after,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder::after {
  left: 1.25rem !important;
  bottom: 1.2rem !important;
  font-size: 1.7rem !important;
  letter-spacing: .06em !important;
}

body.page-id-about .wp-block-quote,
body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) .wp-block-quote {
  margin-top: 3.25rem !important;
  padding: 1.7rem 1.5rem !important;
  border-top-width: 8px !important;
  border-bottom-width: 8px !important;
  font-size: clamp(1.5rem, 2.7vw, 2.35rem) !important;
}

@media (max-width: 900px) {
  body.page-id-about .dor-page-shell > .wp-block-columns,
  body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  body.page-id-about .dor-photo-placeholder,
  body.page-template-default .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
    min-height: 380px !important;
  }
}


/* ==========================================================
   v0.6.8 - About page width correction
   ========================================================== */

/* Target the actual editable About layout directly. */
.dor-page-shell:has(.dor-photo-placeholder) {
  width: min(1320px, calc(100% - 56px)) !important;
  max-width: 1320px !important;
  padding-top: 50px !important;
  padding-bottom: 72px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(560px, 1.2fr) minmax(420px, .8fr) !important;
  gap: clamp(2.75rem, 4vw, 4.75rem) !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns > .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  max-width: none !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-section-heading {
  max-width: none !important;
  font-size: clamp(3.6rem, 5vw, 5.1rem) !important;
}

.dor-page-shell:has(.dor-photo-placeholder) p {
  max-width: 72ch !important;
  font-size: 1.06rem !important;
  line-height: 1.68 !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
  width: 100% !important;
  min-height: 610px !important;
  max-width: none !important;
}

@media (max-width: 1000px) {
  .dor-page-shell:has(.dor-photo-placeholder) {
    width: min(100% - 36px, 860px) !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
    min-height: 420px !important;
  }
}


/* ==========================================================
   v0.6.9 - About page visual balance
   ========================================================== */

.dor-page-shell:has(.dor-photo-placeholder) {
  padding-bottom: 58px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
  position: relative;
  overflow: hidden;
  min-height: 560px !important;
  background:
    radial-gradient(circle at 70% 26%, rgba(223,32,40,.20), transparent 28%),
    radial-gradient(circle at 38% 76%, rgba(115,10,14,.18), transparent 34%),
    linear-gradient(160deg, #171717 0%, #0b0b0b 62%, #15090b 100%) !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .33;
  background:
    repeating-linear-gradient(
      168deg,
      transparent 0 28px,
      rgba(255,255,255,.018) 29px 30px
    ),
    linear-gradient(
      140deg,
      transparent 0 62%,
      rgba(179,19,24,.10) 62% 67%,
      transparent 67%
    );
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder::after {
  content: "ADD BAND / STORY IMAGE";
  position: absolute;
  left: 1.35rem !important;
  bottom: 1.25rem !important;
  color: rgba(245,241,235,.28) !important;
  font-family: var(--dor-font-display) !important;
  font-size: 1.45rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
  width: min(100%, 980px);
  margin: 2.15rem auto 0 !important;
  padding: 1.65rem 2rem !important;
  border: 0 !important;
  position: relative;
  background:
    linear-gradient(180deg, rgba(20,20,20,.98), rgba(11,11,11,.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::before,
.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    var(--dor-red-bright) 16%,
    rgba(223,32,40,.75) 50%,
    var(--dor-red-bright) 84%,
    transparent
  );
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::before {
  margin-bottom: 1.15rem;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::after {
  margin-top: 1.15rem;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
  margin: 0 !important;
  max-width: none !important;
  text-align: center;
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(1.55rem, 2.7vw, 2.4rem) !important;
  line-height: 1.22 !important;
  color: var(--dor-bone) !important;
}

@media (max-width: 1000px) {
  .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
    min-height: 400px !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
    width: 100%;
    margin-top: 1.75rem !important;
    padding: 1.35rem 1.25rem !important;
  }
}


/* ==========================================================
   v0.7.0 - About page viewport fit
   Tightens the full About composition so the quote and lower
   story content arrive sooner without making the page cramped.
   ========================================================== */

.dor-page-shell:has(.dor-photo-placeholder) {
  padding-top: 40px !important;
  padding-bottom: 44px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
  gap: clamp(2.2rem, 3.2vw, 3.6rem) !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-eyebrow {
  margin-bottom: .28rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-section-heading {
  margin-bottom: .72rem !important;
  font-size: clamp(3.25rem, 4.65vw, 4.7rem) !important;
}

.dor-page-shell:has(.dor-photo-placeholder) p {
  font-size: 1rem !important;
  line-height: 1.54 !important;
  margin-bottom: .72rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
  min-height: 500px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder::after {
  bottom: 1rem !important;
  font-size: 1.25rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
  width: min(100%, 940px) !important;
  margin: 1.45rem auto 0 !important;
  padding: 1.15rem 1.5rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::before {
  margin-bottom: .8rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::after {
  margin-top: .8rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
  font-size: clamp(1.35rem, 2.25vw, 2.05rem) !important;
  line-height: 1.16 !important;
}

@media (max-width: 1000px) {
  .dor-page-shell:has(.dor-photo-placeholder) {
    padding-top: 34px !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
    min-height: 360px !important;
  }
}


/* ==========================================================
   v0.7.1 - About page no-scroll desktop fit
   Designed to fit the story + quote comfortably on a 1080p
   desktop viewport without making the page feel cramped.
   ========================================================== */

.dor-page-shell:has(.dor-photo-placeholder) {
  padding-top: 26px !important;
  padding-bottom: 28px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
  gap: clamp(2rem, 2.8vw, 3.1rem) !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-eyebrow {
  margin-bottom: .18rem !important;
  font-size: .78rem !important;
  line-height: 1.1 !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-section-heading {
  margin-bottom: .48rem !important;
  font-size: clamp(3rem, 4.15vw, 4.25rem) !important;
  line-height: .92 !important;
}

.dor-page-shell:has(.dor-photo-placeholder) p {
  font-size: .95rem !important;
  line-height: 1.42 !important;
  margin-bottom: .52rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
  min-height: 420px !important;
  height: 420px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder::after {
  bottom: .82rem !important;
  font-size: 1.08rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
  width: min(100%, 900px) !important;
  margin: .85rem auto 0 !important;
  padding: .72rem 1.25rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::before {
  margin-bottom: .5rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::after {
  margin-top: .5rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
  font-size: clamp(1.15rem, 1.85vw, 1.7rem) !important;
  line-height: 1.08 !important;
}

/* Preserve a roomier treatment on shorter/narrower screens by stacking. */
@media (max-width: 1000px) {
  .dor-page-shell:has(.dor-photo-placeholder) {
    padding-top: 30px !important;
    padding-bottom: 44px !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
    min-height: 340px !important;
    height: auto !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
    margin-top: 1.25rem !important;
    padding: 1rem 1.15rem !important;
  }
}


/* ==========================================================
   v0.7.2 - About page final 1080p fit
   ========================================================== */

.dor-page-shell:has(.dor-photo-placeholder) {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-columns {
  gap: 2rem !important;
  margin-bottom: 0 !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-eyebrow {
  margin-bottom: .12rem !important;
  font-size: .74rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-section-heading {
  margin-bottom: .38rem !important;
  font-size: clamp(2.85rem, 3.9vw, 4rem) !important;
}

.dor-page-shell:has(.dor-photo-placeholder) p {
  font-size: .9rem !important;
  line-height: 1.32 !important;
  margin-bottom: .4rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
  min-height: 350px !important;
  height: 350px !important;
}

.dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder::after {
  bottom: .65rem !important;
  font-size: .95rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
  width: min(100%, 860px) !important;
  margin: .45rem auto 0 !important;
  padding: .5rem 1rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::before {
  margin-bottom: .32rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote::after {
  margin-top: .32rem !important;
}

.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
  font-size: clamp(1rem, 1.55vw, 1.4rem) !important;
  line-height: 1.02 !important;
}

@media (max-width: 1000px) {
  .dor-page-shell:has(.dor-photo-placeholder) {
    padding-top: 28px !important;
    padding-bottom: 40px !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) .dor-photo-placeholder {
    min-height: 320px !important;
    height: auto !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) p {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    margin-bottom: .75rem !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote {
    margin-top: 1rem !important;
    padding: .9rem 1rem !important;
  }

  .dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
    font-size: 1.25rem !important;
    line-height: 1.12 !important;
  }
}


/* ==========================================================
   v0.7.3 - Compact interior-page masthead
   Home keeps the larger presentation; interior pages use a
   tighter masthead so more content fits within a 1080p viewport.
   ========================================================== */

/* Interior pages only. */
body:not(.home) .dor-site-header-v3 .dor-header-inner {
  min-height: 132px !important;
  padding-top: 10px !important;
  padding-bottom: 8px !important;
  gap: .42rem !important;
}

body:not(.home) .dor-site-header-v3 .wp-block-site-logo img {
  width: min(560px, 58vw) !important;
  max-width: 560px !important;
}

body:not(.home) .dor-site-header-v3 .wp-block-navigation__container {
  gap: .9rem !important;
}

body:not(.home) .dor-site-header-v3 .wp-block-navigation-item__content {
  font-size: .76rem !important;
  letter-spacing: .05em !important;
}

/* Pull interior-page content closer to the masthead. */
body:not(.home) .dor-page-content-wrap,
body:not(.home).post-type-archive-dor_release .dor-section,
body:not(.home).single-dor_release .dor-section {
  border-top: 1px solid rgba(255,255,255,.04);
}

/* About can now breathe without over-compensating for the masthead. */
body:not(.home) .dor-page-shell:has(.dor-photo-placeholder) {
  padding-top: 14px !important;
}

@media (max-width: 900px) {
  body:not(.home) .dor-site-header-v3 .dor-header-inner {
    min-height: 104px !important;
  }

  body:not(.home) .dor-site-header-v3 .wp-block-site-logo img {
    width: min(400px, 78vw) !important;
    max-width: 400px !important;
  }
}


/* ==========================================================
   v0.7.4 - Typography match to approved design comp
   ========================================================== */

:root {
  --dor-font-body: "Barlow", Arial, sans-serif;
  --dor-font-ui: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --dor-font-display: "Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --dor-font-brush: "Caveat Brush", "Segoe Print", cursive;
}

body {
  font-family: var(--dor-font-body) !important;
  font-weight: 400;
}

p,
li,
dd,
.dor-release-content,
.dor-release-credits-copy,
.dor-release-lead {
  font-family: var(--dor-font-body) !important;
}

.dor-eyebrow,
.dor-release-meta,
.dor-release-card__meta,
.dor-site-header-v3 .wp-block-navigation-item__content,
.wp-block-button__link,
.dor-link-button,
.dor-stream-links a,
.dor-contact-form label,
.dor-contact-form__submit {
  font-family: var(--dor-font-ui) !important;
}

.dor-site-header-v3 .wp-block-navigation-item__content {
  font-weight: 600 !important;
  letter-spacing: .045em !important;
}

.dor-section-heading,
.dor-section-kicker,
.dor-script,
.dor-red-brush,
.dor-sample-hero__tagline,
.dor-hero-v4 h1,
.dor-release-detail-v2 h1,
.dor-release-about .dor-section-kicker,
.dor-release-credits .dor-section-kicker,
.dor-page-shell h2,
.dor-page-hero h1,
.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
  font-family: var(--dor-font-brush) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* The comp uses lighter, hand-painted headings rather than the chunky marker look. */
.dor-section-heading,
.dor-page-shell .dor-section-heading {
  line-height: .94 !important;
}

.dor-red-brush {
  line-height: .96 !important;
}

/* Keep compact display type for release/card titles and utility headings. */
h3,
h4,
.dor-release-card__title,
.dor-demo-card h3,
.dor-contact-card h3 {
  font-family: var(--dor-font-display) !important;
}

/* Body copy in the comp is less compressed than the old Oswald treatment. */
.dor-page-shell p,
.dor-release-detail-v2 .dor-release-content,
.dor-release-detail-v2 .dor-release-lead,
.dor-contact-card p {
  letter-spacing: 0 !important;
}


/* ==========================================================
   v0.7.5 - Typography correction from approved visual comp
   Uses separate hand-lettered and brush-display faces instead
   of forcing one font to do both jobs.
   ========================================================== */

:root {
  --dor-font-body: "Roboto Condensed", Arial, sans-serif;
  --dor-font-ui: "Oswald", "Arial Narrow", Arial, sans-serif;
  --dor-font-display: "Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --dor-font-hand: "Rock Salt", "Segoe Print", cursive;
  --dor-font-brush: "Road Rage", "Arial Narrow", sans-serif;
}

/* Body copy: narrower, denser, closer to the sample comp. */
body,
p,
li,
dd,
.dor-release-content,
.dor-release-credits-copy,
.dor-release-lead,
.dor-contact-card p {
  font-family: var(--dor-font-body) !important;
}

/* Navigation, buttons, metadata, labels. */
.dor-eyebrow,
.dor-release-meta,
.dor-release-card__meta,
.dor-site-header-v3 .wp-block-navigation-item__content,
.wp-block-button__link,
.dor-link-button,
.dor-stream-links a,
.dor-contact-form label,
.dor-contact-form__submit,
.dor-release-single-meta dt,
.dor-release-single-meta dd {
  font-family: var(--dor-font-ui) !important;
}

/* Hand-lettered white text in the approved comp:
   Our Mission, Latest Release, Hard Rock With Heart, etc. */
.dor-section-kicker,
.dor-sample-hero__tagline,
.dor-hero-v4 .dor-hero-tagline,
.dor-handwritten,
.dor-page-shell:has(.dor-photo-placeholder) > .wp-block-quote p {
  font-family: var(--dor-font-hand) !important;
  font-weight: 400 !important;
  letter-spacing: .015em !important;
}

/* Large painted/brush headings:
   Pain Into Power, About, Our Story, Vocalist Search, etc. */
.dor-section-heading,
.dor-red-brush,
.dor-script,
.dor-page-hero h1,
.dor-page-shell h2,
.dor-release-detail-v2 h1,
.dor-release-about .dor-section-kicker,
.dor-release-credits .dor-section-kicker {
  font-family: var(--dor-font-brush) !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  line-height: .95 !important;
  text-transform: uppercase;
}

/* Keep compact utility/card titles clean rather than brushy. */
h3,
h4,
.dor-release-card__title,
.dor-demo-card h3,
.dor-contact-card h3 {
  font-family: var(--dor-font-display) !important;
}

/* Specific homepage mission treatment to mirror the comp. */
.dor-mission-wrap .dor-section-kicker {
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.05rem, 1.45vw, 1.45rem) !important;
}

.dor-mission-wrap .dor-red-brush {
  font-family: var(--dor-font-brush) !important;
  font-size: clamp(3.5rem, 6vw, 6rem) !important;
  line-height: .92 !important;
}

/* Latest release section title in the reference is hand-painted, not geometric. */
.dor-home-section > .alignwide > .dor-section-heading,
.dor-home-section .dor-section-heading {
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.7rem, 2.8vw, 2.65rem) !important;
  line-height: 1.1 !important;
  text-transform: uppercase;
}

/* Slightly tighten body copy so it resembles the comp more closely. */
.dor-home-section p,
.dor-page-shell p {
  letter-spacing: 0 !important;
}


/* ==========================================================
   v0.7.6 - About page robust layout + replaceable story panel
   No longer depends on the old .dor-photo-placeholder class.
   ========================================================== */

body.dor-page-about .dor-page-content-wrap {
  overflow: hidden;
}

body.dor-page-about .dor-page-shell {
  width: min(1220px, calc(100% - 48px)) !important;
  max-width: 1220px !important;
  margin-inline: auto !important;
  padding-top: 28px !important;
  padding-bottom: 34px !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  gap: clamp(2.25rem, 4vw, 4rem) !important;
  align-items: start !important;
  width: 100% !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  flex-basis: auto !important;
}

/* Story copy */
body.dor-page-about .dor-page-shell .dor-eyebrow {
  margin: 0 0 .28rem !important;
}

body.dor-page-about .dor-page-shell .dor-section-heading {
  margin: 0 0 .75rem !important;
  font-size: clamp(3.15rem, 4.6vw, 4.7rem) !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:first-child p {
  max-width: 70ch !important;
  margin: 0 0 .78rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

/* Right-side story / identity panel. This is intentionally just the
   second editable column, so a future Image block can replace the copy. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) {
  min-height: 390px;
  box-sizing: border-box;
  padding: 2rem;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--dor-border);
  background:
    radial-gradient(circle at 72% 26%, rgba(176,24,24,.24), transparent 30%),
    linear-gradient(145deg, #151515 0%, #0b0b0b 68%, #14090a 100%);
  box-shadow: 0 20px 44px rgba(0,0,0,.25);
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  content: "DAUGHTERS OF RUIN";
  position: absolute;
  inset: auto 1.8rem 6.7rem;
  color: rgba(176,24,24,.22);
  font-family: var(--dor-font-display);
  font-size: clamp(2.5rem, 4vw, 4.3rem);
  line-height: .9;
  letter-spacing: .02em;
  text-transform: uppercase;
  pointer-events: none;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p {
  position: relative;
  z-index: 2;
  max-width: 28ch !important;
  margin: 0 0 .55rem !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:first-of-type {
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem) !important;
  line-height: 1.35 !important;
  color: var(--dor-bone);
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:last-of-type {
  font-family: var(--dor-font-ui) !important;
  font-size: .82rem !important;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--dor-smoke);
}

/* Future-photo support:
   replace the right-column copy with a normal WordPress Image block.
   The theme automatically turns it into the panel image. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2):has(.wp-block-image) {
  padding: 0 !important;
  justify-content: stretch;
  background: #0b0b0b;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2):has(.wp-block-image)::before {
  content: none;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image {
  width: 100%;
  height: 100%;
  min-height: 390px;
  margin: 0 !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 390px;
  object-fit: cover;
  display: block;
}

/* Closing statement */
body.dor-page-about .dor-page-shell > .wp-block-quote {
  width: min(900px, 100%) !important;
  margin: 1.35rem auto 0 !important;
  padding: 1rem 1.5rem !important;
  border: 0 !important;
  background: linear-gradient(180deg, rgba(20,20,20,.98), rgba(11,11,11,.98));
  position: relative;
}

body.dor-page-about .dor-page-shell > .wp-block-quote::before,
body.dor-page-about .dor-page-shell > .wp-block-quote::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(90deg, transparent, var(--dor-red-bright) 18%, var(--dor-red-bright) 82%, transparent);
}

body.dor-page-about .dor-page-shell > .wp-block-quote::before {
  margin-bottom: .7rem;
}

body.dor-page-about .dor-page-shell > .wp-block-quote::after {
  margin-top: .7rem;
}

body.dor-page-about .dor-page-shell > .wp-block-quote p {
  max-width: none !important;
  margin: 0 !important;
  text-align: center;
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.05rem, 1.65vw, 1.45rem) !important;
  line-height: 1.35 !important;
}

/* Remove legacy white quote borders if Gutenberg saved them inline. */
body.dor-page-about .dor-page-shell > .wp-block-quote {
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
}

@media (max-width: 900px) {
  body.dor-page-about .dor-page-shell {
    width: min(100% - 32px, 760px) !important;
    padding-top: 32px !important;
    padding-bottom: 48px !important;
  }

  body.dor-page-about .dor-page-shell > .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2),
  body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image,
  body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image img {
    min-height: 320px;
  }
}


/* ==========================================================
   v0.7.7 - About page final balance / shorter page
   ========================================================== */

body.dor-page-about .dor-page-shell {
  width: min(1320px, calc(100% - 56px)) !important;
  max-width: 1320px !important;
  padding-top: 22px !important;
  padding-bottom: 26px !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns {
  grid-template-columns: minmax(0, 1.46fr) minmax(300px, .54fr) !important;
  gap: clamp(2rem, 3vw, 3.25rem) !important;
}

/* Give the story more horizontal room so the copy does not run so tall. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:first-child p {
  max-width: 84ch !important;
  font-size: .97rem !important;
  line-height: 1.44 !important;
  margin-bottom: .62rem !important;
}

/* Slightly tighter heading stack. */
body.dor-page-about .dor-page-shell .dor-eyebrow {
  margin-bottom: .18rem !important;
}

body.dor-page-about .dor-page-shell .dor-section-heading {
  margin-bottom: .58rem !important;
  font-size: clamp(3rem, 4.2vw, 4.35rem) !important;
}

/* Compact the branded panel while keeping it visually deliberate. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) {
  min-height: 320px !important;
  padding: 1.6rem !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  inset: auto 1.45rem 6.2rem !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: .92 !important;
  max-width: 9ch;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:first-of-type {
  font-size: clamp(1rem, 1.45vw, 1.35rem) !important;
  max-width: 24ch !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:last-of-type {
  font-size: .75rem !important;
}

/* Pull the closing statement up and keep it visually compact. */
body.dor-page-about .dor-page-shell > .wp-block-quote {
  width: min(820px, 100%) !important;
  margin: .85rem auto 0 !important;
  padding: .75rem 1.25rem !important;
}

body.dor-page-about .dor-page-shell > .wp-block-quote::before {
  margin-bottom: .48rem !important;
}

body.dor-page-about .dor-page-shell > .wp-block-quote::after {
  margin-top: .48rem !important;
}

body.dor-page-about .dor-page-shell > .wp-block-quote p {
  font-size: clamp(.95rem, 1.35vw, 1.25rem) !important;
  line-height: 1.22 !important;
}

/* Future replacement image keeps the compact panel footprint. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image,
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image img {
  min-height: 320px !important;
}

@media (max-width: 900px) {
  body.dor-page-about .dor-page-shell {
    width: min(100% - 32px, 760px) !important;
    padding-top: 30px !important;
    padding-bottom: 44px !important;
  }

  body.dor-page-about .dor-page-shell > .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:first-child p {
    max-width: 70ch !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    margin-bottom: .8rem !important;
  }
}


/* ==========================================================
   v0.7.8 - About identity panel with exact DoR SVG logo
   ========================================================== */

/* Use the supplied transparent SVG as the default visual now. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) {
  min-height: 320px !important;
  padding: 1.5rem !important;
  justify-content: flex-end !important;
  background:
    linear-gradient(rgba(10,10,10,.18), rgba(10,10,10,.38)),
    radial-gradient(circle at 72% 24%, rgba(185,26,24,.20), transparent 32%),
    #0d0d0d !important;
}

/* Remove the old generated DAUGHTERS text. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  content: "" !important;
  position: absolute !important;
  inset: 1.25rem 1.25rem 5.7rem !important;
  background-image: url('assets/images/dor-logo-textured.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  opacity: .92 !important;
  pointer-events: none !important;
}

/* Keep the supporting copy readable beneath the logo. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p {
  align-self: center;
  text-align: center;
  max-width: 28ch !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:first-of-type {
  margin-top: auto !important;
  margin-bottom: .4rem !important;
  font-size: clamp(.95rem, 1.35vw, 1.2rem) !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:last-of-type {
  margin-bottom: 0 !important;
  font-size: .7rem !important;
}

/* When a real photo is inserted later, the SVG fallback disappears automatically. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2):has(.wp-block-image)::before {
  content: none !important;
  background-image: none !important;
}


/* ==========================================================
   v0.7.9 - About logo fade / centered background treatment
   ========================================================== */

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) {
  min-height: 320px !important;
  padding: 1.5rem 1.5rem 1.35rem !important;
  justify-content: flex-end !important;
  align-items: center !important;
  text-align: center !important;
  background:
    radial-gradient(circle at center, rgba(132,18,18,.12) 0%, rgba(40,8,8,.06) 36%, rgba(0,0,0,.00) 62%),
    linear-gradient(180deg, #111 0%, #0b0b0b 100%) !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  content: "" !important;
  position: absolute !important;
  inset: 2.1rem 2rem 4.7rem !important;
  background-image: url('assets/images/dor-logo-textured.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 64% auto !important;
  opacity: .12 !important;
  filter: saturate(.9) brightness(.95) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* subtle vignette so the SVG fades into the panel edges */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse at center, transparent 38%, rgba(0,0,0,.18) 67%, rgba(0,0,0,.46) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p {
  position: relative !important;
  z-index: 2 !important;
  align-self: center !important;
  text-align: center !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:first-of-type {
  margin-top: auto !important;
  margin-bottom: .42rem !important;
  font-size: clamp(.98rem, 1.35vw, 1.18rem) !important;
}

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2) p:last-of-type {
  margin-bottom: 0 !important;
  font-size: .7rem !important;
}

/* Future real photo continues to replace the logo treatment automatically. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2):has(.wp-block-image)::before,
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2):has(.wp-block-image)::after {
  content: none !important;
  background-image: none !important;
}


/* ==========================================================
   v0.7.10 - About SVG optical centering
   ========================================================== */

/* The SVG artwork has uneven internal whitespace, so geometric centering
   looks left-heavy. Shift the background slightly right to optically center it. */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  background-position: 57% 48% !important;
  background-size: 62% auto !important;
}


/* ==========================================================
   v0.7.11 - Final About SVG optical centering nudge
   ========================================================== */

body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  background-position: 60% 48% !important;
}


/* ==========================================================
   v0.7.12 - Force About SVG optical centering
   ========================================================== */

/*
 * Previous background-position nudges were too subtle / ineffective in
 * the rendered panel. Move the pseudo-element itself instead so the
 * adjustment is unambiguous.
 */
body.dor-page-about .dor-page-shell > .wp-block-columns > .wp-block-column:nth-child(2)::before {
  background-position: 50% 48% !important;
  transform: translateX(18px) !important;
}


/* ==========================================================
   v0.7.13 - Vocalist Search page refinement
   ========================================================== */

body.dor-page-vocalist-search .dor-vocalist-hero {
  padding: 0 !important;
  min-height: 0 !important;
  background:
    linear-gradient(90deg, rgba(16,0,0,.96) 0%, rgba(21,4,4,.90) 48%, rgba(9,9,9,.92) 100%),
    radial-gradient(circle at 78% 42%, rgba(176,24,24,.18), transparent 34%) !important;
  border-bottom: 1px solid rgba(176,24,24,.18);
}

body.dor-page-vocalist-search .dor-vocalist-hero > .dor-page-shell {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  padding: 48px 0 54px !important;
}

body.dor-page-vocalist-search .dor-vocalist-hero .dor-eyebrow {
  margin: 0 0 .35rem !important;
  color: var(--dor-smoke);
}

body.dor-page-vocalist-search .dor-vocalist-hero .dor-section-heading {
  max-width: 900px;
  margin: 0 0 1rem !important;
  font-size: clamp(3.5rem, 6vw, 5.6rem) !important;
  line-height: .93 !important;
}

body.dor-page-vocalist-search .dor-vocalist-hero p:not(.dor-eyebrow) {
  max-width: 760px !important;
  margin: 0 0 .85rem !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

body.dor-page-vocalist-search .dor-vocalist-hero .wp-block-buttons {
  margin-top: 1.15rem !important;
}

/* Main content becomes a compact editorial grid instead of a long stack. */
body.dor-page-vocalist-search .dor-vocalist-content {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
  padding: 42px 0 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section,
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 26px 28px !important;
  background:
    linear-gradient(180deg, rgba(18,18,18,.95), rgba(11,11,11,.97));
  border: 1px solid rgba(255,255,255,.08);
  position: relative;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section::before,
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 0;
  width: 72px;
  height: 2px;
  background: var(--dor-red-bright);
}

/* Grid placement */
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 2;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(4) {
  grid-column: 1;
  grid-row: 3;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta {
  grid-column: 2;
  grid-row: 3;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 80% 20%, rgba(176,24,24,.16), transparent 35%),
    linear-gradient(180deg, rgba(20,20,20,.97), rgba(11,11,11,.98));
}

body.dor-page-vocalist-search .dor-vocalist-content h2 {
  margin: 0 0 1rem !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1 !important;
}

body.dor-page-vocalist-search .dor-vocalist-content p {
  margin: 0 0 .8rem !important;
  line-height: 1.55 !important;
}

body.dor-page-vocalist-search .dor-vocalist-content ul {
  margin: .8rem 0 1rem !important;
  padding-left: 1.35rem !important;
}

body.dor-page-vocalist-search .dor-vocalist-content li {
  margin-bottom: .45rem !important;
  line-height: 1.45 !important;
}

body.dor-page-vocalist-search .dor-vocalist-content li::marker {
  color: var(--dor-red-bright);
}

body.dor-page-vocalist-search .dor-vocalist-callout {
  margin-top: 1.1rem !important;
  padding: .85rem 1rem !important;
  border-left: 3px solid var(--dor-red-bright);
  background: rgba(176,24,24,.07);
}

body.dor-page-vocalist-search .dor-handwritten {
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.05rem, 1.4vw, 1.3rem) !important;
  line-height: 1.45 !important;
  color: var(--dor-bone);
}

body.dor-page-vocalist-search .dor-vocalist-final-cta .wp-block-buttons {
  margin-top: .75rem !important;
}

/* Keep all buttons consistent and strong. */
body.dor-page-vocalist-search .wp-block-button__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: .78rem 1.15rem !important;
}

/* Mobile/tablet */
@media (max-width: 900px) {
  body.dor-page-vocalist-search .dor-vocalist-hero > .dor-page-shell,
  body.dor-page-vocalist-search .dor-vocalist-content {
    width: min(100% - 32px, 760px) !important;
  }

  body.dor-page-vocalist-search .dor-vocalist-hero > .dor-page-shell {
    padding: 38px 0 42px !important;
  }

  body.dor-page-vocalist-search .dor-vocalist-content {
    grid-template-columns: 1fr !important;
    padding: 30px 0 42px !important;
  }

  body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section,
  body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}


/* ==========================================================
   v0.7.14 - Vocalist Search final polish
   ========================================================== */

/* Slightly tighten the card rhythm overall. */
body.dor-page-vocalist-search .dor-vocalist-content {
  gap: 18px !important;
  padding-top: 36px !important;
  padding-bottom: 42px !important;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section,
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta {
  padding: 22px 24px !important;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section::before,
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta::before {
  left: 24px !important;
  width: 62px !important;
}

/* Tighten the tallest list card a touch. */
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(1) ul {
  margin-top: .65rem !important;
  margin-bottom: .8rem !important;
}

body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(1) li {
  margin-bottom: .34rem !important;
  line-height: 1.38 !important;
}

body.dor-page-vocalist-search .dor-vocalist-callout {
  margin-top: .9rem !important;
  padding: .72rem .9rem !important;
}

/* Give the sparse Location card a subtle branded depth without adding copy. */
body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section:nth-child(3) {
  background:
    radial-gradient(circle at 82% 22%, rgba(176,24,24,.11), transparent 30%),
    linear-gradient(180deg, rgba(18,18,18,.96), rgba(11,11,11,.98)) !important;
}

/* Make the closing CTA feel a little more distinct and intentional. */
body.dor-page-vocalist-search .dor-vocalist-final-cta {
  box-shadow:
    inset 0 0 42px rgba(176,24,24,.055),
    0 18px 40px rgba(0,0,0,.16);
  background:
    radial-gradient(circle at 78% 18%, rgba(176,24,24,.22), transparent 36%),
    linear-gradient(180deg, rgba(22,16,16,.98), rgba(11,11,11,.99)) !important;
}

body.dor-page-vocalist-search .dor-vocalist-final-cta h2 {
  margin-bottom: .85rem !important;
}

body.dor-page-vocalist-search .dor-vocalist-final-cta .dor-handwritten {
  margin-top: .15rem !important;
  margin-bottom: .6rem !important;
}

body.dor-page-vocalist-search .dor-vocalist-final-cta .wp-block-buttons {
  margin-top: .5rem !important;
}

/* Slightly reduce paragraph spacing throughout the cards. */
body.dor-page-vocalist-search .dor-vocalist-content p {
  margin-bottom: .68rem !important;
}

@media (max-width: 900px) {
  body.dor-page-vocalist-search .dor-vocalist-content {
    gap: 16px !important;
    padding-top: 28px !important;
    padding-bottom: 38px !important;
  }

  body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-section,
  body.dor-page-vocalist-search .dor-vocalist-content > .dor-vocalist-final-cta {
    padding: 22px !important;
  }
}


/* ==========================================================
   v0.7.15 - Media / EPK page layout and polish
   ========================================================== */

body.dor-page-media-epk .dor-media-hero {
  padding: 0 !important;
  background:
    radial-gradient(circle at 18% 35%, rgba(176,24,24,.12), transparent 28%),
    linear-gradient(90deg, rgba(14,8,8,.98), rgba(8,8,8,.98) 62%, rgba(6,6,6,.99)) !important;
  border-bottom: 1px solid rgba(176,24,24,.16);
}

body.dor-page-media-epk .dor-media-hero > .dor-page-shell {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  padding: 46px 0 44px !important;
}

body.dor-page-media-epk .dor-media-hero .dor-eyebrow {
  margin: 0 0 .32rem !important;
}

body.dor-page-media-epk .dor-media-hero .dor-section-heading {
  margin: 0 0 1rem !important;
  font-size: clamp(3.2rem, 5.5vw, 5rem) !important;
}

body.dor-page-media-epk .dor-media-hero p:not(.dor-eyebrow) {
  max-width: 760px !important;
  margin: 0 0 .72rem !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

body.dor-page-media-epk .dor-media-hero p:first-of-type:not(.dor-eyebrow) {
  font-family: var(--dor-font-ui);
  font-weight: 600;
  color: var(--dor-bone);
}

/* Card grid */
body.dor-page-media-epk .dor-media-grid {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
  padding: 36px 0 44px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.dor-page-media-epk .dor-media-card {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 24px !important;
  min-height: 250px;
  display: flex !important;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(18,18,18,.97), rgba(10,10,10,.99));
  border: 1px solid rgba(255,255,255,.08);
  position: relative;
}

body.dor-page-media-epk .dor-media-card::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 0;
  width: 62px;
  height: 2px;
  background: var(--dor-red-bright);
}

body.dor-page-media-epk .dor-media-card h2 {
  margin: .15rem 0 .9rem !important;
  font-size: clamp(1.8rem, 2.5vw, 2.55rem) !important;
  line-height: 1 !important;
}

body.dor-page-media-epk .dor-media-card p {
  margin: 0 0 .8rem !important;
  line-height: 1.5 !important;
}

body.dor-page-media-epk .dor-media-card .wp-block-buttons {
  margin-top: auto !important;
  padding-top: .7rem;
}

body.dor-page-media-epk .dor-media-status {
  display: inline-flex;
  align-self: flex-start;
  margin-top: auto !important;
  padding: .42rem .62rem;
  border: 1px solid rgba(176,24,24,.48);
  background: rgba(176,24,24,.08);
  color: var(--dor-bone);
  font-family: var(--dor-font-ui);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Give the two unavailable-resource cards a subtle inactive/coming-soon feel. */
body.dor-page-media-epk .dor-media-card:nth-child(2),
body.dor-page-media-epk .dor-media-card:nth-child(3) {
  background:
    radial-gradient(circle at 78% 18%, rgba(176,24,24,.10), transparent 34%),
    linear-gradient(180deg, rgba(17,17,17,.97), rgba(10,10,10,.99));
}

/* Wide current-resources card */
body.dor-page-media-epk .dor-media-card--wide {
  grid-column: 1 / -1;
  min-height: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 28px;
  align-items: center;
  background:
    radial-gradient(circle at 82% 20%, rgba(176,24,24,.16), transparent 34%),
    linear-gradient(180deg, rgba(20,20,20,.98), rgba(10,10,10,.99));
}

body.dor-page-media-epk .dor-media-card--wide h2,
body.dor-page-media-epk .dor-media-card--wide > p {
  grid-column: 1;
}

body.dor-page-media-epk .dor-media-card--wide .wp-block-buttons {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-end;
  align-self: center;
}

body.dor-page-media-epk .dor-media-card--wide .wp-block-buttons .wp-block-button__link {
  min-width: 92px;
  text-align: center;
}

/* Responsive */
@media (max-width: 900px) {
  body.dor-page-media-epk .dor-media-hero > .dor-page-shell,
  body.dor-page-media-epk .dor-media-grid {
    width: min(100% - 32px, 760px) !important;
  }

  body.dor-page-media-epk .dor-media-grid {
    grid-template-columns: 1fr !important;
    padding-top: 28px !important;
    padding-bottom: 38px !important;
  }

  body.dor-page-media-epk .dor-media-card,
  body.dor-page-media-epk .dor-media-card--wide {
    grid-column: 1 !important;
    min-height: 0;
    display: block !important;
  }

  body.dor-page-media-epk .dor-media-card .wp-block-buttons,
  body.dor-page-media-epk .dor-media-card--wide .wp-block-buttons {
    margin-top: .8rem !important;
    padding-top: 0 !important;
  }
}


/* ==========================================================
   v0.7.16 - Merch gateway page
   ========================================================== */

body.dor-page-merch .dor-merch-hero {
  padding: 0 !important;
  background:
    radial-gradient(circle at 20% 38%, rgba(176,24,24,.14), transparent 30%),
    linear-gradient(90deg, rgba(15,8,8,.98), rgba(8,8,8,.98) 62%, rgba(6,6,6,.99)) !important;
  border-bottom: 1px solid rgba(176,24,24,.16);
}

body.dor-page-merch .dor-merch-hero > .dor-page-shell {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  padding: 46px 0 44px !important;
}

body.dor-page-merch .dor-merch-hero .dor-eyebrow {
  margin: 0 0 .32rem !important;
}

body.dor-page-merch .dor-merch-hero .dor-section-heading {
  margin: 0 0 .9rem !important;
  font-size: clamp(3.2rem, 5.5vw, 5rem) !important;
}

body.dor-page-merch .dor-merch-hero p:not(.dor-eyebrow) {
  max-width: 760px !important;
  margin: 0 0 .7rem !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

body.dor-page-merch .dor-merch-grid {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
  padding: 36px 0 42px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.dor-page-merch .dor-merch-card {
  box-sizing: border-box;
  margin: 0 !important;
  min-height: 360px;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 78% 20%, rgba(176,24,24,.13), transparent 34%),
    linear-gradient(180deg, rgba(18,18,18,.98), rgba(9,9,9,.99));
}

body.dor-page-merch .dor-merch-card::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 0;
  width: 68px;
  height: 2px;
  background: var(--dor-red-bright);
}

body.dor-page-merch .dor-merch-card:nth-child(1)::after {
  content: "PHYSICAL";
}

body.dor-page-merch .dor-merch-card:nth-child(2)::after {
  content: "WEAR THE RUIN";
}

body.dor-page-merch .dor-merch-card::after {
  position: absolute;
  right: 20px;
  bottom: 14px;
  font-family: var(--dor-font-display);
  font-size: clamp(2.4rem, 4vw, 4.3rem);
  line-height: .9;
  color: rgba(176,24,24,.075);
  letter-spacing: .03em;
  text-transform: uppercase;
  pointer-events: none;
}

body.dor-page-merch .dor-merch-kicker {
  margin: 0 0 .45rem !important;
  color: var(--dor-smoke);
  font-family: var(--dor-font-ui);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body.dor-page-merch .dor-merch-card h2 {
  margin: 0 0 .95rem !important;
  font-size: clamp(2.1rem, 3vw, 3.2rem) !important;
  line-height: 1 !important;
}

body.dor-page-merch .dor-merch-card p {
  position: relative;
  z-index: 2;
  max-width: 46ch;
  margin: 0 0 .85rem !important;
  line-height: 1.55 !important;
}

body.dor-page-merch .dor-merch-card .wp-block-buttons {
  position: relative;
  z-index: 3;
  margin-top: auto !important;
  padding-top: 1rem;
}

body.dor-page-merch .dor-merch-card .wp-block-button__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: .8rem 1.15rem !important;
}

body.dor-page-merch .dor-merch-close {
  grid-column: 1 / -1;
  margin: 0 !important;
  padding: 22px 28px !important;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(18,18,18,.96), rgba(10,10,10,.98));
  border: 1px solid rgba(255,255,255,.07);
}

body.dor-page-merch .dor-merch-close p {
  margin: 0 !important;
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem) !important;
}

@media (max-width: 900px) {
  body.dor-page-merch .dor-merch-hero > .dor-page-shell,
  body.dor-page-merch .dor-merch-grid {
    width: min(100% - 32px, 760px) !important;
  }

  body.dor-page-merch .dor-merch-grid {
    grid-template-columns: 1fr !important;
    padding-top: 28px !important;
    padding-bottom: 38px !important;
  }

  body.dor-page-merch .dor-merch-card,
  body.dor-page-merch .dor-merch-close {
    grid-column: 1 !important;
    min-height: 0;
  }
}


/* ==========================================================
   v0.7.18 - Merch final polish
   ========================================================== */

/* Force the closing statement to span the full two-card grid width. */
body.dor-page-merch .dor-merch-close {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  box-sizing: border-box;
}

/* Slightly strengthen the closing statement so it reads as the page's finish. */
body.dor-page-merch .dor-merch-close {
  background:
    radial-gradient(circle at center, rgba(176,24,24,.10), transparent 48%),
    linear-gradient(180deg, rgba(18,18,18,.97), rgba(10,10,10,.99)) !important;
}

body.dor-page-merch .dor-merch-close p {
  text-align: center !important;
  width: 100% !important;
}

/* Keep both store cards visually balanced. */
body.dor-page-merch .dor-merch-card {
  height: 100%;
}


/* ==========================================================
   v0.7.19 - Homepage consolidation / compact section system
   ========================================================== */

body.dor-page-home .dor-home-hero,
body.dor-page-home .dor-home-section {
  padding: 0 !important;
}

body.dor-page-home .dor-home-hero {
  background:
    radial-gradient(circle at 80% 45%, rgba(176,24,24,.18), transparent 34%),
    linear-gradient(105deg, rgba(7,7,7,.99), rgba(15,6,6,.98) 52%, rgba(39,7,7,.94)) !important;
}

body.dor-page-home .dor-home-hero > .dor-page-shell,
body.dor-page-home .dor-home-section > .dor-page-shell {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
}

body.dor-page-home .dor-home-hero > .dor-page-shell {
  padding: 76px 0 72px !important;
}

body.dor-page-home .dor-home-hero .dor-eyebrow {
  margin: 0 0 .7rem !important;
}

body.dor-page-home .dor-home-hero .dor-home-title {
  max-width: 700px;
  margin: 0 0 1.4rem !important;
  font-size: clamp(4rem, 7vw, 6.5rem) !important;
  line-height: .98 !important;
}

body.dor-page-home .dor-home-hero .dor-home-intro {
  max-width: 680px !important;
  margin: 0 0 1.15rem !important;
  font-size: 1.06rem !important;
  line-height: 1.55 !important;
}

body.dor-page-home .dor-home-section {
  border-top: 1px solid rgba(255,255,255,.035);
}

body.dor-page-home .dor-home-section > .dor-page-shell {
  padding: 48px 0 !important;
}

body.dor-page-home .dor-home-section--dark {
  background:
    radial-gradient(circle at 12% 52%, rgba(176,24,24,.08), transparent 28%),
    #090909;
}

body.dor-page-home .dor-home-section--red {
  background:
    linear-gradient(90deg, rgba(27,5,5,.96), rgba(13,8,8,.98) 62%, rgba(36,6,6,.90));
}

body.dor-page-home .dor-home-kicker {
  margin: 0 0 .35rem !important;
  font-family: var(--dor-font-hand) !important;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem) !important;
  line-height: 1.2 !important;
  color: var(--dor-bone);
}

body.dor-page-home .dor-home-heading {
  margin: 0 0 1rem !important;
  font-size: clamp(2.7rem, 4.5vw, 4.5rem) !important;
  line-height: .98 !important;
}

body.dor-page-home .dor-home-heading--red {
  color: var(--dor-red-bright) !important;
}

body.dor-page-home .dor-home-copy {
  max-width: 760px !important;
  margin: 0 0 .9rem !important;
  line-height: 1.58 !important;
}

body.dor-page-home .dor-home-centered {
  text-align: center;
}

body.dor-page-home .dor-home-centered .dor-home-copy {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.dor-page-home .dor-home-centered .wp-block-buttons {
  justify-content: center !important;
}

/* Latest release */
body.dor-page-home .dor-home-latest .dor-section-kicker {
  margin-bottom: .9rem !important;
}

/* Compact feature cards for current site destinations */
body.dor-page-home .dor-home-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 18px !important;
  margin-top: 1rem !important;
}

body.dor-page-home .dor-home-feature-card {
  box-sizing: border-box;
  min-height: 250px;
  margin: 0 !important;
  padding: 26px !important;
  border: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 82% 18%, rgba(176,24,24,.13), transparent 34%),
    linear-gradient(180deg, rgba(18,18,18,.98), rgba(9,9,9,.99));
  position: relative;
  display: flex !important;
  flex-direction: column;
}

body.dor-page-home .dor-home-feature-card::before {
  content: "";
  position: absolute;
  left: 26px;
  top: 0;
  width: 64px;
  height: 2px;
  background: var(--dor-red-bright);
}

body.dor-page-home .dor-home-feature-card h2 {
  margin: .1rem 0 .75rem !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1 !important;
}

body.dor-page-home .dor-home-feature-card p {
  margin: 0 0 .75rem !important;
  line-height: 1.5 !important;
}

body.dor-page-home .dor-home-feature-card .wp-block-buttons {
  margin-top: auto !important;
  padding-top: .8rem;
}

/* Merch strip */
body.dor-page-home .dor-home-merch {
  background:
    radial-gradient(circle at 75% 30%, rgba(176,24,24,.20), transparent 36%),
    linear-gradient(90deg, rgba(16,8,8,.98), rgba(25,6,6,.93));
}

/* Media status note */
body.dor-page-home .dor-home-status {
  display: inline-flex;
  margin: .25rem 0 .9rem !important;
  padding: .38rem .58rem;
  border: 1px solid rgba(176,24,24,.45);
  background: rgba(176,24,24,.08);
  font-family: var(--dor-font-ui);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Buttons */
body.dor-page-home .wp-block-button__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Responsive */
@media (max-width: 900px) {
  body.dor-page-home .dor-home-hero > .dor-page-shell,
  body.dor-page-home .dor-home-section > .dor-page-shell {
    width: min(100% - 32px, 760px) !important;
  }

  body.dor-page-home .dor-home-hero > .dor-page-shell {
    padding: 52px 0 50px !important;
  }

  body.dor-page-home .dor-home-section > .dor-page-shell {
    padding: 38px 0 !important;
  }

  body.dor-page-home .dor-home-feature-grid {
    grid-template-columns: 1fr !important;
  }

  body.dor-page-home .dor-home-feature-card {
    min-height: 0;
  }
}


/* ==========================================================
   v0.7.21 - Homepage final polish
   ========================================================== */

/* Latest Release: keep action buttons readable and balanced. */
body.dor-page-home .dor-home-latest .wp-block-button__link,
body.dor-page-home .dor-home-latest a.dor-button,
body.dor-page-home .dor-home-latest .dor-button {
  min-width: 168px !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body.dor-page-home .dor-home-latest .wp-block-buttons,
body.dor-page-home .dor-home-latest .dor-release-actions {
  gap: .65rem !important;
}

/* Keep the dynamic release area from feeling cramped. */
body.dor-page-home .dor-home-latest .dor-latest-release,
body.dor-page-home .dor-home-latest .dor-release-feature {
  column-gap: clamp(2rem, 4vw, 4rem) !important;
}

/* Give all major sections a slightly cleaner reading width. */
body.dor-page-home .dor-home-section .dor-home-copy {
  max-width: 720px !important;
}

/* Keep long homepage statements strong without awkward wrapping. */
body.dor-page-home .dor-home-section .dor-home-heading {
  max-width: 900px;
}

body.dor-page-home .dor-home-merch .dor-home-heading {
  font-size: clamp(2.5rem, 4vw, 4rem) !important;
  max-width: 820px;
}

/* Tighten the stacked sections a little more. */
body.dor-page-home .dor-home-section > .dor-page-shell {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

/* Make the media status badge feel integrated, not detached. */
body.dor-page-home .dor-home-status {
  margin-top: 0 !important;
  margin-bottom: .8rem !important;
}

/* Keep outline buttons visually consistent with the solid CTA buttons. */
body.dor-page-home .is-style-outline .wp-block-button__link {
  min-width: 124px;
  justify-content: center;
  text-align: center;
}

@media (max-width: 900px) {
  body.dor-page-home .dor-home-latest .wp-block-button__link,
  body.dor-page-home .dor-home-latest a.dor-button,
  body.dor-page-home .dor-home-latest .dor-button {
    min-width: 0 !important;
    white-space: normal !important;
  }

  body.dor-page-home .dor-home-merch .dor-home-heading {
    font-size: clamp(2.2rem, 8vw, 3.2rem) !important;
  }
}


/* ==========================================================
   v0.7.22 - Homepage hero heading typography consistency
   ========================================================== */

body.dor-page-home .dor-home-hero .dor-home-title {
  font-family: var(--dor-font-brush) !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase;
  font-size: clamp(4.1rem, 7.2vw, 6.8rem) !important;
  line-height: .92 !important;
}


/* ==========================================================
   v0.7.23 - Homepage Latest Release CTA wrap fix
   ========================================================== */

/* The dynamic release shortcode uses .dor-stream-links, not Gutenberg
   button classes. Give those anchors enough intrinsic width so
   "LISTEN EVERYWHERE" stays on one line. */
body.dor-page-home .dor-home-latest .dor-stream-links {
  align-items: stretch !important;
  flex-wrap: wrap !important;
}

body.dor-page-home .dor-home-latest .dor-stream-links a {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 190px !important;
  max-width: none !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  white-space: nowrap !important;
  text-align: center !important;
  justify-content: center !important;
}

/* Keep the secondary release-details button balanced with the primary. */
body.dor-page-home .dor-home-latest .dor-stream-links a + a {
  min-width: 190px !important;
}

@media (max-width: 640px) {
  body.dor-page-home .dor-home-latest .dor-stream-links a,
  body.dor-page-home .dor-home-latest .dor-stream-links a + a {
    min-width: 0 !important;
    width: 100% !important;
    white-space: normal !important;
  }
}


/* ==========================================================
   v0.7.24 - Homepage heading typography consistency
   ========================================================== */

/* Replace the older handwritten section-heading treatment on Home
   with the same brush heading family now used for the hero. */
body.dor-page-home .dor-home-kicker,
body.dor-page-home .dor-section-kicker {
  font-family: var(--dor-font-brush) !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
  line-height: .95 !important;
}

/* Section labels such as OUR MISSION, EXPLORE THE MUSIC,
   VOCALIST SEARCH, MERCH, MEDIA / EPK, and LATEST RELEASE. */
body.dor-page-home .dor-home-kicker {
  font-size: clamp(2rem, 3.2vw, 3.25rem) !important;
  margin-bottom: .45rem !important;
}

body.dor-page-home .dor-section-kicker {
  font-size: clamp(2rem, 3.2vw, 3.25rem) !important;
  margin-bottom: .75rem !important;
}

/* Keep the red primary statements visually dominant. */
body.dor-page-home .dor-home-heading {
  font-family: var(--dor-font-brush) !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
}

/* Dynamic Latest Release content heading consistency. */
body.dor-page-home .dor-home-latest .dor-release-title,
body.dor-page-home .dor-home-latest h2,
body.dor-page-home .dor-home-latest h3 {
  font-family: var(--dor-font-brush) !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
}


/* ==========================================================
   v0.7.27 - Footer legal links
   ========================================================== */

.dor-copyright {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  align-items: center;
}

.dor-copyright .dor-footer-separator {
  opacity: .55;
}

.dor-copyright a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.22);
}

.dor-copyright a:hover,
.dor-copyright a:focus {
  color: var(--dor-bone);
  border-bottom-color: var(--dor-red-bright);
}


/* ==========================================================
   v0.7.29 - Release detail mobile layout fix
   Restores the single-column mobile layout after later desktop
   release-detail rules overrode the earlier responsive rule.
   ========================================================== */

@media (max-width: 820px) {
  body.single-dor_release .dor-release-detail-v2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-detail-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-art {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-art img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-detail-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-top: 0 !important;
  }

  body.single-dor_release .dor-release-detail-v2 h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-lead,
  body.single-dor_release .dor-release-detail-v2 .dor-release-content,
  body.single-dor_release .dor-release-credits-copy {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-stream-links {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-stream-links a:first-child {
    grid-column: auto !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-stream-links a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-single-meta {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-single-meta > div {
    min-width: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--dor-border) !important;
  }

  body.single-dor_release .dor-release-detail-v2 .dor-release-single-meta > div:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 520px) {
  body.single-dor_release .dor-release-detail-v2 h1 {
    font-size: clamp(2.8rem, 14vw, 4rem) !important;
    line-height: .94 !important;
  }

  body.single-dor_release .dor-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* ==========================================================
   v0.7.30 - Mobile navigation overlay fix
   WordPress core's responsive Navigation overlay inherits a
   light/default canvas unless explicitly themed. Keep the
   hamburger menu fully inside the Daughters of Ruin visual
   system and ensure its controls/links remain visible.
   ========================================================== */

@media (max-width: 760px) {
  .dor-site-header-v3 .wp-block-navigation__responsive-container.is-menu-open,
  .dor-site-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    box-sizing: border-box !important;
    background:
      radial-gradient(circle at 78% 18%, rgba(176, 24, 24, .20), transparent 30%),
      linear-gradient(180deg, #080808 0%, #0d0909 55%, #070707 100%) !important;
    color: var(--dor-bone) !important;
    padding: 24px !important;
    overflow-y: auto !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-content,
  .dor-site-header .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: calc(100dvh - 48px) !important;
    padding-top: clamp(72px, 16vh, 120px) !important;
    box-sizing: border-box !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  .dor-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: .35rem !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
  .dor-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
  .dor-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    display: block !important;
    width: 100% !important;
    padding: .85rem 1rem !important;
    box-sizing: border-box !important;
    color: var(--dor-bone) !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
    font-family: var(--dor-font-ui) !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: .07em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover,
  .dor-site-header-v3 .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:focus-visible,
  .dor-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover,
  .dor-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:focus-visible {
    color: var(--dor-red-bright) !important;
    background: rgba(255,255,255,.025) !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-open,
  .dor-site-header .wp-block-navigation__responsive-container-open {
    color: var(--dor-bone) !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 4px !important;
    padding: 8px !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-close,
  .dor-site-header .wp-block-navigation__responsive-container-close {
    top: 20px !important;
    right: 20px !important;
    color: var(--dor-bone) !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 4px !important;
    padding: 8px !important;
  }

  .dor-site-header-v3 .wp-block-navigation__responsive-container-open svg,
  .dor-site-header-v3 .wp-block-navigation__responsive-container-close svg,
  .dor-site-header .wp-block-navigation__responsive-container-open svg,
  .dor-site-header .wp-block-navigation__responsive-container-close svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }
}
