@import url('https://fonts.cdnfonts.com/css/montserrat');
@import url('https://fonts.cdnfonts.com/css/rajdhani');


/*=Typography=*/
html {
  font-size: 18px;
  overflow-x: hidden;
}

body {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}

section {
  padding: 5em 0;
}

p {
  font-size: 18px;
  line-height: 1.5;
}

a, a :hover, a:active {
  color: #fff;
  text-decoration: none;
}

h2 {
  font-family: 'montserrat', sans-serif;
}

.hp{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.fade-in-up.show {
  opacity: 1;
  transform: translateY(0);
}

.zoom-out {
  opacity: 0;
  transform: translateY(20px) scale(1.2);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.zoom-out.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-label {
  color: #6f6f6f;
  margin: 0 0 .6rem 0;
  font-weight: 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.section-label:before{
  content:"";
  width: 34px;
  height: 2px;
  background: linear-gradient(to left, #42688E, #3D8BD6);
}

/* =========================================================
   UNIVERSAL SUBPAGE SYSTEM
========================================================= */

:root{
  --bg-soft: #F1F1F1;
  --bg-white: #ffffff;
  --text-main: #232223;
  --text-soft: #6f6f6f;
  --text-muted: rgba(35,34,35,.72);
  --line-soft: rgba(0,0,0,0.06);
  --line-mid: rgba(0,0,0,0.10);
  --glass-white: rgba(255,255,255,0.72);
  --glass-soft: rgba(241,241,241,0.58);
  --blue: #3D8BD6;
  --blue-dark: #42688E;
  --shadow-soft: 0 12px 28px rgba(0,0,0,0.08);
  --shadow-card: 0 22px 55px rgba(0,0,0,0.10);
  --shadow-blue: 0 18px 36px rgba(61,139,214,0.22);
  --radius-xl: 26px;
  --radius-lg: 22px;
  --radius-md: 18px;
  --radius-sm: 14px;
}

/* shared headings */
.page-section h2,
.content-shell h2,
.info-shell h2,
.faq-shell h2,
.mini-cta-shell h2{
  margin: 0 0 .9rem 0;
  font-weight: 800;
  color: var(--text-main);
  letter-spacing: -0.02em;
  line-height: 1.12;
}

.page-section .sub,
.page-intro,
.content-lead{
  color: var(--text-muted);
  font-weight: 600;
}

/* =========================================================
   HERO – UNIVERSAL SUBPAGE HERO
========================================================= */

.sec-pagehero{
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(61,139,214,0.10), transparent 32%),
    linear-gradient(180deg, #f7fafc 0%, #eef3f8 100%);
  overflow: hidden;
  text-align: center;
}

.sec-pagehero .container{
  position: relative;
  z-index: 2;
}

.sec-pagehero::before{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(61,139,214,0.10) 0%, rgba(61,139,214,0.03) 45%, transparent 72%);
  pointer-events:none;
}

.sec-pagehero::after{
  content:"";
  position:absolute;
  inset: 40px auto auto -80px;
  width: 260px;
  height: 260px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.15) 58%, transparent 74%);
  pointer-events:none;
}

.pagehero-shell{
  position: relative;
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,0.58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--line-soft);
  box-shadow: var(--shadow-card);
  padding: 1.6rem 1.2rem;
  overflow: hidden;
}

.pagehero-shell::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(61,139,214,0.12) 0%, rgba(255,255,255,0) 58%),
    radial-gradient(900px 420px at 88% 110%, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0) 58%);
  opacity:.95;
}

.pagehero-content,
.pagehero-visual{
  position: relative;
  z-index: 1;
}

.pagehero-title{
  position: relative;
  z-index: 1;
  color: var(--text-main);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: .35em;
  font-family: 'montserrat', sans-serif;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.pagehero-title b{
  font-weight: 600;
  color: #7a7a7a;
}

.sec-pagehero p{
  color: #464445;
  font-weight: 500;
  padding: 0;
  margin-top: 1.2em;
  margin-bottom: 1.6em;
}

.pagehero-card{
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.52);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 16px 34px rgba(0,0,0,0.08);
  padding: .8rem;
  overflow: hidden;
}

.pagehero-card img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  user-drag: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.btn-container{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  margin-bottom: 1.1em;
}

@media (min-width: 768px){
  .btn-container{ justify-content: flex-start; }
}

/* primary CTA */
.btn-more{
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1.25rem;
  font-size: 18px;
  font-weight: 800;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: rgba(61, 139, 214, 0.28) 0px 14px 30px 0px;
  background: linear-gradient(to left, var(--blue-dark), var(--blue));
  background-size: 200%;
  animation: gradient-glow 5s infinite;
  text-decoration: none;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-focus-shadow-rgb: 61, 139, 214;
}

.btn-more i.fa-arrow-right{
  margin-right: 0;
  opacity: .95;
}

.btn-more:hover,
.btn-more:focus,
.btn-more:active{
  transform: translateY(-1px);
  color:#fff;
}

/* secondary CTA */
.btn-call{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 1rem 1.15rem;
  font-size: 18px;
  font-weight: 800;
  color: var(--text-main);
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(0,0,0,0.08);
  text-decoration: none;
}

.btn-call:hover,
.btn-call:focus{
  color: var(--text-main);
  transform: translateY(-1px);
  background: rgba(255,255,255,0.9);
}

.btn-more i,
.btn-call i{
  pointer-events: none;
}

.hero-microcopy{
  display:none;
}

@media (min-width: 768px){
  .hero-microcopy{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    color: var(--text-soft);
    font-weight:600;
    margin-top:.35rem;
  }

  .hero-microcopy i{
    color: var(--blue);
    margin-right:0;
  }
}

.hero-trust{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:1.25rem;
  margin-top:1.4rem;
  color:#464445;
}

@media (min-width: 768px){
  .hero-trust{ justify-content:flex-start; }
}

.trust-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

@media (min-width: 768px){
  .trust-item{
    align-items:flex-start;
    text-align:left;
  }
}

.trust-value{
  font-weight:800;
  font-size:20px;
  color: var(--text-main);
  letter-spacing:-0.02em;
}

.trust-label{
  font-weight:600;
  font-size:14px;
  color: var(--text-soft);
}

.trust-divider{
  width:1px;
  height:32px;
  background: rgba(0,0,0,0.08);
}

@keyframes gradient-glow {
  0% { background-position: 200%; }
  100% { background-position: 0%; }
}

@media (min-width: 768px){
  .sec-pagehero{
    text-align:left;
  }

  .sec-pagehero .row{
    display:flex;
    align-items:center;
  }

  .btn-more{ padding: 1rem 1.5rem; }
  .btn-call{ padding: 1rem 1.35rem; }
  .pagehero-shell{ padding: 2rem 2rem; }
}

@media (max-width: 767px){
  .sec-pagehero::before,
  .sec-pagehero::after{
    width:220px;
    height:220px;
  }
}

/* =========================================================
   UNIVERSAL CONTENT SECTIONS
========================================================= */

.page-section{
  position: relative;
  background: #fff;
  overflow: hidden;
}

.page-section.alt{
  background:
    radial-gradient(circle at bottom right, rgba(0,0,0,0.035), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f6f7 100%);
}

.page-section.soft{
  background:
    radial-gradient(circle at top left, rgba(61,139,214,0.10), transparent 32%),
    linear-gradient(180deg, #f7fafc 0%, #eef3f8 100%);
}

.page-section .container{
  position: relative;
  z-index: 1;
}

.content-shell{
  border-radius: var(--radius-xl);
  background: rgba(241,241,241,0.55);
  border: 1px solid var(--line-soft);
  box-shadow: var(--shadow-soft);
  padding: 1.6rem 1.2rem;
  margin-top: 2rem;
}

.page-section.soft .content-shell,
.page-section.alt .content-shell{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.58);
}

.page-intro{
  max-width: 62rem;
  margin: 0 auto 1.4rem auto;
}

.content-lead{
  font-weight: 500;
  color: var(--text-main);
  margin: 0 0 1rem 0;
  max-width: 100%;
}

/* content cards */
.info-card,
.stat-card,
.faq-card,
.micro-card{
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 1.2rem;
  text-align: left;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
  height: 100%;
}

.info-card h3,
.stat-card h3,
.faq-card h3,
.micro-card h3{
  font-size: 18px;
  font-weight: 700;
  margin-bottom: .4rem;
  color: var(--text-main);
}

.info-card p,
.stat-card p,
.faq-card p,
.micro-card p{
  font-size: 15px;
  color: #5f5f5f;
  margin: 0;
}

.info-card i,
.stat-card i,
.micro-card i{
  font-size: 20px;
  color: var(--blue);
  margin-bottom: .6rem;
}

/* numbered process */
.process-card{
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 1.2rem;
  text-align: left;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
  height: 100%;
}

.process-step{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  margin-bottom: .6rem;
}

.process-card h3{
  font-size: 18px;
  font-weight: 700;
  margin-bottom: .4rem;
}

.process-card p{
  font-size: 15px;
  color: #5f5f5f;
  margin: 0;
}

/* lead points */
.content-points{
  list-style: none;
  padding: 0;
  margin: 0 0 1.2rem 0;
}

.content-points li{
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(0,0,0,0.06);
  padding: .7rem .85rem;
  box-shadow: 0 6px 14px rgba(0,0,0,0.06);
  border-radius: 18px;
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  margin: .55rem 0;
  color: #464445;
  font-weight: 500;
}

.content-points i{
  margin-top: .2rem;
  color: var(--blue);
  pointer-events: none;
}

.inline-cta{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 700;
  color: var(--blue);
  text-decoration: none;
}

.inline-cta i{
  pointer-events: none;
}

.inline-cta:hover,
.inline-cta:focus{
  transform: translateY(-1px);
  color: var(--blue);
}

/* side highlight card */
.content-sidecard{
  border-radius: 18px;
  background: rgba(241,241,241,0.55);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 14px 28px rgba(0,0,0,0.10);
  padding: 1.2rem 1.2rem;
  position: relative;
  overflow: hidden;
}

.content-sidecard p{
  margin: 0;
  font-weight: 600;
  color: var(--text-main);
}

.content-sidecard img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  margin-top: 1rem;
}

/* note box */
.note-box{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  padding: 1rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.8);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}

.note-box i{
  color: var(--blue);
  font-size: 18px;
  margin-top: .15rem;
}

.note-box strong{
  display:block;
  color: var(--text-main);
  font-weight: 800;
  margin-bottom: .2rem;
}

.note-box p{
  margin: 0;
  color: #5f5f5f;
  font-size: 15px;
}

/* =========================================================
   FAQ / SHORT ANSWERS
========================================================= */

.faq-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 768px){
  .faq-grid{
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================================
   MINI CTA SECTION
========================================================= */

.sec-mini-cta{
  position: relative;
  background: linear-gradient(to left, #2f2e2f, #1f1f20);
}

.mini-cta-shell{
  position: relative;
  border-radius: var(--radius-xl);

  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border: 1px solid rgba(255,255,255,0.14);

  box-shadow:
      0 3px 0 0 #3D8BD6 inset,
      0 22px 55px rgba(0,0,0,0.35);

  padding: 1.8rem 1.4rem;
}

.mini-cta-shell h2{
  color: #fff;
}

.mini-cta-shell p{
  color: rgba(255,255,255,0.78);
  font-weight: 500;
  margin-bottom: 1.4rem;
}

.mini-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}

@media (max-width: 767px){
  .mini-cta-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .mini-cta-actions .btn-more,
  .mini-cta-actions .btn-call{
    justify-content:center;
  }
}

/* =========================================================
   BREADCRUMB / TOP LINK
========================================================= */

.page-backlink{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color: var(--blue);
  font-weight: 700;
  margin-bottom: 1rem;
  text-decoration: none;
}

.page-backlink i{
  pointer-events: none;
  font-size: 14px;
}

.page-backlink:hover,
.page-backlink:focus{
  color: var(--blue);
  transform: translateY(-1px);
}

/* =========================================================
   RESPONSIVE POLISH
========================================================= */

@media (min-width: 768px){
  .page-section{
    text-align: left;
  }

  .content-shell,
  .mini-cta-shell{
    padding: 2rem 2rem;
  }

  .page-intro{
    margin-left: 0;
  }
}