/* =========================================================
   V11.9 — INNER PAGE HERO QUALITY SYSTEM
   Single visual standard for all non-home hero/header regions.
   Palette: #393d47 / #957f76 / warm paper.
   ========================================================= */

/* Kill legacy first-hero photography and oversized decorative marks. */
.v6-inner main > .se119-hero:first-child::after,
.v6-inner main > section.se119-hero:first-child::after,
.se119-hero::after {
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
}

.se119-hero {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  min-height: 0 !important;
  padding-block: clamp(50px, 5.4vw, 76px) !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(149,127,118,.11), transparent 25%),
    linear-gradient(180deg, #faf8f6 0%, #f5f1ee 100%) !important;
  color: #393d47 !important;
  border-bottom: 1px solid rgba(57,61,71,.08) !important;
}

.se119-hero::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 180px !important;
  height: 180px !important;
  right: clamp(18px, 5vw, 72px) !important;
  bottom: -92px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(149,127,118,.13) !important;
  box-shadow: 0 0 0 32px rgba(149,127,118,.025) !important;
  background: transparent !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.se119-hero > *,
.se119-hero > * > * {
  position: relative;
  z-index: 1;
}

/* Primary hero typography */
.se119-hero h1 {
  margin-top: 0 !important;
  color: #393d47 !important;
  font-family: var(--se-font) !important;
  font-size: clamp(2.65rem, 3.75vw, 3.75rem) !important;
  line-height: .99 !important;
  letter-spacing: -.048em !important;
  font-weight: 560 !important;
  text-wrap: balance;
}

.se119-hero h1 em,
.se119-hero h1 strong {
  color: #957f76 !important;
  font-family: inherit !important;
  font-style: normal !important;
}

.se119-hero p {
  color: #626873 !important;
}

/* Standard split heroes: About, profile, FAQ, contact, appointment, career, references, newsletter. */
.se119-hero .v62-page-title-grid,
.se119-hero .v72-page-hero-grid,
.se119-hero .v7-detail-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr) !important;
  align-items: end !important;
  gap: clamp(34px, 5vw, 72px) !important;
}

.se119-hero .v62-page-title-grid h1,
.se119-hero .v72-page-hero-grid h1,
.se119-hero .v7-detail-hero-grid h1 {
  max-width: 13ch !important;
}

.se119-hero .v62-page-title-grid > p,
.se119-hero .v72-page-hero-grid > p,
.se119-hero .v7-detail-hero-grid > p {
  max-width: 45ch !important;
  margin: 0 !important;
  padding: 4px 0 4px 22px !important;
  border-left: 2px solid rgba(149,127,118,.42) !important;
  font-size: clamp(.98rem, .94rem + .16vw, 1.08rem) !important;
  line-height: 1.72 !important;
}

/* Eyebrow / kicker is a quiet navigation cue, never a competing headline. */
.se119-hero .v62-page-kicker,
.se119-hero .v72-kicker,
.se119-hero .v7-kicker,
.se119-hero .v97-guide-kicker,
.se119-hero .eyebrow,
.se119-hero .v62-overline,
.se119-hero .v6-label {
  color: #957f76 !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
}

.se119-hero .v62-page-kicker,
.se119-hero .v72-kicker,
.se119-hero .v7-kicker {
  margin-bottom: 24px !important;
}

.se119-hero .v62-page-kicker span,
.se119-hero .v72-kicker span,
.se119-hero .v7-kicker span {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: #957f76 !important;
}

/* Practices overview: keep its purpose-built layout, reduce scale. */
.se119-hero.v118-practice-page-head {
  padding-block: clamp(48px, 5vw, 72px) !important;
}

.se119-hero .v118-practice-copy h1 {
  max-width: 11ch !important;
  font-size: clamp(2.7rem, 3.7vw, 3.9rem) !important;
  line-height: .99 !important;
}

.se119-hero .v118-practice-lead {
  max-width: 55ch !important;
  color: #626873 !important;
}

.se119-hero .v118-practice-aside {
  box-shadow: 0 18px 42px rgba(57,61,71,.07) !important;
  background: rgba(255,255,255,.78) !important;
}

/* Practice detail: short back link and restrained title. */
.se119-hero.v7-detail-hero .v7-detail-back {
  display: inline-flex !important;
  margin-bottom: 24px !important;
  color: #6b717b !important;
  font-size: .85rem !important;
}

.se119-hero.v7-detail-hero .v7-detail-watermark {
  opacity: .035 !important;
}

/* Guide hero: no legacy background image or dark shade. */
.se119-hero--guide {
  min-height: 0 !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(149,127,118,.10), transparent 25%),
    linear-gradient(180deg, #faf8f6, #f5f1ee) !important;
}

.se119-hero--guide .v97-guide-hero-shade {
  display: none !important;
}

.se119-hero--guide .v97-guide-hero-inner {
  min-height: 0 !important;
  padding: 0 !important;
}

.se119-hero--guide .v97-guide-hero-copy {
  max-width: 760px !important;
  padding: 0 !important;
}

.se119-hero--guide h1 {
  max-width: 12ch !important;
  font-size: clamp(2.65rem, 3.5vw, 3.55rem) !important;
}

.se119-hero--guide .v97-guide-hero-copy > p {
  max-width: 56ch !important;
  font-size: 1.04rem !important;
  line-height: 1.7 !important;
  color: #626873 !important;
}

.se119-hero--guide .v97-guide-breadcrumb,
.se119-hero--guide .v97-guide-breadcrumb a,
.se119-hero--guide .v97-guide-breadcrumb strong,
.se119-hero--guide .v97-guide-breadcrumb span {
  color: #727883 !important;
}

/* Article title hero: long titles need editorial, not billboard, scale. */
.se119-hero--article {
  padding-block: clamp(48px, 5vw, 72px) !important;
  background: linear-gradient(180deg, #faf8f6, #f6f2ef) !important;
}

.se119-hero--article .v62-shell {
  max-width: 1040px !important;
}

.se119-hero--article h1 {
  max-width: 20ch !important;
  margin: 18px 0 18px !important;
  font-size: clamp(2.3rem, 3.15vw, 3.35rem) !important;
  line-height: 1.02 !important;
}

.se119-hero--article > .v62-shell > p:last-of-type {
  max-width: 64ch !important;
  margin: 0 !important;
  color: #626873 !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}

.se119-hero--article .v62-breadcrumb,
.se119-hero--article .v62-article-meta {
  color: #747a84 !important;
}

.se119-hero--article .v62-breadcrumb a,
.se119-hero--article .v62-article-meta span,
.se119-hero--article .v62-article-meta time {
  color: inherit !important;
}

/* Career detail: old theme could reach 110px. Cap decisively. */
.se119-hero--detail .v72-back {
  margin-bottom: 22px !important;
  color: #6b717b !important;
  font-size: .86rem !important;
}

.se119-hero--detail .v72-career-detail-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr) !important;
  gap: clamp(30px, 5vw, 68px) !important;
  align-items: end !important;
}

.se119-hero--detail .v72-career-detail-title h1 {
  max-width: 15ch !important;
  margin: 10px 0 0 !important;
  font-size: clamp(2.55rem, 3.6vw, 3.65rem) !important;
  line-height: .99 !important;
  color: #393d47 !important;
}

.se119-hero--detail .v72-career-detail-title > p {
  margin: 0 !important;
  padding-left: 22px !important;
  border-left: 2px solid rgba(149,127,118,.42) !important;
  color: #626873 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.se119-hero--detail .v72-career-detail-title small {
  color: #957f76 !important;
}

/* Legal/simple titles. */
.se119-hero--simple {
  padding-block: clamp(42px, 4.6vw, 66px) !important;
}

.se119-hero--simple .v62-shell {
  max-width: 1000px !important;
}

.se119-hero--simple h1 {
  max-width: 20ch !important;
  font-size: clamp(2.35rem, 3.1vw, 3.35rem) !important;
  line-height: 1.02 !important;
}

/* Compact functional heroes: consultation, notice, 404. */
.se119-hero--compact {
  padding-block: clamp(42px, 4.5vw, 64px) !important;
}

.se119-hero--compact .container,
.se119-hero--compact .narrow {
  max-width: 920px !important;
}

.se119-hero--compact h1 {
  max-width: 15ch !important;
  margin: 12px 0 14px !important;
  font-size: clamp(2.35rem, 3.25vw, 3.4rem) !important;
}

.se119-hero--compact p {
  max-width: 58ch !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

/* Calculator detail: stylesheet now loads before this system so these rules are authoritative. */
.se119-hero--calculator {
  padding-block: clamp(44px, 4.8vw, 68px) !important;
}

.se119-hero--calculator .container {
  width: min(1120px, calc(100vw - 40px)) !important;
  max-width: 1120px !important;
}

.se119-hero--calculator h1 {
  max-width: 15ch !important;
  margin: 14px 0 16px !important;
  font-size: clamp(2.45rem, 3.4vw, 3.55rem) !important;
}

.se119-hero--calculator p {
  max-width: 60ch !important;
  color: #626873 !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}

.se119-hero--calculator .calc-back {
  margin-bottom: 18px !important;
  color: #6f7580 !important;
}

.se119-hero--calculator .calc-hero-meta span {
  color: #535965 !important;
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(57,61,71,.1) !important;
}

/* UDF tool: replace old black / 126px hero with the same visual grammar. */
body .se119-hero--udf {
  padding-block: clamp(48px, 5.2vw, 74px) !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(149,127,118,.11), transparent 25%),
    linear-gradient(180deg, #faf8f6, #f5f1ee) !important;
  color: #393d47 !important;
}

body .se119-hero--udf .udf-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(290px, .55fr) !important;
  align-items: end !important;
  gap: clamp(30px, 5vw, 70px) !important;
}

body .se119-hero--udf h1 {
  max-width: 11ch !important;
  font-family: var(--se-font) !important;
  font-size: clamp(2.65rem, 3.8vw, 3.85rem) !important;
  line-height: .98 !important;
  font-weight: 560 !important;
  color: #393d47 !important;
}

body .se119-hero--udf h1 em {
  color: #957f76 !important;
  font-style: normal !important;
}

body .se119-hero--udf .udf-hero-copy > p:not(.v6-label) {
  max-width: 58ch !important;
  margin: 20px 0 0 !important;
  color: #626873 !important;
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
}

body .se119-hero--udf .udf-trust-row span {
  color: #5e6470 !important;
  border-color: rgba(57,61,71,.1) !important;
}

body .se119-hero--udf .udf-hero-note {
  padding: 24px !important;
  background: rgba(255,255,255,.76) !important;
  border: 1px solid rgba(57,61,71,.09) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 36px rgba(57,61,71,.06) !important;
}

body .se119-hero--udf .udf-hero-note > span {
  margin-bottom: 16px !important;
  color: #957f76 !important;
  font-family: var(--se-font) !important;
  font-style: normal !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
}

body .se119-hero--udf .udf-hero-note p,
body .se119-hero--udf .udf-hero-note strong {
  color: #626873 !important;
}
body .se119-hero--udf .udf-hero-note strong { color: #393d47 !important; }

/* Calculator hub has an intro header rather than a full hero. Keep it compact. */
.se119-hero-inline h1 {
  max-width: 18ch !important;
  font-family: var(--se-font) !important;
  font-size: clamp(2.15rem, 2.9vw, 3rem) !important;
  line-height: 1.02 !important;
  color: #393d47 !important;
  letter-spacing: -.04em !important;
}

.se119-hero-inline p {
  max-width: 62ch !important;
  color: #626873 !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
}

/* Global safety net for any remaining inner-page hero title. */
.v6-inner main > :is(.v62-page-head,.v7-practice-page-head,.v7-detail-hero,.v72-page-hero,.v97-guide-hero,.page-hero,.v62-article-head,.v62-detail-head,.v72-career-detail-head,.udf-hero):first-child h1 {
  overflow-wrap: anywhere;
}

@media (max-width: 1000px) {
  .se119-hero .v62-page-title-grid,
  .se119-hero .v72-page-hero-grid,
  .se119-hero .v7-detail-hero-grid,
  .se119-hero--detail .v72-career-detail-title,
  body .se119-hero--udf .udf-shell {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .se119-hero .v62-page-title-grid > p,
  .se119-hero .v72-page-hero-grid > p,
  .se119-hero .v7-detail-hero-grid > p,
  .se119-hero--detail .v72-career-detail-title > p {
    max-width: 62ch !important;
  }
}

@media (max-width: 760px) {
  .se119-hero {
    padding-block: 38px !important;
  }

  .se119-hero::before {
    width: 120px !important;
    height: 120px !important;
    right: -30px !important;
    bottom: -66px !important;
    box-shadow: 0 0 0 20px rgba(149,127,118,.022) !important;
  }

  .se119-hero h1,
  .se119-hero .v118-practice-copy h1,
  body .se119-hero--udf h1 {
    max-width: 12ch !important;
    font-size: clamp(2.25rem, 9.5vw, 2.85rem) !important;
    line-height: 1.01 !important;
    letter-spacing: -.045em !important;
  }

  .se119-hero--article h1,
  .se119-hero--simple h1,
  .se119-hero--compact h1,
  .se119-hero--calculator h1,
  .se119-hero--detail .v72-career-detail-title h1 {
    max-width: none !important;
    font-size: clamp(2.1rem, 8.8vw, 2.65rem) !important;
  }

  .se119-hero .v62-page-title-grid > p,
  .se119-hero .v72-page-hero-grid > p,
  .se119-hero .v7-detail-hero-grid > p,
  .se119-hero--detail .v72-career-detail-title > p {
    padding: 0 0 0 16px !important;
    font-size: .97rem !important;
    line-height: 1.66 !important;
  }

  .se119-hero--guide .v97-guide-hero-copy > p,
  .se119-hero--article > .v62-shell > p:last-of-type,
  .se119-hero--compact p,
  .se119-hero--calculator p,
  body .se119-hero--udf .udf-hero-copy > p:not(.v6-label) {
    font-size: .97rem !important;
    line-height: 1.66 !important;
  }

  body .se119-hero--udf .udf-hero-note {
    padding: 20px !important;
  }
}
