body[data-home-layout="v4"] .home-page { padding-top: var(--site-header-height, 92px); }
body[data-home-layout="v4"] .home-page [id] { scroll-margin-top: calc(var(--site-header-height, 92px) + 20px); }
body[data-home-layout="v4"] .o1-review-bar { left: auto; right: 12px; width: max-content; max-width: calc(100% - 24px); min-height: 0; padding: 5px; gap: 0; border-radius: 3px; background: #1a2228; box-shadow: 0 5px 18px #1a22282e; }
body[data-home-layout="v4"] .o1-review-bar > div:first-child { display: none; }
body[data-home-layout="v4"] .o1-view-switch { border-color: #ffffff50; }
body[data-home-layout="v4"] .o1-view-switch button { width: 61px; min-height: 32px; color: #fff; font-size: 11px; }
body[data-home-layout="v4"] .o1-view-switch button[aria-pressed="true"] { background: #fff; color: var(--v3-ink); }

.home-page { --story-white: #f7f9fa; --story-paper: #f7f4ef; }
.home-eyebrow { display: block; color: var(--v3-teal); font-size: 14px; line-height: 1.55; font-weight: 600; }
.home-eyebrow > i { display: none; }
.home-eyebrow-light { color: #d9eef0; }
.hero-copy > .home-eyebrow { margin-bottom: 16px; font-size: 15px; }
.hero-copy h1 { margin-top: 0; }
.hero-narrow-break { display: none; }
.home-hero { position: relative; min-height: 700px; background: var(--story-white); }
.hero-image { inset: 0; width: 100%; mask-image: none; }
.hero-image::after { background: linear-gradient(90deg, #f7f9fafa 0%, #f7f9faed 27%, #f7f9faaf 45%, #f7f9fa3d 62%, transparent 76%), linear-gradient(0deg, #f7f9fa70 0%, transparent 24%); }
.hero-copy { width: min(52%, 640px); }

.home-needs { padding: 112px 0 0; overflow: hidden; background: var(--story-white); }
.needs-intro { display: flex; align-items: end; justify-content: space-between; gap: 56px; }
.needs-heading { max-width: 470px; }
.needs-heading h2 { max-width: 8em; margin-top: 16px; font-size: clamp(34px, 4vw, 52px); line-height: 1.24; font-weight: 650; }
.needs-beats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 57px; padding-bottom: 52px; }
.needs-beats article { position: relative; min-width: 0; padding-top: 15px; border-top: 1px solid var(--v3-line); }
.needs-beats article:nth-child(2) { margin-top: 26px; }
.needs-beats article:nth-child(3) { margin-top: 52px; }
.needs-beats article > span { color: var(--v3-orange-strong); font-size: 13px; line-height: 1.5; }
.needs-beats article > p { margin: 13px 0 0; color: var(--v3-ink); font-size: clamp(19px, 1.65vw, 24px); line-height: 1.58; font-weight: 550; }
.needs-close-scene { position: relative; min-height: 430px; overflow: hidden; background: var(--v3-teal-deep); }
.needs-close-scene > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 47%; transform: scale(1.04); transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.needs-close-scene.is-visible > img { transform: scale(1); }
.needs-close-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #073e47ed 0%, #073e47d9 34%, #073e4780 70%, #073e4745 100%), linear-gradient(0deg, #073e4775, transparent 65%); }
.needs-close-scene > p { position: relative; z-index: 1; width: min(calc(100% - 96px), var(--v3-content)); margin: 0 auto; padding: 142px 0 146px; color: #e6f1f1; font-size: clamp(21px, 2vw, 27px); line-height: 1.65; }
.needs-close-scene > p strong { display: inline-block; color: #fff; font-size: clamp(30px, 3.1vw, 43px); line-height: 1.35; font-weight: 650; }
.needs-close-thread { position: absolute; z-index: 1; left: max(48px, calc((100% - var(--v3-content)) / 2)); right: max(48px, calc((100% - var(--v3-content)) / 2)); bottom: 65px; display: block; height: 1px; background: #ffffff4a; }
.needs-close-thread i { display: block; width: 100%; height: 2px; background: #f47a45; transform: scaleX(0); transform-origin: left; transition: transform 1.3s cubic-bezier(.2,.7,.2,1) .2s; }
.needs-close-scene.is-visible .needs-close-thread i { transform: scaleX(1); }

.home-belief { padding: 105px 0 102px; background: var(--v3-teal-deep); color: #fff; }
.belief-layout { display: block; text-align: center; }
.belief-heading { max-width: 1040px; margin: 0 auto; }
.belief-heading .home-eyebrow { color: #cfeaed; }
.belief-heading h2 { max-width: 16em; margin: 24px auto 0; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.34; font-weight: 650; }
.belief-heading h2 em { color: #ff9b72; font-style: normal; }
.belief-copy { display: grid; grid-template-columns: .8fr 1fr; gap: 26px 50px; width: min(780px, 100%); margin: 42px auto 0; padding: 23px 0 0; border-top: 1px solid #cfeaed5c; border-left: 0; text-align: left; }
.belief-copy strong { grid-row: 1 / span 2; align-self: center; margin: 0; color: #fff; font-size: 20px; line-height: 1.6; }
.belief-copy p { margin: 0; color: #d9e9e9; font-size: 15px; line-height: 1.8; }

.home-weis { position: relative; padding: 104px 0 110px; overflow: hidden; background: #fff; }
.home-weis::after { position: absolute; top: 0; right: 0; width: 29%; height: 100%; background: var(--v3-teal-pale); clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%); content: ""; }
.home-weis > .home-shell { position: relative; z-index: 1; }
.weis-intro { grid-template-columns: 1.1fr .9fr; gap: 9%; align-items: end; }
.weis-intro h2 { max-width: 8em; font-size: clamp(34px, 3.5vw, 48px); line-height: 1.28; }
.weis-wordmark { position: relative; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 56px; border-top: 0; border-bottom: 1px solid var(--v3-line); }
.weis-wordmark::before { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--v3-line); content: ""; }
.weis-wordmark > div { position: relative; padding: 20px 16px 25px 0; transition: transform .3s ease; }
.weis-wordmark > div:hover { transform: translateY(-5px); }
.weis-wordmark > div + div { padding-left: 19px; border-left: 1px solid var(--v3-line); }
.weis-letter { color: var(--v3-teal); font-size: clamp(54px, 6vw, 82px); line-height: .98; }
.weis-english { margin-left: 10px; font-size: 15px; }
.weis-chinese { margin-top: 9px; }

.home-care-story { position: relative; display: block; padding: 105px 0 0; overflow: hidden; background: var(--story-paper); }
.care-heading { display: grid; grid-template-columns: .92fr 1.08fr; gap: 9%; align-items: end; padding-bottom: 42px; }
.care-heading h2 { max-width: 9em; margin: 16px 0 0; color: var(--v3-ink); font-size: clamp(35px, 3.9vw, 52px); line-height: 1.28; font-weight: 650; }
.care-heading h2 em { color: var(--v3-teal); font-style: normal; }
.care-heading > p { max-width: 630px; margin: 0; color: var(--v3-body); font-size: 16px; line-height: 1.88; }
.care-showcase { position: relative; }
.care-show-image { position: relative; height: min(650px, 54vw); min-height: 480px; overflow: hidden; background: var(--v3-teal-deep); }
.care-show-image > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% center; opacity: 1; transform: scale(1.025); transition: opacity .3s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.care-show-image.is-changing > img { opacity: .35; }
.care-showcase.is-visible .care-show-image > img { transform: scale(1); }
.care-show-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #052a31d9 0%, #052a3170 45%, transparent 80%), linear-gradient(0deg, #052a31b8 0%, transparent 58%); }
.care-show-copy { position: absolute; left: max(48px, calc((100% - var(--v3-content)) / 2)); bottom: 66px; width: min(540px, 45%); color: #fff; }
.care-show-copy > span { color: #ffc7ac; font-size: 13px; line-height: 1.5; }
.care-show-copy h3 { margin: 13px 0 10px; font-size: clamp(30px, 3.1vw, 43px); line-height: 1.3; font-weight: 650; }
.care-show-copy p { margin: 0; color: #f4f7f7; font-size: 15px; line-height: 1.82; }
.care-show-caption { position: absolute; right: 31px; bottom: 83px; color: #ffffffd9; font-size: 12px; line-height: 1.5; }
.care-show-controls { position: absolute; right: max(48px, calc((100% - var(--v3-content)) / 2)); bottom: 0; display: flex; justify-content: flex-end; gap: 2px; width: min(600px, 48%); margin: 0; padding: 0; background: #ffffffeb; backdrop-filter: blur(8px); }
.care-show-controls button { position: relative; display: flex; flex: 1; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; min-width: 0; min-height: 67px; padding: 11px 14px 12px; border: 0; background: transparent; color: var(--v3-body); text-align: left; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.care-show-controls button::before { position: absolute; top: 0; left: 0; right: 0; height: 2px; background: transparent; content: ""; }
.care-show-controls button[aria-selected="true"] { background: #fff; color: var(--v3-teal-deep); }
.care-show-controls button[aria-selected="true"]::before { background: var(--v3-orange); }
.care-show-controls button > span { color: var(--v3-orange-strong); font-size: 11px; line-height: 1.3; }
.care-show-controls button > strong { font-size: 14px; line-height: 1.4; font-weight: 600; }
.care-bottom-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 23px; }
.care-bottom-link p { margin: 0; color: var(--v3-muted); font-size: 14px; line-height: 1.6; }

.home-insurance { padding: 106px 0 111px; background: var(--story-white); }
.insurance-heading { grid-template-columns: .95fr 1.05fr; gap: 9%; }
.insurance-heading h2 { max-width: 9em; font-size: clamp(34px, 3.7vw, 50px); line-height: 1.3; }
.insurance-heading > div:last-child { font-size: 16px; }
.insurance-path { position: relative; margin-top: 74px; }
.insurance-path-line { position: absolute; top: 8px; left: 2%; right: 2%; height: 1px; background: var(--v3-line); }
.insurance-path-line > span { display: block; width: 100%; height: 2px; background: var(--v3-teal); transform: scaleX(0); transform-origin: left; transition: transform 1.25s cubic-bezier(.2,.7,.2,1) .15s; }
.insurance-path.is-visible .insurance-path-line > span { transform: scaleX(1); }
.insurance-roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8%; margin-top: 0; }
.insurance-roles > article { position: relative; min-width: 0; padding-top: 33px; border: 0; }
.insurance-node { position: absolute; top: 0; left: 0; display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; background: var(--story-white); color: var(--v3-orange-strong); font-size: 11px; line-height: 1; }
.insurance-roles h3 { margin: 0 0 9px; font-size: 23px; }
.insurance-roles p { max-width: 26em; font-size: 15px; line-height: 1.85; }

.home-eehp { position: relative; padding: 104px 0 111px; overflow: hidden; background: var(--v3-teal-deep); }
.home-eehp > .home-shell { position: relative; z-index: 1; }
.eehp-layout { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 8%; }
.eehp-copy h2 { font-size: clamp(35px, 3.8vw, 51px); line-height: 1.3; }
.eehp-copy > p { font-size: 15px; }
.eehp-capabilities span { font-size: 14px; }
.care-flow { padding: 38px 0 10px; }
.care-flow ol { gap: 17px; }
.care-flow li { padding-top: 58px; }
.flow-line { top: 37px; }
.flow-step { top: 25px; width: 25px; height: 25px; border-radius: 50%; }
.care-flow strong { font-size: 15px; }
.care-flow p { font-size: 13px; }

.home-evidence { position: relative; display: flex; align-items: stretch; min-height: 660px; padding: 0; overflow: hidden; background: var(--v3-teal-deep); color: #fff; }
.evidence-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--v3-teal-deep); }
.evidence-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% 42%; transform: scale(1.035); transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.evidence-image.is-visible img { transform: scale(1); }
.evidence-image-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #052a31ed 0%, #052a31d9 34%, #052a3170 66%, #052a3120 100%), linear-gradient(0deg, #052a3185 0%, transparent 50%); }
.home-evidence .evidence-layout { position: relative; z-index: 2; display: flex; align-items: center; width: min(calc(100% - 96px), var(--v3-content)); min-height: 660px; margin-inline: auto; }
.evidence-copy { width: min(55%, 650px); padding: 65px 0; }
.evidence-copy .home-eyebrow { color: #d9eef0; }
.evidence-copy h2 { margin: 18px 0 20px; color: #fff; font-size: clamp(37px, 4vw, 56px); line-height: 1.3; }
.evidence-copy h2 em { color: #ff9b72; }
.evidence-copy > p { max-width: 34em; color: #edf5f5; font-size: 16px; line-height: 1.85; }
.evidence-steps { color: #fff; font-size: 13px; }
.evidence-steps i { background: #ff9b72; }

.home-contact { padding: 90px 0 95px; background: var(--v3-orange-strong); color: #fff; }
.home-contact .home-eyebrow-light { color: #fff1e9; }
.home-contact .home-eyebrow-light > i { background: #ffc7ac; }
.contact-layout { grid-template-columns: 1fr .8fr; gap: 12%; }
.contact-layout h2 { font-size: clamp(35px, 3.8vw, 51px); line-height: 1.34; }
.contact-copy { border-color: #ffffff70; }
.contact-copy > p { color: #fff5ef; font-size: 16px; }
.contact-topics { border-color: #ffffff70; color: #fff1e9; font-size: 13px; }
.contact-copy .home-button-orange { background: #fff; color: var(--v3-orange-strong); }
.contact-copy .home-button-orange:hover { background: var(--v3-orange-soft); }

@media (max-width: 980px) {
  .needs-beats { gap: 24px; }
  .needs-close-scene > p { width: calc(100% - 56px); }
  .needs-close-thread { left: 28px; right: 28px; }
  .care-heading { gap: 5%; }
  .care-show-copy { left: 28px; width: 48%; }
  .care-show-controls { right: 28px; width: 50%; }
  .care-show-controls button { padding-inline: 10px; }
}

@media (max-width: 640px) {
  body[data-home-layout="v4"] .o1-review-bar { top: 96px; bottom: auto; right: 8px; }
  .home-needs { padding-top: 71px; }
  .home-hero { display: flex; flex-direction: column; min-height: 0; padding: 0; }
  .hero-image { position: relative; inset: auto; order: 0; width: 100%; height: 305px; min-height: 0; mask-image: none; }
  .hero-image::after { background: linear-gradient(180deg, transparent 43%, #f7f9fa55 73%, var(--story-white) 100%); }
  .hero-image img { object-position: 58% 38%; }
  .hero-inner { order: 1; display: block; width: calc(100% - 44px); min-height: 0; margin: 0 auto; padding: 7px 0 63px; }
  .hero-copy { width: 100%; max-width: 640px; padding: 0; }
  .hero-copy > .home-eyebrow { margin-bottom: 12px; font-size: 14px; }
  .hero-copy h1 { max-width: none; margin: 0 0 15px; font-size: clamp(37px, 10vw, 42px); line-height: 1.27; }
  .hero-copy > p { font-size: 14px; line-height: 1.8; }
  .hero-actions { gap: 16px; margin-top: 20px; }
  .hero-scroll { right: 22px; bottom: 14px; font-size: 11px; }
  .needs-intro { align-items: start; }
  .needs-heading h2 { margin-top: 12px; font-size: clamp(31px, 8.2vw, 38px); }
  .needs-beats { grid-template-columns: 1fr; gap: 0; margin-top: 26px; padding-bottom: 29px; }
  .needs-beats article, .needs-beats article:nth-child(2), .needs-beats article:nth-child(3) { display: grid; grid-template-columns: 37px minmax(0, 1fr); gap: 10px; align-items: start; margin: 0; padding: 15px 0; }
  .needs-beats article > p { margin: 0; font-size: 18px; line-height: 1.58; }
  .needs-close-scene { min-height: 370px; }
  .needs-close-scene > img { object-position: 58% center; }
  .needs-close-shade { background: linear-gradient(90deg, #073e47d9, #073e4780 76%, #073e4750), linear-gradient(0deg, #073e4775, transparent); }
  .needs-close-scene > p { width: calc(100% - 44px); padding: 106px 0 116px; font-size: 18px; line-height: 1.68; }
  .needs-close-scene > p strong { margin-top: 7px; font-size: clamp(27px, 7.5vw, 34px); }
  .needs-close-thread { left: 22px; right: 22px; bottom: 48px; }
  .home-belief { padding: 70px 0 73px; }
  .belief-heading h2 { margin-top: 17px; font-size: clamp(31px, 8.2vw, 39px); line-height: 1.42; }
  .belief-copy { grid-template-columns: 1fr; gap: 9px; width: 100%; margin-top: 27px; padding-top: 17px; text-align: center; }
  .belief-copy strong { grid-row: auto; margin-bottom: 0; font-size: 18px; }
  .belief-copy p { font-size: 14px; }
  .home-weis { padding: 73px 0 79px; }
  .home-weis::after { width: 43%; opacity: .75; }
  .weis-intro { grid-template-columns: 1fr; gap: 14px; }
  .weis-intro h2 { font-size: 34px; }
  .weis-intro-copy { font-size: 14px; }
  .weis-wordmark { margin-top: 28px; }
  .weis-wordmark > div { padding: 15px 7px 15px 0; }
  .weis-wordmark > div + div { padding-left: 11px; }
  .weis-wordmark > div:nth-child(3) { padding-left: 0; }
  .weis-letter { font-size: 39px; }
  .weis-english { margin-left: 5px; font-size: 12.5px; }
  .weis-chinese { font-size: 12px; }
  .home-care-story { padding-top: 69px; }
  .care-heading { display: block; padding-bottom: 25px; }
  .care-heading h2 { margin-top: 13px; font-size: 35px; }
  .care-heading > p { margin-top: 14px; font-size: 14px; line-height: 1.82; }
  .care-show-image { height: 505px; min-height: 0; }
  .care-show-image > img { object-position: 54% center; }
  .care-show-shade { background: linear-gradient(0deg, #052a31e8 0%, #052a3199 44%, transparent 83%), linear-gradient(90deg, #052a3145, transparent 70%); }
  .care-show-copy { left: 22px; right: 22px; bottom: 91px; width: auto; }
  .care-show-copy h3 { margin: 8px 0; font-size: 27px; }
  .care-show-copy p { max-width: 33em; font-size: 13px; line-height: 1.72; }
  .care-show-caption { top: 13px; right: 18px; bottom: auto; font-size: 11px; }
  .care-show-controls { right: 0; left: 0; bottom: 0; width: 100%; }
  .care-show-controls button { min-height: 65px; padding: 9px 7px; }
  .care-show-controls button > span { font-size: 10px; }
  .care-show-controls button > strong { font-size: 12px; }
  .care-bottom-link { padding-block: 16px; }
  .care-bottom-link p { max-width: 15em; font-size: 12px; }
  .home-insurance { padding: 73px 0 79px; }
  .insurance-heading { display: block; }
  .insurance-heading > div:last-child { margin-top: 17px; font-size: 14px; }
  .insurance-path { margin-top: 37px; }
  .insurance-path-line { top: 0; bottom: 9px; left: 8px; right: auto; width: 1px; height: auto; }
  .insurance-path-line > span { width: 1px; height: 100%; transform: scaleY(0); transform-origin: top; }
  .insurance-path.is-visible .insurance-path-line > span { transform: scaleY(1); }
  .insurance-roles { grid-template-columns: 1fr; gap: 22px; padding-left: 34px; }
  .insurance-roles > article { padding-top: 0; }
  .insurance-node { top: 0; left: -34px; width: 17px; height: 17px; }
  .insurance-roles h3 { margin-bottom: 5px; font-size: 19px; }
  .insurance-roles p { font-size: 14px; line-height: 1.72; }
  .home-eehp { padding: 73px 0 78px; }
  .eehp-layout { grid-template-columns: 1fr; gap: 33px; }
  .eehp-copy h2 { margin: 14px 0; font-size: 36px; }
  .eehp-copy > p { font-size: 14px; }
  .eehp-capabilities span { font-size: 13px; }
  .care-flow { padding-top: 10px; }
  .care-flow ol { grid-template-columns: 1fr; gap: 0; }
  .care-flow li { min-height: 86px; padding: 0 0 19px 42px; }
  .flow-line { top: 11px; left: 11px; right: auto; bottom: 24px; width: 1px; height: auto; }
  .flow-line span { width: 1px; height: 100%; transform: scaleY(0); transform-origin: top; }
  .care-flow.is-visible .flow-line span { transform: scaleY(1); }
  .flow-step { top: 0; }
  .care-flow strong { font-size: 15px; }
  .care-flow p { margin-top: 4px; font-size: 13px; }
  .home-evidence { min-height: 690px; }
  .evidence-image { inset: 0 0 auto; height: 430px; mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%); }
  .evidence-image-shade { background: linear-gradient(0deg, #052a31ed 0%, #052a316d 46%, #052a3120 100%); }
  .home-evidence .evidence-layout { min-height: 690px; align-items: end; padding-bottom: 48px; }
  .evidence-copy { width: 100%; padding: 0; }
  .evidence-copy h2 { margin: 13px 0; font-size: 35px; }
  .evidence-copy > p { font-size: 14px; line-height: 1.75; }
  .evidence-steps { font-size: 12px; }
  .home-contact { padding: 69px 0 73px; }
  .contact-layout { display: block; }
  .contact-layout h2 { margin-top: 14px; font-size: 36px; }
  .contact-copy { margin-top: 24px; }
  .contact-copy > p { font-size: 14px; }
  .contact-topics { font-size: 12px; }
}

@media (max-width: 360px) {
  .hero-narrow-break { display: block; }
  body[data-home-layout="v4"] .o1-review-bar { top: 96px; right: 7px; }
  .hero-copy h1 { font-size: 35px; }
  .hero-copy > p { font-size: 13px; line-height: 1.72; }
  .hero-actions { gap: 10px; margin-top: 16px; }
  .home-button { min-height: 42px; padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .needs-close-scene > img, .needs-close-thread i, .insurance-path-line > span, .care-show-image > img { transition: none; transform: none; }
}
