:root {
  --cso-wine: #4b0012;
  --cso-wine-dark: #2f000b;
  --cso-gold: #c99025;
  --cso-gold-light: #e5bd6a;
  --cso-cream: #fbf7f2;
  --cso-ink: #24050c;
  --cso-text: #292326;
  --cso-line: #eadfd5;
  --cso-shadow: 0 12px 32px rgba(69, 23, 28, .09);
}

.cso-page,
.cso-header,
.cso-footer {
  color: var(--cso-text);
  font-family: "Montserrat", Arial, sans-serif;
  overflow: hidden;
}

.cso-page *,
.cso-header *,
.cso-footer * {
  box-sizing: border-box;
}

.cso-page p,
.cso-header p,
.cso-footer p {
  margin: 0 0 1em;
}

.cso-page a,
.cso-header a,
.cso-footer a {
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.cso-wrap {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.cso-section {
  padding: 72px 24px;
}

.cso-kicker .elementor-heading-title {
  color: var(--cso-gold);
  font: 700 12px/1.4 "Montserrat", Arial, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cso-section-title .elementor-heading-title,
.cso-card-title .elementor-heading-title,
.cso-doctor-name .elementor-heading-title,
.cso-light-title .elementor-heading-title,
.cso-icon-box .elementor-icon-box-title {
  color: var(--cso-wine);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
}

.cso-section-title .elementor-heading-title {
  font-size: clamp(34px, 4vw, 48px);
  line-height: .98;
}

.cso-section-lead {
  max-width: 650px;
  margin-top: 10px;
}

.cso-title-block {
  align-items: center;
  margin-bottom: 38px;
  text-align: center;
}

.cso-heading-row .cso-title-block {
  align-items: flex-start;
  margin-bottom: 0;
  text-align: left;
}

.cso-accent {
  color: var(--cso-gold);
}

.cso-button-row {
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}

.cso-btn-primary .elementor-button,
.cso-btn-gold .elementor-button,
.cso-btn-outline .elementor-button,
.cso-btn-outline-light .elementor-button {
  min-height: 48px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}

.cso-btn-primary .elementor-button {
  background: linear-gradient(135deg, var(--cso-wine), var(--cso-wine-dark));
  color: #fff;
  box-shadow: 0 8px 20px rgba(75, 0, 18, .18);
}

.cso-btn-primary .elementor-button:hover,
.cso-btn-gold .elementor-button:hover {
  transform: translateY(-2px);
}

.cso-btn-gold .elementor-button {
  background: linear-gradient(135deg, #dfab46, var(--cso-gold));
  color: #fff;
  box-shadow: 0 8px 20px rgba(201, 144, 37, .22);
}

.cso-btn-outline .elementor-button {
  border-color: var(--cso-wine);
  background: transparent;
  color: var(--cso-wine);
}

.cso-btn-outline .elementor-button:hover {
  background: var(--cso-wine);
  color: #fff;
}

.cso-btn-outline-light .elementor-button {
  border-color: var(--cso-gold-light);
  background: transparent;
  color: #fff;
}

.cso-btn-link .elementor-button {
  padding: 0;
  background: transparent;
  color: var(--cso-gold);
  font-size: 12px;
  font-weight: 700;
}

/* Header */
.cso-header {
  position: relative;
  z-index: 40;
}

.cso-topbar {
  min-height: 36px;
  padding: 7px 24px;
  background: linear-gradient(90deg, var(--cso-wine-dark), var(--cso-wine));
  color: #fff;
}

.cso-topbar-wrap,
.cso-topbar-info,
.cso-header-wrap,
.cso-footer-bottom-wrap {
  flex-direction: row !important;
  align-items: center;
}

.cso-topbar-wrap,
.cso-header-wrap,
.cso-footer-bottom-wrap {
  justify-content: space-between;
}

.cso-topbar-info {
  gap: 38px;
}

.cso-inline-info,
.cso-socials,
.cso-topbar .elementor-widget-text-editor {
  margin: 0;
  font-size: 11px;
}

.cso-inline-info i,
.cso-socials i {
  margin-right: 6px;
  color: var(--cso-gold);
}

.cso-socials a {
  margin-left: 12px;
  color: var(--cso-gold-light);
}

.cso-header-main {
  min-height: 98px;
  padding: 15px 24px;
  border-bottom: 1px solid #f1ebe6;
  background: rgba(255,255,255,.98);
  box-shadow: 0 8px 28px rgba(36, 5, 12, .04);
}

.cso-header-wrap {
  gap: 28px;
}

.cso-site-logo {
  width: 185px;
  flex: 0 0 185px;
}

.cso-site-logo img,
.cso-footer-logo img {
  width: 100%;
  mix-blend-mode: multiply;
}

.cso-main-menu {
  flex: 1 1 auto;
}

.cso-main-menu .elementor-nav-menu {
  justify-content: center;
}

.cso-main-menu .elementor-item {
  padding: 12px 13px !important;
  color: #1c1518 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
}

.cso-main-menu .elementor-item:hover,
.cso-main-menu .elementor-item.elementor-item-active {
  color: var(--cso-gold) !important;
}

.cso-header-cta {
  flex: 0 0 auto;
}

/* Hero */
.cso-hero {
  padding: 0 24px;
  background:
    radial-gradient(circle at 20% 40%, rgba(201,144,37,.07), transparent 38%),
    linear-gradient(90deg, #fff 0%, var(--cso-cream) 100%);
}

.cso-hero-grid {
  min-height: 390px;
  display: grid !important;
  grid-template-columns: .95fr 1.15fr;
  align-items: stretch;
}

.cso-hero-copy-col {
  justify-content: center;
  padding: 52px 50px 52px 0;
}

.cso-hero-title .elementor-heading-title {
  color: var(--cso-wine);
  font: 600 clamp(46px, 5.2vw, 72px)/.96 "Cormorant Garamond", Georgia, serif;
  letter-spacing: -.025em;
}

.cso-hero-copy {
  max-width: 520px;
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.65;
}

.cso-hero-media-col,
.cso-hero-image,
.cso-hero-image .elementor-widget-container {
  height: 100%;
}

.cso-hero-image img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
  object-position: center;
}

.cso-home-hero .cso-hero-media-col {
  margin-right: calc((100vw - 1180px) / -2);
}

.cso-inner-hero .cso-hero-title .elementor-heading-title {
  font-size: clamp(50px, 5vw, 68px);
}

.cso-breadcrumb {
  margin-top: 28px !important;
  font-size: 13px;
}

.cso-breadcrumb span {
  color: var(--cso-gold);
}

.cso-mini-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin-top: 26px;
  color: var(--cso-wine);
  font-size: 12px;
}

/* Grids and cards */
.cso-grid-2,
.cso-grid-3,
.cso-grid-4,
.cso-grid-5,
.cso-grid-6,
.cso-plan-grid,
.cso-treatment-grid,
.cso-about-story-grid,
.cso-about-home-grid,
.cso-plans-home-grid,
.cso-contact-strip-grid,
.cso-contact-main-grid,
.cso-faq-main-grid,
.cso-special-care-grid,
.cso-hours-grid,
.cso-footer-grid {
  display: grid !important;
  gap: 24px;
}

.cso-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cso-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cso-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cso-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cso-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }

.cso-card {
  overflow: hidden;
  border: 1px solid var(--cso-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--cso-shadow);
}

.cso-card-title,
.cso-card-copy,
.cso-treatment-card .cso-btn-link {
  padding-inline: 22px;
}

.cso-card-title .elementor-heading-title {
  font-size: 24px;
  line-height: 1.05;
  text-align: center;
}

.cso-card-copy {
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.cso-card-image img {
  width: 100%;
  height: 168px;
  object-fit: cover;
}

.cso-card-icon {
  position: relative;
  z-index: 2;
  width: 52px;
  height: 52px;
  margin: -27px auto 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--cso-wine);
  box-shadow: 0 5px 14px rgba(75,0,18,.2);
}

.cso-card-icon .elementor-icon-box-icon {
  margin: 0 !important;
  line-height: 46px;
  text-align: center;
}

.cso-card-icon .elementor-icon {
  color: #fff;
  font-size: 19px;
}

.cso-card-icon .elementor-icon-box-content {
  display: none;
}

.cso-treatment-card {
  padding-bottom: 22px;
}

.cso-treatment-card .cso-card-copy {
  min-height: 78px;
}

.cso-treatment-card .cso-btn-link {
  margin-top: auto;
}

.cso-treatment-card.cso-compact .cso-card-image img {
  height: 110px;
}

.cso-treatment-card.cso-compact .cso-card-title .elementor-heading-title {
  font-size: 18px;
}

.cso-treatment-card.cso-compact .cso-card-copy {
  min-height: 88px;
  font-size: 11px;
}

.cso-heading-row {
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin-bottom: 34px;
}

/* Benefits */
.cso-benefits {
  padding-block: 28px;
  border-block: 1px solid var(--cso-line);
  background: #fff;
}

.cso-benefits-grid {
  gap: 0;
}

.cso-benefits-grid > .cso-icon-box {
  padding: 14px 28px;
  border-right: 1px solid #dfcaa8;
}

.cso-benefits-grid > .cso-icon-box:last-child {
  border-right: 0;
}

.cso-icon-box .elementor-icon {
  color: var(--cso-gold);
  font-size: 42px;
}

.cso-icon-box .elementor-icon-box-title {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.cso-icon-box .elementor-icon-box-description {
  font-size: 12px;
  line-height: 1.55;
}

/* Plans */
.cso-plans-home {
  background: radial-gradient(circle at 75% 20%, #74162d, transparent 35%), var(--cso-wine-dark);
  color: #fff;
}

.cso-plans-home-grid {
  grid-template-columns: .8fr 1.8fr .8fr;
  align-items: center;
}

.cso-light-title .elementor-heading-title {
  color: #fff;
  font-size: 34px;
  line-height: 1.08;
}

.cso-plan-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cso-plan-logo {
  min-height: 82px;
  justify-content: center;
  padding: 10px;
  border: 1px solid rgba(75, 0, 18, .07);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(30,0,5,.06);
}

.cso-plan-image img {
  width: 100%;
  height: 56px;
  object-fit: contain;
}

.cso-icon-light .elementor-icon-box-title,
.cso-icon-light .elementor-icon-box-description {
  color: #fff;
}

.cso-plan-grid-main {
  max-width: 1020px;
  margin-inline: auto;
  gap: 18px;
}

.cso-plan-note {
  margin: 22px auto 0;
  text-align: center;
}

.cso-plan-help {
  max-width: 1080px;
  min-height: 200px;
  margin: 40px auto 0;
  padding: 24px 310px 24px 30px;
  justify-content: center;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--cso-gold);
  border-radius: 16px;
  background: #fffaf6;
}

.cso-plan-help-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 285px;
  height: 100%;
}

.cso-plan-help-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cso-large-icon-box .elementor-icon-box-wrapper {
  display: flex;
  align-items: center;
  text-align: left;
  gap: 20px;
}

.cso-large-icon-box .elementor-icon-box-icon {
  margin: 0 !important;
}

.cso-large-icon-box .elementor-icon-box-title {
  font: 600 34px/1 "Cormorant Garamond", Georgia, serif;
}

/* About and professionals */
.cso-about-home-grid {
  grid-template-columns: .9fr .85fr 1.25fr;
  align-items: center;
}

.cso-clinic-image img,
.cso-story-image img,
.cso-faq-side-image img {
  width: 100%;
  border-radius: 14px;
  object-fit: cover;
}

.cso-clinic-image img { height: 270px; }

.cso-clinic-card .cso-btn-outline {
  width: fit-content;
  margin: -22px auto 0;
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 10px;
}

.cso-doctor-card {
  display: grid !important;
  grid-template-columns: 42% 58%;
  align-items: stretch;
}

.cso-doctor-image,
.cso-doctor-image .elementor-widget-container {
  height: 100%;
}

.cso-doctor-image img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  object-position: top;
}

.cso-doctor-copy {
  justify-content: center;
  padding: 26px;
}

.cso-doctor-name .elementor-heading-title {
  font-size: 28px;
}

.cso-doctor-specialty .elementor-heading-title {
  color: var(--cso-gold);
  font-size: 13px;
  font-weight: 700;
}

.cso-doctor-cro {
  font-size: 12px;
}

.cso-home-doctors .cso-doctor-card {
  display: flex !important;
  flex-direction: column;
}

.cso-home-doctors .cso-doctor-image img {
  min-height: 175px;
  height: 175px;
}

.cso-home-doctors .cso-doctor-copy {
  padding: 14px;
  align-items: center;
  text-align: center;
}

.cso-home-doctors .cso-doctor-name .elementor-heading-title {
  font-size: 18px;
}

.cso-about-story-grid {
  grid-template-columns: 1.05fr .85fr .7fr;
  align-items: center;
  gap: 38px;
}

.cso-story-image img {
  height: 420px;
}

.cso-story-copy {
  gap: 12px;
}

.cso-values-list {
  gap: 16px;
}

.cso-values-list .cso-icon-box {
  padding-bottom: 16px;
  border-bottom: 1px solid #dfcaa8;
}

.cso-about-benefits,
.cso-hours-section {
  background: var(--cso-cream);
}

.cso-about-features {
  gap: 0;
}

.cso-about-features > .cso-icon-box {
  padding: 20px;
  border-right: 1px solid #dfcaa8;
}

.cso-professionals-section {
  background: #fff;
}

.cso-doctors-featured {
  max-width: 1080px;
  margin-inline: auto;
}

/* Reviews */
.cso-reviews {
  background: #fffdfb;
}

.cso-reviews-heading {
  display: grid !important;
  grid-template-columns: 1.4fr .75fr auto;
  align-items: center;
  gap: 32px;
  margin-bottom: 28px;
}

.cso-reviews-heading .cso-title-block {
  align-items: flex-start;
  margin: 0;
  text-align: left;
}

.cso-google-rating {
  align-items: center;
  gap: 12px;
}

.cso-google-g .elementor-heading-title {
  color: #4285f4;
  font: 700 44px/1 Arial, sans-serif;
}

.cso-review-card {
  padding: 28px;
  border-color: #eee4dc;
}

.cso-review-card:before {
  content: "“";
  color: #e8c98f;
  font: 700 54px/1 Georgia, serif;
}

.cso-review-author .elementor-heading-title {
  color: var(--cso-wine);
  font: 700 12px/1.4 "Montserrat", Arial, sans-serif;
}

/* Accordions */
.cso-accordion .elementor-accordion-item {
  margin-bottom: 10px;
  overflow: hidden;
  border: 1px solid var(--cso-line) !important;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(48,0,9,.04);
}

.cso-accordion .elementor-tab-title {
  border: 0 !important;
  color: #24181c;
  font-size: 14px;
  font-weight: 600;
}

.cso-accordion .elementor-tab-title.elementor-active {
  color: var(--cso-wine);
}

.cso-accordion .elementor-tab-content {
  border: 0 !important;
  color: #554b4f;
  font-size: 13px;
  line-height: 1.65;
}

.cso-faq-mini-grid {
  display: grid !important;
  grid-template-columns: .7fr 1.8fr;
  gap: 48px;
}

.cso-faq-mini-grid .cso-title-block {
  align-items: flex-start;
  text-align: left;
}

.cso-accordion-two-columns .elementor-accordion {
  columns: 2;
  column-gap: 24px;
}

.cso-accordion-two-columns .elementor-accordion-item {
  break-inside: avoid;
}

.cso-faq-main-grid {
  grid-template-columns: 1.8fr .8fr;
  align-items: start;
}

.cso-faq-side {
  gap: 20px;
}

.cso-help-card {
  padding: 32px;
  gap: 14px;
}

.cso-faq-side-image img {
  height: 380px;
}

/* Contact */
.cso-contact-channels > .cso-icon-box {
  min-height: 220px;
  padding: 30px 22px;
  border: 1px solid var(--cso-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--cso-shadow);
}

.cso-contact-main {
  padding-top: 10px;
}

.cso-contact-main-grid {
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.cso-form-card,
.cso-map-card {
  padding: 34px;
}

.cso-contact-form .elementor-field {
  min-height: 48px;
  border-color: #e5ddd6;
  border-radius: 8px;
  background: #fff;
}

.cso-contact-form .elementor-button {
  width: 100%;
  min-height: 50px;
  border-radius: 8px;
  background: var(--cso-wine);
}

.cso-map-image img {
  width: 100%;
  height: 220px;
  border-radius: 10px;
  object-fit: cover;
}

.cso-hours-grid {
  grid-template-columns: 1fr 1fr;
}

.cso-horizontal-icon .elementor-icon-box-wrapper {
  display: flex;
  align-items: center;
  gap: 24px;
  text-align: left;
}

.cso-horizontal-icon .elementor-icon-box-icon {
  margin: 0 !important;
}

/* Calls to action and contact strip */
.cso-cta-bar,
.cso-contact-strip {
  background: radial-gradient(circle at 80% 20%, #72152a, transparent 38%), var(--cso-wine-dark);
  color: #fff;
}

.cso-cta-bar {
  padding-block: 32px;
}

.cso-cta-bar-grid {
  flex-direction: row !important;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
}

.cso-special-care,
.cso-cta-simple-section {
  background: var(--cso-cream);
}

.cso-special-care-grid {
  grid-template-columns: 1fr 1fr .7fr;
  align-items: center;
}

.cso-cta-simple {
  display: grid !important;
  grid-template-columns: 1.1fr 1.5fr auto;
  align-items: center;
  gap: 32px;
  padding: 26px;
  border: 1px solid var(--cso-gold);
  border-radius: 14px;
  background: #fff;
}

.cso-contact-strip {
  padding-block: 0;
}

.cso-contact-strip-grid {
  grid-template-columns: .8fr 1fr 1fr;
  align-items: stretch;
}

.cso-contact-strip-copy,
.cso-contact-map {
  justify-content: center;
  padding: 44px 0;
}

.cso-contact-map {
  padding-inline: 26px;
  background: #fff;
  color: var(--cso-text);
}

.cso-contact-strip-image,
.cso-contact-strip-image .elementor-widget-container,
.cso-contact-strip-image img {
  width: 100%;
  height: 100%;
}

.cso-contact-strip-image img {
  object-fit: cover;
}

/* Footer */
.cso-footer {
  background: radial-gradient(circle at 20% 10%, #6f1429, transparent 34%), var(--cso-wine-dark);
  color: #fff;
}

.cso-footer-main {
  padding-block: 54px 38px;
}

.cso-footer-grid {
  grid-template-columns: 1.05fr .7fr 1.05fr 1fr;
  gap: 44px;
}

.cso-footer-logo {
  width: 190px;
  padding: 6px;
  border-radius: 8px;
  background: #fff;
}

.cso-footer,
.cso-footer a,
.cso-footer .elementor-heading-title {
  color: #fff;
}

.cso-footer .elementor-widget-text-editor {
  font-size: 12px;
  line-height: 1.7;
}

.cso-footer-title .elementor-heading-title {
  font-size: 12px;
  font-weight: 700;
}

.cso-footer-socials a {
  display: inline-grid;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  place-items: center;
  border: 1px solid var(--cso-gold);
  border-radius: 50%;
  color: var(--cso-gold-light);
}

.cso-footer-bottom {
  padding: 12px 24px;
  border-top: 1px solid rgba(201,144,37,.35);
}

.cso-footer-bottom .elementor-widget-text-editor {
  margin: 0;
  font-size: 10px;
}

@media (max-width: 1100px) {
  .cso-header-cta { display: none; }
  .cso-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cso-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cso-plans-home-grid { grid-template-columns: 1fr 2fr; }
  .cso-plans-home-cta { grid-column: 1 / -1; }
  .cso-about-home-grid { grid-template-columns: 1fr 1fr; }
  .cso-home-doctors { grid-column: 1 / -1; }
  .cso-about-story-grid { grid-template-columns: 1fr 1fr; }
  .cso-values-list { grid-column: 1 / -1; display: grid !important; grid-template-columns: repeat(3, 1fr); }
  .cso-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
  .cso-section { padding: 48px 18px; }
  .cso-topbar { padding-inline: 14px; }
  .cso-topbar-info { gap: 8px; flex-direction: column !important; align-items: flex-start; }
  .cso-topbar-info .cso-inline-info:nth-child(2),
  .cso-socials { display: none; }
  .cso-header-main { min-height: 76px; padding: 10px 16px; }
  .cso-site-logo { width: 145px; flex-basis: 145px; }
  .cso-main-menu { display: block; }
  .cso-main-menu .elementor-menu-toggle { margin-left: auto; color: var(--cso-wine); }
  .cso-hero { padding-inline: 0; }
  .cso-hero-grid { min-height: auto; grid-template-columns: 1fr; }
  .cso-hero-copy-col { padding: 46px 22px; }
  .cso-hero-title .elementor-heading-title { font-size: 46px; }
  .cso-hero-media-col { order: -1; margin: 0 !important; }
  .cso-hero-image img { min-height: 275px; height: 275px; }
  .cso-grid-2,
  .cso-grid-3,
  .cso-grid-4,
  .cso-grid-5,
  .cso-grid-6,
  .cso-plan-grid,
  .cso-treatment-grid,
  .cso-about-story-grid,
  .cso-about-home-grid,
  .cso-plans-home-grid,
  .cso-contact-strip-grid,
  .cso-contact-main-grid,
  .cso-faq-main-grid,
  .cso-special-care-grid,
  .cso-hours-grid,
  .cso-footer-grid,
  .cso-reviews-heading,
  .cso-faq-mini-grid,
  .cso-cta-simple {
    grid-template-columns: 1fr;
  }
  .cso-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cso-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cso-benefits-grid > .cso-icon-box,
  .cso-about-features > .cso-icon-box { border-right: 0; border-bottom: 1px solid #dfcaa8; }
  .cso-heading-row,
  .cso-cta-bar-grid { flex-direction: column !important; align-items: flex-start; }
  .cso-plans-home-copy,
  .cso-plans-home-cta { text-align: center; }
  .cso-about-story-grid { gap: 24px; }
  .cso-values-list { grid-column: auto; grid-template-columns: 1fr; }
  .cso-doctor-card { grid-template-columns: 1fr; }
  .cso-doctor-image img { min-height: 340px; height: 340px; }
  .cso-reviews-heading .cso-title-block { align-items: center; text-align: center; }
  .cso-google-rating { justify-content: center; }
  .cso-accordion-two-columns .elementor-accordion { columns: 1; }
  .cso-plan-help { padding: 28px; padding-top: 245px; }
  .cso-plan-help-image { top: 0; left: 0; width: 100%; height: 220px; }
  .cso-special-care-grid,
  .cso-cta-simple { text-align: center; }
  .cso-large-icon-box .elementor-icon-box-wrapper { flex-direction: column; text-align: center; }
  .cso-contact-strip-copy,
  .cso-contact-map { padding: 36px 22px; }
  .cso-contact-strip-image img { min-height: 250px; }
  .cso-footer-grid { gap: 28px; }
  .cso-footer-bottom-wrap { flex-direction: column !important; gap: 4px; align-items: flex-start; }
}

@media (max-width: 420px) {
  .cso-grid-6,
  .cso-plan-grid { grid-template-columns: 1fr; }
  .cso-button-row { flex-direction: column !important; }
  .cso-button-row .elementor-widget-button,
  .cso-button-row .elementor-button { width: 100%; }
}
