/* Shared service detail layouts, using Services page foundations. */
.ffc-service-detail-page .ffc-sv-hero__image img {object-position:center top}
.ffc-service-detail-page .ffc-sv-hero__image::after {background:linear-gradient(90deg,#fff 0%,#fff 30%,#fffffff5 39%,#f2f8fce6 47%,#f2f8fc60 53%,#f2f8fc00 61%)}
.ffc-service-detail-page :is(.ffc-sp-overview,.ffc-sp-doctor) {padding:76px 0;background:#f2f8fc}
.ffc-service-detail-page :is(.ffc-sp-visit,.ffc-sp-faq) {padding:76px 0;background:#fff}
.ffc-sp-overview__grid {display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:76px}
.ffc-sp-overview__grid > div > p:last-child {margin-bottom:0}
.ffc-sp-focus {display:grid;gap:16px}
.ffc-sp-focus article {display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #dfeaf2;border-radius:16px;background:#fff}
.ffc-sp-focus__icon {display:flex;align-items:center;justify-content:center;flex:0 0 52px;height:52px;border-radius:50%;background:#f2f8fc;color:#07549b}
.ffc-sp-focus__icon svg {display:block;width:29px;height:29px}
.ffc-service-detail-page .ffc-sp-focus h3 {margin:0 0 5px;font-size:19px;font-weight:700;line-height:1.4;letter-spacing:-.2px}
.ffc-service-detail-page .ffc-sp-focus p {margin:0;color:#486277;font-size:14px;line-height:1.7}
.ffc-service-detail-page .ffc-sp-visit__steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0;padding:0;list-style:none}
.ffc-sp-visit__steps li {padding:30px;border:1px solid #dfeaf2;border-radius:18px;background:#f2f8fc}
.ffc-sp-visit__number {display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:22px;border:1px solid #d3e4f0;border-radius:50%;background:#fff;color:#07549b;font-size:14px;font-weight:700}
.ffc-service-detail-page .ffc-sp-visit h3 {margin:0 0 14px;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.4px}
.ffc-service-detail-page .ffc-sp-visit li p {margin:0;color:#486277;font-size:15px;line-height:1.8}
.ffc-sp-doctor__grid {display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:76px}
.ffc-sp-doctor figure {margin:0;overflow:hidden;border-radius:18px;background:#fff}
.ffc-sp-doctor figure img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.ffc-sp-doctor figcaption {padding:15px 22px;color:#003366;font-size:14px;font-style:normal;font-weight:700;line-height:1.6}
.ffc-sp-faq__grid {display:grid;grid-template-columns:1fr 1.1fr;gap:76px;align-items:start}
.ffc-sp-faq__items {display:grid;gap:14px}
.ffc-sp-faq details {overflow:hidden;border:1px solid #dce7ef;border-radius:12px;background:#fff}
.ffc-sp-faq summary {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;list-style:none;cursor:pointer;color:#003366;font-size:16px;font-weight:700;line-height:1.5}
.ffc-sp-faq summary::-webkit-details-marker {display:none}
.ffc-sp-faq summary svg {flex:0 0 20px;width:20px;height:20px;transition:transform .18s}
.ffc-sp-faq details[open] summary svg {transform:rotate(180deg)}
.ffc-service-detail-page .ffc-sp-faq details p {margin:0;padding:0 22px 22px;color:#486277;font-size:15px;line-height:1.8}
.ffc-sp-faq summary:focus-visible {outline:3px solid #ffb463;outline-offset:-4px}
.ffc-acupuncture-page .ffc-sv-hero__image img {object-position:center center}
.ffc-acupuncture-page .ffc-sp-doctor figure img {aspect-ratio:3/2}
.ffc-rehab-page .ffc-sp-doctor figure img {aspect-ratio:3/2}
@media(min-width:901px) {
  .ffc-rehab-page .ffc-sv-hero__image img {width:100%;object-fit:contain;object-position:right center}
  .ffc-rehab-page .ffc-sv-hero__image::after {background:none}
}
@media(max-width:1100px) {
  .ffc-sp-overview__grid,.ffc-sp-doctor__grid,.ffc-sp-faq__grid {gap:40px}
  .ffc-sp-visit__steps li {padding:24px}
}
@media(max-width:900px) {
  .ffc-service-detail-page .ffc-sv-hero__image::after {background:linear-gradient(180deg,#fff 0%,#ffffff00 16%)}
  .ffc-service-detail-page :is(.ffc-sp-overview,.ffc-sp-visit,.ffc-sp-doctor,.ffc-sp-faq) {padding:48px 0}
  .ffc-sp-overview__grid,.ffc-sp-doctor__grid,.ffc-sp-faq__grid {grid-template-columns:1fr;gap:30px}
  .ffc-service-detail-page .ffc-sp-visit__steps {grid-template-columns:1fr;gap:20px}
  .ffc-sp-visit__number {margin-bottom:18px}
  .ffc-sp-doctor figure {max-width:580px}
}
@media(max-width:600px) {
  .ffc-sp-focus article {padding:20px;gap:14px}
  .ffc-sp-focus__icon {flex-basis:46px;height:46px}
  .ffc-service-detail-page .ffc-sp-focus h3 {font-size:18px}
  .ffc-sp-faq summary {padding:20px;font-size:15px}
  .ffc-service-detail-page .ffc-sp-faq details p {padding:0 20px 20px}
}
@media(prefers-reduced-motion:reduce) {.ffc-sp-faq summary svg {transition:none}}

@media(min-width:768px) and (max-width:900px) {
  .ffc-rehab-page .ffc-sv-hero__image img {object-position:right center}
}
