:root{
  --qf-header-bg:#0F172A;
  --qf-footer-bg:#020617;
  --qf-bg:#F8FAFC;
  --qf-cta:#10B981;
  --qf-cta-hover:#059669;
  --qf-link:#2563EB;
  --qf-link-hover:#1D4ED8;
  --qf-hero-grad-start:#0F172A;
  --qf-hero-grad-end:#1E40AF;
  --qf-icon-accent:#10B981;

  /* Aliases (requested naming) */
  --qf-blue-dark: var(--qf-header-bg);
  --qf-green-emerald: var(--qf-cta);
  --qf-slate-gray: #64748B;
  --qf-bg-light: var(--qf-bg);

  /* Layout helpers */
  --qf-navbar-height: 72px;
  --qf-hero-overlay-opacity: .55;
}

html,
body{font-family:'Rubik','DejaVu Sans',sans-serif;}

body{background:var(--qf-bg-light);}

button,
input,
select,
textarea{font-family:inherit;}

/* Bootstrap primary buttons */
.btn-primary{
  background-color:var(--qf-green-emerald)!important;
  border-color:var(--qf-green-emerald)!important;
}
.btn-primary:hover,
.btn-primary:focus{
  background-color:var(--qf-cta-hover)!important;
  border-color:var(--qf-cta-hover)!important;
}

/* Ensure navbar uses brand background */
.navbar{background-color:var(--qf-blue-dark)!important;}

/* Links */
a:not(.btn){color:var(--qf-link);}
a:not(.btn):hover{color:var(--qf-link-hover);}

/* Header */
.public-navbar{background:linear-gradient(135deg,var(--qf-hero-grad-start),var(--qf-hero-grad-end))!important;border-bottom:0!important;}
.public-navbar .navbar-brand,
.public-navbar .nav-link{color:#fff!important;}
.public-navbar .nav-link:hover{color:rgba(255,255,255,.85)!important;}
.public-navbar .nav-link.active{color:var(--qf-cta)!important;}
.public-navbar .navbar-toggler{border-color:rgba(255,255,255,.35)!important;}
.public-navbar .navbar-toggler-icon{filter:invert(1) grayscale(1);}

.public-navbar .public-nav-links .nav-link{
  padding:.8rem .9rem;
  border-radius:.75rem;
  transition:background-color .15s ease, color .15s ease;
}
.public-navbar .public-nav-links .nav-link:hover{
  background-color:rgba(255,255,255,.08);
}
.public-navbar .public-nav-links .nav-link.active{
  background-color:rgba(255,255,255,.08);
}

/* CTA button */
.btn-qf-cta{background:var(--qf-cta)!important;border-color:var(--qf-cta)!important;color:#fff!important;}
.btn-qf-cta:hover,
.btn-qf-cta:focus{background:var(--qf-cta-hover)!important;border-color:var(--qf-cta-hover)!important;color:#fff!important;}

/* Hero */
.public-hero-card{
  background:linear-gradient(135deg,var(--qf-hero-grad-start),var(--qf-hero-grad-end))!important;
  color:#fff;
}
.public-hero-card .text-muted{color:rgba(255,255,255,.75)!important;}

/* Full-screen hero (home) */
.public-hero{margin:0;padding:0;}
.public-hero .carousel,
.public-hero .carousel-inner,
.public-hero .carousel-item{height:100%;}

.public-hero-slide{
  position:relative;
  width:100%;
  min-height:calc(100vh - var(--qf-navbar-height));
  min-height:calc(100svh - var(--qf-navbar-height));
  background-image:linear-gradient(135deg,var(--qf-hero-grad-start),var(--qf-hero-grad-end));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.public-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, var(--qf-hero-grad-start), var(--qf-hero-grad-end));
  opacity:var(--qf-hero-overlay-opacity);
}
.public-hero-content{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:center;
}

.public-hero-art{
  width:100%;
  max-width:480px;
  max-height:480px;
  height:auto;
  object-fit:contain;
}

@media (max-width: 991.98px){
  .public-hero-art{
    max-width:300px;
    max-height:300px;
    opacity:.72;
  }
}

.public-hero h1,
.public-hero .lead{color:#fff;}

.public-hero .carousel-indicators{
  z-index:2;
}
.public-hero .carousel-indicators [data-bs-target]{
  width:10px;
  height:10px;
  border-radius:999px;
}

.public-hero .carousel-control-prev,
.public-hero .carousel-control-next{
  z-index:2;
}

/* Footer */
.public-footer{background:var(--qf-footer-bg);}
.public-footer .text-muted{color:rgba(255,255,255,.7)!important;}
.public-footer a{color:rgba(255,255,255,.85);}
.public-footer a:hover{color:#fff;}
.public-footer .social-link i{color:var(--qf-icon-accent);}
.public-footer .social-link:hover i{color:var(--qf-cta-hover);}
