:root{ --brand:#6f42c1; }
*{ box-sizing:border-box }
html,body{ height:100%; scroll-behavior:smooth; }
body{ font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif; }

.navbar-brand{ font-weight:700; letter-spacing:.3px }
.navbar{ backdrop-filter:saturate(1.2) blur(6px); }

.hero{ min-height: 85vh; display:flex; align-items:center; padding:6rem 0; background:linear-gradient(180deg, rgba(111,66,193,.08), transparent); }
.hero h1{ font-weight:800; line-height:1.1; }
.hero .lead{ color:#6c757d; max-width: 720px; margin: 0 auto; }
.btn-brand{ background:var(--brand); color:#fff; }
.btn-brand:hover{ opacity:.9; color:#fff; }

.section{ padding: 3rem 0; }
.section-title{ font-weight:700; margin-bottom:1.25rem; }

.card{ border:0; box-shadow:0 6px 24px rgba(0,0,0,.06); border-radius:1rem; overflow: hidden; }
.card img{ display:block; width:100%; height:auto }

.footer{ border-top:1px solid rgba(0,0,0,.06); padding:2rem 0; margin-top:0; color:#6c757d; }
a{ text-decoration:none }

/* Reveal-up animation */
.reveal{ opacity:0; transform: translateY(28px); will-change: transform, opacity; }
.reveal.revealed{ opacity:1; transform: translateY(0); transition: opacity .6s ease, transform .6s ease; }
.reveal.delay-1{ transition-delay:.08s }
.reveal.delay-2{ transition-delay:.16s }
.reveal.delay-3{ transition-delay:.24s }
.reveal.delay-4{ transition-delay:.32s }

/* Full-bleed containers on large screens */
.container-xxl{ max-width: 1320px; }
.img-cover{ width:100%; height:180px; object-fit:cover; }

/* Responsive tweaks */
@media (min-width: 992px){
  .hero{ min-height: 92vh; }
  .img-cover{ height: 220px; }
}
