/* ============ Shared inner-page primitives ============ */
.page-wrap { padding-top: 192px; }

/* OTA page: keep the long-form content in the same compact service-page system
   as the reference layouts, while scoping the rules to this template. */
.ota-optimization-page .page-wrap { padding-top: 192px; }
.ota-optimization-page .section { padding: 72px 0; }
.ota-optimization-page .hero-section { padding-bottom: 88px; }
.ota-optimization-page .hero-section .body-split { gap: 96px; align-items: flex-start !important; }
.ota-optimization-page .hero-section h1 {
  max-width: 680px; font-size: 56px !important; line-height: 1.12 !important;
}
.ota-optimization-page .hero-section .main-col { flex: 1.05 !important; }
.ota-optimization-page .hero-section > .container > .body-split > .reveal:last-child {
  flex: 1 !important; min-width: 0 !important; padding-top: 68px;
}
.ota-optimization-page .channel-mix-card {
  width: 100%; aspect-ratio: 1.9; min-height: 0; padding: 28px; border-radius: 20px; background: var(--dark-navy);
  color: #fff; box-shadow: 0 20px 40px rgba(11,18,32,0.16);
  display: flex; flex-direction: column; justify-content: space-between;
}
.ota-optimization-page .cm-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 30px;
}
.ota-optimization-page .cm-label {
  color: rgba(255,255,255,0.62); font-size: 10px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
}
.ota-optimization-page .cm-pill {
  padding: 5px 9px; border-radius: 999px; background: rgba(255,185,86,0.14);
  color: var(--orange); font-size: 10px; font-weight: 700;
}
.ota-optimization-page .ch-compare {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
  align-items: end; height: 125px;
}
.ota-optimization-page .ch-group { min-width: 0; text-align: center; }
.ota-optimization-page .ch-bars {
  display: flex; align-items: end; justify-content: center; gap: 6px; height: 92px;
}
.ota-optimization-page .ch-track {
  display: flex; align-items: end; width: 10px; height: 100%;
  border-radius: 3px 3px 0 0; background: rgba(255,255,255,0.08);
}
.ota-optimization-page .ch-fill {
  width: 100%; height: var(--to); border-radius: 3px 3px 0 0;
  transform-origin: bottom; animation: otaChartBarRise 3.2s ease-in-out infinite alternate;
}
.ota-optimization-page .ch-fill.before { background: #30384a; }
.ota-optimization-page .ch-fill.after { background: var(--orange); animation-delay: -1.1s; }
.ota-optimization-page .ch-name {
  overflow: hidden; color: rgba(255,255,255,0.62); font-size: 9px;
  text-overflow: ellipsis; white-space: nowrap;
}
.ota-optimization-page .ch-legend {
  display: flex; justify-content: center; gap: 18px; margin-top: 20px;
  color: rgba(255,255,255,0.52); font-size: 10px;
}
.ota-optimization-page .ch-legend > span { display: inline-flex; align-items: center; gap: 5px; }
.ota-optimization-page .ch-legend .dot {
  width: 6px; height: 6px; border-radius: 50%; display: inline-block;
}
.ota-optimization-page .ch-legend .dot.before { background: #30384a; }
.ota-optimization-page .ch-legend .dot.after { background: var(--orange); }
@keyframes otaChartBarRise {
  0% { transform: scaleY(0.72); opacity: 0.72; }
  100% { transform: scaleY(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ota-optimization-page .ch-fill { animation: none; }
}
.ota-optimization-page .gap-split {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
}
.ota-optimization-page .gap-col {
  border-radius: 20px; padding: 28px; border: 1px solid var(--gray-border);
}
.ota-optimization-page .gap-col.bad { background: #f3f3f3; }
.ota-optimization-page .gap-col.good { background: var(--dark-navy); color: #fff; }
.ota-optimization-page .gap-col h4 { font-size: 18px; margin-bottom: 18px; }
.ota-optimization-page .gap-col .item {
  display: flex; align-items: flex-start; gap: 10px; padding: 11px 0;
  border-top: 1px solid rgba(69,71,76,0.12);
}
.ota-optimization-page .gap-col .item:first-of-type { border-top: 0; }
.ota-optimization-page .gap-col.good .item { border-color: rgba(255,255,255,0.12); }
.ota-optimization-page .gap-col .mark { flex: none; color: var(--orange); font-weight: 700; }
.ota-optimization-page .gap-col p { color: var(--gray-text); font-size: 14px; margin: 0; }
.ota-optimization-page .gap-col.good p { color: rgba(255,255,255,0.68); }
.ota-optimization-page .step-row,
.ota-optimization-page .stat-row {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.ota-optimization-page .step-card,
.ota-optimization-page .stat-tile {
  border: 1px solid var(--gray-border); border-radius: 20px; padding: 28px;
  background: #fff; box-shadow: 0 8px 20px rgba(11,18,32,0.04);
}
.ota-optimization-page .step-num {
  color: var(--orange); font-size: 13px; font-weight: 700; letter-spacing: 1px;
  margin-bottom: 20px;
}
.ota-optimization-page .step-card h4 { font-size: 18px; margin-bottom: 8px; }
.ota-optimization-page .step-card p,
.ota-optimization-page .stat-tile .label { color: var(--gray-text); font-size: 14px; margin: 0; }
.ota-optimization-page .stat-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ota-optimization-page .stat-tile { background: var(--bg-light); }
.ota-optimization-page .stat-tile .num { font-size: 32px; font-weight: 700; margin-bottom: 5px; }
.ota-optimization-page .why-block { display: flex; flex-direction: column; gap: 32px; }
.ota-optimization-page .why-row {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px; align-items: center;
}
.ota-optimization-page .why-row.reverse .why-copy { order: 2; }
.ota-optimization-page .why-row.reverse .why-visual { order: 1; }
.ota-optimization-page .why-eyebrow {
  color: var(--orange); font-size: 11px; font-weight: 700;
  letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: 10px;
}
.ota-optimization-page .why-copy h3 { font-size: 26px; margin-bottom: 12px; }
.ota-optimization-page .why-copy p { color: var(--gray-text); font-size: 15px; line-height: 1.65; }
.ota-optimization-page .why-visual > * {
  border: 1px solid var(--gray-border); border-radius: 20px;
  box-shadow: 0 12px 26px rgba(11,18,32,0.05);
}
.ota-optimization-page .mc-card,
.ota-optimization-page .live-feed,
.ota-optimization-page .config-panel { padding: 22px; background: #fff; }
.ota-optimization-page .mc-header,
.ota-optimization-page .mc-row,
.ota-optimization-page .lf-row,
.ota-optimization-page .cp-head,
.ota-optimization-page .cp-row,
.ota-optimization-page .cp-foot {
  display: flex; align-items: center; gap: 10px;
}
.ota-optimization-page .mc-header { justify-content: space-between; margin-bottom: 16px; }
.ota-optimization-page .mc-col-title,
.ota-optimization-page .lf-trigger,
.ota-optimization-page .cp-head {
  color: var(--gray-text); font-size: 9px; font-weight: 700;
  letter-spacing: .6px; text-transform: uppercase;
}
.ota-optimization-page .mc-col-title.good { color: #16a34a; }
.ota-optimization-page .mc-body { display: grid; grid-template-columns: 1fr 1px 1fr; gap: 14px; }
.ota-optimization-page .mc-divider-line { width: 1px; background: var(--gray-border); }
.ota-optimization-page .mc-side { display: flex; flex-direction: column; gap: 9px; }
.ota-optimization-page .mc-row { font-size: 10px; }
.ota-optimization-page .mc-badge {
  width: 18px; height: 18px; border-radius: 50%; background: var(--bg-light);
  display: grid; place-items: center; font-size: 8px; font-weight: 700;
}
.ota-optimization-page .mc-name { width: 48px; color: var(--gray-text); }
.ota-optimization-page .mc-bar-wrap { height: 5px; flex: 1; border-radius: 99px; background: var(--gray-border); }
.ota-optimization-page .mc-bar-fill { display: block; height: 100%; width: 65%; border-radius: inherit; background: var(--orange); }
.ota-optimization-page .mc-side.bad .mc-bar-fill { width: 28%; background: #aeb5c1; }
.ota-optimization-page .lf-trigger { margin-bottom: 18px; }
.ota-optimization-page .lf-dot { width: 7px; height: 7px; border-radius: 50%; background: #16a34a; }
.ota-optimization-page .lf-window { margin-left: auto; color: var(--gray-text); }
.ota-optimization-page .lf-row { padding: 11px 0; border-top: 1px solid var(--gray-border); font-size: 10px; }
.ota-optimization-page .lf-ch { width: 74px; font-weight: 700; }
.ota-optimization-page .lf-action { flex: 1; color: var(--gray-text); }
.ota-optimization-page .lf-status { color: var(--gray-text); font-size: 9px; }
.ota-optimization-page .lf-status.live { color: #16a34a; }
.ota-optimization-page .cp-head { justify-content: space-between; margin-bottom: 18px; }
.ota-optimization-page .cp-running { color: #16a34a; }
.ota-optimization-page .cp-rows { display: flex; flex-direction: column; gap: 13px; }
.ota-optimization-page .cp-row { flex-wrap: wrap; font-size: 10px; }
.ota-optimization-page .cp-name { flex: 1; font-weight: 600; }
.ota-optimization-page .cp-scope { color: var(--gray-text); }
.ota-optimization-page .cp-bar { order: 3; width: 100%; height: 5px; background: var(--gray-border); border-radius: 99px; }
.ota-optimization-page .cp-bar-fill { display: block; width: 78%; height: 100%; background: var(--orange); border-radius: inherit; }
.ota-optimization-page .cp-foot { justify-content: space-between; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--gray-border); color: var(--gray-text); font-size: 10px; }
.ota-optimization-page .cp-counter { color: var(--orange); font-weight: 700; }
.ota-optimization-page .cta-dark { margin: 0; padding: 72px 32px; border-radius: 24px; }
.ota-optimization-page .cta-dark h2 { font-size: 36px; }
.ota-optimization-page .faq { max-width: 720px; }
.ota-optimization-page .section-heading { margin-bottom: 18px; }
.ota-optimization-page .section-heading h2 { font-size: 26px; }
.ota-optimization-page .section-heading .bar { width: 32px; height: 2px; }

@media (max-width: 900px) {
  .ota-optimization-page .why-row { grid-template-columns: 1fr; gap: 24px; }
  .ota-optimization-page .why-row.reverse .why-copy,
  .ota-optimization-page .why-row.reverse .why-visual { order: initial; }
}

@media (max-width: 640px) {
  .ota-optimization-page .page-wrap { padding-top: 104px; }
  .ota-optimization-page .section { padding: 52px 0; }
  .ota-optimization-page .hero-section { padding-bottom: 56px; }
  .ota-optimization-page .hero-section h1 { font-size: 38px !important; }
  .ota-optimization-page .hero-section > .container > .body-split > .reveal:last-child { padding-top: 0; }
  .ota-optimization-page .channel-mix-card { padding: 22px 18px; }
  .ota-optimization-page .channel-mix-card { aspect-ratio: auto; min-height: 260px; }
  .ota-optimization-page .gap-split,
  .ota-optimization-page .step-row,
  .ota-optimization-page .stat-row { grid-template-columns: 1fr; }
  .ota-optimization-page .gap-col,
  .ota-optimization-page .step-card,
  .ota-optimization-page .stat-tile { padding: 22px; }
  .ota-optimization-page .mc-body { grid-template-columns: 1fr; }
  .ota-optimization-page .mc-body > .mc-divider-line { display: none; }
  .ota-optimization-page .lf-row { flex-wrap: wrap; }
  .ota-optimization-page .cta-dark { padding: 52px 22px; }
  .ota-optimization-page .cta-dark h2 { font-size: 28px; }
}

/* 3D tilt-on-hover image (resting rotate + transform/transition fully driven by
   js/script.js — see the "Service hero image tilt" block). */
.hero-tilt { border-radius: 24px; overflow: hidden; will-change: transform; }

.breadcrumb { display: flex; align-items: center; gap: 8px; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.5px; color: var(--gray-text); margin-bottom: 24px; }
.breadcrumb .sep { color: var(--gray-border); }
.breadcrumb .current { color: var(--black); font-weight: 700; }

.eyebrow-pill { display: inline-flex; align-items: center; gap: 8px; background: #2a1800; color: var(--orange); font-size: 12px; font-weight: 600; letter-spacing: 0.5px; padding: 6px 16px; border-radius: 999px; }

/* ============ Split layout: main content + sticky sidebar ============ */
.body-split { display: flex; gap: 64px; align-items: flex-start; }
.body-split .main-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 64px; }
.body-split .sidebar-col { width: 360px; flex-shrink: 0; position: sticky; top: 110px; display: flex; flex-direction: column; gap: 24px; }

.intro-block h2 { font-size: 32px; margin-bottom: 16px; }
.intro-block p { color: var(--gray-text); font-size: 18px; line-height: 1.6; }
.intro-points { display: flex; gap: 32px; margin-top: 24px; flex-wrap: wrap; }
.intro-points .point { flex: 1; min-width: 220px; display: flex; gap: 16px; }
.intro-points .point .dot { width: 20px; height: 20px; min-width: 20px; border-radius: 50%; background: var(--orange); margin-top: 4px; }
.intro-points .point h4 { font-size: 16px; margin-bottom: 4px; }
.intro-points .point p { font-size: 15px; margin: 0; }

/* Bento-style core grid */
.core-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: auto; gap: 16px; }
.core-grid .cell { border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 8px; }
.core-grid .cell h4 { font-size: 18px; }
.core-grid .cell p { font-size: 15px; color: var(--gray-text); margin: 0; }
.core-grid .cell.light { background: #f3f3f3; }
.core-grid .cell.gray { background: #e2e2e2; }
.core-grid .cell.dark { background: var(--dark-navy); color: #fff; }
.core-grid .cell.dark p { color: rgba(255,255,255,0.6); }
.core-grid .cell.span2 { grid-column: span 2; }
.core-grid .cell.row2 { grid-row: span 2; }

/* Sidebar cards */
.sidebar-card { border-radius: 24px; padding: 32px; }
.sidebar-card.light { background: #fff; border: 1px solid var(--gray-border); box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); }
.sidebar-card.dark { background: var(--dark-navy); color: #fff; }
.sidebar-card.tinted { background: #f3f3f3; border: 1px solid var(--gray-border); }
.sidebar-card h3 { font-size: 22px; margin-bottom: 8px; }
.sidebar-card.dark p { color: #7d8496; }
.sidebar-card p { color: var(--gray-text); font-size: 15px; margin-bottom: 16px; }
.sidebar-card label { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.5px; margin-bottom: 6px; color: var(--gray-text); text-transform: uppercase; }
.sidebar-card.dark label { color: #d3e4fe; }
.sidebar-card input, .sidebar-card select, .sidebar-card textarea { width: 100%; padding: 13px 14px; border-radius: 10px; border: 1px solid var(--gray-border); background: #f3f3f3; font-size: 15px; font-family: inherit; margin-bottom: 14px; }
.sidebar-card textarea { resize: vertical; min-height: 80px; }
.sidebar-card.dark input, .sidebar-card.dark select, .sidebar-card.dark textarea { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); color: #fff; }
.sidebar-card .btn { width: 100%; text-align: center; border: none; }
.sidebar-card .btn-gold { background: var(--orange); color: #2a1800; }

.signal-list { display: flex; flex-direction: column; gap: 16px; }
.signal-list .item { display: flex; gap: 16px; }
.signal-list .icon { width: 20px; min-width: 20px; margin-top: 3px; color: var(--orange); }
.signal-list h5 { font-size: 16px; margin-bottom: 2px; }
.signal-list p { font-size: 13px; color: var(--gray-text); margin: 0; }

.accent-card { background: #fff; border: 1px solid var(--gray-border); border-left: 4px solid var(--orange); border-radius: 12px; padding: 24px 28px; display: flex; gap: 16px; align-items: flex-start; }
.accent-card.navy { border-left-color: var(--dark-navy); }
.accent-card h5 { font-size: 16px; margin-bottom: 2px; }
.accent-card p { font-size: 13px; color: var(--gray-text); margin: 0; }

/* Logo strip */
.logo-strip { border-top: 1px solid var(--gray-border); border-bottom: 1px solid var(--gray-border); padding: 48px 0; text-align: center; }
.logo-strip .label { font-size: 12px; font-weight: 600; letter-spacing: 1px; color: var(--gray-text); text-transform: uppercase; margin-bottom: 24px; }
.logo-strip .bars { display: flex; gap: 32px; justify-content: center; align-items: center; opacity: 0.5; flex-wrap: wrap; }
.logo-strip .bars span { display: block; height: 24px; width: 110px; border-radius: 4px; background: rgba(69,71,76,0.2); }

/* Dark CTA band */
.cta-dark { background: var(--dark-navy); color: #fff; text-align: center; padding: 100px 32px; border-radius: 32px; margin: 0 32px; }
.cta-dark h2 { font-size: 42px; margin-bottom: 16px; }
.cta-dark p { color: #7d8496; font-size: 17px; margin-bottom: 28px; }
.cta-dark .actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cta-dark .btn-outline-white { background: transparent; border: 1px solid rgba(255,255,255,0.3); color: #fff; padding: 14px 24px; border-radius: 12px; font-weight: 600; font-size: 14px; }

/* ============ About page ============ */
.about-hero { position: relative; padding: 160px 32px 80px; text-align: center; color: #fff; overflow: hidden; border-radius: 0 0 40px 40px; background-size: cover; background-position: center; }
.about-hero::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.45); }
.about-hero-custom-image { position: absolute; inset: 0; z-index: 0; }
.about-hero-custom-image img { width: 100%; height: 100%; object-fit: cover; }
.about-hero .inner { position: relative; z-index: 1; max-width: 768px; margin: 0 auto; }
.about-hero h1 { font-size: 64px; line-height: 1.1; margin: 20px 0; letter-spacing: -0.02em; }
.about-hero h1 .muted { color: #9aa3b2; }
.about-hero p { font-size: 18px; color: rgba(255,255,255,0.9); }

.story-split { display: grid; grid-template-columns: 7fr 3fr; gap: 16px; }
.story-card { background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; padding: 40px; box-shadow: 0 4px 12px rgba(0,0,0,0.02); }
.story-card h2 { font-size: 32px; margin-bottom: 16px; }
.story-card p { color: var(--gray-text); font-size: 16px; line-height: 1.6; margin-bottom: 12px; }
.stat-card { background: var(--dark-navy); color: #fff; border-radius: 12px; padding: 32px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.stat-card .stat { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 16px; }
.stat-card .stat:first-child { border-top: none; padding-top: 0; }
.stat-card .num { font-size: 40px; font-weight: 700; }
.stat-card .label { font-size: 12px; letter-spacing: 0.5px; color: #d3e4fe; text-transform: uppercase; margin-top: 4px; }

.section-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.section-heading .bar { width: 48px; height: 4px; background: var(--orange); }
.section-heading h2 { font-size: 32px; }

.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.value-card { background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; padding: 32px; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.value-card .icon { width: 48px; height: 48px; border-radius: 8px; background: #d0e1fb; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; font-size: 20px; }
.value-card h3 { font-size: 16px; margin-bottom: 8px; }
.value-card p { font-size: 15px; color: var(--gray-text); line-height: 1.5; }

.footprint-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.footprint-split .why-us, .footprint-split .what-we-do { border-radius: 12px; padding: 32px; border: 1px solid var(--gray-border); }
.footprint-split .why-us { background: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.footprint-split .what-we-do { background: #f3f3f3; }
.footprint-split h2 { font-size: 32px; margin-bottom: 24px; }
.footprint-split .why-us .item { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
.footprint-split .why-us .item .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); margin-top: 8px; min-width: 8px; }
.footprint-split .why-us p { font-size: 15px; color: var(--gray-text); margin: 0; }
.what-we-do-list { display: flex; flex-direction: column; gap: 12px; }
.what-we-do-list .row { background: #fff; border: 1px solid var(--gray-border); border-radius: 8px; padding: 13px; font-size: 15px; font-weight: 700; display: flex; align-items: center; gap: 12px; }

.leadership-card { background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; padding: 40px; box-shadow: 0 4px 12px rgba(0,0,0,0.02); display: flex; gap: 40px; }
.leadership-card .photo-col { width: 230px; flex-shrink: 0; }
.leadership-card .photo-col img { width: 100%; border-radius: 16px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); margin-bottom: 20px; }
.leadership-card .photo-col h4 { font-size: 30px; margin-bottom: 4px; }
.leadership-card .photo-col .role { font-size: 12px; letter-spacing: 0.5px; color: var(--gray-text); text-transform: uppercase; }
.leadership-card .bio p { color: var(--gray-text); font-size: 15px; line-height: 1.6; margin-bottom: 14px; }

/* ============ Blog listing ============ */
.blog-hero-dark { position: relative; padding: 140px 32px; text-align: center; color: #fff; background: var(--dark-navy); overflow: hidden; }
.blog-hero-dark .pill { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); padding: 7px 17px; border-radius: 999px; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 20px; }
.blog-hero-dark h1 { font-size: 64px; line-height: 1.1; margin-bottom: 20px; }
.blog-hero-dark p { max-width: 672px; margin: 0 auto; font-size: 18px; color: rgba(255,255,255,0.8); }

.featured-post { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--gray-border); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.featured-post .img-col { position: relative; min-height: 400px; background-size: cover; background-position: center; }
.featured-post .img-col .tag { position: absolute; top: 24px; left: 24px; background: #000; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 0.5px; padding: 8px 16px; border-radius: 6px; }
.featured-post .content-col { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
.featured-post .category { font-size: 12px; font-weight: 600; letter-spacing: 0.5px; color: #b4770d; margin-bottom: 16px; }
.featured-post h2 { font-size: 40px; line-height: 1.15; margin-bottom: 20px; }
.featured-post .excerpt { color: var(--gray-text); font-size: 18px; line-height: 1.6; margin-bottom: 24px; }
.featured-post .meta-row { display: flex; align-items: center; justify-content: space-between; }
.featured-post .author { display: flex; align-items: center; gap: 12px; }
.featured-post .avatar { width: 40px; height: 40px; border-radius: 50%; background: #d0e1fb; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; }
.featured-post .author .name { font-size: 12px; font-weight: 600; letter-spacing: 0.5px; }
.featured-post .author .date { font-size: 12px; color: var(--gray-text); }
.featured-post .read-more { font-weight: 700; font-size: 15px; }

.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.post-card { border: 1px solid var(--gray-border); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.05); display: flex; flex-direction: column; background: #fff; }
.post-card img { width: 100%; height: 224px; object-fit: cover; background: #eee; }
.post-card .body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.post-card .category { font-size: 11px; font-weight: 600; letter-spacing: 0.5px; color: #b4770d; text-transform: uppercase; margin-bottom: 12px; }
.post-card h3 { font-size: 26px; line-height: 1.2; margin-bottom: 12px; }
.post-card p { color: var(--gray-text); font-size: 15px; line-height: 1.5; margin-bottom: 20px; flex: 1; }
.post-card .foot { border-top: 1px solid var(--gray-border); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; }
.post-card .foot .tag-label { font-size: 11px; font-weight: 600; letter-spacing: 0.5px; color: var(--gray-text); text-transform: uppercase; }
.post-card .foot .explore { font-weight: 700; font-size: 15px; }

.load-more-wrap { text-align: center; }
.btn-outline-dark { background: #fff; border: 1px solid #76777d; padding: 13px 33px; border-radius: 8px; font-weight: 700; font-size: 15px; }

.newsletter-band { background: var(--dark-navy); color: #fff; border-radius: 16px; padding: 56px; display: flex; gap: 48px; align-items: center; flex-wrap: wrap; }
.newsletter-band .copy { flex: 1; min-width: 260px; }
.newsletter-band h2 { font-size: 40px; margin-bottom: 16px; }
.newsletter-band p { color: #7d8496; font-size: 17px; }
.newsletter-band .form-col { flex: 1; min-width: 280px; }
.newsletter-band .row { display: flex; gap: 16px; margin-bottom: 12px; }
.newsletter-band input { flex: 1; padding: 16px 20px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.1); color: #fff; font-size: 15px; }
.newsletter-band input::placeholder { color: rgba(255,255,255,0.4); }
.newsletter-band .btn-gold { background: var(--orange-light); color: #2a1800; border: none; padding: 16px 28px; border-radius: 8px; font-weight: 700; font-size: 15px; white-space: nowrap; }
.newsletter-band .fine-print { font-size: 12px; color: rgba(255,255,255,0.4); }
.newsletter-band .fine-print a { text-decoration: underline; color: rgba(255,255,255,0.6); }

/* ============ Blog article ============ */
.article-hero { position: relative; min-height: 420px; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; background-size: cover; background-position: center; }
.article-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255,255,255,0.4), rgba(255,255,255,0.85) 60%, var(--bg-light)); }
.article-hero .inner { position: relative; z-index: 1; max-width: 896px; padding: 0 32px; }
.article-hero .pill { display: inline-block; background: #d0e1fb; color: #54647a; font-size: 12px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; margin-bottom: 16px; }
.article-hero h1 { font-size: 56px; line-height: 1.15; margin-bottom: 16px; }
.article-hero .meta { display: flex; gap: 12px; justify-content: center; align-items: center; font-size: 15px; color: var(--gray-text); }
.article-hero .meta .sep { width: 6px; height: 6px; border-radius: 50%; background: #c6c6cc; }
.article-hero .meta .author { font-weight: 600; color: var(--black); }

.article-layout { display: flex; gap: 24px; align-items: flex-start; }
.article-body { flex: 1; min-width: 0; background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; padding: 48px; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.article-body .lead { font-size: 20px; font-weight: 600; line-height: 1.6; margin-bottom: 24px; }
.article-body h2 { font-size: 32px; margin: 32px 0 16px; }
.article-body p { color: #1a1c1c; font-size: 16px; line-height: 1.55; margin-bottom: 16px; }
.article-body ul { list-style: none; margin-bottom: 16px; }
.article-body ul li { position: relative; padding-left: 32px; margin-bottom: 12px; font-size: 16px; }
.article-body ul li::before { content: "✓"; position: absolute; left: 0; color: var(--orange); font-weight: 700; }
.article-body blockquote { background: var(--dark-navy); border-left: 4px solid var(--orange-light); border-radius: 0 8px 8px 0; padding: 32px 32px 32px 28px; color: #d0e1fb; font-style: italic; font-size: 16px; margin-bottom: 16px; }
.article-body .share-row { border-top: 1px solid var(--gray-border); padding-top: 32px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.article-body .share-row .label { font-size: 12px; font-weight: 600; letter-spacing: 1px; color: #76777d; text-transform: uppercase; }
.article-body .share-row .buttons { display: flex; gap: 16px; }
.article-body .share-row .buttons a { border: 1px solid var(--gray-border); border-radius: 8px; padding: 9px 17px; font-weight: 600; font-size: 15px; }

.article-sidebar { width: 380px; flex-shrink: 0; display: flex; flex-direction: column; gap: 16px; }
.author-card { background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; padding: 25px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.author-card img { width: 96px; height: 96px; border-radius: 50%; border: 2px solid var(--orange-light); padding: 6px; margin-bottom: 16px; object-fit: cover; }
.author-card h3 { font-size: 20px; margin-bottom: 4px; font-weight: 400; }
.author-card .role { font-size: 12px; letter-spacing: 0.5px; color: #505f76; text-transform: uppercase; margin-bottom: 16px; }
.author-card p { font-size: 15px; color: var(--gray-text); margin-bottom: 16px; }
.author-card .view-profile { font-weight: 700; font-size: 15px; }

.newsletter-card { background: var(--dark-navy); color: #fff; border-radius: 12px; padding: 33px; }
.newsletter-card h3 { font-size: 24px; font-weight: 400; margin-bottom: 12px; }
.newsletter-card p { color: #7d8496; font-size: 15px; margin-bottom: 16px; }
.newsletter-card input { width: 100%; padding: 15px 17px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.1); color: #fff; font-size: 15px; margin-bottom: 16px; }
.newsletter-card input::placeholder { color: rgba(255,255,255,0.4); }
.newsletter-card .btn-gold { width: 100%; background: var(--orange-light); color: #2a1800; border: none; padding: 12px; border-radius: 8px; font-weight: 700; font-size: 15px; }

.popular-card { background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; padding: 25px; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.popular-card .label { font-size: 12px; font-weight: 600; letter-spacing: 1px; color: #76777d; text-transform: uppercase; margin-bottom: 24px; }
.popular-card .item { margin-bottom: 20px; }
.popular-card .item:last-child { margin-bottom: 0; }
.popular-card .item .tag { font-size: 10px; letter-spacing: 0.5px; color: #505f76; text-transform: uppercase; display: block; margin-bottom: 4px; }
.popular-card .item .title { font-size: 17px; line-height: 1.35; }

.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.related-card { background: #fff; border: 1px solid var(--gray-border); border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.02); }
.related-card img { width: 100%; height: 192px; object-fit: cover; background: #eee; }
.related-card .body { padding: 24px; }
.related-card .tag { font-size: 10px; letter-spacing: 0.5px; color: #505f76; text-transform: uppercase; display: block; margin-bottom: 8px; }
.related-card h3 { font-size: 20px; font-weight: 400; margin-bottom: 16px; line-height: 1.25; }
.related-card p { color: var(--gray-text); font-size: 15px; margin-bottom: 20px; }
.related-card .foot { display: flex; justify-content: space-between; align-items: center; font-size: 15px; color: #505f76; }

/* ============ Dark theme overrides ============
   These inner-page components hardcode light surfaces (#fff / #f3f3f3 / #e2e2e2)
   because they're meant to sit on the light page background. Sections that are
   dark by design in both themes (.cta-dark, .stat-card, .blog-hero-dark,
   .newsletter-band, .newsletter-card, .eyebrow-pill) already use var(--dark-navy)
   or literal dark colors and don't need overriding here. */
html[data-theme="dark"] .core-grid .cell.light { background: #171b27; }
html[data-theme="dark"] .core-grid .cell.gray { background: #1b2030; }
html[data-theme="dark"] .sidebar-card.light { background: #171b27; }
html[data-theme="dark"] .sidebar-card.tinted { background: #1b2030; }
html[data-theme="dark"] .sidebar-card.light input,
html[data-theme="dark"] .sidebar-card.light select,
html[data-theme="dark"] .sidebar-card.light textarea,
html[data-theme="dark"] .sidebar-card.tinted input,
html[data-theme="dark"] .sidebar-card.tinted select,
html[data-theme="dark"] .sidebar-card.tinted textarea { background: #10131c; color: var(--black); }
html[data-theme="dark"] .accent-card { background: #171b27; }
html[data-theme="dark"] .story-card { background: #171b27; }
html[data-theme="dark"] .value-card { background: #171b27; }
html[data-theme="dark"] .footprint-split .why-us { background: #171b27; }
html[data-theme="dark"] .footprint-split .what-we-do { background: #1b2030; }
html[data-theme="dark"] .what-we-do-list .row { background: #171b27; }
html[data-theme="dark"] .leadership-card { background: #171b27; }
html[data-theme="dark"] .post-card { background: #171b27; }
html[data-theme="dark"] .post-card img,
html[data-theme="dark"] .related-card img { background: #171b27; }
html[data-theme="dark"] .btn-outline-dark { background: #171b27; border-color: #3a3f4d; color: var(--black); }
html[data-theme="dark"] .article-body { background: #171b27; }
html[data-theme="dark"] .article-body p { color: var(--black); }
html[data-theme="dark"] .author-card { background: #171b27; }
html[data-theme="dark"] .popular-card { background: #171b27; }
html[data-theme="dark"] .related-card { background: #171b27; }
html[data-theme="dark"] .article-hero::after { background: linear-gradient(to bottom, rgba(13,15,22,0.3), rgba(13,15,22,0.85) 60%, var(--bg-light)); }

/* ============ Responsive ============ */
@media (max-width: 1024px) {
  .body-split { flex-direction: column; }
  .body-split .sidebar-col { width: 100%; position: static; }
  .core-grid, .values-grid, .footprint-split, .post-grid, .related-grid { grid-template-columns: 1fr; }
  .core-grid .cell.span2 { grid-column: span 1; }
  .story-split { grid-template-columns: 1fr; }
  .featured-post { grid-template-columns: 1fr; }
  .article-layout { flex-direction: column; }
  .article-sidebar { width: 100%; }
  .leadership-card { flex-direction: column; }
  .leadership-card .photo-col { width: 100%; max-width: 230px; }
}
@media (max-width: 640px) {
  .about-hero h1, .blog-hero-dark h1, .article-hero h1 { font-size: 36px; }
  .newsletter-band { flex-direction: column; }
  .newsletter-band .row { flex-direction: column; }
}
