/* Full-service page: one illustration for each part of the service. */
.fs-page h1,.fs-page h2,.fs-page h3 { font-family:var(--hot-font); font-weight:900; }
.fs-page .fs-hero { padding:32px 0 48px; }
.fs-page .fs-hero > .glow { width:640px; height:480px; left:-240px; top:-160px; }
.fs-hero-grid { display:grid; gap:32px; align-items:center; }
.fs-hero-copy { min-width:0; }
.fs-page .fs-hero h1 { font-size:clamp(30px,4.2vw,56px); line-height:1.45; margin:0; }
.fs-page .fs-hero .bar { display:inline-block; margin:8px 8px 16px 0; padding:0 8px; }
.fs-lede { max-width:36em; margin-top:16px; color:#C9C9C9; font-size:18px; line-height:1.8; }
.fs-hero-art { margin:0; width:100%; min-width:0; }
.fs-hero-art img { display:block; width:100%; height:auto; object-fit:contain; }
.fs-promises { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; margin-top:32px; color:#F9F9F9; font-size:14px; }
.fs-promises li::before { content:'＋'; color:var(--or); margin-right:8px; }
.fs-pending { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.fs-cards { display:grid; grid-template-columns:minmax(0,1fr); list-style:none; border-top:1px solid var(--line-l); }
.fs-cards li { min-width:0; padding:32px 8px; border-bottom:1px solid var(--line-l); }
.fs-index { display:block; color:var(--red); font-size:14px; font-weight:700; letter-spacing:.08em; }
.fs-cards img { display:block; width:100%; height:220px; margin:16px auto 24px; object-fit:contain; }
.fs-cards h3 { margin-bottom:16px; }
.fs-cards p { color:#333; margin:0; line-height:1.8; }
.fs-steps { display:grid; grid-template-columns:minmax(0,1fr); list-style:none; border-top:1px solid var(--line-d); }
.fs-steps li { min-width:0; padding:32px 0; border-bottom:1px solid var(--line-d); }
.fs-steps .num { font-size:64px; margin-bottom:24px; }
.fs-steps h3 { margin-bottom:16px; }
.fs-steps p { color:#C9C9C9; margin:0; }
.fs-page .fs-table { width:100%; table-layout:fixed; border-collapse:collapse; background:transparent; font-size:14px; line-height:1.7; }
.fs-table th,.fs-table td { padding:20px 12px; border:0; border-bottom:1px solid var(--line-l); text-align:left; vertical-align:top; background:transparent; }
.fs-table th:first-child { width:25%; }
.fs-table thead th { font-size:16px; font-weight:900; border-bottom:2px solid #1A1A1A; }
.fs-table th:last-child,.fs-table td:last-child { background:#FFE6D9; }
.fs-table thead th:last-child { background:var(--grad); color:#000; }
.fs-compare-note { margin-top:24px; color:#555; font-size:14px; }
.fs-text-link { display:inline-flex; align-items:center; gap:16px; min-height:48px; margin-top:16px; color:var(--red); font-weight:700; text-underline-offset:4px; }
.fs-related { margin-top:48px; padding-top:32px; border-top:1px solid var(--line-l); }
.fs-related h3 { margin-bottom:16px; }
.fs-areas h2 { font-size:28px; }
.fs-page .fs-final { padding:64px 0; }
.fs-final .label { color:#1A1A1A; }
.fs-final .label::before { background:#1A1A1A; }
.fs-final h2 { font-size:clamp(32px,4.5vw,64px); line-height:1.3; }
.fs-page .fs-final .fs-book { background:#0A0A0A; color:#F9F9F9; border-color:#0A0A0A; padding:16px 32px; font-size:18px; }
@media (max-width:599.98px) {
  .fs-hero-art { grid-row:1; }
  .fs-page .fs-hero .cta-row .btn { padding:8px 16px; white-space:normal; text-align:center; }
  .fs-table th,.fs-table td { padding:16px 8px; }
  .fs-page .fs-table { font-size:13px; }
  .fs-table thead th { font-size:14px; }
}
@media (min-width:840px) {
  .fs-page .fs-hero { padding:48px 0 64px; }
  .fs-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
  .fs-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fs-cards li { padding:32px 24px 48px; border-left:1px solid var(--line-l); }
  .fs-cards li:first-child { border-left:0; }
  .fs-cards img { height:240px; }
  .fs-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .fs-steps li { padding:32px 24px 48px; border-right:1px solid var(--line-d); }
  .fs-steps li:first-child { padding-left:0; }
  .fs-steps li:last-child { padding-right:0; border-right:0; }
  .fs-steps h3 { font-size:20px; }
  .fs-page .fs-table { font-size:18px; }
  .fs-table th,.fs-table td { padding:24px; }
  .fs-table thead th { font-size:22px; }
  .fs-page .fs-final { padding:96px 0; }
}
