/* ==================================================================
   EAS Home v2 — assets/home/style-home.css
   Signature homepage: waveform hero, stat counters, team strip,
   journey timeline. Pairs with assets/home/home.js.
   ================================================================== */

.eas-section__inner {
	max-width: var(--eas-max);
	margin: 0 auto;
	padding: 72px var(--eas-pad);
}
.eas-eyebrow {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--eas-steel);
	margin: 0 0 14px;
}
.eas-lede {
	font-size: 18.5px;
	color: var(--eas-ink-soft);
	max-width: 720px;
	margin-bottom: 8px;
}

/* ---------- Hero: typographic over the waveform ---------- */
.eas-hero {
	position: relative;
	background: var(--eas-white);
	border-bottom: 1px solid var(--eas-line);
	overflow: hidden;
}
.eas-hero__inner {
	max-width: var(--eas-max);
	margin: 0 auto;
	padding: 96px var(--eas-pad) 150px;
	position: relative;
	z-index: 2;
}
.eas-hero h1 {
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1.08;
	margin: 0 0 24px;
	max-width: 760px;
}
.eas-hero__answer {
	font-size: 19px;
	color: var(--eas-ink-soft);
	margin: 0 0 32px;
	max-width: 680px;
}
.eas-hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; }

/* The waveform */
.eas-wave {
	position: absolute;
	left: 0; right: 0; bottom: 28px;
	height: 90px;
	color: var(--eas-steel);
	opacity: .55;
	z-index: 1;
	pointer-events: none;
}
.eas-wave svg { width: 100%; height: 100%; display: block; }
.eas-wave path {
	stroke-dasharray: 4200;
	stroke-dashoffset: 4200;
}
.eas-wave.is-drawn path {
	animation: eas-wave-draw 3.2s ease-out forwards;
}
.eas-wave.is-breathing {
	animation: eas-breathe 6s ease-in-out infinite;
}
@keyframes eas-wave-draw {
	to { stroke-dashoffset: 0; }
}
@keyframes eas-breathe {
	0%, 100% { opacity: .55; transform: translateY(0); }
	50%      { opacity: .8;  transform: translateY(-4px); }
}

/* ---------- Stats: counted, not claimed ---------- */
.eas-stats { background: var(--eas-accent); }
.eas-stats__inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 36px;
	padding-top: 52px;
	padding-bottom: 52px;
}
.eas-stat strong {
	color: var(--eas-white) !important;
	display: block;
	font-family: var(--eas-font-display);
	font-weight: 600;
	font-size: clamp(40px, 4.5vw, 56px);
	line-height: 1;
	margin-bottom: 8px;
	font-variant-numeric: tabular-nums;
}
.eas-stat span {
	font-size: 14.5px;
	color: var(--eas-steel-lt);
	display: block;
	max-width: 200px;
}

/* ---------- Team strip ---------- */
.eas-team-strip { background: var(--eas-paper); }
.eas-team-strip h2 { font-size: clamp(28px, 3.2vw, 38px); margin: 0 0 14px; }
.eas-team-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	list-style: none;
	margin: 36px 0 30px;
	padding: 0;
}
.eas-team-tile a {
	display: block;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background: linear-gradient(160deg, var(--eas-accent) 0%, #06398F 55%, var(--eas-steel) 130%);
	aspect-ratio: 5 / 6;
	text-decoration: none;
	transition: transform .22s ease, box-shadow .22s ease;
}
.eas-team-tile a:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(1, 42, 126, .22);
}
.eas-team-tile img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.eas-team-tile__mono {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--eas-font-display);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 600;
	color: rgba(255, 255, 255, .38);
	letter-spacing: .04em;
}
.eas-team-tile__name {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 26px 12px 11px;
	background: linear-gradient(transparent, rgba(7, 16, 40, .82));
	color: var(--eas-white);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.25;
}

/* ---------- Journey ---------- */
.eas-journey { background: var(--eas-white); border-top: 1px solid var(--eas-line); border-bottom: 1px solid var(--eas-line); }
.eas-journey h2 { font-size: clamp(28px, 3.2vw, 38px); margin: 0 0 14px; }
.eas-journey__steps {
	counter-reset: eas-step;
	list-style: none;
	margin: 44px 0 0;
	padding: 0;
	position: relative;
}
.eas-journey__steps::before {
	content: "";
	position: absolute;
	left: 23px; top: 10px; bottom: 10px;
	width: 2px;
	background: var(--eas-line);
}
.eas-journey__step {
	counter-increment: eas-step;
	position: relative;
	padding: 0 0 38px 76px;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .5s ease, transform .5s ease;
}
.eas-journey__step.is-in { opacity: 1; transform: none; }
.eas-journey__step:last-child { padding-bottom: 0; }
.eas-journey__step::before {
	content: counter(eas-step);
	position: absolute;
	left: 0; top: 0;
	width: 48px; height: 48px;
	border-radius: 50%;
	background: var(--eas-white);
	border: 2px solid var(--eas-steel);
	color: var(--eas-accent);
	font-family: var(--eas-font-display);
	font-weight: 600;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.eas-journey__step h3 { margin: 8px 0 8px; font-size: 21px; }
.eas-journey__step p { margin: 0; color: var(--eas-ink-soft); max-width: 640px; }

/* ---------- Specialties ---------- */
.eas-specialties h2 { font-size: clamp(26px, 3vw, 34px); margin: 0 0 16px; }
.eas-specialties__grid {
	list-style: none;
	margin: 36px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.eas-specialties__grid li {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-left: 3px solid var(--eas-accent);
	border-radius: 6px;
	padding: 14px 18px;
	font-weight: 500;
	font-size: 15.5px;
}

/* ---------- Surgeon strip ---------- */
.eas-surgeon-strip { background: var(--eas-white); border-top: 1px solid var(--eas-line); }
.eas-surgeon-strip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.eas-surgeon-strip h2 { font-size: clamp(23px, 2.6vw, 29px); margin: 0 0 10px; }
.eas-surgeon-strip p:last-child { margin: 0; max-width: 640px; color: var(--eas-ink-soft); }
.eas-surgeon-strip .eas-btn--ghost { white-space: nowrap; }

/* ---------- Fees strip ---------- */
.eas-fees-strip { background: var(--eas-accent); color: rgba(255,255,255,.88); }
.eas-fees-strip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding-top: 56px;
	padding-bottom: 56px;
}
.eas-fees-strip h2 { color: var(--eas-white) !important; font-size: clamp(24px, 2.8vw, 30px); margin: 0 0 10px; }
.eas-fees-strip p { margin: 0; max-width: 640px; }
.eas-fees-strip .eas-btn--solid { background: var(--eas-white); color: var(--eas-accent) !important; white-space: nowrap; }
.eas-fees-strip .eas-btn--solid:hover { background: #E3ECF8; }

/* ---------- Contact band ---------- */
.eas-contact-band__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.eas-contact-band h2 { font-size: clamp(24px, 2.8vw, 30px); margin: 0 0 8px; }
.eas-contact-band p { margin: 0 0 6px; }
.eas-contact-band__details { text-align: right; }
.eas-contact-band__phone {
	font-family: var(--eas-font-display);
	font-size: 26px;
	font-weight: 600;
	text-decoration: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.eas-hero__inner { padding-top: 64px; padding-bottom: 130px; }
	.eas-stats__inner { grid-template-columns: 1fr 1fr; gap: 28px; }
	.eas-team-grid { grid-template-columns: repeat(3, 1fr); }
	.eas-specialties__grid { grid-template-columns: repeat(2, 1fr); }
	.eas-fees-strip__inner,
	.eas-surgeon-strip__inner,
	.eas-contact-band__inner { flex-direction: column; align-items: flex-start; }
	.eas-contact-band__details { text-align: left; }
}
@media (max-width: 600px) {
	.eas-team-grid { grid-template-columns: repeat(2, 1fr); }
	.eas-specialties__grid { grid-template-columns: 1fr; }
	.eas-section__inner { padding-top: 52px; padding-bottom: 52px; }
	.eas-journey__steps::before { left: 19px; }
	.eas-journey__step { padding-left: 62px; }
	.eas-journey__step::before { width: 40px; height: 40px; font-size: 17px; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.eas-wave path { stroke-dashoffset: 0 !important; animation: none !important; }
	.eas-wave.is-breathing { animation: none !important; }
	.eas-journey__step { opacity: 1 !important; transform: none !important; transition: none; }
	.eas-team-tile a { transition: none; }
}

/* ==================================================================
   Defensive Astra overrides — keep at the BOTTOM (FT pattern step 2)
   ================================================================== */
body.eas-home .site-header { display: none !important; }
body.eas-home .ast-above-header-bar { display: none !important; }
body.eas-home #content { padding: 0 !important; margin: 0 !important; }
body.eas-home .entry-header { display: none !important; }
body.eas-home .ast-container { max-width: none !important; padding: 0 !important; }
body.eas-home article { margin: 0 !important; padding: 0 !important; }
body.eas-home .site-footer { display: none !important; }
