/* Financial services reuse the brand palette, typography and Bootstrap grid. */
.services-body { background:var(--paper); color:var(--ink); }
.services-page.container { max-width:1200px; padding:clamp(64px,8vw,120px) 32px; }
.services-intro { margin-bottom:clamp(56px,7vw,104px); }
.services-label, .services-number { font-size:14px; letter-spacing:.08em; }
.services-label { margin:0 0 32px; text-transform:uppercase; }
.services-intro h1 { max-width:1000px; font-size:clamp(44px,6vw,84px); line-height:1.08; font-weight:400; letter-spacing:-.035em; text-wrap:balance; overflow-wrap:break-word; }
.services-lead { max-width:710px; font-size:clamp(18px,2vw,24px); line-height:1.6; margin:32px 0 0; opacity:.72; }
.services-category { border-top:1px solid var(--line); padding-top:24px; }
.services-category h2 { font-size:30px; font-weight:400; margin:0 0 18px; }
.services-category p { font-size:16px; line-height:1.6; opacity:.72; max-width:44ch; }
.services-offerings > section { display:flex; flex-direction:column; }
.offering-link { display:flex; flex-direction:column; flex:1; border:1px solid var(--line); margin-top:32px; padding:clamp(24px,3vw,40px); min-height:350px; transition:background .2s; }
.offering-link:hover { background:var(--paper-alt); }
.offering-link:focus-visible, .services-contact a:focus-visible, .services-breadcrumb a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.offering-link h3 { margin:40px 0 24px; font-weight:400; font-size:clamp(30px,3.2vw,42px); line-height:1.15; text-wrap:balance; }
.offering-link p { font-size:16px; line-height:1.7; opacity:.72; }
.offering-read { display:flex; justify-content:space-between; margin-top:auto; padding-top:24px; font-size:16px; }
.services-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:14px; margin-bottom:48px; }
.services-breadcrumb a { text-decoration:underline; text-underline-offset:5px; }
.capability-row { margin-inline:0; padding-block:32px; border-top:1px solid var(--line); align-items:start; }
.capability-row > * { padding-left:0; }
.capability-row h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; font-weight:400; }
.capability-row p { font-size:18px; line-height:1.7; opacity:.72; }
.services-contact { border-top:1px solid var(--line); padding-top:40px; margin-top:24px; }
.services-contact p { max-width:760px; font-size:16px; line-height:1.7; opacity:.7; }
.services-contact a { display:inline-flex; align-items:center; gap:48px; border-bottom:1px solid var(--ink); padding-block:14px; font-size:18px; margin-top:16px; }
@media (max-width:767.98px) { .services-page.container { padding-inline:24px; } .offering-link { min-height:0; height:auto; } }
@media (max-width:575.98px) { .services-page.container { padding-inline:18px; } .services-breadcrumb { margin-bottom:32px; } }
@media (prefers-reduced-motion:reduce) { .offering-link { transition:none; } }
