/* Services page, using the shared Freeport palette and typography. */
.ffc-services-page {background:#fff;color:#16324b;font:400 17px/1.8 "Open Sans",Arial,sans-serif}
.ffc-services-page,.ffc-services-page * {box-sizing:border-box}
.ffc-services-page .ffc-sv-wrap {width:calc(100% - 2 * var(--site-gutter,32px));max-width:var(--site-content-width,1280px);margin-inline:auto}
.ffc-services-page :is(h1,h2,h3) {font-family:"Open Sans",Arial,sans-serif;color:#003366;text-transform:none}
.ffc-services-page h2 {margin:0 0 22px;font-size:clamp(32px,3vw,44px);font-weight:700;line-height:1.18;letter-spacing:-1.2px}
.ffc-services-page :is(h1,h2) span {color:#07549b}
.ffc-services-page p {margin:0 0 20px;color:inherit}
.ffc-services-page .ffc-sv-eyebrow {display:flex;align-items:center;gap:13px;margin:0 0 20px;color:#003366;font-size:11px;font-weight:800;line-height:1.6;letter-spacing:2px;text-transform:uppercase}
.ffc-sv-eyebrow::before {content:"";width:28px;height:2px;flex-shrink:0;background:#fe9933}
.ffc-sv-hero {position:relative;isolation:isolate;overflow:hidden;background:#fff;min-height:clamp(560px,40vw,760px)}
.ffc-sv-hero__inner {display:flex;align-items:center;min-height:clamp(560px,40vw,760px);padding-block:62px}
.ffc-sv-hero__copy {width:49%;padding-right:32px}
.ffc-services-page #services-page-heading {margin:0 0 24px;font-size:clamp(42px,4vw,60px);font-weight:700;line-height:1.09;letter-spacing:-2px}
.ffc-services-page .ffc-sv-hero__intro {max-width:510px;margin-bottom:12px;font-size:18px;line-height:1.8}
.ffc-sv-actions {display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.ffc-services-page .ffc-sv-button {display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:14px 22px;border:1px solid #003366;border-radius:8px;background:#003366;color:#fff;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;transition:background-color .18s,border-color .18s}
.ffc-services-page .ffc-sv-button:hover {background:#00264d;border-color:#00264d;color:#fff}
.ffc-services-page .ffc-sv-button--outline {background:#fff;color:#003366}
.ffc-services-page .ffc-sv-button--outline:hover {background:#f2f8fc;color:#003366}
.ffc-sv-button svg,.ffc-sv-text-link svg {width:20px;height:20px;flex-shrink:0}
.ffc-services-page .ffc-sv-hero__details {display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:0 0 24px;padding:0;list-style:none;font-size:13px;font-weight:600;line-height:1.6;color:#486277}
.ffc-sv-hero__details li {display:flex;align-items:center;gap:7px;white-space:nowrap}
.ffc-sv-hero__details svg {display:block;width:18px;height:20px;flex-shrink:0;color:#486277}
.ffc-sv-hero__image {position:absolute;inset:0;z-index:-1;margin:0}
.ffc-sv-hero__image img {display:block;width:75%;height:100%;margin-left:auto;object-fit:cover;object-position:right center}
.ffc-sv-hero__image::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 30%,#fffffff5 39%,#f2f8fce6 47%,#f2f8fc80 55%,#f2f8fc00 65%)}
.ffc-sv-overview {padding:78px 0 84px;background:#f2f8fc;scroll-margin-top:170px}
.ffc-sv-section-heading {max-width:730px;margin:0 auto 42px;text-align:center}
.ffc-sv-section-heading .ffc-sv-eyebrow {justify-content:center}
.ffc-sv-section-heading .ffc-sv-eyebrow::after {content:"";width:28px;height:2px;background:#fe9933}
.ffc-services-page .ffc-sv-section-heading > p:last-child {margin:0;color:#486277}
.ffc-sv-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
@media(min-width:901px) {.ffc-sv-grid > .ffc-sv-card:last-child:nth-child(3n+1) {grid-column:2}}
@media(min-width:601px) and (max-width:900px) {.ffc-sv-grid > .ffc-sv-card:last-child:nth-child(odd) {grid-column:1/-1;width:calc((100% - 22px)/2);justify-self:center}}
.ffc-sv-card {overflow:hidden;border:1px solid #dfeaf2;border-radius:18px;background:#fff;scroll-margin-top:174px;box-shadow:0 8px 25px #00336604;transition:transform .2s,box-shadow .2s,border-color .2s}
.ffc-services-page .ffc-sv-card__link,.ffc-services-page .ffc-sv-card__link:visited,.ffc-services-page .ffc-sv-card__link:hover,.ffc-services-page .ffc-sv-card__link:focus {display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;cursor:pointer}
.ffc-sv-card__image {overflow:hidden;flex-shrink:0;aspect-ratio:1.85;background:#fff}
.ffc-sv-card__image img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}
#service-rehab-exercises .ffc-sv-card__image img {object-position:center 18%}
.ffc-sv-card__image--contain img {object-fit:contain;object-position:center}
.ffc-sv-card__body {position:relative;display:block;flex:1;min-height:157px;padding:39px 24px 24px}
.ffc-sv-card__icon {position:absolute;top:-44px;left:15px;display:flex;align-items:center;justify-content:center;width:84px;height:84px;border:7px solid #fff;border-radius:50%;background:#edf7ff;color:#07549b}
.ffc-sv-card__icon svg {display:block;width:39px;height:39px}
.ffc-services-page .ffc-sv-card h3 {margin:0 47px 5px 0;font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-.55px;overflow-wrap:normal}
.ffc-services-page .ffc-sv-card__link {font-weight:400}
.ffc-services-page .ffc-sv-card__description {margin:0;padding-right:12px;color:#5a6579;font:400 15px/1.8 "Open Sans",Arial,sans-serif;letter-spacing:0}
body #content.ffc-services-page .ffc-sv-card__description {text-wrap:balance}
.ffc-sv-card__arrow {position:absolute;top:23px;right:20px;display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #07549b;border-radius:50%;background:#07549b;color:#fff;transition:background-color .2s,transform .2s}
.ffc-sv-card__arrow svg {display:block;width:23px;height:23px;flex-shrink:0}
.ffc-sv-card:hover,.ffc-sv-card:focus-within {border-color:#b9d6ec;box-shadow:0 12px 30px #0033660d;transform:translateY(-4px)}
.ffc-sv-card:hover .ffc-sv-card__arrow,.ffc-sv-card:focus-within .ffc-sv-card__arrow {background:#003366;transform:translateX(2px)}
.ffc-services-page .ffc-sv-card__link:focus-visible {outline:3px solid #07549b;outline-offset:-4px;border-radius:17px}
.ffc-sv-card[hidden],.ffc-sv-view-all[hidden] {display:none !important}
.ffc-sv-grid-actions {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:36px}
.ffc-services-page .ffc-sv-grid-actions .ffc-sv-button {gap:24px;min-height:54px;padding:15px 24px;font-size:15px;cursor:pointer;font-family:inherit}
.ffc-sv-view-all svg {transition:transform .2s}
.ffc-sv-view-all[aria-expanded="true"] svg {transform:rotate(180deg)}
.ffc-sv-plan {padding:80px 0;background:#fff}
.ffc-sv-plan__grid {display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.ffc-sv-plan__image {margin:0;overflow:hidden;border-radius:20px}
.ffc-sv-plan__image img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.ffc-services-page .ffc-sv-steps {display:grid;gap:21px;margin:28px 0;padding:0;list-style:none}
.ffc-sv-steps li {display:flex;align-items:flex-start;gap:16px}
.ffc-sv-steps li > span {display:flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;border:1px solid #d7e8f5;border-radius:50%;background:#f2f8fc;color:#07549b;font-size:12px;font-weight:700}
.ffc-services-page .ffc-sv-steps h3 {margin:0 0 5px;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:0}
.ffc-services-page .ffc-sv-steps p {margin:0;color:#486277;font-size:14px;line-height:1.7}
.ffc-services-page .ffc-sv-text-link {display:inline-flex;align-items:center;gap:16px;color:#003366;font-size:14px;font-weight:700;text-decoration:none}
.ffc-services-page .ffc-sv-text-link:hover {color:#07549b}
.ffc-sv-contact {padding:70px 0;background:#f2f8fc}
.ffc-sv-contact__inner {display:flex;justify-content:space-between;align-items:center;gap:50px}
.ffc-services-page .ffc-sv-contact h2 {font-size:clamp(30px,2.7vw,38px)}
.ffc-services-page .ffc-sv-contact p:last-child {margin-bottom:0}
.ffc-sv-contact .ffc-sv-actions {flex-direction:column;flex-shrink:0}
.ffc-services-page :is(a,button):focus-visible {outline:3px solid #ffb463;outline-offset:5px}
@media(max-width:1100px) {
  .ffc-sv-hero__copy {width:52%;padding-right:24px}
  .ffc-sv-grid {gap:22px}
  .ffc-sv-card__body {padding-inline:19px}
  .ffc-services-page .ffc-sv-card h3 {font-size:19px}
  .ffc-sv-plan__grid {gap:40px}
}
@media(max-width:900px) {
  .ffc-services-page .ffc-sv-wrap {width:calc(100% - 44px)}
  .ffc-sv-hero {display:flex;flex-direction:column;min-height:0}
  .ffc-sv-hero__inner {order:0;min-height:0;padding-block:44px 32px}
  .ffc-sv-hero__copy {width:100%;padding:0}
  .ffc-services-page #services-page-heading {font-size:48px}
  .ffc-services-page .ffc-sv-hero__intro {max-width:600px;font-size:17px}
  .ffc-sv-hero__image {position:relative;order:1;inset:auto;z-index:0;aspect-ratio:4/3}
  .ffc-sv-hero__image img {width:100%;height:100%;margin:0;object-position:center}
  .ffc-sv-hero__image::after {background:linear-gradient(180deg,#fff 0%,#ffffff00 16%)}
  .ffc-sv-overview,.ffc-sv-plan {padding:50px 0}
  .ffc-sv-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .ffc-sv-plan__grid {grid-template-columns:1fr;gap:32px}
  .ffc-sv-plan__image img {height:auto;aspect-ratio:3/2}
  .ffc-sv-contact {padding:48px 0}
  .ffc-sv-contact__inner {flex-direction:column;align-items:flex-start;gap:28px}
  .ffc-sv-overview,.ffc-sv-card {scroll-margin-top:125px}
}
@media(max-width:767px) {
  .ffc-sv-hero__image {display:none}
}
@media(max-width:600px) {
  .ffc-services-page {font-size:16px}
  .ffc-services-page #services-page-heading {font-size:clamp(32px,9.7vw,42px);letter-spacing:-1.6px}
  .ffc-services-page h2 {font-size:32px;letter-spacing:-.8px}
  .ffc-services-page .ffc-sv-eyebrow {font-size:10px;letter-spacing:1.5px}
  .ffc-sv-hero .ffc-sv-actions {flex-direction:column}
  .ffc-sv-grid {grid-template-columns:1fr;gap:26px}
  .ffc-sv-section-heading {text-align:left;margin-bottom:30px}
  .ffc-sv-section-heading .ffc-sv-eyebrow {justify-content:flex-start}
  .ffc-sv-section-heading .ffc-sv-eyebrow::after {display:none}
  .ffc-sv-card__image {aspect-ratio:1.65}
  .ffc-sv-card__body {min-height:154px;padding:39px 21px 22px}
  .ffc-services-page .ffc-sv-card h3 {font-size:20px;margin-right:44px}
  .ffc-services-page .ffc-sv-card__description {padding-right:0}
  .ffc-sv-card__icon {width:78px;height:78px;top:-41px;left:14px}
  .ffc-sv-card__icon svg {width:36px;height:36px}
  .ffc-sv-card__arrow {width:38px;height:38px;right:17px;top:24px}
  .ffc-sv-card__arrow svg {width:21px;height:21px}
  .ffc-sv-grid-actions {flex-direction:column;gap:13px;max-width:320px;margin:30px auto 0}
  .ffc-services-page .ffc-sv-grid-actions .ffc-sv-button {width:100%}
  .ffc-sv-plan__image {border-radius:16px}
  .ffc-sv-contact .ffc-sv-actions {width:100%}
}
@media(prefers-reduced-motion:reduce) {
  .ffc-services-page .ffc-sv-button,.ffc-sv-card,.ffc-sv-card__arrow,.ffc-sv-view-all svg {transition:none}
  .ffc-sv-card:hover,.ffc-sv-card:focus-within,.ffc-sv-card:hover .ffc-sv-card__arrow,.ffc-sv-card:focus-within .ffc-sv-card__arrow {transform:none}
}
