/* About page only. Divi modules own the copy/images; this file owns the layout. */
body.dsp-about-page.et-db { --dsp-about-gutter: var(--gutter); background: #0f0f10; }
body.dsp-about-page.et-db #page-container { padding: 0 !important; overflow: clip; }
body.dsp-about-page.et-db #main-content { background: transparent; }
body.dsp-about-page.et-db #main-content .et_builder_inner_content { z-index: auto; }
body.dsp-about-page.et-db #main-content .et_pb_module { margin-bottom: 0 !important; }
body.dsp-about-page.et-db #main-content .et_pb_text_inner p { padding-bottom: 0 !important; }
body.dsp-about-page.et-db #main-content .et_pb_section { position: relative; z-index: 1; margin: 0 !important; }
body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-shell {
  width: 100% !important;
  max-width: var(--shell) !important;
  padding: 0 var(--dsp-about-gutter) !important;
  margin: 0 auto !important;
}
body.dsp-about-page.et-db #main-content .dsp-about-shell > .et_pb_column {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
body.dsp-about-page.et-db #main-content h1,
body.dsp-about-page.et-db #main-content h2,
body.dsp-about-page.et-db #main-content h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  padding: 0 !important;
}
body.dsp-about-page.et-db #main-content .dsp-about-section { padding: clamp(64px,7vw,108px) 0 !important; }
body.dsp-about-page.et-db #main-content .dsp-about-section h2 {
  color: #fff;
  font-size: clamp(2.25rem,5.4vw,4.5rem);
  line-height: .98;
}

/* The one viewport-fixed portrait, just as on the homepage. */
body.dsp-about-page.et-db #main-content .dsp-about-backdrop-layer,
body.dsp-about-page.et-db #main-content .dsp-about-backdrop-layer > .et_pb_row,
body.dsp-about-page.et-db #main-content .dsp-about-backdrop-layer .et_pb_column {
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.dsp-about-page.et-db #pageBackdrop {
  position: fixed !important;
  inset: 0;
  z-index: 0;
  width: 100% !important;
  height: 100svh;
  max-width: none !important;
  pointer-events: none;
  background: #0f0f10;
  transition: opacity .65s var(--ease);
}
body.dsp-about-page.et-db #pageBackdrop .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
body.dsp-about-page.et-db #pageBackdrop img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
body.dsp-about-page.et-db #pageBackdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,rgba(15,15,16,.96),rgba(15,15,16,.70) 42%,rgba(15,15,16,.14) 76%),
    linear-gradient(0deg,rgba(15,15,16,.72),transparent 32%),
    radial-gradient(55% 75% at 82% 60%,rgba(255,0,25,.32),transparent 78%);
}

/* Hero: content sits low, with the shared pill header above it. */
body.dsp-about-page.et-db #main-content .dsp-about-hero {
  display: flex !important;
  align-items: flex-end;
  min-height: min(98svh,900px);
  padding: 140px 0 clamp(78px,9vw,140px) !important;
  background: transparent !important;
}
body.dsp-about-page.et-db .dsp-about-hero-title { max-width: min(850px,72%); }
body.dsp-about-page.et-db .dsp-about-hero-title h1 {
  color: #fff;
  font-size: clamp(3.25rem,6.35vw,6.8rem);
  line-height: .99;
  letter-spacing: -.055em;
  text-wrap: balance;
  text-shadow: 0 3px 28px rgba(0,0,0,.65);
}
body.dsp-about-page.et-db .dsp-about-hero-title em { color: #ff3547; font-style: normal; }

/* Long-form story: both columns align to the same shell edges. */
body.dsp-about-page.et-db #main-content .dsp-about-story {
  background: linear-gradient(180deg,#171719,#101012) !important;
  border-top: 1px solid rgba(255,255,255,.12);
}
body.dsp-about-page.et-db .dsp-about-story-grid {
  display: grid !important;
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
  gap: clamp(48px,7vw,116px);
  align-items: start;
}
body.dsp-about-page.et-db .dsp-about-story-left { position: sticky; top: clamp(96px,12vh,132px); padding-top: clamp(32px,4vw,64px) !important; }
body.dsp-about-page.et-db .dsp-about-story-left::before { content: ""; position: absolute; top: 0; left: 0; width: 76px; height: 3px; background: var(--red); }
body.dsp-about-page.et-db .dsp-about-story p,
body.dsp-about-page.et-db .dsp-about-practice-copy p {
  color: #f4f4f5;
  font-family: var(--f-display);
  font-size: clamp(1.2rem,1.6vw,1.58rem);
  font-weight: 570;
  line-height: 1.48;
  letter-spacing: -.018em;
  overflow-wrap: break-word;
  hyphens: none;
}
body.dsp-about-page.et-db .dsp-about-story p + p { margin-top: 1.35em; }
body.dsp-about-page.et-db .dsp-about-story-lead p:nth-child(2),
body.dsp-about-page.et-db .dsp-about-story-tail p:last-child { color: #fff; font-weight: 740; }
body.dsp-about-page.et-db .dsp-about-story-photo { overflow: hidden; margin-bottom: clamp(28px,3vw,44px) !important; border-radius: 4px 4px var(--radius-lg) 4px; }
body.dsp-about-page.et-db .dsp-about-story-photo .et_pb_image_wrap { display: block; }
body.dsp-about-page.et-db .dsp-about-story-photo img { width: 100%; height: clamp(260px,26vw,385px); object-fit: cover; object-position: center 39%; }

/* Edge-to-edge image band with a readable overlay, no extra Divi row gap. */
body.dsp-about-page.et-db #main-content .dsp-about-bleed {
  display: flex !important;
  align-items: flex-end;
  min-height: clamp(560px,64vw,820px);
  padding: 0 !important;
  overflow: hidden;
  background: #0f0f10 !important;
}
body.dsp-about-page.et-db .dsp-about-bleed-media { position: absolute !important; inset: 0; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.dsp-about-page.et-db .dsp-about-bleed-media,
body.dsp-about-page.et-db .dsp-about-bleed-media .et_pb_column { z-index: 0 !important; }
body.dsp-about-page.et-db .dsp-about-bleed-media .et_pb_column,
body.dsp-about-page.et-db .dsp-about-bleed-photo,
body.dsp-about-page.et-db .dsp-about-bleed-photo .et_pb_image_wrap { width: 100% !important; height: 100%; }
body.dsp-about-page.et-db .dsp-about-bleed-photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 62% 22%; }
body.dsp-about-page.et-db .dsp-about-bleed::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(90deg,rgba(15,15,16,.96),rgba(15,15,16,.90) 34%,rgba(15,15,16,.52) 54%,rgba(15,15,16,.10) 78%),linear-gradient(0deg,rgba(15,15,16,.92),rgba(15,15,16,.30) 38%,transparent 66%);
}
body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-bleed-content { position: relative; z-index: 3 !important; padding-block: clamp(56px,7vw,104px) !important; }
body.dsp-about-page.et-db .dsp-about-bleed-content .et_pb_column { z-index: 3 !important; }
body.dsp-about-page.et-db .dsp-about-bleed-heading h2 { max-width: 10ch; color: #ff3547; font-size: clamp(2.6rem,4.7vw,5rem); line-height: 1.02; text-shadow: 0 3px 26px rgba(0,0,0,.7); }
body.dsp-about-page.et-db .dsp-about-bleed-body p { max-width: 38ch; margin-top: clamp(22px,2.4vw,34px); color: #fff; font-family: var(--f-display); font-size: clamp(1.15rem,1.5vw,1.55rem); font-weight: 680; line-height: 1.4; text-shadow: 0 2px 20px rgba(0,0,0,.75); }

body.dsp-about-page.et-db #main-content .dsp-about-stats { background: #101012 !important; }
body.dsp-about-page.et-db .dsp-about-heading h2 { margin-bottom: clamp(42px,5vw,72px); }
body.dsp-about-page.et-db .dsp-about-stat-grid,
body.dsp-about-page.et-db .dsp-about-credentials-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(18px,2.5vw,38px); }
body.dsp-about-page.et-db .dsp-about-stat-grid > .et_pb_column,
body.dsp-about-page.et-db .dsp-about-credentials-grid > .et_pb_column,
body.dsp-about-page.et-db .dsp-about-gallery > .et_pb_column { float: none !important; width: auto !important; min-width: 0; margin: 0 !important; }
body.dsp-about-page.et-db .dsp-about-stat { border-top: 1px solid rgba(255,0,25,.48); padding-top: 20px; }
body.dsp-about-page.et-db .dsp-about-stat .et_pb_text_inner { display: block; height: auto !important; }
body.dsp-about-page.et-db .dsp-about-stat-value { color: #ff3547; font-family: var(--f-display); font-size: clamp(3.2rem,5.1vw,5.4rem); font-weight: 800; line-height: 1; }
body.dsp-about-page.et-db .dsp-about-stat-value span { font-size: .58em; vertical-align: top; }
body.dsp-about-page.et-db .dsp-about-stat-label { margin-top: 16px; color: #fff; font-family: var(--f-display); font-size: clamp(1.12rem,1.5vw,1.55rem); font-weight: 750; line-height: 1.2; }
body.dsp-about-page.et-db .dsp-about-stat-note { margin-top: 5px; color: #b4b6bb; font-size: clamp(.92rem,1.1vw,1.12rem); line-height: 1.4; }

body.dsp-about-page.et-db #main-content .dsp-about-credentials { background: #171719 !important; border-block: 1px solid rgba(255,255,255,.05); }
body.dsp-about-page.et-db #main-content .dsp-about-credentials-heading h2 { margin-bottom: clamp(45px,5vw,80px); color: #ff8a94; font-family: var(--f-body); font-size: .85rem; font-weight: 780; letter-spacing: .14em; line-height: 1.6; }
body.dsp-about-page.et-db .dsp-about-credentials-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 clamp(42px,7vw,110px); }
body.dsp-about-page.et-db .dsp-about-credential { border-top: 1px solid rgba(255,255,255,.18); padding: clamp(28px,3.5vw,50px) 0; }
body.dsp-about-page.et-db .dsp-about-credential .et_pb_text_inner { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 22px; }
body.dsp-about-page.et-db .dsp-about-credential-number { color: #ff6977; font-family: var(--f-display); font-size: .95rem; font-weight: 800; line-height: 1.6; }
body.dsp-about-page.et-db .dsp-about-credential p { max-width: 49ch; color: #fff; font-family: var(--f-display); font-size: clamp(1.15rem,1.48vw,1.48rem); font-weight: 660; line-height: 1.44; overflow-wrap: break-word; }

body.dsp-about-page.et-db #main-content .dsp-about-practice { background: #101012 !important; }
body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-practice-intro { display: grid !important; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: start; gap: clamp(40px,7vw,110px); margin-bottom: clamp(48px,6vw,84px) !important; }
body.dsp-about-page.et-db .dsp-about-practice-heading h2 { max-width: 13ch; }
body.dsp-about-page.et-db .dsp-about-practice-copy p { font-weight: 650; }
body.dsp-about-page.et-db .dsp-about-gallery { display: grid !important; grid-template-columns: 1.15fr .85fr .85fr; grid-template-rows: repeat(2,minmax(0,220px)); gap: clamp(10px,1.5vw,20px); }
body.dsp-about-page.et-db .dsp-about-gallery-cell { height: 100%; overflow: hidden; border-radius: var(--radius); background: #1b1b1e; }
body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(1),
body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(2) { grid-row: span 2; }
body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(1) { grid-column: 1; }
body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(2) { grid-column: 2; }
body.dsp-about-page.et-db .dsp-about-gallery-photo,
body.dsp-about-page.et-db .dsp-about-gallery-photo .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
body.dsp-about-page.et-db .dsp-about-gallery-photo img { width: 100%; height: 100%; object-fit: cover; }
body.dsp-about-page.et-db .dsp-about-gallery-cell:first-child img { object-position: 43% center; }

body.dsp-about-page.et-db #main-content .dsp-about-journey { background: linear-gradient(180deg,#171719,#101012) !important; border-top: 1px solid rgba(255,255,255,.08); }
body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-journey-heading-row { margin-bottom: clamp(45px,6vw,90px) !important; }
body.dsp-about-page.et-db .dsp-about-journey-heading-row h2 { margin: 0; }
body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-journey-item { --dsp-about-journey-year: 180px; display: grid !important; grid-template-columns: var(--dsp-about-journey-year) minmax(0,1fr); gap: clamp(32px,3vw,48px); border: 0; padding: clamp(26px,3vw,42px) var(--dsp-about-gutter) clamp(26px,3vw,42px) calc(var(--dsp-about-gutter) + 36px) !important; }
/* The rail belongs to the dates, not the empty space before the descriptions. */
body.dsp-about-page.et-db .dsp-about-journey-item::before { content: ""; position: absolute; top: clamp(26px,3vw,42px); left: calc(var(--dsp-about-gutter) + 5px); width: 11px; height: 11px; border-radius: 50%; background: #ff3547; box-shadow: 0 0 0 7px #171719; z-index: 2; }
body.dsp-about-page.et-db .dsp-about-journey-item::after { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--dsp-about-gutter) + 10px); width: 2px; height: auto !important; visibility: visible !important; clear: none !important; background: rgba(255,53,71,.45); }
body.dsp-about-page.et-db .dsp-about-journey-date p { color: #ff6977; font-family: var(--f-display); font-size: clamp(1.4rem,2vw,2rem); font-weight: 800; line-height: 1.1; }
body.dsp-about-page.et-db .dsp-about-journey-item:last-child .dsp-about-journey-date p { max-width: 10ch; }
body.dsp-about-page.et-db .dsp-about-journey-entry h3 { max-width: 62ch; color: #fff; font-size: clamp(1.22rem,1.72vw,1.78rem); font-weight: 740; line-height: 1.28; letter-spacing: -.025em; }

/* Explicit padding prevents both the old zero-gap and giant-void footer bugs. */
body.dsp-about-page.et-db #main-content .dsp-about-closing { padding: clamp(90px,10vw,145px) 0 !important; background: transparent !important; text-align: center; }
body.dsp-about-page.et-db .dsp-about-closing-heading { width: 100%; margin: 0 auto !important; }
body.dsp-about-page.et-db .dsp-about-closing-heading .et_pb_text_inner { text-align: center !important; }
body.dsp-about-page.et-db .dsp-about-closing-heading h2 { max-width: 32ch; margin-inline: auto; color: #fff; font-size: clamp(2.55rem,5.2vw,4.8rem); line-height: 1.03; text-align: center !important; }
body.dsp-about-page.et-db .dsp-about-closing-heading em { color: #ff3547; font-style: normal; }
body.dsp-about-page.et-db .dsp-about-closing .et_pb_button_module_wrapper { margin-top: clamp(28px,4vw,48px); }
body.dsp-about-page.et-db .et_pb_button.dsp-about-button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 1.1rem 2rem !important; border: 1px solid var(--red) !important;
  border-radius: 999px !important; background: var(--red) !important; color: #fff !important;
  font-family: var(--f-body) !important; font-size: 1.05rem !important; font-weight: 700 !important;
  line-height: 1 !important; text-decoration: none !important;
}
body.dsp-about-page.et-db .et_pb_button.dsp-about-button::after { display: none !important; }
body.dsp-about-page.et-db .et_pb_button.dsp-about-button:hover { background: #ff2033 !important; }

@media (max-width: 1024px) {
  body.dsp-about-page.et-db .dsp-about-hero-title { max-width: 78%; }
  body.dsp-about-page.et-db .dsp-about-hero-title h1 { font-size: clamp(3rem,6.5vw,5.5rem); }
  body.dsp-about-page.et-db .dsp-about-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-journey-item { --dsp-about-journey-year: 150px; }
}
@media (max-width: 860px) {
  body.dsp-about-page.et-db #pageBackdrop { background: url('../img/michael-cutout-tall.png') center 20% / cover no-repeat #0f0f10; }
  body.dsp-about-page.et-db #pageBackdrop img { display: none; }
  body.dsp-about-page.et-db #pageBackdrop::after { background: linear-gradient(180deg,rgba(15,15,16,.2),rgba(15,15,16,.28) 30%,rgba(15,15,16,.94) 80%),radial-gradient(70% 55% at 70% 30%,rgba(255,0,25,.22),transparent 80%); }
  body.dsp-about-page.et-db #main-content .dsp-about-hero { min-height: min(94svh,780px); padding: 110px 0 70px !important; }
  body.dsp-about-page.et-db .dsp-about-hero-title { max-width: 100%; }
  body.dsp-about-page.et-db .dsp-about-hero-title h1 { max-width: 18ch; font-size: clamp(2.7rem,7.5vw,4.2rem); }
  body.dsp-about-page.et-db .dsp-about-story-grid,
  body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-practice-intro { grid-template-columns: 1fr; gap: 32px; }
  body.dsp-about-page.et-db .dsp-about-story-left { position: static; }
  body.dsp-about-page.et-db .dsp-about-story-photo img { height: clamp(260px,50vw,420px); }
  body.dsp-about-page.et-db #main-content .et_pb_section.dsp-about-bleed { min-height: clamp(660px,96vw,740px); }
  body.dsp-about-page.et-db .dsp-about-bleed-photo img { object-position: 54% 16%; }
  body.dsp-about-page.et-db .dsp-about-bleed::after { background: linear-gradient(0deg,rgba(15,15,16,.96),rgba(15,15,16,.86) 34%,rgba(15,15,16,.30) 62%,rgba(15,15,16,.55)); }
  body.dsp-about-page.et-db .dsp-about-bleed-heading h2 { max-width: 14ch; }
  body.dsp-about-page.et-db .dsp-about-credentials-grid { grid-template-columns: 1fr; }
  body.dsp-about-page.et-db .dsp-about-practice-heading h2 { max-width: 19ch; }
}
@media (max-width: 620px) {
  body.dsp-about-page.et-db { --dsp-about-gutter: clamp(16px,5vw,24px); }
  body.dsp-about-page.et-db #main-content .dsp-about-section { padding: 62px 0 !important; }
  body.dsp-about-page.et-db #main-content .dsp-about-hero { min-height: min(100svh,820px); padding: 100px 0 64px !important; }
  body.dsp-about-page.et-db .dsp-about-hero-title h1 { max-width: 15ch; font-size: clamp(2.28rem,8.3vw,3rem); line-height: 1.01; }
  body.dsp-about-page.et-db .dsp-about-story p { font-size: 1.16rem; line-height: 1.52; }
  body.dsp-about-page.et-db .dsp-about-bleed-heading h2 { font-size: 2.45rem; }
  body.dsp-about-page.et-db .dsp-about-bleed-body p { max-width: none; font-size: 1.16rem; }
  body.dsp-about-page.et-db #main-content .et_pb_section.dsp-about-bleed { min-height: 780px; }
  body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-bleed-content { padding-block: 42px 52px !important; }
  body.dsp-about-page.et-db .dsp-about-stat-grid { grid-template-columns: 1fr; gap: 0; }
  body.dsp-about-page.et-db .dsp-about-stat { padding: 24px 0; }
  body.dsp-about-page.et-db .dsp-about-stat .et_pb_text_inner { display: grid; grid-template-columns: minmax(82px,26%) minmax(0,1fr); column-gap: 16px; align-items: start; }
  body.dsp-about-page.et-db .dsp-about-stat-value { grid-row: span 2; font-size: clamp(2.75rem,12vw,3.65rem); }
  body.dsp-about-page.et-db .dsp-about-stat-label { margin-top: 0; font-size: 1.05rem; }
  body.dsp-about-page.et-db .dsp-about-stat-note { margin-top: 4px; font-size: .9rem; }
  body.dsp-about-page.et-db .dsp-about-credential { padding-block: 27px; }
  body.dsp-about-page.et-db .dsp-about-credential p { font-size: 1.15rem; }
  body.dsp-about-page.et-db .dsp-about-practice-copy p { font-size: 1.16rem; }
  body.dsp-about-page.et-db .dsp-about-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: 260px 190px 190px; }
  body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(1) { grid-column: 1 / -1; grid-row: 1; }
  body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(2) { grid-column: 1; grid-row: 2 / 4; }
  body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(3) { grid-column: 2; grid-row: 2; }
  body.dsp-about-page.et-db .dsp-about-gallery-cell:nth-child(4) { grid-column: 2; grid-row: 3; }
  body.dsp-about-page.et-db #main-content .et_pb_row.dsp-about-journey-item { display: block !important; padding: 26px var(--dsp-about-gutter) 26px calc(var(--dsp-about-gutter) + 36px) !important; }
  body.dsp-about-page.et-db .dsp-about-journey-item::before { left: calc(var(--dsp-about-gutter) + 5px); top: 30px; }
  body.dsp-about-page.et-db .dsp-about-journey-item::after { left: calc(var(--dsp-about-gutter) + 10px); }
  body.dsp-about-page.et-db .dsp-about-journey-date p { margin-bottom: 12px; font-size: 1.3rem; }
  body.dsp-about-page.et-db .dsp-about-journey-item:last-child .dsp-about-journey-date p { max-width: none; }
  body.dsp-about-page.et-db .dsp-about-journey-entry h3 { max-width: none; font-size: 1.14rem; line-height: 1.32; }
  body.dsp-about-page.et-db .dsp-about-closing-heading h2 { font-size: clamp(2rem,7vw,2.75rem); }
}
@media (max-width: 380px) {
  body.dsp-about-page.et-db .dsp-about-hero-title h1 { font-size: 2.02rem; }
  body.dsp-about-page.et-db .dsp-about-credential .et_pb_text_inner { grid-template-columns: 30px minmax(0,1fr); gap: 12px; }
  body.dsp-about-page.et-db .dsp-about-journey-entry h3 { font-size: 1rem; }
  body.dsp-about-page.et-db .dsp-about-closing-heading h2 { font-size: 1.55rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.dsp-about-page.et-db #pageBackdrop { transition: none !important; }
}
