.coastal.services-page { background: var(--coast-paper); }
.coastal.services-page .illustrated-hero { background: #edf3f9; padding: 0; border-bottom: 1px solid var(--coast-line); }
.coastal.services-page .illustrated-hero-layout { min-height: 530px; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.72fr); align-items: end; gap: clamp(55px,10vw,180px); padding-top: 105px; padding-bottom: 92px; }
.coastal.services-page .illustrated-hero-title .coast-eyebrow { margin: 0 0 35px; }
.coastal.services-page .illustrated-hero h1 { max-width: 820px; font-size: clamp(74px,8.3vw,134px); line-height: .91; letter-spacing: -.045em; margin: 0; }
.coastal.services-page .illustrated-hero h1 em,.coastal.services-page .illustrated-section-heading h2 em { color: var(--coast-blue); font-weight: 400; }
.coastal.services-page .illustrated-hero-description { max-width: 415px; padding-bottom: 8px; }
.coastal.services-page .illustrated-rule { display: block; width: 39px; height: 2px; background: var(--coast-accent); margin-bottom: 24px; }
.coastal.services-page .illustrated-original-title { font: 400 26px/1.2 var(--coast-display); margin: 0 0 15px; }
.coastal.services-page .illustrated-hero .lede { font-size: 15px; line-height: 1.85; max-width: none; margin: 0; }
.coastal.services-page .illustrated-jump { display: inline-flex; gap: 22px; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 7px; margin-top: 27px; font-size: 12px; font-weight: 700; }
.coastal.services-page .illustrated-hero-bottom { border-top: 1px solid var(--coast-line); }
.coastal.services-page .illustrated-hero-bottom .coast-container { display: flex; justify-content: space-between; padding-top: 19px; padding-bottom: 19px; color: #486b93; font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.coastal.services-page .illustrated-services { padding: 114px 0 128px; }
.coastal.services-page .illustrated-section-heading { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(200px,.45fr); column-gap: 50px; align-items: end; padding-bottom: 56px; }
.coastal.services-page .illustrated-section-heading .coast-eyebrow { grid-column: 1/-1; margin-bottom: 20px; }
.coastal.services-page .illustrated-section-heading h2 { font-size: clamp(56px,6vw,94px); letter-spacing: -.035em; margin: 0; }
.coastal.services-page .illustrated-section-heading > p:last-child { color: var(--coast-muted); font-size: 14px; line-height: 1.8; max-width: 320px; margin: 0 0 5px; }
.coastal.services-page .illustrated-service-list { border-top: 1px solid var(--coast-line); }
.coastal.services-page .illustrated-service { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(40px,9vw,145px); align-items: center; padding: 67px clamp(0px,2.5vw,36px); border-bottom: 1px solid var(--coast-line); }
.coastal.services-page .illustrated-service:nth-child(even) .illustrated-art { order: 2; }
.coastal.services-page .illustrated-service:nth-child(even) .illustrated-service-copy { order: 1; }
.coastal.services-page .illustrated-art { min-height: 370px; position: relative; display: grid; place-items: center; color: #235993; overflow: hidden; }
.coastal.services-page .illustrated-service-therapy .illustrated-art { background: #e2eef9; }
.coastal.services-page .illustrated-service-testing .illustrated-art { background: #f0f3f6; color: #3d6592; }
.coastal.services-page .illustrated-service-executive .illustrated-art { background: #dcebf7; }
.coastal.services-page .illustrated-service-caregiver .illustrated-art { background: #ebeff7; color: #36689c; }
.coastal.services-page .illustrated-art-frame { width: 100%; height: 100%; display: grid; place-items: center; position: absolute; inset: 0; }
.coastal.services-page .illustrated-art svg { width: min(79%,380px); height: auto; max-height: 90%; }
.coastal.services-page .illustrated-art-frame::before { content: ""; position: absolute; width: 58%; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; opacity: .1; }
.coastal.services-page .illustrated-art-corner { width: 23px; height: 23px; position: absolute; opacity: .48; }
.coastal.services-page .illustrated-art-corner-top { top: 20px; left: 20px; border-top: 1px solid; border-left: 1px solid; }
.coastal.services-page .illustrated-art-corner-bottom { bottom: 20px; right: 20px; border-bottom: 1px solid; border-right: 1px solid; }
.coastal.services-page .illustrated-art-index { position: absolute; bottom: 21px; left: 24px; font-size: 10px; font-weight: 700; letter-spacing: .14em; opacity: .75; }
.coastal.services-page .illustrated-service-copy { max-width: 570px; }
.coastal.services-page .illustrated-service-topline { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--coast-line); color: #486b93; padding-bottom: 16px; margin-bottom: 37px; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.coastal.services-page .illustrated-service h3 { font-size: clamp(44px,4.2vw,70px); letter-spacing: -.035em; line-height: 1.02; margin: 0 0 23px; }
.coastal.services-page .illustrated-service-copy p { max-width: 450px; color: var(--coast-muted); font-size: 15px; line-height: 1.8; margin: 0 0 31px; }
.coastal.services-page .illustrated-service-link { display: inline-flex; align-items: center; gap: 44px; padding: 0 0 10px; border-bottom: 1px solid var(--coast-ink); text-decoration: none; font-size: 12px; font-weight: 700; transition: gap .25s ease; }
.coastal.services-page .illustrated-service-link:hover { gap: 53px; }
.coastal.services-page .illustrated-service-link span { font-size: 18px; font-weight: 400; line-height: 1; }
.coastal.services-page .illustrated-programs { margin-top: 40px; border-top: 1px solid var(--coast-line); padding-top: 25px; }
.coastal.services-page .illustrated-programs h4 { margin: 0 0 16px; color: var(--coast-blue); font: 700 11px/1.4 var(--coast-font); letter-spacing: .12em; text-transform: uppercase; }
.coastal.services-page .illustrated-program { display: block; padding: 19px 20px; background: #edf4fa; border: 1px solid var(--coast-line); text-decoration: none; }
.coastal.services-page .illustrated-program + .illustrated-program { margin-top: 10px; }
.coastal.services-page .illustrated-program strong { display: block; font: 400 25px/1.15 var(--coast-display); }
.coastal.services-page .illustrated-program > span { display: block; margin-top: 9px; color: var(--coast-muted); font-size: 13px; line-height: 1.55; }
.coastal.services-page .illustrated-program .illustrated-program-action { color: var(--coast-blue); font-size: 12px; font-weight: 700; }
.coastal.services-page .illustrated-program:hover { border-color: var(--coast-blue); }
.coastal.services-page .illustrated-help { display: grid; grid-template-columns: 110px minmax(0,1fr) auto; gap: 40px; align-items: center; margin-top: 105px; padding: 45px 48px; border: 1px solid var(--coast-line); background: #e9f2fa; }
.coastal.services-page .illustrated-help-symbol { width: 84px; height: 84px; border: 1px solid #98b7d7; border-radius: 50%; display: grid; place-items: center; font: italic 60px/.9 var(--coast-display); color: var(--coast-blue); }
.coastal.services-page .illustrated-help h2 { font-size: 38px; margin: 0 0 10px; }
.coastal.services-page .illustrated-help p { color: var(--coast-muted); font-size: 14px; line-height: 1.8; max-width: 720px; margin: 0; }
.coastal.services-page .illustrated-help-link { white-space: nowrap; font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid; padding-bottom: 5px; }
.coastal.services-page .illustrated-help-link span { margin-left: 20px; }
.coastal.services-page .illustrated-conditions { padding: 110px 0 120px; background: var(--coast-ivory); }
.coastal.services-page .illustrated-conditions h2 { font-size: clamp(45px,4.5vw,70px); letter-spacing: -.03em; margin: 0 0 34px; }
.coastal.services-page .illustrated-conditions h2:nth-of-type(2) { border-top: 1px solid var(--coast-line); padding-top: 70px; margin-top: 70px !important; }
.coastal.services-page .illustrated-conditions .check-list { columns: 3; column-gap: 65px; margin: 0; }
.coastal.services-page .illustrated-conditions .check-list li { padding: 9px 0 9px 24px; border-bottom: 1px solid var(--coast-line); color: #2d4e73; font-size: 14px; }
.coastal.services-page .illustrated-conditions .check-list li::before { content: "+"; top: 8px; font-weight: 400; font-size: 18px; line-height: 1; color: var(--coast-blue); }
.coastal.services-page .illustrated-conditions p:last-child { margin: 40px 0 0 !important; color: var(--coast-muted); font-size: 14px; }
@media (prefers-reduced-motion: no-preference) {
  .coastal.services-page .illustrated-service.is-pending .illustrated-art,
  .coastal.services-page .illustrated-service.is-pending .illustrated-service-copy {
    opacity: 0;
    transform: translateY(24px);
  }
  .coastal.services-page .illustrated-service.is-revealed .illustrated-art {
    animation: illustrated-card-in .85s cubic-bezier(.2,.8,.2,1) both;
  }
  .coastal.services-page .illustrated-service.is-revealed .illustrated-service-copy {
    animation: illustrated-card-in .85s .16s cubic-bezier(.2,.8,.2,1) both;
  }
  /* The four drawings tell different stories: connection, discovery, progress and support. */
  .coastal.services-page .illustrated-service-therapy.is-revealed .motif-therapy-left { animation: therapy-left 1.55s cubic-bezier(.22,.8,.25,1) both; }
  .coastal.services-page .illustrated-service-therapy.is-revealed .motif-therapy-right { animation: therapy-right 1.55s cubic-bezier(.22,.8,.25,1) both; }
  .coastal.services-page .illustrated-service-therapy.is-revealed .motif-therapy-center { animation: motif-appear 1.2s .35s ease-out both; }
  .coastal.services-page .illustrated-service-therapy.is-revealed .motif-therapy-heart { animation: therapy-heart 1.3s .35s ease-out both; transform-box: fill-box; transform-origin: center; }

  .coastal.services-page .illustrated-service-testing.is-revealed .motif-test-scan { animation: test-scan 1.65s .08s ease-in-out both; }
  .coastal.services-page .illustrated-service-testing.is-revealed .motif-test-check { animation: motif-draw .85s .34s ease-out both; }
  .coastal.services-page .illustrated-service-testing.is-revealed .motif-test-plus { animation: motif-draw .85s .88s ease-out both; }

  .coastal.services-page .illustrated-service-executive.is-revealed .motif-executive-steps { animation: motif-draw 1.8s .1s ease-in-out both; }
  .coastal.services-page .illustrated-service-executive.is-revealed .motif-executive-badge { animation: executive-rise .6s cubic-bezier(.2,.8,.2,1.2) both; }
  .coastal.services-page .illustrated-service-executive.is-revealed .badge-one { animation-delay: .25s; }
  .coastal.services-page .illustrated-service-executive.is-revealed .badge-two { animation-delay: .65s; }
  .coastal.services-page .illustrated-service-executive.is-revealed .badge-three { animation-delay: 1.05s; }

  .coastal.services-page .illustrated-service-caregiver.is-revealed .motif-caregiver-orbit { animation: motif-draw 1.8s .1s ease-out both; }
  .coastal.services-page .illustrated-service-caregiver.is-revealed .motif-caregiver-adult { animation: caregiver-adult .9s .25s ease-out both; }
  .coastal.services-page .illustrated-service-caregiver.is-revealed .motif-caregiver-child { animation: caregiver-child .9s .6s ease-out both; }
  .coastal.services-page .illustrated-service-caregiver.is-revealed .motif-caregiver-connection { animation: motif-appear .9s 1s ease-out both; }

  @keyframes motif-draw { from { stroke-dasharray: 1; stroke-dashoffset: 1; } to { stroke-dasharray: 1; stroke-dashoffset: 0; } }
  @keyframes motif-appear { from { opacity: .1; } to { opacity: 1; } }
  @keyframes therapy-left { from { opacity: .5; transform: translateX(-16px); } to { opacity: 1; transform: translateX(0); } }
  @keyframes therapy-right { from { opacity: .5; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
  @keyframes therapy-heart { 0% { opacity: .3; transform: scale(.6); } 65% { opacity: 1; transform: scale(1.15); } 100% { transform: scale(1); } }
  @keyframes test-scan { 0% { opacity: 0; transform: translateY(0); } 18% { opacity: .42; } 82% { opacity: .42; } 100% { opacity: 0; transform: translateY(204px); } }
  @keyframes executive-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes caregiver-adult { from { opacity: .3; transform: translateX(-9px); } to { opacity: 1; transform: translateX(0); } }
  @keyframes caregiver-child { from { opacity: .3; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
  @keyframes illustrated-card-in {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (max-width: 900px) {
  .coastal.services-page .illustrated-hero-layout { grid-template-columns: 1fr; gap: 45px; min-height: 0; padding-block: 80px; }
  .coastal.services-page .illustrated-hero h1 { max-width: 650px; }
  .coastal.services-page .illustrated-hero-description { max-width: 610px; }
  .coastal.services-page .illustrated-service { gap: 35px; padding-inline: 0; }
  .coastal.services-page .illustrated-art { min-height: 310px; }
  .coastal.services-page .illustrated-service h3 { font-size: clamp(40px,5vw,58px); }
  .coastal.services-page .illustrated-help { grid-template-columns: 70px 1fr; gap: 20px; padding: 35px; }
  .coastal.services-page .illustrated-help-symbol { width: 65px; height: 65px; font-size: 45px; }
  .coastal.services-page .illustrated-help-link { grid-column: 2; justify-self: start; }
}
@media (max-width: 700px) {
  .coastal.services-page .illustrated-hero-layout { padding-top: 67px; padding-bottom: 61px; gap: 35px; }
  .coastal.services-page .illustrated-hero h1 { font-size: clamp(65px,15vw,100px); }
  .coastal.services-page .illustrated-hero-title .coast-eyebrow { margin-bottom: 24px; }
  .coastal.services-page .illustrated-services { padding: 75px 0 85px; }
  .coastal.services-page .illustrated-section-heading { display: block; padding-bottom: 35px; }
  .coastal.services-page .illustrated-section-heading h2 { font-size: clamp(54px,11vw,76px); margin-bottom: 18px; }
  .coastal.services-page .illustrated-service { grid-template-columns: 1fr; gap: 30px; padding: 40px 0 48px; }
  .coastal.services-page .illustrated-service:nth-child(even) .illustrated-art,.coastal.services-page .illustrated-service:nth-child(even) .illustrated-service-copy { order: initial; }
  .coastal.services-page .illustrated-art { min-height: 0; aspect-ratio: 1.25; }
  .coastal.services-page .illustrated-art svg { width: min(78%,340px); }
  .coastal.services-page .illustrated-service-topline { margin-bottom: 23px; }
  .coastal.services-page .illustrated-service h3 { font-size: clamp(43px,10vw,60px); }
  .coastal.services-page .illustrated-help { margin-top: 67px; padding: 27px 24px; grid-template-columns: 1fr; gap: 22px; }
  .coastal.services-page .illustrated-help-symbol { width: 60px; height: 60px; }
  .coastal.services-page .illustrated-help-link { grid-column: 1; }
  .coastal.services-page .illustrated-conditions { padding: 75px 0 85px; }
  .coastal.services-page .illustrated-conditions .check-list { columns: 1; }
  .coastal.services-page .illustrated-conditions h2:nth-of-type(2) { padding-top: 47px; margin-top: 50px !important; }
}
@media (max-width: 600px) {
  .coastal.services-page .illustrated-hero-bottom .coast-container { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .coastal.services-page .illustrated-service-link { transition: none; }
}