:root {
  --pc-primary: #e83e8c;
  --pc-primary-dark: #b91863;
  --pc-primary-soft: #fff0f7;
  --pc-rose: #ff6fae;
  --pc-blush: #ffd6e9;
  --pc-ink: #172033;
  --pc-muted: #667085;
  --pc-card: #ffffff;
  --pc-line: #f1d7e4;
  --pc-purple: #7c3aed;
  --pc-orange: #ff9f43;
  --pc-green: #10b981;
  --pc-blue: #3b82f6;
  --pc-shadow: 0 20px 60px rgba(184, 24, 99, .12);
}

* {
  box-sizing: border-box
}

body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--pc-ink);
  background: #fff;
  line-height: 1.7;
  overflow-x: hidden
}

html {
  overflow-x: hidden
}

a {
  text-decoration: none
}

.text-pink {
  color: var(--pc-primary) !important
}

.bg-soft-pink {
  background: var(--pc-primary-soft)
}

.bg-deep {
  background: #121827;
  color: #fff
}

.section {
  padding: 96px 0
}

.section-sm {
  padding: 70px 0
}

.about-intro-section {
  padding: 160px 0
}

.eyebrow {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--pc-primary-soft);
  color: var(--pc-primary-dark);
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase
}

.display-title {
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: 1.02
}

.lead-muted {
  color: var(--pc-muted);
  font-size: 1.08rem
}

.btn {
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 800
}

.btn-primary {
  background: linear-gradient(135deg, var(--pc-primary), var(--pc-primary-dark));
  border: 0;
  box-shadow: 0 14px 30px rgba(232, 62, 140, .25)
}

.btn-primary:hover {
  filter: brightness(.96);
  transform: translateY(-1px)
}

.btn-outline-primary {
  border-color: var(--pc-primary);
  color: var(--pc-primary)
}

.btn-outline-primary:hover {
  background: var(--pc-primary);
  border-color: var(--pc-primary)
}

.btn-light-pink {
  background: #fff;
  color: var(--pc-primary-dark);
  border: 1px solid var(--pc-line)
}

.navbar {
  padding: 2px 0;
  transition: .3s;
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(241, 215, 228, .65)
}

.navbar-brand {
  font-weight: 900;
  letter-spacing: -.04em
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: linear-gradient(135deg, var(--pc-primary), #ff9ac8);
  display: inline-grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 14px 30px rgba(232, 62, 140, .28)
}

.nav-link {
  font-weight: 750;
  color: #2a3346 !important
}

.nav-link.active,
.nav-link:hover {
  color: var(--pc-primary) !important
}

.dropdown-menu {
  border: 1px solid var(--pc-line);
  box-shadow: var(--pc-shadow);
  border-radius: 18px;
  padding: 10px
}

.dropdown-item {
  border-radius: 12px;
  font-weight: 650;
  padding: 9px 12px
}

.hero {
  position: relative;
  min-height: 760px;
  padding: 160px 0 95px;
  background: radial-gradient(circle at 18% 12%, #ffe1ef 0, transparent 28%), radial-gradient(circle at 88% 20%, #ffd6e9 0, transparent 25%), linear-gradient(180deg, #fff7fb 0%, #fff 80%)
}

.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(232, 62, 140, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(232, 62, 140, .055) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%)
}

.hero .container {
  position: relative
}

.hero-card {
  border: 1px solid rgba(255, 255, 255, .65);
  background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(18px);
  border-radius: 36px;
  box-shadow: var(--pc-shadow);
  padding: 18px
}

.care-visual {
  min-height: 520px;
  border-radius: 30px;
  background: linear-gradient(145deg, #fff, #ffe7f2);
  position: relative;
  overflow: hidden;
  border: 1px solid #fff
}

.care-visual:before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e83e8c, #ffb0d2);
  right: -110px;
  top: -80px;
  opacity: .85
}

.care-visual:after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ffc0da);
  left: -90px;
  bottom: -80px;
  opacity: .16
}

.visual-person {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  width: 310px;
  height: 390px;
  border-radius: 165px 165px 42px 42px;
  background: linear-gradient(180deg, #fff, #ffe1ef);
  box-shadow: 0 32px 75px rgba(184, 24, 99, .18);
  border: 8px solid rgba(255, 255, 255, .88)
}

.visual-person .head {
  position: absolute;
  left: 82px;
  top: 46px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffd0a8, #f0a876);
  box-shadow: inset -16px -8px 0 rgba(154, 83, 52, .12)
}

.visual-person .body {
  position: absolute;
  left: 45px;
  bottom: 38px;
  width: 210px;
  height: 185px;
  border-radius: 48px 48px 24px 24px;
  background: linear-gradient(135deg, #e83e8c, #9d174d)
}

.floating-card {
  position: absolute;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 24px;
  padding: 16px 18px;
  box-shadow: 0 20px 50px rgba(23, 32, 51, .12);
  z-index: 3
}

.float-1 {
  left: 28px;
  top: 40px
}

.float-2 {
  right: 24px;
  bottom: 95px
}

.float-3 {
  left: 40px;
  bottom: 42px
}

.icon-box {
  width: 50px;
  height: 50px;
  border-radius: 17px;
  display: grid;
  place-items: center;
  background: var(--pc-primary-soft);
  color: var(--pc-primary);
  font-size: 1.25rem;
  flex: 0 0 auto
}

.icon-box.alt {
  background: #f1ecff;
  color: var(--pc-purple)
}

.icon-box.green {
  background: #ecfdf5;
  color: var(--pc-green)
}

.icon-box.orange {
  background: #fff7ed;
  color: var(--pc-orange)
}

.stat-tile {
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 16px 38px rgba(184, 24, 99, .08)
}

.card-soft {
  border: 1px solid var(--pc-line);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(23, 32, 51, .06);
  transition: .25s;
  height: 100%
}

.card-soft:hover {
  transform: translateY(-6px);
  box-shadow: var(--pc-shadow)
}

.service-card {
  padding: 30px
}

.page-hero {
  padding: 145px 0 70px;
  background: radial-gradient(circle at 18% 8%, #ffe1ef 0, transparent 30%), linear-gradient(180deg, #fff7fb, #fff)
}

.crumb {
  font-weight: 800;
  color: var(--pc-primary)
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.feature-list li {
  display: flex;
  gap: 12px;
  margin-bottom: 13px;
  color: #344054
}

.feature-list i {
  color: var(--pc-primary);
  margin-top: 5px
}

.pink-panel {
  background: linear-gradient(135deg, #e83e8c, #b91863);
  color: #fff;
  border-radius: 34px;
  padding: 42px;
  box-shadow: 0 24px 65px rgba(184, 24, 99, .25);
  position: relative;
  overflow: hidden
}

.pink-panel:before {
  content: "";
  position: absolute;
  right: -80px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16)
}

.form-control,
.form-select {
  border-radius: 16px;
  border: 1px solid #ead5df;
  padding: 12px 14px
}

.form-control:focus,
.form-select:focus {
  border-color: #ff8fbd;
  box-shadow: 0 0 0 .25rem rgba(232, 62, 140, .12)
}

.form-label {
  font-weight: 800;
  color: #344054
}

.profile-shell {
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 32px;
  box-shadow: var(--pc-shadow);
  overflow: hidden
}

.profile-sidebar {
  background: linear-gradient(180deg, #fff7fb, #fff);
  border-right: 1px solid var(--pc-line);
  padding: 24px;
  height: 100%
}

.profile-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  color: #344054;
  font-weight: 800;
  margin-bottom: 7px;
  cursor: pointer
}

.profile-tab.active,
.profile-tab:hover {
  background: var(--pc-primary-soft);
  color: var(--pc-primary-dark)
}

.avatar-upload {
  width: 118px;
  height: 118px;
  border-radius: 34px;
  background: linear-gradient(135deg, #ffe1ef, #fff);
  border: 2px dashed #f6a7cc;
  display: grid;
  place-items: center;
  color: var(--pc-primary);
  font-size: 2rem
}

.resource-card .badge {
  border-radius: 999px
}

.rating-stars {
  color: #ffb703;
  letter-spacing: 2px
}

.review-pending {
  border-left: 5px solid var(--pc-orange)
}

.reviews-count-badge,
.review-featured-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid var(--pc-line);
  background: #fff;
  color: var(--pc-primary-dark);
  font-weight: 800;
  font-size: .84rem;
  padding: 8px 13px;
  white-space: nowrap
}

.review-featured-badge {
  background: var(--pc-primary-soft)
}

.review-submit-panel {
  position: sticky;
  top: 110px
}

@media (max-width: 991.98px) {
  .review-submit-panel {
    position: static
  }
}

.faq .accordion-item {
  border: 1px solid var(--pc-line);
  border-radius: 20px !important;
  overflow: hidden;
  margin-bottom: 14px
}

.faq .accordion-button {
  font-weight: 850
}

.faq .accordion-button:not(.collapsed) {
  background: var(--pc-primary-soft);
  color: var(--pc-primary-dark)
}

.cta-band {
  background: linear-gradient(135deg, #121827, #2a1632);
  color: #fff;
  border-radius: 38px;
  padding: 58px;
  position: relative;
  overflow: hidden
}

.cta-band:before {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(232, 62, 140, .28)
}

.footer {
  background: #0f172a;
  color: #cbd5e1;
  padding: 70px 0 25px
}

.footer a {
  color: #e2e8f0
}

.footer a:hover {
  color: #ff9ac8
}

.social a {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  display: inline-grid;
  place-items: center;
  margin-right: 8px
}

.timeline {
  position: relative;
  padding-left: 28px
}

.timeline:before {
  content: "";
  position: absolute;
  left: 8px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: #ffd6e9
}

.timeline-item {
  position: relative;
  margin-bottom: 22px
}

.timeline-item:before {
  content: "";
  position: absolute;
  left: -26px;
  top: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--pc-primary);
  border: 3px solid #fff;
  box-shadow: 0 0 0 4px #ffe1ef
}

.table>:not(caption)>*>* {
  padding: 1rem
}

.admin-pill {
  font-size: .74rem;
  font-weight: 900;
  border-radius: 999px;
  padding: 7px 10px
}

.approved {
  background: #ecfdf5;
  color: #047857
}

.pending {
  background: #fff7ed;
  color: #b45309
}

.rejected {
  background: #fef2f2;
  color: #b91c1c
}

.blog-img,
.service-img {
  height: 220px;
  border-radius: 24px;
  background: linear-gradient(135deg, #ffe1ef, #fff0f7 45%, #f4e8ff);
  position: relative;
  overflow: hidden
}

.blog-img:after,
.service-img:after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  right: 30px;
  top: 40px;
  background: rgba(232, 62, 140, .18)
}

.service-page-image {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block
}

.mini-card {
  padding: 18px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--pc-line);
  box-shadow: 0 12px 35px rgba(23, 32, 51, .06)
}

.contact-card {
  padding: 28px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--pc-line);
  box-shadow: var(--pc-shadow)
}

@media(max-width:991px) {
  .hero {
    padding-top: 130px
  }

  .display-title {
    font-size: 3rem
  }

  .care-visual {
    min-height: 430px
  }

  .profile-sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--pc-line)
  }
}

@media(max-width:575px) {
  .section {
    padding: 80px 0
  }

  .hero {
    min-height: auto;
    padding-bottom: 60px
  }

  .display-title {
    font-size: 2.45rem
  }

  .floating-card {
    display: none
  }

  .pink-panel,
  .cta-band {
    padding: 30px;
    border-radius: 26px
  }

  .navbar {
    padding: 12px 0
  }
}

/* Premium homepage upgrade */
.top-strip {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1040;
  background: linear-gradient(135deg, #b91863, #e83e8c);
  color: #fff;
  font-size: .86rem;
  font-weight: 700;
  padding: 8px 0
}

.navbar-premium {
  top: 0
}

.top-strip+.navbar-premium {
  top: 36px
}

.hero-premium {
  padding-top: 190px;
  background: radial-gradient(circle at 12% 12%, #ffe0ef 0, transparent 28%), radial-gradient(circle at 84% 20%, #ffd4e8 0, transparent 26%), linear-gradient(180deg, #fff7fb 0%, #fff 74%)
}

.hero-premium:after {
  content: "";
  position: absolute;
  inset: auto -10% -160px -10%;
  height: 260px;
  background: linear-gradient(180deg, transparent, #fff);
  pointer-events: none
}

.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.trust-row div {
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border: 1px solid var(--pc-line);
  box-shadow: 0 12px 30px rgba(184, 24, 99, .08);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  color: #344054
}

.trust-row i {
  color: var(--pc-primary)
}

.hero-photo-wrap {
  position: relative;
  border-radius: 42px;
  padding: 16px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow: var(--pc-shadow)
}

.hero-photo {
  width: 100%;
  height: 620px;
  object-fit: cover;
  border-radius: 34px;
  display: block
}

.hero-photo-wrap:before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(185, 24, 99, 0) 45%, rgba(24, 24, 35, .55));
  z-index: 1;
  pointer-events: none
}

.hero-metric-card,
.booking-card {
  position: absolute;
  z-index: 3;
  background: #fff;
  border: 1px solid var(--pc-line);
  box-shadow: 0 22px 55px rgba(23, 32, 51, .15);
  border-radius: 24px
}

.hero-metric-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px
}

.hero-metric-card i,
.avatar-dot {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: var(--pc-primary-soft);
  color: var(--pc-primary);
  font-size: 1.2rem
}

.hero-metric-card strong {
  display: block;
  font-size: 1.25rem;
  line-height: 1
}

.hero-metric-card small {
  color: var(--pc-muted);
  font-weight: 700
}

.metric-top {
  top: 38px;
  left: -16px
}

.metric-bottom {
  right: -18px;
  top: 48%
}

.booking-card {
  left: 38px;
  right: 38px;
  bottom: 38px;
  padding: 20px
}

.booking-card .progress-bar,
.dash-progress span {
  background: linear-gradient(135deg, var(--pc-primary), var(--pc-primary-dark))
}

.logo-cloud {
  padding-top: 38px;
  padding-bottom: 38px
}

.logo-pill {
  background: #fff;
  border: 1px solid var(--pc-line);
  box-shadow: 0 12px 30px rgba(23, 32, 51, .05);
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 900;
  color: #344054
}

.logo-pill i {
  color: var(--pc-primary);
  margin-right: 6px
}

.services-showcase {
  position: relative;
  overflow: hidden
}

.services-showcase:before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  right: -180px;
  top: 40px;
  background: rgba(232, 62, 140, .12)
}

.premium-service-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(23, 32, 51, .08);
  transition: .25s;
  position: relative
}

.premium-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 70px rgba(184, 24, 99, .16)
}

.premium-service-card img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  display: block
}

.premium-service-placeholder {
  height: 245px;
  border-radius: 0
}

.service-content {
  padding: 24px
}

.service-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--pc-primary-soft);
  color: var(--pc-primary-dark);
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
  font-size: .78rem;
  margin-bottom: 14px
}

.premium-service-card h4 {
  font-weight: 900;
  letter-spacing: -.025em
}

.premium-service-card p {
  color: var(--pc-muted);
  margin-bottom: 16px
}

.link-pink {
  font-weight: 900;
  color: var(--pc-primary-dark)
}

.link-pink:hover {
  color: var(--pc-primary)
}

.carousel-controls .btn {
  width: 48px;
  height: 48px;
  padding: 0;
  display: grid;
  place-items: center
}

.service-indicators {
  position: static;
  margin-top: 28px
}

.service-indicators [data-bs-target] {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--pc-primary);
  opacity: .28;
  border: 0
}

.service-indicators .active {
  width: 34px;
  opacity: 1
}

.feature-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 12px 35px rgba(23, 32, 51, .06)
}

.feature-card i {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--pc-primary-soft);
  color: var(--pc-primary);
  font-size: 1.2rem;
  margin-bottom: 16px
}

.feature-card h5 {
  font-weight: 900
}

.feature-card p {
  color: var(--pc-muted);
  margin-bottom: 0
}

.dashboard-preview {
  background: linear-gradient(180deg, #fff, #fff7fb);
  border: 1px solid var(--pc-line);
  border-radius: 36px;
  padding: 26px;
  box-shadow: var(--pc-shadow);
  position: relative;
  overflow: hidden
}

.dashboard-preview:before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  right: -90px;
  top: -90px;
  background: rgba(232, 62, 140, .1)
}

.dash-header {
  display: flex;
  gap: 8px;
  margin-bottom: 22px
}

.dash-header span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ffd6e9
}

.dash-profile,
.dash-tile {
  position: relative;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 12px 35px rgba(23, 32, 51, .05)
}

.dash-avatar {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--pc-primary), #ff9ac8);
  color: #fff;
  font-size: 1.45rem
}

.dash-progress {
  height: 10px;
  background: #ffe1ef;
  border-radius: 99px;
  margin: 18px 0;
  overflow: hidden
}

.dash-progress span {
  height: 100%;
  border-radius: 99px;
  display: block
}

.dash-tile i {
  color: var(--pc-primary);
  font-size: 1.35rem
}

.dash-tile strong {
  display: block;
  margin-top: 8px
}

.dash-tile small {
  color: var(--pc-muted)
}

.process-section {
  background: linear-gradient(135deg, #121827, #2a1632);
  color: #fff
}

.process-section .lead-muted,
.process-section p {
  color: #cbd5e1
}

.process-card {
  height: 100%;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 30px;
  padding: 28px;
  position: relative;
  overflow: hidden
}

.process-card span {
  position: absolute;
  right: 22px;
  top: 18px;
  font-weight: 900;
  font-size: 3rem;
  color: rgba(255, 255, 255, .08);
  line-height: 1
}

.process-card i {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: #fff;
  color: var(--pc-primary);
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  margin-bottom: 22px
}

.process-card h4 {
  font-weight: 900
}

.testimonial-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 30px;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, .07)
}

.testimonial-card p {
  font-size: 1.05rem;
  color: #344054
}

.featured-review {
  background: linear-gradient(180deg, #fff, #fff4fa);
  box-shadow: var(--pc-shadow)
}

.review-user {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 22px
}

.review-user img {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  object-fit: cover
}

.review-avatar {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 54px;
  background: #e53b89;
  color: #fff;
  font-weight: 900;
}

.review-user strong {
  display: block
}

.review-user small {
  color: var(--pc-muted)
}

.impact-band {
  background: linear-gradient(135deg, #ffe1ef, #fff7fb);
  border: 1px solid #fff;
  border-radius: 38px;
  padding: 46px;
  box-shadow: var(--pc-shadow)
}

.impact-stat {
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 26px;
  padding: 22px;
  text-align: center;
  height: 100%
}

.impact-stat strong {
  display: block;
  font-size: 2rem;
  font-weight: 900;
  color: var(--pc-primary-dark);
  letter-spacing: -.04em
}

.impact-stat span {
  font-weight: 800;
  color: #475467
}

.newsletter-panel {
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 38px;
  padding: 44px;
  box-shadow: 0 18px 50px rgba(23, 32, 51, .07)
}

.newsletter-form {
  display: flex;
  gap: 10px;
  background: #fff7fb;
  border: 1px solid var(--pc-line);
  border-radius: 999px;
  padding: 8px
}

.newsletter-form .form-control {
  border: 0;
  background: transparent;
  box-shadow: none
}

.newsletter-form .btn {
  white-space: nowrap
}

@media(max-width:991px) {
  .top-strip {
    display: none !important
  }

  .top-strip+.navbar-premium {
    top: 0
  }

  .hero-premium {
    padding-top: 130px
  }

  .hero-photo {
    height: 500px
  }

  .metric-top {
    left: 26px
  }

  .metric-bottom {
    right: 26px
  }
}

@media(max-width:575px) {
  .hero-photo {
    height: 420px
  }

  .hero-metric-card {
    display: none
  }

  .booking-card {
    left: 26px;
    right: 26px;
    bottom: 26px
  }

  .newsletter-form {
    border-radius: 26px;
    display: block
  }

  .newsletter-form .btn {
    width: 100%;
    margin-top: 8px
  }

  .impact-band,
  .newsletter-panel {
    padding: 28px;
    border-radius: 28px
  }

  .premium-service-card img,
  .premium-service-placeholder {
    height: 220px
  }
}

/* Guest-friendly homepage final enhancement */
.guest-hero .display-title {
  max-width: 760px
}

.guest-hero .lead-muted {
  max-width: 650px
}

.guest-care-card {
  background: rgba(255, 255, 255, .96)
}

.care-story-card {
  position: relative;
  border-radius: 38px;
  overflow: hidden;
  box-shadow: var(--pc-shadow);
  border: 1px solid var(--pc-line);
  min-height: 610px;
  background: #fff
}

.care-story-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.care-story-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 32, 51, .02) 15%, rgba(23, 32, 51, .68) 100%);
  z-index: 1
}

.care-story-overlay {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 28px;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 30px;
  padding: 28px;
  box-shadow: 0 24px 60px rgba(23, 32, 51, .18)
}

.care-story-overlay h3 {
  font-weight: 900;
  letter-spacing: -.04em;
  font-size: 2rem;
  margin: 16px 0 10px
}

.care-story-overlay p {
  color: var(--pc-muted)
}

.premium-service-card {
  isolation: isolate
}

.premium-service-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(232, 62, 140, .08));
  opacity: 0;
  transition: .25s;
  z-index: 1;
  pointer-events: none
}

.premium-service-card:hover:before {
  opacity: 1
}

.premium-service-card img {
  transition: .35s
}

.premium-service-card:hover img {
  transform: scale(1.04)
}

.service-content {
  position: relative;
  z-index: 2;
  background: #fff
}

.carousel .row {
  margin-left: 0;
  margin-right: 0
}

.carousel .carousel-item {
  transition: transform .65s ease-in-out
}

.carousel-controls .btn {
  box-shadow: 0 14px 34px rgba(184, 24, 99, .12)
}

.testimonial-card {
  position: relative;
  overflow: hidden
}

.testimonial-card:before {
  content: "\F6B0";
  font-family: "bootstrap-icons";
  position: absolute;
  right: 24px;
  top: 18px;
  font-size: 3.8rem;
  color: rgba(232, 62, 140, .08);
  line-height: 1
}

.testimonial-card p,
.testimonial-card .review-user {
  position: relative;
  z-index: 1
}

.rating-stars {
  font-size: 1.1rem
}

.featured-review {
  border-color: #ffc8df
}

.process-section .eyebrow {
  color: var(--pc-primary-dark)
}

.impact-band {
  position: relative;
  overflow: hidden
}

.impact-band:before {
  content: "";
  position: absolute;
  left: -100px;
  bottom: -110px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(232, 62, 140, .12)
}

.impact-band>.row {
  position: relative;
  z-index: 1
}

.newsletter-panel {
  background: radial-gradient(circle at 88% 20%, #ffe1ef, transparent 28%), #fff
}

.footer .btn-primary {
  box-shadow: none
}

@media(max-width:991px) {
  .care-story-card {
    min-height: 520px
  }

  .premium-service-card img,
  .premium-service-placeholder {
    height: 235px
  }

  .navbar .btn-sm {
    margin-top: 10px
  }
}

@media(max-width:767px) {

  .services-showcase .carousel-controls,
  #reviews .carousel-controls {
    width: 100%;
    justify-content: flex-start
  }

  .testimonial-card {
    min-height: auto
  }

  .hero-premium {
    padding-top: 130px
  }

  .care-story-overlay {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 22px
  }

  .care-story-overlay h3 {
    font-size: 1.6rem
  }
}

@media(max-width:575px) {
  .trust-row div {
    width: 100%;
    justify-content: center
  }

  .stat-tile {
    padding: 16px;
    text-align: center
  }

  .stat-tile h3 {
    font-size: 1.35rem
  }

  .hero-photo {
    height: 430px
  }

  .booking-card.guest-care-card {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: 16px
  }

  .hero-photo-wrap:before {
    display: none
  }

  .care-story-card {
    min-height: 600px
  }

  .service-indicators {
    margin-bottom: 0
  }
}

/* Homepage spacing + professional quick support enhancement */
.hero-premium {
  min-height: auto;
  padding: 132px 0 64px;
}

.top-strip+.navbar-premium {
  top: 38px;
}

.logo-cloud {
  display: none;
}

.quick-support-panel {
  padding: 28px 0 24px;
  background: #fff;
  position: relative;
  z-index: 2;
}

.support-card-row {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
  gap: 18px;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 34px;
  padding: 18px;
  box-shadow: 0 20px 55px rgba(23, 32, 51, .07);
}

.support-intro {
  padding: 14px 18px;
}

.support-intro h2 {
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: -.04em;
  margin: 14px 0 8px;
}

.support-intro p {
  color: var(--pc-muted);
  margin: 0;
  font-size: .96rem;
}

.quick-support-item {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 20px;
  border-radius: 26px;
  border: 1px solid #f6d7e5;
  background: linear-gradient(180deg, #fff, #fff7fb);
  color: var(--pc-ink);
  transition: .25s;
  min-height: 116px;
}

.quick-support-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(184, 24, 99, .12);
  color: var(--pc-ink);
  border-color: #f5aacd;
}

.quick-support-item i {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--pc-primary), #ff9ac8);
  color: #fff;
  font-size: 1.3rem;
  flex: 0 0 auto;
}

.quick-support-item strong {
  display: block;
  font-weight: 900;
  letter-spacing: -.025em;
  margin-bottom: 2px;
}

.quick-support-item small {
  display: block;
  color: var(--pc-muted);
  font-weight: 650;
  line-height: 1.35;
}

.services-showcase {
  padding-top: 58px;
}

.service-side-control {
  width: 46px;
  height: 46px;
  top: 42%;
  background: linear-gradient(135deg, var(--pc-primary), var(--pc-primary-dark));
  opacity: 1;
  border-radius: 999px;
  box-shadow: 0 16px 35px rgba(184, 24, 99, .22);
}

.service-side-control.carousel-control-prev {
  left: -18px;
}

.service-side-control.carousel-control-next {
  right: -18px;
}

.service-side-control .carousel-control-prev-icon,
.service-side-control .carousel-control-next-icon {
  width: 1.15rem;
  height: 1.15rem;
}

#servicesCarousel {
  padding: 0 10px;
}

#servicesCarousel .carousel-inner {
  overflow: hidden;
  border-radius: 34px;
}

#servicesCarousel .carousel-item {
  padding: 4px 0 8px;
}

#servicesCarousel .premium-service-card {
  margin-bottom: 8px;
}

@media(max-width:991px) {
  .top-strip+.navbar-premium {
    top: 0
  }

  .hero-premium {
    padding: 124px 0 48px
  }

  .support-card-row {
    grid-template-columns: 1fr 1fr
  }

  .support-intro {
    grid-column: 1/-1
  }

  .services-showcase {
    padding-top: 48px
  }

  .service-side-control.carousel-control-prev {
    left: 2px
  }

  .service-side-control.carousel-control-next {
    right: 2px
  }
}

@media(max-width:575px) {
  .support-card-row {
    grid-template-columns: 1fr;
    border-radius: 26px;
    padding: 12px
  }

  .quick-support-panel {
    padding: 18px 0
  }

  .quick-support-item {
    min-height: auto
  }

  .hero-premium {
    padding-bottom: 34px
  }

  .services-showcase {
    padding-top: 36px
  }

  .service-side-control {
    display: none
  }

  .section {
    padding: 80px 0
  }

  .section-sm {
    padding: 54px 0
  }
}

/* Care Together logo */
.navbar-brand.site-brand {
  flex-shrink: 0;
  padding: 0;
  margin-right: 0;
  line-height: 0;
  min-width: 0
}

.site-logo {
  display: block;
  width: auto;
  height: 56px;
  max-width: min(260px, 72vw);
  object-fit: contain;
  object-position: left center;
  transition: transform .2s ease
}

.site-brand:hover .site-logo {
  transform: scale(1.02)
}

@media(min-width:768px) {
  .site-logo {
    height: 64px;
    max-width: min(300px, 38vw)
  }
}

@media(min-width:1200px) {
  .site-logo {
    height: 65px;
    max-width: 320px
  }
}

@media(max-width:575px) {
  .navbar-premium .container {
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding-left: 14px;
    padding-right: 14px
  }

  .navbar-brand.site-brand {
    max-width: calc(100vw - 82px);
    overflow: hidden;
    order: 1
  }

  .site-logo {
    height: 46px;
    max-width: 100%
  }

  .navbar-toggler {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    padding: 0;
    margin-left: auto;
    border: 1px solid rgba(184, 24, 99, .22);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(184, 24, 99, .12);
    order: 2
  }

  .navbar-toggler:focus {
    box-shadow: 0 0 0 .18rem rgba(232, 62, 140, .2)
  }

  .navbar-toggler-icon {
    width: 22px;
    height: 16px;
    background-image: linear-gradient(var(--pc-primary-dark), var(--pc-primary-dark)), linear-gradient(var(--pc-primary-dark), var(--pc-primary-dark)), linear-gradient(var(--pc-primary-dark), var(--pc-primary-dark));
    background-position: left top, left center, left bottom;
    background-repeat: no-repeat;
    background-size: 22px 2px;
    opacity: 1
  }

  .navbar-collapse {
    flex-basis: 100%;
    min-width: 0;
    order: 3;
    width: 100%
  }

  .navbar-collapse.show,
  .navbar-collapse.collapsing {
    margin-top: 14px;
    padding: 12px;
    border: 1px solid rgba(184, 24, 99, .12);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 36px rgba(184, 24, 99, .12)
  }

  .navbar-nav {
    align-items: stretch
  }

  .navbar-nav .nav-link {
    padding: 10px 12px;
    border-radius: 12px
  }
}

/* Homepage articles */
.articles-section {
  position: relative;
  overflow: hidden
}

.articles-section:before {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  left: -160px;
  bottom: -120px;
  background: rgba(232, 62, 140, .1);
  pointer-events: none
}

.articles-section:after {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  right: -120px;
  top: 40px;
  background: rgba(255, 214, 233, .75);
  pointer-events: none
}

.articles-section>.container {
  position: relative;
  z-index: 1
}

.articles-intro {
  max-width: 720px
}

.article-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(23, 32, 51, .08);
  transition: .25s
}

.article-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 70px rgba(184, 24, 99, .16)
}

.article-card-media {
  display: block;
  overflow: hidden
}

.article-card-media img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
  transition: transform .35s ease
}

.article-card:hover .article-card-media img {
  transform: scale(1.05)
}

.article-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1
}

.article-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px
}

.article-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--pc-primary-soft);
  color: var(--pc-primary-dark);
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
  font-size: .76rem
}

.article-date {
  font-size: .82rem;
  font-weight: 800;
  color: var(--pc-muted);
  white-space: nowrap
}

.article-card h3 {
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: -.025em;
  margin-bottom: 10px;
  line-height: 1.25
}

.article-card h3 a {
  color: var(--pc-ink)
}

.article-card h3 a:hover {
  color: var(--pc-primary-dark)
}

.article-card p {
  color: var(--pc-muted);
  margin-bottom: 18px;
  flex: 1
}

.article-card-featured {
  background: linear-gradient(180deg, #fff, #fff7fb);
  border-color: #f5c8dd
}

.view-all-articles {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--pc-line);
  color: var(--pc-primary-dark);
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(184, 24, 99, .1);
  transition: .25s
}

.view-all-articles:hover {
  color: var(--pc-primary);
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(184, 24, 99, .16)
}

@media(max-width:991px) {
  .article-card-media img {
    height: 220px
  }
}

@media(max-width:575px) {
  .articles-intro h2 {
    font-size: 2rem
  }

  .article-card-media img {
    height: 210px
  }

  .article-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px
  }
}

/* About page */
.about-hero {
  padding-bottom: 80px
}

.about-section-intro {
  max-width: 720px
}

.about-story-visual {
  position: relative;
  border-radius: 38px;
  overflow: hidden;
  box-shadow: var(--pc-shadow);
  border: 1px solid var(--pc-line)
}

.about-story-visual img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block
}

.about-story-badge {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 24px;
  padding: 16px 20px;
  box-shadow: 0 22px 55px rgba(23, 32, 51, .15)
}

.about-story-badge i {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--pc-primary-soft);
  color: var(--pc-primary);
  font-size: 1.3rem
}

.about-story-badge strong {
  display: block;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--pc-primary-dark);
  line-height: 1
}

.about-story-badge small {
  color: var(--pc-muted);
  font-weight: 700
}

.mv-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 34px;
  padding: 34px;
  box-shadow: 0 20px 50px rgba(23, 32, 51, .08);
  transition: .25s
}

.mv-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 70px rgba(184, 24, 99, .14)
}

.mv-card-vision {
  background: linear-gradient(180deg, #fff, #fff7fb);
  border-color: #f5c8dd
}

.mv-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--pc-primary), #ff9ac8);
  color: #fff;
  font-size: 1.45rem;
  margin-bottom: 20px;
  box-shadow: 0 14px 30px rgba(232, 62, 140, .25)
}

.mv-label {
  display: inline-block;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--pc-primary-dark);
  margin-bottom: 10px
}

.mv-card h3 {
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: -.03em;
  margin-bottom: 14px;
  line-height: 1.2
}

.mv-card>p {
  color: var(--pc-muted);
  margin-bottom: 18px
}

.mv-points {
  list-style: none;
  padding: 0;
  margin: 0
}

.mv-points li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: 10px;
  color: #344054;
  font-weight: 650
}

.mv-points i {
  color: var(--pc-primary);
  font-size: 1.35rem;
  line-height: 1.2;
  margin-top: -1px
}

.about-why-card {
  height: 100%
}

.about-value-tile {
  height: 100%
}

.about-mv-section {
  position: relative;
  overflow: hidden
}

.about-mv-section:before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  right: -140px;
  top: -80px;
  background: rgba(232, 62, 140, .08);
  pointer-events: none
}

@media(max-width:991px) {
  .about-story-visual img {
    height: 440px
  }

  .top-strip+.navbar-premium {
    top: 0
  }
}

@media(max-width:575px) {
  .about-story-visual img {
    height: 360px
  }

  .about-story-badge {
    left: 18px;
    right: 18px;
    bottom: 18px
  }

  .mv-card {
    padding: 26px;
    border-radius: 28px
  }

  .mv-card h3 {
    font-size: 1.3rem
  }
}
