
:root{--pl-blue-3:#002b5c;
  --pl-blue:#004080; --pl-blue-2:#0a356f; --pl-amber:#FFC400; --pl-bg:#E3F2FD; --pl-text:#0f172a; --pl-muted:#475569;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--pl-text);background:#fff}
a{text-decoration:none}
.navbar-brand span{color:var(--pl-amber)}
.navbar .btn{border-radius:999px}
.btn-accent{background:var(--pl-amber);color:#000;border:none}
.btn-accent:hover{filter:brightness(.95)}
.text-accent{color:var(--pl-amber)!important}
.bg-primary-soft{background:linear-gradient(180deg, rgba(13,71,161,.06), rgba(13,71,161,.02))}
.rounded-2xl{border-radius:1.25rem}
.shadow-soft{box-shadow:0 12px 40px rgba(0,0,0,.06)}
.card-hover{transition:transform .35s ease, box-shadow .35s ease}
.card-hover:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(13,71,161,.18)}
.feature-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg, var(--pl-amber), #ffdf70);display:grid;place-items:center;box-shadow:0 8px 24px rgba(255,196,0,.35)}
.banner{
  width: 100%;
  height: clamp(340px, 78vh, 860px); /* <- consistent header height */
  object-fit: cover;                 /* crop to fill without distortion */
  object-position: center;           /* keep focal point centered */
  display: block;
  /* remove previous cap so our height takes effect */
  max-height: none;
}
.carousel-caption{ text-shadow:0 2px 12px rgba(0,0,0,.45); bottom:12%}
.counter{ font-weight:800; font-size: clamp(1.75rem, 3vw, 3rem); color:var(--pl-blue-2)}
.badge-accent{background:var(--pl-amber);color:#000}
.navbar.stuck{box-shadow:0 6px 20px rgba(0,0,0,.06); background:#fff!important}
.lang-switch .btn img{width:18px;height:12px;border-radius:2px}
.lang-switch .btn.active{outline:2px solid var(--pl-amber)}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(var(--pl-amber),transparent)}
.timeline .step{position:relative;padding-left:1.25rem;margin-bottom:1rem}
.timeline .step::before{content:"";position:absolute;left:-2px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--pl-amber);box-shadow:0 0 0 4px rgba(255,196,0,.25)}
#backToTop{position:fixed;right:16px;bottom:16px;display:none;z-index:9999}

/* Navbar always white */
.navbar {
  background-color: #ffffff !important;
  transition: background-color 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.btn-primary{background:var(--pl-blue-3);border-color:var(--pl-blue-3); white-space: nowrap;}
.navbar-brand img { height: 32px; }
