
:root{
  --navy:#0d2742;
  --blue:#1f5f8b;
  --light:#f5f8fb;
  --border:#dbe4ec;
  --text:#172b3a;
  --muted:#647586;
  --white:#fff;
  --success:#e8f5ee;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--light);color:var(--text);line-height:1.55}
a{text-decoration:none;color:inherit}
.header{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.nav{max-width:1120px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;min-height:92px}
.logo{height:72px;width:auto;max-width:260px;object-fit:contain}
.nav a{font-weight:600;color:var(--navy)}
.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:70px 24px}
.container{max-width:1120px;margin:auto;padding:0 24px}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 14px}
.hero p{font-size:19px;max-width:700px;margin:0;opacity:.92}
.section{padding:48px 0}
.section h2{font-size:28px;margin:0 0 24px;color:var(--navy)}
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:white;border:1px solid var(--border);border-radius:14px;padding:25px;box-shadow:0 4px 16px rgba(13,39,66,.05);display:flex;flex-direction:column}
.card h3{margin:0 0 7px;color:var(--navy);font-size:21px}
.meta{font-size:13px;color:var(--blue);font-weight:700;margin-bottom:15px}
.card p{color:var(--muted);font-size:14px;flex:1}
.btn{display:inline-block;background:var(--blue);color:white;padding:11px 17px;border-radius:7px;font-weight:700;border:0;cursor:pointer;text-align:center}
.btn.secondary{background:white;color:var(--blue);border:1px solid var(--blue)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.footer{background:var(--navy);color:white;padding:28px 24px;margin-top:30px}
.footer p{max-width:1120px;margin:auto;font-size:13px;opacity:.85}
.job-wrap{max-width:900px;margin:40px auto;padding:0 24px}
.job-header,.job-body,.form-card{background:white;border:1px solid var(--border);border-radius:14px;padding:30px;margin-bottom:18px}
.job-header h1{margin:0 0 6px;color:var(--navy);font-size:34px}
.job-header .meta{margin-bottom:0}
.job-body h2{color:var(--navy);font-size:21px;margin-top:28px}
.job-body h2:first-child{margin-top:0}
.job-body ul{padding-left:22px}
.notice{background:var(--success);border:1px solid #c7e6d3;border-radius:10px;padding:13px 16px;margin:20px 0;color:#245a3a}
label{display:block;font-weight:700;font-size:14px;margin:16px 0 7px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd7e2;border-radius:7px;font:inherit;background:white}
textarea{min-height:110px;resize:vertical}
.small{font-size:13px;color:var(--muted)}
.back{display:inline-block;margin-bottom:18px;color:var(--blue);font-weight:700}
.success{text-align:center;padding:65px 20px}
.success h1{color:var(--navy)}
@media(max-width:800px){.ultrasound-visual{position:absolute;left:57%;right:0;top:0;width:43%;height:100%;opacity:.62;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;clip-path:inset(0)}.scan-graphic{width:100%;height:100%;display:block;overflow:hidden}.scan-graphic{width:100%;height:112%;display:block}.jobs{grid-template-columns:1fr}.hero h1{font-size:35px}.nav{padding:16px 18px;min-height:78px}.logo{height:58px}}

.salary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.salary-grid{grid-template-columns:1fr}}

.hero{position:relative;overflow:hidden}
.hero .container{position:relative;z-index:2}
.ultrasound-visual{position:absolute;right:-10px;top:0;width:44%;height:100%;opacity:.62;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.scan-graphic{width:100%;height:125%;display:block}

@media(max-width:800px){.ultrasound-visual{left:52%;right:0;width:48%;height:100%;opacity:.35}.scan-graphic{height:100%;width:100%}}

@media(max-width:800px){.ultrasound-visual{left:50%;width:50%;height:100%;opacity:.35}.scan-graphic{width:100%;height:100%}}

.hero{overflow:hidden}

/* Final ultrasound scan positioning */
.hero { position: relative; overflow: hidden; }
.ultrasound-visual {
  position: absolute;
  left: 57%;
  right: 0;
  top: 0;
  width: 43%;
  height: 100%;
  opacity: .62;
  pointer-events: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.scan-graphic {
  width: 100%;
  height: 100%;
  display: block;
}
@media (max-width: 800px) {
  .ultrasound-visual {
    left: 52%;
    width: 48%;
    opacity: .35;
  }
}

/* Final scan sizing */
.hero { position: relative; overflow: hidden; }
.ultrasound-visual {
  position: absolute;
  left: 55%;
  right: 0;
  top: 0;
  width: 45%;
  height: 100%;
  opacity: .62;
  pointer-events: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.scan-graphic {
  width: 100%;
  height: 100%;
  display: block;
}
@media (max-width: 800px) {
  .ultrasound-visual { left: 50%; width: 50%; opacity: .35; }
}

/* Large immersive ultrasound scan */
.hero { position: relative; overflow: hidden; }
.ultrasound-visual {
  position: absolute;
  left: 53%;
  right: 0;
  top: 0;
  width: 47%;
  height: 100%;
  opacity: .62;
  pointer-events: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.scan-graphic {
  width: 100%;
  height: 100%;
  display: block;
}
@media (max-width: 800px) {
  .ultrasound-visual {
    left: 48%;
    width: 52%;
    opacity: .38;
  }
}

/* Wider Current Opportunities section */
.section .container {
  max-width: 1280px;
}
.section .jobs {
  gap: 24px;
}
.section .card {
  padding: 28px;
}

/* Open positions: overlay beneath the hero copy without changing hero layout */
.hero {
  position: relative;
  overflow: hidden;
}
.open-roles-counter {
  position: absolute;
  z-index: 5;
  left: max(24px, calc(50% - 560px + 24px));
  bottom: 16px;
  display: flex;
  align-items: baseline;
  gap: 11px;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  color: #fff;
  pointer-events: none;
}
.open-roles-number {
  font-size: 44px;
  line-height: .85;
  font-weight: 800;
  letter-spacing: -1px;
  color: #fff;
}
.open-roles-label {
  font-size: 24px;
  line-height: 1;
  font-weight: 300;
  color: #fff;
  letter-spacing: -.2px;
}
@media (max-width: 800px) {
  .open-roles-counter {
    left: 24px;
    bottom: 13px;
  }
  .open-roles-number { font-size: 34px; }
  .open-roles-label { font-size: 19px; }
}

/* Final desktop text/cone balance: keep the scan artwork unchanged,
   while keeping the hero copy in its own visual area. */
@media (min-width: 801px) {
  .hero .container h1 { max-width: 560px; }
  .hero .container p { max-width: 600px; }
}

/* Public vacancy status */
.job-status {
  display: inline-block;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.job-status.open { color: #16834e; }
.job-status.closed { color: #a33a42; }

/* Mobile: remove the decorative ultrasound cone completely. */
@media (max-width: 800px) {
  .ultrasound-visual { display: none !important; }
  .hero .container h1,
  .hero .container p { max-width: none; }
}
