:root{
  --navy:#173f54;
  --blue:#2f647c;
  --gold:#bd8e46;
  --ink:#1d252c;
  --muted:#5f6870;
  --soft:#f7f5ef;
  --white:#ffffff;
}
*{box-sizing:border-box}
body{
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	color: #000;
	line-height: 1.55;
	background: #fff;
	li::marker {
  color: #C09855;
}
	
}
a{color:var(--blue)}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.site-header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}
.header-inner{max-width:1180px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;min-height:72px}
.brand img{display:block;width:250px;max-width:45vw;height:auto;object-fit:contain}
.nav{display:flex;gap:22px;align-items:center;font-weight:600}
.nav a{text-decoration:none;color:var(--ink)}
.nav .nav-button{background:var(--navy);color:#fff;padding:10px 18px;border-radius:999px}
.menu-toggle{display:none;background:none;border:0;font-size:28px}

.hero{min-height:360px;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(rgba(23,63,84,.72),rgba(23,63,84,.72)), url("assets/HeroBackground.jpg") center/cover}
.hero h1{font-size:clamp(2.2rem,5vw,4.7rem);margin:0 0 14px}
.hero p{font-size:1.25rem;margin:0 auto 26px;max-width:760px}
.eyebrow,.section-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;font-size:.82rem}
.button{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;padding:13px 22px;border-radius:999px;font-weight:700}
.button-light{background:#fff;color:var(--navy);margin-left:10px}
.section{padding:72px 0}
.section-alt{background:var(--soft)}
.section-heading{text-align:center;margin-bottom:40px}
.section-heading h2,.page-hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.2em 0}

.split-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:46px;align-items:center}
.profile-card{background:#fff;border:1px solid #eee;border-radius:20px;padding:24px;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.08)}
.profile-card img{width:100%;max-width:280px;height:320px;object-fit:contain;object-position:center top;background:#fff;border-radius:14px;margin:0 auto 18px;display:block}
.profile-card.large img{height:260px}
.profile-card h3{margin:10px 0 6px;font-size:1.25rem}
.profile-card p{margin:0;color:var(--muted)}

.page-hero{background:var(--navy);color:#fff;padding:78px 0}
.page-hero .section-kicker{color:#d9b46d}
.page-hero p{max-width:720px}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{position:relative;background:#fff;border-radius:20px;padding:28px;border:1px solid #eee;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.07)}
.service-card span{color:var(--gold);font-weight:800}
.service-card h3{font-size:1.35rem}
.service-graphic{height:112px;margin-bottom:18px;border-radius:16px;background:linear-gradient(135deg,#eaf2f5,#fff);display:grid;place-items:center;position:relative;overflow:hidden}
.service-graphic svg{width:82px;height:82px;animation:float 3s ease-in-out infinite}
.service-card:nth-child(2) svg{animation-delay:.45s}
.service-card:nth-child(3) svg{animation-delay:.9s}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(3deg)}}
.services-list{display:grid;gap:28px}
.service-row{
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: 28px;
	background: #fff;
	border-radius: 18px;
	padding: 28px;
	border: 1px solid #FFFFFF;
	box-shadow: 0 12px 30px rgba(0,0,0,.06)
}
.service-row .service-graphic{height:250px;margin:0}

.expertise-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.expertise-list span{background:var(--soft);border-radius:999px;padding:12px 16px;text-align:center;font-weight:700}
.codes{background:#fff;border:1px solid #e8e1d6;border-radius:20px;padding:30px;box-shadow:0 14px 32px rgba(0,0,0,.06)}
.code-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:16px}
.code-item{background:var(--soft);border-radius:14px;padding:16px}
.code-item strong{display:block;color:var(--navy);font-size:1.1rem}
.clients{margin-top:44px;text-align:center}
.client-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:center;margin-top:22px}
.client-logo{
	background: #fff;
	border: 1px solid #eee;
	border-radius: 16px;
	padding-top: 5px;
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 5px;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 24px rgba(0,0,0,.06)
}
.client-logo img{max-width:100%;max-height:115px;object-fit:contain}

.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:36px}
.contact-form{background:#fff;border:1px solid #eee;border-radius:20px;padding:26px;display:grid;gap:14px;box-shadow:0 14px 32px rgba(0,0,0,.06)}
input,textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:10px;font:inherit}
.site-footer{background:#111;color:#fff;padding:36px 24px;text-align:center}
.site-footer img{width:210px;height:auto;object-fit:contain;background:#fff;border-radius:8px;padding:8px;margin-bottom:12px}

.reveal{animation:fadeUp .8s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:850px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:104px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;border-bottom:1px solid #eee}
  body.nav-open .nav{display:flex}
  .split-grid,.contact-grid,.service-row{grid-template-columns:1fr}
  .services-grid,.expertise-list,.client-logo-grid,.code-grid{grid-template-columns:1fr}
  .brand img{width:220px;max-width:70vw}
  .header-inner{padding:12px 18px}
}

img {
  max-width: 100%;
  height: auto;
}
.header-logo {
  height: 60px;
  object-fit: contain;
}
.hero img {
  object-fit: cover;
  object-position: center top;
}

/* Verified fix: only reduce the vertical gap between Dr. Ealy's headshot and title */
.about img[src*="headshot"],
.about img[src*="dr-ealy"],
img[src*="headshot-updated"],
img[src*="dr-ealy-headshot"] {
  margin-bottom: 0 !important;
}

.dr-ealy-title-tight {
  margin-top: 0.35rem !important;
}

/* Verified fix: make Keynote Speaking match service cards cleanly */
.service-detail-card ul,
.service-card ul {
  margin: 1rem 0 0;
  padding-left: 1.2rem;
}

.service-detail-card li,
.service-card li {
  margin-bottom: 0.65rem;
  line-height: 1.55;
}


/* Keynote Speaking service graphic - matches service-row visual treatment */
.service-row .service-graphic svg {
  width: 100%;
  max-width: 150px;
  height: auto;
}

.service-row .animated-graphic .pulse-ring {
  fill: none;
  stroke: currentColor;
  stroke-width: 5;
  opacity: 0.25;
  transform-origin: center;
  animation: keynotePulse 2.4s ease-in-out infinite;
}

.service-row .animated-graphic .podium,
.service-row .animated-graphic .podium-top,
.service-row .animated-graphic .speaker-head {
  fill: currentColor;
  opacity: 0.9;
}

.service-row .animated-graphic .sound-wave {
  fill: none;
  stroke: currentColor;
  stroke-width: 6;
  stroke-linecap: round;
  opacity: 0.75;
  animation: keynoteWave 1.8s ease-in-out infinite;
}

.service-row .animated-graphic .wave-two {
  animation-delay: 0.25s;
  opacity: 0.45;
}

@keyframes keynotePulse {
  0%, 100% { transform: scale(0.92); opacity: 0.18; }
  50% { transform: scale(1.08); opacity: 0.42; }
}

@keyframes keynoteWave {
  0%, 100% { transform: translateX(0); opacity: 0.35; }
  50% { transform: translateX(5px); opacity: 0.85; }
}

/* In case the gap came from the direct parent container around that image */
.dr-ealy-headshot-tight + .dr-ealy-title-no-gap,
.dr-ealy-headshot-tight + h1,
.dr-ealy-headshot-tight + h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




/* ONLY fixes the profile card headshot + Dr. Ealy title spacing */
.profile-card.large .actual-headshot-title-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.profile-card.large .actual-headshot-title-wrap img.actual-headshot-tight {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.profile-card.large .actual-headshot-title-wrap h3.actual-headshot-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}
