/* Homepage architecture — patient intent, physician trust, and local access. */
.section-heading h2,
.why-nuself h2,
.locations-home h2,
.testimonials-home h2,
.care-journey h2,
.home-resources h2,
.home-faq h2,
.home-next h2 {
  margin: 0;
  color: var(--navy-deep);
  font-size: clamp(2.65rem, 4.1vw, 4.25rem);
  font-weight: 580;
  line-height: 1.02;
  letter-spacing: -.048em;
  text-wrap: balance;
}

.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
  gap: clamp(60px, 9vw, 140px);
  align-items: end;
}

.section-heading--split > div:last-child > p {
  margin: 0;
  color: var(--slate);
  font-size: 1.04rem;
  line-height: 1.72;
}

.why-nuself {
  padding: clamp(88px, 9vw, 132px) 0;
  background: #fff;
}

.why-nuself__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  gap: clamp(56px, 9vw, 135px);
  align-items: end;
}

.why-nuself__intro > p {
  margin: 0 0 4px;
  color: var(--slate);
  font-size: 1.08rem;
  line-height: 1.72;
}

.why-nuself__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(52px, 6vw, 78px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.why-nuself__grid article {
  min-height: 230px;
  padding: 33px clamp(22px, 2.3vw, 38px) 36px;
  border-right: 1px solid var(--line);
}

.why-nuself__grid article:first-child { padding-left: 0; }
.why-nuself__grid article:last-child { padding-right: 0; border-right: 0; }
.why-nuself__grid h3 { margin: 0; color: var(--navy-deep); font-size: 1.28rem; font-weight: 620; line-height: 1.2; letter-spacing: -.025em; }
.why-nuself__grid p { margin: 18px 0 0; color: var(--slate); font-size: .94rem; line-height: 1.68; }

.common-care__heading > div:last-child {
  display: flex;
  justify-content: flex-end;
}

.common-care__heading .text-link {
  margin-top: 0;
}

.common-care {
  padding: clamp(90px, 10vw, 145px) 0;
  background: var(--mist);
}

.common-care__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 70px;
}

.care-card {
  position: relative;
  min-height: 490px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  transition: transform .35s var(--ease), border-color .3s ease, box-shadow .35s ease;
}

.care-card__media {
  height: 214px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff;
}

.care-card__media img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  transition: transform .55s var(--ease);
}

.care-card__body {
  flex: 1;
  padding: clamp(27px, 2.5vw, 37px) clamp(26px, 2.5vw, 37px) 76px;
  background: #fff;
}

.care-card h3 {
  margin: 0;
  color: var(--navy-deep);
  font-size: clamp(1.45rem, 1.7vw, 1.9rem);
  font-weight: 590;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.care-card__body > span {
  display: block;
  margin-top: 16px;
  color: var(--slate);
  font-size: .94rem;
  line-height: 1.62;
}

.care-card > i {
  position: absolute;
  right: 26px;
  bottom: 25px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(11, 39, 70, .24);
  border-radius: 50%;
  color: var(--navy);
  font-style: normal;
  transition: transform .3s var(--ease), background .3s ease, color .3s ease;
}

.care-card:hover { transform: translateY(-5px); border-color: #b9dbe7; box-shadow: 0 18px 38px rgba(7, 27, 49, .09); }
.care-card:hover .care-card__media img { transform: scale(1.035); }
.care-card:hover > i { transform: translate(3px, -3px); background: var(--blue); border-color: var(--blue); color: var(--navy-deep); }

.physicians--featured {
  padding: clamp(95px, 10vw, 145px) 0;
  background: #fff;
}

.physicians__heading {
  display: block;
}

.physicians__heading h2 {
  max-width: 820px;
}

.physician-feature {
  display: grid;
  grid-template-columns: minmax(360px, .86fr) minmax(0, 1.14fr);
  margin-top: 72px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--navy-deep);
  color: #fff;
}

.physician-feature__image {
  min-height: 650px;
  overflow: hidden;
  background: #e7edf0;
}

.physician-feature__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.82);
  transition: transform .9s var(--ease), filter .6s ease;
}

.physician-feature:hover .physician-feature__image img { transform: scale(1.018); filter: saturate(.96); }

.physician-feature__content {
  padding: clamp(54px, 6vw, 92px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.physician-role {
  margin: 0 0 17px;
  color: var(--blue);
  font-size: .75rem;
  font-weight: 730;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.physician-feature h3,
.physician-profile-card h3 {
  margin: 0;
  font-weight: 580;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.physician-feature h3 { color: #fff; font-size: clamp(2.8rem, 4.5vw, 4.7rem); }
.physician-credentials { margin: 13px 0 0; color: rgba(255, 255, 255, .58); font-size: .92rem; letter-spacing: .04em; }
.physician-summary { max-width: 680px; margin: 30px 0 0; color: rgba(255, 255, 255, .74); font-size: 1.06rem; line-height: 1.72; }
.physician-innovation { max-width: 680px; margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .18); }
.physician-innovation strong { display: block; color: var(--blue); font-size: .68rem; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; }
.physician-innovation p { margin: 10px 0 0; color: rgba(255, 255, 255, .7); font-size: .94rem; line-height: 1.66; }

.hero__assessment-action { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }

.physician-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 640px;
  margin-top: 34px;
  border-top: 1px solid rgba(255, 255, 255, .2);
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.physician-proof > div {
  padding: 21px 22px 20px 0;
  border-right: 1px solid rgba(255, 255, 255, .18);
}

.physician-proof > div + div { padding-left: 22px; }
.physician-proof > div:last-child { border-right: 0; }
.physician-proof strong,
.physician-proof span { display: block; }
.physician-proof strong { color: #fff; font-size: clamp(1.55rem, 2.25vw, 2.2rem); font-weight: 610; line-height: 1; letter-spacing: -.035em; }
.physician-proof span { margin-top: 8px; color: rgba(255, 255, 255, .57); font-size: .67rem; font-weight: 690; letter-spacing: .12em; text-transform: uppercase; }

.physician-focus {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 30px;
}

.physician-focus span {
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .2);
  color: rgba(255, 255, 255, .75);
  font-size: .75rem;
}

.physician-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 30px; margin-top: 35px; }
.physician-actions .button--navy { background: #fff; border-color: #fff; color: var(--navy-deep); }
.physician-actions .button--navy:hover { background: var(--blue); border-color: var(--blue); }
.physician-actions .text-link { color: #fff; margin-top: 0; }

.physician-supporting-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.physician-profile-card {
  min-height: 720px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  background: var(--mist);
}

.physician-profile-card__image { height: 410px; overflow: hidden; background: #e7edf0; }
.physician-profile-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 17%; filter: saturate(.82); transition: transform .7s var(--ease), filter .6s ease; }
.physician-profile-card--panjwani .physician-profile-card__image img { object-position: center 13%; }
.physician-profile-card:hover .physician-profile-card__image img { transform: scale(1.02); filter: saturate(1); }
.physician-profile-card__body { flex: 1; padding: clamp(32px, 3.2vw, 48px); display: flex; flex-direction: column; }
.physician-profile-card h3 { color: var(--navy-deep); font-size: clamp(1.8rem, 2.6vw, 2.7rem); }
.physician-profile-card .physician-credentials { color: #72808a; }
.physician-profile-card__body > p:not(.physician-role):not(.physician-credentials) { margin: 23px 0 0; color: var(--slate); font-size: 1rem; line-height: 1.65; }
.physician-profile-card .text-link { margin-top: auto; padding-top: 30px; }
.physicians__all { display: flex; justify-content: flex-end; }

.precision { min-height: 680px; }
.precision__media { position: relative; min-height: 680px; background: #cfd6da; }
.precision__media img { object-fit: contain; object-position: center; filter: saturate(.78) contrast(1.04); }
.precision__caption { position: absolute; left: 22px; bottom: 18px; padding: 8px 11px; background: rgba(7, 27, 49, .72); color: rgba(255, 255, 255, .76); font-size: .66rem; letter-spacing: .08em; }

.testimonials-home {
  padding: clamp(90px, 10vw, 142px) 0;
  background: var(--mist);
}

.testimonials-home__heading > div:last-child {
  display: flex;
  justify-content: flex-end;
}

.testimonials-home__heading .text-link { margin-top: 0; }

.testimonials-home__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 65px;
}

.testimonials-home figure {
  min-height: 365px;
  margin: 0;
  padding: clamp(32px, 3.4vw, 48px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  background: #fff;
}

.testimonial-stars { color: #0a85b3; font-size: .82rem; letter-spacing: .19em; }
.testimonials-home blockquote { margin: 30px 0 34px; color: var(--navy-deep); font-size: 1.04rem; line-height: 1.72; }
.testimonials-home figcaption { margin-top: auto; padding-top: 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; border-top: 1px solid var(--line); color: var(--navy); font-size: .76rem; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }
.testimonials-home figcaption a { color: var(--blue); font-size: .66rem; letter-spacing: .08em; }
.testimonials-home figcaption i { font-style: normal; }

.locations-home {
  padding: clamp(95px, 10vw, 145px) 0;
  background: #fff;
}

.office-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 68px;
}

.office-card {
  min-height: 325px;
  padding: clamp(30px, 3.2vw, 46px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  background: #fff;
  transition: transform .3s var(--ease), background .3s ease;
}

.office-card:hover { transform: translateY(-4px); background: var(--mist); }
.office-card > p,
.facility-list__label { margin: 0 0 25px; color: var(--blue); font-size: .75rem; font-weight: 730; letter-spacing: .15em; text-transform: uppercase; }
.office-card h3 { margin: 0; color: var(--navy-deep); font-size: clamp(1.6rem, 2.1vw, 2.15rem); font-weight: 590; letter-spacing: -.035em; }
.office-card address { margin-top: 25px; color: var(--slate); font-size: 1rem; font-style: normal; line-height: 1.7; }
.office-card > span { display: flex; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 28px; border-top: 1px solid var(--line); color: var(--navy); font-size: .82rem; font-weight: 660; }
.office-card i { color: var(--blue); font-style: normal; }

.facility-list {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: clamp(40px, 7vw, 100px);
  margin-top: 20px;
  padding: clamp(38px, 4.5vw, 64px);
  background: var(--navy);
  color: #fff;
}

.facility-list h3 { margin: 0; color: #fff; font-size: clamp(1.65rem, 2.5vw, 2.65rem); font-weight: 570; line-height: 1.08; letter-spacing: -.035em; }
.facility-list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; margin: 0; padding: 0; list-style: none; }
.facility-list li { position: relative; padding: 17px 0 17px 22px; border-bottom: 1px solid rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .78); font-size: 1rem; line-height: 1.45; }
.facility-list li::before { content: "→"; position: absolute; left: 0; color: var(--blue); }
.facility-list li a { display: flex; justify-content: space-between; gap: 18px; color: inherit; }
.facility-list li a span { color: var(--blue); }

.care-journey {
  padding: clamp(90px, 10vw, 145px) 0;
  background: var(--navy-deep);
  color: #fff;
}

.care-journey__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); gap: clamp(70px, 11vw, 165px); align-items: start; }
.care-journey h2 { color: #fff; }
.care-journey__intro > p:not(.section-index) { max-width: 570px; margin: 29px 0 0; color: rgba(255, 255, 255, .67); font-size: 1.02rem; line-height: 1.75; }
.journey-list { margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .23); list-style: none; }
.journey-list li { position: relative; padding: 31px 54px 31px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.journey-list li::after { content: "→"; position: absolute; top: 31px; right: 2px; color: var(--blue); font-size: 1.25rem; }
.journey-list li:last-child::after { content: "↗"; }
.journey-list span { color: #fff; font-size: 1.28rem; font-weight: 590; letter-spacing: -.02em; }
.journey-list p { margin: 9px 0 0; color: rgba(255, 255, 255, .58); font-size: 1rem; line-height: 1.55; }

.home-resources {
  padding: clamp(85px, 9vw, 125px) 0;
  background: #fff;
}

.resource-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 55px;
  margin-top: 58px;
  border-top: 1px solid var(--line);
}

.resource-links a { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 92px; border-bottom: 1px solid var(--line); color: var(--navy-deep); font-size: 1.12rem; font-weight: 570; transition: color .2s ease, padding .3s var(--ease); }
.resource-links a:hover { padding-inline: 12px; color: #0877a0; }
.resource-links i { color: var(--blue); font-style: normal; }

.home-faq {
  padding: clamp(90px, 10vw, 140px) 0;
  background: var(--mist);
}

.home-faq__layout { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); gap: clamp(65px, 10vw, 145px); }
.home-faq__heading { position: sticky; top: 130px; align-self: start; }
.home-faq__list { border-top: 1px solid #bdcbd2; }
.home-faq__list details { border-bottom: 1px solid #bdcbd2; }
.home-faq__list summary { position: relative; padding: 27px 48px 27px 0; color: var(--navy-deep); font-size: 1.08rem; font-weight: 620; line-height: 1.45; cursor: pointer; list-style: none; }
.home-faq__list summary::-webkit-details-marker { display: none; }
.home-faq__list summary::after { content: "+"; position: absolute; top: 24px; right: 2px; color: var(--blue); font-size: 1.55rem; font-weight: 350; }
.home-faq__list details[open] summary::after { content: "−"; }
.home-faq__list p { max-width: 760px; margin: -4px 52px 27px 0; color: var(--slate); font-size: 1rem; line-height: 1.7; }

.home-next {
  padding: clamp(82px, 8vw, 112px) 0;
  background: var(--navy);
  color: #fff;
}

.home-next__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(60px, 9vw, 130px); align-items: end; }
.home-next h2 { color: #fff; }
.home-next__inner > div:last-child > p { margin: 0; color: rgba(255, 255, 255, .69); font-size: 1rem; line-height: 1.72; }
.home-next__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 29px; }
.home-next__phone { margin-left: 10px; padding-bottom: 6px; border-bottom: 1px solid rgba(255, 255, 255, .45); color: #fff; font-size: .9rem; font-weight: 680; }

.mega-founder {
  position: relative;
  min-height: 190px;
  display: grid !important;
  grid-template-columns: 96px 1fr;
  gap: 17px;
  align-items: center;
  padding: 16px !important;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff !important;
}

.mega-founder::after { display: none !important; }
.mega-founder img { width: 96px; height: 145px; object-fit: cover; object-position: center top; filter: saturate(.8); }
.mega-founder span { min-width: 0; }
.mega-founder small,
.mega-founder strong,
.mega-founder em { display: block; }
.mega-founder small { margin-bottom: 10px; color: var(--blue); font-size: .75rem; font-style: normal; font-weight: 730; letter-spacing: .11em; text-transform: uppercase; }
.mega-founder strong { color: #fff; font-size: 1.02rem; font-weight: 590; line-height: 1.25; white-space: normal; }
.mega-founder em { margin-top: 7px; color: rgba(255, 255, 255, .57); font-size: .75rem; font-style: normal; white-space: normal; }
.mega-founder > i { position: absolute; right: 14px; bottom: 11px; color: var(--blue); font-style: normal; }

@media (max-width: 1120px) {
  .physician-feature { grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr); }
  .physician-feature__image { min-height: 590px; }
  .physician-profile-card__body { padding: 34px; }
  .physician-profile-card__body > p:not(.physician-role):not(.physician-credentials) { font-size: 1rem; }
}

@media (max-width: 980px) {
  .section-heading--split,
  .why-nuself__intro,
  .care-journey__layout,
  .home-faq__layout,
  .home-next__inner { grid-template-columns: 1fr; gap: 40px; }
  .why-nuself__intro > p { max-width: 760px; }
  .why-nuself__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-nuself__grid article { border-bottom: 1px solid var(--line); }
  .why-nuself__grid article:nth-child(2) { border-right: 0; }
  .why-nuself__grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .why-nuself__grid article:first-child { padding-left: clamp(22px, 2.3vw, 38px); }
  .why-nuself__grid article:last-child { padding-right: clamp(22px, 2.3vw, 38px); }
  .common-care__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .physician-feature { grid-template-columns: .9fr 1.1fr; }
  .physician-feature__image { min-height: 560px; }
  .physician-feature__content { padding: 48px; }
  .physician-supporting-grid { grid-template-columns: 1fr; }
  .physician-profile-card { min-height: 0; }
  .physician-profile-card__image { height: 520px; }
  .testimonials-home__grid { grid-template-columns: 1fr; }
  .testimonials-home figure { min-height: 0; }
  .office-grid { grid-template-columns: 1fr; }
  .office-card { min-height: 280px; }
  .facility-list { grid-template-columns: 1fr; gap: 34px; }
  .home-faq__heading { position: static; }
  .mega-founder { min-height: 0; margin: 8px 0 20px; grid-template-columns: 72px 1fr; }
  .mega-founder img { width: 72px; height: 92px; }
}

@media (max-width: 700px) {
  .section-heading h2,
  .why-nuself h2,
  .locations-home h2,
  .testimonials-home h2,
  .care-journey h2,
  .home-resources h2,
  .home-faq h2,
  .home-next h2 { font-size: 2.45rem; }
  .common-care__grid { grid-template-columns: 1fr; margin-top: 48px; }
  .common-care__heading > div:last-child,
  .testimonials-home__heading > div:last-child { justify-content: flex-start; }
  .why-nuself__grid { grid-template-columns: 1fr; }
  .why-nuself__grid article { min-height: 0; padding: 29px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .why-nuself__grid article:first-child { padding-left: 0; }
  .why-nuself__grid article:last-child { padding-right: 0; border-bottom: 0; }
  .care-card { min-height: 445px; }
  .care-card__media { height: 205px; }
  .physician-feature { display: flex; flex-direction: column; margin-top: 48px; }
  .physician-feature__image { min-height: 0; height: 470px; }
  .physician-feature__content { padding: 43px 25px 48px; }
  .physician-proof > div { padding-inline: 0 10px; }
  .physician-proof > div + div { padding-left: 10px; }
  .physician-proof strong { font-size: 1.45rem; }
  .physician-focus { display: grid; }
  .physician-actions { align-items: stretch; }
  .physician-actions .button { width: 100%; }
  .physician-profile-card { min-height: 0; display: flex; flex-direction: column; }
  .physician-profile-card__image { height: 430px; }
  .physician-profile-card__body { padding: 33px 25px 39px; }
  .physicians__all { justify-content: flex-start; }
  .precision,
  .precision__media { min-height: 0; }
  .facility-list { margin-inline: -18px; padding: 38px 24px; }
  .facility-list ul { grid-template-columns: 1fr; }
  .resource-links { grid-template-columns: 1fr; gap: 0; }
  .home-next__actions { align-items: stretch; }
  .home-next__actions .button { width: 100%; }
  .home-next__phone { width: fit-content; margin: 12px 0 0; }
}
