/* ==========================================================================
   Covington Family Dentistry — single source of design tokens + block styles
   Tokens map 1:1 to the GRO-419 Figma paint/text styles.
   ========================================================================== */

:root {
	--cov-primary: #74B996;   /* green — pill CTAs, chips, stars */
	--cov-secondary: #D9B3F0; /* lavender — accents, footer icons */
	--cov-accent: #8C64B2;    /* purple — eyebrows, purple buttons, stats band */
	--cov-dark: #0D0618;      /* near-black plum — dark sections, topbar, footer */
	--cov-light: #F1F2F4;     /* page bg, text on dark */
	--cov-text: #657481;      /* body copy gray */
	--cov-white: #FFFFFF;

	--cov-font-heading: "Playfair Display", Georgia, serif;
	--cov-font-body: "Open Sans", Arial, sans-serif;

	--cov-container: 1280px;
	--cov-section-pad: 80px;
	--cov-gutter: 80px;
	--cov-radius-card: 12px;
	--cov-radius-pill: 30px;
	--cov-shadow-card: 0 14px 34px rgba(13, 6, 24, 0.10);
}

/* ---- Base ------------------------------------------------------------- */

body.covington {
	background: var(--cov-light);
	font-family: var(--cov-font-body);
	color: var(--cov-text);
	font-size: 16px;
	line-height: 26px;
}

body.covington .site-content { padding: 0; }
body.covington .site-main { margin: 0; }
body.covington .entry-content > .cov-section:first-child { margin-top: 0; }

.cov-section { position: relative; overflow: hidden; }
.cov-section--dark { background: var(--cov-dark); color: var(--cov-light); }
.cov-section--light { background: var(--cov-light); color: var(--cov-text); }

.cov-section > [class$="__inner"] { position: relative; z-index: 2; }

/* ---- Typography helpers ----------------------------------------------- */

.cov-eyebrow {
	font-family: var(--cov-font-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cov-accent);
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.cov-eyebrow--secondary, .cov-eyebrow--on-dark { color: var(--cov-secondary); }
.cov-eyebrow__rule { display: inline-block; width: 48px; height: 2px; background: var(--cov-primary); }
.cov-eyebrow__icon { color: var(--cov-primary); }

.cov-heading {
	font-family: var(--cov-font-heading);
	font-weight: 500;
	font-size: 36px;
	line-height: 1.25;
	color: var(--cov-dark);
	margin: 0 0 20px;
}
.cov-section--dark .cov-heading { color: var(--cov-light); }
.cov-heading__highlight { display: block; }
.cov-heading__highlight--accent { color: var(--cov-accent); }
.cov-heading__highlight--secondary { color: var(--cov-secondary); }
.cov-heading__highlight--primary { color: var(--cov-primary); }

.cov-body p { margin: 0 0 16px; }
.cov-body p:last-child { margin-bottom: 0; }
.cov-body--on-dark { color: rgba(241, 242, 244, 0.88); }
.cov-body a { color: var(--cov-accent); }
.cov-body--on-dark a { color: var(--cov-secondary); }

/* ---- Buttons (pill, arrow-in-circle, hover text slide) ----------------- */

.cov-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }

.cov-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	height: 51px;
	padding: 0 10px 0 24px;
	border-radius: var(--cov-radius-pill);
	font-family: var(--cov-font-body);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
	overflow: hidden;
}
.cov-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(13, 6, 24, 0.18); }
.cov-btn__label { position: relative; }
.cov-btn__icon { flex: 0 0 auto; }
.cov-btn__circle {
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: var(--cov-white);
	color: var(--cov-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}
.cov-btn__circle .cov-icon { width: 15px; height: 15px; }
.cov-btn:hover .cov-btn__circle .cov-icon { animation: cov-arrow-slide 0.35s ease; }
@keyframes cov-arrow-slide {
	0% { transform: translateX(0); }
	49% { transform: translateX(130%); opacity: 0; }
	51% { transform: translateX(-130%); opacity: 0; }
	100% { transform: translateX(0); opacity: 1; }
}

.cov-btn--primary { background: var(--cov-primary); color: var(--cov-white); }
.cov-btn--purple { background: var(--cov-accent); color: var(--cov-white); }
.cov-btn--purple .cov-btn__circle { color: var(--cov-accent); }
.cov-btn--outline-light { border: 1px solid var(--cov-light); color: var(--cov-light); background: transparent; padding-right: 24px; }
.cov-btn--outline-dark { border: 1px solid var(--cov-accent); color: var(--cov-accent); background: transparent; padding-right: 24px; }
.cov-btn--outline-light .cov-btn__circle, .cov-btn--outline-dark .cov-btn__circle { background: transparent; color: currentColor; }

/* ---- Two-column heading row (title left, intro right) ------------------ */

.cov-head-row { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px 100px; align-items: start; margin-bottom: 56px; }
.cov-head-row__intro { display: flex; flex-direction: column; gap: 20px; justify-content: center; }

/* ---- Topbar + Header ---------------------------------------------------- */

.cov-topbar { background: var(--cov-dark); color: var(--cov-light); padding: 9px 20px; text-align: center; }
.cov-topbar__text { margin: 0; font-size: 14px; line-height: 24px; }
.cov-topbar__phone { color: var(--cov-white); text-decoration: none; margin-left: 8px; }
.cov-topbar__phone:hover { color: var(--cov-secondary); }

.cov-header { background: var(--cov-light); position: sticky; top: 0; z-index: 60; box-shadow: 0 1px 0 rgba(13, 6, 24, 0.06); }
.cov-header__inner {
	max-width: var(--cov-container);
	margin: 0 auto;
	padding: 24px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.cov-header__logo { display: inline-flex; align-items: center; text-decoration: none; }
.cov-header__logo-img { max-height: 60px; width: auto; }
.cov-header__logo-text { font-family: var(--cov-font-heading); font-size: 22px; color: var(--cov-dark); }
.cov-header__nav { display: flex; align-items: center; gap: 30px; }
.cov-nav { list-style: none; margin: 0; padding: 0; display: flex; gap: 30px; }
.cov-nav__link { color: var(--cov-dark); text-decoration: none; font-size: 16px; }
.cov-nav__link:hover { color: var(--cov-accent); }
.cov-header__toggle { display: none; background: none; border: 0; padding: 10px; cursor: pointer; }
.cov-header__toggle span { display: block; width: 24px; height: 2px; background: var(--cov-dark); margin: 5px 0; transition: transform 0.2s ease, opacity 0.2s ease; }
.cov-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.cov-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cov-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Footer -------------------------------------------------------------- */

.cov-footer { background: var(--cov-dark); color: var(--cov-light); }
.cov-footer__inner { max-width: var(--cov-container); margin: 0 auto; padding: 60px 20px 30px; display: flex; flex-direction: column; gap: 50px; }
.cov-footer__cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; }
.cov-footer__logo { max-height: 60px; width: auto; }
.cov-footer__logo-text { font-family: var(--cov-font-heading); font-size: 22px; color: var(--cov-light); margin: 0; }
.cov-footer__divider { border: 0; border-top: 1px solid rgba(241, 242, 244, 0.18); margin: 18px 0; }
.cov-footer__tagline { margin: 0 0 18px; color: rgba(241, 242, 244, 0.85); }
.cov-footer__social { list-style: none; display: flex; gap: 10px; margin: 0; padding: 0; }
.cov-footer__social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(217, 179, 240, 0.16); color: var(--cov-secondary);
	transition: background-color 0.2s ease;
}
.cov-footer__social a:hover { background: rgba(217, 179, 240, 0.32); }
.cov-footer__social .cov-icon { width: 18px; height: 18px; }
.cov-footer__col-title {
	display: flex; align-items: center; gap: 10px;
	color: var(--cov-white); font-weight: 600; font-size: 17px; margin: 0 0 18px;
}
.cov-footer__col-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 10px;
	background: rgba(217, 179, 240, 0.18); color: var(--cov-secondary);
}
.cov-footer__col-icon .cov-icon { width: 18px; height: 18px; }
.cov-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cov-footer__list a { color: rgba(241, 242, 244, 0.82); text-decoration: none; display: inline-flex; align-items: flex-start; gap: 8px; }
.cov-footer__list a:hover { color: var(--cov-secondary); }
.cov-footer__li-icon { width: 15px; height: 15px; color: var(--cov-secondary); flex: 0 0 auto; margin-top: 5px; }
.cov-footer__hours { display: flex; gap: 8px; color: rgba(241, 242, 244, 0.82); }
.cov-footer__legal { border-top: 1px solid rgba(241, 242, 244, 0.14); padding-top: 24px; text-align: center; }
.cov-footer__legal p { margin: 0; font-size: 14px; color: rgba(241, 242, 244, 0.7); }

/* ---- Hero (S1) ------------------------------------------------------------ */

.cov-hero { min-height: 649px; display: flex; align-items: center; }
.cov-hero__media { position: absolute; inset: 0 auto 0 0; width: 47%; z-index: 1; }
.cov-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cov-hero__fade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13, 6, 24, 0) 55%, var(--cov-dark) 100%); }
.cov-hero__inner { max-width: var(--cov-container); margin: 0 auto; padding: var(--cov-section-pad) 20px; width: 100%; }
.cov-hero__content { margin-left: 50%; max-width: 560px; }
.cov-hero__heading {
	font-family: var(--cov-font-heading); font-weight: 500;
	font-size: 56px; line-height: 1.08; color: var(--cov-light);
	margin: 0 0 36px; position: relative; padding-left: 24px;
}
.cov-hero__bar { position: absolute; left: 0; top: 8px; bottom: 8px; width: 4px; background: var(--cov-secondary); }

/* ---- Split content (S2) ---------------------------------------------------- */

.cov-split__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; }
.cov-split__text { padding: var(--cov-section-pad) 40px var(--cov-section-pad) max(20px, calc((100vw - var(--cov-container)) / 2)); }
.cov-split__body { margin: 0 0 32px; }
.cov-split__media { position: relative; height: 100%; min-height: 480px; }
.cov-split__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cov-split__fade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--cov-light) 0%, rgba(241, 242, 244, 0) 30%); }
.cov-section--dark .cov-split__fade { background: linear-gradient(90deg, var(--cov-dark) 0%, rgba(13, 6, 24, 0) 30%); }
.cov-split--img-left .cov-split__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.cov-split--img-left .cov-split__media { order: -1; }
.cov-split--img-left .cov-split__text { padding: var(--cov-section-pad) max(20px, calc((100vw - var(--cov-container)) / 2)) var(--cov-section-pad) 40px; }
.cov-split--img-left .cov-split__fade { background: linear-gradient(270deg, var(--cov-light) 0%, rgba(241, 242, 244, 0) 30%); }

/* ---- Service cards (S3) ----------------------------------------------------- */

.cov-services__inner, .cov-iconlist__inner, .cov-gallery__inner, .cov-posts__inner,
.cov-testimonials__inner, .cov-features__inner, .cov-location__inner, .cov-doctor__inner {
	max-width: var(--cov-container);
	margin: 0 auto;
	padding: var(--cov-section-pad) 20px;
}

.cov-services__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.cov-service-card {
	background: var(--cov-white); border-radius: var(--cov-radius-card);
	display: flex; flex-direction: column; overflow: hidden;
}
.cov-service-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 24px 24px 0; }
.cov-service-card__title {
	font-family: var(--cov-font-heading); font-weight: 400; font-size: 24px; line-height: 1.2;
	color: var(--cov-dark); margin: 0 0 6px; padding-bottom: 12px; border-bottom: 2px solid var(--cov-light);
}
.cov-service-card__chip {
	flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px;
	background: rgba(116, 185, 150, 0.14); color: var(--cov-primary);
	display: inline-flex; align-items: center; justify-content: center;
}
.cov-service-card__text { padding: 8px 24px 20px; margin: 0; flex: 1 1 auto; }
.cov-service-card__media { height: 200px; }
.cov-service-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cov-service-card__link {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	padding: 16px; color: var(--cov-dark); font-weight: 600; text-decoration: none;
}
.cov-service-card__link:hover { color: var(--cov-accent); }
.cov-service-card__arrow { width: 16px; height: 16px; }

/* ---- Doctor spotlight (S4) ---------------------------------------------------- */

.cov-doctor { overflow: visible; }
.cov-doctor__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 32px; align-items: center; padding-top: 0; padding-bottom: 0; min-height: 483px; }
.cov-doctor__intro { padding: 48px 0; }
.cov-doctor__name { margin-bottom: 8px; }
.cov-doctor__underline { display: block; width: 64px; height: 3px; background: var(--cov-secondary); margin: 0 0 28px; }
.cov-doctor__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.cov-doctor__chip {
	background: var(--cov-primary); color: var(--cov-white);
	border-radius: var(--cov-radius-pill); padding: 8px 20px; font-size: 15px;
}
.cov-doctor__media { align-self: end; margin-top: -40px; }
.cov-doctor__portrait { width: 100%; height: auto; display: block; }
.cov-doctor__bio { padding: 48px 0; }
.cov-doctor__actions { margin-top: 28px; }

/* ---- Icon list (S5) ------------------------------------------------------------ */

.cov-iconlist__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 80px; }
.cov-iconlist__item { display: flex; gap: 20px; align-items: flex-start; }
.cov-iconlist__chip {
	flex: 0 0 auto; width: 48px; height: 48px; border-radius: 12px;
	background: rgba(140, 100, 178, 0.12); color: var(--cov-accent);
	display: inline-flex; align-items: center; justify-content: center;
}
.cov-iconlist__title { font-family: var(--cov-font-heading); font-weight: 400; font-size: 24px; color: var(--cov-dark); margin: 0 0 8px; }
.cov-iconlist__text { margin: 0; }

/* ---- Testimonials + stats (S6) --------------------------------------------------- */

.cov-testimonials__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 28px; grid-auto-rows: min-content; }
.cov-review {
	background: var(--cov-white); border-radius: var(--cov-radius-card);
	padding: 28px; margin: 0; display: flex; flex-direction: column; gap: 16px;
}
.cov-review--featured { grid-row: span 3; background: var(--cov-light); }
.cov-review__stars { display: inline-flex; gap: 4px; color: var(--cov-primary); }
.cov-review__star { width: 18px; height: 18px; }
.cov-review__quote { margin: 0; color: var(--cov-text); flex: 1 1 auto; }
.cov-review--featured .cov-review__quote { font-size: 17px; }
.cov-review__meta { display: flex; align-items: center; gap: 12px; }
.cov-review__avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.cov-review__avatar--initial {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--cov-secondary); color: var(--cov-dark); font-weight: 700;
}
.cov-review__name { font-style: normal; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-size: 13px; color: var(--cov-accent); }
.cov-review__date { margin-left: auto; font-size: 14px; color: var(--cov-text); }
.cov-testimonials__embed { background: var(--cov-white); border-radius: var(--cov-radius-card); padding: 12px; }
.cov-testimonials__embed iframe { width: 100%; border: 0; display: block; min-height: 420px; }

.cov-stats-band {
	grid-column: 2; background: var(--cov-accent); border-radius: var(--cov-radius-card);
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
	padding: 28px 20px; text-align: center;
}
.cov-testimonials__embed + .cov-stats-band, .cov-stats-band:only-child { grid-column: auto; margin-top: 28px; }
.cov-stats-band__value { display: block; font-family: var(--cov-font-heading); font-size: 40px; line-height: 1.1; color: var(--cov-white); }
.cov-stats-band__label { color: rgba(255, 255, 255, 0.85); font-size: 15px; }

/* ---- Numbered features (S7) ------------------------------------------------------- */

.cov-features__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; padding-top: 0; padding-bottom: 0; align-items: stretch; }
.cov-features__text { padding: var(--cov-section-pad) 0; }
.cov-features__list { list-style: none; margin: 32px 0 0; padding: 0; counter-reset: cov-feature; }
.cov-features__item { display: flex; gap: 24px; padding: 26px 0; border-bottom: 1px solid rgba(101, 116, 129, 0.18); counter-increment: cov-feature; }
.cov-features__item:last-child { border-bottom: 0; }
.cov-features__num {
	flex: 0 0 auto; width: 50px; height: 50px; border-radius: 50%;
	background: var(--cov-white); color: var(--cov-primary);
	font-family: var(--cov-font-heading); font-size: 22px;
	display: inline-flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 16px rgba(13, 6, 24, 0.08);
}
.cov-features__num::before { content: counter(cov-feature); }
.cov-features__title { font-family: var(--cov-font-heading); font-weight: 400; font-size: 24px; color: var(--cov-dark); margin: 0 0 8px; }
.cov-features__desc { margin: 0; }
.cov-features__media { position: relative; min-height: 480px; margin-right: calc((100vw - 100%) / -2 + 0px); }
.cov-features__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cov-features__fade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--cov-light) 0%, rgba(241, 242, 244, 0) 35%); pointer-events: none; }

/* ---- Gallery (S8) ------------------------------------------------------------------- */

.cov-gallery__head { text-align: center; max-width: 820px; margin: 0 auto 48px; }
.cov-gallery__head .cov-eyebrow { justify-content: center; }
.cov-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cov-gallery__tile { margin: 0; border-radius: 8px; overflow: hidden; aspect-ratio: 3 / 2; }
.cov-gallery__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.cov-gallery__tile:hover .cov-gallery__img { transform: scale(1.04); }

/* ---- CTA strip / banner (S9 + S11) --------------------------------------------------- */

.cov-cta__inner { max-width: var(--cov-container); margin: 0 auto; padding: var(--cov-section-pad) 20px; position: relative; z-index: 2; }
.cov-cta--strip .cov-cta__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.cov-cta__heading { margin-bottom: 18px; }
.cov-cta__body { margin-bottom: 30px; }
.cov-cta__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; text-align: center; }
.cov-cta__stat-value { display: block; font-family: var(--cov-font-heading); font-size: 48px; line-height: 1.1; color: var(--cov-white); }
.cov-cta__stat-label { font-family: var(--cov-font-heading); font-size: 20px; color: rgba(241, 242, 244, 0.6); }

.cov-cta--banner { border-radius: 8px; }
.cov-cta--banner .cov-cta__bg { position: absolute; inset: 0; z-index: 1; }
.cov-cta--banner .cov-cta__bg-img { width: 100%; height: 100%; object-fit: cover; }
.cov-cta--banner .cov-cta__overlay { position: absolute; inset: 0; background: rgba(13, 6, 24, 0.7); }
.cov-cta--banner .cov-cta__content { max-width: 720px; margin: 0 auto; text-align: center; }
.cov-cta--banner .cov-eyebrow { justify-content: center; }
.cov-cta--banner .cov-cta__heading { font-size: 56px; line-height: 1.1; }
.cov-cta--banner .cov-cta__actions { justify-content: center; }

/* ---- Location + map (S10) ------------------------------------------------------------- */

.cov-location__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.cov-location__rule { border: 0; border-top: 1px solid rgba(101, 116, 129, 0.2); margin: 22px 0; }
.cov-location__hours-label { font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: 14px; color: var(--cov-dark); margin: 0 0 6px; }
.cov-location__hours { margin: 0; }
.cov-location__actions { margin-top: 28px; }
.cov-location__map { border-radius: var(--cov-radius-card); overflow: hidden; min-height: 350px; background: var(--cov-white); }
.cov-location__map iframe { width: 100%; height: 350px; border: 0; display: block; }

/* ---- Post grid (S12) -------------------------------------------------------------------- */

.cov-posts__head { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.cov-posts__head .cov-eyebrow { justify-content: center; }
.cov-posts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.cov-post-card {
	background: var(--cov-white); border-radius: 16px; overflow: hidden;
	box-shadow: var(--cov-shadow-card); display: flex; flex-direction: column;
}
.cov-post-card__media { display: block; aspect-ratio: 16 / 10; }
.cov-post-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cov-post-card__body { padding: 0 26px 24px; position: relative; flex: 1 1 auto; display: flex; flex-direction: column; }
.cov-post-card__chip {
	width: 56px; height: 56px; border-radius: 50%;
	background: rgba(217, 179, 240, 0.35); color: var(--cov-accent);
	display: inline-flex; align-items: center; justify-content: center;
	margin-top: -28px; margin-bottom: 14px; border: 4px solid var(--cov-white);
}
.cov-post-card__title { font-family: var(--cov-font-heading); font-weight: 400; font-size: 24px; line-height: 1.25; margin: 0 0 12px; }
.cov-post-card__title a { color: var(--cov-dark); text-decoration: none; }
.cov-post-card__title a:hover { color: var(--cov-accent); }
.cov-post-card__excerpt { margin: 0 0 20px; flex: 1 1 auto; }
.cov-post-card__footer {
	display: flex; justify-content: space-between; align-items: center;
	border-top: 1px solid rgba(101, 116, 129, 0.16); padding-top: 16px;
}
.cov-post-card__meta { font-size: 14px; color: var(--cov-accent); }
.cov-post-card__more { display: inline-flex; align-items: center; gap: 6px; color: var(--cov-dark); font-weight: 600; text-decoration: none; }
.cov-post-card__more:hover { color: var(--cov-accent); }
.cov-post-card__arrow { width: 15px; height: 15px; }
.cov-posts__empty { text-align: center; }

/* ---- Responsive (design ships desktop-only; stacking is an implementation decision) ---- */

@media (max-width: 1100px) {
	.cov-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cov-doctor__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.cov-doctor__bio { grid-column: 1 / -1; padding-top: 0; }
	.cov-hero__heading, .cov-cta--banner .cov-cta__heading { font-size: 44px; }
}

@media (max-width: 900px) {
	:root { --cov-section-pad: 56px; }
	.cov-head-row, .cov-split__inner, .cov-split--img-left .cov-split__inner,
	.cov-features__inner, .cov-location__inner, .cov-testimonials__grid,
	.cov-cta--strip .cov-cta__inner { grid-template-columns: minmax(0, 1fr); }
	.cov-split__text, .cov-split--img-left .cov-split__text { padding: var(--cov-section-pad) 20px; }
	.cov-split__media { min-height: 320px; }
	.cov-split__fade, .cov-split--img-left .cov-split__fade, .cov-features__fade { background: none; }
	.cov-hero__media { position: relative; width: 100%; height: 320px; }
	.cov-hero__fade { background: linear-gradient(180deg, rgba(13, 6, 24, 0) 55%, var(--cov-dark) 100%); }
	.cov-hero { flex-direction: column; min-height: 0; display: block; }
	.cov-hero__content { margin-left: 0; max-width: none; }
	.cov-hero__heading { font-size: 38px; }
	.cov-doctor__inner { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.cov-doctor__media { order: 2; margin-top: 0; max-width: 420px; }
	.cov-doctor__intro { padding-bottom: 0; }
	.cov-doctor__bio { padding-top: 0; }
	.cov-iconlist__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.cov-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cov-posts__grid { grid-template-columns: minmax(0, 1fr); }
	.cov-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cov-stats-band { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cov-review--featured { grid-row: auto; }
	.cov-features__media { min-height: 320px; margin-right: 0; }
	.cov-features__text { padding-bottom: 0; }

	/* Mobile nav (not designed in Figma — hamburger implementation decision) */
	.cov-header__toggle { display: block; }
	.cov-header__nav {
		display: none; position: absolute; top: 100%; left: 0; right: 0;
		background: var(--cov-light); flex-direction: column; align-items: flex-start;
		padding: 20px; gap: 16px; box-shadow: 0 18px 30px rgba(13, 6, 24, 0.14);
	}
	.cov-header__nav.is-open { display: flex; }
	.cov-nav { flex-direction: column; gap: 14px; }
}

@media (max-width: 560px) {
	.cov-services__grid, .cov-gallery__grid, .cov-footer__cols { grid-template-columns: minmax(0, 1fr); }
	.cov-hero__heading, .cov-cta--banner .cov-cta__heading { font-size: 32px; }
	.cov-heading { font-size: 28px; }
	.cov-cta__stats, .cov-stats-band { grid-template-columns: minmax(0, 1fr); }
	.cov-topbar__text { font-size: 13px; }
}
