:root{
  --mds-navy:#0b234d;
  --mds-blue:#1e4fb8;
  --mds-teal:#1aa6a8;
  --mds-ink:#071018;
  --mds-surface:#0b1424;
  --mds-mist:#f6f8fb;
  --mds-border:rgba(255,255,255,.12);
  --mds-shadow: 0 16px 40px rgba(0,0,0,.18);
  --mds-radius: 18px;
}

html, body { font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }
body { color: #0c1220; background: #ffffff; }

.brand-name{ letter-spacing:.2px; font-weight:600; }
.brand-mark{ filter: drop-shadow(0 8px 18px rgba(0,0,0,.18)); }

.navbar-glass{
  transition: background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
  background: rgba(5, 10, 18, .25);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.navbar-glass.scrolled{
  background: rgba(6, 12, 22, .82);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.navbar .nav-link{
  color: rgba(255,255,255,.82);
  font-weight: 500;
}
.navbar .nav-link:hover{ color: #fff; }
.navbar .nav-link.active{
  color:#fff;
  position:relative;
}
.navbar .nav-link.active:after{
  content:"";
  position:absolute;
  left:.75rem;
  right:.75rem;
  bottom:.35rem;
  height:2px;
  background: linear-gradient(90deg, var(--mds-blue), var(--mds-teal));
  border-radius: 10px;
}

.btn-primary{
  border: none;
  background: linear-gradient(90deg, var(--mds-blue), var(--mds-teal));
  box-shadow: 0 10px 24px rgba(30,79,184,.25);
}
.btn-primary:hover{ filter: brightness(1.03); }
.btn-outline-light{ border-color: rgba(255,255,255,.45); }

.section{
  padding: 88px 0;
}
.section-tight{ padding: 64px 0; }
.section-top-pad{ padding-top: 112px; } /* accounts for fixed nav */
@media (max-width: 991.98px){
  .section{ padding: 72px 0; }
  .section-top-pad{ padding-top: 96px; }
}

.hero{
  position: relative;
  min-height: 92vh;
  display: grid;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(1100px 700px at 10% 20%, rgba(30,79,184,.45), transparent 60%),
    radial-gradient(1000px 650px at 90% 70%, rgba(26,166,168,.35), transparent 55%),
    linear-gradient(180deg, rgba(5,10,18,.90), rgba(5,10,18,.75)),
    url("/assets/img/hero-fallback.jpg");
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(1100px 700px at 10% 20%, rgba(30,79,184,.35), transparent 60%),
    radial-gradient(1000px 650px at 90% 70%, rgba(26,166,168,.28), transparent 55%);
  pointer-events:none;
  opacity:.9;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(5,10,18,.20), rgba(5,10,18,.75));
  pointer-events:none;
}

.hero video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.35;
  filter: saturate(1.05) contrast(1.05);
}

.hero .container{
  position: relative;
  z-index: 2;
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-weight: 600;
  letter-spacing:.16em;
  text-transform: uppercase;
  font-size: .78rem;
  color: rgba(255,255,255,.80);
}
.kicker-dot{
  width:8px; height:8px; border-radius:50%;
  background: linear-gradient(90deg, var(--mds-blue), var(--mds-teal));
  box-shadow: 0 0 0 6px rgba(30,79,184,.18);
}

.hero h1{
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.02;
  font-size: clamp(2.2rem, 5vw, 3.9rem);
  margin: 14px 0 14px;
}
.hero p.lead{
  max-width: 60ch;
  color: rgba(255,255,255,.86);
}

.hero-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--mds-radius);
  padding: 18px 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.20);
  backdrop-filter: blur(10px);
}

.card-soft{
  border: 1px solid rgba(15, 35, 70, .10);
  border-radius: var(--mds-radius);
  box-shadow: 0 10px 30px rgba(10,20,35,.08);
}

.card-dark{
  background: linear-gradient(180deg, rgba(11,20,36,.96), rgba(11,20,36,.86));
  color: #fff;
  border: 1px solid rgba(255,255,255,.10);
}

.icon-pill{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:inline-grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(30,79,184,.14), rgba(26,166,168,.14));
  border: 1px solid rgba(30,79,184,.18);
}

.badge-ghost{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding: .4rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.86);
  font-size: .85rem;
}

.hr-fade{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(10,20,35,.14), transparent);
  border: 0;
}

.page-hero{
  padding-top: 120px;
  padding-bottom: 48px;
  background:
    radial-gradient(900px 520px at 10% 25%, rgba(30,79,184,.12), transparent 60%),
    radial-gradient(800px 500px at 90% 65%, rgba(26,166,168,.10), transparent 55%),
    linear-gradient(180deg, #ffffff, #f6f8fb);
  border-bottom: 1px solid rgba(10,20,35,.08);
}

.page-hero h1{
  font-weight: 700;
  letter-spacing: -0.02em;
}

.footer{
  background: #f6f8fb;
  border-top: 1px solid rgba(10,20,35,.08);
}
.footer-link{
  color: rgba(12,18,32,.70);
  text-decoration: none;
}
.footer-link:hover{ color: rgba(12,18,32,.95); text-decoration: underline; }

.form-control, .form-select{
  border-radius: 14px;
  padding: .75rem .9rem;
  border-color: rgba(10,20,35,.14);
}
.form-control:focus, .form-select:focus{
  box-shadow: 0 0 0 .25rem rgba(30,79,184,.15);
  border-color: rgba(30,79,184,.35);
}

.notice{
  border-radius: var(--mds-radius);
  background: #fff;
  border: 1px solid rgba(10,20,35,.10);
  padding: 16px 16px;
}

.job-embed{
  width: 100%;
  /* Robust, responsive height:
     - never collapses to a tiny box
     - stays comfortable on desktop + mobile */
  height: clamp(680px, 85svh, 1100px);
  min-height: 680px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: var(--mds-radius);
  overflow: hidden;
  background: #fff;
}

.jobs-embed-iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Mobile / iPad tuning */
@media (max-width: 992px){
  .job-embed{
    height: 88vh;
    min-height: 680px;
  }
}
@media (max-width: 576px){
  .job-embed{
    height: 92vh;
    min-height: 620px;
  }
}


.small-muted{ color: rgba(12,18,32,.70); font-size: .95rem; }
