/**
 * LawfyCo inner pages — unified design system (practice detail 3.5.3).
 */

.lawfyco-inner-page {
  --inner-bg: #070907;
  --inner-section: #0e1210;
  --inner-card: #141914;
  --inner-card-hover: #1a221a;
  --inner-layer-inset: 0 1px 0 rgb(255 255 255 / 0.06) inset, 0 -1px 0 rgb(0 0 0 / 0.26) inset;
  --inner-gold: #c9a04f;
  --inner-gold-light: #d4b06a;
  --inner-gold-soft: rgb(201 160 79 / 0.14);
  --inner-gold-glow: rgb(201 160 79 / 0.28);
  --inner-text: #f8f7f4;
  --inner-body: #c4c9cf;
  --inner-muted: #9ca3af;
  --inner-max: 1240px;
  --inner-pad: clamp(1.5rem, 4vw, 2.75rem);
  --inner-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --inner-shadow:
    var(--inner-layer-inset),
    0 0 0 1px rgb(255 255 255 / 0.04),
    0 26px 58px -26px rgb(0 0 0 / 0.92),
    0 0 28px -18px rgb(201 160 79 / 0.08);
  --inner-shadow-hover:
    0 1px 0 rgb(255 255 255 / 0.09) inset,
    0 -1px 0 rgb(0 0 0 / 0.18) inset,
    0 0 0 1px rgb(201 160 79 / 0.16),
    0 40px 80px -24px rgb(0 0 0 / 0.95),
    0 0 52px -14px rgb(201 160 79 / 0.26);
  --inner-frame-bg: linear-gradient(168deg, rgb(24 30 24 / 0.92) 0%, rgb(14 18 14 / 0.98) 42%, rgb(8 10 8 / 1) 100%);
  --inner-frame-border: rgb(255 255 255 / 0.11);
  --inner-frame-radius: clamp(1.75rem, 3vw, 2.5rem);
  --inner-frame-radius-sm: clamp(1.25rem, 2.2vw, 1.625rem);
  --inner-frame-shadow:
    0 1px 0 rgb(255 255 255 / 0.08) inset,
    0 -1px 0 rgb(0 0 0 / 0.35) inset,
    0 0 0 1px rgb(201 160 79 / 0.08),
    0 48px 100px -28px rgb(0 0 0 / 0.95),
    0 0 80px -20px rgb(201 160 79 / 0.28);
  --inner-frame-shadow-sm:
    0 1px 0 rgb(255 255 255 / 0.07) inset,
    0 -1px 0 rgb(0 0 0 / 0.32) inset,
    0 0 0 1px rgb(201 160 79 / 0.07),
    0 28px 64px -24px rgb(0 0 0 / 0.94),
    0 0 52px -20px rgb(201 160 79 / 0.22);
}

.lawfyco-inner-page .lawfyco-body,
.lawfyco-inner-page {
  background:
    radial-gradient(ellipse 85% 45% at 50% -5%, rgb(201 160 79 / 0.04), transparent 55%),
    var(--inner-bg);
  color: var(--inner-text);
}

.lawfyco-inner__shell {
  margin-inline: auto;
  max-width: var(--inner-max);
  padding-inline: var(--inner-pad);
  width: 100%;
}

/* ── Hero ── */
.lawfyco-inner-hero {
  border-bottom: 1px solid rgb(255 255 255 / 0.07);
  box-shadow: inset 0 -1px 0 rgb(0 0 0 / 0.2);
  padding-block: clamp(4.5rem, 9vw, 6.5rem);
  padding-top: calc(clamp(4.5rem, 9vw, 6.5rem) + var(--header-height, 5.25rem));
  position: relative;
}

.lawfyco-inner-hero::before {
  background: radial-gradient(ellipse 60% 55% at 72% 0%, rgb(201 160 79 / 0.09), transparent 68%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.lawfyco-inner-hero .lawfyco-inner__shell {
  position: relative;
  z-index: 1;
}

.lawfyco-inner-hero__eyebrow {
  align-items: center;
  color: var(--inner-gold-light);
  display: flex;
  font-size: 0.625rem;
  font-weight: 600;
  gap: 0.75rem;
  letter-spacing: 0.38em;
  margin: 0 0 1.375rem;
  text-shadow: 0 0 18px rgb(201 160 79 / 0.14);
  text-transform: uppercase;
}

.lawfyco-inner-hero__eyebrow::before {
  background: linear-gradient(90deg, var(--inner-gold), rgb(201 160 79 / 0.28));
  box-shadow: 0 0 8px -2px rgb(201 160 79 / 0.45);
  content: "";
  flex-shrink: 0;
  height: 1px;
  width: 1.5rem;
}

.lawfyco-inner-hero__title {
  color: var(--inner-gold);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.042em;
  line-height: 1.02;
  margin: 0 0 0.875rem;
  text-wrap: balance;
}

.lawfyco-inner-hero__subtitle {
  color: rgb(255 255 255 / 0.54);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
  font-style: italic;
  letter-spacing: 0.015em;
  line-height: 1.5;
  margin: 0;
  max-width: 40rem;
}

/* ── Body sections ── */
.lawfyco-inner-body {
  padding-block: clamp(3rem, 6vw, 5rem);
}

.lawfyco-inner-body--narrow {
  max-width: 52rem;
}

/* ── Prose ── */
.lawfyco-prose {
  color: var(--inner-body);
  font-size: 1.0625rem;
  letter-spacing: 0.012em;
  line-height: 1.78;
}

.lawfyco-prose > * + * {
  margin-top: 1.25rem;
}

.lawfyco-prose h2,
.lawfyco-prose h3 {
  color: var(--inner-text);
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin-top: 2rem;
}

.lawfyco-prose h2 {
  font-size: 1.75rem;
}

.lawfyco-prose h3 {
  font-size: 1.375rem;
}

.lawfyco-prose a {
  color: var(--inner-gold-light);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.lawfyco-prose a:hover {
  color: #fff;
}

.lawfyco-prose strong {
  color: var(--inner-text);
}

.lawfyco-prose ul,
.lawfyco-prose ol {
  padding-left: 1.35rem;
}

/* ── Buttons (base styles in buttons.css) ── */
.lawfyco-inner-page .lawfyco-btn {
  letter-spacing: 0.14em;
  padding: 1.0625rem 2rem;
}

.lawfyco-inner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

/* ── Card grids ── */
.lawfyco-card-grid {
  display: grid;
  gap: 1.5rem;
}

.lawfyco-card-grid--team {
  grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
}

.lawfyco-card-grid--practice {
  gap: clamp(1.125rem, 2vw, 1.5rem);
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
}

.lawfyco-card-grid--insights {
  gap: 2rem;
  grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
}

/* ── Team card ── */
.lawfyco-team-card {
  background: linear-gradient(165deg, rgb(28 34 28 / 0.96) 0%, var(--inner-card) 50%, rgb(11 14 11 / 1) 100%);
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 1.5rem;
  box-shadow: var(--inner-shadow);
  color: inherit;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition:
    border-color 0.45s var(--inner-ease),
    transform 0.45s var(--inner-ease),
    box-shadow 0.45s var(--inner-ease);
}

.lawfyco-team-card:hover {
  border-color: rgb(201 160 79 / 0.34);
  box-shadow: var(--inner-shadow-hover);
  transform: translateY(-6px);
}

.lawfyco-team-card::before {
  background: linear-gradient(90deg, var(--inner-gold-light), var(--inner-gold) 45%, transparent 100%);
  content: "";
  height: 2px;
  left: 1.25rem;
  opacity: 0.55;
  position: absolute;
  right: 1.25rem;
  top: 0;
  z-index: 2;
}

.lawfyco-team-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  position: relative;
}

.lawfyco-team-card__media::before {
  background: linear-gradient(180deg, rgb(201 160 79 / 0.14) 0%, transparent 30%);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.lawfyco-team-card__media::after {
  background: linear-gradient(180deg, transparent 50%, rgb(8 10 8 / 0.45) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.lawfyco-team-card__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--inner-ease);
  width: 100%;
}

.lawfyco-team-card:hover .lawfyco-team-card__media img {
  transform: scale(1.05);
}

.lawfyco-team-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem 1.625rem 1.75rem;
}

.lawfyco-team-card__name {
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 0.375rem;
}

.lawfyco-team-card__role {
  color: var(--inner-gold-light);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 0.875rem;
  text-transform: uppercase;
}

.lawfyco-team-card__excerpt {
  color: var(--inner-muted);
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.65;
  margin: 0;
}

.lawfyco-team-card__cta {
  color: var(--inner-gold);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin-top: 1.125rem;
  text-transform: uppercase;
}

/* ── Practice card (archive) ── */
.lawfyco-practice-card {
  background: var(--inner-frame-bg);
  border: 1px solid var(--inner-frame-border);
  border-radius: var(--inner-frame-radius-sm);
  box-shadow: var(--inner-frame-shadow-sm);
  color: inherit;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  padding: 0;
  text-decoration: none;
  transition:
    border-color 0.55s var(--inner-ease),
    transform 0.55s var(--inner-ease),
    box-shadow 0.55s var(--inner-ease);
}

.lawfyco-practice-card:hover,
.lawfyco-practice-card:focus-visible {
  border-color: rgb(201 160 79 / 0.34);
  box-shadow: var(--inner-shadow-hover);
  outline: none;
  transform: translateY(-7px);
}

.lawfyco-practice-card__accent {
  background: linear-gradient(90deg, var(--inner-gold-light), var(--inner-gold) 42%, transparent 100%);
  box-shadow: 0 0 16px -2px rgb(201 160 79 / 0.55);
  height: 2px;
  left: clamp(1rem, 2.5vw, 1.25rem);
  opacity: 0.82;
  position: absolute;
  right: clamp(1rem, 2.5vw, 1.25rem);
  top: 0;
  transform: scaleX(0.88);
  transform-origin: left center;
  transition: transform 0.55s var(--inner-ease);
  z-index: 3;
}

.lawfyco-practice-card:hover .lawfyco-practice-card__accent,
.lawfyco-practice-card:focus-visible .lawfyco-practice-card__accent {
  transform: scaleX(1);
}

.lawfyco-practice-card__media {
  margin: -1px -1px 0;
  overflow: hidden;
  position: relative;
}

.lawfyco-practice-card__media::after {
  background:
    linear-gradient(180deg, transparent 22%, rgb(13 16 13 / 0.72) 68%, rgb(8 10 8 / 0.98) 100%),
    radial-gradient(ellipse 80% 40% at 50% 100%, rgb(201 160 79 / 0.08), transparent 70%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.5s var(--inner-ease);
}

.lawfyco-practice-card__image {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  transition: transform 0.65s var(--inner-ease);
  width: 100%;
}

.lawfyco-practice-card:hover .lawfyco-practice-card__image,
.lawfyco-practice-card:focus-visible .lawfyco-practice-card__image {
  transform: scale(1.05);
}

.lawfyco-practice-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1.25rem 1.375rem 1.375rem;
  position: relative;
  z-index: 1;
}

.lawfyco-practice-card__body::before {
  background: linear-gradient(90deg, rgb(201 160 79 / 0.28), rgb(255 255 255 / 0.06) 55%, transparent 100%);
  content: "";
  height: 1px;
  left: 1.375rem;
  position: absolute;
  right: 1.375rem;
  top: 0;
}

.lawfyco-practice-card__title {
  color: rgb(255 255 255 / 0.96);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(0.9375rem, 1.1vw, 1.03125rem);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 1.3;
  margin: 0;
  text-wrap: balance;
  transition: color 0.4s ease;
}

.lawfyco-practice-card__title::after {
  background: linear-gradient(90deg, var(--inner-gold-light), rgb(201 160 79 / 0.15));
  content: "";
  display: block;
  height: 1px;
  margin-top: 0.625rem;
  opacity: 0.5;
  transition: opacity 0.45s ease, width 0.55s var(--inner-ease);
  width: 1.75rem;
}

.lawfyco-practice-card:hover .lawfyco-practice-card__title,
.lawfyco-practice-card:focus-visible .lawfyco-practice-card__title {
  color: var(--inner-gold-light);
}

.lawfyco-practice-card:hover .lawfyco-practice-card__title::after,
.lawfyco-practice-card:focus-visible .lawfyco-practice-card__title::after {
  opacity: 1;
  width: 2.75rem;
}

.lawfyco-practice-card__excerpt {
  color: rgb(200 206 214 / 0.78);
  font-size: 0.8125rem;
  letter-spacing: 0.008em;
  line-height: 1.65;
  margin: 0;
}

/* ── Single profile layouts ── */
.lawfyco-profile {
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.lawfyco-profile__media {
  border-radius: 1.75rem;
  box-shadow: var(--inner-shadow);
  overflow: hidden;
  position: relative;
}

.lawfyco-profile__media::before {
  background: linear-gradient(90deg, var(--inner-gold), transparent);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.lawfyco-profile__media img {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
}

.lawfyco-profile__eyebrow {
  color: var(--inner-gold-light);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.32em;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.lawfyco-profile__title {
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin: 0 0 0.5rem;
}

.lawfyco-profile__role {
  color: var(--inner-gold);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0 0 1.5rem;
}

/* ── Practice area detail (single) ── */
.lawfyco-practice-page .lawfyco-inner-hero__title {
  color: #fff;
}

.lawfyco-practice-page .lawfyco-inner-hero__title::first-line {
  color: var(--inner-gold-light);
}

.lawfyco-practice-detail__body {
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.lawfyco-practice-detail__shell {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
}

.lawfyco-practice-detail__media {
  border: 1px solid var(--inner-frame-border);
  border-radius: var(--inner-frame-radius);
  box-shadow: var(--inner-frame-shadow);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.lawfyco-practice-detail__media::before {
  background: linear-gradient(90deg, var(--inner-gold-light), var(--inner-gold) 42%, transparent 100%);
  box-shadow: 0 0 20px -2px rgb(201 160 79 / 0.55);
  content: "";
  height: 2px;
  left: clamp(1.5rem, 4vw, 2.5rem);
  opacity: 0.85;
  position: absolute;
  right: clamp(1.5rem, 4vw, 2.5rem);
  top: 0;
  z-index: 2;
}

.lawfyco-practice-detail__media::after {
  background:
    linear-gradient(180deg, transparent 55%, rgb(8 10 8 / 0.55) 100%),
    radial-gradient(ellipse 80% 60% at 50% 0%, rgb(201 160 79 / 0.06), transparent 68%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.lawfyco-practice-detail__image {
  aspect-ratio: 21 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}

.lawfyco-practice-detail__grid {
  align-items: start;
  display: grid;
  gap: clamp(1.75rem, 3.5vw, 2.75rem);
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
}

.lawfyco-practice-detail__frame {
  background: var(--inner-frame-bg);
  border: 1px solid var(--inner-frame-border);
  border-radius: var(--inner-frame-radius);
  box-shadow: var(--inner-frame-shadow);
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2.25rem, 4.5vw, 3.5rem);
  position: relative;
}

.lawfyco-practice-detail__frame::before {
  background: linear-gradient(90deg, var(--inner-gold-light), var(--inner-gold) 42%, transparent 100%);
  box-shadow: 0 0 20px -2px rgb(201 160 79 / 0.55);
  content: "";
  height: 2px;
  left: clamp(1.75rem, 4vw, 2.75rem);
  opacity: 0.85;
  position: absolute;
  right: clamp(1.75rem, 4vw, 2.75rem);
  top: 0;
  z-index: 2;
}

.lawfyco-practice-detail__frame::after {
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgb(201 160 79 / 0.09), transparent 68%);
  border: 1px solid rgb(255 255 255 / 0.04);
  border-radius: inherit;
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.05) inset;
  content: "";
  inset: 0.65rem;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.lawfyco-prose--practice {
  font-size: 1.0625rem;
  letter-spacing: 0.008em;
  line-height: 1.82;
  position: relative;
  z-index: 1;
}

.lawfyco-prose--practice > * + * {
  margin-top: 1.5rem;
}

.lawfyco-prose--practice > p:first-child {
  color: rgb(255 255 255 / 0.94);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.125rem, 1.6vw, 1.3125rem);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.72;
  margin-top: 0;
  padding-left: 1.375rem;
  position: relative;
}

.lawfyco-prose--practice > p:first-child::before {
  background: linear-gradient(180deg, var(--inner-gold-light), var(--inner-gold));
  border-radius: 9999px;
  box-shadow: 0 0 12px -2px rgb(201 160 79 / 0.45);
  content: "";
  height: calc(100% - 0.25rem);
  left: 0;
  min-height: 2.5rem;
  position: absolute;
  top: 0.2rem;
  width: 2px;
}

.lawfyco-prose--practice h2,
.lawfyco-prose--practice h3 {
  margin-top: 2.25rem;
  padding-top: 0.5rem;
  position: relative;
}

.lawfyco-prose--practice h2::before,
.lawfyco-prose--practice h3::before {
  background: linear-gradient(90deg, var(--inner-gold-glow), transparent 80%);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.lawfyco-practice-detail__aside {
  position: relative;
}

.lawfyco-practice-detail__action {
  backdrop-filter: blur(8px);
  background: linear-gradient(155deg, rgb(255 255 255 / 0.04) 0%, rgb(255 255 255 / 0.01) 100%);
  border: 1px solid rgb(255 255 255 / 0.08);
  border-radius: 1.5rem;
  box-shadow:
    0 1px 0 rgb(255 255 255 / 0.05) inset,
    0 20px 48px -28px rgb(0 0 0 / 0.85),
    0 0 48px -20px rgb(201 160 79 / 0.12);
  isolation: isolate;
  overflow: hidden;
  position: sticky;
  top: calc(var(--header-height, 5.25rem) + 1.5rem);
}

.lawfyco-practice-detail__action::before {
  background: linear-gradient(180deg, rgb(201 160 79 / 0.14) 0%, transparent 32%);
  content: "";
  height: 1px;
  left: 1.25rem;
  position: absolute;
  right: 1.25rem;
  top: 0;
  z-index: 1;
}

.lawfyco-practice-detail__action-inner {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  position: relative;
  z-index: 1;
}

.lawfyco-practice-detail__cta-btn {
  font-size: 0.8125rem;
  letter-spacing: 0.16em;
  padding: 1.125rem 1.5rem;
  width: 100%;
}

.lawfyco-practice-detail__assurance {
  border-top: 1px solid rgb(255 255 255 / 0.06);
  color: rgb(255 255 255 / 0.42);
  font-size: 0.75rem;
  font-style: italic;
  letter-spacing: 0.04em;
  line-height: 1.55;
  margin: 0;
  padding-top: 1.25rem;
  position: relative;
  text-align: center;
}

.lawfyco-practice-detail__assurance::before {
  background: linear-gradient(90deg, transparent, rgb(201 160 79 / 0.28), transparent);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.lawfyco-practice-detail__back {
  width: 100%;
}

.lawfyco-practice-detail .lawfyco-closing-cta {
  margin-top: 0;
}

/* ── Insights layout ── */
.lawfyco-insights-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1fr) 18rem;
}

.lawfyco-insights-card {
  background: linear-gradient(165deg, rgb(26 32 26 / 0.96) 0%, var(--inner-card) 50%, rgb(13 16 13 / 1) 100%);
  border: 1px solid rgb(255 255 255 / 0.09);
  border-radius: 1.5rem;
  box-shadow: var(--inner-shadow);
  color: inherit;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  text-decoration: none;
  transition:
    border-color 0.45s var(--inner-ease),
    transform 0.45s var(--inner-ease),
    box-shadow 0.45s var(--inner-ease);
}

.lawfyco-insights-card:hover {
  border-color: rgb(201 160 79 / 0.34);
  box-shadow: var(--inner-shadow-hover);
  transform: translateY(-5px);
}

.lawfyco-insights-card__thumb {
  aspect-ratio: 16 / 9;
  background: var(--inner-section);
  overflow: hidden;
}

.lawfyco-insights-card__thumb img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--inner-ease);
  width: 100%;
}

.lawfyco-insights-card:hover .lawfyco-insights-card__thumb img {
  transform: scale(1.04);
}

.lawfyco-insights-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem 1.625rem 1.75rem;
}

.lawfyco-insights-card__meta {
  color: var(--inner-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.6875rem;
  font-weight: 600;
  gap: 0.5rem 1rem;
  letter-spacing: 0.1em;
  margin: 0 0 0.875rem;
  text-transform: uppercase;
}

.lawfyco-insights-card__title {
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0 0 0.75rem;
}

.lawfyco-insights-card__excerpt {
  color: var(--inner-body);
  flex: 1;
  font-size: 0.9375rem;
  line-height: 1.65;
  margin: 0;
}

.lawfyco-insights-card__read {
  color: var(--inner-gold);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin-top: 1.125rem;
  text-transform: uppercase;
}

/* Single post */
.lawfyco-post-single__meta {
  align-items: center;
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
}

.lawfyco-post-single__meta-item {
  color: var(--inner-muted);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lawfyco-post-single__thumb {
  border-radius: 1.5rem;
  margin-bottom: 2rem;
  overflow: hidden;
}

.lawfyco-post-single__thumb img {
  display: block;
  height: auto;
  width: 100%;
}

.lawfyco-post-author {
  align-items: center;
  display: flex;
  gap: 0.875rem;
}

.lawfyco-post-author__avatar {
  border: 2px solid rgb(201 160 79 / 0.35);
  border-radius: 9999px;
}

.lawfyco-post-author__meta {
  display: grid;
  gap: 0.125rem;
}

.lawfyco-post-author__label {
  color: var(--inner-muted);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.lawfyco-post-author__name {
  color: var(--inner-text);
  font-size: 0.9375rem;
  font-weight: 600;
}

/* Sidebar widgets */
.lawfyco-insights-sidebar {
  display: grid;
  gap: 1.25rem;
  position: sticky;
  top: calc(var(--header-height, 5.25rem) + 1.5rem);
}

.lawfyco-insights-widget {
  background: linear-gradient(155deg, rgb(255 255 255 / 0.025) 0%, rgb(255 255 255 / 0.008) 100%);
  border: 1px solid rgb(255 255 255 / 0.08);
  border-radius: 1.25rem;
  padding: 1.375rem 1.5rem;
}

.lawfyco-insights-widget__title {
  color: var(--inner-gold);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
}

.lawfyco-insights-widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lawfyco-insights-widget li {
  border-bottom: 1px solid rgb(255 255 255 / 0.06);
  margin: 0;
  padding: 0.625rem 0;
}

.lawfyco-insights-widget li:last-child {
  border-bottom: 0;
}

.lawfyco-insights-widget a {
  color: var(--inner-body);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.25s ease;
}

.lawfyco-insights-widget a:hover {
  color: var(--inner-gold-light);
}

.lawfyco-insights-widget .search-form {
  display: grid;
  gap: 0.75rem;
}

.lawfyco-insights-widget .search-field {
  background: #1a211a;
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 0.75rem;
  color: var(--inner-text);
  font-size: 0.875rem;
  padding: 0.75rem 0.875rem;
  width: 100%;
}

.lawfyco-insights-widget .search-field:focus {
  border-color: rgb(201 160 79 / 0.5);
  outline: none;
}

.lawfyco-insights-widget .search-submit {
  background: linear-gradient(145deg, #d4b06a 0%, var(--inner-gold) 52%, #a67c2d 100%);
  border: 0;
  border-radius: 0.75rem;
  color: #0a0c0a;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
}

/* Pagination */
.lawfyco-pagination {
  margin-top: 3rem;
}

.lawfyco-pagination .page-numbers {
  background: rgb(255 255 255 / 0.03);
  border: 1px solid rgb(255 255 255 / 0.08);
  border-radius: 0.625rem;
  color: var(--inner-body);
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 600;
  margin: 0.25rem;
  padding: 0.5rem 0.875rem;
  text-decoration: none;
  transition: border-color 0.25s ease, color 0.25s ease;
}

.lawfyco-pagination .page-numbers.current,
.lawfyco-pagination .page-numbers:hover {
  border-color: rgb(201 160 79 / 0.45);
  color: var(--inner-gold-light);
}

.lawfyco-empty-state {
  background: var(--inner-card);
  border: 1px dashed rgb(255 255 255 / 0.12);
  border-radius: 1.5rem;
  color: var(--inner-muted);
  padding: 3rem 2rem;
  text-align: center;
}

/* ── About page layout ── */
.lawfyco-about-profile {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.lawfyco-about-profile__media {
  border: 1px solid rgb(255 255 255 / 0.09);
  border-radius: 1.75rem;
  box-shadow: var(--inner-shadow);
  overflow: hidden;
  position: relative;
}

.lawfyco-about-profile__media::before {
  background: linear-gradient(90deg, var(--inner-gold), transparent);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.lawfyco-about-profile__image {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
}

.lawfyco-about-prose p {
  color: var(--inner-body);
  font-size: 0.9375rem;
  line-height: 1.72;
  margin: 0 0 1.125rem;
}

.lawfyco-about-prose p:last-child {
  margin-bottom: 0;
}

.lawfyco-about-prose__lead {
  color: rgb(255 255 255 / 0.94);
  font-size: 1.0625rem;
  line-height: 1.68;
}

.lawfyco-about-pillars {
  display: grid;
  gap: 0.875rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.lawfyco-about-pillars__item {
  backdrop-filter: blur(6px);
  background: rgb(255 255 255 / 0.02);
  border: 1px solid rgb(201 160 79 / 0.22);
  border-radius: 1rem;
  color: rgb(201 160 79 / 0.92);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  margin: 0;
  padding: 0.875rem 1rem;
  text-align: center;
  text-transform: uppercase;
  transition:
    background-color 0.4s ease,
    border-color 0.4s ease,
    transform 0.4s var(--inner-ease);
}

.lawfyco-about-pillars__item:hover {
  background: var(--inner-gold-soft);
  border-color: rgb(201 160 79 / 0.45);
  transform: translateY(-2px);
}

.lawfyco-about-actions {
  display: flex;
  justify-content: center;
}

@media (max-width: 900px) {
  .lawfyco-about-profile {
    grid-template-columns: 1fr;
  }

  .lawfyco-about-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .lawfyco-about-pillars {
    grid-template-columns: 1fr;
  }
}

/* Post categories */
.lawfyco-post-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lawfyco-post-categories__tag {
  background: var(--inner-gold-soft);
  border: 1px solid rgb(201 160 79 / 0.28);
  border-radius: 9999px;
  color: var(--inner-gold-light);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 0.375rem 0.75rem;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.lawfyco-post-categories__tag:hover {
  background: rgb(201 160 79 / 0.18);
  border-color: rgb(201 160 79 / 0.45);
  color: #fff;
}

.lawfyco-insights-card .lawfyco-post-categories {
  margin-bottom: 0.75rem;
}

/* Related posts */
.lawfyco-related-posts {
  border-top: 1px solid rgb(255 255 255 / 0.08);
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
}

.lawfyco-related-posts__title {
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0 0 1.5rem;
}

.lawfyco-related-posts__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Legal pages */
.lawfyco-legal-panel {
  background: linear-gradient(155deg, rgb(255 255 255 / 0.025) 0%, rgb(255 255 255 / 0.008) 100%);
  border: 1px solid rgb(255 255 255 / 0.08);
  border-radius: 1.5rem;
  box-shadow: var(--inner-shadow);
  padding: clamp(2rem, 4vw, 3rem);
}

.lawfyco-legal-panel__updated {
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
  color: var(--inner-muted);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0 0 1.75rem;
  padding-bottom: 1.25rem;
  text-transform: uppercase;
}

.lawfyco-legal-prose .lawfyco-legal__lead {
  color: rgb(255 255 255 / 0.92);
  font-size: 1.0625rem;
  line-height: 1.72;
}

.lawfyco-legal-prose h2 {
  color: var(--inner-gold-light);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 2rem 0 0.875rem;
}

.lawfyco-legal-prose h2:first-child {
  margin-top: 0;
}

.lawfyco-legal-prose p {
  color: var(--inner-body);
  font-size: 0.9375rem;
  line-height: 1.72;
  margin: 0 0 1rem;
}

.lawfyco-legal-prose a {
  color: var(--inner-gold-light);
}

/* Panel wrapper for generic pages */
.lawfyco-inner-panel {
  background: linear-gradient(155deg, rgb(255 255 255 / 0.025) 0%, rgb(255 255 255 / 0.008) 100%);
  border: 1px solid rgb(255 255 255 / 0.08);
  border-radius: 1.5rem;
  box-shadow: var(--inner-shadow);
  padding: clamp(2rem, 4vw, 3rem);
}

@media (max-width: 960px) {
  .lawfyco-profile {
    grid-template-columns: 1fr;
  }

  .lawfyco-insights-layout {
    grid-template-columns: 1fr;
  }

  .lawfyco-insights-sidebar {
    position: static;
  }

  .lawfyco-practice-detail__grid {
    grid-template-columns: 1fr;
  }

  .lawfyco-practice-detail__action {
    position: static;
  }

  .lawfyco-practice-detail__image {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 900px) {
  .lawfyco-related-posts__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .lawfyco-inner-actions {
    flex-direction: column;
  }

  .lawfyco-inner-page .lawfyco-btn {
    justify-content: center;
    width: 100%;
  }
}