/* Pearl typography within the reference's responsive layout. */
:root {
  --font-display: "Newsreader", Georgia, serif;
  --font-body: "Manrope", system-ui, sans-serif;
}
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, .display-3, .cmq__track, .hero__trust strong {
  font-optical-sizing: auto;
}
button, input, select, textarea { font-family: var(--font-body); }
/* Full-bleed editorial photography, with copy kept clear of the model. */
.hero--pearl { min-height:clamp(660px,88svh,860px); align-items:stretch; }
.hero--pearl .hero__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 38%; }
.hero--pearl .hero__media::after { background:linear-gradient(90deg,rgba(19,36,59,.48),rgba(19,36,59,.18) 40%,transparent 64%); }
.hero--pearl .hero__inner { min-height:inherit; padding:150px var(--gutter) 70px; align-items:flex-start; text-align:left; gap:0; justify-content:center; }
.hero--pearl .hero__eyebrow { justify-content:flex-start; gap:14px; font-size:11px; font-weight:500; letter-spacing:.18em; color:var(--pearl-gold-light); }
.hero--pearl .hero__eyebrow::before { width:30px; background:var(--pearl-gold); }
.hero--pearl .hero__eyebrow::after { display:none; }
.hero--pearl .hero__h { margin:28px 0 22px; font-size:clamp(72px,7.1vw,108px); font-weight:400; line-height:.98; letter-spacing:-.045em; max-width:10ch; }
.hero--pearl .hero__h em { color:var(--pearl-gold-light); font-weight:400; }
.hero--pearl .hero__eyebrow,.hero--pearl .hero__h,.hero--pearl .hero__sub,.hero--pearl .hero__quiz-link { text-shadow:none; }
.hero--pearl .hero__sub { max-width:34ch; font-size:17px; line-height:1.65; font-weight:400; color:rgba(255,255,255,.85); }
.hero--pearl .hero__ctas { justify-content:flex-start; margin:32px 0 0; gap:18px; }
.hero--pearl .hero__ctas .btn { height:58px; padding:0 28px; font-size:14px; }
.hero--pearl .hero__ctas .btn--primary { background:#fff; color:var(--pearl); box-shadow:none; gap:28px; }
.hero--pearl .hero__ctas .btn--primary:hover { background:var(--pearl-gold-light); }
.hero--pearl .hero__ctas .btn--ghost-light { border-color:transparent; padding:0 12px; text-decoration:underline; text-underline-offset:5px; }
.hero--pearl .hero__quiz-link { align-self:flex-start; margin:22px 0 0; font-size:12px; color:rgba(255,255,255,.85); }
.hero--pearl .hero__quiz-link span { margin-left:12px; }
@media(min-width:761px) and (max-width:1050px) {
 .hero--pearl .hero__h { font-size:clamp(64px,7.5vw,80px); }
 .hero--pearl .hero__sub { max-width:29ch; font-size:15px; }
 .hero--pearl .hero__media img { object-position:60% 35%; }
 .hero--pearl .hero__ctas { gap:6px; }
 .hero--pearl .hero__ctas .btn { font-size:13px; padding-inline:22px; }
}
@media(min-width:761px) and (max-width:900px) {
 .hero--pearl .hero__ctas { flex-direction:column; align-items:flex-start; gap:8px; }
 .hero--pearl .hero__ctas .btn--ghost-light { height:44px; padding:0; }
 .hero--pearl .hero__quiz-link { margin-top:8px; }
}
@media(max-width:760px) {
 body[data-has-hero] .site-header:not([data-scrolled="true"]) { background:var(--pearl); border-bottom:1px solid rgba(255,255,255,.12); }
 .hero--pearl { min-height:100svh; }
 .hero--pearl .hero__media img { width:100%; height:69%; object-position:77% 20%!important; }
 .hero--pearl .hero__media::after { background:linear-gradient(180deg,transparent 20%,rgba(19,36,59,.05) 36%,rgba(19,36,59,.85) 58%,#13243b 71%); }
 .hero--pearl .hero__inner { min-height:100svh; justify-content:flex-end; padding:260px 24px 30px; }
 .hero--pearl .hero__eyebrow { font-size:10px; letter-spacing:.14em; }
 .hero--pearl .hero__eyebrow::before { width:22px; }
 .hero--pearl .hero__h { margin:17px 0 14px; font-size:clamp(53px,14vw,65px); line-height:.99; max-width:10ch; }
 .hero--pearl .hero__sub { display:block; max-width:34ch; font-size:14px; line-height:1.6; }
 .hero--pearl .hero__ctas { flex-direction:row; width:100%; max-width:410px; gap:8px; margin-top:24px; }
 .hero--pearl .hero__ctas .btn--primary { flex:1; width:auto; padding:0 18px; height:54px; gap:14px; font-size:13px; }
 .hero--pearl .hero__ctas .btn--ghost-light { width:auto; height:54px; padding:0 8px; font-size:13px; }
 .hero--pearl .hero__quiz-link { display:none; }
}
@media(max-width:760px) and (max-height:650px) {
 .hero--pearl .hero__inner { padding-top:200px; padding-bottom:20px; }
 .hero--pearl .hero__h { margin:12px 0 10px; font-size:48px; }
 .hero--pearl .hero__sub { font-size:12px; }
 .hero--pearl .hero__ctas { margin-top:16px; }
}
@media(prefers-reduced-motion:no-preference) {
 .hero--pearl .hero__h { animation:pearl-hero-arrive .9s cubic-bezier(.22,.61,.36,1) both; }
 @keyframes pearl-hero-arrive { from { opacity:.35; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
}
/* Insurance is a quiet, stationary utility row, never a text carousel. */
.ins-marquee.pearl-payment { padding:14px 0; }
.pearl-payment__inner, .pearl-payment__plans { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; }
.pearl-payment__inner { gap:8px 32px; }
.pearl-payment__plans { margin:0; gap:8px 24px; font-size:12px; line-height:1.5; }
.pearl-payment__plans span+span { border-left:1px solid rgba(19,36,59,.18); padding-left:24px; }
.pearl-payment a { color:var(--pearl-gold-ink); font-size:12px; line-height:1.5; text-underline-offset:4px; text-decoration:underline; }
.pearl-payment a span { margin-left:8px; }
.section.why { padding:44px 0 20px; }
.why__lede { margin-top:14px; line-height:1.6; }
.pt-actions { padding:16px 0 24px; }
.pt-actions__row .btn--ghost { border-color:transparent; }
.why + .pt-actions + .txcar { padding-top:44px; }
.hero__h em, .cmq__h .serif-i { padding-right: .08em; }
.cmq__copy { min-height:4.65em; }
.cmq__row--third .cmq__track { animation-duration: 108s; }
.cmq__row--third .cmq__track li { color: rgba(255,255,255,.78); }
/* The reference keeps the appointment card centered over the desktop belt. */
@media(min-width:761px) {
  .cmq__belt { padding-block: 24px; }
  .cmq__card { left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; }
}
@media(max-width:760px) {
  .cmq__row--third { display:none; }
  .ins-marquee.pearl-payment { padding:12px 0; }
  .pearl-payment__inner { gap:7px; }
  .pearl-payment__plans { font-size:10px; gap:6px 14px; }
  .pearl-payment__plans span+span { padding-left:14px; }
  .pearl-payment a { font-size:11px; }
  .section.why { padding:32px 0 16px; }
  .why__lede { font-size:15px; max-width:36ch; }
  .pt-actions { padding:12px 0 12px; }
  .why + .pt-actions + .txcar { padding-top:36px; }
}
@media(max-width:560px) {
  .pt-actions__row { gap:6px; }
  .pt-actions__row .btn--ghost { height:44px; min-height:44px; padding:10px 12px; font-size:13px; }
}
/* Small refinements preserve the reference's dimensions and alignment. */
.why .display-3 { font-family:var(--font-body); font-size:clamp(30px,3.3vw,46px); font-weight:500; line-height:1.15; letter-spacing:-.045em; }
.txcar__head { max-width:1160px; text-align:left; margin-bottom:28px; }
.txcar__head .display-3 { font-size:clamp(42px,4.4vw,64px); font-weight:400; line-height:1.06; letter-spacing:-.035em; }
.txcar .railwrap { max-width:1240px; }
.txcar__track { gap:28px; padding-inline:28px; }
.txcar__card { width:calc((100% - 56px)/3); min-width:290px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.txcar__card:hover { transform:none; box-shadow:none; }
.txcar__ph { aspect-ratio:4/4.7; border-radius:14px; background:#fff; }
.txcar__card h3 { padding:24px 0 10px; font-family:var(--font-body); font-size:20px; font-weight:600; letter-spacing:-.035em; line-height:1.3; }
.txcar__card p { padding:0 0 18px; font-size:14px; line-height:1.65; max-width:32ch; }
.txcar__more { padding:0 0 16px; font-size:12px; text-transform:none; letter-spacing:0; }
.txcar__ctas { margin-top:24px; }
.award,.single-loc--lcard .single-loc__info.lcard,.review-card,.our-story__media { box-shadow:none; }
.our-story__media { border-radius:12px; }
.our-story__body .display-3 { font-size:clamp(40px,3.8vw,54px); line-height:1.07; font-weight:400; letter-spacing:-.035em; }
.our-story__p { font-size:16px; line-height:1.8; }
.teamrail .display-3 { font-size:clamp(42px,4.4vw,64px); font-weight:400; line-height:1.07; }
.tcar__card { width:260px; text-align:left; }
.tcar__card img { width:260px; height:300px; margin:0 0 20px; border:0; border-radius:12px; box-shadow:none; }
.tcar__card h3 { font-family:var(--font-body); font-weight:500; font-size:17px; line-height:1.5; letter-spacing:-.025em; }
.tcar__card span:not(.tcar__mono) { font-size:12px; line-height:1.6; }
.family-feature { background:#fff; padding:72px 0; }
.family-feature__grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.family-feature__body .display-3 { margin:22px 0; font-size:clamp(44px,5vw,72px); font-weight:400; line-height:1.03; letter-spacing:-.04em; }
.family-feature__body p { font-size:16px; line-height:1.7; margin-bottom:28px; }
.family-feature img { height:auto; aspect-ratio:1; border-radius:14px; object-position:50% 34%; }
.first-visit { border-top:1px solid var(--line); }
.first-visit__h { font-family:var(--font-body); font-size:20px; font-weight:500; letter-spacing:-.035em; }
.btn,.btn:hover { box-shadow:none; }
.quiz__opt,.quiz__opt:hover { box-shadow:none; border:1px solid rgba(19,36,59,.18); color:var(--pearl); }
.quiz__opt span { color:var(--pearl); }
.quiz__opt:focus-visible { outline:2px solid var(--pearl-gold-ink); outline-offset:3px; }
.quiz__opt:hover { border-color:var(--pearl-gold-ink); }
.card-tx { box-shadow:none; border-radius:14px; }
.card-tx:hover { box-shadow:none; }
.card-tx__media { aspect-ratio:4/4.6; }
.card-tx__name { font-family:var(--font-body); font-size:21px; font-weight:600; letter-spacing:-.03em; }
.service-hero { padding-block:150px 72px; }
.tx-detail-hero { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
body:not(.is-pearl-home) .service-hero .page-hero__h { margin:30px 0 22px; font-size:clamp(52px,5.2vw,76px); font-weight:400; letter-spacing:-.045em; line-height:1.02; }
.service-hero .page-hero__sub { font-size:18px; line-height:1.7; max-width:30ch; }
.service-hero .btn-row { margin-top:32px; }
.back-link::after { display:none; }
.service-hero__image { margin:0; position:relative; }
.service-hero__image img { width:100%; height:auto; max-height:590px; aspect-ratio:4/5; object-fit:cover; border-radius:14px; display:block; }
.service-hero__image figcaption { font-size:10px; color:var(--ink-mute); padding-top:10px; text-align:right; }
.sticky-cta[hidden] { display:none!important; }
.nav__book-mobile { display:none; }
@media(max-width:1000px) {
 .nav__book-mobile { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding-inline:16px; border:1px solid rgba(255,255,255,.32); border-radius:30px; color:#fff; font-size:12px; font-weight:500; }
 .nav__actions { gap:10px; }
 .nav__book-mobile:focus-visible { outline:2px solid var(--pearl-gold-light); outline-offset:3px; }
}
.sticky-cta .btn { height:48px; font-size:13px; padding-inline:24px; box-shadow:0 4px 20px rgba(19,36,59,.18); }
@media(max-width:860px) {
 .txcar__track { gap:20px; padding-inline:24px; }
 .txcar__card { width:310px; min-width:0; }
 .tcar__track { justify-content:center; }
 .tcar__card { width:220px; }
 .tcar__card img { width:220px; height:260px; }
 .family-feature__grid { gap:36px; }
 .tx-detail-hero { gap:40px; }
 .service-hero { padding-block:124px 48px; }
}
@media(max-width:760px) {
 .txcar__head { padding-inline:24px; }
 .txcar__card { width:78vw; max-width:340px; }
 .txcar__ph { aspect-ratio:4/4.6; }
 .txcar__card h3 { padding-top:20px; font-size:19px; }
 .txcar__ctas { gap:16px; }
 .our-story__media { width:100%; max-width:350px; }
 .our-story__media img { aspect-ratio:4/4.4; }
 .our-story__body { text-align:left; }
 .our-story__body .kicker { justify-content:flex-start; }
 .our-story__p { font-size:15px; line-height:1.75; }
 .tcar__track { justify-content:flex-start; padding-inline:24px; gap:20px; }
 .tcar__card { width:calc((100vw - 68px)/2); max-width:290px; }
 .tcar__card img { width:100%; height:auto; aspect-ratio:4/4.7; }
 .tcar__card h3 { font-size:14px; }
 .family-feature { padding:48px 0; }
 .family-feature__grid { grid-template-columns:1fr; gap:32px; }
 .family-feature__body .display-3 { font-size:48px; }
 .family-feature img { aspect-ratio:4/4.5; }
 .tx-detail-hero { grid-template-columns:1fr; gap:36px; }
 .service-hero { padding-block:120px 32px; }
 body:not(.is-pearl-home) .service-hero .page-hero__h { margin:26px 0 18px; font-size:52px; }
 .service-hero .page-hero__sub { font-size:16px; }
 .service-hero .btn-row { margin-top:26px; }
 .service-hero__image img { max-height:490px; }
 .card-tx__media { aspect-ratio:4/4.5; }
}
.txcar__ph img, .tcar__card img, .lcard__media img {
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .txcar__card:hover .txcar__ph img, .lcard:hover .lcard__media img { transform:scale(1.025); }
}
.btn { transition:background-color .22s, color .22s, box-shadow .3s, transform .3s; }
.btn:active { transform:translateY(1px); }
.btn:focus-visible, .rail-play:focus-visible { outline:2px solid var(--pearl-gold-ink); outline-offset:4px; }
.section--dark .btn:focus-visible, .cmq .btn:focus-visible { outline-color:var(--pearl-gold); }
@media(prefers-reduced-motion:reduce) {
  .txcar__ph img, .tcar__card img, .lcard__media img, .btn { transition:none; }
}
