.business-page { background: #fff; }
.business-page main [id] { scroll-margin-top: 92px; }

.business-hero { position: relative; overflow: hidden; padding: 40px 0 88px; background: linear-gradient(115deg, #f5f8fb 0%, #edf4f9 58%, #e6eef5 100%); }
.business-hero::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(7,45,92,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(7,45,92,.09) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, transparent 0%, #000 58%, #000 100%); pointer-events: none; }
.business-breadcrumb { position: relative; z-index: 1; margin-bottom: 46px; }
.business-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .88fr 1.12fr; gap: 7%; align-items: center; }
.business-hero-copy { padding: 20px 0 24px; }
.business-hero-copy h1 { max-width: 730px; margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(55px, 4.7vw, 78px); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.business-hero-copy h1 span { color: var(--blue); }
.business-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 28px 0 32px; color: #3d5872; font-size: 15px; line-height: 1.85; }
.business-hero-actions { display: flex; align-items: center; gap: 28px; }

.business-readiness { overflow: hidden; background: #06264d; color: #fff; box-shadow: 0 28px 70px rgba(5,35,70,.22); border-top: 3px solid var(--gold); }
.business-readiness-photo { position: relative; height: 178px; margin: 0; overflow: hidden; }
.business-readiness-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,24,50,.2), rgba(3,24,50,.72)); }
.business-readiness-photo img { height: 100%; object-fit: cover; }
.business-readiness-photo figcaption { position: absolute; right: 25px; bottom: 20px; z-index: 1; color: #fff; font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.business-readiness-head { display: grid; padding: 25px 28px 22px; grid-template-columns: 145px 1fr; gap: 24px; align-items: end; border-bottom: 1px solid rgba(255,255,255,.14); }
.business-readiness-head small { color: #d6b16e; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.business-readiness-head strong { font-family: Georgia, serif; font-size: 22px; font-weight: 500; line-height: 1.25; }
.business-readiness-list > div { display: grid; min-height: 72px; padding: 14px 28px; grid-template-columns: 38px 1fr auto; gap: 18px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); }
.business-readiness-list > div:last-child { border-bottom: 0; }
.business-readiness-list b { color: #d6b16e; font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.business-readiness-list span strong, .business-readiness-list span small { display: block; }
.business-readiness-list span strong { font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.business-readiness-list span small { margin-top: 3px; color: #b6c9da; font-size: 12px; line-height: 1.45; }
.business-readiness-list em { padding: 6px 10px; border: 1px solid rgba(214,177,110,.58); color: #e1bf7c; font-size: 10px; font-style: normal; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }

.business-stagebar { background: #031c3c; color: #fff; }
.business-stagebar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.business-stagebar a { position: relative; min-height: 132px; padding: 26px 26px 24px; border-right: 1px solid rgba(255,255,255,.13); transition: background .25s ease; }
.business-stagebar a:first-child { border-left: 1px solid rgba(255,255,255,.13); }
.business-stagebar a::after { content: "→"; position: absolute; right: 22px; top: 25px; color: #d4ad67; font-size: 15px; }
.business-stagebar a:hover { background: #0a3567; }
.business-stagebar small, .business-stagebar strong, .business-stagebar span { display: block; }
.business-stagebar small { color: #e0bb72; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.business-stagebar strong { margin-top: 13px; font-family: Georgia, serif; font-size: 21px; font-weight: 500; line-height: 1.3; }
.business-stagebar span { margin-top: 7px; color: #b6c8d9; font-size: 12px; line-height: 1.55; }

.business-section { padding: 118px 0; }
.business-architecture { background: #fff; }
.business-architecture-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9%; align-items: start; }
.business-architecture-intro { position: sticky; top: 176px; }
.business-architecture-intro h2, .business-heading h2, .business-calendar-intro h2, .business-case-copy h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.business-architecture-intro h2 { color: var(--navy); font-size: clamp(43px, 3.9vw, 60px); }
.business-architecture-intro > p:not(.eyebrow) { margin: 25px 0 27px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.business-decision-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.business-decision-board article { display: grid; min-height: 270px; padding: 30px 30px 28px; grid-template-columns: 38px 1fr; gap: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.business-decision-board article > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #c7d4df; border-radius: 50%; color: var(--gold); font-family: Arial, sans-serif; font-size: 17px; }
.business-decision-board small { color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.business-decision-board h3 { margin: 23px 0 13px; color: var(--navy); font-family: Georgia, serif; font-size: 25px; line-height: 1.2; }
.business-decision-board p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.72; }

.business-services { background: #f1f6fa; }
.business-heading { display: grid; margin-bottom: 58px; grid-template-columns: 1.05fr .95fr; gap: 10%; align-items: end; }
.business-heading h2 { color: var(--navy); font-size: clamp(43px, 4vw, 61px); }
.business-heading > p { max-width: 600px; margin: 0 0 5px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.business-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #fff; border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.business-service-pillar { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.business-service-pillar figure { position: relative; height: 190px; margin: 0; overflow: hidden; background: #dbe5ee; }
.business-service-pillar figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(3,28,60,.68)); }
.business-service-pillar figure img { height: 100%; object-fit: cover; transition: transform .5s ease; }
.business-service-pillar:hover figure img { transform: scale(1.035); }
.business-service-pillar figcaption { position: absolute; left: 24px; bottom: 18px; z-index: 1; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.business-service-pillar > div { display: flex; padding: 29px 27px 25px; flex: 1; flex-direction: column; }
.business-service-pillar h3 { margin: 0; color: var(--navy); font-family: Georgia, serif; font-size: 27px; line-height: 1.2; }
.business-service-pillar > div > p { min-height: 72px; margin: 14px 0 21px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.business-service-pillar ul { padding: 0; margin: 0 0 24px; list-style: none; }
.business-service-pillar li { padding: 13px 0; border-top: 1px solid var(--line); }
.business-service-pillar li strong, .business-service-pillar li span { display: block; }
.business-service-pillar li strong { color: var(--navy); font-size: 14px; }
.business-service-pillar li span { margin-top: 4px; color: #687d91; font-size: 12px; line-height: 1.55; }
.business-service-pillar > div > a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--navy); color: var(--navy); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }

.business-calendar { position: relative; overflow: hidden; padding: 112px 0; background: #06264d; color: #fff; }
.business-calendar::after { content: ""; position: absolute; inset: 0; opacity: .1; background-image: radial-gradient(circle, rgba(255,255,255,.8) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(90deg, transparent 0%, #000 65%); pointer-events: none; }
.business-calendar-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .72fr 1.28fr; gap: 9%; align-items: start; }
.business-calendar-intro h2 { color: #fff; font-size: clamp(43px, 4vw, 60px); }
.business-calendar-intro > p:not(.eyebrow) { margin: 25px 0 30px; color: #bdd0e1; font-size: 14px; line-height: 1.85; }
.business-calendar-board { border-top: 1px solid rgba(255,255,255,.72); }
.business-calendar-head { display: grid; min-height: 64px; padding: 17px 21px; grid-template-columns: 140px 1fr; gap: 24px; align-items: center; background: rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.16); }
.business-calendar-head span { color: #e0bd79; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.business-calendar-head strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.business-calendar-board article { display: grid; min-height: 112px; padding: 21px; grid-template-columns: 110px 1fr 76px; gap: 28px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.14); }
.business-calendar-board time { color: #d6b16e; font-family: Georgia, serif; font-size: 17px; }
.business-calendar-board h3 { margin: 0 0 5px; color: #fff; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.business-calendar-board p { margin: 0; color: #b9cbda; font-size: 13px; line-height: 1.65; }
.business-calendar-board b { padding: 7px 8px; border: 1px solid rgba(214,177,110,.55); color: #e1bf7c; font-size: 10px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

.business-markets { background: #fff; }
.business-heading-compact { margin-bottom: 42px; }
.business-market-table-wrap { overflow-x: auto; border: 1px solid var(--line); }
.business-market-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.business-market-table th { padding: 17px 20px; background: #071f3d; border-right: 1px solid rgba(255,255,255,.15); color: #fff; font-size: 10px; letter-spacing: .11em; text-align: left; text-transform: uppercase; }
.business-market-table th:last-child { border-right: 0; }
.business-market-table td { padding: 23px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.65; vertical-align: top; }
.business-market-table tr:last-child td { border-bottom: 0; }
.business-market-table td:last-child { border-right: 0; text-align: right; }
.business-market-table td strong, .business-market-table td span { display: block; }
.business-market-table td strong { color: var(--navy); font-family: Georgia, serif; font-size: 18px; line-height: 1.2; }
.business-market-table td span { margin-top: 6px; color: var(--gold); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.business-market-table a { color: var(--navy); font-size: 11px; font-weight: 900; white-space: nowrap; }
.business-market-note { margin: 16px 0 0; color: #6d8194; font-size: 11px; line-height: 1.6; }

.business-case { padding: 0 0 118px; background: #fff; }
.business-case-grid { display: grid; min-height: 560px; grid-template-columns: .82fr 1.18fr; background: #0a3f79; color: #fff; box-shadow: 0 26px 60px rgba(4,31,63,.16); }
.business-case figure { position: relative; min-height: 100%; margin: 0; overflow: hidden; }
.business-case figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,29,58,.05), rgba(4,29,58,.38)); }
.business-case figure img { height: 100%; object-fit: cover; }
.business-case-copy { padding: 58px 62px; }
.business-case-copy .eyebrow { color: #fff; }
.business-case-copy > small { color: #e0bd79; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.business-case-copy h2 { margin-top: 21px; color: #fff; font-size: clamp(37px, 3.2vw, 50px); }
.business-case-copy > p { margin: 22px 0; color: #d9e5ee; font-size: 14px; line-height: 1.8; }
.business-case-scope { display: flex; margin: 26px 0; flex-wrap: wrap; gap: 8px; }
.business-case-scope span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.3); color: #e2edf5; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.business-case blockquote { margin: 28px 0; padding: 0 0 0 22px; border-left: 2px solid #d6b16e; color: #fff; font-family: Georgia, serif; font-size: 19px; line-height: 1.5; }
.business-case .text-link { color: #fff; border-color: #d6b16e; }

@media (max-width: 1160px) {
  .business-hero-grid { grid-template-columns: .9fr 1.1fr; gap: 4%; }
  .business-hero-copy h1 { font-size: 58px; }
  .business-service-pillar > div { padding-inline: 22px; }
  .business-case-copy { padding: 48px 44px; }
}

@media (max-width: 900px) {
  .business-hero-grid, .business-architecture-grid, .business-calendar-grid, .business-case-grid { grid-template-columns: 1fr; }
  .business-hero-grid { gap: 42px; }
  .business-hero-copy h1 { font-size: 58px; }
  .business-stagebar-grid { grid-template-columns: repeat(2, 1fr); }
  .business-stagebar a:nth-child(2) { border-right: 0; }
  .business-stagebar a:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.13); }
  .business-architecture-intro { position: static; }
  .business-heading { grid-template-columns: 1fr; gap: 25px; }
  .business-service-grid { grid-template-columns: 1fr; }
  .business-service-pillar { display: grid; grid-template-columns: .72fr 1.28fr; }
  .business-service-pillar figure { height: 100%; min-height: 390px; }
  .business-calendar-grid { gap: 50px; }
  .business-case figure { min-height: 360px; }
}

@media (max-width: 760px) {
  .business-page main [id] { scroll-margin-top: 78px; }
  .business-hero { padding: 28px 0 64px; }
  .business-breadcrumb { margin-bottom: 30px; }
  .business-hero-copy { padding-top: 0; }
  .business-hero-copy h1 { font-size: 43px; }
  .business-hero-copy h1 br { display: none; }
  .business-hero-copy > p:not(.eyebrow) { margin: 22px 0 26px; font-size: 14px; }
  .business-hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .business-readiness-photo { height: 145px; }
  .business-readiness-head { grid-template-columns: 1fr; gap: 8px; }
  .business-readiness-list > div { padding-inline: 20px; grid-template-columns: 32px 1fr; }
  .business-readiness-list em { display: none; }
  .business-stagebar-grid { grid-template-columns: 1fr; }
  .business-stagebar a, .business-stagebar a:nth-child(2) { min-height: 112px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); border-left: 0; }
  .business-stagebar a:last-child { border-bottom: 0; }
  .business-section, .business-calendar { padding: 86px 0; }
  .business-architecture-grid { gap: 46px; }
  .business-architecture-intro h2, .business-heading h2, .business-calendar-intro h2 { font-size: 40px; }
  .business-decision-board { grid-template-columns: 1fr; }
  .business-decision-board article { min-height: 225px; padding: 27px 24px; }
  .business-service-pillar { display: flex; }
  .business-service-pillar figure { height: 185px; min-height: 0; }
  .business-service-pillar > div > p { min-height: 0; }
  .business-calendar-board article { grid-template-columns: 82px 1fr; gap: 18px; }
  .business-calendar-board article b { display: none; }
  .business-calendar-head { grid-template-columns: 1fr; gap: 5px; }
  .business-heading-compact { margin-bottom: 34px; }
  .business-case { padding-bottom: 86px; }
  .business-case figure { min-height: 250px; }
  .business-case-copy { padding: 38px 25px 42px; }
  .business-case-copy h2 { font-size: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .business-service-pillar figure img { transition: none; }
}
