﻿/* GRA content layer inside the Tutum Medicus / Medicio framework. */
:root {
  --gra-navy: #0a486f;
  --gra-orange: #ec6603;
  --gra-gold: #ec6603;
  --gra-ink: #1f2d3d;
  --gra-soft: #f4f7fb;
}
.header .logo img:first-child { max-height: 58px; }
.header .logo .sitename { color: var(--heading-color); font-size: 25px; font-weight: 700; margin-left: 10px; }
.gra-page .section, .gra-page section { scroll-margin-top: 96px; }
.gra-page h1, .gra-page h2, .gra-page h3, .gra-page h4 { color: var(--heading-color); }
.gra-page .eyebrow, .gra-page .leader-label { color: var(--accent-color); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
.gra-page .button, .gra-page .campus-link, .gra-page button[type="submit"], .gra-page .leader-profile-button, .gra-page .form-modal-trigger, .gra-page .back-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 4px; padding: 11px 18px; font-weight: 700; transition: .2s; text-decoration: none; cursor: pointer;
}
.gra-page .button.primary, .gra-page button[type="submit"], .gra-page .form-modal-trigger { background: var(--accent-color); color: var(--contrast-color); }
.gra-page .button.secondary, .gra-page .free-course-link, .gra-page .back-link { background: color-mix(in srgb, var(--accent-color), transparent 88%); color: var(--accent-color); }
.gra-page .button.outline-light { border: 1px solid rgba(255,255,255,.75); color: #fff; }
.gra-page .gra-hero { min-height: 660px; display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,520px); align-items: center; gap: 44px; padding: 120px max(24px, calc((100vw - 1140px)/2)) 76px; background: var(--gra-navy); color: #fff; }
.gra-page .gra-hero h1 { color: #fff; font-size: clamp(2.5rem, 5vw, 5.5rem); line-height: .95; margin-bottom: 18px; }
.gra-page .gra-hero h1 span { color: var(--gra-gold); }
.gra-page .gra-hero p { color: rgba(255,255,255,.88); font-size: 1.18rem; max-width: 680px; }
.hero-proof-row, .hero-actions, .learning-mode-row, .stats-row, .why-list, .free-items { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof-row span, .learning-mode-row span, .stats-row span, .why-list span, .free-items span { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 6px; padding: 10px 13px; }
.gra-page .hero-visual { position: relative; }
.gra-page .hero-visual img, .gra-page .platform img, .course-hero-image img, .leader-photo img, .testmaster-photo img, .passeasy-brand img { width: 100%; height: auto; border-radius: 8px; object-fit: cover; }
.pass-rate-card { position: absolute; right: 18px; bottom: 18px; width: 170px; background: #fff; color: var(--gra-ink); border-radius: 8px; padding: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.2); }
.pass-rate-card strong { display: block; color: var(--accent-color); font-size: 2.6rem; line-height: 1; }
.free-strip, .courses, .curriculum, .platform, .team, .why, .passers, .contact, .course-hero, .course-overview, .course-package, .testmasters { padding: 70px max(24px, calc((100vw - 1140px)/2)); }
.free-strip { display: grid; grid-template-columns: 1.2fr 1.6fr auto; gap: 22px; align-items: center; background: var(--gra-soft); }
.free-strip h1, .section-head h1, .team-head h1, .curriculum h1, .platform h1, .course-overview h1, .course-package h1, .testmasters h1, .contact h1 { font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.05; }
.course-grid, .package-grid, .team-grid, .testimonial-grid, .testmaster-grid, .process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; }
.course-card, .program-package-card, .package-grid article, .leader-card, .testimonial, .testmaster-card, .process-grid > div, .form-panel, .info-item-lite { background: #fff; border: 1px solid color-mix(in srgb, var(--default-color), transparent 88%); border-radius: 8px; padding: 24px; box-shadow: 0 10px 34px rgba(22,50,79,.07); }
.course-card { min-height: 220px; display: flex; flex-direction: column; align-items: flex-start; }
.course-card .course-icon { width: 52px; height: 52px; display: inline-grid; place-items: center; border-radius: 6px; background: color-mix(in srgb, var(--accent-color), transparent 88%); color: var(--accent-color); font-size: 1.3rem; margin-bottom: 14px; }
.course-card a:last-child { margin-top: 8px; }
.curriculum, .section-grid, .platform, .contact, .course-hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 34px; align-items: center; }
.feature-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.feature-list li { border-left: 4px solid var(--accent-color); padding: 10px 0 10px 18px; }
.platform { background: var(--gra-navy); color: #fff; }
.platform h1, .platform h3 { color: #fff; }
.platform p, .platform li { color: rgba(255,255,255,.86); }
.team-grid { margin-top: 28px; }
.leader-card { display: grid; grid-template-columns: 170px 1fr; gap: 20px; }
.leader-photo img { aspect-ratio: 1; }
.credential-list { padding-left: 18px; }
.why { background: var(--gra-soft); }
.why-list span { background: #fff; color: var(--gra-ink); border-color: rgba(22,50,79,.08); }
.contact .form-panel { align-self: stretch; }
.gra-page input, .gra-page select, .gra-page textarea { width: 100%; border: 1px solid color-mix(in srgb, var(--default-color), transparent 78%); border-radius: 4px; padding: 10px 12px; margin-top: 6px; }
.gra-page label { display: block; margin-bottom: 12px; font-weight: 600; }
.form-actions-panel { display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.form-modal, .leader-modal { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 24px; }
.form-modal.is-open, .leader-modal.is-open { display: flex; }
.form-modal-backdrop, .leader-modal-backdrop { position: absolute; inset: 0; background: rgba(14,29,44,.62); }
.form-modal-card, .leader-modal-card { position: relative; z-index: 1; width: min(680px, 96vw); max-height: 90vh; overflow: auto; background: #fff; border-radius: 8px; padding: 28px; }
.leader-modal-card { display: grid; grid-template-columns: 220px 1fr; gap: 24px; width: min(900px, 96vw); }
.form-modal-close, .leader-modal-close { position: absolute; top: 10px; right: 12px; background: transparent; border: 0; font-size: 2rem; line-height: 1; }
.testimonial-dots { display: flex; gap: 8px; justify-content: center; margin-top: 18px; }
.testimonial-dot { width: 10px; height: 10px; border-radius: 50%; border: 0; background: #c8d3dc; padding: 0; }
.testimonial-dot.is-active { background: var(--accent-color); }
.course-hero { min-height: 440px; padding-top: 120px; background: var(--gra-soft); }
.course-logo-panel { background: #fff; border-radius: 8px; padding: 28px; box-shadow: 0 20px 50px rgba(22,50,79,.08); }
.single-form { max-width: 560px; }
.footer .footer-links a { cursor: pointer; }
@media (max-width: 991px) { .gra-page .hero, .free-strip, .curriculum, .section-grid, .platform, .contact, .course-hero { grid-template-columns: 1fr; } .leader-card, .leader-modal-card { grid-template-columns: 1fr; } .free-strip { align-items: start; } }
@media (max-width: 575px) { .gra-page .gra-hero { padding-top: 86px; min-height: 560px; } .free-strip, .courses, .curriculum, .platform, .team, .why, .passers, .contact, .course-hero, .course-overview, .course-package, .testmasters { padding-left: 18px; padding-right: 18px; } .hero-actions .button { width: 100%; } }


/* Medicio-compatible GRA form styling. */
.appointment .gra-medicio-form {
  width: 100%;
}
.appointment .gra-medicio-form .form-group {
  padding-bottom: 8px;
}
.appointment .gra-medicio-form input,
.appointment .gra-medicio-form textarea,
.appointment .gra-medicio-form select {
  color: var(--default-color);
  background-color: var(--surface-color);
  border-color: color-mix(in srgb, var(--default-color), transparent 80%);
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
}
.appointment .gra-medicio-form input:focus,
.appointment .gra-medicio-form textarea:focus,
.appointment .gra-medicio-form select:focus {
  border-color: var(--accent-color);
}
.appointment .gra-medicio-form input,
.appointment .gra-medicio-form select {
  height: 44px;
}
.appointment .gra-medicio-form textarea {
  padding: 10px 12px;
}
.appointment .gra-medicio-form button[type=submit] {
  background: var(--accent-color);
  border: 0;
  padding: 10px 35px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}
.appointment .gra-medicio-form button[type=submit]:hover {
  background: color-mix(in srgb, var(--accent-color) 90%, white 15%);
}
.doctors .team-member .member-img img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
}


/* Strict GRA color roles: navy is primary, orange is action/accent only. */
.header .topbar {
  background-color: var(--gra-navy);
}
.featured-services .service-item:before,
.featured-services .service-item:hover:before {
  background: var(--gra-navy);
}
.featured-services .service-item .icon i,
.services .service-item .icon,
.features .icon-box i,
.contact .info-item i {
  color: var(--gra-navy);
}
.features .icon-box:hover i,
.doctors .team-member .social a:hover {
  background-color: var(--gra-navy);
  color: #fff;
}
.call-to-action .cta-btn,
.header .cta-btn,
.hero .btn-get-started,
.appointment .gra-medicio-form button[type=submit] {
  background: var(--accent-color);
  border-color: var(--accent-color);
  color: #fff;
}
.call-to-action .cta-btn:hover,
.header .cta-btn:hover,
.hero .btn-get-started:hover,
.appointment .gra-medicio-form button[type=submit]:hover {
  background: #c95602;
  border-color: #c95602;
  color: #fff;
}
.section-title h2:after,
.about h3:after,
.features h3:after,
.services .service-item:after {
  background: var(--accent-color);
}

/* Logo-only navy navigation. */
.header .branding {
  background-color: var(--gra-navy);
}
.header .logo img:first-child {
  max-height: 68px;
  margin-right: 0;
}
.header .logo .sitename {
  display: none;
}
@media (min-width: 1200px) {
  .navmenu a,
  .navmenu a:focus {
    color: #ffffff;
  }
  .navmenu li:hover > a,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--accent-color);
  }
}
.mobile-nav-toggle {
  color: #ffffff;
}
.footer .footer-about .logo img {
  max-height: 56px;
}


/* Orange rule under phone strip. */
.header .topbar {
  border-bottom: 3px solid var(--accent-color);
}


/* PassEasy carousel split layout. Desktop splits into two columns; mobile keeps Medicio's stacked hero behavior. */
.hero .passeasy-hero-container {
  text-align: left;
}
.hero .passeasy-hero-container .row {
  min-height: 0;
}
.hero .passeasy-hero-logo {
  position: static;
  inset: auto;
  width: min(260px, 70%);
  max-height: 150px;
  object-fit: contain;
  border-radius: 0;
  background: #fff;
  padding: 12px;
}
@media (max-width: 991px) {
  .hero .passeasy-hero-container {
    text-align: center;
  }
  .hero .passeasy-hero-logo {
    width: min(210px, 72%);
    max-height: 110px;
    margin-top: 4px;
  }
}
@media (max-width: 580px), (max-height: 500px) {
  .hero .passeasy-hero-logo {
    display: none;
  }
}

/* Review smart carousel split layout. Mirrors the desktop split and mobile-safe behavior. */
.hero .review-hero-container {
  text-align: left;
}
.hero .review-hero-container .row {
  min-height: 0;
}
.hero .hero-title-navy {
  color: var(--gra-navy);
}
.hero .hero-title-orange {
  color: var(--accent-color);
}
.hero .hero-pass-rate-card {
  width: min(260px, 76%);
  background: var(--gra-navy);
  color: #fff;
  border-top: 4px solid var(--accent-color);
  padding: 22px 20px;
  text-align: center;
}
.hero .hero-pass-rate-card strong {
  display: block;
  color: var(--accent-color);
  font-size: 4rem;
  line-height: 1;
  font-weight: 800;
}
.hero .hero-pass-rate-card span {
  display: block;
  color: #fff;
  font-weight: 700;
  margin-top: 6px;
}
.hero .hero-pass-rate-card p {
  color: rgba(255,255,255,.84);
  font-size: .92rem;
  margin: 8px 0 0;
}
@media (max-width: 991px) {
  .hero .review-hero-container {
    text-align: center;
  }
  .hero .hero-pass-rate-card {
    width: min(220px, 72%);
    padding: 16px;
  }
  .hero .hero-pass-rate-card strong {
    font-size: 3rem;
  }
}
@media (max-width: 580px), (max-height: 500px) {
  .hero .review-hero-container .col-lg-6:last-child {
    display: none !important;
  }
}

/* Artemis carousel split layout. */
.hero .artemis-hero-container {
  text-align: left;
}
.hero .artemis-hero-container .row {
  min-height: 0;
}
.hero .artemis-hero-logo {
  position: static;
  inset: auto;
  width: min(340px, 82%);
  max-height: 180px;
  object-fit: contain;
  border: 3px solid #fff;
  border-radius: 12px;
}
@media (max-width: 991px) {
  .hero .artemis-hero-container {
    text-align: center;
  }
  .hero .artemis-hero-logo {
    width: min(240px, 72%);
    max-height: 120px;
    margin-top: 4px;
  }
}
@media (max-width: 580px), (max-height: 500px) {
  .hero .artemis-hero-container .col-lg-6:last-child {
    display: none !important;
  }
}



/* Four-column course grid refinement. */
#courses .service-item {
  height: 100%;
}
#courses .service-item h3 {
  font-size: 20px;
}
#courses .service-item p {
  font-size: 14px;
}

/* Flat alternating course cards. */
.services .service-item {
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
}
.services .service-item .icon {
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  box-shadow: none;
  transform: none;
}
.services .service-item .icon:before,
.services .service-item .icon:after {
  display: none;
}
.services .service-item .icon i {
  color: #fff;
  font-size: 25px;
  box-shadow: none;
}
.services .row > div:nth-child(odd) .service-item .icon {
  background: var(--gra-navy);
}
.services .row > div:nth-child(even) .service-item .icon {
  background: var(--accent-color);
}
.services .service-item:hover {
  box-shadow: none;
}
.services .service-item:hover .icon {
  transform: none;
  box-shadow: none;
}
.services .service-item:hover .icon i {
  color: #fff;
}

/* Centered learning mode cards above courses. */
.learning-mode-card {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
}
.learning-mode-card i {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gra-navy);
  color: #fff;
  border-radius: 6px;
  font-size: 22px;
}
.learning-mode-cards > div:nth-child(2) .learning-mode-card i {
  background: var(--accent-color);
}
.learning-mode-card h3 {
  margin: 0 0 5px;
  font-size: 20px;
}
.learning-mode-card p {
  margin: 0;
  font-size: 14px;
}
@media (max-width: 575px) {
  .learning-mode-card {
    align-items: flex-start;
  }
}

/* Two-column mobile courses. */
@media (max-width: 575px) {
  #courses .row.gy-4:not(.learning-mode-cards) {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
  }
  #courses .row.gy-4:not(.learning-mode-cards) > [class*="col-"] {
    width: 50%;
    flex: 0 0 auto;
  }
  #courses .service-item {
    padding: 18px 10px;
  }
  #courses .service-item .icon {
    width: 46px;
    height: 46px;
    margin-bottom: 14px;
  }
  #courses .service-item .icon i {
    font-size: 20px;
  }
  #courses .service-item h3 {
    font-size: 16px;
    margin-bottom: 8px;
  }
  #courses .service-item p {
    font-size: 12px;
    line-height: 1.35;
  }
}
@media (max-width: 360px) {
  #courses .row.gy-4:not(.learning-mode-cards) > [class*="col-"] {
    width: 100%;
  }
}

/* Five-column free course strip. */
#free-courses .service-item {
  height: 100%;
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
}
#free-resources .service-item {
  height: 100%;
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
}
#free-resources .service-item:hover {
  box-shadow: none;
}
#free-resources .service-item .icon,
#free-resources .service-item .icon i {
  box-shadow: none;
  text-shadow: none;
}
#free-courses .free-register-card {
  background: var(--gra-navy);
}
#free-courses .free-register-card:before {
  background: var(--accent-color);
}
#free-courses .free-register-card h4,
#free-courses .free-register-card p,
#free-courses .free-register-card .icon i {
  color: #fff;
}
#free-courses .free-register-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 8px 14px;
  background: var(--accent-color);
  color: #fff;
  font-weight: 700;
  border-radius: 4px;
}
@media (min-width: 1200px) {
  #free-courses .service-item h4 {
    font-size: 17px;
  }
  #free-courses .service-item p {
    font-size: 13px;
  }
}
@media (max-width: 575px) {
  #free-courses .service-item h4 {
    font-size: 1.25rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  #free-courses .service-item h4 a {
    overflow-wrap: anywhere;
  }
}

/* Full PassEasy poster display. */
.features .passeasy-poster-frame {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.features .passeasy-poster-frame img {
  position: static;
  width: min(100%, 520px);
  height: auto;
  max-height: 760px;
  object-fit: contain;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 82%);
}
@media (max-width: 991px) {
  .features .passeasy-poster-frame img {
    max-height: none;
    width: min(100%, 460px);
  }
}



/* Ordered contact cards. */
.contact .contact-info-row .info-item {
  height: 100%;
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
  padding-left: 18px;
  padding-right: 18px;
  text-align: center;
}
.contact .contact-info-row .info-item p {
  overflow-wrap: anywhere;
}
.contact .contact-address-card {
  min-height: 100%;
}
.contact .contact-detail-group {
  height: 100%;
  display: grid;
  gap: 14px;
  padding: 18px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
}
.contact .contact-mini-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 82%);
  background: #fff;
}
.contact .contact-mini-card i {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--accent-color);
  color: var(--gra-navy);
  font-size: 20px;
}
.contact .contact-mini-card h3 {
  margin: 0 0 6px;
  color: var(--gra-navy);
  font-size: 17px;
  font-weight: 700;
}
.contact .contact-mini-card p {
  margin: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 575px) {
  .contact .contact-detail-group {
    padding: 14px;
  }
  .contact .contact-mini-card {
    align-items: flex-start;
    min-height: 0;
    padding: 14px;
  }
}

/* Keep Medicio contact section layout. */
section.contact {
  display: block;
}

/* GRA leadership/testmaster cards: info first with compact circular portraits. */
:is(#team, #testmasters) .team-member {
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 24px 18px;
  background: #fff;
}
:is(#team, #testmasters) .team-member .member-info {
  order: 1;
  padding: 0 0 18px;
  border-top: 0;
  background: transparent;
  text-align: center;
}
:is(#team, #testmasters) .team-member .member-info h4 {
  color: var(--gra-navy);
  font-size: 17px;
  line-height: 1.25;
  margin-bottom: 8px;
}
:is(#team, #testmasters) .team-member .member-info span {
  color: color-mix(in srgb, var(--default-color), transparent 18%);
  font-size: 12px;
  line-height: 1.35;
}
:is(#team, #testmasters) .team-member .member-img {
  order: 2;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  border: 4px solid var(--accent-color);
  overflow: hidden;
  margin-top: auto;
}
:is(#team, #testmasters) .team-member .member-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top center;
}
:is(#team, #testmasters) .team-member .social {
  display: none;
}
@media (max-width: 575px) {
  :is(#team, #testmasters) .team-member .member-img {
    width: 112px;
    height: 112px;
  }
}


/* GRA four-column testimonials carousel. */
#testimonials .testimonial-item {
  min-height: 280px;
  height: 100%;
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
  padding: 24px 18px;
  background: #fff;
}
#testimonials .testimonial-item p {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
}
#testimonials .testimonial-item h3 {
  color: var(--gra-navy);
  font-size: 16px;
}
#testimonials .testimonial-item h4 {
  font-size: 12px;
}

/* Even testimonials and mobile team grid. */
#testimonials .swiper-slide {
  height: auto;
}
#testimonials .testimonial-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 340px;
}
#testimonials .testimonial-item p {
  flex: 1 1 auto;
}
@media (max-width: 575px) {
  :is(#team, #testmasters) .row > [class*="col-"] {
    width: 50%;
    flex: 0 0 auto;
  }
  :is(#team, #testmasters) .row {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
  }
  :is(#team, #testmasters) .team-member {
    padding: 18px 10px;
  }
  :is(#team, #testmasters) .team-member .member-info {
    padding-bottom: 12px;
  }
  :is(#team, #testmasters) .team-member .member-info h4 {
    font-size: 14px;
  }
  :is(#team, #testmasters) .team-member .member-info span {
    font-size: 11px;
  }
  :is(#team, #testmasters) .team-member .member-img {
    width: 96px;
    height: 96px;
    border-width: 3px;
  }
}
@media (max-width: 360px) {
  :is(#team, #testmasters) .row > [class*="col-"] {
    width: 100%;
  }
}

/* Stretch team/testmaster cards in mobile columns without changing AOS behavior. */
:is(#team, #testmasters) .row > [class*="col-"] {
  display: flex;
}
:is(#team, #testmasters) .team-member {
  width: 100%;
}
@media (max-width: 575px) {
  :is(#team, #testmasters) .row > [class*="col-"] {
    display: flex;
    align-items: stretch;
  }
}

/* Compact testimonial typography to avoid quote overlap. */
#testimonials .testimonial-item {
  min-height: 320px;
  padding: 22px 16px;
}
#testimonials .testimonial-item p {
  font-size: 12.5px;
  line-height: 1.45;
  margin: 0 0 16px;
}
#testimonials .testimonial-item .quote-icon-left,
#testimonials .testimonial-item .quote-icon-right {
  font-size: 18px;
  line-height: 1;
}
#testimonials .testimonial-item .quote-icon-left {
  left: 0;
  margin-right: 3px;
}
#testimonials .testimonial-item .quote-icon-right {
  right: 0;
  margin-left: 3px;
}
#testimonials .testimonial-item h3 {
  font-size: 14px;
  line-height: 1.25;
}
#testimonials .testimonial-item h4 {
  font-size: 11px;
}
@media (max-width: 1199px) {
  #testimonials .testimonial-item p {
    font-size: 13px;
  }
}

/* Final testimonial card overrides against the Medicio defaults. */
#testimonials .swiper-wrapper {
  align-items: stretch;
}
#testimonials .swiper-slide {
  display: flex;
  height: auto;
}
#testimonials .testimonial-item {
  box-sizing: border-box;
  width: 100%;
  min-height: unset;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px 16px 18px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--gra-navy), transparent 84%);
  border-bottom: 4px solid var(--accent-color);
  box-shadow: none;
}
#testimonials .testimonial-item p {
  flex: 1 1 auto;
  padding: 0;
  margin: 0 0 16px;
  background: transparent;
  border-radius: 0;
  position: static;
  font-size: 13px;
  line-height: 1.48;
}
#testimonials .testimonial-item .quote-icon-left,
#testimonials .testimonial-item .quote-icon-right {
  position: static;
  display: inline;
  font-size: 15px;
  line-height: 1;
}
#testimonials .testimonial-item h3,
#testimonials .testimonial-item h4 {
  margin-left: 0;
}
#testimonials .testimonial-item h3 {
  margin-top: 0;
}
@media (max-width: 1199px) {
  #testimonials .testimonial-item {
    min-height: unset;
  }
  #testimonials .testimonial-item p {
    font-size: 13.5px;
  }
}
