/*
 * Dallas Media Company — About page.
 * Ported from about-page.php, adapted to native blocks.
 */

.ab-story, .ab-values, .ab-creds, .ab-team { padding: 100px 60px; }
.ab-section-title em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }

/* block-gap neutralizer for card/meta containers */
.ab-hero-text > *, .ab-hero-meta > *, .ab-hero-meta-item > *, .ab-story-sticky > *,
.ab-story-body > *, .ab-value > *, .ab-cred-card > *, .ab-creds-headtext > *,
.ab-team-head > *, .ab-team-info > *, .ab-values-head > *, .ab-cta-inner > * { margin-top: 0 !important; margin-block-start: 0 !important; }

/* ── HERO ── */
.ab-hero { padding: 130px 60px 80px; background: radial-gradient(ellipse 60% 80% at 20% 30%, rgba(30,95,191,0.2) 0%, transparent 60%), var(--navy); position: relative; overflow: hidden; border-bottom: 1px solid rgba(0,212,255,0.08); }
.ab-hero-inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: end; }
.ab-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(--cyan); margin: 0 0 24px; }
.ab-eyebrow::before { content: ''; display: block; width: 40px; height: 1px; background: var(--cyan); }
.ab-hero h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(56px, 7vw, 100px) !important; line-height: 0.92 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 28px; }
.ab-hero h1 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.ab-hero-sub { font-size: 17px; line-height: 1.65; color: var(--gray); max-width: 540px; margin: 0; }
.ab-hero-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px; border: 1px solid rgba(0,212,255,0.15); background: rgba(13,38,80,0.3); }
.ab-hero-meta-item { margin: 0; }
.ab-hero-meta-lbl { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gray); margin: 0 0 4px; }
.ab-hero-meta-val { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: var(--white); letter-spacing: 0.5px; line-height: 1.1; margin: 0; }
.ab-hero-meta-val small { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--gray); letter-spacing: 1.5px; text-transform: uppercase; display: block; font-weight: 400; margin-top: 4px; }

/* ── STORY ── */
.ab-story { background: var(--navy); }
.ab-story-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 280px 1fr; gap: 56px; align-items: start; }
.ab-story-sticky { position: sticky; top: 96px; }
.ab-story-sticky h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(42px, 4vw, 60px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 20px; }
.ab-story-sticky h2 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.ab-story-sticky p { font-size: 14px; line-height: 1.7; color: var(--gray); margin: 0; }
.ab-story-body p { font-size: 16px; line-height: 1.85; color: var(--white); opacity: 0.92; margin: 0 0 24px; }
.ab-story-body p strong { color: var(--cyan); font-weight: 500; }
.ab-story-body p em { color: var(--white); font-style: italic; }
.ab-story-pullquote { background: rgba(0,212,255,0.06); border-left: 2px solid var(--cyan); border-right: none; border-top: none; border-bottom: none; padding: 24px 28px; margin: 36px 0; font-family: 'Playfair Display', serif; font-style: italic; font-size: 20px; line-height: 1.5; color: var(--white); }
.ab-story-pullquote p { margin: 0; font-size: 20px; }
.ab-story-pullquote cite { display: block; font-family: 'DM Sans', sans-serif; font-style: normal; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 16px; }

/* ── VALUES ── */
.ab-values { background: var(--navy2); }
.ab-values-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.ab-values-head .section-label { justify-content: center; }
.ab-values-head p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 20px 0 0; }
.ab-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.08); max-width: 1280px; margin: 0 auto; }
.ab-value { background: var(--navy); padding: 40px 36px; display: flex; flex-direction: column; margin: 0; }
.ab-value-num { font-family: 'Bebas Neue', sans-serif; font-size: 14px; letter-spacing: 3px; color: var(--cyan); margin: 0 0 24px; }
.ab-value h3 { font-family: 'Bebas Neue', sans-serif !important; font-size: 28px !important; line-height: 1.1 !important; color: var(--white); letter-spacing: 0.5px; margin: 0 0 14px; }
.ab-value p { font-size: 14px; line-height: 1.7; color: var(--gray); margin: 0; }

/* ── CREDENTIALS ── */
.ab-creds { background: var(--navy); }
.ab-creds-head { max-width: 1280px; margin: 0 auto 48px; }
.ab-creds-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(38px, 4.5vw, 60px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 16px; }
.ab-creds-head p { font-size: 15px; line-height: 1.7; color: var(--gray); max-width: 560px; margin: 0; }
.ab-creds-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 1280px; margin: 0 auto; }
.ab-cred-card { background: var(--navy2); border: 1px solid rgba(0,212,255,0.1); padding: 36px 28px; transition: border-color 0.25s, transform 0.25s; margin: 0; }
.ab-cred-card:hover { border-color: rgba(0,212,255,0.4); transform: translateY(-4px); }
.ab-cred-year { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--cyan); margin: 0 0 12px; }
.ab-cred-card h4 { font-family: 'Bebas Neue', sans-serif !important; font-size: 22px !important; line-height: 1.15 !important; color: var(--white); letter-spacing: 0.5px; margin: 0 0 12px; }
.ab-cred-card p { font-size: 13.5px; line-height: 1.65; color: var(--gray); margin: 0 0 16px; }
.ab-cred-card .source { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); padding-top: 14px; border-top: 1px solid rgba(0,212,255,0.08); margin: 0; }
.ab-cred-card .source b { color: var(--white); font-weight: 500; }

/* ── TEAM ── */
.ab-team { background: var(--navy2); }
.ab-team-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.ab-team-head .section-label { justify-content: center; }
.ab-team-head p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 20px 0 0; }
.ab-team-grid { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 700px; margin: 0 auto; }
.ab-team-card { background: var(--navy); border: 1px solid rgba(0,212,255,0.1); padding: 40px 36px; display: grid; grid-template-columns: 120px 1fr; gap: 32px; align-items: center; transition: border-color 0.25s; margin: 0; }
.ab-team-card:hover { border-color: rgba(0,212,255,0.4); }
.ab-team-avatar { width: 120px; height: 120px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 42px; color: var(--white); letter-spacing: 1px; border: 2px solid rgba(0,212,255,0.3); background: linear-gradient(135deg,#1d4ea3,#2e7de6); margin: 0; }
.ab-team-role { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cyan); margin: 0 0 6px; }
.ab-team-name { font-family: 'Bebas Neue', sans-serif; font-size: 30px; color: var(--white); letter-spacing: 0.5px; margin: 0 0 4px; }
.ab-team-title { font-size: 13px; color: var(--gray); margin: 0 0 14px; }
.ab-team-bio { font-size: 14px; line-height: 1.7; color: var(--gray); margin: 0; }
.ab-team-note { text-align: center; margin: 36px 0 0; font-size: 13px; color: var(--gray); }
.ab-team-note a { color: var(--cyan); text-decoration: none; }

/* ── CTA ── */
.ab-cta { background: linear-gradient(135deg, #071428 0%, #0d2650 100%); position: relative; overflow: hidden; text-align: center; padding: 100px 60px; }
.ab-cta-inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.ab-cta .section-label { justify-content: center; }
.ab-cta h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(44px, 5.5vw, 76px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 24px; }
.ab-cta h2 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.ab-cta p { font-size: 16px; line-height: 1.7; color: var(--gray); margin: 0 0 36px; }
.ab-cta .wp-block-buttons { justify-content: center; }

/* ── Responsive ── */
@media (max-width: 1100px) {
  .ab-story, .ab-values, .ab-creds, .ab-team { padding: 56px 24px; }
  .ab-hero { padding: 110px 24px 56px; }
  .ab-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .ab-story-inner { grid-template-columns: 1fr; gap: 32px; }
  .ab-story-sticky { position: static; }
  .ab-values-grid { grid-template-columns: 1fr; }
  .ab-creds-grid { grid-template-columns: 1fr; }
  .ab-team-card { grid-template-columns: 1fr; text-align: center; gap: 20px; padding: 32px 24px; }
  .ab-team-avatar { margin: 0 auto; }
}
