:root {
  --clinic-blue: #087eaa;
  --clinic-blue-dark: #075b7b;
  --clinic-ink: #18364a;
  --clinic-muted: #607487;
  --clinic-pale: #eef7fa;
  --clinic-line: #dce8ed;
  --clinic-white: #fff;
  --clinic-shadow: 0 14px 36px rgba(24, 54, 74, .09);
}

html {
  scroll-behavior: smooth;
}

body {
  height: auto;
  color: var(--clinic-ink);
  background: var(--clinic-white);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.75;
}

body, button, input, select, textarea {
  font-family: "Open Sans", Arial, sans-serif;
}

p {
  color: var(--clinic-muted);
  text-align: left;
  line-height: 1.8;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--clinic-ink);
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
  line-height: 1.3;
}

a {
  color: var(--clinic-blue);
}

a:hover, a:focus {
  color: var(--clinic-blue-dark);
}

a:focus-visible, button:focus-visible {
  outline: 3px solid #f0b429;
  outline-offset: 3px;
}

.container {
  width: 100%;
  max-width: 1240px;
  padding-right: 24px;
  padding-left: 24px;
}

section[id] {
  scroll-margin-top: 92px;
}

.header {
  top: 0;
  padding: 0;
  background: rgba(255, 255, 255, .98);
  border-top: 4px solid var(--clinic-blue);
  box-shadow: 0 5px 24px rgba(24, 54, 74, .1) !important;
}

.header .navbar {
  min-height: 78px;
  display: flex;
  align-items: center;
}

.header .navbar-header {
  flex: 0 0 auto;
}

.header .navbar-brand {
  height: auto;
  padding: 10px 16px 10px 0;
  margin: 0;
  display: flex;
  align-items: center;
}

.navbar-brand img {
  display: block;
  width: auto;
  max-width: 172px;
  max-height: 60px;
  margin: 0;
}

.header #main-nav {
  flex: 1 1 auto;
  min-width: 0;
}

.header .navbar-nav {
  float: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  margin: 0;
}

.navbar-inverse .navbar-nav > li > a {
  color: var(--clinic-ink);
  margin: 0;
  padding: 10px 9px !important;
  border-radius: 7px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: var(--clinic-blue-dark);
  background: var(--clinic-pale);
}

.header .navbar-nav > li {
  position: relative;
}

.header .navbar-nav > li.dropdown > .dropdown-toggle .caret {
  margin-left: 4px;
}

.header .navbar-inverse .navbar-nav > li.dropdown > .dropdown-toggle:hover,
.header .navbar-inverse .navbar-nav > li.dropdown > .dropdown-toggle:focus,
.header .navbar-inverse .navbar-nav > li.dropdown.open > .dropdown-toggle,
.header .navbar-inverse .navbar-nav > li.dropdown.active-section > .dropdown-toggle {
  color: var(--clinic-blue-dark);
  background: var(--clinic-pale);
}

.header .navbar-nav > li > .dropdown-menu {
  min-width: 220px;
  margin-top: 8px;
  padding: 7px;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 10px;
  box-shadow: var(--clinic-shadow);
}

.header .navbar-nav > li > .dropdown-menu > li > a {
  padding: 10px 12px;
  color: var(--clinic-ink);
  border-radius: 6px;
  font-size: 13px;
}

.header .navbar-nav > li > .dropdown-menu > li > a:hover,
.header .navbar-nav > li > .dropdown-menu > li > a:focus,
.header .navbar-nav > li > .dropdown-menu > li.active > a {
  color: var(--clinic-blue-dark);
  background: var(--clinic-pale);
}

.header .navbar-nav > li.nav-appointment > a {
  padding-right: 16px !important;
  padding-left: 16px !important;
  color: var(--clinic-white);
  background: var(--clinic-blue);
  border-radius: 7px;
}

.header .navbar-inverse .navbar-nav > li.nav-appointment > a:hover,
.header .navbar-inverse .navbar-nav > li.nav-appointment > a:focus {
  color: var(--clinic-white);
  background: var(--clinic-blue-dark);
}

.header .navbar-toggle,
.navbar-inverse .navbar-toggle,
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background: var(--clinic-blue);
  border: 0;
  border-radius: 8px;
}

#home {
  margin: 78px 0 0;
}

.banner-container,
#main-slider,
#main-slider .slides,
#main-slider .slides > li {
  height: min(650px, 68vw);
  min-height: 440px;
}

#main-slider {
  margin: 0;
  overflow: hidden;
  background: var(--clinic-blue-dark);
  border: 0;
}

#main-slider .slides > li {
  position: relative;
  overflow: hidden;
}

#main-slider .slides > li::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(7, 38, 56, .78), rgba(7, 38, 56, .42) 52%, rgba(7, 38, 56, .08));
  pointer-events: none;
}

#main-slider .slides > li > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.flex-caption {
  z-index: 2;
  top: 50%;
  bottom: auto;
  left: 50%;
  width: 100%;
  max-width: 1240px;
  padding: 28px 24px;
  color: var(--clinic-white);
  background: transparent;
  transform: translate(-50%, -50%);
}

.flex-caption h3 {
  max-width: 760px;
  margin: 0 0 18px;
  color: var(--clinic-white);
  font-size: clamp(36px, 5.4vw, 68px);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.08;
  text-transform: none;
}

.flex-caption p {
  max-width: 660px;
  margin: 0 0 24px !important;
  color: rgba(255, 255, 255, .93);
  font-size: clamp(16px, 1.8vw, 20px) !important;
}

.flex-caption .btn {
  padding: 13px 24px;
  color: var(--clinic-white);
  background: var(--clinic-blue) !important;
  border: 1px solid var(--clinic-blue);
  border-radius: 7px !important;
  font-weight: 700;
}

.flex-caption .btn:hover,
.flex-caption .btn:focus {
  color: var(--clinic-white) !important;
  background: var(--clinic-blue-dark) !important;
}

.flex-control-nav {
  z-index: 3;
  bottom: 18px;
}

.flex-control-paging li a {
  background: rgba(255, 255, 255, .55);
}

.flex-control-paging li a.flex-active {
  background: var(--clinic-white);
}

.page-section,
#aboutUs,
#eeg,
#contactUs {
  padding: 84px 0;
}

.heading {
  max-width: 850px;
  margin: 0 auto 40px;
}

.heading h2,
.page-section h2 {
  margin: 0 0 14px;
  color: var(--clinic-ink);
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: -.035em;
}

.heading p {
  margin-bottom: 0 !important;
  font-size: 16px;
}

.hero-text2 {
  max-width: 930px;
  margin: 0 auto;
  padding: 4px 0 20px;
}

.hero-text2 h3 {
  margin: 0;
  color: var(--clinic-ink) !important;
  font-size: clamp(21px, 2.5vw, 30px);
  line-height: 1.5;
}

.btn-acceso-rapido {
  min-height: 94px;
  margin: 10px 0;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--clinic-ink);
  text-align: left;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 12px;
  box-shadow: 0 5px 18px rgba(24, 54, 74, .04);
}

.btn-acceso-rapido i {
  flex: 0 0 42px;
  color: var(--clinic-blue);
  text-align: center;
}

.btn-acceso-rapido span {
  font-weight: 700;
}

.btn-acceso-rapido:hover,
.btn-acceso-rapido:focus {
  color: var(--clinic-blue-dark) !important;
  border-color: #9acbdc;
  box-shadow: var(--clinic-shadow);
  transform: translateY(-2px);
}

#services {
  background: var(--clinic-pale);
}

#services .b1 {
  height: calc(100% - 22px);
  min-height: 290px;
  margin: 11px 0;
  padding: 30px 26px;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-bottom: 0;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(24, 54, 74, .05);
  transition: transform .2s ease, box-shadow .2s ease;
}

#services .b1:hover {
  box-shadow: var(--clinic-shadow);
  transform: translateY(-4px);
}

#services .circle {
  width: 112px;
  height: 112px;
  margin-bottom: 20px;
  overflow: hidden;
  background: var(--clinic-pale);
  border-radius: 50%;
}

#services .circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#services .b1 h3 {
  margin: 0 0 12px;
  font-size: 20px;
}

#services .b1 p {
  margin-bottom: 0 !important;
}

.seccion-guias {
  background: var(--clinic-white);
}

.prep-card-visual {
  height: calc(100% - 20px);
  margin: 10px 0;
  padding: 20px;
  text-align: center;
  background: #fbfdfe;
  border: 1px solid var(--clinic-line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(24, 54, 74, .05);
}

.prep-card-visual h3 {
  min-height: 52px;
  font-size: 18px;
}

.mini-guia-container {
  position: relative;
  height: 245px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--clinic-pale);
  border-radius: 9px;
}

.mini-guia-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.mini-guia-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--clinic-white);
  background: rgba(7, 91, 123, .55);
  opacity: 0;
  transition: opacity .2s ease;
}

.mini-guia-container:hover .mini-guia-overlay,
.mini-guia-container:focus .mini-guia-overlay {
  opacity: 1;
}

.btn-abrir-guia,
.btn-recurso {
  display: inline-block;
  padding: 10px 16px;
  color: var(--clinic-white);
  background: var(--clinic-blue);
  border-radius: 7px;
  font-weight: 700;
}

.btn-abrir-guia:hover,
.btn-abrir-guia:focus,
.btn-recurso:hover,
.btn-recurso:focus {
  color: var(--clinic-white) !important;
  background: var(--clinic-blue-dark);
}

#aboutUs {
  background: var(--clinic-pale);
}

#aboutUs .feature.design {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 38px;
  align-items: center;
  margin: 0;
}

#aboutUs .feature.design > .area1,
#aboutUs .feature.design > .area2 {
  float: none;
  width: auto;
  margin: 0;
}

#aboutUs .area1 h3 {
  color: var(--clinic-ink);
  font-size: 24px;
}

#aboutUs .area2 img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

#aboutUs > .container > .container {
  width: 100%;
  padding: 48px 0 0;
}

#aboutUs > .container > .container .heading {
  max-width: 940px;
}

#aboutUs > .container > .container .heading h2:not(:first-child) {
  margin-top: 32px;
}

#aboutUs .flat {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
}

#aboutUs .flat > [class*="col-"] {
  float: none;
  width: 25%;
  padding: 10px;
}

.flat .plan {
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(24, 54, 74, .05);
}

.flat .plan li.plan-name {
  min-height: 68px;
  padding: 18px 12px;
  color: var(--clinic-ink);
  background: var(--clinic-white);
  font-size: 16px;
  font-weight: 700;
}

.flat .plan li.plan-action {
  padding: 14px;
  background: var(--clinic-white);
}

.flat .plan .btn {
  padding: 10px 22px;
  background: var(--clinic-blue);
  border-radius: 7px !important;
  font-size: 14px;
}

.flat .plan .btn:hover,
.flat .plan .btn:focus {
  background: var(--clinic-blue-dark);
}

#aboutUs > .container > .container > .heading {
  margin-top: 52px;
}

#aboutUs .portfolio,
#work .portfolio,
#paciente-boletines .portfolio,
#salud-mental .portfolio {
  overflow: visible;
}

.portfolio .items {
  height: auto !important;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  overflow: visible;
}

.portfolio .items li {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0;
  transform: none !important;
}

.portfolio .items li a {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--clinic-pale);
  border-radius: 12px;
}

.portfolio .items li a img {
  width: 100%;
  height: 220px;
  display: block;
  object-fit: cover;
  transition: transform .3s ease;
}

.portfolio .items li a .overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 91, 123, .78);
  opacity: 0;
  transition: opacity .2s ease;
}

.portfolio .items li a:hover .overlay,
.portfolio .items li a:focus .overlay {
  opacity: 1;
}

.portfolio .items li a:hover img {
  transform: scale(1.04);
}

#paciente-educacion,
#paciente-boletines {
  background: #fbfdfe;
}

.recurso-educativo {
  height: calc(100% - 20px);
  margin: 10px 0;
  overflow: hidden;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(24, 54, 74, .05);
}

.recurso-img-container {
  height: 180px;
  display: grid;
  place-items: center;
  padding: 16px;
  background: var(--clinic-pale);
}

.recurso-img-container img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.recurso-body {
  min-height: 116px;
  padding: 16px;
}

.recurso-body h4 {
  min-height: 42px;
  font-size: 16px;
}

#salud-mental {
  background: var(--clinic-pale);
}

#plans {
  background: #fbfdfe;
}

.financial-archive {
  max-width: 900px;
  margin: 0 auto;
}

.financial-group-title {
  margin: 0 0 12px;
  color: var(--clinic-ink);
  font-size: 18px;
}

.financial-list {
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 12px;
}

.financial-list li {
  min-height: 54px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--clinic-line);
}

.financial-list li:last-child {
  border-bottom: 0;
}

.financial-list li > span {
  color: var(--clinic-ink);
  font-weight: 700;
}

.financial-list a {
  flex: 0 0 auto;
  padding: 7px 12px;
  color: var(--clinic-blue-dark);
  background: var(--clinic-pale);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
}

.financial-list a:hover,
.financial-list a:focus {
  color: var(--clinic-white) !important;
  background: var(--clinic-blue);
}

.financial-list a i {
  margin-left: 4px;
}

.financial-history {
  margin-top: 16px;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 12px;
}

.financial-history summary {
  padding: 16px 18px;
  color: var(--clinic-ink);
  cursor: pointer;
  font-weight: 700;
  list-style-position: inside;
}

.financial-history summary:hover,
.financial-history summary:focus {
  color: var(--clinic-blue-dark);
  background: var(--clinic-pale);
  border-radius: 12px;
}

.financial-history[open] summary {
  border-bottom: 1px solid var(--clinic-line);
  border-radius: 12px 12px 0 0;
}

.financial-history .financial-list {
  border: 0;
  border-radius: 0 0 12px 12px;
}

#team {
  background: var(--clinic-pale);
}

#team .team-content > .row {
  display: flex;
  flex-wrap: wrap;
}

#team .team-content > .row > [class*="col-"] {
  float: none;
}

.team-member {
  height: calc(100% - 20px);
  margin: 10px 0;
  padding: 22px;
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(24, 54, 74, .05);
}

.team-member .member-img {
  height: 220px;
  margin: -22px -22px 20px;
  overflow: hidden;
  background: #e7f0f3;
  border-radius: 14px 14px 0 0;
}

.team-member .member-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-member h4 {
  margin: 0 0 7px;
  color: var(--clinic-ink);
  font-size: 19px;
}

.team-member .pos {
  color: var(--clinic-blue);
  font-weight: 700;
}

.team-member ul {
  padding-left: 18px;
  color: var(--clinic-muted);
  font-size: 13px;
  line-height: 1.65;
}

#eeg {
  background: var(--clinic-white);
}

#eeg .flat {
  max-width: 360px;
  margin: 0 auto;
}

#contactUs {
  position: relative;
  background: linear-gradient(135deg, #075b7b, #087eaa);
}

#contactUs .parlex-back {
  background: transparent;
}

#contactUs .heading h2,
#contactUs .heading p {
  color: var(--clinic-white);
}

#contactUs .heading p {
  max-width: 760px;
  margin: 10px auto !important;
}

#contactUs .row.flat {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#contactUs .row.flat > [class*="col-"] {
  float: none;
  width: 33.333%;
}

#contactUs .flat .plan,
#contactUs .flat .plan li.plan-name,
#contactUs .flat .plan li.plan-action {
  background: var(--clinic-white);
}

#contactUs .flat .plan li.plan-name {
  color: var(--clinic-ink);
}

#contactUs .flat .plan .btn {
  color: var(--clinic-white);
}

footer {
  padding: 58px 0 38px;
  color: rgba(255, 255, 255, .78);
  background: #12394f;
}

footer h4 {
  margin: 0 0 18px;
  color: var(--clinic-white);
  font-size: 18px;
}

footer .col ul {
  padding: 0;
}

footer .col ul li,
footer .col p {
  color: rgba(255, 255, 255, .74);
  line-height: 1.8;
}

footer .col a,
footer .col-social-icons i {
  color: #a9dceb;
}

footer .col a:hover,
footer .col-social-icons i:hover {
  color: var(--clinic-white) !important;
}

.copyright {
  padding: 18px 0;
  color: rgba(255, 255, 255, .68);
  background: #0d2d40;
  border: 0;
}

.copyright a {
  color: #a9dceb;
}

.topHome {
  right: 20px;
  bottom: 20px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: var(--clinic-white);
  background: var(--clinic-blue);
  border-radius: 50%;
  box-shadow: 0 5px 16px rgba(24, 54, 74, .24);
}

.topHome:hover,
.topHome:focus {
  color: var(--clinic-white) !important;
  background: var(--clinic-blue-dark);
}

@media (min-width: 1200px) {
  #team .team-content > .row > [class*="col-"] {
    width: 33.333%;
  }
}

@media (max-width: 1199px) {
  .header .navbar {
    display: block;
    min-height: 0;
  }

  .header .navbar-header {
    float: none;
    min-height: 72px;
  }

  .header .navbar-brand {
    height: 72px;
  }

  .navbar-brand img {
    max-height: 54px;
  }

  .header .navbar-toggle {
    display: block;
    margin: 17px 0;
  }

  .header .navbar-collapse.collapse:not(.in) {
    display: none !important;
  }

  .header .navbar-collapse.collapse.in {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .header #main-nav {
    width: 100%;
    padding: 0 0 12px;
    border-top: 1px solid var(--clinic-line);
    box-shadow: none;
  }

  .header .navbar-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
    gap: 4px;
    padding-top: 10px;
  }

  .navbar-inverse .navbar-nav > li > a {
    margin: 0;
    padding: 10px 12px !important;
    font-size: 13px;
  }

  .header .navbar-nav > li > .dropdown-menu {
    margin-top: 0;
    padding: 4px 8px 8px;
    background: #f8fbfc;
    border: 0;
    border-radius: 0 0 8px 8px;
    box-shadow: none;
  }

  .header .navbar-nav > li > .dropdown-menu > li > a {
    padding: 9px 12px;
    white-space: normal;
  }

  .header .navbar-nav > li.nav-appointment > a {
    padding-right: 12px !important;
    padding-left: 12px !important;
    text-align: center;
  }
}

@media (max-width: 991px) {
  .container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .page-section,
  #aboutUs,
  #eeg,
  #contactUs {
    padding: 68px 0;
  }

  #services .b1 {
    min-height: 0;
  }

  .portfolio .items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #aboutUs .flat > [class*="col-"] {
    width: 33.333%;
  }

  #team .team-content > .row > [class*="col-"] {
    width: 50%;
  }
}

@media (max-width: 767px) {
  .container {
    padding-right: 18px;
    padding-left: 18px;
  }

  section[id] {
    scroll-margin-top: 76px;
  }

  #home {
    margin-top: 72px;
  }

  .banner-container,
  #main-slider,
  #main-slider .slides,
  #main-slider .slides > li {
    height: 480px;
    min-height: 0;
  }

  .flex-caption {
    padding: 22px 18px;
  }

  .flex-caption h3 {
    font-size: clamp(36px, 10vw, 52px);
  }

  .flex-caption p {
    font-size: 16px !important;
  }

  .page-section,
  #aboutUs,
  #eeg,
  #contactUs {
    padding: 58px 0;
  }

  .heading {
    margin-bottom: 30px;
  }

  .heading p {
    font-size: 15px;
  }

  .btn-acceso-rapido {
    min-height: 80px;
  }

  #aboutUs .feature.design {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  #aboutUs .area2 {
    order: -1;
  }

  #aboutUs .area2 img {
    max-height: 240px;
    object-fit: contain;
  }

  .portfolio .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .portfolio .items li a img {
    height: 190px;
  }

  #aboutUs .flat > [class*="col-"] {
    width: 50%;
  }

  #team .team-content > .row > [class*="col-"] {
    width: 50%;
  }

  #contactUs .row.flat > [class*="col-"] {
    width: 50%;
  }

  footer {
    padding: 44px 0 24px;
  }

  footer .col {
    margin-bottom: 28px;
  }
}

@media (max-width: 480px) {
  .header .navbar-header {
    min-height: 66px;
  }

  .header .navbar-brand {
    height: 66px;
  }

  .navbar-brand img {
    max-width: 148px;
    max-height: 48px;
  }

  .header .navbar-toggle {
    margin: 14px 0;
  }

  .header .navbar-nav {
    grid-template-columns: 1fr;
  }

  .header .navbar-collapse {
    max-height: calc(100vh - 72px);
    overflow-x: hidden;
    overflow-y: auto;
  }

  .banner-container,
  #main-slider,
  #main-slider .slides,
  #main-slider .slides > li {
    height: 420px;
  }

  .hero-text2 {
    padding-bottom: 12px;
  }

  .portfolio .items {
    grid-template-columns: 1fr;
  }

  .portfolio .items li a img {
    height: auto;
    max-height: 280px;
  }

  #aboutUs .flat > [class*="col-"] {
    width: 100%;
  }

  #team .team-content > .row > [class*="col-"] {
    width: 100%;
  }

  #contactUs .row.flat > [class*="col-"] {
    width: 100%;
  }

  .team-member {
    padding: 18px;
  }

  .team-member .member-img {
    height: 240px;
    margin: -18px -18px 18px;
  }

  .financial-list li {
    padding: 10px 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.appointment-page,
.privacy-page {
  min-height: 100vh;
  background: var(--clinic-pale);
  margin: 0;
}

.appointment-page *,
.privacy-page * {
  box-sizing: border-box;
}

.appointment-page #contactUs {
  background: var(--clinic-pale);
}

.appointment-shortcuts {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0 30px !important;
}

.appointment-shortcuts a {
  padding: 10px 16px;
  color: var(--clinic-blue-dark);
  background: var(--clinic-white);
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 7px;
  font-weight: 700;
}

.appointment-shortcuts a:hover,
.appointment-shortcuts a:focus {
  color: var(--clinic-blue-dark) !important;
  background: var(--clinic-pale);
}

.appointment-header {
  min-height: 76px;
  padding: 10px max(20px, calc((100vw - 1080px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--clinic-white);
  box-shadow: 0 4px 18px rgba(24, 54, 74, .08);
}

.appointment-header img {
  display: block;
  width: auto;
  max-width: 165px;
  max-height: 56px;
}

.appointment-header > a:last-child {
  font-weight: 700;
}

.appointment-main {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 42px 22px 64px;
}

.appointment-card {
  padding: clamp(24px, 5vw, 48px);
  background: var(--clinic-white);
  border: 1px solid var(--clinic-line);
  border-radius: 16px;
  box-shadow: var(--clinic-shadow);
}

.appointment-card h1,
.privacy-card h1 {
  margin: 0 0 10px;
  font-size: clamp(30px, 5vw, 40px);
  letter-spacing: -.035em;
}

.appointment-card > p,
.privacy-card p,
.privacy-card li {
  color: var(--clinic-muted);
}

.appointment-eyebrow {
  margin: 0 0 8px !important;
  color: var(--clinic-blue) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .09em;
  text-align: left;
  text-transform: uppercase;
}

.appointment-contact {
  margin: 24px 0;
  padding: 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  background: var(--clinic-pale);
  border-radius: 10px;
}

.appointment-contact p {
  width: 100%;
  margin: 0 !important;
}

.appointment-contact a {
  padding: 9px 13px;
  color: var(--clinic-white);
  background: var(--clinic-blue);
  border-radius: 7px;
  font-size: 14px;
  font-weight: 700;
}

.appointment-contact a:hover,
.appointment-contact a:focus {
  color: var(--clinic-white) !important;
  background: var(--clinic-blue-dark);
}

.appointment-contact span {
  color: var(--clinic-muted);
  font-size: 13px;
}

.appointment-form {
  display: grid;
  gap: 18px;
}

.appointment-field label {
  display: block;
  margin-bottom: 6px;
  color: var(--clinic-ink);
  font-size: 14px;
  font-weight: 700;
}

.appointment-field label span {
  color: var(--clinic-muted);
  font-weight: 400;
}

.appointment-field input,
.appointment-field textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--clinic-ink);
  background: #fff;
  border: 1px solid #bdcdd5;
  border-radius: 7px;
  font-size: 16px;
}

.appointment-field textarea {
  min-height: 112px;
  resize: vertical;
}

.appointment-field input:focus,
.appointment-field textarea:focus {
  border-color: var(--clinic-blue);
  outline: 3px solid rgba(8, 126, 170, .16);
}

.appointment-privacy-note {
  margin: 0 !important;
  padding: 13px 15px;
  color: #465c69;
  background: #f4f7f8;
  border-left: 4px solid var(--clinic-blue);
  font-size: 14px;
}

.appointment-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--clinic-ink);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

.appointment-consent input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: var(--clinic-blue);
}

.appointment-submit {
  min-height: 48px;
  padding: 12px 20px;
  color: var(--clinic-white);
  background: var(--clinic-blue);
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
}

.appointment-submit:hover,
.appointment-submit:focus {
  background: var(--clinic-blue-dark);
}

.appointment-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.privacy-card h2 {
  margin: 28px 0 8px;
  font-size: 21px;
}

.privacy-card ul {
  padding-left: 22px;
}

.privacy-draft-note {
  margin-top: 26px;
  padding: 16px 18px;
  color: #634b12;
  background: #fff7dd;
  border: 1px solid #edd98f;
  border-radius: 9px;
  font-size: 14px;
}

@media (max-width: 480px) {
  .appointment-header {
    min-height: 66px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .appointment-header img {
    max-width: 140px;
    max-height: 46px;
  }

  .appointment-main {
    padding: 22px 14px 40px;
  }

  .appointment-contact {
    align-items: stretch;
    flex-direction: column;
  }

  .appointment-contact a {
    text-align: center;
  }

  .appointment-shortcuts {
    align-items: stretch;
    flex-direction: column;
  }
}
