/* Homepage only. The shared header, routes and enquiry form keep their existing styles. */
#page-home .home-v50 > .v50-hero {
  --v51-surface-1: #061713;
  background: #061713 !important;
}
#page-home .home-v50 > .v50-hero .v111-hero-media {
  background: #061713;
  -webkit-mask-image: linear-gradient(#000 0 48%, rgb(0 0 0 / .85) 64%, rgb(0 0 0 / .3) 83%, transparent 100%);
  mask-image: linear-gradient(#000 0 48%, rgb(0 0 0 / .85) 64%, rgb(0 0 0 / .3) 83%, transparent 100%);
}
#page-home .home-v50 > .v50-hero .v50-hero-field {
  background:
    linear-gradient(90deg, rgb(2 15 12 / .76), rgb(2 15 12 / .32) 48%, transparent 85%),
    linear-gradient(180deg, rgb(2 15 12 / .12) 0%, transparent 38%, rgb(6 23 19 / .42) 66%, #061713 100%) !important;
}
#page-home .home-v50 > .v50-hero .v50-hero-field::after {
  background: linear-gradient(180deg, transparent 0 55%, rgb(6 23 19 / .2) 68%, #061713 100%) !important;
}
.hb-home {
  --hb-bg: #061713;
  --hb-panel: #0a201b;
  --hb-ink: #f1eee4;
  --hb-muted: #b9c3b9;
  --hb-gold: #dbbf80;
  --hb-line: #2b4239;
  background: var(--hb-bg);
  color: var(--hb-ink);
  font-family: "IBM Plex Sans", Arial, sans-serif;
}
.hb-home :is(h1,h2,h3) { text-wrap: balance; }
.hb-home p { margin: 0; }
.hb-home .hb-kicker {
  color: var(--hb-gold);
  font: 400 11px/1.5 "IBM Plex Sans", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 24px;
}
.hb-home .hb-hero {
  min-block-size: 0;
  background: var(--hb-bg) !important;
  padding: 0;
  overflow: hidden;
}
.hb-hero::before, .hb-hero::after { display: none; }
.hb-home .hb-hero .v50-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(280px,.8fr);
  gap: clamp(48px,7vw,110px);
  align-items: start;
  min-block-size: 0 !important;
  padding-block: clamp(64px,8vw,110px) 56px;
}
.hb-home .hb-hero .v50-hero-content { inline-size: 100%; transform: none; }
.hb-home .hb-hero .hb-position-title {
  max-inline-size: none;
  margin: 0;
  font-family: "IBM Plex Serif", Georgia, serif;
  font-size: clamp(2.6rem,4.65vw,5.3rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.045em;
}
.hb-home .hb-hero .v50-title-line { overflow: visible; }
.hb-home .hb-hero .v50-title-line > span { white-space: normal; }
.hb-home .hb-hero .v50-title-line:last-child > span { color: var(--hb-gold); }
.hb-home .hb-hero .v50-hero-sub {
  display: block;
  margin: 28px 0 0;
  color: var(--hb-muted);
  font: 400 clamp(15px,1.4vw,20px)/1.6 "IBM Plex Serif", Georgia, serif;
  letter-spacing: .06em;
}
.hb-home .hb-hero-intro { max-width: 65ch; font-size: 15px; line-height: 1.75; color: var(--hb-muted); margin: 28px 0 0; }
.hb-hero-aside { border-top: 1px solid var(--hb-gold); padding-top: 22px; max-width: 380px; justify-self: end; }
.hb-home .hb-hero-aside .hb-kicker { font-size: 10px; margin-bottom: 22px; }
.hb-hero-aside > p:last-child { color: var(--hb-muted); font-size: clamp(16px,1.3vw,19px); line-height: 1.65; }
.hb-home .hb-hero-foot { display: flex; gap: 50px; justify-content: space-between; align-items: center; padding-block: 12px 20px; border-top: 1px solid var(--hb-line); }
.hb-home .hb-hero-foot > p { max-width: 81ch; font-size: 15px; line-height: 1.7; color: var(--hb-muted); }
.hb-home .hb-link { display: inline-flex; align-items: center; gap: 30px; color: var(--hb-gold); text-decoration: none; font-size: 14px; line-height: 1.5; padding: 12px 0; border-bottom: 1px solid var(--hb-gold); flex-shrink: 0; transition: color .18s; }
.hb-link span { font-size: 20px; }
.hb-home .hb-link:hover { color: var(--hb-ink); }
.hb-home a:focus-visible { outline: 2px solid var(--hb-gold); outline-offset: 6px; }
.hb-body { border-top: 1px solid var(--hb-line); }
.hb-home .hb-section { padding-block: clamp(64px,8vw,124px); scroll-margin-top: 125px; }
.hb-home .hb-heading h2 { font: 400 clamp(30px,3.3vw,49px)/1.13 "IBM Plex Serif",Georgia,serif; letter-spacing: -.025em; color: var(--hb-ink); max-width: 25ch; margin: 0; }
.hb-intro, .hb-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(40px,8vw,124px); align-items: start; }
.hb-home .hb-prose { font-size: 16px; line-height: 1.8; color: var(--hb-muted); }
.hb-home .hb-prose p + p { margin-top: 20px; }
.hb-home .hb-prose .hb-lead, .hb-home .hb-lead { color: var(--hb-ink); font: 400 24px/1.45 "IBM Plex Serif",Georgia,serif; margin-bottom: 26px; }
.hb-checks { list-style: none; padding: 0; margin: 5px 0 0; }
.hb-checks li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid var(--hb-line); }
.hb-checks li::before { content: "—"; position: absolute; left: 0; color: var(--hb-gold); }
.hb-structure { background: var(--hb-panel); }
.hb-structure .hb-prose, .hb-risk .hb-prose { margin-top: 30px; }
.hb-structure-note { border-top: 1px solid var(--hb-gold); padding-top: 26px; color: var(--hb-ink); font: 400 clamp(21px,2.1vw,30px)/1.5 "IBM Plex Serif",Georgia,serif; }
.hb-analysis-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(40px,8vw,124px); margin-top: 45px; }
.hb-home .hb-analysis-note { border-left: 1px solid var(--hb-gold); padding-left: 30px; color: var(--hb-muted); font-size: 16px; line-height: 1.8; }
.hb-analysis-note p + p { margin-top: 20px; }
.hb-home .hb-analysis-note p:nth-child(2) { color: var(--hb-ink); font: 400 25px/1.4 "IBM Plex Serif",Georgia,serif; }
.hb-risk { background: #0a201b; }
.hb-home .hb-risk-caption { color: var(--hb-muted); font-size: 14px; line-height: 1.6; padding-bottom: 24px; }
.hb-risk-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--hb-line); }
.hb-risk-list li { padding: 22px 0; border-bottom: 1px solid var(--hb-line); color: var(--hb-ink); font: 400 clamp(20px,2vw,28px)/1.3 "IBM Plex Serif",Georgia,serif; display: flex; align-items: baseline; gap: 24px; }
.hb-risk-list span { color: var(--hb-gold); font: 400 18px/1 Arial,sans-serif; }
.hb-process-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,8vw,124px); margin-top: 45px; }
.hb-home .hb-emphasis { border-top: 1px solid var(--hb-gold); padding-top: 24px; color: var(--hb-gold); font-family: "IBM Plex Serif",Georgia,serif; font-size: 25px; line-height: 1.45; }
.hb-tech { background: var(--hb-panel); }
.hb-tech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(35px,6vw,90px); margin-top: 45px; }
.hb-tech-grid article { border-top: 1px solid var(--hb-line); padding-top: 28px; color: var(--hb-muted); font-size: 16px; line-height: 1.8; }
.hb-tech-grid article:last-child { border-top-color: var(--hb-gold); }
.hb-tech-grid article p + p { margin-top: 20px; }
.hb-home .hb-wide { max-width: 75ch; margin-top: 35px; }
.hb-home .hb-model-end { max-width: 70ch; color: var(--hb-muted); font-size: 16px; line-height: 1.8; margin-top: 24px; }
.hb-practices { background: var(--hb-panel); }
.hb-practices .hb-link { margin-top: 32px; }
.hb-practice-list { border-top: 1px solid var(--hb-line); list-style: none; margin: 0; padding: 0; }
.hb-practice-list li { border-bottom: 1px solid var(--hb-line); }
.hb-practice-list a { display: grid; grid-template-columns: 2.5rem minmax(0,1fr) 1rem; gap: 16px; align-items: baseline; padding: 18px 0; color: var(--hb-ink); font: 400 clamp(18px,1.65vw,24px)/1.35 "IBM Plex Serif",Georgia,serif; text-decoration: none; transition: color .18s; }
.hb-practice-list a:hover { color: var(--hb-gold); }
.hb-practice-no { color: var(--hb-gold); font: 400 11px/1.5 "IBM Plex Sans",Arial,sans-serif; }
.hb-practice-arrow { color: var(--hb-gold); font: 400 18px/1 "IBM Plex Sans",Arial,sans-serif; }
.hb-home .hb-result > .hb-lead { margin-top: 32px; max-width: 48ch; }
.hb-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 65px; margin-top: 40px; }
.hb-home .hb-result-grid p { border-top: 1px solid var(--hb-line); padding: 25px 0; color: var(--hb-muted); font-size: 17px; line-height: 1.7; }
.hb-home .hb-result-end { color: var(--hb-ink); font: 400 25px/1.55 "IBM Plex Serif",Georgia,serif; max-width: 75ch; margin-top: 32px; }
.hb-principle { background: #0a201b; }
.hb-home .hb-principle-intro { margin-top: 32px; color: var(--hb-muted); font-size: 16px; line-height: 1.7; }
.hb-principle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin: 40px 0 50px; }
.hb-principle-grid article { border-top: 1px solid var(--hb-gold); padding-top: 24px; }
.hb-principle-grid h3 { font: 400 28px/1.2 "IBM Plex Serif",Georgia,serif; color: var(--hb-gold); margin: 0 0 18px; }
.hb-principle-grid p { font-size: 15px; line-height: 1.8; color: var(--hb-muted); }
.hb-closing { border-top: 1px solid var(--hb-line); padding-top: 30px; display: flex; justify-content: space-between; align-items: start; gap: 70px; }
.hb-closing p { max-width: 76ch; color: var(--hb-muted); font-size: 16px; line-height: 1.8; }
@media (min-width: 1800px) { .hb-home .hb-hero .v50-hero-layout { padding-block-start: 110px; } }
@media (max-width: 1056px) {
  .hb-home .hb-hero .v50-hero-layout { grid-template-columns: 1.3fr 1fr; gap: 36px; }
  .hb-home .hb-hero .hb-position-title { font-size: clamp(38px,4.8vw,60px); }
  .hb-home .hb-hero-foot { gap: 30px; }
  .hb-intro, .hb-split, .hb-process-grid, .hb-analysis-grid { gap: 40px; }
}
@media (max-width: 760px) {
  .hb-home .hb-hero .v50-hero-layout { display: block; min-block-size: auto !important; padding-block: 64px 40px; }
  .hb-home .hb-hero .hb-position-title { font-size: clamp(32px,6.8vw,53px); line-height: 1.12; }
  .hb-home .hb-hero .v50-hero-sub { font-size: 15px; margin-top: 24px; }
  .hb-hero-aside { margin: 40px 0 0; max-width: 100%; }
  .hb-home .hb-hero-aside .hb-kicker { margin-bottom: 18px; font-size: 10px; }
  .hb-home .hb-hero-foot { flex-direction: column; gap: 18px; align-items: start; padding-block: 26px 35px; }
  .hb-home .hb-hero-foot > p { font-size: 14px; }
  .hb-intro, .hb-split, .hb-process-grid, .hb-analysis-grid, .hb-tech-grid, .hb-result-grid, .hb-principle-grid { grid-template-columns: 1fr; gap: 32px; }
  .hb-home .hb-heading h2 { font-size: clamp(30px,7.2vw,42px); max-width: 25ch; }
  .hb-home .hb-kicker { margin-bottom: 18px; font-size: 10px; }
  .hb-home .hb-prose, .hb-tech-grid article, .hb-closing p { font-size: 15px; line-height: 1.8; }
  .hb-home .hb-prose .hb-lead, .hb-home .hb-lead { font-size: 22px; }
  .hb-home .hb-analysis-note { padding-left: 23px; font-size: 15px; }
  .hb-home .hb-analysis-note p:nth-child(2), .hb-home .hb-emphasis { font-size: 23px; }
  .hb-risk-list li { padding-block: 18px; font-size: 23px; }
  .hb-result-grid { gap: 0; }
  .hb-home .hb-result-grid p { font-size: 16px; padding-block: 22px; }
  .hb-home .hb-result-end { font-size: 23px; }
  .hb-principle-grid { margin-block: 32px; }
  .hb-principle-grid h3 { font-size: 26px; margin-bottom: 13px; }
  .hb-closing { flex-direction: column; gap: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .hb-home *, .hb-home *::before, .hb-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
