.fc { color: #26455e; }
.fc-section { padding: 92px 0; }
.fc-section h2 { margin: 10px 0 22px; color: #203f59; font-size: clamp(28px,3vw,39px); line-height: 1.42; }
.fc-section h3 { color: #244965; }
.fc-section p { line-height: 1.85; }
.fc-lead { max-width: 790px; margin-bottom: 34px; color: #527187; font-size: 17px; }
.fc-note { color: #5e798c; font-size: 13px; line-height: 1.7; }
.fc-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 65px; align-items: center; }
.fc-split p { color: #587388; }
.fc-split p + p { margin-top: 18px; }
.fc-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.fc-card-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fc-card-grid article { min-width: 0; padding: 30px; border: 1px solid #d9e8f3; border-radius: 16px; background: #fff; box-shadow: 0 14px 32px #28526e0a; }
.fc-card-grid article > span { color: #3983b6; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.fc-card-grid h3 { margin: 11px 0; font-size: 22px; }
.fc-card-grid p { color: #59778a; font-size: 15px; }
.fc-related { display: flex; flex-wrap: wrap; gap: 12px; }
.fc-related a { padding: 14px 20px; border: 1px solid #c4ddeb; border-radius: 9px; background: #fff; color: #3179a8; font-weight: 800; }
.fc-tenant__hero, .fc-cancel__hero { background: #eaf4fb; }
.fc-tenant__hero img, .fc-cancel__hero img { border-radius: 16px; box-shadow: 0 20px 40px #274d701c; }
.fc-tenant__map { background: #fff; }
.fc-tenant__diagram { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 42px; align-items: center; padding: 38px; border: 1px solid #d4e8f5; border-radius: 22px; background: linear-gradient(140deg,#f4faff,#e9f4fc); }
.fc-tenant__inputs, .fc-tenant__outputs { display: grid; gap: 10px; }
.fc-tenant__inputs span, .fc-tenant__outputs span { display: block; min-width: 0; padding: 15px 10px; border: 1px solid #d5e5f0; border-radius: 9px; background: #fff; color: #3b6886; text-align: center; font-size: 15px; font-weight: 800; }
.fc-tenant__hub { position: relative; display: grid; justify-items: center; gap: 10px; padding: 33px 20px; border: 3px solid #3a80b5; border-radius: 17px; background: #fff; color: #326f9f; text-align: center; box-shadow: 0 15px 36px #2d6da229; }
.fc-tenant__hub::before, .fc-tenant__hub::after { position: absolute; top: 50%; width: 30px; height: 2px; background: #6a9dc3; content: ""; }
.fc-tenant__hub::before { left: -40px; }
.fc-tenant__hub::after { right: -40px; }
.fc-tenant__hub small { font-weight: 700; }
.fc-tenant__hub strong { font-size: 26px; }
.fc-tenant__hub span { font-size: 12px; }
.fc-tenant__map .fc-note { margin-top: 19px; }
.fc-tenant__detail { background: #f2f8fc; }
.fc-tenant__ledger { overflow: hidden; border: 1px solid #d2e3ee; border-radius: 16px; background: #fff; box-shadow: 0 20px 40px #274e6a12; }
.fc-tenant__ledger header { display: flex; justify-content: space-between; padding: 22px 25px; background: #367caf; color: #fff; }
.fc-tenant__ledger > div { display: grid; gap: 6px; padding: 20px 25px; border-bottom: 1px solid #e4edf3; }
.fc-tenant__ledger > div:last-child { border-bottom: 0; }
.fc-tenant__ledger b { color: #367caf; }
.fc-tenant__ledger span { color: #526e81; }
.fc-tenant__use { background: #fff; }
.fc-paperless { background: #e7f2fa; }
.fc-paperless .container, .fc-history__vision .container { display: grid; grid-template-columns: 1fr minmax(300px,.8fr); gap: 65px; align-items: center; }
.fc-paperless__path, .fc-history__continuity { display: grid; justify-items: stretch; padding: 28px; border: 1px solid #c9e0ef; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 16px 36px #2b5c7e14; }
.fc-paperless__path span, .fc-paperless__path strong, .fc-history__continuity span, .fc-history__continuity strong { padding: 14px; border-radius: 8px; background: #eef6fc; color: #386f95; font-weight: 800; }
.fc-paperless__path strong, .fc-history__continuity strong { background: #347aab; color: #fff; }
.fc-paperless__path i, .fc-history__continuity i { color: #3984b5; font-size: 20px; font-style: normal; font-weight: 800; }
.fc-tenant__next, .fc-cancel__next { padding: 70px 0; background: #f8fbfd; }
.fc-cancel__roadmap { background: #fff; }
.fc-cancel__timeline { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; margin: 0; padding: 0; list-style: none; }
.fc-cancel__timeline li { min-width: 0; min-height: 235px; padding: 21px 18px; border: 1px solid #d5e6f1; border-top: 5px solid #397eaf; border-radius: 11px; background: #f6fafd; }
.fc-cancel__timeline li:not(:last-child) { position: relative; }
.fc-cancel__timeline li:not(:last-child)::after { position: absolute; top: 50%; right: -16px; z-index: 1; color: #4082ad; font-size: 19px; content: "›"; }
.fc-cancel__timeline li.fc-cancel__optional { border-top-color: #8bb6cb; background: #fff; }
.fc-cancel__timeline b { color: #4185b2; font-size: 30px; }
.fc-cancel__timeline h3 { margin: 10px 0; font-size: 18px; line-height: 1.45; }
.fc-cancel__timeline p { color: #5a7384; font-size: 14px; }
.fc-cancel__timeline small { display: inline-block; margin-top: 14px; padding: 4px 9px; border-radius: 30px; background: #dcebf7; color: #276b98; font-weight: 800; }
.fc-cancel__balance { background: #eff7fc; }
.fc-cancel__equation { display: grid; gap: 7px; padding: 28px; border: 1px solid #d0e3f0; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 18px 38px #2b517015; }
.fc-cancel__equation span, .fc-cancel__equation strong { padding: 16px; border-radius: 8px; background: #edf6fc; color: #356d95; font-weight: 800; }
.fc-cancel__equation strong { background: #367eae; color: #fff; }
.fc-cancel__equation b { color: #4b8eb6; font-size: 21px; }
.fc-cancel__equation small { color: #627c8e; }
.fc-cancel__documents { background: #fff; }
.fc-cancel__documents .fc-note { margin-top: 18px; }
.fc-cancel__web { background: #eaf5fb; }
.fc-cancel__web-intro { max-width: 850px; }
.fc-cancel__web-intro p:not(.fi-kicker) { color: #567487; font-size: 17px; }
.fc-cancel__web-flow { display: grid; grid-template-columns: minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr); gap: 13px; align-items: stretch; margin: 36px 0 19px; }
.fc-cancel__web-flow article { display: grid; align-content: start; gap: 12px; min-width: 0; min-height: 180px; padding: 25px; border: 1px solid #cee1ed; border-radius: 13px; background: #fff; box-shadow: 0 14px 30px #2e597414; }
.fc-cancel__web-flow small { color: #3980ac; font-weight: 900; }
.fc-cancel__web-flow strong { color: #244d6a; font-size: 20px; }
.fc-cancel__web-flow span { color: #5b788b; font-size: 14px; line-height: 1.65; }
.fc-cancel__web-flow i { align-self: center; color: #3c84b1; text-align: center; font-size: 25px; font-style: normal; font-weight: 800; }
.fc-cancel__web .fi-text-link { display: inline-block; margin-top: 18px; }
.fc-cancel__vision { background: #e7f2fa; }
.fc-cancel__vision .container { display: grid; grid-template-columns: 1fr minmax(300px,.8fr); gap: 65px; align-items: center; }
.fc-cancel__vision p:not(.fi-kicker) { color: #567488; }
.fc-showcase-hero-art { display: block; width: 100%; height: auto; border-radius: 16px; box-shadow: 0 20px 40px #274d701c; }
.fc-renewal__route { background: #eaf4fb; }
.fc-renewal__spine, .fc-renewal__finish { display: flex; gap: 12px; align-items: stretch; justify-content: center; }
.fc-renewal__spine span, .fc-renewal__finish span, .fc-renewal__finish strong { flex: 1; display: grid; place-items: center; min-height: 70px; padding: 13px; border: 1px solid #c9deec; border-radius: 9px; background: #fff; color: #376e95; text-align: center; font-weight: 800; }
.fc-renewal__spine b, .fc-renewal__finish b { align-self: center; color: #4385b2; font-size: 22px; }
.fc-renewal__branches { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 22px 0; }
.fc-renewal__branches article { padding: 27px; border: 2px solid #b6d7eb; border-radius: 13px; background: #fff; }
.fc-renewal__branches article:nth-child(2) { border-color: #8fb9d1; }
.fc-renewal__branches small { color: #3483b6; font-weight: 900; }
.fc-renewal__branches h3 { margin: 10px 0; }
.fc-renewal__branches p { color: #5c7789; }
.fc-renewal__finish strong { background: #347cab; color: #fff; }
.fc-renewal__route .fc-note { margin-top: 21px; }
.fc-renewal__vision { background: #eef7fc; }
.fc-renewal__vision .container { display: grid; grid-template-columns: 1fr; gap: 30px; }
.fc-renewal__vision-path { display: flex; gap: 12px; align-items: center; }
.fc-renewal__vision-path span, .fc-renewal__vision-path strong { flex: 1; padding: 18px; border-radius: 8px; background: #fff; color: #39749c; text-align: center; font-weight: 800; }
.fc-renewal__vision-path strong { background: #367cac; color: #fff; }
.fc-renewal__vision-path i { font-style: normal; font-weight: 800; color: #3c83b2; }
.fc-history__timeline { background: #fff; }
.fc-history__track { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin: 0; padding: 0; list-style: none; }
.fc-history__track li { position: relative; min-width: 0; padding: 25px; border: 1px solid #d7e8f1; border-radius: 14px; background: #f4f9fc; }
.fc-history__track li:not(:last-child)::after { position: absolute; top: 50%; right: -16px; z-index: 1; color: #4588b7; font-size: 21px; content: "→"; }
.fc-history__track b { color: #4083b2; font-size: 26px; }
.fc-history__track h3 { margin: 10px 0; font-size: 20px; }
.fc-history__track p { color: #587386; font-size: 14px; }
.fc-history__anchors { display: flex; gap: 11px; margin-top: 20px; }
.fc-history__anchors span, .fc-history__anchors strong { flex: 1; padding: 14px; border-radius: 8px; background: #e4f1f9; color: #3c7192; text-align: center; font-weight: 800; }
.fc-history__anchors strong { background: #347dab; color: #fff; }
.fc-history__vision { background: #edf7fc; }
@media (max-width: 991px) {
  .fc-cancel__timeline { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .fc-card-grid--three { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .fc-section { padding: 66px 0; }
  .fc-cancel h1 { font-size: 30px; }
  .fc-split, .fc-paperless .container, .fc-history__vision .container { grid-template-columns: 1fr; gap: 30px; }
  .fc-card-grid, .fc-card-grid--three, .fc-renewal__branches { grid-template-columns: 1fr; }
  .fc-tenant__diagram { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
  .fc-tenant__hub::before, .fc-tenant__hub::after { left: 50%; width: 2px; height: 16px; transform: translateX(-50%); }
  .fc-tenant__hub::before { top: -19px; }
  .fc-tenant__hub::after { top: auto; right: auto; bottom: -19px; }
  .fc-tenant__inputs, .fc-tenant__outputs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fc-cancel__timeline { grid-template-columns: 1fr; }
  .fc-cancel__timeline li { min-height: 0; }
  .fc-cancel__timeline li:not(:last-child)::after { top: auto; right: 50%; bottom: -22px; transform: translateX(50%) rotate(90deg); }
  .fc-cancel__web-flow { grid-template-columns: 1fr; }
  .fc-cancel__web-flow article { min-height: 0; }
  .fc-cancel__web-flow i { transform: rotate(90deg); }
  .fc-cancel__vision .container { grid-template-columns: 1fr; gap: 30px; }
  .fc-renewal__spine, .fc-renewal__finish, .fc-renewal__vision-path { flex-direction: column; align-items: stretch; }
  .fc-renewal__spine b, .fc-renewal__finish b, .fc-renewal__vision-path i { align-self: center; transform: rotate(90deg); }
  .fc-history__track { grid-template-columns: 1fr; }
  .fc-history__track li:not(:last-child)::after { top: auto; right: 50%; bottom: -23px; transform: translateX(50%) rotate(90deg); }
  .fc-history__anchors { flex-direction: column; }
}
