.finance-site {
  --finance-ink: #102b3f;
  --finance-blue: #176b83;
  --finance-teal: #2e9b99;
  --finance-sand: #f3efe6;
  --finance-line: #d8e0df;
  --finance-muted: #60727b;
  background: #eef2f1;
}
.finance-site .site-header { border-bottom: 1px solid var(--finance-line); }
.finance-shell { max-width: 1180px; margin: 0 auto; padding: 72px 28px 104px; color: var(--finance-ink); }
.finance-partner-logo { display: block; height: auto; margin: 0 0 22px; max-height: 54px; max-width: 220px; object-fit: contain; object-position: left center; }
.finance-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); gap: 72px; align-items: center; margin-bottom: 32px; min-height: 560px; }
.finance-hero-visual { background: var(--finance-ink); border-radius: 3px; box-shadow: 18px 18px 0 rgba(46,155,153,.2); min-height: 560px; overflow: hidden; position: relative; }
.finance-hero-visual .hero-slides, .finance-hero-visual .hero-slide { inset: 0; position: absolute; }
.finance-hero-visual .hero-slide { margin: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s ease; }
.finance-hero-visual .hero-slide.is-active { opacity: 1; visibility: visible; }
.finance-hero-visual .hero-slide img { display: block; height: 100%; object-fit: cover; width: 100%; }
.finance-hero-visual .hero-slide::after { background: linear-gradient(180deg, rgba(16,43,63,.08), rgba(16,43,63,.82)); content: ""; inset: 0; position: absolute; }
.finance-hero-caption { bottom: 32px; color: #fff; display: grid; gap: 7px; left: 32px; max-width: 240px; position: absolute; z-index: 2; }
.finance-hero-caption span { color: #97d7ce; font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.finance-hero-caption strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; font-weight: 400; letter-spacing: -.035em; line-height: 1.02; }
.finance-kicker { color: var(--finance-teal); font-size: .72rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 16px; text-transform: uppercase; }
.finance-hero h1, .finance-form-intro h1, .finance-confirmation h1, .finance-portal-heading h1, .finance-detail-heading h1 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.7rem, 6vw, 5.6rem); font-weight: 400; letter-spacing: -.055em; line-height: .98; margin: 0 0 25px; max-width: 760px; }
.finance-lead { color: #435b64; font-size: 1.16rem; line-height: 1.75; max-width: 620px; }
.finance-actions, .finance-heading-actions, .finance-form-footer { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; margin-top: 32px; }
.finance-button { border: 1px solid transparent; border-radius: 999px; cursor: pointer; display: inline-flex; font-size: .8rem; font-weight: 800; gap: 20px; justify-content: center; letter-spacing: .05em; padding: 15px 21px; text-decoration: none; transition: .2s ease; }
.finance-hero .finance-button { border-radius: 3px; }
.finance-button:hover { transform: translateY(-2px); }
.finance-button-primary { background: var(--finance-ink); color: #fff; }
.finance-button-primary:hover { background: var(--finance-blue); color: #fff; }
.finance-button-secondary { background: transparent; border-color: var(--finance-line); color: var(--finance-ink); }
.finance-button-secondary:hover { border-color: var(--finance-teal); color: var(--finance-teal); }
.finance-text-link, .finance-row-link { color: var(--finance-blue); font-size: .82rem; font-weight: 800; text-decoration: none; }
.finance-text-link:hover, .finance-row-link:hover { color: var(--finance-teal); }
.finance-hero-card { background: var(--finance-ink); border-radius: 3px; box-shadow: 18px 18px 0 rgba(46,155,153,.2); color: #fff; padding: 36px; }
.finance-hero-card-overlay { bottom: 28px; box-shadow: 0 14px 28px rgba(8,26,38,.24); max-width: 270px; padding: 24px; position: absolute; right: 28px; z-index: 3; }
.finance-hero-card-overlay .finance-card-label { margin-bottom: 14px; }
.finance-hero-card-overlay .finance-step { padding: 14px 0; }
.finance-hero-card-overlay .finance-step strong { font-size: .88rem; }
.finance-hero-card-overlay .finance-step small { font-size: .68rem; }
.finance-card-label { color: #97d7ce; font-size: .7rem; font-weight: 800; letter-spacing: .15em; margin: 0 0 25px; text-transform: uppercase; }
.finance-step { border-top: 1px solid rgba(255,255,255,.2); display: grid; gap: 5px; grid-template-columns: 38px 1fr; padding: 21px 0; }
.finance-step span, .finance-copy-grid article > span { color: #8bd2c9; font-size: .74rem; font-weight: 800; }
.finance-step strong { font-size: 1rem; }
.finance-step small { color: #b8c9cd; grid-column: 2; }
.finance-trust-row { border-bottom: 1px solid var(--finance-line); border-top: 1px solid var(--finance-line); display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 105px; }
.finance-trust-row div { display: grid; gap: 6px; padding: 25px 25px 25px 0; }
.finance-trust-row div + div { border-left: 1px solid var(--finance-line); padding-left: 25px; }
.finance-trust-row strong { font-size: .9rem; }
.finance-trust-row span, .finance-copy-grid p, .finance-boundary p, .finance-form-intro p, .finance-confirmation p { color: var(--finance-muted); line-height: 1.65; }
.finance-services { border-bottom: 1px solid var(--finance-line); display: grid; gap: 70px; grid-template-columns: .7fr 1.3fr; padding-bottom: 110px; }
.finance-services-intro h2 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3.5vw, 3.3rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.03; margin: 0 0 20px; }
.finance-services-intro > p:last-child { color: var(--finance-muted); line-height: 1.65; max-width: 360px; }
.finance-service-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); }
.finance-service-card { border-top: 2px solid var(--finance-teal); padding: 18px 24px 26px 0; }
.finance-service-card:nth-child(n + 3) { border-top-color: var(--finance-blue); }
.finance-service-card > span { color: var(--finance-teal); font-size: .74rem; font-weight: 800; }
.finance-service-card h3 { font-size: 1.1rem; margin: 22px 0 9px; }
.finance-service-card p { color: var(--finance-muted); font-size: .92rem; line-height: 1.6; margin: 0; max-width: 330px; }
.finance-content-section { display: grid; gap: 70px; grid-template-columns: .65fr 1.35fr; padding-bottom: 110px; }
.finance-content-section h2, .finance-boundary h2, .finance-panel-heading h2, .finance-detail-card h2 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3.5vw, 3.3rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.03; margin: 0; }
.finance-copy-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); }
.finance-copy-grid article { border-top: 2px solid var(--finance-teal); padding: 18px 22px 0 0; }
.finance-copy-grid h3 { font-size: 1.15rem; margin: 27px 0 10px; }
.finance-copy-grid p { font-size: .94rem; margin: 0; }
.finance-boundary { background: var(--finance-sand); margin: 0; padding: 70px clamp(22px, 4.5vw, 52px); }
.finance-boundary h2 { max-width: 780px; }
.finance-boundary p { max-width: 720px; }
.finance-boundary-small { margin: 28px 0 0; padding: 18px 20px; }
.finance-boundary-small strong { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.finance-form-page { max-width: 1050px; }
.finance-form-intro { max-width: 700px; margin-bottom: 45px; }
.finance-form-intro h1 { font-size: clamp(2.6rem, 5vw, 4.8rem); }
.finance-form-panel, .finance-detail-card, .finance-table-panel { background: #fff; border: 1px solid var(--finance-line); border-radius: 3px; padding: 34px; }
.finance-form-grid { display: grid; gap: 23px 25px; grid-template-columns: repeat(2, 1fr); }
.finance-form-grid--single-column { grid-template-columns: minmax(0, 1fr); }
.finance-form-grid--single-column .finance-field textarea { min-height: 78px; }
.finance-form-grid--partner-directory { align-items: start; grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr); }
.finance-form-grid--partner-directory .finance-field--public_landing_enabled { align-items: start; background: #f2f7f5; border: 1px solid var(--finance-line); display: grid; gap: 5px 12px; grid-column: 1 / -1; grid-template-columns: 20px minmax(0, 1fr); padding: 15px 17px; }
.finance-form-grid--partner-directory .finance-field--public_landing_enabled > span { grid-column: 2; grid-row: 1; }
.finance-form-grid--partner-directory .finance-field--public_landing_enabled input[type="checkbox"] { accent-color: var(--finance-teal); grid-column: 1; grid-row: 1; height: 20px; margin: 1px 0 0; padding: 0; width: 20px; }
.finance-form-grid--partner-directory .finance-field--public_landing_enabled .finance-field-help,
.finance-form-grid--partner-directory .finance-field--public_landing_enabled .finance-error { grid-column: 2; }
.finance-form-grid--partner-directory .finance-field--public_summary { grid-column: 1; }
.finance-form-grid--partner-directory .finance-field--brand_logo { grid-column: 2; }
.finance-field, .finance-stack-form label { color: var(--finance-ink); display: grid; font-size: .8rem; font-weight: 800; gap: 8px; }
.finance-field em { color: #c4584b; font-style: normal; }
.finance-field-help { color: var(--finance-muted); font-size: .74rem; font-weight: 400; line-height: 1.45; }
.finance-field input, .finance-field select, .finance-field textarea, .finance-stack-form input, .finance-stack-form select, .finance-stack-form textarea, .finance-filter-bar input, .finance-filter-bar select { background: #fbfcfa; border: 1px solid #c9d6d5; border-radius: 2px; box-sizing: border-box; color: var(--finance-ink); font: inherit; font-weight: 400; padding: 13px 14px; width: 100%; }
.finance-field textarea { min-height: 110px; }
.finance-consent-box { background: #eef7f4; border-left: 3px solid var(--finance-teal); margin-top: 28px; padding: 24px; }
.finance-consent-box p { color: var(--finance-muted); font-size: .9rem; margin: 0 0 16px; }
.finance-checkbox { align-items: flex-start; color: var(--finance-ink); display: flex; font-size: .87rem; gap: 10px; margin: 12px 0; }
.finance-checkbox input { margin-top: 3px; }
.finance-form-footer { border-top: 1px solid var(--finance-line); justify-content: space-between; margin-top: 30px; padding-top: 24px; }
.finance-form-footer p { color: var(--finance-muted); font-size: .82rem; max-width: 500px; }
.finance-error { color: #b04c3f; font-size: .78rem; font-weight: 600; }
.finance-honeypot { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.finance-confirmation { max-width: 720px; padding-bottom: 170px; padding-top: 130px; }
.finance-confirmation-mark { align-items: center; background: var(--finance-teal); border-radius: 50%; color: #fff; display: flex; font-size: 2rem; height: 64px; justify-content: center; margin-bottom: 30px; width: 64px; }
.finance-reference { color: var(--finance-ink) !important; font-size: 1rem; }
.finance-portal-page .finance-shell { padding-top: 12px; }
.finance-portal-heading, .finance-detail-heading { align-items: flex-end; display: flex; justify-content: space-between; gap: 25px; margin-bottom: 38px; }
.finance-portal-heading h1, .finance-detail-heading h1 { font-family: Roboto, sans-serif; font-size: clamp(2.5rem, 5vw, 4.6rem); margin-bottom: 10px; }
.finance-portal-heading p, .finance-detail-heading p { color: var(--finance-muted); margin: 0; }
.finance-stat-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); margin-bottom: 28px; }
.finance-stat-grid div { background: var(--finance-ink); border-radius: 2px; color: #fff; display: grid; gap: 10px; padding: 20px; }
.finance-stat-grid span { color: #9ed6cf; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.finance-stat-grid strong { font-size: 2rem; font-weight: 500; }
.finance-public-listing-panel { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); margin-bottom: 28px; }
.finance-public-listing-panel h2 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.08; margin: 0; max-width: 620px; }
.finance-public-listing-status { border-top: 1px solid var(--finance-line); display: grid; font-size: .82rem; gap: 5px; line-height: 1.5; margin-top: 20px; padding-top: 16px; }
.finance-public-listing-status strong { color: #1b6c68; }
.finance-public-listing-status span, .finance-public-listing-help { color: var(--finance-muted); }
.finance-public-listing-form { align-content: start; display: grid; gap: 15px; }
.finance-public-listing-choice { align-items: flex-start; background: #eef7f4; border: 1px solid var(--finance-line); color: var(--finance-ink); display: flex; font-size: .9rem; font-weight: 700; gap: 12px; line-height: 1.45; padding: 18px; }
.finance-public-listing-choice input { accent-color: var(--finance-teal); flex: 0 0 auto; height: 20px; margin: 0; width: 20px; }
.finance-public-listing-help { font-size: .76rem; line-height: 1.5; }
.finance-public-listing-form .finance-button { justify-self: start; }
.finance-status-strip { display: flex; gap: 3px; margin-bottom: 24px; overflow-x: auto; padding-bottom: 5px; }
.finance-status-strip a { background: #eef2ef; color: var(--finance-muted); font-size: .72rem; font-weight: 700; min-width: max-content; padding: 12px 14px; text-decoration: none; }
.finance-status-strip a.active, .finance-status-strip a:hover { background: var(--finance-teal); color: #fff; }
.finance-status-strip strong { margin-left: 5px; }
.finance-filter-bar { align-items: center; display: grid; gap: 10px; grid-template-columns: 1fr 250px auto auto; margin-bottom: 20px; }
.finance-panel-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 24px; }
.finance-panel-heading h2 { font-size: 2rem; }
.finance-panel-description { color: var(--finance-muted); line-height: 1.55; margin: 8px 0 0; max-width: 560px; }
.finance-partner-admin-panel { margin-bottom: 28px; }
.finance-public-partner-callout { background: #eef7f4; border-left: 3px solid var(--finance-teal); display: grid; gap: 4px; padding: 12px 15px; }
.finance-public-partner-callout span { color: var(--finance-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.finance-public-partner-callout strong { color: var(--finance-ink); font-size: .9rem; }
.finance-partner-card-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.finance-partner-admin-card { border: 1px solid var(--finance-line); padding: 20px; }
.finance-partner-card-header { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.finance-partner-card-header .finance-kicker { margin-bottom: 8px; }
.finance-partner-admin-card h3 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; font-weight: 400; line-height: 1.05; margin: 0; }
.finance-partner-contact { color: var(--finance-muted); font-size: .78rem; line-height: 1.5; margin: 18px 0; overflow-wrap: anywhere; }
.finance-status-public { background: #eef7f4; color: #1b6c68; white-space: nowrap; }
.finance-compliance-summary { border-top: 1px solid var(--finance-line); padding-top: 14px; }
.finance-compliance-summary-heading { align-items: center; display: flex; font-size: .76rem; justify-content: space-between; }
.finance-compliance-summary-heading span { color: var(--finance-muted); }
.finance-compliance-meter { background: #e8eeeb; height: 6px; margin: 10px 0 14px; overflow: hidden; }
.finance-compliance-meter span { background: var(--finance-teal); display: block; height: 100%; }
.finance-compliance-list { display: grid; gap: 7px; list-style: none; margin: 0 0 18px; padding: 0; }
.finance-compliance-list li { color: var(--finance-muted); font-size: .76rem; }
.finance-compliance-list li span { color: #b56b55; display: inline-block; font-weight: 800; margin-right: 7px; width: 12px; }
.finance-compliance-list li.is-complete span { color: var(--finance-teal); }
.finance-partner-management-layout { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); }
body.finance-site.finance-portal-page .finance-shell.finance-partner-management-page { width: min(1240px, calc(100% - 40px)); max-width: 1240px; }
.finance-form-section + .finance-form-section { border-top: 1px solid var(--finance-line); margin-top: 38px; padding-top: 36px; }
.finance-form-section-heading { margin-bottom: 22px; }
.finance-form-section-heading h2 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 400; letter-spacing: -.035em; margin: 0 0 8px; }
.finance-form-section-heading p:last-child { color: var(--finance-muted); font-size: .86rem; line-height: 1.55; margin: 0; max-width: 650px; }
.finance-service-editor { border-top: 1px solid var(--finance-line); margin-top: 28px; padding-top: 24px; }
.finance-service-editor-heading { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 20px; }
.finance-service-editor-heading h3 { color: var(--finance-ink); font-size: 1.05rem; margin: 0; }
.finance-service-editor-heading .finance-panel-description { margin-top: 7px; }
.finance-service-add, .finance-service-actions button { background: #fff; border: 1px solid #9eb4b1; border-radius: 2px; color: var(--finance-ink); cursor: pointer; font: inherit; font-size: .76rem; font-weight: 800; padding: 9px 12px; }
.finance-service-add { flex: 0 0 auto; }
.finance-service-add:hover, .finance-service-actions button:hover { background: #eef7f4; border-color: var(--finance-teal); }
.finance-service-list { display: grid; gap: 14px; }
.finance-service-card { background: #fbfcfa; border: 1px solid var(--finance-line); margin: 0; min-width: 0; padding: 18px; }
.finance-service-card legend { color: var(--finance-ink); font-size: .84rem; font-weight: 800; padding: 0 8px; }
.finance-service-card .finance-form-grid { gap: 16px 20px; }
.finance-service-card .finance-field textarea { min-height: 76px; }
.finance-service-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.finance-service-actions button:disabled { cursor: not-allowed; opacity: .48; }
.finance-service-actions [data-service-remove] { border-color: #d9aaa4; color: #9a4036; }
.finance-service-card.is-marked-for-removal { background: #f8f3f1; border-color: #d9aaa4; }
.finance-service-removal { color: #9a4036; font-size: .78rem; font-weight: 700; margin: 2px 0 16px; }
.finance-legacy-notes { background: #fff8e8; border-left: 3px solid #c08a25; color: var(--finance-ink); margin: 0 0 18px; padding: 14px 16px; }
.finance-legacy-notes p { color: var(--finance-muted); font-size: .82rem; line-height: 1.55; margin: 8px 0; white-space: pre-wrap; }
.finance-legacy-notes small { color: var(--finance-muted); font-size: .74rem; }
.finance-authorization-card .finance-field textarea { min-height: 74px; }
.finance-authorization-card .finance-field input[type="date"] { min-height: 46px; }
.finance-partner-side-panel { display: grid; gap: 18px; position: sticky; top: 24px; }
.finance-compliance-card h2 { font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 400; margin: 0 0 12px; }
.finance-compliance-ready, .finance-compliance-warning { border-top: 1px solid var(--finance-line); font-size: .78rem; line-height: 1.5; margin: 18px 0 0; padding-top: 14px; }
.finance-compliance-ready { color: #1b6c68; }
.finance-compliance-warning { color: #956916; }
.finance-brand-preview { background: #fff; border-color: var(--finance-line); color: var(--finance-ink); }
.finance-brand-preview img { background: #fff; display: block; margin-bottom: 18px; max-height: 48px; max-width: 180px; object-fit: contain; padding: 6px; }
.finance-brand-preview h2 { color: var(--finance-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; font-weight: 400; letter-spacing: -.035em; line-height: 1.05; margin: 0 0 16px; }
.finance-brand-preview p { color: var(--finance-muted); font-size: .84rem; line-height: 1.55; }
.finance-preview-services { border-top: 1px solid var(--finance-line); display: grid; gap: 10px; list-style: none; margin: 16px 0 0; padding: 14px 0 0; }
.finance-preview-services li { display: grid; gap: 3px; }
.finance-preview-services strong { color: var(--finance-ink); font-size: .8rem; }
.finance-preview-services span { color: var(--finance-muted); font-size: .75rem; line-height: 1.5; }
.finance-preview-status { color: #1b6c68; display: block; font-size: .75rem; line-height: 1.45; margin-top: 18px; }
.finance-preview-status.is-muted { color: var(--finance-muted); }
.finance-error-panel { background: #f8eae8; border-left: 3px solid #b04c3f; margin-bottom: 28px; padding: 12px 16px; }
.finance-table-wrap { overflow-x: auto; }
.finance-table { border-collapse: collapse; min-width: 780px; width: 100%; }
.finance-table th { color: var(--finance-muted); font-size: .68rem; letter-spacing: .1em; padding: 0 14px 13px; text-align: left; text-transform: uppercase; }
.finance-table td { border-top: 1px solid var(--finance-line); font-size: .86rem; padding: 17px 14px; vertical-align: middle; }
.finance-table td:first-child, .finance-table th:first-child { padding-left: 0; }
.finance-table td:last-child, .finance-table th:last-child { padding-right: 0; text-align: right; }
.finance-table td small, .finance-document-list small, .finance-timeline small { color: var(--finance-muted); display: block; font-size: .75rem; margin-top: 5px; }
.finance-status { background: #e9f4f1; color: #1b6c68; display: inline-block; font-size: .68rem; font-weight: 800; letter-spacing: .03em; padding: 7px 9px; }
.finance-status-declined, .finance-status-withdrawn { background: #f8eae8; color: #a44e43; }
.finance-status-new, .finance-status-awaiting_consent { background: #fff3db; color: #956916; }
.finance-status-warning { background: #fff3db; color: #956916; white-space: normal; }
.finance-status-complete { background: #e9f4f1; color: #1b6c68; white-space: normal; }
.finance-status-pending { background: #eef2ef; color: var(--finance-muted); white-space: normal; }
.finance-accounting-alert, .finance-accounting-action { background: #fff8e8; border-left: 3px solid #c08a25; color: var(--finance-ink); display: flex; gap: 20px; justify-content: space-between; margin-bottom: 22px; padding: 18px 20px; }
.finance-accounting-alert > div { max-width: 760px; }
.finance-accounting-alert .finance-kicker { margin-bottom: 7px; }
.finance-accounting-alert strong, .finance-accounting-action strong { font-size: .95rem; }
.finance-accounting-alert p:last-child, .finance-accounting-action p { color: var(--finance-muted); font-size: .82rem; line-height: 1.55; margin: 7px 0 0; }
.finance-accounting-action { display: block; margin: 0 0 18px; }
.finance-accounting-action.is-clear { background: #eef7f4; border-color: var(--finance-teal); }
.finance-empty { color: var(--finance-muted); padding: 28px 0; }
.finance-detail-grid { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; margin-bottom: 24px; }
.finance-detail-card h2 { font-size: 2.2rem; margin-bottom: 26px; }
.finance-definition-list { display: grid; gap: 12px; grid-template-columns: 140px 1fr; margin: 0; }
.finance-definition-list dt { color: var(--finance-muted); font-size: .76rem; font-weight: 700; }
.finance-definition-list dd { font-size: .9rem; margin: 0; }
.finance-stack-form { display: grid; gap: 18px; }
.finance-stack-form p { margin: 0; }
.finance-stack-form p label { color: var(--finance-ink); display: block; font-size: .8rem; font-weight: 800; margin-bottom: 7px; }
.finance-stack-form p input, .finance-stack-form p select, .finance-stack-form p textarea { margin-top: 7px; }
.finance-document-list { list-style: none; margin: 0 0 25px; padding: 0; }
.finance-document-list li { align-items: center; border-top: 1px solid var(--finance-line); display: flex; gap: 15px; justify-content: space-between; padding: 14px 0; }
.finance-document-info { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.finance-timeline { border-left: 1px solid var(--finance-line); list-style: none; margin: 0 0 0 8px; padding: 0 0 0 25px; }
.finance-timeline li { padding: 0 0 24px; position: relative; }
.finance-timeline-dot { background: var(--finance-teal); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px var(--finance-teal); height: 8px; left: -31px; position: absolute; top: 3px; width: 8px; }
.finance-timeline strong { font-size: .9rem; }
.finance-timeline p { color: var(--finance-muted); line-height: 1.55; margin: 7px 0 0; }
.finance-upload-form { border-top: 1px solid var(--finance-line); padding-top: 20px; }
@media (max-width: 800px) {
  .finance-form-grid--partner-directory { grid-template-columns: minmax(0, 1fr); }
  .finance-form-grid--partner-directory .finance-field--public_summary,
  .finance-form-grid--partner-directory .finance-field--brand_logo { grid-column: 1; }
  .finance-shell { padding-left: 20px; padding-right: 20px; }
  .finance-hero, .finance-services, .finance-content-section, .finance-detail-grid { grid-template-columns: 1fr; }
  .finance-hero { gap: 42px; margin-bottom: 0; min-height: auto; padding: 40px 0 80px; }
  .finance-hero-visual { min-height: 600px; }
  .finance-hero-caption { bottom: auto; left: 24px; right: 24px; top: 30px; }
  .finance-hero-card-overlay { bottom: 20px; left: 20px; max-width: none; padding: 20px; right: 20px; }
  .finance-trust-row { grid-template-columns: 1fr; margin-bottom: 80px; }
  .finance-trust-row div + div { border-left: 0; border-top: 1px solid var(--finance-line); padding-left: 0; }
  .finance-copy-grid, .finance-form-grid, .finance-service-grid { grid-template-columns: 1fr; }
  .finance-partner-card-grid, .finance-partner-management-layout { grid-template-columns: 1fr; }
  .finance-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .finance-public-listing-panel { grid-template-columns: 1fr; }
  .finance-filter-bar { grid-template-columns: 1fr; }
  .finance-portal-heading, .finance-detail-heading { align-items: flex-start; flex-direction: column; }
  .finance-service-editor-heading { flex-direction: column; }
}
@media (max-width: 480px) {
  .finance-form-panel, .finance-detail-card, .finance-table-panel { padding: 22px 18px; }
  .finance-accounting-alert { align-items: flex-start; flex-direction: column; }
  .finance-stat-grid strong { font-size: 1.5rem; }
  .finance-public-listing-form .finance-button { justify-self: stretch; }
  .finance-form-footer { align-items: flex-start; flex-direction: column; }
  .finance-partner-side-panel { position: static; }
  .finance-panel-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
}

/* Staff referral review: readable actions and a clear, document-first checklist. */
.finance-portal-page .finance-button {
  border-radius: 4px;
  font-size: .9rem;
  letter-spacing: .02em;
  padding: 11px 16px;
}
.finance-review-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
  margin-bottom: 24px;
}
.finance-review-main-column,
.finance-review-side-column {
  align-content: start;
  display: grid;
  gap: 24px;
  min-width: 0;
}
.finance-review-side-column { position: sticky; top: 18px; }
.finance-portal-page .finance-detail-card {
  background: #fff;
  font-size: 1rem;
  line-height: 1.6;
}
.finance-portal-page .finance-kicker {
  font-size: .78rem;
  letter-spacing: .13em;
}
.finance-portal-page .finance-detail-card > p:not(.finance-kicker) {
  font-size: 1rem;
}
.finance-definition-list { gap: 14px 18px; grid-template-columns: minmax(140px, .5fr) 1fr; }
.finance-definition-list dt { font-size: .9rem; line-height: 1.5; }
.finance-definition-list dd { font-size: 1rem; line-height: 1.55; }
.finance-stack-form p label,
.finance-stack-form > label { font-size: .95rem; line-height: 1.5; }
.finance-stack-form p input[type="checkbox"],
.finance-stack-form > label input[type="checkbox"] {
  flex: 0 0 auto;
  height: 20px;
  margin: 2px 8px 0 0;
  width: 20px;
}
.finance-review-disclosure,
.finance-withdrawal-disclosure {
  border-top: 1px solid var(--finance-line);
  margin-top: 26px;
  padding-top: 18px;
}
.finance-review-disclosure summary,
.finance-withdrawal-disclosure summary {
  color: var(--finance-blue);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
  padding: 8px 0;
}
.finance-consent-summary { margin-top: 16px; }
.finance-withdrawal-disclosure {
  background: #fbf5f3;
  border: 1px solid #ecd1ca;
  margin-top: 22px;
  padding: 14px 16px 18px;
}
.finance-withdrawal-disclosure > p { font-size: .95rem; }
.finance-withdrawal-help {
  color: #7b4b40;
  font-size: .9rem;
  margin: 0;
}
.finance-button-danger {
  background: #9e3f36;
  border-color: #9e3f36;
  color: #fff;
}
.finance-button-danger:hover { background: #7f3029; color: #fff; }
.finance-review-progress {
  color: var(--finance-ink);
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 16px;
}
.finance-review-notice {
  background: #fff6e3;
  border-left: 4px solid #d59a2a;
  color: #57461f;
  margin: 0 0 18px;
  padding: 12px 14px;
}
.finance-review-checklist { display: grid; gap: 11px; }
.finance-review-check {
  align-items: start;
  background: #f7faf9;
  border: 1px solid #d4e1de;
  border-radius: 3px;
  color: var(--finance-ink);
  display: grid;
  font-size: 1rem;
  font-weight: 700;
  gap: 12px;
  grid-template-columns: 22px minmax(0, 1fr);
  line-height: 1.45;
  padding: 13px 14px;
}
.finance-review-check.is-blocked {
  background: #f2f3f2;
  color: #56676b;
}
.finance-review-check input {
  height: 20px;
  margin: 1px 0 0;
  width: 20px;
}
.finance-review-check small {
  color: var(--finance-muted);
  display: block;
  font-size: .88rem;
  font-weight: 400;
  margin-top: 5px;
}
.finance-review-notes { display: grid; font-size: .95rem; font-weight: 800; gap: 7px; }
.finance-review-notes textarea {
  background: #fbfcfa;
  border: 1px solid #c9d6d5;
  border-radius: 3px;
  box-sizing: border-box;
  color: var(--finance-ink);
  font: inherit;
  font-weight: 400;
  padding: 12px 14px;
  width: 100%;
}
.finance-review-saved,
.finance-document-instructions,
.finance-document-review-hint,
.finance-document-reviewed {
  color: var(--finance-muted);
  font-size: .9rem;
  line-height: 1.5;
}
.finance-document-instructions {
  background: #fff6e3;
  border-left: 4px solid #d59a2a;
  color: #57461f;
  padding: 12px 14px;
}
.finance-review-divider { border-top: 1px solid var(--finance-line); margin: 24px 0 18px; }
.finance-document-list li { align-items: flex-start; }
.finance-document-list small { font-size: .9rem; line-height: 1.45; }
.finance-document-actions {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 8px;
  max-width: 230px;
  min-width: 195px;
}
.finance-document-button {
  background: #e5f0ee;
  border-color: #b8cfcb;
  color: var(--finance-ink);
  min-width: 150px;
  text-align: center;
}
.finance-document-button:hover { background: #d4e8e4; color: var(--finance-ink); }
.finance-document-review-form { margin: 2px 0; }
.finance-document-review-button {
  background: var(--finance-ink);
  border-color: var(--finance-ink);
  border-radius: 4px;
  color: #fff;
  font-size: .88rem;
  min-width: 190px;
  padding: 9px 12px;
}
.finance-document-review-button:hover { background: var(--finance-blue); color: #fff; }
.finance-document-reviewed {
  background: #edf7f3;
  border-left: 3px solid var(--finance-teal);
  color: #285c53;
  padding: 7px 9px;
}
.finance-document-blocked {
  background: #fbefed;
  border-left: 3px solid #9e3f36;
  color: #7b3029;
  font-size: .9rem;
  line-height: 1.5;
  padding: 8px 10px;
}
.finance-timeline small { font-size: .88rem; line-height: 1.45; }

/* Public finance landing: a calm, card-led overview of the conversation areas. */
.finance-services {
  border-bottom: 1px solid var(--finance-line);
  display: block;
  padding: 0 0 92px;
}
.finance-services-intro {
  margin: 0 0 34px;
  max-width: 800px;
}
.finance-services-intro .finance-kicker { margin-bottom: 13px; }
.finance-services-intro h2 {
  font-family: inherit;
  font-size: clamp(2rem, 5vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.08;
  margin: 0 0 12px;
}
.finance-services-subtitle {
  color: var(--finance-muted);
  font-size: clamp(1.2rem, 2.3vw, 1.7rem);
  line-height: 1.35;
  margin: 0 0 11px;
}
.finance-services-description {
  color: var(--finance-muted);
  line-height: 1.65;
  margin: 0;
  max-width: 760px;
}
.finance-service-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.finance-services .finance-service-card {
  background: #fff;
  border: 1px solid rgba(16, 43, 63, .055);
  border-radius: 18px;
  min-width: 0;
  padding: 21px 22px 22px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.finance-services .finance-service-card:hover {
  box-shadow: 0 10px 26px rgba(16, 43, 63, .07);
  transform: translateY(-2px);
}
.finance-service-card-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}
.finance-service-icon {
  align-items: center;
  color: var(--finance-muted);
  display: inline-flex;
  height: 22px;
  justify-content: center;
  width: 22px;
}
.finance-service-icon svg { display: block; height: 22px; width: 22px; }
.finance-services .finance-service-number {
  color: #7d8988;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .82rem;
  font-weight: 400;
}
.finance-services .finance-service-card h3 {
  color: var(--finance-ink);
  font-size: 1.16rem;
  letter-spacing: -.015em;
  line-height: 1.3;
  margin: 0 0 9px;
}
.finance-services .finance-service-card p {
  color: var(--finance-muted);
  font-size: .91rem;
  line-height: 1.6;
  margin: 0;
  max-width: 480px;
}
.finance-services .finance-service-card:nth-child(5) {
  background: var(--finance-sand);
  border-color: transparent;
  grid-column: 1 / -1;
  padding: 20px 22px 23px;
}
.finance-services .finance-service-card:nth-child(5) p { max-width: 720px; }
@media (max-width: 800px) {
  .finance-services { padding-bottom: 72px; }
  .finance-services-intro { margin-bottom: 27px; }
}
@media (max-width: 560px) {
  .finance-service-grid { grid-template-columns: minmax(0, 1fr); }
  .finance-services .finance-service-card:nth-child(5) { grid-column: auto; }
}
@media (max-width: 800px) {
  .finance-review-layout { grid-template-columns: 1fr; }
  .finance-review-side-column { position: static; }
}
@media (max-width: 480px) {
  .finance-document-list li { flex-direction: column; }
  .finance-document-actions { max-width: none; min-width: 0; width: 100%; }
  .finance-document-button,
  .finance-document-review-button { max-width: 100%; width: 100%; }
}

/* Public finance partner directory */
.finance-directory {
  border-top: 1px solid var(--finance-line);
  margin-top: 44px;
  padding-top: 72px;
}
.finance-directory-intro {
  margin: 0 0 32px;
  max-width: 720px;
}
.finance-directory-intro h2 {
  color: var(--finance-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.05;
  margin: 0 0 13px;
}
.finance-directory-intro > p:last-child {
  color: var(--finance-muted);
  line-height: 1.65;
  margin: 0;
}
.finance-directory-grid {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.finance-directory-card {
  background: #fff;
  border: 1px solid rgba(16, 43, 63, .08);
  border-radius: 12px;
  min-width: 0;
  padding: 25px;
}
.finance-directory-logo {
  align-items: center;
  background: #f7f9f7;
  display: flex;
  height: 76px;
  margin: 0 0 20px;
  padding: 12px 16px;
}
.finance-directory-logo img {
  display: block;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}
.finance-directory-card h3 {
  color: var(--finance-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.55rem;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.12;
  margin: 0 0 12px;
  overflow-wrap: anywhere;
}
.finance-directory-summary {
  color: var(--finance-muted);
  font-size: .92rem;
  line-height: 1.65;
  margin: 0;
}
.finance-directory-services {
  border-top: 1px solid var(--finance-line);
  display: grid;
  gap: 16px;
  list-style: none;
  margin: 22px 0 0;
  padding: 18px 0 0;
}
.finance-directory-services li { min-width: 0; }
.finance-directory-services h4 {
  color: var(--finance-ink);
  font-size: .9rem;
  line-height: 1.4;
  margin: 0 0 5px;
}
.finance-directory-services p {
  color: var(--finance-muted);
  font-size: .84rem;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 800px) {
  .finance-directory { margin-top: 32px; padding-top: 56px; }
  .finance-directory-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .finance-directory { margin-top: 24px; padding-top: 44px; }
  .finance-directory-card { padding: 21px 19px; }
  .finance-directory-logo { height: 66px; margin-bottom: 17px; }
}
