/* The reference stylesheet controls the layout and typography.
   These rules cover Pearl assets and retained accessible controls. */
:root { --pearl:#13243b; --pearl-gold:#c5a467; --pearl-gold-ink:#89652e; --pearl-gold-light:#ead7b3; }
.pearl-logo { display:block; width:150px; height:60px; overflow:hidden; background:var(--pearl); border-radius:2px; }
.pearl-logo img { width:150px; height:98px; max-width:none; object-fit:contain; margin-top:-18px; }
.site-header .nav__logo { flex-shrink:0; }
.site-footer .pearl-logo { margin-bottom:22px; }
.hero--pearl .hero__photo { object-position:50% 30%; }
.hero--pearl .hero__media::after { background:linear-gradient(180deg,rgba(19,36,59,.1),rgba(19,36,59,.5)); }
.hero--pearl .hero__h em { white-space:nowrap; }
.hero__h em,.cmq__h .serif-i { display:inline-block; padding-bottom:.12em; margin-bottom:-.12em; padding-right:.06em; }
.ins-marquee__row li span { color:var(--ink-soft); font-size:14px; font-weight:500; white-space:nowrap; }
.ins-marquee__row { gap:48px; }
.ins-marquee__row li { min-width:140px; }
.ins-marquee__viewport:focus-within .ins-marquee__track { animation-play-state:paused; }
.cmq { position:relative; }
.cmq__row { touch-action:pan-y; user-select:none; cursor:grab; }
.cmq__row:active { cursor:grabbing; }
.cmq__row:focus-visible { outline:2px solid var(--pearl-gold); outline-offset:-2px; }
.cmq[data-paused="true"] .cmq__track { animation-play-state:paused; }
.care-loop-toggle { position:absolute; right:10px; bottom:8px; width:44px; height:44px; color:var(--pearl-gold); border-radius:50%; font-size:16px; display:grid; place-items:center; }
.care-loop-toggle:focus-visible { outline-color:var(--pearl-gold); }
.quiz__counter { text-align:center; font-size:12px; margin:0 0 9px; color:var(--ink-soft); }
.quiz__privacy { color:var(--ink-soft); text-align:center; font-size:12px; margin-top:12px; }
.quiz__match-name { font-family:var(--font-display); font-weight:600; letter-spacing:-.01em; }
.quiz__q:focus,.quiz__result-h:focus { outline:none; }
.rev-stars .star--on,.rev-stars .star--on path { color:var(--pearl-gold-ink); fill:var(--pearl-gold-ink); }
.rev__lead blockquote { text-wrap:pretty; }
.our-story__media img { object-position:50% 30%; }
.single-loc__map iframe { width:100%; height:100%; display:block; border:0; }
.tcar__track { justify-content:center; }
.tcar__card a { color:inherit; }
.tcar__card a:focus-visible { display:block; }
.tcar__card img { object-fit:cover; object-position:50% 22%; }
.teamrail__cta { margin-top:24px; text-align:center; }
.rail-control-bar { display:flex; justify-content:flex-end; gap:16px; max-width:1320px; margin:16px auto 0; padding-inline:var(--gutter); }
.rev-carousel .rail-control-bar { padding:0; }
.rail-play { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line-deep); border-radius:100px; padding:8px 14px; min-height:44px; color:var(--ink); font-size:12px; }
.section--dark .rail-play { color:#fff; border-color:rgba(255,255,255,.35); }
.compare-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; max-width:860px; padding-top:14px; }
.compare-toolbar .compare-instruction { margin:0; }
.compare-toolbar .rail-play { white-space:nowrap; }
.appointment-drawer { color:var(--ink); background:#fff; }
.appointment-drawer h2 { font-family:var(--font-display); font-size:48px; font-weight:500; letter-spacing:-.018em; line-height:1.1; }
.appointment-choice--primary { background:var(--pearl); color:#fff; }
.appointment-drawer .kicker { color:var(--pearl-gold-ink); }
.appointment-drawer__note { color:var(--ink-soft); }
body.appointment-open { overflow:hidden; }
body:not(.is-pearl-home) .page-hero__h { font-family:var(--font-display); font-size:var(--t-display-2); font-weight:500; line-height:1.05; }
body:not(.is-pearl-home) .page-hero__sub { max-width:58ch; }
body:not(.is-pearl-home) .display-3,body:not(.is-pearl-home) main h2 { font-family:var(--font-display); font-weight:500; letter-spacing:-.018em; }
.editorial-grid { align-items:start; }
.doctor-profile h2 { font-size:var(--t-h2); }
.doctor-bio { background:#fff; }
.doctor-profile .doctor-role { color:var(--pearl-gold-ink); }
.photo-band img { object-fit:cover; }
.gold { color:var(--pearl-gold-ink); font-style:italic; }
.fine-print,.site-note { font-size:12px; line-height:1.6; }
@media(max-width:760px) {
 .pearl-logo { width:124px; height:51px; }
 .pearl-logo img { width:124px; height:81px; margin-top:-15px; }
 .hero--pearl .hero__media img { object-position:50% 30%!important; }
 .hero--pearl .hero__media::after { background:linear-gradient(180deg,rgba(19,36,59,.12),rgba(19,36,59,.47)); }
 .single-loc__map iframe { display:block!important; }
 .tcar__track { justify-content:flex-start; }
 .appointment-drawer h2 { font-size:36px; }
 .hero__h em { white-space:normal; }
 .compare-toolbar { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .care-loop-toggle { display:none; }
 .cmq__row { overflow-x:auto; }
 .cmq__track { transform:none; }
 .cmq__track li:nth-child(n+7) { display:none; }
 .ins-marquee__track { animation:none; }
}

/* A touch toggle must resume without waiting for a synthetic hover to end. */
.cmq:hover .cmq__track { animation-play-state:running; }
.cmq[data-anim="off"] .cmq__track,.cmq[data-paused="true"] .cmq__track { animation-play-state:paused; }
