/* Responsive + theme rescue layer for the exported Claude Design site.
   Kept separate so desktop styling remains intact while mobile/tablet and
   dark mode can be maintained without fighting dozens of inline declarations. */

html:root {
  --paper: #f3f2f2;
  --surface: #ffffff;
  --ink: #201e1d;
  --ink-2: #3f3a44;
  --muted: #6d6473;
  --link: #6a5b7d;
  --gold-ink: #8a6410;
  --plum-tint: #eceaef;
  --rule: rgba(43, 30, 64, 0.16) !important;
  --header-shadow: 0 12px 34px rgba(43, 30, 64, 0.08);
  color-scheme: light;
}

html:root[data-theme="dark"] {
  --paper: #1e1a23;
  --surface: #2a2531;
  --ink: #ece8ef;
  --ink-2: #c4bcc8;
  --muted: #c3b6cf;
  --link: #d3c4e0;
  --gold-ink: #f2c94c;
  --plum-tint: #332c3e;
  --rule: rgba(236, 232, 239, 0.18) !important;
  --header-shadow: 0 14px 38px rgba(0, 0, 0, 0.28);
  color-scheme: dark;
}

html,
body,
#dc-root,
#dc-root > .sc-host {
  background: var(--paper);
}

body {
  overflow-x: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

/* ---- Theme ---- */
html[data-theme="dark"] body,
html[data-theme="dark"] #dc-root,
html[data-theme="dark"] #dc-root > .sc-host,
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .mobile-menu-panel {
  background: var(--paper) !important;
  color: var(--ink) !important;
}

html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
  background: #27222d !important;
  color: var(--ink) !important;
  border-color: var(--rule) !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #a99faf;
}

html[data-theme="dark"] [style*="background: rgb(255, 255, 255)"],
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#ffffff"],
html[data-theme="dark"] [style*="background: #ffffff"] {
  background: var(--surface) !important;
}

html[data-theme="dark"] .submenu {
  background: var(--surface) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme="dark"] .submenu a:hover,
html[data-theme="dark"] .submenu a:focus-visible {
  background: var(--plum-tint) !important;
}

html[data-theme="dark"] a[style*="color: #332c3e"] {
  color: var(--link) !important;
}

.logo-light { display: block !important; }
.logo-dark { display: none !important; }
html[data-theme="dark"] .logo-light { display: none !important; }
html[data-theme="dark"] .logo-dark { display: block !important; }

[data-theme-toggle] {
  min-height: 42px;
  white-space: nowrap;
}

[data-theme-toggle]:focus-visible,
.mobile-menu-toggle:focus-visible,
.mobile-menu-panel a:focus-visible {
  outline: 3px solid #f2c94c;
  outline-offset: 3px;
}

/* ---- Shared header / navigation ---- */
html body .site-header {
  position: sticky !important;
  top: 0;
  z-index: 80 !important;
  background: var(--paper) !important;
}

html body .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  min-width: 0;
}

.mobile-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--rule);
  border-radius: 2px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}

.mobile-menu-toggle svg {
  width: 21px;
  height: 21px;
  stroke: currentColor;
}

.mobile-menu-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: calc(100vh - 78px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 14px 22px 24px;
  background: var(--paper);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  box-shadow: var(--header-shadow);
}

.site-header.mobile-menu-open .mobile-menu-panel {
  display: block;
}

.mobile-menu-links {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 22px;
}

.mobile-menu-panel a {
  display: block;
  padding: 12px 4px;
  border-bottom: 1px solid var(--rule);
  color: var(--ink) !important;
  font-size: 17px;
  line-height: 1.25;
}

.mobile-menu-panel .mobile-sub-link {
  padding-left: 18px;
  color: var(--muted) !important;
  font-size: 15px;
}

.mobile-menu-panel .mobile-cta-link {
  margin-top: 12px;
  padding: 13px 16px;
  border: 0;
  background: #f2c94c;
  color: #2a2118 !important;
  font-weight: 600;
  text-align: center;
}

/* ---- Layout helpers added by site-enhancements.js ---- */
html body .site-container {
  width: 100%;
  min-width: 0;
}

html body .responsive-grid > *,
html body .layout-split > * {
  min-width: 0;
}

html body .post-body,
html body .post-body p,
html body .post-body li,
html body main,
html body article {
  overflow-wrap: break-word;
  word-break: normal;
}

html body .post-body table {
  max-width: 100%;
}

/* Tablet */
@media (max-width: 1180px) {
  html body .site-header {
    min-height: 86px !important;
    padding: 10px 24px !important;
    gap: 18px !important;
  }

  html body .site-header > a {
    min-width: 0;
    flex: 0 1 auto;
  }

  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    height: 60px !important;
    width: auto !important;
    max-width: min(260px, 36vw) !important;
    object-fit: contain !important;
  }

  html body .site-nav {
    gap: 9px !important;
    font-size: 14px !important;
  }

  /* The desktop navigation is simply too wide at tablet sizes. Use the
     deliberate compact controls instead of deleting random nav items. */
  html body .site-nav > a,
  html body .site-nav > .menu-group {
    display: none !important;
  }

  html body .site-nav > a[href$="contact/"],
  html body .site-nav > a[href$="contact"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 11px 15px !important;
    font-size: 14px !important;
    white-space: nowrap;
  }

  html body .site-nav [data-theme-toggle] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    font-size: 0 !important;
  }

  html body .site-nav [data-theme-toggle]::after {
    content: "◐";
    font-size: 19px;
    line-height: 1;
  }

  html body .mobile-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 auto;
  }

  html body .site-container,
  html body [style*="max-width: 1440px"] {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  html body h1 {
    font-size: clamp(44px, 6.6vw, 62px) !important;
    line-height: 1.01 !important;
  }

  html body h2 {
    font-size: clamp(28px, 4vw, 38px) !important;
    line-height: 1.1 !important;
  }

  html body h3 {
    font-size: clamp(21px, 2.8vw, 27px) !important;
  }

  /* Override Claude's blanket "every grid becomes one column at 900px" rule. */
  html body .responsive-grid.grid-4,
  html body .responsive-grid.grid-3,
  html body .responsive-grid.footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .responsive-grid.grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .responsive-grid.grid-split,
  html body .layout-split {
    grid-template-columns: minmax(0, 1fr) !important;
    flex-direction: column !important;
  }

  html body .responsive-grid.grid-media {
    grid-template-columns: 160px minmax(0, 1fr) !important;
  }

  html body .layout-split {
    display: flex !important;
    gap: 34px !important;
    flex-wrap: nowrap !important;
  }

  html body .layout-split > aside,
  html body aside[style*="position: sticky"] {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  /* Undo the generated rule that wraps every flex div on tablet. */
  html body div.responsive-flex {
    flex-wrap: nowrap !important;
  }

  html body div.flex-can-wrap,
  html body div.flex-between {
    flex-wrap: wrap !important;
  }

  html body .page-hero {
    padding-top: 44px !important;
  }

  html body footer.site-footer {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  html body footer.site-footer img {
    height: 82px !important;
  }

  html body img[style*="height: 420px"] {
    height: 380px !important;
  }
}


@media (min-width: 721px) and (max-width: 1180px) {
  html body .m-cta { display: none !important; }
  html body { padding-bottom: 0 !important; }
}

/* Small tablets + phones */
@media (max-width: 720px) {
  html body .site-topbar {
    min-height: 38px !important;
    height: auto !important;
    padding: 7px 16px !important;
    justify-content: center !important;
  }

  html body .site-topbar > span:first-child {
    display: none !important;
  }

  html body .site-topbar > span:last-child {
    width: 100%;
    justify-content: center;
    gap: 14px !important;
    flex-wrap: wrap !important;
    text-align: center;
  }

  html body .site-header {
    min-height: 74px !important;
    padding: 8px 16px !important;
    gap: 10px !important;
  }

  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    height: 48px !important;
    max-width: min(195px, 50vw) !important;
  }

  html body .site-nav {
    gap: 7px !important;
  }

  html body .site-nav > a[href$="contact/"],
  html body .site-nav > a[href$="contact"] {
    display: none !important;
  }

  .mobile-menu-panel {
    padding: 10px 18px 22px;
  }

  .mobile-menu-links {
    grid-template-columns: 1fr;
    gap: 0;
  }

  html body .site-container,
  html body [style*="max-width: 1440px"] {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  html body .page-hero {
    padding-top: 32px !important;
  }

  html body h1 {
    font-size: clamp(36px, 11vw, 48px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.025em !important;
  }

  html body h2 {
    font-size: clamp(27px, 8vw, 35px) !important;
  }

  html body h3 {
    font-size: clamp(21px, 6vw, 27px) !important;
  }

  html body p,
  html body li {
    text-wrap: pretty;
  }

  html body .responsive-grid.grid-4,
  html body .responsive-grid.grid-3,
  html body .responsive-grid.grid-2,
  html body .responsive-grid.grid-split,
  html body .responsive-grid.footer-grid,
  html body .responsive-grid.grid-media {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .responsive-grid {
    gap: 22px !important;
  }

  html body .responsive-grid.grid-media {
    gap: 16px !important;
  }

  html body .responsive-grid.grid-media > :first-child {
    max-width: 100%;
    text-align: left !important;
    border-right: 0 !important;
    border-left: 2px solid #f2c94c;
    padding-right: 0 !important;
    padding-left: 12px !important;
  }

  html body .layout-split {
    gap: 26px !important;
  }

  html body div.flex-can-wrap {
    gap: 12px !important;
  }

  html body .post-body {
    font-size: 18px !important;
    line-height: 1.62 !important;
  }

  html body .post-body table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    font-size: 16px !important;
  }

  html body form {
    width: 100% !important;
    max-width: none !important;
  }

  html body input:not([type="checkbox"]):not([type="radio"]),
  html body textarea,
  html body select {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body form button[type="submit"] {
    width: 100%;
    min-height: 52px;
  }

  html body img[style*="height: 420px"] {
    height: 330px !important;
  }

  html body img[style*="height: 340px"] {
    height: 310px !important;
  }

  html body img[style*="height: 320px"] {
    height: 240px !important;
  }

  html body footer.site-footer {
    padding: 34px 18px 96px !important;
  }

  html body footer.site-footer img {
    height: 68px !important;
    max-width: 235px !important;
  }

  html body footer.site-footer a[href^="tel:"] {
    overflow-wrap: anywhere;
  }

  html body .m-cta {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 120 !important;
  }

  html body .m-cta a {
    padding: 16px 10px !important;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px !important;
    line-height: 1.15;
  }

  body {
    padding-bottom: 56px !important;
  }
}

@media (max-width: 420px) {
  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    height: 44px !important;
    max-width: 48vw !important;
  }

  html body .site-nav [data-theme-toggle],
  html body .mobile-menu-toggle {
    width: 42px;
    height: 42px;
    min-width: 42px;
  }

  html body .site-container,
  html body [style*="max-width: 1440px"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body h1 {
    font-size: clamp(34px, 10.8vw, 44px) !important;
  }

  html body .m-cta a {
    font-size: 15px !important;
  }
}

#google-reviews,
#google-reviews > * {
  max-width: 100% !important;
}

#google-reviews {
  width: 100%;
  min-width: 0;
  overflow-x: clip;
}


/* COMPLETE FOOTER */
.footer-complete {
  padding: 58px 40px 34px !important;
  background: #332c3e !important;
  color: #cec7d4 !important;
}

.footer-complete .footer-shell {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(155px, .82fr));
  gap: 48px;
  align-items: start;
}

.footer-complete .footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  max-width: 390px;
}

.footer-complete .footer-logo-link { display: inline-flex; }
.footer-complete .footer-logo {
  display: block;
  height: 94px !important;
  width: auto;
  max-width: min(330px, 100%) !important;
  object-fit: contain;
}

.footer-complete .footer-intro {
  margin: 2px 0 0;
  max-width: 36ch;
  color: #ddd7e1;
  font-size: 16px;
  line-height: 1.6;
}

.footer-complete .footer-contact-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 2px;
}

.footer-complete .footer-phone {
  color: #ffd968 !important;
  font-size: clamp(25px, 2.15vw, 31px);
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: .005em;
}

.footer-complete .footer-email {
  color: #ddd7e1 !important;
  font-size: 16px;
}

.footer-complete .footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 4px;
  padding: 0 18px;
  background: #f2c94c;
  color: #2a2118 !important;
  font-weight: 600;
  border-radius: 2px;
}

.footer-complete .footer-cta:hover { background: #ffd968; }

.footer-complete .footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

.footer-complete .footer-heading {
  display: block;
  margin-bottom: 4px;
  color: #a9a0b1;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.footer-complete .footer-column a {
  color: #eee9f0 !important;
  font-size: 15.5px;
  line-height: 1.38;
}

.footer-complete .footer-column a:hover,
.footer-complete .footer-email:hover { color: #ffd968 !important; }

.footer-complete .footer-bottom {
  width: min(1440px, 100%);
  margin: 38px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.16);
  display: grid;
  grid-template-columns: minmax(230px, .75fr) minmax(0, 1.7fr);
  gap: 32px;
  color: #a9a0b1;
  font-size: 13.5px;
  line-height: 1.55;
}

.footer-complete .footer-copyright { white-space: normal; }
.footer-complete .footer-disclaimer { max-width: 92ch; }

@media (max-width: 1050px) {
  html body .footer-complete .footer-shell {
    grid-template-columns: minmax(260px, 1.15fr) repeat(2, minmax(180px, 1fr)) !important;
    gap: 38px 32px !important;
  }
  .footer-complete .footer-column:last-child { grid-column: 2 / -1; }
}

@media (max-width: 720px) {
  html body .footer-complete {
    padding: 38px 18px 98px !important;
  }
  html body .footer-complete .footer-shell {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .footer-complete .footer-brand { max-width: none; }
  html body .footer-complete .footer-logo { height: 76px !important; max-width: 260px !important; }
  .footer-complete .footer-phone { font-size: 27px; }
  .footer-complete .footer-cta { width: 100%; min-height: 50px; }
  .footer-complete .footer-column { padding-top: 4px; }
  .footer-complete .footer-column:last-child { grid-column: auto; }
  .footer-complete .footer-bottom {
    margin-top: 32px;
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ---- Finished category archives + About page ---- */
.site-nav > a.nav-current,
.site-nav > .menu-group > a.nav-current { color: var(--link) !important; }
.submenu-structured .submenu-rule { height: 1px; background: var(--rule); margin: 5px 14px; }
.submenu-structured .submenu-parent { letter-spacing: .01em; }
.submenu-structured .submenu-nested { padding-bottom: 2px; }
.submenu-structured a:hover,
.submenu-structured a:focus-visible { background: var(--plum-tint); }
.mobile-menu-panel .mobile-sub-sub-link { padding-left: 34px !important; font-size: 14px; opacity: .92; }

.archive-page { width: 100%; }
.archive-hero { max-width: 1440px; margin: 0 auto; padding: 68px 40px 26px; }
.archive-kicker,.about-v2-kicker,.about-section-kicker { font-size: 13px; letter-spacing: .21em; text-transform: uppercase; color: var(--gold-ink); font-weight: 600; }
.archive-hero h1 { margin: 16px 0 18px; font-size: clamp(50px,5.7vw,78px); line-height: .98; letter-spacing: -.03em; font-weight: 600; max-width: 17ch; }
.archive-hero p { max-width: 760px; font-size: 21px; line-height: 1.52; color: var(--ink-2); margin: 0; }
.archive-rule { max-width: 1440px; height: 3px; margin: 18px auto 0; background: #332c3e; }
html[data-theme="dark"] .archive-rule { background: #f2c94c; opacity: .8; }
.archive-layout { max-width: 1440px; margin: 0 auto; padding: 0 40px 90px; display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 64px; align-items:start; }
.archive-list { min-width:0; }
.archive-card { display:grid; grid-template-columns: 230px minmax(0,1fr); gap: 28px; padding: 34px 0; border-bottom:1px solid var(--rule); }
.archive-card-image { display:block; overflow:hidden; background:var(--plum-tint); aspect-ratio: 16/10; align-self:start; }
.archive-card-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.archive-card:hover .archive-card-image img { transform:scale(1.025); }
.archive-card-copy { min-width:0; }
.archive-card-cats { color:var(--gold-ink); text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:600; margin:1px 0 10px; }
.archive-card h3 { margin:0 0 10px; font-size:30px; line-height:1.08; letter-spacing:-.018em; font-weight:600; text-wrap:normal; }
.archive-card h3 a { color:var(--ink); }
.archive-card h3 a:hover { color:var(--link); }
.archive-card p { margin:0 0 14px; color:var(--ink-2); font-size:17px; line-height:1.52; max-width:68ch; }
.archive-card-meta { color:var(--muted); font-size:14px; }
.archive-card-featured { grid-template-columns: 1fr; padding-top:38px; }
.archive-card-featured .archive-card-image { aspect-ratio: 16/7; }
.archive-card-featured h3 { font-size:38px; max-width:26ch; }
.archive-sidebar { position:sticky; top:132px; display:flex; flex-direction:column; gap:28px; padding-top:34px; }
.archive-cta-card { background:#332c3e; padding:26px 24px; color:#f6f3f7; }
.archive-cta-kicker { color:#ffd968; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:600; }
.archive-cta-card h2 { margin:11px 0 8px; color:#fff; font-size:26px; line-height:1.14; font-weight:600; }
.archive-cta-card p { margin:0 0 18px; color:#cec7d4; font-size:15px; line-height:1.5; }
.archive-call,.archive-message { display:block; text-align:center; padding:13px 16px; font-weight:600; }
.archive-call { background:#f2c94c; color:#2a2118 !important; font-size:18px; }
.archive-message { margin-top:8px; border:1px solid #796c8d; color:#f6f3f7 !important; font-size:15px; }
.archive-browse { border-top:1px solid var(--rule); padding-top:20px; display:flex; flex-direction:column; }
.archive-browse-heading { color:var(--muted); text-transform:uppercase; letter-spacing:.16em; font-size:12px; margin-bottom:9px; }
.archive-browse-link { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:8px 0; color:var(--ink); font-size:16px; line-height:1.3; border-bottom:1px solid transparent; }
.archive-browse-link span { color:var(--muted); font-size:13px; }
.archive-browse-link.level-2 { padding-left:18px; font-size:14px; color:var(--ink-2); }
.archive-browse-link.is-current { color:var(--link); font-weight:600; }
.archive-browse-divider { height:1px; background:var(--rule); margin:9px 0; }
.archive-empty { padding:52px 0; border-bottom:1px solid var(--rule); max-width:720px; }
.archive-empty-label { color:var(--gold-ink); text-transform:uppercase; letter-spacing:.16em; font-size:12px; }
.archive-empty h2 { font-size:34px; line-height:1.12; margin:12px 0; }
.archive-empty p { color:var(--ink-2); font-size:18px; line-height:1.55; }

.about-v2 { width:100%; }
.about-v2-hero { max-width:1440px; margin:0 auto; padding:64px 40px 0; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr); gap:64px; align-items:end; }
.about-v2-copy { padding-bottom:54px; }
.about-v2-hero h1 { margin:17px 0 22px; font-size:clamp(52px,6.1vw,84px); line-height:.96; letter-spacing:-.035em; font-weight:600; max-width:12ch; }
.about-v2-lead { margin:0; max-width:62ch; font-size:21px; line-height:1.52; color:var(--ink-2); }
.about-v2-actions { margin-top:30px; display:flex; gap:11px; flex-wrap:wrap; }
.about-v2-actions a { display:inline-flex; align-items:center; min-height:48px; padding:12px 18px; font-size:16px; font-weight:600; }
.about-primary { background:#f2c94c; color:#2a2118 !important; }
.about-secondary { border:1px solid var(--rule); color:var(--ink) !important; }
.about-v2-photo { height:520px; overflow:hidden; background:var(--plum-tint); }
.about-v2-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 13%; display:block; }
.about-proof-strip { max-width:1440px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid #332c3e; border-bottom:1px solid var(--rule); }
.about-proof-strip > div { min-height:116px; padding:25px 30px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid var(--rule); }
.about-proof-strip > div:last-child { border-right:0; }
.about-proof-strip strong { display:block; color:var(--ink); font-size:19px; font-weight:600; }
.about-proof-strip span { color:var(--muted); font-size:14px; margin-top:5px; }
.about-story { max-width:1240px; margin:0 auto; padding:92px 40px; display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:74px; align-items:start; }
.about-story-main h2,.about-section-head h2,.about-team-intro h2,.about-recognition-copy h2,.about-final-cta h2 { font-size:clamp(36px,4vw,52px); line-height:1.03; letter-spacing:-.025em; font-weight:600; margin:14px 0 22px; }
.about-story-main p { font-size:19px; line-height:1.65; color:var(--ink-2); margin:0 0 18px; }
.about-insight-card { background:var(--surface); border:1px solid var(--rule); padding:30px; }
.about-insight-card > span { color:var(--gold-ink); text-transform:uppercase; letter-spacing:.15em; font-size:12px; }
.about-insight-card h3 { font-size:25px; line-height:1.2; margin:12px 0 18px; }
.about-insight-card ul { margin:0; padding:0; list-style:none; }
.about-insight-card li { padding:13px 0 13px 24px; border-top:1px solid var(--rule); color:var(--ink-2); line-height:1.45; position:relative; }
.about-insight-card li::before { content:'→'; position:absolute; left:0; color:var(--gold-ink); }
.about-values-section { background:var(--surface); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:84px 40px; }
.about-section-head { max-width:1180px; margin:0 auto 42px; display:grid; grid-template-columns:1fr 1fr; column-gap:70px; align-items:end; }
.about-section-head .about-section-kicker { grid-column:1/-1; }
.about-section-head h2 { margin-bottom:0; }
.about-section-head p { margin:0 0 6px; font-size:18px; line-height:1.55; color:var(--ink-2); }
.about-values-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
.about-values-grid article { min-height:265px; padding:28px 25px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.about-values-grid article > span { color:var(--gold-ink); font-size:13px; letter-spacing:.14em; }
.about-values-grid h3 { font-size:23px; line-height:1.15; margin:42px 0 12px; }
.about-values-grid p { color:var(--ink-2); font-size:16px; line-height:1.5; margin:0; }
.about-team-section { max-width:1240px; margin:0 auto; padding:94px 40px; }
.about-team-intro { max-width:760px; margin-bottom:40px; }
.about-team-intro p { color:var(--ink-2); font-size:18px; line-height:1.55; }
.about-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.about-team-grid article { border-top:1px solid var(--rule); padding-top:16px; }
.about-team-photo { aspect-ratio:4/3; overflow:hidden; background:var(--plum-tint); }
.about-team-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.about-team-grid article:first-child .about-team-photo img { object-position:50% 15%; }
.about-team-grid h3 { margin:14px 0 3px; font-size:22px; }
.about-team-grid p { margin:0; color:var(--muted); }
.about-recognition { max-width:1240px; margin:0 auto 94px; display:grid; grid-template-columns:1fr 1fr; min-height:480px; background:#332c3e; }
.about-recognition-photo { min-height:480px; overflow:hidden; }
.about-recognition-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.about-recognition-copy { padding:54px; color:#f6f3f7; align-self:center; }
.about-recognition-copy .about-section-kicker { color:#ffd968; }
.about-recognition-copy h2 { color:#fff; }
.about-recognition-copy p { color:#d5cfda; font-size:18px; line-height:1.58; }
.about-final-cta { max-width:1440px; margin:0 auto; padding:60px 40px 72px; border-top:1px solid var(--rule); display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; }
.about-final-cta p { color:var(--ink-2); font-size:16px; max-width:70ch; }
.about-final-actions { display:flex; flex-direction:column; gap:8px; min-width:250px; }
.about-final-actions a { padding:14px 18px; text-align:center; font-weight:600; border:1px solid var(--rule); color:var(--ink); }
.about-final-actions a:last-child { background:#f2c94c; color:#2a2118; border-color:#f2c94c; }

@media (max-width: 1050px) {
  .archive-layout { grid-template-columns:minmax(0,1fr) 280px; gap:38px; }
  .archive-card { grid-template-columns:190px minmax(0,1fr); gap:22px; }
  .archive-card-featured { grid-template-columns:1fr; }
  .about-v2-hero { grid-template-columns:1fr 380px; gap:36px; }
  .about-v2-photo { height:470px; }
  .about-story { grid-template-columns:1fr 330px; gap:46px; }
  .about-values-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 820px) {
  .archive-hero { padding:46px 22px 20px; }
  .archive-hero p { font-size:18px; }
  .archive-rule { margin:10px 22px 0; }
  .archive-layout { padding:0 22px 74px; grid-template-columns:1fr; gap:36px; }
  .archive-sidebar { position:static; order:-1; padding-top:28px; display:grid; grid-template-columns:1fr 1fr; }
  .archive-list { order:2; }
  .archive-card,.archive-card-featured { grid-template-columns:150px minmax(0,1fr); padding:27px 0; }
  .archive-card-featured .archive-card-image,.archive-card-image { aspect-ratio:4/3; }
  .archive-card-featured h3,.archive-card h3 { font-size:26px; line-height:1.06; }
  .about-v2-hero { padding:44px 22px 0; grid-template-columns:1fr; gap:0; }
  .about-v2-copy { padding-bottom:32px; }
  .about-v2-photo { height:min(520px,105vw); }
  .about-proof-strip { margin:0 22px; grid-template-columns:1fr; }
  .about-proof-strip > div { min-height:92px; border-right:0; border-bottom:1px solid var(--rule); padding:20px 18px; }
  .about-proof-strip > div:last-child { border-bottom:0; }
  .about-story { padding:70px 22px; grid-template-columns:1fr; gap:36px; }
  .about-values-section { padding:66px 22px; }
  .about-section-head { grid-template-columns:1fr; gap:10px; }
  .about-section-head .about-section-kicker { grid-column:auto; }
  .about-values-grid { grid-template-columns:1fr 1fr; }
  .about-team-section { padding:72px 22px; }
  .about-team-grid { grid-template-columns:1fr 1fr; }
  .about-team-grid article:first-child { grid-column:1/-1; }
  .about-recognition { margin:0 22px 72px; grid-template-columns:1fr; }
  .about-recognition-photo { min-height:360px; }
  .about-recognition-copy { padding:38px 28px; }
  .about-final-cta { padding:54px 22px 76px; grid-template-columns:1fr; gap:24px; }
  .about-final-actions { min-width:0; }
}
@media (max-width: 560px) {
  .archive-hero h1 { font-size:43px !important; }
  .archive-sidebar { grid-template-columns:1fr; }
  .archive-card,.archive-card-featured { grid-template-columns:1fr; gap:15px; }
  .archive-card-image,.archive-card-featured .archive-card-image { aspect-ratio:16/9; }
  .archive-card h3,.archive-card-featured h3 { font-size:27px; line-height:1.06; }
  .about-v2-hero h1 { font-size:47px !important; }
  .about-v2-lead { font-size:18px; }
  .about-v2-actions { display:grid; grid-template-columns:1fr; }
  .about-v2-actions a { justify-content:center; }
  .about-values-grid { grid-template-columns:1fr; }
  .about-values-grid article { min-height:220px; }
  .about-team-grid { grid-template-columns:1fr; }
  .about-team-grid article:first-child { grid-column:auto; }
  .about-recognition { margin-left:0; margin-right:0; }
  .about-recognition-photo { min-height:280px; }
}

.archive-empty-links { display:flex; flex-direction:column; gap:9px; margin-top:22px; }
.archive-empty-links a { color:var(--link); font-weight:600; font-size:16px; }
.archive-empty-links a:hover { color:var(--gold-ink); }


/* Contextual internal-link block */
.post-body .related-guidance { margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--rule); }
.post-body .related-guidance h2 { margin: 0 0 14px; font-size: 27px; line-height: 1.15; }
.post-body .related-guidance ul { margin: 0; padding-left: 20px; display: grid; gap: 9px; }
.post-body .related-guidance a { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.post-body .related-guidance a:hover { color: var(--gold-ink); }

/* === Mobile header correction pass (2026-09-01) ===
   The prior rescue layer still treated the desktop utility strip as mobile
   content and over-constrained the wordmark. This block intentionally wins
   over the older generated/export rules above. */
@media (max-width: 720px) {
  /* The sticky mobile CTA already carries the phone + case-review actions.
     Dropping the desktop utility strip prevents the two-line clipped header
     visible on narrow iPhones. */
  html body .site-topbar,
  html body .mobile-hide-topbar {
    display: none !important;
  }

  html body .site-header {
    min-height: 82px !important;
    height: auto !important;
    padding: 10px 14px 10px 16px !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: space-between !important;
    top: 0 !important;
  }

  html body .site-header .site-logo-link {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 102px) !important;
  }

  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    display: block;
    width: min(232px, 100%) !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 72px !important;
    object-fit: contain !important;
    object-position: left center !important;
    flex: 0 1 auto !important;
  }

  html[data-theme="dark"] body .site-header img.logo-light { display: none !important; }
  html[data-theme="dark"] body .site-header img.logo-dark { display: block !important; }
  html:not([data-theme="dark"]) body .site-header img.logo-dark { display: none !important; }

  html body .site-nav {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 94px !important;
    gap: 8px !important;
    justify-content: flex-end !important;
  }

  html body .site-nav [data-theme-toggle],
  html body .mobile-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
  }

  html body .mobile-menu-panel {
    top: 100% !important;
    max-height: calc(100dvh - 82px - 56px) !important;
  }
}

@media (max-width: 390px) {
  html body .site-header {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body .site-header .site-logo-link {
    max-width: calc(100% - 98px) !important;
  }

  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    width: min(216px, 100%) !important;
  }

  html body .site-nav {
    min-width: 92px !important;
    gap: 6px !important;
  }
}

@media (max-width: 350px) {
  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    width: min(192px, 100%) !important;
  }

  html body .site-nav [data-theme-toggle],
  html body .mobile-menu-toggle {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    flex-basis: 42px !important;
  }
}

/* Tablet: utility strip remains, but must never clip/wrap underneath itself. */
@media (min-width: 721px) and (max-width: 1180px) {
  html body .site-topbar {
    height: auto !important;
    min-height: 42px !important;
    padding: 8px 24px !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
  }
}

/* Final mobile wordmark sizing: use width, not a fixed logo height. */
@media (max-width: 720px) {
  html body .site-header { min-height: 100px !important; }
  html body .site-header img.logo-light,
  html body .site-header img.logo-dark {
    width: min(244px, 100%) !important;
    height: auto !important;
    max-height: none !important;
  }
}
@media (max-width: 390px) {
  html body .site-header img.logo-light,
  html body .site-header img.logo-dark { width: min(230px, 100%) !important; }
}
@media (max-width: 350px) {
  html body .site-header { min-height: 88px !important; }
  html body .site-header img.logo-light,
  html body .site-header img.logo-dark { width: min(200px, 100%) !important; }
}
/* === CASE REVIEW DRAWER === */
html.case-review-open,
body.case-review-open { overflow: hidden !important; }

.case-review-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(25, 19, 30, 0.54);
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s ease, visibility .28s ease;
  backdrop-filter: blur(2px);
}

.case-review-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  width: min(560px, 92vw);
  height: 100vh;
  height: 100dvh;
  background: var(--paper, #f3f2f2);
  color: var(--ink, #201e1d);
  border-left: 1px solid var(--rule, rgba(55, 43, 65, .18));
  transform: translateX(102%);
  transition: transform .32s cubic-bezier(.22,.75,.2,1);
  box-shadow: -24px 0 70px rgba(31, 22, 39, .22);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.case-review-open .case-review-overlay { opacity: 1; visibility: visible; }
.case-review-open .case-review-drawer { transform: translateX(0); }

.case-review-drawer__head {
  flex: 0 0 auto;
  padding: 24px 26px 20px;
  border-bottom: 1px solid var(--rule, rgba(55,43,65,.18));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: start;
  background: var(--paper, #f3f2f2);
}

.case-review-drawer__eyebrow {
  margin: 0 0 7px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-ink, #8a6410);
  font-weight: 700;
}

.case-review-drawer__title {
  margin: 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.02;
  letter-spacing: -.02em;
  color: var(--ink, #201e1d);
}

.case-review-drawer__intro {
  margin: 10px 0 0;
  max-width: 44ch;
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted, #6d6473);
}

.case-review-close {
  width: 44px;
  height: 44px;
  border: 1px solid var(--rule, rgba(55,43,65,.2));
  border-radius: 2px;
  background: transparent;
  color: var(--ink, #201e1d);
  font: 400 28px/1 Arial, sans-serif;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.case-review-close:hover { border-color: var(--gold-ink, #8a6410); color: var(--gold-ink, #8a6410); }
.case-review-close:focus-visible,
.case-review-form input:focus-visible,
.case-review-form textarea:focus-visible,
.case-review-form button:focus-visible {
  outline: 3px solid rgba(138,100,16,.25);
  outline-offset: 2px;
}

.case-review-drawer__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 24px 26px 30px;
  overscroll-behavior: contain;
}

.case-review-form {
  display: flex;
  flex-direction: column;
  gap: 17px;
}

.case-review-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.case-review-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  font-size: 14px;
  line-height: 1.3;
  color: var(--ink-2, #3f3a44);
}

.case-review-field input,
.case-review-field textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 16px;
  line-height: 1.4;
  padding: 12px 13px;
  border: 1px solid var(--rule, rgba(55,43,65,.24));
  border-radius: 2px;
  background: var(--surface, #fff);
  color: var(--ink, #201e1d);
}
.case-review-field textarea { min-height: 130px; resize: vertical; }

.case-review-consent-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 15px 16px;
  border: 1px solid var(--rule, rgba(55,43,65,.2));
  background: var(--surface, #fff);
}
.case-review-consent-copy {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted, #6d6473);
}
.case-review-consent {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--ink-2, #3f3a44);
  cursor: pointer;
}
.case-review-consent input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #8a6410;
}

.case-review-submit {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 2px;
  background: #f2c94c;
  color: #2a2118;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  padding: 13px 18px;
}
.case-review-submit:hover { background: #ffd968; }
.case-review-submit[disabled] { opacity: .7; cursor: wait; }

.case-review-form__note {
  margin: -4px 0 0;
  text-align: center;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--muted, #6d6473);
}

.case-review-status {
  display: none;
  margin: 0;
  padding: 12px 13px;
  border: 1px solid var(--rule, rgba(55,43,65,.2));
  background: var(--surface, #fff);
  font-size: 14px;
  line-height: 1.45;
}
.case-review-status.is-visible { display: block; }
.case-review-status.is-success { border-left: 4px solid #8a6410; }
.case-review-status.is-error { border-left: 4px solid #8b3434; }

.case-review-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Turn every Free Case Review CTA into an obvious drawer trigger without changing its fallback href. */
a[data-case-review-trigger], button[data-case-review-trigger] { cursor: pointer; }

[data-theme="dark"] .case-review-overlay { background: rgba(8, 6, 11, .68); }
[data-theme="dark"] .case-review-drawer { box-shadow: -24px 0 70px rgba(0,0,0,.4); }

@media (max-width: 620px) {
  .case-review-drawer { width: 100vw; max-width: none; border-left: 0; }
  .case-review-drawer__head { padding: 20px 20px 17px; }
  .case-review-drawer__scroll { padding: 20px 20px 28px; }
  .case-review-form__row { grid-template-columns: 1fr; }
  .case-review-drawer__title { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .case-review-overlay, .case-review-drawer { transition: none; }
}

/* Reviews-page case review CTA: give the actions room on phones instead of
   squeezing two long labels into narrow half-width buttons. */
.reviews-case-talk-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: stretch;
}

@media (max-width: 600px) {
  .reviews-case-talk-cta {
    padding: 28px 20px !important;
    gap: 22px !important;
    align-items: stretch !important;
  }

  .reviews-case-talk-cta > div:first-child {
    width: 100%;
  }

  .reviews-case-talk-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .reviews-case-talk-actions a {
    width: 100%;
    min-height: 54px;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 14px 18px !important;
    margin: 0 !important;
    text-align: center;
    font-size: 17px !important;
    line-height: 1.2 !important;
    white-space: normal;
  }
}

/* 2026 editorial system: a crisp, product-led sans-serif interface with serif
   reserved for the gold-rule editorial moments. */
:root {
  --jd-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --jd-font-editorial: "Source Serif 4", Georgia, "Times New Roman", serif;
}

html body,
html body button,
html body input,
html body textarea,
html body select {
  font-family: var(--jd-font-sans) !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  font-family: var(--jd-font-editorial) !important;
  font-style: normal;
}

html body .editorial-pullquote,
html body .editorial-pullquote *,
html body .editorial-callout,
html body .editorial-callout *,
html body .post-body blockquote,
html body .post-body blockquote * {
  font-family: var(--jd-font-editorial) !important;
}

.home-law-hero > div:first-child > h1 {
  font-family: var(--jd-font-editorial) !important;
  font-size: clamp(54px, 6.5vw, 82px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  font-weight: 650 !important;
}

.editorial-pullquote {
  border-left-width: 4px !important;
}

.editorial-pullquote__text {
  font-size: clamp(25px, 2.15vw, 32px) !important;
  line-height: 1.32 !important;
  letter-spacing: -.012em;
}

.article-photo-hero {
  min-height: max(520px, calc(100svh - var(--article-hero-offset, 0px))) !important;
  isolation: isolate;
  background: #332c3e;
}

.article-photo-hero__picture,
.article-photo-hero__image,
.article-photo-hero__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.article-photo-hero__picture { display: block; }

.article-photo-hero__image {
  display: block;
  object-fit: cover;
  object-position: center;
}

.article-photo-hero__scrim {
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(51, 44, 62, 0) 0%,
      rgba(51, 44, 62, .03) 22%,
      rgba(51, 44, 62, .16) 46%,
      rgba(51, 44, 62, .62) 73%,
      rgba(51, 44, 62, .96) 100%
    ),
    linear-gradient(90deg, rgba(51, 44, 62, .10) 0%, rgba(51, 44, 62, 0) 55%);
}

.article-photo-hero__content {
  position: relative !important;
  z-index: 2;
  min-height: inherit;
  box-sizing: border-box;
  padding: 54px 40px 48px !important;
  justify-content: flex-end;
}

.article-photo-hero__kicker {
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .19em !important;
}

.article-photo-hero__title {
  max-width: 21ch !important;
  font-family: var(--jd-font-sans) !important;
  font-size: clamp(38px, 4.5vw, 60px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  font-weight: 650 !important;
  text-wrap: balance;
}

.article-photo-hero__scroll {
  position: absolute;
  z-index: 3;
  right: clamp(22px, 3.4vw, 52px);
  top: 50%;
  display: grid;
  place-items: center;
  width: 58px;
  height: 72px;
  padding: 7px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: translateY(-50%);
  cursor: pointer;
  transition: color .16s ease, transform .16s ease;
}

.article-photo-hero__scroll:hover,
.article-photo-hero__scroll:focus-visible {
  color: #f2c94c;
  background: transparent;
  transform: translateY(-46%);
}

.article-photo-hero__scroll:active {
  color: #ffd968;
  transform: translateY(-42%) scale(.96);
}

.article-photo-hero__scroll:focus-visible {
  outline: 3px solid rgba(242, 201, 76, .42);
  outline-offset: 3px;
}

.article-photo-hero__scroll svg {
  width: 38px;
  height: 58px;
  stroke: currentColor;
  filter: drop-shadow(0 2px 5px rgba(18, 15, 23, .38));
}

.post-body {
  font-family: var(--jd-font-sans) !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
}

.post-body h2 { letter-spacing: -.025em !important; }
.post-body h3 { letter-spacing: -.015em !important; }

.about-recognition-photo picture {
  display: block;
  width: 100%;
  height: 100%;
}

.case-review-submit,
.case-review-field input,
.case-review-field textarea {
  font-family: var(--jd-font-sans) !important;
}

.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 10px;
  font-size: 12px;
}

.footer-legal-links a { color: #ece8ef; }
.footer-legal-links a:hover { color: #ffd968; }

.legal-page { min-height: 60vh; }

.legal-page__hero {
  max-width: 1120px;
  margin: 0 auto;
  padding: 72px 40px 40px;
  border-bottom: 1px solid var(--rule);
}

.legal-page__hero h1 {
  max-width: 18ch;
  margin: 12px 0 0;
  font-size: clamp(46px, 6vw, 76px) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
}

.legal-page__body {
  max-width: 820px;
  margin: 0 auto;
  padding: 46px 40px 96px;
}

.legal-page__body h4 { font-size: 16px !important; }

@media (max-width: 900px) {
  .site-header {
    min-height: 68px !important;
    padding: 8px 18px !important;
  }

  .site-header img { height: 48px !important; }

  .home-law-hero {
    padding: 48px 22px 0 !important;
    gap: 38px !important;
  }

  .home-law-hero > div:first-child > h1 {
    font-family: var(--jd-font-editorial) !important;
    font-size: clamp(42px, 8vw, 58px) !important;
    line-height: .98 !important;
  }
}

@media (max-width: 720px) {
  .site-header {
    min-height: 62px !important;
    padding: 7px 14px !important;
  }

  .site-header img { height: 42px !important; }

  .home-law-hero {
    padding: 38px 18px 0 !important;
    gap: 30px !important;
  }

  .home-law-hero > div:first-child > h1 {
    font-family: var(--jd-font-editorial) !important;
    max-width: 13ch !important;
    font-size: clamp(38px, 10vw, 48px) !important;
    line-height: .99 !important;
  }

  .editorial-pullquote { padding-left: 18px !important; }

  .editorial-pullquote__text {
    font-size: clamp(24px, 6.8vw, 30px) !important;
    line-height: 1.28 !important;
  }

  .article-photo-hero {
    min-height: max(500px, calc(100svh - var(--article-hero-offset, 0px))) !important;
  }

  .article-photo-hero__scroll {
    right: 12px;
    width: 54px;
    height: 68px;
  }

  .article-photo-hero__scrim {
    background: linear-gradient(
      180deg,
      rgba(51, 44, 62, .02) 0%,
      rgba(51, 44, 62, .12) 38%,
      rgba(51, 44, 62, .60) 68%,
      rgba(51, 44, 62, .97) 100%
    );
  }

  .article-photo-hero__content {
    padding: 32px 18px 28px !important;
    gap: 10px !important;
  }

  .article-photo-hero__title {
    max-width: 19ch !important;
    font-size: clamp(30px, 8.5vw, 40px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.03em !important;
  }

  .article-photo-hero__kicker { font-size: 10px !important; }

  .post-body {
    font-size: 17px !important;
    line-height: 1.7 !important;
  }

  .legal-page__hero { padding: 48px 18px 28px; }
  .legal-page__hero h1 { font-size: clamp(38px, 11vw, 48px) !important; }
  .legal-page__body { padding: 34px 18px 72px; }
}


/* ===== 2026-09-02 final archive + article-hero pass ===== */
/* Give category pages an intentional breathing zone under the archive intro/rule,
   and keep list/sidebar rhythm aligned. These overrides also protect against
   older generated inline/archive values. */
html body .archive-layout {
  padding-top: 28px !important;
  padding-bottom: 76px !important;
  gap: 56px !important;
}
html body .archive-card {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}
html body .archive-card-featured {
  padding-top: 0 !important;
}
html body .archive-sidebar {
  padding-top: 0 !important;
  gap: 24px !important;
}
html body .archive-browse-link {
  justify-content: flex-start !important;
  padding: 7px 0 !important;
}

/* Revert to the original subtle circular scroll cue. */
html body .article-photo-hero__scroll {
  right: clamp(20px, 3.2vw, 48px) !important;
  top: 50% !important;
  width: 50px !important;
  height: 50px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  background: rgba(51,44,62,.24) !important;
  color: #fff !important;
  box-shadow: 0 3px 14px rgba(18,15,23,.18) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  transform: translateY(-50%) !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}
html body .article-photo-hero__scroll:hover,
html body .article-photo-hero__scroll:focus-visible {
  background: rgba(51,44,62,.42) !important;
  border-color: #f2c94c !important;
  color: #f2c94c !important;
  transform: translateY(-46%) !important;
}
html body .article-photo-hero__scroll:active {
  transform: translateY(-43%) scale(.96) !important;
}
html body .article-photo-hero__scroll svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
  filter: none !important;
}

@media (max-width: 720px) {
  html body .archive-layout {
    padding-top: 20px !important;
    padding-bottom: 54px !important;
  }
  html body .archive-card {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
  html body .archive-card-featured { padding-top: 0 !important; }
  html body .article-photo-hero__scroll {
    right: 14px !important;
    width: 46px !important;
    height: 46px !important;
  }
  html body .article-photo-hero__scroll svg {
    width: 20px !important;
    height: 20px !important;
  }
}


/* ===== 2026-09-02 glass header restoration =====
   Reintroduces the original translucent header treatment sitewide. On full-
   bleed article heroes, the hero rises behind the header; once the visitor
   scrolls, the header settles into a near-solid surface for readability. */
html:root {
  --glass-header-height: 112px;
  --glass-header-light: rgba(243, 242, 242, .68);
  --glass-header-light-scrolled: rgba(243, 242, 242, .965);
  --glass-header-dark: rgba(30, 26, 35, .64);
  --glass-header-dark-scrolled: rgba(30, 26, 35, .95);
  --glass-header-border: rgba(255, 255, 255, .46);
  --glass-header-border-scrolled: rgba(43, 30, 64, .14);
}

html body .site-header {
  background: var(--glass-header-light) !important;
  border-bottom-color: var(--glass-header-border) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.28), 0 8px 24px rgba(43,30,64,.035) !important;
  -webkit-backdrop-filter: saturate(125%) blur(16px) !important;
  backdrop-filter: saturate(125%) blur(16px) !important;
  transition:
    background-color .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    -webkit-backdrop-filter .24s ease,
    backdrop-filter .24s ease !important;
}

html[data-theme="dark"] body .site-header {
  background: var(--glass-header-dark) !important;
  border-bottom-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.05), 0 8px 26px rgba(0,0,0,.09) !important;
}

html body .site-header.is-scrolled,
html body .site-header.mobile-menu-open {
  background: var(--glass-header-light-scrolled) !important;
  border-bottom-color: var(--glass-header-border-scrolled) !important;
  box-shadow: 0 10px 30px rgba(43,30,64,.10) !important;
  -webkit-backdrop-filter: saturate(115%) blur(18px) !important;
  backdrop-filter: saturate(115%) blur(18px) !important;
}

html[data-theme="dark"] body .site-header.is-scrolled,
html[data-theme="dark"] body .site-header.mobile-menu-open {
  background: var(--glass-header-dark-scrolled) !important;
  border-bottom-color: rgba(255,255,255,.15) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.30) !important;
}

/* Let full-bleed article photography sit behind the glass header. The header
   remains sticky, so the overlap disappears naturally as the page scrolls. */
html body.header-over-hero .article-photo-hero,
html body:has(.article-photo-hero) .article-photo-hero {
  margin-top: calc(-1 * var(--glass-header-height, 112px)) !important;
}

/* Give the image a faint top veil so the navy wordmark/navigation stay clear
   over unusually bright hero photography without making the header opaque. */
html body.header-over-hero .article-photo-hero::before,
html body:has(.article-photo-hero) .article-photo-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  height: calc(var(--glass-header-height, 112px) + 24px);
  pointer-events: none;
  background: linear-gradient(180deg, rgba(246,244,247,.20), rgba(246,244,247,0));
}

html[data-theme="dark"] body.header-over-hero .article-photo-hero::before,
html[data-theme="dark"] body:has(.article-photo-hero) .article-photo-hero::before {
  background: linear-gradient(180deg, rgba(28,23,34,.15), rgba(28,23,34,0));
}

@media (prefers-reduced-motion: reduce) {
  html body .site-header { transition: none !important; }
}

/* ===== 2026-09-02 compact article-rail case form ===== */
.sidebar-case-card {
  position: relative;
  overflow: hidden;
  padding: 19px 19px 18px;
  background: var(--surface, #fff);
  border: 1px solid var(--rule, rgba(43,30,64,.14));
  border-top: 3px solid #f2c94c;
}

.sidebar-case-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 76px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(242,201,76,.12), rgba(242,201,76,0));
}

.sidebar-case-card > * {
  position: relative;
  z-index: 1;
}

.sidebar-case-card__kicker {
  margin: 0 0 7px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold-ink, #8a6410);
}

.sidebar-case-card__title {
  margin: 0;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -.012em;
  color: var(--ink, #201e1d);
}

.sidebar-case-card__intro {
  margin: 6px 0 14px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--muted, #6d6473);
}

.sidebar-case-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sidebar-case-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #6d6473);
}

.sidebar-case-field input,
.sidebar-case-field textarea {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid var(--rule, rgba(43,30,64,.16));
  border-radius: 2px;
  outline: 0;
  background: var(--paper, #f3f2f2);
  color: var(--ink, #201e1d);
  font: 400 15px/1.35 "Source Serif 4", serif;
  letter-spacing: 0;
  text-transform: none;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.sidebar-case-field textarea {
  min-height: 74px;
  resize: vertical;
}

.sidebar-case-field input:focus,
.sidebar-case-field textarea:focus {
  border-color: #8a6410;
  background: var(--surface, #fff);
  box-shadow: 0 0 0 2px rgba(242,201,76,.18);
}

.sidebar-case-field textarea::placeholder {
  color: var(--muted, #6d6473);
  opacity: .72;
}

.sidebar-case-consent {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 1px 0 0;
  color: var(--muted, #6d6473);
  font-size: 11.5px;
  line-height: 1.35;
  cursor: pointer;
}

.sidebar-case-consent input {
  width: 15px;
  height: 15px;
  margin: 1px 0 0;
  accent-color: #8a6410;
}

.sidebar-case-submit {
  width: 100%;
  border: 0;
  border-radius: 2px;
  padding: 11px 12px;
  background: #332c3e;
  color: #f8f5fa;
  font: 600 15px/1.2 "Source Serif 4", serif;
  cursor: pointer;
  transition: background-color .16s ease, transform .16s ease;
}

.sidebar-case-submit:hover,
.sidebar-case-submit:focus-visible {
  background: #4b4059;
}

.sidebar-case-submit:active {
  transform: translateY(1px);
}

.sidebar-case-submit:disabled {
  opacity: .7;
  cursor: wait;
}

.sidebar-case-status {
  display: none;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid var(--rule, rgba(43,30,64,.14));
  font-size: 12.5px;
  line-height: 1.35;
}

.sidebar-case-status.is-visible { display: block; }
.sidebar-case-status.is-success {
  border-color: rgba(57,109,73,.38);
  background: rgba(57,109,73,.08);
  color: var(--ink, #201e1d);
}
.sidebar-case-status.is-error {
  border-color: rgba(151,59,59,.38);
  background: rgba(151,59,59,.08);
  color: var(--ink, #201e1d);
}

.sidebar-case-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html[data-theme="dark"] .sidebar-case-card::before {
  background: linear-gradient(180deg, rgba(242,201,76,.09), rgba(242,201,76,0));
}

@media (max-width: 1180px) and (min-width: 721px) {
  html body aside[style*="position: sticky"] .sidebar-case-card {
    max-width: 560px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-case-field input,
  .sidebar-case-field textarea,
  .sidebar-case-submit { transition: none; }
}

.archive-collection-title { margin:0 0 26px; font-size:30px; line-height:1.1; font-weight:600; letter-spacing:-.015em; color:var(--ink); }
