:root{
  --dt-dark:#1a3f8f;
  --dt-mid:#1e6fc4;
  --dt-light:#29abe2;
  --dt-gradient:linear-gradient(135deg,#1a3f8f 0%,#1e6fc4 50%,#29abe2 100%);
  --dt-grad-light:linear-gradient(135deg,#29abe2,#5fc9f3);
}

*{font-family:'Poppins',sans-serif;}
body{color:#37474f;overflow-x:hidden;}
main{margin-top: 100px;}
.py-6{padding-top:5rem;padding-bottom:5rem;}

/* ---------- Buttons & helpers ---------- */
.btn-gradient{background:var(--dt-gradient);color:#fff!important;border:none;transition:.3s;}
.btn-gradient:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,111,196,.35);}
.text-gradient{background:var(--dt-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.text-gradient-light{background:var(--dt-grad-light);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.text-white-75{color:rgba(255,255,255,.8)!important;}
.bg-light-blue{background:#f2f8fd;}
.shadow-soft{box-shadow:0 10px 40px rgba(26,63,143,.08)!important;}
.section-title{font-weight:700;position:relative;display:inline-block;margin-bottom:2rem;}
.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:60px;height:4px;border-radius:4px;background:var(--dt-gradient);}
.text-start.section-title:after{left:0;transform:none;}

/* ---------- Navbar ---------- */
.dt-navbar{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);transition:.3s;padding:.9rem 0;box-shadow:0 2px 20px rgba(0,0,0,.05);}
.dt-navbar.scrolled{padding:.5rem 0;box-shadow:0 4px 25px rgba(0,0,0,.1);}
.brand-text{font-size:1.6rem;font-weight:800;background:var(--dt-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:1px;}
.brand-sub{font-size:.62rem;color:#90a4ae;letter-spacing:.5px;margin-top:-4px;}
.dt-navbar .nav-link{font-weight:500;color:#37474f;padding:.5rem 1rem!important;position:relative;}
.dt-navbar .nav-link:hover{color:var(--dt-mid);}

/* ---------- Hero ---------- */
.hero{min-height:90vh;background:var(--dt-gradient);position:relative;overflow:hidden;}
.hero:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.08);top:-150px;right:-150px;}
.hero:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.05);bottom:-120px;right:200px;}
.badge-pill{background:rgba(255,255,255,.2);color:#fff;padding:.4rem 1.2rem;border-radius:50px;font-size:.85rem;display:inline-block;}

/* ---------- Page hero ---------- */
.page-hero{background:var(--dt-gradient);padding:8rem 0 4rem;text-align:center;position:relative;overflow:hidden;}
.page-hero:before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.07);top:-150px;left:-100px;}

/* ---------- Feature cards ---------- */
.feature-card{background:#fff;border-radius:18px;padding:2rem 1.5rem;text-align:center;box-shadow:0 10px 40px rgba(26,63,143,.06);transition:.35s;}
.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(26,63,143,.15);}
.feature-icon{width:70px;height:70px;border-radius:50%;background:var(--dt-gradient);color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;}

/* ---------- Product cards ---------- */
.product-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 40px rgba(26,63,143,.07);transition:.35s;}
.product-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(26,63,143,.15);}
.product-img{height:220px;background-size:cover;background-position:center;background-color:#eaf4fc;}
.product-img-lg{height:420px;border-radius:18px;background-size:cover;background-position:center;background-color:#eaf4fc;box-shadow:0 10px 40px rgba(26,63,143,.1);}

/* ---------- About ---------- */
.about-img{height:420px;border-radius:18px;background:var(--dt-gradient);box-shadow:0 20px 50px rgba(26,63,143,.2);}

/* ---------- CTA ---------- */
.cta-section{background:var(--dt-gradient);position:relative;overflow:hidden;}

/* ---------- Contact ---------- */
.contact-item{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start;}
.contact-item i{font-size:1.4rem;color:#fff;background:var(--dt-gradient);width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ---------- Login ---------- */
.login-section{min-height:90vh;padding-top:7rem;background:#f2f8fd;}

/* ---------- Portal ---------- */
.stat-card{background:#fff;border-radius:18px;padding:2rem;display:flex;gap:1.5rem;align-items:center;box-shadow:0 10px 40px rgba(26,63,143,.07);}
.stat-icon{font-size:2.5rem;background:var(--dt-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.portal-link{display:block;background:#fff;border-radius:14px;padding:1.5rem;font-weight:600;color:var(--dt-dark);text-decoration:none;box-shadow:0 8px 30px rgba(26,63,143,.07);transition:.3s;}
.portal-link:hover{background:var(--dt-gradient);color:#fff;transform:translateY(-4px);}
.portal-link i{margin-right:.6rem;}
.table-gradient th{background:var(--dt-gradient);color:#fff;border:none;font-weight:500;}

/* ---------- Footer ---------- */
.dt-footer{background:#0e2c5e;}
.footer-title{color:#fff;font-weight:600;margin-bottom:1rem;}
.footer-links{list-style:none;padding:0;}
.footer-links li{margin-bottom:.5rem;}
.footer-links a{color:rgba(255,255,255,.6);text-decoration:none;transition:.2s;}
.footer-links a:hover{color:var(--dt-light);}

@media(max-width:991px){
  .hero{min-height:auto;padding:8rem 0 5rem;}
  .dt-navbar .nav-link{padding:.6rem 0!important;}
}