
:root {
  --cream: #F6EFE5;
  --paper: #FFFAF3;
  --navy: #102033;
  --navy2: #17283D;
  --gold: #B58E4B;
  --softgold: #D6BD85;
  --muted: #5f6876;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--navy);
  font-family: Georgia, 'Times New Roman', serif;
}
.site-header {
  text-align: center;
  padding: 54px 24px 32px;
  background: var(--cream);
}
.logo-wrap img {
  width: 380px;
  max-width: 82vw;
  height: auto;
  display: block;
  margin: 0 auto 10px;
  background: transparent;
}
.gold-line {
  width: 260px;
  height: 1px;
  margin: 28px auto;
  background: var(--gold);
}
nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  font: 12px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 2.2px;
}
nav a {
  color: var(--navy);
  text-decoration: none;
}
nav a:hover { color: var(--gold); }
.statement {
  text-align: center;
  max-width: 1100px;
  margin: auto;
  padding: 88px 24px 90px;
}
.eyebrow {
  color: var(--gold);
  font: 12px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 5px;
  margin: 0 0 20px;
}
h1, h2, h3 { font-weight: 400; }
h1 {
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.05;
  margin: 0;
  color: var(--navy);
}
h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.08;
  margin: 0 0 18px;
  color: var(--navy);
}
h3 { font-size: 26px; color: var(--navy); }
p {
  font: 18px/1.8 Arial, sans-serif;
  color: var(--muted);
}
.statement p {
  max-width: 790px;
  margin: 28px auto;
  font-size: 20px;
}
.btn {
  display: inline-block;
  margin-top: 18px;
  background: var(--gold);
  color: white;
  text-decoration: none;
  padding: 15px 24px;
  font: 12px Arial, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 0;
  cursor: pointer;
}
.btn.subtle {
  background: transparent;
  color: var(--navy);
  border: 1px solid var(--gold);
}
.intro-note {
  max-width: 920px;
  margin: 0 auto 60px;
  padding: 0 24px;
  text-align: center;
}
.intro-note p {
  font-size: 21px;
  color: var(--navy);
}
.pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(181,142,75,.45);
  border-bottom: 1px solid rgba(181,142,75,.45);
}
.pillars a {
  min-height: 300px;
  padding: 42px 32px;
  color: var(--navy);
  text-decoration: none;
  border-right: 1px solid rgba(181,142,75,.28);
  background: rgba(255,250,243,.35);
}
.pillars a:hover { background: rgba(181,142,75,.10); }
.feature {
  max-width: 1100px;
  margin: auto;
  padding: 100px 24px;
}
.feature.dark {
  background: var(--paper);
  max-width: none;
  padding-left: max(24px, calc((100vw - 1100px) / 2));
  padding-right: max(24px, calc((100vw - 1100px) / 2));
}
.page-title {
  max-width: 1100px;
  margin: auto;
  padding: 85px 24px 70px;
  text-align: center;
}
.article-title { max-width: 950px; }
.insight-group {
  max-width: 1180px;
  margin: auto;
  padding: 50px 24px 70px;
}
.article-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 30px;
}
.article-grid a {
  display: block;
  min-height: 230px;
  color: var(--navy);
  text-decoration: none;
  padding: 30px;
  border: 1px solid rgba(181,142,75,.30);
  background: rgba(255,250,243,.65);
}
.article-grid a:hover { background: rgba(181,142,75,.10); }
.article-grid a span {
  color: var(--gold);
  font: 11px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.article-layout {
  max-width: 1180px;
  margin: auto;
  padding: 50px 24px 110px;
  display: grid;
  grid-template-columns: minmax(0, 820px) 260px;
  gap: 70px;
}
.article-layout article p { color: #303a49; }
.article-layout aside {
  position: sticky;
  top: 20px;
  border-left: 1px solid var(--gold);
  padding-left: 24px;
}
.article-layout aside a {
  display: block;
  color: var(--navy);
  text-decoration: none;
  padding: 10px 0;
  font: 14px Arial, sans-serif;
}
.cta-box {
  margin-top: 48px;
  padding: 34px;
  border: 1px solid var(--gold);
  background: rgba(255,250,243,.65);
}
.contact {
  max-width: 1100px;
  margin: auto;
  padding: 70px 24px 110px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 60px;
}
form {
  border: 1px solid rgba(181,142,75,.40);
  padding: 34px;
  background: rgba(255,250,243,.45);
}
label {
  display: block;
  margin-bottom: 18px;
  color: var(--gold);
  font: 12px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.6px;
}
input, textarea {
  width: 100%;
  margin-top: 8px;
  padding: 14px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(181,142,75,.40);
  color: var(--navy);
  font: 16px Arial, sans-serif;
}
.site-footer {
  border-top: 1px solid rgba(181,142,75,.45);
  text-align: center;
  padding: 55px 24px;
  background: var(--cream);
}
.site-footer img {
  width: 260px;
  max-width: 72vw;
  background: transparent;
}
.fineprint {
  font-size: 13px;
  opacity: .8;
}
@media (max-width: 900px) {
  .pillars, .article-grid, .article-layout, .contact {
    grid-template-columns: 1fr;
  }
  .pillars a {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(181,142,75,.25);
  }
  nav { gap: 16px; }
}


/* V9 refinements */
.statement{
  padding-top:60px !important;
  padding-bottom:60px !important;
}
.statement h1{
  font-size:clamp(38px,5vw,64px) !important;
}
.btn{
  margin-top:10px !important;
}


/* V10 Warm Ivory + Header/Typerhythm Refinements */
:root {
  --cream: #F8F6F1 !important;
  --paper: #FDFBF7 !important;
  --navy: #102033 !important;
  --navy2: #17283D !important;
  --gold: #B58E4B !important;
  --softgold: #D6BD85 !important;
  --muted: #4F5B6B !important;
}

body {
  background: var(--cream) !important;
}

.site-header {
  padding-top: 34px !important;
  padding-bottom: 22px !important;
}

.logo-wrap img {
  width: 350px !important;
  margin-bottom: 0 !important;
}

.gold-line {
  margin-top: 12px !important;
  margin-bottom: 18px !important;
  width: 230px !important;
}

nav {
  gap: 28px !important;
  font-family: Arial, sans-serif !important;
  letter-spacing: 2px !important;
}

.statement {
  padding-top: 42px !important;
  padding-bottom: 52px !important;
}

.statement h1 {
  font-size: clamp(36px, 4.7vw, 58px) !important;
  line-height: 1.08 !important;
}

.statement p {
  font-size: 18px !important;
  max-width: 760px !important;
}

.intro-note {
  margin-bottom: 42px !important;
}

.intro-note p {
  font-size: 19px !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.pillars a {
  min-height: 250px !important;
}

.pillars h2 {
  font-size: clamp(25px, 2.6vw, 36px) !important;
}

.pillars p,
.article-grid p,
.contact p,
.feature p,
.article-layout article p {
  font-family: Arial, sans-serif !important;
}

.page-title h1 {
  font-size: clamp(40px, 5vw, 68px) !important;
}

.insight-group h2 {
  font-size: clamp(32px, 3.8vw, 52px) !important;
}

.site-footer {
  background: var(--cream) !important;
}


/* V12 final direction: larger logo, tighter header, hero divider, no icons */
:root {
  --cream: #F8F6F1 !important;
  --paper: #FDFBF7 !important;
  --navy: #102033 !important;
  --gold: #B58E4B !important;
  --muted: #4F5B6B !important;
}

body {
  background: var(--cream) !important;
  color: var(--navy) !important;
}

.site-header {
  padding-top: 18px !important;
  padding-bottom: 20px !important;
}

.logo-wrap img {
  width: 460px !important;
  max-width: 86vw !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.gold-line {
  width: 250px !important;
  height: 1px !important;
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  background: var(--gold) !important;
}

nav {
  gap: 32px !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2.2px !important;
}

.statement {
  padding-top: 46px !important;
  padding-bottom: 36px !important;
  position: relative !important;
}

.statement::before {
  content: "";
  display: block;
  width: 220px;
  height: 1px;
  background: var(--gold);
  margin: 0 auto 48px;
}

.statement h1 {
  font-size: clamp(40px, 5.4vw, 70px) !important;
  line-height: 1.06 !important;
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--navy) !important;
}

.statement p {
  max-width: 800px !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
  margin-top: 26px !important;
}

.btn {
  margin-top: 20px !important;
  background: var(--gold) !important;
}

.intro-note {
  margin-top: 10px !important;
  margin-bottom: 58px !important;
  max-width: 860px !important;
}

.intro-note .eyebrow {
  margin-bottom: 16px !important;
  text-align: center !important;
  color: var(--gold) !important;
}

.intro-note p:not(.eyebrow) {
  color: var(--muted) !important;
  font-size: 18px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
}

.pillars {
  grid-template-columns: repeat(4, 1fr) !important;
}

.pillars a {
  min-height: 270px !important;
  padding: 44px 36px 36px !important;
  background: rgba(255,250,243,.35) !important;
}

.pillar-label {
  color: var(--gold) !important;
  font: 11px Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2.6px !important;
  margin: 0 0 24px !important;
}

.pillars h2 {
  font-size: clamp(28px, 2.7vw, 38px) !important;
  line-height: 1.12 !important;
  margin-bottom: 22px !important;
}

.pillars p:not(.pillar-label) {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
}

.pillars span {
  display: inline-block;
  margin-top: 24px;
  color: var(--gold);
  font: 12px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

.feature {
  padding-top: 90px !important;
}

h1, h2, h3 {
  color: var(--navy) !important;
}

p {
  color: var(--muted);
}

@media (max-width: 900px) {
  .logo-wrap img {
    width: 340px !important;
  }
  .statement {
    padding-top: 30px !important;
  }
  .statement::before {
    margin-bottom: 34px !important;
  }
  .pillars {
    grid-template-columns: 1fr !important;
  }
}


/* V13 approved mockup match */
:root {
  --cream: #F8F6F1 !important;
  --paper: #FDFBF7 !important;
  --navy: #102033 !important;
  --gold: #B58E4B !important;
  --muted: #445164 !important;
  --line: rgba(181,142,75,.32) !important;
}

body {
  background: var(--cream) !important;
  color: var(--navy) !important;
}

/* Header + logo */
.site-header {
  padding: 16px 24px 0 !important;
  background: var(--cream) !important;
}

.logo-wrap img {
  width: 560px !important;
  max-width: 88vw !important;
  display: block !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.site-header > .gold-line {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  display: none !important;
}

nav {
  margin-top: 26px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 48px !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
}

nav a {
  color: var(--navy) !important;
  text-decoration: none !important;
}

/* Hero */
.statement {
  padding: 58px 24px 46px !important;
  text-align: center !important;
}

.statement::before {
  content: "";
  display: block;
  width: 360px;
  max-width: 70vw;
  height: 1px;
  background: var(--gold);
  margin: 0 auto 56px;
}

.statement h1 {
  font-size: clamp(38px, 4.9vw, 64px) !important;
  line-height: 1.12 !important;
  max-width: 790px !important;
  margin: 0 auto !important;
  color: var(--navy) !important;
}

.statement p {
  max-width: 820px !important;
  margin: 30px auto 0 !important;
  color: var(--muted) !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  font-family: Arial, sans-serif !important;
}

.btn {
  margin-top: 32px !important;
  background: var(--gold) !important;
  color: white !important;
  padding: 17px 34px !important;
  border: 0 !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2.4px !important;
}

/* Philosophy */
.intro-note {
  max-width: 820px !important;
  margin: 30px auto 64px !important;
  padding: 0 24px !important;
  text-align: center !important;
}

.philosophy-line {
  width: 250px;
  height: 1px;
  background: var(--gold);
  margin: 0 auto 28px;
}

.intro-note .eyebrow {
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

.intro-note p:not(.eyebrow) {
  color: var(--muted) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  font-family: Arial, sans-serif !important;
}

/* Pillars */
.pillars {
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

.pillars a {
  min-height: 330px !important;
  padding: 44px 34px 36px !important;
  text-align: center !important;
  background: rgba(255,250,243,.38) !important;
  border-right: 1px solid var(--line) !important;
  text-decoration: none !important;
}

.pillar-label {
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2.7px !important;
  text-transform: uppercase !important;
  margin: 0 0 26px !important;
}

.pillars h2 {
  font-size: clamp(25px, 2.25vw, 34px) !important;
  line-height: 1.15 !important;
  margin: 0 0 25px !important;
  color: var(--navy) !important;
}

.pillars p:not(.pillar-label) {
  color: var(--muted) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  margin: 0 auto !important;
  max-width: 230px !important;
  font-family: Arial, sans-serif !important;
}

.pillars span {
  display: inline-block !important;
  margin-top: 30px !important;
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

/* Feature + general */
.feature {
  padding-top: 86px !important;
}

h1, h2, h3 {
  color: var(--navy) !important;
}

p {
  color: var(--muted);
}

@media (max-width: 900px) {
  .logo-wrap img {
    width: 390px !important;
  }
  nav {
    gap: 18px !important;
    letter-spacing: 2px !important;
    font-size: 12px !important;
  }
  .statement {
    padding-top: 38px !important;
  }
  .statement::before {
    margin-bottom: 38px !important;
  }
  .statement h1 {
    font-size: clamp(34px, 9vw, 48px) !important;
  }
  .pillars {
    grid-template-columns: 1fr !important;
  }
  .pillars a {
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }
}


/* V14 Knowledge Center refinement */
.page-title {
  padding-top: 48px !important;
  padding-bottom: 42px !important;
}

.page-title::before {
  content: "";
  display: block;
  width: 260px;
  height: 1px;
  background: var(--gold);
  margin: 0 auto 42px;
}

.page-title .eyebrow {
  margin-bottom: 16px !important;
}

.page-title h1 {
  font-size: clamp(42px, 4.8vw, 68px) !important;
}

.page-title p {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
}


/* V15 homepage spacing polish */
.logo-wrap img {
  width: 600px !important;
  max-width: 88vw !important;
}

.site-header {
  padding-top: 12px !important;
  padding-bottom: 0 !important;
}

nav {
  margin-top: 24px !important;
}

.statement {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

.statement::before {
  width: 520px !important;
  max-width: 76vw !important;
  margin: 0 auto 42px !important;
}

.statement h1 {
  font-size: clamp(36px, 4.4vw, 58px) !important;
  line-height: 1.13 !important;
  max-width: 780px !important;
}

.statement p {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
}

.statement .btn {
  margin-top: 32px !important;
}

.philosophy-line {
  display: none !important;
}

.intro-note {
  margin-top: 42px !important;
  margin-bottom: 58px !important;
}

.intro-note .eyebrow {
  margin-top: 0 !important;
}

.pillars {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .logo-wrap img {
    width: 420px !important;
  }
  .statement::before {
    width: 260px !important;
  }
}


/* V16 approved homepage mockup incorporation */
:root {
  --cream: #F8F6F1 !important;
  --paper: #FDFBF7 !important;
  --navy: #102033 !important;
  --gold: #B58E4B !important;
  --muted: #445164 !important;
  --line: rgba(181,142,75,.30) !important;
}

body {
  background: var(--cream) !important;
  color: var(--navy) !important;
}

/* Header: larger logo, tighter and more uniform vertical rhythm */
.site-header {
  padding: 8px 24px 0 !important;
  background: var(--cream) !important;
  text-align: center !important;
}

.logo-wrap img {
  width: 540px !important;
  max-width: 88vw !important;
  display: block !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.site-header > .gold-line {
  display: none !important;
}

nav {
  margin-top: 22px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 46px !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
}

nav a {
  color: var(--navy) !important;
  text-decoration: none !important;
}

/* Hero */
.statement {
  padding: 38px 24px 42px !important;
  text-align: center !important;
}

.statement::before {
  content: "";
  display: block;
  width: 560px !important;
  max-width: 76vw !important;
  height: 1px;
  background: var(--gold);
  margin: 0 auto 52px !important;
}

.statement h1 {
  font-size: clamp(38px, 4.8vw, 64px) !important;
  line-height: 1.12 !important;
  max-width: 790px !important;
  margin: 0 auto !important;
  color: var(--navy) !important;
}

.statement p {
  max-width: 820px !important;
  margin: 30px auto 0 !important;
  color: var(--muted) !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  font-family: Arial, sans-serif !important;
}

.btn {
  margin-top: 34px !important;
  background: var(--gold) !important;
  color: white !important;
  padding: 17px 34px !important;
  border: 0 !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2.4px !important;
}

/* Philosophy: no extra gold line */
.philosophy-line {
  display: none !important;
}

.intro-note {
  max-width: 820px !important;
  margin: 28px auto 64px !important;
  padding: 0 24px !important;
  text-align: center !important;
}

.intro-note::before {
  content: none !important;
}

.intro-note .eyebrow {
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

.intro-note p:not(.eyebrow) {
  color: var(--muted) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  font-family: Arial, sans-serif !important;
}

/* Practice area cards */
.pillars {
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  margin-top: 0 !important;
}

.pillars a {
  min-height: 320px !important;
  padding: 44px 34px 36px !important;
  text-align: center !important;
  background: rgba(255,250,243,.38) !important;
  border-right: 1px solid var(--line) !important;
  text-decoration: none !important;
}

.pillar-label {
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2.7px !important;
  text-transform: uppercase !important;
  margin: 0 0 26px !important;
}

.pillars h2 {
  font-size: clamp(25px, 2.25vw, 34px) !important;
  line-height: 1.15 !important;
  margin: 0 0 25px !important;
  color: var(--navy) !important;
}

.pillars p:not(.pillar-label) {
  color: var(--muted) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  margin: 0 auto !important;
  max-width: 230px !important;
  font-family: Arial, sans-serif !important;
}

.pillars span {
  display: inline-block !important;
  margin-top: 30px !important;
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

/* About preview below services */
.about-preview {
  max-width: 880px;
  margin: 0 auto;
  padding: 66px 24px 34px;
  text-align: center;
}

.about-preview .eyebrow {
  color: var(--gold) !important;
  font-family: Arial, sans-serif !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
}

.about-preview h2 {
  font-size: clamp(30px, 3.2vw, 42px) !important;
  margin: 10px 0 18px !important;
  color: var(--navy) !important;
}

.about-preview p {
  max-width: 720px !important;
  margin: 0 auto !important;
  color: var(--muted) !important;
  font-family: Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
}

/* Feature */
.feature {
  padding-top: 64px !important;
}

h1, h2, h3 {
  color: var(--navy) !important;
}

p {
  color: var(--muted);
}

@media (max-width: 900px) {
  .logo-wrap img {
    width: 390px !important;
  }
  nav {
    gap: 18px !important;
    letter-spacing: 2px !important;
    font-size: 12px !important;
  }
  .statement {
    padding-top: 32px !important;
  }
  .statement::before {
    width: 300px !important;
    margin-bottom: 38px !important;
  }
  .statement h1 {
    font-size: clamp(34px, 9vw, 48px) !important;
  }
  .pillars {
    grid-template-columns: 1fr !important;
  }
  .pillars a {
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }
}


/* V17: specifically reduce gap between logo tagline and navigation */
.site-header {
  padding-top: 6px !important;
  padding-bottom: 0 !important;
}

.logo-wrap {
  display: block !important;
  margin: 0 auto !important;
  line-height: 0 !important;
}

.logo-wrap img {
  margin-bottom: 0 !important;
  display: block !important;
}

/* This is the key fix: move ABOUT / PRACTICE AREAS / INSIGHTS / CONTACT up */
.site-header nav,
nav {
  margin-top: -36px !important;
  padding-top: 0 !important;
}

/* Keep the hero divider positioned after the now-tightened header */
.statement {
  padding-top: 38px !important;
}

@media (max-width: 900px) {
  .site-header nav,
  nav {
    margin-top: -20px !important;
  }
}


/* V18 landing page polish */
/* Remove duplicated landing-page labels and reduce oversized landing-page headlines */
.page-title {
  padding-top: 38px !important;
  padding-bottom: 46px !important;
}

.page-title::before {
  content: "";
  display: block;
  width: 320px;
  max-width: 70vw;
  height: 1px;
  background: var(--gold);
  margin: 0 auto 38px;
}

.page-title h1 {
  font-size: clamp(34px, 4.2vw, 58px) !important;
  line-height: 1.1 !important;
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-title p {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep article pages strong but prevent oversized overflow */
.article-title h1 {
  font-size: clamp(38px, 4.8vw, 66px) !important;
  line-height: 1.08 !important;
}

/* If a landing page still has an eyebrow, keep it refined */
.page-title > .eyebrow {
  margin-bottom: 14px !important;
}

/* Reduce global page hero headline overflow on practice/contact/about pages */
.content h2,
.contact h2 {
  font-size: clamp(30px, 3.5vw, 48px) !important;
}


/* V20 integrated strategic enhancements */
nav {
  gap: 22px !important;
  row-gap: 12px !important;
}

.text-link-inline,
.preview-links a {
  display: inline-block;
  margin-top: 18px;
  color: var(--gold);
  text-decoration: none;
  font: 12px Arial, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.preview-links {
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 60px;
  max-width: 1120px;
  margin: 0 auto;
}

.profile-card {
  border-left: 1px solid var(--gold);
  padding-left: 28px;
}

.profile-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font: 17px/1.8 Arial, sans-serif;
}

.who-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 50px 24px 100px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.who-grid article,
.approach-list article {
  border: 1px solid rgba(181,142,75,.30);
  background: rgba(255,250,243,.55);
  padding: 34px;
}

.approach-page {
  max-width: 980px;
}

.lead-paragraph {
  font-size: 22px !important;
  color: var(--navy) !important;
  line-height: 1.8 !important;
  text-align: center;
  margin-bottom: 54px;
}

.approach-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.attorney-page h2,
.approach-list h2,
.who-grid h2 {
  font-size: clamp(28px, 3vw, 42px) !important;
}

@media (max-width: 900px) {
  .two-col,
  .who-grid {
    grid-template-columns: 1fr;
  }
  .profile-card {
    border-left: 0;
    border-top: 1px solid var(--gold);
    padding-left: 0;
    padding-top: 28px;
  }
}


/* V27 logo incorporation */
.logo-wrap img,
.site-footer img {
  object-fit: contain !important;
  background: transparent !important;
}

.logo-wrap img {
  width: 540px !important;
  max-width: 88vw !important;
}

.site-footer img {
  width: 280px !important;
  max-width: 72vw !important;
}


/* V28 logo fix: transparent cropped logo and clean header spacing */
.site-header {
  padding-top: 10px !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.logo-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  line-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.logo-wrap img {
  display: block !important;
  width: 520px !important;
  max-width: 86vw !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  margin: 0 auto !important;
}

.site-header nav,
nav {
  margin-top: 16px !important;
  padding-top: 0 !important;
  clear: both !important;
  position: relative !important;
  z-index: 2 !important;
}

.statement {
  padding-top: 36px !important;
}

@media (max-width: 900px) {
  .logo-wrap img {
    width: 390px !important;
  }
  .site-header nav,
  nav {
    margin-top: 12px !important;
  }
}

/* V29 Knowledge Center restoration */
.knowledge-categories ul {
  margin: 22px 0 0;
  padding-left: 0;
  list-style: none;
}
.knowledge-categories li {
  margin: 10px 0;
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
.knowledge-categories a {
  color: var(--muted);
  text-decoration: none;
}
.knowledge-categories a:hover {
  color: var(--gold);
}
.article-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1180px;
  margin: 34px auto 0;
}
.article-grid a {
  display: block;
  border: 1px solid rgba(181,142,75,.30);
  background: rgba(255,250,243,.55);
  padding: 30px;
  text-align: center;
  text-decoration: none;
}
.article-grid h3 {
  font-size: 28px;
}
.article-grid p:not(.eyebrow) {
  font-family: Arial, sans-serif;
  color: var(--muted);
  line-height: 1.7;
}
@media (max-width: 900px) {
  .article-grid {
    grid-template-columns: 1fr;
  }
}

/* V30 Knowledge Center card layout */
.insight-group {
  max-width: 1180px;
  margin: 0 auto;
  padding: 54px 24px 46px;
  text-align: center;
}

.insight-group h2 {
  margin-bottom: 30px;
}

.article-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1180px !important;
  margin: 34px auto 0 !important;
}

.guide-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.article-grid a {
  display: block !important;
  min-height: 230px !important;
  border: 1px solid rgba(181,142,75,.30) !important;
  background: rgba(255,250,243,.55) !important;
  padding: 30px !important;
  text-align: center !important;
  text-decoration: none !important;
  color: var(--navy) !important;
  transition: background .2s ease, transform .2s ease;
}

.article-grid a:hover {
  background: rgba(255,250,243,.82) !important;
  transform: translateY(-2px);
}

.article-grid h3 {
  font-size: clamp(24px, 2.3vw, 32px) !important;
  line-height: 1.15 !important;
  margin: 10px 0 16px !important;
}

.article-grid p:not(.eyebrow) {
  font-family: Arial, sans-serif !important;
  color: var(--muted) !important;
  line-height: 1.7 !important;
  font-size: 15.5px !important;
}

@media (max-width: 1000px) {
  .article-grid,
  .guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .article-grid,
  .guide-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V31 attorney photo and address update */
.attorney-with-photo {
  align-items: start;
}

.photo-card {
  border-left: 1px solid var(--gold);
  padding-left: 30px;
}

.photo-card img {
  width: 100%;
  display: block;
  margin: 0 0 28px;
  border: 1px solid rgba(181,142,75,.28);
  object-fit: cover;
}

.contact p strong {
  color: var(--navy);
}

@media (max-width: 900px) {
  .photo-card {
    border-left: 0;
    border-top: 1px solid var(--gold);
    padding-left: 0;
    padding-top: 28px;
  }
}


/* V43: remove stray footer/email glyphs */
footer a[href^="mailto:"]::after,
footer a[href^="mailto:"]::before,
.site-footer a[href^="mailto:"]::after,
.site-footer a[href^="mailto:"]::before,
.contact a[href^="mailto:"]::after,
.contact a[href^="mailto:"]::before {
  content: "" !important;
  display: none !important;
}
