/* ==========================================================================
   Leiter Rahme Attorneys — WordPress-Compatible Template
   Design System & Global Styles
   ========================================================================== */

/* ---------- Design Tokens ---------- */
:root {
  /* Brand colors */
  --lr-navy:        #16294f;
  --lr-navy-deep:   #112143;
  --lr-navy-mid:    #1d3563;
  --lr-gold:        #c2923c;
  --lr-gold-dark:   #ad8030;
  --lr-gold-light:  #d9b463;

  /* Neutrals */
  --lr-cream:       #f4f1ea;
  --lr-cream-2:     #efece4;
  --lr-white:       #ffffff;
  --lr-ink:         #1c2433;
  --lr-body:        #46505f;
  --lr-muted:       #6b7585;
  --lr-line:        #e4e0d6;
  --lr-line-soft:   #ece9e1;
  --lr-card-line:   #e8e4da;

  /* Inverse (on navy) */
  --lr-on-navy:     #e9edf5;
  --lr-on-navy-mut: #9fb0cd;

  /* Type */
  --lr-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --lr-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --lr-mono:  "IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;

  /* Layout */
  --lr-maxw: 1200px;
  --lr-gutter: 24px;
  --lr-radius: 10px;
  --lr-radius-lg: 16px;
  --lr-shadow-sm: 0 1px 2px rgba(20,33,67,.06), 0 2px 8px rgba(20,33,67,.04);
  --lr-shadow-md: 0 6px 24px rgba(20,33,67,.08);
  --lr-shadow-card: 0 1px 3px rgba(20,33,67,.05), 0 8px 24px rgba(20,33,67,.06);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--lr-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--lr-body);
  background: var(--lr-cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }
h1,h2,h3,h4,h5,h6 { margin: 0; color: var(--lr-ink); font-weight: 600; line-height: 1.18; }
p { margin: 0 0 1em; }

/* ---------- Layout helpers ---------- */
.lr-container {
  width: 100%;
  max-width: var(--lr-maxw);
  margin-inline: auto;
  padding-inline: var(--lr-gutter);
}
.lr-section { padding-block: 84px; }
.lr-section--tight { padding-block: 56px; }
.lr-bg-cream  { background: var(--lr-cream); }
.lr-bg-cream2 { background: var(--lr-cream-2); }
.lr-bg-white  { background: var(--lr-white); }
.lr-bg-navy   { background: var(--lr-navy); color: var(--lr-on-navy); }
.lr-bg-gold   { background: var(--lr-gold); color: #fff; }

/* ---------- Typography utilities ---------- */
.lr-serif { font-family: var(--lr-serif); }
.lr-eyebrow {
  font-family: var(--lr-mono);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--lr-gold);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.lr-eyebrow::before {
  content: "";
  width: 26px; height: 1px;
  background: var(--lr-gold);
  display: inline-block;
}
.lr-bg-navy .lr-eyebrow { color: var(--lr-gold-light); }
.lr-bg-navy .lr-eyebrow::before { background: var(--lr-gold-light); }

.lr-h1 {
  font-family: var(--lr-serif);
  font-size: clamp(2.4rem, 4.6vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--lr-ink);
}
.lr-h2 {
  font-family: var(--lr-serif);
  font-size: clamp(1.85rem, 3.1vw, 2.5rem);
  line-height: 1.14;
  color: var(--lr-ink);
}
.lr-h3 {
  font-family: var(--lr-serif);
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
}
.lr-bg-navy .lr-h1, .lr-bg-navy .lr-h2, .lr-bg-navy .lr-h3 { color: #fff; }
.lr-lead { font-size: 1.075rem; color: var(--lr-body); max-width: 60ch; }
.lr-bg-navy .lr-lead { color: var(--lr-on-navy); }
.lr-muted { color: var(--lr-muted); }
.lr-center { text-align: center; }
.lr-mxauto { margin-inline: auto; }

/* monospace meta labels */
.lr-meta {
  font-family: var(--lr-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--lr-muted);
}

/* ---------- Buttons ---------- */
.lr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: 6px;
  font-size: .95rem;
  font-weight: 600;
  border: 1.5px solid transparent;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
  line-height: 1;
}
.lr-btn:active { transform: translateY(1px); }
.lr-btn--gold { background: var(--lr-gold); color: #fff; }
.lr-btn--gold:hover { background: var(--lr-gold-dark); }
.lr-btn--outline { background: transparent; border-color: var(--lr-line); color: var(--lr-ink); }
.lr-btn--outline:hover { border-color: var(--lr-ink); }
.lr-bg-navy .lr-btn--outline { border-color: rgba(255,255,255,.35); color:#fff; }
.lr-bg-navy .lr-btn--outline:hover { border-color:#fff; background: rgba(255,255,255,.06); }
.lr-btn--ghost-light { background:#fff; border-color: var(--lr-line); color: var(--lr-ink); }
.lr-btn--block { width: 100%; }
.lr-btn--lg { padding: 16px 30px; font-size: 1rem; }

/* ---------- Pills / tags ---------- */
.lr-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 4px;
  font-family: var(--lr-mono);
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: var(--lr-navy);
  color: #fff;
  font-weight: 500;
}
.lr-pill--gold { background: var(--lr-gold); }
.lr-pill--soft { background: var(--lr-cream-2); color: var(--lr-navy); border:1px solid var(--lr-line); }

/* ---------- Cards ---------- */
.lr-card {
  background: var(--lr-white);
  border: 1px solid var(--lr-card-line);
  border-radius: var(--lr-radius);
  padding: 28px;
  box-shadow: var(--lr-shadow-sm);
}
.lr-card--flat { box-shadow: none; }

/* ---------- Grid ---------- */
.lr-grid { display: grid; gap: 24px; }
.lr-grid--2 { grid-template-columns: repeat(2, 1fr); }
.lr-grid--3 { grid-template-columns: repeat(3, 1fr); }
.lr-grid--4 { grid-template-columns: repeat(4, 1fr); }
.lr-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.lr-split--wide-left { grid-template-columns: 1.1fr .9fr; }

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.lr-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--lr-navy);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lr-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  gap: 24px;
}
.lr-logo { display: flex; flex-direction: column; line-height: 1; }
.lr-logo__name {
  font-family: var(--lr-serif);
  font-size: 1.45rem;
  color: #fff;
  font-weight: 600;
}
.lr-logo__sub {
  font-family: var(--lr-mono);
  font-size: 9px;
  letter-spacing: .25em;
  color: var(--lr-on-navy-mut);
  margin-top: 4px;
  text-transform: uppercase;
}
.lr-nav { display: flex; align-items: center; gap: 28px; }
.lr-nav__list { display: flex; align-items: center; gap: 26px; }
.lr-nav__link {
  font-size: .92rem;
  color: var(--lr-on-navy);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 0;
  transition: color .15s ease;
}
.lr-nav__link:hover, .lr-nav__link[aria-current="page"] { color: #fff; }
.lr-nav__link[aria-current="page"] { color: var(--lr-gold-light); }
.lr-nav__caret { font-size: .7em; opacity: .7; }
.lr-header .lr-btn--gold { padding: 11px 20px; font-size: .9rem; }

.lr-navtoggle {
  display: none;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
}

/* ==========================================================================
   HERO
   ========================================================================== */
.lr-hero { padding-block: 84px 72px; }
.lr-hero__split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: center;
}
.lr-hero__title { margin-bottom: 22px; }
.lr-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.lr-hero__media {
  background: linear-gradient(135deg, #e6e2d8, #d9d4c8);
  border-radius: var(--lr-radius-lg);
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lr-muted);
  box-shadow: var(--lr-shadow-md);
}
.lr-hero__media .lr-meta { opacity: .65; }

/* breadcrumb */
.lr-crumbs {
  font-size: .82rem;
  color: var(--lr-muted);
  margin-bottom: 22px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.lr-crumbs a:hover { color: var(--lr-gold); }

/* ==========================================================================
   STAT BAR
   ========================================================================== */
.lr-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; }
.lr-stat__num {
  font-family: var(--lr-serif);
  font-size: 2.1rem;
  color: var(--lr-navy);
  line-height: 1;
}
.lr-bg-navy .lr-stat__num { color: #fff; }
.lr-stat__label {
  font-size: .82rem;
  color: var(--lr-muted);
  margin-top: 8px;
  max-width: 22ch;
}
.lr-bg-navy .lr-stat__label { color: var(--lr-on-navy-mut); }

/* stat band on navy */
.lr-statband { padding-block: 30px; }
.lr-statband .lr-stats { gap: 24px; }
.lr-statband .lr-stat__num { font-size: 1.8rem; }

/* ==========================================================================
   FEATURE / PRINCIPLE ITEMS
   ========================================================================== */
.lr-principle { display: flex; gap: 18px; margin-bottom: 26px; }
.lr-principle__icon {
  flex: 0 0 44px;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lr-navy);
  color: var(--lr-gold-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem;
}
.lr-principle__title { font-family: var(--lr-serif); font-size: 1.1rem; margin-bottom: 6px; color: var(--lr-ink); }
.lr-principle__body { font-size: .92rem; color: var(--lr-body); margin: 0; }

/* numbered steps */
.lr-step { display: flex; gap: 18px; margin-bottom: 24px; }
.lr-step__num {
  flex: 0 0 32px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--lr-navy);
  color: #fff;
  font-size: .85rem;
  font-weight: 600;
  display: flex; align-items: center; justify-content: center;
}
.lr-step__title { font-weight: 600; color: var(--lr-ink); margin-bottom: 4px; }
.lr-step__body { font-size: .9rem; margin: 0; }

/* small feature grid (why choose) */
.lr-feature { padding: 24px; }
.lr-feature__icon {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--lr-cream-2);
  color: var(--lr-navy);
  display:flex; align-items:center; justify-content:center;
  margin-bottom: 16px;
  font-size: 1.1rem;
}
.lr-feature__title { font-weight: 600; color: var(--lr-ink); margin-bottom: 8px; }
.lr-feature__body { font-size: .88rem; margin: 0; }

/* ==========================================================================
   SERVICE CARDS
   ========================================================================== */
.lr-service { padding: 24px; position: relative; transition: border-color .15s, box-shadow .15s, transform .15s; display:flex; flex-direction:column; }
.lr-service:hover { border-color: var(--lr-gold); box-shadow: var(--lr-shadow-card); transform: translateY(-2px); }
.lr-service__top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom: 14px; }
.lr-service__badge {
  font-family: var(--lr-mono);
  font-size: 10px;
  letter-spacing: .06em;
  background: var(--lr-cream-2);
  color: var(--lr-navy);
  padding: 4px 9px;
  border-radius: 4px;
}
.lr-service__badge--urgent { background: #f6e3df; color: #a23b2a; }
.lr-service__title { font-family: var(--lr-serif); font-size: 1.2rem; color: var(--lr-ink); margin-bottom: 4px; }
.lr-service__sub { font-family: var(--lr-mono); font-size: 9.5px; letter-spacing:.08em; text-transform:uppercase; color: var(--lr-gold-dark); margin-bottom: 12px; }
.lr-service__body { font-size: .88rem; margin: 0 0 18px; flex: 1; }
.lr-service__link { font-size: .85rem; font-weight: 600; color: #a23b2a; display:inline-flex; align-items:center; gap:6px; margin-top:auto; }
.lr-service__link:hover { gap: 10px; }

/* ==========================================================================
   ATTORNEY CARDS
   ========================================================================== */
.lr-attorney { padding: 0; overflow: hidden; }
.lr-attorney__photo {
  aspect-ratio: 3/2.1;
  background: linear-gradient(135deg,#e6e2d8,#d9d4c8);
}
.lr-attorney__body { padding: 24px; }
.lr-attorney__name { font-family: var(--lr-serif); font-size: 1.2rem; color: var(--lr-ink); }
.lr-attorney__role { font-family: var(--lr-mono); font-size: 9.5px; letter-spacing:.1em; text-transform:uppercase; color: var(--lr-muted); margin: 6px 0 14px; }
.lr-attorney__bars { display:flex; flex-wrap:wrap; gap:6px; margin-bottom: 16px; }
.lr-attorney__quote {
  font-family: var(--lr-serif);
  font-style: italic;
  font-size: .95rem;
  color: var(--lr-navy);
  border-left: 2px solid var(--lr-gold);
  padding-left: 14px;
  margin-bottom: 16px;
}
.lr-attorney__desc { font-size: .85rem; margin-bottom: 16px; }
.lr-attorney__langs { font-size: .82rem; margin-bottom: 14px; }
.lr-attorney__langs b { color: var(--lr-ink); }
.lr-attorney__langs .lr-label { font-family: var(--lr-mono); font-size:9px; letter-spacing:.1em; color: var(--lr-muted); display:block; margin-bottom:4px; }

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.lr-testi { padding: 26px; }
.lr-testi__stars { color: var(--lr-gold-light); letter-spacing: 2px; margin-bottom: 14px; font-size: .9rem; }
.lr-testi__quote { font-style: italic; font-size: .92rem; margin-bottom: 18px; }
.lr-testi__name { font-weight: 700; font-size: .9rem; color: var(--lr-ink); }
.lr-testi__meta { font-family: var(--lr-mono); font-size: 10px; letter-spacing:.06em; color: var(--lr-muted); margin-top:4px; }
.lr-bg-navy .lr-testi { background: var(--lr-navy-mid); border-color: rgba(255,255,255,.08); }
.lr-bg-navy .lr-testi__quote { color: var(--lr-on-navy); }
.lr-bg-navy .lr-testi__name { color: #fff; }
.lr-bg-navy .lr-testi__meta { color: var(--lr-on-navy-mut); }

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */
.lr-faq { border-top: 1px solid var(--lr-line); }
.lr-faq__item { border-bottom: 1px solid var(--lr-line); }
.lr-faq__q {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 22px 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--lr-ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.lr-faq__icon { color: var(--lr-gold); font-size: 1.3rem; flex: 0 0 auto; transition: transform .2s ease; }
.lr-faq__item[open] .lr-faq__icon { transform: rotate(45deg); }
.lr-faq__a { padding: 0 0 22px; font-size: .94rem; color: var(--lr-body); max-width: 70ch; }
details.lr-faq__item summary { list-style: none; cursor: pointer; }
details.lr-faq__item summary::-webkit-details-marker { display: none; }

/* ==========================================================================
   FORMS
   ========================================================================== */
.lr-form { display: grid; gap: 18px; }
.lr-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lr-field label { display: block; font-size: .82rem; font-weight: 600; color: var(--lr-ink); margin-bottom: 7px; }
.lr-field label .req { color: var(--lr-gold-dark); }
.lr-field input,
.lr-field select,
.lr-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--lr-line);
  border-radius: 7px;
  font-family: inherit;
  font-size: .92rem;
  color: var(--lr-ink);
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.lr-field input:focus,
.lr-field select:focus,
.lr-field textarea:focus {
  outline: 0;
  border-color: var(--lr-gold);
  box-shadow: 0 0 0 3px rgba(194,146,60,.12);
}
.lr-field textarea { resize: vertical; min-height: 96px; }
.lr-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lr-check { display:flex; align-items:center; gap:9px; border:1px solid var(--lr-line); border-radius:7px; padding:11px 13px; font-size:.85rem; }
.lr-formcard { background: #fff; border:1px solid var(--lr-card-line); border-radius: var(--lr-radius-lg); padding: 32px; box-shadow: var(--lr-shadow-card); }

/* feature row in form sidebar */
.lr-assesslist { display:grid; grid-template-columns:1fr 1fr; gap: 4px 18px; }
.lr-assesslist li { display:flex; gap:8px; align-items:flex-start; font-size:.86rem; padding: 7px 0; border-bottom:1px solid var(--lr-line-soft); }
.lr-assesslist li::before { content:"›"; color: var(--lr-gold); font-weight:700; }

/* ==========================================================================
   BLOG
   ========================================================================== */
.lr-searchbar { display:flex; max-width: 520px; }
.lr-searchbar input { width:100%; padding: 13px 16px; border:1px solid var(--lr-line); border-radius:8px; font-size:.95rem; background:#fff; }
.lr-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top: 18px; }
.lr-chip { padding:7px 16px; border:1px solid var(--lr-line); border-radius:30px; background:#fff; font-size:.82rem; color:var(--lr-body); }
.lr-chip--active, .lr-chip:hover { background: var(--lr-navy); color:#fff; border-color: var(--lr-navy); }

.lr-postcard { padding:0; overflow:hidden; display:flex; flex-direction:column; transition: box-shadow .15s, transform .15s; }
.lr-postcard:hover { box-shadow: var(--lr-shadow-card); transform: translateY(-2px); }
.lr-postcard__img { aspect-ratio: 16/9; background: linear-gradient(135deg,#e6e2d8,#d9d4c8); display:flex; align-items:center; justify-content:center; }
.lr-postcard__img .lr-meta { opacity:.55; font-size:9px; }
.lr-postcard__body { padding: 22px; display:flex; flex-direction:column; flex:1; }
.lr-postcard__tags { display:flex; gap:10px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
.lr-postcard__title { font-family: var(--lr-serif); font-size:1.12rem; color:var(--lr-ink); margin-bottom:10px; line-height:1.25; }
.lr-postcard__excerpt { font-size:.88rem; margin-bottom:16px; flex:1; }
.lr-postcard__read { font-size:.85rem; font-weight:600; color:#a23b2a; display:inline-flex; gap:6px; align-items:center; margin-top:auto; }

.lr-trending { display:flex; flex-direction:column; gap:14px; }
.lr-trend { border:1px solid var(--lr-card-line); border-radius:8px; padding:16px 18px; background:#fff; }
.lr-trend__meta { display:flex; gap:10px; align-items:center; margin-bottom:8px; }
.lr-trend__title { font-weight:600; font-size:.95rem; color:var(--lr-ink); margin-bottom:8px; line-height:1.3; }
.lr-trend__read { font-size:.82rem; color:#a23b2a; font-weight:600; }

.lr-feat-article { display:flex; flex-direction:column; }
.lr-feat-article__img { aspect-ratio:16/8; background:linear-gradient(135deg,#e6e2d8,#d9d4c8); border-radius:10px 10px 0 0; display:flex; align-items:center; justify-content:center; }
.lr-feat-article__body { background:#fff; border:1px solid var(--lr-card-line); border-top:0; border-radius:0 0 10px 10px; padding:24px; }

.lr-pagination { display:flex; gap:8px; justify-content:center; align-items:center; margin-top:40px; }
.lr-pagination a, .lr-pagination span { min-width:40px; height:40px; border:1px solid var(--lr-line); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.9rem; background:#fff; color:var(--lr-body); }
.lr-pagination .is-current { background: var(--lr-navy); color:#fff; border-color: var(--lr-navy); }

/* download cards */
.lr-download { padding:22px; }
.lr-download__icon { width:42px; height:42px; border-radius:8px; background: rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:1.2rem; }
.lr-bg-navy .lr-download { background: var(--lr-navy-mid); border-color: rgba(255,255,255,.1); }
.lr-download__title { color:#fff; font-weight:600; font-size:.98rem; margin-bottom:8px; }
.lr-download__meta { font-family:var(--lr-mono); font-size:10px; letter-spacing:.06em; color:var(--lr-on-navy-mut); margin-bottom:16px; }

/* newsletter */
.lr-newsletter { display:flex; gap:10px; max-width:480px; margin:0 auto; }
.lr-newsletter input { flex:1; padding:13px 16px; border:1px solid var(--lr-line); border-radius:7px; font-size:.92rem; }

/* ==========================================================================
   "AT A GLANCE" / spec tables
   ========================================================================== */
.lr-spec { border:1px solid var(--lr-card-line); border-radius:10px; overflow:hidden; background:#fff; }
.lr-spec__head { font-family:var(--lr-serif); font-size:1.05rem; padding:16px 20px; border-bottom:1px solid var(--lr-line); color:var(--lr-ink); }
.lr-spec__row { display:flex; justify-content:space-between; gap:16px; padding:12px 20px; font-size:.88rem; border-bottom:1px solid var(--lr-line-soft); }
.lr-spec__row:last-child { border-bottom:0; }
.lr-spec__row b { color:var(--lr-ink); font-weight:600; text-align:right; }
.lr-spec__row span:first-child { color:var(--lr-muted); }

/* compare table */
.lr-compare { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--lr-card-line); border-radius:10px; overflow:hidden; font-size:.88rem; }
.lr-compare th, .lr-compare td { padding:14px 16px; text-align:center; border-bottom:1px solid var(--lr-line-soft); }
.lr-compare thead th { background: var(--lr-navy); color:#fff; font-weight:600; font-size:.82rem; }
.lr-compare tbody th { text-align:left; color:var(--lr-ink); font-weight:600; }
.lr-compare .lr-yes { color:#2c7a4b; font-weight:700; }
.lr-compare .lr-no { color:#c0392b; }
.lr-compare tbody tr:nth-child(even) td, .lr-compare tbody tr:nth-child(even) th { background: var(--lr-cream); }

/* credential cards */
.lr-cred { padding:20px; }
.lr-cred__logo { width:100%; aspect-ratio:16/7; background: var(--lr-cream-2); border-radius:6px; margin-bottom:16px; }
.lr-cred__name { font-weight:600; color:var(--lr-ink); margin-bottom:8px; }
.lr-cred__desc { font-size:.84rem; margin-bottom:12px; }
.lr-cred__meta { font-family:var(--lr-mono); font-size:9.5px; letter-spacing:.08em; color:var(--lr-gold-dark); text-transform:uppercase; }

/* mission quote card on navy */
.lr-quote-card { background: var(--lr-navy); color:#fff; border-radius:12px; padding:34px; }
.lr-quote-card__mark { font-family:var(--lr-serif); font-size:2.4rem; color: var(--lr-gold-light); line-height:1; margin-bottom:10px; }
.lr-quote-card__text { font-family:var(--lr-serif); font-style:italic; font-size:1.15rem; line-height:1.45; color:#fff; margin-bottom:18px; }
.lr-quote-card__attr { font-family:var(--lr-mono); font-size:10px; letter-spacing:.1em; color: var(--lr-on-navy-mut); text-transform:uppercase; }

/* small stat cards (cream squares) */
.lr-statcard { background: var(--lr-white); border:1px solid var(--lr-card-line); border-radius:10px; padding:22px; text-align:left; }
.lr-statcard__num { font-family:var(--lr-serif); font-size:1.9rem; color:var(--lr-navy); }
.lr-statcard__label { font-size:.8rem; color:var(--lr-muted); margin-top:4px; }

/* ==========================================================================
   CTA bands
   ========================================================================== */
.lr-cta { text-align:center; }
.lr-cta__actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
.lr-reviews-line { display:inline-flex; align-items:center; gap:10px; margin-top:20px; font-size:.85rem; color: var(--lr-on-navy-mut); }
.lr-reviews-line .stars { color: var(--lr-gold-light); letter-spacing:2px; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.lr-footer { background: var(--lr-navy-deep); color: var(--lr-on-navy); padding-block: 56px 28px; }
.lr-footer__grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap:40px; }
.lr-footer__name { font-family:var(--lr-serif); font-size:1.4rem; color:#fff; }
.lr-footer__sub { font-family:var(--lr-mono); font-size:9px; letter-spacing:.25em; color:var(--lr-on-navy-mut); margin:6px 0 18px; text-transform:uppercase; }
.lr-footer__about { font-size:.86rem; color: var(--lr-on-navy-mut); max-width:34ch; margin-bottom:18px; }
.lr-footer__badges { display:flex; flex-wrap:wrap; gap:8px; }
.lr-footer__badge { font-family:var(--lr-mono); font-size:9px; letter-spacing:.06em; padding:5px 9px; border:1px solid rgba(255,255,255,.18); border-radius:4px; color: var(--lr-on-navy-mut); }
.lr-footer__col h4 { font-family:var(--lr-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color: var(--lr-gold-light); margin-bottom:16px; font-weight:600; }
.lr-footer__col li { margin-bottom:10px; }
.lr-footer__col a { font-size:.88rem; color: var(--lr-on-navy-mut); }
.lr-footer__col a:hover { color:#fff; }
.lr-footer__contact li { display:flex; gap:10px; font-size:.86rem; color: var(--lr-on-navy-mut); margin-bottom:12px; }
.lr-footer__lang { display:flex; gap:8px; margin-top:18px; }
.lr-footer__lang a { font-family:var(--lr-mono); font-size:11px; letter-spacing:.08em; color: var(--lr-on-navy-mut); }
.lr-footer__lang a.is-active { color:#fff; }
.lr-footer__bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:40px; padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.lr-footer__legal { display:flex; gap:20px; flex-wrap:wrap; }
.lr-footer__legal a, .lr-footer__copy { font-family:var(--lr-mono); font-size:10.5px; letter-spacing:.06em; color: var(--lr-on-navy-mut); }
.lr-footer__legal a:hover { color:#fff; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .lr-grid--4 { grid-template-columns: repeat(2,1fr); }
  .lr-footer__grid { grid-template-columns: 1fr 1fr; gap:32px; }
}
@media (max-width: 860px) {
  .lr-section { padding-block: 60px; }
  .lr-nav__list { display:none; }
  .lr-navtoggle { display:block; }
  .lr-nav { gap:14px; }
  .lr-header .lr-btn--gold { display:none; }
  .lr-hero__split, .lr-split, .lr-split--wide-left { grid-template-columns: 1fr; gap:36px; }
  .lr-grid--3 { grid-template-columns: 1fr; }
  .lr-grid--2 { grid-template-columns: 1fr; }
  .lr-stats { grid-template-columns: 1fr 1fr; gap:24px; }
  .lr-form__row, .lr-checks, .lr-assesslist { grid-template-columns: 1fr; }
  .lr-newsletter { flex-direction:column; }
  .lr-nav--open .lr-nav__list {
    display:flex; flex-direction:column; align-items:flex-start;
    position:absolute; top:72px; left:0; right:0;
    background: var(--lr-navy); padding:20px var(--lr-gutter);
    border-top:1px solid rgba(255,255,255,.1); gap:6px;
  }
}
@media (max-width: 560px) {
  .lr-grid--4 { grid-template-columns: 1fr; }
  .lr-stats { grid-template-columns: 1fr 1fr; }
  .lr-footer__grid { grid-template-columns: 1fr; }
  .lr-spec__row, .lr-footer__bottom { flex-direction:column; gap:4px; }
}

/* ==========================================================================
   TRUST STRIP (Free Assessment hero)
   ========================================================================== */
.lr-trust { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.lr-trust__item { border:1px solid var(--lr-line); border-radius:9px; padding:14px 20px; background:#fff; min-width:180px; }
.lr-trust__item strong { display:block; font-size:.95rem; color:var(--lr-ink); margin-bottom:3px; }
.lr-trust__item span { font-size:.78rem; color:var(--lr-muted); }

/* "What you get" feature list (icon rows) */
.lr-feature-rows { display:flex; flex-direction:column; gap:8px; }
.lr-feature-row { display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--lr-line-soft); }
.lr-feature-row__ico { width:42px; height:42px; flex:0 0 42px; border-radius:50%; background:var(--lr-cream); display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.lr-feature-row__t { font-weight:600; color:var(--lr-ink); font-size:.96rem; margin-bottom:5px; }
.lr-feature-row__d { font-size:.88rem; }

/* FAQ as plain accordion list (no card) */
.lr-faqlist .lr-faq__item { border:0; border-bottom:1px solid var(--lr-line); border-radius:0; background:transparent; padding-inline:0; }

/* WhatsApp alt button inside form card */
.lr-wa { display:flex; align-items:center; gap:12px; border:1px solid var(--lr-line); border-radius:9px; padding:13px 16px; margin-top:14px; }
.lr-wa__ico { width:34px; height:34px; border-radius:50%; background:#e8f5e9; display:flex; align-items:center; justify-content:center; }
.lr-wa__t { font-weight:600; font-size:.9rem; color:var(--lr-ink); }
.lr-wa__n { font-size:.8rem; color:var(--lr-muted); }

/* self-schedule embed placeholder */
.lr-embed { border:1px solid var(--lr-card-line); border-top:3px solid var(--lr-gold); border-radius:10px; padding:26px; background:#fff; }
.lr-embed__box { background:var(--lr-cream); border-radius:8px; height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--lr-muted); }

/* confidentiality note */
.lr-confnote { font-family:var(--lr-mono); font-size:10px; letter-spacing:.05em; color:var(--lr-muted); text-align:center; margin-top:14px; }

/* sort control */
.lr-sort { display:flex; align-items:center; gap:10px; font-size:.85rem; color:var(--lr-muted); }
.lr-sort select { padding:8px 12px; border:1px solid var(--lr-line); border-radius:7px; font-family:inherit; font-size:.85rem; background:#fff; }

.lr-h4 { font-family: var(--lr-serif); font-size:1.1rem; color: var(--lr-ink); line-height:1.3; }
