/*
Theme Name: The Law Offices of Michael M. Goldberg
Theme URI: https://esquireinteractive.com/
Author: Esquire Interactive
Author URI: https://esquireinteractive.com/
Description: eiPRESQ TM  is not a template; rather it is an interface for easily managing profiles, practice areas, and firm information.
Version: 1.0.0
Text Domain: epresq-child
Template: epresq
*/

/* === 1. DESIGN TOKENS === */
/* Project overrides of Bootstrap 5.3.3 tokens (all other --bs-* values come from Bootstrap) */
:root {
  --bs-link-color: #13284A;
  --bs-link-color-rgb: 19,40,74;
  --bs-link-hover-color: #0D1D38;
  --bs-link-hover-color-rgb: 13,29,56;
  /* Brand palette */
  --cca-navy: #13284A;
  --cca-ink: #1F2329;
  --cca-gold: #B5A57F;
  --cca-navy-900: #0B1A33;
  --cca-gold-600: #9A8654;
  --cca-color-e3e7ee: #E3E7EE;
  --cca-gold-700: #8A7648;
  --cca-gray-700: #4A4F57;
  --cca-navy-700: #1C3560;
  --cca-ink-700: #2B3038;
  --cca-gray-650: #4A5058;
  --cca-gold-800: #85733F;
  --cca-gray-300: #D1D8DB;
  --cca-input-border: #D9D3C4;
  --cca-color-b9c2c6: #B9C2C6;
  --cca-color-dfe3e2: #DFE3E2;
  --cca-color-c9d0d4: #C9D0D4;
  --cca-border: #E6E2D8;
  --cca-color-c9b98e: #C9B98E;
  --cca-color-fbbc04: #FBBC04;
  --cca-charcoal: #2A2E35;
  --cca-line: #EEEAE1;
  --cca-stone-200: #E9E6DF;
  --cca-cream: #F7F5F0;
  --cca-color-111418: #111418;
  --cca-navy-800: #0D1D38;
  --cca-cream-200: #F4F2EC;
  --cca-cream-300: #E9E5DA;
  --cca-color-5a5f67: #5A5F67;
  --cca-color-efebe2: #EFEBE2;
  --cca-color-c9b27a: #C9B27A;
  --cca-color-0a0e16: #0A0E16;
  /* Type */
  --cca-font-serif: 'Libre Bodoni', 'Times New Roman', Times, serif;
  --cca-font-sans: 'Open Sans', system-ui, sans-serif;
  --cca-font-label: 'Montserrat', sans-serif;
  --cca-font-script: 'Felipa', cursive;
}

/* Focus ring for interactive elements (design-system rule; :where keeps it overridable) */
:where(button, [role="button"], input, select, textarea, a):focus-visible {
  outline: 0;
  box-shadow: 0 0 0 var(--bs-focus-ring-width) var(--bs-focus-ring-color);
  border-radius: var(--bs-border-radius);
}

/* === 2. BASE === */
html, body { margin:0; background:var(--bs-white); color:var(--cca-ink); font-family:var(--cca-font-sans); -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
a { color:var(--cca-navy); text-decoration:none; }
a:where(:hover) { color:var(--cca-navy-800); text-decoration:underline; }
* { box-sizing:border-box; }
.practice-grid > a:hover .practice-card-img { transform:scale(1.06); }
.practice-grid > a:hover .practice-card-shade { opacity:.85; }
.practice-grid > a:hover :is(.practice-card-text i) { transform:translateX(6px); }
.home .results-track::-webkit-scrollbar { display:none; }
h1, h2, h3, h4, h5, h6 { font-family:var(--cca-font-serif); }

/* === LAYOUT CONTAINERS (Bootstrap .container-md / .container-fluid) === */
.container-md { --bs-gutter-x: 40px; }
@media (min-width: 1600px) {
  .container-md { max-width: 1504px; }
}
.container-wide { --bs-gutter-x: 40px; max-width: 1792px; }
@media (min-width: 768px) {
  .container-wide { --bs-gutter-x: 56px; }
}
@media (min-width: 1200px) {
  .container-wide { --bs-gutter-x: 96px; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .container, .container-md, .container-sm {
        max-width: 90%;
    }
}

/* 768–1399px: approved design side padding (max(48px, 7vw)) instead of Bootstrap's stepped container widths
   (comes after the 90% rule above, so .container-md uses this) */
@media (min-width: 768px) and (max-width: 1399.98px) {
  .container-md { max-width: none; padding-right: max(48px, 7vw); padding-left: max(48px, 7vw); }
}
/* 1400–1680px: inner page heroes, the two-column section after them, the Practice Areas boxes, and the
   Proven Results and Testimonials sections (inner pages only) keep the design's side padding too */
@media (min-width: 1400px) and (max-width: 1680.98px) {
  :is(.hero-grid, .page-inner-block, .page-inner-panel, .car-accident-inner, .about-michael-inner-padded, .article-inner, .questions-and-inner, .why-refer-inner, .page-content-inner, .client-portal-inner, .practice-areas-inner).container-md,
  body:not(.home) :is(.results-strip-inner, .section-head-padded, .reviews-inner-padded).container-md { max-width: none; padding-right: max(48px, 7vw, calc((100vw - 1464px) / 2)); padding-left: max(48px, 7vw, calc((100vw - 1464px) / 2)); }
}

/* === 3. COMPONENTS === */
/* === HEADER === */
.header {
  z-index: 50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid transparent;
  transform: translateY(0);
  transition: transform .35s ease, border-color .2s;
}
.header-top {
  background: var(--cca-navy-900);
}
.mobile-bar {
  display: flex;
  padding-top: 14px;
  padding-right: 20px;
  padding-left: 20px;
  gap: 12px;
}
@media (min-width: 768px) {
  .mobile-bar { display: none; }
}
.mobile-bar-inner {
  grid-template-columns: 1fr 1.5fr 1fr;
  gap: 10px;
}
.mobile-bar-link {
  flex: 1;
  min-width: 0;
  height: 38px;
  border-radius: 10px;
  color: var(--cca-navy-900);
  font-size: 15px;
  text-decoration: none;
}
.mobile-bar-link:hover {
  color: var(--cca-navy-900);
  text-decoration: none;
}
.mobile-bar-link-habla-espanol {
  flex: 1;
  min-width: 0;
  height: 38px;
  border-radius: 10px;
  color: var(--cca-navy-900);
  font-size: 14px;
  text-decoration: none;
}
.mobile-bar-link-habla-espanol:hover {
  color: var(--cca-navy-900);
  text-decoration: none;
}
.mobile-bar-icon {
  color: var(--cca-gold-600);
  font-size: 22px;
  -webkit-text-stroke: 1px var(--cca-gold-600);
}
.mobile-bar-icon-wrap {
  color: var(--cca-gold-600);
  font-size: 18px;
}
.mobile-bar-btn {
  flex: 1;
  min-width: 0;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  font-family: var(--cca-font-sans);
  height: 38px;
  border-radius: 10px;
  color: var(--cca-navy-900);
  font-size: 15px;
}
.top-bar-row {
  height: 46px;
  display: flex;
  font-size: clamp(16px,1.05vw,19px);
}
.top-bar-inner {
  gap: 20px;
}
.top-bar-inner > a {
  color: var(--bs-white);
}
.top-bar-inner > a:hover {
  color: var(--bs-white);
  text-decoration: none;
}
.top-bar-label {
  width: 1px;
  height: 18px;
  background: rgba(255,255,255,.3);
}
.top-bar-btn {
  height: 32px;
  min-width: 178px;
  border-radius: 4px;
  background: var(--cca-gold-600);
  font: 600 clamp(13px,.8vw,14px) var(--cca-font-sans);
  cursor: pointer;
  transition: background .15s;
}
.top-bar-btn:hover {
  background: var(--cca-gold-800);
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .navbar-main { --bs-gutter-x: 40px; }
  .top-bar-row { --bs-gutter-x: 40px; font-size: clamp(12px, 1.55vw, 14px); }
  .top-bar-inner { gap: 12px; }
  .top-bar-btn { min-width: 0; padding: 0 12px; font-size: inherit; }
  .top-bar-row > span:first-child { min-width: 0; white-space: normal; line-height: 1.2; }
  .top-bar-row > .top-bar-inner { flex: none; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .top-bar-inner { gap: 14px; }
}

/* === CASE REVIEW MODAL === */
.case-modal-content {
  border-radius: 10px;
  padding-top: 52px;
  padding-right: 52px;
  padding-bottom: 52px;
  padding-left: 52px;
  box-shadow: 0 30px 80px rgba(0,0,0,.25);
}
.case-modal-btn {
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: var(--cca-cream-200);
  cursor: pointer;
  font-size: 20px;
}
.case-modal-btn:hover {
  background: var(--cca-cream-300);
}
.case-modal-btn-send-case {
  grid-column: 1 / -1;
  height: 58px;
  border-radius: 6px;
  background: var(--cca-navy-900);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  margin-top: 6px;
}
.case-modal-btn-send-case:hover {
  background: var(--cca-navy-700);
}
.case-modal-text {
  margin-bottom: 12px;
  font-size: 14px;
  letter-spacing: .14em;
  color: var(--cca-gold-700);
}
.case-modal-text-spaced {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--cca-gray-700);
}
.gform_confirmation_message > p {
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--cca-gray-700);
}
.modal-title {
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: .01em;
}
.case-modal-form {
  margin-top: 32px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.case-modal-field {
  grid-column: 1 / -1;
  min-width: 0;
  font-size: 14px;
}
.case-modal-field-phone-required {
  min-width: 0;
  font-size: 14px;
}
.case-modal-input {
  min-width: 0;
  height: 52px;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  font: 500 16px var(--cca-font-sans);
}
.case-modal-input:focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19,40,74,.15);
}
.case-modal-input-spaced {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  accent-color: var(--cca-navy);
}
.case-modal-input-bordered {
  min-width: 0;
  height: 52px;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  font: 500 16px var(--cca-font-serif);
}
.case-modal-input-bordered:focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19,40,74,.15);
}
.case-modal-textarea {
  min-width: 0;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  padding-top: 14px;
  padding-bottom: 14px;
  font: 500 16px var(--cca-font-sans);
  resize: vertical;
}
.case-modal-textarea:focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19,40,74,.15);
}
.case-modal-textarea-bordered {
  min-width: 0;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  padding-top: 14px;
  padding-bottom: 14px;
  font: 500 16px var(--cca-font-serif);
  resize: vertical;
}
.case-modal-textarea-bordered:focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19,40,74,.15);
}
.case-modal-control {
  grid-column: 1 / -1;
  gap: 12px;
  font-size: 13px;
  color: var(--cca-gray-700);
}
.case-modal-icon {
  font-size: 64px;
  color: var(--cca-navy);
}
.case-modal-title {
  margin-top: 18px;
  font-size: 32px;
}

/* === MOBILE CALL BAR === */
.mobile-cta {
  display: flex;
  z-index: 60;
  gap: 10px;
  padding: 8px 14px calc(8px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(8px);
  box-shadow: 0 -8px 24px rgba(11,26,51,.14);
}
@media (min-width: 768px) {
  .mobile-cta { display: none; }
}
.mobile-cta-btn {
  flex: 1;
  height: 38px;
  border-radius: 8px;
  background: var(--cca-gold-600);
  font: 700 15px var(--cca-font-sans);
  cursor: pointer;
}
.mobile-cta > a {
  flex: 1;
  height: 38px;
  border-radius: 8px;
  background: var(--cca-navy-900);
  color: var(--bs-white);
  font-size: 15px;
}
.mobile-cta > a:hover {
  color: var(--bs-white);
  text-decoration: none;
}

/* === FOOTER === */
.contact {
  background: var(--cca-navy-900);
  border-top: 1px solid var(--cca-gold);
}
.contact + .footer {
  border-top: 0;
}
.footer {
  background: var(--cca-navy-900);
  border-top: 1px solid var(--cca-gold);
  padding: 88px 0 40px;
}
.footer-inner {
}
.footer-tagline {
  margin-top: 64px;
  font-family: var(--cca-font-serif);
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--cca-gold);
}
.footer-tagline + .footer-inner-bordered {
  margin-top: 28px;
}
.footer-inner-bordered {
  margin-top: 72px;
  padding-top: 28px;
  border-top: 1px solid rgba(181,165,127,.35);
  font-size: 14px;
}
.footer-inner-privacy {
  gap: 28px;
}
.contact-card {
  margin-top: -150px;
  max-width: 1320px;
  border-top: 3px solid var(--cca-gold);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 30px 60px rgba(11,26,51,.28);
  padding: clamp(22px,3vw,48px);
  grid-template-columns: minmax(0,1fr);
  gap: 28px 56px;
  color: var(--cca-ink);
}
@media (min-width: 992px) {
  .contact-card { grid-template-columns: minmax(0,1fr) minmax(0,2fr); }
}
.contact-card-title {
  font-family: var(--cca-font-serif);
  font-size: clamp(42px,3.3vw,60px);
  line-height: 1.05;
  letter-spacing: .01em;
  color: var(--cca-navy);
}
.contact-card-text {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--cca-gray-700);
}
.gform_footer > p {
  flex: 1 1 280px;
  font-size: 13px;
  color: var(--cca-color-5a5f67);
}
.contact-card-inner {
  min-width: 0;
  font-size: 18px;
  line-height: 1.6;
  color: var(--cca-navy);
  display: flex;
  gap: 12px;
}
.contact-card-icon {
  color: var(--cca-gold-600);
  font-size: 24px;
}
.contact-card-form {
  min-width: 0;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr));
}
.contact-card-field {
  min-width: 0;
  font-size: 14px;
  color: var(--cca-navy);
}
.contact-card-field-tell-what {
  grid-column: 1 / -1;
  min-width: 0;
  font-size: 14px;
  color: var(--cca-navy);
}
.contact-card-input {
  min-width: 0;
  height: 54px;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  font: 500 16px var(--cca-font-sans);
  color: var(--cca-ink);
}
.contact-card-input:focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19,40,74,.15);
}
.contact-card-textarea {
  min-width: 0;
  min-height: 96px;
  resize: vertical;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  padding-top: 14px;
  padding-bottom: 14px;
  font: 500 16px/1.5 var(--cca-font-sans);
  color: var(--cca-ink);
}
.contact-card-textarea:focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19,40,74,.15);
}
.contact-card-actions {
  grid-column: 1 / -1;
  gap: 16px 32px;
}
.contact-card-btn {
  height: 54px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  font: 600 16px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .15s;
}
.contact-card-btn:hover {
  background: var(--cca-gold-800);
}
.footer-cols > div {
  min-width: 0;
  container-type: inline-size;
}
.footer-cols {
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 56px 48px;
}
@media (min-width: 1200px) {
  .footer-cols { grid-template-columns: minmax(300px,1.5fr) repeat(3,minmax(0,1fr)); }
}
.footer-cols-inner {
  padding-right: clamp(24px,5vw,96px);
}
.footer-cols > div:first-child { padding-right: 0; }
@media (min-width: 1200px) {
  .footer-cols > div:first-child { padding-right: clamp(24px,5vw,96px); }
}
.footer-cols-inner-wrap {
  gap: 6px;
  font-size: 15px;
}
.footer-logo {
  height: 62px;
  width: 300px;
}
@media (min-width: 768px) {
  .footer-logo { height: auto; }
}
.footer-cols-inner > p {
  font-size: 16px;
  line-height: 1.65;
  opacity: .8;
  max-width: 320px;
}
.footer-cols-heading {
  margin-bottom: 20px;
  font-size: 18px;
  letter-spacing: .03em;
  color: var(--cca-gold);
}
.footer-cols-address {
  font-size: 16px;
  line-height: 1.7;
  opacity: .85;
}
.footer-cols-link {
  margin-top: 14px;
  font-size: 15px;
  color: var(--bs-white);
  border-bottom: 2px solid var(--cca-gold);
  padding-bottom: 3px;
}
.footer-cols-link:hover {
  color: var(--bs-white);
  text-decoration: none;
}
.footer-cols-link-wrap {
  font-family: var(--cca-font-serif);
  font-size: min(40px, 13cqi);
  line-height: 1.05;
  letter-spacing: .01em;
  color: var(--cca-gold);
}
.footer-cols-link-wrap:hover {
  color: var(--bs-white);
  text-decoration: none;
}
.footer-cols-inner-wrap > a {
  color: var(--bs-white);
  opacity: .85;
}
.footer-cols-inner-wrap > a:hover {
  opacity: 1;
  color: var(--bs-white);
}
.footer-cols-inner-wrap > span {
  opacity: .7;
}
.footer-inner-bordered > span {
  opacity: .65;
}
.footer-inner-privacy > a {
  color: var(--bs-white);
  opacity: .65;
}
.footer-inner-privacy > a:hover {
  opacity: 1;
  color: var(--bs-white);
}

/* === SECTIONS · ABOUT === */
.about {
  padding: 76px 0 96px;
}
.about-michael-card > h2:first-of-type {
  margin-top: 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  scroll-margin-top: 170px;
}

/* === SECTIONS · ABOUT CARD === */
.about-card {
  max-width: 1200px;
  border-radius: 10px;
  grid-template-columns: minmax(0,1fr);
  min-height: 0;
  will-change: clip-path;
}
@media (min-width: 768px) {
  .about-card { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); min-height: 560px; }
}

/* === SECTIONS · ABOUT IMG === */
.about-img {
  width: 100%;
  object-position: 40% 35%;
  transform-origin: center;
  will-change: transform;
}

/* === SECTIONS · ABOUT INNER === */
.about-inner {
}

/* === SECTIONS · ABOUT MEDIA === */
.about-media {
  position: relative;
  width: 100%;
  will-change: width;
}
@media (min-width: 768px) {
  .about-media { position: absolute; width: 52.38%; }
}

/* === SECTIONS · ABOUT MICHAEL === */
.about-michael-section {
  padding: 56px 0 96px;
}
.about-michael-inner {
  grid-template-columns: 72px 1fr;
  padding-top: 28px;
  padding-bottom: 28px;
  border-top: 1px solid var(--cca-color-e3e7ee);
}
.about-michael-inner-padded {
  grid-template-columns: minmax(0,1fr) 400px;
  gap: 120px;
}
.about-michael-inner-spaced {
  margin-top: 36px;
}
.about-michael-inner-bordered {
  grid-template-columns: 72px 1fr;
  padding-top: 28px;
  padding-bottom: 28px;
  border-top: 1px solid var(--cca-color-e3e7ee);
  border-bottom: 1px solid var(--cca-color-e3e7ee);
}
.about-michael-card {
  max-width: 820px;
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}
:is(.about-michael-inner p, .about-michael-inner-bordered p) {
  margin-top: 10px;
  text-wrap: pretty;
}
/* .about-michael-card > p:first-of-type {
  margin-top: 28px;
  text-wrap: pretty;
} */
.about-michael-card > p:last-of-type {
  text-wrap: pretty;
}
:is(.about-michael-inner > span, .about-michael-inner-bordered > span) {
  font-family: var(--cca-font-serif);
  font-size: 40px;
  color: var(--cca-gold-600);
}
.about-michael-figure > span {
  width: 56px;
  height: 2px;
  background: var(--cca-gold);
}
:is(.about-michael-inner h3, .about-michael-inner-bordered h3) {
  font-size: 26px;
  color: var(--cca-ink);
}
.about-michael-figure {
  margin-top: 56px;
  gap: 18px;
}
.about-michael-figure > blockquote {
  font-family: var(--cca-font-serif);
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: var(--cca-navy);
  text-wrap: pretty;
}
.about-michael-figure > figcaption {
  font-size: 16px;
  color: var(--cca-gray-700);
}
.about-michael-aside {
  gap: 40px;
  position: sticky;
  top: 170px;
}
.about-michael-aside h2 {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--cca-color-c9d0d4);
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.about-michael-aside ul {
  margin-top: 12px;
  list-style: none;
  padding-left: 0;
}
.about-michael-aside li {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 18px;
  font-size: 16px;
  color: var(--cca-ink);
}

/* === SECTIONS · ABOUT TEXT === */
.about-text-dark {
  background: var(--cca-navy-900);
  padding: 60px;
}
.about-text { padding: 32px 24px !important; }
@media (min-width: 768px) {
  .about-text { padding: 60px !important; }
}
.about-text > p:first-of-type {
  font-size: 18px;
  line-height: 1.7;
  text-wrap: pretty;
}
.about-text > p:last-of-type {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.7;
  text-wrap: pretty;
}
.about-text-inner {
  margin-top: 40px;
}
.about-text-inner > a {
  height: 58px;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font-size: 15px;
  gap: 10px;
  transition: background .2s, color .2s;
  font-family: var(--cca-font-sans);
}
.about-text-inner > a:hover {
  background: var(--bs-white);
  color: var(--cca-navy);
  text-decoration: none;
}

/* === SECTIONS · ABOUT TITLE === */
.about-inner > h2 {
  margin-bottom: 56px;
  max-width: 1000px;
  font-size: clamp(50px,4vw,68px);
  line-height: 1.05;
  letter-spacing: .01em;
  text-wrap: balance;
}

/* === SECTIONS · ARTICLE CARD === */
.article-card {
  max-width: 820px;
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}

/* === SECTIONS · ARTICLE FIGURE === */
.article-figure {
  margin-top: 44px;
  gap: 18px;
}

/* === SECTIONS · ARTICLE ICON === */
.article-card > ul > li > i {
  color: var(--cca-gold-600);
  font-size: 22px;
}

/* === SECTIONS · ARTICLE INNER === */
.article-inner {
  grid-template-columns: minmax(0,1fr) 400px;
  gap: 120px;
}
.article-inner-wrap {
  height: 150px;
}

/* === SECTIONS · ARTICLE ITEM === */
.article-card li {
  grid-template-columns: 28px 1fr;
  gap: 14px;
}

/* === SECTIONS · ARTICLE LABEL === */
.article-figure > span {
  width: 56px;
  height: 2px;
  background: var(--cca-gold);
}

/* === SECTIONS · ARTICLE LIST === */
.article-card > ul {
  list-style: none;
  gap: 14px;
}

/* === SECTIONS · ARTICLE QUOTE === */
.article-figure > blockquote {
  font-family: var(--cca-font-serif);
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: var(--cca-navy);
  text-wrap: pretty;
}

/* === SECTIONS · ARTICLE SECTION === */
.article-section {
  padding: 56px 0 96px;
}

/* === SECTIONS · ARTICLE TEXT === */
.article-card > p {
  margin-top: 28px;
  text-wrap: pretty;
}
/* Content that starts with a paragraph lines up with the sidebar top */
:is(.article-card, .car-accident-card) > p:first-child {
  margin-top: 0;
}

/* === SECTIONS · ARTICLE TITLE === */
.article-card > h2:not(:first-child) {
  margin: 72px 0 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.article-card > h2:first-child {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}

/* === SECTIONS · ENTRY CONTENT (post content from the editor: plain tags, no classes) === */
.entry-content > :is(h2, h3, h4, h5, h6) {
  font-weight: normal;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  text-wrap: balance;
}
.entry-content > h2 {
  margin: 72px 0 0;
  font-size: 48px;
}
.entry-content > h3 {
  margin: 56px 0 0;
  font-size: 34px;
  line-height: 1.2;
}
.entry-content > h4 {
  margin: 48px 0 0;
  font-size: 28px;
  line-height: 1.25;
}
.entry-content > :is(h5, h6) {
  margin: 40px 0 0;
  font-size: 22px;
  line-height: 1.3;
}
.entry-content > p {
  margin: 28px 0 0;
}
.entry-content > :is(ul, ol) {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
/* Marker in a 28px column + 14px gap; the text (with any <strong>) flows beside it */
.entry-content > :is(ul, ol) > li {
  position: relative;
  padding-left: 42px;
}
.entry-content > :is(ul, ol) > li::before {
  position: absolute;
  top: 0;
  left: 0;
}
/* Check mark before each bullet (Bootstrap Icons bi-check-lg) */
.entry-content > ul > li::before {
  content: "\f633";
  font-family: bootstrap-icons;
  font-size: 22px;
  line-height: 1.5;
  color: var(--cca-gold-600);
}
.entry-content > ol {
  counter-reset: entry-list;
}
.entry-content > ol > li::before {
  counter-increment: entry-list;
  content: counter(entry-list) ".";
  font-family: var(--cca-font-serif);
  color: var(--cca-gold-600);
}
.entry-content > blockquote {
  margin: 44px 0 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-family: var(--cca-font-serif);
  font-size: 30px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: var(--cca-navy);
  text-wrap: pretty;
}
/* Short gold line above the quote */
.entry-content > blockquote::before {
  content: "";
  width: 56px;
  height: 2px;
  background: var(--cca-gold);
}
.entry-content > blockquote > p {
  margin: 0;
}
/* Two-column dot list: <ul class="factors"> */
.entry-content > ul.factors {
  margin: 32px 0 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  font-size: 17px;
  line-height: 1.55;
}
@media (min-width: 768px) {
  .entry-content > ul.factors { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 40px; }
}
.entry-content > ul.factors > li {
  padding: 14px 0 14px 36px;
  border-bottom: 1px solid var(--cca-color-e3e7ee);
}
/* Dot before each item (Bootstrap Icons bi-dot) */
.entry-content > ul.factors > li::before {
  content: "\f309";
  top: 14px;
  font-size: 26px;
  line-height: .9;
}

/* Practice area content (.car-accident-card): its own spacing */
.car-accident-card.entry-content > h2:not(:first-child) {
  margin: 80px 0 0;
  scroll-margin-top: 170px;
}
.car-accident-card.entry-content > ul:not(.factors) {
  margin-top: 28px;
  gap: 16px;
}
/* A paragraph following another paragraph */
.car-accident-card.entry-content > p + p {
  margin-top: 24px;
}

/* === SECTIONS · ARTICLES INNER === */
.articles-inner {
}
.articles-inner-wrap {
  height: 150px;
}
/* Load more (not in the export design; matches the site's gold buttons) */
.articles-more {
  margin-top: 56px;
}
.articles-more-btn {
  height: 58px;
  padding: 0 28px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font-size: 15px;
  font-weight: 600;
  transition: background .2s;
}
.articles-more-btn:hover {
  background: var(--cca-gold-800);
}
.articles-more-btn[hidden] {
  display: none !important;
}

/* === SECTIONS · ARTICLES SECTION === */
.articles-section {
  padding: 56px 0 96px;
}

/* === SECTIONS · AUTHOR BOX === */
.author-box {
  margin: 72px 0 0;
  padding: 24px;
  border: 1px solid var(--cca-color-e3e7ee);
  border-radius: 10px;
  grid-template-columns: 88px 1fr;
  gap: 28px;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .author-box { align-items: center; padding: 36px; }
}
.author-box-img {
  width: 88px;
  height: 88px;
  object-position: 50% 12%;
  background: var(--cca-color-e3e7ee);
}
.author-box > div:nth-of-type(1) > p:nth-of-type(1) {
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.author-box > div:nth-of-type(1) > p:nth-of-type(2) {
  font-size: 16px;
  line-height: 1.65;
  color: var(--cca-gray-700);
}
.author-box h3 {
  font-size: 26px;
  color: var(--cca-ink);
}
.author-box a {
  margin-top: 14px;
  gap: 10px;
  color: var(--cca-navy);
  font-size: 15px;
  border-bottom: 2px solid var(--cca-gold);
}
.author-box a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}

/* === SECTIONS · AWARD BADGE === */
.award-badge {
  flex: none;
  height: 76px;
  min-width: 112px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 4px;
}
.home #badges .award-badge { height: 64px; }
@media (min-width: 768px) {
  .home #badges .award-badge { height: 76px; }
}
.home #badges .award-badge { min-width: 96px; }
@media (min-width: 768px) {
  .home #badges .award-badge { min-width: 150px; }
}
.award-badge-img {
  height: 96px;
  max-height: 56px;
  max-width: 112px;
  filter: grayscale(1) contrast(1.2);
}
.award-badge-img-best-lawyers {
  height: 76px;
  max-height: 56px;
  max-width: 160px;
  filter: grayscale(1) contrast(1.2);
}
.award-badge-img-super-lawyers {
  height: 88px;
  max-height: 56px;
  max-width: 112px;
  filter: grayscale(1) contrast(1.2);
}
.award-badge-img-avvo-rating {
  height: 92px;
  max-height: 56px;
  max-width: 112px;
  filter: grayscale(1) contrast(1.2);
}

/* === SECTIONS · AWARD PHOTO === */
.award-photo {
  order: 2;
  justify-self: end;
  width: 100%;
  max-width: 560px;
}
.award-photo-inner {
  left: -14%;
  right: -14%;
  top: -12%;
  bottom: -16%;
  background: radial-gradient(closest-side, rgba(255,255,255,.8), rgba(255,255,255,0));
}
.award-photo-inner-light {
  aspect-ratio: 5/4;
  border-radius: 10px;
  background: var(--cca-color-e3e7ee);
  box-shadow: 0 34px 60px -18px rgba(19,40,74,.35), 0 10px 22px rgba(19,40,74,.12);
}
.award-photo-img {
  object-position: 40% 35%;
}

/* === SECTIONS · AWARDS IMG === */
.awards-img {
  max-height: 110px;
  height: auto; /* WordPress adds width/height attributes; keep the logo in proportion when it shrinks */
}

/* === SECTIONS · AWARDS INNER === */
.awards-inner {
  height: 120px;
}
section[aria-label="Awards"] a > div { height: 80px; }
@media (min-width: 768px) {
  section[aria-label="Awards"] a > div { height: 120px; }
}
.awards-inner-padded {
}
.awards-inner-wrap {
  gap: 28px;
}
section[aria-label="Awards"] > div > div { gap: 14px; }
@media (min-width: 768px) {
  section[aria-label="Awards"] > div > div { gap: 28px; }
}

/* === SECTIONS · AWARDS LABEL === */
.awards-inner-wrap span {
  padding-top: 18px;
  font-size: 15px;
  color: var(--cca-gold-700);
}
section[aria-label="Awards"] a span { padding-top: 12px; }
@media (min-width: 768px) {
  section[aria-label="Awards"] a span { padding-top: 18px; }
}

/* === SECTIONS · AWARDS LINK === */
.awards-inner-wrap > a {
  flex: 0 1 calc(25% - 21px);
  min-width: min(100%,240px);
  border: 1px solid var(--cca-border);
  border-top: 3px solid var(--cca-gold);
  border-radius: 0 0 8px 8px;
  padding: 32px 28px 26px;
  color: var(--cca-navy);
  box-shadow: 0 10px 30px rgba(11,26,51,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
section[aria-label="Awards"] a { min-width: 0; }
@media (min-width: 768px) {
  section[aria-label="Awards"] a { min-width: min(100%,240px); }
}
section[aria-label="Awards"] a { padding: 20px 14px 16px; }
@media (min-width: 768px) {
  section[aria-label="Awards"] a { padding: 32px 28px 26px; }
}
.awards-inner-wrap > a:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 44px rgba(11,26,51,.14);
  text-decoration: none;
  color: var(--cca-navy);
}

/* === SECTIONS · AWARDS SECTION === */
.awards-section {
  padding: 88px 0 112px;
}

/* === SECTIONS · AWARDS TITLE === */
.awards-inner-wrap h2 {
  margin: 26px 0 0;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: balance;
}

/* === SECTIONS · BADGE TRACK === */
.badge-track {
  gap: 12px;
  width: max-content;
  padding-right: 12px;
  will-change: transform;
}

/* === SECTIONS · BADGES === */
.badges {
  background: var(--cca-navy-900);
  padding: 30px 0 34px;
  border-top: 1px solid rgba(181,165,127,.28);
}

/* === SECTIONS · BADGES INNER === */
.badges-inner {
  gap: 18px;
  margin-bottom: 22px;
  padding: 0 48px;
  max-width: 640px;
}
.badges-inner-padded {
  gap: 12px;
}

/* === SECTIONS · BADGES LABEL === */
.badges-inner > span:first-of-type {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(181,165,127,0), rgba(181,165,127,.7));
}
.badges-inner > span:nth-of-type(2) {
  font-family: var(--cca-font-serif);
  font-size: 24px;
  letter-spacing: .04em;
  color: var(--cca-color-c9b98e);
}
.badges-inner > span:last-of-type {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(181,165,127,.7), rgba(181,165,127,0));
}

/* === SECTIONS · BLOG GRID === */
.blog-grid {
  grid-template-columns: minmax(0,1fr);
  gap: 40px;
}
@media (min-width: 768px) {
  .blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 32px; }
}
.blog-grid-card {
  gap: 18px;
}
.blog-grid-card > a:first-of-type {
  aspect-ratio: 3/2;
  border-radius: 6px;
  background: var(--cca-gray-300);
}
.blog-grid-card > h3 > a {
  color: var(--cca-ink);
}
.blog-grid-card > a:last-of-type {
  gap: 10px;
  color: var(--cca-navy);
  font-size: 15px;
  border-bottom: 2px solid var(--cca-gold);
}
.blog-grid-card > a:last-of-type:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.blog-grid-img {
  transition: transform .6s ease;
}
.blog-grid-img:hover {
  transform: scale(1.04);
}
.blog-grid-card > span {
  margin-top: 6px;
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.blog-grid-card > h3 {
  font-size: 28px;
  letter-spacing: .01em;
}
.blog-grid-card > p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--cca-gray-700);
  text-wrap: pretty;
}

/* === SECTIONS · BUILT === */
.why-refer-card > h2:not(:first-child) {
  margin: 80px 0 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}

/* === SECTIONS · CAR ACCIDENT === */
.car-accident-section {
  padding: 56px 0 96px;
}
.car-accident-inner {
  grid-template-columns: minmax(0,1fr) 400px;
  gap: 120px;
}
.car-accident-card {
  max-width: 820px;
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}
.car-accident-card > p {
  margin-top: 28px;
  text-wrap: pretty;
}
/* A paragraph after a quote or the factors list gets a little more space */
.car-accident-card > :is(blockquote, ul.factors) + p {
  margin-top: 36px;
  text-wrap: pretty;
}
.car-accident-card > ul {
  margin-top: 28px;
  list-style: none;
}
.car-accident-card li {
  grid-template-columns: 28px 1fr;
  gap: 14px;
}
.car-accident-card > ul > li > i {
  color: var(--cca-gold-600);
  font-size: 22px;
}
.car-accident-card strong {
  color: var(--cca-ink);
}
.car-accident-figure {
  margin-top: 44px;
  gap: 18px;
}
.car-accident-figure > span {
  width: 56px;
  height: 2px;
  background: var(--cca-gold);
}
.car-accident-figure > blockquote {
  font-family: var(--cca-font-serif);
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: var(--cca-navy);
  text-wrap: pretty;
}

/* === SECTIONS · CASE GRID === */
.case-grid {
  grid-template-columns: minmax(0,1fr);
  gap: 16px;
}
@media (min-width: 768px) {
  .case-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
}
.case-grid-card {
  min-width: 0;
  container-type: inline-size;
  padding: 40px;
  border: 1px solid var(--cca-color-e3e7ee);
  border-radius: 8px;
  gap: 14px;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.case-grid article { padding: 26px 24px; }
@media (min-width: 768px) {
  .case-grid article { padding: 40px; }
}
.case-grid-card:hover {
  transform: translateY(-4px);
  border-color: var(--cca-gold);
  box-shadow: 0 18px 36px rgba(19,40,74,.10);
}
.case-grid-card > span:last-of-type {
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.case-grid-inner {
  font-family: var(--cca-font-serif);
  font-size: min(56px, 17cqi);
  white-space: nowrap;
  line-height: 1.05;
  letter-spacing: .04em;
  color: var(--cca-navy);
  font-variant-numeric: tabular-nums;
}
.case-grid-card > p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--cca-ink-700);
  text-wrap: pretty;
}
.case-grid article p { font-size: 17px; }
@media (min-width: 768px) {
  .case-grid article p { font-size: 18px; }
}

/* === SECTIONS · CASE RESULTS === */
.case-results-section {
  padding: 56px 0 96px;
}
.case-results-inner {
}
.case-results-inner > p {
  margin-top: 40px;
  font-size: 13px;
  color: var(--cca-gray-700);
}

/* === SECTIONS · CASE WORTH === */
.car-accident-card > h2:not(:first-child) {
  margin: 80px 0 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  scroll-margin-top: 170px;
}

/* === SECTIONS · CLIENT LOCK === */
.client-lock {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  padding-top: 32px;
  padding-right: 36px;
  padding-bottom: 32px;
  padding-left: 36px;
  border-radius: 10px;
  background: var(--cca-navy-900);
  box-shadow: 0 24px 60px rgba(19,40,74,.18);
}
.main:has(.client-access) .hero-grid > div:not(:first-child) { justify-self: stretch; }
@media (min-width: 768px) {
  .main:has(.client-access) .hero-grid > div:not(:first-child) { justify-self: end; }
}
.main:has(.client-access) .hero-grid > div:not(:first-child) { max-width: 100%; }
@media (min-width: 768px) {
  .main:has(.client-access) .hero-grid > div:not(:first-child) { max-width: 560px; }
}
.client-lock > h2 {
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: .01em;
}
.client-lock > p:first-of-type {
  margin: 12px 0 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--cca-color-e3e7ee);
}
.client-lock > p:last-of-type {
  margin: 20px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--cca-color-e3e7ee);
}
.client-lock-form {
  margin-top: 28px;
  gap: 14px;
}
.client-lock-field {
  min-width: 0;
  font-size: 14px;
}
.client-lock-input {
  min-width: 0;
  height: 52px;
  border: 1px solid var(--cca-color-c9d0d4);
  border-radius: 6px;
  font: 500 16px var(--cca-font-sans);
  color: var(--cca-ink);
}
.client-lock-input:focus-visible {
  outline: none;
  border-color: var(--cca-gold);
  box-shadow: 0 0 0 4px rgba(181,165,127,.35);
}
.client-lock-btn {
  height: 56px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .2s, color .2s;
}
.client-lock-btn:hover {
  background: var(--bs-white);
  color: var(--cca-navy);
}
.client-lock a {
  color: var(--bs-white);
  border-bottom: 1px solid var(--cca-gold);
}
.client-lock a:hover {
  color: var(--bs-white);
  text-decoration: none;
}

/* === SECTIONS · CLIENT PORTAL === */
.client-portal-card > a {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 18px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--cca-color-e3e7ee);
  color: var(--cca-ink);
}
.client-portal-card > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.client-portal-page-content {
  padding: 56px 0 96px;
}
.client-portal-row {
  display: flex;
  margin-top: -6px;
}
.client-portal-card > h2:first-of-type {
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.client-portal-card > h2:last-of-type {
  margin-top: 56px;
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.client-portal-light {
  margin-top: 56px;
  padding-top: 32px;
  padding-right: 36px;
  padding-bottom: 32px;
  padding-left: 36px;
  background: var(--cca-color-e3e7ee);
  border-radius: 8px;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 18px;
}
.client-portal-inner {
  grid-template-columns: minmax(0,1fr);
}
.client-portal-card {
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}
.client-portal-row > p {
  font-family: var(--cca-font-label);
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--cca-gray-650);
}
.client-portal-light > p {
  font-size: 18px;
  line-height: 1.7;
  color: var(--cca-ink);
}
.client-portal-btn {
  background: none;
  cursor: pointer;
  color: var(--cca-navy);
  font: 600 15px var(--cca-font-sans);
}
.client-portal-card > a > span:nth-of-type(1) {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--cca-color-e3e7ee);
  color: var(--cca-navy);
  font-size: 20px;
}
.client-portal-card > a > span:nth-of-type(2) {
  gap: 2px;
}
.client-portal-card > a > span:nth-of-type(2) > span:nth-of-type(1) {
  font-size: 18px;
}
.client-portal-card > a > span:nth-of-type(2) > span:nth-of-type(2) {
  font-size: 15px;
  color: var(--cca-gray-700);
}
.client-portal-card > a > span:nth-of-type(3) {
  font-size: 14px;
  letter-spacing: .1em;
  color: var(--cca-navy);
}
.client-portal-light > i {
  font-size: 26px;
  color: var(--cca-navy);
  line-height: 1.3;
}
.client-portal-light a {
  color: var(--cca-navy);
}

/* === SECTIONS · CLIENT REVIEWS === */
.client-reviews-section {
  padding: 56px 0 96px;
}
.client-reviews-inner {
}
.client-reviews-inner-wrap {
  height: 150px;
}

/* === SECTIONS · CMS CONTENT === */
:is(.featured-post > p:first-of-type, .featured-press > p) {
  font-family: var(--cca-font-label);
  font-size: 14px;
  letter-spacing: .12em;
  color: var(--cca-gold);
}
:is(.featured-post > h2, .featured-press > h2) {
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: .01em;
  text-wrap: balance;
}
.featured-quote > blockquote {
  margin-top: 20px;
  font-family: var(--cca-font-serif);
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: -.01em;
  text-wrap: pretty;
}
.featured-quote > p {
  margin-top: 22px;
  font-family: var(--cca-font-label);
  font-size: 14px;
  letter-spacing: .12em;
  color: var(--cca-gold);
}
.featured-result > p:first-of-type {
  font-family: var(--cca-font-label);
  font-size: 16px;
  letter-spacing: .02em;
  color: var(--cca-gold);
}
.featured-result > p:last-of-type {
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.6;
  max-width: 440px;
}

/* === SECTIONS · CONTACT === */
.cta-band {
  isolation: isolate;
  background: var(--cca-color-dfe3e2);
  color: var(--cca-navy);
  padding: 77px 0 246px;
}

/* === SECTIONS · CONTACT INNER === */
.contact-inner {
  background: radial-gradient(60% 75% at 72% 38%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%), radial-gradient(120% 90% at 50% 50%, rgba(0,0,0,0) 55%, rgba(40,38,30,.10) 100%), linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(40,38,30,.06) 100%);
}
.contact-inner-wrap {
  opacity: .07;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* === SECTIONS · CTA BUTTONS === */
.cta-buttons {
  margin-top: 40px;
  display: none;
  gap: 14px;
}
@media (min-width: 768px) {
  .cta-buttons { display: flex; }
}
.cta-buttons-btn {
  height: 64px;
  padding-right: 36px;
  padding-left: 36px;
  border-radius: 6px;
  background: var(--cca-navy-900);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  transition: background .15s;
}
.cta-buttons-btn:hover {
  background: var(--cca-navy-700);
}
.cta-buttons > a {
  height: 64px;
  padding-right: 32px;
  padding-left: 32px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font-size: 15px;
  gap: 10px;
  font-family: var(--cca-font-sans);
}
.cta-buttons > a:hover {
  border-color: var(--bs-white);
  color: var(--bs-white);
  text-decoration: none;
}

/* === SECTIONS · CTA TITLE === */
.main:has(.hero-section) > section:nth-of-type(8) > div:nth-of-type(3) > div:nth-of-type(1) > h2:nth-of-type(1) {
  font-size: clamp(50px,4vw,68px);
  line-height: 1.05;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: balance;
}

/* === SECTIONS · DIFFERENCE === */
/* Headings after the first (not :last-of-type, which also matched a lone first heading) */
.about-michael-card > h2:not(:first-of-type) {
  margin-top: 80px;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  scroll-margin-top: 170px;
}

/* === SECTIONS · DRAW LINE === */
/* Gold line on top of each card; the delay follows the card's data-reveal column (0, 1, 2; Referring reasons go on to 3) */
:is(.review-columns-figure, .reasons-inner, .case-grid-card) > span:first-of-type {
  height: 2px;
  background: var(--cca-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.1s cubic-bezier(.65,0,.25,1) 350ms;
}
:is(.review-columns-figure, .reasons-inner, .case-grid-card)[data-reveal="1"] > span:first-of-type {
  height: 2px;
  background: var(--cca-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.1s cubic-bezier(.65,0,.25,1) 460ms;
}
:is(.review-columns-figure, .reasons-inner, .case-grid-card)[data-reveal="2"] > span:first-of-type {
  height: 2px;
  background: var(--cca-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.1s cubic-bezier(.65,0,.25,1) 570ms;
}
.reasons-inner:not([data-reveal="0"], [data-reveal="1"], [data-reveal="2"]) > span:first-of-type {
  height: 2px;
  background: var(--cca-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.1s cubic-bezier(.65,0,.25,1) 680ms;
}

/* === SECTIONS · FACTORS === */
.factors {
  margin-top: 32px;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  font-size: 17px;
  line-height: 1.55;
}
@media (min-width: 768px) {
  .factors { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 40px; }
}

/* === SECTIONS · FACTORS ICON === */
.factors-inner > i {
  color: var(--cca-gold-600);
  font-size: 26px;
  line-height: .9;
}

/* === SECTIONS · FACTORS INNER === */
.factors-inner {
  grid-template-columns: 24px 1fr;
  gap: 12px;
  padding-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--cca-color-e3e7ee);
}

/* === SECTIONS · FAQ LIST === */
.faq-list-bordered {
  padding: 40px 0 24px;
  border-bottom: 1px solid var(--cca-gray-300);
}
.faq-list-padded {
  padding: 0 0 24px;
  border-bottom: 1px solid var(--cca-gray-300);
}
.questions-and-card h2,
.faq-list > h2 {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  text-wrap: balance;
  font-weight: normal;
}
.questions-and-card h2 {
  margin: 0 0 16px;
}
.questions-and-card p {
  margin: 0 0 16px;
  text-wrap: pretty;
}

.questions-and-card hr {
	margin: 40px 0;
	border-top-color: var(--cca-gray-300);
	opacity: 1;
}
@media (max-width: 767.98px) {
  .questions-and-card hr { margin: 44px 0 28px; }
}
.questions-and-card hr:last-child {
  margin-bottom: 0;
}
.questions-and-card,
.faq-list-inner {
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}
.faq-list > div { font-size: 17px; }
@media (min-width: 768px) {
  .faq-list > div { font-size: 18px; }
}
.faq-list-inner > p {
  text-wrap: pretty;
}

/* === SECTIONS · FEATURED POST === */
.featured-post {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  padding-top: 40px;
  border-top: 2px solid var(--cca-gold);
}
.featured-post > p:last-of-type {
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--cca-color-e3e7ee);
  max-width: 480px;
}
.featured-post > a {
  margin-top: 28px;
  gap: 10px;
  color: var(--bs-white);
  font-size: 16px;
  border-bottom: 2px solid var(--cca-gold);
}
.featured-post > a:hover {
  color: var(--bs-white);
  text-decoration: none;
}

/* === SECTIONS · FEATURED PRESS === */
.featured-press {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  padding-top: 40px;
  border-top: 2px solid var(--cca-gold);
}
.featured-press > a {
  margin-top: 28px;
  gap: 10px;
  color: var(--bs-white);
  font-size: 16px;
  border-bottom: 2px solid var(--cca-gold);
}
.featured-press > a:hover {
  color: var(--bs-white);
  text-decoration: none;
}
.featured-press i {
  font-size: 14px;
}

/* === SECTIONS · FEATURED QUOTE === */
.featured-quote {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  padding-top: 40px;
  border-top: 2px solid var(--cca-gold);
}
.featured-quote-inner {
  color: var(--cca-color-fbbc04);
  font-size: 18px;
  letter-spacing: 3px;
}

/* === SECTIONS · FEATURED RESULT === */
.featured-result {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  padding-top: 40px;
  border-top: 2px solid var(--cca-gold);
}
.featured-result-inner {
  margin-top: 14px;
  font-family: var(--cca-font-serif);
  font-size: clamp(48px,5.6vw,104px);
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
}

/* === SECTIONS · FILTER BTN === */
.filter-btn {
  height: 44px;
  background: var(--bs-white);
  padding-right: 20px;
  padding-left: 20px;
  border: 1.5px solid var(--cca-gray-300);
  color: var(--cca-ink);
  font: 600 14px var(--cca-font-sans);
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.filter-btn:hover {
  border-color: var(--cca-navy);
}
.filter-btn > span {
  opacity: .7;
}

/* === SECTIONS · HERO === */
.hero {
  --bs-gutter-x: clamp(56px,10.4vw,200px);
  position: relative;
  padding: 0;
  display: flex;
  grid-template-columns: minmax(0,1.5fr) minmax(0,1fr);
  grid-template-rows: minmax(0,1fr);
  gap: 0;
  height: auto;
  min-height: 0;
  max-height: 1000px;
}
@media (min-width: 768px) {
  .hero { display: grid; height: calc(100vh - 138px); min-height: 640px; padding: 0 clamp(28px,5.2vw,100px); gap: clamp(24px,2.5vw,48px); }
}

/* === SECTIONS · HERO ACTIONS === */
.hero-actions {
  margin-top: clamp(20px,1.8vw,34px);
  display: flex;
  gap: 14px;
}
.hero-content .hero-actions { display: none; }
@media (min-width: 768px) {
  .hero-content .hero-actions { display: flex; }
}
.hero-actions-btn {
  height: clamp(52px,3.3vw,60px);
  padding: 0 clamp(24px,1.8vw,34px);
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font: 600 clamp(14px,.85vw,16px) var(--cca-font-sans);
  cursor: pointer;
  gap: 12px;
  transition: background .2s, color .2s;
}
.hero-actions-btn:hover {
  background: var(--cca-navy-700);
  color: var(--bs-white);
}
.hero-actions > a {
  height: clamp(52px,3.3vw,60px);
  padding: 0 clamp(24px,1.8vw,34px);
  border-radius: 6px;
  background: var(--cca-navy-900);
  color: var(--bs-white);
  font: 600 clamp(14px,.85vw,16px) var(--cca-font-sans);
  gap: 12px;
  transition: background .2s, color .2s;
}
.hero-actions > a:hover {
  background: var(--cca-gold-600);
  color: var(--bs-white);
  text-decoration: none;
}

/* === SECTIONS · HERO CHECK === */
.hero-check, .hero-content-inner > span {
  gap: clamp(8px,.55vw,10px);
}
:is(.hero-content-inner > span:nth-of-type(1) > span:nth-of-type(1), .hero-content-inner > span:nth-of-type(2) > span:nth-of-type(1)) {
  width: clamp(24px,1.6vw,30px);
  height: clamp(24px,1.6vw,30px);
  background: var(--cca-navy-900);
  font-size: clamp(13px,.85vw,16px);
  flex: none;
}

/* === SECTIONS · HERO CONTENT === */
.hero-content {
  padding: 0 0 40px max(0px, min(60px, calc(50vw - 700px)));
}
.hero-content-inner {
  margin-top: clamp(22px,2vw,40px);
  gap: 14px clamp(16px,1.5vw,28px);
  font-family: var(--cca-font-label);
  font-size: clamp(20px,1.35vw,26px);
  color: var(--cca-ink);
}

/* === SECTIONS · HERO GRID === */
.hero-grid-padded {
  padding-top: 72px;
  padding-bottom: 80px;
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
  gap: 80px;
  height: 600px;
}
.hero-grid-wrap {
  padding-top: 72px;
  padding-bottom: 80px;
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
  gap: 80px;
  min-height: 482px;
}
.hero-grid-box {
  padding-top: 56px;
  padding-bottom: 56px;
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
  gap: 80px;
  min-height: 482px;
}
.hero-grid-inner {
  margin-top: 40px;
  display: flex;
  gap: 14px;
}
.hero-grid-inner-narrow {
  order: 2;
  justify-self: end;
  max-width: 560px;
}
.main:has(.about-michael-section) .hero-grid > div:first-child { order: 1; }
@media (min-width: 768px) {
  .main:has(.about-michael-section) .hero-grid > div:first-child { order: 2; }
}
.main:has(.about-michael-section) .hero-grid > div:first-child { justify-self: stretch; }
@media (min-width: 768px) {
  .main:has(.about-michael-section) .hero-grid > div:first-child { justify-self: end; }
}
.main:has(.about-michael-section) .hero-grid > div:first-child { max-width: 100%; }
@media (min-width: 768px) {
  .main:has(.about-michael-section) .hero-grid > div:first-child { max-width: 560px; }
}
.hero-grid-inner-tinted {
  left: -14%;
  right: -14%;
  top: -12%;
  bottom: -16%;
  background: radial-gradient(closest-side, rgba(255,255,255,.8), rgba(255,255,255,0));
}
.hero-grid-inner-row {
  margin-top: 36px;
  display: flex;
  gap: 14px;
}
.hero-grid-inner-spaced {
  margin-top: 36px;
}
.main:has(.article-section) .hero-grid > div > div { margin-top: 0; }
@media (min-width: 768px) {
  .main:has(.article-section) .hero-grid > div > div { margin-top: 36px; }
}
.hero-grid-inner-michael {
  gap: 2px;
}
:is(.main:has(.award-photo-inner) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .main:has(.article-section) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.client-access) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.questions-and-section) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.why-refer-section) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1)) {
  margin: 28px 0 0;
  max-width: 620px;
  font-size: 20px;
  line-height: 1.65;
  color: var(--cca-ink);
  text-wrap: pretty;
}
:is(.main:has(.featured-post) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.featured-quote) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.hero-grid-box) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.featured-press) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1)) {
  margin-top: 28px;
  max-width: 620px;
  font-size: 20px;
  line-height: 1.65;
  color: var(--cca-color-e3e7ee);
  text-wrap: pretty;
}
.main:has(.talk-box) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1) {
  margin-top: 28px;
  max-width: 620px;
  font-size: 20px;
  line-height: 1.65;
  color: var(--cca-ink);
  text-wrap: pretty;
}
.hero-grid-btn {
  height: 58px;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background: var(--bs-white);
  color: var(--cca-navy);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .2s;
}
.hero-grid-btn:hover {
  background: var(--cca-color-efebe2);
}
.hero-grid-btn-get-free {
  height: 58px;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background: var(--cca-navy-900);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .2s;
}
.hero-grid-btn-get-free:hover {
  background: var(--cca-navy-700);
}
.hero-grid-nav > a {
  color: var(--cca-ink);
}
.hero-grid-nav-breadcrumb > a {
  color: var(--cca-color-e3e7ee);
}
.hero-grid-nav-breadcrumb > a:hover {
  color: var(--bs-white);
}
:is(.main:has(.featured-post) .hero-grid-inner > a:nth-of-type(1), .main:has(.hero-grid-box) .hero-grid-inner > a:nth-of-type(1), .main:has(.featured-press) .hero-grid-inner > a:nth-of-type(1)) {
  background: var(--cca-gold-600);
  color: var(--bs-white);
  height: 58px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  font-size: 15px;
  gap: 10px;
  transition: background .2s;
}
:is(.main:has(.featured-post) .hero-grid-inner > a:nth-of-type(1), .main:has(.hero-grid-box) .hero-grid-inner > a:nth-of-type(1), .main:has(.featured-press) .hero-grid-inner > a:nth-of-type(1)):hover {
  background: var(--cca-gold-800);
  color: var(--bs-white);
  text-decoration: none;
}
:is(.hero-grid-inner-row > a, .main:has(.featured-quote) .hero-grid-inner > a:nth-of-type(1)) {
  height: 58px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font-size: 15px;
  gap: 10px;
  transition: background .2s;
}
:is(.hero-grid-inner-row > a, .main:has(.featured-quote) .hero-grid-inner > a:nth-of-type(1)):hover {
  background: var(--cca-gold-800);
  color: var(--bs-white);
  text-decoration: none;
}
:is(.main:has(.questions-and-section) .hero-grid-inner > a:nth-of-type(1), .main:has(.why-refer-section) .hero-grid-inner > a:nth-of-type(1)) {
  background: var(--cca-gold-600);
  color: var(--bs-white);
  height: 58px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  font-size: 15px;
  gap: 10px;
  transition: background .2s, color .2s;
  font-family: var(--cca-font-sans);
}
:is(.main:has(.questions-and-section) .hero-grid-inner > a:nth-of-type(1), .main:has(.why-refer-section) .hero-grid-inner > a:nth-of-type(1)):hover {
  background: var(--cca-gold-800);
  color: var(--bs-white);
  text-decoration: none;
}
.hero-grid-nav {
  margin-top: 36px;
  gap: 10px;
  font-family: var(--cca-font-label);
  font-size: 13px;
  color: var(--cca-ink);
}
.main:has(.client-access) .hero-grid > div > nav { margin-top: 0; }
@media (min-width: 768px) {
  .main:has(.client-access) .hero-grid > div > nav { margin-top: 36px; }
}
.main:has(.article-section) .hero-grid > div > nav { margin-top: 0; }
@media (min-width: 768px) {
  .main:has(.article-section) .hero-grid > div > nav { margin-top: 36px; }
}
.hero-grid-nav-breadcrumb {
  margin-top: 36px;
  gap: 10px;
  font-family: var(--cca-font-label);
  font-size: 13px;
  color: var(--cca-color-e3e7ee);
}
:is(.hero-grid-nav > i, .hero-grid-nav-breadcrumb > i) {
  font-size: 10px;
}
.hero-grid-nav > span {
  color: var(--cca-navy);
}
.hero-grid-inner-michael > span:first-of-type {
  font-size: 16px;
  color: var(--cca-ink);
}
.hero-grid-inner-michael > span:last-of-type {
  font-size: 15px;
  color: var(--cca-gray-650);
}
.hero-grid-img {
  width: 56px;
  height: 56px;
  object-position: 50% 12%;
  background: var(--cca-color-e3e7ee);
}

/* === SECTIONS · HERO IMG === */
.hero-img {
  flex: none;
  width: auto;
  height: 100%;
  max-width: none;
  object-position: bottom;
  will-change: transform;
}
.hero-media img { height: 100%; }
.hero-media img { width: auto; }
.hero-media img { max-width: none; }

/* === SECTIONS · HERO LINE === */
:is(.hero-content > h1:nth-of-type(1) > span:nth-of-type(1) > span:nth-of-type(1), .hero-content > h1:nth-of-type(1) > span:nth-of-type(2) > span:nth-of-type(1), .hero-content > h1:nth-of-type(1) > span:nth-of-type(3) > span:nth-of-type(1)) {
  color: var(--cca-navy);
  isolation: isolate;
}

/* === SECTIONS · HERO MEDIA === */
.hero-media {
  position: relative;
  height: auto;
  min-height: 260px;
  align-items: flex-end;
  justify-content: flex-start;
}
.hero-media { justify-content: center !important; }
@media (min-width: 768px) {
  .hero-media { justify-content: flex-start !important; }
  .hero-media { height: 100%; min-height: 0; }
}
.hero-media-inner {
  left: -10%;
  width: 120%;
  bottom: 8%;
  height: 80%;
  background: radial-gradient(closest-side, rgba(255,255,255,.75), rgba(255,255,255,0));
}
.hero-media-inner-wrap {
  position: relative;
  height: 94%;
  margin-left: clamp(0px,1.5vw,40px);
  filter: drop-shadow(0 24px 40px rgba(19,40,74,.22)) drop-shadow(0 4px 10px rgba(19,40,74,.12));
}
.hero-media > div:last-child { position: absolute; }
@media (min-width: 768px) {
  .hero-media > div:last-child { position: relative; }
}
.hero-media > div:last-child { height: 100%; }
@media (min-width: 768px) {
  .hero-media > div:last-child { height: 94%; }
}
.hero-media > div:last-child { margin-left: 0; }
@media (min-width: 768px) {
  .hero-media > div:last-child { margin-left: clamp(0px,1.5vw,40px); }
}
/* 768–1199px: text and photo side by side; the photo fills its column to the screen edge with the whole figure visible */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .hero { height: auto; min-height: 0; padding-top: 40px; }
  .hero-content > h1 { font-size: 3.6vw; }
  .hero-media { height: auto; margin-right: calc(clamp(28px,5.2vw,100px) * -1); }
  .hero-media > div:last-child { flex: none; width: 125%; height: auto; margin-left: 0; }
  .hero-media .hero-img { width: 100%; height: auto; }
}

/* === SECTIONS · HERO PHOTO === */
.hero-photo {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 5/4;
  border-radius: 10px;
  background: var(--cca-color-b9c2c6);
}
.hero-grid > .hero-photo { justify-self: stretch; }
@media (min-width: 768px) {
  .hero-grid > .hero-photo { justify-self: end; }
}
.hero-grid > .hero-photo { max-width: 100%; }
@media (min-width: 768px) {
  .hero-grid > .hero-photo { max-width: 560px; }
}
.hero-photo-img {
  object-position: 38% 30%;
}
.hero-photo-img-doctor-reviewing {
  object-position: 55% 50%;
}

/* === SECTIONS · HERO SECTION === */
.hero-section {
  padding-top: 138px;
  background: var(--cca-color-dfe3e2);
}
.hero-section-inner {
  background: radial-gradient(60% 75% at 72% 38%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%), radial-gradient(120% 90% at 50% 50%, rgba(0,0,0,0) 55%, rgba(40,38,30,.10) 100%), linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(40,38,30,.06) 100%);
}
.hero-section-inner-wrap {
  opacity: .07;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* === SECTIONS · HERO TITLE === */
.hero-content > h1 {
  margin: 0;
  font-family: var(--cca-font-serif);
  font-size: clamp(32px,min(3.75vw,7.8vh),76px);
  white-space: nowrap;
  line-height: 1.12;
  letter-spacing: .01em;
  color: var(--cca-navy);
}
.hero-content h1 { line-height: 1.12; }
.hero-content h1 { white-space: nowrap; }
:is(.hero-content > h1:nth-of-type(1) > span:nth-of-type(1), .hero-content > h1:nth-of-type(1) > span:nth-of-type(2)) {
  padding-bottom: .14em;
}
.hero-content > h1:nth-of-type(1) > span:nth-of-type(3) {
  padding-bottom: .18em;
}

/* === SECTIONS · HERO UNDERLINE === */
.hero-content > h1:nth-of-type(1) > span:nth-of-type(3) > span:nth-of-type(1) > span:nth-of-type(1) {
  bottom: -.12em;
  height: 2px;
  background: var(--cca-gold);
  transform-origin: left center;
  transform: scaleX(0);
}

/* === SECTIONS · NO FAULT === */
.car-accident-card > h2:first-child {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  scroll-margin-top: 170px;
}

/* === SECTIONS · PAGE ADDRESS === */
.page-inner-padded address {
  margin-top: 10px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--cca-ink-700);
}

/* === SECTIONS · PAGE CARD === */
.page-card {
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  border: 1px solid var(--cca-color-e3e7ee);
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(19,40,74,.10);
}
main > section:first-of-type article { grid-template-columns: minmax(0,1fr); }
@media (min-width: 768px) {
  main > section:first-of-type article { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
}

/* === SECTIONS · PAGE CONTENT === */
.page-content-section {
  padding: 56px 0 96px;
}
.page-content-inner {
}
.page-content-card {
  max-width: none;
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}
.page-content-card > p {
  margin-top: 28px;
  text-wrap: pretty;
}
/* Content that starts without the label starts flush at the top */
.page-content-card > :first-child:not(.page-updated) {
  margin-top: 0;
}
/* Small label above the content: <p class="page-updated">Last updated …</p> */
.page-content-card > p.page-updated {
  margin-top: -6px;
  font-family: var(--cca-font-label);
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--cca-gray-650);
}
.page-content-card > p:last-of-type {
  text-wrap: pretty;
}
.page-content-card > h2:first-of-type {
  margin-top: 32px;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.page-content-card > h2:not(:first-of-type) {
  margin-top: 80px;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.page-content-card > h3 {
  font-size: 28px;
  line-height: 1.3;
  color: var(--cca-ink);
}
.page-content-card a {
  color: var(--cca-navy);
  border-bottom: 1px solid var(--cca-gold);
}

/* === SECTIONS · PAGE ICON === */
.page-nav i {
  color: var(--cca-gold-600);
  font-size: 20px;
}
.page-nav-breadcrumb > i {
  font-size: 10px;
}

/* === SECTIONS · PAGE INNER === */
.page-inner {
  background: radial-gradient(60% 75% at 72% 38%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%), radial-gradient(120% 90% at 50% 50%, rgba(0,0,0,0) 55%, rgba(40,38,30,.10) 100%), linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(40,38,30,.06) 100%);
}
.page-inner-wrap {
  opacity: .07;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.page-inner-box {
  height: 150px;
}
.page-inner-light {
  min-height: 200px;
  background: var(--cca-gray-300);
}
main > section:first-of-type article > div:first-child { min-height: 180px; }
@media (min-width: 768px) {
  main > section:first-of-type article > div:first-child { min-height: 200px; }
}
.page-inner-padded {
  padding: 28px 30px;
}
main > section:first-of-type article > div:last-child { padding: 22px 22px 24px; }
@media (min-width: 768px) {
  main > section:first-of-type article > div:last-child { padding: 28px 30px; }
}
.page-inner-panel {
  padding-top: 96px;
  padding-bottom: 112px;
  grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
  gap: 96px;
  min-height: calc(100vh - 138px);
}
.page-inner-block {
  padding-top: 72px;
  padding-bottom: 96px;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 96px;
}
.page-inner-bordered {
  margin-top: 40px;
  max-width: 520px;
  border-top: 1px solid var(--cca-color-b9c2c6);
}

/* === SECTIONS · PAGE LABEL === */
:is(.page-nav > a:nth-of-type(1) > span:nth-of-type(1) > span:nth-of-type(1), .page-nav > a:nth-of-type(2) > span:nth-of-type(1) > span:nth-of-type(1), .page-nav > a:nth-of-type(3) > span:nth-of-type(1) > span:nth-of-type(1), .page-nav > a:nth-of-type(4) > span:nth-of-type(1) > span:nth-of-type(1), .page-nav > a:nth-of-type(5) > span:nth-of-type(1) > span:nth-of-type(1)) {
  font-family: var(--cca-font-serif);
  font-size: 26px;
  letter-spacing: -.01em;
}
:is(.page-nav > a:nth-of-type(1) > span:nth-of-type(1) > span:nth-of-type(2), .page-nav > a:nth-of-type(2) > span:nth-of-type(1) > span:nth-of-type(2), .page-nav > a:nth-of-type(3) > span:nth-of-type(1) > span:nth-of-type(2), .page-nav > a:nth-of-type(4) > span:nth-of-type(1) > span:nth-of-type(2), .page-nav > a:nth-of-type(5) > span:nth-of-type(1) > span:nth-of-type(2)) {
  font-size: 15px;
  color: var(--cca-gray-700);
}
.page-inner-bordered > * > span:first-child {
  width: 52px;
  height: 52px;
  background: var(--cca-navy-900);
  font-size: 20px;
}
.page-inner-bordered > * > span:last-child {
  gap: 2px;
}
.page-inner-bordered > * > span:last-child > span:first-child {
  font-family: var(--cca-font-label);
  font-size: 13px;
  letter-spacing: .1em;
  color: var(--cca-gray-650);
}
.page-inner-bordered > * > span:last-child > span:last-child {
  font-size: 20px;
}
.page-nav-breadcrumb > span {
  color: var(--cca-navy);
}

/* === SECTIONS · PAGE LINK === */
.page-nav > a {
  border-top: 1px solid var(--cca-color-b9c2c6);
  color: var(--cca-ink);
}
.page-nav > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
/* Contact rows: Call, Chat, Text and Email are links; Fax is a <div> */
.page-inner-bordered > * {
  grid-template-columns: 52px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--cca-color-b9c2c6);
  color: var(--cca-ink);
}
.main:has(.page-inner-block) > section:first-of-type [data-reveal="2"] > * { padding: 16px 0; }
@media (min-width: 768px) {
  .main:has(.page-inner-block) > section:first-of-type [data-reveal="2"] > * { padding: 18px 0; }
}
.page-inner-bordered > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.page-inner-padded > a {
  gap: 10px;
  color: var(--cca-navy);
  font-size: 15px;
  border-bottom: 2px solid var(--cca-gold);
}
.page-inner-padded > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.page-nav-breadcrumb > a {
  color: var(--cca-ink);
}
/* Dark heroes (Blog, Client Testimonials, Settlements & Verdicts): light links, as .hero-grid-nav-breadcrumb in the design */
.page-section-dark .page-nav-breadcrumb,
.page-section-dark .page-nav-breadcrumb > a {
  color: var(--cca-color-e3e7ee);
}
.page-section-dark .page-nav-breadcrumb > a:hover {
  color: var(--bs-white);
}

/* === SECTIONS · PAGE NAV === */
.page-nav {
  border-bottom: 1px solid var(--cca-color-b9c2c6);
}
.page-nav-breadcrumb {
  margin-top: 36px;
  gap: 10px;
  font-family: var(--cca-font-label);
  font-size: 13px;
  color: var(--cca-ink);
}

/* === SECTIONS · PAGE SECTION === */
.page-section {
  isolation: isolate;
  padding-top: 138px;
  background: var(--cca-color-dfe3e2);
}
.page-section-dark {
  padding-top: 138px;
  background: var(--cca-navy-900);
}

/* === SECTIONS · PAGE TEXT === */
:is(.page-inner-panel > div:nth-of-type(1) > p:nth-of-type(2), .page-inner-block > div:first-child > p) {
  margin-top: 28px;
  max-width: 560px;
  font-size: 20px;
  line-height: 1.65;
  color: var(--cca-ink);
  text-wrap: pretty;
}
.page-inner-panel > div:nth-of-type(1) > p:nth-of-type(1) {
  font-family: var(--cca-font-label);
  font-size: 14px;
  letter-spacing: .14em;
  color: var(--cca-navy);
}
/* Contact: "Se habla español" link to the Spanish site */
.contact-spanish {
  margin-top: 40px;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--cca-gold);
  font-family: var(--cca-font-serif);
  font-size: 28px;
  line-height: 1.2;
  color: var(--cca-navy);
}
.contact-spanish:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.contact-spanish .bi {
  font-size: 22px;
  transition: transform .2s;
}
.contact-spanish:hover .bi {
  transform: translateX(4px);
}

/* === SECTIONS · PAGE TITLE === */
:is(.main:has(.article-section) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.client-access) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.questions-and-section) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.talk-box) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.why-refer-section) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1)) {
  font-size: clamp(56px,4.3vw,72px);
  line-height: 1.05;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: balance;
}
:is(.main:has(.featured-post) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.featured-quote) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.hero-grid-box) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.featured-press) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1)) {
  font-size: clamp(56px,4.3vw,72px);
  line-height: 1.03;
  letter-spacing: .01em;
  text-wrap: balance;
}
:is(.main:has(.award-photo-inner) .hero-grid > div:nth-of-type(2) > h1:nth-of-type(1), .page-inner-block h1) {
  font-size: clamp(56px,4.3vw,72px);
  line-height: 1.03;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: balance;
}
.page-inner-padded h2 {
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.page-inner-panel h1 {
  margin-top: 18px;
  font-size: clamp(56px,4.3vw,72px);
  line-height: 1.03;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: balance;
}
.page-nav > h2 {
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}

/* === SECTIONS · PAIN SUFFERING === */
.car-accident-card > h2:not(:first-child) {
  margin: 80px 0 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  scroll-margin-top: 170px;
}

/* === SECTIONS · PRACTICE === */
.practice {
  padding: 85px 0 96px;
}

/* === SECTIONS · PRACTICE AREAS === */
.practice-areas-section {
  padding: 88px 0 112px;
}
.practice-areas-inner {
}

/* === SECTIONS · PRACTICE CARD === */
.practice-grid > a {
  min-height: 440px;
  border-radius: 8px;
  background: var(--cca-charcoal);
  color: var(--bs-white);
  isolation: isolate;
}
.practice-grid > a { min-height: 340px !important; }
@media (min-width: 768px) {
  .practice-grid > a { min-height: 440px !important; }
}
.practice-grid > a:hover {
  text-decoration: none;
  color: var(--bs-white);
}
.practice-card-img-wrap {
  z-index: -2;
  object-position: 45% 60%;
  transition: transform .8s ease;
}
.practice-card-img-box {
  z-index: -2;
  object-position: 48% 50%;
  transition: transform .8s ease;
}
.practice-card-img-panel {
  z-index: -2;
  object-position: 30% 50%;
  transition: transform .8s ease;
}
.practice-card-img-block {
  z-index: -2;
  object-position: 35% 45%;
  transition: transform .8s ease;
}
.practice-card-shade {
  transition: opacity .5s ease;
  background: linear-gradient(0deg, rgba(11,26,51,.92) 0%, rgba(11,26,51,.55) 45%, rgba(11,26,51,.1) 100%);
}
.practice-card-text-padded {
  padding: 40px;
  gap: 14px;
}
.practice-card-text > p {
  max-width: 520px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--cca-stone-200);
}
.practice-card-text > h2 {
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: .01em;
}
.practice-card-text > span {
  gap: 10px;
  font-size: 16px;
  border-bottom: 2px solid var(--cca-gold);
}
.practice-card-text i {
  transition: transform .3s ease;
}

/* === SECTIONS · PRACTICE GRID === */
.practice-grid {
  grid-template-columns: minmax(0,1fr);
  gap: 16px;
}
@media (min-width: 768px) {
  .practice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
}

/* === SECTIONS · PRACTICE INNER === */
.practice-inner {
}

/* === SECTIONS · PRACTICE PANEL === */
.practice-panel {
  flex: 1;
  min-width: 0;
  border-radius: 8px;
  background: var(--cca-charcoal);
  transition: flex .6s cubic-bezier(.2,.7,.2,1);
}
.practice-panel-media {
  transform: scale(1);
  transition: transform .8s ease;
}
.practice-panel-media-img {
  object-position: 45% 60%;
}
.practice-panel-media-img-wet-floor {
  object-position: 48% 50%;
}
.practice-panel-media-img-dog-behind {
  object-position: 35% 45%;
}
.practice-panel-media-img-burn-injury {
  object-position: 50% 55%;
}
.practice-panel-media-img-surgical-team {
  object-position: 45% 50%;
}
.practice-panel-shade {
  background: linear-gradient(to top, rgba(15,20,32,.92) 0%, rgba(15,20,32,.3) 55%, rgba(15,20,32,.15) 100%);
  transition: background .4s;
}
.practice-panel-inner {
  padding: clamp(20px,2vw,40px);
}
.practice-panel-inner > h3 {
  font-size: clamp(20px,1.5vw,28px);
  line-height: 1.1;
  white-space: pre-line;
  letter-spacing: -.02em;
}
.practice-panels h3 { white-space: nowrap; }
@media (min-width: 768px) {
  .practice-panels h3 { white-space: pre-line; }
}
.practice-panel-desc {
  max-height: 0px;
  opacity: 0;
  transition: max-height .6s ease, opacity .4s ease 0s;
}
.practice-panel-desc > p {
  margin-top: 18px;
  max-width: 480px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--cca-stone-200);
}
.practice-panel-desc > a {
  margin-top: 26px;
  gap: 10px;
  color: var(--bs-white);
  font-size: 16px;
  border-bottom: 2px solid var(--cca-gold);
  text-decoration: none;
}

/* === SECTIONS · PRACTICE PANELS === */
.practice-panels {
  gap: 14px;
  height: min(480px, 52vh);
  min-height: 400px;
}
@media (min-width: 768px) {
  .practice-panels { gap: 20px; }
}

/* === SECTIONS · PRACTICE TITLE === */
.main:has(.hero-section) > section:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > h2:nth-of-type(1) {
  font-size: clamp(50px,4vw,68px);
  line-height: 1.08;
  letter-spacing: .01em;
}

/* === SECTIONS · PRESS === */
.press {
  padding: 76px 0 96px;
}

/* === SECTIONS · PRESS BOX === */
.press-box {
  left: clamp(14px,1.3vw,26px);
  right: clamp(14px,1.3vw,26px);
  min-height: 26%;
  border-top: 2px solid var(--cca-gold);
  padding: clamp(20px,1.6vw,30px);
  box-shadow: 0 10px 24px rgba(19,40,74,.12);
}
.press-box > h3 {
  font-size: clamp(24px,1.75vw,32px);
  line-height: 1.2;
  letter-spacing: .01em;
}

/* === SECTIONS · PRESS CARD === */
.press-card {
  padding-bottom: 26px;
}

/* === SECTIONS · PRESS CARDS === */
.press-cards {
  max-width: 1400px;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(20px,3.5vw,72px);
}

/* === SECTIONS · PRESS COVERAGE === */
.press-coverage-section {
  padding: 56px 0 96px;
}
.press-coverage-inner {
}

/* === SECTIONS · PRESS FADE === */
.press-more-inner > p {
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--cca-color-111418);
  opacity: 0;
  transition: opacity .4s ease;
}
.press-more-inner > a {
  margin-top: 22px;
  font-size: 16px;
  letter-spacing: .01em;
  color: var(--cca-gold-700);
  opacity: 0;
  transition: opacity .4s ease;
}
.press-more-inner > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}

/* === SECTIONS · PRESS GRID === */
.press-grid {
  grid-template-columns: minmax(0,1fr);
  gap: 40px;
}
@media (min-width: 768px) {
  .press-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 32px; }
}
.press-grid-card {
  gap: 18px;
}
.press-grid-card > a:first-of-type {
  aspect-ratio: 3/2;
  border-radius: 6px;
  background: var(--cca-gray-300);
}
.press-grid-card > h3 > a {
  color: var(--cca-ink);
}
.press-grid-card > a:last-of-type {
  gap: 10px;
  color: var(--cca-navy);
  font-size: 15px;
  border-bottom: 2px solid var(--cca-gold);
}
.press-grid-card > a:last-of-type:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.press-grid-img {
  transition: transform .6s ease;
}
.press-grid-img:hover {
  transform: scale(1.04);
}
.press-grid-card > span {
  margin-top: 6px;
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.press-grid-card > h3 {
  font-size: 28px;
  letter-spacing: .01em;
}
.press-grid-card > p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--cca-gray-700);
  text-wrap: pretty;
}
.press-grid-card i {
  font-size: 13px;
}

/* === SECTIONS · PRESS IMG === */
.press-img {
  width: 100%;
  transform: scale(1);
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}

/* === SECTIONS · PRESS INNER === */
.press-inner {
  max-width: 1720px;
  padding: 0 28px;
}
.press-inner-spaced {
  margin-top: 56px;
  gap: 32px;
}

/* === SECTIONS · PRESS LINE === */
.press-line {
  width: 160px;
  height: 2px;
  background: var(--cca-gold);
  margin-top: 28px;
  margin-bottom: 56px;
}

/* === SECTIONS · PRESS LINK === */
.press-inner-spaced > a {
  gap: 10px;
  font-size: 17px;
  color: var(--cca-navy);
  border-bottom: 2px solid var(--cca-gold);
}
.press-inner-spaced > a:hover {
  color: var(--cca-navy-900);
  text-decoration: none;
}

/* === SECTIONS · PRESS MORE === */
.press-more {
  grid-template-rows: 0fr;
  transition: grid-template-rows .5s cubic-bezier(.2,.7,.2,1);
}
.press-more-inner {
  min-height: 0;
}

/* === SECTIONS · PRESS PHOTO === */
.press-photo {
  aspect-ratio: 1/1;
  background: var(--cca-charcoal);
  border-radius: 8px;
}

/* === SECTIONS · PRESS SHADE === */
.press-shade {
  background: rgba(19,24,32,.35);
  transition: background .4s ease;
}

/* === SECTIONS · PRESS TITLE === */
.press-inner > h2 {
  font-size: clamp(50px,4vw,68px);
  line-height: 1.05;
  letter-spacing: .01em;
}
.press-box > h3 > a {
  color: var(--cca-navy);
  transition: color .3s ease;
}
.press-box > h3 > a:hover {
  text-decoration: none;
}

/* === SECTIONS · PROBLEM === */
/* A heading that starts the content lines up with the sidebar top */
.why-refer-card > h2:first-child {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}

/* === SECTIONS · PROFILE IMG === */
.profile-img-attorney-michael {
  width: 100%;
  object-position: 38% 30%;
}
.profile-img-two-damaged {
  width: 100%;
  object-position: 45% 60%;
}
.profile-img-wrap {
  width: 100%;
  object-position: 40% 35%;
}

/* === SECTIONS · PROFILE NAME === */
:is(.main:has(.profile-photo-wrap) .hero-grid > div:nth-of-type(2) > h1:nth-of-type(1), .main:has(.profile-text-wrap) .hero-grid > div:nth-of-type(1) > h1:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .hero-grid > div:nth-of-type(2) > h1:nth-of-type(1)) {
  font-size: clamp(56px,4.3vw,72px);
  line-height: 1.03;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: balance;
}

/* === SECTIONS · PROFILE PHOTO === */
.profile-photo-light {
  width: 100%;
  aspect-ratio: 5/4;
  border-radius: 10px;
  background: var(--cca-color-e3e7ee);
  box-shadow: 0 34px 60px -18px rgba(19,40,74,.35), 0 10px 22px rgba(19,40,74,.12);
}
.profile-photo-narrow {
  justify-self: end;
  width: 100%;
  max-width: 560px;
}
.main:has(.car-accident-section) .hero-grid > .profile-photo { justify-self: stretch; }
@media (min-width: 768px) {
  .main:has(.car-accident-section) .hero-grid > .profile-photo { justify-self: end; }
}
.main:has(.car-accident-section) .hero-grid > .profile-photo { max-width: 100%; }
@media (min-width: 768px) {
  .main:has(.car-accident-section) .hero-grid > .profile-photo { max-width: 560px; }
}
.profile-photo-wrap {
  order: 2;
  justify-self: end;
  width: 100%;
  max-width: 560px;
}
.profile-photo-inner {
  left: -14%;
  right: -14%;
  top: -12%;
  bottom: -16%;
  background: radial-gradient(closest-side, rgba(255,255,255,.8), rgba(255,255,255,0));
}
.profile-photo-inner-light {
  width: 100%;
  aspect-ratio: 5/4;
  border-radius: 10px;
  background: var(--cca-color-b9c2c6);
  box-shadow: 0 34px 60px -18px rgba(19,40,74,.35), 0 10px 22px rgba(19,40,74,.12);
}
.profile-photo-inner-wrap {
  width: 100%;
  aspect-ratio: 5/4;
  border-radius: 10px;
  background: var(--cca-color-e3e7ee);
  box-shadow: 0 34px 60px -18px rgba(19,40,74,.35), 0 10px 22px rgba(19,40,74,.12);
}

/* === SECTIONS · PROFILE TEXT === */
:is(.main:has(.profile-photo-wrap) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .main:has(.profile-text-wrap) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1)) {
  margin: 28px 0 0;
  max-width: 620px;
  font-size: 20px;
  line-height: 1.65;
  color: var(--cca-ink);
  text-wrap: pretty;
}
.profile-text-breadcrumb {
  margin-top: 36px;
  gap: 10px;
  font-family: var(--cca-font-label);
  font-size: 13px;
  color: var(--cca-ink);
}
.profile-text-row {
  margin-top: 36px;
  display: flex;
  gap: 14px;
}
.profile-text-spaced {
  margin-top: 28px;
  gap: 28px;
  font-size: 16px;
}
.profile-text-wrap {
  margin-top: 40px;
  display: flex;
  gap: 14px;
}
.profile-text-breadcrumb > a {
  color: var(--cca-ink);
}
.profile-text-spaced > a {
  color: var(--cca-navy);
}
.main:has(.hero-grid-inner-narrow) .profile-text-row > a:nth-of-type(1) {
  height: 58px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font-size: 15px;
  gap: 10px;
  transition: background .2s, color .2s;
  font-family: var(--cca-font-sans);
}
.main:has(.hero-grid-inner-narrow) .profile-text-row > a:nth-of-type(1):hover {
  background: var(--cca-gold-800);
  color: var(--bs-white);
  text-decoration: none;
}
.profile-text-wrap > a {
  background: var(--cca-gold-600);
  color: var(--bs-white);
  height: 58px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  font-size: 15px;
  gap: 10px;
  transition: background .2s, color .2s;
  font-family: var(--cca-font-sans);
}
.profile-text-wrap > a:hover {
  background: var(--cca-gold-800);
  color: var(--bs-white);
  text-decoration: none;
}
.main:has(.profile-photo-wrap) .profile-text-row > a:nth-of-type(1) {
  height: 58px;
  padding-right: 28px;
  padding-left: 28px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font-size: 15px;
  gap: 10px;
  transition: background .2s;
}
.main:has(.profile-photo-wrap) .profile-text-row > a:nth-of-type(1):hover {
  background: var(--cca-gold-800);
  color: var(--bs-white);
  text-decoration: none;
}
.profile-text-btn {
  height: 58px;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background: var(--cca-navy-900);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .2s;
}
.profile-text-btn:hover {
  background: var(--cca-navy-700);
}
.profile-text-breadcrumb > i {
  font-size: 10px;
}
:is(.profile-text, .main:has(.profile-photo-wrap) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .main:has(.profile-text-wrap) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1)) > span {
  color: var(--cca-navy);
}

/* === SECTIONS · PROPERTY DAMAGE === */
.car-accident-card > h2:not(:first-child) {
  margin: 80px 0 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
  scroll-margin-top: 170px;
}

/* === SECTIONS · QUESTIONS AND === */
.questions-and-section {
  padding: 56px 0 96px;
}
.questions-and-inner {
  grid-template-columns: minmax(0,1fr) 400px;
  gap: 120px;
}
.questions-and-card {
  max-width: 880px;
}

/* === SECTIONS · REASONS === */
.why-refer-card > h2:not(:first-child) {
  margin: 80px 0 0;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.reasons-spaced {
  margin-top: 28px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
}
.reasons { grid-template-columns: minmax(0,1fr) !important; }
@media (min-width: 768px) {
  .reasons { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
.reasons { gap: 14px !important; }
@media (min-width: 768px) {
  .reasons { gap: 20px !important; }
}

/* === SECTIONS · REASONS HEADING === */
.reasons-inner > h3 {
  margin-top: 6px;
  font-size: 24px;
  color: var(--cca-ink);
}

/* === SECTIONS · REASONS INNER === */
.reasons-inner {
  padding: 32px;
  border: 1px solid var(--cca-color-e3e7ee);
  border-radius: 8px;
  gap: 12px;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.reasons > div { padding: 24px; }
@media (min-width: 768px) {
  .reasons > div { padding: 32px; }
}
.reasons-inner:hover {
  transform: translateY(-4px);
  border-color: var(--cca-gold);
  box-shadow: 0 18px 36px rgba(19,40,74,.10);
}

/* === SECTIONS · REASONS LABEL === */
.reasons-inner > span:last-of-type {
  font-family: var(--cca-font-serif);
  font-size: 32px;
  color: var(--cca-gold-600);
}

/* === SECTIONS · REASONS TEXT === */
.reasons-inner > p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--cca-ink-700);
  text-wrap: pretty;
}

/* === SECTIONS · RESULT FILTERS === */
.result-filters {
  display: none;
  gap: 10px;
}
@media (min-width: 768px) {
  .result-filters { display: flex; }
}

/* === SECTIONS · RESULTS NAV === */
.results-nav {
  margin-top: 40px;
  gap: 20px;
}
#results .results-nav { margin-top: 28px; }
@media (min-width: 768px) {
  #results .results-nav { margin-top: 40px; }
}
.results-nav-btn {
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--cca-gold);
  background: transparent;
  font-size: 16px;
  cursor: pointer;
  transition: background .15s, border-color .2s;
}
.results-nav-btn:hover {
  background: var(--cca-navy-700);
}
.results-nav-btn-next-results {
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--cca-gold);
  background: var(--cca-gold);
  color: var(--cca-navy-900);
  font-size: 16px;
  cursor: pointer;
  transition: background .15s, opacity .2s;
  opacity: 1;
}
.results-nav-btn-next-results:hover {
  background: var(--cca-color-c9b98e);
}
.results-nav > span {
  font-size: 15px;
  letter-spacing: .12em;
  color: var(--cca-color-c9b98e);
  font-variant-numeric: tabular-nums;
}

/* === SECTIONS · RESULTS SECTION === */
.results-section {
  background: var(--cca-navy-900);
  padding: 76px 0 90px;
}
.results-section-inner {
}
.results-section-inner > p {
  margin-top: 32px;
  font-size: 13px;
}

/* === SECTIONS · RESULTS STRIP === */
.results-strip {
  background: var(--cca-navy-900);
  padding: 76px 0 90px;
}
.results-strip-inner {
}
.results-strip-inner > p {
  font-size: 13px;
}

/* === SECTIONS · RESULTS TITLE === */
:is(.main:has(.questions-and-section), .main:has(.talk-box), .main:has(.profile-text-wrap), .main:has(.why-refer-section)) .results-strip [id="results-title"], .main:has(.hero-section) > section:nth-of-type(4) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > h2:nth-of-type(1) {
  font-size: clamp(50px,4vw,68px);
  line-height: 1.05;
  letter-spacing: .01em;
}

/* === SECTIONS · RESULTS TRACK === */
.results-track-wrap {
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.results-track-case-results {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 25%;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  outline: none;
  margin-right: -29px;
}
.home .results-track { margin-right: -21px; }
@media (min-width: 768px) {
  .home .results-track { margin-right: -29px; }
}
.results-track-inner {
  font-family: var(--cca-font-serif);
  font-size: min(52px,16cqi);
  white-space: nowrap;
  letter-spacing: 0;
  line-height: 1.1;
  font-variant-numeric: lining-nums;
}
.results-track-inner-padded {
  scroll-snap-align: start;
  padding: 24px 28px 24px 0;
  border-right: 1px solid var(--cca-gold);
  margin-right: 28px;
  min-width: 0;
  container-type: inline-size;
}
.results-track-inner-wrap {
  font-family: var(--cca-font-serif);
  font-size: min(58px, 17cqi);
  white-space: nowrap;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
}
.results-track-inner-box {
  min-width: 0;
  container-type: inline-size;
  padding: 24px 40px 24px 0;
  border-right: 1px solid var(--cca-gold);
  margin-right: 40px;
}
.results-track-inner-panel {
  min-width: 0;
  container-type: inline-size;
  padding: 24px 40px 24px 0;
  border-right: 0;
  margin-right: 40px;
}
.results-track-inner-block {
  scroll-snap-align: start;
  padding: 24px 28px 24px 0;
  border-right: 0;
  margin-right: 28px;
  min-width: 0;
  container-type: inline-size;
}
:is(.results-track-inner-box > p, .results-track-inner-panel > p, .results-track-inner-padded > p, .results-track-inner-block > p) {
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.55;
  max-width: 300px;
}

/* === SECTIONS · REVIEW COLUMNS === */
.review-columns {
  columns: 1;
  column-gap: 28px;
}
@media (min-width: 768px) {
  .review-columns { columns: 3; }
}
.review-columns-figure {
  margin: 0 0 28px;
  break-inside: avoid;
  border: 1px solid var(--cca-color-e3e7ee);
  border-radius: 8px;
  padding: 36px;
  gap: 20px;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.review-columns-figure:hover {
  transform: translateY(-4px);
  border-color: var(--cca-gold);
  box-shadow: 0 18px 36px rgba(19,40,74,.10);
}
.review-columns-inner {
  color: var(--cca-color-fbbc04);
  font-size: 15px;
  letter-spacing: 2px;
}
.review-columns-figure > blockquote {
  font-size: 17px;
  line-height: 1.7;
  color: var(--cca-ink);
  text-wrap: pretty;
}
.review-columns-figure > figcaption {
  gap: 12px;
  border-top: 1px solid var(--cca-color-e3e7ee);
}
.review-columns-figure > figcaption:nth-of-type(1) > span:nth-of-type(1) {
  font-size: 16px;
  color: var(--cca-ink);
}
.review-columns-figure > figcaption:nth-of-type(1) > span:nth-of-type(2) {
  font-family: var(--cca-font-label);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--cca-gold-700);
}

/* === SECTIONS · REVIEW SLIDE === */
.review-slide {
  gap: 40px;
}
.review-slide > blockquote {
  font-family: var(--cca-font-serif);
  font-size: clamp(34px,3vw,54px);
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--cca-navy);
  text-wrap: pretty;
  min-height: 3.6em;
}
.review-slide > blockquote > span {
  background-image: linear-gradient(var(--cca-gold),var(--cca-gold));
  background-repeat: no-repeat;
  background-size: 100% 3px;
  background-position: 0 92%;
  padding-bottom: 2px;
}
.review-slide > figcaption {
  margin-top: -12px;
  font-size: 19px;
  color: var(--cca-ink);
}

/* === SECTIONS · REVIEWS === */
.reviews {
  padding: 67px 0 96px;
  background: var(--cca-color-dfe3e2);
  isolation: isolate;
}

/* === SECTIONS · REVIEWS BTN === */
.reviews-btn {
  width: 52px;
  height: 52px;
  border: 1.5px solid var(--cca-navy);
  background: transparent;
  color: var(--cca-navy);
  font-size: 20px;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.reviews-btn:hover {
  background: var(--cca-navy-700);
  color: var(--bs-white);
}
.reviews-btn-next-review {
  width: 52px;
  height: 52px;
  border: 1.5px solid var(--cca-navy);
  background: var(--cca-navy-900);
  font-size: 20px;
  cursor: pointer;
  transition: background .15s;
}
.reviews-btn-next-review:hover {
  background: var(--cca-navy-700);
}
.reviews-btn-previous-review {
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--cca-navy);
  background: transparent;
  color: var(--cca-navy);
  font-size: 16px;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.reviews-btn-previous-review:hover {
  background: var(--cca-navy-700);
  color: var(--bs-white);
}
.reviews-btn-dark {
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--cca-navy);
  background: var(--cca-navy-900);
  font-size: 16px;
  cursor: pointer;
  transition: background .15s;
}
.reviews-btn-dark:hover {
  background: var(--cca-navy-700);
}

/* === SECTIONS · REVIEWS FIGURE === */
.reviews-figure {
  max-width: 1240px;
  gap: 40px;
}

/* === SECTIONS · REVIEWS INNER === */
.reviews-inner {
  background: radial-gradient(60% 75% at 72% 38%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%), radial-gradient(120% 90% at 50% 50%, rgba(0,0,0,0) 55%, rgba(40,38,30,.10) 100%), linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(40,38,30,.06) 100%);
}
.reviews-inner-wrap {
  opacity: .07;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.reviews-inner-padded {
}
.reviews-inner-bordered {
  gap: 32px;
  border-top: 1px solid var(--cca-gold);
  padding-top: 28px;
}
.reviews-inner-box {
  gap: 20px;
}
.reviews-inner-panel {
  height: 150px;
}

/* === SECTIONS · REVIEWS LABEL === */
.reviews-inner-box > span {
  font-size: 15px;
  letter-spacing: .12em;
  color: var(--cca-gray-650);
  font-variant-numeric: tabular-nums;
}

/* === SECTIONS · REVIEWS TITLE === */
:is(:is(.main:has(.questions-and-section), .main:has(.talk-box), .main:has(.profile-text-wrap), .main:has(.why-refer-section)) .reviews [id="reviews-title"], .main:has(.hero-section) > section:nth-of-type(6) > div:nth-of-type(3) > div:nth-of-type(1) > h2:nth-of-type(1), .main:has(.award-photo-inner) .section-head > div:nth-of-type(1) > h2:nth-of-type(1), .main:has(.profile-photo-wrap) .section-head > div:nth-of-type(1) > h2:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .section-head > div:nth-of-type(1) > h2:nth-of-type(1), .main:has(.hero-grid-box) .section-head > div:nth-of-type(1) > h2:nth-of-type(1), .main:has(.featured-press) .section-head > div:nth-of-type(1) > h2:nth-of-type(1)) {
  font-size: clamp(50px,4vw,68px);
  line-height: 1.05;
  letter-spacing: .01em;
}

/* === SECTIONS · SECTION HEAD === */
.section-head-padded {
  margin: 0 auto 72px;
  align-items: end;
  gap: 48px;
}
.section-head-row {
  display: flex;
  align-items: end;
  gap: 48px;
  margin-bottom: 80px;
}
#results .section-head { display: contents; }
@media (min-width: 768px) {
  #results .section-head { display: flex; }
}
.section-head p {
  font-family: var(--cca-font-label);
  font-size: clamp(17px,1.25vw,22px);
  letter-spacing: .02em;
  color: var(--cca-color-c9b27a);
}
.section-head > a {
  gap: 10px;
  font-size: 17px;
  color: var(--bs-white);
  border-bottom: 2px solid var(--cca-gold);
}
.section-head > a:hover {
  color: var(--bs-white);
  text-decoration: none;
}
.section-head > div:nth-of-type(2) > span:nth-of-type(1) {
  font-family: var(--cca-font-serif);
  font-size: 54px;
  letter-spacing: -.03em;
}
.section-head > div:nth-of-type(2) > span:nth-of-type(2) > span:nth-of-type(1) {
  color: var(--cca-color-fbbc04);
  font-size: 18px;
  letter-spacing: 2px;
}
.section-head > div:nth-of-type(2) > span:nth-of-type(2) > span:nth-of-type(2) {
  font-size: 13px;
  color: var(--cca-gray-650);
  letter-spacing: .1em;
}

/* === SECTIONS · SECTION STACK === */
.section-stack-wrap {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 64px;
}
.section-stack-padded {
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  gap: 88px;
}
.main:has(.hero-section) > section:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > p:nth-of-type(1) {
  font-family: var(--cca-font-serif);
  font-size: clamp(22px,1.7vw,30px);
  line-height: 1.3;
  color: var(--cca-gold-700);
  text-wrap: pretty;
}
.section-stack-inner > p {
  font-size: 18px;
  line-height: 1.7;
  color: var(--cca-gray-700);
  text-wrap: pretty;
}
.main:has(.hero-section) > section:nth-of-type(8) > div:nth-of-type(3) > div:nth-of-type(1) > p:nth-of-type(1) {
  font-size: 20px;
  line-height: 1.6;
  color: var(--cca-ink);
  max-width: 560px;
}
.section-stack-inner {
  max-width: 640px;
  justify-self: end;
  gap: 28px;
}
.section-stack-inner-wrap {
  gap: 20px;
}
.section-stack-inner-box {
  gap: 6px;
}
.section-stack-inner-dark {
  aspect-ratio: 16/9;
  border-radius: 8px;
  background: var(--cca-navy-900);
  box-shadow: 0 30px 60px rgba(19,40,74,.18);
}
.section-stack-inner-box > span:last-of-type {
  font-size: 15px;
  color: var(--cca-gray-700);
}

/* === SECTIONS · SIGNATURE === */
.section-stack-inner-box > span:first-of-type {
  font-family: var(--cca-font-script);
  font-size: 44px;
  color: var(--cca-navy);
  padding-top: 6px;
}

/* === SECTIONS · STICKY ASIDE === */
.sticky-aside-sticky {
  position: sticky;
  top: 162px;
  max-height: calc(100vh - 162px - 24px);
  scrollbar-width: none;
  gap: 28px;
  transition: top .35s ease;
}
.sticky-aside-wrap {
  position: sticky;
  top: 162px;
  gap: 28px;
  transition: top .35s ease;
}
.sticky-aside-box {
  position: sticky;
  top: 162px;
  max-height: calc(100vh - 162px - 24px);
  scrollbar-width: none;
  gap: 32px;
  transition: top .35s ease;
}
.sticky-aside-inner {
  background: var(--cca-navy-900);
  border-radius: 10px;
  padding-top: 32px;
  padding-right: 32px;
  padding-bottom: 32px;
  padding-left: 32px;
}
.sticky-aside-inner > h2 {
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: .01em;
}
.sticky-aside :is(.sticky-aside-recent, .sticky-aside-awards, .sticky-aside-direct) > h2 {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--cca-color-c9d0d4);
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.sticky-aside .sticky-aside-toc > h2 {
  margin-bottom: 10px;
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.sticky-aside .sticky-aside-links > h2 {
  margin-bottom: 6px;
  font-family: var(--cca-font-label);
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--cca-gold-700);
}
.sticky-aside-inner > p {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--cca-color-e3e7ee);
}
.sticky-aside-btn {
  margin-top: 22px;
  height: 52px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .2s, color .2s;
}
.sticky-aside-btn:hover {
  background: var(--bs-white);
  color: var(--cca-navy);
}
.sticky-aside-inner > a {
  color: var(--bs-white);
  font-size: 16px;
  gap: 10px;
}
.sticky-aside-inner > a:hover {
  color: var(--bs-white);
}
.sticky-aside .sticky-aside-links > div > a {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--cca-color-e3e7ee);
  color: var(--cca-ink);
  font-size: 16px;
}
.sticky-aside .sticky-aside-links > div > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.sticky-aside .sticky-aside-recent > div > a {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 18px;
  color: var(--cca-ink);
  font-size: 16px;
  line-height: 1.45;
}
.sticky-aside .sticky-aside-recent > div > a:hover {
  color: var(--cca-navy);
}
.sticky-aside .sticky-aside-direct > div > a {
  padding-top: 12px;
  padding-bottom: 12px;
  gap: 14px;
  color: var(--cca-ink);
  font-size: 16px;
}
.sticky-aside .sticky-aside-direct > div > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}
.sticky-aside .sticky-aside-links > div > a > i {
  color: var(--cca-gold-600);
}
.sticky-aside :is(.sticky-aside-toc, .sticky-aside-recent, .sticky-aside-direct) > div > a > i {
  color: var(--cca-gold-600);
  font-size: 18px;
}
.sticky-aside ul {
  margin-top: 12px;
  list-style: none;
}
.sticky-aside li {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 18px;
  font-size: 16px;
  color: var(--cca-ink);
}

/* === SECTIONS · TALK BOX === */
.talk-box {
  justify-self: end;
  width: 100%;
  max-width: 560px;
  background: var(--cca-navy-900);
  border-radius: 10px;
  padding-top: 32px;
  padding-right: 32px;
  padding-bottom: 32px;
  padding-left: 32px;
}
.talk-box > h2 {
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: .01em;
}
.talk-box > p {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--cca-color-e3e7ee);
}
.talk-box-btn {
  margin-top: 22px;
  height: 52px;
  border-radius: 6px;
  background: var(--cca-gold-600);
  color: var(--bs-white);
  font: 600 15px var(--cca-font-sans);
  cursor: pointer;
  gap: 10px;
  transition: background .2s, color .2s;
}
.talk-box-btn:hover {
  background: var(--bs-white);
  color: var(--cca-navy);
}
.talk-box > a {
  color: var(--bs-white);
  font-size: 16px;
  gap: 10px;
}
.talk-box > a:hover {
  color: var(--bs-white);
}

/* === SECTIONS · TOC === */
.toc {
  border-left: 1px solid var(--cca-gray-300);
}

/* === SECTIONS · TOC LINK === */
.toc > a {
  margin-left: -1px;
  padding-left: 20px;
  border-left: 2px solid transparent;
  font-size: 16px;
  color: var(--cca-gray-650);
  transition: color .2s, border-color .2s;
}
.toc > a:hover {
  color: var(--cca-navy);
  text-decoration: none;
}

/* === SECTIONS · WHY REFER === */
.why-refer-section {
  padding: 56px 0 96px;
}
.why-refer-inner {
  grid-template-columns: minmax(0,1fr) 400px;
  gap: 120px;
}
.why-refer-card {
  max-width: 820px;
  font-size: 18px;
  line-height: 1.8;
  color: var(--cca-ink-700);
}
.why-refer-card > p {
  margin-top: 28px;
  text-wrap: pretty;
}
.why-refer-card > p:last-of-type {
  text-wrap: pretty;
}
/* Page content headings and paragraphs (no classes in the editor) */
.why-refer-card > h2 {
  margin: 80px 0 0;
  font-size: 48px;
  font-weight: normal;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--cca-ink);
}
.why-refer-card > p {
  margin: 28px 0 0;
  text-wrap: pretty;
}
/* Intro line right before the reasons cards */
.why-refer-card > p:has(+ .reasons) {
  margin-top: 24px;
}
/* Content that starts with a paragraph lines up with the sidebar top */
.why-refer-card > p:first-child {
  margin-top: 0;
}


/* === NAVIGATION (one shared Bootstrap navbar — mobile first; desktop from 1280px) === */
.navbar-main { --bs-navbar-padding-x: calc(var(--bs-gutter-x) * .5); --bs-navbar-padding-y: 0; position: static; justify-content: space-between; gap: clamp(20px,2vw,32px); height: 92px; }
.navbar-main { justify-content: center !important; }
@media (min-width: 768px) {
  .navbar-main { justify-content: space-between !important; }
}
.navbar-main { height: 88px !important; }
@media (min-width: 768px) {
  .navbar-main { height: 92px !important; }
}
.navbar-main .navbar-brand img { height: clamp(56px,3.9vw,74px); margin-left: calc(clamp(56px,3.9vw,74px) * -0.059); flex: none; }
.navbar-main .navbar-brand img { height: 62px !important; }
@media (min-width: 768px) {
  .navbar-main .navbar-brand img { height: clamp(56px,3.9vw,74px) !important; }
}
.navbar-main .navbar-brand img { margin-left: 0 !important; }
@media (min-width: 768px) {
  .navbar-main .navbar-brand img { margin-left: calc(clamp(56px,3.9vw,74px) * -0.059) !important; }
}
.navbar-main .navbar-toggler { display: flex; align-items: center; justify-content: center; flex: none; width: 50px; height: 50px; padding: 0; border: 1px solid var(--cca-border); border-radius: 6px; background: var(--bs-white); color: var(--cca-navy); font-size: 24px; }
.navbar-main .navbar-toggler:focus { box-shadow: none; }
.navbar-main .navbar-toggler:focus-visible { box-shadow: 0 0 0 var(--bs-focus-ring-width) var(--bs-focus-ring-color); }
.navbar-main .navbar-collapse { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; max-height: calc(100vh - 138px); overflow: auto; padding: 12px max(24px, min(100px, calc(50vw - 732px))) 24px; border-top: 1px solid var(--cca-line); background: var(--bs-white); box-shadow: 0 18px 40px rgba(20,24,30,.10); font-size: 16px; }
.navbar-main .navbar-collapse.show { display: flex; }
.navbar-main .navbar-collapse.collapsing { transition: none; }
.navbar-close { display: flex; align-items: center; gap: 8px; align-self: flex-end; height: 40px; margin: 0 0 4px; padding: 0 4px; border: 0; background: transparent; color: var(--cca-navy-900); font: 600 15px var(--cca-font-sans); cursor: pointer; }
.navbar-close .bi { color: var(--cca-gold-600); font-size: 20px; }
.navbar-main .navbar-nav { --bs-nav-link-padding-x: 4px; --bs-nav-link-padding-y: 13px; --bs-nav-link-color: var(--cca-ink); --bs-nav-link-hover-color: var(--cca-ink); --bs-navbar-active-color: var(--cca-ink); --bs-nav-link-font-weight: 500; --bs-nav-link-font-size: 16px; }
.navbar-main .nav-link { display: block; border-bottom: 1px solid var(--cca-line); }
.navbar-main .dropdown-toggle { position: relative; }
.navbar-main .dropdown-toggle::after { content: "+"; position: absolute; top: 50%; right: 4px; width: 32px; margin: 0; border: 0; transform: translateY(-50%); color: var(--cca-gold-600); font-size: 26px; font-weight: 400; line-height: 1; text-align: center; vertical-align: baseline; }
.navbar-main .dropdown-toggle.show::after { content: "\2212"; }
.navbar-main .dropdown-menu { --bs-dropdown-padding-y: 0; --bs-dropdown-border-width: 0; --bs-dropdown-bg: transparent; --bs-dropdown-min-width: 0; --bs-dropdown-font-size: 15px; --bs-dropdown-link-color: var(--cca-gray-650); --bs-dropdown-link-hover-color: var(--cca-gray-650); --bs-dropdown-link-hover-bg: transparent; --bs-dropdown-link-active-color: var(--cca-gray-650); --bs-dropdown-link-active-bg: transparent; --bs-dropdown-item-padding-x: 4px; --bs-dropdown-item-padding-y: 10px; margin: 0; }
.navbar-main .dropdown-item { padding-left: 20px; white-space: normal; }
.navbar-main .nav-link:hover, .navbar-main .nav-link:focus-visible, .navbar-main .dropdown-item:hover, .navbar-main .dropdown-item:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1200px) {
  .navbar-main .navbar-toggler, .navbar-close { display: none; }
  .navbar-main .navbar-collapse.collapse { position: static; display: flex; flex-direction: row; flex-grow: 0; flex-basis: auto; max-height: none; overflow: visible; padding: 0; border: 0; background: none; box-shadow: none; font-size: clamp(16px,1.05vw,19px); font-weight: 700; white-space: nowrap; }
  .navbar-main .navbar-nav { --bs-nav-link-padding-x: 0; --bs-nav-link-padding-y: 0; --bs-nav-link-font-weight: 700; --bs-nav-link-font-size: inherit; flex-direction: row; align-items: center; gap: clamp(12px,1.4vw,36px); }
  .navbar-main .nav-link { border-bottom: 0; }
  .navbar-main .nav-link:hover, .navbar-main .nav-link:focus-visible, .navbar-main .dropdown-item:hover, .navbar-main .dropdown-item:focus-visible { text-decoration: none; }
  .navbar-main .dropdown > .nav-link { display: flex; align-items: center; gap: 6px; padding-top: 34px; padding-bottom: 34px; }
  .navbar-main .dropdown-toggle::after, .navbar-main .dropdown-toggle.show::after { content: "\F282"; position: static; width: auto; transform: none; color: inherit; font-family: "bootstrap-icons"; font-size: 11px; }
  .navbar-main .nav-link-cta .bi { font-size: inherit; }
  .navbar-main .dropdown-menu { --bs-dropdown-bg: var(--bs-white); --bs-dropdown-font-size: inherit; --bs-dropdown-link-color: var(--cca-ink); --bs-dropdown-link-hover-color: var(--cca-ink); --bs-dropdown-link-hover-bg: var(--cca-cream); --bs-dropdown-link-active-color: var(--cca-ink); --bs-dropdown-link-active-bg: var(--cca-cream); --bs-dropdown-item-padding-x: 14px; --bs-dropdown-item-padding-y: 11px; position: absolute; top: 90px; left: -24px; flex-direction: column; min-width: 260px; padding: 10px; border: 1px solid var(--cca-border); border-radius: 8px; box-shadow: 0 18px 40px rgba(20,24,30,.10); }
  .navbar-main .dropdown:hover > .dropdown-menu, .navbar-main .dropdown:focus-within > .dropdown-menu { display: flex; }
  .navbar-main .dropdown-item { padding-left: 14px; border-radius: 6px; font-weight: 500; white-space: nowrap; }
  .navbar-main .dropdown-item:hover { text-decoration: none; }
  .navbar-main .nav-link-cta { display: flex; height: 36px; min-width: 178px; border-radius: 4px; background: var(--cca-navy-900); color: var(--bs-white); font-size: clamp(13px,.8vw,14px); font-weight: 600; transition: background .15s; }
  /* The link fills the whole button, so all of it is clickable */
  .navbar-main .nav-link-cta > .nav-link { display: flex; flex: 1; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border-radius: inherit; }
  .navbar-main .nav-link-cta .bi { font-size: inherit; }
  .navbar-main .nav-link-cta:hover, .navbar-main .nav-link-cta:focus-within { background: var(--cca-navy-700); color: var(--bs-white); text-decoration: none; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .navbar-main { gap: 12px; }
  /* 12px at 1200px rising to 16px at 1399px */
  .navbar-main .navbar-nav { gap: calc(2.01vw - 12.12px); }
  .navbar-main .nav-link-cta { min-width: 0; }
}


/* Mobile bar Menu/Close label follows the collapse state */
[aria-expanded="true"] > .menu-icon-open, [aria-expanded="true"] > .menu-label-open,
[aria-expanded="false"] > .menu-icon-close, [aria-expanded="false"] > .menu-label-close { display: none; }

/* Content + sticky sidebar pages, 768–1199px: 2/3 + 1/3 columns so the content column no longer runs under the sticky sidebar */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .about-michael-inner-padded, .article-inner, .car-accident-inner, .questions-and-inner, .why-refer-inner { grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 40px; }
}

/* === COMPONENT STATES (driven by Bootstrap JS / js/script.js) === */
/* Header: hide on scroll down, hairline once scrolled */
.header.is-scrolled { border-bottom-color: var(--cca-line); }
@media (min-width: 768px) {
  .header.is-hidden { transform: translateY(-46px); }
}
.header.is-hidden ~ main .sticky-aside { top: 116px; max-height: calc(100vh - 116px - 24px); }

/* Sticky sidebars: no height cap, so the box always holds all its content. A sidebar taller than
   the screen scrolls with the page and stops at the end of the content column, never overlapping
   the next section or hiding content. !important beats Bootstrap's .overflow-y-auto in the templates. */
.sticky-aside { max-height: none !important; overflow: visible !important; }


/* Case review modal (Bootstrap modal) */
.case-modal { --bs-modal-margin: 32px; --bs-modal-width: 620px; }
.case-modal .modal-dialog { max-width: min(620px, calc(100% - 64px)); margin-left: auto; margin-right: auto; }
.modal-backdrop { --bs-backdrop-bg: var(--cca-color-0a0e16); --bs-backdrop-opacity: .55; }

/* Gravity Forms markup — keep the approved form grid */
.gform_wrapper .gform_body, .gform_wrapper .gform_fields { display: contents; }
.gform_wrapper .ginput_container:not(.ginput_container_consent) { display: flex; flex-direction: column; }
.gform_wrapper .gfield--type-consent, .gform_wrapper .gform_footer { grid-column: 1 / -1; }
.gform_wrapper .gfield-choice-input { flex-shrink: 0; }

/* Review sliders (Bootstrap carousel, fade) */
.review-carousel.carousel-fade .carousel-item { transition: opacity .35s ease; }
.review-slide.active, .review-slide.carousel-item-next, .review-slide.carousel-item-prev { display: flex; }

/* Results carousel */
.results-prev.is-disabled { border-color: rgba(181,165,127,.4); }
.results-next.is-disabled { opacity: .35; }

/* Awards marquee */
.badge-track { animation: badge-marquee var(--marquee-duration, 60s) linear infinite; }
.badge-marquee:hover .badge-track { animation-play-state: paused; }
@keyframes badge-marquee { to { transform: translateX(-25%); } }

/* Home practice panels */
.practice-panels:has(.practice-panel:hover) .practice-panel:not(:hover), .practice-panels.has-active .practice-panel:not(.active) { flex: .85; }
.practice-panels .practice-panel:hover, .practice-panels .practice-panel:focus-within, .practice-panels .practice-panel.active { flex: 1.6; }
.practice-panel:hover .practice-panel-media, .practice-panel:focus-within .practice-panel-media, .practice-panel.active .practice-panel-media { transform: scale(1.06); }
.practice-panel:hover .practice-panel-shade, .practice-panel:focus-within .practice-panel-shade, .practice-panel.active .practice-panel-shade { background: linear-gradient(to top, rgba(15,20,32,.92) 0%, rgba(15,20,32,.55) 55%, rgba(15,20,32,.15) 100%); }
.practice-panel:hover .practice-panel-desc, .practice-panel:focus-within .practice-panel-desc, .practice-panel.active .practice-panel-desc { max-height: 260px; opacity: 1; transition: max-height .6s ease, opacity .4s ease .2s; }

/* Home press cards */
.press-card:hover .press-img, .press-card:focus-within .press-img { transform: scale(1.05); }
.press-card:hover .press-shade, .press-card:focus-within .press-shade { background: rgba(19,24,32,.15); }
.press-card:hover :is(:is(.press-box > h3) > a), .press-card:focus-within :is(:is(.press-box > h3) > a) { color: var(--cca-gold-700); }
.press-card:hover .press-more, .press-card:focus-within .press-more { grid-template-rows: 1fr; }
.press-card:hover :is(.press-more-inner > p, .press-more-inner > a), .press-card:focus-within :is(.press-more-inner > p, .press-more-inner > a) { opacity: 1; }

/* Practice page table of contents (Bootstrap ScrollSpy) */
.toc > a.active { border-left-color: var(--cca-gold-600); color: var(--cca-navy); font-weight: 600; }

/* Settlements filters */
.filter-btn.active { border-color: var(--cca-navy); background: var(--cca-navy-900); color: var(--bs-white); }

/* Never allow sideways page scrolling (sticky elements keep working with clip) */
body { overflow-x: clip; }
body { overflow-x: clip !important; }

/* Reboot alignment — keep the approved rendering where Bootstrap Reboot differs */
img, svg { vertical-align: baseline; }
button { font-family: revert; line-height: normal; }
address { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .badge-track { animation: none; }
  .hero-content > h1:nth-of-type(1) > span:nth-of-type(3) > span:nth-of-type(1) > span:nth-of-type(1) { transform: none; }
}

/* === 5. RESPONSIVE OVERRIDES === */
@media (max-width: 767.98px) {
  .hero { flex-direction:column!important; flex:1 1 auto!important; }
  section[aria-labelledby="hero-title"] { min-height:calc(100svh - 54px)!important; display:flex!important; flex-direction:column!important; }
  .hero-media { order:0!important; width:100%!important; max-width:100%!important; overflow:hidden!important; }
  .hero-media { border-bottom:2px solid var(--cca-gold); }
  .hero-media { flex:1 1 auto!important; }
  .hero-media > div:last-child { inset:0!important; justify-content:center!important; width:100%!important; }
  .hero-media img { flex:none!important; }
  .hero-content { display:contents!important; }
  .hero-content h1 { order:1!important; padding:22px 20px 4px!important; margin:0!important; }
  .hero-content > div:not(.hero-actions) { order:2!important; padding:14px 20px 16px!important; margin:0!important; }
  .hero-content h1 { align-self:stretch!important; width:auto!important; font-size:clamp(22px,6.8vw,34px)!important; }
  .hero-content > div { font-size:17px!important; gap:10px 18px!important; margin-top:16px!important; }
  .section-stack { grid-template-columns:minmax(0,1fr)!important; gap:28px!important; }
  .section-stack > * { justify-self:stretch!important; width:100%!important; max-width:100%!important; }
  .practice-panels { flex-direction:column!important; height:auto!important; min-height:0!important; }
  .practice-panels > article { flex:none!important; height:360px!important; }
  .practice-panels > article > div:last-child { padding:24px!important; }
  .practice-panels h3 { font-size:min(24px,5.4vw)!important; }
  .practice-panels h3 { max-width:none; }
  .home .results-track { grid-auto-columns:84%!important; }
  .results-track > div > div:first-child { font-size:38px!important; }
  #results > div { display:flex!important; flex-direction:column!important; }
  #results .section-head > div { order:0; margin-bottom:28px; }
  #results .results-track { order:1; }
  .home #results > div > p { order:3; }
  #results .results-nav { order:2; }
  #results .section-head > a { order:3; align-self:flex-start; margin-top:32px; }
  .home .results-track > div { border-right:0!important; margin-right:20px!important; padding:12px 20px 12px 0!important; }
  .section-head { flex-direction:column!important; align-items:flex-start!important; gap:20px!important; margin-bottom:40px!important; }
  .about-card { clip-path:none!important; }
  .about-card > div[aria-hidden] { display:none!important; }
  .about-media { height:300px!important; }
  :is(body.home, body:has(> .main .about-michael-section), body:has(> .main .car-accident-section), body:has(> .main .profile-photo-wrap), body:has(> .main .award-photo-inner), body:has(> .main .hero-grid-box), body:has(> .main .featured-press), body:has(> .main .featured-post), body:has(> .main .article-section), body:has(> .main .questions-and-section), body:has(> .main .talk-box), body:has(> .main .why-refer-section)) h2[id$="-title"] { font-size:35px!important; }
  #contact { padding-bottom:200px!important; }
}

@media (max-width: 575.98px) {
  footer > div { padding:0 20px!important; }
}
@media (max-width: 1199.98px) {
  aside:is(.about-michael-aside) { position:static!important; }
  .hero-grid { height:auto!important; }
  .home #badges .award-badge { border-left:0!important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .practice-panels { flex-wrap:wrap!important; height:auto!important; min-height:0!important; }
  .practice-panels > article { flex:1 1 30%!important; height:340px!important; }
}
/* 768–1199px: smaller type so the full text and "Learn more" link fit the 340px panel */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .practice-panel-inner { padding: 24px; }
  .practice-panel-inner > h3 { font-size: 22px; }
  .practice-panel-desc > p { margin-top: 12px; font-size: 14px; line-height: 1.5; }
  .practice-panel-desc > a { margin-top: 14px; font-size: 15px; }
}
@media (max-width: 767.98px) {
  .top-bar { display:none!important; }
  .footer-logo { width:auto!important; }
  .featured-post { display:none!important; }
  .blog-grid h3 { font-size:26px!important; }
  .featured-press { display:none!important; }
  .press-grid h3 { font-size:26px!important; }
  .featured-result { display:none!important; }
  .case-grid article > div { font-size:40px!important; }
  .featured-quote { display:none!important; }
  .review-columns figure { padding:28px 24px!important; margin-bottom:18px!important; }
  :is(.main:has(.page-inner-panel), .main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.featured-quote), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.client-access), .main:has(.why-refer-section), .main:has(.page-inner-block)) > section:first-of-type div:has(> button[onclick], > button[type="button"]) { display:none!important; }
  main > section > div:not([aria-hidden]):not(:is(.mobile-bar, .top-bar, .navbar-main, .navbar-close, .footer-logo, .mobile-cta, .hero, .hero-content, .hero-media, .section-stack, .section-stack-inner-box > span:first-of-type, .practice-panels, .section-head, .results-track, .about-card, .about-media, .about-text, .cta-buttons, .factors, .practice-grid, .featured-quote, .review-columns, .featured-result, .result-filters, .case-grid, .featured-press, .press-grid, .featured-post, .blog-grid, .hero-photo, .author-box, .faq-list, .talk-box, .reasons)), main > section > div.hero-grid, footer > div, .contact > div { padding-left:20px!important; padding-right:20px!important; }
  .section-stack-inner-box > span:first-of-type { font-size:34px!important; }
  .section-stack-inner-box > span:first-of-type { white-space:nowrap; }
  html { overflow-x:clip!important; }
  main > section:not(:first-of-type), main > sc-if > section { padding-top:52px!important; padding-bottom:52px!important; }
  #badges { display:none!important; }
  footer { padding-bottom:110px!important; }
  .navbar-main { padding:0 20px!important; }
  .navbar-main .navbar-toggler { display:none!important; }
  main > section:first-of-type { padding-top:160px!important; }
  .practice-grid > a > div { padding:24px!important; }
  .practice-grid h2 { font-size:32px!important; }
  :is(.main:has(.page-inner-panel), .main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.featured-quote), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.client-access), .main:has(.why-refer-section), .main:has(.page-inner-block)) > section:first-of-type > div:not([aria-hidden]) { grid-template-columns:minmax(0,1fr)!important; gap:32px!important; padding-top:28px!important; padding-bottom:44px!important; height:auto!important; min-height:0!important; }
  :is(.main:has(.page-inner-panel), .main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.featured-quote), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.client-access), .main:has(.why-refer-section), .main:has(.page-inner-block)) h1 { font-size:40px!important; line-height:1.05!important; }
  main > section:first-of-type p { font-size:17px!important; }
  main > section > div:has(> aside) { grid-template-columns:minmax(0,1fr)!important; gap:48px!important; }
  main aside { position:static!important; max-height:none!important; top:auto!important; }
  main article h2 { font-size:35px!important; }
  :is(.main:has(.page-inner-panel), .main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.featured-quote), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.client-access), .main:has(.why-refer-section), .main:has(.page-inner-block)) article { font-size:17px!important; }
  main > section:first-of-type article h2 { font-size:26px!important; }
  main > section:first-of-type [data-reveal="2"] a span:is([data-no-match]) { font-size:18px!important; }
  .main:has(.client-access) .hero-grid > div:first-child { display:contents!important; }
  .main:has(.client-access) .hero-grid h1 { order:0!important; }
  .main:has(.client-access) .hero-grid > div > p { order:1!important; margin-top:0!important; }
  .main:has(.client-access) .hero-grid > div:not(:first-child) { order:2!important; }
  .main:has(.client-access) .hero-grid > div > nav { order:3!important; }
  .main:has(.about-michael-section) .hero-grid > div:not(.profile-photo):not(:is(.header, .mobile-bar-link, .mobile-bar-link-habla-espanol, .mobile-bar-btn, .top-bar-btn, .navbar-close, .hero-grid-padded, .hero-grid-inner-narrow, .profile-photo-light, .profile-text-btn, .main:has(.hero-grid-inner-narrow) .profile-text-row > a:nth-of-type(1), .about-michael-inner, .about-michael-inner-bordered, .about-michael-aside h2, .badges, .award-badge, .reviews-inner-bordered, .reviews-btn, .reviews-btn-next-review, .footer, .footer-cols-link, .footer-inner-bordered, .mobile-cta-btn, .mobile-cta > a, .case-modal-content, .case-modal-btn, .case-modal-input, .case-modal-textarea, .case-modal-btn-send-case)) { display:contents!important; }
  :is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.why-refer-section)) .hero-grid h1 { order:0!important; font-size:40px!important; }
  :where(.main:has(.about-michael-section)) :where(.hero-grid) h1 { white-space:nowrap; }
  .main:has(.about-michael-section) .hero-grid :is(.profile-text, .main:has(.profile-photo-wrap) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .main:has(.profile-text-wrap) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .page-nav-breadcrumb) { order:2!important; }
  :is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.client-access), .main:has(.why-refer-section)) .hero-grid { gap:24px!important; }
  .main:has(.about-michael-section) .hero-grid :is(.profile-text, .main:has(.profile-photo-wrap) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .main:has(.profile-text-wrap) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .page-nav-breadcrumb) { margin-top:0!important; }
  :is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.why-refer-section)) .results-track { grid-template-columns:minmax(0,1fr)!important; }
  :is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.why-refer-section)) #results > div > p { order:2; }
  :is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.why-refer-section)) .results-track > div { border-right:0!important; margin-right:0!important; padding:22px 0!important; }
  :where(:is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.why-refer-section))) :where(.results-track) > div { border-bottom:1px solid rgba(181,165,127,.5); }
  :where(:is(.main:has(.about-michael-section), .main:has(.car-accident-section), .main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.hero-grid-box), .main:has(.featured-press), .main:has(.featured-post), .main:has(.article-section), .main:has(.questions-and-section), .main:has(.talk-box), .main:has(.why-refer-section))) :where(.results-track) > div:where(:last-child) { border-bottom:0; }
  .talk-box { display:none!important; }
  :is(.main:has(.article-section), .main:has(.questions-and-section), .main:has(.why-refer-section)) .hero-grid > div:not(.hero-photo) { display:contents!important; }
  .hero-grid > .hero-photo { order:1!important; }
  .main:has(.article-section) .hero-grid > div > p, .main:has(.article-section) .hero-grid > div > div, .main:has(.article-section) .hero-grid > div > nav { order:2!important; }
  .main:has(.article-section) .hero-grid > div > p { margin-top:0!important; }
  :is(.main:has(.profile-photo-wrap), .main:has(.award-photo-inner)) .hero-grid > div:not(.award-photo) { display:contents!important; }
  .hero-grid > div.award-photo { order:1!important; justify-self:stretch!important; max-width:100%!important; }
  :is(.main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.questions-and-section), .main:has(.why-refer-section)) .hero-grid > div > p, :is(.main:has(.profile-photo-wrap), .main:has(.award-photo-inner), .main:has(.questions-and-section), .main:has(.why-refer-section)) .hero-grid > div > nav { order:2!important; margin-top:0!important; }
  .faq-list { padding:28px 0!important; }
  .faq-list:first-child { padding-top:0!important; }
  .faq-list h2 { font-size:35px!important; }
  section[aria-label="Awards"] { padding:44px 0 52px!important; }
  section[aria-label="Awards"] a { flex:0 1 calc(50% - 7px)!important; }
  section[aria-label="Awards"] a img { max-height:76px!important; }
  section[aria-label="Awards"] a h2 { font-size:19px!important; margin-top:16px!important; }
  section[aria-label="Awards"] a span { font-size:13px!important; }
  .main:has(.car-accident-section) .hero-grid > div:not(.profile-photo) { display:contents!important; }
  .main:has(.car-accident-section) .hero-grid > .profile-photo { order:1!important; }
  .main:has(.car-accident-section) .hero-grid :is(.profile-text, .page-nav-breadcrumb, .main:has(.profile-photo-wrap) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1), .main:has(.profile-text-wrap) .hero-grid > div:nth-of-type(1) > p:nth-of-type(1), .main:has(.hero-grid-inner-narrow) .hero-grid > div:nth-of-type(2) > p:nth-of-type(1)) { order:2!important; margin-top:0!important; }
  :is(.main:has(.car-accident-section), .main:has(.article-section), .main:has(.why-refer-section)) article h2 { margin-top:52px!important; }
  :is(.main:has(.car-accident-section), .main:has(.article-section), .main:has(.why-refer-section)) article h2:first-child { margin-top:0!important; }
  .author-box { flex-direction:column!important; margin-top:52px!important; }
  :is(.main:has(.article-section), .main:has(.questions-and-section), .main:has(.why-refer-section)) aside > div:first-child { display:none!important; }
  .main:has(.car-accident-section) aside > div:first-child, .main:has(.car-accident-section) aside nav:has(#toc) { display:none!important; }
}




@media (min-width: 768px) {
  .press-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

.gform_required_legend { display: none !important; }

.admin-bar .header { top: 32px !important; }

.nav-link-cta .nav-link { color: var(--bs-white); }

.gform_wrapper .ginput_container_phone input[type="tel"]::placeholder {
    color: transparent !important;
}

/* =============================================================================
   gravity.css — Gravity Forms (Orbital theme) restyled to match the CCA export.
   1. Shared field styles
   2. Free Case Review band (.contact-card, form 2)
   3. Case review popup (.case-modal, form 1)
   Selectors are scoped to the container + .gform-theme so they win over the
   Gravity Forms theme stylesheets, which load after this file.
   ============================================================================= */

/* === 1. SHARED === */
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme {
  margin: 0;
}

/* Labels: 14px semibold, required markers hidden (screen readers still get the field as required) */
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
}
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield_label {
  display: block;
  margin: 0;
  padding: 0;
  font: 600 14px/1.5 var(--cca-font-sans);
  color: inherit;
}
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield_label .gfield_required,
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .hidden_label > .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* Text inputs and textareas */
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield input:is([type="text"], [type="tel"], [type="email"]),
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield textarea {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--cca-input-border);
  border-radius: 6px;
  box-shadow: none;
  background: var(--bs-white);
  font: 500 16px var(--cca-font-sans);
  color: var(--cca-ink);
}
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield textarea {
  padding-top: 14px;
  padding-bottom: 14px;
  resize: vertical;
}
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield :is(input, textarea):focus,
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield :is(input, textarea):focus-visible {
  outline: none;
  border-color: var(--cca-navy);
  box-shadow: 0 0 0 4px rgba(19, 40, 74, .15);
}

/* Validation */
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gfield_validation_message,
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme .gform_validation_errors {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: none;
  font-size: 13px;
  color: #b42318;
}

/* Submit button (shared reset; colours and sizes per form below).
   GF outputs .gform_button or .gform-button depending on the submit location; the
   selector needs (0,6,1) to beat the framework's "> button:not(…):not(…)" rule. */
:is(.contact-card, .case-modal) .gform_wrapper.gform-theme.gform-theme--framework button[type="submit"]:is(.gform_button, .gform-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  border: 0;
  border-radius: 6px;
  box-shadow: none;
  color: var(--bs-white);
  cursor: pointer;
  transition: background .15s;
}

/* === 2. FREE CASE REVIEW BAND (form 2) === */
.contact-card .gform_wrapper.gform-theme .gform_fields {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
}
.contact-card .gform_wrapper.gform-theme .gfield {
  flex: 1 1 180px;
  color: var(--cca-navy);
}
.contact-card .gform_wrapper.gform-theme .gfield--type-textarea {
  flex-basis: 100%;
}
.contact-card .gform_wrapper.gform-theme .gfield input:is([type="text"], [type="tel"], [type="email"]) {
  height: 54px;
}
.contact-card .gform_wrapper.gform-theme .gfield textarea {
  height: 102px;
  min-height: 96px;
  line-height: 1.5;
}

/* Disclaimer (HTML field) + submit share one row, like the export's footer row */
.contact-card .gform_wrapper.gform-theme .gfield--type-html {
  flex: 1 1 280px;
  align-self: center;
  margin-top: 0;
  font: 400 13px/1.5 var(--cca-font-sans);
  color: var(--cca-color-5a5f67);
}
@media (min-width: 768px) {
  /* Disclaimer and button share a row from here: 16px + the 16px gap = the export's 32px */
  .contact-card .gform_wrapper.gform-theme .gfield--type-html {
    margin-inline-end: 16px;
  }
}
.contact-card .gform_wrapper.gform-theme .gfield--type-submit {
  flex: 0 0 auto;
  align-self: center;
}
.contact-card .gform_wrapper.gform-theme .gform_footer {
  margin: 0;
  padding: 0;
}
.contact-card .gform_wrapper.gform-theme .gform_footer:empty {
  display: none;
}
.contact-card .gform_wrapper.gform-theme.gform-theme--framework button[type="submit"]:is(.gform_button, .gform-button) {
  height: 54px;
  padding: 0 28px;
  background: var(--cca-gold-600);
  font: 600 16px var(--cca-font-sans);
}
/* Arrow icon after the label: Bootstrap Icons "bi-arrow-right".
   GF's framework sets font-family: var(--gf-icon-font-family) !important on button::after,
   so the variable is pointed at the Bootstrap Icons font instead. */
.contact-card .gform_wrapper.gform-theme.gform-theme--framework button[type="submit"]:is(.gform_button, .gform-button)::after {
  --gf-icon-font-family: bootstrap-icons;
  content: "\f138";
  display: inline-block;
  font-family: bootstrap-icons;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
}
.contact-card .gform_wrapper.gform-theme.gform-theme--framework button[type="submit"]:is(.gform_button, .gform-button):is(:hover, :focus-visible) {
  background: var(--cca-gold-800);
  color: var(--bs-white);
}

/* === 3. CASE REVIEW POPUP (form 1) === */
.case-modal .gform_wrapper.gform-theme {
  color: var(--cca-ink);
}
.case-modal .gform_wrapper.gform-theme :is(.gform_body, .gform_fields) {
  display: contents;
}
.case-modal .gform_wrapper.gform-theme form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 32px;
}
.case-modal .gform_wrapper.gform-theme .gfield {
  grid-column: auto; /* drop GF's 12-column spans */
}
.case-modal .gform_wrapper.gform-theme .gfield--width-full,
.case-modal .gform_wrapper.gform-theme .gfield--type-consent,
.case-modal .gform_wrapper.gform-theme .gform_footer {
  grid-column: 1 / -1;
}
.case-modal .gform_wrapper.gform-theme .gfield input:is([type="text"], [type="tel"], [type="email"]) {
  height: 52px;
}
.case-modal .gform_wrapper.gform-theme .gfield :is(input:is([type="text"], [type="tel"], [type="email"]), textarea) {
  color: FieldText; /* the export's popup fields use the browser default text colour */
}
.case-modal .gform_wrapper.gform-theme .gfield textarea {
  height: 118px;
  min-height: 0;
}

/* Consent: native checkbox + 13px text */
.case-modal .gform_wrapper.gform-theme .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--cca-gray-700);
}
.case-modal .gform_wrapper.gform-theme .ginput_container_consent input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  padding: 0;
  appearance: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  accent-color: var(--cca-navy);
}
.case-modal .gform_wrapper.gform-theme .ginput_container_consent input[type="checkbox"]::before {
  content: none;
}
.case-modal .gform_wrapper.gform-theme .gfield_consent_label {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
}

.case-modal .gform_wrapper.gform-theme .gform_footer {
  margin: 6px 0 0;
  padding: 0;
}
.case-modal .gform_wrapper.gform-theme.gform-theme--framework button[type="submit"]:is(.gform_button, .gform-button) {
  width: 100%;
  height: 58px;
  padding: 0 16px;
  background: var(--cca-navy-900);
  font: 600 15px var(--cca-font-sans);
}
.case-modal .gform_wrapper.gform-theme.gform-theme--framework button[type="submit"]:is(.gform_button, .gform-button):is(:hover, :focus-visible) {
  background: var(--cca-navy-700);
  color: var(--bs-white);
}

/* === REUSABLE BUTTONS ===================================================
   Editor-facing button classes. Mirror the hero CTA pair rendered by
   single-practice-area.php, whose styling is otherwise locked inside
   structural :is(.main:has(.profile-text-wrap) ...) selectors and so cannot
   be reused. Apply to any <a> or <button>; no wrapper needed.
   Values measured from the live hero buttons on 2026-11-06.
   ====================================================================== */
.cca-btn-gold,
.cca-btn-navy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 0 28px;
  border: 0;
  border-radius: 6px;
  font-family: "Open Sans", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--bs-white, #fff);
  text-decoration: none;
  cursor: pointer;
  transition: background .2s, color .2s;
}

.cca-btn-gold { background: var(--cca-gold-600, #9A8654); }

.cca-btn-gold:hover,
.cca-btn-gold:focus {
  background: var(--cca-gold-800, #85733F);
  color: var(--bs-white, #fff);
  text-decoration: none;
}

.cca-btn-navy {
  background: var(--cca-navy-900, #0B1A33);
  padding: 0 30px;
}

.cca-btn-navy:hover,
.cca-btn-navy:focus {
  background: var(--cca-navy-800, #0D1D38);
  color: var(--bs-white, #fff);
  text-decoration: none;
}

/* === CLIENT ACCESS HERO: text column when a hero photo is present ========
   .main:has(.client-access) .hero-grid > div:not(:first-child) sets
   justify-self:end + max-width:560px for the access-form column. Once the
   hero photo is added as the first child, the TEXT column matches that
   selector too and gets squeezed right. Restore it to the practice-areas
   look only when a profile photo is in the hero.
   ====================================================================== */
.main:has(.client-access):has(.profile-photo-wrap) .hero-grid > div:not(:first-child) {
  justify-self: start;
  max-width: none;
}
