/* A-Banking: warm architectural backgrounds and editorial typography. */
:root {
  --ink: #242c2e; --muted: #656e70; --line: #e3dbd1; --cream: #f7f3ec;
  --gold: #a78053; --champagne: #dbc2a0;
  --arch-pattern: url('/assets/backgrounds/architectural-lines.svg');
  --shadow: 0 16px 45px #34302310;
}
html[data-background-pattern="off"] { --arch-pattern: none; }
.utility { background: #1d292b; }
.utility .shell > span { color: #d6c5ad; }
.site-header { background: #fffffff7; border-bottom-color: #dbd0c1; }
.site-header nav .line-icon { color: #93816a; }
.button:not(.button-light) { background: linear-gradient(120deg,var(--red),color-mix(in srgb,var(--red) 84%,#6c171a)); box-shadow: 0 5px 14px #aa282312; }
.section-symbol { background: #fffdf9; border-color: #dcccb8; color: #967044; border-radius: 8px; }
.services {
  background-color: #f8f5ef;
  background-image: var(--arch-pattern),radial-gradient(ellipse at 0 0,#ffffff 0,transparent 70%);
  background-position: right top,center; background-size: 1100px auto,cover; background-repeat: no-repeat;
  border-block: 1px solid #e8dfd4; padding-block: 76px;
}
.services .section-description { max-width: 610px; }
.service-card { display: flex; flex-direction: column; border-color: #e1d7ca; border-radius: 9px; box-shadow: 0 6px 24px #372d1806; }
.service-image { flex-shrink: 0; }
.service-content { flex: 1; padding: 25px; }
.service-number { border: 1px solid #eadcca; border-radius: 9px; }
.trust-section {
  background-color: #1d292b;
  background-image: var(--arch-pattern),radial-gradient(ellipse at 5% 0,#354548 0,transparent 70%);
  background-position: right center,center; background-size: 1150px auto,cover; background-repeat: no-repeat;
  border-block: 1px solid #7f6a4b;
}
.trust-layout { gap: 65px; align-items: center; }
.trust-copy > .eyebrow { color: var(--champagne); }
.trust-section .section-symbol { color: var(--champagne); border-color: #dbc2a04d; background: #dbc2a008; }
.trust-copy > p:not(.eyebrow),.advantage-card p { color: #c0cbcc; }
.trust-copy h2 { max-width: 440px; }
.trust-copy .button-light { border-color: #d9c3a4; color: #223034; background: #f8f2e9; }
.trust-signature { border-top: 1px solid #d9c3a430; padding-top: 25px; margin-top: 28px; }
.trust-signature small { color: #a9b8b9; }
.advantage-grid { gap: 18px; }
.advantage-card { border: 1px solid #dbc2a030; border-top-color: #dbc2a066; border-radius: 8px; padding: 22px; background: #ffffff04; }
.advantage-card h3 { margin: 19px 0 12px; }
.feature-icon { color: var(--champagne); border-color: #dbc2a040; background: #dbc2a00a; border-radius: 10px; }
.advantage-number { color: #c4b398; }
.testimonials {
  background-color: #f3ede3;
  background-image: var(--arch-pattern),linear-gradient(125deg,#faf6ef,transparent 65%);
  background-position: right center,center; background-size: 1000px auto,cover; background-repeat: no-repeat;
  border-block: 1px solid #e4d7c5; padding-block: 70px;
}
.testimonials .section-heading > div { max-width: 690px; }
.reviews-intro { border-left-color: #b18b5d; }
.testimonial { border-radius: 9px; border-color: #ddcfbc; box-shadow: 0 7px 20px #332a1605; }
.testimonial-index { color: #8d7960; }
.testimonial-featured { background: linear-gradient(140deg,#2f4142,#1d292b); border-color: #ac8b60; }
.testimonial-featured .quote-mark { color: var(--champagne); }
.testimonial-featured .testimonial-index { color: #c8b38f; }
.testimonial-featured .person small { color: #c3cdcc; }
.reviews-invitation { border-radius: 7px; background: #fffcf780; border-color: #d9c9b3; }
.process-section {
  background-color: #fffcf8; background-image: var(--arch-pattern);
  background-repeat: no-repeat; background-position: right top; background-size: 1150px auto; padding-block: 70px;
}
.process-visual { border-radius: 9px; border-color: #cdb89b; box-shadow: 10px 10px 0 #e5d7c34d; }
.process-visual figcaption { background: #f1e7d8; border-color: #d9c5a8; }
.process-visual figcaption small { color: #786349; }
.process-assurances span { background: #fffdf9; border-color: #ddcdb7; }
.process-step { background: #fffdf9; border-color: #ddd0bd; border-top-color: #b9986b; border-radius: 8px; }
.process-step:first-child { background: #f6eddf; border-top-color: var(--red); }
.process-step > .process-emblem { border-color: #e7d6c0; background: #fff; border-radius: 10px; }
.process-step:first-child .process-emblem small { border-color: #f6eddf; }
.partners-section {
  background-color: #233135; color: #fff;
  background-image: var(--arch-pattern),linear-gradient(120deg,#233135,transparent);
  background-position: center,center; background-size: 1400px auto,cover; background-repeat: no-repeat;
  border-block: 1px solid #806a4b;
}
.partners-section .eyebrow { color: var(--champagne); }
.partners-section .section-symbol { color: var(--champagne); background: #dbc2a010; border-color: #dbc2a055; }
.partners-section .section-heading { margin-bottom: 38px; }
.partner-card { border-color: #cbb79b; border-radius: 7px; box-shadow: 0 10px 20px #0000000a; color: var(--ink); }
.articles {
  background-color: #f7f3ec; background-image: var(--arch-pattern);
  background-position: right top; background-size: 1300px auto; background-repeat: no-repeat; padding-block: 76px;
}
.article-grid { gap: 25px; }
.article-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #ddd2c2; border-radius: 9px; box-shadow: 0 6px 22px #34302305; }
.article-image { border-radius: 0; flex-shrink: 0; }
.article-content { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.article-content p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.article-content .text-link { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line); justify-content: space-between; }
.category { border: 1px solid #d9c9b3; background: #fffcf8; }
.cta-section {
  background-color: #ede3d4; background-image: var(--arch-pattern),radial-gradient(ellipse at 0 0,#faf7ef,transparent 80%);
  background-position: left center,center; background-size: 1300px auto,cover; background-repeat: no-repeat;
  border-block: 1px solid #d6c4aa;
}
.cta-layout { gap: 70px; }
.cta-copy > p:not(.eyebrow) { max-width: 470px; }
.contact-line > .line-icon { border-color: #cdb697; background: #fffcf780; }
.consult-form { border-color: #cdb89b; border-radius: 10px; box-shadow: 0 20px 60px #58452612; }
.form-grid input,.form-grid textarea { background: #fdfbf7; border-color: #ded4c6; }
.form-note { color: #74716a; }
.site-footer {
  --muted: #bbc6c6; --line: #dbc2a030;
  background-color: #1d292b; color: #f3eee5; background-image: var(--arch-pattern);
  background-position: right center; background-size: 1000px auto; background-repeat: no-repeat;
}
.footer-top .eyebrow,.footer-phone > span,.footer-grid li .line-icon,.copyright a span { color: var(--champagne); }
.footer-grid h3 { color: #e0c8a4; }
.company-footer img { width: 205px; height: 64px; padding: 10px 12px; border-radius: 6px; background: #fff; }
.footer-grid a:hover { color: #fff; }
.copyright a { color: #e3caa7; }
.article-page { background: linear-gradient(120deg,#fffcf8,#f3eee5); }
.article-aside,.article-toc { border-color: #dacbb5; box-shadow: 0 8px 25px #372d1805; }
.prose { color: #354043; }
.search-dialog { background: #fffcf8; border: 1px solid #cbb89a; }
.service-details { margin-top: auto; border-top: 1px solid var(--line); }
.service-details summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-top: 17px; cursor: pointer; list-style: none; font-size: 12px; font-weight: 600; }
.service-details summary::-webkit-details-marker { display: none; }
.service-details summary > span { color: var(--red); font-size: 24px; font-weight: 400; line-height: 1; }
.service-details[open] summary > span { transform: rotate(45deg); }
.service-details summary:focus-visible { outline: 3px solid #f2989b; outline-offset: 4px; }
.service-detail-body { margin-top: 17px; border-top: 1px solid var(--line); padding-top: 17px; font-size: 13px; color: var(--muted); }
.service-detail-body p { font-size: 13px; line-height: 1.85; margin: 0 0 14px; }
.service-detail-body ul { padding-left: 19px; margin: 0 0 17px; }
.service-detail-body li { margin-block: 8px; }
.service-detail-body .text-link { padding-top: 5px; color: var(--ink); font-size: 12px; gap: 10px; }
.content-source { display: block; margin-top: 18px; font-size: 10px; color: #77674f; }
.content-source:hover { text-decoration: underline; }
.service-card { scroll-margin-top: 110px; align-self: start; }
.service-content { min-height: 255px; }
.service-guide { display: flex; flex-direction: column; justify-content: center; align-self: start; min-height: 460px; padding: 32px; border: 1px solid #b89a73; border-radius: 9px; color: #fff; background: #233135 var(--arch-pattern) center / cover no-repeat; }
.service-guide > span { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #d6b99260; border-radius: 9px; color: var(--champagne); margin-bottom: 27px; }
.service-guide .eyebrow { color: var(--champagne); }
.service-guide h3 { font-family: var(--font-display); font-size: 29px; font-weight: 500; margin-block: 13px 18px; }
.service-guide > p:not(.eyebrow) { font-size: 14px; color: #c3cece; margin-bottom: 25px; }
.service-guide .button { align-self: start; }
.introduction-section { background: #fffcf8 var(--arch-pattern) right center / 1100px auto no-repeat; border-bottom: 1px solid var(--line); padding-block: 75px; }
.introduction-layout { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 75px; }
.introduction-visual { margin: 0; position: relative; padding-bottom: 55px; }
.introduction-visual > img { width: 100%; height: 430px; object-fit: cover; border: 1px solid #d9c7ac; border-radius: 150px 8px 8px 8px; }
.introduction-visual figcaption { position: absolute; bottom: 20px; left: 35px; right: 35px; display: flex; align-items: center; gap: 18px; padding: 25px; border: 1px solid #d9c5a8; border-radius: 7px; background: #fffdf7; box-shadow: 0 10px 35px #342f2214; }
.introduction-visual figcaption img { width: 35px; height: 43px; object-fit: contain; }
.introduction-visual figcaption > span { font-size: 20px; font-weight: 600; letter-spacing: 1px; }
.introduction-visual small { display: block; font-size: 9px; letter-spacing: 1.4px; margin-top: 3px; color: #786b55; }
.introduction-copy > h2 { font: 500 clamp(31px,3vw,42px)/1.25 var(--font-display); letter-spacing: -.7px; margin: 16px 0 23px; }
.introduction-lead { color: var(--muted); font-size: 15px; line-height: 1.85; margin-bottom: 22px; }
.introduction-prose h3 { font: 600 16px/1.5 var(--font-body); margin: 22px 0 8px; }
.introduction-prose { font-size: 14px; line-height: 1.8; color: var(--muted); }
.introduction-prose ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 25px; padding-left: 18px; margin-block: 12px 25px; }
.introduction-copy > .text-link { margin-top: 22px; }
.news-tools { display: grid; grid-template-columns: 1fr 280px; align-items: start; gap: 25px; margin-bottom: 18px; }
.news-categories,.search-scopes { display: flex; flex-wrap: wrap; gap: 8px; }
.news-categories button,.search-scopes button { padding: 9px 14px; min-height: 40px; border: 1px solid #d3c6b2; border-radius: 5px; color: #665d50; background: #fffdf9; font-size: 11px; line-height: 1.5; }
.news-categories button[aria-pressed=true],.search-scopes button[aria-pressed=true] { color: #fff; background: #233135; border-color: #233135; }
.news-search { display: flex; gap: 10px; align-items: center; min-height: 43px; background: #fff; border: 1px solid #d3c6b2; border-radius: 5px; padding: 0 13px; }
.news-search .line-icon { width: 17px; height: 17px; color: #8b7658; }
.news-search input { width: 100%; min-width: 0; border: 0; background: none; font-size: 12px; padding: 11px 0; color: var(--ink); }
.news-count { min-height: 20px; margin: 0 0 25px; font-size: 12px; color: var(--muted); }
.article-card[hidden] { display: none; }
.search-scopes { margin-top: 18px; }
.search-count { font-size: 11px; color: var(--muted); margin-top: 16px; }
.search-results > a p { font-size: 12px; margin-top: 8px; color: var(--muted); line-height: 1.8; }
.search-results strong { font-size: 15px; line-height: 1.6; }
@media(max-width:1100px) {
  .site-header nav { font-size: 12px; gap: 17px; }
  .trust-layout,.cta-layout { gap: 40px; }
  .advantage-card { padding: 19px; }
}
@media(max-width:800px) {
  .services,.testimonials,.process-section,.articles { padding-block: 55px; }
  .trust-layout,.cta-layout { gap: 32px; }
  .testimonials .section-heading > div { max-width: 620px; }
  .service-content,.article-content { padding: 23px; }
  .introduction-layout { gap: 35px; }
  .introduction-layout { grid-template-columns: 1fr; }
  .introduction-visual { max-width: 560px; }
  .introduction-visual > img { height: 430px; }
  .introduction-visual figcaption { left: 15px; right: 15px; padding: 20px; }
  .introduction-prose ul { grid-template-columns: 1fr; gap: 7px; }
  .news-tools { grid-template-columns: 1fr; gap: 17px; }
}
@media(max-width:520px) {
  .services,.testimonials,.process-section,.articles { padding-block: 42px; }
  .trust-section { padding-block: 46px; }
  .services,.testimonials,.process-section,.articles { background-size: 700px auto; background-position: center top; }
  .trust-section,.partners-section,.site-footer { background-size: 900px auto; }
  .advantage-card { padding: 21px; }
  .service-content,.article-content { padding: 22px; }
  .process-visual { box-shadow: 5px 5px 0 #e5d7c34d; }
  .process-step { padding: 21px 19px; }
  .reviews-invitation .text-link { margin-left: 0; }
  .partner-card { border-radius: 6px; }
  .partners-section .section-heading h2 { font-size: 31px; }
  .cta-section { padding-block: 45px; }
  .consult-form { padding: 25px 20px; }
  .footer-top { padding-top: 43px; }
  .copyright { line-height: 1.8; }
  .introduction-section { padding-block: 42px; }
  .introduction-layout { grid-template-columns: 1fr; gap: 25px; }
  .introduction-visual { padding-bottom: 30px; }
  .introduction-visual > img { height: 280px; border-top-left-radius: 90px; }
  .introduction-visual figcaption { bottom: 0; padding: 20px; }
  .introduction-copy > h2 { font-size: 31px; }
  .introduction-lead { font-size: 14px; }
  .service-card { scroll-margin-top: 90px; }
  .service-guide { padding: 27px; }
  .news-categories button,.search-scopes button { min-height: 44px; padding: 9px 11px; }
}
