.home-page {
  --ink: #172c38;
  --muted: #4d6269;
  --green: #146756;
  --green-dark: #0c493e;
  --line: #dbe1db;
  --home-navy: #142f3b;
  --home-cream: #f8f6ef;
  --home-coral: #ffc3a9;
  color: var(--ink);
  background: var(--home-cream);
}
.home-page h2 { font-size: clamp(30px, 3.2vw, 42px); line-height: 1.2; letter-spacing: -.03em; }
.home-page h3 { letter-spacing: -.025em; line-height: 1.3; }
.home-page .eyebrow { font-size: 12px; letter-spacing: .12em; }
.home-page .section { padding-block: 80px; }
.home-page .button { border-radius: 7px; gap: 22px; }
.home-page .text-link { display: inline-flex; align-items: center; gap: 18px; }
.home-hero { overflow: hidden; color: #fff; background: radial-gradient(ellipse at 95% 10%, #244c55, transparent 55%), var(--home-navy); }
.home-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 56px; padding-block: 72px 80px; }
.home-hero-copy { min-width: 0; }
.home-hero .eyebrow { display: flex; align-items: center; gap: 10px; color: #bfdacf; }
.home-status-dot { flex: 0 0 7px; height: 7px; border-radius: 50%; background: var(--home-coral); }
.home-hero h1 { margin-bottom: 26px; font-size: clamp(40px, 4.3vw, 60px); line-height: 1.16; letter-spacing: -.035em; }
.home-hero h1 span { color: var(--home-coral); }
.home-hero .lead { max-width: 520px; color: #d2e0e2; font-size: 18px; line-height: 1.8; font-weight: 400; }
.home-hero .button-primary, .home-final .button-primary { color: #182f39; background: var(--home-coral); }
.home-hero .button-primary:hover, .home-final .button-primary:hover { color: #182f39; background: #ffdbc9; }
.home-hero .button-outline, .home-final .button-outline { color: #fff; border-color: #8da7af; }
.home-hero .button-outline:hover, .home-final .button-outline:hover { color: #fff; background: #2b4b55; border-color: #fff; }
.home-hero-footnote { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.home-hero-footnote > span { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border: 1px solid #68878d; border-radius: 50%; color: var(--home-coral); }
.home-hero-footnote p { margin: 0; color: #bfd0d4; font-size: 13px; line-height: 1.7; font-weight: 400; }
.home-hero-footnote strong { color: #edf4f2; font-weight: 600; }
.home-visual { position: relative; min-width: 0; padding: 8px 0 44px 24px; }
.home-photo-frame { position: relative; overflow: hidden; border: 1px solid #537078; border-radius: 120px 14px 14px 14px; background: #29454e; }
.home-hero-photo { display: block; width: 100%; height: 445px; object-fit: cover; object-position: 54% center; }
.home-photo-caption { position: absolute; inset: auto 0 0; padding: 75px 32px 30px; background: linear-gradient(transparent, rgba(9, 29, 39, .95)); }
.home-caption-label { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; }
.home-photo-caption p { margin: 9px 0 0; color: #fff; font-size: 34px; line-height: 1.15; letter-spacing: -1px; }
.home-photo-caption strong { color: var(--home-coral); }
.home-brand-card { position: absolute; right: 22px; bottom: 7px; left: 0; display: flex; align-items: center; gap: 16px; padding: 15px 20px; color: var(--ink); background: #fffdf8; border: 1px solid #e8e2d3; border-radius: 10px; box-shadow: 0 18px 36px #071a2529; }
.home-brand-card img { display: block; width: 78px; height: auto; border-radius: 7px; }
.home-brand-card strong { display: block; font-size: 17px; line-height: 1.4; letter-spacing: -.015em; }
.home-brand-card span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.home-visual-label { display: block; margin: 18px 0 0; color: #b1c6cb; font-size: 11px; line-height: 1.7; letter-spacing: .1em; text-align: right; }
.home-pathways { border-top: 1px solid #42606a; background: #102a35; }
.home-pathways-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-pathways a { display: flex; flex-direction: column; gap: 8px; padding: 27px 28px; text-decoration: none; border-left: 1px solid #42606a; transition: background .18s ease; }
.home-pathways a:last-child { border-right: 1px solid #42606a; }
.home-pathways a:hover { background: #24434d; }
.home-pathway-number { color: #b3c8cd; font-size: 11px; letter-spacing: .1em; }
.home-pathways strong { font-size: 18px; line-height: 1.5; font-weight: 600; }
.home-pathway-link { display: flex; justify-content: space-between; align-items: center; color: var(--home-coral); font-size: 13px; }
.home-intro h2 span { color: var(--green); }
.home-intro .intro-grid { grid-template-columns: 1fr 1.15fr; gap: 75px; }
.home-intro .section-copy { color: var(--ink); font-size: 20px; line-height: 1.8; font-weight: 500; }
.home-intro-photo { margin: 32px 0 0; overflow: hidden; border: 1px solid #d1b47d; border-radius: 18px; box-shadow: 0 18px 40px rgba(16, 42, 51, .14); }
.home-intro-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.home-supporting-copy { margin: 0 0 24px; color: var(--muted); font-size: 16px; }
.home-services { background: #edf1eb; }
.home-page .section-heading { margin-bottom: 36px; }
.home-service-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #d7dfd6; border-radius: 12px; background: #fffdf8; }
.home-service-photo { position: relative; }
.home-service-photo img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; }
.home-service-photo > span { position: absolute; bottom: 16px; left: 22px; display: grid; place-items: center; width: 39px; height: 39px; border-radius: 50%; color: var(--ink); background: var(--home-coral); font-size: 12px; font-weight: 700; }
.home-service-body { display: flex; flex: 1; flex-direction: column; padding: 27px 25px 30px; }
.home-service-body h3 { font-size: 23px; }
.home-service-body p { flex: 1; margin: 0 0 24px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.home-service-body .text-link { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 20px; font-size: 14px; }
.home-heading-note { max-width: 280px; margin: 0; color: var(--muted); font-size: 16px; }
.home-process-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.home-process-list li { padding-top: 25px; border-top: 1px solid #c1cec5; }
.home-process-list li > span { display: inline-grid; place-items: center; width: 43px; height: 43px; margin-bottom: 20px; color: var(--green); border: 1px solid #bdcfc1; border-radius: 50%; font-size: 13px; }
.home-process-list h3 { font-size: 23px; }
.home-process-list p { margin: 0; color: var(--muted); font-size: 16px; }
.home-vacancies { border-block: 1px solid #e3e7df; background: #fffdf8; }
.home-page .job-card { border-radius: 12px; background: #fff; }
.home-job-empty { display: flex; align-items: center; gap: 30px; padding: 38px; border: 1px solid #dce3d9; border-radius: 12px; background: #f0f3ed; }
.home-empty-symbol { display: grid; place-items: center; flex: 0 0 65px; height: 65px; color: var(--green); background: #e0e9df; border-radius: 50%; font-size: 32px; }
.home-job-empty h3 { font-size: 25px; }
.home-job-empty p { max-width: 590px; margin: 0; color: var(--muted); font-size: 16px; }
.home-job-empty .button { flex-shrink: 0; }
.home-industries .industries-band-inner { grid-template-columns: 1fr 1fr; gap: 80px; }
.home-industries h2 { font-size: clamp(30px, 3.2vw, 42px); }
.home-industries p:not(.eyebrow) { max-width: 420px; color: var(--muted); font-size: 16px; }
.home-industries .text-link { margin-top: 22px; }
.home-sector-list { display: grid; grid-template-columns: 1fr; }
.home-sector-list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #ccd6cd; color: var(--ink); font-size: 19px; font-weight: 600; text-decoration: none; }
.home-sector-list a span { color: var(--green); }
.home-sector-list a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.home-page .home-final { padding-top: 0; }
.home-final-panel { display: flex; align-items: center; justify-content: space-between; gap: 45px; padding: 55px; border-radius: 18px; color: white; background: radial-gradient(ellipse at 95% 0, #29535a, transparent 60%), var(--home-navy); }
.home-final .eyebrow { color: var(--home-coral); }
.home-final h2 { margin-bottom: 20px; }
.home-final p:not(.eyebrow) { margin: 0; color: #d1e0e1; font-size: 16px; }
.home-final-actions { display: grid; flex: 0 0 auto; gap: 12px; }
.home-final-actions .button { justify-content: space-between; }
/* Stronger, clearer typography */
.home-page { --muted: #344a52; }
.home-page .eyebrow { font-weight: 800; }
.home-page h1, .home-page h2, .home-page h3 { font-weight: 800; }
.home-page .text-link { font-weight: 800; }
.home-page .button { font-weight: 800; }
.home-hero .eyebrow { color: #d6ebe2; }
.home-hero .lead { color: #eef5f6; font-size: 19px; font-weight: 600; line-height: 1.8; }
.home-hero-footnote p { color: #dce8ea; font-size: 14px; font-weight: 600; }
.home-hero-footnote strong { color: #fff; font-weight: 800; }
.home-caption-label { color: #f2f7f7; font-weight: 800; }
.home-photo-caption p { font-weight: 700; }
.home-photo-caption strong { font-weight: 800; }
.home-brand-card strong { font-weight: 800; }
.home-brand-card span { color: #344a52; font-weight: 700; }
.home-visual-label { color: #d0dfe2; font-weight: 700; }
.home-pathway-number { color: #d0dfe2; font-weight: 800; }
.home-pathways strong { font-weight: 800; }
.home-pathway-link { font-weight: 800; }
.home-intro .section-copy { font-weight: 700; }
.home-supporting-copy, .home-service-body p, .home-process-list p, .home-heading-note,
.home-job-empty p, .home-industries p:not(.eyebrow) { color: var(--muted); font-weight: 600; }
.home-service-photo > span, .home-process-list li > span { font-weight: 800; }
.home-sector-list a { font-weight: 700; }
.home-final p:not(.eyebrow) { color: #eaf2f3; font-weight: 600; }
.home-page .industry-photo-note { color: #445a61; font-weight: 600; }
.home-visual { padding-bottom: 0; }
.home-photo-caption { padding-bottom: 54px; }
.home-brand-card { position: relative; right: auto; bottom: auto; margin: -36px 22px 0 -24px; }
.home-visual-label { margin-top: 18px; text-align: center; }

@media (max-width: 980px) {
  .home-hero-grid { gap: 30px; padding-block: 60px 70px; }
  .home-hero .button-row { align-items: flex-start; flex-direction: column; }
  .home-brand-card { gap: 10px; padding: 13px; }
  .home-brand-card img { width: 58px; }
  .home-brand-card strong { font-size: 15px; }
  .home-pathways a { padding-inline: 20px; }
  .home-pathways strong { font-size: 16px; }
  .home-service-body { padding-inline: 20px; }
  .home-job-empty { flex-wrap: wrap; }
  .home-job-empty > div { flex: 1 1 300px; }
  .home-final-panel { padding: 38px; }
}
@media (max-width: 700px) {
  .home-page .section { padding-block: 56px; }
  .home-hero-grid { grid-template-columns: 1fr; gap: 40px; padding-block: 45px 45px; }
  .home-hero h1 { max-width: 520px; font-size: clamp(36px, 7.8vw, 50px); letter-spacing: -.03em; }
  .home-hero .lead { font-size: 17px; }
  .home-hero .eyebrow { font-size: 11px; letter-spacing: .08em; }
  .home-hero .button-row { flex-direction: row; }
  .home-visual { max-width: 520px; padding-left: 15px; }
  .home-hero-photo { height: 340px; }
  .home-photo-frame { border-top-left-radius: 90px; }
  .home-photo-caption { padding-left: 24px; }
  .home-brand-card { right: 16px; padding: 15px; }
  .home-brand-card img { width: 68px; }
  .home-brand-card strong { font-size: 16px; }
  .home-visual-label { font-size: 10px; letter-spacing: .08em; }
  .home-pathways-grid { grid-template-columns: 1fr; }
  .home-pathways a { display: grid; grid-template-columns: 1fr auto; gap: 6px 15px; border-inline: 0; border-bottom: 1px solid #42606a; padding: 22px 0; }
  .home-pathways a:last-child { border: 0; }
  .home-pathway-number { grid-column: 1 / -1; }
  .home-pathway-link { gap: 10px; font-size: 12px; }
  .home-pathways strong { font-size: 16px; }
  .home-intro .intro-grid, .home-industries .industries-band-inner { grid-template-columns: 1fr; gap: 25px; }
  .home-intro .section-copy { font-size: 19px; }
  .home-page .section-heading { gap: 16px; margin-bottom: 28px; }
  .home-service-body { padding: 26px; }
  .home-heading-note { max-width: 100%; }
  .home-process-list { grid-template-columns: 1fr; gap: 28px; }
  .home-process-list li > span { margin-bottom: 16px; }
  .home-job-empty { gap: 20px; padding: 25px; }
  .home-job-empty > div { flex-basis: 100%; }
  .home-empty-symbol { flex-basis: 50px; height: 50px; font-size: 26px; }
  .home-final-panel { align-items: stretch; flex-direction: column; gap: 28px; padding: 35px 25px; }
  .home-final-actions { align-self: flex-start; max-width: 100%; }
  .home-page .home-final { padding-top: 0; }
}
@media (max-width: 430px) {
  .home-hero .button-row { flex-direction: column; align-items: stretch; }
  .home-pathways a { grid-template-columns: 1fr; }
  .home-pathway-link { justify-content: flex-start; }
  .home-brand-card { gap: 10px; }
  .home-brand-card img { width: 58px; }
  .home-brand-card strong { font-size: 14px; }
  .home-brand-card span { font-size: 11px; }
  .home-final-actions { width: 100%; }
}
