/* Portraits are deliberately free of overlay captions. */
.hero-art::after { content: none; }
.hero-copy { min-width: 0; }
.about-visual { background: #d7e9db; }
.review-context { color: #4f666b; font-size: 16px; line-height: 1.55; margin: 25px 0 0; }
.reviews .review { min-height: 370px; }
.reviews .review blockquote { font-size: clamp(23px, 2.2vw, 28px); margin: 24px 0 28px; }
.hellodoc-section { background: #fbf9f5; padding: 20px 0 100px; }
.hellodoc-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(24px, 5vw, 70px); padding: clamp(30px, 5vw, 70px); border: 1px solid #d9e4dc; border-radius: 22px; background: #f3f7f1; align-items: center; }
.hellodoc-copy h2 { font-size: clamp(38px, 4.4vw, 62px); letter-spacing: -.06em; line-height: 1.1; margin: 18px 0 24px; }
.hellodoc-copy h2 .serif { color: #a96961; }
.hellodoc-copy > p:not(.hellodoc-fineprint) { max-width: 620px; font-size: 18px; color: #425a61; line-height: 1.65; margin: 0 0 28px; }
.hellodoc-fineprint { font-size: 13px; color: #61757a; line-height: 1.5; max-width: 610px; margin: 16px 0 0; }
.hellodoc-offer { background: #fffdfa; padding: clamp(28px, 4vw, 48px); border-radius: 18px; border: 1px solid #e3e9e1; box-shadow: 0 18px 40px #31574112; }
.hellodoc-offer-label { display: block; color: #63816c; font-size: 13px; text-transform: uppercase; font-weight: 800; letter-spacing: .12em; }
.hellodoc-offer strong { display: block; font-size: clamp(47px, 5vw, 72px); letter-spacing: -.07em; line-height: 1.08; margin: 25px 0 14px; color: #315a48; }
.hellodoc-offer strong span { display: block; font-size: .45em; letter-spacing: -.035em; }
.hellodoc-offer p { font-size: 18px; line-height: 1.55; color: #425a61; margin: 25px 0 18px; }
.hellodoc-offer-note { display: block; font-size: 13px; color: #63787b; }
.site-head .menu .hello-nav { padding: 8px 12px; border-radius: 100px; background: #f5e8f3; color: #79377c; white-space: nowrap; font-size: 14px; }
.site-head .menu .hello-nav:hover { color: #fff; background: #7645b1; }
.hellodoc-card { position: relative; overflow: hidden; background: linear-gradient(115deg, #fff2f6 0%, #f7f0f9 50%, #eff5fd 100%); border-color: #e5d9eb; }
.hellodoc-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, #e73680 0%, #8250b5 50%, #285dd9 100%); }
.hellodoc-copy .eyebrow { color: #744d9e; }
.hellodoc-copy h2 .serif { color: #bf438a; }
.hellodoc-copy .button { background: linear-gradient(100deg, #b53389, #475dca); color: #fff; }
.hellodoc-copy .button:hover { background: linear-gradient(100deg, #9e2b79, #304cad); }
.hellodoc-offer { background: linear-gradient(130deg, #c52d79 0%, #8c45b1 51%, #315fd2 100%); border: 0; box-shadow: 0 20px 40px #6645ad30; }
.hellodoc-offer-label, .hellodoc-offer strong, .hellodoc-offer p, .hellodoc-offer-note { color: #fff; }
.hellodoc-offer-note { opacity: .86; }
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(43px, 9vw, 66px); line-height: 1.06; letter-spacing: -.055em; }
  .hero-art { padding: 0 0 25px; min-height: 0; }
  .hero-photo { width: 100%; height: auto; aspect-ratio: 4 / 5; max-width: 520px; border-radius: 18px; }
  .hero-photo img { object-position: center 30%; }
  .reviews .review { min-height: 360px; }
  .hellodoc-section { padding: 0 0 75px; }
  .hellodoc-card { grid-template-columns: 1fr; gap: 28px; padding: 30px 24px; }
  .hellodoc-offer { padding: 28px; }
  .site-head .menu .hello-nav { white-space: normal; }
}
