:root{
  /* Core brand */
  --brand-primary:#0b66c2;
  --brand-primary-dark:#084f95;
  --brand-primary-light:#4da3ff;

  --brand-dark:#0b1b2b;
  --brand-light:#f6f9fc;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));
  --gradient-accent: linear-gradient(135deg, var(--brand-primary-light), var(--brand-primary));
  --gradient-soft: linear-gradient(180deg, var(--brand-light), #ffffff);

  --focus-ring: 0 0 0 .25rem rgba(11,102,194,.35);
}
html{scroll-behavior:smooth}
body{color:#1f2937}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:9999;padding:.5rem .75rem;background:#fff;border:1px solid #ddd;border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.15)}
a:focus,button:focus,.btn:focus{outline:none;box-shadow:var(--focus-ring)!important}
.btn-brand{
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: #084f95;
  --bs-btn-hover-border-color: #084f95;
  --bs-btn-color:#fff;
}
.hero{background:linear-gradient(180deg,var(--brand-light),#fff);border-bottom:1px solid rgba(0,0,0,.06)}
.icon-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.04);font-weight:600;color:var(--brand-dark)}
.section-title{letter-spacing:.02em;text-transform:uppercase;font-size:.9rem;color:#475569}
.card-soft{border:1px solid rgba(0,0,0,.08);border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.placeholder-shot{border-radius:1rem;border:1px dashed rgba(0,0,0,.22);background:repeating-linear-gradient(45deg,rgba(0,0,0,.03),rgba(0,0,0,.03) 10px,rgba(0,0,0,.06) 10px,rgba(0,0,0,.06) 20px);min-height:220px}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline}


/* Modern header gradients */
.hero{
  background: var(--gradient-primary);
  color: #ffffff;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 45%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.10), transparent 45%);
  pointer-events:none;
}
.hero .card-soft{background: rgba(255,255,255,.96)}
.hero h1,.hero p,.hero .section-title{color:#fff}
.hero .section-title{opacity:.9}
.hero .icon-pill{background: rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.22)}
.hero .icon-pill i{opacity:.95}
.hero .btn-outline-secondary{color:#fff;border-color:rgba(255,255,255,.55)}
.hero .btn-outline-secondary:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.75);color:#fff}

/* Section header band */
.section-header{
  background: var(--gradient-accent);
  color:#fff;
  padding: 2.25rem 0;
}
.section-header h2,
.section-header p{color:#fff;margin:0}
.section-header p{opacity:.85}

/* Buttons */
.btn-brand{
  background: var(--gradient-accent);
  border: none;
  color:#fff;
}
.btn-brand:hover{background: var(--gradient-primary); color:#fff}

/* Card polish */
.card-soft{
  border:1px solid rgba(0,0,0,.08);
  border-radius:1rem;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease;
}
.card-soft:hover{
  transform: translateY(-3px);
  box-shadow:0 18px 45px rgba(0,0,0,.12);
}

/* Image frames */
.img-frame{
  border-radius:1rem;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 12px 35px rgba(0,0,0,.08);
}
