/* About page: the shared clinic palette, typography, header and footer. */
.ffc-about-page {color:#16324b;font:400 17px/1.8 "Open Sans",Arial,sans-serif}
.ffc-about-page,.ffc-about-page * {box-sizing:border-box}
.ffc-about-page .ffc-about-wrap {width:calc(100% - 2 * var(--site-gutter,32px));max-width:var(--site-content-width,1280px);margin-inline:auto}
.ffc-about-page h1,.ffc-about-page h2,.ffc-about-page h3 {font-family:"Open Sans",Arial,sans-serif;color:#003366;text-transform:none}
.ffc-about-page h2 {margin:0 0 22px;font-size:clamp(30px,3vw,44px);font-weight:700;line-height:1.18;letter-spacing:-1.2px}
.ffc-about-page p {margin:0 0 20px;color:inherit}
.ffc-about-page .ffc-about-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-about-page .ffc-about-eyebrow::before {content:"";width:28px;height:2px;flex-shrink:0;background:#fe9933}
.ffc-about-hero {position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#fffaf2 5%,#eff6fa 62%,#dcebf2);min-height:clamp(560px,40vw,760px)}
.ffc-about-hero__image {position:absolute;inset:0;z-index:-1}
.ffc-about-hero__image img {display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.ffc-about-hero__image::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fffaf2f5 0%,#f2f7f4ed 25%,#f2f7f4c7 39%,#f2f7f452 49%,transparent 57%)}
.ffc-about-hero__inner {display:flex;align-items:center;min-height:clamp(560px,40vw,760px);padding-block:70px}
.ffc-about-hero__copy {width:49%;padding-right:32px}
.ffc-about-page #about-page-heading {margin:0 0 24px;font-size:clamp(44px,4.7vw,68px);font-weight:700;line-height:1.08;letter-spacing:-2.6px}
.ffc-about-hero__intro {max-width:450px;font-size:18px;line-height:1.8}
.ffc-about-page .ffc-about-hero__intro {margin-bottom:12px}
.ffc-about-hero__actions {display:flex;align-items:stretch;flex-wrap:wrap;gap:12px}
.ffc-about-page .ffc-about-button {display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:14px 23px;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-about-page .ffc-about-button:hover {background:#00264d;border-color:#00264d;color:#fff}
.ffc-about-page .ffc-about-button--secondary {background:#ffffffa6;color:#003366}
.ffc-about-page .ffc-about-button--secondary:hover {background:#e8f2f9;color:#003366}
.ffc-about-button svg {width:20px;height:20px;flex-shrink:0}
.ffc-about-page .ffc-about-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-about-hero__details li {display:flex;align-items:center;gap:7px;white-space:nowrap}
.ffc-about-hero__details svg {display:block;width:18px;height:20px;flex-shrink:0;color:#486277}
.ffc-about-welcome {padding:30px 0;background:#0a2336;border-block:1px solid #24435b}
.ffc-about-welcome__inner {display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ffc-about-welcome__item {display:flex;align-items:center;gap:14px;min-width:0;padding:0 20px;border-left:1px solid #315167}
.ffc-about-welcome__item:first-child {padding-left:0;border-left:0}
.ffc-about-welcome__item:last-child {padding-right:0}
.ffc-about-welcome__icon {display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #3d6079;border-radius:50%;background:#17364d;color:#edf7ff}
.ffc-about-welcome__icon svg {display:block;width:33px;height:33px}
.ffc-about-page .ffc-about-welcome__item h2 {margin:0 0 6px;color:#fff;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.2px}
.ffc-about-page .ffc-about-welcome p {margin:0;color:#d5e2ec;font-size:12px;line-height:1.6}
.ffc-about-background {position:relative;isolation:isolate;overflow:hidden;padding:60px 0 54px;background:#f2f8ff}
.ffc-about-background__art {position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;object-fit:cover;object-position:right top}
.ffc-about-background > .ffc-about-wrap {position:relative}
.ffc-about-background__intro {position:relative;min-height:290px;padding-right:51%;margin-bottom:32px}
.ffc-about-page #about-background-heading {margin-bottom:22px;font-size:clamp(40px,3.7vw,57px);line-height:1.08;letter-spacing:-1.8px}
.ffc-about-page .ffc-about-heading__accent {color:#07549b}
.ffc-about-page .ffc-about-background__description {position:relative;isolation:isolate;max-width:620px;margin:0;padding:0;text-align:left;text-indent:0;color:#244e72;font-size:18px;line-height:1.65}
.ffc-about-background__description::before {content:"";position:absolute;inset:-32px -48px;z-index:-1;background:radial-gradient(ellipse at center,rgba(242,248,252,.98) 0%,rgba(242,248,252,.9) 55%,rgba(242,248,252,0) 78%);filter:blur(12px);pointer-events:none}
.ffc-about-background__route {position:absolute;left:45%;top:-8px;width:31%;max-width:470px;height:300px;overflow:visible;pointer-events:none}
.ffc-about-background__route text {fill:#003366;font:700 25px "Open Sans",Arial,sans-serif;letter-spacing:-.6px;paint-order:stroke;stroke:#f7fbff;stroke-width:5px;stroke-linejoin:round}
.ffc-about-prose > p:last-child {margin-bottom:0}
.ffc-about-milestones {position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ffc-about-milestones article {display:flex;align-items:center;gap:18px;min-width:0;min-height:124px;padding:22px 20px;border:1px solid #fff;border-radius:20px;background:#ffffffed;box-shadow:0 14px 36px #9ac7e51c}
.ffc-about-milestones__icon {display:flex;align-items:center;justify-content:center;flex:0 0 68px;width:68px;height:68px;border-radius:50%;background:linear-gradient(145deg,#def1ff,#f3faff);color:#0066b6}
.ffc-about-milestones__icon svg {display:block;width:46px;height:46px}
.ffc-about-milestones__copy {min-width:0;padding-left:18px;border-left:1px solid #aecce4}
.ffc-about-page .ffc-about-milestones h3 {margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.3px}
.ffc-about-page .ffc-about-milestones p {margin:0;font-size:10px;font-weight:500;line-height:1.65;letter-spacing:.3px;text-transform:uppercase;color:#4d7094}
.ffc-about-story {padding:76px 0;background:#fff}
.ffc-about-story__grid {display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:76px}
.ffc-about-story__image {position:relative;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 18px 40px #163c6510}
.ffc-about-story__image img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.ffc-about-story__image figcaption {display:flex;align-items:center;gap:10px;padding:16px 22px;background:#fff;color:#003366;font-size:13px;font-style:normal;font-weight:700;line-height:1.6}
.ffc-about-story__map-pin {display:block;width:20px;height:27px;flex-shrink:0}
.ffc-about-clinic {padding:76px 0;background:#f2f8fc}
.ffc-about-clinic__heading {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:76px;margin-bottom:34px}
.ffc-about-page .ffc-about-clinic__heading h2 {margin-bottom:0}
.ffc-about-page .ffc-about-clinic__heading > p {margin:0;max-width:560px}
.ffc-about-clinic__gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ffc-about-clinic__card {margin:0;overflow:hidden;border:1px solid #e0eaf1;border-radius:18px;background:#f5f9fc}
.ffc-about-clinic__card img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.ffc-about-clinic__card figcaption {padding:23px 25px 25px;font-style:normal}
.ffc-about-page .ffc-about-clinic h3 {margin:0 0 9px;font-size:21px;font-weight:700;line-height:1.4;letter-spacing:-.4px}
.ffc-about-page .ffc-about-clinic__card p {margin:0;color:#486277;font-size:15px;line-height:1.75}
.ffc-about-clinic__tour {display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:34px;padding-top:28px;border-top:1px solid #dce6ed}
.ffc-about-page .ffc-about-clinic__tour h3 {font-size:19px;margin-bottom:5px}
.ffc-about-page .ffc-about-clinic__tour p {margin:0;font-size:15px;color:#486277}
.ffc-about-clinic__tour button {cursor:pointer;font-family:inherit}
.ffc-about-philosophy {position:relative;overflow:hidden;padding:74px 0;background:#0a2336;color:#d5e2ec}
.ffc-about-philosophy__grid {position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start}
.ffc-about-page .ffc-about-philosophy .ffc-about-eyebrow {color:#ffb463}
.ffc-about-page .ffc-about-philosophy h2 {color:#fff}
.ffc-about-philosophy .ffc-about-prose > p:first-child {font-size:19px;line-height:1.85}
.ffc-about-page .ffc-about-philosophy__signature {margin-top:26px;color:#fff;font-size:16px;font-weight:700;line-height:1.6}
.ffc-about-philosophy__signature span {display:block;margin-top:3px;color:#a7bfce;font-size:12px;font-weight:400}
.ffc-about-contact {padding:70px 0;background:#fffaf3}
.ffc-about-contact__inner {display:flex;align-items:center;justify-content:space-between;gap:40px}
.ffc-about-page .ffc-about-contact h2 {font-size:clamp(28px,2.7vw,38px);margin-bottom:15px}
.ffc-about-contact__inner p:last-child {margin-bottom:0}
.ffc-about-contact__actions {display:flex;flex-direction:column;gap:18px;align-items:stretch;flex-shrink:0}
.ffc-about-page :is(a,button):focus-visible {outline:3px solid #ffb463;outline-offset:5px}
@media(max-width:1024px) {
  .ffc-about-page .ffc-about-wrap {width:calc(100% - 56px)}
  .ffc-about-hero,.ffc-about-hero__inner {min-height:500px}
  .ffc-about-hero__copy {width:48%;padding-right:18px}
  .ffc-about-philosophy__grid {gap:45px}
  .ffc-about-background__intro {padding-right:48%}
  .ffc-about-background__route {left:49%;width:36%;top:14px}
  .ffc-about-story__grid {gap:42px}
  .ffc-about-clinic__heading {gap:42px}
  .ffc-about-milestones {gap:12px}
  .ffc-about-milestones article {padding:20px 14px;gap:12px}
  .ffc-about-milestones__icon {flex-basis:52px;width:52px;height:52px}
  .ffc-about-milestones__icon svg {width:38px;height:38px}
  .ffc-about-milestones__copy {padding-left:12px}
  .ffc-about-page .ffc-about-milestones h3 {font-size:16px}
}
@media(max-width:900px) {
  .ffc-about-welcome {padding:26px 0}
  .ffc-about-welcome__inner {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
  .ffc-about-welcome__item {padding:0 16px}
  .ffc-about-welcome__item:nth-child(odd) {padding-left:0;border-left:0}
  .ffc-about-welcome__item:nth-child(even) {padding-right:0}
  .ffc-about-page {font-size:16px;line-height:1.8}
  .ffc-about-page .ffc-about-wrap {width:calc(100% - 44px)}
  .ffc-about-hero {display:flex;flex-direction:column;min-height:0}
  .ffc-about-hero__inner {order:0;min-height:0;padding-block:46px 32px}
  .ffc-about-hero__copy {width:100%;padding-right:0}
  .ffc-about-page #about-page-heading {font-size:48px;letter-spacing:-1.8px}
  .ffc-about-hero__intro {font-size:17px;max-width:480px}
  .ffc-about-hero__image {position:relative;order:1;inset:auto;z-index:0;height:auto;aspect-ratio:4/3}
  .ffc-about-hero__image img {height:100%;object-position:right center}
  .ffc-about-hero__image::after {background:linear-gradient(180deg,#eff6fa 0%,#eff6fa00 16%)}
  .ffc-about-background,.ffc-about-story {padding:48px 0}
  .ffc-about-story__grid,.ffc-about-philosophy__grid {grid-template-columns:1fr;gap:26px}
  .ffc-about-background__intro {min-height:0;padding-right:0;margin-bottom:12px}
  .ffc-about-page #about-background-heading {font-size:42px;letter-spacing:-1.3px}
  .ffc-about-page .ffc-about-background__description {font-size:16px;line-height:1.8}
  .ffc-about-background__art {inset:350px 0 auto;height:320px;object-position:right top;opacity:.3}
  .ffc-about-background__route {position:relative;left:auto;top:auto;width:min(100%,430px);height:auto;aspect-ratio:480/340;margin:0 auto 22px}
  .ffc-about-milestones {grid-template-columns:1fr;gap:16px}
  .ffc-about-milestones article {padding:21px;gap:18px;min-height:112px}
  .ffc-about-milestones__icon {flex-basis:62px;width:62px;height:62px}
  .ffc-about-milestones__icon svg {width:42px;height:42px}
  .ffc-about-milestones__copy {padding-left:18px}
  .ffc-about-page .ffc-about-milestones h3 {font-size:18px}
  .ffc-about-page .ffc-about-eyebrow {font-size:10px;letter-spacing:1.5px;margin-bottom:17px}
  .ffc-about-page h2 {font-size:33px;letter-spacing:-.8px;margin-bottom:18px}
  .ffc-about-clinic {padding:48px 0}
  .ffc-about-clinic__heading {grid-template-columns:1fr;gap:18px;margin-bottom:26px}
  .ffc-about-clinic__gallery {grid-template-columns:1fr;gap:24px}
  .ffc-about-clinic__card figcaption {padding:20px}
  .ffc-about-clinic__tour {align-items:flex-start;flex-direction:column;gap:20px;margin-top:28px;padding-top:24px}
  .ffc-about-story__grid {gap:32px}
  .ffc-about-story__grid > .ffc-about-prose {display:contents}
  .ffc-about-story__heading {order:0}
  .ffc-about-page .ffc-about-story__heading h2 {margin-bottom:0}
  .ffc-about-story__image {order:1}
  .ffc-about-story__description {order:2}
  .ffc-about-philosophy {padding:48px 0}
  .ffc-about-philosophy__grid {gap:10px}
  .ffc-about-philosophy .ffc-about-prose > p:first-child {font-size:17px}
  .ffc-about-contact {padding:48px 0}
  .ffc-about-contact__inner {align-items:flex-start;flex-direction:column;gap:26px}
}
@media(max-width:767px) {
  .ffc-about-welcome {display:none}
}
@media(max-width:600px) {
  .ffc-about-hero__actions {flex-direction:column;align-items:stretch}
  .ffc-about-welcome__inner {row-gap:26px}
  .ffc-about-welcome__item {flex-direction:column;align-items:center;gap:10px;padding:0 12px;text-align:center}
  .ffc-about-welcome__item:nth-child(odd) {padding-left:12px}
  .ffc-about-welcome__item:nth-child(even) {padding-right:12px}
  .ffc-about-welcome__icon {flex-basis:46px;width:46px;height:46px}
  .ffc-about-welcome__icon svg {width:30px;height:30px}
  .ffc-about-page .ffc-about-welcome__item h2 {font-size:15px;margin-bottom:4px}
  .ffc-about-page .ffc-about-welcome p {font-size:11px}
}
@media(prefers-reduced-motion:reduce) {.ffc-about-page .ffc-about-button {transition:none}}

/* Blend local landmarks with the map while keeping the experience cards clear. */
@media(min-width:901px) {
  .ffc-about-background__art {max-width:none;width:100%;height:auto;transform:none;object-fit:contain;object-position:right top;mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent 100%)}
  .ffc-about-background__intro {min-height:380px}
}
@media(min-width:901px) {
  .ffc-about-background__route {left:34%;top:-8px;width:22%;height:260px}
}
@media(min-width:901px) and (max-width:1279px) {
  .ffc-about-background__route {top:-48px}
}
@media(max-width:900px) {
  .ffc-about-background {display:flex;flex-direction:column}
  .ffc-about-background > .ffc-about-wrap {display:contents}
  .ffc-about-background__intro {order:0;width:calc(100% - 44px);margin:0 auto 12px}
  .ffc-about-background__route {order:1;width:min(calc(100% - 44px),430px);margin:0 auto}
  .ffc-about-background__art {position:relative;inset:auto;order:2;z-index:0;max-width:none;width:100%;height:280px;margin:0 0 22px;object-fit:cover;object-position:right top;opacity:1;mask-image:linear-gradient(to bottom,transparent,#000 18px,#000 calc(100% - 60px),transparent 100%)}
  .ffc-about-milestones {order:3;width:calc(100% - 44px);margin:0 auto}
}
