/* Services: expert process, explicit scope, no ornamental promises. */

.fc-services-redesign { background: var(--ft-canvas); overflow-x: clip; }
.fc-services-hero { padding: 30px 0 42px; }
.fc-services-hero__stage { align-items: end; background: var(--ft-black); border-radius: 30px; color: var(--ft-white); display: grid; gap: 70px; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); min-height: 500px; padding: 68px 72px; }
.fc-services-hero__copy { max-width: 760px; }
.fc-service-single-hero__eyebrow { color: var(--ft-lime); font-size: 12px; font-weight: 750; letter-spacing: .15em; margin-bottom: 18px; text-transform: uppercase; }
.fc-services-hero h1 { font-size: clamp(48px, 5.6vw, 80px); line-height: .96; }
.fc-services-hero h1 :where(span) { color: inherit !important; }
.fc-services-hero__copy > p:last-of-type { color: var(--ft-muted-on-dark); font-size: 18px; line-height: 1.65; margin-top: 24px; max-width: 650px; }

.fc-services-catalog { padding-bottom: 104px; }
.fc-services-catalog > .container > .grid { gap: 14px !important; }
.fc-services-catalog .fc-service-item:nth-child(3n + 2) { background: var(--ft-sage); }
.fc-services-catalog .fc-service-item:nth-child(3n + 3) { background: var(--fc-card-surface-third); }
.fc-services-catalog__empty { background: var(--ft-white) !important; border-color: var(--ft-line) !important; border-radius: 24px !important; }
.fc-services-catalog__empty-mark { background: var(--ft-lime); border: 8px solid var(--ft-black); border-radius: 50%; display: block; height: 52px; margin: 0 auto 24px; width: 52px; }
.fc-services-catalog__empty a { background: var(--ft-black) !important; color: var(--ft-white) !important; }

.fc-service-single { padding-bottom: 104px; }
.fc-service-single-hero { padding: 28px 0 50px; }
.fc-service-single-hero__breadcrumb { margin-bottom: 16px; }
.fc-service-single-hero__breadcrumb a { color: var(--ft-muted); font-size: 14px; font-weight: 650; text-decoration: none; }
.fc-service-single-hero__stage { align-items: stretch; background: var(--ft-black); border-radius: 30px; color: var(--ft-white); display: grid; gap: 60px; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .8fr); min-height: 580px; overflow: hidden; padding: 68px 72px; }
.fc-service-single-hero__copy { align-self: center; }
.fc-service-single-hero h1 { font-size: clamp(48px, 5.4vw, 76px); line-height: .96; }
.fc-service-single-hero__lede { color: var(--ft-muted-on-dark); font-size: 18px; line-height: 1.65; margin-top: 24px; max-width: 600px; }
.fc-service-single-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.fc-service-single-hero__price { display: grid; gap: 2px; }
.fc-service-single-hero__price > span { color: var(--ft-muted-on-dark); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fc-service-single-hero__price strong { font-size: 24px; }
.fc-service-single-hero__price small { color: var(--ft-muted-on-dark); font-size: 14px; font-weight: 500; }
.fc-service-single-hero__evidence { align-self: center; background: var(--ft-silver); border-radius: 24px; min-height: 360px; overflow: hidden; }
.fc-service-single-hero__image { height: 100%; min-height: 360px; object-fit: cover; width: 100%; }
.fc-service-single-hero__process { color: var(--ft-ink); display: grid; gap: 1px; grid-template-columns: 58px 1fr; padding: 22px; }
.fc-service-single-hero__process :where(span, p) { align-items: center; background: var(--ft-white); display: flex; margin: 0; min-height: 92px; padding: 16px; }
.fc-service-single-hero__process span { color: var(--ft-muted); font-size: 12px; font-weight: 750; }
.fc-service-single-hero__process p { font-size: 16px; font-weight: 700; }

.fc-service-single > section:not(.fc-service-single-hero):not(.fc-home-cta) { margin-bottom: 112px !important; }
.fc-service-single > section:not(.fc-service-single-hero):not(.fc-home-cta) h2 { font-size: clamp(34px, 4vw, 52px) !important; line-height: 1.02; }
.fc-service-single > section:not(.fc-service-single-hero):not(.fc-home-cta) :where(.rounded-2xl, .rounded-3xl) { box-shadow: none !important; }
.fc-service-single > section:not(.fc-service-single-hero):not(.fc-home-cta) :where(.bg-\[var\(--color-surface-card\)\]) { border-color: var(--ft-line) !important; }
.fc-service-single .prose { color: var(--ft-muted); font-size: 18px; line-height: 1.75; }
.fc-service-single .prose :where(h2, h3) { color: var(--ft-ink); }
.fc-service-single .prose a { color: var(--ft-ink); text-decoration-color: #A5C42D; text-decoration-thickness: 2px; }
.fc-service-single > section .absolute.left-\[27px\] { background: var(--ft-lime) !important; }
.fc-service-single > section .w-14.h-14 { background: var(--ft-black) !important; border-color: var(--ft-canvas) !important; }
.fc-service-single > section .w-14.h-14 span { color: var(--ft-lime) !important; }
.fc-service-single details:not(.fc-product-faq__item) { background: var(--ft-white) !important; border-color: var(--ft-line) !important; }
.fc-service-single summary { min-height: 64px; }
.fc-service-single .fc-card-item { background: var(--ft-silver) !important; border: 0 !important; }
.fc-service-single .fc-card-item .fc-open-lead-modal { background: var(--ft-lime) !important; color: var(--ft-black) !important; }
.fc-service-single .fc-pricing-item { min-width: 290px; }
.fc-service-single table { min-width: 680px; }
.fc-service-single .overflow-x-auto { overflow-x: auto; }

/* Builder blocks are rendered only inside service pages, so their visual adapter lives here. */
.fc-service-single .fc-builder-block { margin-bottom: 112px !important; }
.fc-service-single .fc-builder-block h2 { font-size: clamp(34px, 4vw, 52px) !important; line-height: 1.02; }
.fc-service-single .fc-builder-block:not(.fc-builder-block--hero) > .container { max-width: 1320px; }
.fc-builder-hero__container { max-width: 1440px !important; }
.fc-builder-hero__breadcrumb { margin-bottom: 16px; }
.fc-builder-hero__breadcrumb a { align-items: center; color: var(--ft-muted); display: inline-flex; font-size: 14px; font-weight: 650; gap: 8px; text-decoration: none; }
.fc-builder-hero__breadcrumb a:hover { color: var(--ft-ink); }
.fc-builder-hero__breadcrumb svg { height: 16px; width: 16px; }
.fc-builder-hero__stage { align-items: stretch; background: var(--ft-black); border-radius: 30px; color: var(--ft-white); display: grid; gap: 54px; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .8fr); min-height: 560px; overflow: hidden; padding: 64px 68px; }
.fc-builder-hero__copy { align-self: center; }
.fc-builder-hero__eyebrow { align-items: center; color: var(--ft-lime); display: flex; font-size: 12px; font-weight: 750; gap: 9px; letter-spacing: .15em; text-transform: uppercase; }
.fc-builder-hero__eyebrow span { background: var(--ft-lime); border-radius: 50%; height: 7px; width: 7px; }
.fc-builder-hero__stage h1 { font-size: clamp(48px, 5.4vw, 76px); line-height: .96; margin-top: 18px; }
.fc-builder-hero__lede { color: var(--ft-muted-on-dark); font-size: 18px; line-height: 1.65; margin-top: 22px; }
.fc-builder-hero__price { margin-top: 32px; }
.fc-builder-hero__price > span { color: var(--ft-muted-on-dark); display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; margin-bottom: 5px; text-transform: uppercase; }
.fc-builder-hero__price strong { font-size: clamp(32px, 4vw, 46px); letter-spacing: -.04em; }
.fc-builder-hero__price small { color: var(--ft-muted-on-dark); font-size: 15px; font-weight: 500; letter-spacing: 0; }
.fc-builder-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.fc-builder-hero__actions .fc-fintech-button { min-height: 52px; padding-inline: 24px; }
.fc-builder-hero__media { border-radius: 22px; overflow: hidden; }
.fc-builder-hero__media img { height: 100%; object-fit: cover; width: 100%; }
.fc-builder-features__grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fc-builder-feature { background: var(--ft-silver); border-radius: 20px; min-height: 240px; padding: 26px; }
.fc-builder-feature:nth-child(2n) { background: var(--ft-sage); }
.fc-builder-feature .fc-product-icon-tile { margin-bottom: 24px; }
.fc-builder-feature h3 { font-size: 21px; line-height: 1.2; }
.fc-builder-feature p { color: var(--ft-muted); font-size: 15px; line-height: 1.6; margin-top: 12px; }
.fc-builder-advantages { margin: 0; }
.fc-builder-advantages__heading > p { color: var(--ft-muted); font-size: 17px; line-height: 1.65; margin-top: 16px; max-width: 680px; }
.fc-service-single .fc-builder-block--extra-services .grid > div { background: var(--ft-silver) !important; border: 0 !important; }
.fc-service-single .fc-builder-block--extra-services .grid > div:nth-child(2n) { background: var(--ft-sage) !important; }
.fc-builder-comparison__grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fc-builder-comparison__option { background: var(--ft-silver); border-radius: 24px; display: flex; flex-direction: column; min-width: 0; padding: 32px; }
.fc-builder-comparison__option--recommended { background: var(--ft-sage); }
.fc-builder-comparison__header { align-items: center; display: grid; gap: 16px; grid-template-columns: 48px minmax(0, 1fr); margin-bottom: 28px; }
.fc-builder-comparison__header h3 { font-size: 24px; line-height: 1.15; }
.fc-builder-comparison__list { flex: 1; list-style: none; margin: 0; padding: 0; }
.fc-builder-comparison__list li { align-items: start; border-top: 1px solid var(--ft-line); color: var(--ft-muted); display: grid; font-size: 15px; gap: 12px; grid-template-columns: 22px minmax(0, 1fr); line-height: 1.55; padding: 16px 0; }
.fc-builder-comparison__list li:first-child { border-top: 0; padding-top: 0; }
.fc-builder-comparison__marker { align-items: center; background: var(--ft-black); border-radius: 50%; color: var(--ft-white); display: flex; height: 20px; justify-content: center; margin-top: 2px; width: 20px; }
.fc-builder-comparison__marker svg { height: 14px; width: 14px; }
.fc-builder-comparison__note { align-self: flex-start; background: var(--ft-white); border-radius: 12px; color: var(--ft-ink); font-size: 13px; font-weight: 750; line-height: 1.4; margin-top: 24px; padding: 10px 13px; }
.fc-builder-comparison__option--recommended .fc-builder-comparison__note { background: var(--ft-black); color: var(--ft-lime); }
.fc-builder-documents__panel { background: var(--ft-black); border-radius: 30px; color: var(--ft-white); padding: 64px 68px; }
.fc-builder-documents__layout { align-items: center; display: grid; gap: 80px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.fc-builder-documents__intro h2 { color: var(--ft-white); font-size: clamp(34px, 4vw, 52px) !important; line-height: 1.02; }
.fc-builder-documents__description { color: var(--ft-muted-on-dark); font-size: 17px; line-height: 1.65; margin-top: 18px; max-width: 600px; }
.fc-builder-documents__assurance { align-items: center; background: var(--ft-black-soft); border: 1px solid var(--ft-line-dark); border-radius: 16px; display: grid; gap: 14px; grid-template-columns: 44px minmax(0, 1fr); margin-top: 32px; max-width: 560px; padding: 16px; }
.fc-builder-documents__assurance-icon { align-items: center; background: var(--ft-lime); border-radius: 12px; color: var(--ft-black); display: flex; height: 44px; justify-content: center; width: 44px; }
.fc-builder-documents__assurance-icon :where(svg, img) { height: 24px; object-fit: contain; width: 24px; }
.fc-builder-documents__assurance-label { color: var(--ft-muted-on-dark); font-size: 12px; font-weight: 650; line-height: 1.35; }
.fc-builder-documents__assurance-value { color: var(--ft-white); font-size: 15px; font-weight: 750; line-height: 1.45; margin-top: 4px; }
.fc-builder-documents__list { list-style: none; margin: 0; padding: 0; }
.fc-builder-documents__list li { align-items: center; border-top: 1px solid var(--ft-line-dark); display: grid; gap: 16px; grid-template-columns: 34px minmax(0, 1fr); padding: 20px 0; }
.fc-builder-documents__list li:first-child { border-top: 0; padding-top: 0; }
.fc-builder-documents__list li:last-child { padding-bottom: 0; }
.fc-builder-documents__number { align-items: center; background: var(--ft-lime); border-radius: 50%; color: var(--ft-black); display: flex; font-size: 13px; font-weight: 800; height: 34px; justify-content: center; width: 34px; }
.fc-builder-documents__name { color: var(--ft-white); font-size: 17px; font-weight: 650; line-height: 1.45; }
.fc-service-single .fc-builder-block--pricing .fc-pricing-item > div { background: var(--ft-silver) !important; border: 0 !important; color: var(--ft-ink) !important; transform: none !important; }
.fc-service-single .fc-builder-block--pricing .fc-pricing-item[data-priority="true"] > div { background: var(--ft-lime-wash) !important; }
.fc-service-single .fc-builder-block--pricing .fc-pricing-item :where(h3, span, p, li) { color: var(--ft-ink) !important; }
.fc-service-single .fc-builder-pricing__recommended { background: var(--ft-black); color: var(--ft-lime); }
.fc-service-single .fc-builder-block--pricing button { background: var(--ft-black) !important; color: var(--ft-white) !important; }
.fc-builder-pricing__feature-icon { color: var(--ft-black) !important; }
.fc-builder-pricing__excluded-icon { color: #92949C !important; }
.fc-builder-steps__list { display: grid; gap: 50px 32px; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.fc-builder-step { min-width: 0; padding-right: 24px; position: relative; }
.fc-builder-step.has-connector::before { background: var(--ft-line); content: ""; height: 2px; left: 72px; position: absolute; right: -32px; top: 20px; }
.fc-builder-step__label { align-items: center; background: var(--ft-lime); border-radius: 10px; color: var(--ft-black); display: inline-flex; font-size: 13px; font-weight: 800; justify-content: center; min-height: 40px; min-width: 72px; padding: 8px 14px; position: relative; z-index: 1; }
.fc-builder-step__label.is-finish { background: var(--ft-black); color: var(--ft-lime); }
.fc-builder-step__content h3 { font-size: 20px; line-height: 1.25; margin: 22px 0 10px; }
.fc-builder-step__content p { color: var(--ft-muted); font-size: 14px; line-height: 1.65; margin: 0; max-width: 280px; }
.fc-builder-extra-service { border: 0 !important; border-radius: 20px !important; box-shadow: none !important; padding: 28px !important; }
.fc-builder-extra-service__price { background: var(--ft-black); color: var(--ft-lime) !important; }
.fc-service-single .fc-builder-block--text .prose { color: #272932; font-size: 18px; line-height: 1.75; }
.fc-service-custom-company .fc-builder-block--custom-company > .container > div > .grid > div { background: var(--ft-silver) !important; border: 0 !important; box-shadow: none !important; }
.fc-service-custom-company .fc-builder-block--custom-company > .container > div > .grid > div:nth-child(2n) { background: var(--ft-sage) !important; }
.fc-service-custom-company .fc-builder-block--custom-company .bg-red-50,
.fc-service-custom-company .fc-builder-block--custom-company .bg-green-50 { background: var(--ft-silver) !important; border: 0 !important; }
.fc-service-custom-company .fc-builder-block--custom-company .bg-green-50 { background: var(--ft-lime-wash) !important; }
.fc-service-custom-company .fc-builder-block--custom-company :where(.text-red-900, .text-red-800, .text-red-500, .text-green-900, .text-green-600) { color: var(--ft-ink) !important; }
.fc-service-custom-company .fc-builder-block--custom-company > .container > .bg-\[var\(--color-bg-secondary\)\] { background: var(--ft-black) !important; color: var(--ft-white); }
.fc-service-custom-company .fc-builder-block--custom-steps .absolute { background: var(--ft-lime) !important; }
.fc-service-custom-company .fc-builder-block--custom-steps [class*="bg-blue-100"],
.fc-service-custom-company .fc-builder-block--custom-steps [class*="bg-green-100"] { background: var(--ft-lime) !important; color: var(--ft-black) !important; }

@media (max-width: 1080px) {
    .fc-services-hero__stage, .fc-service-single-hero__stage { gap: 42px; padding: 52px; }
}

@media (max-width: 820px) {
    .fc-services-hero, .fc-service-single-hero { padding-top: 18px; }
    .fc-services-hero > .fc-fintech-container, .fc-service-single-hero > .container { padding-inline: 0; }
    .fc-services-hero__stage, .fc-service-single-hero__stage { grid-template-columns: 1fr; min-height: 0; padding: 48px 36px; }
    .fc-service-single-hero__evidence { max-width: 600px; }
    .fc-service-single > section:not(.fc-service-single-hero):not(.fc-home-cta) { margin-bottom: 80px !important; }
    .fc-builder-hero__container { padding-inline: 0 !important; }
    .fc-builder-hero__stage { grid-template-columns: 1fr; min-height: 0; padding: 48px 36px; }
    .fc-builder-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fc-builder-comparison__grid { grid-template-columns: 1fr; }
    .fc-builder-documents__panel { padding: 48px 36px; }
    .fc-builder-documents__layout { gap: 48px; grid-template-columns: 1fr; }
    .fc-builder-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fc-builder-step.has-connector:nth-child(2n)::before { content: none; }
    .fc-service-single .fc-builder-block { margin-bottom: 80px !important; }
}

@media (max-width: 600px) {
    .fc-services-hero__stage, .fc-service-single-hero__stage { border-radius: 22px; padding: 38px 22px 24px; }
    .fc-services-hero h1, .fc-service-single-hero h1 { font-size: clamp(40px, 12vw, 58px); }
    .fc-services-hero__copy > p:last-of-type, .fc-service-single-hero__lede { font-size: 16px; }
    .fc-service-single-hero__actions { align-items: stretch; flex-direction: column; }
    .fc-service-single-hero__process { grid-template-columns: 48px 1fr; padding: 14px; }
    .fc-builder-hero__stage { border-radius: 22px; padding: 38px 22px 24px; }
    .fc-builder-hero__stage h1 { font-size: clamp(40px, 12vw, 58px); }
    .fc-builder-hero__actions { align-items: stretch; flex-direction: column; }
    .fc-builder-features__grid { grid-template-columns: 1fr; }
    .fc-builder-comparison__option { border-radius: 20px; padding: 24px; }
    .fc-builder-documents__panel { border-radius: 22px; padding: 34px 22px; }
    .fc-builder-documents__assurance { grid-template-columns: 40px minmax(0, 1fr); padding: 14px; }
    .fc-builder-documents__assurance-icon { height: 40px; width: 40px; }
    .fc-builder-steps__list { gap: 32px; grid-template-columns: 1fr; position: relative; }
    .fc-builder-steps__list::before { background: var(--ft-line); bottom: 8px; content: ""; left: 16px; position: absolute; top: 8px; width: 2px; }
    .fc-builder-step { padding-left: 48px; padding-right: 0; }
    .fc-builder-step.has-connector::before { content: none; }
    .fc-builder-step__content h3 { margin-top: 18px; }
}
