/* Targeted refinements: retain the original homepage design system. */
.footer-logo img,
.footer-brand img {
  height: auto;
  aspect-ratio: 6 / 5;
  object-fit: contain;
}

/* One cinematic entrance. The background still zooms once over 30 seconds. */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #18221b;
  pointer-events: none;
  animation: hero-curtain 1.65s cubic-bezier(.16, 1, .3, 1) both;
}
.hero-content, .hero-bottom { z-index: 3; }
.hero-line { display: block; overflow: hidden; padding-bottom: .045em; margin-bottom: -.045em; }
.hero-line > span, .hero-line > em {
  display: block;
  animation: hero-line-rise 1.1s cubic-bezier(.16, 1, .3, 1) both;
}
.hero-line:nth-child(1) > span { animation-delay: .3s; }
.hero-line:nth-child(2) > span { animation-delay: .5s; }
.hero-line:nth-child(3) > em { animation-delay: .7s; }
.hero-content > .eyebrow { animation: hero-support-rise .8s ease-out .15s both; }
.hero-description { animation: hero-support-rise .85s ease-out .95s both; }
.hero-actions { animation: hero-support-rise .85s ease-out 1.15s both; }
.hero-bottom { animation: hero-support-rise .9s ease-out 1.35s both; }
@keyframes hero-curtain { from { opacity: 1; } to { opacity: 0; } }
@keyframes hero-line-rise {
  from { transform: translateY(115%); opacity: .1; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes hero-support-rise {
  from { transform: translateY(24px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* No permanent loading paragraph or extra blank block before native reviews. */
.trustindex-display { min-height: 0; }
.reviews-status { padding: 18px 22px; margin-top: 16px; }
.reviews-status[hidden], .reviews-status:empty { display: none; }

/* A compact editorial footer, not an oversized logo row. */
.site-footer.footer-upgraded {
  background: #1e2420;
  color: #f1f0e9;
  padding-top: 0;
  border-top: 3px solid var(--copper-bright);
}
.footer-upgraded .footer-area-ribbon {
  padding-block: 18px;
  border-bottom: 1px solid #ffffff17;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .12em;
  color: #a7b0a5;
}
.footer-area-ribbon > span:first-child { color: #d4a881; }
.footer-upgraded .footer-layout {
  padding-block: 54px 48px;
  display: grid;
  grid-template-columns: 1.25fr .65fr 1fr;
  gap: 75px;
}
.footer-brand { display: flex; align-items: flex-start; gap: 26px; }
.footer-logo-plaque { display: block; flex: 0 0 128px; width: 128px; background: #fff; padding: 12px; }
.footer-logo-plaque img { width: 104px; height: auto; aspect-ratio: 6 / 5; }
.footer-brand-copy > strong { display: block; font-family: var(--display); font-size: 33px; font-weight: 500; line-height: 1.04; }
.footer-brand-copy p { margin-top: 16px; font-size: 11px; line-height: 1.9; color: #aab4a8; max-width: 180px; }
.footer-brand-copy .footer-license { font-size: 8px; letter-spacing: .1em; margin-top: 18px; color: #d4a881; }
.footer-label { display: block; font-size: 9px; font-weight: 700; letter-spacing: .15em; color: #d4a881; margin-bottom: 19px; }
.footer-upgraded .footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; font-size: 12px; }
.footer-upgraded a:not(.footer-logo-plaque):hover { color: #dfb18a; }
.footer-links a { min-height: 24px; transition: color .18s; }
.footer-upgraded .footer-direct { display: flex; flex-direction: column; align-items: flex-start; }
.footer-direct .footer-call { font-family: var(--display); font-weight: 500; font-size: 39px; line-height: 1.1; letter-spacing: -.02em; white-space: nowrap; }
.footer-direct .footer-email { margin-top: 11px; color: #bfc7bb; font-size: 12px; }
.footer-direct .footer-schedule-link { margin-top: 21px; font-size: 11px; border-color: #80654e; padding-bottom: 9px; }
.footer-upgraded .footer-bottom {
  padding-block: 21px;
  color: #9ba596;
  border-color: #ffffff17;
  align-items: center;
  font-size: 8px;
}
.footer-credits { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; font-size: 8px; }
.footer-credits a { color: #c3cabb; letter-spacing: 0; }
.footer-credits .footer-fullview-credit {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: #f1f0e9;
  max-width: 100%;
  min-width: 0;
  padding-block: 4px;
  overflow-wrap: break-word;
}

/* The provider's real scheduler, with a restrained branded frame. */
.scheduling-intro { background: var(--ink); color: #fff; padding-block: 64px 72px; position: relative; overflow: hidden; }
.scheduling-intro::after { content: ""; position: absolute; right: -80px; top: -180px; width: 420px; height: 420px; border: 1px solid #ffffff12; transform: rotate(45deg); pointer-events: none; }
.breadcrumbs { display: flex; gap: 12px; font-size: 10px; color: #b8c0b3; margin-bottom: 38px; }
.breadcrumbs a:hover { color: #e0bc9f; }
.scheduling-intro-layout { display: flex; justify-content: space-between; gap: 65px; align-items: flex-end; }
.scheduling-intro h1 { font-size: clamp(55px, 6vw, 82px); }
.scheduling-intro h1 em { color: #dcad87; font-style: normal; }
.scheduling-intro-layout > p { max-width: 330px; font-size: 14px; color: #c5cdbf; padding-bottom: 6px; }
.scheduler-section { padding-block: 52px 75px; }
.scheduler-topline { display: flex; justify-content: space-between; align-items: center; gap: 35px; margin-bottom: 24px; }
.scheduler-topline h2 { font-family: var(--body); font-size: 17px; letter-spacing: 0; font-weight: 700; line-height: 1.5; }
.scheduler-topline p { font-size: 11px; color: var(--muted); margin-top: 6px; }
.scheduler-topline .text-link { white-space: nowrap; font-size: 11px; }
.scheduler-frame { background: #fff; border-top: 3px solid var(--copper); box-shadow: 0 12px 40px #262a270a; }
.scheduler-frame iframe { display: block; width: 100%; height: 800px; border: 0; background: #fff; }
.scheduler-help { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 25px; display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.scheduler-help p { font-size: 12px; color: var(--muted); }
.scheduler-help strong { color: var(--ink); }
.scheduler-help .text-link { flex-shrink: 0; }
.header-schedule[aria-current="page"] { background: #794523; }

@media (max-width: 1100px) {
  .footer-upgraded .footer-layout { grid-template-columns: 1.3fr .6fr 1fr; gap: 35px; }
  .footer-brand { gap: 18px; }
  .footer-logo-plaque { flex-basis: 110px; width: 110px; padding: 10px; }
  .footer-logo-plaque img { width: 90px; }
  .footer-brand-copy > strong { font-size: 29px; }
  .footer-direct .footer-call { font-size: 34px; }
}
@media (max-width: 800px) {
  .footer-upgraded .footer-layout { grid-template-columns: 1.3fr 1fr; gap: 40px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand-copy > strong br { display: none; }
  .footer-brand-copy p { max-width: none; }
  .footer-upgraded .footer-area-ribbon { font-size: 8px; gap: 15px; }
  .scheduling-intro-layout { gap: 35px; }
  .scheduling-intro-layout > p { max-width: 250px; font-size: 12px; }
}
@media (max-width: 700px) {
  .footer-upgraded .footer-area-ribbon { flex-direction: column; align-items: flex-start; gap: 6px; padding-block: 17px; font-size: 7px; }
  .footer-upgraded .footer-layout { padding-block: 36px 35px; grid-template-columns: .75fr 1.25fr; gap: 32px 18px; }
  .footer-brand { gap: 22px; align-items: center; }
  .footer-logo-plaque { width: 106px; flex-basis: 106px; padding: 9px; }
  .footer-logo-plaque img { width: 88px; }
  .footer-brand-copy > strong { font-size: 28px; }
  .footer-brand-copy > strong br { display: initial; }
  .footer-brand-copy p { font-size: 10px; margin-top: 11px; }
  .footer-brand-copy .footer-license { font-size: 7px; margin-top: 10px; }
  .footer-label { margin-bottom: 14px; font-size: 8px; }
  .footer-upgraded .footer-links { gap: 7px; font-size: 11px; }
  .footer-direct .footer-call { font-size: 31px; }
  .footer-direct .footer-email { font-size: 10px; margin-top: 8px; }
  .footer-direct .footer-schedule-link { font-size: 10px; gap: 15px; margin-top: 16px; }
  .footer-upgraded .footer-bottom { align-items: flex-start; gap: 11px; padding-block: 18px; font-size: 7px; }
  .footer-credits { justify-content: flex-start; font-size: 7px; gap: 5px; }
  .scheduling-intro { padding-block: 30px 43px; }
  .breadcrumbs { margin-bottom: 29px; font-size: 9px; }
  .scheduling-intro-layout { display: block; }
  .scheduling-intro h1 { font-size: 60px; }
  .scheduling-intro-layout > p { max-width: 100%; margin-top: 24px; font-size: 13px; }
  .scheduler-section { padding-block: 32px 48px; }
  .scheduler-topline { flex-direction: column; align-items: flex-start; gap: 16px; }
  .scheduler-topline h2 { font-size: 16px; }
  .scheduler-help { flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 25px; }
}
@media (max-width: 360px) {
  .footer-brand { gap: 16px; }
  .footer-logo-plaque { flex-basis: 95px; width: 95px; }
  .footer-logo-plaque img { width: 77px; }
  .footer-direct .footer-call { font-size: 28px; }
  .footer-brand-copy > strong { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero::after { display: none; }
  .hero-line > span, .hero-line > em, .hero-content > .eyebrow,
  .hero-description, .hero-actions, .hero-bottom { animation: none; opacity: 1; transform: none; }
}
