/* ===== Nivasa Capital — design tokens ===== */
:root{
  --blue-900:#12315f; --blue-800:#17407c; --blue-700:#1e52a0; --blue-600:#266ace;
  --blue-500:#2a74e2; --blue-400:#5590e8; --blue-300:#70a2ec; --blue-200:#9dbff2;
  --blue-100:#bdd4f6; --blue-50:#eaf1fc;
  --green-900:#295718; --green-800:#36711f; --green-700:#469228; --green-600:#59bb33;
  --green-500:#62ce38; --green-400:#81d860; --green-300:#96de7a; --green-200:#b7e8a3;
  --green-100:#cef0c1; --green-50:#effaeb;
  --grey-900:#131313; --grey-800:#191919; --grey-700:#202020; --grey-600:#292929;
  --grey-500:#2d2d2d; --grey-400:#575757; --grey-300:#727272; --grey-200:#9e9e9e;
  --grey-100:#bebebe; --grey-50:#eaeaea;
  --white:#ffffff;
  --radius:14px;
  --maxw:1180px;
  --shadow:0 8px 28px rgba(18,49,95,.10);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Geist","Satoshi",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--grey-600);
  background:var(--white);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-weight:700;color:var(--grey-900);margin:0 0 12px;letter-spacing:-.01em;}
h1{font-size:46px;line-height:1.08;}
h2{font-size:32px;line-height:1.15;}
h3{font-size:20px;}
p{margin:0 0 14px;color:var(--grey-400);}
.eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;
  color:var(--blue-700);text-transform:uppercase;margin-bottom:10px;
}
.section{padding:72px 0;}
.section-tight{padding:48px 0;}
.center{text-align:center;}
.muted{color:var(--grey-300);}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;
  border:1.5px solid transparent;cursor:pointer;transition:.15s ease;
}
.btn-primary{background:var(--blue-600);color:var(--white);}
.btn-primary:hover{background:var(--blue-700);}
.btn-outline{border-color:var(--grey-100);color:var(--grey-700);background:var(--white);}
.btn-outline:hover{border-color:var(--blue-600);color:var(--blue-700);}
.btn-white{background:var(--white);color:var(--blue-800);}
.btn-white:hover{background:var(--blue-50);}
.btn-green{background:var(--green-600);color:var(--white);}
.btn-green:hover{background:var(--green-700);}

/* ---- header ---- */
.topbar{background:var(--blue-900);color:var(--blue-100);font-size:13px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;flex-wrap:wrap;gap:6px;}
.topbar a{color:var(--blue-100);}
.topbar a:hover{color:var(--white);}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--grey-50);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:20px;position:relative;}
.logo{font-size:20px;font-weight:800;color:var(--blue-900);letter-spacing:-.02em;display:flex;align-items:center;gap:8px;}
.logo span{color:var(--green-700);}
.navlinks{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.navlinks>a{font-size:14.5px;font-weight:600;color:var(--grey-600);padding:6px 0;position:relative;}
.navlinks>a:hover, .navlinks>a.active{color:var(--blue-700);}
.navcta{display:flex;gap:10px;align-items:center;}
nav .btn{padding:10px 20px;font-size:14px;}

/* ---- header nav dropdown (Our Products) ---- */
.navlinks .has-dropdown{position:relative;display:flex;align-items:center;}
.navlinks .has-dropdown>a{font-size:14.5px;font-weight:600;color:var(--grey-600);padding:6px 0;cursor:pointer;}
.navlinks .has-dropdown>a:hover, .navlinks .has-dropdown>a.active{color:var(--blue-700);}
.navlinks .has-dropdown .dropdown{
  position:absolute;top:100%;left:0;margin-top:10px;
  background:var(--white);border:1px solid var(--grey-50);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:6px;min-width:230px;
  display:flex;flex-direction:column;gap:2px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
  z-index:60;
}
.navlinks .has-dropdown:hover .dropdown,
.navlinks .has-dropdown:focus-within .dropdown{
  opacity:1;visibility:visible;transform:translateY(0);
}
.navlinks .has-dropdown .dropdown a{padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;color:var(--grey-600);}
.navlinks .has-dropdown .dropdown a:hover{background:var(--grey-50);color:var(--blue-700);}

/* ---- mobile burger + submenu toggle (hidden on desktop) ---- */
.burger{
  display:none;flex-direction:column;justify-content:center;align-items:stretch;gap:5px;
  width:38px;height:38px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;
}
.burger span{display:block;width:100%;height:2.5px;background:var(--blue-900);border-radius:2px;transition:.2s ease;}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.dd-toggle{display:none;}

/* ---- language toggle (policy pages only) ---- */
/* Pinned to the top-right of the page-hero block, out of the header nav entirely. */
.lang-toggle{
  position:absolute;top:0;right:0;
  display:flex;gap:2px;background:var(--white);border:1px solid var(--grey-50);border-radius:999px;padding:3px;flex-shrink:0;
}
.lang-toggle a{padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--grey-400);letter-spacing:.02em;}
.lang-toggle a.active{background:var(--blue-600);color:var(--white);}
.lang-toggle a:hover:not(.active){color:var(--blue-700);}
@media (max-width: 600px){
  .lang-toggle{position:static;margin-bottom:14px;}
}

/* ---- hero ---- */
.hero{
  background:linear-gradient(160deg,var(--blue-600) 0%, var(--blue-800) 55%, var(--blue-900) 100%);
  color:var(--white);
  padding:80px 0 60px;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:stretch;}
.hero h1{color:var(--white);font-size:48px;}
.hero p.lead{color:var(--blue-100);font-size:18px;max-width:520px;}
.hero-ctas{display:flex;gap:14px;margin:26px 0 34px;flex-wrap:wrap;}
.trust-row{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);padding-top:22px;}
.trust-item{font-size:13.5px;color:var(--blue-100);display:flex;align-items:center;gap:8px;}
.trust-item b{color:var(--white);display:block;font-size:20px;}
.hero-image{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  min-height:380px;
  box-shadow:0 24px 60px rgba(8,20,40,.35);
  border:1px solid rgba(255,255,255,.14);
}
.hero-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(18,49,95,0) 55%,rgba(18,49,95,.35) 100%);
  pointer-events:none;
}
.hero-img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-card{
  background:var(--white);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);color:var(--grey-700);
}
.hero-card h3{margin-bottom:14px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12.5px;font-weight:700;color:var(--grey-300);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.field input, .field select{width:100%;padding:11px 12px;border:1.5px solid var(--grey-50);border-radius:8px;font-size:15px;font-family:inherit;color:var(--grey-700);}
.field input:focus, .field select:focus{outline:none;border-color:var(--blue-400);}

/* ---- product cards ---- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.card{background:var(--white);border:1px solid var(--grey-50);border-radius:var(--radius);padding:26px;transition:.2s;}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.card .tag{display:inline-block;background:var(--green-50);color:var(--green-800);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:14px;}
.icon-badge{
  width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:var(--blue-50);color:var(--blue-700);font-size:20px;margin-bottom:16px;font-weight:800;
}
.card.alt .icon-badge{background:var(--green-50);color:var(--green-800);}

/* ---- why us / uplifting sections (gradients) ---- */
.uplift{
  border-radius:20px;padding:56px 44px;color:var(--white);
  background:linear-gradient(135deg,var(--green-600) 0%, var(--green-900) 100%);
}
.uplift.blue{background:linear-gradient(135deg,var(--blue-500) 0%, var(--blue-900) 100%);}
.uplift.teal{background:linear-gradient(160deg,#3ecf9b 0%, var(--blue-600) 100%);}
.uplift h2{color:var(--white);}
.uplift p{color:rgba(255,255,255,.85);}
.uplift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:28px;}
.uplift-item{background:rgba(255,255,255,.12);border-radius:12px;padding:20px;}
.uplift-item b{display:block;font-size:26px;margin-bottom:4px;}

/* ---- steps ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.step{padding:0 18px;position:relative;}
.step .num{
  width:38px;height:38px;border-radius:50%;background:var(--blue-600);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:14px;
}

/* ---- testimonials ---- */
.testi{background:var(--grey-50);border-radius:var(--radius);padding:24px;}
.testi p{color:var(--grey-600);font-style:italic;}
.testi .who{font-weight:700;color:var(--grey-800);font-style:normal;margin-top:10px;}
.testi .who span{display:block;font-weight:400;color:var(--grey-300);font-size:13px;}

/* ---- band ---- */
.band{background:var(--blue-50);border-radius:20px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.band h2{margin-bottom:6px;}

/* ---- tables / lists ---- */
.faq{border-top:1px solid var(--grey-50);}
.faq-item{border-bottom:1px solid var(--grey-50);}
.faq-item summary{padding:18px 4px;cursor:pointer;font-weight:600;color:var(--grey-800);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-size:20px;color:var(--blue-600);}
.faq-item[open] summary::after{content:"–";}
.faq-item .a{padding:0 4px 18px;color:var(--grey-400);}

.doc-list{list-style:none;padding:0;margin:0;}
.doc-list li{padding:14px 0;border-bottom:1px solid var(--grey-50);display:flex;gap:12px;align-items:flex-start;}
.doc-list li::before{content:"✓";color:var(--green-700);font-weight:800;}

.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.policy-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;border:1px solid var(--grey-50);border-radius:10px;font-weight:600;color:var(--grey-700);
}
.policy-link:hover{border-color:var(--blue-300);color:var(--blue-700);background:var(--blue-50);}
.policy-link small{display:block;font-weight:400;color:var(--grey-300);margin-top:3px;}

.badge-soft{display:inline-block;background:var(--grey-50);color:var(--grey-500);font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;margin:3px 6px 3px 0;}

/* ---- footer ---- */
.pre-footer{background:var(--grey-900);color:var(--grey-100);padding-top:20px;}
.disclaimer-strip{background:var(--grey-800);color:var(--grey-200);font-size:12.5px;padding:14px 0;}
.disclaimer-strip .wrap{display:flex;gap:10px;align-items:flex-start;}
footer.site{background:var(--grey-900);color:var(--grey-200);padding:56px 0 26px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px;}
.foot-grid h4{color:var(--white);font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px;}
.foot-grid a{display:block;color:var(--grey-200);font-size:14px;padding:5px 0;}
.foot-grid a:hover{color:var(--white);}
.foot-logo{font-size:20px;font-weight:800;color:var(--white);margin-bottom:10px;}
.foot-logo span{color:var(--green-400);}
.foot-bottom{border-top:1px solid var(--grey-700);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--grey-300);}
.social{display:flex;gap:10px;}
.social a{width:34px;height:34px;border-radius:50%;background:var(--grey-700);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:13px;}

/* ---- page header (inner pages) ---- */
.page-hero{background:linear-gradient(120deg,var(--blue-50), var(--white));padding:56px 0 40px;border-bottom:1px solid var(--grey-50);}
.breadcrumb{font-size:13px;color:var(--grey-300);margin-bottom:12px;}
.breadcrumb a{color:var(--blue-700);}
.tabbar{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--grey-50);margin-bottom:36px;}
.tabbar a{padding:12px 18px;font-weight:600;font-size:14.5px;color:var(--grey-400);border-bottom:2.5px solid transparent;}
.tabbar a.active, .tabbar a:hover{color:var(--blue-700);border-color:var(--blue-600);}

/* ---- branch locator (tabbed) ---- */
.branch-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--grey-50);margin-bottom:32px;}
.tab-btn{
  padding:12px 18px;font-weight:600;font-size:14.5px;color:var(--grey-400);
  border:none;background:none;border-bottom:2.5px solid transparent;cursor:pointer;font-family:inherit;
}
.tab-btn:hover{color:var(--blue-700);}
.tab-btn.active{color:var(--blue-700);border-color:var(--blue-600);}

.branch-panel{display:none;}
.branch-panel.active{display:block;}

.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;}
.nap-card{background:var(--white);border:1px solid var(--grey-50);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;justify-content:center;}
.nap-row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--grey-50);}
.nap-row:last-of-type{border-bottom:none;}
.nap-row .ic{width:90px;flex-shrink:0;font-size:12px;font-weight:700;color:var(--grey-300);text-transform:uppercase;letter-spacing:.04em;}
.nap-row .txt{font-size:14.5px;color:var(--grey-700);}

.manager-card{display:flex;align-items:center;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--grey-50);}
.manager-photo{width:52px;height:52px;border-radius:50%;background:var(--blue-50);flex-shrink:0;object-fit:cover;}
.manager-name{font-weight:700;color:var(--grey-800);font-size:14.5px;}
.manager-role{font-size:13px;color:var(--grey-300);}

.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--grey-50);min-height:320px;background:var(--grey-50);display:flex;align-items:center;justify-content:center;}
.map-embed iframe{width:100%;height:320px;border:0;display:block;}
.map-embed .map-placeholder{padding:24px;text-align:center;font-size:13px;color:var(--grey-300);}

/* ---- policy document pages ---- */
.doc-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--blue-50);border-radius:var(--radius);padding:22px 26px;margin:28px 0 8px;}
.doc-meta .k{display:block;color:var(--blue-700);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px;margin-bottom:4px;}
.doc-meta .v{color:var(--grey-800);font-weight:600;font-size:14px;}

.policy-doc{max-width:820px;}
.policy-doc h2{margin-top:44px;padding-top:12px;border-top:1px solid var(--grey-50);}
.policy-doc h2:first-of-type{border-top:none;margin-top:8px;padding-top:0;}
.policy-doc h3{margin-top:28px;color:var(--blue-800);font-size:17px;}
.policy-doc p{color:var(--grey-500);}
.policy-doc ul, .policy-doc ol{padding-left:22px;margin:0 0 16px;color:var(--grey-500);}
.policy-doc li{margin-bottom:8px;}
.policy-doc ol[type="a"]{list-style-type:lower-alpha;}

.policy-table{width:100%;border-collapse:collapse;margin:16px 0 26px;font-size:13.5px;}
.policy-table th, .policy-table td{text-align:left;padding:12px 14px;border:1px solid var(--grey-50);vertical-align:top;}
.policy-table th{background:var(--grey-50);color:var(--grey-800);font-weight:700;}

.contact-channels{list-style:none;padding:0;margin:0 0 20px;}
.contact-channels li{padding:10px 0 10px 28px;position:relative;border-bottom:1px solid var(--grey-50);color:var(--grey-600);font-size:14.5px;}
.contact-channels li:last-child{border-bottom:none;}
.contact-channels li::before{content:"→";position:absolute;left:0;color:var(--blue-600);font-weight:700;}

.escalation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0 26px;}
.escalation-card{background:var(--white);border:1px solid var(--grey-50);border-radius:var(--radius);padding:20px;}
.escalation-card .level{display:inline-block;background:var(--blue-50);color:var(--blue-700);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:999px;margin-bottom:10px;}
.escalation-card .name{font-weight:700;color:var(--grey-800);font-size:15px;}
.escalation-card .role{color:var(--grey-300);font-size:13px;margin-bottom:8px;}
.escalation-card .detail{font-size:13.5px;color:var(--grey-500);}

@media (max-width: 980px){
  .doc-meta{grid-template-columns:repeat(2,1fr);}
  .escalation-grid{grid-template-columns:1fr;}
}

@media (max-width: 980px){
  .info-grid{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-image{min-height:260px;}
  .grid3, .grid4, .uplift-grid, .steps, .policy-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:repeat(2,1fr);}

  /* ---- hamburger nav: compact card anchored under the burger ---- */
  .burger{display:flex;}
  .navlinks{
    display:none;
    position:absolute;top:100%;right:24px;left:auto;
    width:240px;
    background:var(--white);
    flex-direction:column;align-items:stretch;gap:0;
    padding:8px 0;
    box-shadow:0 14px 30px rgba(18,49,95,.14);
    border:1px solid var(--grey-50);
    border-radius:var(--radius);
    max-height:80vh;overflow-y:auto;
    z-index:100;
  }
  .navlinks.open{display:flex;}
  .navlinks>a{display:block;padding:14px 20px;border-bottom:1px solid var(--grey-50);text-align:center;}
  .navlinks .has-dropdown{
    position:relative;
    display:grid;grid-template-columns:1fr;grid-template-areas:"label" "dropdown";
    border-bottom:1px solid var(--grey-50);
  }
  .navlinks .has-dropdown>a{grid-area:label;display:block;padding:14px 20px;text-align:center;cursor:pointer;}
  .dd-toggle{display:none;}
  .navlinks .has-dropdown .dropdown{
    grid-area:dropdown;
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:none;border-radius:0;padding:0;margin:0;min-width:0;
    width:100%;background:var(--grey-50);
    display:none;
  }
  .navlinks .has-dropdown.open .dropdown{display:block;}
  .navlinks .has-dropdown .dropdown a{display:block;padding:12px 20px;text-align:center;border-bottom:1px solid var(--white);}
  .navlinks .has-dropdown .dropdown a:last-child{border-bottom:none;}
}
@media (max-width: 600px){
  h1{font-size:34px;}
  .hero h1{font-size:32px;}
  .grid3, .grid4, .uplift-grid, .steps, .policy-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .band{flex-direction:column;text-align:center;}
}
.logo img {
  display: block;
  height: 42px;
  width: auto;
}

.foot-logo img {
  display: block;
  height: 42px;
  width: auto;
}
