/* Sante Finance - Design Tokens and Base Styles */
:root{
  --sf-navy:#0b3c63;
  --sf-blue:#0f5d8e;
  --sf-teal:#1382b0;
  --sf-gray-900:#111111;
  --sf-gray-700:#6e7176;
  --sf-gray-600:#8d9094;
  --sf-gray-300:#c8cacc;
  --sf-white:#ffffff;
  --sf-gradient:linear-gradient(135deg,#0b3c63 0%,#1382b0 100%);
  --radius:12px;
  --shadow:0 10px 25px rgba(11,60,99,.15);
  --container-max:1140px;
  --spacing-xs:.25rem;
  --spacing-sm:.5rem;
  --spacing-md:1rem;
  --spacing-lg:1.5rem;
  --spacing-xl:2rem;
  --spacing-2xl:3rem;
  --spacing-3xl:4rem;
  --radius-sm:8px;
  --radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(11,60,99,.06);
  --shadow-md:0 6px 14px rgba(11,60,99,.12);
  --shadow-xl:0 20px 40px rgba(11,60,99,.18);
}

/* Typography */
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--sf-gray-900)}
h1,h2,h3,h4{font-family:'Poppins',Inter,system-ui,sans-serif; color:var(--sf-navy); letter-spacing:.2px}
.lead{color:var(--sf-gray-700)}

/* Utilities */
.text-primary{color:var(--sf-blue)!important}
.bg-gradient{background:var(--sf-gradient)}
.btn-primary{background:var(--sf-gradient); color:var(--sf-white); border:0; border-radius:var(--radius); box-shadow:var(--shadow)}
.btn-outline-primary{border-color:var(--sf-blue); color:var(--sf-blue)}
.btn-outline-primary:hover{background:var(--sf-blue); color:var(--sf-white)}
.btn{transition:transform .2s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-2px); box-shadow:var(--shadow-md)}

/* Layout */
.navbar-brand img{height:36px}
.hero{padding:88px 0; background:var(--sf-gradient); color:#fff}
.hero .card{border:0; border-radius:var(--radius)}
.section{padding:64px 0}
.card{border-radius:var(--radius); box-shadow:var(--shadow)}
.footer{padding:40px 0; background:#0b3c63; color:#fff}
.footer a{color:#cfe9ff}
.section-header{text-align:center; margin-bottom:var(--spacing-3xl)}
.section-subtitle{color:var(--sf-teal); font-weight:600; text-transform:uppercase; letter-spacing:.5px; margin-bottom:var(--spacing-sm)}
.section-title{margin-bottom:var(--spacing-md)}
nav.navbar .nav-link{position:relative}
nav.navbar .nav-link::after{content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px; background:var(--sf-teal); transition:width .2s ease}
nav.navbar .nav-link:hover::after, nav.navbar .nav-link.active::after{width:100%}

/* Components */
.badge-accent{background:rgba(19,130,176,.12); color:var(--sf-teal)}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow-xl)}

/* Forms */
.form-control:focus{border-color:var(--sf-blue); box-shadow:0 0 0 .2rem rgba(19,130,176,.15)}

/* Responsive tweaks */
@media (max-width: 767.98px){
  .hero{padding:64px 0}
}

.hero-image{position:relative; background-size:cover; background-position:center; isolation:isolate}
.hero-image::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.45)); z-index:0}
.hero-image > .container{position:relative; z-index:1}
.section-alt{background:#f7f9fb}
.stat{display:flex; flex-direction:column}
.stat .num{font-family:'Poppins',Inter,system-ui,sans-serif; font-weight:700; font-size:2rem; color:var(--sf-blue)}
.cta-banner{background:var(--sf-gradient); color:#fff; border-radius:var(--radius); box-shadow:var(--shadow)}

/* Scroll to top button */
.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--sf-gradient);color:#fff;border:none;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-xl);z-index:1000;transition:all .3s ease;font-size:1.5rem}
.scroll-to-top:hover{transform:translateY(-4px);box-shadow:0 25px 50px rgba(11,60,99,.25)}
.scroll-to-top.show{display:flex}
@media (max-width:767.98px){.scroll-to-top{width:45px;height:45px;bottom:20px;right:20px;font-size:1.25rem}}
