/* =========================================================
   INT TECH PVT LTD — Core Stylesheet
   Design language: "Live Rail" — payment-switch inspired
   ========================================================= */

:root{
  /* Color tokens — derived from the INT Tech wordmark (rust brown + amber) */
  --ink:        #2A1B0F;   /* headings / darkest text, warm near-black */
  --ink-soft:   #4A3320;   /* secondary dark text */
  --ink-line:   #E9DBC8;   /* hairlines on deep/alt surfaces */
  --paper:      #FFFFFF;   /* primary light bg */
  --paper-alt:  #FBF3E9;   /* soft warm alt surface */
  --paper-deep: #F3E4D2;   /* deeper warm surface (hero / footer) */
  --card:       #FFFFFF;
  --brand:      #974B00;   /* primary accent — logo rust brown */
  --brand-dark: #713700;
  --brand-tint: #F3E0CC;   /* pale brand tint for icon chips */
  --amber:      #FFBE00;   /* secondary accent — logo amber dot */
  --amber-dark: #E0A600;
  --slate:      #5B4A3C;   /* body text on light */
  --slate-soft: #8A7566;
  --mist:       #8A7566;   /* muted text (kept for compatibility) */
  --line:       #EEE1D2;   /* hairlines on light */

  /* Category accents (all warm, distinguished by hue/value) */
  --cat-payments:  #974B00;
  --cat-lending:   #C97A33;
  --cat-banking:   #B8860B;
  --cat-enterprise:#6B4226;

  /* Type */
  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --radius: 14px;
  --radius-sm: 8px;
  --shadow-soft: 0 20px 50px -20px rgba(87,52,10,.18);
  --shadow-card: 0 10px 30px -14px rgba(87,52,10,.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--slate);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display{
  font-family:var(--font-display);
  color:var(--ink);
  font-weight:700;
  letter-spacing:-0.02em;
}
p{line-height:1.75;}
a{text-decoration:none;color:inherit;}
::selection{background:var(--brand);color:#fff;}

.mono{font-family:var(--font-mono);}

.eyebrow{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand);
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-weight:500;
  margin-bottom:1rem;
}
.eyebrow::before{
  content:"";
  width:22px;height:2px;
  background:var(--amber-dark);
  display:inline-block;
}
.eyebrow.on-dark{color:var(--brand);}

.section{padding:6.5rem 0;}
.section-sm{padding:4rem 0;}
@media(max-width:767px){
  .section{padding:4rem 0;}
  .section-sm{padding:2.75rem 0;}
}
.bg-deep{background:var(--paper-deep);color:var(--slate);}
.bg-deep h2,.bg-deep h3,.bg-deep h4{color:var(--ink);}
.bg-alt{background:var(--paper-alt);}
.text-brand{color:var(--brand)!important;}
.text-amber{color:var(--amber-dark)!important;}
.lead-lg{font-size:1.2rem;color:var(--slate-soft);}

/* ---------- Buttons ---------- */
.btn{border-radius:999px;font-weight:600;padding:.8rem 1.7rem;font-size:.95rem;transition:.25s ease;}
.btn-primary{background:var(--brand);border-color:var(--brand);}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);transform:translateY(-2px);}
.btn-teal{background:var(--amber);border-color:var(--amber);color:var(--ink);}
.btn-teal:hover{background:var(--amber-dark);border-color:var(--amber-dark);color:var(--ink);transform:translateY(-2px);}
.btn-outline-light{border-width:1.5px;border-color:rgba(42,27,15,.35)!important;color:var(--ink)!important;}
.btn-outline-light:hover{background:var(--ink);color:#fff!important;border-color:var(--ink)!important;}
.btn-outline-ink{border:1.5px solid var(--ink);color:var(--ink);}
.btn-outline-ink:hover{background:var(--ink);color:#fff;}
.btn-sm-pill{padding:.5rem 1.1rem;font-size:.82rem;border-radius:999px;}

/* =========================================================
   TOP BAR (above navbar)
   ========================================================= */
.topbar{
  background:var(--ink);color:var(--paper-alt);
  font-family:var(--font-mono);font-size:.76rem;
  padding:.55rem 0;
}
.topbar a{color:var(--paper-alt);display:inline-flex;align-items:center;gap:.4rem;opacity:.92;}
.topbar a:hover{color:var(--amber);opacity:1;}
.topbar-left span{display:inline-flex;align-items:center;gap:.4rem;opacity:.85;}
.topbar svg{width:13px;height:13px;flex-shrink:0;}
.topbar-badge{
  display:inline-flex;align-items:center;gap:.4rem;color:var(--amber);
  border:1px solid rgba(255,190,0,.35);padding:.25rem .65rem;border-radius:999px;font-size:.7rem;
}
.topbar-badge.alt{color:#FFD37A;border-color:rgba(255,211,122,.3);}
.social-row.sm a{width:26px;height:26px;border-color:rgba(255,255,255,.2);margin-right:0;}
.social-row.sm{display:flex;gap:.4rem;}
.social-row.sm svg{width:12px;height:12px;}
.social-row.sm a:hover{background:var(--amber);border-color:var(--amber);color:var(--ink);}
@media(max-width:767px){
  .topbar-left span{display:none;}
  .topbar-badge{display:none;}
}

/* =========================================================
   NAVBAR
   ========================================================= */
.navbar{
  padding:.9rem 0;
  transition:.3s ease;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:1030;
}
.navbar.scrolled{
  padding:.55rem 0;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 30px -20px rgba(87,52,10,.25);
}
.navbar .container{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;}
.navbar-side{flex:0 0 auto;display:flex;align-items:center;min-width:0;}
.navbar-side.navbar-right{margin-left:.5rem;}
@media(min-width:992px){
  .navbar .container{flex-wrap:nowrap;}
  #mainNav.navbar-collapse{flex:1 1 auto;display:flex;min-width:0;}
  #mainNav .navbar-nav{margin:0 auto;}
}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;color:var(--ink);line-height:1;min-width:0;}
.brand img.brand-logo{height:34px;width:auto;display:block;}
.brand-tagline{
  display:block;font-family:var(--font-mono);
  font-size:9px !important;
  letter-spacing:.02em;
  color:var(--slate-soft);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  max-width:min(70vw,320px);
}

.navbar-nav .nav-link{
  font-weight:600;font-size:.92rem;color:var(--ink)!important;
  padding:.5rem 1rem!important;position:relative;
  display:inline-flex;align-items:center;gap:.45rem;
}
.navbar-nav .nav-link svg{width:16px;height:16px;flex-shrink:0;color:var(--brand);}
.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--brand)!important;}
.dropdown-menu{
  border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);
  padding:.6rem;margin-top:.5rem!important;min-width:230px;
}
.dropdown-menu .dropdown-header{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--slate-soft);text-transform:uppercase;}
.dropdown-item{border-radius:8px;padding:.55rem .8rem;font-weight:600;font-size:.9rem;color:var(--ink);}
.dropdown-item:hover{background:var(--paper-alt);color:var(--brand);}
.dropdown-item.active{background:var(--brand-tint);color:var(--brand);}
.nav-cta{margin-left:.5rem;}

/* =========================================================
   MEGA MENU (Products)
   ========================================================= */
.megamenu-parent{position:relative;}
.dropdown-menu.megamenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  width:min(860px,92vw);padding:0;overflow:hidden;margin-top:.7rem!important;
  border-radius:var(--radius);
}
.megamenu-inner{display:flex;min-height:340px;}
.megamenu-tabs{
  width:250px;flex-shrink:0;background:var(--paper-alt);
  padding:1.4rem 1rem;display:flex;flex-direction:column;gap:.3rem;
  border-right:1px solid var(--line);
}
.mm-tab{
  text-align:left;background:none;border:none;padding:.8rem .9rem;border-radius:10px;
  font-weight:600;font-size:.88rem;color:var(--ink-soft);cursor:pointer;transition:.2s;
  display:block;width:100%;
}
.mm-tab:hover,.mm-tab.active{background:var(--card);color:var(--brand);box-shadow:var(--shadow-card);}
.megamenu-panels{flex:1;padding:1.4rem 1.5rem;position:relative;}
.mm-panel{display:none;}
.mm-panel.active{display:block;animation:mmFade .25s ease;}
@keyframes mmFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.mm-item{
  display:flex;align-items:center;gap:.85rem;padding:.6rem;border-radius:12px;transition:.2s;
}
.mm-item:hover{background:var(--paper-alt);}
.mm-thumb{position:relative;width:56px;height:56px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--paper-deep);}
.mm-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.mm-icon{
  position:absolute;bottom:-4px;right:-4px;width:22px;height:22px;border-radius:50%;
  background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;
}
.mm-icon svg{width:11px;height:11px;}
.mm-text strong{display:block;font-size:.9rem;color:var(--ink);line-height:1.25;}
.mm-text small{display:block;font-size:.76rem;color:var(--slate-soft);margin-top:2px;line-height:1.3;}
.megamenu-foot{
  padding:.9rem 1.5rem;border-top:1px solid var(--line);background:var(--paper-alt);
  display:flex;justify-content:flex-end;
}
.megamenu-foot a{font-family:var(--font-mono);font-size:.82rem;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:.4rem;}
.megamenu-foot a svg{width:14px;height:14px;}

@media(max-width:991px){
  .dropdown-menu.megamenu{position:static;transform:none;width:100%;box-shadow:none;border:1px solid var(--line);}
  .megamenu-inner{flex-direction:column;min-height:0;}
  .megamenu-tabs{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);}
  .mm-tab{white-space:nowrap;}
  .mm-grid{grid-template-columns:1fr;}
}

/* =========================================================
   HERO / RAIL SIGNATURE
   ========================================================= */
.hero{
  position:relative;
  background:var(--paper-deep);
  color:var(--slate);
  padding:4.5rem 0 5rem;
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 400px at 85% 10%, rgba(151,75,0,.14), transparent 60%),
             radial-gradient(600px 400px at 10% 90%, rgba(255,190,0,.18), transparent 60%);
  pointer-events:none;
}
.hero .container{position:relative;z-index:2;}
.hero h1{color:var(--ink);font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.12;}
.hero p.lead-lg{color:var(--slate);}
.hero-stats{display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:2.6rem;}
.hero-stats .stat b{display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--ink);}
.hero-stats .stat span{font-size:.78rem;color:var(--slate-soft);font-family:var(--font-mono);letter-spacing:.05em;}

.page-hero{
  position:relative;background:var(--paper-deep);color:var(--slate);
  padding:3.75rem 0 4rem;overflow:hidden;
}
.page-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(650px 350px at 90% 0%, rgba(151,75,0,.16), transparent 60%);
}
.page-hero .container{position:relative;z-index:2;}
.page-hero h1{color:var(--ink);font-size:clamp(1.9rem,3.6vw,2.9rem);}
.crumb{font-family:var(--font-mono);font-size:.78rem;color:var(--slate-soft);letter-spacing:.05em;}
.crumb a{color:var(--brand);}
.crumb a:hover{text-decoration:underline;}

/* Rail graphic */
.rail-wrap{position:relative;width:100%;}
.rail-line{width:100%;height:auto;display:block;}
.rail-node-label{font-family:var(--font-mono);font-size:11px;fill:var(--slate-soft);letter-spacing:.03em;}
.rail-divider{width:100%;height:64px;overflow:hidden;position:relative;}
.rail-divider svg{width:100%;height:100%;}

@keyframes pulseNode{
  0%,100%{opacity:.55;r:5;}
  50%{opacity:1;r:7;}
}
.pulse-node{animation:pulseNode 2.4s ease-in-out infinite;}
.pulse-node:nth-child(2){animation-delay:.3s;}
.pulse-node:nth-child(3){animation-delay:.6s;}
.pulse-node:nth-child(4){animation-delay:.9s;}
.pulse-node:nth-child(5){animation-delay:1.2s;}

/* =========================================================
   CARDS / GRIDS
   ========================================================= */
.pillar-card,.product-card,.info-card,.value-card,.job-card,.step-card{
  background:var(--card);
  border-radius:var(--radius);
  border:1px solid var(--line);
  padding:2.1rem 1.8rem;
  height:100%;
  transition:.3s ease;
  position:relative;
}
.pillar-card:hover,.product-card:hover,.value-card:hover,.job-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-card);
  border-color:transparent;
}
.pillar-card .icon,.product-card .icon{
  width:52px;height:52px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-tint);color:var(--brand);margin-bottom:1.3rem;
}
.pillar-card .icon svg,.product-card .icon svg{width:26px;height:26px;}

.product-card{border-top:3px solid var(--brand);}
.product-card.cat-payments{border-top-color:var(--cat-payments);}
.product-card.cat-payments .icon{color:var(--cat-payments);}
.product-card.cat-lending{border-top-color:var(--cat-lending);}
.product-card.cat-lending .icon{color:var(--cat-lending);}
.product-card.cat-banking{border-top-color:var(--cat-banking);}
.product-card.cat-banking .icon{color:var(--cat-banking);}
.product-card.cat-enterprise{border-top-color:var(--cat-enterprise);}
.product-card.cat-enterprise .icon{color:var(--cat-enterprise);}
.product-card .tag{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--slate-soft);
  display:inline-block;margin-bottom:.7rem;
}
.product-card h3{font-size:1.2rem;margin-bottom:.6rem;}
.product-card .more{font-family:var(--font-mono);font-size:.82rem;color:var(--brand);font-weight:600;}
.product-card .more svg{width:14px;height:14px;transition:.2s;}
.product-card:hover .more svg{transform:translateX(4px);}

.stat-block{text-align:center;padding:1.5rem 1rem;}
.stat-block b{display:block;font-family:var(--font-display);font-size:2.6rem;color:var(--ink);}
.stat-block span{font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-soft);}
.bg-deep .stat-block b{color:var(--ink);}
.bg-deep .stat-block span{color:var(--slate-soft);}

.check-list{list-style:none;padding:0;margin:0;}
.check-list li{
  display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px dashed var(--line);
  font-weight:500;color:var(--ink);
}
.check-list li:last-child{border-bottom:none;}
.check-list li svg{flex-shrink:0;width:20px;height:20px;color:var(--brand);margin-top:2px;}
.bg-deep .check-list li{border-color:var(--ink-line);color:var(--ink);}

/* Feature strip on product page */
.feature-row{
  display:flex;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line);
}
.feature-row:last-child{border-bottom:none;}
.feature-row .num{font-family:var(--font-mono);color:var(--brand);font-weight:700;font-size:.95rem;min-width:34px;}
.feature-row h4{font-size:1.02rem;margin-bottom:.3rem;}
.feature-row p{margin:0;font-size:.95rem;}

/* Slider */
.hero-slider{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);}
.hero-slider .carousel-item img{height:420px;object-fit:cover;width:100%;filter:saturate(1.05);}
.hero-slider::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(42,27,15,0) 40%, rgba(42,27,15,.72) 100%);
}
.hero-slider .carousel-caption{
  z-index:2;text-align:left;left:1.6rem;right:1.6rem;bottom:1.4rem;
  font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;
}
.carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.5;}
.carousel-indicators .active{opacity:1;background:var(--amber);}

/* Timeline / roadmap */
.roadmap-track{position:relative;padding-left:2.4rem;}
.roadmap-track::before{
  content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;
  background:repeating-linear-gradient(180deg,var(--brand) 0 6px, transparent 6px 12px);
}
.roadmap-item{position:relative;padding-bottom:3rem;}
.roadmap-item:last-child{padding-bottom:0;}
.roadmap-item::before{
  content:"";position:absolute;left:-2.4rem;top:4px;width:20px;height:20px;border-radius:50%;
  background:var(--paper);border:3px solid var(--brand);
}
.roadmap-item.done::before{background:var(--brand);}
.roadmap-item.progress::before{background:var(--amber);border-color:var(--amber-dark);}
.roadmap-item .phase-tag{font-family:var(--font-mono);font-size:.72rem;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;}
.roadmap-item.progress .phase-tag{color:var(--amber-dark);}

/* Job card */
.job-card{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.6rem 1.8rem;}
.job-card .meta span{font-family:var(--font-mono);font-size:.75rem;color:var(--slate-soft);margin-right:1rem;}
.job-card h4{margin-bottom:.35rem;font-size:1.08rem;}

/* Value card */
.value-card{text-align:left;}
.value-card .icon{margin-bottom:1rem;}

/* Contact */
.contact-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);padding:1.8rem;height:100%;}
.contact-card .icon{width:44px;height:44px;border-radius:10px;background:var(--brand-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.form-control,.form-select{
  border-radius:10px;border:1px solid var(--line);padding:.75rem 1rem;font-size:.95rem;
}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(151,75,0,.12);}
label{font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:.35rem;}

/* CTA band */
.cta-band{
  background:linear-gradient(120deg,var(--brand),var(--brand-dark));
  border-radius:var(--radius);
  color:#fff;padding:3.2rem;position:relative;overflow:hidden;
}
.cta-band::after{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
  background:rgba(255,190,0,.18);
}
.cta-band h2{color:#fff;}

/* Footer */
footer.site-footer{background:var(--paper-deep);color:var(--slate);padding-top:4.5rem;border-top:1px solid var(--line);}
footer.site-footer h5{color:var(--ink);font-family:var(--font-display);font-size:1rem;margin-bottom:1.2rem;}
footer.site-footer a{color:var(--slate);font-size:.92rem;}
footer.site-footer a:hover{color:var(--brand);}
footer.site-footer ul{list-style:none;padding:0;}
footer.site-footer ul li{margin-bottom:.65rem;}
.footer-bottom{border-top:1px solid var(--ink-line);margin-top:3rem;padding:1.4rem 0;font-size:.82rem;color:var(--slate-soft);}
.social-row a{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--ink-line);color:var(--slate);
  display:inline-flex;align-items:center;justify-content:center;margin-right:.5rem;
}
.social-row a:hover{background:var(--brand);border-color:var(--brand);color:#fff;}
.footer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;}
.footer-brand img{height:32px;width:auto;}

.back-to-top{
  position:fixed;bottom:26px;right:26px;width:46px;height:46px;border-radius:50%;
  background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-card);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.3s ease;z-index:999;border:none;
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* Reveal-on-scroll fallback (used with AOS but degrade gracefully) */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

hr.soft{border-top:1px solid var(--line);opacity:1;}
.badge-soft{
  background:var(--brand-tint);color:var(--brand);font-family:var(--font-mono);
  font-weight:500;font-size:.72rem;padding:.4rem .7rem;border-radius:999px;letter-spacing:.03em;
  display:inline-flex;align-items:center;gap:.4rem;
}
.badge-soft svg{width:13px;height:13px;flex-shrink:0;}
