/* Implant dentar: shared shell, typography, buttons, lists and LP sections. */
.de-implant {
	--implant-brand: #5942cb;
	--implant-tint: #f4f2fd;
	--implant-ink: #372f4c;
	--implant-border: rgb(89 66 203 / 18%);
}

.de-implant-hero {
	align-items: center;
	background: #5941cd;
	color: var(--de-white);
	display: flex;
	height: 100vh;
	isolation: isolate;
	min-height: 100vh;
	overflow: hidden;
	position: relative;
}

.de-implant-hero::after {
	background:
		linear-gradient(0deg, rgb(47 29 121 / 94%) 0%, rgb(67 43 165 / 82%) 42%, rgb(67 43 165 / 44%) 67%, rgb(67 43 165 / 12%) 100%),
		linear-gradient(0deg, rgb(29 17 82 / 32%), transparent 48%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.de-implant-hero__background {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	width: 100%;
	z-index: -2;
}

.de-implant-hero__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: 10rem 3.5rem;
	text-align: center;
}

.de-implant-hero h1 {
	font-family: var(--de-heading);
	font-size: 28px;
	font-weight: 600;
	line-height: 40px;
	margin: 0;
}

.de-implant-hero p {
	font-size: 16px;
	line-height: 21px;
	margin: 22px 0 36px;
	max-width: 388px;
}

.de-implant-cta {
	font-weight: var(--de-button-font-weight);
	gap: 10px;
	max-width: 100%;
	min-height: 52px;
	padding: 12px 25px;
	width: min(100%, 360px);
}

.de-implant-cta .de-animated-cta__arrow {
	flex: 0 0 26px;
	height: 26px;
	margin-left: 0;
	width: 26px;
}

.de-implant-cta--white {
	background: var(--de-white);
	color: var(--implant-brand);
	min-height: 46px;
	padding-block: 9px;
	width: 280px;
}

.de-implant-cta--white .de-animated-cta__arrow path[fill="#fff"] { fill: var(--implant-brand); }
.de-implant-cta--white .de-animated-cta__arrow path[fill="#5c41cc"] { fill: var(--de-white); }

.de-implant-section {
	--de-container: 1320px;
	color: var(--implant-ink);
	padding-block: var(--de-section-space);
}

.de-implant-section > .de-container { padding-inline: 20px; }
.de-implant-intro { padding-top: calc(2 * var(--de-section-space)); }

.de-implant-heading { margin-bottom: 40px; max-width: 720px; }
.de-implant-heading.de-section-heading h2 { color: var(--implant-brand); margin: 0 auto; max-width: 711px; }
.de-implant-heading .de-eyebrow { background: var(--implant-tint); font-size: 16px; font-weight: 500; line-height: 18px; margin-bottom: var(--de-heading-gap); padding: 6px 16px; }

.de-implant-intro__grid,
.de-implant-definition,
.de-implant-sky { display: grid; gap: 40px; }

.de-implant-intro__image {
	border: 1px solid var(--implant-border);
	border-radius: 14px;
	height: auto;
	width: 100%;
}

.de-implant-intro .de-implant-copy { text-align: center; }
.de-implant-copy { font-size: 18px; line-height: 24px; }
.de-implant-copy p { margin: 0 0 24px; }
.de-implant-copy p:last-child { margin-bottom: 0; }

.de-implant h2.de-implant-subtitle {
	color: var(--implant-brand);
	font-family: var(--de-font);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: var(--de-heading-letter-spacing);
	line-height: 24px;
	margin: 0 0 32px;
}

.de-implant-quote {
	background: var(--implant-tint);
	border: 1px solid var(--implant-border);
	border-radius: 14px;
	margin: 0;
	overflow: hidden;
}

.de-implant-quote__portrait { display: block; overflow: hidden; position: relative; }
/* The supplied portrait files carry a faint perimeter stroke. Crop it so the
 * card's own rounded border remains the only visible contour at every size. */
.de-implant-quote__portrait img { display: block; height: auto; transform: scale(1.01); transform-origin: center; width: 100%; }
.de-implant-quote__body { padding: 12px 20px 40px; }
.de-implant-quote__mark { height: 40px; margin-bottom: 24px; width: 58px; }
.de-implant-quote blockquote { font-size: 18px; line-height: 24px; margin: 0; }
.de-implant-quote blockquote p { margin: 0; }
.de-implant-quote__footer { border-top: 1px solid var(--implant-border); margin-top: 24px; padding-top: 20px; }
.de-implant-quote figcaption strong { display: block; font-size: 18px; font-weight: 600; }
.de-implant-quote figcaption span { color: #6b5fad; display: block; font-size: 14px; line-height: 24px; }
.de-implant-quote .de-implant-cta { margin-top: 24px; }

.de-implant-list { gap: 0; margin: 32px 0 0; }
.de-implant-list li { align-items: start; font-size: 18px; font-weight: 400; gap: 8px; line-height: 24px; }
.de-implant-list:not(.de-implant-list--divided) li { border-bottom: 1px solid var(--implant-border); padding-block: 12px; }
.de-implant-list:not(.de-implant-list--divided) li:first-child { padding-top: 0; }
.de-implant-list:not(.de-implant-list--divided) li:last-child { border-bottom: 0; padding-bottom: 0; }
.de-implant-list .de-check-list__animated-icon { flex: 0 0 18px; height: 18px; width: 18px; }

.de-implant-fixed {
	align-self: center;
	background: linear-gradient(103deg, #5941cd, #8266e4);
	border-radius: 14px;
	color: var(--de-white);
	padding: 40px 20px;
	text-align: center;
}
.de-implant-fixed h2 { color: inherit; font-size: 30px; font-weight: 600; line-height: 1.1; }
.de-implant-fixed img { border-radius: 6px; height: 80px; margin: 36px auto; width: 121px; }
.de-implant-fixed p { font-size: 18px; line-height: 24px; margin: 0; }

.de-implant-partner { align-self: center; text-align: center; }
.de-implant-partner img { height: auto; margin-inline: auto; max-width: 268px; width: 100%; }
.de-implant-partner__plaque { isolation: isolate; margin-inline: auto; max-width: 268px; position: relative; width: 100%; }

/* Clip the reflection to the gold plate inside the image's white margin.
 * Soft-light preserves the dark engraving and the brushed metal texture. */
.de-implant-partner__sheen {
	border-radius: 4% / 6%;
	inset: 2% 1.7%;
	mix-blend-mode: soft-light;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
}

.de-implant-partner__sheen::before {
	animation: de-implant-gold-sheen 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
	background: linear-gradient(90deg,
		transparent 0%,
		rgb(255 208 110 / 12%) 22%,
		rgb(255 231 166 / 48%) 39%,
		rgb(255 250 222 / 95%) 49%,
		rgb(255 255 245 / 100%) 51%,
		rgb(255 230 161 / 48%) 62%,
		rgb(255 201 91 / 12%) 78%,
		transparent 100%);
	content: "";
	height: 150%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: -25%;
	transform: translateX(-160%) skewX(-18deg);
	width: 70%;
}

@keyframes de-implant-gold-sheen {
	0%, 8% { opacity: 0; transform: translateX(-160%) skewX(-18deg); }
	16%, 46% { opacity: 1; }
	62%, 100% { opacity: 0; transform: translateX(230%) skewX(-18deg); }
}

.de-implant-partner h3 { color: var(--implant-brand); font-size: 22px; font-weight: 600; line-height: 24px; margin: 32px 0; }
.de-implant-partner .de-implant-cta { width: 100%; }

.de-implant-offer {
	align-items: center;
	background: var(--implant-tint);
	border-radius: 14px;
	display: grid;
	gap: 28px;
	justify-items: center;
	padding: 40px 20px;
	text-align: center;
}
.de-implant-offer__copy h2 { color: var(--implant-brand); font-size: 30px; line-height: 1.1; margin: 0 auto 32px; max-width: 290px; text-transform: uppercase; }
.de-implant-offer__card { border: 1px solid var(--implant-border); border-radius: 10px; height: auto; max-width: 333px; width: 100%; }
.de-implant-payment { grid-column: 1 / -1; margin: 0 auto; max-width: 750px; padding: 12px 0 0; text-align: center; }
.de-implant-payment h2 { color: var(--implant-brand); font-size: 30px; font-weight: 600; margin-bottom: 30px; }

.de-implant-comparison { margin-top: 40px; }
.de-implant-comparison__mobile { background: var(--implant-tint); border-radius: 14px; color: var(--implant-brand); margin-top: 16px; overflow: hidden; }
.de-implant-comparison__mobile summary { align-items: center; cursor: pointer; display: flex; font-size: 18px; font-weight: 600; justify-content: space-between; list-style: none; min-height: 59px; padding: 18px 20px; }
.de-implant-comparison__mobile summary::-webkit-details-marker { display: none; }
.de-implant-comparison__mobile[open] summary { background: var(--implant-brand); color: var(--de-white); }
.de-implant-comparison__mobile[open] .de-accreditations__toggle::after { transform: rotate(90deg) scaleX(0); }
.de-implant-comparison__mobile dl { margin: 0; padding: 0 20px; }
.de-implant-comparison__mobile dl > div { align-items: center; border-bottom: 1px solid var(--implant-border); display: grid; gap: 16px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); padding-block: 16px; }
.de-implant-comparison__mobile dl > div:last-child { border: 0; }
.de-implant-comparison__mobile dt { font-weight: 600; }
.de-implant-comparison__mobile dd { margin: 0; text-align: right; }
.de-implant-comparison__table { display: none; }

.de-implant-radiology { background: var(--implant-tint); border-radius: 14px; display: grid; gap: 32px; justify-items: center; padding: 40px 20px; }
.de-implant-radiology h2 { color: var(--implant-brand); font-size: 30px; line-height: 33px; max-width: 460px; text-align: center; }
.de-implant-radiology__image { border-radius: 10px; height: auto; width: 100%; }
.de-implant-radiology__copy > p { text-align: center; }
.de-implant-list--divided { gap: 0; }
.de-implant-list--divided li { border-bottom: 1px solid var(--implant-border); padding-block: 20px; }
.de-implant-list--divided li:first-child { padding-top: 0; }
.de-implant-list--divided li:last-child { border: 0; padding-bottom: 0; }

.de-implant-steps { list-style: none; margin: 40px 0 0; padding: 0; }
.de-implant-steps li { display: grid; gap: 16px; grid-template-columns: 40px minmax(0, 1fr); padding-bottom: 40px; position: relative; }
.de-implant-steps li:not(:last-child)::before { border-left: 1px solid #c5baf5; bottom: 0; content: ""; left: 20px; position: absolute; top: 40px; }
.de-implant-steps__number { align-items: center; background: var(--implant-brand); border-radius: 50%; color: var(--de-white); display: flex; font-family: var(--de-heading); font-size: 18px; font-weight: 600; height: 40px; justify-content: center; width: 40px; }
.de-implant-steps h3 { color: var(--implant-ink); font-size: 20px; font-weight: 600; line-height: 24px; margin: 8px 0 24px; }

@media (max-width: 700px) {
	.de-implant-hero__content { padding-block: 11rem 3.5rem; }
}

@media (max-width: 766px) {
	.de-implant-partner .de-implant-cta { min-height: 46px; padding-block: 9px; width: min(100%, 280px); }
	.de-implant-partner .de-implant-cta .de-animated-cta__arrow { flex-basis: 24px; height: 24px; width: 24px; }
}

@media (min-width: 767px) {
	.de-implant-section { padding-block: var(--de-section-space); }
	.de-implant-intro { padding-top: calc(2 * var(--de-section-space)); }
	.de-implant-heading .de-eyebrow { font-size: 20px; line-height: 22px; padding: 11px 22px; }
	.de-implant-list--columns { column-gap: 40px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.de-implant-list--columns li:nth-last-child(-n + 2) { border-bottom: 0; padding-bottom: 0; }
	.de-implant h2.de-implant-subtitle { font-size: 28px; line-height: 34px; }
	.de-implant-quote { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
	/* At tablet widths keep the portrait centered so cover cropping is shared
	 * by its left and right edges; the right-side fade remains visible. */
	.de-implant-quote__portrait img { height: 100%; object-fit: cover; object-position: center top; }
	.de-implant-quote__portrait::after { background: linear-gradient(90deg, transparent, var(--implant-tint)); content: ""; height: 100%; position: absolute; right: -1px; top: 0; width: 100px; }
	.de-implant-quote__body { padding: 30px; }
	.de-implant-fixed { padding: 50px 35px; }
	.de-implant-definition,
	.de-implant-sky { align-items: center; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
	.de-implant-offer { column-gap: 50px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); padding: 50px; }
	.de-implant-offer__copy { grid-row: span 2; }
	.de-implant-offer__copy h2 { max-width: 500px; }
	.de-implant-offer__cta { align-self: start; }
	.de-implant-steps { margin-inline: auto; max-width: 1000px; }
	.de-implant-comparison__mobile { display: none; }
	.de-implant-comparison__table { border-collapse: separate; border-spacing: 0; display: table; font-size: 18px; line-height: 24px; table-layout: fixed; width: 100%; }
	.de-implant-comparison__table th,
	.de-implant-comparison__table td { padding: 16px 20px; }
	.de-implant-comparison__table th { background: var(--implant-brand); color: var(--de-white); font-weight: 600; }
	.de-implant-comparison__table thead td { width: 34%; }
	.de-implant-comparison__table thead th:first-of-type { border-top-left-radius: 14px; }
	.de-implant-comparison__table thead th:last-child { border-top-right-radius: 14px; }
	.de-implant-comparison__table tbody th { text-align: left; }
	.de-implant-comparison__table tbody tr:first-child th { border-top-left-radius: 14px; }
	.de-implant-comparison__table tbody tr:last-child th { border-bottom-left-radius: 14px; }
	.de-implant-comparison__table tbody tr:last-child td:last-child { border-bottom-right-radius: 14px; }
	.de-implant-comparison__table tbody td { background: var(--implant-tint); border-bottom: 1px solid var(--implant-border); color: var(--implant-brand); text-align: center; }
	.de-implant-comparison__table tbody tr:last-child td { border-bottom: 0; }
}

@media (min-width: 1024px) {
	.de-implant-hero h1 { font-size: 66px; line-height: 72px; }
	.de-implant-hero p { font-size: 24px; line-height: 32px; margin-block: 38px 42px; max-width: 814px; }
	.de-implant-cta--white { min-height: 52px; width: 295px; }
	.de-implant-intro { padding-top: calc(2 * var(--de-section-space)); }
	.de-implant-heading { margin-bottom: 54px; }
	.de-implant-intro__grid { align-items: center; gap: 50px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.de-implant-intro__image { grid-column: 2; grid-row: 1; }
	.de-implant-intro .de-implant-copy { grid-column: 1; grid-row: 1; text-align: left; }
	.de-implant-copy { font-size: 22px; line-height: 28px; }
	.de-implant-quote { grid-template-columns: 41% minmax(0, 1fr); }
	.de-implant-quote--compact { grid-template-columns: 24% minmax(0, 1fr); }
	.de-implant-quote__portrait img { aspect-ratio: auto; object-position: top; }
	.de-implant-quote__body { align-self: center; padding: 32px 30px 30px 20px; }
	.de-implant-quote blockquote { font-size: 22px; line-height: 26px; }
	.de-implant-quote__footer { align-items: center; display: flex; gap: 20px; justify-content: space-between; }
	.de-implant-quote figcaption { flex: 1 1 auto; }
	.de-implant-quote figcaption strong { font-size: 22px; }
	.de-implant-quote figcaption span { font-size: 16px; }
	.de-implant-quote .de-implant-cta { flex: 0 0 auto; margin: 0; width: auto; }
	.de-implant-list li { font-size: 20px; line-height: 28px; }
	.de-implant-radiology { align-items: center; column-gap: 50px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 50px; }
	.de-implant-radiology h2 { font-size: 42px; grid-column: 1 / -1; line-height: 46px; max-width: 650px; }
	.de-implant-radiology__image { grid-column: 1; grid-row: 2 / 4; }
	.de-implant-radiology__copy { grid-column: 2; grid-row: 2; }
	.de-implant-radiology__copy > p { text-align: left; }
	.de-implant-radiology__cta { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
	.de-implant-cta { transition: none; }
	.de-implant-partner__sheen { display: none; }
	.de-implant-partner__sheen::before { animation: none; }
}

/* Shared cutout doctor quotes. Portrait-specific crops use custom properties. */
.de-doctor-quote-section {
	--quote-portrait-ratio: 400 / 517;
	--quote-image-width: 95%;
	--quote-image-left: 2.5%;
	--quote-image-top: 0%;
	--quote-backdrop-top: 24.6%;
	--quote-backdrop-color: #d2c0ff;
	--quote-min-height: 465px;
	--quote-tablet-lift: 82px;
	--quote-desktop-lift: 114px;
	--quote-desktop-image-offset: 0%;
}

.de-implant .de-doctor-quote-section > .de-container { max-width: 940px; padding-inline: 20px; }
.de-doctor-quote-section .de-implant-quote--cutout { background: transparent; border: 0; display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; }
.de-doctor-quote-section .de-implant-quote__portrait { aspect-ratio: var(--quote-portrait-ratio); isolation: isolate; }
.de-doctor-quote-section .de-implant-quote__portrait::before { background: var(--quote-backdrop-color); border-radius: 14px 14px 0 0; bottom: 0; content: ''; left: 0; position: absolute; right: 0; top: var(--quote-backdrop-top); z-index: -1; }
.de-doctor-quote-section .de-implant-quote__portrait::after { content: none; }
.de-doctor-quote-section .de-implant-quote__portrait img { height: auto; left: var(--quote-image-left); max-width: none; object-fit: contain; position: absolute; top: var(--quote-image-top); transform: none; width: var(--quote-image-width); }
.de-doctor-quote-section .de-implant-quote__body { align-self: stretch; background: var(--implant-tint); border: 1px solid var(--implant-border); border-radius: 0 0 14px 14px; border-top: 0; padding: 30px 20px 25px; }
.de-doctor-quote-section .de-implant-quote blockquote { font-size: 18px; line-height: 24px; }
.de-doctor-quote-section .de-implant-quote__footer { display: block; margin-top: 25px; padding-top: 25px; }
.de-doctor-quote-section .de-implant-quote figcaption strong { font-size: 18px; line-height: 24px; }
.de-doctor-quote-section .de-implant-quote figcaption span { font-size: 14px; line-height: 21px; margin-top: 10px; }

@media (min-width: 501px) and (max-width: 767px) {
	.de-implant .de-doctor-quote-section > .de-container { max-width: 520px; padding-inline: 40px; }
}

@media (min-width: 768px) {
	.de-implant .de-doctor-quote-section > .de-container { max-width: 1200px; }
	.de-doctor-quote-section .de-implant-quote--cutout { align-items: stretch; grid-template-columns: 260px minmax(0, 1fr); }
	.de-doctor-quote-section .de-implant-quote__portrait { aspect-ratio: auto; min-height: var(--quote-min-height); }
	.de-doctor-quote-section .de-implant-quote__portrait::before { border-radius: 14px 0 0 14px; top: var(--quote-tablet-lift); }
	.de-doctor-quote-section .de-implant-quote__portrait img { bottom: 0; top: auto; }
	.de-doctor-quote-section .de-implant-quote__body { border-radius: 0 14px 14px 0; border-top: 1px solid var(--implant-border); margin-top: var(--quote-tablet-lift); padding: 28px 24px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
	/* The supplied waist-up portraits need less vertical space at tablet width. */
	.de-doctor-quote-section .de-implant-quote__portrait { min-height: min(var(--quote-min-height), 360px); }
	.de-doctor-quote-section .de-implant-quote__portrait img { height: 100%; left: 0; object-fit: cover; object-position: center top; top: 0; width: 100%; }
}

@media (min-width: 1024px) {
	.de-doctor-quote-section .de-implant-quote--cutout { grid-template-columns: 360px minmax(0, 1fr); }
	.de-doctor-quote-section .de-implant-quote__portrait::before { top: var(--quote-desktop-lift); }
	.de-doctor-quote-section .de-implant-quote__portrait img { bottom: auto; top: 0; transform: translateY(var(--quote-desktop-image-offset)); }
	.de-doctor-quote-section .de-implant-quote__body { margin-top: var(--quote-desktop-lift); padding: 40px; }
}
