/* Financial Services — isolated page styles, upright cards and vendored Bootstrap. */
:root { --fs-nav-height:66px; }
.fs-hero { padding:32px 0 80px; background:radial-gradient(ellipse at 88% 20%,#f2f1ff 0,#f8fafa 32%,#ffffff 68%); }
.fs-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; margin-bottom:56px; color:#626a70; }
.fs-breadcrumb a { color:inherit; }
.fs-hero h1 { font-size:clamp(3rem,4.15vw,4rem); line-height:1.08; margin:24px 0 24px; }
.fs-hero .eyebrow { font-size:12px; letter-spacing:.7px; }
.fs-hero-lead { font-size:20px; line-height:1.65; max-width:620px; color:#424a50; }
.fs-hero-support { font-size:14px; line-height:1.85; max-width:610px; }
.fs-label { display:block; font-size:12px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; color:#626a70; line-height:1.7; }
.fs-cover { margin:0; border:1px solid #e1ddff; border-radius:15px; box-shadow:0 22px 65px #2f1d990d; background:white; overflow:hidden; }
.fs-cover figcaption { display:flex; justify-content:space-between; gap:16px; padding:16px 24px; background:#f8fafa; border-bottom:1px solid var(--line); font-size:12px; color:#626a70; letter-spacing:.6px; }
.fs-cover figcaption span:last-child { letter-spacing:0; }
.fs-cover-body { padding:32px 32px 8px; }
.fs-cover-row { display:grid; grid-template-columns:24px 1fr; gap:16px; }
.fs-cover-number { font-size:12px; color:#4128cc; padding-top:2px; }
.fs-cover h2 { font-size:32px; line-height:1.2; margin:16px 0 16px; }
.fs-cover-row p { font-size:12px; line-height:1.8; margin:8px 0 0; }
.fs-cover-fact { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:16px; margin:24px 0; padding:24px 24px; border:1px solid #e1ddff; border-radius:9px; background:#f2f1ff; }
.fs-cover-fact strong { display:block; font-size:48px; font-weight:500; line-height:1; color:var(--brand); letter-spacing:-3px; margin-top:16px; }
.fs-cover-fact strong span { font-size:24px; letter-spacing:-1px; }
.fs-cover-fact p { font-size:12px; line-height:1.9; margin:0; color:#626a70; }
.fs-cover-fact p span { font-size:12px; color:#626a70; }
.fs-cover-review { padding-bottom:16px; }
.fs-cover-review strong { display:block; margin-top:8px; font-size:14px; font-weight:500; color:#1f1266; line-height:1.6; }
.fs-cover-footer { border-top:1px solid var(--line); background:#f8fafa; padding:16px 24px; font-size:12px; line-height:1.7; color:#626a70; }
.fs-nav { position:sticky; top:var(--header-height); z-index:1020; background:white; border-block:1px solid var(--line); box-shadow:0 5px 12px #120a3d04; }
.fs-nav-links { display:grid; grid-template-columns:repeat(6,1fr); }
.fs-nav-links a { display:flex; align-items:center; gap:8px; min-height:66px; padding:16px 8px; font-size:12px; color:#626a70; border-bottom:3px solid transparent; }
.fs-nav-links a span { font-size:12px; color:#626a70; }
.fs-nav-links a.active { color:var(--brand); border-color:var(--brand); background:linear-gradient(0deg,#f2f1ff,transparent); }
.fs-nav-links a:hover { color:var(--brand); background:#f8fafa; }
.fs-nav-mobile,.fs-js-only,.fs-stage-mobile { display:none; }
.fs-section { padding:88px 0; }
.fs-section,.fs-panel,.fs-case { scroll-margin-top:calc(var(--header-height) + var(--fs-nav-height) + 22px); }
.fs-section h2 { font-size:clamp(2rem,3.3vw,3rem); }
.fs-section p { font-size:14px; line-height:1.85; }
.fs-section .fs-intro { font-size:16px; line-height:1.75; max-width:760px; }
.fs-heading { margin-bottom:40px; }
.fs-heading p:last-child { margin-bottom:0; }
.fs-wash { background:#f8fafa; }
.fs-composition { display:grid; grid-template-columns:1fr 1.25fr; border:1px solid #e1ddff; border-radius:12px; overflow:hidden; }
.fs-system-side,.fs-application-core { padding:32px 32px; }
.fs-system-side { background:#f8fafa; }
.fs-application-core { background:#f2f1ff; border-left:1px solid #e1ddff; }
.fs-composition h3 { font-size:24px; line-height:1.25; margin:16px 0; max-width:380px; }
.fs-composition ul { padding-left:16px; margin:0; font-size:12px; line-height:1.9; }
.fs-composition li { padding-bottom:8px; }
.fs-composition li:last-child { padding:0; }
.fs-application-core p { font-size:14px; }
.fs-role-line { border-top:1px solid #e1ddff; margin-top:24px; padding-top:16px; font-size:12px; line-height:1.9; color:#4128cc; }
.fs-section-foot { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:24px; }
.fs-section-foot p { font-size:12px; max-width:700px; margin:0; }
.fs-section-foot a { font-size:12px; flex-shrink:0; }
.fs-case { border:1px solid #e1ddff; border-radius:13px; background:white; overflow:hidden; box-shadow:0 12px 45px #2f1d9905; }
.fs-case-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 32px; background:#f2f1ff; border-bottom:1px solid #e1ddff; }
.fs-case-header strong { display:block; font-size:16px; font-weight:500; color:#424a50; margin-top:8px; }
.fs-case-header strong span { font-size:12px; font-weight:400; color:#626a70; }
.fs-synthetic { border:1px solid #e1ddff; background:#f8fafa; border-radius:4px; padding:6px 8px; color:#626a70; font-size:12px; }
.fs-enhanced .fs-case-controls { display:grid; grid-template-columns:180px 300px 1fr; gap:16px 24px; align-items:center; padding:24px 32px; border-bottom:1px solid var(--line); }
.fs-case-controls label,.fs-stage-mobile label { font-size:12px; color:#626a70; }
.fs-case-controls select,.fs-stage-mobile select { border-color:#e1ddff; font-size:12px; padding-block:8px; }
.fs-case-controls p { font-size:12px; line-height:1.8; margin:0; }
.fs-case-layout { display:grid; grid-template-columns:255px minmax(0,1fr); }
.fs-stage-links { background:#f8fafa; border-right:1px solid var(--line); padding:16px 0; }
.fs-stage-links a { display:grid; grid-template-columns:20px 1fr 12px; gap:16px; align-items:center; padding:24px 24px; border-left:3px solid transparent; color:#626a70; }
.fs-stage-links a > span { font-size:12px; }
.fs-stage-links a strong { font-weight:500; font-size:12px; line-height:1.5; }
.fs-stage-links a.active { border-left-color:var(--brand); background:#f2f1ff; color:var(--brand); }
.fs-stage-links a:hover { color:var(--brand); background:#f2f1ff; }
.fs-stage-links a:focus-visible { outline:2px solid var(--brand); outline-offset:-5px; }
.fs-panel { padding:32px 32px 24px; }
.fs-panel + .fs-panel { border-top:1px solid var(--line); }
.fs-enhanced .fs-panel { border:0; }
.fs-panel[hidden] { display:none; }
.fs-panel:focus-visible { outline:2px solid var(--brand); outline-offset:-5px; }
.fs-panel-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.fs-badge { display:inline-flex; font-size:12px; font-weight:500; color:#1f1266; background:#f2f1ff; border:1px solid #e1ddff; border-radius:5px; padding:5px 8px; }
.fs-badge.is-hold { color:#664200; background:#fff9e6; border-color:#fff9e6; }
.fs-panel h3 { font-size:32px; line-height:1.2; margin-bottom:16px; max-width:690px; }
.fs-panel .fs-panel-copy { font-size:14px; line-height:1.85; margin-bottom:24px; }
.fs-two-views { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:24px 0; border-block:1px solid var(--line); }
.fs-two-views p { margin:16px 0 0; font-size:12px; line-height:1.9; }
.fs-case-evidence { padding:16px 24px; border:1px solid #e1ddff; border-radius:7px; background:#f2f1ff; margin-top:24px; }
.fs-case-evidence p { margin:8px 0 0; font-size:12px; line-height:1.9; color:#626a70; overflow-wrap:anywhere; }
.fs-next-task { display:grid; grid-template-columns:122px 1fr; gap:16px; margin-top:24px; }
.fs-next-task p { font-size:12px; line-height:1.8; margin:0; }
.fs-enhanced .fs-stage-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 32px; border-top:1px solid var(--line); }
.fs-stage-controls .btn { font-size:12px; padding:8px 16px; }
.fs-stage-controls span { font-size:12px; color:#626a70; }
.fs-note { font-size:12px !important; color:#626a70; margin:24px 0 0; }
.fs-fact-panel { border:1px solid #e1ddff; border-radius:12px; background:#f8fafa; padding:32px 32px 24px; }
.fs-fact-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:40px; align-items:center; margin-bottom:24px; }
.fs-fact-heading h3 { font-size:32px; margin:16px 0 16px; color:var(--brand); }
.fs-fact-heading p { margin:0; font-size:12px; }
.fs-fact-tags { display:flex; flex-wrap:wrap; gap:8px; }
.fs-fact-tags span { background:white; border:1px solid #f2f1ff; border-radius:5px; padding:7px 8px; font-size:12px; color:#626a70; }
.fs-time-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; list-style:none; padding:24px 0 0; margin:0; border-top:1px solid #e1ddff; }
.fs-time-grid strong { display:block; color:#1f1266; font-size:16px; font-weight:500; margin:16px 0 8px; }
.fs-time-grid p { font-size:12px; margin:0; }
.fs-fact-panel .fs-time-note { margin:24px 0 0; font-size:12px; color:#626a70; }
.fs-fact-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:32px; }
.fs-fact-principles article { display:flex; flex-direction:column; }
.fs-fact-principles h3 { font-size:20px; line-height:1.3; margin-bottom:16px; }
.fs-fact-principles p { font-size:12px; }
.fs-fact-principles a { font-size:12px; margin-top:auto; }
.fs-audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fs-audience-grid article { padding:24px; border:1px solid #e1ddff; border-radius:10px; background:white; display:flex; flex-direction:column; }
.fs-audience-grid h3 { font-size:24px; line-height:1.25; margin:16px 0; }
.fs-audience-grid p { font-size:12px; }
.fs-audience-foot { display:block; font-size:12px; line-height:1.8; color:#626a70; border-top:1px solid var(--line); margin-top:auto; padding-top:16px; }
.fs-client-question { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:32px; padding:32px 32px; background:#f2f1ff; border:1px solid #e1ddff; border-radius:9px; }
.fs-client-question h3 { font-size:24px; line-height:1.3; margin:16px 0 0; color:#4128cc; }
.fs-client-question p { font-size:12px; margin:0; }
.fs-link-row { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 32px; margin-top:24px; font-size:12px; }
.fs-pattern-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.fs-pattern-grid article { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:11px; padding:32px; background:linear-gradient(135deg,#f8fafa,white 70%); }
.fs-pattern-grid h3 { font-size:24px; line-height:1.3; margin:16px 0 16px; max-width:400px; }
.fs-pattern-grid p { font-size:14px; margin-bottom:24px; }
.fs-pattern-grid article > div { font-size:12px; color:#626a70; padding-top:16px; border-top:1px solid var(--line); margin-top:auto; line-height:1.9; }
.fs-pattern-grid strong { color:#1f1266; font-weight:500; }.fs-pattern-grid article > div span { padding-inline:5px; }
.fs-first-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; list-style:none; padding:0; margin:0; }
.fs-first-grid li { padding-top:24px; border-top:1px solid #e1ddff; }
.fs-number { width:35px; height:35px; display:inline-flex; align-items:center; justify-content:center; background:#f2f1ff; border:1px solid #e1ddff; color:#4128cc; border-radius:8px; font-size:12px; }
.fs-first-grid h3 { font-size:24px; line-height:1.3; margin:24px 0 16px; }
.fs-first-grid p { font-size:14px; margin:0; }
.fs-start-footer { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.fs-start-footer p { font-size:12px; max-width:660px; margin:0; }.fs-start-footer strong { font-weight:500; color:#626a70; }.fs-start-footer a { flex-shrink:0; }
.fs-closing { padding:80px 0 64px; border-top:1px solid var(--line); background:radial-gradient(ellipse at 50% 80%,#e1ddff,transparent 65%),#f8fafa; }
.fs-closing h2 { font-size:clamp(2rem,3.1vw,3rem); line-height:1.2; }
.fs-closing p { max-width:630px; margin:0 auto 32px; font-size:16px; line-height:1.8; }
.fs-closing .fs-download { font-size:12px; margin-top:24px; margin-bottom:0; }
@media (max-width:1199px) {
 .fs-hero h1 { font-size:3rem; }.fs-cover-body { padding:24px 24px 8px; }.fs-cover figcaption,.fs-cover-footer { padding-inline:24px; }.fs-cover-fact { padding:16px; }.fs-case-layout { grid-template-columns:220px minmax(0,1fr); }.fs-stage-links a { padding:24px 16px; gap:8px; }.fs-panel { padding:32px; }.fs-enhanced .fs-case-controls { grid-template-columns:160px 280px 1fr; gap:16px; }.fs-audience-grid { gap:16px; }.fs-audience-grid article { padding:24px; }
}
@media (max-width:991px) {
 :root { --fs-nav-height:69px; }.fs-hero { padding-bottom:56px; }.fs-breadcrumb { margin-bottom:32px; }.fs-hero h1 { font-size:3.5rem; max-width:710px; }.fs-hero-lead,.fs-hero-support { max-width:100%; }.fs-cover-body { padding:24px 32px 8px; }.fs-cover figcaption,.fs-cover-footer { padding-inline:32px; }.fs-cover h2 br { display:none; }.fs-cover-fact { margin-left:40px; }.fs-nav-links { display:none; }.fs-nav-mobile { display:flex; align-items:center; gap:16px; padding:16px 0; }.fs-nav-mobile label { flex:0 0 84px; font-size:12px; color:#626a70; }.fs-nav-mobile select { font-size:12px; border-color:var(--line); padding-block:8px; }.fs-section { padding:64px 0; }.fs-system-side,.fs-application-core { padding:32px; }.fs-composition { grid-template-columns:1fr 1fr; }.fs-section-foot { align-items:flex-start; }.fs-section-foot a { max-width:220px; flex-shrink:1; }.fs-case-layout { display:block; }.fs-enhanced .fs-stage-links { display:none; }.fs-stage-links { display:grid; grid-template-columns:1fr 1fr; border-right:0; }.fs-enhanced .fs-case-controls { grid-template-columns:160px 1fr; }.fs-case-controls p { grid-column:2; }.fs-enhanced .fs-stage-mobile { display:flex; align-items:center; gap:24px; padding:16px 32px; background:#f8fafa; border-bottom:1px solid var(--line); }.fs-stage-mobile label { flex:0 0 160px; }.fs-panel { padding:32px; }.fs-fact-heading { grid-template-columns:1fr; gap:16px; }.fs-time-grid { grid-template-columns:1fr 1fr; gap:24px; }.fs-fact-principles { gap:24px; }.fs-audience-grid { gap:16px; }.fs-audience-grid article { padding:24px; }.fs-audience-grid h3 { font-size:24px; }.fs-audience-grid .fs-label { font-size:12px; }.fs-client-question { gap:24px; }.fs-first-grid { gap:24px; }.fs-first-grid h3 { font-size:20px; }.fs-start-footer { align-items:flex-start; }.navbar-collapse.show { max-height:calc(100svh - 90px); overflow-y:auto; }
}
@media (max-width:767px) {
 .fs-hero { padding:24px 0 48px; }.fs-breadcrumb { gap:8px 8px; margin-bottom:24px; font-size:12px; }.fs-hero h1 { font-size:3rem; margin-top:16px; }.fs-hero .eyebrow { font-size:12px; }.fs-hero-lead { font-size:16px; }.fs-hero-support { font-size:14px; }.fs-cover-body { padding:24px 24px 8px; }.fs-cover figcaption,.fs-cover-footer { padding-inline:24px; }.fs-cover figcaption { font-size:12px; }.fs-cover-row { grid-template-columns:20px 1fr; gap:16px; }.fs-cover h2 { font-size:24px; }.fs-cover-fact { margin-left:0; padding:16px; gap:16px; }.fs-cover-fact .fs-label { font-size:12px; }.fs-cover-fact strong { font-size:48px; }.fs-cover-fact p { font-size:12px; }.fs-cover-fact p span { font-size:12px; }.fs-cover-review strong { font-size:12px; }.fs-section { padding:56px 0; }.fs-section h2 { font-size:2rem; }.fs-section .fs-intro { font-size:16px; }.fs-heading { margin-bottom:32px; }.fs-composition { grid-template-columns:1fr; }.fs-system-side,.fs-application-core { padding:24px; }.fs-application-core { border-left:0; border-top:1px solid #e1ddff; }.fs-composition h3 { font-size:24px; }.fs-section-foot { display:block; }.fs-section-foot a { display:inline-block; margin-top:16px; max-width:none; }.fs-case-header { padding:24px; flex-wrap:wrap; gap:16px; }.fs-case-header .fs-label { font-size:12px; }.fs-case-header strong { font-size:16px; }.fs-case-header strong span { font-size:12px; }.fs-enhanced .fs-case-controls { display:block; padding:16px; }.fs-case-controls label { display:block; margin-bottom:8px; }.fs-case-controls p { margin-top:16px; }.fs-enhanced .fs-stage-mobile { display:block; padding:16px 16px; }.fs-stage-mobile label { display:block; margin-bottom:8px; }.fs-stage-links { grid-template-columns:1fr; }.fs-panel { padding:24px 24px; }.fs-panel-top { margin-bottom:16px; gap:8px; }.fs-panel-top .fs-label { font-size:12px; }.fs-badge { font-size:12px; }.fs-panel h3 { font-size:24px; }.fs-two-views { grid-template-columns:1fr; gap:24px; }.fs-two-views p { font-size:12px; }.fs-case-evidence { padding:16px; }.fs-case-evidence .fs-label { font-size:12px; }.fs-next-task { grid-template-columns:1fr; gap:8px; }.fs-next-task p { font-size:12px; }.fs-enhanced .fs-stage-controls { padding:16px 24px; }.fs-stage-controls .btn { font-size:12px; padding:8px 8px; }.fs-fact-panel { padding:24px 24px 24px; }.fs-fact-heading h3 { font-size:24px; }.fs-fact-heading p { font-size:12px; }.fs-fact-tags { gap:7px; }.fs-fact-tags span { font-size:12px; }.fs-time-grid { grid-template-columns:1fr; gap:24px; }.fs-time-grid strong { margin:8px 0 8px; }.fs-time-grid p { font-size:12px; }.fs-fact-principles { grid-template-columns:1fr; gap:32px; }.fs-fact-principles h3 { margin-bottom:16px; }.fs-fact-principles p { font-size:14px; }.fs-audience-grid { grid-template-columns:1fr; gap:16px; }.fs-audience-grid article { padding:24px; }.fs-audience-grid .fs-label { font-size:12px; }.fs-audience-grid h3 { font-size:24px; }.fs-audience-grid p { font-size:14px; }.fs-client-question { grid-template-columns:1fr; gap:16px; padding:24px; }.fs-client-question h3 { font-size:24px; }.fs-pattern-grid { grid-template-columns:1fr; gap:24px; }.fs-pattern-grid article { padding:24px; }.fs-pattern-grid h3 { font-size:24px; }.fs-first-grid { grid-template-columns:1fr; gap:24px; }.fs-first-grid h3 { margin:16px 0 16px; }.fs-start-footer { display:block; }.fs-start-footer a { margin-top:24px; }.fs-closing { padding:56px 0; }.fs-closing .eyebrow { font-size:12px; letter-spacing:.6px; }.fs-closing h2 { font-size:2rem; }.fs-closing p { font-size:14px; }.fs-nav-mobile label { flex-basis:78px; }
}
@media (max-width:399px) { .fs-hero h1 { font-size:2.5rem; }.fs-panel { padding:24px 16px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
@media print {
 .site-header,.fs-nav,.site-footer,.fs-download,.fs-stage-links,.fs-js-only { display:none !important; }.fs-section,.fs-hero,.fs-closing { padding:24px 0; }.fs-case-layout { display:block; }.fs-panel[hidden] { display:block; }.fs-panel { break-inside:avoid; }.accordion-collapse { display:block !important; }
}
