/*
Theme Name: LMS Fintech
Theme URI: https://lmsfintech.com
Author: LMS Fintech Private Limited
Author URI: https://lmsfintech.com
Description: Custom theme for LMS Fintech Private Limited — a loan marketplace and advisory platform. Palette matched to the LMS Fintech logo: royal blue, orange checkmark accent, white. Fraunces + Inter + IBM Plex Mono type system.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: lms-fintech
*/

:root{
  --paper:#F3F2EC;
  --paper-2:#E8E9E4;
  --ink:#122340;
  --ink-soft:#425065;
  --brand-blue:#2859A3;
  --brand-blue-dark:#1B3E78;
  --accent-orange:#E8720C;
  --accent-orange-bright:#F78635;
  --line:#c7cbd3;
  --white:#FFFFFF;
  --danger-red:#8C3B2E;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
.mono{font-family:'IBM Plex Mono',monospace;}
.display{font-family:'Fraunces',serif;}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important;transition:none !important;} }

/* ---------- NAV ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1160px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;display:block;}
.brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:18px;letter-spacing:0.01em;}
.brand-name span{color:var(--brand-blue);}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.primary-menu{display:flex;gap:28px;align-items:center;}
.primary-menu ul{display:flex;gap:28px;align-items:center;}
.primary-menu a{font-size:13.5px;font-weight:500;color:var(--ink-soft);letter-spacing:0.01em;}
.primary-menu a:hover{color:var(--ink);}
.nav-cta{background:var(--ink);color:var(--paper);padding:10px 20px;font-size:13px;font-weight:600;border-radius:2px;letter-spacing:0.02em;}
.nav-toggle{display:none;background:none;border:1px solid var(--ink);padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;}
@media (max-width:880px){
  .primary-menu{display:none;flex-direction:column;align-items:flex-start;gap:14px;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 28px;}
  .primary-menu.is-open{display:flex;}
  .primary-menu ul{flex-direction:column;align-items:flex-start;gap:14px;}
  .nav-toggle{display:block;}
}

/* ---------- HERO / PASSBOOK ---------- */
.hero{padding:64px 0 40px;position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;gap:40px;} }
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--brand-blue);margin-bottom:18px;}
.eyebrow::before{content:"";width:7px;height:7px;background:var(--brand-blue);border-radius:50%;display:inline-block;}
h1.hero-head{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(34px,4.6vw,54px);line-height:1.05;letter-spacing:-0.01em;margin-bottom:20px;}
.hero-sub{font-size:16.5px;color:var(--ink-soft);max-width:480px;margin-bottom:28px;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.btn-primary{background:var(--brand-blue);color:var(--white);padding:14px 26px;font-weight:600;font-size:14.5px;border-radius:2px;border:1px solid var(--brand-blue);transition:background 0.15s ease;display:inline-block;}
.btn-primary:hover{background:var(--brand-blue-dark);}
.btn-secondary{padding:14px 26px;font-weight:600;font-size:14.5px;border-radius:2px;border:1px solid var(--ink);color:var(--ink);transition:all 0.15s ease;display:inline-block;}
.btn-secondary:hover{background:var(--ink);color:var(--paper);}
.fine-note{font-size:12.5px;color:var(--ink-soft);}

.passbook{background:var(--white);border:1px solid var(--line);box-shadow:10px 10px 0 rgba(20,32,47,0.08);position:relative;}
.passbook-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px dashed var(--line);background:linear-gradient(180deg,#fff,#F8F6EE);}
.passbook-top .label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;color:var(--ink-soft);text-transform:uppercase;}
.seal{width:52px;height:52px;border:2px solid var(--accent-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--accent-orange);letter-spacing:0.03em;transform:rotate(-8deg);flex-shrink:0;}
.passbook-rows{padding:8px 0;}
.p-row{display:grid;grid-template-columns:1.6fr 0.9fr 0.9fr;gap:10px;padding:14px 22px;border-bottom:1px dotted var(--line);align-items:center;animation:typeIn 0.5s ease both;}
.p-row:last-child{border-bottom:none;}
.p-row .bank{font-weight:600;font-size:14px;}
.p-row .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-soft);}
.p-row .rate{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:600;color:var(--brand-blue);text-align:right;}
@keyframes typeIn{ from{opacity:0;transform:translateY(4px);} to{opacity:1;transform:translateY(0);} }
.p-row:nth-child(1){animation-delay:0.05s;} .p-row:nth-child(2){animation-delay:0.15s;} .p-row:nth-child(3){animation-delay:0.25s;} .p-row:nth-child(4){animation-delay:0.35s;}
.passbook-foot{padding:16px 22px;background:var(--paper-2);display:flex;justify-content:space-between;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-soft);}
.passbook-foot strong{color:var(--ink);font-size:14px;}

/* ---------- STAT STRIP ---------- */
.stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);}
.stat-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 28px;gap:20px;}
@media (max-width:760px){ .stat-strip .wrap{grid-template-columns:repeat(2,1fr);} }
.stat{text-align:left;border-left:2px solid var(--accent-orange);padding-left:14px;}
.stat .num{font-family:'Fraunces',serif;font-weight:600;font-size:26px;}
.stat .lbl{font-size:12px;color:var(--ink-soft);margin-top:2px;}

/* ---------- SECTION HEADERS ---------- */
section{padding:72px 0;}
.sec-head{max-width:640px;margin-bottom:44px;}
.sec-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-orange);margin-bottom:10px;display:block;}
h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(26px,3.2vw,36px);line-height:1.15;}
.sec-sub{color:var(--ink-soft);margin-top:12px;font-size:15.5px;}

/* ---------- PROBLEM / FEATURE CARDS ---------- */
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:800px){ .problem-grid{grid-template-columns:1fr;} }
.problem-card{background:var(--white);padding:30px 26px;}
.problem-card .idx{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--accent-orange);margin-bottom:14px;}
.problem-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:19px;margin-bottom:10px;line-height:1.3;}
.problem-card p{font-size:14px;color:var(--ink-soft);}

/* ---------- LENDER TABLE ---------- */
.lender-table{border:1px solid var(--line);background:var(--white);}
.lender-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 0.8fr;padding:20px 24px;border-bottom:1px solid var(--line);align-items:center;gap:12px;}
.lender-row:last-child{border-bottom:none;}
.lender-row.head{background:var(--paper-2);font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);}
.lender-row .lname{font-weight:600;font-size:15px;}
.lender-row .val{font-family:'IBM Plex Mono',monospace;font-size:13.5px;}
.lender-row .best{color:var(--brand-blue);font-weight:600;}
.lender-row .cta{font-size:12.5px;font-weight:600;color:var(--brand-blue);text-align:right;border-bottom:1px solid var(--brand-blue);padding-bottom:2px;justify-self:end;}
@media (max-width:820px){
  .lender-row{grid-template-columns:1fr 1fr;row-gap:8px;}
  .lender-row.head{display:none;}
  .lender-row .val::before{content:attr(data-label) ": ";color:var(--ink-soft);font-weight:500;}
}

/* ---------- TIMELINE ---------- */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
@media (max-width:820px){ .timeline{grid-template-columns:1fr;} }
.tl-step{padding:28px 22px 28px 26px;border-left:2px solid var(--brand-blue);position:relative;}
.tl-step::before{content:"";position:absolute;left:-7px;top:28px;width:12px;height:12px;background:var(--paper);border:2px solid var(--brand-blue);border-radius:50%;}
.tl-step .clock{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--accent-orange);margin-bottom:10px;}
.tl-step h4{font-family:'Fraunces',serif;font-size:17px;font-weight:600;margin-bottom:8px;line-height:1.3;}
.tl-step p{font-size:13.5px;color:var(--ink-soft);}

/* ---------- ADVISOR BAND ---------- */
.advisor-band{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;}
@media (max-width:840px){ .advisor-band{grid-template-columns:1fr;} }
.advisor-copy{padding:56px 28px 56px 0;}
@media (max-width:840px){ .advisor-copy{padding:48px 28px 20px;} }
.advisor-copy h3{font-family:'Fraunces',serif;font-size:26px;font-weight:600;margin-bottom:14px;max-width:420px;}
.advisor-copy p{color:#C7CDD6;font-size:14.5px;margin-bottom:22px;max-width:420px;}
.advisor-img-wrap{height:100%;min-height:280px;background:linear-gradient(160deg,#233042,#14202F);display:flex;align-items:center;justify-content:center;padding:28px;}
.advisor-card{background:var(--paper);color:var(--ink);padding:22px;width:100%;max-width:300px;border-left:3px solid var(--accent-orange-bright);}
.advisor-card .who{font-family:'Fraunces',serif;font-weight:600;font-size:16px;}
.advisor-card .role{font-size:12px;color:var(--ink-soft);margin-bottom:12px;}
.advisor-card .quote{font-size:13.5px;color:var(--ink-soft);font-style:italic;}

/* ---------- CALCULATOR ---------- */
.calc-panel{background:var(--white);border:1px solid var(--line);display:grid;grid-template-columns:1.1fr 0.9fr;}
@media (max-width:800px){ .calc-panel{grid-template-columns:1fr;} }
.calc-inputs{padding:36px;border-right:1px solid var(--line);}
@media (max-width:800px){ .calc-inputs{border-right:none;border-bottom:1px solid var(--line);} }
.field{margin-bottom:26px;}
.field label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:10px;}
.field label .fval{font-family:'IBM Plex Mono',monospace;color:var(--brand-blue);}
input[type=range]{width:100%;accent-color:var(--brand-blue);}
.calc-output{padding:36px;display:flex;flex-direction:column;justify-content:center;background:var(--paper-2);}
.calc-emi{font-family:'Fraunces',serif;font-size:38px;font-weight:600;color:var(--brand-blue);margin-bottom:4px;}
.calc-emi-lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-soft);margin-bottom:22px;}
.calc-line{display:flex;justify-content:space-between;padding:10px 0;border-top:1px dotted var(--line);font-size:13.5px;}
.calc-line:first-of-type{border-top:none;}

/* ---------- PARTNER ---------- */
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media (max-width:840px){ .partner-grid{grid-template-columns:1fr;} }
.partner-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.pstat{background:var(--white);padding:22px;}
.pstat .num{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--brand-blue);}
.pstat .lbl{font-size:12px;color:var(--ink-soft);margin-top:4px;}

/* ---------- CHIPS ---------- */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.chip{border:1px solid var(--line);padding:9px 16px;font-size:13px;font-weight:500;background:var(--white);display:inline-block;}
.chip:hover{border-color:var(--brand-blue);color:var(--brand-blue);}

/* ---------- FINAL CTA ---------- */
.final-cta{background:var(--brand-blue);color:var(--white);text-align:center;padding:70px 28px;}
.final-cta h2{color:var(--white);}
.final-cta p{color:#D7E6E0;margin:14px 0 26px;}
.final-cta .btn-secondary{border-color:var(--white);color:var(--white);}
.final-cta .btn-secondary:hover{background:var(--white);color:var(--brand-blue);}

/* ---------- GENERIC CONTENT PAGE (About / Privacy / Terms) ---------- */
.content-page{padding:56px 0 80px;}
.content-page .page-title{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(30px,4vw,44px);margin-bottom:8px;}
.content-page .page-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-orange);margin-bottom:14px;display:block;}
.entry-content{max-width:760px;margin-top:32px;font-size:15.5px;color:var(--ink-soft);}
.entry-content h2,.entry-content h3{font-family:'Fraunces',serif;color:var(--ink);margin:32px 0 12px;}
.entry-content h2{font-size:24px;} .entry-content h3{font-size:19px;}
.entry-content p{margin-bottom:16px;}
.entry-content ul,.entry-content ol{margin:0 0 16px 22px;}
.entry-content li{margin-bottom:8px;}
.entry-content a{color:var(--brand-blue);border-bottom:1px solid var(--brand-blue);}

/* ---------- PRODUCT PAGES ---------- */
.product-hero{background:var(--paper-2);border-bottom:1px solid var(--line);padding:56px 0;}
.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item summary{font-family:'Fraunces',serif;font-weight:600;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:'IBM Plex Mono',monospace;color:var(--accent-orange);font-size:18px;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:12px;color:var(--ink-soft);font-size:14.5px;}
.doc-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:700px){ .doc-list{grid-template-columns:1fr;} }
.doc-item{background:var(--white);padding:16px 20px;font-size:14px;display:flex;gap:10px;align-items:flex-start;}
.doc-item::before{content:"—";color:var(--accent-orange);flex-shrink:0;}

/* ---------- CONTACT FORM ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
@media (max-width:840px){ .contact-grid{grid-template-columns:1fr;} }
.lms-form .field{margin-bottom:18px;}
.lms-form label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;}
.lms-form input,.lms-form textarea,.lms-form select{width:100%;border:1px solid var(--line);background:var(--white);padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;border-radius:2px;}
.lms-form input:focus,.lms-form textarea:focus,.lms-form select:focus{outline:2px solid var(--brand-blue);outline-offset:1px;}
.lms-form button{cursor:pointer;}
.form-notice{padding:14px 18px;border-left:3px solid var(--brand-blue);background:var(--paper-2);font-size:13.5px;margin-bottom:20px;}
.contact-info-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px dotted var(--line);}
.contact-info-item .k{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--accent-orange);min-width:90px;}

/* ---------- CAREERS ---------- */
.job-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 0.8fr;padding:20px 24px;border-bottom:1px solid var(--line);align-items:center;gap:12px;background:var(--white);}
.job-row.head{background:var(--paper-2);font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);}
@media (max-width:760px){ .job-row{grid-template-columns:1fr 1fr;row-gap:6px;} .job-row.head{display:none;} }

/* ---------- FOOTER ---------- */
.site-footer{background:var(--ink);color:#B9C1CC;padding:56px 0 24px;font-size:13.5px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
@media (max-width:800px){ .footer-grid{grid-template-columns:1fr 1fr;} }
.footer-grid h5{color:var(--white);font-size:12px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:16px;font-family:'IBM Plex Mono',monospace;}
.footer-grid a{display:block;color:#B9C1CC;margin-bottom:10px;}
.footer-grid a:hover{color:var(--white);}
.footer-brand{font-family:'Fraunces',serif;font-size:20px;color:var(--white);margin-bottom:12px;}
.legal{border-top:1px solid #2A3646;padding-top:22px;font-size:12px;color:#8993A1;line-height:1.7;}
