:root {

  --topbar-height: 2.5rem;

  --nav-height: 6.75rem;

  /* topbar 2.5rem + mainrow 4.25rem */

  --brand-gold: #e5c77e;

  --brand-gold-soft: #f3e7bf;

  --brand-olive: #454731;

  --brand-ink: #231f20;

  --brand-ink-soft: #2f2b2c;

  --brand-cream: #f8f4eb;

  --brand-cream-deep: #efe6d4;

  --brand-line: rgba(229, 199, 126, 0.2);

  --white-soft: rgba(255, 255, 255, 0.76);

  --shadow-soft: 0 24px 60px rgba(22, 18, 18, 0.12);

  --shadow-deep: 0 28px 80px rgba(7, 8, 11, 0.35);

  /* Subpage Compat Variable Fallbacks */
  --gold: var(--brand-gold);
  --gold-dk: #bda36d;
  --ink: var(--brand-ink);
  --olive: var(--brand-olive);
  --cream: var(--brand-cream);
  --cream-deep: var(--brand-cream-deep);
  --muted: #6b6a60;
  --border: rgba(69, 71, 49, 0.12);
  --white: #ffffff;
}



html {

  scroll-behavior: smooth;

  scroll-padding-top: var(--nav-height);

  overflow-x: clip;

  max-width: 100%;

}



.section-anchor {

  display: block;

  visibility: hidden;

  pointer-events: none;

}



body {

  margin: 0;

  font-family: "Source Sans 3", "Adelle Sans", "Segoe UI", sans-serif;

  color: var(--brand-ink);

  background: #fcfbf7;

  overflow-x: clip;

  max-width: 100%;

}



img {

  max-width: 100%;

  display: block;

}



.arabic-text {

  font-family: "Tajawal", "DIN Next LT Arabic", sans-serif;

}



.hero-shell {

  min-height: 100vh;

  padding-top: var(--nav-height);

  overflow: hidden;

  background:

    radial-gradient(circle at 16% 22%, rgba(229, 199, 126, 0.18), transparent 24%),

    radial-gradient(circle at 82% 20%, rgba(229, 199, 126, 0.12), transparent 20%),

    linear-gradient(120deg, rgba(22, 23, 24, 0.95), rgba(21, 19, 17, 0.9) 45%, rgba(52, 53, 37, 0.88) 100%),

    linear-gradient(180deg, #111314 0%, #1b1e1c 56%, #21231d 100%);

}



.hero-shell::before {

  content: "";

  position: absolute;

  inset: 0;

  background-image:

    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),

    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);

  background-size: 120px 120px;

  opacity: 0.35;

  mask-image: linear-gradient(to bottom, transparent, black 20%, black 90%, transparent);

}



/* Circle on the right removed */



.main-navbar {

  position: fixed;

  inset: 0 0 auto 0;

  z-index: 1030;

  display: flex;

  flex-direction: column;

  background: transparent;

  backdrop-filter: none;

  -webkit-backdrop-filter: none;

  transition: background 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;

}



.nav-topbar {

  height: var(--topbar-height);

  background: transparent;

  border-bottom: none;

  align-items: center;

  flex-shrink: 0;

  transition: height 0.3s ease, opacity 0.3s ease;

  opacity: 1;

  overflow: hidden;

}



.nav-mainrow {

  height: 4.25rem;

  flex-shrink: 0;

  overflow: visible;

}



.main-navbar.is-sticky {

  background: rgba(10, 13, 18, 0.97);

  backdrop-filter: blur(18px);

  -webkit-backdrop-filter: blur(18px);

  border-bottom: 1px solid rgba(229, 199, 126, 0.12);

  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);

}



.main-navbar.is-sticky .nav-topbar {

  height: 0;

  opacity: 0;

  border: none;

  padding: 0;

}



.main-navbar.is-sticky .nav-mainrow {

  height: 4.25rem;

}



.brand-pill {

  padding: 0.2rem 0;

  border-radius: 0;

  background: rgba(255, 255, 255, 0.95);

  box-shadow: 0 20px 40px rgba(8, 9, 12, 0.18);

}



.brand-pill img {

  height: 3.4rem;

  width: auto;

}



.nav-link {

  position: relative;

  color: rgba(255, 255, 255, 0.82);

  font-weight: 500;

  font-size: 0.9rem;

  letter-spacing: 0.01em;

  padding: 0.45rem 0.6rem !important;

  transition: color 0.25s ease;

}



.nav-link::after {

  content: "";

  position: absolute;

  left: 0.5rem;

  right: 0.5rem;

  bottom: 0.12rem;

  height: 2px;

  background: var(--brand-gold);

  transform: scaleX(0);

  transform-origin: center;

  transition: transform 0.25s ease;

}



.nav-link:hover,

.nav-link:focus {

  color: #fff;

}



.nav-link:hover::after,

.nav-link:focus::after {

  transform: scaleX(1);

}



.nav-meta {

  gap: 0.85rem;

  align-items: center;

}



.nav-phone {

  display: flex;

  align-items: center;

  gap: 0.9rem;

  padding: 0.2rem 0;

  border-radius: 0;

  color: #fff;

  background: transparent;

  border: 0;

  backdrop-filter: none;

}



.nav-phone small,

.offcanvas-contact small {

  display: inline;

  margin-right: 0.35rem;

  color: rgba(255, 255, 255, 0.55);

  font-size: 0.75rem;

  letter-spacing: 0.07em;

  text-transform: uppercase;

}



.nav-phone-text {

  display: flex;

  align-items: baseline;

  gap: 0.25rem;

  line-height: 1;

}



.nav-phone strong,

.offcanvas-contact a {

  color: var(--brand-gold);

  font-size: 0.9rem;

  font-weight: 700;

}



.offcanvas-contact small {

  display: block;

  margin-right: 0;

}



.phone-icon {

  width: 1.3rem;

  height: 1.3rem;

  border-radius: 0;

  display: grid;

  place-items: center;

  color: var(--brand-gold);

  background: transparent;

  flex-shrink: 0;

}



.phone-icon svg {

  width: 0.95rem;

  height: 0.95rem;

}



.nav-menu-btn {

  width: 3rem;

  height: 3rem;

  border: 0;

  padding: 0;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.18rem;

  flex-direction: column;

  border-radius: 0;

  background: rgba(255, 255, 255, 0.08);

  border: 0;

  color: #fff;

  backdrop-filter: none;

}



.nav-menu-btn span {

  width: 1rem;

  height: 2px;

  border-radius: 0;

  background: currentColor;

}



.hero {

  position: relative;

  z-index: 1;

}



.hero-content {

  min-height: calc(100vh - var(--nav-height));

  padding: 3.5rem 0 4.75rem;

}



.hero-copy {

  max-width: 42rem;

  animation: reveal-up 0.9s ease both;

}



.eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 0.75rem;

  padding: 0;

  background: none;

  border: none;

  border-radius: 0;

  color: var(--brand-gold);

  font-size: 0.72rem;

  font-weight: 600;

  letter-spacing: 0.16em;

  text-transform: uppercase;

}



.eyebrow::before {

  content: "";

  display: block;

  width: 2rem;

  height: 1px;

  background: currentColor;

  flex-shrink: 0;

}



.hero-title {

  margin: 1.3rem 0 1.2rem;

  color: #fff;

  font-size: clamp(2.6rem, 6.6vw, 5rem);

  line-height: 1.02;

  letter-spacing: -0.05em;

  max-width: 11ch;

}



.hero-lead {

  max-width: 36rem;

  font-size: clamp(1rem, 1.35vw, 1.16rem);

  line-height: 1.62;

  color: rgba(255, 255, 255, 0.72);

}



.hero-actions {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 1.5rem;

  margin-top: 2.2rem;

}



.btn-brand,

.btn-outline-brand,

.cta-btn {

  display: inline-flex;

  align-items: center;

  gap: 0.55rem;

  padding: 0.92rem 2.2rem;

  border-radius: 0;

  font-weight: 600;

  font-size: 0.8rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;

}



.btn-brand {

  color: var(--brand-ink);

  background: var(--brand-gold);

  border: 1px solid var(--brand-gold);

  box-shadow: 0 8px 28px rgba(229, 199, 126, 0.2);

}



.btn-brand:hover,

.btn-brand:focus {

  color: var(--brand-ink);

  background: #f2d98a;

  border-color: #f2d98a;

  transform: translateY(-2px);

  box-shadow: 0 18px 44px rgba(229, 199, 126, 0.36);

}



.btn-outline-brand {

  color: rgba(255, 255, 255, 0.85);

  border: 1px solid rgba(229, 199, 126, 0.38);

  background: transparent;

}



.btn-outline-brand::after {

  content: "→";

  font-size: 1em;

  transition: transform 0.25s ease;

  display: inline-block;

}



.btn-outline-brand:hover,

.btn-outline-brand:focus {

  color: var(--brand-gold);

  border-color: var(--brand-gold);

  background: rgba(229, 199, 126, 0.06);

  transform: translateY(-2px);

}



.btn-outline-brand:hover::after,

.btn-outline-brand:focus::after {

  transform: translateX(5px);

}



.hero-stats {

  display: flex;

  align-items: flex-start;

  gap: 0;

  margin-top: 2.8rem;

  max-width: 44rem;

}



.hero-stat {

  flex: 1;

  padding: 0 2.5rem 0 0;

  background: none;

  border: none;

  border-radius: 0;

  backdrop-filter: none;

  box-shadow: none;

}



.hero-stat {

  padding-left: 2.5rem;

  border-left: 1px solid rgba(229, 199, 126, 0.3);

}



.hero-stat-number {

  display: block;

  color: var(--brand-gold);

  font-size: clamp(2.4rem, 4.6vw, 3.8rem);

  font-weight: 700;

  letter-spacing: -0.04em;

  line-height: 1;

  margin-bottom: 0;

}



.hero-stat::after {

  content: "";

  display: block;

  height: 2px;

  width: 2rem;

  background: var(--brand-gold);

  opacity: 0.6;

  margin: 0.65rem 0 0.6rem;

  border-radius: 1px;

  animation: stat-line-in 0.8s ease both;

}



@keyframes stat-line-in {

  from {

    width: 0;

    opacity: 0;

  }



  to {

    width: 2rem;

    opacity: 0.6;

  }

}



.hero-stat-label {

  display: block;

  color: rgba(255, 255, 255, 0.55);

  font-size: 0.78rem;

  font-weight: 500;

  line-height: 1.5;

  text-transform: uppercase;

  letter-spacing: 0.09em;

  max-width: 14ch;

}



.hero-visual {

  position: relative;

  min-height: 39rem;

}



.visual-backdrop {

  position: absolute;

  inset: 2.5rem 1rem 1rem 4rem;

  border-radius: 2rem;

  border: 0;

  background:

    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),

    linear-gradient(135deg, rgba(229, 199, 126, 0.05), transparent 40%);

  box-shadow: var(--shadow-deep);

  transform: perspective(1200px) rotateY(-11deg);

}



.hero-brand-card,

.hero-floating {

  position: absolute;

  border: 0;

  backdrop-filter: blur(16px);

  box-shadow: var(--shadow-deep);

}



.hero-brand-card {

  top: 5rem;

  left: 0;

  width: min(89%, 32rem);

  padding: 1.5rem;

  border-radius: 2rem;

  background: rgba(248, 244, 235, 0.96);

  animation: reveal-up 1.05s ease 0.16s both;

}



.panel-kicker,

.floating-label,

.section-tag,

.section-tag-dark {

  display: inline-flex;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  font-size: 0.75rem;

  font-weight: 700;

}



.panel-kicker {

  margin-bottom: 1rem;

  color: var(--brand-olive);

}



.hero-brand-card img {

  width: 100%;

  border-radius: 1.45rem;

}



.hero-panel-text {

  margin: 1rem 0 0;

  color: #5e554e;

  line-height: 1.6;

  font-size: 1rem;

}



.hero-floating {

  max-width: 16rem;

  padding: 1rem 1.1rem;

  border-radius: 1.45rem;

  background: rgba(28, 29, 26, 0.78);

  color: #fff;

}



.hero-floating-top {

  top: 1rem;

  right: 0;

  animation: reveal-up 0.95s ease 0.34s both;

}



.hero-floating-bottom {

  right: 1rem;

  bottom: 1.25rem;

  max-width: 18rem;

  animation: reveal-up 0.95s ease 0.48s both;

}



.floating-label {

  color: rgba(229, 199, 126, 0.88);

  margin-bottom: 0.6rem;

}



.hero-floating strong {

  font-size: 1.1rem;

  line-height: 1.45;

}



.chip-group {

  display: flex;

  flex-wrap: wrap;

  gap: 0.55rem;

}



.hero-chip {

  display: inline-flex;

  padding: 0.45rem 0.8rem;

  border-radius: 0;

  background: rgba(255, 255, 255, 0.09);

  border: 1px solid rgba(255, 255, 255, 0.06);

  color: rgba(255, 255, 255, 0.86);

  font-size: 0.92rem;

}



.hero-orb {

  position: absolute;

  left: 4rem;

  bottom: 0.15rem;

  width: 8.5rem;

  height: 8.5rem;

  border-radius: 0;

  background: radial-gradient(circle at 30% 30%, rgba(245, 223, 164, 0.96), rgba(229, 199, 126, 0.18));

  box-shadow: 0 0 0 1px rgba(229, 199, 126, 0.15), 0 0 60px rgba(229, 199, 126, 0.18);

  animation: pulse-glow 8s ease-in-out infinite;

}



.section-pad {

  padding: 6.2rem 0;

}



.section-light {

  background: #fcfbf7;

}

.section-lights {

  background: #f7f6f2;

}



.section-ink {

  background:

    linear-gradient(180deg, #1d1b1b 0%, #201f1a 52%, #2a2d21 100%);

}



.section-insights {

  background:

    radial-gradient(circle at right top, rgba(229, 199, 126, 0.09), transparent 20%),

    #fcfbf7;

}



.section-tag {

  margin-bottom: 1rem;

  color: var(--brand-olive);

}



.section-tag-dark {

  margin-bottom: 1rem;

  color: rgba(35, 31, 32, 0.7);

}



.text-gold {

  color: #fff;

}



.section-title {

  margin: 0;

  font-size: clamp(2.2rem, 5vw, 3.6rem);

  line-height: 1.02;

  letter-spacing: -0.04em;

}



.section-copy {

  margin: 0;

  color: #655b54;

  font-size: 1.08rem;

  line-height: 1.7;

}



/* ── Feature section ── */

.feat-section {

  background: #f0ece4;

  padding: 2.5rem 0;

}



.feat-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 0.75rem;

  color: var(--brand-olive);

  font-size: 0.72rem;

  font-weight: 600;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  margin-bottom: 0.7rem;

}



.feat-eyebrow::before {

  content: "";

  display: block;

  width: 2rem;

  height: 1px;

  background: currentColor;

  flex-shrink: 0;

}



.feat-title {

  color: var(--brand-ink);

  max-width: 18ch;

}



.feat-lead {

  margin: 0;

  color: #7a6f66;

  font-size: 1rem;

  line-height: 1.75;

}



/* ── Feature cards ── */

.feature-card {

  height: 100%;

  background: #252820;

  border-radius: 0.85rem;

  padding: 2.2rem 2rem 2.4rem;

  position: relative;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  transition: transform 0.32s ease, box-shadow 0.32s ease;

}



.feature-card::after {

  content: "";

  position: absolute;

  inset: 0 0 auto 0;

  height: 1px;

  background: rgba(229, 199, 126, 0.15);

}



.feature-card:hover {

  transform: translateY(-5px);

  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.28);

}



.feature-rule {

  width: 2rem;

  height: 2px;

  background: var(--brand-gold);

  border-radius: 1px;

  margin-bottom: 1.2rem;

  transition: width 0.35s ease;

}



.feature-card:hover .feature-rule {

  width: 4rem;

}



.feature-card h3 {

  color: #fff;

  font-size: 1.3rem;

  font-weight: 700;

  letter-spacing: -0.02em;

  line-height: 1.25;

  margin-bottom: 0.65rem;

}



.feature-card p {

  margin: 0;

  color: rgba(255, 255, 255, 0.55);

  font-size: 0.95rem;

  line-height: 1.78;

  flex: 1;

}



.feature-more {

  display: inline-flex;

  align-items: center;

  gap: 0.4rem;

  margin-top: 1.2rem;

  color: var(--brand-gold);

  font-size: 0.78rem;

  font-weight: 600;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  opacity: 0.7;

  transition: opacity 0.25s ease, gap 0.25s ease;

}



.feature-card:hover .feature-more {

  opacity: 1;

  gap: 0.7rem;

}



/* Gold accent card */

.feature-card--gold {

  background: linear-gradient(145deg, #c49b32 0%, #e5c77e 50%, #d4a843 100%);

}



.feature-card--gold::after {

  background: rgba(255, 255, 255, 0.25);

}



.feature-card--gold .feature-rule {

  background: rgba(35, 31, 32, 0.35);

}



.feature-card--gold h3 {

  color: var(--brand-ink);

}



.feature-card--gold p {

  color: rgba(35, 31, 32, 0.65);

}



.feature-card--gold .feature-more {

  color: var(--brand-ink);

  opacity: 0.6;

}



.feature-card--gold:hover .feature-more {

  opacity: 1;

}



/* ── Other shared cards ── */

.practice-card,

.insight-card,

.about-visual {

  height: 100%;

  border-radius: 1rem;

  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;

}



.insight-card {

  padding: 1.6rem;

  background: #fff;

  border: 1px solid rgba(35, 31, 32, 0.08);

  box-shadow: var(--shadow-soft);

}



.practice-card:hover,

.insight-card:hover,

.about-visual:hover {

  transform: translateY(-0.35rem);

}



.insight-card:hover {

  border-color: rgba(229, 199, 126, 0.4);

}



.practice-icon {

  display: inline-flex;

  width: 3rem;

  height: 3rem;

  align-items: center;

  justify-content: center;

  border-radius: 0;

  font-weight: 700;

  margin-bottom: 1.15rem;

}



.practice-card h3,

.insight-card h3 {

  margin-bottom: 0.75rem;

  font-size: 1.55rem;

  letter-spacing: -0.02em;

}



.practice-card p,

.insight-card p,

.about-point span,

.cta-copy {

  margin: 0;

  line-height: 1.7;

  color: #675e57;

}



.practice-card {

  padding: 1.75rem;

  background: transparent;

  border: 0;

  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);

}



.practice-icon {

  color: #fff;

  background: rgba(229, 199, 126, 0.1);

  border: 1px solid rgba(229, 199, 126, 0.2);

}



.practice-card h3 {

  color: #fff;

}



.practice-card p {

  color: rgba(255, 255, 255, 0.68);

}



.about-visual {

  padding: 1.75rem;

  background:

    linear-gradient(150deg, rgba(239, 230, 212, 0.7), rgba(255, 255, 255, 0.98));

  border: 1px solid rgba(35, 31, 32, 0.08);

  box-shadow: var(--shadow-soft);

}



.about-visual img {

  width: 100%;

  border-radius: 1rem;

}



.about-points {

  display: grid;

  gap: 1rem;

}



.about-point {

  display: grid;

  gap: 0.3rem;

  padding: 1rem 1.1rem;

  border-radius: 1rem;

  background: #fff;

  border: 1px solid rgba(35, 31, 32, 0.07);

  box-shadow: var(--shadow-soft);

}



.about-point strong {

  font-size: 1.06rem;

}



.insight-meta {

  display: inline-flex;

  margin-bottom: 0.9rem;

  color: var(--brand-olive);

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.1em;

  font-size: 0.74rem;

}



.cta-band {

  background:

    linear-gradient(135deg, var(--brand-gold) 0%, #edd99e 50%, #f1e4bb 100%);

}



.cta-title {

  margin: 0 0 0.8rem;

  color: var(--brand-ink);

  font-size: clamp(2.2rem, 5vw, 3.4rem);

  line-height: 1;

  letter-spacing: -0.04em;

}



.cta-copy {

  color: rgba(35, 31, 32, 0.78);

  max-width: 46rem;

}



.cta-btn {

  background: var(--brand-ink);

  border: 1px solid var(--brand-ink);

  color: #fff;

}



.cta-btn:hover,

.cta-btn:focus {

  background: #111;

  border-color: #111;

  color: #fff;

}



.site-footer {

  padding: 1.45rem 0;

  background: var(--brand-ink);

  color: rgba(255, 255, 255, 0.78);

}



.footer-note {

  color: rgba(255, 255, 255, 0.56);

}



.menu-canvas {

  --bs-offcanvas-width: min(72vw, 760px);

  border-left: 1px solid rgba(255, 255, 255, 0.14);

  background:

    radial-gradient(circle at 45% 45%, rgba(229, 199, 126, 0.13), transparent 36%),

    linear-gradient(120deg, rgba(8, 11, 17, 0.98), rgba(20, 18, 15, 0.96) 48%, rgba(8, 12, 20, 0.98) 100%);

  color: #fff;

}



.offcanvas-backdrop.show {

  opacity: 0.14;

}



.menu-canvas .offcanvas-body {

  display: flex;

  flex-direction: column;

  gap: 1.15rem;

  padding: clamp(1.4rem, 2.8vw, 2.3rem) clamp(1.2rem, 3.9vw, 2.6rem);

}



.menu-header-row {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 1rem;

}



.menu-brand {

  display: inline-flex;

  text-decoration: none;

}



.menu-brand img {

  width: auto;

  height: clamp(4.5rem, 8vw, 6rem);

  max-width: 100%;

  object-fit: contain;

  object-position: center;

  mix-blend-mode: multiply;

}



.menu-close {

  width: 2.85rem;

  height: 2.85rem;

  border: 0;

  padding: 0;

  border-radius: 0;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  position: relative;

  background: transparent;

  color: #fff;

}



.menu-close span {

  position: absolute;

  width: 1.6rem;

  height: 2px;

  background: #fff;

  border-radius: 0;

}



.menu-close span:first-child {

  transform: rotate(45deg);

}



.menu-close span:last-child {

  transform: rotate(-45deg);

}



.menu-divider {

  height: 1px;

  background: rgba(255, 255, 255, 0.2);

}



.menu-section {

  display: grid;

  gap: 1rem;

}



.menu-title {

  margin: 0;

  font-size: clamp(1.45rem, 2.5vw, 1.9rem);

  line-height: 1.1;

}



.menu-practice-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 0.65rem 2.2rem;

}



.menu-practice-list,

.menu-contact-list {

  list-style: none;

  margin: 0;

  padding: 0;

  display: grid;

}



.menu-practice-list {

  gap: 0.62rem;

}



.menu-contact-list {

  gap: 0.95rem;

}



.menu-practice-list li,

.menu-contact-list li {

  display: flex;

  align-items: flex-start;

  gap: 0.72rem;

  color: rgba(255, 255, 255, 0.9);

  font-size: clamp(1rem, 1.35vw, 1.1rem);

  line-height: 1.4;

}



.menu-check {

  display: inline-flex;

  color: #efb443;

  font-weight: 700;

  line-height: 1.1;

  margin-top: 0.1rem;

}



.menu-check::before {

  content: "\2713";

}



.menu-check-clock::before {

  content: "\25D4";

}



.menu-contact-list a {

  color: #fff;

  text-decoration: none;

}



.menu-contact-list a:hover,

.menu-contact-list a:focus {

  color: #fff;

}



.menu-quick-links {

  display: flex;

  flex-wrap: wrap;

  gap: 0.6rem 0.75rem;

}



.menu-quick-links a {

  display: inline-flex;

  padding: 0.45rem 0.82rem;

  border-radius: 0;

  border: 1px solid rgba(255, 255, 255, 0.2);

  background: transparent;

  color: rgba(255, 255, 255, 0.9);

  text-decoration: none;

  font-size: 0.9rem;

  font-weight: 600;

}



.menu-quick-links a:hover,

.menu-quick-links a:focus {

  color: #fff;

  border-color: rgba(229, 199, 126, 0.55);

  background: rgba(229, 199, 126, 0.1);

}



@keyframes reveal-up {

  from {

    opacity: 0;

    transform: translateY(1.5rem);

  }



  to {

    opacity: 1;

    transform: translateY(0);

  }

}



@keyframes float-orbit {



  0%,

  100% {

    transform: translateY(0) rotate(18deg);

  }



  50% {

    transform: translateY(-1.2rem) rotate(10deg);

  }

}



@keyframes pulse-glow {



  0%,

  100% {

    transform: scale(1);

    opacity: 0.95;

  }



  50% {

    transform: scale(1.06);

    opacity: 1;

  }

}



@media (max-width: 1199.98px) {

  :root {

    --nav-height: 5.95rem;

  }



  .main-navbar {

    background: transparent;

    backdrop-filter: none;

    -webkit-backdrop-filter: none;

  }



  .main-navbar.is-sticky {

    background: rgba(10, 13, 18, 0.97);

    backdrop-filter: blur(18px);

    -webkit-backdrop-filter: blur(18px);

  }



  .hero-content {

    min-height: auto;

    padding-top: 2.25rem;

  }



  .hero-title {

    max-width: 100%;

  }

}



@media (max-width: 991.98px) {

  .hero-stats {

    gap: 0;

  }



  .hero-visual {

    min-height: auto;

  }



  .visual-backdrop {

    inset: 0.5rem;

    transform: none;

  }



  .hero-brand-card,

  .hero-floating {

    position: relative;

    top: auto;

    right: auto;

    bottom: auto;

    left: auto;

    width: 100%;

    max-width: none;

    margin-bottom: 1rem;

  }



  .hero-orb {

    right: 1rem;

    left: auto;

    bottom: -1rem;

  }



  .section-pad {

    padding: 5rem 0;

  }

}



@media (max-width: 767.98px) {

  .menu-canvas {

    --bs-offcanvas-width: 100vw;

  }



  .menu-brand img {

    width: min(250px, 78%);

  }



  .menu-practice-grid {

    grid-template-columns: 1fr;

    gap: 0.8rem;

  }



  .menu-title {

    font-size: clamp(1.5rem, 6vw, 2rem);

  }



  .hero-stats {
    flex-direction: column;
    align-items: stretch;
    max-width: 22rem;
    padding: 1rem 0.5rem;
    gap: 0;
  }

  .hero-stat {
    padding: 0.75rem 1.5rem;
  }

  .hero-stat+.hero-stat {
    padding-left: 1.5rem;
    border-left: none !important;
    border-top: 1px solid rgba(229, 199, 126, 0.28) !important;
    padding-top: 0.75rem;
  }

}



@media (max-width: 575.98px) {

  :root {

    --nav-height: 5.35rem;

  }



  .brand-pill {

    padding: 0.45rem 0.65rem;

  }



  .brand-pill img {

    height: 2.65rem;

  }



  .hero-title {

    font-size: clamp(2.15rem, 11vw, 2.95rem);

  }



  .section-title,

  .cta-title {

    line-height: 1.06;

  }

}

























/* Corrective style pass: keep phone block flat, keep cards rounded like reference */

.main-navbar.is-sticky {

  backdrop-filter: blur(14px);

}



.brand-pill {

  padding: 0.65rem 1rem;

  border-radius: 999px;

}



.nav-phone {

  padding: 0.2rem 0;

  border-radius: 0;

  background: transparent;

  border: 0;

  backdrop-filter: none;

}



.phone-icon {

  width: 1.7rem;

  height: 1.7rem;

  border-radius: 0;

  color: #fff;

  background: transparent;

}



.nav-menu-btn {

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.08);

  background: rgba(255, 255, 255, 0.08);

  backdrop-filter: blur(14px);

}



.nav-menu-btn span {

  border-radius: 999px;

}



.btn-brand,

.btn-outline-brand,

.cta-btn {

  border-radius: 0;

}



.hero-stat-number {

  color: var(--brand-gold);

}



.visual-backdrop {

  border: 1px solid rgba(255, 255, 255, 0.08);

}



.hero-brand-card,

.hero-floating {

  border: 1px solid rgba(255, 255, 255, 0.08);

}



.hero-floating {

  border-radius: 1.55rem;

}



.hero-chip {

  border-radius: 999px;

}



.hero-orb {

  border-radius: 50%;

}



.practice-card,

.insight-card,

.about-visual {

  border-radius: 1.35rem;

}



.practice-icon {

  border-radius: 50%;

}



.practice-card {

  background: rgba(255, 255, 255, 0.06);

  border: 1px solid rgba(255, 255, 255, 0.08);

}



.practice-icon {

  color: var(--brand-gold);

}



.menu-close {

  border-radius: 50%;

}



.menu-close span {

  border-radius: 999px;

}



.menu-contact-list a:hover,

.menu-contact-list a:focus {

  color: var(--brand-gold);

}



.menu-quick-links a {

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.06);

}



.eyebrow {

  border: none;

}



@media (max-width: 575.98px) {

  .brand-pill {

    padding: 0.45rem 0.65rem;

  }



  .brand-pill img {

    height: 2.65rem;

  }

}



.brand-pill img {

  width: 88%;

  height: 88%;

  object-fit: contain;

  object-position: center 42%;

  transform: scale(1.58);

}





/* Navbar logo clarity override */

.main-navbar .brand-pill {

  width: 8.2rem;

  height: 8.2rem;

  padding: 0;

  border-radius: 50%;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

}



.main-navbar .brand-pill img {

  width: 88%;

  height: 88%;

  object-fit: contain;

  object-position: center 42%;

  transform: scale(1.58);

}



/* ── About Split Section ── */

.about-split {

  background: #eee9e0;

  padding: 5rem 0;

  position: relative;

  z-index: 1;

}



.abt-col-left {

  border-radius: 1.25rem;

  overflow: hidden;

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.10);

}



.abt-img-wrap {

  overflow: hidden;

  line-height: 0;

}



.abt-img {

  width: 100%;

  height: 25rem;

  object-fit: cover;

  object-position: center 20%;

  display: block;

}



.abt-stat {

  display: flex;

  align-items: center;

  gap: 1rem;

  background: #fff;

  padding: 1.25rem 1.75rem;

}



.abt-stat-num {

  font-size: 1.5rem;

  font-weight: 800;

  color: var(--brand-ink);

  letter-spacing: -0.04em;

  white-space: nowrap;

}



.abt-stat-text {

  font-size: 0.88rem;

  color: #7a7168;

  line-height: 1.55;

}



.abt-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 0.7rem;

  color: var(--brand-gold);

  font-size: 0.7rem;

  font-weight: 700;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  margin-bottom: 1.2rem;

}



.abt-eyebrow::before {

  content: "—";

  color: var(--brand-gold);

}



.abt-heading,
.abt-heading-main,
.car-intro-title,
.exp-hero-title,
.ind-hero-title,
.why-cell-heading {

  font-size: clamp(1.9rem, 3.5vw, 2.75rem);

  font-weight: 400;

  font-family: 'Outfit', sans-serif;

  letter-spacing: -0.01em;
  line-height: 1.1;




  color: var(--brand-ink);

  margin-bottom: 1.2rem;

  max-width: 18ch;

}



.abt-body {

  font-size: 1rem;

  color: #6b6259;

  line-height: 1.75;

  margin-bottom: 2rem;

  max-width: 48ch;

}



.abt-tags {

  display: flex;

  flex-wrap: wrap;

  gap: 0.6rem;

}



.abt-tag {

  display: inline-block;

  padding: 0.5rem 1.1rem;

  border-radius: 999px;

  border: 1px solid rgba(35, 31, 32, 0.2);

  background: transparent;

  color: var(--brand-ink);

  font-size: 0.83rem;

  font-weight: 500;

  transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease;

  cursor: default;

}



.abt-tag:hover {

  background: var(--brand-ink);

  border-color: var(--brand-ink);

  color: var(--brand-gold);

}



@media (max-width: 991.98px) {

  .abt-img {

    height: 18rem;

  }



  .about-split {

    padding: 3.5rem 0;

  }



  .abt-heading,
  .abt-heading-main,
  .car-intro-title,
  .exp-hero-title,
  .ind-hero-title,
  .why-cell-heading {
    font-size: 1.8rem;
  }

}



@media (max-width: 575.98px) {

  .main-navbar .brand-pill {

    width: 5.6rem;

    height: 5.6rem;

    padding: 0;

  }



  .main-navbar .brand-pill img {

    width: 88%;

    height: 88%;

    object-fit: contain;

    object-position: center 42%;

    transform: scale(1.5);

  }

}



/* Final navbar logo: vertical (no circle) */

.main-navbar .brand-pill {

  width: auto;

  height: auto;

  padding: 0;

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  overflow: visible;

}



.main-navbar .brand-pill img {

  width: auto;

  height: 4.9rem;

  max-width: none;

  object-fit: contain;

  object-position: center;

  transform: none;

}



@media (max-width: 575.98px) {

  .main-navbar .brand-pill img {

    width: auto;

    height: 3.7rem;

    transform: none;

  }

}



.menu-practice-grid,

.menu-practice-list,

.menu-quick-links {

  display: none !important;

}





/* Final logo style to match reference (horizontal lockup) */

.main-navbar .brand-pill {

  width: auto;

  height: auto;

  padding: 0;

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  overflow: visible;

  display: inline-flex;

  align-items: center;

}



.main-navbar .brand-pill img {

  width: auto;

  height: 5rem;

  max-width: min(34vw, 460px);

  object-fit: contain;

  object-position: left center;

  transform: none;

  mix-blend-mode: multiply;

}



.menu-brand img {

  width: auto;

  height: 5.4rem;

  max-width: min(86%, 420px);

  object-fit: contain;

  object-position: left center;

  mix-blend-mode: multiply;

}



@media (max-width: 991.98px) {

  .main-navbar .brand-pill img {

    height: 4rem;

    max-width: min(52vw, 360px);

  }

}



@media (max-width: 575.98px) {

  .main-navbar .brand-pill img {

    height: 3.15rem;

    max-width: 230px;

  }



  .menu-brand img {

    height: 4.5rem;

    max-width: 88%;

  }

}

/* ──────────────────────────────────────────────────────────
   Boxed Industry Cards & View All Action Styles
   ────────────────────────────────────────────────────────── */
.industry-card-boxed {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(229, 199, 126, 0.28);
  border-radius: 1.25rem;
  padding: 2.2rem 1.8rem 1.8rem 1.8rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 30px rgba(22, 18, 18, 0.03);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
  z-index: 1;
}

.industry-card-boxed::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 3px;
  background: linear-gradient(90deg, var(--brand-gold), var(--brand-olive));
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.35s ease;
  transform: scaleX(0.5);
  transform-origin: center;
}

.industry-card-boxed:hover::before {
  opacity: 1;
  transform: scaleX(1);
}

.industry-card-boxed:hover {
  transform: translateY(-8px);
  border-color: var(--brand-gold);
  box-shadow: 0 22px 50px rgba(35, 31, 32, 0.09);
  background: #ffffff;
}

.industry-icon-boxed {
  width: 3.6rem;
  height: 3.6rem;
  background: rgba(229, 199, 126, 0.12);
  border: 1px solid rgba(229, 199, 126, 0.3);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-ink);
  margin-bottom: 1.5rem;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  flex-shrink: 0;
}

.industry-icon-boxed svg {
  width: 1.8rem;
  height: 1.8rem;
  stroke-width: 1.8;
  transition: transform 0.35s ease;
}

.industry-card-boxed:hover .industry-icon-boxed {
  background: var(--brand-ink);
  color: var(--brand-gold);
  border-color: var(--brand-ink);
  transform: scale(1.08) rotate(3deg);
}

.industry-card-boxed h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 1.22rem;
  font-weight: 600;
  color: var(--brand-ink);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.industry-card-boxed p {
  font-size: 0.93rem;
  color: #595450;
  line-height: 1.62;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

.industry-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--brand-gold);
  text-decoration: none;
  transition: color 0.3s ease;
  margin-top: auto;
}

.industry-card-link svg {
  width: 1rem;
  height: 1rem;
  transition: transform 0.3s ease;
}

.industry-card-boxed:hover .industry-card-link {
  color: var(--brand-ink);
}

.industry-card-boxed:hover .industry-card-link svg {
  transform: translateX(5px);
}

/* View All Buttons */
.btn-view-all {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 1.6rem;
  border-radius: 999px;
  border: 1px solid var(--brand-gold);
  background: transparent;
  color: var(--brand-ink);
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  white-space: nowrap;
}

.btn-view-all svg {
  width: 1.1rem;
  height: 1.1rem;
  transition: transform 0.3s ease;
}

.btn-view-all:hover {
  background: var(--brand-ink);
  color: var(--brand-gold);
  border-color: var(--brand-ink);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(35, 31, 32, 0.12);
}

.btn-view-all:hover svg {
  transform: translateX(4px);
}

.btn-explore-all {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.95rem 2.4rem;
  border-radius: 999px;
  background: var(--brand-ink);
  color: var(--brand-gold);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 12px 30px rgba(35, 31, 32, 0.12);
}

.btn-explore-all svg {
  width: 1.15rem;
  height: 1.15rem;
  transition: transform 0.3s ease;
}

.btn-explore-all:hover {
  background: var(--brand-gold);
  color: var(--brand-ink);
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(229, 199, 126, 0.32);
}

.btn-explore-all:hover svg {
  transform: translateX(6px);
}

/* ──────────────────────────────────────────────────────────
   Universal Inner Page Hero Shell (.page-hero-shell)
   ────────────────────────────────────────────────────────── */
.page-hero-shell,
.expertise-page-hero-shell,
.careers-page-hero-shell,
.industries-page-hero-shell,
.contact-page-hero-shell,
.people-page-hero-shell,
.abt-page-hero-shell,
.comm-hero-shell,
.ma-hero-shell,
.practice-hero-shell {
  position: relative;
  background-color: #111314;
  padding-top: calc(var(--nav-height) + 3.25rem);
  padding-bottom: 4.75rem;
  color: #ffffff;
  overflow: hidden;
  isolation: isolate;
}

/* Background image media container */
.page-hero-bg,
.page-hero-shell > .hero-bg-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

/* Background image placed as <img> */
.page-hero-bg img,
.page-hero-bg-img,
.page-hero-shell > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  pointer-events: none;
}

/* Primary dark gradient & soft gold glow overlay */
.page-hero-shell::before,
.expertise-page-hero-shell::before,
.careers-page-hero-shell::before,
.industries-page-hero-shell::before,
.contact-page-hero-shell::before,
.people-page-hero-shell::before,
.abt-page-hero-shell::before,
.comm-hero-shell::before,
.ma-hero-shell::before,
.practice-hero-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 30%, rgba(229, 199, 126, 0.14), transparent 48%),
    linear-gradient(135deg, rgba(12, 14, 13, 0.90) 0%, rgba(20, 23, 20, 0.88) 50%, rgba(35, 38, 30, 0.89) 100%);
  pointer-events: none;
  z-index: 1;
}

/* Subtle architectural grid pattern overlay */
.page-hero-shell::after,
.expertise-page-hero-shell::after,
.careers-page-hero-shell::after,
.industries-page-hero-shell::after,
.contact-page-hero-shell::after,
.people-page-hero-shell::after,
.abt-page-hero-shell::after,
.comm-hero-shell::after,
.ma-hero-shell::after,
.practice-hero-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 100px 100px;
  opacity: 0.38;
  mask-image: linear-gradient(to bottom, transparent, black 15%, black 85%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 15%, black 85%, transparent);
  pointer-events: none;
  z-index: 1;
}

/* Content layer sits comfortably above the background & overlay */
.page-hero-shell > :not(.page-hero-bg):not(.hero-bg-media):not(.page-hero-bg-img):not(img) {
  position: relative;
  z-index: 2;
}

.breadcrumb-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1.25rem;
}

.breadcrumb-nav a {
  color: var(--brand-gold);
  text-decoration: none;
  transition: color 0.25s ease;
}

.breadcrumb-nav a:hover {
  color: #ffffff;
}

.page-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2.2rem, 4.5vw, 3.8rem);
  font-weight: 500;
  line-height: 1.1;
  color: #ffffff;
  margin-bottom: 1rem;
}

.page-hero-lead {
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  color: rgba(255, 255, 255, 0.78);
  max-width: 44rem !important;
  line-height: 1.65;
  margin-bottom: 0;
}

/* Filter Nav Tabs */
.industry-filter-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-bottom: 3.5rem;
}

.industry-filter-btn {
  padding: 0.65rem 1.4rem;
  border-radius: 999px;
  border: 1px solid rgba(35, 31, 32, 0.12);
  background: #ffffff;
  color: var(--brand-ink);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.industry-filter-btn:hover,
.industry-filter-btn.active {
  background: var(--brand-ink);
  color: var(--brand-gold);
  border-color: var(--brand-ink);
  box-shadow: 0 8px 20px rgba(35, 31, 32, 0.1);
}

/* Service Pills inside expanded cards */
.service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.service-pill {
  font-size: 0.76rem;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: rgba(229, 199, 126, 0.12);
  color: var(--brand-ink);
  font-weight: 600;
  border: 1px solid rgba(229, 199, 126, 0.3);
}

/* Credentials Bar */
.industry-stats-bar {
  background: var(--brand-cream);
  border-top: 1px solid rgba(229, 199, 126, 0.3);
  border-bottom: 1px solid rgba(229, 199, 126, 0.3);
  padding: 3rem 0;
}

.stat-item {
  text-align: center;
  padding: 1rem;
}

.stat-number {
  font-family: 'Outfit', sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--brand-ink);
  line-height: 1;
  margin-bottom: 0.35rem;
}

.stat-number span {
  color: var(--brand-gold);
}

.stat-label {
  font-size: 0.88rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #65605b;
}

/* ──────────────────────────────────────────────────────────
   Universal Scroll Animation Engine
   ────────────────────────────────────────────────────────── */
/* ═══════════════════════════════════════════════
   SCROLL REVEAL ANIMATION SYSTEM
   ═══════════════════════════════════════════════ */

/* ── Base hidden state ── */
[data-animate] {
  opacity: 0;
  will-change: opacity, transform, filter;
  transition:
    opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Entrance types ── */
[data-animate="fade-up"] {
  transform: translateY(48px);
}

[data-animate="fade-down"] {
  transform: translateY(-48px);
}

[data-animate="fade-left"] {
  transform: translateX(-60px);
}

[data-animate="fade-right"] {
  transform: translateX(60px);
}

[data-animate="zoom-in"] {
  transform: scale(0.88);
}

[data-animate="flip-up"] {
  transform: perspective(700px) rotateX(22deg) translateY(30px);
}

/* NEW: slide in from far left / right (larger travel, no Y shift) */
[data-animate="slide-left"] {
  transform: translateX(-90px);
}

[data-animate="slide-right"] {
  transform: translateX(90px);
}

/* NEW: scale + bounce pop */
[data-animate="scale-pop"] {
  transform: scale(0.7);
  opacity: 0;
}

/* NEW: blur-in — slides up and unblurs */
[data-animate="blur-in"] {
  transform: translateY(50px);
  filter: blur(10px);
}

/* NEW: skew slide — tilted entry */
[data-animate="skew-up"] {
  transform: translateY(50px) skewY(4deg);
}

/* NEW: clip reveal — wipes from bottom (needs clip-path) */
[data-animate="clip-reveal"] {
  transform: translateY(40px);
  clip-path: inset(0 0 100% 0);
}

/* NEW: flip card — 3D horizontal flip */
[data-animate="flip-card"] {
  transform: perspective(800px) rotateY(40deg) translateX(20px);
  opacity: 0;
}

/* NEW: rotate slide in */
[data-animate="rotate-in"] {
  transform: rotate(-8deg) translateY(40px) scale(0.9);
}

/* ── Revealed state (all types) ── */
[data-animate].is-visible {
  opacity: 1;
  transform: translate(0, 0) scale(1) rotate(0deg) rotateX(0deg) rotateY(0deg) skewY(0deg);
  filter: blur(0px);
  clip-path: inset(0 0 0% 0);
}

/* ── Stagger Delays ── */
[data-delay="50"] {
  transition-delay: 0.05s;
}

[data-delay="100"] {
  transition-delay: 0.1s;
}

[data-delay="150"] {
  transition-delay: 0.15s;
}

[data-delay="200"] {
  transition-delay: 0.2s;
}

[data-delay="250"] {
  transition-delay: 0.25s;
}

[data-delay="300"] {
  transition-delay: 0.3s;
}

[data-delay="350"] {
  transition-delay: 0.35s;
}

[data-delay="400"] {
  transition-delay: 0.4s;
}

[data-delay="450"] {
  transition-delay: 0.45s;
}

[data-delay="500"] {
  transition-delay: 0.5s;
}

[data-delay="600"] {
  transition-delay: 0.6s;
}

[data-delay="700"] {
  transition-delay: 0.7s;
}

[data-delay="800"] {
  transition-delay: 0.8s;
}

/* ── Stagger-children: parent triggers nth-child delays ── */
[data-stagger]>* {
  opacity: 0;
  transform: translateY(30px);
  will-change: opacity, transform;
  transition:
    opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-stagger].is-visible>*:nth-child(1) {
  opacity: 1;
  transform: none;
  transition-delay: 0.05s;
}

[data-stagger].is-visible>*:nth-child(2) {
  opacity: 1;
  transform: none;
  transition-delay: 0.15s;
}

[data-stagger].is-visible>*:nth-child(3) {
  opacity: 1;
  transform: none;
  transition-delay: 0.25s;
}

[data-stagger].is-visible>*:nth-child(4) {
  opacity: 1;
  transform: none;
  transition-delay: 0.35s;
}

[data-stagger].is-visible>*:nth-child(5) {
  opacity: 1;
  transform: none;
  transition-delay: 0.45s;
}

[data-stagger].is-visible>*:nth-child(6) {
  opacity: 1;
  transform: none;
  transition-delay: 0.55s;
}

[data-stagger].is-visible>*:nth-child(7) {
  opacity: 1;
  transform: none;
  transition-delay: 0.65s;
}

[data-stagger].is-visible>*:nth-child(n+8) {
  opacity: 1;
  transform: none;
  transition-delay: 0.75s;
}

/* ── Scale-pop gets a springy timing ── */
[data-animate="scale-pop"].is-visible {
  animation: spring-pop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes spring-pop {
  0% {
    opacity: 0;
    transform: scale(0.7);
  }

  60% {
    opacity: 1;
    transform: scale(1.06);
  }

  80% {
    transform: scale(0.97);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ── Hero title lines — staggered clip-wipe ── */
.hero-title-line {
  display: block;
  clip-path: inset(0 0 100% 0);
  transform: translateY(20px);
  opacity: 0;
  transition:
    clip-path 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.9s ease;
}

.hero-copy.is-visible .hero-title-line:nth-child(1) {
  clip-path: inset(0 0 0% 0);
  transform: none;
  opacity: 1;
  transition-delay: 0.15s;
}

.hero-copy.is-visible .hero-title-line:nth-child(2) {
  clip-path: inset(0 0 0% 0);
  transform: none;
  opacity: 1;
  transition-delay: 0.35s;
}

.hero-copy.is-visible .hero-title-line:nth-child(3) {
  clip-path: inset(0 0 0% 0);
  transform: none;
  opacity: 1;
  transition-delay: 0.55s;
}

/* ── Eyebrow tag — slide-right wipe ── */
.hero-copy .eyebrow {
  display: inline-block;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.05s;
}

.hero-copy.is-visible .eyebrow {
  clip-path: inset(0 0% 0 0);
}

/* ── Hero actions ── */
.hero-actions {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease 0.7s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.7s;
}

.hero-copy.is-visible .hero-actions {
  opacity: 1;
  transform: none;
}

/* ── Hero stats ── */
.hero-stats {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease 0.9s, transform 0.7s ease 0.9s;
}

.hero-copy.is-visible .hero-stats {
  opacity: 1;
  transform: none;
}

/* ── About image — scale-rotate reveal ── */
[data-animate="scale-rotate"] {
  opacity: 0;
  transform: scale(0.85) rotate(-3deg);
  transition:
    opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-animate="scale-rotate"].is-visible {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

/* ── Industry row items hover underline pulse ── */
.industry-row-item {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.industry-row-item:hover {
  transform: translateX(8px);
}

/* ── Practice cards extra hover lift ── */
.practice-card {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.4s ease !important;
}

.practice-card:hover {
  transform: translateY(-10px) scale(1.03) !important;
}

/* ── Team cards — 3D tilt ── */
.team-card {
  transition: transform 0.4s cubic-bezier(0.34, 1.4, 0.64, 1),
    box-shadow 0.4s ease !important;
}

.team-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
}

/* ── CTA card animated shine sweep ── */
.expert-cta-card {
  position: relative;
  overflow: hidden;
}

.expert-cta-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg,
      transparent 20%,
      rgba(229, 199, 126, 0.07) 50%,
      transparent 80%);
  transform: translateX(-100%);
  transition: transform 0s;
  pointer-events: none;
}

.expert-cta-card:hover::after {
  animation: shine-sweep 0.9s ease forwards;
}

@keyframes shine-sweep {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

@media (prefers-reduced-motion: reduce) {

  [data-animate],
  [data-stagger]>*,
  .hero-title-line,
  .hero-copy .eyebrow,
  .hero-actions,
  .hero-stats {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
    animation: none !important;
  }

}

/* ──────────────────────────────────────────────────────────
   Consolidated Page & Component Styles
   ────────────────────────────────────────────────────────── */
body {
  overflow-x: clip;
  font-family: 'DM Sans', sans-serif;
}

h1,
h2,
h3,
.hero-title,
.section-title,
.abt-heading,
.practice-card h3,
.insight-card h3,
.feat-title,
.cta-title,
.page-hero-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.eyebrow,
.section-tag,
.section-tag-dark {
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
  font-weight: 700;
}

.arabic-text {
  font-family: 'Almarai', sans-serif;
}

.abt-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.6rem 1.4rem;
  border-radius: 999px;
  border: 1px solid rgba(229, 199, 126, 0.35) !important;
  background: rgba(229, 199, 126, 0.05);
  color: var(--brand-ink);
  font-size: 0.88rem;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
  margin-bottom: 0.5rem;
}

.abt-tag svg {
  width: 1.1rem;
  height: 1.1rem;
  color: var(--brand-gold);
  transition: color 0.3s ease;
}

.abt-tag:hover {
  background: var(--brand-ink);
  border-color: var(--brand-ink) !important;
  color: #fff;
  transform: translateY(-2px);
}

.abt-tag:hover svg {
  color: var(--brand-gold);
}

.section-practice-dynamic {
  position: relative;
  background-image: url('../../assets/images/expertise\ page.webp');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  overflow: hidden;
}

.practice-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(17, 19, 20, 0.84), rgba(17, 19, 20, 0.72), rgba(20, 21, 16, 0.86));
  z-index: 1;
}

.practice-carousel {
  padding-bottom: 2rem;
  mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}

.practice-carousel .swiper-slide {
  height: auto;
}

.practice-icon svg {
  width: 1.8rem;
  height: 1.8rem;
  stroke: currentColor;
  stroke-width: 1.8;
}

.glass-card {
  background: rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  width: 20rem;
  flex-shrink: 0;
  padding: 2.2rem 2rem !important;
  transition: all 0.3s ease;
}

.glass-card:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--brand-gold) !important;
  transform: translateY(-8px);
}

.glass-card h3 {
  color: #fff !important;
}

.glass-card p {
  color: rgba(255, 255, 255, 0.7) !important;
}

.glass-card .practice-icon {
  background: rgba(229, 199, 126, 0.15) !important;
  color: var(--brand-gold) !important;
}

/* Team Section */
.text-justify {
  text-align: justify !important;
}

.team-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 1rem;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  height: 100%;
}

.team-card:hover {
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
  transform: translateY(-8px);
  border-color: var(--brand-gold);
}

.team-img-wrap {
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, #f2f3f5 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
}

.team-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, transparent 40%, rgba(0, 0, 0, 0.03) 100%);
  pointer-events: none;
  z-index: 2;
}

.team-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.05));
  position: relative;
  z-index: 1;
}

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

.team-info {
  padding: 1.25rem 1rem 1.75rem;
  text-align: center;
}

.team-name {
  font-size: 1.05rem;
  margin-bottom: 0.15rem;
  color: var(--brand-ink);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.team-role {
  display: block;
  font-size: 0.72rem;
  color: var(--brand-gold);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.team-carousel-controls {
  display: flex;
  gap: 1rem;
}

.team-nav-btn {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-ink);
  transition: all 0.3s ease;
  cursor: pointer;
}

.team-nav-btn:hover {
  background: var(--brand-ink);
  color: #fff;
  border-color: var(--brand-ink);
}

.team-nav-btn svg {
  width: 1.1rem;
  height: 1.1rem;
}

.read-more-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--brand-gold);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.read-more-link svg {
  width: 1.2rem;
  height: 1.2rem;
  transition: transform 0.3s ease;
}

.read-more-link:hover {
  color: var(--brand-gold);
}

.read-more-link:hover svg {
  transform: translateX(6px);
}

.insight-card {
  overflow: hidden;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}

.insight-card-img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.insight-card-body {
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* CTA Banner */
.cta-section {
  background-color: #1f211b;
  background-image: linear-gradient(rgba(31, 33, 27, 0.92), rgba(31, 33, 27, 0.92)), url('../../assets/images/pattern.jpeg');
  background-size: cover;
  background-position: center;
  padding: 4rem 0;
  color: #fff;
}

.cta-banner-content {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}

.cta-section h2 {
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 500;
  margin-bottom: 0.5rem;
  line-height: 1.25;
  color: #ffffff;
}

.cta-section p {
  font-size: 0.9rem;
  opacity: 0.7;
  margin-bottom: 2rem;
}

.cta-form-inline {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}

.cta-input {
  background: rgba(255, 255, 255, 1);
  border: 1px solid rgba(255, 255, 255, 1);
  border-radius: 0.2rem;
  padding: 0.8rem 1.2rem;
  width: auto;
  flex: 1 1 220px;
  font-size: 0.9rem;
  color: var(--brand-ink);
  transition: all 0.3s ease;
  height: 3rem;
  margin-bottom: 0 !important;
}

.cta-input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.cta-input:focus {
  outline: none;
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 3px rgba(229, 199, 126, 0.2);
}

.cta-submit-btn {
  background: var(--brand-gold);
  color: #fff;
  border: none;
  padding: 0 2.5rem;
  border-radius: 0.2rem;
  font-weight: 600;
  font-size: 0.95rem;
  transition: background 0.3s ease;
  white-space: nowrap;
  height: 3rem;
  margin-top: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cta-submit-btn:hover {
  background: #d4ae56;
  transform: none !important;
}

.about-split {
  background: #eee9e0 url('../../assets/images/pattern.jpeg') center / 400px auto repeat !important;
  background-blend-mode: soft-light !important;
}

.section-insights {
  position: relative;
}

.section-insights::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../../assets/images/pattern.jpeg') center / 500px auto repeat;
  opacity: 0.04;
  pointer-events: none;
}

/* Site Footer */
.site-footer {
  background: #f7f6f2;
  color: #3a3530;
  padding: 0 0 1rem;
  text-align: center;
  font-family: 'Outfit', sans-serif;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 1.5rem;
}

.footer-col h4 {
  color: #1a1d14;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 1.25rem;
  font-weight: 700;
}

.footer-col p {
  font-size: 0.9rem;
  line-height: 1.7;
  color: #6b6460;
  margin-bottom: 0;
}

.footer-col a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-col a:hover {
  color: var(--brand-gold);
}

.footer-bottom-bar {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.footer-nav-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.footer-nav-list li {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.footer-nav-list li:not(:last-child)::after {
  content: "•";
  color: var(--brand-gold);
  font-size: 0.75rem;
}

.footer-nav-list a {
  color: #6b6460;
  text-decoration: none;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  transition: all 0.3s ease;
}

.footer-nav-list a:hover {
  color: var(--brand-gold);
}

.footer-copyright {
  font-size: 0.8rem;
  color: #6b6460;
}

@media (max-width: 991px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-bottom-bar {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
}

.hero-shell {
  position: relative;
  background: #111314;
  isolation: isolate;
  padding-top: calc(var(--nav-height) + 3.5rem);
  overflow: hidden;
}

.hero-bg-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: url("../../assets/images/banner-1.png") center center / cover no-repeat;
}

.hero-bg-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transform-origin: center center;
  animation: hero-bg-zoom 18s ease-in-out infinite alternate;
  will-change: transform;
}

.hero-bg-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    /* Soft light glow on the logo */
    radial-gradient(circle at 78% 45%, rgba(229, 199, 126, 0.15), transparent 45%),
    /* Darken the floor */
    linear-gradient(to bottom, transparent 40%, rgba(10, 10, 10, 0.92) 100%),
    /* Darken the left side and soften the right side lighting */
    linear-gradient(105deg, rgba(8, 8, 8, 0.98) 0%, rgba(12, 12, 12, 0.93) 35%, rgba(20, 18, 16, 0.5) 65%, rgba(10, 8, 5, 0.15) 100%);
  pointer-events: none;
}

.hero-shell::before {
  z-index: 1;
  pointer-events: none;
}

.hero-shell> :not(.hero-bg-media) {
  position: relative;
  z-index: 2;
}

@keyframes hero-bg-zoom {
  from {
    transform: scale(1.04);
  }

  to {
    transform: scale(1.12);
  }
}

.main-navbar .brand-pill {
  width: auto;
  height: clamp(2.8rem, 3.2vw, 3.4rem);
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  display: inline-flex;
  align-items: center;
}

/* ═══════════════════════════════════════════════════════════
   INDUSTRY CARDS — Creative editorial card system (industries.html)
   ═══════════════════════════════════════════════════════════ */

/* Grid wrapper */
#industryCardsContainer {
  --icard-olive: #454731;
  --icard-gold: #e5c77e;
  --icard-ink: #1a1d14;
  --icard-cream: #fcfbf7;
  --icard-muted: rgba(255, 255, 255, 0.58);
}

/* ── Card shell ── */
.icard {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 1.1rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 18px rgba(69, 71, 49, 0.08);
  transition: transform 0.3s cubic-bezier(.22, .68, 0, 1.2), box-shadow 0.3s ease;
  position: relative;
}

.icard:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(69, 71, 49, 0.16);
}

/* Gold left accent bar */
.icard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, var(--icard-gold) 0%, transparent 100%);
  border-radius: 4px 0 0 4px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.icard:hover::before {
  opacity: 1;
}

/* ── Card Header — image panel ── */
.icard-header {
  background: var(--icard-olive);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  padding: 1.6rem 1.6rem 1.3rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 170px;
}

/* Dark gradient overlay so text stays readable over the image */
.icard-header::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg,
      rgba(20, 22, 14, 0.72) 0%,
      rgba(20, 22, 14, 0.55) 60%,
      rgba(20, 22, 14, 0.45) 100%);
  pointer-events: none;
}

/* Number badge — top-right corner */
.icard-num {
  position: absolute;
  top: 1rem;
  right: 1.2rem;
  font-family: 'Outfit', sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(255, 255, 255, 0.08);
  letter-spacing: -0.04em;
  user-select: none;
  transition: color 0.3s ease;
}

.icard:hover .icard-num {
  color: rgba(229, 199, 126, 0.15);
}

/* Icon bubble */
.icard-icon {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 0.65rem;
  background: rgba(229, 199, 126, 0.12);
  border: 1px solid rgba(229, 199, 126, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--icard-gold);
  flex-shrink: 0;
  transition: background 0.3s ease, border-color 0.3s ease;
  position: relative;
  z-index: 1;
}

.icard-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.icard:hover .icard-icon {
  background: rgba(229, 199, 126, 0.22);
  border-color: rgba(229, 199, 126, 0.45);
}

/* Card title */
.icard-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  font-weight: 500;
  color: #fff;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 0;
  position: relative;
  z-index: 1;
}

/* Gold underline sweep on title */
.icard-title::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  background: var(--icard-gold);
  margin-top: 0.5rem;
  transition: width 0.35s ease;
  border-radius: 2px;
}

.icard:hover .icard-title::after {
  width: 2.5rem;
}

/* ── Card Body ── */
.icard-body {
  flex: 1;
  padding: 1.4rem 1.6rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: #fff;
}

.icard-desc {
  font-size: 0.875rem;
  line-height: 1.7;
  color: #5a5649;
  margin: 0;
  flex: 1;
}

/* Pill tags */
.icard-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.icard-pill {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--icard-olive);
  background: rgba(69, 71, 49, 0.07);
  border: 1px solid rgba(69, 71, 49, 0.12);
  border-radius: 100px;
  padding: 0.28rem 0.7rem;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.icard:hover .icard-pill {
  background: rgba(229, 199, 126, 0.14);
  color: #3a3c22;
  border-color: rgba(229, 199, 126, 0.35);
}

/* ── Card Footer ── */
.icard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem 1.6rem;
  border-top: 1px solid rgba(69, 71, 49, 0.08);
  background: rgba(69, 71, 49, 0.02);
}

.icard-category {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #8c8878;
}

.icard-arrow {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid rgba(69, 71, 49, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--icard-olive);
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
  flex-shrink: 0;
}

.icard-arrow svg {
  width: 0.8rem;
  height: 0.8rem;
}

.icard:hover .icard-arrow {
  background: var(--icard-olive);
  border-color: var(--icard-olive);
  color: var(--icard-gold);
  transform: translateX(3px);
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
  .icard-header {
    padding: 1.3rem 1.3rem 1.1rem;
  }

  .icard-body {
    padding: 1.1rem 1.3rem 0.8rem;
  }

  .icard-footer {
    padding: 0.8rem 1.3rem;
  }
}

/* ─── Industries – sticky-left / scroll-right layout ─── */

#industries-served {
  background-color: #eacb7e47;
  position: relative;
  border-top: 1px solid rgba(234, 203, 126, 0.35);
  border-bottom: 1px solid rgba(234, 203, 126, 0.35);
  overflow: visible;
}

#industries-served::before {
  content: "";
  position: absolute;
  inset: 0;
  /* CSS is at assets/css/ → go two levels up to reach images/ */
  background: url('../../assets/images/pattern.jpeg') center / 450px auto repeat;
  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
}

#industries-served>.container-xxl {
  position: relative;
  z-index: 1;
}

/* Split wrapper — align-items: start is essential for sticky to work in a grid */
.industries-split-layout {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 0 4rem;
  align-items: start;
}

/* Left: pinned panel */
.industries-sticky-col {
  position: relative;
  align-self: stretch;
  min-height: 100%;
}

.industries-sticky-panel {
  position: relative;
  padding: clamp(2.5rem, 4vw, 3.5rem) clamp(2rem, 3.2vw, 3rem);
  background: var(--brand-olive);
  border-radius: 1rem;
  color: #fff;
}

.industries-sticky-panel .section-tag {
  color: var(--brand-gold);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  display: block;
  margin-bottom: 1.1rem;
}

.industries-panel-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 1.2rem;
}

.industries-panel-copy {
  font-size: 0.92rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 2rem;
}

.industries-view-all {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--brand-gold);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  padding-left: 1rem;
  border-left: 2px solid var(--brand-gold);
  transition: color 0.25s ease, gap 0.25s ease;
}

.industries-view-all svg {
  width: 0.95rem;
  height: 0.95rem;
  transition: transform 0.25s ease;
}

.industries-view-all:hover {
  color: #fff;
  gap: 0.85rem;
}

.industries-view-all:hover svg {
  transform: translateX(4px);
}

/* ── Right: scrolling list ── */
.industries-scroll-list {
  display: flex;
  flex-direction: column;
}

@media (min-width: 992px) {
  .industries-sticky-panel.is-pinned {
    position: fixed;
    top: var(--industries-pin-top, 5.5rem);
    left: var(--industries-pin-left, auto);
    width: var(--industries-pin-width, auto);
    z-index: 4;
  }

  .industries-sticky-panel.is-released {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
  }

}

.industry-row-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 0.75rem;
  border-bottom: 1px solid rgba(69, 71, 49, 0.12);
  text-decoration: none;
  color: var(--brand-ink);
  transition: background 0.22s ease, padding-left 0.22s ease;
  border-radius: 0.5rem;
}

.industry-row-item:first-child {
  border-top: 1px solid rgba(69, 71, 49, 0.12);
}

.industry-row-item:hover {
  padding-left: 1.25rem;
  background: rgba(229, 199, 126, 0.08);
}

/* Sector icon bubble */
.industry-row-icon {
  flex-shrink: 0;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 0.6rem;
  background: rgba(69, 71, 49, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-olive);
  transition: background 0.22s ease, color 0.22s ease;
}

.industry-row-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.industry-row-item:hover .industry-row-icon {
  background: var(--brand-olive);
  color: var(--brand-gold);
}

.industry-row-title {
  flex: 1;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  font-weight: 500;
  color: var(--brand-olive);
  letter-spacing: -0.01em;
  margin: 0;
  transition: color 0.22s ease;
}

.industry-row-item:hover .industry-row-title {
  color: var(--brand-ink);
}

.industry-row-arrow {
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  border: 1px solid rgba(69, 71, 49, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-olive);
  transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.industry-row-arrow svg {
  width: 0.85rem;
  height: 0.85rem;
}

.industry-row-item:hover .industry-row-arrow {
  background: var(--brand-olive);
  border-color: var(--brand-olive);
  color: #fff;
  transform: translateX(4px);
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
  .industries-split-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .industries-sticky-panel {
    position: static;
    border-radius: 0.75rem;
  }

  .industry-row-item {
    padding: 1rem 0.5rem;
  }
}

@media (max-width: 575.98px) {
  .industries-split-layout {
    gap: 2rem;
  }

  .industries-sticky-panel {
    padding: 2rem 1.5rem;
  }
}

.nav-menu-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.main-navbar {
  position: fixed !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.main-navbar .container-xxl {
  align-items: center;
  padding-top: 0;
}

.main-navbar .navbar-nav {
  gap: 0.05rem 0.12rem;
}

.main-navbar .nav-link {
  white-space: nowrap;
  font-size: clamp(0.84rem, 0.92vw, 1rem);
  padding: 0.42rem 0.84rem !important;
}

.main-navbar .nav-meta {
  gap: 0.6rem;
  align-items: center;
  flex-shrink: 0;
  padding-top: 0;
}

.nav-phone {
  gap: 0.55rem;
  padding: 0;
  white-space: nowrap;
}

.nav-phone>span:last-child {
  display: inline-flex;
  align-items: baseline;
  gap: 0.42rem;
  white-space: nowrap;
}

.nav-phone small {
  display: inline;
  margin-bottom: 0;
  font-size: 0.74rem;
  line-height: 1;
}

.nav-phone strong {
  display: inline;
  font-size: 0.98rem;
  line-height: 1;
  white-space: nowrap;
}

.phone-icon {
  width: 1.45rem;
  height: 1.45rem;
}

.main-navbar .brand-pill img {
  width: auto;
  height: clamp(6.2rem, 8.5vw, 8.2rem);
  max-width: min(45vw, 300px);
  object-fit: contain;
  object-position: left center;
  transform: translateY(-0.1rem);
  mix-blend-mode: multiply;
  filter: contrast(1.05);
  transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s ease;
}

.main-navbar.is-sticky .brand-pill {
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.main-navbar.is-sticky .brand-pill img {
  height: clamp(3.5rem, 4.8vw, 4.2rem);
  transform: translateY(0);
  mix-blend-mode: normal;
  filter: none;
}

@media (max-width: 991.98px) {
  .main-navbar.is-sticky .brand-pill img {
    height: 3.5rem;
  }
}

.menu-brand img {
  width: auto;
  height: clamp(5.38rem, 9.40vw, 7.12rem);
  max-width: min(86%, 416px);
  object-fit: contain;
  object-position: left center;
  transform: translateY(-0.2rem);
  mix-blend-mode: multiply;
  filter: brightness(1.2) contrast(1.12);
}

.menu-canvas {
  --bs-offcanvas-width: min(34rem, 42vw);
}

.menu-canvas .offcanvas-body {
  padding: clamp(1.35rem, 2.6vw, 2rem) clamp(1.2rem, 2.4vw, 1.9rem);
}

.menu-title {
  font-size: clamp(1.3rem, 2.2vw, 1.7rem);
}

.menu-contact-list {
  gap: 1rem;
  max-width: 29rem;
}

.menu-contact-list li {
  gap: 0.85rem;
  font-size: clamp(0.98rem, 1.12vw, 1.08rem);
  line-height: 1.45;
}

.menu-contact-icon {
  width: 2.1rem;
  height: 2.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.08rem;
  border-radius: 999px;
  color: var(--brand-gold);
  background: rgba(229, 199, 126, 0.12);
  border: 1px solid rgba(229, 199, 126, 0.22);
}

.menu-contact-icon svg {
  width: 0.98rem;
  height: 0.98rem;
}

.menu-contact-copy {
  display: block;
  flex: 1;
}

.section-anchor {
  display: block;
  height: 0;
  scroll-margin-top: calc(var(--nav-height) + 1rem);
}

.hero-content {
  min-height: calc(100vh - var(--nav-height) - 0.6rem);
  padding-top: clamp(1.4rem, 3.5vh, 2.35rem);
  padding-bottom: clamp(1.4rem, 3vh, 2.2rem);
}

.hero-copy {
  max-width: 100%;
}


.hero-copy .eyebrow {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.72rem;
}

.hero-copy .eyebrow::before {
  width: 2rem;
  height: 2px;
  background: currentColor;
  flex-shrink: 0;
}

.hero-title {
  width: min(100%, 28ch);
  max-width: 100%;
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  line-height: 1.04;
  letter-spacing: -0.04em;
  margin-bottom: .95rem;
  text-wrap: balance;
}

.hero-title-line {
  display: block;
  white-space: normal;
}

.hero-lead {
  max-width: min(100%, 42rem);
  margin-bottom: 0;
}

.hero-actions {
  margin-top: 1.35rem;
  gap: 0.9rem;
}

.btn-brand,
.btn-outline-brand,
.cta-btn {
  padding: 0.88rem 1.55rem;
  border-radius: 0.42rem;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  box-shadow: none;
  transition: background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.btn-brand {
  color: #fff;
  background: #f0b13a;
  border: 1px solid #f0b13a;
}

.btn-brand:hover,
.btn-brand:focus {
  color: #fff;
  background: #f3bd56;
  border-color: #f3bd56;
  transform: translateY(-1px);
}

.btn-outline-brand {
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-outline-brand:hover,
.btn-outline-brand:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.34);
  transform: translateY(-1px);
}

.hero-stats {
  margin-top: 5.75rem;
  max-width: min(100%, 47rem);
  gap: 0;
  border: 1px solid rgba(229, 199, 126, 0.28);
  border-radius: 1.2rem;
  background: rgba(15, 17, 18, 0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 0.6rem 0.5rem;
  display: inline-flex;
  align-items: center;
}

.hero-stat {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  column-gap: 0.8rem;
  padding: 0.35rem 1.75rem;
  border-radius: 0;
  border-left: none;
}

.hero-stat.stat-vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.hero-stat+.hero-stat {
  border-left: 1px solid rgba(229, 199, 126, 0.28);
}

.hero-stat:last-child::after {
  display: none !important;
}

.hero-stat-number {
  margin-bottom: 0;
  font-size: clamp(1.75rem, 3.15vw, 2.7rem);
  line-height: 0.95;
  align-self: center;
}

.hero-stat-label {
  font-size: 0.88rem;
  max-width: none;
  line-height: 1.35;
  align-self: center;
}

.expert-cta-card {
  background-color: #e5c77e;
  background-image: linear-gradient(rgba(229, 199, 126, 0.78), rgba(229, 199, 126, 0.78)), url('../../assets/images/pattern.jpeg');
  background-size: 340px auto;
  background-position: center;
  border-radius: 1.5rem;
  padding: clamp(3rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 4.5rem);
  color: #1a1d14;
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.12);
  position: relative;
  overflow: hidden;
}

.expert-cta-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 45%;
  height: 100%;
  background: radial-gradient(circle at 100% 50%, rgba(255, 255, 255, 0.15), transparent 70%);
  pointer-events: none;
}

.expert-title {
  font-size: clamp(2.1rem, 3.8vw, 3rem);
  font-weight: 500;
  line-height: 1.15;
  margin-bottom: 0;
  color: #1a1d14;
  font-family: 'Outfit', sans-serif;
}

.expert-copy {
  font-size: 1.05rem;
  text-align: justify;
  color: #3a2e1a;
  opacity: 1;
  line-height: 1.6;
  margin-bottom: 2.2rem;
}

.expert-play-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.3s ease;
}

.expert-play-link:hover {
  color: var(--brand-gold);
}

@media (min-width: 1200px) {
  .container-xxl {
    padding-left: 5%;
    padding-right: 5%;
  }
}

@media (max-width: 991.98px) {
  .main-navbar .brand-pill img {
    height: 6.2rem;
    max-width: min(56vw, 370px);
  }

  .hero-content {
    min-height: auto;
    padding-top: 1.4rem;
    padding-bottom: 1.8rem;
  }

  .hero-copy,
  .hero-lead,
  .hero-title {
    max-width: 100%;
  }

  .hero-title {
    width: 100%;
    font-size: clamp(2rem, 5.3vw, 3.05rem);
  }

  .hero-title-line {
    white-space: normal;
  }

  .hero-stats {
    margin-top: 2.5rem;
    gap: 0;
    padding: 0.5rem 0.4rem;
  }

  .hero-stat {
    display: grid !important;
    grid-template-columns: max-content 1fr !important;
    align-items: center !important;
    column-gap: 0.78rem;
    padding: 0.4rem 1.25rem;
    border-radius: 0;
    border-left: none;
  }

  .hero-stat.stat-vertical {
    display: grid !important;
    grid-template-columns: max-content 1fr !important;
    align-items: center !important;
  }

  .hero-stat+.hero-stat {
    border-left: 1px solid rgba(229, 199, 126, 0.28) !important;
    padding-left: 1.25rem;
  }

  .main-navbar .nav-link {
    font-size: inherit;
    padding: 0.5rem 0.65rem !important;
  }

  .expert-cta-card {
    padding: 2.5rem 2rem !important;
  }

  .expert-title {
    font-size: 2rem !important;
    text-align: center;
  }

  .expert-copy {
    text-align: center;
  }

  .expert-cta-card .d-flex {
    justify-content: center;
  }
}

@media (max-width: 767.98px) {
  .menu-canvas {
    --bs-offcanvas-width: 100vw;
  }

  .menu-contact-list {
    max-width: 100%;
  }

  #expert-contact .expert-cta-card {
    margin-bottom: -5rem !important;
  }

  .site-footer {
    padding-top: 12rem !important;
    margin-top: -8rem !important;
  }

  .expert-cta-card {
    padding: 2rem 1.5rem !important;
  }

  .expert-title {
    font-size: 1.7rem !important;
  }

  .hero-stats {
    flex-direction: column;
    align-items: stretch;
    max-width: 22rem;
    padding: 1rem 0.5rem;
    gap: 0;
  }

  .hero-stat {
    padding: 0.75rem 1.5rem;
  }

  .hero-stat+.hero-stat {
    padding-left: 1.5rem;
    border-left: none !important;
    border-top: 1px solid rgba(229, 199, 126, 0.28) !important;
    padding-top: 0.75rem;
  }
}

@media (max-width: 575.98px) {
  .main-navbar {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .main-navbar .container-xxl,
  .main-navbar .nav-meta {
    align-items: center;
    padding-top: 0;
  }

  .main-navbar .brand-pill img {
    height: 4.8rem;
    max-width: 266px;
  }

  .menu-brand img {
    height: 5.78rem;
    max-width: 88%;
  }

  .hero-title {
    width: min(100%, 22rem);
    max-width: 100%;
    font-size: clamp(1.65rem, 7.1vw, 2.1rem);
    line-height: 1.12;
    letter-spacing: 0;
    text-wrap: balance;
  }

  .hero-title-line {
    display: contents;
    white-space: normal;
    clip-path: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .hero-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 1rem;
    width: 100%;
  }

  .hero-actions .btn {
    min-height: 2.75rem;
    padding: 0.72rem 1rem;
    font-size: 0.85rem;
    white-space: normal;
    text-align: center;
    justify-content: center;
  }

  .hero-stats {
    flex-direction: column;
    gap: 0.35rem;
    max-width: 18rem;
    margin-top: 1rem;
  }

  .hero-stat,
  .hero-stat+.hero-stat {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    width: 100%;
    padding: 0;
    border: 0;
  }

  .hero-stat-number {
    font-size: 1.35rem;
    line-height: 1;
  }

  .hero-stat-label {
    font-size: 0.62rem;
    line-height: 1.2;
    letter-spacing: 0.08em;
  }

  #expert-contact .expert-cta-card {
    margin-bottom: -4rem !important;
  }

  .site-footer {
    padding-top: 6rem !important;
    margin-top: -6rem !important;
  }

  .insight-card-img {
    height: 180px;
  }
}

@media (min-width: 992px) and (max-height: 920px) {
  .hero-content {
    min-height: auto;
    padding-top: 0.7rem;
    padding-bottom: 1.35rem;
  }

  .hero-title {
    font-size: clamp(2.05rem, 3.7vw, 3.3rem);
    margin-bottom: 0.8rem;
  }

  .hero-lead {
    font-size: 1rem;
    line-height: 1.5;
  }

  .hero-actions {
    margin-top: 1rem;
  }

  .hero-stats {
    margin-top: 2rem;
  }

  .hero-stat {
    column-gap: 0.7rem;
    padding: 0.72rem 0.78rem 0.78rem;
  }

  .hero-stat-number {
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
  }

  .hero-stat-label {
    font-size: 0.82rem;
  }
}

/* ────────────────────────────────────────────────────────
   CONSOLIDATED INNER PAGE STYLES
   ──────────────────────────────────────────────────────── */

/* --- about-us.html styles --- */
.stat-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05) !important;
}

.service-item-row {
  border-bottom: 1px solid var(--border);
  padding: 2.2rem 0;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.service-row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.service-row-title-wrap {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.service-num {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gold-dk);
  transition: color 0.3s ease;
}

.service-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--ink);
  margin: 0;
  transition: color 0.3s ease;
}

.service-chevron {
  font-size: 1.1rem;
  color: var(--gold-dk);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-row-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease, margin-top 0.4s ease;
}

.service-item-row.active .service-row-content {
  max-height: 400px;
  opacity: 1;
  margin-top: 1.5rem;
}

.service-item-row.active .service-chevron {
  transform: rotate(180deg);
}

.service-item-row.active .service-title {
  color: var(--gold-dk);
}

.img-stack {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.stack-img-wrap {
  height: 60px;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
  transition: height 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.stack-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.stack-img-wrap.active {
  height: 260px;
}

.stack-img-wrap:hover img {
  transform: scale(1.05);
}

/* --- people.html styles --- */
.people-section {
  padding: 6rem 0 7rem;
  background: var(--cream);
  overflow: hidden;
}

/* Premium member card styling */
.member-card {
  background: #fff;
  border: 1px solid rgba(229, 199, 126, 0.15);
  border-radius: 1rem;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    border-color 0.4s ease;
  height: 100%;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.member-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(22, 18, 18, 0.08), 0 0 25px rgba(229, 199, 126, 0.15);
  border-color: var(--brand-gold);
}

.member-img-wrap {
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, var(--brand-cream-deep) 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.member-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, transparent 50%, rgba(22, 18, 18, 0.04) 100%);
  pointer-events: none;
  z-index: 2;
}

.member-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  position: relative;
  z-index: 1;
}

.member-card:hover .member-img-wrap img {
  transform: scale(1.06);
}

.member-info {
  padding: 1.6rem 1.2rem 1.8rem;
  text-align: center;
  position: relative;
  z-index: 3;
  background: #fff;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.member-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--brand-ink);
  margin-bottom: 0.4rem;
  position: relative;
  display: inline-block;
}

.member-name::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--brand-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.member-card:hover .member-name::after {
  transform: scaleX(1);
}

.member-role {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--gold-dk);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* --- expertise.html styles --- */
.exp-hero {
  background: var(--cream);
  padding: 4.5rem 0 3.5rem;
  border-bottom: 1px solid var(--border);
}

.exp-hero-inner {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
}

.exp-hero-left {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
  flex: 0 1 580px;
  width: 100%;
}

.exp-hero-bar {
  width: 4px;
  height: 90px;
  background: var(--gold);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 6px;
}

.exp-hero-desc {
  flex: 1;
  font-size: clamp(0.95rem, 1.2vw, 1.1rem);
  text-align: justify;
  line-height: 1.8;
  color: var(--muted);
  max-width: 550px;
}

@media(max-width:1200px) {
	.exp-hero-inner {
		gap:0;	
	}
	/*.exp-hero-left {
		margin-left:30px;
	}*/
}
@media(max-width:860px) {
	.exp-hero-inner {
		/*margin-left:50px;*/
		flex-direction: column;
        gap: 2rem;
	}
  .exp-hero-left {
    max-width: 100%;
	  flex:none;
  }
}
@media(max-width:725px) {
	.exp-filter-btn{
		border-right:none;
	}
}

@media(max-width:767px) {
  .exp-hero-inner {
    flex-direction: column;
    gap: 2rem;
  }

  .exp-hero-bar {
    height: 60px;
  }
}

.exp-filter-bar {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
  padding: 1.1rem 0;
  position: sticky;
  top: 72px;
  z-index: 100;
}

.exp-filter-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.exp-filter-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--olive);
  padding-right: 1.5rem;
  border-right: 1px solid var(--border);
  margin-right: 0.5rem;
  flex-shrink: 0;
  white-space: nowrap;
}

.exp-filter-label svg {
  width: 16px;
  height: 16px;
  stroke: var(--gold);
}

.exp-filter-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.exp-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: none;
  padding: 0.45rem 1rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition: color 0.2s;
  white-space: nowrap;
  border-right: 1px solid var(--border);
}

.exp-filter-btn:last-child {
  border-right: none;
}

.exp-filter-btn svg {
  width: 13px;
  height: 13px;
  stroke: var(--gold);
  transition: transform 0.2s;
}

.exp-filter-btn:hover {
  color: var(--olive);
}

.exp-filter-btn.active {
  color: var(--olive);
  font-weight: 700;
}

.exp-filter-btn.active svg {
  transform: rotate(180deg);
}

.exp-cards-section {
  padding: 3.5rem 0 6rem;
  background: var(--cream);
}

.exp-results-bar {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.exp-results-count {
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
}

.exp-results-count span {
  color: var(--olive);
  font-size: 1rem;
}

.prac-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.prac-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.04);
  color: inherit;
  text-decoration: none;
}

.prac-card-header {
  padding: 2.2rem 2.2rem 1.2rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.prac-card-icon-wrap {
  width: 52px;
  height: 52px;
  background: rgba(229, 199, 126, 0.08);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-dk);
  transition: background-color 0.3s, color 0.3s;
}

.prac-card-icon-wrap svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.prac-card:hover .prac-card-icon-wrap {
  background: var(--gold);
  color: #fff;
}

.prac-card-num {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--border);
  transition: color 0.3s;
}

.prac-card:hover .prac-card-num {
  color: var(--gold-dk);
}

.prac-card-body {
  padding: 0 2.2rem 1.6rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-bottom: 2px solid var(--border);
  transition: border-color 0.3s;
}

.prac-card:hover .prac-card-body {
  border-color: var(--gold);
}

.prac-card-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold-dk);
}

.prac-card-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
  margin: 0;
  transition: color 0.2s;
}

.prac-card:hover .prac-card-title {
  color: var(--olive);
}

.prac-card-desc {
  font-size: 0.86rem;
  text-align: justify;
  line-height: 1.65;
  color: var(--muted);
  margin: 0;
}

.prac-card-rule {
  border: none;
  border-top: 1.5px solid var(--gold-dk);
  opacity: 0.45;
  width: 2.5rem;
  margin: 0.3rem 0 0.1rem;
  transition: width 0.3s ease, opacity 0.3s ease;
}

.prac-card:hover .prac-card-rule {
  width: 3.5rem;
  opacity: 0.8;
}

.prac-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--olive);
  margin-top: 0.8rem;
  transition: gap 0.2s, color 0.2s;
}

.prac-card:hover .prac-card-link {
  gap: 0.8rem;
  color: var(--gold-dk);
}

.prac-card-link svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.exp-col {
  display: flex;
  flex-direction: column;
}

.expertise-item.hidden {
  display: none !important;
}

/* --- careers.html & contact.html shared/specific styles --- */
.car-intro,
.contact-intro {
  background: var(--cream);
  padding: 4.5rem 0 3.5rem;
  border-bottom: 1px solid var(--border);
}

.car-intro-inner,
.contact-intro-inner {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
}

.car-intro-left,
.contact-intro-left {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
  flex: 0 0 auto;
  max-width: 580px;
}

.car-intro-bar,
.contact-intro-bar {
  width: 4px;
  height: 90px;
  background: var(--gold);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 6px;
}

.contact-intro-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}

.car-intro-desc,
.contact-intro-desc {
  flex: 1;
  font-size: clamp(0.95rem, 1.2vw, 1.1rem);
  line-height: 1.8;
  color: var(--muted);
  max-width: 550px;
}

.car-intro-desc {
  text-align: justify;
}

@media(max-width:767px) {

  .car-intro-inner,
  .contact-intro-inner {
    flex-direction: column;
    gap: 2rem;
  }

  .car-intro-left,
  .contact-intro-left {
    max-width: 100%;
  }

  .car-intro-bar,
  .contact-intro-bar {
    height: 60px;
  }
}

.why-join-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
}

.why-cell {
  position: relative;
  overflow: hidden;
}

.why-cell-img {
  min-height: 420px;
}

.why-cell-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}

.why-cell-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5rem 7%;
}

.why-cell-top-right {
  background: #dde4df;
}

.why-cell-bottom-left {
  background: #dde4df;
}

.why-cell-body {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(0.88rem, 1vw, 0.98rem);
  text-align: justify;
  line-height: 1.85;
  color: #4a4a45;
  margin: 0;
}

@media (max-width: 767px) {
  .why-join-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .why-cell-img {
    min-height: 280px;
  }

  .why-cell-text {
    padding: 3.5rem 2rem;
  }
}

.why-cell-heading {
  font-weight: 600 !important;
}

.section-eyebrow {
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold-dk);
  border-bottom: 2px solid var(--gold);
  padding-bottom: 0.4rem;
  display: inline-block;
  margin-bottom: 1.5rem;
}

.section-heading-main {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 1.5rem;
}

.openings-section {
  background: var(--white);
  padding: 7.5rem 0 8rem;
  border-top: 1px solid var(--border);
}

.openings-header-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 3.5rem;
}

.openings-filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.opening-filter-btn {
  background: none;
  border: 1px solid var(--border);
  padding: 0.4rem 1rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0;
}

.opening-filter-btn.active,
.opening-filter-btn:hover {
  background: var(--ink);
  color: var(--gold);
  border-color: var(--ink);
}

.opening-row {
  border-top: 1px solid var(--border);
  cursor: pointer;
  transition: background-color 0.25s ease;
}

.opening-row:last-child {
  border-bottom: 1px solid var(--border);
}

.opening-row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.8rem 0;
  gap: 1rem;
  flex-wrap: wrap;
}

.opening-row-meta {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.opening-row-num {
  font-family: 'Outfit', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--gold-dk);
  min-width: 32px;
}

.opening-row-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ink);
  margin: 0;
  transition: color 0.25s ease;
}

.opening-row-tags {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.opening-tag {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.7rem;
  border: 1px solid var(--border);
  color: var(--olive);
}

.opening-tag.tag-type {
  background: rgba(229, 199, 126, 0.1);
  border-color: rgba(229, 199, 126, 0.4);
  color: var(--gold-dk);
}

.opening-chevron {
  font-size: 1.1rem;
  color: var(--gold-dk);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

.opening-row-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease, padding 0.4s ease;
  padding-bottom: 0;
}

.opening-row-content-inner {
  padding: 0 0 2rem 3.8rem;
}

.opening-row.active .opening-row-content {
  max-height: 500px;
  opacity: 1;
  padding-bottom: 0;
}

.opening-row.active .opening-chevron {
  transform: rotate(180deg);
}

.opening-row.active .opening-row-title {
  color: var(--gold-dk);
}

.opening-content-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2.5rem;
  align-items: start;
}

@media(max-width:767px) {
  .opening-content-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .opening-row-content-inner {
    padding-left: 0;
  }
}

.opening-detail-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
  display: block;
  margin-bottom: 0.5rem;
}

.opening-detail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.7;
  color: var(--olive);
  font-weight: 600;
}

.opening-desc {
  font-size: 0.92rem;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 1.5rem;
}

.apply-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--ink);
  color: var(--gold);
  border: none;
  padding: 0.6rem 1.4rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  cursor: pointer;
}

.apply-btn:hover {
  background: var(--olive);
  color: var(--gold);
}

.apply-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.no-openings {
  text-align: center;
  padding: 4rem 1rem;
  color: var(--muted);
}

.no-openings h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.75rem;
}

.no-openings p {
  font-size: 0.95rem;
  line-height: 1.7;
}

.opening-row.hidden {
  display: none !important;
}

/* --- contact.html specific styles --- */
.contact-details-section {
  background: var(--white);
  padding: 6rem 0 7.5rem;
  border-top: 1px solid var(--border);
}

.contact-card {
  background: var(--cream);
  border-left: 3px solid var(--gold);
  padding: 2.2rem;
  margin-bottom: 2rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.contact-card-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.contact-card-title svg {
  width: 20px;
  height: 20px;
  stroke: var(--gold-dk);
  fill: none;
  stroke-width: 2;
}

.contact-card-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--muted);
  margin: 0;
}

.contact-card-text a {
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s;
}

.contact-card-text a:hover {
  color: var(--gold-dk);
}

.map-wrapper {
  border: 1px solid var(--border);
  padding: 0.75rem;
  background: var(--cream);
  border-radius: 4px;
  height: 100%;
  min-height: 480px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.03);
}

.map-wrapper iframe {
  width: 100%;
  height: 100%;
  min-height: 460px;
  border: 0;
  display: block;
  border-radius: 2px;
}

.contact-form-section {
  background: var(--white);
  padding: 6rem 0 8rem;
  border-top: 1px solid var(--border);
}

.form-heading {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 3.5rem;
}

.form-group-item {
  margin-bottom: 2.5rem;
}

.form-line-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 0.6rem;
  display: block;
}

.form-line-input {
  border: none;
  border-bottom: 2px solid var(--gold);
  background: transparent;
  padding: 0.8rem 0;
  width: 100%;
  outline: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 1.05rem;
  color: var(--ink);
  transition: border-color 0.3s;
  border-radius: 0;
}

.form-line-input::placeholder {
  color: #7b8e81;
  opacity: 0.7;
}

.form-line-input:focus {
  border-bottom-color: var(--gold-dk);
}

.form-line-select {
  border: none;
  border-bottom: 2px solid var(--gold);
  background: transparent;
  padding: 0.8rem 0;
  width: 100%;
  outline: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 1.05rem;
  color: var(--ink);
  transition: border-color 0.3s;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
}

.form-line-select:focus {
  border-bottom-color: var(--gold-dk);
}

.btn-submit-enquiry {
  background-color: var(--ink);
  color: var(--gold);
  border: 1px solid var(--ink);
  padding: 0.9rem 2.5rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: all 0.3s ease;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0;
}

.btn-submit-enquiry:hover {
  background-color: var(--olive);
  color: var(--gold);
  border-color: var(--olive);
}

.btn-submit-enquiry svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

/* --- Scroll animations custom selectors --- */
.anim-bar {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.anim-bar.is-visible {
  clip-path: inset(0 0 0% 0);
}

.anim-title {
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, opacity 0.3s ease 0.2s;
}

.anim-title.is-visible {
  clip-path: inset(0 0% 0 0);
  opacity: 1;
}

.anim-slide-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.3s, transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}

.anim-slide-right.is-visible {
  opacity: 1;
  transform: none;
}

.anim-filterbar {
  opacity: 0;
  transform: translateY(-16px);
  transition: opacity 0.6s ease 0.1s, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.anim-filterbar.is-visible {
  opacity: 1;
  transform: none;
}

.anim-results {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.anim-results.is-visible {
  opacity: 1;
  transform: none;
}

.anim-card {
  opacity: 0;
  transform: translateY(45px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-card.is-visible {
  opacity: 1;
  transform: none;
}

.anim-card-zoom {
  opacity: 0;
  transform: scale(0.88);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-card-zoom.is-visible {
  opacity: 1;
  transform: none;
}

.anim-card-left {
  opacity: 0;
  transform: translate(-50px, 30px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-card-left.is-visible {
  opacity: 1;
  transform: none;
}

.anim-card-right {
  opacity: 0;
  transform: translate(50px, 30px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-card-right.is-visible {
  opacity: 1;
  transform: none;
}

.anim-card-flip {
  opacity: 0;
  transform: perspective(800px) rotateY(18deg) translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-card-flip.is-visible {
  opacity: 1;
  transform: none;
}

.anim-card-rot {
  opacity: 0;
  transform: rotate(-5deg) translateY(35px) scale(0.92);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-card-rot.is-visible {
  opacity: 1;
  transform: none;
}

.d-50 {
  transition-delay: 0.05s !important;
}

.d-100 {
  transition-delay: 0.1s !important;
}

.d-150 {
  transition-delay: 0.15s !important;
}

.d-200 {
  transition-delay: 0.2s !important;
}

.d-250 {
  transition-delay: 0.25s !important;
}

.d-300 {
  transition-delay: 0.3s !important;
}

.d-350 {
  transition-delay: 0.35s !important;
}

.d-400 {
  transition-delay: 0.4s !important;
}

@media (prefers-reduced-motion: reduce) {

  .anim-bar,
  .anim-title,
  .anim-slide-right,
  .anim-filterbar,
  .anim-results,
  .anim-card,
  .anim-card-zoom,
  .anim-card-left,
  .anim-card-right,
  .anim-card-flip,
  .anim-card-rot {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}

/* --- industries.html styles --- */
.ind-hero {
  background: var(--cream);
  padding: 6rem 0 3.5rem;
  border-bottom: 1px solid var(--border);
}

.ind-hero-inner {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
}

.ind-hero-left {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
  flex: 0 0 auto;
  max-width: 420px;
}

.ind-hero-bar {
  width: 4px;
  height: 90px;
  background: var(--gold);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 6px;
}

.ind-hero-desc {
  flex: 1;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  text-align: justify;
  line-height: 1.75;
  color: var(--muted);
  padding-top: 0.5rem;
  max-width: 520px;
}

@media(max-width:767px) {
  .ind-hero-inner {
    flex-direction: column;
    gap: 2rem;
  }

  .ind-hero-left {
    max-width: 100%;
  }

  .ind-hero-bar {
    height: 60px;
  }
}

.ind-filter-bar {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
  padding: 1.1rem 0;
  position: sticky;
  top: 72px;
  z-index: 100;
}

.ind-filter-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.ind-filter-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--olive);
  padding-right: 1.5rem;
  border-right: 1px solid var(--border);
  margin-right: 0.5rem;
  flex-shrink: 0;
  white-space: nowrap;
}

.ind-filter-label svg {
  width: 16px;
  height: 16px;
  stroke: var(--gold);
}

.ind-filter-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.ind-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: none;
  padding: 0.45rem 1rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition: color 0.2s;
  white-space: nowrap;
  border-right: 1px solid var(--border);
}

.ind-filter-btn:last-child {
  border-right: none;
}

.ind-filter-btn svg {
  width: 13px;
  height: 13px;
  stroke: var(--gold);
  transition: transform 0.2s;
}

.ind-filter-btn:hover {
  color: var(--olive);
}

.ind-filter-btn.active {
  color: var(--olive);
  font-weight: 700;
}

.ind-filter-btn.active svg {
  transform: rotate(180deg);
}

.ind-cards-section {
  padding: 3.5rem 0 6rem;
  background: var(--cream);
}

.ind-results-bar {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.ind-results-count {
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
}

.ind-results-count span {
  color: var(--olive);
  font-size: 1rem;
}

.ind-cards-grid {
  column-count: 3;
  column-gap: 1.75rem;
}

@media (max-width: 1199.98px) {
  .ind-cards-grid {
    column-count: 2;
    column-gap: 1.5rem;
  }
}

@media (max-width: 767.98px) {
  .ind-cards-grid {
    column-count: 1;
  }
}

.ind-col {
  break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: 1.75rem;
  display: inline-block;
  width: 100%;
}

.sec-card {
  display: flex;
  flex-direction: column;
  height: auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 0;
  overflow: hidden;
  /* cursor: pointer; */
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 18px rgba(26, 29, 20, 0.04);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.3s ease;
}

.sec-card:hover {
  color: inherit;
  text-decoration: none;
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(26, 29, 20, 0.09);
  border-color: var(--gold);
}

.sec-card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: #d6d4ca;
}

.sec-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.sec-card:hover .sec-card-img {
  transform: scale(1.07);
}

.sec-card-num {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-family: 'Outfit', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  background: rgba(26, 29, 20, 0.55);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(229, 199, 126, 0.3);
  border-radius: 4px;
  padding: 0.22rem 0.5rem;
}

.sec-card-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26, 29, 20, 0.35) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.4s;
}

.sec-card:hover .sec-card-img-wrap::after {
  opacity: 1;
}

.sec-card-body {
  padding: 1.45rem 1.6rem 1.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  background: #fff;
}

.sec-card:hover .sec-card-body {
  border-color: var(--gold);
}

.sec-card-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold-dk);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.sec-card-tag::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: var(--gold);
  border-radius: 2px;
  flex-shrink: 0;
}

.sec-card-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
  margin: 0;
  transition: color 0.2s;
}

.sec-card:hover .sec-card-title {
  color: var(--olive);
}

.sec-card-desc {
  font-size: 0.85rem;
  text-align: justify;
  line-height: 1.7;
  color: var(--muted);
  margin: 0;
}

.sec-card-desc+.sec-card-desc {
  margin-top: 0.65rem;
}

.sec-highlight,
.sec-card-desc strong {
  color: var(--ink);
  font-weight: 700;
}

.sec-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--olive);
  margin-top: 0.85rem;
  padding-top: 0;
  transition: gap 0.2s, color 0.2s;
  text-decoration: none;
}

.sec-card:hover .sec-card-link {
  gap: 0.9rem;
  color: var(--gold-dk);
}

.sec-card-link svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  flex-shrink: 0;
}

.industry-item.hidden {
  display: none !important;
}

@media(max-width:575px) {
  .ind-hero {
    padding: 4rem 0 2.5rem;
  }
}


/* =========================================================
   Cross-page responsive support layer
   Keeps every page usable on mobile, tablet, desktop, and
   older browsers that do not support newer viewport units.
   ========================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  width: 100%;
  min-width: 0;
  overflow-x: clip;
}

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

img,
video {
  height: auto;
}

button,
input,
select,
textarea {
  max-width: 100%;
  font: inherit;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  min-width: 0;
}

.row>* {
  min-width: 0;
}

:is(h1, h2, h3, h4, h5, h6, p, a, li, span, strong, small) {
  overflow-wrap: anywhere;
}

:is(.btn, button, .nav-link, .opening-tag, .exp-filter-btn, .ind-filter-btn, .section-tag, .section-tag-dark, .eyebrow) {
  overflow-wrap: normal;
}

.main-navbar {
  left: 0;
  right: 0;
  width: 100%;
}

.main-navbar .container-xxl {
  min-height: 4.5rem;
}

.main-navbar .navbar-brand,
.main-navbar .brand-pill,
.menu-brand {
  min-width: 0;
}

.main-navbar .brand-pill img,
.menu-brand img {
  max-width: min(58vw, 300px);
  height: auto;
  max-height: 6.5rem;
}

.nav-menu-btn,
.menu-close {
  min-width: 2.75rem;
  min-height: 2.75rem;
  touch-action: manipulation;
}

.team-nav-btn {
  min-width: 2rem;
  min-height: 2rem;
  touch-action: manipulation;
}

.menu-canvas {
  max-width: 100vw;
  overflow-x: hidden;
}

.menu-canvas .offcanvas-body {
  min-width: 0;
  overflow-x: hidden;
}

.menu-contact-list li,
.menu-header-row,
.footer-bottom-bar,
.footer-nav-list,
.openings-header-row,
.opening-row-header,
.exp-filter-inner,
.ind-filter-inner,
.car-intro-inner,
.contact-intro-inner,
.ind-hero-inner,
.exp-hero-inner,
.industry-row-item,
.service-row-header,
.expert-cta-card .row,
.cta-form-inline {
  min-width: 0;
}

.hero-shell {
  min-height: 100vh;
  min-height: 100svh;
}

.hero-bg-media,
.hero-bg-media video,
.hero-bg-media img {
  width: 100%;
  height: 100%;
}

.hero-copy,
.hero-title,
.page-hero-title,
.page-hero-lead,
.section-title,
.section-heading,
.abt-heading,
.exp-hero-title,
.ind-hero-title,
.car-intro-title,
.contact-intro-title,
.opening-row-title,
.member-name,
.sec-card-title,
.icard-title {
  max-width: 100%;
  overflow-wrap: normal;
}

.hero-title-line {
  white-space: normal;
}

.practice-carousel,
.team-carousel,
.swiper,
.swiper-wrapper,
.swiper-slide {
  min-width: 0;
}

.practice-carousel .swiper-slide,
.team-carousel .swiper-slide {
  height: auto;
}

.practice-card,
.team-card,
.member-card,
.icard,
.sec-card,
.contact-card,
.expert-cta-card,
.opening-row,
.service-item-row,
.stat-card,
.why-card {
  max-width: 100%;
}

.exp-filter-bar,
.ind-filter-bar,
.openings-filter-group {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.exp-filter-group,
.ind-filter-group,
.openings-filter-group,
.opening-row-tags,
.footer-nav-list {
  flex-wrap: wrap;
}

.exp-filter-btn,
.ind-filter-btn,
.opening-filter-btn,
.opening-tag,
.sec-card-link,
.cta-submit-btn {
  white-space: normal;
}

@supports not (height: 100svh) {
  .hero-shell {
    min-height: 100vh;
  }
}

@media (max-width: 1199.98px) {
  .main-navbar .brand-pill img {
    max-height: 5.25rem;
  }

  .main-navbar .navbar-nav {
    gap: 0;
  }

  .hero-title {
    width: min(100%, 24ch);
    font-size: clamp(2.35rem, 5.6vw, 4rem);
  }

  .hero-stats {
    margin-top: clamp(1.5rem, 5vw, 3rem);
  }
}

@media (max-width: 991.98px) {
  .main-navbar .container-xxl {
    min-height: 4.25rem;
  }

  .main-navbar .brand-pill img {
    max-width: min(52vw, 240px);
    max-height: 4.75rem;
    mix-blend-mode: normal;
  }

  .main-navbar.is-sticky .brand-pill img {
    max-height: 3.75rem;
  }

  .hero-shell,
  .page-hero-shell {
    padding-top: calc(var(--nav-height) + 1.25rem);
  }

  .hero-content {
    min-height: auto;
    padding-top: clamp(1.25rem, 4vw, 2rem);
    padding-bottom: clamp(2rem, 6vw, 4rem);
  }

  .hero-title {
    width: min(100%, 20ch);
    font-size: clamp(2rem, 7vw, 3.15rem);
    line-height: 1.08;
    letter-spacing: 0;
  }

  .hero-actions,
  .cta-form-inline {
    flex-wrap: wrap;
  }

  .hero-stats,
  .footer-grid,
  .why-join-grid,
  .industries-split-layout,
  .opening-content-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-stats {
    max-width: 100%;
  }

  .page-hero-shell {
    padding-bottom: clamp(2.75rem, 8vw, 4rem);
  }

  .page-hero-title {
    font-size: clamp(2rem, 7vw, 3.2rem);
  }

  .page-hero-lead {
    font-size: clamp(0.95rem, 2.6vw, 1.1rem);
  }

  .exp-filter-inner,
  .ind-filter-inner,
  .openings-header-row,
  .footer-bottom-bar,
  .expert-cta-card .row {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .expert-cta-card,
  .section-lights {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .img-stack {
    min-height: 22rem;
  }

  .stack-img-wrap {
    position: relative;
    inset: auto;
    opacity: 1;
    transform: none;
  }

  .stack-img-wrap:not(.active) {
    display: none;
  }
}

@media (max-width: 767.98px) {

  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    padding-left: clamp(1rem, 4vw, 1.35rem);
    padding-right: clamp(1rem, 4vw, 1.35rem);
  }

  .section-pad,
  .about-split,
  .people-section,
  .exp-cards-section,
  .ind-cards-section,
  .openings-section,
  .contact-details-section,
  .contact-form-section,
  .section-lights,
  .car-intro,
  .contact-intro,
  .why-join-section {
    padding-top: clamp(3rem, 10vw, 4.5rem) !important;
    padding-bottom: clamp(3rem, 10vw, 4.5rem) !important;
  }

  .hero-title {
    width: min(100%, 18ch);
    font-size: clamp(1.85rem, 8.5vw, 2.65rem);
  }

  .hero-copy .eyebrow,
  .eyebrow,
  .section-tag,
  .section-tag-dark,
  .section-eyebrow,
  .sec-card-tag {
    font-size: 0.68rem;
    letter-spacing: 0.1em !important;
  }

  .hero-actions {
    display: flex;
    align-items: stretch;
    gap: 0.65rem;
  }

  .hero-actions .btn,
  .btn-brand,
  .btn-outline-brand,
  .cta-btn,
  .cta-submit-btn {
    min-height: 2.65rem;
    justify-content: center;
    padding: 0.72rem 0.9rem;
    font-size: 0.74rem;
  }

  .hero-stats {
    flex-direction: column;
    gap: 0.65rem;
  }

  .hero-stat,
  .hero-stat+.hero-stat {
    border-left: 0;
    border-top: 0;
    padding-left: 0;
  }

  .page-hero-title,
  .section-title,
  .section-heading,
  .abt-heading,
  .exp-hero-title,
  .ind-hero-title,
  .car-intro-title,
  .contact-intro-title,
  .cta-title {
    font-size: clamp(1.8rem, 8vw, 2.45rem) !important;
    line-height: 1.12;
    letter-spacing: 0 !important;
  }

  .section-copy,
  .abt-body,
  .page-hero-lead,
  .exp-hero-desc,
  .ind-hero-desc,
  .car-intro-desc,
  .contact-intro-desc,
  .cta-copy,
  .contact-card-text,
  .opening-desc,
  .sec-card-desc {
    font-size: clamp(0.92rem, 3.8vw, 1rem);
    line-height: 1.65;
  }

  .service-row-header,
  .opening-row-header,
  .industry-row-item,
  .contact-card-title,
  .footer-nav-list {
    align-items: flex-start;
  }

  .opening-row-header,
  .opening-row-meta,
  .opening-row-tags,
  .contact-card-title,
  .footer-nav-list,
  .menu-contact-list li {
    flex-wrap: wrap;
  }

  .opening-row-meta,
  .opening-row-tags,
  .exp-filter-group,
  .ind-filter-group,
  .openings-filter-group {
    gap: 0.5rem;
  }

  .exp-filter-inner,
  .ind-filter-inner {
    gap: 0.85rem;
  }

  .exp-filter-btn,
  .ind-filter-btn,
  .opening-filter-btn {
    flex: 0 0 auto;
    min-height: 2.5rem;
    padding: 0.6rem 0.8rem;
  }

  .member-img-wrap,
  .team-img-wrap,
  .sec-card-img-wrap,
  .icard-header {
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .contact-form-card,
  .expert-cta-card,
  .contact-card,
  .member-card,
  .sec-card,
  .icard,
  .opening-row {
    border-radius: 0.45rem;
  }

  .footer-grid {
    gap: 2rem;
  }

  .footer-bottom-bar {
    gap: 1.2rem;
  }
}

@media (max-width: 575.98px) {
  .main-navbar .container-xxl {
    min-height: 3.85rem;
  }

  .main-navbar .brand-pill img {
    max-width: min(62vw, 210px);
    max-height: 4.05rem;
  }

  .main-navbar.is-sticky .brand-pill img {
    max-height: 3.35rem;
  }

  .nav-menu-btn,
  .menu-close {
    min-width: 2.55rem;
    min-height: 2.55rem;
  }

  .hero-shell {
    min-height: auto;
  }

  .hero-content {
    padding-top: 1rem;
    padding-bottom: 2.5rem;
  }

  .hero-title {
    width: 100%;
    font-size: clamp(1.55rem, 7.4vw, 2.15rem);
    line-height: 1.14;
  }

  .hero-title-line {
    display: block;
  }

  .hero-copy .eyebrow {
    gap: 0.45rem;
    max-width: 100%;
  }

  .hero-copy .eyebrow::before {
    width: 1.45rem;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: min(100%, 18rem);
  }

  .hero-actions .btn,
  .btn-brand,
  .btn-outline-brand,
  .cta-btn,
  .cta-submit-btn {
    width: 100%;
    white-space: normal;
  }

  .hero-stat {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
  }

  .hero-stat-number {
    font-size: 1.45rem;
  }

  .hero-stat-label {
    font-size: 0.64rem;
  }

  .page-hero-shell {
    padding-top: 6.5rem;
  }

  .page-hero-title {
    font-size: clamp(1.75rem, 9vw, 2.25rem) !important;
  }

  .menu-brand img {
    max-width: min(76vw, 250px);
    max-height: 4.5rem;
  }

  .menu-canvas .offcanvas-body {
    padding: 1.1rem;
  }

  .menu-contact-icon {
    width: 2rem;
    height: 2rem;
  }

  .practice-card,
  .team-card,
  .member-card,
  .icard,
  .sec-card,
  .contact-card,
  .expert-cta-card,
  .opening-row {
    padding-left: clamp(1rem, 4vw, 1.25rem);
    padding-right: clamp(1rem, 4vw, 1.25rem);
  }

  .member-info,
  .team-info,
  .sec-card-body,
  .icard-body {
    padding-left: 0;
    padding-right: 0;
  }

  .opening-row-header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
  }

  .opening-row-meta,
  .opening-row-tags {
    grid-column: 1 / -1;
  }

  .opening-chevron {
    align-self: start;
  }

  .contact-card-title svg,
  .exp-filter-label svg,
  .ind-filter-label svg,
  .opening-chevron svg {
    flex: 0 0 auto;
  }

  .footer-nav-list {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-nav-list li:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 380px) {

  .hero-title,
  .page-hero-title,
  .section-title,
  .section-heading,
  .abt-heading,
  .exp-hero-title,
  .ind-hero-title {
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .hero-copy .eyebrow,
  .section-tag,
  .section-tag-dark,
  .section-eyebrow,
  .sec-card-tag {
    letter-spacing: 0.07em !important;
  }

  .hero-actions .btn,
  .btn-brand,
  .btn-outline-brand,
  .cta-btn,
  .cta-submit-btn {
    font-size: 0.68rem;
  }
}

/* Extra browser compatibility polish */
a,
button,
[role="button"],
.btn,
.nav-link,
.exp-filter-btn,
.ind-filter-btn,
.opening-filter-btn {
  -webkit-tap-highlight-color: rgba(229, 199, 126, 0.22);
}

button,
[type="button"],
[type="submit"],
a {
  touch-action: manipulation;
}

.page-hero-title,
.section-title,
.section-heading,
.hero-title,
.abt-heading,
.exp-hero-title,
.ind-hero-title,
.car-intro-title,
.contact-intro-title {
  word-break: normal;
  overflow-wrap: break-word;
}

.menu-contact-copy,
.contact-card-text,
.footer-col p,
.footer-col a,
.opening-desc,
.sec-card-desc,
.icard-desc,
.practice-card p {
  word-break: normal;
  overflow-wrap: anywhere;
}

@media (hover: none) and (pointer: coarse) {

  .practice-card:hover,
  .team-card:hover,
  .member-card:hover,
  .icard:hover,
  .sec-card:hover,
  .contact-card:hover,
  .industry-row-item:hover {
    transform: none !important;
  }
}

/* Inner page banner heading sizing */
.page-hero-title {
  font-size: clamp(1.9rem, 3.2vw, 2.85rem) !important;
  line-height: 1.12;
  letter-spacing: 0 !important;
  max-width: 18ch;
}

.page-hero-lead {
  font-size: clamp(0.94rem, 1.15vw, 1.06rem);
  max-width: 58rem;
}

@media (max-width: 991.98px) {
  .page-hero-title {
    font-size: clamp(1.75rem, 5.6vw, 2.35rem) !important;
    max-width: 100%;
  }
}

@media (max-width: 575.98px) {
  .page-hero-title {
    font-size: clamp(1.55rem, 7.2vw, 2rem) !important;
  }
}

/* ── Custom About Split Full-Bleed Design ── */
.about-split {

  padding: 0 !important;
  overflow: hidden;
}

.about-split-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  min-height: 520px;

}

.about-split-img-side {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.about-split-pic {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-split-text-side {
  background: #eee9e0 url('../../assets/images/pattern.jpeg') center / 400px auto repeat !important;
  background-blend-mode: soft-light !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5rem 10% 5rem 8%;
  min-width: 0;
  overflow: hidden;
}

.about-split-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 500;
  color: #231f20;
  margin-bottom: 1.5rem;
}

.about-split-para {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(0.85rem, 1vw, 0.95rem);
  text-align: justify;
  line-height: 1.8;
  color: #4a4a45;
  margin-bottom: 2rem;
  max-width: 54ch;
}

/* Arrange abt-tags in one line */
.about-split-text-side .abt-tags {
  display: flex;
  flex-wrap: nowrap !important;
  gap: 0.6rem;
  overflow-x: auto;
  scrollbar-width: none;
  /* Hide scrollbar for Firefox */
  -ms-overflow-style: none;
  /* Hide scrollbar for IE/Edge */
  padding-bottom: 0.5rem;
  width: 100%;
}

.about-split-text-side .abt-tags::-webkit-scrollbar {
  display: none;
  /* Hide scrollbar for Chrome/Safari */
}

.about-split-text-side .abt-tag {
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.82rem !important;
}

@media (max-width: 991.98px) {
  .about-split-container {
    grid-template-columns: 1fr;
  }

  .about-split-img-side {
    min-height: 350px;
    height: 350px;
  }

  .about-split-text-side {
    padding: 4rem 2rem;
  }
}

/* ── Redesigned Section 2 (Leadership & Services) ── */
.abt-leadership-section {
  background: var(--white);
  padding: 8rem 0;
  border-top: 1px solid var(--border);
}

/* Image Container styling */
.abt-leadership-img-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  background: var(--cream);
  box-shadow: var(--shadow-soft);
}

.abt-leadership-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.abt-leadership-img-box:hover img {
  transform: scale(1.05);
}

/* Right Content Column */
.abt-leadership-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-left: 2.5rem;
}

/* Eyebrow styling */
.abt-leadership-eyebrow {
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--brand-olive);
  margin-bottom: 1.5rem;
  display: inline-block;
}

/* Heading styling (matching index.html .about-split-title) */
.abt-leadership-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.9rem, 3.5vw, 2.75rem);
  font-weight: 400;
  color: var(--brand-ink);
  margin-bottom: 2rem;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* Paragraph styling (matching index.html .about-split-para) */
.abt-leadership-para {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  text-align: justify;
  line-height: 1.85;
  color: #4a4a45;
  margin-bottom: 2.5rem;
  max-width: 56ch;
}

/* CTA Block styling (matches vertical bar and link in mockup) */
.abt-leadership-cta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

/* Vertical Bar animation */
.abt-cta-bar {
  width: 2px;
  height: 2.2rem;
  background-color: var(--brand-olive);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.is-visible .abt-cta-bar {
  transform: scaleY(1);
}

/* Link styling */
.abt-cta-link {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-olive);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.3s ease;
}

.abt-cta-link:hover {
  color: var(--brand-gold);
}

.abt-cta-link .cta-arrow {
  display: inline-block;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.abt-cta-link:hover .cta-arrow {
  transform: translateX(6px);
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .abt-leadership-section {
    padding: 5rem 0;
  }

  .abt-leadership-content {
    padding-left: 0;
    margin-top: 3rem;
  }

  .abt-leadership-img-box {
    max-width: 550px;
    margin: 0 auto;
  }
}

/* ── Lawyer Profile Details Page (CV) ── */
.profile-details-section {
  padding: 5rem 0 8rem;
  background: #fcfbf7;
}

.profile-grid-container {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 4rem;
}

/* Left sidebar - photo & quick details */
.profile-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.profile-photo-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(229, 199, 126, 0.25);
  box-shadow: var(--shadow-soft);
  background: var(--cream-deep);
}

.profile-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-contact-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  padding: 2.2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.profile-contact-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--brand-ink);
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.75rem;
}

.profile-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.profile-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.profile-contact-icon {
  color: var(--brand-gold);
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.profile-contact-info {
  display: flex;
  flex-direction: column;
}

.profile-contact-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  margin-bottom: 0.15rem;
}

.profile-contact-value {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  color: var(--brand-ink);
  text-decoration: none;
  word-break: break-all;
  transition: color 0.3s ease;
}

a.profile-contact-value:hover {
  color: var(--brand-gold);
}

/* Right content area - Bio, Education, Qualifications */
.profile-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.profile-section-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 500;
  color: var(--brand-ink);
  margin-bottom: 1.25rem;
  position: relative;
  padding-bottom: 0.5rem;
}

.profile-section-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background-color: var(--brand-gold);
}

.profile-bio-text {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.85;
  color: #4a4a45;
  text-align: justify;
}

.profile-bio-text p {
  margin-bottom: 1.25rem;
}

.profile-bio-text p:last-child {
  margin-bottom: 0;
}

/* CV Lists (Education, Qualifications) */
.profile-cv-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.profile-cv-item {
  position: relative;
  padding-left: 2rem;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.7;
  color: #4a4a45;
}

.profile-cv-item::before {
  content: "";
  position: absolute;
  left: 0.5rem;
  top: 0.65rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--brand-gold);
}

/* CTA Card */
.profile-cta-card {
  margin-top: 2rem;
  background: linear-gradient(135deg, var(--brand-olive) 0%, #2f3122 100%);
  border-radius: 1.5rem;
  padding: 2.5rem;
  color: #fff;
  box-shadow: var(--shadow-deep);
  position: relative;
  overflow: hidden;
}

.profile-cta-card::before {
  content: "";
  position: absolute;
  width: 15rem;
  height: 15rem;
  right: -5rem;
  top: -5rem;
  border-radius: 50%;
  border: 1px solid rgba(229, 199, 126, 0.08);
  pointer-events: none;
}

.profile-cta-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--brand-gold);
  margin-bottom: 1rem;
}

.profile-cta-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 1.8rem;
}

.profile-cta-card .btn-brand {
  border-radius: 0;
  padding: 0.75rem 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.85rem;
  width: 100%;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  background-color: var(--brand-gold);
  color: var(--brand-ink);
  border-color: var(--brand-gold);
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.profile-cta-card .btn-brand:hover {
  background-color: #fff;
  border-color: #fff;
  color: var(--brand-ink);
}

/* Card hover fixes */
.member-card-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .profile-grid-container {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .profile-sidebar {
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
  }

  .profile-content {
    gap: 2.5rem;
  }
}

/* ── Redesigned Sticky Profile Layout (CV Details) ── */
.profile-sticky-section {
  padding-top: calc(var(--nav-height) + 4rem);
  padding-bottom: 7rem;
  background: #fcfbf7;
}

.profile-sticky-container {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 5rem;
  align-items: start;
  /* Critical for sticky sidebar */
}

/* Sticky Left Sidebar Wrapper */
.profile-sticky-container .profile-sidebar {
  position: sticky;
  top: calc(var(--nav-height) + 3rem);
  z-index: 10;
}

/* Sticky Left Sidebar Card */
.profile-sidebar-card {
  width: 100%;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(229, 199, 126, 0.15);
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* Top Portrait Section */
.profile-card-image-box {
  width: 100%;
  aspect-ratio: 4 / 4.2;
  background: var(--cream);
  overflow: hidden;
  position: relative;
}

.profile-card-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* Bottom Olive Box */
.profile-card-details-box {
  background-color: var(--brand-olive);
  padding: 2.2rem;
  color: #ffffff;
}

.profile-card-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 0.5rem 0;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.profile-card-role {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--brand-gold);
  margin-bottom: 1.8rem;
  display: block;
}

.profile-card-role-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.8rem;
}

.profile-card-role-container .profile-card-role {
  margin-bottom: 0;
  display: inline-block;
}

.profile-linkedin-link {
  color: var(--brand-gold);
  transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
  display: inline-flex;
  align-items: center;
  opacity: 0.9;
}

.profile-linkedin-link svg {
  width: 22px;
  height: 22px;
}

.profile-linkedin-link:hover {
  color: #ffffff;
  opacity: 1;
  transform: translateY(-2px);
}

/* Profile Right Header Group */
.profile-header-group {
  margin-bottom: 2.2rem;
}

.profile-upper-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--gold-dk);
  display: block;
}

.profile-header-divider {
  width: 40px;
  height: 2px;
  background-color: var(--gold);
  border: none;
  margin: 0.8rem 0 1.2rem 0;
  opacity: 1;
}

.profile-member-name {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.85rem, 3vw, 2.5rem);
  font-weight: 500;
  color: var(--brand-ink);
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
}

.profile-member-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.80rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold-dk);
  display: block;
}

.profile-card-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.profile-card-contact-item {
  display: flex;
  flex-direction: column;
}

.profile-card-contact-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 0.2rem;
}

.profile-card-contact-value {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.92rem;
  color: #ffffff;
  text-decoration: none;
  word-break: break-all;
  transition: color 0.3s ease;
  font-weight: 400;
}

a.profile-card-contact-value:hover {
  color: var(--brand-gold);
  text-decoration: underline;
}

/* Right Content Area */
.profile-sticky-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.profile-intro-headline {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--brand-ink);
  margin: 0 0 2rem 0;
  letter-spacing: -0.01em;
}

/* Responsive Stacking */
@media (max-width: 991.98px) {
  .profile-sticky-section {
    padding-top: calc(var(--nav-height) + 2.5rem);
    padding-bottom: 5rem;
  }

  .profile-sticky-container {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .profile-sticky-container .profile-sidebar {
    position: static !important;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }

  .profile-sidebar-card {
    position: static;
    max-width: 100%;
    margin: 0 auto;
  }

  .profile-intro-headline {
    margin-top: 1rem;
  }
}

/* Darken hamburger menu toggler on lawyer profiles when navbar is transparent in mobile view */
body:has(.profile-sticky-section) .main-navbar:not(.is-sticky) .nav-menu-btn {
  color: var(--brand-ink) !important;
  background: rgba(0, 0, 0, 0.06) !important;
}

body:has(.profile-sticky-section) .main-navbar:not(.is-sticky) .nav-menu-btn span {
  background: var(--brand-ink) !important;
}

/* --- Extracted from people-*.html (navbar overrides) --- */
body:has(.profile-sticky-section) .main-navbar:not(.is-sticky) .nav-link {
  color: rgba(10, 13, 18, 0.97) !important;
}

body:has(.profile-sticky-section) .main-navbar:not(.is-sticky) .nav-link.active {
  color: rgba(10, 13, 18, 0.70) !important;
}

body:has(.profile-sticky-section) .main-navbar:not(.is-sticky) .nav-link:hover {
  color: rgba(10, 13, 18, 1) !important;
}

/* --- Extracted from people.html (placeholder styling) --- */
.member-img-wrap.has-placeholder {
  align-items: center !important;
  background: var(--brand-cream-deep) !important;
}

.member-placeholder-icon {
  width: 35%;
  height: 35%;
  color: var(--brand-olive);
  opacity: 0.5;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  position: relative;
  z-index: 1;
}

.member-card:hover .member-placeholder-icon {
  transform: scale(1.1);
}

/* --- Extracted from careers.html (general application card) --- */
.careers-general-application-card {
  background: #ffffff;
  border: 1px solid rgba(69, 71, 49, 0.12);
  border-radius: 1.5rem;
  padding: 3.5rem;
  box-shadow: var(--shadow-soft);
  position: relative;
  overflow: hidden;
  margin-top: 1.5rem;
  text-align: left;
}

.careers-general-application-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--brand-gold);
}

.general-app-content {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 3.5rem;
  align-items: center;
}

.general-app-status-badge {
  display: inline-block;
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand-olive);
  background: var(--brand-cream-deep);
  padding: 0.45rem 1rem;
  border-radius: 2rem;
  margin-bottom: 1.5rem;
}

.general-app-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2.25rem;
  font-weight: 600;
  color: var(--brand-ink);
  margin: 0 0 1.25rem 0;
  line-height: 1.2;
}

.general-app-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.05rem;
  text-align: justify;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 1rem;
}

.general-app-desc:last-of-type {
  margin-bottom: 0;
}

.general-app-action-box {
  background: var(--brand-cream);
  border: 1px dashed rgba(69, 71, 49, 0.25);
  border-radius: 1rem;
  padding: 2.5rem;
  text-align: center;
  transition: all 0.3s ease;
}

.general-app-action-box:hover {
  border-color: var(--brand-gold);
  transform: translateY(-2px);
}

.action-box-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--brand-ink);
  margin: 0 0 0.5rem 0;
}

.action-box-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  color: var(--muted);
  margin-bottom: 1.5rem;
  line-height: 1.5;
}

@media (max-width: 991px) {
  .general-app-content {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .careers-general-application-card {
    padding: 2.5rem;
  }

  .general-app-action-box {
    padding: 2rem;
  }
}

/* ==========================================================================
   PRACTICE AREA DETAIL PAGES (Commercial, M&A, etc.)
   ========================================================================== */

/* ─── Hero ─── */
/* Layout, background media, and overlays are unified under .page-hero-shell */

.comm-hero-tag,
.ma-hero-tag,
.practice-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-gold);
  margin-bottom: 1.1rem;
}

.comm-hero-tag::before,
.ma-hero-tag::before,
.practice-hero-tag::before {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.5px;
  background: var(--brand-gold);
  opacity: 0.7;
}

/* ─── Body Layout ─── */
.comm-body-section,
.ma-body-section,
.practice-body-section {
  padding: 5.5rem 0 4rem;
  background: #fcfbf7;
}

.comm-sidebar,
.ma-sidebar,
.practice-sidebar {
  position: sticky;
  top: calc(var(--nav-height) + 2rem);
}

.comm-sidebar-tag,
.ma-sidebar-tag,
.practice-sidebar-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-dk);
  margin-bottom: 0.75rem;
}

.comm-sidebar-rule,
.ma-sidebar-rule,
.practice-sidebar-rule {
  width: 2.2rem;
  border: none;
  border-top: 2px solid var(--brand-gold);
  opacity: 0.55;
  margin: 0 0 1.4rem;
}

.comm-sidebar-label,
.ma-sidebar-label,
.practice-sidebar-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.4rem;
}

.comm-sidebar-value,
.ma-sidebar-value,
.practice-sidebar-value {
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.5;
  margin-bottom: 1.4rem;
}

.comm-sidebar-cta,
.ma-sidebar-cta,
.practice-sidebar-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  background: var(--brand-ink);
  border: 1.5px solid var(--brand-ink);
  padding: 0.7rem 1.3rem;
  text-decoration: none;
  transition: background 0.28s, color 0.28s, border-color 0.28s, gap 0.2s;
  margin-top: 0.5rem;
}

.comm-sidebar-cta:hover,
.ma-sidebar-cta:hover,
.practice-sidebar-cta:hover {
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  color: var(--brand-ink);
  gap: 0.85rem;
}

.comm-sidebar-cta svg,
.ma-sidebar-cta svg,
.practice-sidebar-cta svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  transition: transform 0.2s;
}

.comm-sidebar-cta:hover svg,
.ma-sidebar-cta:hover svg,
.practice-sidebar-cta:hover svg {
  transform: translateX(3px);
}

.comm-sidebar-divider,
.ma-sidebar-divider,
.practice-sidebar-divider {
  border: none;
  border-top: 1px solid var(--border);
  margin: 1.2rem 0 1.4rem;
}

/* ─── Prose & Typography ─── */
.comm-prose h2,
.ma-prose h2,
.practice-prose h2 {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  font-weight: 500;
  color: var(--ink);
  line-height: 1.2;
  margin: 0 0 1.4rem;
}

.comm-prose p,
.ma-prose p,
.practice-prose p {
  font-size: 1rem;
  line-height: 1.82;
  color: #3a3935;
  margin-bottom: 1.5rem;
}

.comm-prose p:last-child,
.ma-prose p:last-child,
.practice-prose p:last-child {
  margin-bottom: 0;
}

.comm-intro-bar,
.ma-intro-bar,
.practice-intro-bar {
  width: 2.8rem;
  border: none;
  border-top: 2.5px solid var(--brand-gold);
  opacity: 0.6;
  margin: 0 0 2rem;
}

.comm-pullquote,
.ma-pullquote,
.practice-pullquote {
  border-left: 3px solid var(--brand-gold);
  padding: 1.5rem 2rem;
  margin: 2.8rem 0;
  background: rgba(229, 199, 126, 0.05);
  position: relative;
}

.comm-pullquote::before,
.ma-pullquote::before,
.practice-pullquote::before {
  content: "\201C";
  position: absolute;
  top: -0.6rem;
  left: 1.3rem;
  font-family: 'Outfit', serif;
  font-size: 3.5rem;
  color: var(--brand-gold);
  opacity: 0.3;
  line-height: 1;
}

.comm-pullquote p,
.ma-pullquote p,
.practice-pullquote p {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 500;
  line-height: 1.6;
  color: var(--brand-olive);
  margin: 0;
  font-style: italic;
}

/* ─── Related Practices Infinite Marquee ─── */
.comm-related-section,
.practice-related-section {
  padding: 4rem 0 5rem;
  background: var(--brand-ink);
  border-top: 1px solid rgba(229, 199, 126, 0.12);
  overflow: hidden;
}

.comm-related-eyebrow,
.practice-related-eyebrow {
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-gold);
  margin-bottom: 0.5rem;
}

.comm-related-title,
.practice-related-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 400;
  color: #fff;
  margin-bottom: 2.5rem;
}

.comm-marquee-wrapper,
.practice-marquee-wrapper {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

.comm-marquee-track,
.practice-marquee-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: practice-scroll 42s linear infinite;
}

.comm-marquee-track:hover,
.practice-marquee-track:hover {
  animation-play-state: paused;
}

@keyframes practice-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes comm-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.comm-rel-card,
.practice-rel-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.3rem 1.5rem;
  width: 220px;
  flex-shrink: 0;
  border: 1px solid rgba(229, 199, 126, 0.15);
  text-decoration: none;
  transition: border-color 0.28s, background 0.28s;
  cursor: pointer;
}

.comm-rel-card:hover,
.practice-rel-card:hover {
  border-color: rgba(229, 199, 126, 0.5);
  background: rgba(229, 199, 126, 0.06);
}

.comm-rel-tag,
.practice-rel-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-gold);
  opacity: 0.65;
}

.comm-rel-num,
.practice-rel-num {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(229, 199, 126, 0.25);
  margin-bottom: 0.1rem;
}

.comm-rel-name,
.practice-rel-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.98rem;
  font-weight: 500;
  color: #fff;
  margin: 0;
  transition: color 0.25s;
  line-height: 1.3;
}

.comm-rel-card:hover .comm-rel-name,
.practice-rel-card:hover .practice-rel-name {
  color: var(--brand-gold);
}

.comm-rel-arrow,
.practice-rel-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 0.25rem;
  transition: color 0.25s, gap 0.2s;
}

.comm-rel-card:hover .comm-rel-arrow,
.practice-rel-card:hover .practice-rel-arrow {
  color: var(--brand-gold);
  gap: 0.65rem;
}

.comm-rel-arrow svg,
.practice-rel-arrow svg {
  width: 11px;
  height: 11px;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {

  .comm-marquee-track,
  .practice-marquee-track {
    animation: none;
  }
}

@media (max-width: 991px) {

  .comm-sidebar,
  .ma-sidebar,
  .practice-sidebar {
    position: static;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--border);
  }
}