/* Clinic-wide companion to the approved photographic homepage preview. */
@font-face {
  font-family: ClinicPlex;
  src: url('/assets/clinic-plex.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
body.clinic-roveia-inner {
  --r-blue: #0099cc;
  --r-ink: #202427;
  --r-line: #d5d9dc;
  font-family: ClinicPlex, Arial, sans-serif !important;
  color: var(--r-ink);
  background: #fff;
}
.clinic-roveia-inner :is(nav.glass, nav.brand-nav) {
  width: min(1260px, calc(100% - 40px));
  margin: 16px auto 24px;
  top: 12px;
  border: 1px solid #e7e9e9;
  border-radius: 50px;
  box-shadow: 0 8px 30px #2024270d;
}
.clinic-roveia-inner :is(nav.glass, nav.brand-nav) > div {
  min-height: 70px;
  padding: 10px 24px !important;
  gap: 16px;
}
.clinic-roveia-inner :is(nav.glass, nav.brand-nav) img { width: 180px !important; }
.clinic-roveia-inner :is(nav.glass, nav.brand-nav) .nav-link { font-size: 13px !important; }
.clinic-roveia-inner :is(nav.glass, nav.brand-nav) .gap-7 { gap: 20px; }
.clinic-roveia-inner :is(.btn, .button, .site-book, .tlg-btn) { border-radius: 30px !important; }
.clinic-roveia-inner .refresh-nav-panel { border-radius: 0 0 20px 20px; }
.clinic-roveia-inner > header.bg-white {
  width: calc(100% - 40px);
  margin: 0 auto 32px;
  padding: clamp(38px, 5vw, 78px) 0 !important;
  border-radius: 26px;
  background: #f4f5f5 !important;
}
.clinic-roveia-inner :is(h1, .hero-mega) {
  font-size: clamp(42px, 5.8vw, 88px) !important;
  font-weight: 450 !important;
  line-height: 1.06 !important;
  letter-spacing: -.055em !important;
  max-width: 22ch;
  text-wrap: balance;
}
.clinic-roveia-inner :is(h2, .sec-title) {
  font-size: clamp(32px, 3.5vw, 52px) !important;
  font-weight: 450 !important;
  line-height: 1.1 !important;
  letter-spacing: -.045em !important;
}
.clinic-roveia-inner :is(h3, .h2-bric, .h3-bric) { font-weight: 500 !important; }
.clinic-roveia-inner .eyebrow { text-transform: none !important; letter-spacing: 0 !important; }
.clinic-roveia-inner :is(.btn-electric, .button, .site-book) { background: #0099cc !important; color: #202427 !important; }
.clinic-roveia-inner :is(.photo-frame, .photo-break, .info-card) { border-radius: 22px; overflow: hidden; }
.clinic-roveia-inner .info-card { border: 1px solid #d5d9dc; box-shadow: none; }
.clinic-roveia-inner .step-card { border-radius: 18px !important; }
.clinic-roveia-inner :is(.step-card, .svc-card) { box-shadow: none !important; }
.clinic-roveia-inner :is(.type-row, .faq-item, .faq) { border-color: #d5d9dc !important; }
.clinic-roveia-inner :is(.type-row, .step-card) p { line-height: 1.7 !important; }
.clinic-roveia-inner .prose-legal { max-width: 900px; }
.clinic-roveia-inner .prose-legal p, .clinic-roveia-inner .prose-legal li { font-size: 17px; line-height: 1.75; }
.clinic-roveia-inner form :is(input, textarea, select) { border-radius: 10px; }
.clinic-roveia-inner :is(input, textarea, select):focus-visible { outline: 2px solid #0099cc; outline-offset: 3px; }

.clinic-roveia-inner .service-document-opening {
  max-width: none;
  margin: 0 20px 58px;
  padding: 0;
  gap: 0;
  grid-template-columns: minmax(0, 1.6fr) minmax(250px, .65fr);
  border-radius: 24px;
  overflow: hidden;
  background: #202427;
  color: #fff;
}
.clinic-roveia-inner .service-photo img { height: clamp(390px, 42vw, 640px); }
.clinic-roveia-inner .service-photo figcaption { color: #d7dddf; border: 0; padding: 13px 22px; }
.clinic-roveia-inner .service-reading { border-top: 0; padding: 28px; }
.clinic-roveia-inner .service-reading p { color: #d7dddf; }
.clinic-roveia-inner .service-reading a { color: #fff; border-color: #ffffff40; min-height: 48px; }
.clinic-roveia-inner .service-text-opening { background: #fff; color: #202427; padding: 20px 40px 36px; border-bottom: 1px solid #d5d9dc; }
.clinic-roveia-inner .service-text-opening .service-reading a { color: #202427; border-color: #d5d9dc; }
.clinic-roveia-inner .service-text-opening .service-reading p { color: #5a6064; }
.clinic-roveia-inner .service-first-visit { background: #f4f5f5; color: #202427; }
.clinic-roveia-inner .service-photo-small { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.clinic-roveia-inner .service-photo-small .service-photo { background: #f4f5f5; }
.clinic-roveia-inner .service-photo-small .service-photo img { width: 100%; max-width: none !important; height: 540px; object-fit: contain; }
.clinic-roveia-inner .service-directory .svc-card { border-radius: 0 !important; }
.clinic-roveia-inner .r-inner-photo { margin: 0 clamp(20px, 4.5vw, 70px) 48px; }
.clinic-roveia-inner .r-inner-photo img {
  display: block;
  width: 100%;
  height: clamp(340px, 40vw, 580px);
  object-fit: cover;
  object-position: center 15%;
  border-radius: 24px;
}
.clinic-roveia-inner .r-inner-photo figcaption { color: #5a6064; font-size: 13px; padding: 12px 0; }
.clinic-roveia-inner .service-related { max-width: 1280px; padding-block: 48px; }

.clinic-roveia-inner.custom-profile > header { background: #fff !important; }
.clinic-roveia-inner.custom-profile .photo-frame { border-radius: 24px; }
.clinic-roveia-inner.custom-profile .photo-frame img { object-position: center top; }
.clinic-roveia-inner.custom-profile .profile-photo-pair img { border-radius: 20px; }
.clinic-roveia-inner.custom-profile .profile-hero h1 { font-size: clamp(44px, 6vw, 88px) !important; }

.clinic-roveia-inner > header:not(.bg-white) {
  position: sticky;
  top: 12px;
  z-index: 40;
  width: calc(100% - 40px);
  margin: 14px auto 30px;
  border: 1px solid #e7e9e9;
  border-radius: 50px;
  box-shadow: 0 8px 30px #2024270d;
  background: #fff;
}
.clinic-roveia-inner .guide-hero { gap: clamp(24px, 5vw, 80px); }
.clinic-roveia-inner .guide-hero figure img { border-radius: 22px; }
.clinic-roveia-inner .guide-answer { border-radius: 20px; }
.clinic-roveia-inner .guide-index { top: 115px; }
.clinic-roveia-inner .guide-index a { min-height: 44px; }
.clinic-roveia-inner.r-policy :is(h1, .hero-mega) { font-size: clamp(38px, 4.7vw, 68px) !important; }
.clinic-roveia-inner.r-policy .prose-legal :is(h2,h3) { font-size: 27px !important; line-height: 1.2 !important; }

@media (max-width: 1100px) {
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) > div { padding-inline: 18px !important; gap: 12px; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) img { width: 150px !important; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) .gap-7 { gap: 12px; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) .nav-link { font-size: 12px !important; }
}
@media (max-width: 760px) {
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) { width: calc(100% - 20px); margin: 10px auto 18px; top: 8px; border-radius: 35px; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) > div { padding: 10px 14px !important; min-height: 64px; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) img { width: 146px !important; }
  .clinic-roveia-inner .refresh-menu { border-radius: 25px; min-height: 44px; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) .btn { padding: 10px 12px !important; font-size: 12px !important; }
  .clinic-roveia-inner > header.bg-white { width: calc(100% - 20px); border-radius: 20px; margin-bottom: 24px; padding-block: 34px !important; }
  .clinic-roveia-inner :is(h1, .hero-mega) { font-size: clamp(36px, 9.5vw, 60px) !important; max-width: none; }
  .clinic-roveia-inner :is(h2, .sec-title) { font-size: clamp(29px, 7.8vw, 42px) !important; }
  .clinic-roveia-inner .service-document-opening { grid-template-columns: minmax(0, 1fr); margin: 0 10px 35px; border-radius: 20px; }
  .clinic-roveia-inner .service-photo img { height: 310px; }
  .clinic-roveia-inner .service-reading { padding: 24px; }
  .clinic-roveia-inner .service-text-opening { padding: 18px 14px 28px; }
  .clinic-roveia-inner .service-photo-small .service-photo img { height: 360px; }
  .clinic-roveia-inner .r-inner-photo { margin-inline: 24px; margin-bottom: 32px; }
  .clinic-roveia-inner .r-inner-photo img { height: 270px; border-radius: 16px; object-position: 57% 20%; }
  .clinic-roveia-inner > header:not(.bg-white) { top: 8px; width: calc(100% - 20px); margin-top: 10px; border-radius: 35px; }
  .clinic-roveia-inner .service-reading a { font-size: 16px; }
  .clinic-roveia-inner .service-related { padding: 30px 24px; }
  .clinic-roveia-inner.r-policy :is(h1, .hero-mega) { font-size: 37px !important; }
}
@media (max-width: 360px) {
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) img { width: 120px !important; }
  .clinic-roveia-inner :is(nav.glass, nav.brand-nav) > div { gap: 8px; padding-inline: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .clinic-roveia-inner * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
