/*
Theme Name: Jeff Previte
Theme URI: https://jeffprevite.com/
Author: Codex
Author URI: https://openai.com/
Description: A polished reputation-management profile theme for Jeff Previte / Jeffrey Previte with entity links, structured data, Open Graph metadata, and responsive public-profile sections.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jeffprevite
*/

:root {
  --background: #f8f5ec;
  --foreground: #182837;
  --card: #fffdf7;
  --primary: #224941;
  --primary-foreground: #fbf8ef;
  --secondary: #eee7d7;
  --muted: #e9e4d8;
  --muted-foreground: #566471;
  --accent: #9b4a22;
  --border: #d5cab5;
  --shadow: 0 28px 80px rgb(24 40 55 / 18%);
  --radius: 8px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

.skip-link {
  background: var(--primary);
  color: var(--primary-foreground);
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 100;
}

.skip-link:focus {
  top: 1rem;
}

.container {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0 1.25rem;
}

.site-header {
  backdrop-filter: blur(12px);
  background: rgb(248 245 236 / 90%);
  border-bottom: 1px solid rgb(213 202 181 / 80%);
  position: sticky;
  top: 0;
  z-index: 50;
}

.site-nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1280px;
  padding: 1rem 1.25rem;
}

.brand {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nav-links {
  align-items: center;
  color: var(--muted-foreground);
  display: flex;
  font-size: 0.925rem;
  gap: 1.5rem;
}

.nav-links a,
.entity-link,
.button,
.header-button {
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.nav-links a:hover {
  color: var(--foreground);
}

.header-button,
.button {
  align-items: center;
  border-radius: var(--radius);
  display: inline-flex;
  font-size: 0.925rem;
  font-weight: 700;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0 1rem;
}

.header-button,
.button-primary {
  background: var(--primary);
  color: var(--primary-foreground);
}

.header-button:hover,
.button-primary:hover {
  background: #1a3933;
}

.button-secondary {
  background: var(--background);
  border: 1px solid var(--border);
  color: var(--foreground);
}

.button-secondary:hover {
  background: var(--muted);
}

.arrow-mark {
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.55rem;
  font-weight: 800;
  line-height: 1;
  margin-left: 0.5rem;
  padding: 0.18rem 0.22rem;
}

.hero-band {
  background: linear-gradient(122deg, #f8f5ec 0%, #eee8d9 52%, #b8d2ca 100%);
  border-bottom: 1px solid rgb(213 202 181 / 80%);
  padding: 5rem 0 4rem;
}

.hero-grid {
  align-items: center;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1.03fr 0.97fr;
}

.hero-copy {
  max-width: 48rem;
}

.badge {
  background: rgb(248 245 236 / 80%);
  border: 1px solid rgb(34 73 65 / 30%);
  border-radius: var(--radius);
  color: var(--primary);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  margin: 0 0 1.25rem;
  padding: 0.35rem 0.65rem;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 8vw, 6rem);
  line-height: 0.98;
  margin-bottom: 1.25rem;
}

h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 4vw, 3.25rem);
  line-height: 1.05;
  margin-bottom: 1.25rem;
}

h3 {
  font-size: 1.15rem;
  line-height: 1.25;
  margin-bottom: 0.65rem;
}

.hero-lede {
  color: var(--muted-foreground);
  font-size: 1.35rem;
  line-height: 1.55;
  margin-bottom: 1.4rem;
}

.hero-text,
.section-text,
.card p,
.timeline-item p,
.faq-card p {
  color: var(--muted-foreground);
}

.hero-text,
.section-text {
  font-size: 1rem;
  line-height: 1.75;
  max-width: 42rem;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.portrait-frame {
  aspect-ratio: 1 / 0.92;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.portrait-frame img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.hero-video-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 10px 30px rgb(24 40 55 / 7%);
  margin-top: 1rem;
  overflow: hidden;
}

.hero-video-card iframe {
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
  width: 100%;
}

.hero-video-caption {
  align-items: center;
  color: var(--muted-foreground);
  display: flex;
  font-size: 0.9rem;
  font-weight: 700;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}

.hero-video-caption a {
  color: var(--primary);
  font-weight: 800;
  white-space: nowrap;
}

.stat-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.stat-card,
.card,
.photo-card,
.entity-link,
.faq-card,
.wp-content-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 10px 30px rgb(24 40 55 / 7%);
}

.stat-card {
  padding: 1rem;
}

.stat-value {
  color: var(--primary);
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.4rem;
}

.stat-title,
.section-kicker {
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.stat-title {
  color: var(--muted-foreground);
  margin-bottom: 0;
}

.section {
  padding: 4rem 0;
}

.tinted-section {
  background: rgb(238 231 215 / 55%);
  border-bottom: 1px solid rgb(213 202 181 / 80%);
  border-top: 1px solid rgb(213 202 181 / 80%);
}

.two-column {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 0.8fr 1.2fr;
}

.three-card-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  padding: 1.4rem;
}

.card-label {
  color: var(--muted-foreground);
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 0.9rem;
}

.section-intro {
  max-width: 48rem;
}

.pillar-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2.5rem;
}

.pillar-card {
  min-height: 14rem;
}

.icon-chip {
  align-items: center;
  background: var(--primary);
  border-radius: var(--radius);
  color: var(--primary-foreground);
  display: flex;
  font-weight: 800;
  height: 2.7rem;
  justify-content: center;
  margin-bottom: 1.1rem;
  width: 2.7rem;
}

.timeline-layout {
  grid-template-columns: 0.95fr 1.05fr;
}

.timeline {
  border-left: 1px solid var(--border);
  padding-left: 1.25rem;
}

.timeline-item {
  padding-bottom: 1.75rem;
  position: relative;
}

.timeline-item:last-child {
  padding-bottom: 0;
}

.timeline-item::before {
  background: var(--accent);
  border: 3px solid var(--background);
  border-radius: 999px;
  content: "";
  height: 0.85rem;
  left: -1.71rem;
  position: absolute;
  top: 0.28rem;
  width: 0.85rem;
}

.timeline-year {
  color: var(--primary) !important;
  font-size: 0.925rem;
  font-weight: 800;
  margin-bottom: 0.25rem;
}

.source-section {
  background: var(--background);
  border-bottom: 1px solid rgb(213 202 181 / 80%);
  border-top: 1px solid rgb(213 202 181 / 80%);
}

.source-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.5rem;
}

.source-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 10px 30px rgb(24 40 55 / 7%);
  display: flex;
  flex-direction: column;
  min-height: 17rem;
  padding: 1.5rem;
}

.source-card:hover {
  border-color: rgb(34 73 65 / 45%);
  box-shadow: 0 18px 40px rgb(24 40 55 / 10%);
  transform: translateY(-2px);
}

.source-name {
  color: var(--primary);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.source-card h3 {
  margin-top: 0.85rem;
}

.source-card p {
  color: var(--muted-foreground);
  font-size: 0.95rem;
}

.source-action {
  align-items: center;
  color: var(--primary);
  display: inline-flex;
  font-size: 0.925rem;
  font-weight: 800;
  margin-top: auto;
}

.media-band {
  background: linear-gradient(90deg, #dcece6 0%, #f8f5ec 62%, #eee2c9 100%);
  border-bottom: 1px solid rgb(213 202 181 / 80%);
  border-top: 1px solid rgb(213 202 181 / 80%);
}

.media-grid {
  align-items: center;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1.05fr 0.95fr;
}

.photo-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.photo-card {
  margin: 0;
  overflow: hidden;
}

.photo-card img {
  height: 18rem;
  object-fit: cover;
  width: 100%;
}

.photo-card figcaption {
  font-size: 0.925rem;
  font-weight: 700;
  padding: 1rem;
}

.section-heading-row {
  align-items: end;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
}

.small-seal {
  align-items: center;
  background: var(--primary);
  border-radius: 999px;
  color: var(--primary-foreground);
  display: flex;
  font-weight: 800;
  height: 3rem;
  justify-content: center;
  margin: 0;
  width: 3rem;
}

.entity-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 2rem;
}

.entity-link {
  align-items: center;
  display: flex;
  font-weight: 800;
  justify-content: space-between;
  min-height: 5.5rem;
  padding: 1.25rem;
}

.entity-link:hover {
  border-color: rgb(34 73 65 / 45%);
  box-shadow: 0 18px 40px rgb(24 40 55 / 10%);
  transform: translateY(-2px);
}

.faq-list {
  display: grid;
  gap: 1rem;
}

.faq-card {
  padding: 1.5rem;
}

.site-footer {
  padding: 2.5rem 0;
}

.footer-inner {
  border-top: 1px solid var(--border);
  color: var(--muted-foreground);
  display: flex;
  font-size: 0.925rem;
  gap: 1rem;
  justify-content: space-between;
  padding-top: 2rem;
}

.content-narrow {
  max-width: 860px;
}

.wp-content-card {
  padding: clamp(1.25rem, 5vw, 3rem);
}

.entry-content {
  color: var(--muted-foreground);
  font-size: 1.05rem;
}

@media (max-width: 980px) {
  .hero-grid,
  .two-column,
  .timeline-layout,
  .media-grid {
    grid-template-columns: 1fr;
  }

  .three-card-grid,
  .photo-grid,
  .entity-grid,
  .source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nav-links {
    display: none;
  }
}

@media (max-width: 640px) {
  .site-nav {
    gap: 1rem;
  }

  .brand {
    letter-spacing: 0.12em;
  }

  .header-button {
    min-height: 2.4rem;
    padding: 0 0.75rem;
  }

  .hero-band {
    padding: 3.75rem 0 3rem;
  }

  .section {
    padding: 3rem 0;
  }

  .stat-grid,
  .three-card-grid,
  .pillar-grid,
  .photo-grid,
  .entity-grid,
  .source-grid {
    grid-template-columns: 1fr;
  }

  .section-heading-row,
  .footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }

.photo-card img {
  height: 16rem;
}
}
/* Modern executive profile direction */
:root {
  --background: #f6f7f4;
  --foreground: #17201e;
  --card: #ffffff;
  --primary: #173f37;
  --primary-foreground: #ffffff;
  --secondary: #edf1ee;
  --muted-foreground: #596560;
  --accent: #c66a3b;
  --border: #d9dfdb;
  --radius: 4px;
  --shadow: 0 28px 70px rgb(8 24 21 / 18%);
}

body { background: var(--background); color: var(--foreground); }
.container { max-width: 1340px; padding-inline: clamp(1.25rem, 4vw, 3.5rem); }

.site-header {
  background: rgb(246 247 244 / 94%);
  border-color: rgb(23 32 30 / 12%);
  box-shadow: 0 1px 0 rgb(255 255 255 / 65%);
}
.site-nav { max-width: 1340px; min-height: 4.75rem; padding: 0 2rem; }
.brand { color: #14201d; font-size: 0.95rem; font-weight: 800; letter-spacing: 0.14em; }
.nav-links { color: #4f5d58; font-size: 0.9rem; gap: 2rem; }
.nav-links a { padding-block: 1.65rem; position: relative; }
.nav-links a::after {
  background: var(--accent);
  bottom: 1.15rem;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
  width: 100%;
}
.nav-links a:hover::after { transform: scaleX(1); }
.header-button { background: #17201e; border: 1px solid #17201e; padding-inline: 1.1rem; }
.header-button:hover { background: var(--primary); border-color: var(--primary); transform: translateY(-1px); }

.hero-band {
  background: #10211e;
  border: 0;
  color: #ffffff;
  overflow: hidden;
  padding: 4.75rem 0 3rem;
  position: relative;
}
.hero-band::before {
  background: linear-gradient(90deg, rgb(198 106 59 / 30%), transparent 62%);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.hero-band::after {
  background: linear-gradient(135deg, rgb(255 255 255 / 5%), transparent 40%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.hero-grid {
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 0.86fr) minmax(30rem, 1.14fr);
  min-height: 690px;
  position: relative;
  z-index: 1;
}
.hero-copy { max-width: 43rem; min-width: 0; padding-bottom: 3rem; }
.hero-media { min-width: 0; }
.badge {
  background: transparent;
  border: 0;
  border-left: 3px solid var(--accent);
  border-radius: 0;
  color: #d8e3df;
  font-size: 0.72rem;
  height: auto;
  letter-spacing: 0.14em;
  line-height: 1.4;
  min-height: 0;
  overflow: visible;
  padding: 0.15rem 0 0.15rem 0.8rem;
  text-transform: uppercase;
  white-space: normal;
}
h1, h2 { font-family: inherit; letter-spacing: 0; }
h1 {
  color: #ffffff;
  font-size: clamp(4.5rem, 9vw, 7.75rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.88;
  margin-bottom: 1.75rem;
}
h2 { font-size: clamp(2.35rem, 4vw, 4rem); font-weight: 650; line-height: 1.03; }
h3 { font-size: 1.2rem; }
.hero-lede { color: #e9efed; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.45; }
.hero-text { color: #aebdb8; font-size: 1.02rem; line-height: 1.75; }
.button { min-height: 3.1rem; padding-inline: 1.25rem; }
.button-primary { background: var(--accent); color: #ffffff; }
.button-primary:hover { background: #ad562d; transform: translateY(-2px); }
.hero-band .button-secondary { background: transparent; border-color: rgb(255 255 255 / 38%); color: #ffffff; }
.hero-band .button-secondary:hover { background: rgb(255 255 255 / 10%); border-color: rgb(255 255 255 / 70%); }

.hero-media { min-height: 690px; padding-bottom: 7.2rem; position: relative; }
.portrait-frame {
  aspect-ratio: auto;
  background: #d7dbd8;
  border: 0;
  border-radius: 2px;
  box-shadow: 0 36px 80px rgb(0 0 0 / 32%);
  height: 600px;
  margin-left: auto;
  position: relative;
  width: min(100%, 610px);
}
.portrait-frame::after {
  background: linear-gradient(180deg, transparent 58%, rgb(10 22 19 / 38%));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.portrait-frame img { object-position: center 24%; }
.hero-video-card {
  background: #ffffff;
  border: 0;
  border-radius: 3px;
  bottom: 5.7rem;
  box-shadow: 0 24px 55px rgb(0 0 0 / 34%);
  left: -3rem;
  margin: 0;
  position: absolute;
  width: min(56%, 360px);
  z-index: 2;
}
.hero-video-caption { color: #4c5955; font-size: 0.78rem; padding: 0.7rem 0.8rem; }
.hero-video-caption a { color: var(--primary); }
.stat-grid {
  bottom: 0;
  gap: 1px;
  left: 0;
  margin: 0;
  position: absolute;
  right: 0;
  z-index: 3;
}
.stat-card {
  background: rgb(255 255 255 / 8%);
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 0;
  box-shadow: none;
  min-height: 5.9rem;
  padding: 1rem 1.05rem;
}
.stat-value { color: #ffffff; font-size: 1.45rem; }
.stat-title { color: #9fb0aa; font-size: 0.66rem; line-height: 1.35; }

.section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.section-kicker, .source-name {
  color: var(--accent);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}
.two-column { gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); }
.three-card-grid { gap: 0; }
.card, .faq-card, .entity-link, .source-card, .photo-card {
  border-color: var(--border);
  border-radius: 3px;
  box-shadow: none;
}
.three-card-grid .card { background: transparent; border: 0; border-left: 1px solid var(--border); padding: 0.25rem 2rem 0.5rem; }
.three-card-grid .card:first-child { border-left: 0; padding-left: 0; }
.card-label { color: var(--accent); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; }
.tinted-section { background: #ebf0ed; border-color: var(--border); }
.pillar-grid { gap: 1px; }
.pillar-card { background: #ffffff; border: 0; border-top: 3px solid var(--primary); min-height: 15rem; padding: 1.8rem; }
.icon-chip { background: transparent; color: var(--accent); font-size: 0.78rem; height: auto; justify-content: flex-start; width: auto; }
.timeline { border-color: #bfc9c4; padding-left: 2rem; }
.timeline-item { padding-bottom: 2.25rem; }
.timeline-item::before { background: var(--accent); border-color: var(--background); left: -2.43rem; }

.source-section { background: #142724; border: 0; color: #ffffff; }
.source-section h2, .source-section h3 { color: #ffffff; }
.source-section .section-text, .source-card p { color: #aebdb8; }
.source-grid { gap: 1px; }
.source-card {
  background: rgb(255 255 255 / 4%);
  border-color: rgb(255 255 255 / 13%);
  min-height: 18rem;
  padding: 1.7rem;
}
.source-card:hover { background: rgb(255 255 255 / 7%); border-color: rgb(198 106 59 / 70%); box-shadow: none; }
.source-action { color: #f09a6d; }

.media-band { background: #ffffff; border-color: var(--border); }
.media-grid { gap: clamp(3rem, 6vw, 6rem); grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr); }
.photo-grid { gap: 0.55rem; grid-template-columns: 1.15fr 0.85fr; }
.photo-card { border: 0; border-radius: 2px; min-height: 15rem; position: relative; }
.photo-card:first-child { grid-row: span 2; }
.photo-card img { filter: saturate(0.78) contrast(1.04); height: 15rem; }
.photo-card:first-child img { height: 100%; min-height: 30.55rem; }
.photo-card::after { background: linear-gradient(180deg, transparent 52%, rgb(6 15 13 / 78%)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.photo-card figcaption { bottom: 0; color: #ffffff; left: 0; padding: 1.1rem; position: absolute; right: 0; z-index: 1; }
.small-seal { background: var(--accent); border-radius: 2px; }
.entity-grid { gap: 0; }
.entity-link { background: transparent; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; min-height: 6rem; }
.entity-link:hover { background: #ffffff; border-color: var(--border); box-shadow: none; transform: none; }
.faq-card { background: transparent; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: 1.65rem 0; }
.faq-card:last-child { border-bottom: 1px solid var(--border); }
.site-footer { background: #101b19; color: #dbe4e1; padding: 3rem 0; }
.footer-inner { border-color: rgb(255 255 255 / 16%); color: #a9b7b2; }

@media (max-width: 1100px) {
  .hero-grid { gap: 3rem; grid-template-columns: minmax(0, 0.9fr) minmax(27rem, 1.1fr); }
  .hero-video-card { left: -1.5rem; width: 58%; }
}

@media (max-width: 980px) {
  .site-nav { padding-inline: 1.25rem; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; }
  .hero-copy { max-width: 48rem; padding-bottom: 0; }
  .hero-media { margin-inline: auto; min-height: 730px; width: min(100%, 760px); }
  .portrait-frame { height: 620px; width: 84%; }
  .hero-video-card { bottom: 5.8rem; left: 0; width: min(52%, 350px); }
  .three-card-grid .card { padding-inline: 1.4rem; }
  .media-grid { grid-template-columns: 1fr; }
  .photo-grid { max-width: 760px; }
}

@media (max-width: 640px) {
  .container { padding-inline: 1.25rem; }
  .site-nav { min-height: 4.25rem; }
  .header-button { font-size: 0.78rem; min-height: 2.45rem; }
  .hero-band { padding: 3.7rem 0 2rem; }
  .hero-grid { gap: 2.75rem; }
  .hero-copy, .hero-media { max-width: 100%; width: 100%; }
  .badge { max-width: 100%; }
  h1 { font-size: clamp(4rem, 21vw, 5.5rem); }
  .hero-media { min-height: auto; padding-bottom: 0; }
  .portrait-frame { height: 470px; width: 100%; }
  .hero-video-card { bottom: auto; left: auto; margin: -2rem auto 0; position: relative; width: calc(100% - 1.5rem); }
  .stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; position: static; }
  .stat-card { min-height: 6.7rem; padding: 0.85rem 0.7rem; }
  .stat-value { font-size: 1.1rem; }
  .stat-title { font-size: 0.58rem; }
  .section { padding: 4.25rem 0; }
  .three-card-grid { grid-template-columns: 1fr; }
  .three-card-grid .card, .three-card-grid .card:first-child { border-left: 0; border-top: 1px solid var(--border); padding: 1.4rem 0; }
  .pillar-grid { gap: 0.7rem; }
  .photo-grid { grid-template-columns: 1fr; }
  .photo-card:first-child { grid-row: auto; }
  .photo-card img, .photo-card:first-child img { height: 20rem; min-height: 0; }
  .source-card { min-height: auto; }
}
