/* Fintegral's original visual identity, with quieter lighting and motion. */
:root { --fin-ease: cubic-bezier(.22,1,.36,1); }
#main {
  background: radial-gradient(ellipse 80% 760px at 90% 1%,rgba(213,205,187,.25),transparent 76%),
    radial-gradient(ellipse 70% 1000px at 2% 31%,rgba(228,216,190,.25),transparent 75%),#f7f5ef !important;
}
#top::after {
  content:""; position:absolute; z-index:2; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 48% 62% at var(--fin-light-x,78%) var(--fin-light-y,28%),rgba(225,196,149,.09),transparent 76%);
}
#hero-title { text-shadow:0 4px 28px rgba(0,9,23,.18); }
#hero-title > span:last-child {
  background:linear-gradient(115deg,#eddfc7 0%,#d3bb8e 48%,#b69968 100%);
  background-clip:text; -webkit-background-clip:text; color:transparent !important;
}
#top nav[aria-label="Primary"] {
  background:linear-gradient(112deg,rgba(249,245,235,.98),rgba(235,228,213,.92) 58%,rgba(215,206,187,.95)) !important;
  box-shadow:0 18px 58px rgba(0,14,31,.32),0 3px 10px rgba(0,14,31,.12),inset 0 1px 0 #fff,inset 0 -1px 0 rgba(50,113,131,.13) !important;
}
#top [data-menu] { position:relative; transition:color .28s ease,background .28s ease !important; }
#top [data-menu]::after {
  content:""; position:absolute; bottom:4px; height:1px; left:13px; right:13px;
  background:#92764b; transform:scaleX(0); transform-origin:left; transition:transform .38s var(--fin-ease);
}
#top [data-menu]:hover::after,#top [data-menu][aria-expanded="true"]::after { transform:scaleX(1); }
#top [data-menu] svg { transition:transform .4s var(--fin-ease); }
#top [data-menu][aria-expanded="true"] svg { transform:rotate(180deg); }
#top [role="group"] {
  background:linear-gradient(140deg,#fff,#f9f6ef) !important;
  animation:fin-panel-in .48s var(--fin-ease);
  box-shadow:0 32px 90px rgba(0,15,34,.32),inset 0 1px 0 #fff !important;
}
#hero-actions > a:first-child {
  background:linear-gradient(120deg,#f5efe2,#e5d7bd) !important;
  box-shadow:0 10px 30px rgba(1,17,30,.18),inset 0 1px 0 rgba(255,255,255,.95);
}
#hero-actions > a:last-child { background:linear-gradient(130deg,#08263b,#041226) !important; }
#hero-actions > a, #intelligence a {
  transition:transform .38s var(--fin-ease),box-shadow .38s ease,background .3s ease,border-color .3s ease !important;
}
#hero-actions > a:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(0,10,23,.28),inset 0 1px 0 rgba(255,255,255,.2); }
#hero-actions > a:active,#hero-preview:active { transform:translateY(0) scale(.985) !important; }
#hero-preview {
  background:linear-gradient(122deg,rgba(20,63,84,.76),rgba(3,20,38,.72)) !important;
  box-shadow:0 18px 48px rgba(0,9,22,.36),inset 0 1px 0 rgba(255,246,226,.14) !important;
}
#hero-preview:hover { box-shadow:0 25px 58px rgba(0,9,22,.48),0 0 24px rgba(211,187,142,.07),inset 0 1px 0 rgba(255,246,226,.24) !important; }
#hero-irs-credential { border-top:0; position:relative; }
#hero-irs-credential::before {
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,rgba(188,228,232,.37),rgba(188,228,232,.08));
}
#products article,#photos article {
  box-shadow:0 30px 66px -18px rgba(4,29,53,.3),0 7px 20px -6px rgba(4,29,53,.12),inset 0 1px 0 rgba(255,255,255,.55) !important;
}
#products > div > article {
  background:linear-gradient(145deg,#fff 25%,#f9f6ef) !important;
  border-color:rgba(80,122,147,.13) !important;
}
#products article::after,#photos article::after {
  content:""; position:absolute; pointer-events:none; z-index:5; inset:0; border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,250,235,.55),inset 0 0 0 1px rgba(228,221,206,.12);
}
#borrower-file-visual {
  background:radial-gradient(ellipse at 93% 4%,rgba(185,150,93,.3),transparent 61%),linear-gradient(142deg,#08314e,#04162c 75%) !important;
}
#borrower-file-visual > div:nth-child(2) {
  background:linear-gradient(135deg,#fff,#faf7ef 80%) !important;
  box-shadow:0 24px 52px rgba(0,9,23,.34),0 3px 8px rgba(0,9,23,.18),inset 0 1px 0 #fff !important;
}
#borrower-file-visual > div:last-child {
  background:linear-gradient(120deg,rgba(13,42,59,.7),rgba(4,22,44,.7)) !important;
  backdrop-filter:blur(18px); box-shadow:inset 0 1px 0 rgba(255,246,226,.07);
}
.borrower-evidence-row { transition:background .4s ease; }
.borrower-evidence-row:hover { background:rgba(237,226,204,.17); }
#voice-languages {
  background:linear-gradient(140deg,rgba(255,255,255,.86),rgba(255,252,245,.74)) !important;
  box-shadow:0 14px 38px -20px rgba(14,42,65,.26),inset 0 1px 0 #fff;
}
#voice-languages button { transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s var(--fin-ease) !important; }
#voice-languages button:hover { transform:translateY(-2px); box-shadow:0 5px 12px rgba(15,44,63,.12); }
#voice-response {
  background:linear-gradient(132deg,rgba(255,255,255,.98),rgba(250,247,239,.97)) !important;
  box-shadow:0 38px 90px -18px rgba(1,22,40,.3),0 8px 24px -8px rgba(1,22,40,.12),inset 0 1px 0 #fff !important;
}
#voice-question { box-shadow:0 20px 50px rgba(1,15,34,.25),inset 0 1px 0 #fff !important; }
#voice-question,#voice-verdict { animation-timing-function:var(--fin-ease) !important; }
@keyframes fin-beatA { from { opacity:0; transform:translateY(12px); filter:blur(5px); } to { opacity:1; transform:none; filter:blur(0); } }
@keyframes fin-beatB { from { opacity:0; transform:translateY(12px); filter:blur(5px); } to { opacity:1; transform:none; filter:blur(0); } }
@keyframes fin-panel-in { from { opacity:0; transform:translateY(-8px) scale(.985); filter:blur(4px); } to { opacity:1; transform:none; filter:blur(0); } }
.fin-motion-paused [style*="infinite"] { animation-play-state:paused !important; }

/* An airy photographic scene, with one path from permission to evidence. */
#verification-journey { padding:clamp(48px,6vw,86px) 0; }
.journey-container { width:min(calc(100% - 48px),1180px); margin:0 auto; }
.journey-heading { margin-bottom:34px; }
.journey-eyebrow { margin:0 0 18px; color:#5b7386; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
#journey-title { margin:0; color:#0b1b2e; font-size:clamp(32px,3.7vw,52px); font-weight:600; letter-spacing:-.04em; line-height:1.1; text-wrap:balance; }
.journey-summary { margin:17px 0 0; color:#5b7285; font-size:15px; line-height:1.6; }
#verification-journey-board { position:relative; isolation:isolate; overflow:hidden; border-radius:30px; border:1px solid rgba(255,255,255,.85); background:#eeece4; box-shadow:0 32px 70px -36px rgba(25,68,92,.28),0 5px 17px -9px rgba(36,77,99,.12),inset 0 1px 0 #fff; }
.journey-photograph { position:absolute; z-index:0; inset:0 auto 0 0; width:46%; height:100%; object-fit:cover; object-position:50% 54%; transform:translateY(var(--journey-photo-y,0px)) scale(1.045); mask-image:linear-gradient(90deg,#000 0%,#000 47%,transparent 100%); }
.journey-light { position:absolute; z-index:1; inset:0; pointer-events:none; background:radial-gradient(ellipse 65% 125% at 89% 5%,rgba(255,255,255,.95),transparent 80%),radial-gradient(ellipse at 52% 90%,rgba(226,214,189,.43),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.06) 45%,rgba(250,246,236,.8)); }
.journey-flow { position:absolute; z-index:1; width:100%; height:calc(100% - 70px); inset:0; overflow:visible; pointer-events:none; }
.journey-flow path { fill:none; stroke:url(#journey-line-light); stroke-width:1.2; }
.journey-flow .journey-line-soft { stroke-width:14; opacity:.08; }
.journey-flow .journey-line { opacity:.65; stroke-dasharray:8 9; animation:journey-flow 9s linear infinite; }
.journey-flow .journey-line-lower { opacity:.24; }
.journey-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; position:relative; z-index:2; padding:0 30px; margin:0; list-style:none; }
.journey-stage { min-width:0; position:relative; }
.journey-scene { position:relative; height:350px; display:flex; align-items:center; justify-content:center; padding:0 18px; }
#verification-journey svg:not(.journey-flow) { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.journey-permission { position:absolute; bottom:42px; left:15px; display:flex; align-items:center; gap:12px; padding:15px 18px; border:1px solid rgba(255,255,255,.94); border-radius:17px; background:linear-gradient(130deg,rgba(255,255,255,.97),rgba(250,247,239,.92)); backdrop-filter:blur(15px); box-shadow:0 16px 34px -9px rgba(22,45,56,.26),inset 0 1px 0 #fff; }
.journey-check { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#80623b; background:#f0e7d5; flex:none; }
.journey-permission strong { display:block; font-size:12px; color:#16364a; font-weight:600; }
.journey-permission small { display:block; margin-top:5px; color:#648092; font-size:10px; }
.journey-connection { flex-direction:column; }
.journey-source-hub { position:relative; width:190px; height:166px; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid rgba(255,255,255,.9); border-radius:26px; background:linear-gradient(140deg,rgba(255,255,255,.93),rgba(249,245,235,.79)); backdrop-filter:blur(20px); box-shadow:0 20px 50px -16px rgba(61,116,136,.24),inset 0 2px 0 #fff; }
.journey-integral { position:relative; display:grid; place-items:center; width:54px; height:54px; margin-bottom:15px; border-radius:16px; color:#8b6c3c; background:linear-gradient(130deg,#f7f0e1,#e7d8bc); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 7px 17px -6px rgba(140,108,59,.15); font-family:Georgia,serif; font-size:36px; }
.journey-source-hub strong { color:#244459; font-size:11px; font-weight:600; letter-spacing:.14em; }
.journey-source-hub small { color:#7591a1; font-size:10px; margin-top:7px; }
.journey-source-labels { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:20px; }
.journey-source-labels > span { display:inline-flex; align-items:center; padding:7px 10px; color:#557586; font-size:10px; border:1px solid rgba(255,255,255,.8); border-radius:999px; background:rgba(255,255,255,.55); box-shadow:0 4px 10px -6px rgba(33,80,98,.15); }
.journey-file { width:100%; max-width:284px; padding:21px 22px 17px; box-sizing:border-box; border:1px solid #fff; border-radius:20px; background:linear-gradient(132deg,#fff,#fcfaf5); box-shadow:0 30px 56px -22px rgba(51,93,117,.34),0 7px 20px -10px rgba(51,93,117,.14),inset 0 1px 0 #fff; transform:rotate(-2deg); }
.journey-file-heading { display:flex; align-items:center; gap:8px; padding-bottom:16px; color:#647e90; font-size:10px; }
.journey-file-heading svg { width:15px !important; height:15px !important; color:#8d744c; }
.journey-file-heading > i { width:5px; height:5px; margin-left:auto; border-radius:50%; background:#b69a66; box-shadow:0 0 0 4px #f4efdf; }
.journey-file-result { border-top:1px solid #e5edf1; padding:14px 0; }
.journey-file-result > span { display:block; color:#678395; font-size:10px; }
.journey-file-result > strong { display:block; color:#17384c; margin-top:6px; font-size:27px; font-weight:500; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.journey-file-result strong small { color:#859aa7; font-size:12px; letter-spacing:0; font-weight:400; }
.journey-file-evidence { display:flex; align-items:center; gap:7px; padding-top:10px; border-top:1px solid #e5edf1; font-size:9px; color:#887451; }
.journey-file-evidence .journey-check { width:17px; height:17px; }
.journey-file-evidence svg { width:11px !important; height:11px !important; }
.journey-caption { display:flex; align-items:center; gap:13px; height:78px; box-sizing:border-box; padding:0 18px 8px; }
.journey-caption > span { display:grid; place-items:center; width:26px; height:26px; flex:none; border-radius:50%; border:1px solid rgba(75,126,143,.2); background:rgba(255,255,255,.55); color:#658897; font-size:9px; }
.journey-caption h3 { margin:0; color:#183c51; font-size:17px; line-height:1.3; font-weight:500; letter-spacing:-.02em; }
.journey-footnote { margin:18px 0 0; text-align:right; color:#8599a6; font-size:10px; line-height:1.6; }
.fin-motion-paused .journey-line { animation-play-state:paused; }
@keyframes journey-flow { to { stroke-dashoffset:-170; } }
@media(max-width:960px) and (min-width:701px) {
  .journey-steps { padding-inline:18px; }
  .journey-scene { padding-inline:9px; height:315px; }
  .journey-permission { left:0; padding:12px; gap:8px; }
  .journey-permission strong { font-size:10px; }
  .journey-permission small { font-size:9px; }
  .journey-source-hub { width:170px; }
  .journey-source-labels { gap:5px; }
  .journey-source-labels > span { font-size:9px; padding:6px 7px; }
  .journey-file { padding:17px 16px; }
  .journey-file-result > strong { font-size:24px; }
  .journey-caption { padding-inline:9px; gap:8px; }
  .journey-caption h3 { font-size:14px; }
}
@media(max-width:700px) {
  .journey-container { width:calc(100% - 40px); }
  #journey-title { max-width:380px; }
  .journey-summary { font-size:14px; }
  #verification-journey-board { border-radius:26px; }
  .journey-photograph { width:100%; height:400px; object-position:50% 53%; mask-image:linear-gradient(#000 0%,#000 46%,transparent 100%); }
  .journey-light { background:radial-gradient(ellipse at 90% 60%,rgba(255,255,255,.88),transparent 75%),linear-gradient(180deg,transparent 12%,rgba(245,240,228,.45) 35%,rgba(239,233,218,.9) 80%); }
  .journey-flow { display:none; }
  .journey-steps { grid-template-columns:1fr; padding:0 22px; }
  .journey-stage + .journey-stage { border-top:1px solid rgba(102,154,172,.16); }
  .journey-scene { height:272px; padding-inline:8px; }
  .journey-borrower { height:275px; }
  .journey-permission { left:8px; bottom:18px; }
  .journey-connection { height:250px; }
  .journey-source-hub { width:190px; height:156px; }
  .journey-source-labels { margin-top:14px; }
  .journey-review { height:315px; }
  .journey-file { max-width:282px; }
  .journey-caption { height:62px; padding:0 8px 10px; }
  .journey-caption h3 { font-size:17px; }
  .journey-footnote { text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  #top *,#main * { animation:none !important; transition:none !important; }
}
/* Balance the full navigation beside the two-line product attribution. */
@media(min-width:861px) and (max-width:1200px){
  #top nav[aria-label="Primary"]{gap:16px!important;padding-left:22px!important}
  #top nav[aria-label="Primary"]>div:first-of-type{gap:5px!important;font-size:13.5px!important}
  #top nav[aria-label="Primary"] [data-menu]{padding-inline:10px!important}
}
