/* ============================================================
   AFRI-AI — Code the Change
   Design tokens: near-black circuit-board dark theme with
   cyan / magenta / violet signal accents. DM Sans is used for display
   and body copy; data/labels use JetBrains Mono.
   ============================================================ */

:root{
  --bg:        #06070d;
  --bg-alt:    #0a0d18;
  --surface:   #10131f;
  --surface-2: #161a2b;
  --line:      #232840;
  --text:      #eef1f8;
  --text-dim:  #9aa3ba;
  --text-mute: #6d7690;

  --cyan:   #26e9ff;
  --pink:   #ff3ea5;
  --violet: #7c5cff;
  --lime:   #b6ff5c;

  --grad-signal: linear-gradient(90deg, var(--cyan), var(--violet) 55%, var(--pink));

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 26px;

  --shadow-glow: 0 0 0 1px rgba(38,233,255,.12), 0 20px 60px -20px rgba(124,92,255,.35);

  --font-display: 'Newsreader', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(600px 400px at 90% -5%, rgba(38,233,255,.10), transparent 60%),
    radial-gradient(700px 500px at -5% 20%, rgba(255,62,165,.08), transparent 55%),
    radial-gradient(500px 400px at 50% 100%, rgba(124,92,255,.10), transparent 60%);
}
.wrap{ max-width: 1160px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
h1,h2,h3{ font-family: var(--font-display); font-weight: 700; letter-spacing: -0.02em; margin: 0; }
p{ margin: 0; }
.mono{ font-family: var(--font-mono); }

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---------------- progress bar ---------------- */
.progress{
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: var(--grad-signal);
  z-index: 999;
  transition: width .1s linear;
}

/* ---------------- header ---------------- */
header{
  position: sticky; top: 0; z-index: 100;
  background: rgba(6,7,13,.72);
  backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--line);
}
nav.wrap{ display: flex; align-items: center; justify-content: space-between; height: 76px; }
.brand{
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-weight: 600; letter-spacing: .06em;
  font-size: 15px; color: var(--text);
}
.brand img, .brand svg{ width: 30px; height: 30px; }
.navlinks{ display: flex; gap: 32px; }
.navlinks a{
  font-size: 14px; color: var(--text-dim); font-weight: 500;
  position: relative; padding: 4px 0; transition: color .2s ease;
}
.navlinks a:hover{ color: var(--text); }
.navlinks a::after{
  content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 0;
  background: var(--cyan); transition: width .25s ease;
}
.navlinks a:hover::after{ width: 100%; }

.language-switcher{position:relative;flex:none}
.language-trigger{display:flex;align-items:center;gap:10px;min-width:126px;height:44px;padding:0 15px;border:1px solid rgba(6,19,49,.13);border-radius:999px;background:rgba(255,255,255,.9);color:#10243d;box-shadow:0 8px 24px rgba(6,19,49,.1);backdrop-filter:blur(14px);cursor:pointer;font:650 13px/1 var(--font-body);transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.language-trigger:hover,.language-switcher.is-open .language-trigger{background:#fff;border-color:rgba(6,19,49,.25);box-shadow:0 9px 25px rgba(6,19,49,.13);transform:translateY(-1px)}
.language-globe{width:18px;height:18px;color:#b87b0b;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.language-current{flex:1;text-align:left;white-space:nowrap}
.language-chevron{width:6px;height:6px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.language-switcher.is-open .language-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.language-menu{position:absolute;z-index:120;top:calc(100% + 11px);right:0;width:224px;padding:9px;border:1px solid rgba(6,19,49,.1);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 24px 65px rgba(6,19,49,.2);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .16s,visibility .16s,transform .16s}
.language-switcher.is-open .language-menu{opacity:1;visibility:visible;transform:none}
.language-menu-header{padding:8px 11px 7px;color:#8a94a4;font:650 9px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.language-option{display:grid;grid-template-columns:34px 1fr 18px;align-items:center;width:100%;min-height:48px;padding:0 11px;border:0;border-radius:12px;background:transparent;color:#34435a;cursor:pointer;text-align:left;font:650 13px/1 var(--font-body);transition:background .15s,color .15s,transform .15s}
.language-option:hover{background:#f4f1e9;color:#061331;transform:translateX(2px)}
.language-code{color:#8a94a4;font:600 9px/1 var(--font-mono);letter-spacing:.08em}
.language-check{opacity:0;color:#9b6807;font-size:15px}.language-option[aria-selected="true"]{background:linear-gradient(135deg,#fff8df,#f7edd1);color:#061331;box-shadow:inset 0 0 0 1px rgba(184,123,11,.14)}.language-option[aria-selected="true"] .language-check{opacity:1}
.language-trigger:focus-visible,.language-option:focus-visible{outline:2px solid #e5ad2d;outline-offset:2px}
body.apply-page .language-trigger{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
body.apply-page .language-trigger:hover,body.apply-page .language-switcher.is-open .language-trigger{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}

.languages-section{padding:72px 0;background:#f5efe3;color:#10243d}
.languages-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:56px;padding-top:42px;padding-bottom:42px;border-top:1px solid rgba(16,36,61,.13);border-bottom:1px solid rgba(16,36,61,.13)}
.languages-copy{max-width:660px}
.languages-kicker,.languages-control-label{display:block;margin-bottom:12px;color:#9b6807;font:700 10px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}
.languages-copy h2{margin:0 0 12px;color:#061331;font:600 clamp(30px,4vw,48px)/1.05 var(--font-display)}
.languages-copy p{margin:0;max-width:58ch;color:#526079;font-size:16px}
.languages-control{min-width:230px;padding:20px;border:1px solid rgba(16,36,61,.12);border-radius:20px;background:rgba(255,255,255,.58);box-shadow:0 16px 40px rgba(16,36,61,.08)}
.languages-control .language-trigger{width:100%;min-width:188px;justify-content:flex-start;background:#fff}
.languages-control .language-menu{left:0;right:auto;width:100%}

.btn{
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--grad-signal);
  color: #04050a;
  font-weight: 700; font-size: 14px;
  padding: 12px 22px;
  border: none; border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 8px 24px -8px rgba(124,92,255,.55);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{ transform: translateY(-2px); box-shadow: 0 12px 30px -8px rgba(38,233,255,.55); filter: brightness(1.06); }
.btn:active{ transform: translateY(0); }
.btn-ghost{
  background: transparent;
  border: 1px solid var(--line);
  color: var(--text);
  box-shadow: none;
}
.btn-ghost:hover{ border-color: var(--cyan); box-shadow: 0 0 0 1px rgba(38,233,255,.25) inset; }
.btn[disabled]{ opacity: .45; cursor: not-allowed; transform: none !important; box-shadow: none !important; }
.btn-sm{ padding: 9px 16px; font-size: 13px; }

/* ---------------- hero ---------------- */
.hero{
  position: relative;
  padding: 96px 0 70px;
  overflow: hidden;
}
.circuit-bg{
  position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: 0; opacity: .8;
}
.hero .wrap{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: center;
}
.eyebrow{
  display: inline-block;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--cyan);
  border: 1px solid rgba(38,233,255,.35);
  background: rgba(38,233,255,.06);
  padding: 7px 14px; border-radius: 999px;
  margin-bottom: 22px;
}
.hero h1{
  font-size: clamp(38px, 5.4vw, 62px);
  line-height: 1.04;
  margin-bottom: 20px;
}
.hero h1 span{
  background: var(--grad-signal);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero .lede{
  font-size: 18px; color: var(--text-dim);
  max-width: 46ch;
  margin-bottom: 32px;
}
.hero-ctas{ display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 44px; }
.hero-stats{ display: flex; gap: 34px; flex-wrap: wrap; }
.stat{ display: flex; flex-direction: column; }
.stat b{
  font-family: var(--font-display); font-size: 28px; color: var(--text);
}
.stat span{ font-size: 13px; color: var(--text-mute); }

.hero-art{
  position: relative; z-index: 1;
  aspect-ratio: 1/1;
  display: flex; align-items: center; justify-content: center;
}
.hero-art svg{ width: 100%; height: 100%; }

/* ---------------- marquee strip ---------------- */
.strip{
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  background: var(--bg-alt);
  overflow: hidden;
  padding: 14px 0;
}
.strip-track{
  display: flex; width: max-content;
  animation: marquee 22s linear infinite;
  font-family: var(--font-mono);
  font-size: 13px; letter-spacing: .05em;
  color: var(--text-dim);
  white-space: nowrap;
}
.strip-track span{ padding-right: 0; }
@keyframes marquee{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }

/* ---------------- reveal on scroll ---------------- */
.reveal{ opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity: 1; transform: translateY(0); }

/* ---------------- about ---------------- */
.about{ padding: 100px 0; }
.about-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; margin-bottom: 64px; }
.about-left .section-label{
  display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--violet); margin-bottom: 18px;
}
.lead-line{
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(24px, 2.8vw, 34px); line-height: 1.25; color: var(--text);
}
.about-right > p{ color: var(--text-dim); font-size: 16px; line-height: 1.75; margin-bottom: 28px; }
.pill-row{ display: flex; gap: 10px; flex-wrap: wrap; }
.pill{
  font-family: var(--font-mono); font-size: 12px; color: var(--violet);
  border: 1px solid rgba(108,99,255,.25); padding: 7px 14px; border-radius: 999px;
  background: rgba(108,99,255,.06);
}
.about-stats{
  display: grid; grid-template-columns: repeat(4,1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden;
}
.about-stat{
  background: var(--surface); padding: 32px 28px;
  display: flex; flex-direction: column; gap: 6px;
}
.about-stat-num{
  font-family: var(--font-display); font-size: 38px; font-weight: 700; line-height: 1;
  background: var(--grad-signal); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.about-stat-label{ font-size: 13px; color: var(--text-mute); }

/* ---------------- section head (shared) ---------------- */
.section-head{ max-width: 640px; margin-bottom: 44px; }
.section-head .mono{
  color: var(--pink); font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  display: block; margin-bottom: 12px;
}
.section-head h2{ font-size: clamp(28px, 3.6vw, 42px); margin-bottom: 14px; }
.section-head p{ color: var(--text-dim); font-size: 16px; }

/* ---------------- journey / stage nav ---------------- */
.journey{ padding: 100px 0; background: var(--bg-alt); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stage-nav{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 10px; margin-bottom: 8px;
}
.stage-btn{
  font-family: var(--font-mono); font-size: 13px; color: var(--text-dim);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 14px 16px; text-align: left; cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.stage-btn .n{ color: var(--text-mute); font-weight: 600; }
.stage-btn:hover{ border-color: rgba(38,233,255,.4); color: var(--text); }
.stage-btn.active{
  border-color: var(--cyan); color: var(--text);
  background: linear-gradient(180deg, rgba(38,233,255,.08), rgba(124,92,255,.05));
}
.stage-btn.active .n{ color: var(--cyan); }

.stage-panel{
  margin-top: 26px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 40px;
  display: grid; grid-template-columns: auto 1fr; gap: 34px; align-items: center;
}
.big-num{
  font-family: var(--font-display); font-size: 84px; line-height: 1;
  color: transparent; -webkit-text-stroke: 1.5px var(--cyan);
  opacity: .9; transition: opacity .15s ease;
}
.weeks{
  font-family: var(--font-mono); font-size: 12px; color: var(--violet);
  letter-spacing: .08em; text-transform: uppercase;
}
.stage-panel h3{ font-size: 26px; margin: 10px 0 12px; }
.stage-panel p{ color: var(--text-dim); max-width: 56ch; margin-bottom: 16px; }
.unlock-note{
  font-family: var(--font-mono); font-size: 12px;
  color: var(--lime); background: rgba(182,255,92,.08);
  border: 1px solid rgba(182,255,92,.25);
  padding: 6px 12px; border-radius: 999px;
}

/* ---------------- why us / flip cards ---------------- */
.diff{ padding: 100px 0; }
.diff-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.flip-card{ perspective: 1200px; height: 200px; cursor: pointer; }
.flip-inner{
  position: relative; width: 100%; height: 100%;
  transform-style: preserve-3d; transition: transform .6s cubic-bezier(.4,.2,.2,1);
}
.flip-card:hover .flip-inner,
.flip-card:focus .flip-inner{ transform: rotateY(180deg); }
.flip-front, .flip-back{
  position: absolute; inset: 0; backface-visibility: hidden;
  border: 1px solid var(--line); border-radius: var(--radius-md);
  padding: 28px; display: flex; flex-direction: column; justify-content: space-between;
}
.flip-front{ background: var(--surface); }
.flip-back{
  background: linear-gradient(160deg, rgba(38,233,255,.12), rgba(255,62,165,.10));
  border-color: var(--line);
  transform: rotateY(180deg);
  display: flex; align-items: center;
}
.flip-back p{ color: var(--text); font-size: 15px; line-height: 1.6; }
.glyph{
  font-family: var(--font-display); font-size: 22px; font-weight: 700;
  background: var(--grad-signal); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.flip-front h3{ font-size: 17px; margin-top: 12px; }
.flip-front .hint{ font-family: var(--font-mono); font-size: 11px; color: var(--text-mute); margin-top: 4px; display: block; }

/* ---------------- blog ---------------- */
.blog{ padding: 100px 0; background: var(--bg-alt); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blog-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 48px; }
.blog-card{
  border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
  background: var(--surface);
  transition: transform .25s ease, box-shadow .25s ease;
  display: flex; flex-direction: column;
}
.blog-card:hover{ transform: translateY(-5px); box-shadow: 0 16px 40px -12px rgba(108,99,255,.15); }
.blog-card--featured{ border-color: rgba(108,99,255,.3); }
.blog-thumb{
  height: 160px; position: relative; overflow: hidden;
  display: flex; align-items: flex-end; padding: 16px;
}
.blog-thumb.t1{ background: linear-gradient(160deg, rgba(38,233,255,.25), rgba(124,92,255,.15)); }
.blog-thumb.t2{ background: linear-gradient(160deg, rgba(124,92,255,.28), rgba(255,62,165,.15)); }
.blog-thumb.t3{ background: linear-gradient(160deg, rgba(255,62,165,.25), rgba(38,233,255,.12)); }
.blog-thumb-inner{ display: flex; align-items: center; }
.blog-thumb-label{
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  background: rgba(6,7,13,.55); backdrop-filter: blur(6px);
  padding: 5px 10px; border-radius: 999px; color: var(--text);
}
.blog-body{ padding: 24px; flex: 1; display: flex; flex-direction: column; }
.blog-tag{
  font-family: var(--font-mono); font-size: 11px; color: var(--violet);
  text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; display: block;
}
.blog-body h3{ font-size: 17px; line-height: 1.4; margin-bottom: 10px; flex: 1; }
.blog-body p{ color: var(--text-dim); font-size: 14px; line-height: 1.65; margin-bottom: 18px; }
.blog-footer{ display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
.blog-date{ font-family: var(--font-mono); font-size: 12px; color: var(--text-mute); }
.blog-read{ font-family: var(--font-mono); font-size: 12px; color: var(--violet); }
.blog-cta{
  text-align: center; padding: 40px 32px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg);
  display: flex; flex-direction: column; align-items: center; gap: 18px;
}
.blog-cta p{ color: var(--text-dim); font-size: 15px; }

/* ---------------- CTA / contact ---------------- */
.cta{ padding: 100px 0 120px; }
.cta-head{ text-align: center; max-width: 640px; margin: 0 auto 56px; }
.cta-head h2{ font-size: clamp(30px, 4vw, 46px); margin-bottom: 14px; }
.cta-head p{ color: var(--text-dim); font-size: 16px; }

.contact-card{
  max-width: 760px; margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 46px;
  box-shadow: var(--shadow-glow);
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
}
.contact-info h3{ font-size: 20px; margin-bottom: 12px; }
.contact-info p{ color: var(--text-dim); font-size: 14px; margin-bottom: 22px; }
.contact-line{ display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.contact-line .ico{
  width: 34px; height: 34px; border-radius: 10px;
  background: rgba(38,233,255,.08); border: 1px solid rgba(38,233,255,.25);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  color: var(--cyan); font-family: var(--font-mono); font-size: 14px;
}
.contact-line a, .contact-line span.val{ font-size: 14px; color: var(--text); }
.contact-social{ display: flex; gap: 10px; margin-top: 22px; }
.contact-social a{
  width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid var(--line); display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 12px; color: var(--text-dim);
  transition: border-color .2s ease, color .2s ease;
}
.contact-social a:hover{ border-color: var(--pink); color: var(--pink); }

.contact-apply-box{
  max-width: 760px; margin: 28px auto 0;
  border: 1px solid rgba(108,99,255,.2); border-radius: var(--radius-md);
  padding: 28px 36px;
  display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 20px;
  background: linear-gradient(135deg, rgba(108,99,255,.06), rgba(232,0,111,.04));
}
.contact-apply-box h3{ font-size: 19px; margin-bottom: 4px; }
.contact-apply-box p{ color: var(--text-dim); font-size: 14px; }

/* generic form field styles (used on contact quick-message + apply wizard) */
.form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field{ margin-bottom: 18px; }
.field label{
  display: block; font-family: var(--font-mono); font-size: 12px;
  color: var(--text-dim); margin-bottom: 8px; letter-spacing: .03em;
}
.field .optional{ opacity: .6; font-weight: 500; }
.field input, .field select, .field textarea{
  width: 100%; background: var(--bg-alt); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 13px 14px; color: var(--text); font-family: var(--font-body); font-size: 14.5px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.field input::placeholder, .field textarea::placeholder{ color: var(--text-mute); }
.field input:focus, .field select:focus, .field textarea:focus{
  border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(38,233,255,.12); outline: none;
}
.field textarea{ min-height: 96px; resize: vertical; }
.apply-page #whyJoin{ min-height:220px; }
.field-hint{ font-size: 12px; color: var(--text-mute); margin-top: 6px; }
.field-error{ font-size: 12px; color: var(--pink); margin-top: 6px; display: none; }
.field.has-error input, .field.has-error select, .field.has-error textarea{ border-color: var(--pink); }
.field.has-error .field-error{ display: block; }

.form-submit{ width: 100%; justify-content: center; margin-top: 6px; }
.form-note{ text-align: center; font-size: 12px; color: var(--text-mute); margin-top: 14px; }

.mini-form .field{ margin-bottom: 14px; }

/* success state (shared) */
.form-success{
  display: none; text-align: center; padding: 30px 10px;
}
.form-success.show{ display: block; }
.form-success .check{
  width: 56px; height: 56px; border-radius: 999px; margin: 0 auto 18px;
  background: var(--grad-signal); color: #04050a; font-weight: 800; font-size: 24px;
  display: flex; align-items: center; justify-content: center;
}
.form-success h3{ font-size: 20px; margin-bottom: 8px; }
.form-success p{ color: var(--text-dim); font-size: 14px; max-width: 40ch; margin: 0 auto; }

/* ---------------- footer ---------------- */
footer{ border-top: 1px solid var(--line); padding: 52px 0; background: var(--bg-alt); }
.footer-top{ display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; flex-wrap: wrap; gap: 16px; }
.footer-brand{ display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 14px; color: var(--text-dim); }
.footer-brand img, .footer-brand svg{ width: 22px; height: 22px; }
.footer-bottom{
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  border-top: 1px solid var(--line); padding-top: 22px;
  font-size: 12.5px; color: var(--text-mute); font-family: var(--font-mono);
}
.footer-brand,
.footer-top > a,
.footer-bottom{ font-family:var(--font-display); }

/* ============================================================
   APPLY WIZARD (apply.html)
   ============================================================ */

/* theme overrides for apply page */
body.apply-page {
  --bg:        #06070d;
  --bg-alt:    #0a0d18;
  --surface:   #10131f;
  --surface-2: #161a2b;
  --line:      #232840;
  --cyan:      #26e9ff;
  --pink:      #ff3ea5;
  --violet:    #7c5cff;
  --lime:      #b6ff5c;
  --grad-signal: linear-gradient(90deg, var(--cyan), var(--violet) 55%, var(--pink));
  --shadow-glow: 0 0 0 1px rgba(38,233,255,.12), 0 20px 60px -20px rgba(124,92,255,.35);
}
body.apply-page .btn{
  background: linear-gradient(135deg, var(--cyan), var(--violet));
  color: #fff;
}
body.apply-page .btn:hover{ box-shadow: 0 12px 30px -8px rgba(0,212,170,.5); }
body.apply-page .btn-ghost{ background: transparent; border: 1.5px solid var(--line); color: var(--text-dim); box-shadow: none; filter: none; }
body.apply-page .btn-ghost:hover{ border-color: var(--cyan); color: var(--text); box-shadow: none; filter: none; }
body.apply-page .w-step.active .dot{ background: linear-gradient(135deg, var(--cyan), var(--violet)); color: #fff; }
body.apply-page .w-step.done .dot{ background: var(--cyan); color: #0b0f1a; border-color: var(--cyan); }
body.apply-page .w-connector.done{ background: var(--cyan); }
body.apply-page .apply-success .check{ background: linear-gradient(135deg, var(--cyan), var(--violet)); }
body.apply-page .progress{ background: linear-gradient(90deg, var(--cyan), var(--violet)); }

.wizard-shell{ padding: 60px 0 110px; }
.wizard-card{
  max-width: 720px; margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glow);
  overflow: hidden;
}

.wizard-track{
  display: flex; align-items: center;
  padding: 26px 30px 0;
  gap: 4px;
}
.w-step{
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 10.5px; color: var(--text-mute);
  text-align: center;
}
.w-step .dot{
  width: 30px; height: 30px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--bg-alt);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: var(--text-dim);
  transition: all .25s ease;
}
.w-step.active .dot{
  border-color: var(--cyan); color: var(--bg); background: var(--grad-signal);
  box-shadow: 0 0 0 4px rgba(38,233,255,.12);
}
.w-step.done .dot{ border-color: var(--lime); color: var(--lime); background: rgba(182,255,92,.08); }
.w-step.active span.lbl{ color: var(--text); }
.w-connector{ flex: .5; height: 1px; background: var(--line); margin-top: -22px; }
.w-connector.done{ background: var(--lime); }

.wizard-body{ padding: 34px 40px 40px; }
.apply-page #applyForm,
.apply-page #applyForm *{
  font-family: 'Newsreader', Georgia, serif;
}
.wizard-step{ display: none; animation: fadeIn .35s ease; }
.wizard-step.active{ display: block; }
@keyframes fadeIn{ from{ opacity: 0; transform: translateY(8px);} to{ opacity: 1; transform: translateY(0);} }

.wizard-step h2{ font-size: 22px; margin-bottom: 6px; }
.wizard-step .step-sub{ color: var(--text-dim); font-size: 13.5px; margin-bottom: 26px; }

.wizard-nav{
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 30px; gap: 14px;
}
.wizard-nav .spacer{ flex: 1; }

.otp-row{ display: flex; gap: 10px; align-items: flex-end; }
.otp-row .field{ flex: 1; margin-bottom: 0; }
.otp-boxes{ display: flex; gap: 10px; margin: 4px 0 4px; }
.otp-boxes input{
  width: 46px; height: 54px; text-align: center; font-size: 20px; font-family: var(--font-mono);
  padding: 0;
}
.otp-status{ font-family: var(--font-mono); font-size: 12px; margin-top: 10px; color: var(--text-mute); }
.otp-status.sent{ color: var(--cyan); }
.otp-status.verified{ color: var(--lime); }
.otp-demo-note{
  margin-top: 14px; font-size: 12px; color: var(--text-mute);
  border: 1px dashed var(--line); border-radius: 10px; padding: 10px 12px;
  background: var(--bg-alt);
}
.otp-demo-note b{ color: var(--pink); }

.choice-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.phone-row{ display:grid; grid-template-columns:minmax(190px, .8fr) minmax(0, 1.2fr); gap:16px; }

.review-list{ border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; margin-bottom: 22px; }
.review-row{
  display: flex; justify-content: space-between; gap: 20px;
  padding: 13px 18px; font-size: 13.5px;
  border-bottom: 1px solid var(--line);
}
.review-row:last-child{ border-bottom: none; }
.review-row dt{ color: var(--text-mute); font-family: var(--font-mono); font-size: 12px; }
.review-row dd{ margin: 0; color: var(--text); text-align: right; max-width: 60%; }

.apply-success{ display: none; text-align: center; padding: 20px 10px 6px; }
.apply-success.show{ display: block; }
.apply-success .check{
  width: 64px; height: 64px; border-radius: 999px; margin: 0 auto 20px;
  background: var(--grad-signal); color: #04050a; font-weight: 800; font-size: 28px;
  display: flex; align-items: center; justify-content: center;
}
.apply-success h2{ font-size: 24px; margin-bottom: 10px; }
.apply-success p{ color: var(--text-dim); font-size: 16px; max-width: 42ch; margin: 0 auto 22px; }
.apply-success p a{ color:var(--cyan); text-decoration:underline; text-underline-offset:3px; }

/* ---------------- responsive ---------------- */
@media (max-width: 860px){
  .hero .wrap{ grid-template-columns: 1fr; }
  .hero-art{ order: -1; max-width: 320px; margin: 0 auto 10px; }
  .about-grid{ grid-template-columns: 1fr; gap: 32px; }
  .about-stats{ grid-template-columns: repeat(2,1fr); }
  .diff-grid{ grid-template-columns: 1fr 1fr; }
  .blog-grid{ grid-template-columns: 1fr; }
  .stage-nav{ grid-template-columns: 1fr 1fr; }
  .stage-panel{ grid-template-columns: 1fr; text-align: left; padding: 30px; }
  .contact-card{ grid-template-columns: 1fr; padding: 32px; }
  .contact-apply-box{ flex-direction: column; align-items: flex-start; }
  .navlinks{ display: none; }
}
@media (max-width: 560px){
  .form-row, .choice-grid, .phone-row{ grid-template-columns: 1fr; }
  .diff-grid{ grid-template-columns: 1fr; }
  .wizard-body{ padding: 26px 20px 30px; }
  .wizard-track{ padding: 22px 18px 0; }
  .w-step .lbl{ display: none; }
  .otp-boxes input{ width: 38px; height: 48px; font-size: 17px; }
}

/* ============================================================
   AFRI-AI  —  BRAND REFRESH
   A calm, editorial deep-tech system: midnight ink, solar gold,
   clay and warm paper replace the previous neon UI treatment.
   ============================================================ */
:root{
  --bg: #07142c;
  --bg-alt: #0b1b37;
  --surface: #102342;
  --surface-2: #173055;
  --line: rgba(236, 230, 211, .17);
  --text: #f8f3e8;
  --text-dim: #c1c9d2;
  --text-mute: #8f9bb0;
  --cyan: #ffc52d;
  --pink: #ef7857;
  --violet: #e49e32;
  --lime: #b7d68a;
  --grad-signal: linear-gradient(110deg, #ffdc4b 0%, #ffbd21 50%, #f58442 100%);
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-lg: 22px;
  --shadow-glow: 0 22px 60px -32px rgba(0, 0, 0, .8);
  --font-display: 'DM Sans', system-ui, sans-serif;
}
body{ background: var(--bg); font-size: 15px; }
body::before{ background: radial-gradient(760px 560px at 95% -10%, rgba(255, 190, 33, .14), transparent 63%), radial-gradient(650px 560px at -15% 45%, rgba(241, 112, 71, .09), transparent 65%); }
.wrap{ max-width: 1240px; padding: 0 34px; }
h1,h2,h3{ letter-spacing: -.045em; }
.progress{ height: 2px; background: var(--grad-signal); }

header{ background: rgba(7, 20, 44, .88); border-bottom-color: rgba(248,243,232,.13); }
nav.wrap{ height: 88px; }
.brand{ gap: 12px; color: var(--text); font-family: var(--font-display); font-size: 18px; letter-spacing: -.03em; }
.brand svg{ display: none; }
.brand::before{
  content: ''; width: 38px; height: 38px; flex: none;
  border-radius: 9px; background-image: url('../Afri-AI.png');
  background-size: 182%; background-position: 49.5% 38.5%;
  box-shadow: 0 0 0 1px rgba(255,197,45,.38), 0 8px 18px rgba(0,0,0,.28);
}
.navlinks{ gap: 28px; }
.navlinks a{ font-family: var(--font-mono); font-size: 11px; color: var(--text-dim); letter-spacing: .06em; text-transform: uppercase; }
.navlinks a::after{ background: var(--cyan); }
.btn{ background: var(--cyan); color: #07142c; border-radius: 4px; padding: 12px 19px; box-shadow: none; font-family: var(--font-mono); font-size: 11px; letter-spacing: .035em; text-transform: uppercase; }
.btn:hover{ background: #ffda5b; box-shadow: none; filter: none; transform: translateY(-2px); }
.btn-ghost{ border-color: rgba(248,243,232,.35); color: var(--text); background: transparent; }
.btn-ghost:hover{ background: rgba(255,255,255,.06); border-color: var(--text); box-shadow: none; }

.hero{ min-height: 690px; padding: 92px 0 64px; }
.hero::after{ content: ''; position: absolute; inset: 22px 0 0 52%; pointer-events: none; opacity: .45; background-image: linear-gradient(rgba(255,197,45,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,197,45,.16) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, transparent, #000 22%, transparent 95%); }
.circuit-bg{ display:none; }
.hero .wrap{ grid-template-columns: minmax(0, .94fr) minmax(400px, 1.06fr); gap: 54px; min-height: 520px; }
.eyebrow{ border: 0; border-radius: 0; border-left: 2px solid var(--cyan); color: var(--cyan); padding: 2px 0 2px 12px; background: transparent; font-size: 10px; margin-bottom: 28px; }
.hero h1{ font-size: clamp(52px, 6.1vw, 80px); line-height: .96; max-width: 760px; margin-bottom: 25px; }
.hero h1 span{ background: none; color: var(--cyan); }
.hero .lede{ color: var(--text-dim); max-width: 49ch; font-size: 17px; line-height: 1.7; }
.hero-ctas{ gap: 12px; margin-bottom: 54px; }
.hero-stats{ border-top: 1px solid var(--line); padding-top: 20px; gap: 0; }
.stat{ min-width: 130px; padding-right: 25px; margin-right: 25px; border-right: 1px solid var(--line); }
.stat:last-child{ border: 0; margin: 0; }
.stat b{ font-size: 27px; color: var(--cyan); }
.stat span{ font-family: var(--font-mono); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; color: var(--text-mute); }
.hero-art{ aspect-ratio: 1.05/1; max-width: 600px; justify-self: end; overflow: hidden; border-radius: 22px 22px 120px 22px; border: 1px solid rgba(255, 197, 45, .36); background: #06142d url('../Afri-AI.png') center 47% / 142% no-repeat; box-shadow: 24px 26px 0 rgba(255,197,45,.08); }
.hero-art::before{ content: 'AFRI-AI // 2026'; position: absolute; top: 20px; left: 22px; font: 10px var(--font-mono); letter-spacing: .14em; color: var(--cyan); z-index: 1; }
.hero-art::after{ content: 'CODE THE CHANGE'; position: absolute; right: -4px; bottom: 22px; font: 10px var(--font-mono); letter-spacing: .17em; color: var(--text); writing-mode: vertical-rl; }
.hero-art svg{ display:none; }

.strip{ padding: 15px 0; background: var(--cyan); color: var(--bg); border: 0; }
.strip-track{
  color:var(--bg);
  font-family:var(--font-display);
  font-size:18px;
  font-weight:500;
  letter-spacing:.01em;
}
.about, .diff, .cta{ padding: 128px 0; }
.about{ position:relative; overflow:hidden; background: #f3efe5; color: #0a1b39; }
.about::before{ content: '01'; position: absolute; right: 6vw; font: 500 clamp(120px, 20vw, 270px)/.8 var(--font-display); color: rgba(10,27,57,.05); }
.about .wrap{ position:relative; }
.about-left .section-label{ color: #d66a47; }
.lead-line{ color: #0a1b39; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.14; max-width: 17ch; }
.about-right > p{ color: #43516a; font-size: 17px; }
.pill{ color: #324761; background: transparent; border-color: rgba(10,27,57,.2); border-radius: 2px; }
.about-stats{ margin-top: 78px; border: 0; border-radius: 0; background: #0a1b39; }
.about-stat{ background: transparent; padding: 27px 28px; }
.about-stat-num{ color: var(--cyan); background: none; -webkit-text-fill-color: var(--cyan); font-size: 41px; }
.about-stat-label{ color: rgba(248,243,232,.68); font-family: var(--font-mono); font-size: 10px; letter-spacing:.035em; text-transform:uppercase; }

.journey{ padding: 128px 0; background: #0b1b37; border-color: var(--line); }
.section-head{ max-width: 700px; margin-bottom: 54px; }
.section-head .mono{ color: var(--cyan); font-size: 10px; }
.section-head h2{ font-size: clamp(35px, 4.1vw, 54px); line-height: 1.04; }
.section-head p{ font-size: 16px; max-width: 55ch; }
.stage-nav{ gap: 0; margin-bottom: 0; border-top: 1px solid var(--line); }
.stage-btn{ padding: 19px 10px; border-radius: 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--text-dim); font-size: 12px; }
.stage-btn:hover{ border-color: var(--cyan); }
.stage-btn.active{ background: transparent; border-color: var(--cyan); color: var(--text); }
.stage-btn.active .n{ color: var(--cyan); }
.stage-panel{ margin-top: 34px; padding: 49px; border-radius: 0 18px 72px 18px; border-color: rgba(255,197,45,.34); background: linear-gradient(120deg, rgba(255,197,45,.1), transparent 48%), var(--surface); }
.big-num{ color: var(--cyan); -webkit-text-stroke: 0; font-size: 96px; }
.weeks{ color: var(--cyan); }
.stage-panel h3{ font-size: 32px; }
.unlock-note{ color: var(--lime); background: rgba(183,214,138,.1); border-color: rgba(183,214,138,.32); border-radius: 2px; }

.diff{ background: #f3efe5; color: #0a1b39; }
.diff .section-head .mono{ color: #d66a47; }
.diff .section-head p{ color: #43516a; }
.diff-grid{ gap: 1px; background: rgba(10,27,57,.2); border: 1px solid rgba(10,27,57,.2); }
.flip-card{ height: 235px; }
.flip-front,.flip-back{ border: 0; border-radius: 0; padding: 29px; }
.flip-front{ background: #f3efe5; }
.flip-back{ background: #0a1b39; }
.flip-back p{ color: var(--text); }
.glyph{ background: none; -webkit-text-fill-color: #d66a47; color:#d66a47; font-size: 27px; }
.flip-front h3{ font-size: 20px; }
.flip-front .hint{ color: #768194; text-transform: uppercase; letter-spacing: .07em; }

.blog{ padding: 128px 0; background: #0b1b37; }
.blog-grid{ gap: 16px; }
.blog-card{ border-radius: 0 0 18px 0; border-color: var(--line); background: var(--surface); }
.blog-card--featured{ border-color: rgba(255,197,45,.5); }
.blog-thumb{ height: 185px; }
.blog-thumb.t1{ background: linear-gradient(135deg, #d36746, #e3aa35); }
.blog-thumb.t2{ background: linear-gradient(135deg, #f6ca38, #d8753c); }
.blog-thumb.t3{ background: linear-gradient(135deg, #3d937e, #d7bd50); }
.blog-thumb-label{ border-radius: 2px; background: rgba(7,20,44,.84); }
.blog-tag{ color: var(--cyan); }
.blog-cta{ border-radius: 0 18px 18px 18px; background: #102342; }

.cta{ background: #f3efe5; color: #0a1b39; }
.cta-head h2{ font-size: clamp(35px, 4.1vw, 52px); }
.cta-head p{ color: #43516a; }
.contact-card{ max-width: 900px; padding: 0; gap: 0; border: 0; border-radius: 0 24px 80px 0; background: #0a1b39; box-shadow: none; overflow:hidden; }
.contact-info{ padding: 48px 42px; background: #d9714f; color: #0a1b39; }
.contact-info p,.contact-line a,.contact-line span.val{ color: #0a1b39; }
.contact-line .ico{ color: #0a1b39; background: rgba(248,243,232,.3); border-color: rgba(10,27,57,.24); border-radius: 3px; }
.contact-social a{ border-radius: 3px; color:#0a1b39; border-color:rgba(10,27,57,.32); }
.contact-social a:hover{ color: #f8f3e8; border-color: #f8f3e8; }
.mini-form{ padding: 44px 40px; }
.field input,.field select,.field textarea{ background: rgba(248,243,232,.07); border-color: rgba(248,243,232,.22); border-radius: 3px; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(255,197,45,.13); }
.contact-apply-box{ max-width: 900px; border-radius: 0; border-color: rgba(10,27,57,.22); background: transparent; color:#0a1b39; }
.contact-apply-box p{ color:#43516a; }
footer{ background: #07142c; padding: 52px 0; }
.footer-brand svg{ display:none; }

/* Keep the application clear and premium in the same brand system. */
body.apply-page{ --bg:#07142c; --bg-alt:#0b1b37; --surface:#102342; --surface-2:#173055; --line:rgba(236,230,211,.17); --cyan:#ffc52d; --pink:#ef7857; --violet:#e49e32; --lime:#b7d68a; --grad-signal:linear-gradient(110deg,#ffdc4b,#f58442); --shadow-glow:0 22px 60px -32px rgba(0,0,0,.8); }
body.apply-page .btn{ background: var(--cyan); color:#07142c; }
body.apply-page .btn-ghost{ color:var(--text); }
body.apply-page .w-step.active .dot, body.apply-page .apply-success .check{ background:var(--cyan); color:#07142c; }
body.apply-page .w-step.done .dot, body.apply-page .w-connector.done{ background:var(--lime); border-color:var(--lime); color:#07142c; }
body.apply-page .progress{ background:var(--cyan); }
.wizard-card{ border-radius: 0 24px 72px 0; border-color:rgba(255,197,45,.35); box-shadow:none; }
.wizard-track{ padding-top:32px; }
.w-step.active .dot{ background:var(--cyan); color:#07142c; border-color:var(--cyan); box-shadow:0 0 0 4px rgba(255,197,45,.13); }

@media (max-width: 860px){
  .wrap{ padding:0 22px; }
  nav.wrap{ height:76px; }
  .hero{ min-height:auto; padding:56px 0 52px; }
  .hero .wrap{ grid-template-columns:1fr; gap:38px; }
  .hero-art{ width:100%; max-width:560px; justify-self:start; order:initial; }
  .hero::after{ inset:45% 0 0; }
  .about,.diff,.cta,.journey,.blog{ padding:86px 0; }
}
@media (max-width: 560px){
  .hero h1{ font-size:48px; }
  .hero-art{ border-radius:16px 16px 68px 16px; }
  .hero-stats{ gap:12px; }
  .stat{ padding-right:12px; margin-right:12px; min-width:unset; }
  .about-stats{ margin-top:46px; }
  .stage-panel{ padding:29px 23px; border-radius:0 16px 50px 16px; }
  .contact-info,.mini-form{ padding:31px 24px; }
}

/* Comfortable reading scale */
body{ font-size:17px; line-height:1.68; }
h1,h2,h3{ font-weight:700; }
.navlinks a{ font-size:12px; }
.btn{ font-size:12px; padding:14px 21px; }
.hero .lede{ font-size:19px; line-height:1.62; }
.eyebrow,.section-head .mono,.about-left .section-label{ font-size:11px; }
.stat b{ font-size:31px; }
.stat span{ font-size:11px; line-height:1.45; }
.about-right > p,.section-head p,.cta-head p{ font-size:18px; line-height:1.72; }
.pill{ font-size:13px; padding:8px 14px; }
.about-stat-label{ font-size:11px; line-height:1.45; }
.stage-btn{ font-size:14px; }
.stage-panel p{ font-size:17px; line-height:1.7; }
.weeks{ font-size:13px; }
.unlock-note{ font-size:13px; }
.flip-front h3{ font-size:22px; }
.flip-back p{ font-size:16px; line-height:1.7; }
.flip-front .hint{ font-size:11px; }
.blog-body{ padding:28px; }
.blog-tag,.blog-date,.blog-read{ font-size:12px; }
.blog-body h3{ font-size:21px; line-height:1.32; }
.blog-body p,.blog-cta p{ font-size:16px; line-height:1.68; }
.contact-info h3{ font-size:26px; }
.contact-info p,.contact-line a,.contact-line span.val{ font-size:16px; line-height:1.65; }
.field label{ font-size:13px; }
.field input,.field select,.field textarea{ font-size:16px; padding:14px 15px; }
.field-hint,.field-error{ font-size:13px; }
.footer-brand,
.footer-top > a{ font-size:17px; }
.footer-bottom{ font-size:15px; }
.footer-bottom span:first-child{ font-size:16px; }
.footer-bottom span:last-child{ font-size:16px; }
.wizard-step h2{ font-size:29px; }
.wizard-step .step-sub{ font-size:16px; line-height:1.6; }
.w-step{ font-size:11px; }
.review-row{ font-size:15px; }
.review-row dt{ font-size:13px; }

@media (max-width: 560px){
  body{ font-size:16px; }
  .hero .lede{ font-size:18px; }
  .about-right > p,.section-head p,.cta-head p{ font-size:17px; }
  .stage-btn{ font-size:13px; }
  .stage-panel p{ font-size:16px; }
  .blog-body h3{ font-size:20px; }
}

/* ============================================================
   Editorial light-mode composition — inspired by the restraint,
   photography and structural clarity of a modern deep-tech studio.
   ============================================================ */
body:not(.apply-page){
  --bg: #f5f3ec;
  --bg-alt: #ffffff;
  --surface: #ffffff;
  --surface-2: #eef0ec;
  --line: rgba(15, 37, 63, .18);
  --text: #10243d;
  --text-dim: #46566c;
  --text-mute: #718095;
  --cyan: #e7aa20;
  --pink: #b95436;
  --violet: #b17b22;
  --lime: #657f53;
  background: var(--bg);
  color: var(--text);
}
body:not(.apply-page)::before{ display:none; }
body:not(.apply-page) header{ background:rgba(245,243,236,.94); border-bottom:1px solid var(--line); }
body:not(.apply-page) .brand{ color:var(--text); }
body:not(.apply-page) .navlinks a{ color:#425168; }
body:not(.apply-page) .navlinks a:hover{ color:var(--text); }
body:not(.apply-page) .btn{ background:#10243d; color:#fff; border-radius:0; }
body:not(.apply-page) .btn:hover{ background:#b95436; color:#fff; }
body:not(.apply-page) .btn-ghost{ background:transparent; border:1px solid #10243d; color:#10243d; }
body:not(.apply-page) .btn-ghost:hover{ background:#10243d; color:#fff; }

body:not(.apply-page) .hero{ min-height:auto; padding:48px 0 58px; background:#f5f3ec; }
body:not(.apply-page) .hero::after{ display:none; }
body:not(.apply-page) .hero .wrap{ grid-template-columns:minmax(350px,.84fr) minmax(440px,1.16fr); gap:76px; min-height:565px; }
body:not(.apply-page) .eyebrow{ color:#b95436; border-color:#b95436; margin-bottom:26px; }
body:not(.apply-page) .hero h1{ color:#10243d; font-size:clamp(54px,5.55vw,80px); max-width:690px; letter-spacing:-.055em; }
body:not(.apply-page) .hero h1 span{ color:#b95436; }
body:not(.apply-page) .hero .lede{ color:#3e5067; max-width:43ch; }
body:not(.apply-page) .hero-stats{ border-color:var(--line); }
body:not(.apply-page) .stat{ border-color:var(--line); }
body:not(.apply-page) .stat b{ color:#10243d; }
body:not(.apply-page) .stat span{ color:#607087; }
body:not(.apply-page) .hero-art{ width:100%; max-width:none; min-height:560px; aspect-ratio:auto; justify-self:stretch; border:0; border-radius:0 0 0 76px; box-shadow:none; background:#d9cfbd url('../assets/afri-ai-studio-hero.png') 68% center / cover no-repeat; }
body:not(.apply-page) .hero-art::before{ color:#fff; background:rgba(16,36,61,.87); padding:7px 9px; top:0; left:0; }
body:not(.apply-page) .hero-art::after{ right:15px; bottom:18px; color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.45); }

/* Hero photography carousel */
body:not(.apply-page) .hero-art{ background:#d9cfbd; }
.hero-carousel,
.hero-slides{ position:absolute; inset:0; }
.hero-carousel{ z-index:2; overflow:hidden; }
.hero-slide{
  position:absolute; inset:0; width:100%; height:100%; max-width:none;
  object-fit:cover; object-position:center;
  opacity:0; transform:scale(1.025);
  transition:opacity .9s ease, transform 5.8s ease;
}
.hero-slide.is-active{ opacity:1; transform:scale(1); z-index:1; }
.hero-carousel-controls{
  position:absolute; z-index:3; left:50%; bottom:20px; transform:translateX(-50%);
  display:flex; gap:9px; padding:9px 11px; border-radius:999px;
  background:rgba(6,7,13,.64); backdrop-filter:blur(8px);
}
.hero-dot{
  width:9px; height:9px; padding:0; border:1px solid rgba(255,255,255,.82);
  border-radius:999px; background:transparent; cursor:pointer;
  transition:width .25s ease, background .25s ease, border-color .25s ease;
}
.hero-dot:hover{ border-color:var(--cyan); }
.hero-dot.is-active{ width:25px; background:var(--cyan); border-color:var(--cyan); }
.hero-dot:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
@media (prefers-reduced-motion:reduce){
  .hero-slide{ transform:none; transition:opacity .001ms linear; }
}

body:not(.apply-page) .strip{ background:#10243d; color:#fff; }
body:not(.apply-page) .strip-track{ color:#fff; }
body:not(.apply-page) .about{ background:#fff; color:#10243d; }
body:not(.apply-page) .about::before{ color:rgba(16,36,61,.045); }
body:not(.apply-page) .lead-line{ color:#10243d; }
body:not(.apply-page) .about-right > p{ color:#46566c; }
body:not(.apply-page) .about-stats{ background:#10243d; }
body:not(.apply-page) .about-stat-num{ -webkit-text-fill-color:#f3bd35; color:#f3bd35; }

body:not(.apply-page) .journey{ background:#f5f3ec; border:0; color:#10243d; }
body:not(.apply-page) .section-head .mono{ color:#b95436; }
body:not(.apply-page) .section-head p{ color:#46566c; }
body:not(.apply-page) .stage-nav{ border-color:var(--line); }
body:not(.apply-page) .stage-btn{ color:#526277; border-color:var(--line); }
body:not(.apply-page) .stage-btn.active{ color:#10243d; border-color:#10243d; }
body:not(.apply-page) .stage-btn.active .n{ color:#b95436; }
body:not(.apply-page) .stage-panel{ background:#10243d; border:0; border-radius:0; color:#fff; }
body:not(.apply-page) .big-num{ color:#f3bd35; }
body:not(.apply-page) .weeks{ color:#f3bd35; }
body:not(.apply-page) .stage-panel p{ color:#d4d9de; }
body:not(.apply-page) .unlock-note{ color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25); }

body:not(.apply-page) .diff{ background:#fff; color:#10243d; }
body:not(.apply-page) .diff-grid{ border-color:var(--line); background:var(--line); }
body:not(.apply-page) .flip-front{ background:#fff; }
body:not(.apply-page) .flip-back{ background:#b95436; }
body:not(.apply-page) .glyph{ -webkit-text-fill-color:#b95436; color:#b95436; }
body:not(.apply-page) .flip-back p{ color:#fff; }

body:not(.apply-page) .blog{ background:#f5f3ec; border:0; color:#10243d; }
body:not(.apply-page) .blog-card{ background:#fff; border-color:var(--line); }
body:not(.apply-page) .blog-card--featured{ border-color:#b95436; }
body:not(.apply-page) .blog-body p{ color:#526277; }
body:not(.apply-page) .blog-tag{ color:#b95436; }
body:not(.apply-page) .blog-date{ color:#718095; }
body:not(.apply-page) .blog-read{ color:#b95436; }
body:not(.apply-page) .blog-cta{ background:#10243d; border:0; border-radius:0; }
body:not(.apply-page) .blog-cta p{ color:#fff; }

body:not(.apply-page) .cta{ background:#fff; color:#10243d; }
body:not(.apply-page) .contact-card{ background:#10243d; border-radius:0; }
body:not(.apply-page) .contact-info{ background:#e9b329; }
body:not(.apply-page) .contact-apply-box{ border-color:var(--line); }
body:not(.apply-page) footer{ background:#10243d; border:0; }

@media (max-width: 860px){
  body:not(.apply-page) .hero .wrap{ grid-template-columns:1fr; gap:38px; }
  body:not(.apply-page) .hero-art{ min-height:430px; }
}
@media (max-width: 560px){
  body:not(.apply-page) .hero{ padding-top:32px; }
  body:not(.apply-page) .hero h1{ font-size:48px; }
  body:not(.apply-page) .hero-art{ min-height:340px; border-radius:0 0 0 42px; background-position:70% center; }
}

/* Home page composition */
body:not(.apply-page){ --font-display:'Newsreader', Georgia, serif; }
body:not(.apply-page) header{ background:#f5f3ec; }
body:not(.apply-page) nav.wrap{ height:69px; }
body:not(.apply-page) .brand{ font-family:var(--font-body); font-size:16px; font-weight:700; letter-spacing:-.035em; }
body:not(.apply-page) .brand::before{ width:34px; height:34px; border-radius:0; box-shadow:none; }
body:not(.apply-page) .navlinks{ gap:36px; }
body:not(.apply-page) .navlinks a{ font-family:var(--font-body); font-size:15px; font-weight:600; letter-spacing:0; text-transform:none; }
body.apply-page header .navlinks a{ font-family:var(--font-body); font-size:15px; font-weight:600; letter-spacing:0; text-transform:none; }
body:not(.apply-page) header .btn{ display:none; }

body:not(.apply-page) .hero{ padding:0 0 62px; background:#111511; color:#f8f6ef; overflow:visible; }
body:not(.apply-page) .hero .wrap{ max-width:none; min-height:0; padding:0; display:flex; flex-direction:column; gap:0; }
body:not(.apply-page) .hero-copy{ width:min(1240px, 100%); margin:0 auto; padding:63px 48px 0; order:2; }
body:not(.apply-page) .hero-art{ order:1; width:100%; min-height:337px; height:337px; border-radius:0; background-position:center 51%; }
body:not(.apply-page) .hero-art::before,
body:not(.apply-page) .hero-art::after{ display:none; }
body:not(.apply-page) .eyebrow{
  color:var(--signal);
  border-color:#b7ee38;
  font-size:11px;
  letter-spacing:.11em;
  margin-bottom:21px;
}
body:not(.apply-page) .hero h1{ max-width:1240px; color:#f8f6ef; font-size:clamp(48px,5vw,69px); font-weight:500; line-height:.98; letter-spacing:-.045em; margin-bottom:29px; }
body:not(.apply-page) .hero h1 span{ color:#b7ee38; font-style:italic; }
body:not(.apply-page) .hero .lede{ max-width:none; color:#d6d8d0; font-size:17px; line-height:1.6; }
body:not(.apply-page) .hero .lede,
body:not(.apply-page) .application-note{
  font-family:var(--font-display);
  font-weight:500;
}
body:not(.apply-page) .hero-story{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  max-width:1040px;
  text-wrap:balance;
}
body:not(.apply-page) .hero-story span{ display:block; }
body:not(.apply-page) .hero-story span:first-child{
  grid-column:1 / -1;
  margin-bottom:10px;
  color:#f8f6ef;
  font-size:1.28em;
  line-height:1.45;
}
body:not(.apply-page) .hero-story span:not(:first-child){
  position:relative;
  margin:0;
  min-height:100%;
  padding:36px 20px 21px;
  border:1px solid rgba(255,255,255,.16);
  border-top:2px solid var(--signal);
  border-radius:12px;
  background:linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 15px 26px -24px rgba(0,0,0,.9);
  font-size:18px;
  line-height:1.6;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
body:not(.apply-page) .hero-story span:not(:first-child):hover{
  border-color:rgba(255,195,41,.7);
  background:linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.055));
  transform:translateY(-4px);
}
body:not(.apply-page) .hero-callout{
  margin-top:34px;
  color:var(--signal);
  font-family:var(--font-display);
  font-size:clamp(21px, 1.9vw, 27px);
  font-weight:500;
  line-height:1.05;
}
body:not(.apply-page) .hero-ctas{ margin:44px 0 0; }
body:not(.apply-page) .application-note{
  margin-top:46px;
  color:var(--signal);
  font-family:var(--font-display);
  font-size:16px;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:none;
}
body:not(.apply-page) .hero .btn{ background:#b7ee38; color:#111511; }
body:not(.apply-page) .hero .btn:hover{ background:#f8f6ef; color:#111511; }
body:not(.apply-page) .hero .btn-ghost{ color:#f8f6ef; background:transparent; border-color:rgba(248,246,239,.5); }
body:not(.apply-page) .hero-stats{ display:none; }

body:not(.apply-page) .about{ padding:112px 0; }
body:not(.apply-page) .lead-line,
body:not(.apply-page) .section-head h2,
body:not(.apply-page) .cta-head h2{ font-size:clamp(42px,4.4vw,61px); font-weight:500; line-height:.98; letter-spacing:-.04em; }
body:not(.apply-page) .about-stats{ margin-top:70px; }
body:not(.apply-page) .journey{ padding:112px 0; }
body:not(.apply-page) .stage-panel h3{ font-size:38px; font-weight:500; }
body:not(.apply-page) .diff{ padding:112px 0; }
body:not(.apply-page) .flip-front h3{ font-family:var(--font-display); font-size:29px; font-weight:600; }
body:not(.apply-page) .blog{ padding:112px 0; }
body:not(.apply-page) .blog-body h3{ font-family:var(--font-display); font-size:28px; font-weight:600; line-height:1.06; }
body:not(.apply-page) .cta{ padding:112px 0; }

@media (max-width: 860px){
  body:not(.apply-page) .hero-copy{ padding:48px 28px 0; }
  body:not(.apply-page) .hero-art{ height:300px; min-height:300px; }
}
@media (max-width: 560px){
  body:not(.apply-page) nav.wrap{ height:64px; }
  body:not(.apply-page) .navlinks{ display:none; }
  body:not(.apply-page) .hero-art{ height:245px; min-height:245px; }
  body:not(.apply-page) .hero-copy{ padding:42px 22px 0; }
  body:not(.apply-page) .hero h1{ font-size:47px; }
  body:not(.apply-page) .hero-story{ grid-template-columns:1fr; gap:13px; }
  body:not(.apply-page) .hero-story span:first-child{ margin-bottom:7px; }
  body:not(.apply-page) .hero-story span:not(:first-child){ padding:16px 17px; }
}

/* One Afri-AI colour system drawn from the logo: ivory, navy and gold. */
:root{
  --ink: #061331;
  --paper: #f4f3ed;
  --paper-deep: #e9e8df;
  --signal: #ffc329;
  --signal-deep: #ff851c;
  --copy: #3c4962;
}
body:not(.apply-page){
  --bg: var(--paper);
  --bg-alt: #fff;
  --surface: #fff;
  --surface-2: var(--paper-deep);
  --line: rgba(6,19,49,.16);
  --text: var(--ink);
  --text-dim: var(--copy);
  --text-mute: #66738b;
  --cyan: var(--signal);
  --pink: var(--signal);
  --violet: var(--signal);
  --lime: var(--signal);
}
body:not(.apply-page) .hero,
body:not(.apply-page) .stage-panel,
body:not(.apply-page) .blog-cta,
body:not(.apply-page) .contact-card,
body:not(.apply-page) footer{ background:var(--ink); }
body:not(.apply-page) header,
body:not(.apply-page) .journey,
body:not(.apply-page) .blog{ background:var(--paper); }
body:not(.apply-page) .about,
body:not(.apply-page) .diff,
body:not(.apply-page) .cta,
body:not(.apply-page) .flip-front,
body:not(.apply-page) .blog-card{ background:#fff; }
body:not(.apply-page) .hero h1,
body:not(.apply-page) .stage-panel,
body:not(.apply-page) .footer-brand,
body:not(.apply-page) .footer-bottom{ color:#fff; }
body:not(.apply-page) .hero h1 span,
body:not(.apply-page) .eyebrow,
body:not(.apply-page) .section-head .mono,
body:not(.apply-page) .about-left .section-label,
body:not(.apply-page) .stage-btn.active .n,
body:not(.apply-page) .weeks,
body:not(.apply-page) .big-num,
body:not(.apply-page) .glyph,
body:not(.apply-page) .blog-tag,
body:not(.apply-page) .blog-read{ color:var(--signal); -webkit-text-fill-color:var(--signal); }
body:not(.apply-page) .eyebrow{ border-color:var(--signal); }
body:not(.apply-page) .btn,
body:not(.apply-page) .hero .btn{ background:var(--signal); color:var(--ink); }
body:not(.apply-page) .btn:hover,
body:not(.apply-page) .hero .btn:hover{ background:var(--ink); color:#fff; }
body:not(.apply-page) .hero .btn-ghost{ color:#fff; background:transparent; border-color:rgba(255,255,255,.56); }
body:not(.apply-page) .hero .btn-ghost:hover{ background:#fff; color:var(--ink); }
body:not(.apply-page) .strip{ background:var(--ink); }
body:not(.apply-page) .about::before{ color:rgba(6,19,49,.04); }
body:not(.apply-page) .about-stat-num{ color:var(--signal); -webkit-text-fill-color:var(--signal); }
body:not(.apply-page) .stage-btn.active{ border-color:var(--ink); }
body:not(.apply-page) .flip-back{ background:var(--ink); }
body:not(.apply-page) .blog-card--featured{ border-color:var(--ink); }
body:not(.apply-page) .blog-thumb.t1,
body:not(.apply-page) .blog-thumb.t2,
body:not(.apply-page) .blog-thumb.t3{ background:linear-gradient(135deg, #162b52, #061331); }
body:not(.apply-page) .contact-info{ background:var(--signal); color:var(--ink); }
body:not(.apply-page) .contact-info p,
body:not(.apply-page) .contact-line a,
body:not(.apply-page) .contact-line span.val,
body:not(.apply-page) .contact-line .ico,
body:not(.apply-page) .contact-social a{ color:var(--ink); }

body.apply-page{
  --bg:#061331;
  --bg-alt:#0b1d40;
  --surface:#10274f;
  --surface-2:#17345f;
  --line:rgba(255,255,255,.17);
  --cyan:#ffc329;
  --pink:#ffc329;
  --violet:#ffc329;
  --lime:#ffc329;
  --grad-signal:linear-gradient(110deg,#ffc329,#ff851c);
}
body.apply-page .btn,
body.apply-page .w-step.active .dot,
body.apply-page .apply-success .check{ background:#ffc329; color:#061331; }
body.apply-page .w-step.done .dot,
body.apply-page .w-connector.done{ background:#ffc329; border-color:#ffc329; color:#061331; }

/* Show the supplied Afri-AI lock-up in full instead of a cropped icon. */
.brand::before{ display:none; }
.brand-logo{
  display:block;
  width:88px;
  height:88px;
  padding:0;
  object-fit:contain;
  flex:none;
  border:1px solid rgba(255,195,41,.82);
  border-radius:50%;
  background:#061331;
}
body:not(.apply-page) nav.wrap{ height:102px; }
body:not(.apply-page) .brand{ gap:28px; }
body:not(.apply-page) .brand-logo{ width:88px; height:88px; }
body.apply-page nav.wrap{ height:102px; }
.brand-name{
  color:var(--ink, #061331);
  font-family:var(--font-display);
  font-size:25px;
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1;
}
body.apply-page .brand-name{ color:var(--text); }

/* Keep the home page legible in a consistently dark presentation. */
body:not(.apply-page){
  --bg:#07152f;
  --bg-alt:#0a1b38;
  --surface:#102544;
  --surface-2:#173356;
  --line:rgba(255,255,255,.18);
  --text:#f8f5ed;
  --text-dim:#d5dce6;
  --text-mute:#aebbc9;
  background:var(--bg);
  color:var(--text);
}
body:not(.apply-page) header,
body:not(.apply-page) .journey,
body:not(.apply-page) .blog{ background:#07152f; color:var(--text); }
body:not(.apply-page) header{
  background:var(--paper);
  border-bottom-color:rgba(6,19,49,.16);
  color:var(--ink);
}
body:not(.apply-page) .about,
body:not(.apply-page) .diff,
body:not(.apply-page) .cta{ background:#0a1b38; color:var(--text); }
body:not(.apply-page) .about::before{ color:rgba(255,255,255,.045); }
body:not(.apply-page) .brand,
body:not(.apply-page) .brand-name,
body:not(.apply-page) .lead-line,
body:not(.apply-page) .section-head h2,
body:not(.apply-page) .cta-head h2{ color:var(--text); }
body:not(.apply-page) header .brand,
body:not(.apply-page) header .brand-name{ color:var(--ink); }
body:not(.apply-page) header .navlinks a{ color:#56637a; }
body:not(.apply-page) header .navlinks a:hover{ color:var(--ink); }
body:not(.apply-page) header .navlinks a::after{ background:var(--signal); height:2px; }
body:not(.apply-page) .about-right > p,
body:not(.apply-page) .section-head p,
body:not(.apply-page) .cta-head p,
body:not(.apply-page) .blog-body p{ color:var(--text-dim); }
body:not(.apply-page) .pill{ color:var(--text-dim); border-color:rgba(255,255,255,.28); }
body:not(.apply-page) .about-stats,
body:not(.apply-page) .stage-panel,
body:not(.apply-page) .blog-cta,
body:not(.apply-page) .contact-card,
body:not(.apply-page) footer{ background:#061331; }
body:not(.apply-page) .flip-front,
body:not(.apply-page) .blog-card{ background:var(--surface); color:var(--text); }
body:not(.apply-page) .diff-grid{ background:var(--line); border-color:var(--line); }
body:not(.apply-page) .flip-front .hint,
body:not(.apply-page) .stage-btn{ color:var(--text-mute); }
body:not(.apply-page) .stage-btn.active{ color:var(--text); border-color:var(--signal); }
body:not(.apply-page) .contact-apply-box{ color:var(--text); border-color:var(--line); }
body:not(.apply-page) .contact-apply-box p{ color:var(--text-dim); }

body:not(.apply-page) .hero .hero-apply-btn,
body:not(.apply-page) .journey .hero-apply-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:min(100%, 352px);
  min-height:54px;
  padding:14px 26px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:7px;
  box-shadow:0 10px 24px -16px rgba(255,195,41,.8);
  font-size:17px;
  font-weight:600;
  letter-spacing:.01em;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body:not(.apply-page) .hero .hero-apply-btn:hover,
body:not(.apply-page) .journey .hero-apply-btn:hover{
  background:#fff5cc;
  color:var(--ink);
  box-shadow:0 14px 26px -14px rgba(255,195,41,.85);
  transform:translateY(-2px);
}
body:not(.apply-page) .btn{
  font-family:var(--font-display);
  font-size:16px;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:none;
}

@media (max-width:560px){
  body:not(.apply-page) nav.wrap{ height:78px; }
  body:not(.apply-page) .brand{ gap:14px; }
  body:not(.apply-page) .brand-logo{ width:58px; height:58px; padding:0; }
  .brand-name{ font-size:17px; letter-spacing:.035em; }
  body.apply-page nav.wrap{ height:78px; }
  body.apply-page .brand-logo{ width:58px; height:58px; }
}

@media (max-width:760px){
  .languages-section{padding:48px 0}
  .languages-panel{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:32px}
  .languages-control{width:100%;min-width:0}
}

/* ============================================================
   RESPONSIVE HARDENING — phones, tablets, laptops and wide screens
   ============================================================ */
.nav-toggle{
  display:none; width:44px; height:44px; padding:11px; flex:none;
  border:1px solid rgba(6,19,49,.14); border-radius:50%;
  background:#fff; color:currentColor; cursor:pointer;
  box-shadow:0 3px 12px rgba(6,19,49,.08);
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.nav-toggle span{
  display:block; width:100%; height:2px; margin:5px 0;
  border-radius:2px; background:currentColor; transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-toggle:hover,
.nav-toggle[aria-expanded="true"]{
  background:#ffc329;
  border-color:#ffc329;
  box-shadow:0 5px 16px rgba(6,19,49,.14);
}

@media (min-width:1500px){
  .wrap{ max-width:1440px; padding-inline:48px; }
  body:not(.apply-page) .hero-copy{ width:min(1440px, 100%); padding-inline:64px; }
  body:not(.apply-page) .hero-art{ height:clamp(390px, 27vw, 500px); }
  body:not(.apply-page) .hero-story{ max-width:1180px; }
}

@media (min-width:861px) and (max-width:1100px){
  .wrap{ padding-inline:28px; }
  .brand-logo,
  body:not(.apply-page) .brand-logo{ width:70px; height:70px; }
  body:not(.apply-page) nav.wrap,
  body.apply-page nav.wrap{ height:84px; }
  body:not(.apply-page) .brand{ gap:15px; }
  .brand-name{ font-size:21px; }
  .navlinks{ gap:18px; }
  body:not(.apply-page) .navlinks a,
  .navlinks a{ font-size:13px; }
  .about-grid{ gap:42px; }
  .contact-card{ max-width:100%; }
}

@media (max-width:900px){
  .wrap{ width:100%; padding-inline:24px; }
  header nav.wrap{ position:relative; }
  .nav-toggle{ display:block; margin-left:8px; }
  .language-switcher{ margin-left:auto; }
  body.apply-page .nav-toggle{ color:var(--text); border-color:var(--line); }
  header .navlinks{
    display:none; position:absolute; z-index:20; top:calc(100% + 1px); left:18px; right:18px;
    padding:12px; gap:4px; flex-direction:column; align-items:stretch;
    border:1px solid var(--line); border-radius:8px; background:var(--paper, #f4f3ed);
    box-shadow:0 18px 40px rgba(0,0,0,.2);
  }
  body.apply-page header .navlinks{ background:var(--surface); }
  header .navlinks.is-open{ display:flex; }
  header .navlinks a{ min-height:44px; padding:11px 13px; display:flex; align-items:center; font-size:15px; }
  body:not(.apply-page) header .btn{ display:none; }
  body.apply-page header .btn{ margin-left:10px; white-space:nowrap; }

  body:not(.apply-page) .hero-art{ height:clamp(280px, 43vw, 380px); min-height:0; }
  body:not(.apply-page) .hero-copy{ padding:48px 24px 0; }
  body:not(.apply-page) .hero-story{ grid-template-columns:1fr; gap:14px; }
  body:not(.apply-page) .hero-story span:not(:first-child){ padding:20px; }
  .hero-carousel-controls{ bottom:14px; }
  .hero-dot{ min-width:12px; min-height:12px; }

  .about-grid{ grid-template-columns:1fr; }
  .about-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .stage-nav{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .stage-panel{ grid-template-columns:1fr; }
  .diff-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .blog-grid{ grid-template-columns:1fr; }
  .contact-card{ grid-template-columns:1fr; max-width:720px; }
  .footer-top{ align-items:flex-start; }
  .footer-top .navlinks{ display:flex; position:static; padding:0; border:0; box-shadow:none; background:transparent; flex-direction:row; }

  .wizard-shell{ padding:40px 0 80px !important; }
  .wizard-card{ width:100%; }
}

@media (max-width:560px){
  .language-trigger{width:auto;min-width:42px;padding:0 12px;justify-content:center}
  .language-current{display:inline}
  .language-chevron{display:none}
  .language-menu{position:fixed;top:76px;right:16px;width:min(220px,calc(100vw - 32px))}
}

@media (max-width:600px){
  .wrap{ padding-inline:18px; }
  body:not(.apply-page) nav.wrap,
  body.apply-page nav.wrap{ height:72px; }
  body:not(.apply-page) .brand-logo,
  body.apply-page .brand-logo{ width:52px; height:52px; }
  body:not(.apply-page) .brand{ gap:10px; }
  .brand-name{ font-size:17px; }
  body.apply-page header .btn{ padding:11px 12px; font-size:11px; }
  .nav-toggle{ width:44px; height:44px; }

  body:not(.apply-page) .hero-art{ height:clamp(230px, 66vw, 310px); }
  body:not(.apply-page) .hero-copy{ padding:38px 18px 0; }
  body:not(.apply-page) .hero h1{ font-size:clamp(39px, 12vw, 50px); }
  body:not(.apply-page) .hero-story span:first-child{ font-size:1.12em; }
  body:not(.apply-page) .hero-story span:not(:first-child){ padding:16px; font-size:16px; }
  body:not(.apply-page) .hero .hero-apply-btn{ width:100%; }
  .hero-carousel-controls{ padding:8px 10px; }

  body:not(.apply-page) .about,
  body:not(.apply-page) .journey,
  body:not(.apply-page) .diff,
  body:not(.apply-page) .blog,
  body:not(.apply-page) .cta{ padding:72px 0; }
  body:not(.apply-page) .lead-line,
  body:not(.apply-page) .section-head h2,
  body:not(.apply-page) .cta-head h2{ font-size:clamp(34px, 10.5vw, 44px); }
  .about-stats{ grid-template-columns:1fr; }
  .about-stat{ padding:22px 20px; }
  .stage-nav{ grid-template-columns:1fr; }
  .stage-btn{ min-height:52px; }
  .big-num{ font-size:70px; }
  body:not(.apply-page) .stage-panel h3{ font-size:31px; }
  .diff-grid{ grid-template-columns:1fr; }
  .flip-card{ height:220px; }
  .contact-card{ border-radius:0; }
  .contact-apply-box{ padding:22px; }
  .footer-top,
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .footer-top .navlinks{ display:grid; grid-template-columns:repeat(2,1fr); width:100%; gap:4px 18px; }

  .wizard-track{ padding:22px 14px 0; }
  .wizard-body{ padding:26px 18px 30px; }
  .form-row,
  .choice-grid{ grid-template-columns:1fr; }
  .otp-row{ flex-direction:column; align-items:stretch; }
  .otp-boxes{ justify-content:space-between; gap:6px; }
  .otp-boxes input{ width:min(15vw,48px); height:50px; }
  .review-row{ flex-direction:column; gap:5px; }
  .review-row dd{ max-width:100%; text-align:left; overflow-wrap:anywhere; }
  .wizard-nav{ flex-wrap:wrap; }
}

@media (max-width:380px){
  .brand-name{ display:none; }
  body.apply-page header .btn{ font-size:10px; padding-inline:9px; }
  body:not(.apply-page) .hero h1{ font-size:37px; }
  .wizard-body{ padding-inline:14px; }
  .otp-boxes input{ width:43px; }
}

/* Keep the About label in the same clean sans-serif used across the home page. */
body:not(.apply-page) .about-left .section-label{
  font-family:var(--font-display);
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.08em;
}

/* Mobile navigation menu intentionally removed. */
@media (max-width:900px){
  header .nav-toggle,
  header .navlinks{ display:none !important; }
}

/* Match the carousel pane to the new landscape photographs and show each
   complete image without cropping faces, hands or accessibility equipment. */
body:not(.apply-page) .hero-art{
  width:100%;
  height:337px !important;
  min-height:337px !important;
  aspect-ratio:auto;
  margin-inline:0;
  background:#07152f;
}
.hero-slide{
  object-fit:cover;
  object-position:center;
  background:#07152f;
}

/* Compact mobile navigation popover. */
@media (max-width:900px){
  header .navlinks{
    left:auto;
    right:18px;
    width:min(232px, calc(100vw - 36px));
    top:calc(100% + 10px);
    padding:7px;
    gap:0;
    border:1px solid rgba(6,19,49,.1);
    border-radius:12px;
    background:#fff;
    box-shadow:0 20px 55px rgba(6,19,49,.16), 0 3px 10px rgba(6,19,49,.07);
    transform-origin:top right;
  }
  header .navlinks.is-open{ animation:nav-pop .18s ease-out both; }
  header .navlinks a{
    min-height:39px;
    padding:9px 12px;
    border-radius:7px;
    font-size:13.5px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:0;
    text-transform:none;
    border-bottom:1px solid rgba(6,19,49,.07);
  }
  header .navlinks a:last-child{ border-bottom:0; }
  body:not(.apply-page) header .navlinks a:hover,
  body:not(.apply-page) header .navlinks a:focus-visible{
    color:var(--ink);
    background:rgba(255,195,41,.18);
  }
  body.apply-page header .navlinks{
    background:#10274f;
    border-color:rgba(255,255,255,.15);
    box-shadow:0 18px 45px rgba(0,0,0,.34);
  }
  body.apply-page .nav-toggle{ background:var(--surface); border-color:var(--line); }
  body.apply-page .nav-toggle:hover,
  body.apply-page .nav-toggle[aria-expanded="true"]{ background:#ffc329; color:#061331; }
  body.apply-page header .navlinks a{ border-bottom-color:rgba(255,255,255,.09); }
  body.apply-page header .navlinks a:hover,
  body.apply-page header .navlinks a:focus-visible{ background:rgba(255,255,255,.08); }

  body:not(.apply-page) .hero-art{
    height:300px !important;
    min-height:300px !important;
  }
}
@media (max-width:600px){
  body:not(.apply-page) .hero-art{
    height:245px !important;
    min-height:245px !important;
  }
}
@keyframes nav-pop{
  from{ opacity:0; transform:translateY(-6px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

/* Refined editorial treatment for the opened hamburger menu. */
@media (max-width:900px){
  header .navlinks{
    width:min(224px, calc(100vw - 32px));
    padding:10px;
    border:1px solid rgba(255,195,41,.34);
    border-radius:15px;
    color:#f8f5ed;
    background:linear-gradient(155deg, #10274f 0%, #061331 82%);
    box-shadow:0 22px 55px rgba(6,19,49,.3), inset 0 1px 0 rgba(255,255,255,.08);
  }
  header .navlinks::before{
    content:"Navigation";
    display:block;
    padding:4px 11px 9px;
    color:#ffc329;
    font-family:var(--font-body);
    font-size:10px;
    font-weight:700;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.12);
    margin-bottom:4px;
  }
  body:not(.apply-page) header .navlinks a,
  body.apply-page header .navlinks a{
    position:relative;
    min-height:38px;
    padding:9px 31px 9px 11px;
    color:#f8f5ed;
    border:0;
    border-radius:8px;
    font-family:var(--font-body);
    font-size:14px;
    font-weight:500;
  }
  header .navlinks a::before{ display:none; }
  header .navlinks a::after{
    content:"→";
    position:absolute;
    left:auto;
    right:11px;
    top:50%;
    bottom:auto;
    width:auto;
    height:auto;
    color:#ffc329;
    background:none;
    opacity:0;
    transform:translate(-5px, -50%);
    transition:opacity .18s ease, transform .18s ease;
  }
  body:not(.apply-page) header .navlinks a:hover,
  body:not(.apply-page) header .navlinks a:focus-visible,
  body.apply-page header .navlinks a:hover,
  body.apply-page header .navlinks a:focus-visible{
    color:#fff;
    background:rgba(255,255,255,.09);
  }
  header .navlinks a:hover::after,
  header .navlinks a:focus-visible::after{
    opacity:1;
    transform:translate(0, -50%);
  }
  body.apply-page header .navlinks{
    background:linear-gradient(155deg, #17345f 0%, #07152f 82%);
    border-color:rgba(255,195,41,.34);
  }
}

/* Final mobile menu: clean, compact, and intentionally undecorated. */
@media (max-width:900px){
  header .nav-toggle{
    display:block !important;
    width:42px; height:42px; margin-left:auto; padding:10px;
    border:1px solid rgba(6,19,49,.18); border-radius:8px;
    background:transparent; color:#061331; box-shadow:none;
  }
  header .nav-toggle:hover,
  header .nav-toggle[aria-expanded="true"]{
    background:rgba(6,19,49,.06); border-color:rgba(6,19,49,.3); box-shadow:none;
  }
  header .nav-toggle span{ height:2px; margin:4px 0; background:currentColor; }
  header .navlinks.is-open{
    display:flex !important;
    position:absolute; top:calc(100% + 7px); right:18px; left:auto;
    width:min(210px, calc(100vw - 36px)); padding:6px; gap:0;
    flex-direction:column; border:1px solid rgba(6,19,49,.12);
    border-radius:10px; background:#fff;
    box-shadow:0 12px 30px rgba(6,19,49,.13);
    animation:nav-simple .15s ease-out both;
  }
  header .navlinks::before{ display:none !important; content:none !important; }
  body:not(.apply-page) header .navlinks a,
  body.apply-page header .navlinks a{
    min-height:38px; padding:9px 11px; color:#182744;
    border:0; border-radius:6px; background:transparent;
    font-family:var(--font-body); font-size:14px; font-weight:500;
  }
  header .navlinks a::after{ display:none !important; content:none !important; }
  body:not(.apply-page) header .navlinks a:hover,
  body:not(.apply-page) header .navlinks a:focus-visible,
  body.apply-page header .navlinks a:hover,
  body.apply-page header .navlinks a:focus-visible{
    color:#061331; background:#f4f3ed;
  }
  body.apply-page header .nav-toggle{ color:#fff; border-color:rgba(255,255,255,.22); }
  body.apply-page header .nav-toggle:hover,
  body.apply-page header .nav-toggle[aria-expanded="true"]{
    color:#fff; background:rgba(255,255,255,.08);
  }
  body.apply-page header .navlinks.is-open{ background:#fff; border-color:rgba(6,19,49,.12); }
}
@keyframes nav-simple{
  from{ opacity:0; transform:translateY(-4px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ---------------- Afri-Careers page ---------------- */
body.careers-page{ background:#f4f3ed; color:#061331; }
body.careers-page::before{ display:none; }
body.careers-page header{ background:rgba(244,243,237,.95); border-bottom:1px solid rgba(6,19,49,.14); }
body.careers-page nav.wrap{ height:102px; }
body.careers-page .brand-name{ color:#061331; }
body.careers-page .navlinks a{ color:#56637a; font-family:var(--font-body); font-size:14px; text-transform:none; letter-spacing:0; }
body.careers-page .navlinks a[aria-current="page"]{ color:#061331; }
body.careers-page .navlinks a[aria-current="page"]::after{ width:100%; background:#ffc329; }
.careers-hero{ padding:110px 0 0; color:#fff; background:#061331; overflow:hidden; }
.careers-hero .wrap{ max-width:1100px; }
.careers-hero-grid{ display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; }
.careers-kicker,.careers-intro > span{ display:block; margin-bottom:18px; color:#ffc329; font:600 11px var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
.careers-hero h1{ max-width:850px; font-size:clamp(52px,7vw,92px); font-weight:500; line-height:.94; }
.careers-hero h1 em{ color:#ffc329; font-weight:500; }
.careers-hero p{ max-width:650px; margin:0 0 34px; color:#d5dce6; font-size:18px; line-height:1.65; }
.career-arrow-link{ display:inline-flex; align-items:center; gap:16px; padding-bottom:6px; border-bottom:2px solid #ffc329; font-weight:700; }
.career-arrow-link span{ color:#ffc329; font-size:22px; }
.career-signal{ display:flex; justify-content:center; gap:0; width:calc(100% + 80px); margin:90px 0 0 -40px; padding:20px; color:#061331; background:#ffc329; font:700 12px var(--font-mono); letter-spacing:.08em; text-transform:uppercase; transform:rotate(-1.2deg); }
.career-signal span{ padding:0 42px; border-right:1px solid rgba(6,19,49,.3); }.career-signal span:last-child{ border:0; }
.career-promise,.careers-values,.career-callings,.career-openings,.career-process{ padding:110px 0; }
.career-promise{ background:#ffc329; }
.career-promise-grid{ display:grid; grid-template-columns:1fr 3fr; gap:40px; }
.career-promise .careers-kicker{ color:#061331; }
.career-promise h2{ max-width:850px; font-size:clamp(40px,5vw,66px); font-weight:500; line-height:1; }
.career-promise p{ max-width:720px; margin-top:30px; font-size:18px; }
.careers-intro{ max-width:700px; margin-bottom:54px; }
.careers-intro h2{ font-size:clamp(40px,5vw,62px); font-weight:500; line-height:1; }
.careers-intro p{ margin-top:20px; color:#56637a; font-size:18px; }
.career-value-grid{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(6,19,49,.14); }
.career-value-grid article{ min-height:245px; padding:32px; border-right:1px solid rgba(6,19,49,.14); }
.career-value-grid article:last-child{ border:0; }
.career-value-grid b{ color:#b17b22; font:600 12px var(--font-mono); }
.career-value-grid h3{ margin:55px 0 12px; font-size:25px; }
.career-value-grid p{ color:#56637a; }
.career-callings{ color:#fff; background:#061331; }
.career-callings .careers-intro h2{ color:#fff; }
.calling-grid{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.calling-grid article{ min-height:260px; padding:30px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); transition:background .2s, color .2s; }
.calling-grid article:hover{ color:#061331; background:#ffc329; }
.calling-grid span{ color:#ffc329; font:600 11px var(--font-mono); }.calling-grid article:hover span{ color:#061331; }
.calling-grid h3{ margin:65px 0 12px; font-size:26px; }.calling-grid p{ color:#aeb8c8; }.calling-grid article:hover p{ color:#263750; }
.career-openings{ background:#fff; }
.openings-head{ display:flex; justify-content:space-between; gap:50px; align-items:end; }
.role-filter{ width:min(100%,330px); margin-bottom:54px; }.role-filter label{ display:block; margin-bottom:9px; color:#56637a; font:600 10px var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.role-filter input{ width:100%; padding:14px 2px; border:0; border-bottom:2px solid #061331; border-radius:0; color:#061331; background:transparent; font:500 15px var(--font-body); outline:0; }.role-filter input:focus{ border-color:#b17b22; }
.role-table-head,.role-list > a{ display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:22px; align-items:center; }
.role-table-head{ padding:0 4px 12px; color:#718096; font:600 10px var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.role-list{ border-top:1px solid rgba(6,19,49,.18); }
.role-list > a{ padding:27px 4px; border-bottom:1px solid rgba(6,19,49,.18); transition:padding .2s ease, background .2s ease; }
.role-list > a[hidden]{ display:none; }
.role-list > a:hover{ padding-inline:16px; background:#f4f3ed; }
.role-list span{ display:flex; flex-direction:column; gap:5px; }
.role-list b{ font-size:22px; }
.role-list small{ color:#66738b; font:500 12px var(--font-mono); }
.role-team,.role-type{ color:#56637a; font-size:14px; }
.role-list em{ color:#9a6710; font-style:normal; font-weight:600; }
.role-empty{ padding:35px 4px; border-bottom:1px solid rgba(6,19,49,.18); color:#56637a; }
.career-note{ margin-top:32px; color:#56637a; font-size:22px; }
.career-note a{ color:#061331; text-decoration:underline; text-decoration-color:#ffc329; text-decoration-thickness:2px; text-underline-offset:4px; }
body.careers-page footer{ color:#fff; background:#061331; border:0; }
body.careers-page footer a{ color:#ffc329; }
.career-process{ background:#eceae2; }.career-process-head{ display:grid; grid-template-columns:1fr 3fr; gap:40px; margin-bottom:60px; }.career-process-head h2{ font-size:clamp(40px,5vw,62px); font-weight:500; line-height:1; }
.career-process ol{ margin:0; padding:0; list-style:none; border-top:1px solid rgba(6,19,49,.2); }.career-process li{ display:grid; grid-template-columns:120px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid rgba(6,19,49,.2); }.career-process li>span{ color:#a26e13; font:600 12px var(--font-mono); }.career-process h3{ font-size:24px; }.career-process li p{ max-width:650px; margin-top:7px; color:#56637a; }
.career-notice{ padding:38px 0; color:#fff; background:#14233f; }.career-notice .wrap{ display:grid; grid-template-columns:1fr 3fr; gap:40px; }.career-notice strong{ color:#ffc329; font:600 11px var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }.career-notice p{ max-width:760px; color:#d5dce6; }

@media (max-width:900px){
  body.careers-page nav.wrap{ height:78px; }
  body.careers-page .brand-logo{ width:58px; height:58px; }
  body.careers-page header > .wrap > .btn{ display:none; }
  .careers-hero{ padding:80px 0 0; }
  .careers-hero-grid,.career-promise-grid,.career-process-head{ grid-template-columns:1fr; gap:35px; }
  .career-signal{ margin-top:70px; }
  .calling-grid{ grid-template-columns:1fr 1fr; }
  .openings-head{ display:block; }.role-filter{ width:100%; }
  .role-table-head{ display:none; }.role-list > a{ grid-template-columns:1fr auto; }.role-team,.role-type{ display:none; }
  .career-value-grid{ grid-template-columns:1fr; }
  .career-value-grid article{ min-height:0; border-right:0; border-bottom:1px solid rgba(6,19,49,.14); }
  .career-value-grid article:last-child{ border-bottom:0; }
  .career-value-grid h3{ margin-top:28px; }
}
@media (max-width:600px){
  .careers-hero h1{ font-size:47px; }
  .careers-hero p{ font-size:17px; }
  .career-promise,.careers-values,.career-callings,.career-openings,.career-process{ padding:72px 0; }
  .career-signal{ justify-content:flex-start; width:calc(100% + 30px); margin-left:-15px; overflow:hidden; }.career-signal span{ flex:none; padding:0 22px; }
  .calling-grid{ grid-template-columns:1fr; }.calling-grid article{ min-height:220px; }.calling-grid h3{ margin-top:45px; }
  .career-process li{ grid-template-columns:50px 1fr; }
  .career-notice .wrap{ grid-template-columns:1fr; gap:12px; }
  .career-value-grid article{ padding:25px 22px; }
  .role-list > a{ align-items:flex-start; padding:22px 2px; }
  .role-list b{ font-size:19px; }
}

/* Careers visual refinement — aligned with the Home page */
body.careers-page{ background:#07152f; color:#f8f5ed; }
body.careers-page header{ background:rgba(244,243,237,.96); }
.careers-hero{
  position:relative;
  padding-top:96px;
  background:
    radial-gradient(700px 420px at 88% 16%, rgba(255,195,41,.12), transparent 64%),
    linear-gradient(145deg,#07152f 0%,#0a1b38 100%);
}
.careers-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
.careers-hero-grid{ position:relative; z-index:1; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:80px; align-items:center; }
.careers-hero h1{ max-width:760px; font-size:clamp(52px,6.4vw,84px); line-height:.96; letter-spacing:-.045em; }
.careers-hero h1 em{ color:#b7ee38; }
.careers-hero p{ color:#d6d8d0; font-family:var(--font-display); font-size:20px; line-height:1.55; }
.career-arrow-link{ border-color:#b7ee38; }.career-arrow-link span{ color:#b7ee38; }
.career-signal{
  position:relative; z-index:1; width:100%; max-width:1100px; margin:86px auto 0; padding:21px 0;
  justify-content:flex-start; color:#cbd2dd; background:transparent; border-top:1px solid rgba(255,255,255,.16);
  transform:none; font-size:10px;
}
.career-signal span{ flex:1; padding:0 26px; border-color:rgba(255,255,255,.16); }.career-signal span:first-child{ padding-left:0; }
.career-promise{ background:#0a1b38; }
.career-promise-grid{ padding:54px 56px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); box-shadow:0 28px 60px -45px #000; }
.career-promise .careers-kicker{ color:#b7ee38; }
.career-promise h2{ color:#f8f5ed; letter-spacing:-.04em; }
.career-promise p{ color:#cbd2dd; }
.careers-values{ background:#07152f; }
.careers-intro > span,.careers-kicker{ color:#b7ee38; }
.careers-intro h2{ color:#f8f5ed; letter-spacing:-.04em; }
.careers-intro p{ color:#b9c3d1; }
.career-value-grid{ gap:18px; border:0; }
.career-value-grid article{ min-height:280px; padding:34px; border:1px solid rgba(255,255,255,.14)!important; border-radius:16px; background:#102544; transition:transform .2s ease,border-color .2s ease; }
.career-value-grid article:hover{ transform:translateY(-5px); border-color:rgba(183,238,56,.55)!important; }
.career-value-grid b{ color:#b7ee38; }.career-value-grid h3{ color:#f8f5ed; }.career-value-grid p{ color:#b9c3d1; }
.career-callings{ background:#0a1b38; }
.calling-grid{ grid-template-columns:repeat(3,1fr); gap:16px; border:0; }
.calling-grid article{ min-height:245px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(7,21,47,.58); }
.calling-grid article:hover{ color:#f8f5ed; border-color:rgba(183,238,56,.55); background:#102544; transform:translateY(-4px); }
.calling-grid span,.calling-grid article:hover span{ color:#b7ee38; }.calling-grid article:hover p{ color:#aeb8c8; }
.career-openings{ color:#061331; background:#f4f3ed; }
.career-openings .careers-intro h2{ color:#061331; }.career-openings .careers-intro p{ color:#56637a; }
.role-filter input{ padding:14px 16px; border:1px solid rgba(6,19,49,.18); border-radius:9px; background:#fff; }
.role-filter input:focus{ border-color:#8a6510; box-shadow:0 0 0 3px rgba(255,195,41,.2); }
.role-table-head{ padding-inline:22px; }
.role-list{ border-top:1px solid rgba(6,19,49,.14); }
.role-list > a{ margin-top:10px; padding:25px 22px; border:1px solid rgba(6,19,49,.12); border-radius:12px; background:#fff; }
.role-list > a:hover{ padding-inline:28px; border-color:rgba(6,19,49,.28); background:#fff; box-shadow:0 18px 35px -30px rgba(6,19,49,.75); }
.career-process{ background:#07152f; }
.career-process-head h2,.career-process h3{ color:#f8f5ed; }
.career-process ol{ border-color:rgba(255,255,255,.15); }
.career-process li{ padding:32px 26px; border-color:rgba(255,255,255,.15); transition:background .2s ease; }.career-process li:hover{ background:rgba(255,255,255,.035); }
.career-process li>span{ color:#b7ee38; }.career-process li p{ color:#b9c3d1; }
.career-notice{ padding:42px 0; background:#0a1b38; border-top:1px solid rgba(255,255,255,.12); }.career-notice strong{ color:#b7ee38; }

@media (max-width:900px){
  .careers-hero-grid{ grid-template-columns:1fr; gap:34px; }
  .career-promise-grid{ padding:38px; }
  .career-value-grid{ gap:14px; }
  .calling-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .careers-hero{ padding-top:62px; }
  .careers-hero h1{ font-size:46px; }
  .careers-hero p{ font-size:18px; }
  .career-signal{ margin-top:60px; padding-left:22px; }
  .career-signal span{ padding-inline:18px; }
  .career-promise-grid{ padding:28px 23px; border-radius:14px; }
  .career-promise h2,.careers-intro h2,.career-process-head h2{ font-size:39px; }
  .career-value-grid article{ min-height:0; }
  .calling-grid{ grid-template-columns:1fr; }
  .role-list > a{ padding:22px 18px; }
  .career-process li{ padding-inline:5px; }
}

/* Final Careers layout: simple and consistent with Home */
body.careers-page{ background:#07152f; color:#f8f5ed; }
body.careers-page .navlinks a{ font-size:15px; }
body.careers-page main p,
body.careers-page .career-notice span,
body.careers-page .role-list small,
body.careers-page .role-team,
body.careers-page .role-type,
body.careers-page .role-list em,
body.careers-page .career-note{
  font-family:var(--font-display);
}
.careers-hero{
  padding:96px 0;
  background:#07152f;
}
.careers-hero::before{ display:none; }
.careers-hero .wrap{ max-width:1160px; }
.careers-hero .careers-kicker,
.careers-values .careers-intro > span,
.career-openings .careers-intro > span{
  display:block;
  margin-bottom:18px;
  color:#ffc329;
  font-family:var(--font-display);
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.careers-hero .careers-kicker{ margin-bottom:26px; }
.careers-hero h1{
  max-width:900px;
  color:#f8f5ed;
  font-size:clamp(50px,6.5vw,82px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.045em;
}
.careers-hero h1 em{ color:#ffc329; font-weight:500; }
.careers-hero p{
  max-width:650px;
  margin:28px 0 34px;
  color:#d5dce6;
  font-family:var(--font-display);
  font-size:19px;
  line-height:1.6;
}
.career-hero-btn{
  justify-content:center;
  width:min(100%,360px);
  min-height:57px;
  padding:15px 28px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:7px!important;
  background:#ffc329!important;
  color:#111511!important;
  box-shadow:0 10px 24px -16px rgba(255,195,41,.8);
  font-size:18px!important;
  font-weight:600!important;
  letter-spacing:.01em;
}
.career-hero-btn:hover{
  background:#fff5cc!important;
  color:#061331!important;
  box-shadow:0 14px 26px -14px rgba(255,195,41,.85);
  transform:translateY(-2px);
}
.careers-values{ padding:100px 0; background:#0a1b38; }
.careers-intro{ max-width:680px; margin-bottom:46px; }
.careers-intro > span,.careers-kicker{ color:#ffc329; }
.careers-intro h2{ color:#f8f5ed; font-size:clamp(40px,4.5vw,58px); }
.careers-intro p{ color:#d5dce6; }
.careers-values .careers-intro p{
  color:#f8f6ef;
  font-family:var(--font-display);
  font-size:21px;
  font-weight:500;
  line-height:1.45;
}
.career-value-grid{ grid-template-columns:repeat(3,1fr); gap:18px; border:0; background:transparent; }
.career-value-grid article{
  position:relative;
  min-height:230px;
  padding:30px;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px;
  background:linear-gradient(145deg,#102544,#0d203d);
  box-shadow:none;
}
.career-value-grid article:hover{ transform:none; border-color:rgba(255,255,255,.28)!important; }
.career-value-grid b{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,195,41,.58);
  border-radius:50%;
  color:#ffc329;
  background:rgba(255,195,41,.08);
  box-shadow:inset 0 0 0 4px rgba(255,195,41,.045),0 0 0 1px rgba(255,195,41,.05);
  font:600 15px/1 var(--font-display);
}
.career-value-grid b::after{
  content:"";
  position:absolute;
  left:calc(100% + 9px);
  top:50%;
  width:30px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,195,41,.68),transparent);
}
.career-value-grid h3{ margin:34px 0 12px; color:#f8f5ed; }
.career-value-grid p{ color:#d5dce6; }
.career-openings{ padding:100px 0; color:#061331; background:#f4f3ed; }
.career-openings .careers-intro h2{ color:#061331; }
.career-openings .careers-intro p{ color:#56637a; font-size:20px; }
.career-openings .openings-head{
  display:block;
}
.career-openings .role-filter label{
  color:#56637a;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
}
.career-openings .role-filter{ width:100%; margin:0 0 54px; }
.role-search-control{
  position:relative;
  display:flex;
  align-items:center;
  border:1px solid rgba(6,19,49,.16);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px -26px rgba(6,19,49,.7);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.role-search-control:focus-within{
  border-color:rgba(154,103,16,.6);
  box-shadow:0 0 0 3px rgba(255,195,41,.18);
}
.role-search-control svg{
  position:absolute;
  left:17px;
  width:20px;
  height:20px;
  color:#9a6710;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  pointer-events:none;
}
.career-openings .role-filter input{
  width:100%;
  min-height:56px;
  padding:14px 18px 14px 52px;
  border:0;
  border-radius:10px;
  background:transparent;
  box-shadow:none;
  color:#061331;
  font-family:var(--font-body);
}
.career-openings .role-filter input:focus{ border:0; box-shadow:none; outline:0; }
.career-openings .role-filter input::placeholder{ color:#7b8493; opacity:1; }
.career-openings .role-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:22px;
  width:100%;
  max-width:1120px;
  margin-inline:auto;
  border:0;
}
.career-openings .role-list > a{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:330px;
  margin:0;
  padding:34px 35px 32px;
  border:1px solid rgba(6,19,49,.14);
  border-radius:4px 4px 34px 4px;
  background:#fff;
  box-shadow:0 24px 54px -46px rgba(6,19,49,.85);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.career-openings .role-list > a::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  width:38%;
  height:4px;
  background:#ffc329;
}
.career-openings .role-list > a:hover{
  padding:34px 35px 32px;
  border-color:rgba(154,103,16,.48);
  transform:translateY(-5px);
  box-shadow:0 30px 64px -44px rgba(6,19,49,.55);
}
.career-openings .role-number{ margin-left:auto; color:#9a6710; font:600 14px/1 var(--font-display); letter-spacing:.08em; }
.career-openings .role-list b{ display:block; max-width:90%; min-height:0; margin:18px 0 14px; color:#061331; font:600 clamp(30px,3vw,40px)/1.02 var(--font-display); letter-spacing:-.025em; }
.career-openings .role-list > a > p{ max-width:92%; margin:0 0 25px; color:#56637a; font:500 17px/1.55 var(--font-display); }
.role-meta{ display:flex; flex-wrap:wrap; gap:8px; margin:auto 0 24px; }
.role-meta span{ padding:7px 11px; border:1px solid rgba(6,19,49,.14); border-radius:999px; color:#46546a; background:#f4f3ed; font:600 13px/1 var(--font-body); }
.career-openings .role-list em{ display:flex; width:100%; min-height:47px; align-items:center; justify-content:center; margin-top:0; padding:11px 18px; border:0; border-radius:7px; color:#fff; background:#07152f; font-size:16px; font-weight:600; transition:background .2s ease,color .2s ease; }
.career-openings .role-list > a:hover em{ color:#061331; background:#ffc329; }
.career-openings .career-note{ font-size:17px; }
.career-notice{
  overflow:hidden;
  padding:0;
  background:#07152f;
  border-top:1px solid rgba(255,195,41,.48);
  border-bottom:1px solid rgba(255,195,41,.48);
}
.career-notice-track{
  display:flex;
  width:max-content;
  animation:career-notice-scroll 24s linear infinite;
}
.career-notice:hover .career-notice-track{ animation-play-state:paused; }
.career-notice-message{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:max-content;
  padding:20px 48px;
}
.career-notice strong{ color:#ffc329; }
.career-notice strong{
  font-family:var(--font-display);
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.career-notice span{ color:#f8f5ed; font-size:19px; }
.career-notice i{ color:#ffc329; font-size:20px; font-style:normal; }
@keyframes career-notice-scroll{
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion:reduce){
  .career-notice-track{ animation:none; }
  .career-notice-message[aria-hidden="true"]{ display:none; }
}

@media (max-width:900px){
  .career-value-grid{ grid-template-columns:1fr; }
  .career-value-grid article{ min-height:0; }
  .career-openings .openings-head{ display:block; }
  .career-openings .role-filter{ width:min(100%,560px); margin-bottom:46px; }
  .career-openings .role-list{ grid-template-columns:1fr; }
  .career-openings .role-list > a{ min-height:0; }
  .career-openings .role-list b{ min-height:0; }
}
@media (max-width:600px){
  .careers-hero{ padding:68px 0; }
  .careers-hero h1{ font-size:46px; }
  .careers-values,.career-openings{ padding:72px 0; }
  .career-value-grid article{ padding:25px 22px; }
  .career-openings .role-list > a{ align-items:stretch; min-height:0; padding:24px; }
  .career-openings .role-list > a:hover{ padding:24px; }
  .career-openings .role-list b{ min-height:0; }
  .career-notice-message{ gap:17px; padding:17px 28px; }
}

/* Individual Careers role */
.role-detail-hero{ padding:76px 0 82px; background:#07152f; }
.role-back{ display:flex; width:max-content; min-height:42px; align-items:center; justify-content:center; margin:0 0 54px auto; padding:10px 16px; border:1px solid rgba(255,255,255,.24); border-radius:7px; color:#f8f5ed; background:rgba(255,255,255,.05); font:600 14px var(--font-body); transition:border-color .2s ease,background .2s ease,color .2s ease; }
.role-back:hover{ border-color:#ffc329; color:#061331; background:#ffc329; }
.role-detail-hero .careers-kicker{ margin-bottom:18px; color:#ffc329; font:500 14px/1.4 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.role-detail-hero h1{ max-width:820px; color:#f8f5ed; font-size:clamp(52px,7vw,82px); font-weight:500; line-height:.98; }
.role-detail-hero p{ max-width:700px; margin-top:24px; color:#d5dce6; font:500 21px/1.5 var(--font-display); }
.role-detail-meta{ display:flex; gap:10px; margin-top:32px; }
.role-detail-meta span{ padding:8px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#f8f5ed; font:600 12px var(--font-body); }
.role-detail-body{ padding:96px 0 110px; color:#061331; background:#f4f3ed; }
.role-detail-grid{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:90px; align-items:start; }
.role-detail-grid article{ max-width:720px; }
.role-detail-grid article section{ padding:0 0 42px; margin-bottom:42px; border-bottom:1px solid rgba(6,19,49,.14); }
.role-detail-grid article section:last-child{ margin-bottom:0; }
.role-detail-grid h2{ margin-bottom:18px; color:#061331; font-size:32px; font-weight:600; }
.role-detail-grid article p,.role-detail-grid li{ color:#46546a; font:500 18px/1.65 var(--font-display); }
.role-detail-grid ul{ margin:0; padding-left:22px; }.role-detail-grid li{ padding:5px 0 5px 6px; }
.role-detail-grid li::marker{ color:#9a6710; }
.role-apply-card{ position:sticky; top:132px; padding:30px; border-top:3px solid #ffc329; border-radius:0 0 14px 14px; color:#f8f5ed; background:#07152f; box-shadow:0 24px 50px -38px rgba(6,19,49,.9); }
.role-apply-card > span{ color:#ffc329; font:500 13px var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.role-apply-card h2{ margin:18px 0 12px; color:#f8f5ed; }
.role-apply-card p{ margin-bottom:26px; color:#d5dce6; font:500 17px/1.55 var(--font-display); }
.role-apply-card .btn{ width:100%; justify-content:center; border-radius:7px; background:#ffc329; color:#061331; font-size:16px; }
.footer-safety-note{ max-width:520px; color:#cbd3df; font:500 14px/1.5 var(--font-body); text-align:right; }
@media(max-width:650px){ .footer-safety-note{ max-width:none; text-align:left; } }
@media (max-width:850px){ .role-detail-grid{ grid-template-columns:1fr; gap:55px; }.role-apply-card{ position:static; } }
@media (max-width:600px){ .role-detail-hero{ padding:52px 0 64px; }.role-back{ margin-bottom:38px; }.role-detail-body{ padding:70px 0; }.role-detail-grid h2{ font-size:28px; } }

/* Careers application */
.career-application-hero{ padding:64px 0 70px; background:#07152f; }
.career-application-hero .role-back{ margin-bottom:42px; }
.career-application-hero .careers-kicker{ display:block; margin-bottom:15px; }
.career-application-hero h1{ max-width:900px; color:#f8f5ed; font-size:clamp(48px,6vw,74px); font-weight:500; line-height:1; }
.career-application-hero h1 span{ color:#ffc329; }
.career-application-hero p{ margin-top:20px; color:#d5dce6; font:500 20px/1.5 var(--font-display); }
.career-application-body{ padding:80px 0 105px; color:#061331; background:#f4f3ed; }
.career-form-wrap{ max-width:900px; }
.career-fee-warning{ display:grid; grid-template-columns:auto 1fr; gap:10px 24px; align-items:center; margin-bottom:22px; padding:22px 25px; border:1px solid rgba(128,86,12,.28); border-left:5px solid #ffc329; border-radius:10px; background:#fff8e6; }
.career-fee-warning strong{ color:#684708; font:700 20px/1.3 var(--font-display); }.career-fee-warning p{ margin:0; color:#554b38!important; font-size:16px!important; line-height:1.55!important; }
.career-form{ overflow:hidden; border:1px solid rgba(6,19,49,.14); border-radius:16px; background:#fff; box-shadow:0 28px 60px -50px rgba(6,19,49,.8); }
.career-form-heading{ display:flex; align-items:center; justify-content:space-between; padding:26px 32px; border-bottom:1px solid rgba(6,19,49,.12); background:#07152f; }
.career-form-heading span{ color:#f8f5ed; font:600 22px var(--font-display); }
.career-form-heading p{ margin:0; color:#cbd3df!important; font-size:14px!important; }
.career-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px 24px; padding:34px 32px 38px; }
.career-form .field{ margin:0; }
.career-form .field label{ display:block; margin-bottom:9px; color:#061331; font:600 14px var(--font-body); }
.career-form .field label span{ color:#6c7789; font-weight:500; }
.career-form input,.career-form select{ width:100%; min-height:52px; padding:13px 14px; border:1px solid rgba(6,19,49,.22); border-radius:8px; color:#061331; background:#fff; font:500 16px var(--font-body); }
.career-form input:focus,.career-form select:focus{ border-color:#9a6710; outline:3px solid rgba(255,195,41,.23); }
.career-field-wide{ grid-column:1/-1; }
.career-verify-row{ display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; }
.career-small-btn{ min-width:130px; min-height:52px; justify-content:center; border-radius:8px; }
.career-small-btn:disabled{ cursor:default; opacity:.72; }
.career-phone-row{ display:grid; grid-template-columns:105px 1fr; gap:8px; }
.career-file-input{ position:absolute; width:1px!important; height:1px; opacity:0; pointer-events:none; }
.career-file-drop{ margin:0!important; padding:25px; border:1px dashed rgba(6,19,49,.32); border-radius:10px; text-align:center; cursor:pointer; background:#f8f7f2; transition:border-color .2s,background .2s; }
.career-file-drop:hover{ border-color:#9a6710; background:#fffaf0; }
.career-file-drop strong,.career-file-drop span{ display:block; }
.career-file-drop strong{ margin-bottom:5px; color:#061331; font-size:16px; }
.career-file-drop span{ color:#6c7789; font-size:14px; }
.career-form .field-error{ display:none; margin-top:7px; color:#a52c2c; font-size:13px; }
.career-form .field.has-error .field-error{ display:block; }
.career-form-status{ margin:9px 0 0!important; font-size:14px!important; font-weight:600!important; }
.career-form-status.is-sent{ color:#78520b!important; }.career-form-status.is-verified{ color:#217242!important; }.career-form-status.is-error{ color:#a52c2c!important; }
.career-demo-note{ margin:10px 0 0!important; padding:10px 12px; border-radius:7px; color:#56637a!important; background:#f4f3ed; font-size:13px!important; }
.career-form-footer{ display:flex; align-items:center; justify-content:space-between; gap:30px; padding:24px 32px; border-top:1px solid rgba(6,19,49,.12); background:#faf9f5; }
.career-form-footer p{ max-width:480px; margin:0; color:#687487!important; font-size:13px!important; }
.career-form-footer .btn{ flex:none; }
.career-form-success{ padding:65px 50px; border-radius:16px; text-align:center; background:#fff; box-shadow:0 28px 60px -50px rgba(6,19,49,.8); }
.career-form-success>span{ display:grid; width:58px; height:58px; place-items:center; margin:0 auto 22px; border-radius:50%; color:#07152f; background:#ffc329; font-size:28px; font-weight:700; }
.career-form-success h2{ color:#061331; font-size:clamp(38px,5vw,54px); }.career-form-success p{ max-width:620px; margin:16px auto 28px; color:#56637a!important; font-size:18px!important; }
@media (max-width:650px){
  .career-application-hero{ padding:50px 0 58px; }.career-application-body{ padding:55px 0 75px; }
  .career-form-grid{ grid-template-columns:1fr; padding:26px 20px 30px; }.career-field-wide{ grid-column:auto; }
  .career-form-heading,.career-form-footer{ align-items:flex-start; padding:22px 20px; }.career-form-footer{ flex-direction:column; }.career-form-footer .btn{ width:100%; justify-content:center; }
  .career-verify-row{ grid-template-columns:1fr; }.career-small-btn{ width:100%; }.career-form-success{ padding:50px 24px; }.career-fee-warning{ grid-template-columns:1fr; gap:6px; }
}

/* Applications CRM */
.crm-page{ min-height:100vh; margin:0; color:#061331; background:#f1f2ed; font-family:var(--font-body); }
.crm-shell{ min-height:100vh; padding:48px; }
.crm-login{ max-width:430px; margin:8vh auto 0; padding:42px; border-radius:18px; background:#fff; box-shadow:0 28px 70px -48px #061331; }
.crm-login img{ width:46px; height:46px; margin-bottom:24px; }.crm-login>span,.crm-dashboard header span{ color:#93620c; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.crm-login h1,.crm-dashboard h1{ margin:10px 0 8px; color:#061331; font-family:var(--font-display); font-size:42px; }.crm-login p{ color:#667287; }
.crm-login form{ display:grid; gap:12px; margin-top:28px; }.crm-login label{ font-size:14px; font-weight:700; }.crm-login input,.crm-toolbar input{ min-height:50px; padding:12px 14px; border:1px solid #cbd0d7; border-radius:8px; font:500 16px var(--font-body); }
.crm-login .btn{ justify-content:center; margin-top:5px; }.crm-login small{ min-height:18px; color:#a52c2c; }
.crm-dashboard{ max-width:1440px; margin:auto; }.crm-dashboard>header{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:30px; }.crm-dashboard h1{ margin-bottom:4px; font-size:50px; }.crm-dashboard header p{ margin:0; color:#667287; }
.crm-logout,.crm-toolbar button{ padding:11px 16px; border:1px solid #c5cad2; border-radius:8px; color:#061331; background:#fff; cursor:pointer; font-weight:700; }
.crm-toolbar{ display:flex; gap:10px; margin-bottom:16px; }.crm-toolbar input{ width:min(480px,100%); background:#fff; }
.crm-table-wrap{ overflow:auto; border:1px solid #d8dbe0; border-radius:14px; background:#fff; box-shadow:0 22px 50px -48px #061331; }
.crm-table-wrap table{ width:100%; border-collapse:collapse; white-space:nowrap; }.crm-table-wrap th{ padding:15px 18px; color:#677286; background:#f8f8f5; font-size:12px; letter-spacing:.06em; text-align:left; text-transform:uppercase; }.crm-table-wrap td{ padding:17px 18px; border-top:1px solid #e5e7e9; font-size:14px; vertical-align:middle; }
.crm-table-wrap td strong,.crm-table-wrap td small{ display:block; }.crm-table-wrap td small{ margin-top:4px; color:#778195; }.crm-table-wrap a{ color:#80560c; font-weight:700; }.crm-status{ padding:6px 9px; border-radius:999px; color:#174f32; background:#e3f4e9; font-size:12px; font-weight:700; }
.crm-empty{ padding:60px; color:#778195; text-align:center; }
@media(max-width:700px){.crm-shell{ padding:24px 16px; }.crm-login{ padding:30px 24px; }.crm-dashboard>header{ gap:20px; }.crm-dashboard h1{ font-size:38px; }.crm-toolbar input{ min-width:0; }}

/* Applicant tracker */
.tracker-hero{ padding:72px 0 78px; background:#07152f; }.tracker-hero .careers-kicker{ display:block; margin-bottom:18px; }.tracker-hero h1{ color:#f8f5ed; font-size:clamp(50px,6vw,76px); font-weight:500; }.tracker-hero p{ max-width:620px; margin-top:18px; color:#d5dce6; font-size:20px; }
.tracker-body{ padding:76px 0 100px; color:#061331; background:#f4f3ed; }.tracker-grid{ display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; align-items:start; }.tracker-card,.tracker-summary{ border:1px solid rgba(6,19,49,.13); border-radius:15px; background:#fff; box-shadow:0 25px 55px -48px #061331; }
.tracker-card-head{ display:flex; align-items:center; justify-content:space-between; padding:28px 32px; border-bottom:1px solid rgba(6,19,49,.12); }.tracker-card-head span:first-child,.tracker-summary>span{ color:#8a5d0b; font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.tracker-card-head h2{ margin:7px 0 0; color:#061331; font-size:34px; }.tracker-preview{ padding:7px 10px; border-radius:999px; color:#674500; background:#fff0c4; font-size:12px; font-weight:700; }
.tracker-timeline{ margin:0; padding:32px; list-style:none; }.tracker-timeline li{ position:relative; display:grid; grid-template-columns:38px 1fr; gap:16px; min-height:105px; }.tracker-timeline li:not(:last-child)::after{ content:""; position:absolute; top:38px; bottom:0; left:18px; width:2px; background:#dde1e5; }.tracker-timeline i{ position:relative; z-index:1; display:grid; width:38px; height:38px; place-items:center; border:2px solid #d6dae0; border-radius:50%; color:#7a8494; background:#fff; font-style:normal; font-weight:700; }.tracker-timeline .is-complete i{ border-color:#ffc329; color:#07152f; background:#ffc329; }.tracker-timeline strong{ display:block; margin:5px 0 5px; font-size:17px; }.tracker-timeline p{ margin:0; color:#697487!important; font-size:14px!important; }.tracker-timeline time{ display:block; margin-top:7px; color:#8a5d0b; font-size:12px; font-weight:600; }
.tracker-summary{ padding:27px; }.tracker-summary dl{ margin:21px 0; }.tracker-summary dl div{ padding:14px 0; border-top:1px solid #e4e6e8; }.tracker-summary dt{ color:#778195; font-size:12px; }.tracker-summary dd{ margin:5px 0 0; overflow-wrap:anywhere; font-size:15px; font-weight:600; }.tracker-summary>p{ margin:0; padding:14px; border-radius:8px; color:#576477!important; background:#f4f3ed; font-size:13px!important; }
@media(max-width:800px){.tracker-grid{ grid-template-columns:1fr; }.tracker-summary{ order:-1; }}@media(max-width:560px){.tracker-hero{ padding:55px 0 62px; }.tracker-body{ padding:50px 0 70px; }.tracker-card-head,.tracker-timeline{ padding:22px; }}

/* ---------------- Blog page ---------------- */
/* ---------------- Home blog preview ---------------- */
.home-blog-preview{
  padding:110px 0 116px;
  color:#061331;
  background:#f4f3ed;
  border-top:1px solid rgba(6,19,49,.1);
}
.home-blog-heading{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}
.home-blog-heading .section-label{
  color:var(--signal);
  -webkit-text-fill-color:var(--signal);
  font-family:var(--font-display);
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.08em;
}
.home-blog-heading h2{
  margin-top:15px;
  color:#061331;
  font-family:var(--font-display);
  font-size:clamp(43px,5vw,66px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.04em;
}
.home-blog-heading p{
  max-width:540px;
  color:#56637a;
  font:500 19px/1.6 var(--font-display);
}
.home-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.home-blog-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(6,19,49,.12);
  border-radius:0 0 22px 0;
  box-shadow:0 24px 55px -48px rgba(6,19,49,.75);
}
.home-blog-image{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.home-blog-image::after{
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(180deg,transparent,rgba(4,13,30,.7));
}
.home-blog-image img{ width:100%; height:100%; object-fit:cover; }
.home-blog-image span{
  position:absolute;
  z-index:1;
  bottom:18px;
  left:20px;
  color:#fff;
  font:600 16px/1.3 var(--font-display);
}
.home-blog-copy{ padding:26px 24px 30px; }
.home-blog-copy h3{
  margin-bottom:14px;
  color:#061331;
  font-family:var(--font-display);
  font-size:clamp(24px,2.1vw,31px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.025em;
}
.home-blog-copy p{ color:#56637a; font:500 17px/1.55 var(--font-display); }
.home-blog-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  margin-top:25px;
}
.home-blog-note{
  color:#7b520c;
  font:500 16px/1.4 var(--font-display);
}
@media(max-width:900px){
  .home-blog-heading{ grid-template-columns:1fr; gap:22px; }
  .home-blog-grid{ grid-template-columns:1fr; max-width:700px; }
  .home-blog-image{ aspect-ratio:16/9; }
  .home-blog-footer{ max-width:700px; }
}
@media(max-width:600px){
  .home-blog-preview{ padding:76px 0 82px; }
  .home-blog-heading{ margin-bottom:34px; }
  .home-blog-heading h2{ font-size:43px; }
  .home-blog-heading p{ font-size:18px; }
  .home-blog-copy h3{ font-size:27px; }
  .home-blog-footer{ align-items:flex-start; flex-direction:column; gap:16px; }
}

/* ---------------- Blog page ---------------- */
body.blog-page{ background:#f4f3ed; color:#061331; font-family:var(--font-body); }
body.blog-page::before{ display:none; }
body.blog-page header{ background:rgba(244,243,237,.95); border-bottom:1px solid rgba(6,19,49,.14); }
body.blog-page nav.wrap{ height:102px; }
body.blog-page .brand-name{ color:#061331; }
body.blog-page .navlinks a{ color:#56637a; font-family:var(--font-body); font-size:14px; text-transform:none; letter-spacing:0; }
body.blog-page .navlinks a[aria-current="page"]{ color:#061331; }
body.blog-page .navlinks a[aria-current="page"]::after{ width:100%; background:#ffc329; }
.blog-page-hero{ padding:92px 0 76px; text-align:center; color:#061331; background:#fff; }
.blog-page-hero h1{ font-family:var(--font-display); font-size:clamp(46px,5vw,64px); font-weight:500; line-height:1; letter-spacing:-.04em; }
.blog-page-hero p{ max-width:none; margin:24px auto 0; color:#56637a; font-family:var(--font-display); font-size:20px; font-weight:500; line-height:1.65; }
.blog-page-hero p span{ display:block; }
.blog-page-hero p span:first-child{ white-space:nowrap; }
.blog-index{ padding:80px 0 120px; background:#f4f3ed; }
.blog-stream{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:76px 54px; max-width:1160px; }
.blog-entry{ min-width:0; }
.blog-entry-image{ position:relative; aspect-ratio:3/2; overflow:hidden; background:#dce2e6; }
.blog-entry-image::after{ content:""; position:absolute; inset:38% 0 0; background:linear-gradient(180deg,transparent,rgba(4,13,30,.82)); pointer-events:none; }
.blog-entry-image img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.blog-entry:hover .blog-entry-image img{ transform:scale(1.025); }
.blog-entry-image h2{ position:absolute; z-index:1; right:24px; bottom:23px; left:24px; margin:0; color:#fff; -webkit-text-fill-color:#fff; background:none; opacity:1; mix-blend-mode:normal; font-family:var(--font-display); font-size:clamp(21px,1.75vw,25px); font-weight:600; line-height:1.12; letter-spacing:-.02em; white-space:nowrap; text-shadow:0 2px 16px rgba(0,0,0,.55); }
.blog-entry-copy{ padding-top:28px; }
.blog-page-tag{ display:block; margin-bottom:15px; color:#7b520c; -webkit-text-fill-color:#7b520c; opacity:1; font-family:var(--font-display); font-size:16px; font-weight:600; line-height:1.4; letter-spacing:.01em; text-transform:none; }
.blog-entry p{ display:inline; color:#56637a; font-family:var(--font-display); font-size:18px; font-weight:500; line-height:1.6; }
.blog-read-more{ display:inline; margin-left:7px; color:#9a6710; font-family:var(--font-display); font-size:18px; font-weight:500; line-height:1.6; white-space:nowrap; text-decoration:underline; text-decoration-color:#ffc329; text-decoration-thickness:2px; text-underline-offset:5px; transition:color .2s ease; }
.blog-read-more:hover{ color:#061331; }
body.blog-page footer{ color:#fff; background:#061331; border:0; }
body.blog-page footer a{ color:#ffc329; }

.article-page{ background:radial-gradient(circle at 12% 38%,rgba(255,195,41,.12),transparent 20%),radial-gradient(circle at 88% 67%,rgba(16,36,61,.09),transparent 23%),#f4f3ed; color:#061331; }
.article-page::before{ display:none; }
.article-page header{ background:#061331!important; border-bottom:1px solid rgba(255,255,255,.12); }
.article-page nav.wrap{ height:78px; }
.article-page .brand-name,.article-page .navlinks a{ color:#f8f6ef!important; }
.article-hero{ min-height:680px; color:#fff; background-position:center; background-size:cover; }
.article-hero-inner{ display:flex; min-height:680px; flex-direction:column; align-items:center; padding-top:34px; padding-bottom:34px; }
.article-back{ align-self:flex-start; display:inline-block; color:#fff; font:600 15px var(--font-body); text-decoration:underline; text-decoration-color:#ffc329; text-underline-offset:5px; }
.article-back:hover{ color:#ffc329; }
.article-hero-copy{ display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; max-width:1080px; text-align:center; }
.article-category{ display:block; margin-bottom:20px; color:#ffc329; font-family:var(--font-display); font-size:17px; font-weight:500; line-height:1.4; letter-spacing:.01em; }
.article-hero h1{ max-width:1050px; color:#fff; font-size:clamp(45px,5.5vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.04em; text-wrap:balance; text-shadow:0 2px 22px rgba(0,0,0,.24); }
.article-lede{ max-width:850px; margin-top:28px; color:#f1f2ee; font:500 22px/1.5 var(--font-display); text-wrap:balance; }
.article-scroll{ display:flex; width:46px; height:46px; align-items:center; justify-content:center; border:1px solid #ffc329; border-radius:50%; color:#ffc329; font-size:22px; transition:background .2s,color .2s; }
.article-scroll:hover{ color:#061331; background:#ffc329; }
.article-shell{ max-width:920px; padding-top:88px; padding-bottom:110px; }
.article-intro{ max-width:780px; margin:0 auto; }
.article-intro p{ margin-bottom:25px; color:#34445b; font:500 20px/1.75 var(--font-display); }
.article-toc{ position:relative; isolation:isolate; z-index:0; height:auto!important; display:block!important; max-width:780px; margin:58px auto 76px; padding:38px 42px; overflow:visible; border:1px solid rgba(255,255,255,.68); border-radius:38px 38px 38px 10px; background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.28)); box-shadow:0 24px 70px -54px rgba(6,19,49,.75),inset 0 1px 0 rgba(255,255,255,.85); backdrop-filter:blur(16px); }
.article-toc::before,.article-toc::after{ content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.article-toc::before{ width:130px; height:130px; top:-34px; right:-42px; background:rgba(255,195,41,.2); }
.article-toc::after{ width:68px; height:68px; bottom:-22px; left:-28px; background:rgba(16,36,61,.1); }
.article-toc h2{ margin-bottom:18px; color:#061331; font-size:29px; font-weight:500; }
.article-toc ol{ display:grid; gap:9px; margin:0; padding-left:21px; }
.article-toc a{ color:#56637a; font:600 15px/1.45 var(--font-body); }
.article-toc a:hover{ color:#9a6710; }
.article-content{ max-width:780px; margin:0 auto; }
.article-content section{ margin-bottom:70px; scroll-margin-top:110px; }
.article-content h2{ position:relative; margin-bottom:26px; padding-bottom:14px; color:#80560c!important; -webkit-text-fill-color:#80560c!important; background:none!important; opacity:1!important; filter:none; font-size:clamp(34px,4vw,46px); font-weight:600; line-height:1.08; text-shadow:none; }
.article-content h2::after{ content:""; position:absolute; bottom:0; left:0; width:58px; height:4px; border-radius:999px; background:#c88a12; }
.article-content p{ margin-bottom:24px; color:#46546a; font:400 18px/1.8 var(--font-body); }
.article-content ul{ display:grid; gap:11px; margin:30px 0 0; padding:27px 31px 27px 51px; color:#34445b; border:1px solid rgba(255,255,255,.72); border-radius:30px 8px 30px 30px; background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,195,41,.1)); box-shadow:0 20px 55px -48px rgba(6,19,49,.75),inset 0 1px 0 rgba(255,255,255,.85); backdrop-filter:blur(12px); font:600 16px/1.55 var(--font-body); }
.article-content li::marker{ color:#9a6710; }
.article-text-image{ display:flex; min-height:390px; align-items:center; justify-content:center; margin:4px 0 76px; padding:48px; background-position:center; background-size:cover; }
.article-text-image blockquote{ max-width:680px; margin:0; color:#fff; font:600 clamp(30px,4vw,46px)/1.14 var(--font-display); text-align:center; text-wrap:balance; text-shadow:0 2px 20px rgba(0,0,0,.34); }
.article-pagination{ display:grid!important; grid-template-columns:1fr 1fr; gap:20px; height:auto!important; max-width:780px; margin:20px auto 0; padding-top:38px; border-top:1px solid rgba(6,19,49,.16); }
.article-pagination a{ display:flex; min-height:112px; align-items:center; padding:24px 26px; border:1px solid #061331; border-radius:18px; color:#fff!important; -webkit-text-fill-color:#fff!important; background:#061331; box-shadow:0 18px 45px -34px rgba(6,19,49,.9); font:600 15px/1.45 var(--font-body); transition:transform .2s ease,background .2s ease,color .2s ease; }
.article-pagination a[hidden]{ display:none!important; }
.article-pagination a:last-child{ justify-content:flex-end; text-align:right; }
#nextArticle{ grid-column:2; }
.article-pagination a:hover{ color:#061331!important; -webkit-text-fill-color:#061331!important; background:#ffc329; transform:translateY(-3px); }
.article-page footer{ color:#fff; background:#061331; border:0; }
.article-page footer a{ color:#ffc329; }
@media(max-width:700px){
  .article-page .navlinks{ display:none; }
  .article-hero,.article-hero-inner{ min-height:600px; }
  .article-hero-inner{ padding-top:26px; padding-bottom:28px; }
  .article-hero h1{ font-size:42px; }
  .article-lede{ font-size:19px; }
  .article-shell{ padding-top:62px; padding-bottom:80px; }
  .article-intro p{ font-size:18px; }
  .article-toc{ margin:46px auto 60px; padding:27px 25px; }
  .article-content section{ margin-bottom:55px; }
  .article-content h2{ font-size:32px; }
  .article-content p{ font-size:17px; }
  .article-text-image{ min-height:310px; margin-bottom:58px; padding:30px 24px; }
  .article-text-image blockquote{ font-size:30px; }
  .article-pagination{ grid-template-columns:1fr; }
  #nextArticle{ grid-column:1; }
  .article-pagination a:last-child{ justify-content:flex-start; text-align:left; }
}

@media (max-width:900px){
  body.blog-page nav.wrap{ height:78px; }
  body.blog-page .brand-logo{ width:58px; height:58px; }
  body.blog-page header > .wrap > .btn{ display:none; }
  .blog-stream{ gap:58px 34px; }
}
@media (max-width:1050px){
  .blog-stream{ grid-template-columns:1fr; max-width:820px; gap:58px; }
}
@media (max-width:760px){
  .blog-page-hero p span:first-child{ white-space:normal; }
  .blog-stream{ gap:54px; }
  .blog-entry-image h2{ white-space:normal; }
}
@media (max-width:600px){
  .blog-page-hero{ padding:64px 0 54px; }
  .blog-page-hero h1{ font-size:44px; }
  .blog-page-hero p{ font-size:18px; }
  .blog-index{ padding:54px 0 82px; }
  .blog-entry-copy{ padding-top:23px; }
  .blog-entry-image h2{ right:18px; bottom:18px; left:18px; font-size:28px; }
  .blog-entry p{ font-size:16px; }
  .blog-read-more{ font-size:16px; }
}

/* ---------------- Eligibility section ---------------- */
body:not(.apply-page) .about::before{ display:none; content:none; }
body:not(.apply-page) .eligibility-intro{ margin-bottom:72px; align-items:stretch; }
.eligibility-intro,
.eligibility-label,
.eligibility-grid,
.eligibility-callout{ font-family:var(--font-display); }
body:not(.apply-page) .eligibility-intro .about-left{
  display:flex; flex-direction:column; justify-content:center;
}
body:not(.apply-page) .eligibility-intro .about-right{
  position:relative; display:flex; align-items:center;
  padding:38px 40px; border:1px solid rgba(255,195,41,.28);
  border-radius:18px 18px 54px 18px;
  background:linear-gradient(145deg,rgba(255,195,41,.12),rgba(255,255,255,.035));
  box-shadow:0 24px 55px -42px rgba(0,0,0,.85);
}
body:not(.apply-page) .eligibility-intro .about-right::before{
  content:"“"; position:absolute; top:5px; right:24px;
  color:rgba(255,195,41,.22); font:500 86px/1 var(--font-display);
}
body:not(.apply-page) .eligibility-intro .about-right > p{
  position:relative; z-index:1; margin:0; color:#edf0f4;
  font-size:20px; line-height:1.65;
}
.eligibility-label{
  display:flex; align-items:center; gap:14px; margin-bottom:24px; color:var(--signal);
  font-size:15px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
}
.eligibility-label::after{ content:""; height:1px; flex:1; background:linear-gradient(90deg,rgba(255,195,41,.55),transparent); }
.eligibility-grid{
  display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px;
  background:transparent; border:0;
}
.eligibility-grid article{
  position:relative; isolation:isolate; overflow:hidden;
  grid-column:span 4; min-height:255px; padding:30px;
  border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--signal);
  border-radius:14px; background:linear-gradient(155deg,#132949,#0d203d);
  color:var(--text); box-shadow:0 18px 45px -38px #000;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.eligibility-grid article:nth-child(4){ grid-column:3 / span 4; }
.eligibility-grid article:nth-child(5){ grid-column:7 / span 4; }
.eligibility-grid article:hover{ transform:translateY(-4px); border-color:rgba(255,195,41,.58); background:linear-gradient(155deg,#173153,#102544); }
.eligibility-grid article > span{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; padding:0;
  color:var(--signal); background:rgba(255,195,41,.08);
  border:1px solid rgba(255,195,41,.58); border-radius:50%;
  box-shadow:inset 0 0 0 4px rgba(255,195,41,.045),0 0 0 1px rgba(255,195,41,.05);
  font-family:var(--font-display); font-size:15px; font-weight:600; line-height:1;
}
.eligibility-grid article > span::after{
  content:""; position:absolute; left:calc(100% + 9px); top:50%;
  width:30px; height:1px;
  background:linear-gradient(90deg,rgba(255,195,41,.68),transparent);
}
.eligibility-grid h3{ margin:34px 0 14px; max-width:12ch; font-size:27px; line-height:1.02; }
.eligibility-grid article:nth-child(2) h3{ max-width:none; white-space:nowrap; }
.eligibility-grid article:nth-child(3) h3{ max-width:none; white-space:nowrap; }
.eligibility-grid p{ color:#cbd4df; font-size:17px; line-height:1.58; }
.eligibility-callout{
  display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:48px;
  margin-top:38px; padding:42px 46px; border:0; border-radius:14px;
  background:linear-gradient(110deg,#ffc329,#ffb11f);
  box-shadow:0 22px 52px -38px rgba(255,195,41,.75);
}
.eligibility-callout h3{ color:#061331; font-size:34px; line-height:1.03; }
.eligibility-callout p{ color:#182744; font-size:18px; line-height:1.6; }

@media (max-width:900px){
  .eligibility-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eligibility-grid article,
  .eligibility-grid article:nth-child(4),
  .eligibility-grid article:nth-child(5){ grid-column:auto; }
  .eligibility-grid article:last-child{ grid-column:1 / -1; }
  .eligibility-callout{ grid-template-columns:1fr; gap:16px; }
}
@media (max-width:600px){
  body:not(.apply-page) .eligibility-intro{ margin-bottom:48px; }
  body:not(.apply-page) .eligibility-intro .about-right{ padding:27px 23px; border-radius:14px 14px 38px 14px; }
  body:not(.apply-page) .eligibility-intro .about-right > p{ font-size:18px; }
  .eligibility-grid{ grid-template-columns:1fr; }
  .eligibility-grid article,
  .eligibility-grid article:last-child{ grid-column:auto; min-height:220px; padding:25px 22px; }
  .eligibility-grid h3{ margin-top:30px; font-size:25px; }
  .eligibility-callout{ gap:13px; margin-top:24px; padding:30px 24px; }
  .eligibility-callout h3{ font-size:29px; }
  .eligibility-callout p{ font-size:17px; }
}

/* ---------------- Contact page ---------------- */
body.contact-page{ background:#f4f3ed; color:#061331; }
body.contact-page::before{ display:none; }
body.contact-page header{ background:rgba(244,243,237,.95); border-bottom:1px solid rgba(6,19,49,.14); }
body.contact-page nav.wrap{ height:102px; }
body.contact-page .brand-name{ color:#061331; }
body.contact-page .navlinks a{ color:#56637a; font-family:var(--font-body); font-size:14px; text-transform:none; letter-spacing:0; }
body.contact-page .navlinks a[aria-current="page"]{ color:#061331; }
body.contact-page .navlinks a[aria-current="page"]::after{ width:100%; background:#ffc329; }

.contact-page-hero{ padding:92px 0 100px; color:#fff; background:#061331; }
.contact-page-kicker{ display:block; margin-bottom:18px; color:#ffc329; font:600 11px var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
body.contact-page .contact-page-details > .contact-page-kicker{
  font-family:var(--font-display)!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.contact-page-hero > .wrap > span{
  font-family:var(--font-display);
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.08em;
}
.contact-page-hero h1{ font-size:clamp(58px,8vw,104px); font-weight:500; line-height:.9; }
.contact-page-hero p{ max-width:680px; margin-top:28px; color:#d5dce6; font-family:var(--font-display); font-size:21px; font-weight:500; line-height:1.6; }
.contact-page-main{ padding:100px 0 115px; }
.contact-page-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start; }
.contact-page-details h2{ max-width:9ch; font-size:clamp(42px,5vw,62px); font-weight:500; line-height:1; }
.contact-page-details > p{ margin:22px 0 42px; color:#56637a; font-size:17px; }
.contact-page-details > a,.contact-page-details > div{ display:flex; flex-direction:column; gap:5px; padding:20px 0; border-top:1px solid rgba(6,19,49,.16); }
.contact-page-details > div:last-child{ border-bottom:1px solid rgba(6,19,49,.16); }
.contact-page-details small{ color:#718095; font:500 11px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.contact-page-details b{ font-size:17px; font-weight:600; }
.contact-page-details,
.contact-page-details h2,
.contact-page-details p,
.contact-page-details a,
.contact-page-details div,
.contact-page-details small,
.contact-page-details b{ font-family:var(--font-display)!important; }
.contact-page-details small{ font-size:13px; font-weight:500; letter-spacing:.04em; text-transform:none; }
.contact-page-form{ padding:42px; color:#fff; background:#061331; border-radius:4px 4px 46px 4px; }
.contact-page-form,
.contact-page-form label,
.contact-page-form input,
.contact-page-form select,
.contact-page-form textarea,
.contact-page-form button{ font-family:var(--font-display)!important; }
.contact-name-fields{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.contact-page-form .field label{ font-size:16px; line-height:1.4; }
.contact-page-form .field input,
.contact-page-form .field select,
.contact-page-form .field textarea{ font-size:18px; line-height:1.45; padding:15px 16px; }
.contact-page-form .btn{ font-size:16px; }
.contact-page-form .field input,.contact-page-form .field select,.contact-page-form .field textarea{ color:#fff; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.22); }
.contact-page-form .field select option{ color:#061331; }
.contact-page-form .field textarea{ min-height:145px; }
.contact-page-form .btn{ width:100%; justify-content:center; }
body.contact-page footer{ color:#fff; background:#061331; border:0; }
body.contact-page footer a{ color:#ffc329; }

@media (max-width:900px){
  body.contact-page nav.wrap{ height:78px; }
  body.contact-page .brand-logo{ width:58px; height:58px; }
  body.contact-page header > .wrap > .btn{ display:none; }
  .contact-page-grid{ grid-template-columns:1fr; gap:50px; }
}
@media (max-width:600px){
  .contact-page-hero{ padding:76px 0 82px; }
  .contact-page-hero p{ font-size:18px; }
  .contact-page-main{ padding:72px 0 82px; }
  .contact-page-form{ padding:28px 22px; border-radius:4px 4px 32px 4px; }
  .contact-name-fields{ grid-template-columns:1fr; gap:0; }
}

/* ---------------- Journey teaser ---------------- */
body:not(.apply-page) .journey,
body:not(.apply-page) .journey .section-head,
.journey-stage-list,
.journey-teaser{ font-family:var(--font-display); }
body:not(.apply-page) .journey{
  position:relative; overflow:hidden; padding:108px 0;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,195,41,.11),transparent 25%),
    radial-gradient(circle at 10% 85%,rgba(70,119,188,.12),transparent 28%),
    #07152f;
}
body:not(.apply-page) .journey::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.16;
  background-image:radial-gradient(rgba(255,255,255,.42) .7px,transparent .7px);
  background-size:26px 26px;
  mask-image:linear-gradient(90deg,transparent 28%,#000 72%,transparent);
}
body:not(.apply-page) .journey::after{
  content:""; position:absolute; top:76px; right:7vw; width:210px; height:210px;
  border:1px solid rgba(255,195,41,.14); border-radius:50%; pointer-events:none;
  box-shadow:0 0 0 42px rgba(255,195,41,.025),0 0 0 84px rgba(255,255,255,.018);
}
body:not(.apply-page) .journey .section-head{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  align-items:end; column-gap:76px; max-width:none; margin-bottom:58px;
}
body:not(.apply-page) .journey .section-head > .mono{
  grid-column:1 / -1; margin-bottom:14px;
  font-family:var(--font-display); font-size:14px; font-weight:600; letter-spacing:.08em;
}
body:not(.apply-page) .journey .section-head h2{
  max-width:780px; margin:0;
  font-size:clamp(38px,5vw,58px); line-height:1.02;
}
body:not(.apply-page) .journey .section-head p{ max-width:850px; font-size:19px; }
.journey-intro-lines{
  display:grid; gap:3px;
  max-width:430px !important; margin:0 0 2px; padding:16px 0 16px 22px;
  border-left:2px solid var(--signal);
  font-size:20px !important; font-weight:400;
  line-height:1.45;
}
.journey-intro-lines span{ display:block; }
.journey-intro-lines span:nth-child(2){ color:#fff; }
.journey-intro-lines span:nth-child(3){ color:#b9c4d2; }
.journey-stage-list{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  width:100%; margin:0; border:0; background:transparent;
}
.journey-stage-list > div{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:14px; min-height:138px; padding:28px 25px; text-align:left;
  border:1px solid rgba(255,255,255,.16); border-radius:12px;
  background:rgba(255,255,255,.045);
  transition:background .25s ease, transform .25s ease;
}
.journey-stage-list > div:hover{ background:rgba(255,255,255,.055); transform:translateY(-2px); }
.journey-stage-list > div:first-child{ padding-left:25px; }
.journey-stage-list > div:last-child{ padding-right:25px; }
.journey-stage-list > div::before,
.journey-stage-list > div::after{ content:none !important; }
.journey-stage-list span{
  display:block; width:auto; height:auto;
  border:0; border-radius:0; background:transparent; color:var(--signal);
  font-family:var(--font-display); font-size:27px; font-weight:600;
  line-height:1; letter-spacing:-.02em; box-shadow:none;
}
.journey-stage-list i{ display:none; }
.journey-stage-list b{ color:var(--text); font-size:clamp(20px,2.2vw,25px); font-weight:500; white-space:nowrap; }
.journey-teaser{
  display:grid; grid-template-columns:150px minmax(240px,1fr) auto;
  align-items:center; gap:32px;
  width:min(100%,940px); margin:34px auto 0; padding:27px 4px;
  border-top:1px solid rgba(16,36,61,.25);
  border-bottom:1px solid rgba(16,36,61,.25);
  border-radius:0; background:transparent; box-shadow:none; text-align:left;
}
.journey-teaser::before{ content:none; }
.journey-teaser-meta{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px;
  margin:0; padding:0 28px 0 0; border:0; border-right:1px solid rgba(16,36,61,.18);
  border-radius:0; background:transparent;
}
.journey-teaser-meta b{ color:#b95436; font-size:15px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.journey-teaser-meta small{ color:#69768a; font-size:14px; }
.journey-teaser-meta i{ display:none; }
.journey-teaser-copy{ padding:0; border:0; }
body:not(.apply-page) .journey-teaser h3{ margin:0 0 3px; color:#10243d; font-size:clamp(29px,3.2vw,36px); font-weight:600; }
body:not(.apply-page) .journey-teaser p{ margin:0; color:#69768a; font-size:17px; font-weight:400; }
body:not(.apply-page) .journey-teaser .journey-apply{
  display:inline-flex; align-items:center; justify-content:center; gap:14px;
  min-height:48px; margin:0; padding:7px 8px 7px 19px;
  border:1px solid var(--signal); border-radius:999px;
  background:var(--signal); color:#10243d;
  font-family:var(--font-display); font-size:15px; font-weight:600;
  letter-spacing:.01em; box-shadow:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
body:not(.apply-page) .journey-teaser .journey-apply::after{
  content:"→"; display:grid; place-items:center;
  width:32px; height:32px; border-radius:50%;
  background:#10243d; color:#fff; font-size:17px;
  transition:transform .2s ease;
}
body:not(.apply-page) .journey-teaser .journey-apply:hover{
  transform:translateY(-2px); background:#ffd45d;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
body:not(.apply-page) .journey-teaser .journey-apply:hover::after{ transform:translateX(2px); }
.journey-apply-row{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; gap:18px; margin-top:54px; text-align:center;
}
.journey-apply-row::before{
  content:""; position:absolute; z-index:-1; width:380px; height:150px;
  border-radius:50%; background:radial-gradient(ellipse,rgba(255,195,41,.09),transparent 70%);
}
.journey-apply-row p{
  margin:0; color:#fff;
  font-family:var(--font-display); font-size:clamp(22px,2.5vw,30px);
  font-weight:400; line-height:1.12; letter-spacing:-.015em;
}
.journey-apply-row .application-note{
  margin:-18px 0 0; color:var(--signal); font-size:15px; font-weight:500;
}
body:not(.apply-page) .journey-apply-row .hero-apply-btn{ border-radius:7px; }
body:not(.apply-page) .journey-apply-row .hero-apply-btn{ margin-top:22px; }
.journey-apply-row .journey-apply{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  width:min(100%,310px); min-height:57px; margin:0; padding:15px 24px;
  border:1px solid rgba(255,255,255,.26); border-radius:999px;
  background:var(--signal); color:var(--ink);
  font-family:var(--font-display); font-size:18px; font-weight:600;
  letter-spacing:.01em; box-shadow:0 10px 24px -16px rgba(255,195,41,.8);
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body:not(.apply-page) .journey-apply-row .journey-apply{ border-radius:999px; }
.journey-apply-row .journey-apply::after{ content:none; }
.journey-apply-row .journey-apply span{ font-size:19px; transition:transform .2s ease; }
.journey-apply-row .journey-apply:hover{
  transform:translateY(-2px); background:#fff5cc; color:var(--ink);
  box-shadow:0 14px 26px -14px rgba(255,195,41,.85);
}
.journey-apply-row .journey-apply:hover span{ transform:translateX(3px); }

@media (max-width:1024px){
  body:not(.apply-page) .journey{ padding:92px 0; }
  body:not(.apply-page) .journey .section-head{
    grid-template-columns:1fr; gap:22px; margin-bottom:44px;
  }
  body:not(.apply-page) .journey .section-head > .mono{
    grid-column:auto; margin-bottom:0;
  }
  body:not(.apply-page) .journey .section-head h2{ max-width:760px; }
  .journey-intro-lines{ max-width:680px !important; }
  .journey-stage-list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journey-stage-list > div{ min-height:116px; }
}

@media (max-width:760px){
  body:not(.apply-page) .journey{ padding:84px 0; }
  body:not(.apply-page) .journey::after{ width:130px; height:130px; top:60px; right:-54px; }
  body:not(.apply-page) .journey .section-head{ grid-template-columns:1fr; gap:22px; margin-bottom:42px; }
  body:not(.apply-page) .journey .section-head > .mono{ grid-column:auto; margin-bottom:0; }
  .journey-intro-lines{ max-width:620px !important; }
  .journey-stage-list{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .journey-stage-list > div{
    justify-content:center; min-height:104px; padding:18px; text-align:left;
    border:1px solid rgba(255,255,255,.16);
  }
  .journey-stage-list > div:nth-child(odd),
  .journey-stage-list > div:nth-child(even),
  .journey-stage-list > div:nth-last-child(-n+2){ padding:18px; border:1px solid rgba(255,255,255,.16); }
  .journey-teaser{ grid-template-columns:125px 1fr; gap:24px; padding:25px 0; }
  body:not(.apply-page) .journey-teaser .journey-apply{ grid-column:1 / -1; width:100%; }
}
@media (max-width:440px){
  body:not(.apply-page) .journey{ padding:68px 0; }
  body:not(.apply-page) .journey .section-head{ gap:18px; margin-bottom:34px; }
  body:not(.apply-page) .journey .section-head h2{
    font-size:clamp(35px,10.5vw,42px); line-height:1.04;
  }
  .journey-intro-lines{
    padding:12px 0 12px 16px; font-size:18px !important; line-height:1.5;
  }
  .journey-stage-list{ grid-template-columns:1fr; }
  .journey-stage-list > div,
  .journey-stage-list > div:nth-child(odd),
  .journey-stage-list > div:nth-child(even){
    min-height:88px; padding:15px 17px;
    border:1px solid rgba(255,255,255,.16);
  }
  .journey-stage-list > div:last-child{ border:1px solid rgba(255,255,255,.16); }
  .journey-teaser{
    grid-template-columns:1fr; gap:16px; padding:24px 0;
  }
  .journey-teaser-meta{ flex-direction:row; align-items:center; gap:9px; padding:0; border:0; }
  .journey-teaser-meta i{ display:inline; margin-right:3px; color:#a8b0bc; font-style:normal; }
  body:not(.apply-page) .journey-teaser h3{ font-size:30px; }
  body:not(.apply-page) .journey-teaser .journey-apply{ width:100%; justify-content:center; }
  .journey-apply-row{ margin-top:42px; }
  body:not(.apply-page) .journey-apply-row .hero-apply-btn{ width:100%; }
  .journey-apply-row::before{ width:100%; }
  .journey-apply-row .application-note{ font-size:14px; }
}

@media (max-width:600px){
  .journey-stage-list{ grid-template-columns:1fr; gap:12px; }
  .journey-stage-list > div,
  .journey-stage-list > div:first-child,
  .journey-stage-list > div:last-child,
  .journey-stage-list > div:nth-child(odd),
  .journey-stage-list > div:nth-child(even){
    flex-direction:row; align-items:center; justify-content:flex-start;
    gap:14px; min-height:76px; padding:14px 16px;
    border:1px solid rgba(255,255,255,.16);
  }
  .journey-stage-list span{ flex:0 0 38px; }
  .journey-stage-list b{ font-size:20px; white-space:normal; }
  .footer-brand,
  .footer-top > a{ font-size:16px; }
  .footer-bottom,
  .footer-bottom span:first-child,
  .footer-bottom span:last-child{ width:100%; font-size:15px; line-height:1.5; }
  .footer-bottom span{ overflow-wrap:anywhere; }
}

/* Universal site typography: match the homepage story copy everywhere. */
html body,
html body *{
  font-family:'Newsreader', Georgia, serif !important;
}

/* Preserve the original navigation typography. */
html body header .navlinks a{
  font-family:'DM Sans', system-ui, sans-serif !important;
}

/* Slightly larger application section tracker text. */
body.apply-page .w-step{
  font-size:15.5px;
}
body.apply-page .w-step .dot{
  font-size:16.5px;
}
body.apply-page .wizard-step h2{
  font-size:23.5px;
}
body.apply-page .wizard-step .step-sub{
  font-size:16.5px;
}
body.apply-page .field label{
  font-size:15px;
}
body.apply-page .field input,
body.apply-page .field select,
body.apply-page .field textarea{
  font-size:17.5px;
}
body.apply-page .field-hint,
body.apply-page .field-error{
  font-size:13.5px;
}
/* Finders registration form — slightly larger labels */
#registrationFields > label,
#institutionLabel,
#registrationFields .check-label {
  font-size: 1.05rem;
}
/* Finders registration form — slightly larger labels */
#registrationFields > label,
#institutionLabel,
#companyFields > label,
#registrationFields .check-label {
  font-size: 1.05rem;
}