/* FINONE — GRAPHITE & EMERALD CORPORATE IDENTITY (LAYOUT RESTORED) */
:root{
  /* Graphite / Charcoal Base - Replaces all Navy/Blue */
  --navy:#12181A; --navy-deep:#0B0F10; --navy-mid:#3C3C3C;
  
  /* Corporate Emerald - Replaces all Gold/Yellow */
  --gold:#0E8C74; --gold-lt:#5FD9BE; --gold-dk:#0B6E5C; 
  --gold-pale:rgba(14,140,116,.08); --gold-soft:rgba(14,140,116,.15);
  --gold-metal:linear-gradient(120deg,#0B6E5C 0%,#5FD9BE 18%,#D1FAE5 32%,#0E8C74 46%,#A7F3D0 58%,#065F46 72%,#34D399 86%,#0B6E5C 100%);
  
  /* Clean Backgrounds */
  --cream:#FFFFFF; --cream-dk:#F9FAFB; --cream-md:#F3F4F6;
  --ink:#111827; --slate:#4B5563; --muted:#6B7280;
  --line:#E5E7EB; --line-dk:#D1D5DB;
  
  /* Premium Corporate Fonts */
  --ff-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --ff-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  
  --w:1180px; --ease:cubic-bezier(.4,0,.2,1); --spring:cubic-bezier(.22,1,.36,1);
  
  /* Soft, Diffused Shadows (Eliminates the "Matchbox" Look) */
  --sh-xs:0 4px 12px rgba(18,24,26,.04); 
  --sh-sm:0 10px 30px -5px rgba(18,24,26,.06);
  --sh-md:0 20px 40px -8px rgba(18,24,26,.08); 
  --sh-lg:0 30px 60px -12px rgba(18,24,26,.12);
  --sh-gold:0 8px 28px rgba(5,150,105,.25);
  
  --teal:var(--navy);--teal-lt:var(--navy-mid);
  --teal-soft:rgba(249,250,251,.55);--teal-pale:var(--cream-dk);
  --stone:var(--cream-dk);--paper:var(--cream);
  --ff-d:var(--ff-serif);--ff-b:var(--ff-sans);--ff-m:var(--ff-sans);
  --ink-2:var(--slate);--ink-3:var(--muted);
  --sh:var(--sh-md);--navy-md:var(--navy-mid);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-sans);background:var(--cream);color:var(--ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;font-weight:400;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px;width:100%}
section,footer{overflow-x:clip}
header{overflow:visible}
::selection{background:rgba(5,150,105,.22);color:var(--navy)}
h1{font-family:var(--ff-serif);font-weight:700;line-height:1.14;letter-spacing:-.02em}
h2{font-family:var(--ff-sans);font-weight:700;line-height:1.2;letter-spacing:-.02em}
h3,h4{font-family:var(--ff-sans);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.eyebrow{font-family:var(--ff-sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);font-weight:600;display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:'';display:block;width:16px;height:2px;background:var(--gold);flex-shrink:0;border-radius:2px}
.section{padding:100px 0}
.section.alt{background:var(--cream-dk)}
.section.md{background:var(--cream-md)}
.section.navy{background:var(--navy);color:#FFFFFF}
.sec-head{text-align:center;max-width:620px;margin:0 auto 60px}
.sec-head .eyebrow{justify-content:center;margin-bottom:18px}
.sec-head .eyebrow::before{display:none}
.sec-head h2{font-size:clamp(28px,3.6vw,44px);color:var(--navy)}
.section.navy .sec-head h2{color:#FFFFFF}
.sec-head p{font-size:16px;color:var(--slate);margin-top:14px;line-height:1.75}
.section.navy .sec-head p{color:rgba(255,255,255,.7)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--spring),transform .7s var(--spring)}
.reveal.in{opacity:1;transform:none}

header{position:fixed;top:0;left:0;right:0;z-index:200;transition:background .4s var(--ease),box-shadow .4s var(--ease);background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line),0 6px 24px rgba(18,24,26,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;transition:height .3s var(--ease)}
header.scrolled .nav{height:68px}
.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}
.brand-tx{display:flex;flex-direction:column;justify-content:center;gap:4px}
.brand-nav-icon-light{display:none}
.brand-nav-icon-dark{display:block}
.brand-nav-icon-light svg,.brand-nav-icon-dark svg{height:30px;width:auto;display:block}
.brand-tx .n{font-family:var(--ff-serif);font-size:25px;font-weight:700;color:var(--navy);line-height:1;letter-spacing:-.01em}
.brand-tx .n span{color:var(--gold)}
.brand-tx .s{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-weight:600}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--slate);padding:9px 14px;border-radius:6px;transition:color .2s,background .2s;position:relative}
.nav-links a:not(.nav-cta):not(.nav-login):hover{color:var(--navy);background:var(--cream-dk)}
.nav-links a.current{color:var(--navy); font-weight:600;}
.nav-links a.current::after{content:'';position:absolute;bottom:3px;left:14px;right:14px;height:2px;background:var(--gold);border-radius:2px}
.nav-login{display:inline-flex;align-items:center;gap:7px;color:var(--navy)!important;padding:8px 16px!important;border:1px solid var(--line-dk);border-radius:7px;font-size:13px!important;font-weight:600!important;transition:all .2s; background:var(--cream-dk);}
.nav-login:hover{border-color:var(--navy);background:var(--line)!important}
.nav-login svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff!important;padding:10px 22px!important;border-radius:7px;font-size:13.5px!important;font-weight:600!important;letter-spacing:.01em;box-shadow:0 6px 20px rgba(18,24,26,.15);transition:transform .2s,box-shadow .2s;border:none;margin-left:6px;position:relative;overflow:hidden}
.nav-cta::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.14),transparent 65%);transform:translateX(-100%);transition:transform .5s var(--ease)}
.nav-cta:hover{transform:translateY(-1px);background:var(--navy-mid);box-shadow:0 10px 26px rgba(18,24,26,.25)}
.nav-cta:hover::after{transform:translateX(100%)}
.nav-cta .cta-ico{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:201}
.burger span{width:22px;height:1.5px;background:var(--navy);transition:.3s;display:block;border-radius:2px}
.burger.open span:first-child{transform:rotate(45deg) translate(4.5px,4.5px)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:last-child{transform:rotate(-45deg) translate(4.5px,-4.5px)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:var(--ff-sans);letter-spacing:.01em;transition:all .2s var(--ease);white-space:nowrap}
.btn-gold{position:relative;background:linear-gradient(120deg,#0B6E5C 0%,#5FD9BE 22%,#A7F3D0 40%,#0E8C74 58%,#34D399 78%,#0B6E5C 100%);background-size:220% 100%;background-position:0% 0;color:#FFFFFF;overflow:hidden}
.btn-gold:hover{background-position:100% 0;transform:translateY(-1px);box-shadow:var(--sh-gold)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:0 10px 24px rgba(18,24,26,.2)}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--line-dk)}
.btn-outline:hover{background:var(--cream-dk);border-color:var(--navy)}
.btn-ghost{background:transparent;color:#FFFFFF;border:1.5px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}
.btn-sm{padding:9px 20px;font-size:13px}
.btn-teal{position:relative;background:linear-gradient(120deg,#0B6E5C 0%,#5FD9BE 22%,#D1FAE5 40%,#0E8C74 58%,#34D399 78%,#0B6E5C 100%);background-size:220% 100%;background-position:0% 0;color:#FFFFFF;overflow:hidden}
.btn-teal:hover{background-position:100% 0;transform:translateY(-1px);box-shadow:var(--sh-gold)}
.btn-out{background:transparent;color:var(--navy);border:1.5px solid var(--line-dk)}
.btn-out:hover{background:var(--cream-dk);border-color:var(--navy)}

.hero{position:relative;min-height:100vh;background:var(--cream);display:flex;flex-direction:column;overflow:hidden}
.hero-wash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 70% 20%,rgba(5,150,105,.04) 0%,transparent 70%),radial-gradient(ellipse 60% 80% at 20% 80%,rgba(18,24,26,.03) 0%,transparent 65%)}
.hero-dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(18,24,26,.05) 1px,transparent 1px);background-size:32px 32px;opacity:.55}
.hero-weave{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(-45deg,rgba(5,150,105,.02) 0,rgba(5,150,105,.02) 1px,transparent 1px,transparent 52px);}
/* signature suspension-bridge motif — "your bridge to the right loan" */
.hero-body>.wrap{position:relative;z-index:1}
.hero-bridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(30vh,240px);z-index:0;pointer-events:none;opacity:1;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(to top,#000 42%,transparent 90%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(to top,#000 42%,transparent 90%);}
.hero-bridge path{vector-effect:non-scaling-stroke;stroke-linecap:round}
.hero-bridge .hb-deck{stroke:var(--navy);stroke-width:1.5;opacity:.16}
.hero-bridge .hb-deck-2{stroke:var(--navy);stroke-width:.9;opacity:.09}
.hero-bridge .hb-cable{stroke:var(--gold);stroke-width:1.6;opacity:.42}
.hero-bridge .hb-tower{stroke:var(--navy);stroke-width:1.4;opacity:.18}
.hero-bridge .hb-tower-cap{stroke:var(--navy);stroke-width:1.4;opacity:.18}
.hero-bridge .hb-susp{stroke:var(--navy);stroke-width:.9;opacity:.10}
.hero-bridge .hb-spark{fill:var(--gold);filter:drop-shadow(0 0 6px rgba(14,140,116,.8));animation:hbCross 8s linear infinite}
@keyframes hbCross{0%{transform:translateX(-12px);opacity:0}6%{opacity:1}94%{opacity:1}100%{transform:translateX(1212px);opacity:0}}
.hero-lead{color:var(--navy);font-weight:600}
@media(prefers-reduced-motion:reduce){.hero-bridge .hb-spark{animation:none;opacity:0}}
.hero-body{flex:1;display:flex;align-items:center;padding:110px 0 0;position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:center;padding-bottom:48px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--slate)}
.hero-eyebrow::before{content:'';display:block;width:24px;height:1.5px;background:var(--gold)}
.hero-h1-wrap{position:relative;min-height:calc(clamp(32px,4.6vw,58px)*2.3);perspective:900px}
.hero-normal-title{font-size:clamp(32px,4.6vw,58px);color:var(--navy);font-weight:700;letter-spacing:-.025em;transition:opacity .5s var(--ease),transform .5s var(--ease),filter .5s var(--ease)}
.hero-normal-title.hide-for-brand{opacity:0;transform:scale(1.05) translateY(-5px);filter:blur(4px);pointer-events:none}
.hero-normal-title .rot{color:var(--gold);font-style:italic}
.hero-brand-title{position:absolute;top:0;left:0;width:100%;font-size:clamp(36px,5vw,64px);font-family:var(--ff-serif);font-weight:700;font-style:italic;color:var(--navy);letter-spacing:-.025em;opacity:0;transform:scale(.55);filter:blur(16px);pointer-events:none;transition:opacity .65s var(--ease),transform .65s var(--spring),filter .65s var(--ease);transform-origin:left center;white-space:nowrap}
.hero-brand-title .rot{color:var(--gold)}
.hero-brand-title.brand-enter{opacity:1;transform:scale(1);filter:blur(0)}
.hero-brand-title.brand-exit{opacity:0;transform:scale(1.1);filter:blur(8px);transition-duration:.4s}
.hero-sub{font-size:17px;color:var(--slate);margin-top:22px;max-width:500px;font-weight:400;line-height:1.78}
.hero-cta-row{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero-pills{display:flex;gap:9px;margin-top:28px;flex-wrap:wrap}
.hero-pill{display:inline-flex;align-items:center;gap:6px;background:var(--cream-dk);border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:11.5px;color:var(--slate);font-weight:500;}
.hero-pill b{color:var(--navy);font-weight:700}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--sh-lg)}
.hero-card-featured{position:relative;padding:36px 32px;border:none;box-shadow:var(--sh-lg)}
.hero-card-featured::before{content:'';position:absolute;inset:-1.5px;border-radius:21px;padding:1.5px;background:linear-gradient(135deg,var(--gold),transparent 40%,transparent 60%,var(--navy-mid));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.3}
.hero-card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.hero-card-top h3{font-size:17px;color:var(--navy);font-family:var(--ff-sans);font-weight:600;line-height:1.2}
.hero-card-top p{font-size:11.5px;color:var(--muted);margin-top:2px}
.hero-card-icon{width:40px;height:40px;background:var(--gold-pale);border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hero-card-icon svg{stroke:var(--gold);fill:none;stroke-width:2;width:20px;height:20px}
.hf{margin-bottom:13px}
.hf label{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);display:block;margin-bottom:6px;font-weight:600}
.hf input,.hf select{width:100%;border:1px solid var(--line-dk);border-radius:9px;padding:11px 14px;font-size:13.5px;font-family:var(--ff-sans);color:var(--ink);background:var(--cream);outline:none;transition:.18s;appearance:none;font-weight:400}
.hf select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234B5563' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.hf input::placeholder{color:var(--muted)}
.hf input:focus,.hf select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(5,150,105,.12);background:#fff}

.stat-strip{background:var(--navy);border-top:none;position:relative;overflow:hidden}
.stat-strip::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.6;
  background-image:
    repeating-linear-gradient(58deg,rgba(255,255,255,.022) 0,rgba(255,255,255,.022) 1px,transparent 1px,transparent 8px),
    repeating-linear-gradient(-58deg,rgba(95,217,190,.03) 0,rgba(95,217,190,.03) 1px,transparent 1px,transparent 10px);
  -webkit-mask-image:radial-gradient(ellipse 90% 120% at 50% 50%,#000 40%,transparent 100%);
  mask-image:radial-gradient(ellipse 90% 120% at 50% 50%,#000 40%,transparent 100%)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}
.stat{padding:34px 28px;text-align:center;border-right:1px solid rgba(255,255,255,.06);position:relative}
.stat:last-child{border-right:none}
.stat::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:3px;background:var(--gold);border-radius:0 0 2px 2px}
.stat .v{font-family:var(--ff-serif);font-size:clamp(30px,3.8vw,42px);font-weight:700;color:#FFFFFF;line-height:1}
.stat .v span{color:var(--gold)}
.stat .l{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:10px;font-weight:600}

.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
/* Second row now carries four cards (Project Funding joined LAP, CGTMSE and
   Heavy Machinery), so it matches row one: 4 columns at full width. It was
   3 columns capped at 75% — sized for exactly three cards — which pushed the
   fourth onto a row of its own. */
.prod-grid-row2{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.pcard{background:#fff;border:none;border-radius:16px;padding:28px 24px;transition:transform .25s var(--spring),box-shadow .25s var(--ease);position:relative;overflow:hidden;scroll-margin-top:100px; box-shadow:var(--sh-sm);}
.pcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--spring)}
.pcard:hover::before{transform:scaleX(1)}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);}
.pcard .tagline{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);background:var(--cream-dk);padding:3px 10px;border-radius:99px;display:inline-block;margin-bottom:18px}
.pcard .pico{width:50px;height:50px;margin-bottom:16px;background:var(--cream-md);border-radius:14px;display:flex;align-items:center;justify-content:center}
.pcard .pico svg{width:26px;height:26px;stroke:var(--navy);fill:none;stroke-width:1.5}
.pcard h3{font-size:19px;color:var(--navy);font-weight:700; font-family: var(--ff-serif);}
.pcard p{font-size:13px;color:var(--slate);margin-top:8px;min-height:36px;line-height:1.65}
.pcard .applylink{font-size:12.5px;font-weight:600;color:var(--navy);margin-top:18px;display:inline-flex;align-items:center;gap:5px;border-bottom:1px solid transparent;transition:all .2s}
.pcard:hover .applylink{gap:9px;color:var(--gold);}

.frow{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px}
.frow:last-child{margin-bottom:0}
.frow.rev .ftext{order:2}
.ftext .eyebrow{margin-bottom:14px}
.ftext h2{font-size:clamp(24px,2.8vw,34px);color:var(--navy);margin-top:10px;margin-bottom:16px}
.ftext>p{font-size:15px;color:var(--slate);line-height:1.8}
.flist{list-style:none;margin-top:18px}
.flist li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:14px;color:var(--ink);border-bottom:1px solid var(--line)}
.flist li:last-child{border-bottom:none}
.flist li::before{content:'';width:18px;height:18px;flex-shrink:0;margin-top:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' stroke='%23059669' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.fcard.navybg .flist li::before,.fcard.tealbg .flist li::before,.section.navy .flist li::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' stroke='%23FFFFFF' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

.fcard{background:#fff;border:none;border-radius:18px;box-shadow:var(--sh-md);padding:36px;position:relative;overflow:hidden}
.fcard::after{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--navy),var(--gold));border-radius:4px 0 0 4px}
.fcard.navybg,.fcard.tealbg{background:var(--navy);color:#FFFFFF;border:none}
.fcard.navybg::after,.fcard.tealbg::after{background:var(--gold);width:4px}
.fcard.tealbg ul li,.fcard.navybg ul li{color:rgba(255,255,255,.82);border-color:rgba(255,255,255,.08)}
.fcard h3{font-size:18px;margin-bottom:8px;color:var(--navy); font-family: var(--ff-serif); font-weight: 700;}
.fcard.navybg h3,.fcard.tealbg h3{color:#FFFFFF}
.big-rate{font-family:var(--ff-serif);font-size:46px;font-weight:700;color:var(--gold);line-height:1;margin:14px 0 6px}
.big-rate span{font-size:18px;font-family:var(--ff-sans);font-weight:400;color:var(--slate)}

.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.proc-grid::before{content:'';position:absolute;top:28px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,rgba(5,150,105,.2),var(--gold),rgba(5,150,105,.2),transparent)}
.pstep{padding:0 20px 0 0}
.pstep-num{width:56px;height:56px;background:var(--cream-md);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:1}
.pstep-num span{font-family:var(--ff-serif);font-size:22px;font-weight:700;color:var(--navy)}
.pstep h3{font-size:18px;color:#FFFFFF;font-weight:700; font-family: var(--ff-serif);}
.pstep p{font-size:13.5px;color:rgba(255,255,255,.6);margin-top:8px;line-height:1.65}

.calc-tabs{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;margin-bottom:40px;background:#fff;padding:6px;border-radius:12px;width:fit-content;margin-left:auto;margin-right:auto;border:none;box-shadow:var(--sh-xs)}
.calc-tab{padding:10px 24px;font-size:13.5px;font-weight:500;color:var(--slate);cursor:pointer;border-radius:8px;background:transparent;transition:all .2s;font-family:var(--ff-sans);border:none}
.calc-tab:hover{color:var(--navy)}
.calc-tab.active{background:var(--navy);color:#FFFFFF;box-shadow:var(--sh-sm)}
.calc-panel{display:none}
.calc-panel.active{display:block;animation:fadeUp .4s var(--spring)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;max-width:900px;margin:0 auto}
.calc-card{background:#fff;border:none;border-radius:14px;padding:32px;box-shadow:var(--sh-md)}
.calc-card h3{font-size:19px;color:var(--navy);margin-bottom:4px}
.calc-card .desc{font-size:13px;color:var(--slate);margin-bottom:24px}
.cf{margin-bottom:15px}
.cf label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);display:block;margin-bottom:6px;font-weight:600}
.cf label .req{color:var(--gold)}
.cf input,.cf select{width:100%;border:1px solid var(--line-dk);border-radius:9px;padding:11px 14px;font-size:14.5px;font-family:var(--ff-sans);color:var(--ink);background:var(--cream);outline:none;transition:.18s;appearance:none}
.cf select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234B5563' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.cf input:focus,.cf select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(5,150,105,.12);background:#fff}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.result-card{background:var(--navy);color:#FFFFFF;border-radius:14px;padding:30px;display:none;box-shadow:var(--sh-lg)}
.result-card .big{font-family:var(--ff-serif);font-size:42px;font-weight:700;color:var(--gold);line-height:1}
.result-card .big-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:8px}
.rr{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:13.5px}
.rr:first-of-type{margin-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.rr span:first-child{color:rgba(255,255,255,.6)}
.rr span:last-child{font-weight:600}
.bar{height:6px;border-radius:99px;background:rgba(255,255,255,.1);margin-top:20px;display:flex;overflow:hidden}
.bar-p{background:rgba(255,255,255,.3)}.bar-i{background:var(--gold)}
.bar-legend{display:flex;gap:16px;margin-top:10px;font-size:11px;color:rgba(255,255,255,.5)}
.bar-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}
.verdict{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.55}
.verdict.good{background:rgba(5,150,105,.1);color:var(--navy)}
.verdict.warn{background:#ECFDF5;color:#065F46}

.cibil-card{background:var(--navy);border-radius:20px;padding:52px 48px;text-align:center;max-width:700px;margin:0 auto;box-shadow:var(--sh-lg);position:relative;overflow:hidden}
.cibil-card::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(5,150,105,.08),transparent 70%);border-radius:50%}
.cibil-badge{font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(5,150,105,.35);padding:6px 16px;border-radius:99px;display:inline-block}
.cibil-card h3{font-size:26px;margin-top:20px;color:#FFFFFF; font-family: var(--ff-serif);}
.cibil-card p{color:rgba(255,255,255,.6);margin-top:12px;font-weight:400;max-width:460px;margin-left:auto;margin-right:auto;line-height:1.7}
.cibil-gauge{margin:28px auto 0;width:200px}
.cibil-form{display:flex;gap:10px;max-width:420px;margin:28px auto 0;flex-wrap:wrap}
.cibil-form input{flex:1;min-width:180px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#FFFFFF;padding:12px 16px;border-radius:9px;font-family:var(--ff-sans);font-size:14px;outline:none}
.cibil-form input::placeholder{color:rgba(255,255,255,.4)}
.cibil-form input:focus{border-color:var(--gold);}
.disclaimer{font-size:11.5px;color:var(--muted);text-align:center;margin-top:36px;max-width:680px;margin-left:auto;margin-right:auto;line-height:1.7}

.about-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:64px}
.about-split p{color:var(--slate);margin-top:14px;font-size:15.5px;line-height:1.78}
.about-split p strong{color:var(--navy);font-weight:600}
.about-visual{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;max-width:380px;margin:0 auto}
.ring{position:absolute;border:1px solid var(--line-dk);transform:rotate(45deg);border-radius:2px}
.ring.r1{width:96%;height:96%}
.ring.r2{width:70%;height:70%;border-color:rgba(5,150,105,.3);border-width:1.5px}
.ring.r3{width:44%;height:44%;border-color:rgba(18,24,26,.12)}
.about-badge{text-align:center;position:relative;z-index:2}
.about-badge .yr{font-family:var(--ff-serif);font-size:84px;font-weight:700;color:var(--navy);line-height:.85}
.about-badge .yr sup{font-size:28px;color:var(--gold);vertical-align:super}
.about-badge .cap{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-top:14px}
.tl{max-width:740px;margin:0 auto;border-left:2px solid rgba(5,150,105,.2);padding-left:0}
.tl-item{position:relative;padding:0 0 36px 36px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:'';position:absolute;left:-8px;top:6px;width:14px;height:14px;background:var(--gold);transform:rotate(45deg);border-radius:2px}
.tl-item .yr{font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.12em;text-transform:uppercase}
.tl-item h3{font-size:19px;color:var(--navy);margin-top:5px; font-family: var(--ff-serif);}
.tl-item p{font-size:14px;color:var(--slate);margin-top:6px;line-height:1.65}

.bank-stage{position:relative;perspective:1400px;padding:18px 0 8px;margin:0 -28px}
/* Edge fades removed: the white gradients cut across the moving logos and
   read as an interruption rather than a soft edge. */
.bank-track-row{display:flex;gap:18px;width:max-content;transform-style:preserve-3d;padding:0 28px}
.bank-track-row+.bank-track-row{margin-top:18px}
.bank-row-a{animation:bankscrollL 46s linear infinite}
.bank-row-b{animation:bankscrollR 52s linear infinite}
.bank-stage:hover .bank-track-row{animation-play-state:paused}
@keyframes bankscrollL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bankscrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.bank{flex:0 0 auto;width:188px;background:linear-gradient(155deg,#fff,var(--cream-dk) 130%);border:none;border-radius:14px;padding:22px 16px;display:flex;align-items:center;justify-content:center;text-align:center;min-height:88px;box-shadow:var(--sh-sm);transform:rotateX(7deg) rotateY(-4deg) translateZ(0);transition:transform .45s var(--spring),box-shadow .45s var(--spring),background .45s var(--ease);will-change:transform}
.bank:nth-child(3n+2){transform:rotateX(7deg) rotateY(-4deg) translateZ(0) translateY(6px)}
.bank:nth-child(3n+3){transform:rotateX(7deg) rotateY(-4deg) translateZ(0) translateY(-4px)}
.bank:hover{transform:rotateX(0deg) rotateY(0deg) translateZ(28px) translateY(-6px);box-shadow:0 28px 46px rgba(18,24,26,.2),var(--sh-gold);background:linear-gradient(155deg,var(--navy),var(--navy-deep));z-index:2;}
.bank span{font-size:12.5px;font-weight:600;color:var(--navy);transition:color .3s;line-height:1.3;letter-spacing:.01em}
.bank:hover span{color:#FFFFFF}
.bank-note{text-align:center;font-size:13px;color:var(--muted);margin-top:28px;font-style:italic}
.cat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.cat{background:#fff;border:none;border-radius:14px;padding:28px;border-top:4px solid var(--gold); box-shadow: var(--sh-sm);}
.cat h3{font-size:17px;color:var(--navy); font-family: var(--ff-serif);}
.cat p{font-size:13px;color:var(--slate);margin-top:8px;line-height:1.65}

/* ===== Trust stats + testimonials ===== */
.trust-band{position:relative;background:linear-gradient(150deg,var(--navy) 0%,var(--navy-deep) 100%);border-radius:24px;overflow:hidden;padding:56px 40px;isolation:isolate}
.trust-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;opacity:.5;pointer-events:none}
.trust-graphic{position:absolute;right:-40px;bottom:-30px;width:340px;height:240px;opacity:.16;pointer-events:none}
.trust-graphic-l{position:absolute;left:-50px;top:-40px;width:220px;height:220px;opacity:.1;pointer-events:none}
.trust-stat-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1.3fr 1fr 1fr;gap:0;align-items:center}
.trust-stat{text-align:center;padding:0 18px;position:relative}
.trust-stat+.trust-stat::before{content:'';position:absolute;left:0;top:10%;bottom:10%;width:1px;background:rgba(255,255,255,.12)}
.trust-stat .tv{font-family:var(--ff-serif);font-weight:700;color:#FFFFFF;line-height:1;font-size:clamp(32px,3.6vw,46px);display:inline-flex;align-items:baseline;gap:2px}
.trust-stat .tv .pfx{font-size:.55em;font-weight:600;color:#fff}
.trust-stat .tv .sfx{font-size:.6em;font-weight:700;color:#fff}
.trust-stat .tl{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:10px;font-weight:600}

.testi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.testi-card{background:#fff;border:none;border-radius:16px;padding:30px 28px;box-shadow:var(--sh-md);position:relative;display:flex;flex-direction:column;transition:transform .3s var(--spring),box-shadow .3s var(--ease)}
.testi-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.testi-quote-ico{width:34px;height:34px;color:var(--line-dk);margin-bottom:6px}
.testi-stars{display:flex;gap:3px;margin-bottom:14px}
.testi-stars svg{width:14px;height:14px;fill:var(--gold)}
.testi-text{font-size:14.5px;color:var(--slate);line-height:1.7;flex:1; font-family: var(--ff-serif); font-style: italic;}
.testi-foot{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-family:var(--ff-sans);font-weight:700;font-size:15px;flex-shrink:0}
.testi-who .n{font-size:13.5px;font-weight:700;color:var(--navy)}
.testi-who .r{font-size:11.5px;color:var(--muted);margin-top:1px}

.faq-wrap{max-width:760px;margin:0 auto}
.faq{border:none;border-radius:13px;margin-bottom:8px;background:#fff;overflow:hidden;transition:box-shadow .2s; box-shadow: var(--sh-xs);}
.faq.open{box-shadow:var(--sh-md)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;font-weight:600;font-size:15px;color:var(--navy);font-family:var(--ff-sans)}
.faq-icon{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--cream-md);display:flex;align-items:center;justify-content:center;transition:transform .3s,background .2s;color:var(--navy);font-size:17px;font-weight:400;line-height:1}
.faq.open .faq-icon{transform:rotate(45deg);background:var(--navy);color:#FFFFFF;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a-inner{padding:0 24px 20px;font-size:14px;color:var(--slate);line-height:1.72}

.split2{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.form-card{background:#fff;border:none;border-radius:16px;padding:36px;box-shadow:var(--sh-md)}
.form-card h3{font-size:21px;color:var(--navy); font-family: var(--ff-serif);}
.form-card .sub{font-size:13.5px;color:var(--slate);margin-top:5px;margin-bottom:22px}
.fg{margin-bottom:15px}
.fg label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);display:block;margin-bottom:6px;font-weight:600}
.fg label .req{color:var(--gold)}
.ctrl{width:100%;border:1px solid var(--line-dk);border-radius:9px;padding:11px 14px;font-size:14.5px;font-family:var(--ff-sans);color:var(--ink);background:var(--cream);outline:none;transition:.18s;appearance:none;font-weight:400}
.ctrl:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(5,150,105,.12);background:#fff}
.ctrl.bad{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.07)}
select.ctrl{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234B5563' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
textarea.ctrl{resize:vertical;min-height:80px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.err-msg{font-size:11.5px;color:#c0392b;margin-top:4px;display:none}
.err-msg.show{display:block}
.roles-list{border-top:1px solid var(--line);margin-top:4px}
.role{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .2s}
.role:hover{padding-left:8px}
.role h4{font-size:16.5px;color:var(--navy);font-weight:600}
.role p{font-size:12px;color:var(--muted);margin-top:2px}
.role .pick{font-size:12px;color:var(--gold);white-space:nowrap;font-weight:600}
.file-drop{border:1.5px dashed var(--line-dk);border-radius:10px;padding:22px;text-align:center;cursor:pointer;transition:.2s;background:var(--cream-dk)}
.file-drop:hover{border-color:var(--gold);background:var(--cream)}
.file-drop.has{border-color:var(--gold);border-style:solid;background:var(--gold-pale)}
.file-drop .ico{font-size:22px;color:var(--gold)}
.file-drop .t{font-size:13px;color:var(--navy);font-weight:500;margin-top:6px}
.file-drop .h{font-size:11px;color:var(--muted);margin-top:2px}
.file-drop input{display:none}
.form-note{font-size:11.5px;color:var(--muted);margin-top:14px;text-align:center;line-height:1.55}

.ci-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.ci-ico{width:44px;height:44px;flex-shrink:0;background:var(--cream-md);border-radius:12px;display:flex;align-items:center;justify-content:center}
.ci-ico svg{width:19px;height:19px;stroke:var(--navy);fill:none;stroke-width:1.7}
.ci-item h4{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ci-item .v{font-size:15px;color:var(--navy);font-weight:500;margin-top:3px;line-height:1.4}
.ci-item .v a:hover{color:var(--gold)}
.cities4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:none;border-radius:12px;overflow:hidden;margin-top:32px; box-shadow: var(--sh-xs);}
.cs{background:#fff;padding:18px 14px;text-align:center}
.cs .nm{font-family:var(--ff-serif);font-size:16px;color:var(--navy);font-weight:700}
.cs .tag{font-size:10px;color:var(--muted);margin-top:2px;letter-spacing:.06em}

.login-overlay{display:none;position:fixed;inset:0;background:rgba(18,24,26,.8);z-index:9998;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center}
.login-overlay.open{display:flex}
.login-box{background:var(--cream);border-radius:22px;padding:40px 36px;width:min(450px,92vw);box-shadow:0 32px 80px rgba(18,24,26,.32);position:relative;animation:lmodal .35s var(--spring); border:none;}
@keyframes lmodal{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
.login-close{position:absolute;top:16px;right:16px;background:var(--cream-dk);border:none;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--slate);transition:all .18s}
.login-close:hover{background:var(--navy);color:#FFFFFF}
.login-hd{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.login-hd h3{font-size:21px;color:var(--navy); font-family: var(--ff-serif);}
.login-tabs{display:flex;gap:5px;background:var(--cream-dk);border-radius:10px;padding:4px;margin-bottom:24px}
.ltab{flex:1;padding:9px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:none;background:transparent;color:var(--slate);transition:all .2s;font-family:var(--ff-sans)}
.ltab.on{background:#fff;color:var(--navy);font-weight:600;box-shadow:var(--sh-xs)}
.login-info{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.55}
.login-info a{color:var(--gold);font-weight:500}

footer{background:var(--navy);color:#FFFFFF;padding-top:72px; border-top: 4px solid var(--gold);}
.foot-top{display:grid;grid-template-columns:1.4fr .85fr .85fr .95fr .85fr;gap:36px;padding-bottom:52px}
.foot-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.foot-logo-img{height:46px;width:auto;display:block}
.foot-brand-logo .fn{font-family:var(--ff-sans);font-size:20px;font-weight:700;color:#FFFFFF;letter-spacing:.01em}
.foot-brand-logo .fn span{color:var(--gold)}
.foot-brand-logo .fs{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:3px;font-weight:500}
.foot-brand>p{color:rgba(255,255,255,.6);font-size:13.5px;margin-top:4px;max-width:260px;font-weight:400;line-height:1.72}
.foot-col h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:18px;opacity:.9}
.foot-col a,.foot-col p{display:block;color:rgba(255,255,255,.6);font-size:13.5px;margin-bottom:11px;transition:color .18s;font-weight:400;line-height:1.5}
.foot-col a:hover{color:#FFFFFF}
.foot-contact strong{color:#FFFFFF;font-weight:600;display:block;font-size:12.5px;margin-bottom:1px}
.foot-divider{height:1px;background:rgba(255,255,255,.1)}
.foot-bottom{padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot-bottom p{font-size:11.5px;color:rgba(255,255,255,.5);letter-spacing:.04em}
.foot-social{display:flex;align-items:center;gap:10px}
.foot-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.65);transition:all .2s}
.foot-social a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
.foot-social a svg{width:16px;height:16px}

/* Legal / policy pages */
.legal-page{max-width:800px;margin:0 auto}
.legal-updated{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-bottom:38px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.legal-block{margin-bottom:8px}
.legal-block h3{font-family:var(--ff-serif);font-size:19px;font-weight:700;color:var(--navy);margin:36px 0 12px}
.legal-block h3:first-child{margin-top:0}
.legal-block p{font-size:14.5px;line-height:1.78;color:var(--slate);margin-bottom:14px}
.legal-block ul{margin:0 0 14px 20px}
.legal-block li{font-size:14.5px;line-height:1.78;color:var(--slate);margin-bottom:9px}
.legal-block strong{color:var(--navy);font-weight:600}
.legal-block .legal-note{font-size:13.5px;font-style:italic;color:var(--muted);background:var(--cream-dk);border-left:3px solid var(--gold);padding:14px 18px;border-radius:6px;margin:22px 0}

.svg-illo{display:block;width:100%;height:auto}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.float-anim{animation:floatY 5s ease-in-out infinite}

/* ══ TRUST STRIP ══ */
.trust-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 10px;margin-top:10px}
.trust-badge{display:inline-flex;align-items:center;gap:9px;background:var(--cream-md);border:none;border-radius:99px;padding:10px 18px;font-size:12.5px;font-weight:500;color:var(--navy)}
.trust-badge svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:2.5;flex-shrink:0}

/* ══ LENDER CATEGORY GRID ══ */
.lender-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.lender-tile{background:#fff;border:none;border-radius:14px;padding:22px 16px;text-align:center;transition:.25s var(--spring); box-shadow: var(--sh-xs);}
.lender-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.lender-tile .ico{width:38px;height:38px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:var(--cream-md);border-radius:10px}
.lender-tile .ico svg{width:19px;height:19px;stroke:var(--navy);fill:none;stroke-width:1.7}
.lender-tile .lbl{font-size:12.5px;font-weight:600;color:var(--navy);line-height:1.35}
.lender-tile .ct{font-size:10.5px;color:var(--muted);margin-top:3px}
.lender-note{text-align:center;font-size:12px;color:var(--muted);margin-top:18px}

/* ══ COMPARE PRODUCTS TABLE ══ */
.cmp-table-wrap{overflow-x:auto;border-radius:16px;border:none;box-shadow:var(--sh-md)}
.cmp-table{width:100%;border-collapse:collapse;min-width:640px;background:#fff}
.cmp-table th{background:var(--cream-dk);text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-weight:600;padding:16px 20px;white-space:nowrap}
.cmp-table td{padding:16px 20px;font-size:14px;color:var(--ink);border-top:1px solid var(--line);white-space:nowrap}
.cmp-table tr:hover td{background:var(--cream-dk)}
.cmp-table .cmp-prod{font-weight:600;color:var(--navy);display:flex;align-items:center;gap:10px}
.cmp-table .cmp-prod .dot{display:none;}
.cmp-table .cmp-rate{font-weight:700;color:var(--navy);font-family:var(--ff-serif)}
.cmp-table .cmp-link{color:var(--navy);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:5px; text-decoration:underline;}
.cmp-table .cmp-link:hover{color:var(--gold)}
.cmp-foot-note{font-size:11.5px;color:var(--muted);margin-top:12px}

/* ══ INTRO CINEMATIC ANIMATION ══ */
html.intro-lock{overflow:hidden}
/* Curated intro, rebuilt natively (no bundle/iframe): on a white screen the FinOne
   mark builds from strips, a ring of marks gathers & spins, then the FinOne
   lockup settles — after which the whole screen fades to reveal the site. The
   whole stage is scaled by --intro-s (set in common.js) so it always fits the
   viewport and never overflows or crowds on mobile. */
.intro-overlay{position:fixed;inset:0;z-index:9999;background:#fff;overflow:hidden;cursor:pointer;opacity:1;will-change:opacity;transition:opacity .8s cubic-bezier(.4,0,.2,1)}
.intro-overlay.leaving{opacity:0;pointer-events:none}
.intro-stage{position:absolute;inset:0;transform:scale(var(--intro-s,1));transform-origin:center center;--intro-img:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2287%2088%20760%20760%22%3E%3Cg%20transform%3D%22translate%28175.8%2C821.3%29%20scale%281%2C-1%29%22%3E%3Cpath%20d%3D%22M541.0%2C708.0%20L534.1%2C590.5%20L537.0%2C498.0%20L514.0%2C498.0%20L504.1%2C569.6%20L491.7%2C618.3%20L485.0%2C633.0%20L474.9%2C648.1%20L462.5%2C660.4%20L450.4%2C668.5%20L425.9%2C678.0%20L393.9%2C683.5%20L294.2%2C685.0%20L269.3%2C683.8%20L248.5%2C680.4%20L236.3%2C675.3%20L227.3%2C666.8%20L219.8%2C648.4%20L216.3%2C616.6%20L216.0%2C356.0%20L302.1%2C356.6%20L322.2%2C360.6%20L338.0%2C368.4%20L354.6%2C384.9%20L365.7%2C405.8%20L373.8%2C434.5%20L382.0%2C488.0%20L405.0%2C488.0%20L401.5%2C417.7%20L402.1%2C331.0%20L408.0%2C204.0%20L385.0%2C204.0%20L376.9%2C258.9%20L371.2%2C283.4%20L359.9%2C306.1%20L344.6%2C322.5%20L326.6%2C331.1%20L306.2%2C335.2%20L216.0%2C336.0%20L216.1%2C100.1%20L217.6%2C76.8%20L221.2%2C58.5%20L230.1%2C41.3%20L246.1%2C30.3%20L274.8%2C23.7%20L317.0%2C20.0%20L317.0%2C0.0%20L263.9%2C2.3%20L170.0%2C3.0%20L86.0%2C2.3%20L42.0%2C0.0%20L42.0%2C20.0%20L69.7%2C22.7%20L90.5%2C27.0%20L102.7%2C32.5%20L110.9%2C40.2%20L116.5%2C50.5%20L120.0%2C64.0%20L123.0%2C106.0%20L123.0%2C605.0%20L121.0%2C638.5%20L115.9%2C659.3%20L106.1%2C673.2%20L96.3%2C679.3%20L83.7%2C683.4%20L42.0%2C688.0%20L42.0%2C708.0%20L302.1%2C705.0%20L450.9%2C705.6%20L541.0%2C708.0%20Z%22%20fill%3D%22%231C1F1F%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%22217.8%22%20y%3D%22781.2%22%20width%3D%22274.5%22%20height%3D%2242.1%22%20fill%3D%22%230F6E6E%22%2F%3E%3C%2Fsvg%3E")}
.intro-lockup{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateX(var(--shift,150px));display:inline-flex;align-items:center;gap:44px;animation:lockupShift .8s cubic-bezier(.4,0,.2,1) 3.1s both}
.intro-logobox{position:relative;flex:0 0 260px;width:260px;height:260px}
.intro-assembly{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:260px;animation:assemblyOut .45s cubic-bezier(.4,0,.2,1) 1.5s forwards}
.intro-strip{width:260px;height:37.15px;background:var(--intro-img) no-repeat;background-size:260px 260px;opacity:0;animation:stripIn .55s cubic-bezier(.2,.8,.2,1) both}
.intro-ring{position:absolute;inset:0;animation:ringIn .4s ease 1.5s both,spin 24s linear 2.6s infinite}
.intro-dot{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;background:var(--intro-img) center/46px 46px no-repeat;--r:104px;opacity:0;animation:gather .6s cubic-bezier(.2,.8,.2,1) both}
.intro-text{display:flex;align-items:center;opacity:0;animation:textIn .6s cubic-bezier(.2,.8,.2,1) 3.1s both}
.intro-text svg{height:96px;width:auto;display:block}
@keyframes stripIn{0%{opacity:0;transform:translateX(var(--dx))}100%{opacity:1;transform:translateX(0)}}
@keyframes assemblyOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.4)}}
@keyframes ringIn{0%{opacity:0}100%{opacity:1}}
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes gather{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(0)}55%{opacity:1}100%{opacity:1;transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) scale(1)}}
@keyframes textIn{0%{opacity:0;transform:translateX(26px)}100%{opacity:1;transform:translateX(0)}}
@keyframes lockupShift{0%{transform:translate(-50%,-50%) translateX(var(--shift,150px))}100%{transform:translate(-50%,-50%) translateX(0)}}

/* ══ HERO NETWORK GRAPHIC ══ */
.hero-net-wrap{position:relative}
.hero-net-glow{position:absolute;inset:-15%;background:radial-gradient(closest-side,rgba(5,150,105,.12),rgba(18,24,26,.04) 60%,transparent 75%);filter:blur(6px);animation:netGlowPulse 6s ease-in-out infinite}
@keyframes netGlowPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.hero-net-ring{transform-origin:200px 200px;animation:netSpin 60s linear infinite}
@keyframes netSpin{to{transform:rotate(360deg)}}
.hero-net-ring-rev{transform-origin:200px 200px;animation:netSpinRev 90s linear infinite}
@keyframes netSpinRev{to{transform:rotate(-360deg)}}
.hero-net-link{stroke-dasharray:6 7;animation:netDash 2.6s linear infinite}
.hero-net-link.d2{animation-delay:-.6s}
.hero-net-link.d3{animation-delay:-1.2s}
.hero-net-link.d4{animation-delay:-1.8s}
.hero-net-link.d5{animation-delay:-.3s}
@keyframes netDash{to{stroke-dashoffset:-26}}
.hero-net-node{animation:netNodePulse 3.2s ease-in-out infinite}
.hero-net-node.d2{animation-delay:.4s}
.hero-net-node.d3{animation-delay:.8s}
.hero-net-node.d4{animation-delay:1.2s}
.hero-net-node.d5{animation-delay:1.6s}
@keyframes netNodePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.hero-net-hub{animation:netHubPulse 3.6s ease-in-out infinite}
@keyframes netHubPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(5,150,105,0))}50%{filter:drop-shadow(0 0 14px rgba(5,150,105,.4))}}
.hero-net-coin{animation:floatY 4.5s ease-in-out infinite}
.hero-net-coin.d2{animation-delay:1.1s}
.hero-net-coin.d3{animation-delay:2.1s}
.hero-net-spark{animation:sparkTwinkle 2.4s ease-in-out infinite}
.hero-net-spark.d2{animation-delay:.7s}
.hero-net-spark.d3{animation-delay:1.4s}
@keyframes sparkTwinkle{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}

#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(14px);background:var(--navy);color:#FFFFFF;padding:12px 26px;border-radius:99px;font-size:13.5px;font-weight:500;opacity:0;transition:.3s var(--ease);z-index:9999;pointer-events:none;box-shadow:var(--sh-lg);max-width:calc(100vw - 32px);text-align:center;border:1px solid rgba(255,255,255,.1)}

/* Floating action stack */
.fab-stack{position:fixed;right:22px;bottom:24px;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.fab{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;box-shadow:0 10px 28px rgba(18,24,26,.2);transition:transform .25s var(--spring),box-shadow .25s var(--ease);position:relative;flex-shrink:0}
.fab:hover{transform:translateY(-3px) scale(1.04)}
.fab svg{width:26px;height:26px;position:relative;z-index:1}
.fab-wa{background:#25D366}
.fab-wa::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid #25D366;opacity:.55;animation:fabping 2.4s ease-out infinite}
.fab-label{position:absolute;right:70px;top:50%;transform:translateY(-50%) translateX(6px);background:var(--ink);color:#fff;font-size:12.5px;font-weight:500;padding:7px 13px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.fab:hover .fab-label{opacity:1;transform:translateY(-50%) translateX(0)}
@keyframes fabping{0%{transform:scale(1);opacity:.55}80%{transform:scale(1.35);opacity:0}100%{opacity:0}}

.fab-ai{width:auto;height:54px;border-radius:999px;display:inline-flex;align-items:center;gap:0;padding:0;background:var(--navy);border:none;box-shadow:var(--sh-md);overflow:hidden}
.fab-ai:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);}
.fab-ai-ico{width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}
.fab-ai-ico svg{width:21px;height:21px;stroke:var(--gold);position:relative;z-index:1}
.fab-ai-tx{display:flex;flex-direction:column;align-items:flex-start;padding-right:20px;line-height:1.2}
.fab-ai-tx .t1{font-size:12.5px;font-weight:600;color:#FFFFFF;letter-spacing:.01em}
.fab-ai-tx .t2{font-size:9.5px;color:rgba(255,255,255,.6);letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.fab-ai .fab-dot{position:absolute;top:6px;right:10px;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--navy-deep);display:none;z-index:2}
.fab-ai .fab-dot.show{display:block;animation:fabdotpulse 1.8s ease-in-out infinite}
@keyframes fabdotpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}

/* AI chat panel */
.chat-panel{position:fixed;right:22px;bottom:96px;width:368px;max-width:calc(100vw - 32px);height:min(560px,calc(100vh - 140px));background:var(--cream);border-radius:18px;box-shadow:var(--sh-lg);z-index:501;display:flex;flex-direction:column;overflow:hidden;border:none;opacity:0;transform:translateY(18px) scale(.97);pointer-events:none;transition:opacity .28s var(--spring),transform .28s var(--spring)}
.chat-panel.open{opacity:1;transform:none;pointer-events:auto}
.chat-head{background:var(--navy);color:#FFFFFF;padding:18px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.chat-head-ico{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-head-ico svg{width:19px;height:19px;stroke:var(--gold)}
.chat-head-tx{flex:1;min-width:0}
.chat-head-tx .n{font-size:14.5px;font-weight:700}
.chat-head-tx .s{font-size:11.5px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px;margin-top:2px}
.chat-head-tx .s::before{content:'';width:6px;height:6px;border-radius:50%;background:#5FD9BE;flex-shrink:0}
.chat-close{width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:#FFFFFF;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
.chat-close:hover{background:rgba(255,255,255,.1)}
.chat-close svg{width:15px;height:15px}
.chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--cream-md)}
.chat-body::-webkit-scrollbar{width:5px}
.chat-body::-webkit-scrollbar-thumb{background:var(--line-dk);border-radius:8px}
.cmsg{max-width:84%;font-size:13.5px;line-height:1.55;padding:11px 14px;border-radius:14px;animation:cmsgIn .3s var(--spring)}
@keyframes cmsgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cmsg.bot{background:#fff;color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px;box-shadow:var(--sh-xs)}
.cmsg.user{background:var(--navy);color:#FFFFFF;align-self:flex-end;border-bottom-right-radius:4px}
.chat-chips{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:96%}
.chat-chip{background:#fff;border:1.5px solid var(--line-dk);color:var(--navy);font-size:12px;font-weight:500;padding:8px 13px;border-radius:99px;cursor:pointer;transition:.2s;white-space:nowrap}
.chat-chip:hover{border-color:var(--gold);background:var(--gold-pale)}
.chat-typing{display:flex;gap:4px;align-self:flex-start;background:#fff;padding:13px 16px;border-radius:14px;border-bottom-left-radius:4px;box-shadow:var(--sh-xs)}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:cdot 1.2s ease-in-out infinite}
.chat-typing span:nth-child(2){animation-delay:.15s}
.chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes cdot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.chat-foot{padding:12px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}
.chat-input-row{display:flex;gap:8px;align-items:center}
.chat-input-row input{flex:1;border:none;border-radius:99px;padding:10px 16px;font-size:13px;font-family:var(--ff-sans);outline:none;background:var(--cream-md)}
.chat-input-row input:focus{background:var(--line);}
.chat-send{width:38px;height:38px;border-radius:50%;background:var(--navy);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}
.chat-send:hover{transform:scale(1.06)}
.chat-send svg{width:16px;height:16px;stroke:#FFFFFF}
.chat-foot-note{font-size:10px;color:var(--muted);text-align:center;margin-top:8px}
.chat-foot-note a{color:var(--navy);text-decoration:underline}

/* ══ PARTNER FAB ══ */
.fab-partner{width:auto;background:linear-gradient(135deg,#0B6E5C 0%,#5FD9BE 25%,#A7F3D0 42%,#0E8C74 60%,#0B6E5C 100%);border:none;border-radius:999px;height:44px;display:inline-flex;align-items:center;gap:0;padding:0;cursor:pointer;box-shadow:var(--sh-sm);transition:.25s var(--ease);overflow:hidden;white-space:nowrap}
.fab-partner:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}
.fab-partner-ico{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fab-partner-ico svg{width:20px;height:20px;stroke:#FFFFFF;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.fab-partner-tx{display:flex;flex-direction:column;align-items:flex-start;padding-right:16px;line-height:1.2;white-space:nowrap}
.fab-partner-tx .t1{font-size:11.5px;font-weight:700;color:#FFFFFF;letter-spacing:.01em;white-space:nowrap}
.fab-partner-tx .t2{font-size:9px;color:rgba(255,255,255,.8);letter-spacing:.08em;text-transform:uppercase;margin-top:1px;white-space:nowrap}

/* ══ STAT BAND — LIGHT ══ */
.stat-band-light{position:relative;background:linear-gradient(135deg,#F3F4F6 0%,#ECFDF5 100%);border-radius:24px;overflow:hidden;padding:52px 40px;border:none;box-shadow:var(--sh-md)}
.stat-band-light::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(18,24,26,.03) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.stat-card-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-card{background:#fff;border-radius:18px;padding:28px 22px 24px;text-align:center;border:none;box-shadow:var(--sh-sm);transition:.4s var(--spring);opacity:0;transform:translateY(22px) scale(.97)}
.stat-card.in{opacity:1;transform:none}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}
.stat-ring-wrap{position:relative;width:88px;height:88px;margin:0 auto 18px}
.stat-ring-wrap>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.stat-ring-bg{fill:none;stroke:rgba(18,24,26,.05);stroke-width:5}
.stat-ring-fg{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;stroke-dasharray:214;stroke-dashoffset:214;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.stat-card-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.stat-card-icon svg{width:30px;height:30px;stroke:var(--navy);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.stat-card-val{font-family:var(--ff-serif);font-size:clamp(26px,3vw,36px);font-weight:700;color:var(--navy);line-height:1;display:inline-flex;align-items:baseline;gap:3px;justify-content:center}
.stat-card-val .pfx{font-size:.52em;color:var(--navy);font-weight:700}
.stat-card-val .sfx{font-size:.6em;font-weight:700;color:var(--navy)}
.stat-card-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-top:9px;font-weight:600}

/* ══ DSA PARTNER SECTION TEASER ══ */
.dsa-teaser{background:var(--navy);border-radius:22px;padding:60px 52px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;position:relative;overflow:hidden; box-shadow: var(--sh-lg);}
.dsa-teaser::after{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:rgba(5,150,105,.08);pointer-events:none}
.dsa-teaser h2{color:#FFFFFF;font-size:clamp(24px,3vw,36px);margin-bottom:14px; font-family: var(--ff-serif);}
.dsa-teaser p{color:rgba(255,255,255,.7);font-size:15px;line-height:1.7;max-width:520px}
.dsa-teaser .dsa-perks{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.dsa-perk{background:rgba(5,150,105,.12);border:none;border-radius:99px;padding:7px 16px;font-size:12.5px;color:var(--gold-lt);font-weight:500}
.dsa-teaser-btn{flex-shrink:0;display:flex;flex-direction:column;gap:14px;align-items:center}

/* ══ DSA PARTNER FORM PAGE ══ */
.partner-hero{background:var(--navy);padding:100px 0 72px;text-align:center;position:relative;overflow:hidden}
.partner-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(5,150,105,.06) 1px,transparent 1px);background-size:26px 26px}
.partner-hero h1{color:#FFFFFF;font-size:clamp(28px,4vw,48px);margin-bottom:16px; font-family: var(--ff-serif);}
.partner-hero p{color:rgba(255,255,255,.7);font-size:16px;max-width:560px;margin:0 auto;line-height:1.7}

.stepper-wrap{max-width:860px;margin:0 auto 52px}
.stepper{display:flex;align-items:center;gap:0;position:relative;padding:0}
.step-item{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;cursor:default}
.step-item:not(:last-child)::after{content:'';position:absolute;top:20px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:var(--line-dk);z-index:0;transition:background .4s}
.step-item.done:not(:last-child)::after{background:var(--gold)}
.step-num{width:40px;height:40px;border-radius:50%;border:2px solid var(--line-dk);background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--muted);position:relative;z-index:1;transition:.3s var(--spring)}
.step-item.active .step-num{border-color:var(--gold);background:var(--gold);color:#FFFFFF}
.step-item.done .step-num{border-color:var(--gold);background:var(--navy);color:var(--gold)}
.step-lbl{font-size:11px;margin-top:7px;color:var(--muted);text-align:center;font-weight:500;max-width:70px;line-height:1.3}
.step-item.active .step-lbl{color:var(--navy);font-weight:600}
.step-item.done .step-lbl{color:var(--gold)}

.dsa-form-wrap{max-width:680px;margin:0 auto;padding:0 20px 80px}
.dsa-step-panel{display:none;animation:stepIn .35s var(--spring)}
.dsa-step-panel.active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

.dsa-card{background:#fff;border-radius:20px;padding:40px 44px;box-shadow:var(--sh-md);border:none;}
.dsa-card h3{font-size:20px;color:var(--navy);margin-bottom:6px; font-family: var(--ff-serif);}
.dsa-card .sub{font-size:13.5px;color:var(--slate);margin-bottom:28px}

.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.opt-card{border:1.5px solid var(--line-dk);border-radius:14px;padding:20px 18px;cursor:pointer;transition:.22s;position:relative}
.opt-card:hover{border-color:var(--gold);background:var(--gold-pale)}
.opt-card.selected{border-color:var(--navy);background:var(--cream-md)}
.opt-card.selected::after{content:'✓';position:absolute;top:10px;right:14px;font-size:16px;color:var(--gold);font-weight:700}
.opt-card h4{font-size:15px;color:var(--navy);margin-bottom:4px}
.opt-card p{font-size:12.5px;color:var(--slate)}

.upload-box{border:2px dashed var(--line-dk);border-radius:14px;padding:28px 20px;text-align:center;cursor:pointer;transition:.22s;position:relative}
.upload-box:hover,.upload-box.has{border-color:var(--gold);background:var(--gold-pale)}
.upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-box .ub-ico svg{width:28px;height:28px;stroke:var(--muted);margin:0 auto 8px}
.upload-box.has .ub-ico svg{stroke:var(--gold)}
.upload-box .ub-t{font-size:13.5px;font-weight:600;color:var(--navy)}
.upload-box .ub-h{font-size:11.5px;color:var(--muted);margin-top:4px}
.upload-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}

.tc-box{background:var(--cream-dk);border-radius:12px;padding:18px 20px;max-height:220px;overflow-y:auto;font-size:12.5px;color:var(--slate);line-height:1.75;margin-bottom:18px;border:none;}
.tc-box::-webkit-scrollbar{width:5px}.tc-box::-webkit-scrollbar-thumb{background:var(--line-dk);border-radius:4px}
.tc-check{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px}
.tc-check input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--navy);margin-top:2px;cursor:pointer}
.tc-check label{font-size:13.5px;color:var(--navy);cursor:pointer;line-height:1.6}

.sig-pad-wrap{background:#fff;border:1.5px solid var(--line-dk);border-radius:14px;overflow:hidden;margin-bottom:18px;position:relative}
.sig-canvas{width:100%;height:180px;display:block;cursor:crosshair;touch-action:none}
.sig-tools{display:flex;gap:10px;padding:10px 14px;border-top:1px solid var(--line);background:var(--cream-dk);align-items:center}
.sig-tools span{font-size:11.5px;color:var(--slate)}
.sig-clear{margin-left:auto;font-size:12px;color:var(--navy);background:none;border:1.5px solid var(--line-dk);border-radius:8px;padding:6px 14px;cursor:pointer;font-family:var(--ff-sans);transition:.2s}
.sig-clear:hover{border-color:var(--navy)}

.dsa-nav-row{display:flex;gap:14px;margin-top:28px;justify-content:space-between}
.dsa-nav-row .btn-back{background:none;border:1.5px solid var(--line-dk);color:var(--slate);font-family:var(--ff-sans);font-size:14.5px;font-weight:500;padding:12px 28px;border-radius:12px;cursor:pointer;transition:.2s}
.dsa-nav-row .btn-back:hover{border-color:var(--navy);color:var(--navy)}

.success-screen{text-align:center;padding:60px 0}
.success-ico{width:80px;height:80px;background:linear-gradient(135deg,var(--gold),var(--gold-lt));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:var(--sh-md)}
.success-ico svg{width:40px;height:40px;stroke:#FFFFFF;stroke-width:2.2;fill:none}

.exp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.exp-chip{border:1px solid var(--line-dk);border-radius:99px;padding:9px 18px;font-size:13px;color:var(--navy);cursor:pointer;transition:.2s;background:#fff}
.exp-chip:hover{border-color:var(--gold);background:var(--gold-pale)}
.exp-chip.sel{border-color:var(--navy);background:var(--navy);color:#FFFFFF}
.loan-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.loan-chk{display:flex;align-items:center;gap:10px;border:1px solid var(--line-dk);border-radius:10px;padding:12px 14px;cursor:pointer;transition:.2s}
.loan-chk:hover{border-color:var(--gold)}
.loan-chk input[type=checkbox]{accent-color:var(--navy);width:15px;height:15px;flex-shrink:0;cursor:pointer}
.loan-chk.checked{border-color:var(--navy);background:var(--cream-md)}
.loan-chk span{font-size:13px;color:var(--navy);font-weight:500}
.exp-wrap{margin-bottom:22px}
.exp-label{font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:8px}

@media(max-width:1100px){
  .frow{gap:36px}
  .fcard{padding:28px}
  .hero-grid{grid-template-columns:1fr 380px;gap:44px}
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-card{max-width:480px}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .prod-grid-row2{grid-template-columns:repeat(2,1fr);max-width:100%}
  .proc-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .proc-grid::before{display:none}
  .bank-stage{margin:0 -18px}
  .bank{width:158px;padding:18px 12px;min-height:76px}
  .foot-top{grid-template-columns:1fr 1fr 1fr;gap:32px}
  .cat-row{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr;gap:28px}
  .frow.rev .ftext{order:0}
  .about-split{grid-template-columns:1fr}
}
@media(max-width:720px){
  /* Mobile drawer.
     z-index:1 (not 199) — .nav-links is a CHILD of header{z-index:200}, so it
     cannot escape that stacking context. The old 199 trapped it inside the
     header's painted box, which is why only the first link ("About") showed.
     100dvh (not vh) keeps the panel stable as mobile browser chrome hides. */
  .nav-links{position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(300px,86vw);height:100dvh;
    background:var(--cream);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:84px 20px calc(28px + env(safe-area-inset-bottom,0px));
    gap:2px;
    transform:translateX(100%);
    transition:transform .36s var(--spring);
    box-shadow:-20px 0 50px rgba(18,24,26,.14);
    z-index:1;
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    border-left:1px solid var(--line)}
  .nav-links.open{transform:none}
  /* flex:0 0 auto — column flex was shrinking links to nothing.
     :not() guards the CTA — a blanket color:var(--navy)!important here has the
     SAME specificity as .nav-cta's color:#fff!important, and being LATER in the
     file it won, painting charcoal text on the charcoal CTA (invisible). */
  .nav-links a:not(.nav-cta){flex:0 0 auto;padding:13px 16px;border-radius:10px;font-size:15px;font-weight:500;color:var(--navy)!important;border-bottom:1px solid var(--line)}
  .nav-links a:not(.nav-cta):last-of-type{border-bottom:none}
  .nav-login{background:transparent!important;border:none!important;justify-content:flex-start;margin-top:4px}
  .nav-cta{flex:0 0 auto;margin-left:0!important;margin-top:14px;justify-content:center;padding:14px 22px!important;color:#fff!important;border-bottom:none}
  .nav-cta .cta-ico{stroke:#fff}
  .burger{display:flex}
  /* Scrim — injected by common.js */
  .nav-scrim{position:fixed;inset:0;background:rgba(17,20,24,.5);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);z-index:198;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  .nav-scrim.on{opacity:1;pointer-events:auto}
  body.nav-open{overflow:hidden}
  .stat-grid{grid-template-columns:1fr 1fr}
  .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}
  .prod-grid{grid-template-columns:1fr}
  .prod-grid-row2{grid-template-columns:1fr;max-width:100%}
  .calc-wrap,.split2,.about-split{grid-template-columns:1fr;gap:22px}
  .cf-row,.fg-row{grid-template-columns:1fr}
  .cities4{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr}
  .section{padding:72px 0}
  .cat-row{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr;gap:24px}
  .hero-pills{display:none}
  .hero-body{padding:96px 0 0}
  .fab-partner-tx{display:none}
  .fab-partner{width:44px;height:44px}
  .fab-label{display:none}
  .fab-stack{right:16px;bottom:16px;gap:12px}
  .fab{width:52px;height:52px}
  .fab svg{width:23px;height:23px}
  .fab-ai{height:50px}
  .fab-ai-ico{width:50px;height:50px}
  .fab-ai-tx{display:none}
  /* DSA teaser: stop the fixed 2-col grid becoming a tall empty box on phones */
  .dsa-teaser{grid-template-columns:1fr;padding:36px 26px;gap:26px;border-radius:18px;text-align:center}
  .dsa-teaser h2{font-size:26px}
  .dsa-teaser p{margin-left:auto;margin-right:auto}
  .dsa-teaser .dsa-perks{justify-content:center;gap:8px}
  .dsa-teaser-btn{width:100%}
  .dsa-teaser-btn .btn{width:100%}
  .dsa-teaser::after{width:200px;height:200px;right:-80px;top:-80px}
}
@media(max-width:480px){
  .dsa-teaser{padding:30px 20px}
  .dsa-perk{font-size:11.5px;padding:6px 13px}
  .wrap{padding:0 18px}
  .hero-body{padding:90px 0 0}
  .hero-grid{padding-bottom:40px}
  .hero-card{padding:22px}
  .stat-grid{grid-template-columns:1fr 1fr}
  .stat{padding:26px 14px}
  .proc-grid{grid-template-columns:1fr}
  .bank{padding:16px 10px;min-height:72px}
  .cibil-card{padding:32px 22px}
  .cibil-form{flex-direction:column}
  .cibil-form input{width:100%;min-width:0}
  .calc-card,.form-card{padding:22px}
  .calc-tab{padding:9px 14px;font-size:12.5px}
  .about-badge .yr{font-size:64px}
  .about-visual{max-width:260px}
  .login-box{padding:28px 20px}
  .fcard{padding:24px 20px}
  .big-rate{font-size:36px}
  .pcard{padding:22px 18px}
  .role{flex-wrap:wrap;gap:6px}
  .role .pick{margin-left:auto}
  .nav-cta span{display:inline}
  .stat-card-grid{grid-template-columns:1fr 1fr;gap:14px}
  .stat-band-light{padding:36px 20px}
  .dsa-card{padding:28px 22px}
  .upload-boxes{grid-template-columns:1fr}
  .opt-grid{grid-template-columns:1fr}
  .chat-panel{right:16px;bottom:84px;height:min(72vh,560px)}
  .trust-stat-grid{grid-template-columns:1fr 1fr}
  .trust-band{padding:40px 22px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* ============================================================================
   INTRO SPLASH — ENABLED on the homepage only.
   index.html carries the populated overlay (the FINONE letters); every other
   page keeps an EMPTY overlay that the intro controller in common.js removes
   immediately (it only runs where .intro-letter exists), so no other page is
   ever locked or covered.
   ============================================================================ */

/* ============================================================================
   PRODUCTS · Equipment slideshow
   One item at a time, auto-advancing. Real photos dropped into
   assets/equipment/<name>.jpg appear automatically over the fallback art.
   ============================================================================ */
.eq-slides{position:relative;margin-top:16px;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(180deg,#f2efe7,#ffffff);box-shadow:inset 0 0 0 1px var(--line)}
.eq-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .7s var(--ease);pointer-events:none}
.eq-slide.on{opacity:1;pointer-events:auto}
.eq-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.eq-illus{width:68%;max-height:74%;z-index:0}
.eq-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:12px 16px;
  background:linear-gradient(0deg,rgba(18,24,26,.74),rgba(18,24,26,0));
  color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.02em}
.eq-dots{display:flex;gap:7px;justify-content:center;margin-top:14px}
.eq-dot{width:8px;height:8px;padding:0;border:none;border-radius:99px;background:var(--line-dk);cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease)}
.eq-dot.on{background:var(--gold);width:20px}

/* Bank marquee — monogram badges instead of plain names (same 3D motion) */
.bank{flex-direction:column;gap:9px}
.bank .bank-badge{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-weight:800;letter-spacing:.01em;color:#fff;flex:0 0 auto;
  background:linear-gradient(145deg,var(--navy),var(--navy-deep));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 14px rgba(18,24,26,.18)}
.bank .bank-name{font-size:11.5px;font-weight:600;color:var(--navy);line-height:1.2;letter-spacing:.01em}
.bank:hover .bank-badge{background:linear-gradient(145deg,var(--gold),var(--gold-dk));box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 18px rgba(14,140,116,.4)}
.bank:hover .bank-name{color:#fff}
@media(max-width:480px){.bank .bank-badge{width:44px;height:44px;border-radius:12px}}

/* Bank logo slots — a licensed logo at assets/banks/<slug>.png replaces the badge */
.bank .bank-logo{max-width:82%;max-height:46px;object-fit:contain}
.bank:has(.bank-logo) .bank-badge{display:none}
.bank:has(.bank-logo):hover{background:linear-gradient(155deg,#fff,var(--cream-md))}
.bank:has(.bank-logo):hover .bank-name{color:var(--navy)}

/* Footer social — brand colour on hover (Instagram / Facebook / LinkedIn) */
.foot-social a.soc-ig:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:transparent;color:#fff}
.foot-social a.soc-fb:hover{background:#1877F2;border-color:#1877F2;color:#fff}
.foot-social a.soc-li:hover{background:#0A66C2;border-color:#0A66C2;color:#fff}

/* ============================================================================
   COMPLIANCE · cookie banner, APR transparency note, footer DSA disclosure
   ============================================================================ */
/* Cookie consent banner (injected by common.js) */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:400;max-width:760px;margin:0 auto;
  background:var(--navy);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 18px 50px rgba(0,0,0,.35);
  opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.cookie-bar.show{opacity:1;transform:none}
.cookie-bar-tx{flex:1 1 300px;font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.82)}
.cookie-bar-tx a{color:var(--gold-lt);text-decoration:underline}
.cookie-bar-btns{display:flex;gap:10px;flex:0 0 auto}
.cookie-btn{font-family:var(--ff-sans);font-size:12.5px;font-weight:600;padding:10px 16px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:all .2s}
.cookie-btn-ghost{background:transparent;color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.25)}
.cookie-btn-ghost:hover{background:rgba(255,255,255,.08)}
.cookie-btn-solid{background:var(--gold);color:#fff}
.cookie-btn-solid:hover{background:var(--gold-dk)}
@media(max-width:520px){
  /* Compact bar: text row + a right-aligned button row, not tall full-width stacks. */
  .cookie-bar{left:10px;right:10px;bottom:10px;padding:11px 13px;gap:9px;border-radius:12px}
  .cookie-bar-tx{flex:1 1 100%;font-size:11px;line-height:1.45}
  .cookie-bar-btns{flex:1 1 100%;justify-content:flex-end;gap:8px}
  .cookie-btn{padding:8px 15px;font-size:11.5px}
}

/* APR / rate transparency note (calculators) */
/* Collapsible: closed by default so the calculator panel stays clean, opens
   on click. Native <details> — keyboard accessible and works without JS. */
.apr-note{display:block;max-width:800px;margin:40px auto 0;overflow:hidden;
  background:var(--cream-dk);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:22px 24px}
.apr-note-ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--gold-pale);color:var(--gold);display:flex;align-items:center;justify-content:center}
.apr-note-ic svg{width:20px;height:20px}

.apr-note-tx p{font-size:13.5px;line-height:1.7;color:var(--slate);margin-bottom:10px}
.apr-note-tx ul{margin:0;padding-left:18px}
.apr-note-tx li{font-size:13px;line-height:1.65;color:var(--slate);margin-bottom:6px}
.apr-note-tx a{color:var(--gold-dk);font-weight:600}
.apr-note-tx strong{color:var(--navy)}
.apr-note-sum{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;font-family:var(--ff-sans);font-size:15.5px;font-weight:600;color:var(--navy);user-select:none}
.apr-note-sum::-webkit-details-marker{display:none}
.apr-note-h{flex:1 1 auto}
.apr-note-caret{width:18px;height:18px;flex:0 0 auto;color:var(--muted);transition:transform .28s var(--ease)}
.apr-note[open] .apr-note-caret{transform:rotate(180deg)}
.apr-note-sum:hover .apr-note-caret{color:var(--navy)}
.apr-note-tx{margin-top:14px;padding-left:48px;animation:aprOpen .32s var(--ease) both}
@keyframes aprOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:480px){.apr-note{padding:20px}.apr-note-tx{padding-left:0}}

/* Footer site-wide DSA disclosure line */
.foot-disclosure{max-width:900px;margin:0 auto;text-align:center;font-size:11px;line-height:1.6;color:rgba(255,255,255,.42);padding:16px 0 2px}
.foot-disclosure a{color:rgba(255,255,255,.62);text-decoration:underline}

/* ============================================================================
   NAV DROPDOWN MENUS (Products / Calculators) — injected by common.js
   ============================================================================ */
.nav-dd{position:relative;display:inline-flex;align-items:center}
.nav-dd-toggle{display:inline-flex;align-items:center;gap:5px}
.nav-dd-caret{width:11px;height:11px;flex:0 0 auto;transition:transform .25s var(--ease)}
.nav-dd-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:212px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);padding:7px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;z-index:210}
.nav-dd-menu a{display:block;padding:9px 12px;font-size:13px;font-weight:500;color:var(--slate);border-radius:8px;white-space:nowrap;background:none!important;border:none!important}
.nav-dd-menu a:hover{background:var(--cream-dk)!important;color:var(--navy)}
@media(hover:hover) and (min-width:721px){
  .nav-dd:hover .nav-dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .nav-dd:hover .nav-dd-caret{transform:rotate(180deg)}
}

@media(max-width:720px){
  /* --- Inner pages: keep the first headline clear of the fixed nav --- */
  header + section:not(.hero){padding-top:104px}

  /* --- Testimonials become a swipeable slideshow with smaller text --- */
  .testi-row{display:flex;grid-template-columns:none;gap:12px;margin-top:26px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 2px 14px}
  .testi-row::-webkit-scrollbar{display:none}
  .testi-card{scroll-snap-align:center;flex:0 0 84%;padding:22px 20px}
  .testi-card:hover{transform:none;box-shadow:var(--sh-md)}
  .testi-text{font-size:12.5px;line-height:1.65}
  .testi-quote-ico{width:26px;height:26px}
  .testi-stars{margin-bottom:10px}
  .testi-foot{margin-top:14px;padding-top:12px}
  .testi-avatar{width:36px;height:36px;font-size:13px}
  .testi-who .n{font-size:12.5px}

  /* --- Nav dropdowns collapse into tap-to-expand accordions in the drawer --- */
  .nav-dd{display:block;width:100%}
  .nav-dd-toggle{justify-content:space-between;width:100%;padding:13px 16px;font-size:15px;font-weight:500;color:var(--navy)!important;border-bottom:1px solid var(--line);border-radius:10px}
  .nav-dd.open .nav-dd-caret{transform:rotate(180deg)}
  .nav-dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;padding:0;min-width:0;max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
  .nav-dd.open .nav-dd-menu{max-height:560px}
  .nav-dd-menu a{padding:11px 16px 11px 32px;font-size:14px;color:var(--slate)!important;border-bottom:1px solid var(--line)!important;border-radius:0}
}
