/* =========================================================
   Benbrook Law - Site-specific overrides
   Load after style.css, font-icons.css and benbrook-law.css.
========================================================= */
:root {
  --benbrook-navy: #071B33;
  --benbrook-blue: #0D3158;
  --benbrook-mid: #244F7C;
  --benbrook-accent: #8FAEC9;
  --benbrook-paper: #F5F7FA;
  --benbrook-line: rgba(7,27,51,.12);
}
body { color: var(--benbrook-navy); }
#header.transparent-header:not(.sticky-header) { background: linear-gradient(180deg, rgba(3,18,35,.72), rgba(3,18,35,.08)); }
#header.sticky-header #header-wrap { box-shadow: 0 8px 30px rgba(7,27,51,.08); }
#logo .benbrook-wordmark { display:flex; align-items:center; gap:.75rem; text-decoration:none; }
.benbrook-mark { width:46px; height:46px; border:1px solid rgba(255,255,255,.7); display:grid; place-items:center; font-family:var(--cv-font-display); font-size:24px; color:#fff; }
.benbrook-name { color:#fff; font-family:var(--cv-font-display); font-size:20px; line-height:1; letter-spacing:.02em; }
.benbrook-name small { display:block; font-family:var(--cv-font-body); font-size:8px; letter-spacing:.24em; text-transform:uppercase; margin-top:6px; opacity:.75; }
.not-dark .benbrook-mark { color:var(--benbrook-navy); border-color:var(--benbrook-line); }
.not-dark .benbrook-name { color:var(--benbrook-navy); }
.cv-hero, .benbrook-page-hero { position:relative; overflow:hidden; background:linear-gradient(125deg,#041326 0%,#0A2A4A 50%,#183F68 100%); }
.cv-hero-bg { background:none !important; opacity:1 !important; }
.cv-hero::after, .benbrook-page-hero::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 82% 24%,rgba(143,174,201,.18),transparent 32%),linear-gradient(135deg,transparent 45%,rgba(255,255,255,.035)); pointer-events:none; }
.cv-hero > .container, .benbrook-page-hero > .container { position:relative; z-index:2; }
.cv-hero h1,.cv-hero .cv-lead,.cv-hero-eyebrow { color:#fff; }
.cv-hero h1 em { color:#AFC5D9; }
.cv-hero-meta { border-color:rgba(255,255,255,.18); }
.cv-hero-meta .num,.cv-hero-meta .lbl { color:#fff; }
.cv-book-btn { background:linear-gradient(135deg,#244F7C,#0D3158); color:#fff !important; }
.cv-book-btn:hover { background:#071B33; }
.cv-section--ink, #footer.dark { background:linear-gradient(135deg,#041326,#0A2948) !important; }
.cv-section--mist { background:#F5F7FA !important; }
.cv-section--fog { background:#E8EEF5 !important; }
.benbrook-page-hero { padding:175px 0 90px; color:#fff; }
.benbrook-page-hero h1 { color:#fff; font-size:clamp(2.8rem,6vw,5rem); margin-bottom:1rem; }
.benbrook-page-hero p { color:rgba(255,255,255,.78); max-width:760px; font-size:1.15rem; }
.practice-card { height:100%; padding:32px; border:1px solid var(--benbrook-line); border-radius:22px; background:#fff; transition:.2s ease; }
.practice-card:hover { transform:translateY(-3px); box-shadow:0 18px 45px rgba(7,27,51,.08); }
.practice-card i { font-size:1.5rem; color:#315F8E; }
.practice-card h3 { margin:18px 0 12px; }
.attorney-panel { padding:clamp(28px,5vw,56px); border-radius:30px; background:linear-gradient(135deg,#F5F7FA,#E8EEF5); }
.initials-portrait { min-height:420px; display:grid; place-items:center; border-radius:26px; background:linear-gradient(145deg,#0B2C4D,#183F68); color:rgba(255,255,255,.9); font:400 clamp(5rem,12vw,9rem)/1 var(--cv-font-display); }
.notice-card { border-left:4px solid #315F8E; padding:24px 28px; background:#F5F7FA; border-radius:0 16px 16px 0; }
.contact-detail { padding:24px; border-top:1px solid var(--benbrook-line); }
.contact-detail:first-child { border-top:0; }
.benbrook-footer-name { color:#fff; font-family:var(--cv-font-display); font-size:1.7rem; }
@media (max-width:991.98px){ .benbrook-name{font-size:17px}.benbrook-mark{width:40px;height:40px}.benbrook-page-hero{padding-top:130px} }

/* =========================================================
   Version 2 — refined / luxury visual direction
========================================================= */
:root {
  --benbrook-navy: #061a30;
  --benbrook-blue: #0b2e52;
  --benbrook-mid: #214d78;
  --benbrook-gold: #b78a43;
  --benbrook-gold-soft: #d8bb83;
  --benbrook-ivory: #f7f4ee;
  --benbrook-paper: #fbfaf7;
  --benbrook-line: rgba(6,26,48,.13);
}
body { background:var(--benbrook-paper); }
#header.transparent-header:not(.sticky-header) { background:linear-gradient(180deg,rgba(3,15,29,.94),rgba(3,15,29,.60) 72%,transparent); border-bottom:1px solid rgba(255,255,255,.11); }
#header:not(.transparent-header) #header-wrap { background:rgba(250,249,246,.97); border-bottom:1px solid rgba(6,26,48,.08); }
.benbrook-mark { border-color:var(--benbrook-gold-soft); color:var(--benbrook-gold-soft); }
.benbrook-name { letter-spacing:.035em; }
.cv-book-btn { background:linear-gradient(135deg,#c39a58,#9a6e2f); box-shadow:0 9px 24px rgba(87,57,20,.16); }
.cv-book-btn:hover { background:#8c622b; }

.cv-hero { min-height:760px; display:flex; align-items:center; isolation:isolate; }
.cv-hero-bg { position:absolute; inset:0; background:url('../images/benbrook/law-architecture-hero.png') center center/cover no-repeat !important; opacity:1 !important; }
.cv-hero::before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(3,17,33,.98) 0%,rgba(4,25,47,.92) 37%,rgba(5,28,51,.60) 62%,rgba(4,18,34,.18) 100%); }
.cv-hero::after { z-index:0; background:linear-gradient(180deg,rgba(3,17,33,.20),rgba(3,17,33,.08) 58%,rgba(3,17,33,.50)); }
.cv-hero > .container { z-index:1; padding-top:90px; padding-bottom:70px; }
.cv-hero h1 { max-width:830px; font-size:clamp(3rem,5.4vw,5.8rem); line-height:.98; letter-spacing:-.025em; text-shadow:0 3px 22px rgba(0,0,0,.22); }
.cv-hero h1 em { color:var(--benbrook-gold-soft); font-style:normal; }
.cv-hero .cv-lead { max-width:660px; color:rgba(255,255,255,.84); font-size:1.18rem; }
.cv-hero-eyebrow,.cv-eyebrow { color:var(--benbrook-gold); letter-spacing:.22em; }
.cv-hero-eyebrow::after,.cv-eyebrow::after { background:var(--benbrook-gold); }
.cv-hero-meta { margin-top:70px; padding-top:24px; max-width:900px; }
.cv-hero-meta .num { color:var(--benbrook-gold-soft); }
.cv-btn.cv-hero-dark { background:linear-gradient(135deg,#b98c47,#95692f); border-color:#caa45f; color:#fff; }
.cv-btn.cv-hero-dark:hover { background:#815824; }
.cv-btn.cv-hero-light { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.34); backdrop-filter:blur(8px); }

.cv-section { position:relative; }
.luxury-paper { background:linear-gradient(135deg,#fbfaf7 0%,#f1ede5 100%) !important; }
.luxury-paper::after { content:'§'; position:absolute; right:5vw; top:50%; transform:translateY(-50%); font-family:Georgia,serif; font-size:14rem; line-height:1; color:rgba(7,31,55,.035); pointer-events:none; }
.practice-showcase { background:linear-gradient(180deg,#fff 0%,#f8f5ef 100%); }
.practice-card { position:relative; overflow:hidden; padding:38px 34px; border-radius:4px; border:1px solid rgba(183,138,67,.28); box-shadow:0 18px 55px rgba(5,26,48,.07); }
.practice-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--benbrook-gold),#e2c58f); }
.practice-card:hover { transform:translateY(-7px); box-shadow:0 26px 65px rgba(5,26,48,.13); border-color:rgba(183,138,67,.5); }
.practice-card i,.practice-card a { color:#8b632d; }
.attorney-feature { background:linear-gradient(120deg,rgba(3,17,33,.97),rgba(7,39,69,.94)),url('../images/benbrook/law-architecture-hero.png') center 72%/cover no-repeat !important; }
.initials-portrait { border-radius:3px; border:1px solid rgba(216,187,131,.5); background:linear-gradient(145deg,rgba(8,37,64,.88),rgba(14,61,101,.75)); box-shadow:0 30px 70px rgba(0,0,0,.24); color:var(--benbrook-gold-soft); }
.luxury-cta { background:linear-gradient(135deg,#f4efe5,#fbfaf7) !important; }
#footer.dark { background:linear-gradient(135deg,#031325,#071f38) !important; border-top:3px solid #a77b3c; }

.benbrook-page-hero { min-height:500px; display:flex; align-items:flex-end; padding:185px 0 82px; isolation:isolate; background-image:linear-gradient(90deg,rgba(3,17,33,.97),rgba(5,31,56,.82) 54%,rgba(5,29,52,.46)),url('../images/benbrook/law-architecture-hero.png'); background-position:center; background-size:cover; }
.benbrook-page-hero::after { z-index:-1; background:linear-gradient(180deg,transparent 50%,rgba(3,17,33,.35)); }
.benbrook-page-hero h1 { max-width:900px; font-size:clamp(3rem,5vw,5.25rem); line-height:1.02; text-shadow:0 3px 22px rgba(0,0,0,.22); }
.benbrook-page-hero p { color:rgba(255,255,255,.82); }
.benbrook-secondary #content .content-wrap { background:linear-gradient(180deg,#fff 0%,#f8f5ef 100%); }
.benbrook-secondary hr { border-color:rgba(183,138,67,.28); opacity:1; }
.attorney-panel { border-radius:4px; border:1px solid rgba(183,138,67,.26); background:linear-gradient(135deg,#fff,#f4efe6); box-shadow:0 24px 65px rgba(5,26,48,.08); }
.notice-card { border-left-color:var(--benbrook-gold); background:#f6f1e8; border-radius:0 3px 3px 0; }
.form-control { border-color:rgba(6,26,48,.16); background:#fff; }
.form-control:focus { border-color:var(--benbrook-gold); box-shadow:0 0 0 .2rem rgba(183,138,67,.10); }

@media (max-width:991.98px) {
  .cv-hero { min-height:690px; }
  .cv-hero::before { background:linear-gradient(90deg,rgba(3,17,33,.96),rgba(4,25,47,.84)); }
  .cv-hero > .container { padding-top:125px; }
  .cv-hero-meta { margin-top:45px; }
  .benbrook-page-hero { min-height:420px; padding-top:150px; }
}

/* =========================================================
   Version 2.1 — clean header + understated imagery + editorial practices
========================================================= */
#header,
#header.transparent-header:not(.sticky-header) {
  background: rgba(251,250,247,.98) !important;
  border-bottom: 1px solid rgba(6,26,48,.09);
}
#header #header-wrap { background: transparent; }
#header .benbrook-mark { color:var(--benbrook-navy) !important; border-color:rgba(6,26,48,.16) !important; }
#header .benbrook-name { color:var(--benbrook-navy) !important; }
#header .menu-link { color:var(--benbrook-navy) !important; }
#header .menu-link > div { position:relative; }
#header .menu-link.active > div::after,
#header .menu-link:hover > div::after { content:''; position:absolute; left:0; right:0; bottom:-8px; height:2px; background:var(--benbrook-gold); }
#header.sticky-header #header-wrap { background:rgba(251,250,247,.98); box-shadow:0 8px 28px rgba(6,26,48,.07); }
#header .cv-book-btn { background:linear-gradient(135deg,#214d78,#0b2e52); box-shadow:0 8px 22px rgba(6,26,48,.12); }

.cv-hero { min-height:650px; }
.cv-hero-bg { background:url('../images/benbrook/law-hero-subtle.jpg') 76% center/cover no-repeat !important; filter:saturate(.75) contrast(.94); }
.cv-hero::before { background:linear-gradient(90deg,#061a30 0%,rgba(6,26,48,.97) 35%,rgba(6,26,48,.82) 58%,rgba(6,26,48,.47) 100%); }
.cv-hero::after { background:linear-gradient(180deg,rgba(6,26,48,.08),rgba(6,26,48,.22)); }
.cv-hero > .container { padding-top:65px; padding-bottom:65px; }
.cv-hero h1 { max-width:790px; font-size:clamp(3rem,5vw,5.25rem); }
.cv-hero-meta { display:none; }

.practice-showcase { padding-top:88px; padding-bottom:88px; background:linear-gradient(135deg,#fbfaf7 0%,#f5f0e7 100%); }
.practice-showcase .practice-intro { max-width:760px; margin:0 auto 52px; }
.practice-editorial { align-items:stretch; }
.practice-editorial .practice-item { height:100%; padding:8px 38px 8px 34px; border-right:1px solid rgba(183,138,67,.34); }
.practice-editorial > div:last-child .practice-item { border-right:0; }
.practice-icon { width:70px; height:70px; display:grid; place-items:center; border-radius:50%; background:rgba(183,138,67,.10); margin-bottom:24px; }
.practice-icon i { color:#9a6e2f; font-size:1.8rem; }
.practice-item h3 { font-size:1.35rem; margin-bottom:12px; color:var(--benbrook-navy); }
.practice-item p { color:#405066; margin-bottom:18px; }
.practice-item a { color:#76501f; text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; font-weight:700; border-bottom:1px solid rgba(183,138,67,.5); padding-bottom:5px; }

.benbrook-page-hero { min-height:365px; padding:105px 0 62px; background-image:linear-gradient(90deg,rgba(6,26,48,.98),rgba(6,26,48,.88) 58%,rgba(6,26,48,.62)),url('../images/benbrook/law-hero-subtle.jpg'); background-position:center right; }
.benbrook-page-hero h1 { font-size:clamp(2.8rem,4.5vw,4.6rem); }

@media (max-width:991.98px) {
  #header .menu-link.active > div::after,#header .menu-link:hover > div::after { display:none; }
  .cv-hero { min-height:610px; }
  .cv-hero::before { background:linear-gradient(90deg,rgba(6,26,48,.98),rgba(6,26,48,.90)); }
  .cv-hero > .container { padding-top:80px; }
  .practice-editorial .practice-item { border-right:0; border-bottom:1px solid rgba(183,138,67,.28); padding:28px 8px; }
  .practice-editorial > div:last-child .practice-item { border-bottom:0; }
  .benbrook-page-hero { min-height:340px; padding-top:105px; }
}


/* =========================================================
   Version 2.2 refinements
========================================================= */
#header .header-row { min-height: 104px; }
#header .menu-link { padding-top: 34px; padding-bottom: 34px; }
.cv-hero-bg { opacity:.58 !important; }
.cv-hero::before { background:linear-gradient(90deg,#061a30 0%,rgba(6,26,48,.985) 38%,rgba(6,26,48,.91) 64%,rgba(6,26,48,.72) 100%); }
.cv-hero > .container { padding-top:92px; padding-bottom:92px; }
.cv-eyebrow,.cv-hero-eyebrow { font-size:.84rem !important; font-weight:700 !important; letter-spacing:.20em; }
.cv-section { padding-top:108px; padding-bottom:108px; }
.practice-showcase { padding-top:112px; padding-bottom:112px; }
.benbrook-page-hero { height:430px; min-height:430px; padding:0; display:flex; align-items:center; }
.benbrook-page-hero > .container { padding-top:58px; padding-bottom:34px; }
.benbrook-page-hero .cv-hero-eyebrow { display:inline-block; margin-bottom:24px; }
.benbrook-page-hero p { max-width:760px; }
.attorney-feature { overflow:hidden; }
.attorney-feature::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,19,37,.97) 0%,rgba(5,28,51,.90) 48%,rgba(5,28,51,.56) 100%),url('../images/benbrook/law-architecture-hero.png') center 42%/cover no-repeat; opacity:.72; }
.attorney-feature .container { position:relative; z-index:1; }
#footer.dark { padding:78px 0 0; }
.footer-heading { color:#fff; font-size:.76rem; text-transform:uppercase; letter-spacing:.20em; font-family:var(--cv-font-body); font-weight:700; margin-bottom:24px; }
.footer-copy,#footer .footer-link,#footer .footer-line { color:rgba(255,255,255,.66); }
#footer .footer-link { display:block; margin-bottom:9px; }
#footer .footer-link:hover { color:#fff; }
.footer-contact i { color:var(--benbrook-gold-soft); width:22px; margin-right:8px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.13); margin-top:58px; padding:24px 0 28px; color:rgba(255,255,255,.48); font-size:.82rem; }
.variant-card { background:#fff; border:1px solid rgba(6,26,48,.08); box-shadow:0 18px 55px rgba(6,26,48,.07); padding:42px; height:100%; }
.credential-list { list-style:none; padding:0; margin:0; }
.credential-list li { padding:13px 0; border-bottom:1px solid rgba(6,26,48,.09); }
.contact-callout { background:linear-gradient(135deg,#f8f5ef,#fff); border:1px solid rgba(183,138,67,.25); padding:44px; }
.contact-method { padding:26px 0; border-bottom:1px solid rgba(6,26,48,.10); }
.contact-method:last-child { border-bottom:0; }
@media (max-width:991.98px){
 #header .header-row { min-height:82px; }
 #header .menu-link { padding-top:12px; padding-bottom:12px; }
 .cv-section,.practice-showcase { padding-top:78px; padding-bottom:78px; }
 .benbrook-page-hero { height:390px; min-height:390px; }
 .benbrook-page-hero > .container { padding-top:76px; }
}

/* =========================================================
   Version 2.3 refinements
========================================================= */
/* Shorter homepage hero while preserving the V2.2 composition. */
.benbrook-home .cv-hero { min-height:560px; }
.benbrook-home .cv-hero > .container { padding-top:68px; padding-bottom:68px; }
.benbrook-home .cv-hero h1 { font-size:clamp(2.9rem,5vw,5.25rem); }

/* Clean courthouse crop: no embedded website/UI elements in the image. */
.attorney-feature::before {
  background:linear-gradient(90deg,rgba(3,19,37,.98) 0%,rgba(5,28,51,.91) 48%,rgba(5,28,51,.60) 100%),url('../images/benbrook/courthouse-clean.jpg') center 48%/cover no-repeat !important;
  opacity:.84;
}

/* Balanced contact layout. */
.contact-balanced .contact-intro { max-width:760px; margin-bottom:34px; }
.contact-panel { background:#fff; border:1px solid rgba(183,138,67,.24); box-shadow:0 18px 55px rgba(6,26,48,.065); padding:clamp(34px,4vw,54px); }
.contact-detail { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:30px 0; border-bottom:1px solid rgba(6,26,48,.10); }
.contact-detail:last-child { border-bottom:0; padding-bottom:0; }
.contact-detail-icon { width:44px; height:44px; border:1px solid rgba(183,138,67,.35); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--benbrook-gold); font-size:1.05rem; }
.contact-label { color:var(--benbrook-gold); text-transform:uppercase; letter-spacing:.16em; font-size:.76rem; font-weight:700; margin-bottom:8px; }
.contact-detail h3 { font-size:1.45rem; margin-bottom:9px; }
.contact-detail p { margin-bottom:0; }
.contact-firm-name { margin:24px 0 10px; font-size:1.7rem; }
.contact-address { font-size:1.08rem; line-height:1.75; }

@media (max-width:991.98px){
  .benbrook-home .cv-hero { min-height:520px; }
  .benbrook-home .cv-hero > .container { padding-top:70px; padding-bottom:62px; }
}
\n\n/* =========================================================\n   Version 2.4 refinements\n========================================================= */\n/* Keep secondary-page titles comfortably below the main navigation. */\n.benbrook-page-hero > .container {\n  padding-top: 108px;\n  padding-bottom: 34px;\n}\n\n/* Footer address uses a real two-column icon/content layout so every\n   address line shares the same left edge. */\n.footer-address-line {\n  display: grid;\n  grid-template-columns: 22px minmax(0, 1fr);\n  column-gap: 8px;\n  align-items: start;\n}\n.footer-address-line i {\n  margin-right: 0 !important;\n  width: 22px;\n  padding-top: 2px;\n}\n.footer-address-line .footer-address-text {\n  display: block;\n}\n\n@media (max-width:991.98px){\n  .benbrook-page-hero > .container { padding-top: 118px; padding-bottom: 30px; }\n}\n
/* =========================================================
   Version 2.5 refinements
========================================================= */
/* Canvas' .include-header utility is intended for heroes that sit behind
   the header. Our secondary-page header is opaque, so its negative margin
   was pulling the hero upward by the full header height and clipping the
   eyebrow/title spacing. Keep the hero in normal document flow instead. */
.is-expanded-menu #header + .benbrook-page-hero.include-header {
  margin-top: 0 !important;
  display: flex !important;
  vertical-align: initial !important;
  width: 100%;
}

/* With the hero no longer tucked behind the header, center the secondary
   hero content naturally and give the eyebrow/title a deliberate rhythm. */
.benbrook-page-hero > .container {
  padding-top: 34px;
  padding-bottom: 34px;
}
.benbrook-page-hero .cv-hero-eyebrow {
  margin-bottom: 20px;
}
.benbrook-page-hero h1 {
  margin-top: 0;
  margin-bottom: 18px;
}

@media (max-width: 991.98px) {
  .benbrook-page-hero > .container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

/* =========================================================
   Version 2.6 refinements
========================================================= */
/* Secondary heroes use normal document flow. The Canvas include-header
   utility has been removed from the HTML because it is intended for
   transparent/overlay headers and can pull hero content behind this site's
   opaque navigation. */
.benbrook-page-hero {
  height: 430px;
  min-height: 430px;
  padding: 0 !important;
  display: flex;
  align-items: center;
  margin-top: 0 !important;
}
.benbrook-page-hero > .container {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}
.benbrook-page-hero .cv-hero-eyebrow {
  margin-bottom: 20px;
}
.benbrook-page-hero h1 {
  margin: 0 0 18px;
}
@media (max-width: 991.98px) {
  .benbrook-page-hero {
    height: 390px;
    min-height: 390px;
  }
  .benbrook-page-hero > .container {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}


/* V2.7: user-requested hero image opacity */
.cv-hero-bg { opacity: .48 !important; }

/* =========================================================
   Version 2.8 — refined neutral surfaces + quieter detailing
========================================================= */
:root {
  --benbrook-surface: #f8f8f6;
  --benbrook-surface-alt: #f2f4f5;
  --benbrook-card: #ffffff;
  --benbrook-card-line: rgba(6,26,48,.10);
}

/* Replace the warmer ivory/beige cast with cleaner architectural neutrals. */
body,
.benbrook-secondary #content .content-wrap {
  background: var(--benbrook-surface) !important;
}
.luxury-paper,
.practice-showcase,
.luxury-cta {
  background: var(--benbrook-surface) !important;
}
.cv-section--mist { background: var(--benbrook-surface) !important; }
.cv-section--fog { background: var(--benbrook-surface-alt) !important; }

/* The large section-symbol watermark was becoming repetitive. */
.luxury-paper::after { display:none !important; }

/* Cleaner, more tailored cards: fine line, restrained lift, no heavy box effect. */
.variant-card,
.contact-panel,
.practice-card,
.attorney-panel {
  background: var(--benbrook-card) !important;
  border: 1px solid var(--benbrook-card-line) !important;
  box-shadow: 0 14px 38px rgba(6,26,48,.055) !important;
}
.variant-card,
.contact-panel { border-top: 2px solid rgba(183,138,67,.55) !important; }
.practice-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 46px rgba(6,26,48,.085) !important;
}

/* Let thin rules and spacing create separation instead of beige backgrounds. */
.cv-section + .cv-section { border-top:1px solid rgba(6,26,48,.055); }
.notice-card { background:#f3f5f6 !important; }
.contact-callout { background:#fff !important; }

/* Preserve the user-selected hero image visibility. */
.cv-hero-bg { opacity:.48 !important; }


/* =========================================================
   Version 2.9 footer address alignment
========================================================= */
#footer .footer-address-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
#footer .footer-address-line > i {
  flex: 0 0 22px;
  width: 22px;
  margin-right: 0 !important;
  padding-top: 2px;
}
#footer .footer-address-text {
  display: block;
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  line-height: 1.55;
  text-align: left;
}


/* =========================================================
   Version 3.0 — anchored practice-area links
   Keep the sticky header and Core Practice introduction visible when
   arriving from homepage/footer deep links.
========================================================= */
#municipal, #transactions, #wills-estates {
  scroll-margin-top: 360px;
}
@media (max-width: 991.98px) {
  #municipal, #transactions, #wills-estates { scroll-margin-top: 240px; }
}

/* =========================================================
   Version 3.2 — secondary page hero typography
   Give multi-line display headings enough leading so letterforms never
   collide while preserving the compact editorial character.
========================================================= */
.benbrook-page-hero h1 {
  line-height: 1.10 !important;
  letter-spacing: -0.02em;
}

@media (max-width: 991.98px) {
  .benbrook-page-hero h1 { line-height: 1.12 !important; }
}

/* =========================================================
   Version 3.4 — phone + tablet header / secondary hero refinements
========================================================= */
/* Phones: the wordmark and menu trigger are enough. Removing the header CTA
   gives the brand room to breathe and keeps the header to one compact row. */
@media (max-width: 575.98px) {
  #header .header-misc { display: none !important; }

  #header .header-row { min-height: 88px; }
  #header #logo { margin-right: auto; }
  #header .benbrook-wordmark { gap: .65rem; }
  #header .benbrook-mark { width: 44px; height: 44px; font-size: 25px; }
  #header .benbrook-name { font-size: 16px; line-height: 1.05; white-space: nowrap; }
  #header .benbrook-name small { font-size: 7px; margin-top: 5px; }

  /* Fixed-height secondary heroes were too short once long headings wrapped
     on phones. Let the content determine the height and use a phone-sized
     display heading instead. */
  .benbrook-page-hero {
    height: auto !important;
    min-height: 0 !important;
    padding: 58px 0 62px !important;
    align-items: flex-start;
  }
  .benbrook-page-hero > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .benbrook-page-hero .cv-hero-eyebrow {
    margin-bottom: 18px;
  }
  .benbrook-page-hero h1 {
    max-width: 100%;
    font-size: clamp(2.65rem, 12vw, 3.35rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.025em;
    margin-bottom: 22px;
  }
  .benbrook-page-hero p {
    max-width: 100%;
    font-size: 1.02rem;
    line-height: 1.6;
    margin-bottom: 0;
  }
}

/* Landscape tablets have enough width for the full desktop navigation, but
   not enough for the navigation plus the extra Contact Us CTA. Portrait
   tablets intentionally keep the CTA. */
@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
  #header .header-misc { display: none !important; }
}

/* =========================================================
   Version 3.5 — compact phone header + home hero refinements
========================================================= */
@media (max-width: 575.98px) {
  /* Keep the brand and hamburger on one row on narrow phones. */
  #header .header-row {
    min-height: 78px;
    flex-wrap: nowrap !important;
    align-items: center;
  }
  #header #logo {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 8px;
  }
  #header .benbrook-wordmark {
    gap: .45rem;
    min-width: 0;
  }
  #header .benbrook-mark {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    font-size: 22px;
  }
  #header .benbrook-name {
    min-width: 0;
    font-size: 14px;
    line-height: 1.05;
    font-weight: 600;
    letter-spacing: .005em;
    white-space: nowrap;
  }
  #header .benbrook-name small {
    font-size: 6.5px;
    font-weight: 600;
    letter-spacing: .20em;
    margin-top: 4px;
  }
  #header .primary-menu-trigger {
    flex: 0 0 auto;
    margin: 0 0 0 4px;
  }

  /* The desktop hero uses a fixed minimum height and vertical centering.
     On phones that creates a large empty band above/below the copy. Let the
     content define the hero height and use deliberate compact padding. */
  .benbrook-home .cv-hero {
    min-height: 0 !important;
    height: auto !important;
    align-items: flex-start;
  }
  .benbrook-home .cv-hero > .container {
    padding-top: 48px !important;
    padding-bottom: 52px !important;
  }
}

@media (max-width: 390px) {
  #header .benbrook-name { font-size: 13px; }
  #header .benbrook-mark { flex-basis: 36px; width: 36px; height: 36px; font-size: 21px; }
  #header .benbrook-wordmark { gap: .4rem; }
}

/* =========================================================
   Version 3.6 — phone hero spacing + stable mobile menu trigger
========================================================= */
@media (max-width: 575.98px) {
  /* benbrook-law.css gives .cv-hero 180px/120px section padding and 88vh on
     phones. Earlier overrides removed the min-height but the section padding
     remained, which caused the large empty band. Remove that outer padding
     and let the inner container provide the deliberate spacing. */
  .benbrook-home .cv-hero {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    align-items: flex-start !important;
  }
  .benbrook-home .cv-hero > .container {
    padding-top: 42px !important;
    padding-bottom: 46px !important;
  }

  /* Keep the hamburger anchored to the upper-right of the header. Canvas
     expands .header-row when the mobile menu opens; a normal flex-positioned
     trigger can then drift into the middle of the expanded menu. */
  #header .header-row {
    position: relative;
    padding-right: 48px;
  }
  #header .primary-menu-trigger {
    position: absolute !important;
    top: 18px !important;
    right: 0 !important;
    margin: 0 !important;
    z-index: 20;
  }
  #header #logo {
    max-width: calc(100% - 4px);
    margin-right: 0 !important;
  }
  #header .benbrook-name {
    font-size: 13.5px;
    font-weight: 650;
  }
}

@media (max-width: 390px) {
  #header .header-row { padding-right: 44px; }
  #header .primary-menu-trigger { top: 17px !important; }
  #header .benbrook-name { font-size: 12.5px; }
  .benbrook-home .cv-hero > .container {
    padding-top: 36px !important;
    padding-bottom: 40px !important;
  }
}

/* =========================================================
   Version 3.7 — mobile menu opens below the brand row
========================================================= */
@media (max-width: 575.98px) {
  /* Use a normal two-row mobile header structure: brand + trigger on row 1,
     expandable navigation on row 2. This keeps the open-menu links from
     occupying the same flex row as the logo. */
  #header .header-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding-right: 0 !important;
  }
  #header #logo {
    order: 1;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: calc(100% - 48px) !important;
    margin-right: 0 !important;
  }
  #header .primary-menu-trigger {
    order: 2;
    position: static !important;
    top: auto !important;
    right: auto !important;
    flex: 0 0 44px !important;
    width: 44px;
    margin-left: auto !important;
    padding: 10px !important;
    z-index: 20;
  }
  #header .primary-menu {
    order: 3;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  #header .primary-menu .menu-container.d-block {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 12px;
  }
  #header .primary-menu .menu-link {
    width: 100%;
  }
}
