/* Pharmacy content layout. All rules exclude the existing hero and navigation. */
.rx-section, .py-section { padding: 96px 0; border-bottom: 0; }
.rx-section, .py-section, .footer { --ink: #122c3b; --ink-soft: #344f5d; --muted: #58707c; --line: #dce6e9; }
.rx-section .rx-wrap, .py-section > .container { max-width: 1248px; }
.rx-section p, .py-section p { line-height: 1.8; }
.rx-h2, .rx-editorial-top .rx-h2, .section-title { font-size: clamp(1.8rem, 2.8vw, 2.5rem); line-height: 1.22; letter-spacing: -.035em; text-wrap: balance; }
.rx-head, .section-header { max-width: 830px; margin-bottom: 44px; }
section:not(.rx-hero) :is(.rx-eyebrow, .section-badge, .app-eyebrow) { margin-bottom: 16px; font-size: .72rem; letter-spacing: .12em; font-weight: 700; }
.rx-sub, .section-subtitle { max-width: 760px; font-size: 1rem; }
#overview { padding: 76px 0; background: #fff; }
#overview .rx-editorial-panel { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; }
#overview .rx-editorial-top { margin: 0; }
#overview .rx-editorial-grid { grid-template-columns: 1fr; gap: 24px; }
#overview .rx-editorial-primary .rx-lead-text { font-size: 1.12rem; line-height: 1.85; }
#overview .rx-editorial-secondary { padding: 22px 26px; border: 0; border-left: 3px solid #80bdb7; background: #f2f7f7; border-radius: 0 8px 8px 0; }
#receive { background: #f3f7f8; }
#receive .section-header { max-width: 780px; }
.ecosystem-tabs-list { gap: 0; border-top: 1px solid #cddde1; }
.ecosystem-tab-item { border: 0; border-bottom: 1px solid #cddde1; border-radius: 0; background: transparent; padding: 20px 18px; }
.ecosystem-tab-item:hover { background: #eaf2f3; border-color: #cddde1; }
.ecosystem-tab-item.active { background: #fff; border-color: #cddde1; }
.tab-item-inner { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 5px 16px; }
.tab-item-icon { grid-row: 1 / span 2; background: #e4eeef; }
.tab-item-content { grid-column: 2; }
.tab-item-title { font-size: 1.03rem; }
.tab-item-tag { grid-column: 2; justify-self: start; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: .64rem; letter-spacing: .07em; white-space: normal; color: #58707c; }
.tab-progress-track { width: 3px; border-radius: 0; }
.ecosystem-stage-container { margin: 0; }
.eco-custom-mockup-wrap, .eco-composition-img { border: 0; box-shadow: none; }
#why .rx-editorial-top { max-width: 820px; }
#why .rx-editorial-grid { gap: 48px; }
.rx-journal-reasons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; border-top: 0; margin-top: 44px; }
.rx-journal-reason { display: block; padding: 26px 0 0; border-top: 2px solid #c6dddd; border-bottom: 0; }
.rx-seal-idx { font-size: 1.7rem; font-weight: 500; width: auto; height: auto; display: block; background: transparent; color: #087f78; margin-bottom: 18px; }
.rx-journal-reason:hover .rx-seal-idx { background: transparent; color: #087f78; }
.rx-journal-text p { font-size: .97rem; }
.rx-editorial-quote { margin-top: 38px; padding: 24px 28px; background: #f2f7f7; border-left: 0; border-radius: 10px; }
.rx-quote-mark { font-size: 2rem; opacity: 1; }
#models { background: #f3f7f8; }
.rx-cmp { border-radius: 12px; grid-template-columns: .82fr 1fr 1.15fr; box-shadow: 0 8px 28px rgba(18,44,59,.035); }
.rx-cmp-head { padding: 24px; line-height: 1.6; font-size: .94rem; }
.rx-cmp-head.feat, .rx-cmp-head.gen { background: #173b4a; }
.rx-cmp-head.rx { background: #086b65; }
.rx-cmp-feat { background: #fff; }
.rx-cmp-cell.gen { background: #fafcfc; }
.rx-cmp-cell.rx { background: #edf6f3; }
.rx-cmp-cell, .rx-cmp-feat { padding: 22px 24px; font-size: .9rem; }
.rx-opts { gap: 28px; }
.rx-opt { display: flex; flex-direction: column; padding: 36px; border-radius: 12px; }
.rx-opt.feature { background: #f1f8f6; border-color: #a6cfc6; }
.rx-opt-flag { align-self: flex-start; border-bottom: 2px solid #8bbbb1; padding-bottom: 8px; font-size: .72rem; }
.rx-opt-idx { font-size: 2rem; font-weight: 500; color: #6b8c96; margin: 26px 0 16px; }
.rx-opt.feature .rx-opt-idx { color: #448d81; }
.rx-opt h3 { max-width: 390px; font-size: 1.45rem; line-height: 1.35; }
.rx-opt p { font-size: .97rem; }
.rx-best, .rx-opt.feature .rx-best { background: transparent; padding: 22px 0 0; margin-top: auto; border-top: 1px solid #d4e2e4; border-radius: 0; }
.rx-opt .rx-btn { align-self: flex-start; margin-top: 8px; }
.rx-note { background: transparent; border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; font-size: .94rem; }
#process { background: #f3f7f8; }
#process > .rx-wrap { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }
#process .rx-head { position: sticky; top: 112px; margin-bottom: 0; }
.rx-flow::before { left: 21px; width: 1px; background: #bed5d8; }
.rx-step { grid-template-columns: 44px 1fr; gap: 22px; padding-bottom: 28px; }
.rx-node { width: 44px; height: 44px; background: #f3f7f8; border-color: #b7d2d4; box-shadow: 0 0 0 6px #f3f7f8; }
.rx-step-body { border: 0; border-bottom: 1px solid #d4e2e5; border-radius: 0; background: transparent; padding: 4px 0 28px; }
.rx-step:last-child .rx-step-body { border-bottom: 0; padding-bottom: 0; }
.rx-step-body h4 { font-size: 1.13rem; margin-bottom: 12px; line-height: 1.45; }
.rx-step-body p { font-size: .95rem; }
.rx-spec { display: block; border-top: 1px solid var(--line); }
.rx-spec-panel { display: grid; grid-template-columns: .62fr 1.38fr; gap: 46px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 32px 0; }
.rx-spec-panel:hover { border-color: var(--line); }
.rx-spec-head { border: 0; padding: 0; margin: 0; align-items: flex-start; }
.rx-spec-head h3 { padding-top: 8px; font-size: 1.08rem; }
.rx-spec-ic { background: #edf5f5; width: 44px; height: 44px; font-size: 1.25rem; }
.rx-spec-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 28px; }
.rx-spec-list li { border: 0; padding: 0; gap: 10px; font-size: .9rem; }
.rx-spec-list li::before { content: '\2713'; font-family: var(--font-body); font-size: .8rem; width: 16px; margin-top: 2px; }
.rx-aud { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.rx-aud-item { display: block; border: 1px solid #dbe7e7; padding: 26px; border-radius: 10px; }
.rx-aud-ic { margin-bottom: 20px; background: #edf5f5; }
.rx-aud-item p { font-size: .97rem; }
.mobile-app-section { background: #153747; }
.app-desc { font-size: 1rem; color: #d4e3e9; }
.app-pill { background: transparent; border-color: #42606d; padding: 8px 12px; font-size: .8rem; }
.store-badge { background: #fff; color: #173b4a; border-color: #fff; }
.store-badge strong, .store-badge:hover strong { color: #173b4a; }
.store-badge:hover { background: #e5f2ef; color: #173b4a; }
#web-preview { background: #f3f7f8; }
.studio-master-card { border: 1px solid #d8e4e7; border-radius: 14px; background: #fff; box-shadow: 0 10px 36px rgba(18,44,59,.035); }
.studio-body-stage { padding: 36px; }
.studio-step-tag { padding: 6px 10px; border-radius: 4px; font-size: .67rem; letter-spacing: .08em; }
.studio-heading { font-size: 1.65rem; line-height: 1.3; }
.studio-paragraph { font-size: 1rem; }
.studio-controls-bar { margin-top: 36px !important; }
.studio-mockup-canvas { border: 0; background: transparent; box-shadow: none; }
.rx-section.dark { background: #fff; }
.rx-section.dark .rx-h2 { color: #122c3b; }
section.dark .rx-eyebrow { color: #06645f; }
.rx-tech { gap: 72px; grid-template-columns: .72fr 1.28fr; }
.rx-tech-body { border-left: 2px solid #a8ceca; padding-left: 32px; }
.rx-tech-body p { color: #4c6470; font-size: .98rem; }
.rx-tech-body p + p { border-color: var(--line); }
#faq { background: #f3f7f8; }
#faq > .rx-wrap { display: grid; grid-template-columns: .62fr 1.38fr; gap: 64px; align-items: start; }
#faq .rx-head { position: sticky; top: 112px; margin: 0; }
.rx-faq .accordion { border-top: 1px solid #cddde1; }
.rx-faq .accordion-button { padding: 24px 0; font-size: 1rem; }
.rx-faq .accordion-button:not(.collapsed) { color: #06645f; }
.rx-faq .accordion-body { font-size: .94rem; padding: 0 32px 26px 0; }
.rx-cta-box { border-radius: 14px; background: #153747; padding: 52px; }
.rx-cta-box h2 { max-width: 620px; font-size: clamp(1.8rem,2.7vw,2.4rem); }
.rx-cta-box p { max-width: 940px; font-size: .98rem; }
.rx-cta-actions { margin-top: 28px; }
#pharmacy-contact { background: #f3f7f8; }
#pharmacy-contact > .rx-wrap { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; align-items: start; }
#pharmacy-contact .rx-head { margin: 18px 0 0; }
.rx-form-card { width: 100%; border-radius: 12px; padding: 32px; }
.footer { padding-top: 64px; background: #102c3a; }
@media (max-width: 1100px) {
  #overview .rx-editorial-panel, #process > .rx-wrap, #faq > .rx-wrap, #pharmacy-contact > .rx-wrap { gap: 36px; }
  .rx-spec-panel { gap: 28px; grid-template-columns: .75fr 1.25fr; }
  .rx-spec-list { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 991px) {
  .rx-section, .py-section { padding: 68px 0; }
  #overview .rx-editorial-panel, #process > .rx-wrap, #faq > .rx-wrap, #pharmacy-contact > .rx-wrap, .rx-tech { grid-template-columns: 1fr; }
  #process .rx-head, #faq .rx-head { position: static; max-width: 740px; }
  .rx-journal-reasons { gap: 22px; }
  .rx-aud { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-body-stage { padding: 28px; }
  .rx-tech { gap: 30px; }
}
@media (max-width: 820px) {
  .rx-cmp { display: block; border: 0; box-shadow: none; background: transparent; }
  .rx-cmp-feat { background: #173b4a; color: #fff; }
  .rx-cmp-row:first-child { display: none; }
}
@media (max-width: 767px) {
  .rx-section, .py-section, #overview { padding: 52px 0; }
  .rx-head, .section-header { margin-bottom: 30px; }
  .rx-journal-reasons, .rx-aud, .rx-spec-panel { grid-template-columns: 1fr; }
  .rx-journal-reasons { gap: 26px; }
  .rx-journal-reason { display: grid; grid-template-columns: 40px 1fr; gap: 16px; }
  .rx-seal-idx { font-size: 1.4rem; margin: 0; }
  .rx-editorial-quote { padding: 22px; gap: 12px; }
  .rx-opt, .rx-opt.feature { padding: 26px; }
  .rx-spec-panel { gap: 20px; padding: 26px 0; }
  .rx-spec-list { padding-left: 0; }
  .rx-step { gap: 16px; }
  .rx-tech-body { padding-left: 22px; }
  .rx-cta-box { padding: 30px 24px; }
  .studio-body-stage, .rx-form-card { padding: 24px; }
  .studio-text-panel { margin-bottom: 0; }
  .rx-aud-item { display: flex; gap: 18px; }
  .rx-aud-ic { margin: 0; }
}/* Align both section families to the same content edges. */
section.py-section > .container { max-width: 1248px; }
#pharmacy-contact > .rx-wrap > * { min-width: 0; }
@media (max-width: 480px) {
  .rx-form-card { padding: 16px; }
  .rx-form-card .col { padding-left: 0; padding-right: 0; }
}

/* Section headings lead the content from above at every screen size. */
#overview .rx-editorial-panel,
#process > .rx-wrap,
#faq > .rx-wrap,
#pharmacy-contact > .rx-wrap,
.rx-tech { display: block; }
#overview .rx-editorial-top,
#process .rx-head,
#faq .rx-head,
#pharmacy-contact .rx-head,
.rx-tech-head {
  position: static;
  max-width: 960px;
  margin: 0 0 36px;
}
#overview .rx-editorial-grid { grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: start; }
#overview .rx-editorial-secondary { padding: 24px 28px; }
.rx-flow { max-width: none; margin: 0; }
.rx-step { gap: 26px; }
.rx-step-body { padding-bottom: 26px; }
.rx-step-body p { max-width: 1040px; }
.rx-tech-body { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; border-left: 0; padding-left: 0; }
.rx-tech-body p,
.rx-tech-body p + p { margin: 0; padding: 24px 0 0; border-top: 2px solid #c6dddd; }
.rx-faq { max-width: none; margin: 0; }
.rx-faq .accordion-body { max-width: 1040px; }
#pharmacy-contact .rx-form-card { max-width: 900px; margin-left: auto; margin-right: auto; }
@media (max-width: 767px) {
  #overview .rx-editorial-top,
  #process .rx-head,
  #faq .rx-head,
  #pharmacy-contact .rx-head,
  .rx-tech-head { margin-bottom: 28px; }
  #overview .rx-editorial-grid, .rx-tech-body { grid-template-columns: 1fr; gap: 24px; }
  #overview .rx-editorial-secondary { padding: 20px; }
  .rx-step { gap: 16px; }
}

/* Center the contact introduction over the form and align both field rows. */
#pharmacy-contact .rx-head.center {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center !important;
}
#pharmacy-contact .rx-sub { margin-left: auto; margin-right: auto; }
@media (min-width: 601px) {
  #pharmacy-contact .rx-form-card .col.m5,
  #pharmacy-contact .rx-form-card .col.m7 {
    flex: 1 1 calc(50% - 9px);
    max-width: calc(50% - 9px);
  }
}

/* Balance the four platform items with a compact, uncropped preview. */
#receive .eco-custom-mockup-wrap {
  height: 440px;
  min-height: 0;
  background: transparent;
  border: 0;
}
#receive .eco-composition-img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: 0 auto;
}
@media (max-width: 991px) {
  #receive .eco-custom-mockup-wrap { height: 400px; }
}
@media (max-width: 575px) {
  #receive .eco-custom-mockup-wrap { height: auto; }
  #receive .eco-composition-img { max-height: 380px; }
}

/* Rounded platform cards inspired by the reference, in the pharmacy palette. */
#receive .ecosystem-tabs-list { border-top: 0; gap: 14px; }
#receive .ecosystem-tab-item {
  background: #fff;
  border: 1px solid #d8e5e7;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 3px 12px rgba(18,44,59,.025);
}
#receive .ecosystem-tab-item:hover { background: #f7fbfa; border-color: #79b9b2; }
#receive .ecosystem-tab-item.active {
  background: #f0f8f6;
  border-color: #087f78;
  box-shadow: 0 6px 18px rgba(8,127,120,.08);
}
#receive .tab-item-inner { display: flex; align-items: center; flex-wrap: nowrap; gap: 14px; }
#receive .tab-item-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 12px;
  background: #eaf5f2;
  color: #06645f;
}
#receive .ecosystem-tab-item.active .tab-item-icon,
#receive .ecosystem-tab-item:hover .tab-item-icon { background: #087f78; color: #fff; }
#receive .tab-item-content { flex: 1; min-width: 0; }
#receive .tab-item-title { font-size: .98rem; font-weight: 700; }
#receive .tab-item-tag {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid #d6eae4;
  border-radius: 999px;
  background: #f1faf6;
  color: #06645f;
  font-size: .6rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}
#receive .tab-progress-track { width: 3px; border-radius: 16px 0 0 16px; }
@media (min-width: 992px) and (max-width: 1199px) {
  #receive .ecosystem-tab-item { padding: 16px 12px; }
  #receive .tab-item-inner { gap: 10px; }
  #receive .tab-item-tag { font-size: .55rem; padding: 5px 7px; }
  #receive .tab-item-title { font-size: .9rem; }
}
@media (max-width: 575px) {
  #receive .tab-item-inner { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 6px 14px; }
  #receive .tab-item-icon { grid-row: 1 / span 2; }
  #receive .tab-item-content, #receive .tab-item-tag { grid-column: 2; }
  #receive .tab-item-tag { justify-self: start; white-space: normal; }
}
