/* Financial-services flagship pages (PCI DSS · SWIFT CSCF · DORA) — shared editorial patterns */

/* tighter rhythm on these long pages */
main .sec { padding-block: clamp(45px, 4.7vw, 74px); }
main .sec .shead { margin-bottom: clamp(32px, 4vw, 52px); }

/* sub-block inside a section (merged outcomes, validation routes, related) */
.fin-sub { margin-top: clamp(56px, 6vw, 88px); padding-top: clamp(32px, 3.5vw, 48px); border-top: 1px solid var(--line); }
.fin-night .fin-sub { border-color: var(--line-dark); }
.fin-sub__t { font: 600 clamp(1.5rem, 1.1rem + 1.1vw, 2.2rem)/1.12 var(--sans); letter-spacing: -.03em; margin-bottom: clamp(22px, 2.5vw, 32px); }
.fin-sub__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 40px; margin-bottom: clamp(22px, 2.5vw, 32px); }
.fin-sub__row .fin-sub__t { margin-bottom: 0; }
.fin-sub__row p { max-width: 46ch; color: var(--muted); }
.wrap.fin-sub { margin-top: clamp(56px, 6vw, 88px); border-top: 0; }
.mt-l:has(.pull) + .fin-sub { border-top: 0; padding-top: 0; margin-top: clamp(48px, 5vw, 72px); }

/* deep night section variant */
.fin-night { background: var(--night); }
.fin-night .gridlines { display: none; }

/* overview: statement left, two short paragraphs right */
.fin-ov { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.fin-ov h2 { margin-top: 18px; max-width: 13ch; }
.fin-ov__copy { display: grid; gap: 16px; }
.fin-ov__copy p:not(.lead) { color: var(--muted); }
@media (max-width: 960px) { .fin-ov { grid-template-columns: 1fr; } }

/* big numbers band */
.fin-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(48px, 6vw, 88px) 0 0; border-top: 1px solid var(--ink); }
.fin-nums > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 12px; padding: 26px 22px 0 0; }
.fin-nums > div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.fin-nums dd { margin: 0; font: 600 clamp(3rem, 1.8rem + 4vw, 6rem)/.9 var(--sans); letter-spacing: -.055em; color: var(--ink); }
.fin-nums dd small { font-size: .42em; letter-spacing: -.02em; color: var(--gold-ink); margin-left: 4px; }
.fin-nums dt { font-size: .92rem; color: var(--muted); max-width: 24ch; }
@media (max-width: 760px) { .fin-nums { grid-template-columns: 1fr 1fr; } .fin-nums > div:nth-child(3) { padding-left: 0; border-left: 0; } .fin-nums > div { padding-bottom: 24px; } }

/* demo section: head row + full-width demo on night */
.fin-demo__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px 48px; margin-bottom: clamp(32px, 4vw, 56px); }
.fin-demo__head h2 { margin-top: 18px; max-width: 16ch; }
.fin-demo__head > p { max-width: 44ch; color: var(--on-dark-2); }
.fin-demo .demo { box-shadow: 0 40px 100px -40px rgba(0,0,0,.8); }

/* lean outcome / requirement / card styling */
.outcome h3, .req h3, .ucase h3, .cap h3 { letter-spacing: -.02em; }
.fin-night .ucase { background: rgba(255,255,255,.03); border-color: var(--line-dark); }
.fin-night .ucase .chip { border-radius: 0; }
.ucase { border-radius: 0; }
.ucase .chip { border-radius: 0; }
.req { border-radius: 0; }
.req__code { border-radius: 0; }
.cap, .deliv__item { border-radius: 0; }
.deliv__doc { border-radius: 0; }
.deliv__doc span { font-size: .44rem; letter-spacing: .02em; }
@media (min-width: 1081px) { #risks .ucases, #outcomes .outcomes { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 761px) and (max-width: 1080px) { .ucases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.journey__out { border-radius: 0; }
.callout { border-radius: 0; }
.callout--gold { background: var(--paper); border-color: var(--line); border-left: 3px solid var(--gold); }
.related a { border-radius: 0; }
.related strong { font-weight: 600; letter-spacing: -.02em; }
