/* DBI Prime / institutional fintech refinement */
:root{
  --ink:#0c202a;
  --ink-2:#16313b;
  --paper:#f7f9f6;
  --paper-2:#eaf0ec;
  --line:#cedbd4;
  --muted:#5b7074;
  --lime:#c8e674;
  --lime-deep:#a9c84e;
}

html{scroll-padding-top:82px}
.container{width:min(calc(100% - 72px),var(--max))}
.button{border-radius:6px;min-height:52px;padding:13px 20px;letter-spacing:-.01em}
.button:hover{transform:translateY(-1px)}
.text-link{font-size:13px;text-underline-offset:5px}

/* A compact, persistent path to the enquiry. */
.site-header{position:fixed;z-index:40;background:#0b202a;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 0 #ffffff18}
.utility{display:none}
.main-nav{height:76px;border-bottom:0}
.nav-inner{gap:34px}
.brand-mark{width:37px;height:37px;border-radius:3px;clip-path:none;padding-right:0;font-size:25px}
.brand-name strong{font-size:23px}
.nav-links{gap:29px}
.nav-links a{font-size:12px;color:#c5d2d1}
.nav-links a:hover,.nav-links a[aria-current=page]{color:#fff}
.nav-inner>.button{min-height:42px;padding:10px 18px;font-size:11px}
.mobile-menu-cta{display:none!important}

/* The first screen explains the actual matching model. */
.hero{min-height:0;padding-top:76px;background:#0a202b}
.hero:before{background:radial-gradient(circle at 78% 33%,#28515664,transparent 33%),linear-gradient(125deg,#0a202b 10%,#132e39 100%)}
.hero-grid{inset:0 0 0 50%;opacity:.12;background-size:52px 52px}
.hero-inner{grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);gap:clamp(38px,5vw,86px);min-height:640px}
.hero-copy{padding:94px 0 88px}
.hero h1{font-size:clamp(58px,6.1vw,86px);line-height:1.01;letter-spacing:-.078em;margin:26px 0 25px}
.hero h1 em,.page-hero h1 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:600;letter-spacing:inherit;color:var(--lime)}
.hero-lede{max-width:565px;color:#bed0d0;font-size:17px;line-height:1.7}
.hero-actions{margin-top:35px}
.hero-note{margin-top:54px;color:#b0c3c1}
.hero-bottom{background:#0b2430;border-top:1px solid #ffffff1b}
.hero-bottom .container{min-height:78px}
.hero-bottom ul{gap:0;margin-left:auto}
.hero-bottom li{display:flex;align-items:center;gap:12px;color:#d3dfda;font-size:11px}
.hero-bottom li+li:before{content:"";width:26px;height:1px;background:#7b9e93;margin:0 10px}

.flow-console{position:relative;align-self:center;min-width:0;margin:55px 0 48px;border:1px solid #5e80814f;border-radius:10px;background:linear-gradient(160deg,#17343e,#102833 75%);color:#e7f2ef;box-shadow:0 24px 65px #020e1566,0 0 0 1px #ffffff08 inset;overflow:hidden}
.flow-console:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#7d999020 1px,transparent 1px),linear-gradient(#7d999020 1px,transparent 1px);background-size:37px 37px;mask-image:linear-gradient(110deg,transparent 15%,#0009 100%)}
.flow-console-top,.flow-console-foot{position:relative;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 23px;font:500 9px 'DM Mono',monospace;letter-spacing:.075em;color:#92b0ac;text-transform:uppercase}
.flow-console-top{border-bottom:1px solid #69868335}
.flow-console-foot{border-top:1px solid #69868335;color:#779893}
.console-live{display:flex;align-items:center;gap:9px;color:#d2e8cc}
.console-live i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #bfe272}
.flow-console-body{position:relative;padding:30px 31px 31px}
.console-title-row{display:flex;align-items:center;gap:12px}
.console-index{color:var(--lime);font:500 10px 'DM Mono',monospace;letter-spacing:.09em}
.console-rule{height:1px;background:#74938b45;flex:1}
.flow-console h2{font-size:clamp(24px,2.7vw,34px);line-height:1.12;letter-spacing:-.06em;font-weight:600;margin:14px 0 5px}
.flow-console p{color:#a8bfbd;font-size:13px;line-height:1.6;margin:0}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#66878155;border:1px solid #66878155;margin-top:22px}
.profile-grid>div{background:#193842d9;padding:17px 13px 16px;min-height:78px}
.profile-grid small{display:block;color:#a9c698;font:500 9px 'DM Mono',monospace;letter-spacing:.08em;margin-bottom:10px}
.profile-grid strong{display:block;font-size:11px;line-height:1.35;font-weight:700;color:#e4f0e9}
.console-connector{display:flex;align-items:center;gap:13px;padding:17px 0;color:#7eaaa0;font:500 9px 'DM Mono',monospace;letter-spacing:.1em}
.connector-line{height:1px;flex:1;background:linear-gradient(90deg,#819f98,#a8d069)}
.connector-arrow{color:var(--lime);font-size:19px;line-height:1}
.criteria-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:17px 0 24px}
.criteria-grid span{display:block;text-align:center;padding:9px 3px;border:1px solid #78989075;border-radius:3px;background:#1b3e47b9;font-size:10px;font-weight:700;color:#d7e9df}
.console-outcome{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px;background:#c8e674;color:#18312d;border-radius:5px}
.console-outcome span{font:500 9px 'DM Mono',monospace;white-space:nowrap}
.console-outcome strong{font-size:12px;line-height:1.4}
.console-outcome b{font-size:18px;font-weight:400}

/* More disciplined section rhythm and quieter supporting cards. */
.section-head h2,.arch-copy h2,.cred-grid h2,.detail-content h2{letter-spacing:-.065em}
.provider-section{background:#edf2ee;padding:92px 0 74px}
.provider-band{border-color:#cbd9d0}
.provider-band+.provider-band{border-color:#cbd9d0}
.provider-logo-card{border-radius:6px}
.provider-marquee:focus-within .provider-track{animation-play-state:paused}
.intro-section{padding:105px 0 90px}
.services-section{padding-bottom:110px}
.service-row{min-height:133px}
.service-row:hover{background:#eaf0e9}
.audience-card{background:#17333d}
.audience-card:hover{background:#1e4148}
.arch-copy{background:#eaf0ec}
.arch-visual:before{background:linear-gradient(#607b7d1c 1px,transparent 1px),linear-gradient(90deg,#607b7d1c 1px,transparent 1px);background-size:44px 44px}
.architecture{scroll-margin-top:76px}
.cta-panel{background:#c8e674}
.site-footer{background:#091b23}

/* Subpages use the same visual language without the oversized empty hero. */
.page-hero{min-height:0;padding:166px 0 79px;background:#0a202b}
.page-hero:before{background:linear-gradient(115deg,#0a202b,#15343d)}
.page-hero:after{top:0;right:0;width:48%;height:100%;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#7d999027 1px,transparent 1px),linear-gradient(#7d999027 1px,transparent 1px);background-size:54px 54px;opacity:.42}
.page-hero h1{font-size:clamp(50px,6vw,82px);max-width:950px;letter-spacing:-.075em;margin:19px 0 22px}
.page-hero p{font-size:16px;line-height:1.65}
.subnav{top:76px}
.detail-section{scroll-margin-top:145px}
.client-card,.contact-card,.feature,.cred-item{border-radius:5px}

/* Contact: one clear primary route, with email as a fallback. */
.contact-layout{gap:70px;padding-top:82px}
.contact-card{background:#eaf0eb;border-color:#cbdad0;padding:33px;margin-top:34px}
.contact-card h3{font-size:25px;letter-spacing:-.045em;line-height:1.18;margin:16px 0 8px}
.contact-card p{font-size:13px;line-height:1.65;margin:0 0 22px}
.contact-card .button{margin-top:0}
.contact-alt{border-top:1px solid #c7d8cb;margin-top:27px;padding-top:18px}
.contact-alt span{display:block;color:#617a71;font:500 10px 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase}
.contact-card a.email{font-size:17px;margin:8px 0 0}
.contact-side{border:1px solid #315560;border-radius:6px;padding:39px;background:#102b36}
.contact-side h3{font-size:31px;max-width:340px;margin:21px 0 27px}
.contact-steps{list-style:none;margin:0;padding:0}
.contact-steps li{display:grid;grid-template-columns:35px 1fr;gap:14px;border-top:1px solid #48636a;padding:17px 0}
.contact-steps li>span{font:500 11px 'DM Mono',monospace;color:var(--lime)}
.contact-steps strong{display:block;color:#eaf2ec;font-size:13px}
.contact-steps p{font-size:11px;line-height:1.6;margin:6px 0 0;color:#a8bfbe}
.contact-side .rule{margin:20px 0}
.contact-side .small{line-height:1.7}
.contact-official{display:inline-block;color:#c8e674;font-size:11px;font-weight:700;margin-top:14px;border-bottom:1px solid #c8e674}

/* Make the multi-step form feel focused and maintain visible controls. */
.inquiry-dialog{border-radius:9px;border-color:#a9beb1}
.inquiry-top{background:#102b36}
.inquiry-progress span{border-color:#b7cbbd}
.inquiry-progress span.active{border-color:#8cb840}
.field-grid input,.field-grid select,.wide-label textarea{border-radius:5px;min-height:49px}
.check-grid label{border-radius:4px}
.inquiry-actions{position:sticky;bottom:-48px;background:linear-gradient(180deg,#f7f9f600,#f7f9f6 19%);padding-bottom:4px}

@media(max-width:1100px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(390px,.95fr);gap:28px}
  .hero h1{font-size:clamp(55px,6vw,72px)}
  .flow-console-body{padding:24px}
  .profile-grid>div{padding:13px 9px}
  .nav-links{gap:19px}
}

@media(max-width:800px){
  .container{width:min(calc(100% - 40px),var(--max))}
  .main-nav{height:72px}
  .nav-links.open{top:72px;bottom:auto;height:calc(100dvh - 72px);z-index:41;padding:20px 28px;background:#0b202a}
  .nav-links.open a{color:#eef3ed;font-size:18px}
  .nav-links.open .mobile-menu-cta{display:flex!important;justify-content:space-between;align-items:center;background:var(--lime);color:var(--ink);border:0;border-radius:5px;margin-top:21px;padding:16px 18px;font-weight:800}
  .hero{padding-top:72px}
  .hero-inner{display:block;min-height:0}
  .hero-copy{padding:91px 0 24px}
  .hero h1{font-size:clamp(56px,9vw,72px)}
  .hero-note{margin-top:45px}
  .flow-console{max-width:610px;margin:20px auto 55px}
  .hero-bottom ul{margin-left:0}
  .page-hero{padding:151px 0 72px}
  .page-hero h1{font-size:clamp(49px,8vw,70px)}
  .subnav{top:72px}
  .detail-section{scroll-margin-top:135px}
  .contact-layout{gap:36px}
}

@media(max-width:560px){
  .container{width:calc(100% - 36px)}
  .hero-copy{padding-top:84px}
  .hero h1{font-size:clamp(49px,13.2vw,61px)}
  .hero-lede{font-size:15px}
  .hero-bottom .container{padding:18px 0}
  .hero-bottom ul{display:grid;grid-template-columns:1fr;gap:9px}
  .hero-bottom li+li:before{width:14px;margin:0 1px 0 0}
  .flow-console{margin:16px auto 42px}
  .flow-console-top,.flow-console-foot{padding:12px 15px;font-size:7px}
  .flow-console-body{padding:21px 17px 19px}
  .flow-console h2{font-size:27px}
  .profile-grid{grid-template-columns:1fr}
  .profile-grid>div{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:0;padding:11px 12px}
  .profile-grid small{margin:0;font-size:7px}
  .profile-grid strong{text-align:right;font-size:9px}
  .criteria-grid{grid-template-columns:repeat(2,1fr)}
  .console-outcome{grid-template-columns:1fr auto;gap:7px;padding:14px}
  .console-outcome span{grid-column:1/-1}
  .console-outcome strong{font-size:11px}
  .console-outcome b{grid-column:2;grid-row:2}
  .provider-section{padding-top:74px}
  .page-hero{padding:146px 0 62px}
  .page-hero h1{font-size:clamp(43px,11vw,56px)}
  .contact-card,.contact-side{padding:25px}
  .contact-card h3{font-size:23px}
  .contact-side h3{font-size:27px}
  .inquiry-actions{bottom:-30px}
}

@media(prefers-reduced-motion:reduce){.flow-console,.flow-console *{animation:none!important}}
