/*
Landing page styles for conversion pages (/implants, /invisalign).
Loaded conditionally from functions.php so the rest of the site is unaffected.
All classes are namespaced with .lp- to avoid collisions with theme/Bootstrap styles.
*/

:root {
	--lp-navy: #2b3a5a;
	--lp-navy-deep: #222f49;
	--lp-slate: #395159;
	--lp-pink: #eb86c0;
	--lp-pink-soft: #fdf1f8;
	--lp-ink: #333;
	--lp-muted: #5c6672;
	--lp-line: #e3e6ec;
	--lp-tint: #f6f8fa;
}

/* ---------------------------------------------------------------- Icons
   Icons are inline SVG in the markup so they inherit currentColor and need no
   icon font dependency. */
.lp-svg {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em;
	flex: 0 0 auto;
}


/* ----- h1 aurora text effect */
.aurora-text {
  display: inline;

  color: transparent;
  -webkit-text-fill-color: transparent;

  background-image:
    radial-gradient(circle, #bde7f5 0%, transparent 60%),
    radial-gradient(circle, #d8c7f3 0%, transparent 60%),
    linear-gradient(90deg, #bde7f5, #d8c7f3);

  background-size:
    180% 240%,
    200% 250%,
    100% 100%;

  background-position:
    0% 0%,
    100% 100%,
    center;

  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;

  animation: pastel-aurora 5s ease-in-out infinite alternate;
}

@keyframes pastel-aurora {
  0% {
    background-position:
      0% 20%,
      100% 80%,
      center;
  }

  50% {
    background-position:
      100% 60%,
      20% 10%,
      center;
  }

  100% {
    background-position:
      30% 100%,
      80% 30%,
      center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aurora-text {
    animation: none;
  }
}

/* ---------------------------------------------------------------- Sections */
.entry-content {
	margin-top:0!important;
}

.lp-section {
	padding: 4rem 0;
}

.lp-section--tint {
	background-color: var(--lp-tint);
}

.lp-section-head {
	max-width: 760px;
	margin: 0 auto 2.75rem;
	text-align: center;
}

.lp-section-head h2 {
	font-size: 2.1rem;
	line-height: 1.2;
	margin: 0 0 0.75rem;
	color: var(--lp-navy);
}

.lp-section-head p {
	color: var(--lp-muted);
	margin: 0;
	font-size: 1.05rem;
}

.lp-eyebrow {
	display: block;
	font-family: 'Roboto Condensed', sans-serif;
	text-transform: uppercase;
	letter-spacing: 2.5px;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--lp-pink);
	margin-bottom: 0.85rem;
}

.lp-rule {
	max-width: 90px;
	height: 3px;
	margin: 1.25rem auto 0;
	background-color: var(--lp-pink);
	border: 0;
}

/* ---------------------------------------------------------------- Buttons */
.lp-btn {
	display: inline-block;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.95rem;
	line-height: 1.3;
	padding: 15px 28px;
	border: 2px solid transparent;
	border-radius: 3px;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.lp-btn:hover,
.lp-btn:focus {
	text-decoration: none;
}

.lp-btn--primary,
.lp-btn--primary:visited {
	background-color: var(--lp-pink);
	border-color: var(--lp-pink);
	color: #fff;
}

.lp-btn--primary:hover,
.lp-btn--primary:focus {
	background-color: #e06db2;
	border-color: #e06db2;
	color: #fff;
}

.lp-btn--ghost,
.lp-btn--ghost:visited {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.7);
	color: #fff;
}

.lp-btn--ghost:hover,
.lp-btn--ghost:focus {
	background-color: #fff;
	border-color: #fff;
	color: var(--lp-navy);
}

.lp-btn--navy,
.lp-btn--navy:visited {
	background-color: var(--lp-navy);
	border-color: var(--lp-navy);
	color: #fff;
}

.lp-btn--navy:hover,
.lp-btn--navy:focus {
	background-color: var(--lp-navy-deep);
	border-color: var(--lp-navy-deep);
	color: #fff;
}

.lp-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 2rem;
}

.lp-btn-row--center {
	justify-content: center;
}

.lp-btn .lp-svg {
	width: 1.05em;
	height: 1.05em;
	margin-right: 0.45em;
}

.lp-btn:focus-visible {
	outline: 3px solid var(--lp-pink);
	outline-offset: 3px;
}

/* White on navy measures ~11:1, so this is the highest contrast option for the
   dominant call button where it sits on the dark hero and closing sections. */
.lp-btn--light,
.lp-btn--light:visited {
	background-color: #fff;
	border-color: #fff;
	color: var(--lp-navy);
}

.lp-btn--light:hover,
.lp-btn--light:focus {
	background-color: var(--lp-pink-soft);
	border-color: var(--lp-pink-soft);
	color: var(--lp-navy-deep);
}

/* The phone number is the primary conversion action, so it gets a deliberately
   oversized target: comfortably past the 44px minimum even on small screens. */
.lp-btn--phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 16px 34px;
	font-size: 1.3rem;
	letter-spacing: 0.5px;
	border-radius: 4px;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.lp-btn--phone .lp-svg {
	width: 1.2em;
	height: 1.2em;
	margin-right: 0.5em;
}

/* ---------------------------------------------------------------- Hero */
.lp-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, rgba(235, 134, 192, 0.28) 0%, rgba(235, 134, 192, 0) 55%),
		linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-slate) 100%);
	color: #fff;
	padding: 4.5rem 0 4rem;
}

.lp-hero {
  background-image:
    linear-gradient(
      135deg,
      rgba(13, 31, 54, 0.75),
      rgba(53, 72, 91, 0.65)
    ),
    radial-gradient(
      circle at 80% 20%,
      rgba(245, 182, 213, 0.75) 0%,
      rgba(245, 182, 213, 0.25) 35%,
      transparent 65%
    ),
    url("/wp-content/uploads/2026/09/couple-happy-bg.jpg");

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  color: #fff;
  padding: 4.5rem 0 4rem;
}

.lp-hero__inner {
	max-width: 820px;
}

/* text-align is reset because the theme centres every h1 on default page templates. */
.lp-hero h1 {
	font-size: 3rem;
	line-height: 1.1;
	margin: 0 0 1.25rem;
	color: #fff;
	text-align: left;
}

.lp-hero__sub {
	font-size: 1.2rem;
	line-height: 1.75rem;
	color: rgba(255, 255, 255, 0.88);
	max-width: 650px;
	margin: 0 auto;
}

/* ---------------------------------------------------------------- Call-first CTA stack */
.lp-cta-stack {
	margin-top: 2rem;
}

.lp-cta-stack--center {
	text-align: center;
}

.lp-reassure {
	margin: 0.9rem 0 0;
	font-size: 0.85rem;
    line-height: 1rem;
	color: var(--lp-muted);
}

.lp-cta-stack--center .lp-reassure {
	margin-left: auto;
	margin-right: auto;
}

.lp-hero .lp-reassure,
.lp-cta .lp-reassure {
	color: rgba(255, 255, 255, 0.82);
}

.lp-secondary-link {
	margin: 1.1rem 0 0;
	font-size: 0.95rem;
}

.lp-secondary-link a,
.lp-secondary-link a:visited {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lp-secondary-link a:hover,
.lp-secondary-link a:focus {
	color: var(--lp-pink);
}

.lp-hours {
	margin: 1.75rem 0 0;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.72);
}

/* ---------------------------------------------------------------- Trust bar */
.lp-trustbar {
	background-color: #fff;
	border-bottom: 1px solid var(--lp-line);
	padding: 1.1rem 0;
}

.lp-trustbar__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.75rem;
}

.lp-trustbar__list li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--lp-navy);
}

.lp-trustbar__icon {
	color: var(--lp-pink);
	width: 0.95rem;
	height: 0.95rem;
	stroke-width: 3;
}

/* ---------------------------------------------------------------- Split (copy + media) */
.lp-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: center;
}

.lp-split__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

.lp-split h2 {
	font-size: 2.1rem;
	line-height: 1.2;
	color: var(--lp-navy);
	margin: 0 0 1rem;
}

/* ---------------------------------------------------------------- Checklist */
.lp-checklist {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.lp-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin-bottom: 1rem;
	font-size: 1.05rem;
	line-height: 1.6rem;
	color: var(--lp-ink);
}

.lp-checklist li > .lp-check, .lp-check {
	flex: 0 0 auto;
	width: 1.65rem;
	height: 1.65rem;
	margin-top: 0.1rem;
	border-radius: 50%;
	background-color: var(--lp-pink-soft);
	color: var(--lp-pink);
	display: flex;
	align-items: center;
	justify-content: center;
}

.lp-check .lp-svg {
	width: 0.85rem;
	height: 0.85rem;
	vertical-align: baseline;
	stroke-width: 3;
}

/* ---------------------------------------------------------------- Benefits grid */
.lp-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.lp-card {
	background-color: #fff;
	border: 1px solid var(--lp-line);
	border-radius: 6px;
	padding: 2rem 1.75rem;
	height: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lp-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(43, 58, 90, 0.1);
}

.lp-card__icon {
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background-color: var(--lp-pink-soft);
	color: var(--lp-pink);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.15rem;
}

.lp-card__icon .lp-svg {
	width: 1.5rem;
	height: 1.5rem;
	vertical-align: baseline;
}

.lp-card h3 {
	font-size: 1.25rem;
	color: var(--lp-navy);
	margin: 0 0 0.5rem;
}

.lp-card p {
	margin: 0;
	color: var(--lp-muted);
	font-size: 1rem;
}

/* ---------------------------------------------------------------- Process steps */
.lp-steps {
	list-style: none;
	counter-reset: lp-step;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
}

.lp-steps li {
	position: relative;
	padding-left: 4.25rem;
}

.lp-steps li:before {
	counter-increment: lp-step;
	content: counter(lp-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background-color: var(--lp-navy);
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lp-steps h3 {
	font-size: 1.2rem;
	color: var(--lp-navy);
	margin: 0.35rem 0 0.4rem;
}

.lp-steps p {
	margin: 0;
	color: var(--lp-muted);
}

/* ---------------------------------------------------------------- Comparison table */
.lp-compare {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background-color: #fff;
	border: 1px solid var(--lp-line);
	border-radius: 6px;
	overflow: hidden;
}

/* The theme zeroes out all table cell padding with !important, so re-assert it here. */
.lp-compare th,
.lp-compare td {
	padding: 1rem 1.15rem !important;
	text-align: left;
	border-bottom: 1px solid var(--lp-line);
	vertical-align: middle;
}

.lp-compare thead th {
	background-color: var(--lp-navy);
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.9rem;
	border-bottom: 0;
}

.lp-compare thead th:nth-child(2) {
	background-color: var(--lp-pink);
}

.lp-compare tbody th {
	font-family: 'Roboto Condensed', sans-serif;
	color: var(--lp-navy);
	font-size: 1rem;
	width: 26%;
	background-color: #fbfcfd;
}

.lp-compare tbody tr:last-child th,
.lp-compare tbody tr:last-child td {
	border-bottom: 0;
}

.lp-compare .lp-yes {
	color: #2b3a5a;
	font-weight: 700;
}

.lp-compare .lp-no {
	color: var(--lp-muted);
}

/* ---------------------------------------------------------------- Doctor bio */
.lp-bio__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 14px 34px rgba(43, 58, 90, 0.16);
	max-width: 500px !important;
}

.lp-bio p {
	color: var(--lp-muted);
	font-size: 1.05rem;
}

.lp-bio p:last-child {
	margin-bottom: 0;
}

/* ---------------------------------------------------------------- Financing */
.lp-panel {
	background-color: #fff;
	border: 1px solid var(--lp-line);
	border-left: 5px solid var(--lp-pink);
	border-radius: 6px;
	padding: 2.5rem;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.lp-panel h2 {
	font-size: 1.9rem;
	color: var(--lp-navy);
	margin: 0 0 0.9rem;
}

.lp-panel p {
	margin: 0;
	font-size: 1.08rem;
	color: var(--lp-muted);
}
:root{
  --wcdc-teal:#0d7d8c;
  --wcdc-navy:#2b3a5a;
  --wcdc-teal-soft:#e3f4f6;
  --wcdc-line:#eaf0f1;
  --wcdc-muted:#8397a0;
  --lp-pink: #eb86c0;
}
.wcdc-price{background:#eef5f6;color:var(--wcdc-navy);}
.wcdc-price .wcdc-card{background:#fff;border:1px solid #d3dee1;border-radius:20px;box-shadow:0 24px 50px -34px rgba(20,48,61,.4);}
.wcdc-price h2{font-weight:600;}
.wcdc-price .wcdc-lead{color:var(--wcdc-muted);}
.wcdc-price .wcdc-row{border-bottom:1px solid var(--wcdc-line);gap: 10px;}
.wcdc-price .wcdc-row:last-of-type{border-bottom:0;}
.wcdc-price .wcdc-check{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--wcdc-teal-soft);color:var(--wcdc-teal);font-weight:700;}
.wcdc-price .wcdc-sub{color:var(--wcdc-muted);}
.wcdc-price .wcdc-inc{color:var(--wcdc-teal);font-weight:600;}
.wcdc-price .wcdc-total{background:var(--wcdc-navy);border-radius:14px;color:#fff;}
.wcdc-price .wcdc-total .lbl{color:#9db6c0;letter-spacing:.1em;}
.wcdc-price .wcdc-total .amt{font-weight:600;line-height:1;}
.wcdc-price .wcdc-btn{background:var(--wcdc-teal);border:0;color:#fff;font-weight:700;border-radius:999px;}
.wcdc-price .wcdc-btn:hover{background:#0a6875;color:#fff;}
/* ---------------------------------------------------------------- FAQ */
.lp-faq {
	max-width: 860px;
	margin: 0 auto;
}

.lp-faq__item {
	background-color: #fff;
	border: 1px solid var(--lp-line);
	border-radius: 6px;
	margin-bottom: 0.85rem;
}

.lp-faq__item > summary {
	list-style: none;
	cursor: pointer;
	padding: 1.15rem 3rem 1.15rem 1.4rem;
	position: relative;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--lp-navy);
}

.lp-faq__item > summary::-webkit-details-marker {
	display: none;
}

.lp-faq__item > summary .lp-faq__chevron {
	position: absolute;
	right: 1.35rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.95rem;
	height: 0.95rem;
	color: var(--lp-pink);
	transition: transform 0.2s ease;
}

.lp-faq__item[open] > summary .lp-faq__chevron {
	transform: translateY(-50%) rotate(180deg);
}

.lp-faq__item > summary:focus-visible {
	outline: 2px solid var(--lp-pink);
	outline-offset: 2px;
}

.lp-faq__answer {
	padding: 0 1.4rem 1.35rem;
	margin: 0;
	color: var(--lp-muted);
}

/* ---------------------------------------------------------------- Final CTA + form */
.lp-cta {
	background:
		radial-gradient(circle at 12% 20%, rgba(235, 134, 192, 0.25) 0%, rgba(235, 134, 192, 0) 55%),
		linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-slate) 100%);
	color: #fff;
	padding: 4.5rem 0;
}

.lp-cta h2 {
	font-size: 2.3rem;
	color: #fff;
	margin: 0 0 1rem;
}

.lp-cta__body {
	font-size: 1.12rem;
	color: rgba(255, 255, 255, 0.88);
	max-width: 700px;
	margin: 0 auto;
}

.lp-form-card {
	background-color: #fff;
	border-radius: 6px;
	padding: 2rem;
	max-width: 720px;
	margin: 2.75rem auto 0;
	text-align: left;
	color: var(--lp-ink);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.lp-form-card h3 {
	font-size: 1.4rem;
	color: var(--lp-navy);
	margin: 0 0 0.6rem;
	text-align: center;
}

.lp-form-card__intro {
	margin: 0 0 1.5rem;
	text-align: center;
	color: var(--lp-muted);
}

.lp-form-card .gform_wrapper {
	margin: 0;
}

/* The theme's global field styles are sized for narrow sidebars; give the
   landing page form comfortable touch targets instead. */
.lp-form-card .gform_wrapper input[type="text"],
.lp-form-card .gform_wrapper input[type="email"],
.lp-form-card .gform_wrapper input[type="tel"],
.lp-form-card .gform_wrapper textarea {
	font-size: 1rem !important;
	padding: 11px 12px;
	border: 1px solid #c9d0da;
	border-radius: 3px;
	width: 100%;
}

.lp-form-card .gform_wrapper input[type="text"]:focus,
.lp-form-card .gform_wrapper input[type="email"]:focus,
.lp-form-card .gform_wrapper input[type="tel"]:focus,
.lp-form-card .gform_wrapper textarea:focus {
	border-color: var(--lp-pink);
	outline: none;
}

.lp-form-card .gform_wrapper .gfield_label {
	font-family: 'Roboto Condensed', sans-serif;
	color: var(--lp-navy);
}

.lp-form-card .gform_wrapper .gform_footer {
	justify-content: center;
}

.lp-form-card .gform_wrapper .gform_footer input[type="submit"] {
	background-color: var(--lp-pink);
	border: 0;
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 14px 30px;
	border-radius: 3px;
	cursor: pointer;
}

.lp-form-card .gform_wrapper .gform_footer input[type="submit"]:hover {
	background-color: #e06db2;
}
.gform_confirmation_wrapper .gform_confirmation_message {
	margin: 1rem auto;
    border-top: 1px solid #eb86c0;
    max-width: 500px;
    text-align: center;
    font-weight: 500;
    padding-top: 1rem;
}
/* ---------------------------------------------------------------- Disclaimer */
.lp-disclaimer {
	padding: 1.75rem 0;
}

.lp-disclaimer p {
	margin: 0;
	font-size: 0.82rem;
	color: #8a929c;
}

/* ---------------------------------------------------------------- Responsive */
@media (max-width: 991.98px) {
	.page-template-default .entry-content section {
		margin-bottom: 3rem;
	}
	.lp-hero h1 {
		font-size: 2rem!important;
	}
}


@media (max-width: 767.99px) {

	.lp-hero__sub {
		font-size: 1.05rem;
	}

	.lp-section-head h2,
	.lp-split h2 {
		font-size: 1.7rem;
	}

	.lp-cta h2 {
		font-size: 1.8rem;
	}

	.lp-btn {
		width: 100%;
	}

	.lp-panel,
	.lp-form-card {
		padding: 1.75rem 1.25rem;
	}

	/* Stacked comparison table */
	.lp-compare,
	.lp-compare tbody,
	.lp-compare tr,
	.lp-compare th,
	.lp-compare td {
		display: block;
		width: 100%;
	}

	.lp-compare thead {
		display: none;
	}

	.lp-compare tbody tr {
		border-bottom: 1px solid var(--lp-line);
	}

	.lp-compare tbody tr:last-child {
		border-bottom: 0;
	}

	.lp-compare tbody th {
		background-color: var(--lp-navy);
		color: #fff;
		border-bottom: 0;
	}

	.lp-compare td {
		border-bottom: 0;
		padding: 0.75rem 1.15rem !important;
	}

	.lp-compare td:before {
		content: attr(data-label);
		display: block;
		font-family: 'Roboto Condensed', sans-serif;
		text-transform: uppercase;
		letter-spacing: 1px;
		font-size: 0.75rem;
		color: var(--lp-pink);
		margin-bottom: 0.15rem;
	}
	.lp-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575.98px) {
	.lp-section-head h2, .lp-split h2 {
        font-size: 1.35rem !important;
    }
	.lp-card h3 {
		font-size: 1.1rem!important;
	}
	.lp-card {
		padding: 1.3rem;
	}
	.lp-btn--phone {
		font-size: 1.2rem;
	}
}

@media (min-width: 576px) {
	.lp-grid {
        grid-template-columns: repeat(2, 1fr);
    }
	.lp-steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

@media (min-width: 768px) {
	.lp-steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.25rem;
	}
}

@media (min-width: 992px) {
	.lp-section {
		padding: 5rem 0;
	}

	.lp-hero {
		padding: 6rem 0 5.5rem;
	}

	.lp-hero h1 {
		font-size: 2.8rem;
	}

	.lp-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.lp-steps {
		grid-template-columns: repeat(4, 1fr);
	}

	.lp-split {
		grid-template-columns: 1fr 1fr;
		gap: 3.5rem;
	}

	.lp-split--media-first .lp-split__media {
		order: -1;
	}

	.lp-bio {
		grid-template-columns: 0.85fr 1.15fr;
	}
}
@media (min-width: 576px) and (max-width: 991.98px) {
	.lp-section-head h2, .lp-split h2 {
        font-size: 1.8rem !important;
    }
}