/*
 * Scott Law Group — starter design system
 *
 * Adopts the visual DNA of scottvicknair.com (navy + tan, Kanit + Plus Jakarta Sans,
 * pill buttons) but dialed for a DIFFERENT emotional register — warm, empathetic,
 * and respectful rather than combative. Succession clients are grieving, not fighting.
 *
 * Where Vicknair uses:   --slg-succession equivalent:
 *   "WE FIGHT FOR THE WIN"   →  calm, warm headlines
 *   aggressive chat popups   →  no popups
 *   hero with partner glare  →  gentle imagery
 *   urgent CTAs everywhere   →  one calm primary CTA
 */

@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  /* Brand colors — matched to scottvicknair.com */
  --slg-navy:          #131936;
  --slg-navy-soft:     #1E2648;   /* slightly lighter navy for sections */
  --slg-navy-darker:   #0B0F22;   /* darker navy for strong contrast */
  --slg-gold:          #D8BB86;   /* the signature tan/gold */
  --slg-gold-soft:     #E9D4AC;   /* softer gold for subtle accents */
  --slg-gold-dark:     #B89967;   /* darker gold for hover states */

  /* Neutrals */
  --slg-bg:            #FFFFFF;
  --slg-bg-warm:       #FAF7F2;   /* warm cream for section alternates */
  --slg-bg-cool:       #F4F6FA;   /* cool gray for testimonial/proof blocks */
  --slg-text:          #1A1F2C;
  --slg-text-mut:      #5A6271;
  --slg-text-light:    #8A92A1;
  --slg-border:        #E6E9EF;
  --slg-border-warm:   #E8DFCF;   /* on warm cream backgrounds */

  /* Typography system */
  --slg-font-display:  'Kanit', 'Helvetica Neue', sans-serif;
  --slg-font-body:     'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

  /* Scale */
  --slg-type-eyebrow-size:   13px;
  --slg-type-eyebrow-weight: 500;
  --slg-type-eyebrow-track:  2px;

  --slg-type-body-size: 18px;
  --slg-type-body-lh:   1.65;

  /* Components */
  --slg-radius:      8px;
  --slg-radius-pill: 999px;
  --slg-shadow-sm:   0 1px 2px rgba(19, 25, 54, 0.06);
  --slg-shadow:      0 8px 24px rgba(19, 25, 54, 0.08);
  --slg-shadow-lg:   0 20px 48px rgba(19, 25, 54, 0.12);

  --slg-maxw:        1200px;
  --slg-maxw-narrow: 780px;
}

/* ---------- Reset + base ---------- */

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

html { scroll-behavior: smooth; }

body {
  margin: 0;
  padding: 0;
  font-family: var(--slg-font-body);
  font-size: var(--slg-type-body-size);
  line-height: var(--slg-type-body-lh);
  color: var(--slg-text);
  background: var(--slg-bg);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--slg-navy); text-decoration-color: var(--slg-gold); text-underline-offset: 3px; }
a:hover { color: var(--slg-gold-dark); }

/* ---------- Typography ---------- */

.slg-eyebrow {
  font-family: var(--slg-font-display);
  font-size: var(--slg-type-eyebrow-size);
  font-weight: var(--slg-type-eyebrow-weight);
  text-transform: uppercase;
  letter-spacing: var(--slg-type-eyebrow-track);
  color: var(--slg-gold);
  display: inline-block;
  margin-bottom: 12px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--slg-font-display);
  color: var(--slg-navy);
  line-height: 1.1;
  margin: 0 0 0.5em;
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(2.5rem, 5.5vw, 4.25rem); font-weight: 700; }
h2 { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 700; }
h3 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); font-weight: 600; }
h4 { font-size: 1.25rem; font-weight: 600; }

p { margin: 0 0 1.25em; }
p:last-child { margin-bottom: 0; }

.slg-lead {
  font-size: 1.25rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  max-width: 60ch;
}

/* ---------- Layout ---------- */

.slg-container { max-width: var(--slg-maxw); margin: 0 auto; padding: 0 1.5rem; }
.slg-container--narrow { max-width: var(--slg-maxw-narrow); margin: 0 auto; padding: 0 1.5rem; }

.slg-skip-link { position: absolute; left: -9999px; }
.slg-skip-link:focus { left: 0; top: 0; padding: 0.625rem 1rem; background: var(--slg-navy); color: #fff; z-index: 999; }

/* ---------- Header (three-tier, Vicknair-style) ---------- */

.slg-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 2px 8px rgba(19, 25, 54, 0.08);
}

/* Tier 1: Announcement strip (gold) */
.slg-header__announce {
  background: var(--slg-gold);
  color: var(--slg-navy);
  font-family: var(--slg-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.625rem 0;
}
.slg-header__announce-inner {
  max-width: var(--slg-maxw);
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  text-align: center;
}
.slg-header__announce-text { line-height: 1.35; }
.slg-header__announce-cta {
  background: var(--slg-navy);
  color: #fff !important;
  padding: 0.375rem 0.875rem;
  border-radius: var(--slg-radius-pill);
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 150ms;
  white-space: nowrap;
}
.slg-header__announce-cta:hover { background: var(--slg-navy-soft); color: #fff; }

/* Tier 2: Main header (navy, brand + contact) */
.slg-header__main {
  background: var(--slg-navy);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.slg-header__main-inner {
  max-width: var(--slg-maxw);
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.slg-header__brand {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  color: #fff;
  text-decoration: none;
  flex-shrink: 0;
}
.slg-header__brand img,
.slg-header__logo {
  display: block;
  max-height: 64px;
  width: auto;
  max-width: 340px;
}

@media (max-width: 1024px) {
  .slg-header__brand img,
  .slg-header__logo { max-height: 52px; max-width: 240px; }
}
@media (max-width: 840px) {
  .slg-header__brand img,
  .slg-header__logo { max-height: 46px; max-width: 200px; }
}
@media (max-width: 480px) {
  .slg-header__brand img,
  .slg-header__logo { max-height: 40px; max-width: 170px; }
}
.slg-header__brand-monogram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 2px solid var(--slg-gold);
  border-radius: 50%;
  color: var(--slg-gold);
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}
.slg-header__brand-wordmark {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.slg-header__brand-line1 {
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: 0.04em;
  color: #fff;
}
.slg-header__brand-line2 {
  font-family: var(--slg-font-display);
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--slg-gold);
  margin-top: 3px;
}

.slg-header__util {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 1.75rem;
}
.slg-header__util-item--text {
  font-family: var(--slg-font-body);
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.02em;
}

.slg-header__phone {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #fff;
  text-decoration: none;
  transition: color 180ms;
}
.slg-header__phone:hover { color: var(--slg-gold); }
.slg-header__phone-icon {
  color: var(--slg-gold);
  display: inline-flex;
  transition: transform 180ms;
}
.slg-header__phone:hover .slg-header__phone-icon { transform: scale(1.1); }
.slg-header__phone-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.slg-header__phone-number {
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 1.375rem;
  color: var(--slg-gold);
  letter-spacing: 0.01em;
}
.slg-header__phone-label {
  font-family: var(--slg-font-body);
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 2px;
}

.slg-header__cta {
  padding: 0.875rem 1.5rem !important;
  font-size: 0.8125rem !important;
}

/* Tier 3: Primary navigation */
.slg-header__nav {
  background: var(--slg-navy-darker);
  border-top: 1px solid rgba(216, 187, 134, 0.12);
}
.slg-header__nav-inner {
  max-width: var(--slg-maxw);
  margin: 0 auto;
  padding: 0 1.5rem;
}
.slg-header__nav-list {
  display: flex;
  gap: 2rem;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.slg-header__nav-list > li {
  position: relative;
}
.slg-header__nav-list > li > a {
  display: block;
  padding: 1rem 0.5rem;
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--slg-font-display);
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 180ms;
  position: relative;
}
.slg-header__nav-list > li > a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--slg-gold);
  transition: all 180ms;
  transform: translateX(-50%);
}
.slg-header__nav-list > li:hover > a,
.slg-header__nav-list > li.current-menu-item > a,
.slg-header__nav-list > li.current-menu-parent > a {
  color: var(--slg-gold);
}
.slg-header__nav-list > li:hover > a::after,
.slg-header__nav-list > li.current-menu-item > a::after {
  width: 100%;
}

/* Dropdowns */
.slg-header__nav-list .sub-menu,
.slg-header__nav-list .children {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 260px;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-top: 2px solid var(--slg-gold);
  border-radius: 0 0 var(--slg-radius) var(--slg-radius);
  box-shadow: var(--slg-shadow);
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 150ms, visibility 150ms;
  z-index: 60;
}
.slg-header__nav-list li:hover > .sub-menu,
.slg-header__nav-list li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
}
.slg-header__nav-list .sub-menu li { display: block; }
.slg-header__nav-list .sub-menu a {
  display: block;
  padding: 0.625rem 1.25rem;
  color: var(--slg-text);
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  transition: all 150ms;
  border-bottom: 1px solid transparent;
}
.slg-header__nav-list .sub-menu a:hover {
  color: var(--slg-navy);
  background: var(--slg-bg-warm);
  padding-left: 1.5rem;
}

/* Dropdown indicator caret */
.slg-header__nav-list .menu-item-has-children > a::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid currentColor;
  margin-right: 0.375rem;
  vertical-align: 0.125em;
  opacity: 0.65;
  transition: transform 180ms;
}
.slg-header__nav-list .menu-item-has-children:hover > a::before {
  transform: rotate(180deg);
}

/* Mobile toggle — hamburger button, hidden on desktop */
.slg-nav-toggle {
  display: none;
  background: none;
  border: 0;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  margin: 0;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: background 0.15s ease;
}
.slg-nav-toggle:hover,
.slg-nav-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}
.slg-nav-toggle[aria-expanded="true"] {
  background: rgba(216, 187, 134, 0.16);
  color: var(--slg-gold);
}
/* Hamburger / X icon swap based on aria-expanded state */
.slg-nav-toggle__close { display: none; }
.slg-nav-toggle[aria-expanded="true"] .slg-nav-toggle__open { display: none; }
.slg-nav-toggle[aria-expanded="true"] .slg-nav-toggle__close { display: inline-block; }

/* Mobile-only icon-button phone CTA — replaces the verbose phone block */
.slg-header__phone-mobile {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-left: auto;
  flex-shrink: 0;
  background: rgba(216, 187, 134, 0.14);
  color: var(--slg-gold);
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.slg-header__phone-mobile:hover,
.slg-header__phone-mobile:focus-visible {
  background: var(--slg-gold);
  color: var(--slg-navy);
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .slg-header__util { gap: 1rem; }
  .slg-header__util-item--text { display: none; }
  .slg-header__phone-label { display: none; }
}

@media (max-width: 840px) {
  .slg-site-header { overflow-x: clip; }
  .slg-header__main-inner {
    padding: 0.75rem 1rem;
    gap: 0.625rem;
  }
  .slg-header__brand { gap: 0; min-width: 0; }
  .slg-header__util { display: none; }
  .slg-header__phone-mobile { display: inline-flex; }
  .slg-nav-toggle { display: inline-flex; margin-left: 0; }

  /* Drawer styling — full-width slide-down nav */
  .slg-header__nav { display: none; }
  .slg-header__nav--open {
    display: block;
    padding: 0.5rem 0 1rem;
    background: var(--slg-navy-darker, #0B0F22);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .slg-header__nav-inner { max-width: 100%; padding: 0; }
  .slg-header__nav-list { flex-direction: column; gap: 0; }
  .slg-header__nav-list > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }
  .slg-header__nav-list > li > a {
    padding: 0.875rem 1.25rem;
    font-size: 0.9375rem;
  }
  .slg-header__nav-list .sub-menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    border: 0;
    background: rgba(0, 0, 0, 0.25);
    box-shadow: none;
    border-radius: 0;
    padding: 0.25rem 0 0.5rem 0;
    min-width: 0;
  }
  .slg-header__nav-list .sub-menu a {
    color: rgba(255, 255, 255, 0.78);
    padding: 0.625rem 1.25rem 0.625rem 2.25rem;
    font-size: 0.875rem;
  }
  .slg-header__nav-list .sub-menu a:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--slg-gold);
  }
  /* Drawer-mode: caret indicator on parent items */
  .slg-header__nav-list .menu-item-has-children > a::before {
    display: none;
  }
}

@media (max-width: 480px) {
  .slg-header__main-inner { padding: 0.5rem 0.75rem; gap: 0.25rem; }
  /* Keep tap targets at 44 for accessibility — pad inward instead of shrinking */
}

/* ---------- Buttons ---------- */

.slg-btn {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 1rem 2rem;
  border-radius: var(--slg-radius-pill);
  border: 2px solid transparent;
  transition: all 180ms;
  cursor: pointer;
  line-height: 1.2;
}
.slg-btn--primary { background: var(--slg-gold); color: var(--slg-navy); border-color: var(--slg-gold); }
.slg-btn--primary:hover { background: var(--slg-gold-dark); border-color: var(--slg-gold-dark); transform: translateY(-2px); box-shadow: var(--slg-shadow); color: var(--slg-navy); }

.slg-btn--secondary { background: transparent; color: var(--slg-navy); border-color: var(--slg-navy); }
.slg-btn--secondary:hover { background: var(--slg-navy); color: #fff; }

.slg-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,0.5); }
.slg-btn--ghost:hover { background: #fff; color: var(--slg-navy); border-color: #fff; }

/* ---------- Home hero ---------- */

.slg-home-hero {
  position: relative;
  background: var(--slg-navy);
  color: #fff;
  padding: 6rem 0 7rem;
  overflow: hidden;
}
.slg-home-hero::before {
  /* Subtle geometric accent pattern (similar to Vicknair) */
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(216, 187, 134, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(216, 187, 134, 0.06) 0%, transparent 50%);
  pointer-events: none;
}
.slg-home-hero__inner { position: relative; max-width: var(--slg-maxw); margin: 0 auto; padding: 0 1.5rem; display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.slg-home-hero h1 { color: #fff; font-size: clamp(2.75rem, 6.5vw, 4.75rem); margin-bottom: 1.5rem; max-width: 15ch; }
.slg-home-hero h1 em { color: var(--slg-gold); font-style: normal; }
.slg-home-hero__sub { font-size: 1.25rem; color: rgba(255, 255, 255, 0.85); max-width: 48ch; margin-bottom: 2.25rem; line-height: 1.55; }
.slg-home-hero__ctas { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ---------- Trust strip ---------- */

.slg-home-trust {
  background: var(--slg-bg-warm);
  border-top: 1px solid var(--slg-border-warm);
  border-bottom: 1px solid var(--slg-border-warm);
  padding: 3rem 0;
}
.slg-trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
.slg-trust-grid li { border-right: 1px solid var(--slg-border-warm); padding: 0 1rem; }
.slg-trust-grid li:last-child { border-right: 0; }
.slg-trust-grid strong {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 2.75rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.slg-trust-grid span {
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  color: var(--slg-text-mut);
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 640px) {
  .slg-trust-grid li { border-right: 0; border-bottom: 1px solid var(--slg-border-warm); padding-bottom: 1.5rem; }
  .slg-trust-grid li:last-child { border-bottom: 0; }
}

/* ---------- Generic section ---------- */

.slg-section { padding: 5rem 0; }
.slg-section--alt { background: var(--slg-bg-warm); }
.slg-section--dark { background: var(--slg-navy); color: #fff; }
.slg-section--dark h2, .slg-section--dark h3 { color: #fff; }
.slg-section__header { text-align: center; max-width: 640px; margin: 0 auto 3.5rem; }
.slg-section__header .slg-lead { margin: 0 auto; }

/* ---------- Service cards ---------- */

.slg-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}
.slg-service-card {
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  padding: 2rem;
  transition: all 200ms;
  position: relative;
  overflow: hidden;
}
.slg-service-card::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--slg-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms;
}
.slg-service-card:hover { transform: translateY(-4px); box-shadow: var(--slg-shadow); border-color: var(--slg-gold-soft); }
.slg-service-card:hover::after { transform: scaleX(1); }
.slg-service-card h3 { margin-top: 0; margin-bottom: 0.75rem; }
.slg-service-card h3 a { text-decoration: none; }
.slg-service-card p { font-size: 0.9375rem; color: var(--slg-text-mut); margin-bottom: 1rem; }
.slg-service-card__link { font-family: var(--slg-font-display); font-weight: 600; font-size: 0.875rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--slg-gold-dark); text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; }
.slg-service-card__link::after { content: '→'; transition: transform 180ms; }
.slg-service-card:hover .slg-service-card__link::after { transform: translateX(3px); }

/* ---------- Attorney cards ---------- */

.slg-attorneys-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
}
.slg-card--attorney { background: #fff; border: 1px solid var(--slg-border); border-radius: var(--slg-radius); overflow: hidden; transition: all 200ms; text-align: center; }
.slg-card--attorney:hover { transform: translateY(-4px); box-shadow: var(--slg-shadow); }
.slg-card--attorney .slg-card__image img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; }
.slg-card--attorney .slg-card__link { display: block; color: inherit; text-decoration: none; }
.slg-card--attorney .slg-card__title { font-family: var(--slg-font-display); font-weight: 700; font-size: 1.15rem; color: var(--slg-navy); padding: 1rem 1rem 0.25rem; margin: 0; }
.slg-card--attorney .slg-card__subtitle { font-family: var(--slg-font-body); font-size: 0.875rem; color: var(--slg-text-mut); padding: 0 1rem 1.25rem; margin: 0; font-weight: 500; }

/* ---------- Generic archive cards ---------- */

.slg-archive__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}
.slg-card { background: #fff; border: 1px solid var(--slg-border); border-radius: var(--slg-radius); overflow: hidden; transition: all 200ms; }
.slg-card:hover { transform: translateY(-3px); box-shadow: var(--slg-shadow); border-color: var(--slg-gold-soft); }
.slg-card__link { display: block; color: inherit; text-decoration: none; }
.slg-card__image img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.slg-card__body, .slg-card__title { padding: 1.25rem; }
.slg-card__title { font-family: var(--slg-font-display); font-size: 1.15rem; font-weight: 600; margin: 0; padding-top: 0; }
.slg-card__excerpt { color: var(--slg-text-mut); font-size: 0.9375rem; padding: 0 1.25rem 1rem; margin: 0; }
.slg-card__meta { color: var(--slg-text-light); font-size: 0.8125rem; padding: 0 1.25rem 1.25rem; margin: 0; font-family: var(--slg-font-display); letter-spacing: 0.02em; text-transform: uppercase; }

/* ---------- Sidebar + content layout ---------- */

.slg-page-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 3rem;
  max-width: var(--slg-maxw);
  margin: 3rem auto;
  padding: 0 1.5rem;
}
.slg-main { min-width: 0; }
.slg-sidebar { min-width: 0; }
@media (max-width: 900px) {
  .slg-page-wrap { grid-template-columns: 1fr; gap: 2rem; }
}

/* ---------- Sidebar (conversion-focused) ---------- */
.slg-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
.slg-sidebar > * { margin: 0 !important; }

.slg-sidebar__card {
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(19, 25, 54, 0.06);
}

/* ========== 1. Primary form card ========== */
.slg-sidebar__form-card { padding: 0; }
.slg-sidebar__form-header {
  background: var(--slg-navy);
  color: #fff;
  padding: 1.5rem 1.5rem 1.25rem;
  position: relative;
}
.slg-sidebar__form-header::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--slg-gold);
}
.slg-sidebar__form-header h2 {
  color: #fff;
  font-size: 1.35rem;
  margin: 0.25rem 0 0.5rem;
  line-height: 1.15;
}
.slg-sidebar__form-header p {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.5;
}

.slg-lead-form {
  padding: 1.25rem 1.5rem 1.5rem;
  display: grid;
  gap: 0.875rem;
  position: relative;
}
.slg-lead-form__row--half { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.slg-lead-form__field { display: flex; flex-direction: column; gap: 0.3rem; }
.slg-lead-form__label {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
}
.slg-lead-form input[type="text"],
.slg-lead-form input[type="email"],
.slg-lead-form input[type="tel"],
.slg-lead-form select,
.slg-lead-form textarea {
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--slg-border);
  border-radius: 6px;
  background: #fff;
  color: var(--slg-text);
  transition: border-color 150ms, box-shadow 150ms;
  width: 100%;
}
.slg-lead-form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23525867' d='M6 8.5L2 4.5h8z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.625rem center; padding-right: 2rem; }
.slg-lead-form input:focus,
.slg-lead-form select:focus,
.slg-lead-form textarea:focus {
  outline: 0;
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.25);
}
.slg-lead-form textarea { resize: vertical; min-height: 4.5rem; font-family: var(--slg-font-body); }
.slg-lead-form__label--muted { color: var(--slg-text-light); }
.slg-lead-form__optional { font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 0.7rem; color: var(--slg-text-light); }
.slg-lead-form__submit { width: 100%; padding: 0.875rem !important; margin-top: 0.25rem; }
.slg-lead-form__alt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.slg-lead-form__alt-sep {
  position: relative;
  width: 100%;
  text-align: center;
  margin: 0.25rem 0;
}
.slg-lead-form__alt-sep::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--slg-border);
}
.slg-lead-form__alt-sep span {
  position: relative;
  display: inline-block;
  background: #fff;
  padding: 0 0.625rem;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--slg-text-light);
  font-family: var(--slg-font-display);
  font-weight: 600;
}
.slg-lead-form__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--slg-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--slg-navy);
  text-decoration: none;
  padding: 0.5rem 0.875rem;
  border: 1.5px solid var(--slg-navy);
  border-radius: 6px;
  transition: background 0.18s ease, color 0.18s ease;
}
.slg-lead-form__phone:hover,
.slg-lead-form__phone:focus-visible {
  background: var(--slg-navy);
  color: #fff;
}
.slg-lead-form__phone svg { flex-shrink: 0; }
.slg-lead-form__privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0.375rem 0 0;
  font-size: 0.75rem;
  color: var(--slg-text-light);
  text-align: center;
}
.slg-lead-form__privacy svg { flex-shrink: 0; color: var(--slg-text-light); }
.slg-lead-form__success {
  text-align: center;
  padding: 1.5rem 0.5rem;
  color: var(--slg-navy);
}
.slg-lead-form__success svg { color: var(--slg-gold-dark); margin-bottom: 0.5rem; }
.slg-lead-form__success p { font-size: 0.9375rem; margin: 0; color: var(--slg-text); }
/* Success state applies to any form tagged [data-slg-lead-form] */
[data-slg-lead-form][data-submitted="true"] > *:not(.slg-lead-form__success) { display: none; }
[data-slg-lead-form][data-submitted="true"] .slg-lead-form__success { display: block !important; }

/* ========== 2. Google Reviews badge ========== */
.slg-google-reviews {
  display: block;
  background: #fff;
  border: 1px solid #dadce0;
  border-radius: 10px;
  padding: 1rem 1.125rem;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.08), 0 1px 2px rgba(60, 64, 67, 0.05);
  transition: all 180ms;
  position: relative;
  overflow: hidden;
}
.slg-google-reviews::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #4285F4 0%, #4285F4 25%, #EA4335 25%, #EA4335 50%, #FBBC04 50%, #FBBC04 75%, #34A853 75%, #34A853 100%);
}
.slg-google-reviews:hover {
  border-color: #4285F4;
  box-shadow: 0 4px 16px rgba(66, 133, 244, 0.15);
  transform: translateY(-2px);
  color: inherit;
}
.slg-google-reviews__badge { display: flex; align-items: center; gap: 0.875rem; }
.slg-google-reviews__g { flex-shrink: 0; }
.slg-google-reviews__body { flex: 1; min-width: 0; }
.slg-google-reviews__rating { display: flex; align-items: baseline; gap: 0.375rem; line-height: 1; }
.slg-google-reviews__rating strong {
  font-family: 'Google Sans', Roboto, var(--slg-font-body);
  font-size: 1.75rem;
  font-weight: 500;
  color: #3c4043;
  letter-spacing: -0.01em;
}
.slg-google-reviews__stars {
  color: #FBBC04;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
.slg-google-reviews__count {
  font-size: 0.875rem;
  color: #5f6368;
  margin-top: 0.1875rem;
  font-family: 'Google Sans', Roboto, var(--slg-font-body);
}
.slg-google-reviews__cta {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1a73e8;
  margin-top: 0.3125rem;
  letter-spacing: 0.02em;
}

/* ========== 3. Compact stats ========== */
.slg-sidebar__stats {
  background: var(--slg-navy);
  border-radius: var(--slg-radius);
  padding: 1.25rem 1rem;
  color: #fff;
}
.slg-sidebar__stats ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.slg-sidebar__stats li {
  text-align: center;
  padding: 0 0.25rem;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.slg-sidebar__stats li:last-child { border-right: 0; }
.slg-sidebar__stats strong {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--slg-gold);
  line-height: 1.1;
}
.slg-sidebar__stats span {
  display: block;
  font-family: var(--slg-font-body);
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 0.25rem;
  line-height: 1.35;
}

/* ========== 3b. Trust badges — scrolling logo ticker ========== */
.slg-sidebar__trust {
  padding: 0.875rem 0;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  overflow: hidden;
  position: relative;
}
.slg-sidebar__trust-label {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slg-text-light);
  text-align: center;
  margin: 0 0 0.625rem;
  padding: 0 1rem;
}
.slg-badge-ticker {
  position: relative;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.slg-badge-ticker__track {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  width: max-content;
  animation: slg-badge-scroll 34s linear infinite;
}
.slg-badge-ticker:hover .slg-badge-ticker__track,
.slg-badge-ticker:focus-within .slg-badge-ticker__track {
  animation-play-state: paused;
}
.slg-badge-ticker__item {
  flex: 0 0 auto;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}
.slg-badge-ticker__item:hover { opacity: 1; }
.slg-badge-ticker__item img {
  display: block;
  max-height: 54px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.slg-badge-ticker__sr {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

@keyframes slg-badge-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .slg-badge-ticker {
    -webkit-mask-image: none;
            mask-image: none;
  }
  .slg-badge-ticker__track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
    gap: 0.875rem 1.25rem;
    padding: 0 0.75rem;
  }
}

/* ========== 4. Testimonial (rotating carousel) ========== */
.slg-sidebar__testimonial {
  background: var(--slg-bg-warm);
  border: 1px solid var(--slg-border-warm);
  border-left: 4px solid var(--slg-gold);
  border-radius: var(--slg-radius);
  padding: 1.25rem 1.375rem 1rem;
  position: relative;
  overflow: hidden;
}
.slg-sidebar__testimonial-stars {
  display: block;
  color: #FBBC04;
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
  margin-bottom: 0.5rem;
}
.slg-sidebar__testimonial-track {
  position: relative;
  display: grid;  /* stack slides for fade transition */
}
.slg-sidebar__testimonial-slide {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.55s ease, transform 0.55s ease, visibility 0s linear 0.55s;
  pointer-events: none;
}
.slg-sidebar__testimonial-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease, visibility 0s linear 0s;
  pointer-events: auto;
}
.slg-sidebar__testimonial blockquote {
  margin: 0 0 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text);
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
}
.slg-sidebar__testimonial figcaption,
.slg-sidebar__testimonial cite {
  display: block;
  font-style: normal;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--slg-navy);
}
.slg-sidebar__testimonial-dots {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.875rem;
}
.slg-sidebar__testimonial-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(19,25,54,0.22);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, width 0.3s ease;
}
.slg-sidebar__testimonial-dot:hover {
  background: rgba(19,25,54,0.45);
}
.slg-sidebar__testimonial-dot.is-active {
  background: var(--slg-gold);
  width: 18px;
  border-radius: 4px;
}
.slg-sidebar__testimonial-dot:focus-visible {
  outline: 2px solid var(--slg-gold);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .slg-sidebar__testimonial-slide,
  .slg-sidebar__testimonial-dot {
    transition: none;
  }
}

/* ========== 5. Lead magnet ========== */
.slg-sidebar__lead-magnet {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 1rem;
  align-items: center;
  background: linear-gradient(135deg, var(--slg-gold-soft) 0%, var(--slg-gold) 100%);
  border-radius: var(--slg-radius);
  padding: 1.125rem 1.25rem;
  color: var(--slg-navy);
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 1px 3px rgba(19,25,54,0.08);
}
.slg-sidebar__lead-magnet:hover,
.slg-sidebar__lead-magnet:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(19,25,54,0.16);
  color: var(--slg-navy);
}
.slg-sidebar__lead-magnet-cover {
  perspective: 800px;
}
.slg-sidebar__lead-magnet-cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.2),
    -2px 3px 0 rgba(255,255,255,0.4),
    -3px 4px 0 rgba(0,0,0,0.1),
    0 10px 20px rgba(19,25,54,0.25);
  transform: rotate(-3deg);
  transition: transform 0.25s ease;
}
.slg-sidebar__lead-magnet:hover .slg-sidebar__lead-magnet-cover img {
  transform: rotate(-1deg) scale(1.03);
}
.slg-sidebar__lead-magnet-body {
  min-width: 0;
}
.slg-sidebar__lead-magnet-eyebrow {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--slg-navy);
  background: rgba(255,255,255,0.55);
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
  margin-bottom: 0.5rem;
}
.slg-sidebar__lead-magnet-body h3 {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
.slg-sidebar__lead-magnet-body p {
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--slg-navy);
  margin: 0 0 0.625rem;
  opacity: 0.85;
}
.slg-sidebar__lead-magnet-cta {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  border-bottom: 2px solid var(--slg-navy);
  padding-bottom: 1px;
}

/* ---------- Articles ---------- */

.slg-article__header { margin-bottom: 2rem; }
.slg-article__header h1 { margin-bottom: 0.75rem; }
.slg-article__byline { color: var(--slg-text-mut); font-family: var(--slg-font-body); font-size: 0.9375rem; border-left: 3px solid var(--slg-gold); padding-left: 1rem; margin-bottom: 0; }
.slg-article__byline a { color: var(--slg-navy); font-weight: 600; }
.slg-article__featured-image { margin: 0 0 2rem; border-radius: var(--slg-radius); overflow: hidden; }
.slg-article__featured-image img { display: block; width: 100%; }
.slg-article__body,
.slg-faq__answer > [itemprop="text"],
.slg-practice__body,
.slg-office__body,
.slg-attorney__body,
.slg-page__body { font-size: 1.0625rem; line-height: 1.8; color: var(--slg-text); }

/* ---------- H2 section break with gold accent ---------- */
.slg-article__body h2,
.slg-faq__answer h2,
.slg-practice__body h2,
.slg-office__body h2,
.slg-page__body h2 {
  position: relative;
  padding-top: 2.5em;
  margin-top: 0 !important;
  margin-bottom: 1em !important;
  font-size: 1.85rem;
}
.slg-article__body h2::before,
.slg-faq__answer h2::before,
.slg-practice__body h2::before,
.slg-office__body h2::before,
.slg-page__body h2::before {
  content: '';
  position: absolute;
  top: 1em;
  left: 0;
  width: 48px;
  height: 3px;
  background: var(--slg-gold);
  border-radius: 2px;
}
.slg-article__body h2:first-child::before,
.slg-faq__answer h2:first-child::before { display: none; }
.slg-article__body h2:first-child,
.slg-faq__answer h2:first-child { padding-top: 0; }

/* ---------- H3 subtle underscore ---------- */
.slg-article__body h3,
.slg-faq__answer h3,
.slg-practice__body h3,
.slg-office__body h3,
.slg-page__body h3 {
  font-size: 1.35rem;
  color: var(--slg-navy);
  margin-top: 2em !important;
  margin-bottom: 0.75em !important;
}

/* ---------- Inline legal citations ---------- */
/* Intentionally minimal — no visible distinction from surrounding body text.
   The only behavior we preserve is preventing mid-citation line breaks
   so "La. C.C. art. 888" stays together. */
.slg-cite {
  white-space: nowrap;
}

/* ---------- Reviewer card (replaces plain byline) ---------- */
.slg-byline {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  margin: 0 0 2rem;
  background: var(--slg-bg-warm);
  border: 1px solid var(--slg-border-warm);
  border-left: 4px solid var(--slg-gold);
  border-radius: var(--slg-radius);
}
.slg-byline__avatar {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--slg-navy);
  border: 2px solid var(--slg-gold);
}
.slg-byline__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slg-byline__avatar--placeholder {
  display: flex; align-items: center; justify-content: center;
  color: var(--slg-gold); font-family: var(--slg-font-display); font-weight: 700; font-size: 1.25rem;
  background: var(--slg-navy);
}
.slg-byline__meta { flex: 1; min-width: 0; font-family: var(--slg-font-body); }
.slg-byline__role {
  font-family: var(--slg-font-display);
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--slg-gold-dark);
  margin: 0 0 0.25rem;
}
.slg-byline__name { font-family: var(--slg-font-display); font-size: 1.125rem; font-weight: 700; color: var(--slg-navy); margin: 0; line-height: 1.2; }
.slg-byline__name a { color: var(--slg-navy); text-decoration: none; border-bottom: 2px solid transparent; transition: border-color 150ms; }
.slg-byline__name a:hover { border-bottom-color: var(--slg-gold); }
.slg-byline__dates { font-size: 0.8125rem; color: var(--slg-text-mut); margin: 0.25rem 0 0; }
.slg-byline__dates time { font-weight: 500; }

/* ---------- Table of contents (collapsed-by-default, non-sticky) ---------- */
.slg-toc {
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  margin: 0 0 2rem;
  font-family: var(--slg-font-body);
  overflow: hidden;  /* clips border-radius on inner list */
}

.slg-toc__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1rem 1.25rem;
  background: #fff;
  border: 0;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--slg-gold-dark);
  cursor: pointer;
  text-align: left;
  transition: background 150ms;
}
.slg-toc__toggle:hover { background: var(--slg-bg-warm); }
.slg-toc__toggle > span:first-child {
  display: flex; align-items: center; gap: 0.5rem;
}
.slg-toc__toggle > span:first-child::before {
  content: '§';
  font-size: 1.1rem;
  color: var(--slg-gold);
}
.slg-toc__toggle::after {
  content: '+';
  font-size: 1.5rem;
  line-height: 1;
  color: var(--slg-gold-dark);
  font-family: var(--slg-font-body);
  transition: transform 200ms;
}
.slg-toc[data-open="true"] .slg-toc__toggle {
  background: var(--slg-bg-warm);
  border-bottom: 1px solid var(--slg-border);
}
.slg-toc[data-open="true"] .slg-toc__toggle::after {
  content: '−';
}

/* Legacy label kept for screen readers only */
.slg-toc__title { position: absolute; clip: rect(0,0,0,0); height: 1px; width: 1px; overflow: hidden; }

/* List: collapsed by default */
.slg-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  background: #fff;
}
.slg-toc[data-open="true"] .slg-toc__list {
  display: block;
  padding: 0.5rem 0;
}
.slg-toc__list li { counter-increment: slg-toc-step; }
.slg-toc__list { counter-reset: slg-toc-step; }
.slg-toc__list a {
  display: flex;
  gap: 0.625rem;
  padding: 0.5rem 1.25rem;
  font-size: 0.9375rem;
  color: var(--slg-text-mut);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all 150ms;
  line-height: 1.45;
}
.slg-toc__list a::before {
  content: counter(slg-toc-step, decimal-leading-zero);
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--slg-gold);
  min-width: 1.75rem;
  flex-shrink: 0;
  letter-spacing: 0.05em;
}
.slg-toc__list a:hover {
  color: var(--slg-navy);
  border-left-color: var(--slg-gold);
  background: var(--slg-bg-warm);
}
.slg-toc__list a.is-active {
  color: var(--slg-navy);
  border-left-color: var(--slg-gold);
  font-weight: 600;
  background: var(--slg-bg-warm);
}

/* ---------- Legal References callout (enhanced) ---------- */
.slg-article__citations,
.slg-article__body .slg-references {
  background: var(--slg-bg-warm);
  border: 1px solid var(--slg-border-warm);
  border-left: 4px solid var(--slg-gold);
  border-radius: var(--slg-radius);
  padding: 1.5rem 1.75rem;
  margin: 2.5rem 0;
  position: relative;
}
.slg-article__citations::before {
  content: '§';
  position: absolute; top: 1rem; right: 1.25rem;
  font-family: var(--slg-font-display); font-size: 2rem; font-weight: 700;
  color: var(--slg-gold); opacity: 0.4; line-height: 1;
}
.slg-article__citations h2 {
  font-size: 1rem; margin: 0 0 0.75rem;
  color: var(--slg-navy);
  font-family: var(--slg-font-display); font-weight: 600;
  letter-spacing: 0.05em; text-transform: uppercase;
  padding-top: 0 !important;
}
.slg-article__citations h2::before { display: none; }
.slg-article__citations ul { margin: 0; padding-left: 1.5rem; font-size: 0.9375rem; color: var(--slg-text); }
.slg-article__citations li { margin-bottom: 0.5rem; }

/* ---------- Legal disclaimer block ---------- */
.slg-disclaimer-block,
.slg-article__body > p > em:only-child,
.slg-faq__answer > [itemprop="text"] > p:last-child em:only-child {
  /* Target trailing italic disclaimer paragraphs */
}
.slg-article__body p em:only-child:first-child:last-child,
.slg-faq__answer p em:only-child:first-child:last-child {
  display: block;
  margin: 2.5rem 0 0;
  padding: 1rem 1.25rem;
  background: #F8F9FB;
  border: 1px solid var(--slg-border);
  border-left: 3px solid var(--slg-text-light);
  border-radius: var(--slg-radius);
  font-style: italic;
  font-size: 0.875rem;
  color: var(--slg-text-mut);
  line-height: 1.6;
}

/* ---------- More FAQs as card list (in single-faq.php) ---------- */
.slg-faq__more { margin: 3rem 0 0; }
.slg-faq__more h2 { margin-bottom: 1.25rem; padding-top: 2.5em; }
.slg-faq__more ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.75rem;
}
.slg-faq__more li {
  background: #fff; border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius); overflow: hidden;
  transition: all 200ms;
}
.slg-faq__more li:hover { border-color: var(--slg-gold-soft); transform: translateY(-2px); box-shadow: var(--slg-shadow-sm); }
.slg-faq__more li a {
  display: block; padding: 1rem 1.25rem;
  font-family: var(--slg-font-display); font-weight: 500;
  font-size: 0.9375rem; color: var(--slg-navy);
  text-decoration: none; line-height: 1.35;
}
.slg-faq__more li a:hover { color: var(--slg-gold-dark); }

/* ---------- Sidebar redesign ---------- */
.slg-sidebar__cta--lead {
  background: var(--slg-navy) !important;
  color: #fff !important;
  border: 0 !important;
  position: relative;
  overflow: hidden;
  padding: 1.75rem !important;
}
.slg-sidebar__cta--lead::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--slg-gold);
}
.slg-sidebar__cta--lead h2 { color: #fff !important; font-size: 1.4rem !important; margin-bottom: 0.5rem !important; }
.slg-sidebar__cta--lead p { color: rgba(255, 255, 255, 0.82); font-size: 0.9375rem; line-height: 1.5; margin: 0 0 1.25rem; }
.slg-sidebar__cta--lead .slg-btn { width: 100%; text-align: center; padding: 0.875rem !important; }
.slg-sidebar__cta--lead .slg-btn--primary { background: var(--slg-gold); color: var(--slg-navy); border-color: var(--slg-gold); }

/* ---------- Attorney bio enhanced ---------- */
.slg-attorney { display: block; }
.slg-attorney__header {
  display: grid; grid-template-columns: 280px 1fr;
  gap: 2.5rem; align-items: start;
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--slg-border);
}
@media (max-width: 720px) {
  .slg-attorney__header { grid-template-columns: 1fr; gap: 1.5rem; }
}
.slg-attorney__photo {
  margin: 0; border-radius: var(--slg-radius);
  overflow: hidden; border: 3px solid var(--slg-gold);
  box-shadow: var(--slg-shadow);
  aspect-ratio: 3/4; background: var(--slg-bg-warm);
}
.slg-attorney__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slg-attorney__intro h1 { margin: 0 0 0.5rem; font-size: 2.5rem; line-height: 1.1; }
.slg-attorney__title {
  font-family: var(--slg-font-display); font-size: 1rem !important;
  font-weight: 500; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--slg-gold-dark) !important;
  margin: 0 0 1.25rem !important;
}
.slg-attorney__contact {
  list-style: none; padding: 0; margin: 1rem 0 0;
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.slg-attorney__contact li { margin: 0; }
.slg-attorney__contact a {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  background: var(--slg-bg-warm); border: 1px solid var(--slg-border-warm);
  border-radius: var(--slg-radius-pill);
  font-family: var(--slg-font-display); font-size: 0.8125rem; font-weight: 600;
  letter-spacing: 0.03em; color: var(--slg-navy);
  text-decoration: none; transition: all 150ms;
}
.slg-attorney__contact a:hover { background: var(--slg-gold); color: var(--slg-navy); border-color: var(--slg-gold); }
.slg-attorney__contact a::before {
  content: ''; width: 14px; height: 14px;
  background-repeat: no-repeat; background-position: center; background-size: contain;
  opacity: 0.7;
}
.slg-attorney__contact .slg-icon--phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23131936' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.slg-attorney__contact .slg-icon--email::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23131936' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E"); }
.slg-attorney__contact .slg-icon--linkedin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23131936'%3E%3Cpath d='M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66z'/%3E%3C/svg%3E"); }
.slg-attorney__contact .slg-icon--avvo::before { content: 'A'; background: none; font-size: 12px; font-weight: 800; width: auto; height: auto; }

.slg-attorney__body { font-size: 1.0625rem; line-height: 1.8; color: var(--slg-text); }
.slg-attorney__body p { margin: 0 0 1.25em; }

.slg-attorney__section { margin: 3rem 0 0; }
.slg-attorney__section h2 {
  font-size: 0.875rem !important; font-weight: 600 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase; color: var(--slg-gold-dark) !important;
  padding-top: 0 !important; margin-bottom: 1rem !important;
  border-bottom: 2px solid var(--slg-gold);
  padding-bottom: 0.5rem;
  display: inline-block;
}
.slg-attorney__section h2::before { display: none !important; }
.slg-attorney__section ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem 2rem;
}
@media (max-width: 720px) {
  .slg-attorney__section ul { grid-template-columns: 1fr; }
}
.slg-attorney__section li {
  position: relative; padding-left: 1.5rem;
  font-size: 0.9375rem; line-height: 1.5;
}
.slg-attorney__section li::before {
  content: ''; position: absolute;
  left: 0; top: 0.55em;
  width: 8px; height: 8px; background: var(--slg-gold);
  border-radius: 50%;
}

.slg-attorney__articles { margin-top: 3rem; }
.slg-attorney__articles h2 {
  font-size: 1.5rem !important;
  padding-top: 0 !important;
  margin-bottom: 1.25rem !important;
}
.slg-attorney__articles h2::before { display: none !important; }
.slg-attorney__articles ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.75rem;
}
.slg-attorney__articles li {
  background: #fff; border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius); padding: 0;
  transition: all 200ms;
}
.slg-attorney__articles li:hover { border-color: var(--slg-gold-soft); transform: translateY(-2px); box-shadow: var(--slg-shadow-sm); }
.slg-attorney__articles li a {
  display: block; padding: 1rem 1.25rem;
  font-family: var(--slg-font-display); font-weight: 500;
  color: var(--slg-navy); text-decoration: none; line-height: 1.4;
}

/* Attorney results/testimonial placeholder block */
.slg-attorney__results {
  margin: 3rem 0 0;
  background: var(--slg-navy); color: #fff;
  padding: 2rem; border-radius: var(--slg-radius);
  position: relative;
}
.slg-attorney__results::before {
  content: '"'; position: absolute; top: 0.5rem; left: 1.25rem;
  font-family: Georgia, serif; font-size: 5rem; color: var(--slg-gold);
  line-height: 1; opacity: 0.7;
}
.slg-attorney__results h2 {
  color: #fff !important; font-size: 0.875rem !important; font-weight: 600 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase;
  padding-top: 0 !important; margin: 0 0 1rem !important; display: inline-block;
  border-bottom: 2px solid var(--slg-gold); padding-bottom: 0.5rem;
}
.slg-attorney__results h2::before { display: none !important; }

/* ---------- Practice area enhanced ---------- */
.slg-practice__hero {
  background: var(--slg-navy);
  color: #fff;
  padding: 4rem 2rem;
  margin: 0 0 3rem;
  border-radius: var(--slg-radius);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-practice__hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(216, 187, 134, 0.12) 0%, transparent 60%);
  pointer-events: none;
}
.slg-practice__hero h1 {
  color: #fff !important; position: relative;
  margin: 0 0 1rem;
}
.slg-practice__hero-intro {
  color: rgba(255, 255, 255, 0.9); font-size: 1.15rem; line-height: 1.55;
  max-width: 640px; margin: 0 auto; position: relative;
}

.slg-practice__process { margin: 3.5rem 0; }
.slg-practice__process h2 {
  text-align: center; padding-top: 0 !important;
  margin-bottom: 2.5rem !important;
}
.slg-practice__process h2::before {
  left: 50%; transform: translateX(-50%);
}
.slg-practice__process ol {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  counter-reset: slg-step;
}
.slg-practice__process li {
  background: #fff; border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius); padding: 1.75rem 1.5rem;
  position: relative;
  counter-increment: slg-step;
  transition: all 200ms;
}
.slg-practice__process li::before {
  content: counter(slg-step, decimal-leading-zero);
  position: absolute; top: 1rem; right: 1.25rem;
  font-family: var(--slg-font-display); font-size: 2rem; font-weight: 700;
  color: var(--slg-gold); line-height: 1;
  opacity: 0.4;
}
.slg-practice__process li:hover { border-color: var(--slg-gold-soft); transform: translateY(-3px); box-shadow: var(--slg-shadow); }
.slg-practice__process li h3 {
  color: var(--slg-navy); font-size: 1.1rem;
  margin: 0 0 0.5rem; padding-right: 3rem;
}
.slg-practice__process li > div,
.slg-practice__process li p {
  font-size: 0.9375rem; color: var(--slg-text-mut);
  margin: 0; line-height: 1.55;
}

.slg-practice__lead-attorneys { margin: 3.5rem 0; background: var(--slg-bg-warm); padding: 2.5rem; border-radius: var(--slg-radius); }
.slg-practice__lead-attorneys h2 { text-align: center; padding-top: 0 !important; }
.slg-practice__lead-attorneys h2::before { left: 50%; transform: translateX(-50%); }
.slg-practice__attorneys-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.25rem; margin-top: 1.5rem;
}

.slg-cluster-index { margin: 3.5rem 0; }
.slg-cluster-index h2 { text-align: center; padding-top: 0 !important; margin-bottom: 2rem !important; }
.slg-cluster-index h2::before { left: 50%; transform: translateX(-50%); }
.slg-cluster-index__group { margin-bottom: 2rem; }
.slg-cluster-index__group h3 {
  font-size: 0.875rem !important; font-weight: 600 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase; color: var(--slg-gold-dark);
  padding-bottom: 0.5rem; margin: 0 0 1rem !important;
  border-bottom: 2px solid var(--slg-gold);
  display: inline-block;
}
.slg-cluster-index__group ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.5rem;
}
.slg-cluster-index__group li {
  background: #fff; border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  transition: all 200ms;
}
.slg-cluster-index__group li:hover { border-color: var(--slg-gold-soft); transform: translateY(-1px); }
.slg-cluster-index__group li a {
  display: block; padding: 0.75rem 1rem;
  font-size: 0.9375rem; color: var(--slg-navy);
  text-decoration: none; line-height: 1.4;
}
.slg-cluster-index__type { color: var(--slg-text-light); font-size: 0.75rem; font-family: var(--slg-font-display); letter-spacing: 0.05em; text-transform: uppercase; }

.slg-practice__resource-cta {
  margin: 3.5rem -2rem -2rem;
  background: linear-gradient(135deg, var(--slg-gold) 0%, var(--slg-gold-soft) 100%);
  padding: 2.5rem;
  border-radius: var(--slg-radius);
  text-align: center;
  color: var(--slg-navy);
}
.slg-practice__resource-cta h2 { color: var(--slg-navy) !important; margin: 0 0 1rem !important; padding-top: 0 !important; }
.slg-practice__resource-cta h2::before { display: none !important; }
.slg-practice__resource-cta .slg-btn--primary { background: var(--slg-navy); color: #fff; border-color: var(--slg-navy); }
.slg-practice__resource-cta .slg-btn--primary:hover { background: var(--slg-navy-darker); border-color: var(--slg-navy-darker); color: #fff; }

/* ---------- Section decorator (gold mark) ---------- */
.slg-section__header .slg-eyebrow { position: relative; padding-left: 1.5rem; }
.slg-section__header .slg-eyebrow::before {
  content: ''; position: absolute;
  left: 0; top: 0.4em;
  width: 0.75rem; height: 2px;
  background: var(--slg-gold);
}

/* ---------- Body content figures ---------- */
.slg-article__body figure,
.slg-faq__answer figure,
.slg-practice__body figure,
.slg-article__body > p > img:only-child {
  display: block;
  margin: 2rem auto;
  border-radius: var(--slg-radius);
  overflow: hidden;
}
.slg-article__body img,
.slg-faq__answer img,
.slg-practice__body img { max-width: 100%; height: auto; border-radius: var(--slg-radius); }
.slg-article__body figcaption { font-size: 0.8125rem; color: var(--slg-text-mut); text-align: center; padding: 0.5rem 0; font-style: italic; }

/* ---------- Focus indicators (accessibility) ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--slg-gold);
  outline-offset: 2px;
  border-radius: 2px;
}
.slg-btn:focus-visible { outline-offset: 4px; }

/* ---------- Micro-animations (subtle) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .slg-service-card,
  .slg-card,
  .slg-card--attorney,
  .slg-faq__more li,
  .slg-attorney__articles li,
  .slg-practice__process li,
  .slg-cluster-index__group li {
    animation: slg-fade-up 500ms ease-out both;
    animation-timeline: view();
    animation-range: entry 0% entry 50%;
  }
}
@keyframes slg-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.slg-article__body h2 { margin: 2.5em 0 0.75em; }
.slg-article__body h3 { margin: 2em 0 0.5em; }
.slg-article__body p { margin: 0 0 1.25em; }
.slg-article__body ul, .slg-article__body ol { margin: 0 0 1.5em; padding-left: 1.5em; }
.slg-article__body li { margin-bottom: 0.5em; }
.slg-article__body a { font-weight: 500; }
/* ---------- Content tables (shared across all article body types) ---------- */

.slg-table-wrap {
  margin: 2.25em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--slg-radius);
  box-shadow: 0 2px 8px rgba(19, 25, 54, 0.06);
  border: 1px solid var(--slg-border);
  background: #fff;
}

.slg-article__body table,
.slg-faq__answer table,
.slg-practice__body table,
.slg-office__body table,
.slg-attorney__body table,
.slg-page__body table,
.slg-table-wrap > table {
  width: 100%;
  min-width: 640px;  /* triggers horizontal scroll on narrow screens when wrapped */
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  background: #fff;
}

/* When a bare table (not wrapped) appears directly in content */
.slg-article__body > table,
.slg-faq__answer table:not(.slg-table-wrap > table),
.slg-practice__body > table {
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(19, 25, 54, 0.06);
  margin: 2.25em 0;
}

/* Cells */
.slg-article__body th, .slg-article__body td,
.slg-faq__answer th, .slg-faq__answer td,
.slg-practice__body th, .slg-practice__body td,
.slg-office__body th, .slg-office__body td,
.slg-attorney__body th, .slg-attorney__body td,
.slg-page__body th, .slg-page__body td,
.slg-table-wrap th, .slg-table-wrap td {
  padding: 1em 1.25em;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--slg-border);
  border-right: 1px solid var(--slg-border);
}

/* Remove right-border on last column */
.slg-article__body tr > :last-child,
.slg-faq__answer tr > :last-child,
.slg-practice__body tr > :last-child,
.slg-office__body tr > :last-child,
.slg-attorney__body tr > :last-child,
.slg-page__body tr > :last-child,
.slg-table-wrap tr > :last-child { border-right: 0; }

/* Remove bottom-border on last row */
.slg-article__body tbody tr:last-child > td,
.slg-faq__answer tbody tr:last-child > td,
.slg-practice__body tbody tr:last-child > td,
.slg-office__body tbody tr:last-child > td,
.slg-attorney__body tbody tr:last-child > td,
.slg-page__body tbody tr:last-child > td,
.slg-table-wrap tbody tr:last-child > td { border-bottom: 0; }

/* Header row: navy with gold accent */
.slg-article__body thead th,
.slg-faq__answer thead th,
.slg-practice__body thead th,
.slg-office__body thead th,
.slg-attorney__body thead th,
.slg-page__body thead th,
.slg-table-wrap thead th {
  background: var(--slg-navy);
  color: #fff;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding-top: 1.05em;
  padding-bottom: 1.05em;
  border-right-color: rgba(255, 255, 255, 0.12);
  border-bottom: 3px solid var(--slg-gold);
}

/* First column = label column, emphasized */
.slg-article__body tbody td:first-child,
.slg-faq__answer tbody td:first-child,
.slg-practice__body tbody td:first-child,
.slg-office__body tbody td:first-child,
.slg-attorney__body tbody td:first-child,
.slg-page__body tbody td:first-child,
.slg-table-wrap tbody td:first-child {
  background: var(--slg-bg-warm);
  font-family: var(--slg-font-display);
  font-weight: 600;
  color: var(--slg-navy);
  font-size: 0.9375rem;
  min-width: 180px;
}

/* Alternating body rows (but keep first-column label bg) */
.slg-article__body tbody tr:nth-child(even) td:not(:first-child),
.slg-faq__answer tbody tr:nth-child(even) td:not(:first-child),
.slg-practice__body tbody tr:nth-child(even) td:not(:first-child),
.slg-office__body tbody tr:nth-child(even) td:not(:first-child),
.slg-attorney__body tbody tr:nth-child(even) td:not(:first-child),
.slg-page__body tbody tr:nth-child(even) td:not(:first-child),
.slg-table-wrap tbody tr:nth-child(even) td:not(:first-child) {
  background: #FBFCFD;
}

/* Hover row highlight */
.slg-article__body tbody tr:hover td,
.slg-faq__answer tbody tr:hover td,
.slg-practice__body tbody tr:hover td,
.slg-office__body tbody tr:hover td,
.slg-attorney__body tbody tr:hover td,
.slg-page__body tbody tr:hover td,
.slg-table-wrap tbody tr:hover td {
  background: #F4EDD9 !important;  /* subtle gold-tinted hover */
}

/* Emphasized text inside cells */
.slg-article__body td strong,
.slg-faq__answer td strong,
.slg-practice__body td strong,
.slg-office__body td strong,
.slg-attorney__body td strong,
.slg-page__body td strong,
.slg-table-wrap td strong { color: var(--slg-navy); }

.slg-article__citations { background: var(--slg-bg-warm); border: 1px solid var(--slg-border-warm); border-left: 4px solid var(--slg-gold); padding: 1.5rem; border-radius: var(--slg-radius); margin: 2.5rem 0; }
.slg-article__citations h2 { font-size: 1.1rem; margin: 0 0 0.75rem; }
.slg-article__citations ul { margin: 0; padding-left: 1.5rem; font-size: 0.9375rem; }

/* Breadcrumb */
.slg-breadcrumb { font-family: var(--slg-font-display); font-size: 0.8125rem; color: var(--slg-text-mut); margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 0.03em; }
.slg-breadcrumb a { color: var(--slg-text-mut); text-decoration: none; }
.slg-breadcrumb a:hover { color: var(--slg-navy); }

/* ---------- Related content ---------- */

.slg-related { background: var(--slg-bg-warm); border: 1px solid var(--slg-border-warm); border-radius: var(--slg-radius); padding: 2rem; margin: 2.5rem 0; }
.slg-related__title { font-size: 1.35rem; margin: 0 0 1rem; color: var(--slg-navy); }
.slg-related__pillar { font-size: 1.05rem; margin: 0 0 1rem; }
.slg-related__pillar a { font-weight: 600; color: var(--slg-navy); }
.slg-related__list { list-style: none; padding: 0; margin: 1rem 0 0; }
.slg-related__list li { padding: 0.625rem 0; border-bottom: 1px solid var(--slg-border-warm); font-size: 0.9375rem; }
.slg-related__list li:last-child { border-bottom: 0; }

/* ====================================================================
   Footer — 3 tiers: conversion banner, directory, legal/compliance
   ==================================================================== */

.slg-site-footer {
  background: var(--slg-navy-darker);
  color: rgba(255, 255, 255, 0.82);
  margin-top: 6rem;
  font-size: 0.9375rem;
}
/* Homepage: the last section's bottom padding + footer's internal CTA top padding
   already provide enough breathing room. Drop the extra 6rem margin. */
.slg-home-wrap + .slg-site-footer,
.slg-lp-wrap + .slg-site-footer,
.slg-pa-archive + .slg-site-footer,
.slg-tw-main + .slg-site-footer,
.slg-contact + .slg-site-footer,
.slg-main--offices-archive + .slg-site-footer,
.slg-blog-archive + .slg-site-footer,
.slg-attys-archive + .slg-site-footer,
.slg-library-archive + .slg-site-footer,
.slg-faq-archive + .slg-site-footer,
.slg-about + .slg-site-footer,
.slg-team-archive + .slg-site-footer {
  margin-top: 0;
}
.slg-site-footer a { color: rgba(255, 255, 255, 0.82); text-decoration: none; transition: color 150ms; }
.slg-site-footer a:hover { color: var(--slg-gold); }

/* ---------- TIER 1: Conversion banner ---------- */

.slg-site-footer__cta {
  position: relative;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  padding: 3.5rem 0 3rem;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.slg-site-footer__cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
/* 2-column layout: portrait on left, form content on right */
.slg-site-footer__cta-grid {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 3rem;
  align-items: center;
}
.slg-site-footer__cta-portrait {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}
.slg-site-footer__cta-portrait img {
  width: 220px;
  height: auto;
  display: block;
  border-radius: 14px;
  box-shadow:
    0 22px 44px rgba(0, 0, 0, 0.42),
    0 6px 14px rgba(0, 0, 0, 0.28);
  background: #1a2040;
}
.slg-site-footer__cta-portrait-caption {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  line-height: 1.25;
}
.slg-site-footer__cta-portrait-caption strong {
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.01em;
}
.slg-site-footer__cta-portrait-caption span {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.02em;
}
.slg-site-footer__cta-content { min-width: 0; }
.slg-site-footer__cta-head {
  text-align: left;
  margin-bottom: 1.5rem;
}
.slg-site-footer__cta-eyebrow {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold);
  margin-bottom: 0.75rem;
}
.slg-site-footer__cta-title {
  font-family: var(--slg-font-display);
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.5rem;
  line-height: 1.15;
}
.slg-site-footer__cta-sub {
  font-size: 1.0625rem;
  line-height: 1.5;
  color: rgba(255,255,255,0.75);
  margin: 0;
}
.slg-site-footer__cta-form {
  text-align: left;
}
.slg-site-footer__cta-fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
.slg-site-footer__cta-field input,
.slg-site-footer__cta-textarea textarea {
  width: 100%;
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.slg-site-footer__cta-textarea { display: block; margin-bottom: 0.875rem; }
.slg-site-footer__cta-textarea textarea {
  resize: vertical;
  min-height: 3.5rem;
  line-height: 1.45;
  font-family: var(--slg-font-body);
}
.slg-site-footer__cta-field input::placeholder,
.slg-site-footer__cta-textarea textarea::placeholder {
  color: rgba(255,255,255,0.5);
}
.slg-site-footer__cta-field input:focus,
.slg-site-footer__cta-textarea textarea:focus {
  outline: 0;
  background: rgba(255,255,255,0.14);
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.25);
}
.slg-site-footer__cta-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem !important;
  white-space: nowrap;
  min-width: 220px;
}
.slg-site-footer__cta-submit svg {
  transition: transform 0.18s ease;
}
.slg-site-footer__cta-submit:hover svg,
.slg-site-footer__cta-submit:focus-visible svg {
  transform: translateX(3px);
}
.slg-site-footer__cta-alt {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.75);
  margin: 0.875rem 0 0;
}
.slg-site-footer__cta-alt a {
  color: #fff;
  border-bottom: 1px dotted rgba(255,255,255,0.5);
  padding-bottom: 1px;
}
.slg-site-footer__cta-alt a:hover {
  color: var(--slg-gold);
  border-bottom-color: var(--slg-gold);
}
/* Success state */
.slg-site-footer__cta-form .slg-lead-form__success {
  text-align: center;
  padding: 1.5rem 0.5rem;
  color: #fff;
}
.slg-site-footer__cta-form .slg-lead-form__success svg { color: var(--slg-gold); margin-bottom: 0.75rem; }
.slg-site-footer__cta-form .slg-lead-form__success p {
  font-size: 1.0625rem;
  margin: 0;
  color: rgba(255,255,255,0.9);
  max-width: 520px;
  margin-inline: auto;
}

/* Tablet: narrower portrait column */
@media (max-width: 960px) {
  .slg-site-footer__cta-grid {
    grid-template-columns: 200px 1fr;
    gap: 2rem;
  }
  .slg-site-footer__cta-portrait img { width: 180px; }
}

/* Mobile: stack portrait above content, center both */
@media (max-width: 760px) {
  .slg-site-footer__cta { padding: 2.5rem 0 2rem; }
  .slg-site-footer__cta-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }
  .slg-site-footer__cta-portrait img { width: 140px; }
  .slg-site-footer__cta-head { text-align: center; }
  .slg-site-footer__cta-title { font-size: 1.625rem; }
  .slg-site-footer__cta-sub { font-size: 0.9375rem; }
  .slg-site-footer__cta-form { text-align: center; }
  .slg-site-footer__cta-fields {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .slg-site-footer__cta-submit {
    width: 100%;
    min-width: 0;
  }
}

/* ---------- TIER 2: Directory (brand + 3 nav columns) ---------- */

.slg-site-footer__cols {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 3rem;
  padding: 3.5rem 0 2.5rem;
}
.slg-site-footer__cols ul { list-style: none; padding: 0; margin: 0; }
.slg-site-footer__cols li { margin: 0.5rem 0; font-size: 0.9375rem; }
.slg-site-footer__col-title {
  color: var(--slg-gold);
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 1.125rem;
}
.slg-site-footer__nav a {
  color: rgba(255,255,255,0.78);
  display: inline-block;
  padding: 1px 0;
}
.slg-site-footer__nav a:hover { color: #fff; }

/* Brand column */
.slg-site-footer__col--brand { max-width: 340px; }
.slg-site-footer__logo { display: inline-block; margin-bottom: 1.25rem; }
.slg-site-footer__logo img {
  max-width: 220px;
  height: auto;
  display: block;
}
.slg-site-footer__tagline {
  color: rgba(255,255,255,0.7);
  font-size: 0.9375rem;
  line-height: 1.55;
  margin: 0 0 1.25rem;
}
.slg-site-footer__contact { display: flex; flex-direction: column; gap: 0.5rem; }
.slg-site-footer__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
}
.slg-site-footer__phone:hover { color: var(--slg-gold); }
.slg-site-footer__phone svg { color: var(--slg-gold); flex-shrink: 0; }

@media (max-width: 900px) {
  .slg-site-footer__cols {
    grid-template-columns: 1fr 1fr;
    gap: 2.25rem;
    padding: 3rem 0 2rem;
  }
  .slg-site-footer__col--brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 520px) {
  .slg-site-footer__cols { grid-template-columns: 1fr; gap: 1.75rem; }
}

/* ---------- TIER 2a: Footer office addresses (NAP + marketing) ---------- */
.slg-site-footer__offices {
  padding: 1.75rem 0 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.slg-site-footer__offices-label {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold);
  text-align: center;
  margin-bottom: 1.25rem;
}
.slg-site-footer__offices-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  max-width: 760px;
}
.slg-site-footer__office {
  text-align: center;
}
.slg-site-footer__office-link {
  display: block;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  background: rgba(255, 255, 255, 0.02);
}
.slg-site-footer__office-link:hover,
.slg-site-footer__office-link:focus-visible {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--slg-gold);
  transform: translateY(-2px);
  color: #fff;
}
.slg-site-footer__office-city {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}
.slg-site-footer__office-link address {
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 0.5rem;
}
.slg-site-footer__office-meta {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  font-family: var(--slg-font-display);
}

@media (max-width: 560px) {
  .slg-site-footer__offices-list {
    grid-template-columns: 1fr;
    max-width: 360px;
    gap: 0.875rem;
  }
}

/* ---------- TIER 2b: Footer trust badges (compact, grayscale) ---------- */

.slg-site-footer__trust {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  flex-wrap: wrap;
  justify-content: center;
}
.slg-site-footer__trust-label {
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  white-space: nowrap;
}
.slg-site-footer__trust-list {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.slg-site-footer__trust-list img {
  display: block;
  height: 40px;
  width: auto;
  /* Desaturate + slight brightness boost so logos read on dark bg */
  filter: grayscale(1) brightness(1.8) opacity(0.7);
  transition: filter 0.25s ease;
}
.slg-site-footer__trust-list li:hover img,
.slg-site-footer__trust-list li:focus-within img {
  filter: grayscale(0) brightness(1) opacity(1);
}

@media (max-width: 620px) {
  .slg-site-footer__trust { gap: 1rem; padding: 1.25rem 0; }
  .slg-site-footer__trust-list { gap: 1.5rem; }
  .slg-site-footer__trust-list img { height: 32px; }
}

/* ---------- TIER 3: Legal / Compliance ---------- */

.slg-site-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  padding: 1.75rem 0 2rem;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.55;
}
.slg-site-footer__compliance {
  margin: 0 0 0.75rem;
  color: rgba(255,255,255,0.7);
  font-size: 0.8125rem;
}
.slg-site-footer__compliance strong {
  color: rgba(255,255,255,0.85);
  font-weight: 600;
}
.slg-site-footer__disclaimer {
  max-width: 880px;
  margin: 0 0 1.5rem;
  color: rgba(255,255,255,0.5);
  font-size: 0.75rem;
  line-height: 1.55;
}
.slg-site-footer__legal-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.slg-site-footer__copyright {
  margin: 0;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.6);
}
.slg-footer-legal {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.slg-footer-legal a {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.6);
}
.slg-footer-legal a:hover { color: var(--slg-gold); }

@media (max-width: 620px) {
  .slg-site-footer__legal-row { flex-direction: column; align-items: flex-start; }
}

/* ---------- FAQ accordion ---------- */

.slg-faq-accordion dt { margin: 1.25rem 0 0.375rem; font-family: var(--slg-font-display); font-weight: 600; font-size: 1.05rem; color: var(--slg-navy); }
.slg-faq-accordion dt a { text-decoration: none; }
.slg-faq-accordion dd { margin: 0; color: var(--slg-text-mut); }

/* ---------- Utilities ---------- */

.screen-reader-text,
.slg-visually-hidden { position: absolute; clip: rect(0,0,0,0); height: 1px; width: 1px; overflow: hidden; white-space: nowrap; border: 0; padding: 0; margin: -1px; }
.slg-section-more { text-align: center; margin-top: 2rem; }
.slg-section-more a { font-family: var(--slg-font-display); font-weight: 600; font-size: 0.875rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--slg-gold-dark); text-decoration: none; border-bottom: 2px solid var(--slg-gold); padding-bottom: 2px; }

/* ========== Inline mid-article CTA (mobile-only) ========== */
/* Hidden on desktop — the sidebar carries the ask there */
.slg-inline-cta { display: none; }

@media (max-width: 900px) {
  .slg-inline-cta {
    display: block;
    margin: 2.5rem -1rem;
    background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker, #0e1224) 100%);
    color: #fff;
    border-radius: var(--slg-radius);
    box-shadow: 0 10px 30px rgba(19,25,54,0.22);
    position: relative;
    overflow: hidden;
  }
  .slg-inline-cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
  }
  .slg-inline-cta__inner {
    padding: 1.5rem 1.25rem;
    display: grid;
    gap: 1rem;
  }
  .slg-inline-cta__eyebrow {
    display: inline-block;
    font-family: var(--slg-font-display);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--slg-gold);
    margin-bottom: 0.375rem;
  }
  .slg-inline-cta__title {
    font-family: var(--slg-font-display);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 0.4rem;
    color: #fff;
  }
  .slg-inline-cta__sub {
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0;
    color: rgba(255,255,255,0.85);
  }
  .slg-inline-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }
  .slg-inline-cta__primary {
    width: 100%;
    text-align: center;
    padding: 0.875rem !important;
  }
  .slg-inline-cta__phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-family: var(--slg-font-display);
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    padding: 0.75rem 0.875rem;
    border: 1.5px solid rgba(255,255,255,0.4);
    border-radius: 6px;
  }
  .slg-inline-cta__phone:hover,
  .slg-inline-cta__phone:focus-visible {
    background: rgba(255,255,255,0.08);
    border-color: var(--slg-gold);
    color: #fff;
  }
}

/* On the smallest screens, let the card breathe edge-to-edge */
@media (max-width: 500px) {
  .slg-inline-cta {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    border-radius: 10px;
  }
  .slg-inline-cta__inner { padding: 1.25rem 1.125rem; }
  .slg-inline-cta__title { font-size: 1.125rem; }
}

/* Sticky sidebar: reverted — needs a different approach (see notes). */

/* ========== What happens next (3-step reassurance) ========== */
.slg-lead-form__steps {
  list-style: none;
  padding: 0.875rem 0 0.25rem;
  margin: 0.5rem 0 0;
  border-top: 1px dashed var(--slg-border);
  display: grid;
  gap: 0.5rem;
}
.slg-lead-form__steps li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 0.6rem;
  align-items: start;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--slg-text-mut);
}
.slg-lead-form__step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--slg-navy);
  background: var(--slg-gold-soft, #F7EDD5);
  border-radius: 50%;
  line-height: 1;
}
.slg-lead-form__step-text { padding-top: 3px; }

/* ========== Founder signature ========== */
.slg-lead-form__signature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--slg-border);
}
.slg-lead-form__signature-photo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--slg-gold);
  background: #f0f0f0;
}
.slg-lead-form__signature-body { display: flex; flex-direction: column; min-width: 0; }
.slg-lead-form__signature-name {
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.2;
}
.slg-lead-form__signature-role {
  font-size: 0.75rem;
  color: var(--slg-text-mut);
  line-height: 1.35;
  margin-top: 1px;
}

/* ========== Exit-intent modal ========== */
.slg-exit-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.slg-exit-modal[hidden] { display: none !important; }
.slg-exit-modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.slg-exit-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(19, 25, 54, 0.75);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.slg-exit-modal__dialog {
  position: relative;
  background: #fff;
  border-radius: var(--slg-radius);
  max-width: 460px;
  width: calc(100% - 2rem);
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  transform: translateY(10px) scale(0.98);
  transition: transform 0.3s cubic-bezier(.2,.7,.3,1);
  overflow: hidden;
}
.slg-exit-modal.is-visible .slg-exit-modal__dialog {
  transform: translateY(0) scale(1);
}
.slg-exit-modal__dialog::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
.slg-exit-modal__close {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  background: transparent;
  border: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--slg-text-mut);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background 0.15s ease, color 0.15s ease;
}
.slg-exit-modal__close:hover,
.slg-exit-modal__close:focus-visible {
  background: var(--slg-border);
  color: var(--slg-navy);
}
.slg-exit-modal__body {
  padding: 2rem 1.75rem 1.5rem;
  text-align: center;
}
.slg-exit-modal__eyebrow {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin-bottom: 0.625rem;
}
.slg-exit-modal__title {
  font-family: var(--slg-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
.slg-exit-modal__sub {
  font-size: 0.9375rem;
  color: var(--slg-text-mut);
  margin: 0 0 1.25rem;
  line-height: 1.5;
}
.slg-exit-modal__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  margin-bottom: 0.875rem;
  text-align: left;
}
.slg-exit-modal__submit {
  width: 100%;
  padding: 0.875rem !important;
}
.slg-exit-modal__privacy {
  font-size: 0.8125rem;
  color: var(--slg-text-light);
  margin: 0.75rem 0 0;
}
.slg-exit-modal__privacy a { color: var(--slg-navy); text-decoration: none; }
.slg-exit-modal__privacy a:hover { text-decoration: underline; }
.slg-exit-modal__form[data-submitted="true"] {
  opacity: 0.6;
  pointer-events: none;
}
.slg-exit-modal__form[data-submitted="true"]::after {
  content: "Got it — we'll be in touch.";
  display: block;
  margin-top: 0.625rem;
  color: #2d7d46;
  font-weight: 600;
  font-family: var(--slg-font-display);
}

@media (max-width: 500px) {
  .slg-exit-modal__row { grid-template-columns: 1fr; }
  .slg-exit-modal__body { padding: 1.75rem 1.25rem 1.25rem; }
  .slg-exit-modal__title { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .slg-exit-modal,
  .slg-exit-modal__dialog { transition: none; }
}

/* ========== Mobile sticky mini-CTA ========== */
.slg-mini-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  background: var(--slg-navy);
  color: #fff;
  box-shadow: 0 -4px 20px rgba(19,25,54,0.25);
  transform: translateY(100%);
  transition: transform 0.3s ease;
  display: none;
}
.slg-mini-cta::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--slg-gold);
}
.slg-mini-cta.is-dismissed { display: none !important; }
.slg-mini-cta.is-visible { transform: translateY(0); }
.slg-mini-cta__inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  max-width: 600px;
  margin: 0 auto;
}
.slg-mini-cta__text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.1;
}
.slg-mini-cta__text strong {
  font-family: var(--slg-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #fff;
}
.slg-mini-cta__text span {
  font-size: 0.7rem;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.03em;
  margin-top: 2px;
}
.slg-mini-cta__actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.slg-mini-cta__call,
.slg-mini-cta__form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--slg-font-display);
  font-weight: 700;
  text-decoration: none;
  height: 36px;
  border-radius: 6px;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.slg-mini-cta__call {
  width: 36px;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.35);
}
.slg-mini-cta__call:hover,
.slg-mini-cta__call:focus-visible {
  background: rgba(255,255,255,0.08);
  border-color: var(--slg-gold);
}
.slg-mini-cta__form {
  background: var(--slg-gold);
  color: var(--slg-navy);
  padding: 0 0.875rem;
  font-size: 0.8125rem;
}
.slg-mini-cta__form:hover,
.slg-mini-cta__form:focus-visible {
  background: #E8CDA0;
  color: var(--slg-navy);
}
.slg-mini-cta__close {
  background: transparent;
  border: 0;
  width: 28px;
  height: 28px;
  color: rgba(255,255,255,0.65);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  padding: 0;
}
.slg-mini-cta__close:hover,
.slg-mini-cta__close:focus-visible {
  background: rgba(255,255,255,0.1);
  color: #fff;
}

/* Only show on mobile / tablet */
@media (max-width: 900px) {
  .slg-mini-cta { display: block; }
  /* Add bottom padding to body so the mini-CTA doesn't cover footer content */
  body { padding-bottom: 58px; }
}

/* ====================================================================
   Homepage — Direction A with hybrid photo treatment
   ==================================================================== */

.slg-home-wrap {
  /* Neutral wrapper — individual sections handle their own containment */
}
.slg-home { margin: 0; padding: 0; }
.slg-home section { position: relative; }

/* ---------- 1. Hero (restored: navy background, gold italic accent) ---------- */
.slg-home-hero {
  position: relative;
  background: var(--slg-navy);
  color: #fff;
  padding: 5rem 0 5.5rem;
  overflow: hidden;
}
.slg-home-hero::before {
  /* Subtle geometric accent pattern (original) */
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(216, 187, 134, 0.10) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(216, 187, 134, 0.07) 0%, transparent 50%);
  pointer-events: none;
}
.slg-home-hero__inner {
  max-width: var(--slg-maxw);
  margin: 0 auto;
  padding: 0 1.5rem;
  display: grid;
  /* Text column slightly wider than form column so the H1 has breathing room */
  grid-template-columns: 1.15fr 1fr;
  gap: 3rem;
  align-items: center;
  position: relative;
}
.slg-home-hero__content { min-width: 0; }
.slg-home-hero__content { min-width: 0; }
.slg-home-hero__eyebrow {
  color: var(--slg-gold) !important;
  font-weight: 700;
}
.slg-home-hero__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.875rem, 3.2vw, 2.625rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0.75rem 0 1.25rem;
  /* text-wrap: balance distributes text evenly across lines, avoiding orphans */
  text-wrap: balance;
}
.slg-home-hero__title em {
  font-style: normal;
  color: var(--slg-gold);
}
.slg-home-hero__sub {
  font-size: 1.1875rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
  margin: 0 0 1.75rem;
  max-width: 48ch;
}
.slg-home-hero__ctas {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.slg-home-hero__primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 1.75rem !important;
  font-size: 1rem !important;
}
.slg-home-hero__primary svg { transition: transform 0.18s ease; }
.slg-home-hero__primary:hover svg,
.slg-home-hero__primary:focus-visible svg { transform: translateX(3px); }
.slg-home-hero__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  padding: 0.7rem 1rem;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.slg-home-hero__phone:hover,
.slg-home-hero__phone:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--slg-gold);
}
.slg-home-hero__phone svg { color: var(--slg-gold); }
.slg-home-hero__reviews {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}
.slg-home-hero__reviews strong {
  font-size: 0.9375rem;
  color: #fff;
  font-family: var(--slg-font-display);
  font-weight: 700;
}
.slg-home-hero__stars {
  color: #FBBC04;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
}
.slg-home-hero__review-count { color: rgba(255, 255, 255, 0.6); }
.slg-home-hero__reviews:hover { color: #fff; }

/* Hero image — sits well on navy with warm gold accent frame */
.slg-home-hero__image {
  position: relative;
  padding: 1rem;
}
.slg-home-hero__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: var(--slg-radius);
  /* Deeper, layered shadows so photo anchors against navy instead of floating */
  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.55),
    0 10px 25px rgba(0, 0, 0, 0.35),
    0 2px 6px rgba(0, 0, 0, 0.25);
  /* Warmer inner border creates a cream edge that separates photo from navy background */
  border: 4px solid rgba(255, 255, 255, 0.92);
}
.slg-home-hero__image-frame {
  position: absolute;
  top: 1.75rem;
  left: 1.75rem;
  right: -0.75rem;
  bottom: -0.75rem;
  border: 3px solid var(--slg-gold);
  border-radius: var(--slg-radius);
  z-index: -1;
  opacity: 1;
}

@media (max-width: 900px) {
  .slg-home-hero { padding: 2.5rem 0 3rem; }
  .slg-home-hero__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .slg-home-hero__image { order: -1; padding: 0.5rem; max-width: 500px; margin: 0 auto; }
  .slg-home-hero__image-frame { top: 0.75rem; left: 0.75rem; right: -0.25rem; bottom: -0.25rem; }
  .slg-home-hero__title { font-size: 2rem; }
  .slg-home-hero__sub { font-size: 1.0625rem; }
}

/* ---------- 2. Trust strip (restored: cream bg, navy stat numbers) ---------- */
.slg-home-trust {
  background: var(--slg-bg-warm);
  border-top: 1px solid var(--slg-border-warm);
  border-bottom: 1px solid var(--slg-border-warm);
  padding: 3rem 0 2.5rem;
}
.slg-home-trust__stats {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  text-align: center;
}
.slg-home-trust__stats li {
  padding: 0.5rem 1rem;
  border-right: 1px solid var(--slg-border-warm);
}
.slg-home-trust__stats li:last-child { border-right: 0; }
.slg-home-trust__stats strong {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.05;
  margin-bottom: 0.5rem;
  letter-spacing: -0.01em;
}
.slg-home-trust__stats span {
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  color: var(--slg-text-mut);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.35;
}
.slg-home-trust__badges {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--slg-border-warm);
}
.slg-home-trust__badges-label {
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-text-light);
  white-space: nowrap;
  flex-shrink: 0;
}
.slg-badge-ticker--home {
  flex: 1 1 auto;
  min-width: 0;
}
.slg-badge-ticker--home .slg-badge-ticker__item { height: 48px; }
.slg-badge-ticker--home .slg-badge-ticker__item img {
  max-height: 48px;
  filter: grayscale(1) opacity(0.7);
  transition: filter 0.2s ease;
}
.slg-badge-ticker--home .slg-badge-ticker__item:hover img { filter: grayscale(0) opacity(1); }

@media (max-width: 760px) {
  .slg-home-trust { padding: 2rem 0; }
  .slg-home-trust__stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 0.75rem;
  }
  .slg-home-trust__stats li { border-right: 0; }
  .slg-home-trust__stats li:nth-child(odd) { border-right: 1px solid var(--slg-border-warm); }
  .slg-home-trust__stats strong { font-size: 1.875rem; }
  .slg-home-trust__badges {
    flex-direction: column;
    gap: 0.875rem;
    text-align: center;
  }
}

/* ---------- 3. Practice areas ---------- */
.slg-home-practices { padding: 4rem 0 4.25rem; background: #fff; }
.slg-home-practices__header { text-align: center; max-width: 640px; margin: 0 auto 3rem; }

/* New 2-column intro: copy + photo, replaces the centered header when image is present */
.slg-home-practices__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 3rem;
  align-items: center;
  margin-bottom: 3.25rem;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.slg-home-practices__intro-copy h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.875rem, 3.2vw, 2.5rem);
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0.75rem 0 1rem;
}
.slg-home-practices__intro-copy .slg-lead {
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  margin: 0;
}
.slg-home-practices__intro-image {
  justify-self: end;
  max-width: 520px;
  width: 100%;
}
.slg-home-practices__intro-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: var(--slg-radius);
  box-shadow:
    0 22px 50px rgba(19, 25, 54, 0.18),
    0 8px 20px rgba(19, 25, 54, 0.12);
}

@media (max-width: 900px) {
  .slg-home-practices__intro {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 2.5rem;
  }
  .slg-home-practices__intro-copy { text-align: center; }
  .slg-home-practices__intro-image {
    max-width: 460px;
    margin: 0 auto;
    justify-self: center;
  }
}
.slg-home-practices__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin: 0 auto;
}
.slg-home-practice {
  display: block;
  padding: 1.5rem 1.5rem 1.375rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  text-decoration: none;
  color: inherit;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
  position: relative;
  overflow: hidden;
}
.slg-home-practice__head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.625rem;
}
.slg-home-practice::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--slg-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.slg-home-practice:hover,
.slg-home-practice:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(19,25,54,0.12);
  border-color: var(--slg-gold);
}
.slg-home-practice:hover::before,
.slg-home-practice:focus-visible::before { transform: scaleX(1); }
.slg-home-practice__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--slg-bg-warm, #FAF7F1);
  color: var(--slg-gold-dark, #B8873B);
  border-radius: 10px;
  flex-shrink: 0;
  margin: 0;
}
.slg-home-practice__icon svg {
  width: 24px;
  height: 24px;
}
.slg-home-practice__title {
  font-family: var(--slg-font-display);
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0;
  line-height: 1.2;
}
.slg-home-practice__lead {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--slg-navy);
  margin: 0 0 0.5rem;
  font-weight: 400;
}
.slg-home-practice__lead em {
  font-style: italic;
  color: var(--slg-gold-dark, #B8873B);
  font-weight: 500;
}
.slg-home-practice__desc {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0 0 0.875rem;
}
.slg-home-practice__desc em {
  font-style: italic;
  color: var(--slg-navy);
  font-weight: 600;
  background: linear-gradient(transparent 72%, rgba(216, 187, 134, 0.32) 72%);
  padding: 0 2px;
}
.slg-home-practice__link {
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--slg-navy);
  text-transform: uppercase;
  transition: color 0.15s ease;
}
.slg-home-practice:hover .slg-home-practice__link { color: var(--slg-gold-dark, #B8873B); }
/* "See all" CTA at the end of the practice areas section. Mirrors the
   testimonials see-all pattern so the home page has a consistent visual
   language for "explore deeper" actions: gold = convert, navy outline =
   explore more.
   This CTA links to /offices/ (Where We Help) with the "Here. There.
   Everywhere." eyebrow that primes the destination page H1. */
.slg-home-practices__see-all {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
  text-align: center;
  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--slg-border);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
/* Tagline-format treatment — italic Georgia serif, deeper amber.
   Same typographic pattern as "closure" and the About page tagline
   reveal. Uses the destination page's H1 directly, so the click
   primes recognition. */
.slg-home-practices__see-all-tagline {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
  line-height: 1.4;
  color: #8E5F1F;
  font-weight: 500;
  margin: 0;
  letter-spacing: 0.005em;
  max-width: 540px;
}
.slg-home-practices__see-all-tagline em { font-style: italic; }
.slg-home-practices__see-all-tagline strong {
  font-weight: 700;
  color: #8E5F1F;
}
.slg-home-practices__see-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 2rem;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  background: #fff;
  color: var(--slg-navy);
  border: 2px solid var(--slg-navy);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.slg-home-practices__see-all-btn:hover {
  background: var(--slg-navy);
  color: #fff;
  border-color: var(--slg-navy);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.18);
}
.slg-home-practices__see-all-btn svg {
  transition: transform 0.2s ease;
}
.slg-home-practices__see-all-btn:hover svg {
  transform: translateX(3px);
}

@media (max-width: 760px) {
  .slg-home-practices { padding: 3rem 0; }
  .slg-home-practices__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* ---------- 4. Empathy / Why Us ---------- */
.slg-home-why {
  padding: 5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
  position: relative;
  overflow: hidden;
}
/* Team + Why Us share a cream background and read as one unit.
   Tighten the gap between them so "meet the team → message from Brad" flows. */
.slg-home-team + .slg-home-why { padding-top: 1.5rem; }
.slg-home-team:has(+ .slg-home-why) { padding-bottom: 1.5rem; }
.slg-home-why::before {
  content: "";
  position: absolute;
  top: -15%;
  right: -10%;
  width: 45%;
  height: 130%;
  background: radial-gradient(circle, rgba(216, 187, 134, 0.15) 0%, transparent 65%);
  pointer-events: none;
}
.slg-home-why__inner {
  max-width: var(--slg-maxw);
  margin: 0 auto;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: minmax(0, 620px) auto;
  gap: 2.5rem;
  align-items: center;
  justify-content: center;
  position: relative;
}
.slg-home-why__content h2 {
  font-size: clamp(1.875rem, 3vw, 2.5rem);
  margin: 0.5rem 0 1.25rem;
  line-height: 1.2;
  color: var(--slg-navy);
}
.slg-home-why__content > p {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--slg-text);
  margin: 0 0 1rem;
  max-width: 560px;
}
.slg-home-why__points {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  display: grid;
  gap: 0.75rem;
}
.slg-home-why__points li {
  position: relative;
  padding-left: 1.75rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--slg-text);
}
.slg-home-why__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 10px;
  height: 10px;
  background: var(--slg-gold);
  border-radius: 50%;
}
.slg-home-why__points strong { color: var(--slg-navy); }

/* About-page CTA — secondary outline button at the end of the section.
   Mirrors the "Read more client journeys" pattern from the testimonials
   home section so secondary CTAs across the home page share a visual
   language: gold = convert now, navy outline = explore more. */
.slg-home-why__about-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--slg-border);
}
.slg-home-why__about-cta-eyebrow {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
}
.slg-home-why__about-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  background: #fff;
  color: var(--slg-navy);
  border: 2px solid var(--slg-navy);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.slg-home-why__about-cta-btn:hover {
  background: var(--slg-navy);
  color: #fff;
  border-color: var(--slg-navy);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.18);
}
.slg-home-why__about-cta-btn svg { transition: transform 0.2s ease; }
.slg-home-why__about-cta-btn:hover svg { transform: translateX(3px); }

.slg-home-why__portrait {
  position: relative;
  max-width: 360px;
  justify-self: end;
}
.slg-home-why__portrait img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--slg-radius);
  box-shadow: 0 18px 40px rgba(19,25,54,0.22);
  border: 3px solid #fff;
}
/* Standing variant: transparent PNG, no frame, floats on the page.
   Sits at the left of its column so it hugs the copy instead of pushing to the far right. */
.slg-home-why__portrait--standing {
  max-width: 260px;
  justify-self: start;
}
.slg-home-why__portrait--standing img {
  border-radius: 0;
  border: 0;
  box-shadow: none;
  filter:
    drop-shadow(0 12px 24px rgba(19, 25, 54, 0.22))
    drop-shadow(0 4px 8px rgba(19, 25, 54, 0.14));
}
.slg-home-why__portrait-caption {
  margin-top: 1rem;
  text-align: center;
  line-height: 1.25;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.slg-home-why__portrait-caption strong {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
}
.slg-home-why__portrait-caption span {
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  letter-spacing: 0.02em;
}

@media (max-width: 900px) {
  .slg-home-why { padding: 3rem 0; }
  .slg-home-why__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .slg-home-why__portrait { justify-self: center; max-width: 280px; }
}

/* ---------- 5. Process ---------- */
.slg-home-process { padding: 5rem 0; background: #fff; }
.slg-home-process__steps {
  list-style: none;
  padding: 0;
  margin: 3rem 0 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  position: relative;
}
.slg-home-process__steps::before {
  /* connector line */
  content: "";
  position: absolute;
  top: 28px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 15%, var(--slg-gold) 85%, transparent 100%);
  opacity: 0.5;
  z-index: 0;
}
.slg-home-process__step {
  text-align: center;
  position: relative;
  z-index: 1;
}
.slg-home-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: var(--slg-navy);
  color: var(--slg-gold);
  border-radius: 50%;
  font-family: var(--slg-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 12px rgba(19,25,54,0.18);
  border: 3px solid #fff;
}
.slg-home-process__step h3 {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.5rem;
  line-height: 1.25;
}
.slg-home-process__step p {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  margin: 0;
}

@media (max-width: 760px) {
  .slg-home-process { padding: 3rem 0; }
  .slg-home-process__steps {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .slg-home-process__steps::before { display: none; }
  .slg-home-process__step { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; text-align: left; align-items: start; }
  .slg-home-process__step h3 { grid-column: 2; margin-top: 0.25rem; }
  .slg-home-process__step p { grid-column: 2; }
  .slg-home-process__num { margin-bottom: 0; }
}

/* ---------- 6. Featured resources ---------- */
.slg-home-resources {
  padding: 5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-home-resources__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.slg-home-resource {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: var(--slg-radius);
  border: 1px solid var(--slg-border);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.slg-home-resource:hover,
.slg-home-resource:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(19,25,54,0.14);
}
.slg-home-resource__cover {
  background: linear-gradient(135deg, var(--slg-gold-soft, #F7EDD5) 0%, var(--slg-gold) 100%);
  padding: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
}
.slg-home-resource__cover img {
  max-height: 180px;
  width: auto;
  height: auto;
  display: block;
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(19,25,54,0.2);
}
.slg-home-resource__body {
  padding: 1.5rem 1.5rem 1.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.slg-home-resource__tag {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin-bottom: 0.625rem;
}
.slg-home-resource__tag--article { color: var(--slg-navy); }
.slg-home-resource__body h3 {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.5rem;
  line-height: 1.3;
}
.slg-home-resource__body p {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0 0 1rem;
  flex: 1;
}
.slg-home-resource__link {
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--slg-navy);
  text-transform: uppercase;
  margin-top: auto;
}
.slg-home-resource--article .slg-home-resource__body { padding: 1.5rem 1.5rem 1.75rem; }
.slg-home-resources__more {
  text-align: center;
  margin: 2.5rem 0 0;
}

@media (max-width: 900px) {
  .slg-home-resources__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .slg-home-resources { padding: 3rem 0; }
  .slg-home-resources__grid { grid-template-columns: 1fr; }
}

/* ---------- 7. Testimonials ---------- */
.slg-home-testimonials {
  padding: 5rem 0;
  background: #fff;
}
.slg-home-testimonials .slg-section__header { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.slg-home-testimonials__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1rem;
  padding: 0.625rem 1.25rem;
  background: var(--slg-bg-warm, #FAF7F1);
  border-radius: 99px;
}
.slg-home-testimonials__rating strong {
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  color: var(--slg-navy);
}
.slg-home-testimonials__stars { color: #FBBC04; font-size: 1rem; letter-spacing: 0.04em; }
.slg-home-testimonials__count { font-size: 0.875rem; color: var(--slg-text-mut); }
.slg-home-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.slg-home-testimonial {
  margin: 0;
  padding: 1.75rem 1.625rem;
  background: var(--slg-bg-warm, #FAF7F1);
  border-left: 4px solid var(--slg-gold);
  border-radius: var(--slg-radius);
  position: relative;
}
.slg-home-testimonial__stars {
  display: block;
  color: #FBBC04;
  font-size: 1rem;
  letter-spacing: 0.06em;
  margin-bottom: 0.75rem;
}
.slg-home-testimonial blockquote {
  margin: 0 0 1rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--slg-text);
}
.slg-home-testimonial figcaption {
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--slg-navy);
  letter-spacing: 0.02em;
}
.slg-home-testimonials__more {
  text-align: center;
  margin: 2.5rem 0 0;
}

@media (max-width: 900px) {
  .slg-home-testimonials__grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .slg-home-testimonials { padding: 3rem 0; }
}

/* ---------- 8. Closing CTA ---------- */
.slg-home-cta {
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  padding: 4rem 0 4.5rem;
  position: relative;
  overflow: hidden;
}
.slg-home-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
.slg-home-cta__inner { text-align: center; }
.slg-home-cta__content { max-width: 640px; margin: 0 auto 2rem; }
.slg-home-cta__eyebrow {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold);
  margin-bottom: 0.75rem;
}
.slg-home-cta__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.875rem, 3vw, 2.25rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.5rem;
  line-height: 1.15;
}
.slg-home-cta__sub {
  font-size: 1.0625rem;
  line-height: 1.5;
  color: rgba(255,255,255,0.75);
  margin: 0;
}
.slg-home-cta__form {
  max-width: 720px;
  margin: 0 auto;
}
.slg-home-cta__fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
.slg-home-cta__field input,
.slg-home-cta__textarea textarea {
  width: 100%;
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.slg-home-cta__textarea { display: block; margin-bottom: 0.875rem; }
.slg-home-cta__textarea textarea {
  resize: vertical;
  min-height: 3.5rem;
  line-height: 1.45;
  font-family: var(--slg-font-body);
}
.slg-home-cta__field input::placeholder,
.slg-home-cta__textarea textarea::placeholder { color: rgba(255,255,255,0.5); }
.slg-home-cta__field input:focus,
.slg-home-cta__textarea textarea:focus {
  outline: 0;
  background: rgba(255,255,255,0.14);
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.25);
}
.slg-home-cta__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem !important;
  min-width: 220px;
}
.slg-home-cta__submit svg { transition: transform 0.18s ease; }
.slg-home-cta__submit:hover svg,
.slg-home-cta__submit:focus-visible svg { transform: translateX(3px); }
.slg-home-cta__alt {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.75);
  margin: 0.875rem 0 0;
}
.slg-home-cta__alt a { color: #fff; border-bottom: 1px dotted rgba(255,255,255,0.5); padding-bottom: 1px; text-decoration: none; }
.slg-home-cta__alt a:hover { color: var(--slg-gold); border-bottom-color: var(--slg-gold); }

.slg-home-cta__form .slg-lead-form__success {
  text-align: center;
  padding: 1rem 0.5rem;
  color: #fff;
}
.slg-home-cta__form .slg-lead-form__success svg { color: var(--slg-gold); margin-bottom: 0.75rem; }
.slg-home-cta__form .slg-lead-form__success p {
  font-size: 1.0625rem;
  margin: 0 auto;
  color: rgba(255,255,255,0.9);
  max-width: 520px;
}

@media (max-width: 760px) {
  .slg-home-cta { padding: 3rem 0 3.5rem; }
  .slg-home-cta__fields { grid-template-columns: 1fr; }
  .slg-home-cta__submit { width: 100%; min-width: 0; }
}

/* ---------- 5b. Meet the attorneys (homepage team grid) ---------- */
.slg-home-team--bare {
  /* Sits beneath the why-us section as visual proof — tighter top padding,
     no eyebrow/header, lets the photos lead. */
  padding-top: 0;
  padding-bottom: 4rem;
  background: var(--slg-bg-warm, #FAF7F1);
  margin-top: -1px; /* seamless join with the section above */
}
/* When team-bare immediately follows why-us, collapse the why-us bottom
   padding so the two sections read as one continuous block. */
.slg-home-why:has(+ .slg-home-team--bare) {
  padding-bottom: 0.75rem;
}
.slg-home-team {
  padding: 5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
  position: relative;
}
.slg-home-team .slg-section__header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 3rem;
}
.slg-home-team__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  max-width: 1080px;
  margin: 0 auto;
}
.slg-home-attorney {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: var(--slg-radius);
  border: 1px solid var(--slg-border);
  overflow: hidden;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
  position: relative;
}
.slg-home-attorney::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--slg-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: 2;
}
.slg-home-attorney:hover,
.slg-home-attorney:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(19, 25, 54, 0.14);
  border-color: var(--slg-gold);
}
.slg-home-attorney:hover::before,
.slg-home-attorney:focus-visible::before { transform: scaleX(1); }

.slg-home-attorney__photo {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-home-attorney__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.5s ease;
}
.slg-home-attorney:hover .slg-home-attorney__photo img,
.slg-home-attorney:focus-visible .slg-home-attorney__photo img {
  transform: scale(1.03);
}
.slg-home-attorney__photo::after {
  /* subtle gradient overlay at bottom so name/role has implicit breathing room on hover */
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(19, 25, 54, 0.12) 100%);
  pointer-events: none;
}

.slg-home-attorney__body {
  padding: 1.25rem 1.25rem 1.375rem;
}
.slg-home-attorney__name {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.2rem;
  line-height: 1.2;
}
.slg-home-attorney__role {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin-bottom: 0.625rem;
}
.slg-home-attorney__link {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  transition: color 0.15s ease;
}
.slg-home-attorney:hover .slg-home-attorney__link { color: var(--slg-gold-dark, #B8873B); }

.slg-home-team__all {
  text-align: center;
  margin: 2.5rem 0 0;
}
.slg-home-team__all a {
  font-family: var(--slg-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--slg-navy);
}

@media (max-width: 960px) {
  .slg-home-team { padding: 3.5rem 0; }
  .slg-home-team__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; max-width: 560px; }
}
@media (max-width: 520px) {
  .slg-home-team__grid { grid-template-columns: 1fr; max-width: 340px; }
}

/* ---------- 4b. Declaration banner (full-width focus statement) ---------- */
.slg-home-declaration {
  background: var(--slg-navy);
  color: #fff;
  padding: 4.5rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-home-declaration::before {
  /* top accent stripe */
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 50%, transparent 100%);
}
.slg-home-declaration::after {
  /* bottom accent stripe */
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 50%, transparent 100%);
}
.slg-home-declaration .slg-container {
  position: relative;
  max-width: 880px;
}
.slg-home-declaration__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--slg-gold);
  margin-bottom: 1.5rem;
  opacity: 0.85;
}
.slg-home-declaration__line {
  font-family: var(--slg-font-display);
  font-size: clamp(1.625rem, 3.4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
  letter-spacing: -0.005em;
}
.slg-home-declaration__line em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  color: var(--slg-gold);
  font-size: 1.08em;
}
.slg-home-declaration__sub {
  max-width: 640px;
  margin: 1.75rem auto 0;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  text-align: center;
}
.slg-home-declaration__sub-mic {
  display: inline-block;
  margin-top: 0.375rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  color: rgba(255, 255, 255, 0.95);
}
.slg-home-declaration__cta {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.slg-home-declaration__cta-tagline {
  font-family: var(--slg-font-display);
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: #fff;
  margin: 0;
  line-height: 1.2;
}
.slg-home-declaration__cta-btn {
  /* "special treatment" — larger than standard, with a soft gold glow */
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1.25rem 2.75rem;
  font-size: 1rem;
  letter-spacing: 0.08em;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.5),
    0 0 32px rgba(216, 187, 134, 0.28);
  position: relative;
}
.slg-home-declaration__cta-btn::after {
  /* subtle inner highlight on the button — gives it a polished, premium feel */
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, transparent 35%);
  pointer-events: none;
}
.slg-home-declaration__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 22px 44px rgba(0, 0, 0, 0.55),
    0 0 44px rgba(216, 187, 134, 0.45);
}
.slg-home-declaration__cta-btn svg {
  position: relative;
  z-index: 1;
  transition: transform 0.2s ease;
}
.slg-home-declaration__cta-btn:hover svg {
  transform: translateX(4px);
}
.slg-home-declaration__cta-note {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin: 0;
}

@media (max-width: 760px) {
  .slg-home-declaration { padding: 3rem 0; }
  .slg-home-declaration__line { font-size: 1.375rem; line-height: 1.3; }
  .slg-home-declaration__line br { display: none; } /* let the line flow naturally */
  .slg-home-declaration__sub { font-size: 0.9375rem; line-height: 1.55; margin-top: 1.25rem; }
  .slg-home-declaration__cta { margin-top: 2rem; gap: 0.875rem; }
  .slg-home-declaration__cta-tagline { font-size: 1.125rem; }
  .slg-home-declaration__cta-btn { padding: 1.05rem 2rem; font-size: 0.9375rem; letter-spacing: 0.06em; }
  .slg-home-declaration__cta-note { font-size: 0.6875rem; letter-spacing: 0.12em; }
}

/* ---------- Team section title emphasis (matches banner typography) ---------- */
.slg-home-team__header { max-width: 820px !important; }
.slg-home-team__title {
  font-size: clamp(1.75rem, 3vw, 2.375rem) !important;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.slg-home-team__title em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  color: var(--slg-gold-dark, #B8873B);
}

/* ---------- Homepage: Google-branded reviews badge ---------- */
.slg-home-google-badge {
  display: block;
  max-width: 560px;
  margin: 0 auto 3rem;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(19, 25, 54, 0.08), 0 1px 4px rgba(19, 25, 54, 0.05);
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.slg-home-google-badge:hover,
.slg-home-google-badge:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(19, 25, 54, 0.14), 0 3px 10px rgba(19, 25, 54, 0.08);
}
/* Google's 4-color top stripe — instantly recognizable */
.slg-home-google-badge__stripe {
  height: 4px;
  background:
    linear-gradient(to right,
      #4285F4 0%, #4285F4 25%,
      #34A853 25%, #34A853 50%,
      #FBBC04 50%, #FBBC04 75%,
      #EA4335 75%, #EA4335 100%);
}
.slg-home-google-badge__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1.5rem 1.75rem;
}
.slg-home-google-badge__logo {
  flex-shrink: 0;
  /* The Google G logo stands on its own — no treatment needed */
}
.slg-home-google-badge__body {
  min-width: 0;
}
.slg-home-google-badge__label {
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-text-light);
  margin-bottom: 0.35rem;
}
.slg-home-google-badge__rating {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  line-height: 1;
  margin-bottom: 0.35rem;
}
.slg-home-google-badge__rating strong {
  font-family: var(--slg-font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1;
  letter-spacing: -0.02em;
}
.slg-home-google-badge__stars {
  color: #FBBC04;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}
.slg-home-google-badge__count {
  font-size: 0.875rem;
  color: var(--slg-text-mut);
  line-height: 1.35;
}
.slg-home-google-badge__count strong {
  color: var(--slg-navy);
  font-weight: 700;
}
.slg-home-google-badge__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slg-navy);
  border: 1.5px solid var(--slg-navy);
  padding: 0.6rem 1rem;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
}
.slg-home-google-badge__cta svg { transition: transform 0.18s ease; }
.slg-home-google-badge:hover .slg-home-google-badge__cta,
.slg-home-google-badge:focus-visible .slg-home-google-badge__cta {
  background: var(--slg-navy);
  color: #fff;
}
.slg-home-google-badge:hover .slg-home-google-badge__cta svg,
.slg-home-google-badge:focus-visible .slg-home-google-badge__cta svg { transform: translateX(3px); }

@media (max-width: 640px) {
  .slg-home-google-badge__inner {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    padding: 1.25rem 1.25rem 1rem;
    gap: 0.875rem;
  }
  .slg-home-google-badge__logo { width: 52px; height: 52px; }
  .slg-home-google-badge__rating strong { font-size: 1.625rem; }
  .slg-home-google-badge__cta {
    grid-column: 1 / -1;
    justify-content: center;
    padding: 0.75rem 1rem;
    margin-top: 0.25rem;
  }
}

/* Hide the old rating pill styles — superseded */
.slg-home-testimonials__rating { display: none; }

/* Scroll offset so #slg-contact-form anchor clears the sticky header */
#slg-contact-form { scroll-margin-top: 100px; }

/* ---------- Homepage testimonials ticker (horizontal continuous scroll) ---------- */
.slg-home-testimonials__ticker {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0.5rem 0;
  /* Fade edges to infinity */
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.slg-home-testimonials__ticker-track {
  display: flex;
  align-items: stretch;
  gap: 1.25rem;
  width: max-content;
  animation: slg-testimonials-scroll 110s linear infinite;
}
.slg-home-testimonials__ticker:hover .slg-home-testimonials__ticker-track,
.slg-home-testimonials__ticker:focus-within .slg-home-testimonials__ticker-track {
  animation-play-state: paused;
}

@keyframes slg-testimonials-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.slg-home-testimonial-card {
  flex: 0 0 auto;
  width: 320px;
  margin: 0;
  padding: 1.5rem 1.375rem 1.25rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  box-shadow: 0 2px 6px rgba(19, 25, 54, 0.05);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.slg-home-testimonial-card:hover {
  box-shadow: 0 10px 24px rgba(19, 25, 54, 0.12);
  transform: translateY(-2px);
}
.slg-home-testimonial-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.slg-home-testimonial-card__stars {
  color: #FBBC04;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  line-height: 1;
}
.slg-home-testimonial-card__g {
  flex-shrink: 0;
  opacity: 0.85;
}
.slg-home-testimonial-card blockquote {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text);
  flex: 1;
}
.slg-home-testimonial-card figcaption {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--slg-navy);
  letter-spacing: 0.03em;
  padding-top: 0.5rem;
  border-top: 1px solid var(--slg-border);
}

@media (prefers-reduced-motion: reduce) {
  .slg-home-testimonials__ticker {
    -webkit-mask-image: none;
            mask-image: none;
  }
  .slg-home-testimonials__ticker-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
    gap: 1rem;
    padding: 0 0.75rem;
  }
  .slg-home-testimonial-card { width: 100%; max-width: 360px; }
}

/* ---------- Testimonials "see all" CTA ---------- */
.slg-home-testimonials__see-all {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
  text-align: center;
  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--slg-border);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.slg-home-testimonials__see-all-eyebrow {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
}
.slg-home-testimonials__see-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 2rem;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  background: #fff;
  color: var(--slg-navy);
  border: 2px solid var(--slg-navy);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.slg-home-testimonials__see-all-btn:hover {
  background: var(--slg-navy);
  color: #fff;
  border-color: var(--slg-navy);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.18);
}
.slg-home-testimonials__see-all-btn svg {
  transition: transform 0.2s ease;
}
.slg-home-testimonials__see-all-btn:hover svg {
  transform: translateX(3px);
}
.slg-home-testimonials__see-all-note {
  margin: 0;
  font-size: 0.875rem;
  color: var(--slg-text-mut);
}

@media (max-width: 760px) {
  .slg-home-testimonials__see-all { margin-top: 2rem; padding-top: 2rem; }
  .slg-home-testimonials__see-all-btn { padding: 0.875rem 1.5rem; font-size: 0.875rem; }
}

@media (max-width: 600px) {
  .slg-home-testimonial-card { width: 280px; padding: 1.25rem 1.125rem 1rem; }
  .slg-home-testimonials__ticker-track { gap: 0.875rem; }
}

/* Hide old grid styles — replaced by ticker */
.slg-home-testimonials__grid { display: none; }
.slg-home-testimonials__more { display: none; }

/* ---------- Homepage: paired Google badges (Reviews + Screened) ---------- */
.slg-home-google-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  max-width: 760px;
  margin: 0 auto 3rem;
}

/* Override earlier standalone .slg-home-google-badge sizing to fit in pair */
.slg-home-google-badges .slg-home-google-badge {
  max-width: none;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.slg-home-google-badges .slg-home-google-badge__inner {
  grid-template-columns: auto 1fr;
  padding: 1.25rem 1.375rem 1rem;
  gap: 1rem;
  flex: 1;
}
.slg-home-google-badge__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem 1rem;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slg-navy);
  background: #F8F8FB;
  border-top: 1px solid var(--slg-border);
  transition: background 0.15s ease, color 0.15s ease;
}
.slg-home-google-badge__footer svg { transition: transform 0.18s ease; }
.slg-home-google-badge:hover .slg-home-google-badge__footer {
  background: var(--slg-navy);
  color: #fff;
}
.slg-home-google-badge:hover .slg-home-google-badge__footer svg {
  transform: translateX(3px);
}

/* Screened-specific styling */
.slg-home-google-badge--screened {
  /* Non-link version shouldn't look interactive */
}
.slg-home-google-badge--screened:not(a) {
  cursor: default;
}
.slg-home-google-badge--screened:not(a):hover {
  transform: none;
  box-shadow: 0 4px 18px rgba(19, 25, 54, 0.08), 0 1px 4px rgba(19, 25, 54, 0.05);
}
.slg-home-google-badge--screened:not(a):hover .slg-home-google-badge__footer {
  background: #F8F8FB;
  color: var(--slg-navy);
}
.slg-home-google-badge__shield {
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(26, 115, 232, 0.25));
}
.slg-home-google-badge__inline-g {
  vertical-align: middle;
  margin-right: 0.3rem;
}
.slg-home-google-badge__screened-title strong {
  font-family: var(--slg-font-display);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.01em;
  line-height: 1.15;
  display: block;
}
.slg-home-google-badge__footer--screened {
  color: #1A73E8;
  background: #EBF3FE;
  border-top-color: #D4E4FB;
}
.slg-home-google-badge__footer--screened svg {
  color: #1A73E8;
  flex-shrink: 0;
}

/* Stack vertically on narrow screens */
@media (max-width: 640px) {
  .slg-home-google-badges {
    grid-template-columns: 1fr;
    max-width: 420px;
  }
  .slg-home-google-badge__screened-title strong { font-size: 1.25rem; }
}

/* Remove the old CTA row since we're using footer now */
.slg-home-google-badge__cta { display: none; }

/* Testimonials H2 italic emphasis on the punchline */
.slg-home-testimonials__title {
  max-width: 820px;
  margin: 0 auto 0.5rem;
  line-height: 1.2;
}
.slg-home-testimonials__title em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  color: var(--slg-gold-dark, #B8873B);
}

/* Why Us H2 italic emphasis on the pivot phrase */
.slg-home-why__content h2 em,
.slg-home-why__content p em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  color: var(--slg-gold-dark, #B8873B);
}

.slg-home-resources__more-sep { margin: 0 0.75rem; color: var(--slg-text-light); opacity: 0.6; }

/* Process section lead italic emphasis on the punchline */
.slg-home-process__header .slg-lead em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  color: var(--slg-gold-dark, #B8873B);
}

/* Process H2 italic emphasis */
.slg-home-process__header h2 em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  color: var(--slg-gold-dark, #B8873B);
}

/* Process section CTA block (after the 4 steps) */
.slg-home-process__cta {
  text-align: center;
  margin: 3.5rem auto 0;
  max-width: 520px;
  padding-top: 2.5rem;
  border-top: 1px solid var(--slg-border);
}
.slg-home-process__cta-lead {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.125rem;
  line-height: 1.4;
  color: var(--slg-navy);
  margin: 0 0 1.25rem;
}
.slg-home-process__cta-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 1.875rem !important;
  font-size: 1rem !important;
}
.slg-home-process__cta-btn svg { transition: transform 0.18s ease; }
.slg-home-process__cta-btn:hover svg,
.slg-home-process__cta-btn:focus-visible svg { transform: translateX(3px); }
.slg-home-process__cta-alt {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  color: var(--slg-text-mut);
}
.slg-home-process__cta-alt a {
  color: var(--slg-navy);
  text-decoration: none;
  border-bottom: 1px dotted var(--slg-border);
  padding-bottom: 1px;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.slg-home-process__cta-alt a:hover {
  color: var(--slg-gold-dark, #B8873B);
  border-bottom-color: var(--slg-gold);
}

/* ====================================================================
   Landing page: /free-case-review/
   ==================================================================== */

.slg-lp-wrap { background: #fff; }
.slg-lp { margin: 0; }
.slg-lp section { position: relative; }

/* ---------- Hero ---------- */
.slg-lp-hero {
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  padding: 4rem 0 3.5rem;
  overflow: hidden;
  position: relative;
}
.slg-lp-hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
.slg-lp-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 35%, rgba(216,187,134,0.10) 0%, transparent 55%),
    radial-gradient(circle at 75% 70%, rgba(216,187,134,0.08) 0%, transparent 55%);
  pointer-events: none;
}
.slg-lp-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 3rem;
  align-items: center;
  position: relative;
}
.slg-lp-hero__photo {
  display: block;
}
.slg-lp-hero__photo img {
  display: block;
  width: 100%;
  max-width: 380px;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 16px;
  box-shadow:
    0 28px 60px rgba(0, 0, 0, 0.5),
    0 10px 24px rgba(0, 0, 0, 0.32);
  margin-left: auto; /* push photo toward center, copy gets the breathing room */
}
.slg-lp-hero__copy {
  text-align: left;
}
.slg-lp-hero__eyebrow {
  display: inline-block;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold);
  margin-bottom: 0.875rem;
}
.slg-lp-hero__title {
  font-family: var(--slg-font-display);
  font-size: clamp(2.25rem, 4.5vw, 3.25rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 1rem;
  line-height: 1.1;
  letter-spacing: -0.015em;
}
.slg-lp-hero__sub {
  font-size: 1.125rem;
  line-height: 1.55;
  color: rgba(255,255,255,0.82);
  margin: 0 0 1.5rem;
  max-width: 560px;
}

@media (max-width: 860px) {
  .slg-lp-hero__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .slg-lp-hero__photo img {
    max-width: 280px;
    margin: 0 auto;
  }
  .slg-lp-hero__copy { text-align: center; }
  .slg-lp-hero__sub { margin-left: auto; margin-right: auto; }
}
.slg-lp-hero__reviews {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 99px;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: background 0.15s ease;
}
.slg-lp-hero__reviews:hover { background: rgba(255,255,255,0.14); color: #fff; }
.slg-lp-hero__reviews strong { color: #fff; font-family: var(--slg-font-display); font-weight: 700; }
.slg-lp-hero__stars { color: #FBBC04; font-size: 0.9375rem; letter-spacing: 0.04em; }
.slg-lp-hero__reviews-count { color: rgba(255,255,255,0.65); }

/* ---------- Main: form + trust sidebar ---------- */
.slg-lp-main {
  padding: 3.5rem 0 4rem;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-lp-main__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: start;
}

/* Form card */
.slg-lp-form-card {
  background: #fff;
  border-radius: 14px;
  padding: 2rem 2.25rem 1.75rem;
  box-shadow: 0 6px 24px rgba(19,25,54,0.08), 0 1px 4px rgba(19,25,54,0.04);
  border: 1px solid var(--slg-border);
  position: relative;
}
.slg-lp-form-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background: var(--slg-gold);
}
.slg-lp-form { display: grid; gap: 1rem; }
.slg-lp-form__row--half { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.slg-lp-form__field { display: flex; flex-direction: column; gap: 0.375rem; }
.slg-lp-form__label {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
}
.slg-lp-form input[type="text"],
.slg-lp-form input[type="email"],
.slg-lp-form input[type="tel"],
.slg-lp-form select,
.slg-lp-form textarea {
  width: 100%;
  font-family: var(--slg-font-body);
  font-size: 1rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--slg-border);
  border-radius: 8px;
  background: #fff;
  color: var(--slg-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.slg-lp-form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23525867' d='M6 8.5L2 4.5h8z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; padding-right: 2rem; }
.slg-lp-form textarea { resize: vertical; min-height: 5rem; font-family: var(--slg-font-body); line-height: 1.5; }
.slg-lp-form input:focus,
.slg-lp-form select:focus,
.slg-lp-form textarea:focus {
  outline: 0;
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.25);
}
.slg-lp-form__submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem !important;
  font-size: 1.0625rem !important;
  margin-top: 0.5rem;
}
.slg-lp-form__submit svg { transition: transform 0.18s ease; }
.slg-lp-form__submit:hover svg,
.slg-lp-form__submit:focus-visible svg { transform: translateX(3px); }
.slg-lp-form__privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: var(--slg-text-light);
  text-align: center;
  margin: 0.5rem 0 0;
}

/* Trust sidebar */
.slg-lp-trust {
  padding: 0;
}
.slg-lp-trust__quote {
  margin: 0 0 1.25rem;
  padding: 1.5rem 1.5rem 1.25rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  border-radius: 12px;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1rem;
  line-height: 1.45;
  font-style: normal;
  position: relative;
}
.slg-lp-trust__quote-cite {
  display: block;
  margin-top: 0.875rem;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slg-gold);
}
.slg-lp-trust__quote::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.slg-lp-trust__quote em {
  font-style: italic;
  color: var(--slg-gold);
  font-weight: 500;
}
.slg-lp-trust__steps {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  gap: 0.875rem;
}
.slg-lp-trust__steps li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 0.75rem;
  align-items: start;
}
.slg-lp-trust__step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--slg-gold-soft, #F7EDD5);
  color: var(--slg-navy);
  border-radius: 50%;
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
}
.slg-lp-trust__steps div { display: flex; flex-direction: column; gap: 0.125rem; padding-top: 3px; }
.slg-lp-trust__steps strong {
  font-family: var(--slg-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.25;
}
.slg-lp-trust__steps span {
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  line-height: 1.4;
}
.slg-lp-trust__phone {
  padding: 1rem 1.25rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--slg-border);
  text-align: center;
}
.slg-lp-trust__phone > span {
  display: block;
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  margin-bottom: 0.25rem;
}
.slg-lp-trust__phone a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--slg-navy);
  text-decoration: none;
}
.slg-lp-trust__phone a:hover { color: var(--slg-gold-dark, #B8873B); }
.slg-lp-trust__phone a svg { color: var(--slg-gold-dark, #B8873B); }
.slg-lp-trust__phone em {
  display: block;
  font-style: normal;
  font-size: 0.75rem;
  color: var(--slg-text-light);
  margin-top: 0.25rem;
  letter-spacing: 0.02em;
}

@media (max-width: 900px) {
  .slg-lp-main__inner { grid-template-columns: 1fr; gap: 2rem; }
  .slg-lp-form-card { padding: 1.5rem 1.5rem 1.25rem; }
  .slg-lp-form__row--half { grid-template-columns: 1fr; }
}

/* ---------- Trust band (stats + testimonials) ---------- */
.slg-lp-trustband {
  padding: 3rem 0 3.5rem;
  background: #fff;
  border-bottom: 1px solid var(--slg-border);
}
.slg-lp-trustband__stats {
  list-style: none;
  padding: 0;
  margin: 0 0 2.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  text-align: center;
}
.slg-lp-trustband__stats li {
  padding: 0.5rem 1rem;
  border-right: 1px solid var(--slg-border);
}
.slg-lp-trustband__stats li:last-child { border-right: 0; }
.slg-lp-trustband__stats strong {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.05;
  margin-bottom: 0.375rem;
  letter-spacing: -0.01em;
}
.slg-lp-trustband__stats span {
  font-size: 0.875rem;
  color: var(--slg-text-mut);
  line-height: 1.35;
}
@media (max-width: 720px) {
  .slg-lp-trustband__stats { grid-template-columns: repeat(2, 1fr); gap: 1.25rem 0.75rem; }
  .slg-lp-trustband__stats li { border-right: 0; }
  .slg-lp-trustband__stats li:nth-child(odd) { border-right: 1px solid var(--slg-border); }
  .slg-lp-trustband__stats strong { font-size: 1.75rem; }
}

/* ---------- FAQ ---------- */
.slg-lp-faq {
  padding: 3.5rem 0 4.5rem;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-lp-faq__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.5rem, 2.5vw, 1.875rem);
  font-weight: 700;
  color: var(--slg-navy);
  text-align: center;
  margin: 0 auto 2.25rem;
  max-width: 720px;
  line-height: 1.25;
}
.slg-lp-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 760px;
  margin: 0 auto;
}
.slg-lp-faq__item {
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: 10px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.slg-lp-faq__item[open] { border-color: var(--slg-gold); }
.slg-lp-faq__item summary {
  padding: 1.1rem 1.375rem;
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 600;
  color: var(--slg-navy);
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 3rem;
  user-select: none;
  transition: background 0.15s ease;
}
.slg-lp-faq__item summary::-webkit-details-marker { display: none; }
.slg-lp-faq__item summary:hover { background: var(--slg-bg-warm, #FAF7F1); }
.slg-lp-faq__item summary::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--slg-gold-dark, #B8873B);
  border-bottom: 2px solid var(--slg-gold-dark, #B8873B);
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s ease;
}
.slg-lp-faq__item[open] summary::after {
  transform: translateY(-30%) rotate(-135deg);
}
.slg-lp-faq__item p {
  padding: 0 1.375rem 1.25rem;
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--slg-text);
}
.slg-lp-faq__item p a { color: var(--slg-navy); font-weight: 600; }

@media (max-width: 720px) {
  .slg-lp-faq { padding: 2.5rem 0 3rem; }
}

/* ---------- Tight footer margin on landing page (same pattern as homepage) ---------- */
.slg-lp-wrap + .slg-site-footer { margin-top: 0; }

/* Office page: Get Directions button — prominent, high-contrast */
.slg-office__directions-cta { margin: 1.25rem 0 0; }
.slg-office__directions-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 14px rgba(216, 187, 134, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  animation: slg-directions-pulse 2.5s ease-in-out 1s 2; /* gentle 2x pulse on load */
}
.slg-office__directions-btn:hover,
.slg-office__directions-btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(216, 187, 134, 0.55);
}
.slg-office__directions-btn svg { color: var(--slg-navy); transition: transform 0.25s ease; }
.slg-office__directions-btn:hover svg { transform: rotate(15deg) scale(1.1); }
@keyframes slg-directions-pulse {
  0%, 100% { box-shadow: 0 4px 14px rgba(216, 187, 134, 0.35); }
  50%      { box-shadow: 0 4px 28px rgba(216, 187, 134, 0.65); }
}
@media (prefers-reduced-motion: reduce) {
  .slg-office__directions-btn { animation: none; }
  .slg-office__directions-btn:hover svg { transform: none; }
}

/* ====================================================================
   Office page: cleaner header + rewritten content sections
   ==================================================================== */

/* Header: eyebrow + simple city-based H1 */
.slg-office__eyebrow {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin-bottom: 0.5rem;
}
.slg-office__title {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.5rem;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

/* Body content sections (rewritten copy uses .slg-office__*-block classes) */
.slg-office__intro-block,
.slg-office__services-block,
.slg-office__remote-block,
.slg-office__area-block {
  padding: 1.25rem 0;
  border-top: 1px solid var(--slg-border);
}
.slg-office__intro-block { border-top: 0; padding-top: 0; }
.slg-office__intro-block h2,
.slg-office__services-block h2,
.slg-office__remote-block h2,
.slg-office__area-block h2 {
  font-family: var(--slg-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.75rem;
  line-height: 1.3;
}
.slg-office__body p {
  line-height: 1.6;
  color: var(--slg-text);
}
.slg-office__body ul {
  padding-left: 1.25rem;
  margin: 0.75rem 0 0;
}
.slg-office__body ul li {
  margin: 0.5rem 0;
  line-height: 1.55;
  color: var(--slg-text);
}
.slg-office__body ul li strong {
  color: var(--slg-navy);
  font-weight: 700;
}

/* ====================================================================
   Offices archive page (/offices/)
   ==================================================================== */

.slg-main--offices-archive { margin: 0; padding: 0; }

/* ---------- 1. Hero ---------- */
.slg-offices-archive__hero {
  padding: 4rem 0 3rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-offices-archive__hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
.slg-offices-archive__hero .slg-eyebrow {
  color: var(--slg-gold) !important;
  letter-spacing: 0.14em;
}
.slg-offices-archive__hero h1 {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 2.875rem);
  font-weight: 700;
  color: #fff;
  margin: 0.75rem auto 1rem;
  line-height: 1.15;
  max-width: 760px;
  letter-spacing: -0.015em;
}
.slg-offices-archive__hero .slg-lead {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.8);
  margin: 0 auto;
  max-width: 720px;
}

/* ---------- 2. Office cards ---------- */
.slg-offices-archive__grid-section {
  padding: 3rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
}
/* Compact variant: no heading, reduced padding so the sales copy below it is nearer the fold */
.slg-offices-archive__grid-section--compact { padding: 2rem 0 2.25rem; }
.slg-offices-archive__grid-section--compact .slg-offices-archive__grid { gap: 1.25rem; }
.slg-offices-archive__grid-section--compact .slg-office-card { padding: 1.25rem 1.5rem 1.125rem; }
.slg-offices-archive__grid-section--compact .slg-office-card__city { font-size: 1.25rem; margin: 0 0 0.75rem; }
.slg-offices-archive__grid-section--compact .slg-office-card__address { padding: 0.625rem 0; margin: 0 0 0.75rem; font-size: 0.9rem; }
.slg-offices-archive__grid-section--compact .slg-office-card__meta { margin: 0 0 0.875rem; }
.slg-offices-archive__grid-section--compact .slg-office-card__meta li { font-size: 0.8125rem; }
.slg-offices-archive__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem;
  max-width: 960px;
  margin: 0 auto;
}
.slg-office-card {
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: 14px;
  padding: 1.75rem 1.875rem 1.625rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
  display: flex;
  flex-direction: column;
}
.slg-office-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--slg-gold);
}
.slg-office-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.12);
}
.slg-office-card__label {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin-bottom: 0.375rem;
}
.slg-office-card__city {
  font-family: var(--slg-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 1rem;
  line-height: 1.2;
}
.slg-office-card__body { flex: 1; }
.slg-office-card__address {
  font-style: normal;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--slg-text);
  margin: 0 0 1rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--slg-border);
  border-bottom: 1px solid var(--slg-border);
}
.slg-office-card__meta {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  display: grid;
  gap: 0.5rem;
}
.slg-office-card__meta li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 0.625rem;
  align-items: baseline;
  font-size: 0.875rem;
}
.slg-office-card__meta-label {
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--slg-text-light);
}
.slg-office-card__meta a {
  color: var(--slg-navy);
  text-decoration: none;
  font-weight: 600;
}
.slg-office-card__meta a:hover { color: var(--slg-gold-dark, #B8873B); }
.slg-office-card__actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.625rem;
  margin-top: auto;
}
.slg-office-card__visit {
  padding: 0.625rem 1rem !important;
  font-size: 0.875rem !important;
  text-align: center;
}
.slg-office-card__directions {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.625rem 1rem !important;
  font-size: 0.875rem !important;
}

@media (max-width: 720px) {
  .slg-offices-archive__grid { grid-template-columns: 1fr; gap: 1.25rem; max-width: 420px; }
  .slg-office-card__actions { grid-template-columns: 1fr; }
  .slg-office-card__visit, .slg-office-card__directions { text-align: center; justify-content: center; }
}

/* ---------- 3. Remote-handling block ---------- */
.slg-offices-archive__remote {
  padding: 4rem 0;
  background: #fff;
}
.slg-offices-archive__remote-inner {
  max-width: 760px;
  text-align: center;
}
.slg-offices-archive__remote-inner .slg-eyebrow {
  color: var(--slg-gold-dark, #B8873B);
}
.slg-offices-archive__remote h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0.75rem 0 1.25rem;
  line-height: 1.2;
}
.slg-offices-archive__remote p {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--slg-text);
  margin: 0 0 1rem;
}
.slg-offices-archive__remote-tagline {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  color: var(--slg-navy) !important;
  margin-top: 1.25rem !important;
}
.slg-offices-archive__remote-tagline strong { font-weight: 600; }

/* ---------- 4. CTA ---------- */
.slg-offices-archive__cta {
  padding: 4rem 0 4.5rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.slg-offices-archive__cta::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
.slg-offices-archive__cta-inner {
  text-align: center;
  max-width: 640px;
}
.slg-offices-archive__cta h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.625rem, 3vw, 2.125rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.5rem;
}
.slg-offices-archive__cta p {
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
  margin: 0 0 1.75rem;
}
.slg-offices-archive__cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.slg-offices-archive__cta-actions .slg-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 1.75rem !important;
  font-size: 1rem !important;
}
.slg-offices-archive__cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  padding: 0.7rem 1rem;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.slg-offices-archive__cta-phone:hover,
.slg-offices-archive__cta-phone:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--slg-gold);
  color: #fff;
}
.slg-offices-archive__cta-phone svg { color: var(--slg-gold); }

/* No extra footer margin when offices archive transitions into footer CTA */
.slg-main--offices-archive + .slg-site-footer { margin-top: 0; }

/* Hero H1 italic emphasis (matches site-wide pattern) */
.slg-offices-archive__hero h1 em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  color: var(--slg-gold);
}
.slg-offices-archive__hero .slg-lead em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--slg-gold);
}

/* ---------- Section 2: "Local attorney myth" ---------- */
.slg-offices-archive__myth {
  padding: 4.5rem 0;
  background: #fff;
}
/* 2-column layout: myth-busting copy on left, office cards on right */
.slg-offices-archive__myth-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
  max-width: 1180px;
}
.slg-offices-archive__myth-text { text-align: left; min-width: 0; }
.slg-offices-archive__myth h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.625rem, 2.6vw, 2.125rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0.75rem 0 1.5rem;
  line-height: 1.25;
}
.slg-offices-archive__myth h2 em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  color: var(--slg-gold-dark, #B8873B);
}
.slg-offices-archive__myth-body {
  text-align: left;
}
.slg-offices-archive__myth-body p {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--slg-text);
  margin: 0 0 1rem;
}
.slg-offices-archive__myth-body p:last-child { margin-bottom: 0; }

/* Right column: compact office cards stacked vertically */
.slg-offices-archive__myth-offices {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  position: sticky;
  top: 6rem;
}
.slg-offices-archive__myth-offices-label {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin: 0 0 0.25rem;
}

/* Compact card variant — sized for the sidebar column */
.slg-office-card--compact {
  padding: 1.5rem 1.5rem 1.375rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  box-shadow: 0 4px 14px rgba(19, 25, 54, 0.05);
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  text-align: left;
}
.slg-office-card--compact .slg-office-card__city {
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0;
  letter-spacing: -0.005em;
}
.slg-office-card--compact .slg-office-card__address {
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--slg-text);
  margin: 0;
}
.slg-office-card--compact .slg-office-card__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  border-top: 1px solid var(--slg-border);
  padding-top: 0.75rem;
}
.slg-office-card--compact .slg-office-card__meta li {
  display: flex;
  gap: 0.625rem;
  font-size: 0.8125rem;
  align-items: baseline;
}
.slg-office-card--compact .slg-office-card__meta-label {
  font-family: var(--slg-font-display);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
  width: 42px;
  flex-shrink: 0;
}
.slg-office-card--compact .slg-office-card__meta a {
  color: var(--slg-navy);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--slg-border);
}
.slg-office-card--compact .slg-office-card__meta a:hover { border-color: var(--slg-gold); }
.slg-office-card--compact .slg-office-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.25rem;
}
.slg-office-card--compact .slg-office-card__directions {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.slg-office-card--compact .slg-office-card__visit-link {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  text-decoration: none;
  transition: color 0.15s ease;
}
.slg-office-card--compact .slg-office-card__visit-link:hover {
  color: var(--slg-gold-dark, #B8873B);
}

/* Mobile: stack the 2-column layout */
@media (max-width: 900px) {
  .slg-offices-archive__myth-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .slg-offices-archive__myth-offices {
    position: static;
  }
}
.slg-offices-archive__myth-body strong { color: var(--slg-navy); font-weight: 700; }
.slg-offices-archive__myth-body em {
  font-style: italic;
  color: var(--slg-navy);
  font-weight: 600;
}

/* ---------- Section 3: How we work ---------- */
.slg-offices-archive__how {
  padding: 4.5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-offices-archive__how-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 3rem;
}
.slg-offices-archive__how-header h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0.75rem 0 0.75rem;
  line-height: 1.25;
}
.slg-offices-archive__how-header .slg-lead {
  font-size: 1.0625rem;
  color: var(--slg-text-mut);
  margin: 0;
}
.slg-offices-archive__how-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 1.75rem;
  max-width: 920px;
  margin: 0 auto;
}
.slg-offices-archive__how-list li {
  padding: 1.25rem 1.375rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.875rem;
  row-gap: 0.2rem;
  align-items: start;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.slg-offices-archive__how-list li:hover {
  border-color: var(--slg-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(19, 25, 54, 0.08);
}
.slg-offices-archive__how-icon {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--slg-gold-soft, #F7EDD5);
  color: var(--slg-gold-dark, #B8873B);
  border-radius: 10px;
  flex-shrink: 0;
  margin-top: 0.15rem;
}
.slg-offices-archive__how-list li strong {
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.25;
}
.slg-offices-archive__how-list li > span:not(.slg-offices-archive__how-icon) {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
}

@media (max-width: 720px) {
  .slg-offices-archive__how-list { grid-template-columns: 1fr; }
}

/* ---------- Section 4: grid-header preamble to office cards ---------- */
.slg-offices-archive__grid-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem;
}
.slg-offices-archive__grid-header h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0.75rem 0 0.75rem;
  line-height: 1.25;
}
.slg-offices-archive__grid-header .slg-lead {
  font-size: 1rem;
  color: var(--slg-text-mut);
  margin: 0;
}

/* ---------- Section 5: Pull quote ---------- */
.slg-offices-archive__pullquote {
  padding: 3.5rem 0;
  background: #fff;
  border-top: 1px solid var(--slg-border);
  border-bottom: 1px solid var(--slg-border);
}
.slg-offices-archive__pullquote-inner {
  max-width: 780px;
  text-align: center;
}
.slg-offices-archive__pullquote-body {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.25rem, 2.4vw, 1.625rem);
  line-height: 1.5;
  color: var(--slg-navy);
  margin: 0;
  font-style: normal;
}
.slg-offices-archive__pullquote-body em {
  font-style: italic;
  color: var(--slg-gold-dark, #B8873B);
  display: block;
  margin-top: 0.5rem;
  font-size: 0.92em;
}

/* ---------- Hero form card (replaces the hero image) ---------- */
.slg-home-hero__form-card {
  /* Darker-than-navy tint creates an "inset" feel — card reads as a carved panel
     within the hero rather than floating on top of it. */
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 1.75rem 1.75rem 1.5rem;
  position: relative;
  box-shadow:
    0 24px 50px rgba(0, 0, 0, 0.4),
    0 8px 20px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);  /* faint top-edge light — feels premium */
}
.slg-home-hero__form-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.slg-home-hero__form-head {
  margin-bottom: 1.125rem;
  text-align: center;
}
.slg-home-hero__form-hook {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.625rem;
  font-weight: 400;
  color: var(--slg-gold);
  margin: 0 0 0.625rem;
  line-height: 1.1;
  letter-spacing: -0.005em;
}
.slg-home-hero__form-eyebrow {
  display: block;
  font-family: var(--slg-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slg-gold);
  margin-bottom: 0.5rem;
}
.slg-home-hero__form-title {
  font-family: var(--slg-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.slg-home-hero__form {
  display: grid;
  gap: 0.625rem;
}
.slg-home-hero__form-field { display: block; }
.slg-home-hero__form input[type="text"],
.slg-home-hero__form input[type="email"],
.slg-home-hero__form input[type="tel"],
.slg-home-hero__form textarea {
  width: 100%;
  font-family: var(--slg-font-body);
  font-size: 0.9375rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.slg-home-hero__form textarea {
  resize: vertical;
  min-height: 3.5rem;
  line-height: 1.4;
  font-family: var(--slg-font-body);
}
.slg-home-hero__form input::placeholder,
.slg-home-hero__form textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.slg-home-hero__form input:focus,
.slg-home-hero__form textarea:focus {
  outline: 0;
  background: rgba(255, 255, 255, 0.14);
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.25);
}
.slg-home-hero__form-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.95rem 1.25rem !important;
  font-size: 1rem !important;
  margin-top: 0.375rem;
}
.slg-home-hero__form-submit svg { transition: transform 0.18s ease; }
.slg-home-hero__form-submit:hover svg,
.slg-home-hero__form-submit:focus-visible svg { transform: translateX(3px); }

/* Success state fits inside the form card */
.slg-home-hero__form-card .slg-lead-form__success {
  text-align: center;
  padding: 1rem 0.25rem;
  color: #fff;
}
.slg-home-hero__form-card .slg-lead-form__success svg { color: var(--slg-gold); margin-bottom: 0.5rem; }
.slg-home-hero__form-card .slg-lead-form__success p { color: rgba(255,255,255,0.9); margin: 0; font-size: 0.9375rem; line-height: 1.5; }

/* Responsive — stack on mobile, form goes below copy */
@media (max-width: 900px) {
  .slg-home-hero__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .slg-home-hero__form-card {
    max-width: 520px;
    margin: 0 auto;
    width: 100%;
  }
}

/* Hero right column: form card + phone button stacked separately */
.slg-home-hero__form-column {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.slg-home-hero__form-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  align-self: center;  /* phone button centered, natural width */
  padding: 0.75rem 1.5rem;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.slg-home-hero__form-phone:hover,
.slg-home-hero__form-phone:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--slg-gold);
  color: #fff;
}
.slg-home-hero__form-phone svg { color: var(--slg-gold); flex-shrink: 0; }

/* ============================================================
   TESTIMONIALS WALL — /testimonials/
   "Wall of love" / pinned-notes layout. CSS columns for masonry,
   subtle per-card rotation + paper-tone color cycling so the
   page reads like a bulletin board of client notes.
   ============================================================ */

.slg-tw-main {
  background:
    radial-gradient(circle at 18% 20%, rgba(216, 187, 134, 0.06) 0%, transparent 45%),
    radial-gradient(circle at 82% 75%, rgba(19, 25, 54, 0.04) 0%, transparent 50%),
    #FBF8F1;
  min-height: 60vh;
}

/* ---------- 1. Hero ---------- */
/* Navy hero with gold accent stripes — same idiom as Our Team and the
   practice-areas archive opener. White H1, gold tagline em, translucent
   white lead. The Google rating pill stays white-on-navy by design —
   it pops as a credibility card against the dark backdrop. */
.slg-tw__hero {
  padding: 5.5rem 0 4.5rem;
  text-align: center;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.slg-tw__hero::before,
.slg-tw__hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-tw__hero::before { top: 0; }
.slg-tw__hero::after { bottom: 0; }
.slg-tw__hero > .slg-container {
  position: relative;
  max-width: 820px;
}
.slg-tw__hero h1 {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  margin: 0.5rem 0 1rem;
  line-height: 1.15;
  text-wrap: balance;
}
.slg-tw__tagline {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  line-height: 1.4;
  color: var(--slg-gold);
  margin: 0 0 1.75rem;
  letter-spacing: 0.005em;
  font-weight: 500;
}
.slg-tw__tagline em {
  font-style: italic;
}
.slg-tw__hero .slg-lead {
  max-width: 640px;
  margin: 0 auto 1.75rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
}
.slg-tw__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.125rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: 99px;
  font-size: 0.9375rem;
  text-decoration: none;
  color: var(--slg-text);
  box-shadow: 0 4px 12px rgba(19, 25, 54, 0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.slg-tw__rating:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(19, 25, 54, 0.1);
}
.slg-tw__rating strong {
  font-family: var(--slg-font-display);
  font-weight: 700;
  color: var(--slg-navy);
  font-size: 1rem;
}
.slg-tw__rating-stars { color: #FBBC04; letter-spacing: 0.04em; font-size: 1rem; }
.slg-tw__rating-count { color: var(--slg-text-mut); }

/* ---------- 1b. Featured review spotlight ---------- */
.slg-tw__featured {
  padding: 1rem 0 2rem;
}
.slg-tw__featured-card {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  padding: 2.75rem 2.5rem 2.25rem;
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--slg-border);
  box-shadow:
    0 4px 12px rgba(19, 25, 54, 0.06),
    0 18px 40px rgba(19, 25, 54, 0.12),
    0 28px 60px rgba(19, 25, 54, 0.08);
  /* gold accent stripe along the left edge — visual "this is the standout" cue */
  border-left: 4px solid var(--slg-gold);
  overflow: hidden;
}
.slg-tw__featured-card::before {
  /* large decorative serif quote mark in the top-left corner */
  content: "\201C";
  position: absolute;
  top: -1.25rem;
  left: 1.5rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 8rem;
  color: rgba(216, 187, 134, 0.18);
  line-height: 1;
  pointer-events: none;
}
.slg-tw__featured-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  background: var(--slg-gold);
  color: var(--slg-navy);
  border-radius: 99px;
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  position: relative;
  z-index: 1;
}
.slg-tw__featured-stars {
  color: #F2A100;
  letter-spacing: 0.1em;
  font-size: 1.375rem;
  margin-bottom: 1rem;
  line-height: 1;
}
.slg-tw__featured-quote {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.125rem, 1.7vw, 1.3125rem);
  line-height: 1.55;
  color: var(--slg-navy);
  margin: 0 0 1.5rem;
  font-style: normal;
  position: relative;
  z-index: 1;
}
.slg-tw__featured-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.875rem;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
}
.slg-tw__featured-source {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  background: rgba(66, 133, 244, 0.08);
  border-radius: 99px;
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #4285F4;
  text-transform: none;
}

@media (max-width: 760px) {
  .slg-tw__featured-card { padding: 2rem 1.5rem 1.75rem; }
  .slg-tw__featured-card::before { font-size: 5rem; top: -0.5rem; left: 0.75rem; }
  .slg-tw__featured-quote { font-size: 1.0625rem; line-height: 1.5; }
}

/* ---------- 2. The wall ---------- */
.slg-tw__board {
  padding: 1.5rem 0 4rem;
}
.slg-tw__wall {
  /* CSS columns = battle-tested masonry. Cards flow naturally,
     variable height creates the post-it look. */
  column-count: 3;
  column-gap: 1.75rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.5rem 0;
}

.slg-tw__card {
  /* prevent split across columns */
  break-inside: avoid;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;

  display: flex;
  flex-direction: column;
  margin: 0 0 1.75rem;
  padding: 1.5rem 1.5rem 1.25rem;
  background: #FBFBF8;
  border-radius: 6px;
  box-shadow:
    0 2px 4px rgba(19, 25, 54, 0.06),
    0 8px 20px rgba(19, 25, 54, 0.10),
    0 14px 32px rgba(19, 25, 54, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  /* subtle paper texture via inset highlight */
  background-image: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, transparent 30%);
}

/* Subtle per-card rotation — cycles every 7 cards so it doesn't feel mechanical */
.slg-tw__card:nth-child(7n+1) { transform: rotate(-1.4deg); }
.slg-tw__card:nth-child(7n+2) { transform: rotate(0.9deg); }
.slg-tw__card:nth-child(7n+3) { transform: rotate(-0.5deg); }
.slg-tw__card:nth-child(7n+4) { transform: rotate(1.2deg); }
.slg-tw__card:nth-child(7n+5) { transform: rotate(-0.9deg); }
.slg-tw__card:nth-child(7n+6) { transform: rotate(0.4deg); }
.slg-tw__card:nth-child(7n+0) { transform: rotate(-1.1deg); }

/* Paper color cycling — warm, professional, NOT garish post-it yellow */
.slg-tw__card:nth-child(5n+1) { background-color: #FBFBF8; }              /* off-white */
.slg-tw__card:nth-child(5n+2) { background-color: #FAF6EC; }              /* cream */
.slg-tw__card:nth-child(5n+3) { background-color: #F4EFE2; }              /* parchment */
.slg-tw__card:nth-child(5n+4) { background-color: #EEF1F6; }              /* very pale blue */
.slg-tw__card:nth-child(5n+5) { background-color: #F1ECDB; }              /* soft sand */

/* Hover: straighten + lift (like picking up the note) */
.slg-tw__card:hover {
  transform: rotate(0deg) translateY(-6px);
  box-shadow:
    0 4px 8px rgba(19, 25, 54, 0.08),
    0 14px 32px rgba(19, 25, 54, 0.16),
    0 24px 48px rgba(19, 25, 54, 0.10);
  z-index: 2;
}

/* Size variants — bias the type up a touch on shorter cards so they don't look thin */
.slg-tw__card--xs .slg-tw__card-quote { font-size: 1.125rem; line-height: 1.45; }
.slg-tw__card--sm .slg-tw__card-quote { font-size: 1.0625rem; line-height: 1.5; }
.slg-tw__card--md .slg-tw__card-quote { font-size: 1rem; line-height: 1.55; }
.slg-tw__card--lg .slg-tw__card-quote { font-size: 0.9375rem; line-height: 1.6; }

/* Card internals */
.slg-tw__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.slg-tw__card-stars {
  color: #F2A100; /* warm amber, matches "real" Google star color better than gold */
  letter-spacing: 0.06em;
  font-size: 1rem;
  line-height: 1;
}
.slg-tw__card-source {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: #fff;
  border: 1px solid rgba(19, 25, 54, 0.08);
  border-radius: 50%;
  flex-shrink: 0;
}
.slg-tw__card-quote {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--slg-navy);
  margin: 0 0 1rem;
  font-style: normal;
  flex-grow: 1;
  /* allow long words / URLs to wrap rather than blow out the card */
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.slg-tw__card-name {
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
  margin: 0;
}

.slg-tw__empty {
  text-align: center;
  color: var(--slg-text-mut);
  padding: 4rem 0;
}

/* Tablet: 2 columns */
@media (max-width: 980px) {
  .slg-tw__wall { column-count: 2; column-gap: 1.25rem; }
  .slg-tw__card { margin-bottom: 1.25rem; padding: 1.25rem 1.25rem 1rem; }
}

/* Mobile: 1 column, kill rotations (they look weird stacked single-column) */
@media (max-width: 640px) {
  .slg-tw__hero { padding: 3rem 0 2rem; }
  .slg-tw__wall { column-count: 1; }
  .slg-tw__card,
  .slg-tw__card:nth-child(7n+1),
  .slg-tw__card:nth-child(7n+2),
  .slg-tw__card:nth-child(7n+3),
  .slg-tw__card:nth-child(7n+4),
  .slg-tw__card:nth-child(7n+5),
  .slg-tw__card:nth-child(7n+6),
  .slg-tw__card:nth-child(7n+0) { transform: none; }
}

/* ---------- 3. CTA ---------- */
.slg-tw__cta {
  padding: 4rem 0 5rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
/* Gold gradient accent bars top + bottom — matches the .slg-about__cta
   closing pattern. The bottom bar is the elegant transition into the
   footer; the top bar separates the CTA from the wall above. */
.slg-tw__cta::before,
.slg-tw__cta::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-tw__cta::before { top: 0; }
.slg-tw__cta::after { bottom: 0; }
.slg-tw__cta h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  font-weight: 700;
  margin: 0 0 0.875rem;
  letter-spacing: -0.01em;
  color: #fff;
}
.slg-tw__cta p {
  max-width: 560px;
  margin: 0 auto 1.75rem;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.8);
}
.slg-tw__cta-btn {
  padding: 1.05rem 2.25rem;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
}
.slg-tw__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.45);
}
.slg-tw__cta-or {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.7);
}
.slg-tw__cta-or a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  transition: border-color 0.15s ease;
}
.slg-tw__cta-or a:hover { border-color: var(--slg-gold); }

/* ============================================================
   PRACTICE AREAS ARCHIVE — /practice-areas/
   Pure navigation surface. Hero + the home-page card grid.
   ============================================================ */
.slg-pa-archive { background: #FBF8F1; }
.slg-pa-archive__hero {
  padding: 4rem 0 2.5rem;
  text-align: center;
  background: linear-gradient(180deg, #fff 0%, transparent 100%);
}
.slg-pa-archive__hero h1 {
  font-family: var(--slg-font-display);
  font-size: clamp(2.25rem, 4.2vw, 3.25rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.015em;
  margin: 0.5rem 0 1rem;
  line-height: 1.1;
}
.slg-pa-archive__hero .slg-lead {
  max-width: 580px;
  margin: 0 auto;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
}
.slg-pa-archive__cards.slg-home-practices {
  padding: 4rem 0;
  background: transparent;
}

/* "Why focus matters" closer — navy banner mirroring home
   declaration so it reads as the firm's closing argument */
.slg-pa-archive__closer {
  padding: 5rem 0;
  background: var(--slg-navy);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-pa-archive__closer::before,
.slg-pa-archive__closer::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-pa-archive__closer::before { top: 0; }
.slg-pa-archive__closer::after { bottom: 0; }
.slg-pa-archive__closer .slg-container {
  position: relative;
  max-width: 800px;
}
.slg-pa-archive__closer-eyebrow {
  color: var(--slg-gold);
  margin-bottom: 1rem;
}
.slg-pa-archive__closer-title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.625rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0 0 1.75rem;
}
.slg-pa-archive__closer-title em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--slg-gold);
  font-weight: 500;
}
.slg-pa-archive__closer-body {
  text-align: left;
  margin: 0 auto;
}
.slg-pa-archive__closer-body p {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 1.25rem;
}
.slg-pa-archive__closer-mic {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.1875rem !important;
  line-height: 1.4 !important;
  color: var(--slg-gold) !important;
  text-align: center;
  margin: 1.75rem 0 0 !important;
}
.slg-pa-archive__closer-mic em {
  font-style: italic;
}
.slg-pa-archive__closer-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
}
.slg-pa-archive__closer-tagline {
  font-family: var(--slg-font-display);
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: #fff;
  margin: 0;
  line-height: 1.2;
}
.slg-pa-archive__closer-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1.25rem 2.75rem;
  font-size: 1rem;
  letter-spacing: 0.08em;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.5),
    0 0 32px rgba(216, 187, 134, 0.28);
  position: relative;
}
.slg-pa-archive__closer-btn::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, transparent 35%);
  pointer-events: none;
}
.slg-pa-archive__closer-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 22px 44px rgba(0, 0, 0, 0.55),
    0 0 44px rgba(216, 187, 134, 0.45);
}
.slg-pa-archive__closer-btn svg {
  position: relative;
  z-index: 1;
  transition: transform 0.2s ease;
}
.slg-pa-archive__closer-btn:hover svg { transform: translateX(4px); }
.slg-pa-archive__closer-note {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin: 0;
}

@media (max-width: 760px) {
  .slg-pa-archive__closer { padding: 3.5rem 0; }
  .slg-pa-archive__closer-body p { font-size: 1rem; }
  .slg-pa-archive__closer-mic { font-size: 1.0625rem !important; }
  .slg-pa-archive__closer-btn { padding: 1.05rem 2rem; font-size: 0.9375rem; letter-spacing: 0.06em; }
}

/* ============================================================
   CONTACT US — /contact/
   Two sections: Office Locations (top) + Two-column forms
   (New Cases | General Inquiries) below.
   ============================================================ */

.slg-contact {
  background: #FBF8F1;
}

/* ---------- 1. Office Locations ---------- */
.slg-contact__offices {
  padding: 4rem 0 3.5rem;
  background: #fff;
}
.slg-contact__section-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 2.5rem;
}
.slg-contact__section-head h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 3.6vw, 2.5rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.slg-contact__offices-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  max-width: 980px;
  margin: 0 auto;
}
.slg-contact__office-card {
  padding: 1.75rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(19, 25, 54, 0.05);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.slg-contact__office-city {
  font-family: var(--slg-font-display);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0;
  letter-spacing: -0.005em;
}
.slg-contact__office-address {
  font-style: normal;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text);
  margin: 0;
}
.slg-contact__office-meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-top: 1px solid var(--slg-border);
  padding-top: 1rem;
}
.slg-contact__office-meta li {
  display: flex;
  gap: 0.75rem;
  font-size: 0.875rem;
  align-items: baseline;
}
.slg-contact__office-meta-label {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
  width: 50px;
  flex-shrink: 0;
}
.slg-contact__office-meta a {
  color: var(--slg-navy);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--slg-border);
  transition: border-color 0.15s ease;
}
.slg-contact__office-meta a:hover { border-color: var(--slg-gold); }
.slg-contact__office-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 0.5rem;
}
.slg-contact__office-directions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  padding: 0.75rem 1.25rem;
}
.slg-contact__office-visit {
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slg-navy);
  text-decoration: none;
  transition: color 0.15s ease;
}
.slg-contact__office-visit:hover { color: var(--slg-gold-dark, #B8873B); }

/* ---------- 2. Two-column forms ---------- */
.slg-contact__forms-section {
  padding: 4rem 0 5rem;
  background: #FBF8F1;
}
.slg-contact__forms-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: stretch;
}
.slg-contact__form-col {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: 14px;
  padding: 2rem;
  box-shadow: 0 4px 14px rgba(19, 25, 54, 0.05);
  position: relative;
  overflow: hidden;
}
.slg-contact__form-col::before {
  /* gold top stripe on both forms — symmetric treatment */
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}

.slg-contact__form-col-head {
  margin-bottom: 1.5rem;
}
.slg-contact__form-col-head .slg-eyebrow {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.slg-contact__form-col-head h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.5rem, 2.4vw, 1.75rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.625rem;
  letter-spacing: -0.005em;
  line-height: 1.15;
}
.slg-contact__form-col-sub {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0;
}
.slg-contact__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.slg-contact__form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.slg-contact__form-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.slg-contact__form-label {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
}
.slg-contact__form-field input,
.slg-contact__form-field select,
.slg-contact__form-field textarea {
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--slg-border);
  border-radius: 8px;
  font-size: 0.9375rem;
  font-family: inherit;
  color: var(--slg-text);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.slg-contact__form-field input:focus,
.slg-contact__form-field select:focus,
.slg-contact__form-field textarea:focus {
  outline: none;
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.18);
}
.slg-contact__form-field textarea { resize: vertical; min-height: 120px; }
.slg-contact__form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  padding: 1rem 1.75rem;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}
.slg-contact__form-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(19, 25, 54, 0.18); }
.slg-contact__form-submit svg { transition: transform 0.2s ease; }
.slg-contact__form-submit:hover svg { transform: translateX(3px); }
.slg-contact__form-privacy {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  margin: 0.25rem 0 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .slg-contact__offices { padding: 3rem 0 2.5rem; }
  .slg-contact__offices-grid { grid-template-columns: 1fr; }
  .slg-contact__forms-section { padding: 3rem 0 3.5rem; }
  .slg-contact__forms-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 560px) {
  .slg-contact__form-row { grid-template-columns: 1fr; }
  .slg-contact__form-col { padding: 1.5rem; }
}

/* ============================================================
   SINGLE PRACTICE AREA — /practice-areas/{slug}/
   Phase A frame upgrade. Body content rendered untouched via
   the_content() — only the surrounding chrome is new.
   ============================================================ */

.slg-pa-single { background: #fff; }

/* ---------- 1. Hero ---------- */
.slg-pa-single__hero {
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  padding: 4.5rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.slg-pa-single__hero::before {
  /* warm gold glow in the upper right — same atmosphere as the home hero */
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 25%, rgba(216, 187, 134, 0.14) 0%, transparent 55%),
    radial-gradient(circle at 15% 85%, rgba(216, 187, 134, 0.06) 0%, transparent 50%);
  pointer-events: none;
}
.slg-pa-single__hero::after {
  /* thin gold accent stripe at the bottom — visual handoff to the body section */
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-pa-single__hero-inner {
  position: relative;
  max-width: 880px;
}
.slg-pa-single__hero-eyebrow {
  color: var(--slg-gold);
  margin-bottom: 1rem;
}
.slg-pa-single__hero-title {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin: 0 0 1.25rem;
  text-wrap: balance;
}
.slg-pa-single__hero-sub {
  font-size: 1.125rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 1.75rem;
  max-width: 640px;
}
.slg-pa-single__hero-sub p { margin: 0 0 0.75rem; }
.slg-pa-single__hero-sub p:last-child { margin-bottom: 0; }

.slg-pa-single__hero-ctas {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}
.slg-pa-single__hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.05rem 2rem;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
}
.slg-pa-single__hero-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.45);
}
.slg-pa-single__hero-cta svg { transition: transform 0.2s ease; }
.slg-pa-single__hero-cta:hover svg { transform: translateX(3px); }

.slg-pa-single__hero-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  text-decoration: none;
  padding: 0.875rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 99px;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.slg-pa-single__hero-phone:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--slg-gold);
}
.slg-pa-single__hero-phone svg { color: var(--slg-gold); flex-shrink: 0; }

/* ---------- 2. Body + sidebar ---------- */
.slg-pa-single__body-section {
  padding: 4rem 0 3rem;
  background: #fff;
}
.slg-pa-single__body-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 3rem;
  align-items: start;
}
.slg-pa-single__body { min-width: 0; }
.slg-pa-single__sidebar { min-width: 0; }

/* On the practice-area body, hide the H1 reset since hero already shows it.
   The_content output won't have an H1 (WordPress doesn't auto-add one), but
   the existing .slg-practice__body H2 styling kicks in for the 7 sections. */

/* The first H2 in the body shouldn't have its huge top padding because
   it's at the top of the article. */
.slg-pa-single__body.slg-practice__body > h2:first-child {
  padding-top: 0;
}
.slg-pa-single__body.slg-practice__body > h2:first-child::before {
  top: -0.5rem;
}

/* ---------- 3. Mid-page CTA ---------- */
.slg-pa-single__mid-cta {
  padding: 3.5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
  border-top: 1px solid var(--slg-border);
  border-bottom: 1px solid var(--slg-border);
  text-align: center;
}
.slg-pa-single__mid-cta-inner {
  max-width: 640px;
}
.slg-pa-single__mid-cta-title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.625rem;
  letter-spacing: -0.005em;
}
.slg-pa-single__mid-cta-sub {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  margin: 0 0 1.5rem;
}
.slg-pa-single__mid-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.05rem 2rem;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
}
.slg-pa-single__mid-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(19, 25, 54, 0.18); }
.slg-pa-single__mid-cta-btn svg { transition: transform 0.2s ease; }
.slg-pa-single__mid-cta-btn:hover svg { transform: translateX(3px); }

/* ---------- 4. Attorneys who handle this ---------- */
.slg-pa-single__attorneys {
  padding: 4rem 0;
  background: #fff;
}
.slg-pa-single__section-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem;
}
.slg-pa-single__section-head h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.625rem, 2.8vw, 2.125rem);
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0.5rem 0 0;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.slg-pa-single__attorneys-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}
.slg-pa-single__attorney {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.slg-pa-single__attorney:hover {
  transform: translateY(-3px);
  border-color: var(--slg-gold);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.12);
}
.slg-pa-single__attorney-photo {
  aspect-ratio: 4 / 5;
  background: var(--slg-bg-warm, #FAF7F1);
  overflow: hidden;
}
.slg-pa-single__attorney-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.slg-pa-single__attorney-body {
  padding: 1.25rem 1.25rem 1.5rem;
}
.slg-pa-single__attorney-name {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
.slg-pa-single__attorney-role {
  display: block;
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  margin-bottom: 0.625rem;
}
.slg-pa-single__attorney-link {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
}

/* ---------- 5. Recent insights ---------- */
.slg-pa-single__insights {
  padding: 4rem 0 5rem;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-pa-single__insights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.slg-pa-single__insight {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.5rem 1.5rem 1.625rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  text-decoration: none;
  color: inherit;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.slg-pa-single__insight:hover {
  transform: translateY(-3px);
  border-color: var(--slg-gold);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.1);
}
.slg-pa-single__insight-type {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
}
.slg-pa-single__insight-title {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.005em;
}
.slg-pa-single__insight-excerpt {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0;
  flex-grow: 1;
}
.slg-pa-single__insight-link {
  margin-top: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
}
.slg-pa-single__insight:hover .slg-pa-single__insight-link { color: var(--slg-gold-dark, #B8873B); }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .slg-pa-single__body-grid { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 760px) {
  .slg-pa-single__hero { padding: 3.5rem 0 3rem; }
  .slg-pa-single__body-section { padding: 2.5rem 0 2rem; }
  .slg-pa-single__attorneys,
  .slg-pa-single__insights { padding: 3rem 0; }
  .slg-pa-single__hero-ctas { gap: 0.75rem 1rem; }
}

/* Footer abuts on this page too */
.slg-pa-single + .slg-site-footer { margin-top: 0; }

/* ============================================================
   ATTORNEYS ARCHIVE — /attorneys/
   Hero + home-style attorney cards. Reuses .slg-home-attorney
   styling so cards look identical to the home-page team grid.
   ============================================================ */

/* ============================================================
   OUR TEAM PAGE — /attorneys/ (Phase B narrative rebuild)
   Hero · Five Rules · Team cards · The Two R's · Closing CTA
   Translated from the firm's internal Vision & Org doc into
   client-facing voice. The 5 rules ARE the firm's Core Values.
   ============================================================ */

.slg-team-archive { background: #FBF8F1; }
.slg-team-archive + .slg-site-footer { margin-top: 0; }

/* ---------- 1. Hero — dark navy panel with gold accents ----------
   Anchors the page visually. Same pattern as the practice-areas
   archive "Why focus matters" opener. Gold accent stripes top +
   bottom; white H1; italic gold tagline as the mic drop. */
.slg-team-archive__hero {
  padding: 5.5rem 0 5rem;
  text-align: center;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.slg-team-archive__hero::before,
.slg-team-archive__hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-team-archive__hero::before { top: 0; }
.slg-team-archive__hero::after { bottom: 0; }
.slg-team-archive__hero-inner {
  position: relative;
  max-width: 820px;
}
.slg-team-archive__hero-eyebrow {
  color: var(--slg-gold);
  margin-bottom: 1.25rem;
  display: inline-block;
}
.slg-team-archive__hero-title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.875rem, 3.6vw, 2.75rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0 0 1.25rem;
  text-wrap: balance;
}
/* Em portion ("Every day. No exceptions.") gets the italic gold serif
   highlight treatment — same pattern as "closure" elsewhere on the site. */
.slg-team-archive__hero-title em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--slg-gold);
  font-weight: 500;
}
/* Bulleted core-values list in the hero — gold checkmarks signal
   "we do these things" affirmatively. Each item is a teaser for the
   full Five Rules section below; commentary stays brief here. */
.slg-team-archive__hero-values {
  list-style: none;
  padding: 0;
  margin: 1.75rem auto 0;
  max-width: 580px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.slg-team-archive__hero-values li {
  position: relative;
  padding-left: 2rem;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
}
.slg-team-archive__hero-values li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: var(--slg-gold);
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
}

/* ---------- Section heads (shared) ---------- */
.slg-team-archive__section-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem;
}
.slg-team-archive__section-head h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.875rem, 3.4vw, 2.5rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0.5rem 0 1rem;
}
.slg-team-archive__section-sub {
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  margin: 0;
}

/* ---------- 2. The Five Rules ---------- */
.slg-team-archive__rules {
  padding: 4.5rem 0;
  background: #fff;
}
.slg-team-archive__rules-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 880px;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.slg-team-archive__rule {
  position: relative;
  padding: 2rem 2rem 1.875rem 5.5rem;
  background: #FBF8F1;
  border: 1px solid var(--slg-border);
  border-left: 3px solid var(--slg-gold);
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.slg-team-archive__rule:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.08);
}
.slg-team-archive__rule-num {
  position: absolute;
  top: 1.75rem;
  left: 1.75rem;
  font-family: var(--slg-font-display);
  font-size: 1.625rem;
  font-weight: 700;
  color: var(--slg-gold);
  letter-spacing: 0.02em;
  line-height: 1;
  opacity: 0.85;
}
.slg-team-archive__rule-title {
  font-family: var(--slg-font-display);
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.005em;
  line-height: 1.3;
  margin: 0 0 0.625rem;
  padding: 0 !important;
}
.slg-team-archive__rule-title::before { display: none !important; }
.slg-team-archive__rule-body {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--slg-text);
  margin: 0;
}
.slg-team-archive__rule-body em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  color: #8E5F1F;
  font-weight: 600;
}

/* ---------- 3. The Team (cards) ---------- */
.slg-team-archive__people {
  padding: 4.5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-team-archive__grid.slg-home-team__grid {
  max-width: 1180px;
  grid-template-columns: repeat(4, 1fr);
}

/* ---------- 4. The Two R's ---------- */
.slg-team-archive__measure {
  padding: 4.5rem 0;
  background: #fff;
}
.slg-team-archive__measure-inner {
  max-width: 800px;
  text-align: center;
}
.slg-team-archive__measure-title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 0.5rem 0 1.25rem;
}
.slg-team-archive__measure-lead {
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  margin: 0 0 2.5rem;
}
.slg-team-archive__rs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  text-align: left;
  margin: 0 0 2rem;
}
.slg-team-archive__r {
  padding: 1.75rem;
  background: #FBF8F1;
  border: 1px solid var(--slg-border);
  border-top: 3px solid var(--slg-gold);
  border-radius: 12px;
}
.slg-team-archive__r-title {
  font-family: var(--slg-font-display);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.625rem !important;
  padding: 0 !important;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.slg-team-archive__r-title::before { display: none !important; }
.slg-team-archive__r-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--slg-gold);
  color: var(--slg-navy);
  border-radius: 50%;
  font-family: var(--slg-font-display);
  font-size: 1rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}
.slg-team-archive__r p {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--slg-text);
  margin: 0;
}
.slg-team-archive__measure-close {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.0625rem;
  line-height: 1.5;
  color: #8E5F1F;
  margin: 2rem 0 1rem;
  font-weight: 500;
}
.slg-team-archive__measure-close em { font-style: italic; }

/* The bridge sentence between the italic philosophy and the action button.
   Italicized "Why We Help" inside picks up the same gold em treatment. */
.slg-team-archive__measure-invite {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--slg-text);
  margin: 0 auto 1.75rem;
  max-width: 580px;
}
.slg-team-archive__measure-invite em {
  font-style: italic;
  color: #8E5F1F;
  font-weight: 600;
}
.slg-team-archive__measure-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: #fff;
  color: var(--slg-navy);
  border: 2px solid var(--slg-navy);
  border-radius: 99px;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.slg-team-archive__measure-link:hover {
  background: var(--slg-navy);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.18);
}
.slg-team-archive__measure-link svg { transition: transform 0.2s ease; }
.slg-team-archive__measure-link:hover svg { transform: translateX(3px); }

/* ---------- 5. Closing CTA ---------- */
.slg-team-archive__cta {
  padding: 5rem 0 5.5rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-team-archive__cta::before,
.slg-team-archive__cta::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-team-archive__cta::before { top: 0; }
.slg-team-archive__cta::after { bottom: 0; }
.slg-team-archive__cta-inner {
  position: relative;
  max-width: 720px;
}
.slg-team-archive__cta-tagline {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.625rem, 3.4vw, 2.375rem);
  color: var(--slg-gold);
  margin: 0 0 1rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}
.slg-team-archive__cta-sub {
  font-size: 1.0625rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 2rem;
}
.slg-team-archive__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1.25rem 2.75rem;
  font-size: 1rem;
  letter-spacing: 0.08em;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.5),
    0 0 32px rgba(216, 187, 134, 0.28);
  position: relative;
}
.slg-team-archive__cta-btn::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, transparent 35%);
  pointer-events: none;
}
.slg-team-archive__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 22px 44px rgba(0, 0, 0, 0.55),
    0 0 44px rgba(216, 187, 134, 0.45);
}
.slg-team-archive__cta-btn svg {
  position: relative;
  z-index: 1;
  transition: transform 0.2s ease;
}
.slg-team-archive__cta-btn:hover svg { transform: translateX(4px); }
.slg-team-archive__cta-or {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.7);
}
.slg-team-archive__cta-or a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  transition: border-color 0.15s ease;
}
.slg-team-archive__cta-or a:hover { border-color: var(--slg-gold); }
.slg-team-archive__cta-trust {
  margin-top: 0.75rem;
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .slg-team-archive__grid.slg-home-team__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 760px) {
  .slg-team-archive__hero { padding: 3.5rem 0 2.5rem; }
  .slg-team-archive__rules,
  .slg-team-archive__people,
  .slg-team-archive__measure { padding: 3.5rem 0; }
  .slg-team-archive__rs { grid-template-columns: 1fr; gap: 1.25rem; }
  .slg-team-archive__cta { padding: 3.5rem 0; }
  .slg-team-archive__grid.slg-home-team__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media (max-width: 560px) {
  .slg-team-archive__rule {
    padding: 1.75rem 1.5rem 1.5rem;
  }
  .slg-team-archive__rule-num {
    position: static;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 480px) {
  .slg-team-archive__grid.slg-home-team__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   CIRCULAR CHAIN BRIDGES — slide-show forward links
   Three new bridges share the same visual treatment as the
   existing .slg-about__bridge pattern: italic gold copy + pill
   button. Visitor recognizes the bridge style across all pages
   as "the click that takes you to the next slide."
   ============================================================ */

/* --- Why We Help → Where We Help bridge --- */
.slg-tw__bridge {
  padding: 2.75rem 0;
  background: #FBF8F1;
  border-top: 1px solid var(--slg-border);
  border-bottom: 1px solid var(--slg-border);
}
.slg-tw__bridge-inner {
  max-width: 720px;
  text-align: center;
}
.slg-tw__bridge-copy {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--slg-text);
  margin: 0 0 1rem;
  font-style: normal;
}
.slg-tw__bridge-copy em {
  font-style: italic;
  color: #8E5F1F;
  font-weight: 600;
}
.slg-tw__bridge-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  text-decoration: none;
  padding: 0.625rem 1.25rem;
  border: 1px solid var(--slg-navy);
  border-radius: 99px;
  transition: background 0.2s ease, color 0.2s ease;
}
.slg-tw__bridge-link:hover {
  background: var(--slg-navy);
  color: #fff;
}
.slg-tw__bridge-link svg { transition: transform 0.2s ease; }
.slg-tw__bridge-link:hover svg { transform: translateX(3px); }

/* --- Where We Help → Cases We Handle bridge --- */
.slg-offices-archive__bridge {
  padding: 2.75rem 0;
  background: #FBF8F1;
  border-top: 1px solid var(--slg-border);
  border-bottom: 1px solid var(--slg-border);
}
.slg-offices-archive__bridge-inner {
  max-width: 720px;
  text-align: center;
}
.slg-offices-archive__bridge-copy {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--slg-text);
  margin: 0 0 1rem;
  font-style: normal;
}
.slg-offices-archive__bridge-copy em {
  font-style: italic;
  color: #8E5F1F;
  font-weight: 600;
}
.slg-offices-archive__bridge-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  text-decoration: none;
  padding: 0.625rem 1.25rem;
  border: 1px solid var(--slg-navy);
  border-radius: 99px;
  transition: background 0.2s ease, color 0.2s ease;
}
.slg-offices-archive__bridge-link:hover {
  background: var(--slg-navy);
  color: #fff;
}
.slg-offices-archive__bridge-link svg { transition: transform 0.2s ease; }
.slg-offices-archive__bridge-link:hover svg { transform: translateX(3px); }

/* --- Cases We Handle → Our Story bridge (loop closer) --- */
.slg-pa-archive__bridge {
  padding: 2.75rem 0 3.5rem;
  background: #FBF8F1;
  border-top: 1px solid var(--slg-border);
  text-align: center;
}
.slg-pa-archive__bridge-inner {
  max-width: 720px;
}
.slg-pa-archive__bridge-copy {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
  line-height: 1.45;
  color: #8E5F1F;
  margin: 0 0 1.25rem;
  font-weight: 600;
}
.slg-pa-archive__bridge-copy em { font-style: italic; }
.slg-pa-archive__bridge-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  text-decoration: none;
  padding: 0.625rem 1.25rem;
  border: 1px solid var(--slg-navy);
  border-radius: 99px;
  transition: background 0.2s ease, color 0.2s ease;
}
.slg-pa-archive__bridge-link:hover {
  background: var(--slg-navy);
  color: #fff;
}
.slg-pa-archive__bridge-link svg { transition: transform 0.2s ease; }
.slg-pa-archive__bridge-link:hover svg { transform: translateX(3px); }

/* ============================================================
   ATTORNEY BIO — single-attorney.php
   Hero (photo + name + role + contact strip) → body+sidebar →
   credentials grid → practice areas → optional client quote →
   recent articles → closing CTA. Body content untouched (SEO).
   ============================================================ */

.slg-bio { background: #fff; }
.slg-bio + .slg-site-footer { margin-top: 0; }

/* ---------- 1. Hero ---------- */
.slg-bio__hero {
  padding: 4rem 0 3rem;
  background: linear-gradient(180deg, #FBF8F1 0%, #fff 100%);
  border-bottom: 1px solid var(--slg-border);
}
.slg-bio__hero-inner {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 3rem;
  align-items: center;
}
.slg-bio__hero-photo {
  border-radius: 14px;
  overflow: hidden;
  background: var(--slg-bg-warm, #FAF7F1);
  box-shadow:
    0 18px 40px rgba(19, 25, 54, 0.14),
    0 6px 16px rgba(19, 25, 54, 0.08);
}
.slg-bio__hero-photo-img,
.slg-bio__hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
}
.slg-bio__hero-eyebrow {
  margin-bottom: 0.75rem;
  display: inline-block;
}
.slg-bio__hero-name {
  font-family: var(--slg-font-display);
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.015em;
  line-height: 1.05;
  margin: 0 0 0.5rem;
}
.slg-bio__hero-role {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.0625rem, 1.8vw, 1.3125rem);
  color: #8E5F1F;
  margin: 0 0 1.5rem;
  font-weight: 500;
  letter-spacing: 0.005em;
}
.slg-bio__hero-contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.slg-bio__hero-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--slg-border);
  border-radius: 99px;
  background: #fff;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--slg-navy);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.slg-bio__hero-contact-link:hover {
  border-color: var(--slg-gold);
  color: var(--slg-gold-dark, #B8873B);
}
.slg-bio__hero-contact-link svg { color: var(--slg-gold-dark, #B8873B); flex-shrink: 0; }

/* ---------- 2. Body + sidebar ---------- */
.slg-bio__body-section {
  padding: 3rem 0 3.5rem;
  background: #fff;
}
.slg-bio__body-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 3rem;
  align-items: start;
}
.slg-bio__body { min-width: 0; }
.slg-bio__sidebar { min-width: 0; }
.slg-bio__body > p:first-child { margin-top: 0; }

/* ---------- Section heads (shared) ---------- */
.slg-bio__section-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2rem;
}
.slg-bio__section-head h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(1.625rem, 2.8vw, 2.125rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.005em;
  line-height: 1.2;
  margin: 0.5rem 0 0;
}

/* ---------- 3. Credentials grid ---------- */
.slg-bio__credentials {
  padding: 3.5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
  border-top: 1px solid var(--slg-border);
}
.slg-bio__credentials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.slg-bio__credential {
  background: #fff;
  border: 1px solid var(--slg-border);
  border-top: 3px solid var(--slg-gold);
  border-radius: 12px;
  padding: 1.5rem 1.5rem 1.375rem;
}
.slg-bio__credential-title {
  font-family: var(--slg-font-display);
  font-size: 0.75rem !important;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin: 0 0 0.875rem !important;
  padding: 0 !important;
}
.slg-bio__credential-title::before { display: none !important; }
.slg-bio__credential-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.slg-bio__credential-list li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--slg-text);
}
.slg-bio__credential-list li::before {
  content: "—";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--slg-gold-dark, #B8873B);
  font-weight: 600;
}

/* ---------- 4. Practice areas (pill links) ---------- */
.slg-bio__practices {
  padding: 3.5rem 0;
  background: #fff;
}
.slg-bio__practices-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  max-width: 880px;
  margin: 0 auto;
}
.slg-bio__practice-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.125rem;
  border: 1px solid var(--slg-border);
  border-radius: 99px;
  background: #fff;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--slg-navy);
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.slg-bio__practice-pill:hover {
  background: var(--slg-navy);
  color: #fff;
  border-color: var(--slg-navy);
  transform: translateY(-2px);
}
.slg-bio__practice-pill svg { transition: transform 0.2s ease; }
.slg-bio__practice-pill:hover svg { transform: translateX(2px); }

/* ---------- 5. Client quote ---------- */
.slg-bio__quote {
  padding: 3.5rem 0;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-bio__quote-inner {
  max-width: 760px;
  text-align: center;
}
.slg-bio__quote-text {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.25rem, 2.4vw, 1.625rem);
  line-height: 1.5;
  color: var(--slg-navy);
  font-style: italic;
  margin: 0 0 1rem;
  position: relative;
  padding: 0 1.5rem;
}
.slg-bio__quote-text::before,
.slg-bio__quote-text::after {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 3rem;
  line-height: 0;
  color: var(--slg-gold);
  position: relative;
  top: 0.4em;
}
.slg-bio__quote-text::before { content: "\201C"; margin-right: 0.125em; }
.slg-bio__quote-text::after { content: "\201D"; margin-left: 0.125em; }
.slg-bio__quote-attr {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
  margin: 0;
}

/* ---------- 6. Recent articles ---------- */
.slg-bio__articles {
  padding: 3.5rem 0;
  background: #fff;
}
.slg-bio__articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.slg-bio__article-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.5rem 1.5rem 1.375rem;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  text-decoration: none;
  color: inherit;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.slg-bio__article-card:hover {
  transform: translateY(-3px);
  border-color: var(--slg-gold);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.1);
}
.slg-bio__article-card-type {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
}
.slg-bio__article-card-title {
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.005em;
}
.slg-bio__article-card-title::before { display: none !important; }
.slg-bio__article-card-excerpt {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0;
  flex: 1;
}
.slg-bio__article-card-link {
  margin-top: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
}
.slg-bio__article-card:hover .slg-bio__article-card-link {
  color: var(--slg-gold-dark, #B8873B);
}

/* ---------- 7. Closing CTA ---------- */
.slg-bio__cta {
  padding: 4.5rem 0 5rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-bio__cta::before,
.slg-bio__cta::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-bio__cta::before { top: 0; }
.slg-bio__cta::after { bottom: 0; }
.slg-bio__cta-inner {
  position: relative;
  max-width: 720px;
}
.slg-bio__cta-tagline {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.5rem, 3vw, 2.125rem);
  color: var(--slg-gold);
  margin: 0 0 1rem;
  line-height: 1.2;
}
.slg-bio__cta-sub {
  font-size: 1.0625rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 1.75rem;
}
.slg-bio__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1.125rem 2.25rem;
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.4),
    0 0 28px rgba(216, 187, 134, 0.25);
}
.slg-bio__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.5),
    0 0 36px rgba(216, 187, 134, 0.4);
}
.slg-bio__cta-btn svg { transition: transform 0.2s ease; }
.slg-bio__cta-btn:hover svg { transform: translateX(3px); }
.slg-bio__cta-or {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}
.slg-bio__cta-or a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  transition: border-color 0.15s ease;
}
.slg-bio__cta-or a:hover { border-color: var(--slg-gold); }
.slg-bio__cta-trust {
  margin-top: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .slg-bio__hero-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .slg-bio__hero-photo {
    max-width: 240px;
    margin: 0 auto;
  }
  .slg-bio__hero-contact { justify-content: center; }
  .slg-bio__body-grid { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media (max-width: 640px) {
  .slg-bio__hero { padding: 3rem 0 2.5rem; }
  .slg-bio__credentials,
  .slg-bio__practices,
  .slg-bio__quote,
  .slg-bio__articles { padding: 2.5rem 0; }
  .slg-bio__cta { padding: 3rem 0; }
}

/* ============================================================
   BLOG ARCHIVE — /blog/ (home.php template)
   Sidebar-less hero + 3-up post card grid + pagination.
   Visual language matches the other archives we've rebuilt.
   ============================================================ */

.slg-blog-archive { background: #FBF8F1; }

/* ---------- Hero ---------- */
.slg-blog-archive__hero {
  padding: 4rem 0 2.5rem;
  text-align: center;
  background: linear-gradient(180deg, #fff 0%, transparent 100%);
}
.slg-blog-archive__hero h1 {
  font-family: var(--slg-font-display);
  font-size: clamp(2.25rem, 4.2vw, 3.25rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin: 0.5rem 0 1rem;
}
.slg-blog-archive__hero .slg-lead {
  max-width: 640px;
  margin: 0 auto;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
}

/* ---------- Grid + Cards ---------- */
.slg-blog-archive__grid-section {
  padding: 2rem 0 4.5rem;
}
.slg-blog-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  margin: 0 auto;
}
.slg-blog-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.slg-blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--slg-gold);
  box-shadow: 0 14px 32px rgba(19, 25, 54, 0.12);
}
.slg-blog-card__image {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--slg-bg-warm, #FAF7F1);
}
.slg-blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.slg-blog-card:hover .slg-blog-card__image img {
  transform: scale(1.03);
}
.slg-blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.25rem 1.375rem 1.25rem;
  flex: 1;
}
.slg-blog-card__cat {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B8873B);
}
.slg-blog-card__title {
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--slg-navy);
  line-height: 1.25;
  letter-spacing: -0.005em;
  margin: 0;
}
.slg-blog-card__excerpt {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0;
  flex: 1;
}
.slg-blog-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.5rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--slg-border);
}
.slg-blog-card__date {
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
}
.slg-blog-card__link {
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  transition: color 0.15s ease;
}
.slg-blog-card:hover .slg-blog-card__link { color: var(--slg-gold-dark, #B8873B); }

/* ---------- Pagination ---------- */
.slg-blog-archive__pagination {
  margin-top: 3rem;
  text-align: center;
}
.slg-blog-archive__pagination .nav-links {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  justify-content: center;
}
.slg-blog-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 0.75rem;
  border: 1px solid var(--slg-border);
  border-radius: 8px;
  background: #fff;
  color: var(--slg-navy);
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.slg-blog-archive__pagination .page-numbers:hover {
  border-color: var(--slg-gold);
  color: var(--slg-gold-dark, #B8873B);
}
.slg-blog-archive__pagination .page-numbers.current {
  background: var(--slg-navy);
  border-color: var(--slg-navy);
  color: #fff;
}
.slg-blog-archive__pagination .page-numbers.dots {
  border: none;
  background: transparent;
}

.slg-blog-archive__empty {
  text-align: center;
  padding: 3rem 0;
  color: var(--slg-text-mut);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .slg-blog-archive__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .slg-blog-archive__hero { padding: 3rem 0 2rem; }
  .slg-blog-archive__grid-section { padding: 1.5rem 0 3rem; }
  .slg-blog-archive__grid { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* ============================================================
   FILTER CHIPS — used on blog (/blog/) and library (/library/)
   archives. Server-side filtering via ?practice=<slug>; logic in
   inc/archive-filters.php.
   ============================================================ */

.slg-blog-archive__filter {
  padding: 0 0 1.5rem;
}
.slg-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}
.slg-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem 0.5rem 1rem;
  background: #fff;
  border: 1px solid var(--slg-border-warm);
  border-radius: 999px;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--slg-navy);
  text-decoration: none;
  letter-spacing: 0.005em;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.slg-chip:hover {
  border-color: var(--slg-gold);
  color: var(--slg-navy);
  transform: translateY(-1px);
}
.slg-chip.is-active {
  background: var(--slg-navy);
  border-color: var(--slg-navy);
  color: #fff;
}
.slg-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 0.4375rem;
  background: rgba(216, 187, 134, 0.18);
  color: var(--slg-gold-dark, #B89967);
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.slg-chip.is-active .slg-chip__count {
  background: rgba(216, 187, 134, 0.22);
  color: var(--slg-gold);
}

@media (max-width: 640px) {
  .slg-chips { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 0.25rem; -webkit-overflow-scrolling: touch; }
  .slg-chip { white-space: nowrap; flex-shrink: 0; }
}

/* ============================================================
   ARCHIVE BRIDGE — used on /blog/ and /library/. Same navy
   gradient pattern as the FAQ bridge but renamed for reuse.
   ============================================================ */

.slg-archive-bridge {
  background: var(--slg-navy);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(216, 187, 134, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  padding: 3rem 0;
  margin-top: 2rem;
}
.slg-archive-bridge__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  text-align: center;
}
.slg-archive-bridge__copy {
  font-family: var(--slg-font-display);
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  margin: 0;
  font-weight: 600;
  letter-spacing: -0.005em;
  max-width: 36ch;
  line-height: 1.35;
}
.slg-archive-bridge__copy em {
  font-style: italic;
  color: var(--slg-gold);
  font-weight: 600;
}
.slg-archive-bridge__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.625rem;
  background: var(--slg-gold);
  color: var(--slg-navy);
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.18s ease, transform 0.18s ease;
}
.slg-archive-bridge__cta:hover {
  background: var(--slg-gold-soft);
  transform: translateY(-2px);
  color: var(--slg-navy);
}

/* The blog/library archive's last grid section ends naturally — the
   bridge slot then abuts the footer. Drop the .slg-blog-archive's
   default footer top-margin for these pages. */

/* ============================================================
   FAQ ARCHIVE — /faqs/  (rebuilt 2026-04-25)

   Layout: navy declaration hero with 3 jump-cards →
           sticky TOC (left) + sectioned content (right) →
           bridge to free case review.

   Why a list (not cards): FAQs are titles-only. Card chrome wastes
   space and slows scanning. Dense-list pattern lets users sweep 60+
   questions in seconds.
   ============================================================ */

.slg-faq-archive { background: #FBF8F1; }

/* ---------- 1. Hero (navy declaration band) ---------- */

.slg-faq-hero {
  position: relative;
  padding: 4.5rem 0 3.5rem;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(216, 187, 134, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(216, 187, 134, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  overflow: hidden;
}
.slg-faq-hero::before,
.slg-faq-hero::after {
  /* Subtle gold accent stripes echo the About + Why-We-Help heroes */
  content: "";
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--slg-gold) 50%, transparent);
  opacity: 0.55;
  pointer-events: none;
}
.slg-faq-hero::before { top: 0; left: 10%; right: 10%; }
.slg-faq-hero::after  { bottom: 0; left: 25%; right: 25%; opacity: 0.35; }

.slg-faq-hero .slg-container { position: relative; z-index: 1; text-align: center; }

.slg-faq-hero__eyebrow {
  color: var(--slg-gold);
  display: inline-block;
  margin-bottom: 0.75rem;
}
.slg-faq-hero__title {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.12;
  margin: 0 auto 1rem;
  max-width: 22ch;
  text-wrap: balance;
}
.slg-faq-hero__title em {
  color: var(--slg-gold);
  font-family: var(--slg-font-display);
  font-style: italic;
  font-weight: 600;
}
.slg-faq-hero__lead {
  max-width: 640px;
  margin: 0 auto 2.5rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}

/* Jump-cards — three clickable category navigators inside the hero. */
.slg-faq-hero__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  max-width: 880px;
  margin: 0 auto;
}
.slg-faq-hero__card {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(216, 187, 134, 0.28);
  border-radius: var(--slg-radius);
  text-decoration: none;
  color: #fff;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  text-align: left;
}
.slg-faq-hero__card:hover {
  background: rgba(216, 187, 134, 0.10);
  border-color: var(--slg-gold);
  transform: translateY(-2px);
  color: #fff;
}
.slg-faq-hero__card-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(216, 187, 134, 0.16);
  border-radius: 10px;
  color: var(--slg-gold);
}
.slg-faq-hero__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.slg-faq-hero__card-title {
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: -0.005em;
  color: #fff;
}
.slg-faq-hero__card-meta {
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.62);
}
.slg-faq-hero__card-arrow {
  flex-shrink: 0;
  color: var(--slg-gold);
  opacity: 0.7;
  transition: transform 0.18s ease, opacity 0.18s ease;
}
.slg-faq-hero__card:hover .slg-faq-hero__card-arrow {
  transform: translateX(3px);
  opacity: 1;
}

/* ---------- 2. Body — sticky TOC (left) + content (right) ---------- */

.slg-faq-body {
  padding: 3.5rem 0 4.5rem;
}
.slg-faq-body__inner {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 3.5rem;
  align-items: start;
}

/* TOC */
.slg-faq-toc {
  position: sticky;
  top: 7rem;
  align-self: start;
  font-size: 0.9375rem;
}
.slg-faq-toc__label {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--slg-text-mut);
  margin: 0 0 0.875rem;
}
.slg-faq-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid var(--slg-border-warm);
}
.slg-faq-toc__group {
  margin-bottom: 1.25rem;
}
.slg-faq-toc__group:last-child { margin-bottom: 0; }
.slg-faq-toc__group-link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0 0 0 1rem;
  margin-left: -2px;
  font-family: var(--slg-font-display);
  font-weight: 700;
  color: var(--slg-navy);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
  line-height: 1.3;
}
.slg-faq-toc__group-link:hover {
  color: var(--slg-gold-dark);
  border-left-color: var(--slg-gold);
}
.slg-faq-toc__group-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--slg-gold-dark, #B89967);
  display: inline-flex;
}
.slg-faq-toc__group-icon svg { width: 18px; height: 18px; }
.slg-faq-toc__children {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
}
.slg-faq-toc__children li { margin: 0; }
.slg-faq-toc__children a {
  display: block;
  padding: 0.3125rem 0 0.3125rem 1.875rem;
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  text-decoration: none;
  line-height: 1.35;
  border-left: 2px solid transparent;
  margin-left: -2px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.slg-faq-toc__children a:hover {
  color: var(--slg-navy);
  border-left-color: var(--slg-gold);
}

/* ---------- 3. Sections + groups + list rows ---------- */

.slg-faq-content { min-width: 0; }

.slg-faq-section {
  margin-bottom: 4rem;
  scroll-margin-top: 6rem;
}
.slg-faq-section:last-child { margin-bottom: 0; }

/* Practice-area header — gold-accent ribbon */
.slg-faq-section__header {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.75rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-soft) 100%);
  border-left: 4px solid var(--slg-gold);
  border-radius: var(--slg-radius);
  color: #fff;
}
.slg-faq-section__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(216, 187, 134, 0.16);
  border-radius: 10px;
  color: var(--slg-gold);
}
.slg-faq-section__heading { flex: 1; }
.slg-faq-section__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.375rem, 2.4vw, 1.75rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.25rem;
  letter-spacing: -0.005em;
}
.slg-faq-section__lead {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.4;
}
.slg-faq-section__count {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 0.625rem;
  background: var(--slg-gold);
  color: var(--slg-navy);
  border-radius: 999px;
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.875rem;
}

/* Sub-cluster group */
.slg-faq-group {
  margin-bottom: 2.25rem;
  scroll-margin-top: 6rem;
}
.slg-faq-group:last-child { margin-bottom: 0; }

.slg-faq-group__title {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin: 0 0 0.875rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--slg-border-warm);
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.005em;
}
.slg-faq-group__icon {
  flex-shrink: 0;
  display: inline-flex;
  width: 22px;
  height: 22px;
  color: var(--slg-gold-dark, #B89967);
}
.slg-faq-group__icon svg { width: 22px; height: 22px; }
.slg-faq-group__count {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--slg-text-mut);
  background: rgba(216, 187, 134, 0.12);
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  letter-spacing: 0.02em;
}

/* The list itself */
.slg-faq-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--slg-border-warm);
  border-radius: var(--slg-radius);
  overflow: hidden;
}
.slg-faq-list__item + .slg-faq-list__item {
  border-top: 1px solid var(--slg-border-warm);
}
.slg-faq-list__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1.125rem;
  text-decoration: none;
  color: var(--slg-navy);
  transition: background 0.15s ease, color 0.15s ease;
  line-height: 1.35;
}
.slg-faq-list__link:hover {
  background: #FAF6EC;
  color: var(--slg-navy);
}
.slg-faq-list__q {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 500;
  /* Slight gold underline on hover, via parent */
}
.slg-faq-list__link:hover .slg-faq-list__q {
  text-decoration: underline;
  text-decoration-color: var(--slg-gold);
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
}
.slg-faq-list__chev {
  flex-shrink: 0;
  color: var(--slg-text-mut);
  transition: transform 0.15s ease, color 0.15s ease;
}
.slg-faq-list__link:hover .slg-faq-list__chev {
  color: var(--slg-gold-dark, #B89967);
  transform: translateX(3px);
}

.slg-faq-empty {
  text-align: center;
  padding: 3rem 0;
  color: var(--slg-text-mut);
}

/* ---------- 4. Bridge ---------- */

.slg-faq-bridge {
  background: var(--slg-navy);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(216, 187, 134, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  padding: 3rem 0;
}
.slg-faq-bridge__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  text-align: center;
}
.slg-faq-bridge__copy {
  font-family: var(--slg-font-display);
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  margin: 0;
  font-weight: 600;
  letter-spacing: -0.005em;
  max-width: 32ch;
  line-height: 1.35;
}
.slg-faq-bridge__copy em {
  font-style: italic;
  color: var(--slg-gold);
  font-weight: 600;
}
.slg-faq-bridge__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.625rem;
  background: var(--slg-gold);
  color: var(--slg-navy);
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.18s ease, transform 0.18s ease;
}
.slg-faq-bridge__cta:hover {
  background: var(--slg-gold-soft);
  transform: translateY(-2px);
  color: var(--slg-navy);
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
  .slg-faq-body__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .slg-faq-toc, .slg-faq-content { min-width: 0; max-width: 100%; }
  /* TOC becomes a horizontal pill row at top, sticky under header */
  .slg-faq-toc {
    position: sticky;
    top: 5.5rem;
    background: #FBF8F1;
    border-bottom: 1px solid var(--slg-border-warm);
    padding: 0.75rem 0;
    margin: -1rem 0 0;
    z-index: 5;
    overflow: hidden;
  }
  .slg-faq-toc__label { display: none; }
  .slg-faq-toc__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow-x: auto;
    border-left: none;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
  }
  .slg-faq-toc__group { margin: 0; flex-shrink: 0; }
  .slg-faq-toc__group-link {
    padding: 0.5rem 0.875rem;
    border: 1px solid var(--slg-border-warm);
    border-radius: 999px;
    font-size: 0.8125rem;
    background: #fff;
    white-space: nowrap;
    margin-left: 0;
  }
  .slg-faq-toc__group-link:hover {
    border-color: var(--slg-gold);
  }
  .slg-faq-toc__children { display: none; }
  .slg-faq-hero__cards { grid-template-columns: 1fr; gap: 0.625rem; max-width: 480px; }
}

@media (max-width: 640px) {
  .slg-faq-hero { padding: 3rem 0 2.5rem; }
  .slg-faq-hero__title { font-size: clamp(1.625rem, 6vw, 2.25rem); }
  .slg-faq-hero__lead { margin-bottom: 1.75rem; }
  .slg-faq-hero__card { padding: 0.875rem 1rem; }
  .slg-faq-hero__card-icon { width: 36px; height: 36px; }
  .slg-faq-body { padding: 2rem 0 3rem; }
  .slg-faq-section { margin-bottom: 2.75rem; }
  .slg-faq-section__header { padding: 1rem 1.125rem; gap: 0.875rem; }
  .slg-faq-section__icon { width: 40px; height: 40px; }
  .slg-faq-list__link { padding: 0.75rem 1rem; gap: 0.625rem; }
  .slg-faq-list__q { font-size: 0.875rem; }
}

/* ============================================================
   SINGLE POST TEMPLATE — single.php / single-faq.php / single-library.php
   Full-width hero + body+sidebar grid + in-article CTA + related content.
   Body content rendered via the_content() — frame is the only thing
   that's new. Schema and SEO content untouched.
   ============================================================ */

.slg-single { background: #fff; }
.slg-single + .slg-site-footer { margin-top: 0; }

/* ---------- 1. Hero band ---------- */
.slg-single__hero {
  background: linear-gradient(180deg, #FBF8F1 0%, #fff 100%);
  border-bottom: 1px solid var(--slg-border);
  padding: 3rem 0 2.5rem;
}
.slg-single__hero-inner {
  max-width: 880px;
}

/* Breadcrumb (FAQ pages only) */
.slg-single__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--slg-text-mut);
}
.slg-single__breadcrumb a {
  color: var(--slg-text-mut);
  text-decoration: none;
  transition: color 0.15s ease;
}
.slg-single__breadcrumb a:hover { color: var(--slg-gold-dark, #B8873B); }
.slg-single__breadcrumb span[aria-hidden] { color: var(--slg-border); }

/* Eyebrow + pillar link row */
.slg-single__hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-bottom: 1rem;
}
.slg-single__hero-eyebrow {
  margin: 0;
  display: inline-block;
}
.slg-single__hero-divider {
  color: var(--slg-text-light, #94989b);
  font-size: 0.875rem;
}
/* On narrow screens the eyebrow + pillar pill wrap to two lines, leaving
   the divider stranded on line 1. Hide it below 640px — the pill has
   enough visual weight on its own. */
@media (max-width: 640px) {
  .slg-single__hero-divider { display: none; }
  .slg-single__hero-meta { gap: 0.5rem; }
}
.slg-single__hero-pillar {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  background: rgba(216, 187, 134, 0.12);
  border: 1px solid rgba(216, 187, 134, 0.4);
  border-radius: 99px;
  font-family: var(--slg-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--slg-gold-dark, #B8873B);
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.slg-single__hero-pillar:hover {
  background: rgba(216, 187, 134, 0.22);
  border-color: var(--slg-gold);
}
.slg-single__hero-pillar::before {
  content: "↗";
  font-size: 0.875rem;
  line-height: 1;
}

/* H1 */
.slg-single__hero-question { margin: 0; }
.slg-single__hero-title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin: 0 0 1.5rem;
  text-wrap: balance;
}

/* Byline below H1 — overrides default byline margin */
.slg-single__hero-byline .slg-byline {
  margin: 0;
  background: #fff;
  border: 1px solid var(--slg-border);
}

/* ---------- 2. Body + sidebar ---------- */
.slg-single__body-section {
  padding: 3rem 0 4rem;
  background: #fff;
}
.slg-single__body-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 3rem;
  align-items: start;
}
.slg-single__article { min-width: 0; }
.slg-single__sidebar { min-width: 0; }

.slg-single__featured-image {
  margin: 0 0 2rem;
  border-radius: var(--slg-radius);
  overflow: hidden;
}
.slg-single__featured-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* The body content uses .slg-article__body styles already defined globally
   (gold-stripe H2 accents, H3 styling, citation typography). Just make sure
   first H2 doesn't have orphan top spacing inside its container. */
.slg-single__article > .slg-single__content > h2:first-child,
.slg-single__article > .slg-single__content > p:first-child + h2 {
  padding-top: 1em;
}

/* ---------- 3. In-article CTA ---------- */
.slg-single-cta {
  margin: 3rem 0 2.5rem;
  padding: 2rem 2rem 1.875rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  border-radius: 14px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.slg-single-cta::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--slg-gold) 0%, #F0D89E 50%, var(--slg-gold) 100%);
}
.slg-single-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.slg-single-cta__copy { flex: 1 1 280px; min-width: 0; }
.slg-single-cta__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.625rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.5rem;
  letter-spacing: -0.005em;
  line-height: 1.2;
  padding-top: 0 !important;  /* override .slg-article__body h2 padding */
}
.slg-single-cta__title::before { display: none !important; }  /* kill gold accent stripe */
.slg-single-cta__sub {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}
.slg-single-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  flex-shrink: 0;
}
.slg-single-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.slg-single-cta__btn:hover { transform: translateY(-2px); }
.slg-single-cta__btn svg { transition: transform 0.2s ease; }
.slg-single-cta__btn:hover svg { transform: translateX(3px); }
.slg-single-cta__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color 0.15s ease;
}
.slg-single-cta__phone:hover { color: #fff; }
.slg-single-cta__phone svg { color: var(--slg-gold); flex-shrink: 0; }

/* ---------- 4. More FAQs in this topic (FAQ template only) ---------- */
.slg-single__more-faqs {
  margin: 3rem 0 0;
  padding: 1.75rem 1.75rem 1.5rem;
  background: var(--slg-bg-warm, #FAF7F1);
  border: 1px solid var(--slg-border);
  border-radius: var(--slg-radius);
}
.slg-single__more-faqs-title {
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 1rem !important;
  padding-top: 0 !important;
  letter-spacing: -0.005em;
}
.slg-single__more-faqs-title::before { display: none !important; }
.slg-single__more-faqs-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 1.5rem;
}
.slg-single__more-faqs-list li {
  position: relative;
  padding-left: 1rem;
}
.slg-single__more-faqs-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--slg-gold-dark, #B8873B);
  font-weight: 700;
}
.slg-single__more-faqs-list a {
  color: var(--slg-navy);
  text-decoration: none;
  font-size: 0.9375rem;
  line-height: 1.4;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease;
}
.slg-single__more-faqs-list a:hover {
  border-color: var(--slg-gold);
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .slg-single__body-grid { grid-template-columns: 1fr; gap: 3rem; }
  .slg-single__more-faqs-list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .slg-single__hero { padding: 2.5rem 0 2rem; }
  .slg-single__hero-title { font-size: clamp(1.5rem, 6vw, 2rem); }
  .slg-single__body-section { padding: 2rem 0 2.5rem; }
  .slg-single-cta { padding: 1.5rem; margin: 2rem 0; }
  .slg-single-cta__inner { flex-direction: column; align-items: stretch; }
  .slg-single-cta__actions { align-items: stretch; }
  .slg-single-cta__btn { justify-content: center; }
}

/* ============================================================
   ABOUT PAGE — /about/
   Story-led layout that threads the "Real Help. When It Matters
   Most." tagline across the hero, story payoff, beliefs section,
   and closing CTA. Voice + visual treatment match the rest of
   the rebuilt site.
   ============================================================ */

.slg-about { background: #fff; }

/* ---------- 1. Hero — full-width atmospheric background image ---------- */
.slg-about__hero {
  position: relative;
  overflow: hidden;
  padding: 7rem 0 6rem;
  /* Fallback navy-charcoal gradient — shows if hero image is missing
     or hasn't loaded yet. Always presentable. */
  background:
    radial-gradient(ellipse at center, rgba(216, 187, 134, 0.05) 0%, transparent 60%),
    linear-gradient(135deg, #1a1f2e 0%, #0f1320 100%);
  color: #fff;
  isolation: isolate; /* contain z-index stacking */
}

/* Background image layer. The Katrina image is already sepia-toned and
   atmospheric (AI-generated), so we apply minimal additional filtering —
   just a touch of saturation reduction so it never reads "vivid." */
.slg-about__hero-bg {
  position: absolute;
  inset: 0;
  background-image: url("../img/about/hero-katrina.jpg");
  background-size: cover;
  background-position: center 55%; /* bias slightly down — keeps the X-marked house visible */
  filter: saturate(0.9);
  z-index: 0;
}

/* Dark overlay — gradient from lighter at top to darker at bottom.
   Image is already moody, so a softer overlay (35%→65%) keeps the
   imagery legible while the bottom is dim enough for the sub-line. */
.slg-about__hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 19, 32, 0.35) 0%, rgba(15, 19, 32, 0.55) 50%, rgba(15, 19, 32, 0.7) 100%);
  z-index: 1;
}

.slg-about__hero-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 760px;
}

.slg-about__hero-eyebrow {
  color: var(--slg-gold);
  margin-bottom: 1.25rem;
  display: inline-block;
}

.slg-about__hero-title {
  font-family: var(--slg-font-display);
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin: 0 0 1.25rem;
  text-wrap: balance;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.slg-about__hero-sub {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  color: var(--slg-gold);
  margin: 0;
  letter-spacing: 0.005em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

/* ---------- 2. The Story ---------- */
.slg-about__story {
  padding: 5rem 0 4.5rem;
  background: #FBF8F1;
}
.slg-about__story-inner {
  max-width: 760px;
}
.slg-about__story-head {
  margin-bottom: 2.5rem;
}
.slg-about__story-head h2 {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 3.6vw, 2.625rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0.5rem 0 0;
}
.slg-about__story-head h2 em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  color: #8E5F1F;  /* deeper amber — readable on cream backgrounds */
  font-weight: 600;
}
.slg-about__story-body p {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--slg-text);
  margin: 0 0 1.25rem;
}
.slg-about__story-body p:first-child {
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--slg-navy);
  font-weight: 600;
  font-family: var(--slg-font-display);
  letter-spacing: -0.005em;
  margin-bottom: 1.5rem;
}
.slg-about__story-body p:last-child {
  margin-bottom: 0;
}
.slg-about__story-body em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  color: #8E5F1F;  /* deeper amber — readable on cream backgrounds */
  font-weight: 600;
}
.slg-about__story-body strong {
  color: var(--slg-navy);
  font-weight: 700;
}

/* Tagline reveal — the payoff of the story */
/* Tagline payoff — inline body paragraph treatment. The em portion
   inherits the .slg-about__story-body em styling (deep amber, weight 600,
   italic Georgia serif), matching how "closure" is highlighted across
   the site. The "It's baked into our logo." trailer reads as normal body
   prose, which sets up the centered logo immediately below as visual
   confirmation. */
.slg-about__story-tagline {
  /* No font-size override — inherits .slg-about__story-body p (1.0625rem) */
  margin: 1.75rem 0 1.5rem !important;
}
.slg-about__story-logo {
  text-align: center;
  margin: 0;
  padding: 2rem 0 0.25rem;
}
.slg-about__story-logo img {
  display: inline-block;
  width: 100%;
  max-width: 420px;
  height: auto;
  /* Full color saturation — let the navy and gold land at full strength */
}

/* ---------- 3. Bridge to testimonials wall ---------- */
.slg-about__bridge {
  padding: 2.75rem 0;
  background: #FBF8F1;
  border-top: 1px solid var(--slg-border);
  border-bottom: 1px solid var(--slg-border);
}
.slg-about__bridge-inner {
  max-width: 720px;
  text-align: center;
}
.slg-about__bridge-copy {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--slg-text);
  margin: 0 0 1rem;
  font-style: normal;
}
.slg-about__bridge-copy em {
  font-style: italic;
  color: #8E5F1F;  /* deeper amber — readable on cream backgrounds */
  font-weight: 600;
}
.slg-about__bridge-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--slg-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slg-navy);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid var(--slg-navy);
  border-radius: 99px;
  transition: background 0.2s ease, color 0.2s ease;
}
.slg-about__bridge-link:hover {
  background: var(--slg-navy);
  color: #fff;
}
.slg-about__bridge-link svg { transition: transform 0.2s ease; }
.slg-about__bridge-link:hover svg { transform: translateX(3px); }

/* (Sections 4 "What we believe" and 5 "Team" were removed from the
   About page — Brad explicitly asked to delete them. Their CSS is
   pruned. Section 6 below renumbered to 4 in spirit but kept as 6
   so refactor diff stays minimal.) */

/* ---------- 6. Closing CTA ---------- */
.slg-about__cta {
  padding: 5rem 0 5.5rem;
  background: linear-gradient(135deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-about__cta::before,
.slg-about__cta::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--slg-gold) 30%, var(--slg-gold) 70%, transparent 100%);
}
.slg-about__cta::before { top: 0; }
.slg-about__cta::after { bottom: 0; }
.slg-about__cta-inner {
  position: relative;
  max-width: 720px;
}
.slg-about__cta-tagline {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.625rem, 3.4vw, 2.375rem);
  color: var(--slg-gold);
  margin: 0 0 1rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}
.slg-about__cta-sub {
  font-size: 1.0625rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 2rem;
}
.slg-about__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1.25rem 2.75rem;
  font-size: 1rem;
  letter-spacing: 0.08em;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.5),
    0 0 32px rgba(216, 187, 134, 0.28);
  position: relative;
}
.slg-about__cta-btn::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, transparent 35%);
  pointer-events: none;
}
.slg-about__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 22px 44px rgba(0, 0, 0, 0.55),
    0 0 44px rgba(216, 187, 134, 0.45);
}
.slg-about__cta-btn svg {
  position: relative;
  z-index: 1;
  transition: transform 0.2s ease;
}
.slg-about__cta-btn:hover svg { transform: translateX(4px); }
.slg-about__cta-or {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.7);
}
.slg-about__cta-or a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  transition: border-color 0.15s ease;
}
.slg-about__cta-or a:hover { border-color: var(--slg-gold); }
.slg-about__cta-trust {
  margin-top: 0.75rem;
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .slg-about__hero { padding: 5rem 0 4rem; }
  .slg-about__story { padding: 3.5rem 0 3rem; }
  .slg-about__cta { padding: 3.5rem 0; }
}
@media (max-width: 560px) {
  .slg-about__tagline-reveal {
    padding: 1.75rem 1.5rem 1.5rem;
  }
}

/* ============================================================
   FREE RESOURCES — archive (/resources/), single (/resources/[slug]/),
   and thank-you (/resources/[slug]/thank-you/).
   Templates: archive-resource.php, single-resource.php,
              single-resource-thank-you.php
   ============================================================ */

.slg-resources-archive { background: #FBF8F1; }
.slg-resources-archive + .slg-site-footer,
.slg-resource + .slg-site-footer,
.slg-resource-thanks + .slg-site-footer { margin-top: 0; }

/* ---------- Archive hero ---------- */
.slg-resources-archive__hero {
  padding: 4.5rem 0 2rem;
  text-align: center;
}
.slg-resources-archive__eyebrow { color: var(--slg-gold-dark, #B89967); margin-bottom: 0.75rem; display: inline-block; }
.slg-resources-archive__title {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.015em;
  line-height: 1.12;
  margin: 0 auto 1rem;
  max-width: 22ch;
  text-wrap: balance;
}
.slg-resources-archive__title em {
  font-style: italic;
  color: var(--slg-gold-dark, #B89967);
  font-weight: 600;
}
.slg-resources-archive__lead {
  max-width: 620px;
  margin: 0 auto;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--slg-text-mut);
}

.slg-resources-archive__grid-section { padding: 2.5rem 0 4rem; }

/* ---------- Resource card (archive + "more resources" rail) ---------- */
.slg-resources-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}
.slg-resource-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--slg-border-warm);
  border-radius: var(--slg-radius);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.slg-resource-card:hover {
  transform: translateY(-4px);
  border-color: var(--slg-gold);
  box-shadow: 0 14px 32px rgba(19, 25, 54, 0.12);
}
.slg-resource-card__cover {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(135deg, #F5EFE3 0%, #FAF6EC 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.slg-resource-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.slg-resource-card:hover .slg-resource-card__cover img { transform: scale(1.04); }
.slg-resource-card__cover--ph {
  color: var(--slg-gold-dark, #B89967);
  opacity: 0.45;
}
.slg-resource-card__body {
  padding: 1.25rem 1.375rem 1.375rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  flex: 1;
}
.slg-resource-card__meta {
  font-family: var(--slg-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--slg-gold-dark, #B89967);
}
.slg-resource-card__title {
  font-family: var(--slg-font-display);
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.005em;
  line-height: 1.25;
  margin: 0;
}
.slg-resource-card__excerpt {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slg-text-mut);
  margin: 0;
  flex: 1;
}
.slg-resource-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  margin-top: 0.5rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--slg-border-warm);
  font-family: var(--slg-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slg-navy);
  transition: color 0.15s ease, gap 0.15s ease;
}
.slg-resource-card:hover .slg-resource-card__cta { color: var(--slg-gold-dark, #B89967); gap: 0.625rem; }

/* ---------- Single resource (offer page) ---------- */
.slg-resource { background: #FBF8F1; }

.slg-resource__hero {
  padding: 3.5rem 0 2.5rem;
  background: linear-gradient(180deg, #fff 0%, transparent 100%);
}
.slg-resource__hero-inner {
  max-width: 760px;
  text-align: center;
  margin: 0 auto;
}
.slg-resource__eyebrow { color: var(--slg-gold-dark, #B89967); margin-bottom: 0.75rem; display: inline-block; }
.slg-resource__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.875rem, 3.6vw, 2.625rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin: 0 0 1rem;
  text-wrap: balance;
}
.slg-resource__lead {
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--slg-text-mut);
  margin: 0 0 1.25rem;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}
.slg-resource__meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
  margin: 0;
}
.slg-resource__meta-format { font-weight: 700; color: var(--slg-navy); letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.6875rem; }
.slg-resource__meta-cost { font-weight: 600; color: var(--slg-gold-dark, #B89967); }
.slg-resource__meta-sep { color: var(--slg-border-warm); }

.slg-resource__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
  gap: 3rem;
  padding-bottom: 4rem;
  align-items: start;
}

.slg-resource__body { min-width: 0; }
.slg-resource__prose {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--slg-text);
}
.slg-resource__prose p { margin: 0 0 1.125rem; }
.slg-resource__prose h2,
.slg-resource__prose h3,
.slg-resource__prose h4,
.slg-resource__prose strong { color: var(--slg-navy); }
.slg-resource__prose h2 { font-family: var(--slg-font-display); font-size: 1.375rem; margin: 2rem 0 0.75rem; letter-spacing: -0.005em; }
.slg-resource__prose h3 { font-family: var(--slg-font-display); font-size: 1.125rem; margin: 1.5rem 0 0.5rem; letter-spacing: -0.005em; }
.slg-resource__prose ul { padding-left: 1.25rem; margin: 0 0 1.125rem; }
.slg-resource__prose li { margin-bottom: 0.375rem; }
.slg-resource__prose a { color: var(--slg-navy); text-decoration: underline; text-decoration-color: var(--slg-gold); text-underline-offset: 3px; }
.slg-resource__prose a:hover { color: var(--slg-gold-dark, #B89967); }
.slg-resource__prose img.bookphoto,
.slg-resource__prose .bookphoto { display: none; } /* Foster-imported cover image — use ACF cover instead */

/* "What's inside" preview list */
.slg-resource__inside {
  margin-top: 2.25rem;
  padding: 1.75rem 1.875rem;
  background: #fff;
  border: 1px solid var(--slg-border-warm);
  border-left: 3px solid var(--slg-gold);
  border-radius: var(--slg-radius);
}
.slg-resource__inside-title {
  font-family: var(--slg-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.005em;
}
.slg-resource__inside-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.625rem;
}
.slg-resource__inside-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--slg-text);
}
.slg-resource__inside-check {
  flex-shrink: 0;
  color: var(--slg-gold-dark, #B89967);
  margin-top: 1px;
}

/* Authoring attorney byline */
.slg-resource__byline {
  margin-top: 2rem;
  padding: 1.25rem 1.5rem;
  background: rgba(216, 187, 134, 0.08);
  border-radius: var(--slg-radius);
  display: flex;
  align-items: center;
  gap: 1rem;
}
.slg-resource__byline-photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.slg-resource__byline-label {
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--slg-gold-dark, #B89967);
  margin: 0;
}
.slg-resource__byline-name {
  margin: 0.125rem 0;
  font-family: var(--slg-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--slg-navy);
}
.slg-resource__byline-name a { color: inherit; text-decoration: none; }
.slg-resource__byline-name a:hover { color: var(--slg-gold-dark, #B89967); }
.slg-resource__byline-role { margin: 0; font-size: 0.8125rem; color: var(--slg-text-mut); }

/* Form column (sticky on desktop) */
.slg-resource__form-col {
  position: sticky;
  top: 6rem;
}
.slg-resource__form-card {
  background: #fff;
  border: 1px solid var(--slg-border-warm);
  border-radius: var(--slg-radius);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(19, 25, 54, 0.06);
}
.slg-resource__form-cover {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(135deg, #F5EFE3 0%, #FAF6EC 100%);
}
.slg-resource__form-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slg-resource__form-head { padding: 1.375rem 1.5rem 0.5rem; }
.slg-resource__form-title {
  font-family: var(--slg-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 0.375rem;
  letter-spacing: -0.005em;
  line-height: 1.25;
}
.slg-resource__form-sub {
  font-size: 0.875rem;
  color: var(--slg-text-mut);
  margin: 0;
  line-height: 1.45;
}
.slg-resource__form-trust {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  font-size: 0.75rem;
  color: var(--slg-text-mut);
  margin: 0;
  padding: 0.875rem 1.5rem 1.25rem;
  border-top: 1px solid var(--slg-border-warm);
  background: rgba(216, 187, 134, 0.04);
}
.slg-resource__form-trust svg { color: var(--slg-gold-dark, #B89967); flex-shrink: 0; }

/* The form itself */
.slg-resource-form {
  padding: 1rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.slg-resource-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.slg-resource-form__label {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  font-size: 0.8125rem;
  color: var(--slg-text-mut);
}
.slg-resource-form__label-text { font-weight: 600; color: var(--slg-navy); }
.slg-resource-form__label .req { color: #B6361A; font-weight: 700; }
.slg-resource-form__label .opt { color: var(--slg-text-mut); font-weight: 400; }
.slg-resource-form input[type="text"],
.slg-resource-form input[type="email"],
.slg-resource-form input[type="tel"] {
  padding: 0.625rem 0.75rem;
  font-size: 0.9375rem;
  border: 1px solid var(--slg-border-warm);
  border-radius: 6px;
  background: #fff;
  color: var(--slg-navy);
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
}
.slg-resource-form input:focus {
  outline: none;
  border-color: var(--slg-gold);
  box-shadow: 0 0 0 3px rgba(216, 187, 134, 0.22);
}
.slg-resource-form input:invalid:not(:placeholder-shown) {
  border-color: #B6361A;
}

.slg-resource-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  padding: 0.875rem 1.25rem;
  background: var(--slg-gold);
  color: var(--slg-navy);
  border: none;
  border-radius: 8px;
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
.slg-resource-form__submit:hover {
  background: var(--slg-gold-soft);
  transform: translateY(-2px);
}
.slg-resource-form__submit.is-loading {
  opacity: 0.65;
  cursor: progress;
  pointer-events: none;
}

.slg-resource-form__fineprint {
  font-size: 0.75rem;
  color: var(--slg-text-mut);
  margin: 0.25rem 0 0;
  line-height: 1.45;
}
.slg-resource-form__error {
  font-size: 0.875rem;
  color: #B6361A;
  background: rgba(182, 54, 26, 0.06);
  padding: 0.625rem 0.875rem;
  border-radius: 6px;
  border: 1px solid rgba(182, 54, 26, 0.2);
  margin: 0.25rem 0 0;
}
.slg-resource-form__success {
  font-size: 0.875rem;
  color: var(--slg-text-mut);
  margin: 0.25rem 0 0;
}
.slg-resource-form__success p { margin: 0; }

/* "More resources" section at bottom of single page */
.slg-resource__other {
  background: #fff;
  border-top: 1px solid var(--slg-border-warm);
  padding: 3rem 0 4rem;
}
.slg-resource__other-title {
  font-family: var(--slg-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 1.75rem;
  letter-spacing: -0.005em;
  text-align: center;
}

/* ---------- Thank-you page ---------- */
.slg-resource-thanks { background: #FBF8F1; }

.slg-resource-thanks__hero {
  padding: 4rem 0 3.5rem;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(216, 187, 134, 0.10) 0%, transparent 55%),
    linear-gradient(180deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  position: relative;
}
.slg-resource-thanks__hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  right: 25%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--slg-gold) 50%, transparent);
  opacity: 0.45;
}
.slg-resource-thanks__hero-inner {
  display: grid;
  grid-template-columns: 1fr minmax(220px, 280px);
  gap: 3rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
.slg-resource-thanks__eyebrow { color: var(--slg-gold); display: inline-block; margin-bottom: 0.75rem; }
.slg-resource-thanks__title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.18;
  margin: 0 0 1rem;
  text-wrap: balance;
}
.slg-resource-thanks__title em {
  font-style: italic;
  color: var(--slg-gold);
  font-weight: 600;
}
.slg-resource-thanks__lead {
  font-size: 1.0625rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  margin: 0 0 1.5rem;
  max-width: 56ch;
}
.slg-resource-thanks__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 1.875rem;
  background: var(--slg-gold);
  color: var(--slg-navy);
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 4px 16px rgba(216, 187, 134, 0.28);
}
.slg-resource-thanks__cta:hover {
  background: var(--slg-gold-soft);
  transform: translateY(-2px);
  color: var(--slg-navy);
  box-shadow: 0 6px 20px rgba(216, 187, 134, 0.36);
}
.slg-resource-thanks__pending {
  font-size: 0.9375rem;
  color: var(--slg-gold);
  font-style: italic;
  margin: 0 0 1rem;
}
.slg-resource-thanks__quiet {
  margin: 1rem 0 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}
.slg-resource-thanks__quiet a { color: var(--slg-gold); text-decoration: underline; text-underline-offset: 3px; }
.slg-resource-thanks__quiet a:hover { color: #fff; }

.slg-resource-thanks__hero-cover {
  position: relative;
}
.slg-resource-thanks__hero-cover img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.36);
  transform: rotate(-2deg);
  transition: transform 0.4s ease;
}
.slg-resource-thanks__hero-cover img:hover { transform: rotate(0deg) scale(1.02); }

/* Cross-sell band */
.slg-resource-thanks__cross {
  background: #fff;
  padding: 3.5rem 0;
  border-bottom: 1px solid var(--slg-border-warm);
}
.slg-resource-thanks__cross-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2.5rem;
  align-items: center;
}
.slg-resource-thanks__cross-text { max-width: 56ch; }
.slg-resource-thanks__cross-eyebrow { color: var(--slg-gold-dark, #B89967); display: inline-block; margin-bottom: 0.5rem; }
.slg-resource-thanks__cross-title {
  font-family: var(--slg-font-display);
  font-size: clamp(1.375rem, 2.4vw, 1.75rem);
  font-weight: 700;
  color: var(--slg-navy);
  letter-spacing: -0.005em;
  line-height: 1.25;
  margin: 0 0 0.875rem;
  text-wrap: balance;
}
.slg-resource-thanks__cross-title em {
  font-style: italic;
  color: var(--slg-gold-dark, #B89967);
  font-weight: 600;
}
.slg-resource-thanks__cross-copy {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--slg-text-mut);
  margin: 0;
}
.slg-resource-thanks__cross-copy em {
  font-style: italic;
  color: var(--slg-gold-dark, #8E5F1F);
  font-weight: 500;
}
.slg-resource-thanks__cross-cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: var(--slg-navy);
  color: #fff;
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
  border-radius: 8px;
  letter-spacing: 0.02em;
  transition: background 0.18s ease, transform 0.18s ease;
}
.slg-resource-thanks__cross-cta:hover {
  background: var(--slg-navy-darker);
  transform: translateY(-2px);
  color: #fff;
}

/* Related articles */
.slg-resource-thanks__related {
  padding: 3.5rem 0 4.5rem;
}
.slg-resource-thanks__related-title {
  font-family: var(--slg-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--slg-navy);
  margin: 0 0 1.75rem;
  letter-spacing: -0.005em;
  text-align: center;
}
.slg-resource-thanks__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .slg-resources-archive__grid { grid-template-columns: repeat(2, 1fr); }
  .slg-resource__layout { grid-template-columns: 1fr; gap: 2rem; }
  .slg-resource__form-col { position: static; }
  .slg-resource-thanks__hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .slg-resource-thanks__hero-cover { max-width: 280px; margin: 0 auto; }
  .slg-resource-thanks__cross-inner { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
  .slg-resource-thanks__cross-text { margin: 0 auto; }
  .slg-resource-thanks__related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .slg-resources-archive__hero { padding: 3rem 0 1.5rem; }
  .slg-resources-archive__grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .slg-resource__hero { padding: 2.5rem 0 1.5rem; }
  .slg-resource__layout { padding-bottom: 2.5rem; }
  .slg-resource-form { padding: 1rem 1.25rem 1.25rem; }
  .slg-resource-form__row { grid-template-columns: 1fr; gap: 0.875rem; }
  .slg-resource-thanks__hero { padding: 2.5rem 0 2rem; }
  .slg-resource-thanks__cross { padding: 2.5rem 0; }
  .slg-resource-thanks__related-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   404 — Page Not Found template (404.php).
   Navy declaration hero + 4-up suggestion grid + bridge to FCR.
   ============================================================ */

.slg-404 { background: #FBF8F1; }
.slg-404 + .slg-site-footer { margin-top: 0; }

.slg-404__hero {
  padding: 4.5rem 0 3rem;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(216, 187, 134, 0.10) 0%, transparent 55%),
    linear-gradient(180deg, var(--slg-navy) 0%, var(--slg-navy-darker) 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.slg-404__hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  right: 25%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--slg-gold) 50%, transparent);
  opacity: 0.45;
}
.slg-404__hero .slg-container { position: relative; z-index: 1; }
.slg-404__eyebrow {
  color: var(--slg-gold);
  font-size: 0.875rem;
  letter-spacing: 0.16em;
  display: inline-block;
  margin-bottom: 0.75rem;
}
.slg-404__title {
  font-family: var(--slg-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.12;
  margin: 0 auto 1.25rem;
  max-width: 22ch;
  text-wrap: balance;
}
.slg-404__title em {
  color: var(--slg-gold);
  font-style: italic;
  font-weight: 600;
}
.slg-404__lead {
  max-width: 580px;
  margin: 0 auto;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}

.slg-404__suggest { padding: 3rem 0 2rem; }
.slg-404__suggest-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 760px;
  margin: 0 auto;
}
.slg-404__card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.375rem;
  background: #fff;
  border: 1px solid var(--slg-border-warm);
  border-radius: var(--slg-radius);
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.slg-404__card:hover {
  transform: translateY(-3px);
  border-color: var(--slg-gold);
  box-shadow: 0 12px 28px rgba(19, 25, 54, 0.10);
}
.slg-404__card-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: rgba(216, 187, 134, 0.14);
  color: var(--slg-gold-dark, #B8873B);
  border-radius: 12px;
}
.slg-404__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}
.slg-404__card-title {
  font-family: var(--slg-font-display);
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--slg-navy);
  letter-spacing: -0.005em;
}
.slg-404__card-meta {
  font-size: 0.875rem;
  color: var(--slg-text-mut);
  line-height: 1.4;
}
.slg-404__card-arrow {
  flex-shrink: 0;
  color: var(--slg-text-mut);
  transition: transform 0.18s ease, color 0.18s ease;
}
.slg-404__card:hover .slg-404__card-arrow {
  transform: translateX(3px);
  color: var(--slg-gold-dark, #B8873B);
}

@media (max-width: 640px) {
  .slg-404__hero { padding: 3rem 0 2rem; }
  .slg-404__suggest { padding: 2rem 0 1rem; }
  .slg-404__suggest-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   START ESTATE PLANNING (referral intake landing page)
   /start-estate-planning/ — hidden conversion-focused page
   prefix: .slg-sep
   ============================================================ */

/* Body class .slg-lp-minimal kept for future per-page tweaks (e.g. suppressing
   exit-intent popups on conversion-focused landing pages). Currently no rules
   hide standard nav — visitors landing here can explore the rest of the site. */
.slg-lp-minimal .slg-breadcrumb {
    display: none !important;  /* breadcrumb still hidden — nothing to navigate up to */
}

/* ----- 1. HERO ----- */
.slg-sep-hero {
    background: linear-gradient(180deg, #fafbff 0%, #ffffff 100%);
    padding: 64px 0 56px;
    border-bottom: 1px solid rgba(19, 25, 54, 0.06);
}
.slg-sep-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}
.slg-sep-hero__copy { max-width: 580px; }
.slg-sep-hero__eyebrow {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--slg-gold-dark);
    margin-bottom: 16px;
}
.slg-sep-hero__title {
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.1;
    color: var(--slg-navy);
    margin: 0 0 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.slg-sep-hero__sub {
    font-size: 1.125rem;
    line-height: 1.55;
    color: rgba(19, 25, 54, 0.75);
    margin: 0 0 28px;
}
.slg-sep-hero__cta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}
.slg-sep-hero__cta {
    font-size: 1rem;
    padding: 16px 28px;
    box-shadow: 0 6px 18px rgba(216, 187, 134, 0.35);
}
.slg-sep-hero__phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    color: var(--slg-navy);
    text-decoration: none;
    font-weight: 500;
}
.slg-sep-hero__phone:hover { color: var(--slg-gold-dark); }
.slg-sep-hero__photo {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(19, 25, 54, 0.15);
}
.slg-sep-hero__photo img {
    width: 100%;
    height: auto;
    display: block;
}
.slg-sep-hero__photo-caption {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    color: #fff;
    font-size: 0.85rem;
    background: linear-gradient(180deg, transparent 0%, rgba(19, 25, 54, 0.75) 100%);
    padding: 32px 16px 12px;
    margin: -32px -16px -12px;
    border-radius: 0 0 16px 16px;
}

/* ----- shared section helpers ----- */
.slg-sep-h2 {
    font-size: clamp(1.5rem, 2.5vw, 2.1rem);
    color: var(--slg-navy);
    line-height: 1.2;
    margin: 0 0 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.slg-sep-h3 {
    font-size: 1.25rem;
    color: var(--slg-navy);
    margin: 0 0 12px;
    font-weight: 700;
}
.slg-sep-lede {
    font-size: 1.125rem;
    line-height: 1.55;
    color: rgba(19, 25, 54, 0.78);
    margin: 0 0 28px;
}

/* ----- 2. PROBLEM ----- */
.slg-sep-problem {
    padding: 72px 0;
    background: #fff;
}
.slg-sep-problem__inner {
    max-width: 760px;
    margin: 0 auto;
}
.slg-sep-problem p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(19, 25, 54, 0.85);
    margin: 0 0 18px;
}

/* ----- 3. APPROACH (4-pillar) ----- */
.slg-sep-approach {
    padding: 72px 0;
    background: #fafbff;
}
.slg-sep-approach__inner h2 { text-align: center; margin-bottom: 48px; }
.slg-sep-pillars {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}
.slg-sep-pillars li {
    background: #fff;
    border: 1px solid rgba(19, 25, 54, 0.08);
    border-radius: 12px;
    padding: 32px 28px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.slg-sep-pillars li:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(19, 25, 54, 0.08);
}
.slg-sep-pillar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: rgba(216, 187, 134, 0.18);
    color: var(--slg-gold-dark);
    border-radius: 12px;
    margin-bottom: 16px;
}
.slg-sep-pillars h3 {
    font-size: 1.125rem;
    color: var(--slg-navy);
    margin: 0 0 10px;
    font-weight: 700;
}
.slg-sep-pillars p {
    margin: 0;
    color: rgba(19, 25, 54, 0.72);
    line-height: 1.55;
    font-size: 0.95rem;
}

/* ----- 4. FILTER (good fit / not good fit) ----- */
.slg-sep-fit {
    padding: 72px 0;
    background: #fff;
}
.slg-sep-fit__inner h2 { text-align: center; }
.slg-sep-fit__inner > .slg-sep-lede { text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; }
.slg-sep-fit__cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-top: 36px;
}
.slg-sep-fit__col {
    border-radius: 12px;
    padding: 32px 28px;
    border: 2px solid;
}
.slg-sep-fit__col h3 {
    font-size: 1.125rem;
    margin: 0 0 18px;
    font-weight: 700;
}
.slg-sep-fit__col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.slg-sep-fit__col li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 14px;
    line-height: 1.5;
    color: rgba(19, 25, 54, 0.85);
}
.slg-sep-fit__col li::before {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.1rem;
    line-height: 1.4;
}
.slg-sep-fit__col--yes {
    background: rgba(46, 160, 102, 0.05);
    border-color: rgba(46, 160, 102, 0.22);
}
.slg-sep-fit__col--yes h3 { color: #2ea066; }
.slg-sep-fit__col--yes li::before { content: "✓"; color: #2ea066; font-weight: 700; }
.slg-sep-fit__col--no {
    background: rgba(220, 53, 69, 0.04);
    border-color: rgba(220, 53, 69, 0.22);
}
.slg-sep-fit__col--no h3 { color: #c0392b; }
.slg-sep-fit__col--no li::before { content: "—"; color: #c0392b; font-weight: 700; }
.slg-sep-fit__note {
    text-align: center;
    margin-top: 32px;
    color: rgba(19, 25, 54, 0.62);
    font-size: 0.95rem;
    font-style: italic;
}

/* ----- 5. PROCESS (2-step) ----- */
.slg-sep-process {
    padding: 72px 0;
    background: #fafbff;
}
.slg-sep-process__inner h2 { text-align: center; margin-bottom: 48px; }
.slg-sep-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}
.slg-sep-steps li {
    background: #fff;
    border: 1px solid rgba(19, 25, 54, 0.08);
    border-radius: 12px;
    padding: 36px 32px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.slg-sep-step__num {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--slg-navy);
    color: var(--slg-gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
}
.slg-sep-step__body h3 {
    font-size: 1.125rem;
    color: var(--slg-navy);
    margin: 0 0 10px;
    font-weight: 700;
}
.slg-sep-step__body p {
    margin: 0;
    color: rgba(19, 25, 54, 0.72);
    line-height: 1.55;
    font-size: 0.95rem;
}

/* ----- 6. REFERRAL NOTE ----- */
.slg-sep-referral {
    padding: 56px 0;
    background: #fff;
}
.slg-sep-referral__card {
    max-width: 760px;
    margin: 0 auto;
    padding: 36px 40px;
    background: var(--slg-navy);
    color: rgba(255, 255, 255, 0.92);
    border-radius: 12px;
    text-align: center;
}
.slg-sep-referral__card h2 {
    color: #fff;
    margin: 0 0 14px;
    font-size: 1.25rem;
}
.slg-sep-referral__card p {
    margin: 0;
    line-height: 1.6;
    font-size: 1rem;
}

/* ----- 7. CALENDLY (book) ----- */
.slg-sep-book {
    padding: 80px 0;
    background: linear-gradient(180deg, #fafbff 0%, #ffffff 100%);
}
.slg-sep-book__inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}
.slg-sep-book__inner h2 { margin-bottom: 12px; }
.slg-sep-book__inner > .slg-sep-lede { margin-bottom: 32px; }
.slg-sep-calendly {
    background: #fff;
    border: 1px solid rgba(19, 25, 54, 0.08);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 12px 28px rgba(19, 25, 54, 0.06);
    overflow: hidden;
    min-height: 600px;
}
.slg-sep-calendly__placeholder {
    padding: 56px 24px;
    text-align: center;
    color: rgba(19, 25, 54, 0.6);
}
.slg-sep-calendly__placeholder code {
    display: inline-block;
    margin-top: 6px;
    padding: 4px 10px;
    background: rgba(19, 25, 54, 0.06);
    border-radius: 4px;
    font-size: 0.85em;
}
.slg-sep-book__fallback {
    margin-top: 24px;
    color: rgba(19, 25, 54, 0.62);
    font-size: 0.95rem;
}
.slg-sep-book__fallback a { color: var(--slg-navy); }

/* ----- 8. FAQ ----- */
.slg-sep-faq {
    padding: 72px 0 96px;
    background: #fff;
    border-top: 1px solid rgba(19, 25, 54, 0.06);
}
.slg-sep-faq__inner {
    max-width: 760px;
    margin: 0 auto;
}
.slg-sep-faq__inner h2 { text-align: center; margin-bottom: 32px; }
.slg-sep-faq__item {
    border-bottom: 1px solid rgba(19, 25, 54, 0.10);
    padding: 18px 0;
}
.slg-sep-faq__item summary {
    font-weight: 600;
    color: var(--slg-navy);
    cursor: pointer;
    font-size: 1.05rem;
    list-style: none;
    position: relative;
    padding-right: 32px;
}
.slg-sep-faq__item summary::-webkit-details-marker { display: none; }
.slg-sep-faq__item summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    font-weight: 300;
    color: var(--slg-gold-dark);
    line-height: 1;
}
.slg-sep-faq__item[open] summary::after { content: "−"; }
.slg-sep-faq__item p {
    margin: 14px 0 0;
    color: rgba(19, 25, 54, 0.78);
    line-height: 1.65;
    font-size: 0.97rem;
}

/* ----- responsive ----- */
@media (max-width: 840px) {
    .slg-sep-hero { padding: 40px 0 32px; }
    .slg-sep-hero__inner { grid-template-columns: 1fr; gap: 32px; }
    .slg-sep-hero__photo { order: -1; max-width: 360px; margin: 0 auto; }
    .slg-sep-pillars { grid-template-columns: 1fr; gap: 16px; }
    .slg-sep-fit__cols { grid-template-columns: 1fr; }
    .slg-sep-steps { grid-template-columns: 1fr; }
    .slg-sep-referral__card { padding: 28px 22px; }
    .slg-sep-problem,
    .slg-sep-approach,
    .slg-sep-fit,
    .slg-sep-process,
    .slg-sep-faq { padding: 48px 0; }
    .slg-sep-book { padding: 56px 0; }
}
@media (max-width: 480px) {
    .slg-sep-hero__cta-row { flex-direction: column; align-items: stretch; gap: 14px; }
    .slg-sep-hero__cta { display: block; text-align: center; }
    .slg-sep-hero__phone { justify-content: center; }
}

/* ----- hero bullet list (what we'll cover on the discovery call) ----- */
.slg-sep-hero__bullets {
    margin: 0 0 28px;
    padding: 18px 22px;
    background: rgba(216, 187, 134, 0.10);
    border-left: 3px solid var(--slg-gold);
    border-radius: 0 8px 8px 0;
}
.slg-sep-hero__bullets-label {
    margin: 0 0 10px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--slg-gold-dark);
}
.slg-sep-hero__bullets ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.slg-sep-hero__bullets li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    line-height: 1.5;
    color: rgba(19, 25, 54, 0.85);
    font-size: 0.97rem;
}
.slg-sep-hero__bullets li:last-child { margin-bottom: 0; }
.slg-sep-hero__bullets li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 8px;
    width: 14px;
    height: 8px;
    border-left: 2px solid var(--slg-gold-dark);
    border-bottom: 2px solid var(--slg-gold-dark);
    transform: rotate(-45deg);
}
@media (max-width: 480px) {
    .slg-sep-hero__bullets { padding: 14px 18px; }
    .slg-sep-hero__bullets li { font-size: 0.92rem; }
}

.slg-sep-process__lede {
    text-align: center;
    margin-top: -8px;
    margin-bottom: 36px;
}
