/* Vivacity homepage: mobile-only layout refinement. No desktop or inner-page rules. */
@media screen and (max-width: 767px) {
  /* A consistent reading measure and balanced edge spacing for each home section. */
  .viv-home .viv-home-hero__container,
  .viv-home .viv-quick__container,
  .viv-home .vhp__container,
  .viv-home .vhfd__shell,
  .viv-home .vhdp__shell,
  .viv-home .vhsvc__shell,
  .viv-home .vhw__shell,
  .viv-home .vhpg__container,
  .viv-home .vhvideos__shell,
  .viv-home .vhevt__shell,
  .viv-home .vhr__shell,
  .viv-home .vhfaq__shell {max-width:100%;width:calc(100% - 30px);margin-left:auto;margin-right:auto;min-width:0;}

  .viv-home .viv-home-hero__copy h1 {font-size:clamp(26px,7.5vw,38px);max-width:100%;line-height:1.12;letter-spacing:-.035em;overflow-wrap:normal;text-wrap:balance;}
  .viv-home .viv-home-hero__actions {flex-direction:column;align-items:stretch;gap:10px;}
  .viv-home .viv-home-hero__btn {width:100%;justify-content:space-between;}
  .viv-home .viv-quick__intro h2,
  .viv-home .vdf__intro h2,
  .viv-home .vhp__intro h2,
  .viv-home .vhfd__heading h2,
  .viv-home .vhdp__header h2,
  .viv-home .vhsvc__heading h2,
  .viv-home .vhw__story h2,
  .viv-home .vhpg__intro h2,
  .viv-home .vhvideos__intro h2,
  .viv-home .vhevt__intro h2,
  .viv-home .vhr__headline h2,
  .viv-home .vhfaq__intro h2 {
    font-size:clamp(22px,5.9vw,27px);
    line-height:1.23;
    letter-spacing:-.028em;
    max-width:23ch;
    overflow-wrap:break-word;
    text-wrap:balance;
  }
  .viv-home .vdf__workspace h3 {font-size:20px;line-height:1.3;}
  .viv-home .viv-home-hero__description,
  .viv-home .viv-quick__intro p,
  .viv-home .vdf__intro-description,
  .viv-home .vhp__intro p,
  .viv-home .vhfd__heading p,
  .viv-home .vhdp__lead,
  .viv-home .vhsvc__description,
  .viv-home .vhw__description,
  .viv-home .vhpg__intro p,
  .viv-home .vhvideos__intro p,
  .viv-home .vhevt__intro p,
  .viv-home .vhr__headline > p,
  .viv-home .vhfaq__intro-detail p {max-width:43ch;font-size:13px;line-height:1.65;}
  .viv-home .vhdp__header h2,
  .viv-home .vhdp__lead,
  .viv-home .vhp__intro h2,
  .viv-home .vhp__intro p,
  .viv-home .vhpg__intro h2,
  .viv-home .vhpg__intro p {margin-left:auto;margin-right:auto;}

  /* Homepage hero benefit tiles: two equally sized tiles, never a squeezed icon. */
  .viv-home .viv-home-hero__tiles,
  .viv-home .viv-home-hero__tiles--four {display:none !important;}
  .viv-home .viv-home-hero__tile {min-width:0;gap:8px;padding:11px 9px;}
  .viv-home .viv-home-hero__tile-icon {width:34px;height:34px;flex:0 0 34px;}
  .viv-home .viv-home-hero__tile-icon svg {width:19px;height:19px;}
  .viv-home .viv-home-hero__tile strong {font-size:clamp(12px,3.4vw,15px);line-height:1.35;overflow-wrap:anywhere;}
  .viv-home .viv-home-hero__tile span {font-size:11px;line-height:1.4;overflow-wrap:anywhere;}

  /* Quick access: featured tile remains highlighted but takes one column. */
  .viv-home .viv-quick__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .viv-home .viv-quick__card,
  .viv-home .viv-quick__card--featured {grid-column:auto;min-width:0;min-height:174px;border-radius:15px;}
  .viv-home .viv-quick__card-link,
  .viv-home .viv-quick__card--featured .viv-quick__card-link {display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:9px;height:100%;padding:13px;}
  .viv-home .viv-quick__card-top,
  .viv-home .viv-quick__card--featured .viv-quick__card-top {gap:7px;align-items:flex-start;}
  .viv-home .viv-quick__icon,
  .viv-home .viv-quick__card--featured .viv-quick__icon {width:40px;height:40px;flex:0 0 40px;border-radius:12px;}
  .viv-home .viv-quick__icon svg,
  .viv-home .viv-quick__card--featured .viv-quick__icon svg {width:23px;height:23px;}
  .viv-home .viv-quick__icon img,
  .viv-home .viv-quick__card--featured .viv-quick__icon img {width:25px;height:25px;}
  .viv-home .viv-quick__card--featured .viv-quick__card-number {top:13px;right:12px;}
  .viv-home .viv-quick__card--featured .viv-quick__tag {font-size:8px;line-height:1.3;padding:4px 6px;max-width:76px;margin:0;letter-spacing:.02em;}
  .viv-home .viv-quick__card-bottom,
  .viv-home .viv-quick__card--featured .viv-quick__card-bottom {display:flex;min-height:0;margin:0;padding:0;border:0;align-items:flex-end;gap:3px;}
  .viv-home .viv-quick__card h3,
  .viv-home .viv-quick__card--featured h3 {font-size:clamp(13px,3.6vw,16px);line-height:1.32;margin:0 0 5px;overflow-wrap:anywhere;}
  .viv-home .viv-quick__card p,
  .viv-home .viv-quick__card--featured p {font-size:11px;line-height:1.45;max-width:100%;overflow-wrap:anywhere;}
  .viv-home .viv-quick__arrow {width:24px;height:24px;flex:0 0 24px;border-radius:7px;}
  .viv-home .viv-quick__arrow svg {width:13px;height:13px;}
  .viv-home .viv-quick__card-number {font-size:9px;}

  /* Process steps are independent compact tiles at mobile widths. */
  .viv-home .vhp__steps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;}
  .viv-home .vhp__steps::before {content:none;display:none;}
  .viv-home .vhp__step,
  .viv-home .vhp__step:nth-child(even) {display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:14px 9px;min-width:0;text-align:center;border:1px solid var(--viv-primary-soft-2);border-radius:15px;background:#fff;}
  .viv-home .vhp__node {width:62px;height:62px;flex:0 0 62px;margin:0 auto 8px;}
  .viv-home .vhp__node-icon {width:40px;height:40px;border-radius:12px;}
  .viv-home .vhp__node-icon svg {width:22px;height:22px;}
  .viv-home .vhp__node-dot {display:none;}
  .viv-home .vhp__step-content {width:100%;min-width:0;margin:0;padding:0;}
  .viv-home .vhp__step-label {display:flex;justify-content:center;flex-wrap:wrap;gap:4px;font-size:9px;letter-spacing:.035em;}
  .viv-home .vhp__step h3 {margin:7px 0 5px;font-size:14px;line-height:1.32;overflow-wrap:anywhere;}
  .viv-home .vhp__step p {font-size:11px;line-height:1.5;overflow-wrap:anywhere;}

  /* Doctor slider: one full-width doctor card per mobile viewport. */
  .viv-home .vhfd__track {--vhfd-gap:16px;grid-auto-columns:100%;gap:16px;}
  .viv-home .vhfd .viv-doctor-card__link {border-radius:23px;padding:10px;}
  .viv-home .vhfd .viv-doctor-card__media {border-radius:17px;aspect-ratio:4 / 4.15;}
  .viv-home .vhfd .viv-doctor-card__body {padding:16px 8px 8px;min-width:0;}
  .viv-home .vhfd .viv-doctor-card__body h3 {font-size:20px;line-height:1.4;overflow-wrap:anywhere;}
  .viv-home .vhfd .viv-doctor-card__body p {font-size:13px;line-height:1.55;overflow-wrap:anywhere;}
  .viv-home .vhfd .viv-doctor-card__details {min-width:0;}

  /* Departments: two clean editorial cards, with unframed icons and compact copy. */
  .viv-home .vhdp__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .viv-home .vhdp__card {min-width:0;border-radius:15px;}
  .viv-home .vhdp__card-link {display:flex;flex-direction:column;min-height:202px;padding:17px 13px 14px;}
  .viv-home .vhdp__art {width:43px;height:43px;flex:0 0 43px;min-height:0;margin:-2px -2px 0 0;background:var(--viv-primary-soft);border-radius:7px;}
  .viv-home .vhdp__art svg {width:100%;height:100%;max-width:none;}
  .viv-home .vhdp__number {font-size:11px;min-width:0;height:auto;padding:0;border:0;background:none;}
  .viv-home .vhdp__category {display:none;}
  .viv-home .vhdp__card-content {display:flex;flex-direction:column;min-width:0;margin-top:11px;padding:0 0 14px;gap:7px;}
  .viv-home .vhdp__name {font-size:clamp(13px,3.65vw,16px);line-height:1.3;overflow-wrap:anywhere;}
  .viv-home .vhdp__summary {font-size:11px;line-height:1.46;-webkit-line-clamp:2;}
  .viv-home .vhdp__card-bottom {display:flex;width:100%;margin-top:auto;padding:12px 0 0;font-size:10px;gap:3px;}
  .viv-home .vhdp__arrow {width:19px;height:19px;flex:0 0 19px;border:0;border-radius:0;background:none;}
  .viv-home .vhdp__arrow svg {width:17px;height:17px;}

  /* Services: keep the media and call-to-action usable within two columns. */
  .viv-home .vhsvc__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .viv-home .vhsvc__card,
  .viv-home .vhsvc__card--featured {grid-column:auto;min-width:0;border-radius:15px;}
  .viv-home .vhsvc__card-link,
  .viv-home .vhsvc__card--featured .vhsvc__card-link {padding:8px;}
  .viv-home .vhsvc__media {height:auto;aspect-ratio:4/3;border-radius:10px;}
  .viv-home .vhsvc__media svg {width:48px;height:48px;max-width:38%;}
  .viv-home .vhsvc__card-copy,
  .viv-home .vhsvc__card--featured .vhsvc__card-copy {gap:6px;padding:11px 4px 5px;min-width:0;}
  .viv-home .vhsvc__category {font-size:9px;letter-spacing:.035em;}
  .viv-home .vhsvc__title,
  .viv-home .vhsvc__card--featured .vhsvc__title {font-size:14px;line-height:1.3;overflow-wrap:anywhere;}
  .viv-home .vhsvc__summary {font-size:11px;line-height:1.5;-webkit-line-clamp:3;}
  .viv-home .vhsvc__action {min-height:35px;margin-top:auto;padding:4px 5px 4px 8px;font-size:10px;gap:4px;border-radius:8px;}
  .viv-home .vhsvc__action-arrow {width:24px;height:24px;flex:0 0 24px;border-radius:6px;}
  .viv-home .vhsvc__action-arrow svg {width:13px;height:13px;}

  /* Who-we-are benefits: paired cards, photo/story unchanged. */
  .viv-home .vhw__principles-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .viv-home .vhw__principle,
  .viv-home .vhw__principle:nth-child(3n) {display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:12px;border:1px solid var(--viv-primary-soft-2);border-radius:12px;}
  .viv-home .vhw__principle-icon {width:33px;height:33px;flex:0 0 33px;border-radius:10px;}
  .viv-home .vhw__principle-icon svg {width:19px;height:19px;}
  .viv-home .vhw__principle h3 {font-size:13px;line-height:1.35;margin:0;overflow-wrap:anywhere;}
  .viv-home .vhw__principle p {font-size:11px;line-height:1.5;overflow-wrap:anywhere;}

  /* Patient guide cards: full checklist remains readable, no clipped data. */
  .viv-home .vhpg__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .viv-home .vhpg__card {display:flex;flex-direction:column;grid-template-rows:none;grid-row:auto;gap:0;min-width:0;padding:14px 11px;border-radius:14px;}
  .viv-home .vhpg__card-header {grid-row:auto;margin:0 0 12px;}
  .viv-home .vhpg__icon {width:37px;height:37px;flex:0 0 37px;border-radius:11px;}
  .viv-home .vhpg__icon svg {width:21px;height:21px;}
  .viv-home .vhpg__card-mark {padding-top:3px;}
  .viv-home .vhpg__card-label {grid-row:auto;font-size:9px;line-height:1.4;letter-spacing:.04em;}
  .viv-home .vhpg__card h3 {grid-row:auto;font-size:14px;line-height:1.3;overflow-wrap:anywhere;}
  .viv-home .vhpg__card-description {grid-row:auto;margin:8px 0 11px;font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
  .viv-home .vhpg__list {grid-row:auto;width:100%;min-width:0;gap:8px;margin-top:auto;padding-top:11px;}
  .viv-home .vhpg__list li {min-width:0;gap:6px;font-size:11px;line-height:1.45;white-space:normal;align-items:flex-start;}
  .viv-home .vhpg__list li>span:first-child {width:19px;height:19px;flex:0 0 19px;}
  .viv-home .vhpg__list li>span:last-child {min-width:0;overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;}
  .viv-home .vhpg__list svg {width:12px;height:12px;}

  /* Videos and latest events: a true paired grid rather than one wide lead tile. */
  .viv-home .vhvideos__grid,
  .viv-home .vhevt__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .viv-home .vhvideos__card,
  .viv-home .vhevt__card {min-width:0;border-radius:14px;}
  .viv-home .vhvideos__card-body {padding:11px;gap:6px;}
  .viv-home .vhvideos__title {font-size:13px;line-height:1.35;overflow-wrap:anywhere;}
  .viv-home .vhvideos__description {font-size:11px;line-height:1.5;}
  .viv-home .vhvideos__play {width:37px;height:37px;}
  .viv-home .vhvideos__play svg {width:18px;height:18px;}
  .viv-home .vhvideos__duration {font-size:9px;bottom:7px;right:7px;padding:3px 5px;}
  .viv-home .vhevt__card:first-child {grid-column:auto;flex-direction:column;}
  .viv-home .vhevt__card:first-child .vhevt__media {width:100%;min-height:0;flex:0 0 auto;aspect-ratio:16/10;}
  .viv-home .vhevt__card:first-child .vhevt__content,
  .viv-home .vhevt__content {padding:12px 10px 11px;justify-content:flex-start;min-width:0;}
  .viv-home .vhevt__card:first-child h3,
  .viv-home .vhevt__content h3 {font-size:13px;line-height:1.35;overflow-wrap:anywhere;}
  .viv-home .vhevt__card:first-child .vhevt__content p,
  .viv-home .vhevt__content p {font-size:11px;line-height:1.5;margin:7px 0 11px;-webkit-line-clamp:3;}
  .viv-home .vhevt__meta {font-size:10px;gap:5px;margin-bottom:6px;}
  .viv-home .vhevt__category {font-size:9px;padding:2px 4px;letter-spacing:0;}
  .viv-home .vhevt__read {font-size:10px;gap:6px;padding-top:9px;}
  .viv-home .vhevt__read svg {width:14px;height:14px;}
  .viv-home .vhevt__image-placeholder {width:46px;height:46px;border-radius:12px;}
  .viv-home .vhevt__image-placeholder svg {width:26px;height:26px;}

  /* Reviews carousel stays swipeable, but shows two cards on a phone. */
  .viv-home .vhr__track {gap:10px;}
  .viv-home .vhr__card {flex:0 0 calc((100% - 10px)/2);min-width:0;min-height:0;padding:17px 11px 13px;border-radius:13px;}
  .viv-home .vhr__card::before {left:11px;width:34px;}
  .viv-home .vhr__card-top {gap:4px;margin-bottom:12px;}
  .viv-home .vhr__rating {gap:1px;}
  .viv-home .vhr__rating svg {width:11px;height:11px;}
  .viv-home .vhr__quote svg {width:19px;height:19px;}
  .viv-home .vhr__card h3 {font-size:13px;line-height:1.3;margin-bottom:8px;}
  .viv-home .vhr__review {margin-bottom:14px;}
  .viv-home .vhr__review p {font-size:11px;line-height:1.55;overflow-wrap:anywhere;}
  .viv-home .vhr__verified-label {font-size:8px;letter-spacing:.02em;}
  .viv-home .vhr__person {gap:6px;padding-top:10px;}
  .viv-home .vhr__avatar {width:27px;height:27px;flex:0 0 27px;}
  .viv-home .vhr__avatar svg {width:16px;height:16px;}
  .viv-home .vhr__person-copy strong {font-size:10px;line-height:1.3;}
  .viv-home .vhr__person-copy small {font-size:9px;line-height:1.3;}
  .viv-home .vhr__person-tick {width:20px;height:20px;flex:0 0 20px;border-width:1px;}
  .viv-home .vhr__person-tick svg {width:12px;height:12px;}
  .viv-home .vhr__slider.is-expanded .vhr__track {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}

  /* Long accordion answers need a full reading column, not two 150px columns. */
  .viv-home .vhfaq__grid,
  .viv-home .vhfaq__grid--single {grid-template-columns:minmax(0,1fr);}
  .viv-home .vhfaq__intro {padding:23px 18px;}
  .viv-home .vhfaq__question-label {font-size:13px;line-height:1.45;}
  .viv-home .vhfaq__answer-copy {font-size:12px;line-height:1.65;}
}

@media screen and (max-width: 380px) {
  .viv-home .viv-home-hero__copy h1 {font-size:26px;}
  .viv-home .viv-quick__grid,
  .viv-home .vhp__steps,
  .viv-home .vhdp__grid,
  .viv-home .vhsvc__grid,
  .viv-home .vhw__principles-grid,
  .viv-home .vhpg__grid,
  .viv-home .vhvideos__grid,
  .viv-home .vhevt__grid {gap:8px;}
  .viv-home .viv-quick__card-link,
  .viv-home .viv-quick__card--featured .viv-quick__card-link {padding:10px;}
  .viv-home .vhpg__card {padding:12px 9px;}
  .viv-home .vhr__card {padding:14px 9px 12px;}
  .viv-home .vhr__person-tick {display:none;}
}


/* Mobile-only homepage section spacing: 50% of each existing vertical padding.
   Outer sections only; leave card padding, internal spacing and all other pages as-is. */
@media screen and (max-width: 767px) {
  .viv-home .viv-home-hero { padding-top: 21px; padding-bottom: 18px; }
  .viv-home .viv-quick { padding-top: 36px; padding-bottom: 43px; }
  .viv-home .vdf { padding-top: 32.5px; padding-bottom: 32.5px; }
  .viv-home .vhp { padding-top: 38px; padding-bottom: 42.5px; }
  .viv-home .vhfd.viv-doctors-page { padding-top: 36px; padding-bottom: 39px; }
  .viv-home .vhdp { padding-top: 38px; padding-bottom: 38px; }
  .viv-home .vhsvc { padding-top: 38px; padding-bottom: 38px; }
  .viv-home .vhw { padding-top: 35px; padding-bottom: 35px; }
  .viv-home .vhpg { padding-top: 37px; padding-bottom: 37px; }
  .viv-home .vhvideos { padding-top: 36px; padding-bottom: 36px; }
  .viv-home .vhevt { padding-top: 37px; padding-bottom: 37px; }
  .viv-home .vhr { padding-top: 37px; padding-bottom: 40px; }
  .viv-home .vhfaq { padding-top: 38px; padding-bottom: 41px; }
}
/* Match each section's pre-existing small-screen breakpoint exactly. */
@media screen and (max-width: 720px) {
  .viv-home .vhdp { padding-top: 33px; padding-bottom: 37.5px; }
  .viv-home .vhsvc { padding-top: 34px; padding-bottom: 37.5px; }
}
@media screen and (max-width: 680px) {
  .viv-home .vhpg { padding-top: 31px; padding-bottom: 35px; }
}
@media screen and (max-width: 650px) {
  .viv-home .viv-quick { padding-top: 27.5px; padding-bottom: 35px; }
}
@media screen and (max-width: 640px) {
  .viv-home .vhr { padding-top: 34px; padding-bottom: 37.5px; }
  .viv-home .vhfaq { padding-top: 34px; padding-bottom: 38px; }
}
@media screen and (max-width: 620px) {
  .viv-home .vdf { padding-top: 27px; padding-bottom: 31.5px; }
  .viv-home .vhfd.viv-doctors-page { padding-top: 32px; padding-bottom: 37.5px; }
  .viv-home .vhevt { padding-top: 32px; padding-bottom: 37.5px; }
}
@media screen and (max-width: 570px) {
  .viv-home .vhvideos { padding-top: 32.5px; padding-bottom: 35px; }
}
@media screen and (max-width: 560px) {
  .viv-home .viv-home-hero { padding-top: 17.5px; padding-bottom: 15px; }
  .viv-home .vhw { padding-top: 27.5px; padding-bottom: 32.5px; }
}
@media screen and (max-width: 520px) {
  .viv-home .vhp { padding-top: 32.5px; padding-bottom: 34px; }
}
