:root {
    --marketing-red: #a92d25;
    --marketing-blue: #245f82;
    --marketing-gold: #d9a514;
}

.marketing-page { background: #fff; }
.marketing-page .site-header { position: sticky; }
.marketing-page .site-brand { align-items: center; display: flex; }
.marketing-page .site-nav a { font-size: 13px; }

.marketing-hero { background: #f2f7ef; border-bottom: 1px solid var(--line); overflow: hidden; position: relative; }
.marketing-hero::after { background: var(--marketing-gold); bottom: 0; content: ""; height: 5px; left: 0; position: absolute; width: 34%; }
.marketing-hero-inner { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); margin: 0 auto; max-width: 1180px; min-height: 520px; padding: 70px 22px; }
.marketing-hero h1 { color: var(--navy); font-size: clamp(42px,5vw,66px); line-height: 1.02; margin: 0; max-width: 820px; }
.marketing-hero .lead { color: #405246; font-size: 18px; font-weight: 650; line-height: 1.65; margin: 22px 0 0; max-width: 720px; }
.marketing-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.hero-proof-list { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 25px; }
.hero-proof-list span { align-items: center; color: #39503f; display: inline-flex; font-size: 13px; font-weight: 850; gap: 7px; }
.hero-proof-list i { color: var(--green); }

.marketing-visual { background: #fff; border: 1px solid #bcd0ba; border-top: 5px solid var(--blue); box-shadow: 0 22px 58px rgba(23,62,34,.16); min-height: 360px; overflow: hidden; }
.marketing-visual-bar { align-items: center; background: var(--navy); color: #fff; display: flex; justify-content: space-between; min-height: 52px; padding: 10px 15px; }
.marketing-visual-bar strong { font-size: 14px; }
.marketing-visual-bar span { color: #d7e7d3; font-size: 11px; font-weight: 800; }
.marketing-visual-body { padding: 18px; }
.marketing-visual-kpis { display: grid; gap: 9px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.marketing-visual-kpis div { background: #f4f7f2; border: 1px solid #dce7d9; min-height: 90px; padding: 12px; }
.marketing-visual-kpis span { color: #5d6a60; display: block; font-size: 11px; font-weight: 800; }
.marketing-visual-kpis strong { color: var(--navy); display: block; font-size: 23px; margin-top: 9px; }
.marketing-visual-feed { border-top: 1px solid var(--line); display: grid; gap: 8px; margin-top: 18px; padding-top: 16px; }
.marketing-visual-feed span { align-items: center; color: #46574a; display: grid; font-size: 12px; font-weight: 800; gap: 9px; grid-template-columns: 25px 1fr auto; }
.marketing-visual-feed i { color: var(--blue); text-align: center; }
.marketing-visual-feed b { color: var(--marketing-red); font-size: 10px; text-transform: uppercase; }

.marketing-strip { background: var(--navy); color: #fff; }
.marketing-strip-inner { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 auto; max-width: 1180px; }
.marketing-strip a { align-items: center; border-right: 1px solid rgba(255,255,255,.18); display: grid; gap: 3px 10px; grid-template-columns: 36px 1fr; min-height: 92px; padding: 15px 18px; }
.marketing-strip a:first-child { border-left: 1px solid rgba(255,255,255,.18); }
.marketing-strip a:hover, .marketing-strip a:focus { background: #22582f; }
.marketing-strip i { color: #f1c94e; font-size: 20px; grid-row: 1 / 3; }
.marketing-strip strong { font-size: 14px; }
.marketing-strip small { color: #c7d9c4; font-size: 11px; font-weight: 700; }

.marketing-section { padding: 78px 22px; }
.marketing-section.is-soft { background: #f3f7f1; border-block: 1px solid var(--line); }
.marketing-section.is-dark { background: var(--navy); color: #fff; }
.marketing-container { margin: 0 auto; max-width: 1180px; }
.marketing-heading { margin-bottom: 34px; max-width: 790px; }
.marketing-heading.is-wide { align-items: end; display: grid; gap: 40px; grid-template-columns: minmax(0,1fr) minmax(330px,.72fr); max-width: none; }
.marketing-heading h2 { color: var(--navy); font-size: 38px; line-height: 1.12; margin: 0; }
.marketing-heading p { color: #55645a; font-size: 16px; font-weight: 650; line-height: 1.65; margin: 13px 0 0; }
.marketing-heading.is-wide > p { margin: 0; }
.is-dark .marketing-heading h2 { color: #fff; }
.is-dark .marketing-heading p { color: #c8d9c5; }

.path-grid, .outcome-grid, .audience-grid, .package-grid, .trust-grid { display: grid; gap: 14px; }
.path-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.path-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue); display: flex; flex-direction: column; min-height: 255px; padding: 22px; }
.path-card:nth-child(2) { border-top-color: var(--marketing-gold); }
.path-card:nth-child(3) { border-top-color: var(--marketing-red); }
.path-card:nth-child(4) { border-top-color: var(--green); }
.path-card > i { color: var(--blue); font-size: 25px; }
.path-card h3 { color: var(--navy); font-size: 21px; line-height: 1.25; margin: 18px 0 8px; }
.path-card p { color: #5c695f; font-size: 14px; line-height: 1.6; margin: 0; }
.path-card span { align-items: center; color: var(--blue); display: flex; font-size: 13px; font-weight: 900; gap: 8px; margin-top: auto; padding-top: 20px; }

.outcome-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.outcome-card { border-left: 4px solid var(--blue); min-height: 155px; padding: 8px 15px 8px 18px; }
.outcome-card:nth-child(2) { border-color: var(--green); }
.outcome-card:nth-child(3) { border-color: var(--marketing-gold); }
.outcome-card:nth-child(4) { border-color: var(--marketing-red); }
.outcome-card i { color: var(--blue); font-size: 21px; }
.outcome-card h3 { color: var(--navy); font-size: 17px; margin: 13px 0 7px; }
.outcome-card p { color: #5b695f; font-size: 13px; line-height: 1.55; margin: 0; }

.journey { display: grid; gap: 18px; grid-template-columns: 300px minmax(0,1fr); }
.journey-nav { align-self: start; border: 1px solid #bfd0bd; display: grid; position: sticky; top: 94px; }
.journey-nav button { align-items: center; background: #fff; border: 0; border-bottom: 1px solid var(--line); color: #405246; cursor: pointer; display: grid; font-size: 14px; font-weight: 850; gap: 11px; grid-template-columns: 34px 1fr auto; min-height: 68px; padding: 10px 14px; text-align: left; }
.journey-nav button:last-child { border-bottom: 0; }
.journey-nav button > i:first-child { align-items: center; background: #edf4eb; color: var(--blue); display: flex; height: 34px; justify-content: center; width: 34px; }
.journey-nav button > i:last-child { color: #8b988d; }
.journey-nav button.is-active { background: var(--navy); color: #fff; }
.journey-nav button.is-active > i:first-child { background: var(--blue-bright); color: #fff; }
.journey-nav button.is-active > i:last-child { color: #f0c94f; }

.tour-stage { background: #fff; border: 1px solid #bcd0ba; box-shadow: var(--shadow); min-height: 570px; overflow: hidden; }
.tour-stage-header { align-items: center; background: var(--navy); color: #fff; display: flex; justify-content: space-between; min-height: 58px; padding: 12px 18px; }
.tour-stage-header strong { font-size: 15px; }
.tour-stage-header span { align-items: center; color: #d6e5d3; display: inline-flex; font-size: 11px; font-weight: 850; gap: 6px; }
.tour-stage-header i { color: #f0c94f; }
.tour-panel { animation: marketingReveal .25s ease; padding: 24px; }
@keyframes marketingReveal { from { opacity: .25; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.tour-panel-heading { align-items: start; display: flex; gap: 20px; justify-content: space-between; }
.tour-panel-heading small { color: var(--blue); display: block; font-size: 11px; font-weight: 950; margin-bottom: 6px; text-transform: uppercase; }
.tour-panel-heading h2 { color: var(--navy); font-size: 30px; margin: 0; }
.tour-panel-heading > span { background: #edf4eb; border: 1px solid #ccddc9; color: #38523e; font-size: 11px; font-weight: 900; padding: 7px 10px; }
.tour-panel > p { color: #56655b; font-size: 15px; line-height: 1.65; max-width: 760px; }
.tour-kpis { display: grid; gap: 9px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 20px; }
.tour-kpis article { background: #f4f7f2; border: 1px solid #dce7d9; min-height: 105px; padding: 14px; }
.tour-kpis span { color: #657268; display: block; font-size: 11px; font-weight: 850; }
.tour-kpis strong { color: var(--navy); display: block; font-size: 24px; margin: 10px 0 4px; }
.tour-kpis em { color: var(--green); font-size: 10px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.tour-flow { align-items: stretch; display: grid; gap: 8px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 20px; }
.tour-flow article { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--blue); min-height: 150px; padding: 14px; position: relative; }
.tour-flow article::after { color: #90a293; content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: -15px; top: 50%; z-index: 2; }
.tour-flow article:last-child::after { display: none; }
.tour-flow b { color: var(--blue); font-size: 11px; text-transform: uppercase; }
.tour-flow h3 { color: var(--navy); font-size: 16px; margin: 10px 0 6px; }
.tour-flow p { color: #637166; font-size: 12px; line-height: 1.5; margin: 0; }
.tour-result { align-items: flex-start; background: #eaf3e7; border-left: 5px solid var(--green); color: #2b4631; display: flex; font-size: 14px; font-weight: 800; gap: 10px; line-height: 1.55; margin-top: 20px; padding: 14px 16px; }
.tour-result i { color: var(--green); margin-top: 2px; }

.audience-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.audience-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue); display: flex; flex-direction: column; min-height: 310px; padding: 22px; }
.audience-card h2 { color: var(--navy); font-size: 22px; margin: 15px 0 8px; }
.audience-card > i { color: var(--blue); font-size: 24px; }
.audience-card p { color: #5b695f; font-size: 14px; line-height: 1.6; margin: 0; }
.audience-card ul { color: #405246; display: grid; font-size: 13px; font-weight: 800; gap: 8px; list-style: none; margin: 17px 0; padding: 0; }
.audience-card li::before { color: var(--green); content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: 8px; }
.audience-card a { color: var(--blue); font-size: 13px; font-weight: 900; margin-top: auto; }

.solution-hero { background: var(--navy); color: #fff; padding: 66px 22px; }
.solution-hero-inner { margin: 0 auto; max-width: 1180px; }
.solution-hero h1 { font-size: clamp(40px,5vw,62px); line-height: 1.04; margin: 0; max-width: 920px; }
.solution-hero p { color: #d1e2ce; font-size: 18px; font-weight: 650; line-height: 1.65; max-width: 800px; }
.solution-hero .eyebrow { color: #f0c94f; }
.solution-switcher { background: #fff; border-bottom: 1px solid var(--line); overflow-x: auto; }
.solution-switcher-inner { display: flex; gap: 4px; margin: 0 auto; max-width: 1180px; padding: 10px 22px; }
.solution-switcher a { color: #46574a; flex: 0 0 auto; font-size: 13px; font-weight: 900; padding: 12px 14px; }
.solution-switcher a.is-active { background: var(--navy); color: #fff; }
.solution-summary { align-items: start; display: grid; gap: 45px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.solution-statement { border-left: 5px solid var(--marketing-gold); padding-left: 20px; }
.solution-statement h2 { color: var(--navy); font-size: 34px; margin: 0; }
.solution-statement p { color: #57655b; font-size: 16px; line-height: 1.65; }
.solution-outcomes { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.solution-outcomes article { background: #f4f7f2; border: 1px solid #dce7d9; min-height: 140px; padding: 17px; }
.solution-outcomes i { color: var(--blue); font-size: 20px; }
.solution-outcomes h3 { color: var(--navy); font-size: 16px; margin: 12px 0 6px; }
.solution-outcomes p { color: #637166; font-size: 12px; line-height: 1.5; margin: 0; }
.workflow-line { display: grid; gap: 0; grid-template-columns: repeat(4,minmax(0,1fr)); }
.workflow-line article { border-top: 4px solid var(--blue); min-height: 190px; padding: 20px; position: relative; }
.workflow-line article:nth-child(even) { background: #f3f7f1; }
.workflow-line b { align-items: center; background: var(--navy); color: #fff; display: flex; font-size: 14px; height: 34px; justify-content: center; width: 34px; }
.workflow-line h3 { color: var(--navy); font-size: 17px; margin: 14px 0 7px; }
.workflow-line p { color: #5d6b61; font-size: 13px; line-height: 1.55; margin: 0; }
.boundary-note { background: #fff7e2; border: 1px solid #e5cf8f; border-left: 5px solid var(--marketing-gold); color: #5e480d; font-size: 14px; font-weight: 750; line-height: 1.65; margin-top: 18px; padding: 17px; }

.package-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.package-card { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--blue); display: flex; flex-direction: column; min-height: 410px; padding: 24px; }
.package-card:nth-child(2) { border-top-color: var(--marketing-gold); }
.package-card:nth-child(3) { border-top-color: var(--marketing-red); }
.package-card > span { color: var(--blue); font-size: 11px; font-weight: 950; text-transform: uppercase; }
.package-card h2 { color: var(--navy); font-size: 25px; margin: 9px 0; }
.package-card p { color: #5c6a60; font-size: 14px; line-height: 1.6; }
.package-card ul { display: grid; gap: 10px; list-style: none; margin: 16px 0 22px; padding: 0; }
.package-card li { color: #405146; font-size: 13px; font-weight: 800; line-height: 1.45; }
.package-card li::before { color: var(--green); content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: 8px; }
.package-card .btn { margin-top: auto; }

.planner { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
.planner-form { background: #fff; border: 1px solid #bcd0ba; padding: 22px; }
.planner-form h2 { color: var(--navy); font-size: 25px; margin: 0 0 18px; }
.planner-fields { display: grid; gap: 15px; }
.planner-fields label > span, .planner-priorities legend { color: #314638; display: block; font-size: 13px; font-weight: 900; margin-bottom: 7px; }
.planner-fields select { background: #f8faf7; border: 1px solid #b9cbb7; color: var(--ink); font-size: 15px; min-height: 48px; padding: 10px; width: 100%; }
.planner-priorities { border: 1px solid var(--line); display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 14px; }
.planner-priorities legend { padding: 0 5px; }
.planner-priorities label { align-items: center; color: #435448; display: flex; font-size: 13px; font-weight: 800; gap: 8px; }
.planner-priorities input { accent-color: var(--blue); height: 18px; width: 18px; }
.planner-result { background: var(--navy); color: #fff; min-height: 100%; padding: 26px; }
.planner-result small { color: #f0c94f; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.planner-result h2 { color: #fff; font-size: 30px; margin: 9px 0; }
.planner-result > p { color: #cfdfcc; font-size: 15px; line-height: 1.65; }
.planner-result ol { display: grid; gap: 9px; list-style: none; margin: 23px 0 0; padding: 0; }
.planner-result li { align-items: start; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); display: grid; font-size: 13px; font-weight: 800; gap: 10px; grid-template-columns: 27px 1fr; line-height: 1.5; padding: 12px; }
.planner-result li b { align-items: center; background: var(--green); color: #fff; display: flex; height: 27px; justify-content: center; width: 27px; }

.implementation-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.implementation-steps article { border-top: 4px solid var(--blue); min-height: 185px; padding: 18px; }
.implementation-steps article:nth-child(even) { background: #f3f7f1; border-color: var(--marketing-gold); }
.implementation-steps b { color: var(--blue); font-size: 13px; }
.implementation-steps h3 { color: var(--navy); font-size: 16px; margin: 12px 0 7px; }
.implementation-steps p { color: #5d6b61; font-size: 12px; line-height: 1.55; margin: 0; }

.trust-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.trust-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue); min-height: 250px; padding: 22px; }
.trust-card i { color: var(--blue); font-size: 24px; }
.trust-card h2 { color: var(--navy); font-size: 20px; margin: 16px 0 8px; }
.trust-card p { color: #5b695f; font-size: 14px; line-height: 1.6; margin: 0; }
.trust-principles { display: grid; gap: 12px; }
.trust-principles article { align-items: start; border-bottom: 1px solid var(--line); display: grid; gap: 14px; grid-template-columns: 44px 1fr; padding: 18px 0; }
.trust-principles article:last-child { border-bottom: 0; }
.trust-principles span { align-items: center; background: var(--navy); color: #fff; display: flex; font-weight: 950; height: 40px; justify-content: center; width: 40px; }
.trust-principles h3 { color: var(--navy); font-size: 18px; margin: 0 0 5px; }
.trust-principles p { color: #5c6a60; font-size: 14px; line-height: 1.6; margin: 0; }

.marketing-cta { background: #7f251f; color: #fff; }
.marketing-cta-inner { align-items: center; display: grid; gap: 34px; grid-template-columns: minmax(0,1fr) auto; margin: 0 auto; max-width: 1180px; padding: 58px 22px; }
.marketing-cta h2 { color: #fff; font-size: 34px; margin: 0; }
.marketing-cta p { color: #f0d9d6; font-size: 15px; line-height: 1.6; margin: 10px 0 0; max-width: 740px; }
.marketing-cta-actions { display: flex; flex-wrap: wrap; gap: 9px; }

.services-hero { background: #173e22 url("campus-hero-ghana.jpg") center 44% / cover no-repeat; color: #fff; min-height: 520px; overflow: hidden; position: relative; }
.services-hero-shade { background: linear-gradient(90deg,rgba(7,35,23,.91) 0%,rgba(7,35,23,.76) 52%,rgba(7,35,23,.28) 100%); inset: 0; position: absolute; }
.services-hero-content { margin: 0 auto; max-width: 1180px; padding: 92px 22px 76px; position: relative; z-index: 1; }
.services-hero h1 { color: #fff; font-size: clamp(48px,6vw,76px); line-height: 1.02; margin: 0; max-width: 800px; }
.services-hero-content > p:not(.eyebrow) { color: #edf5eb; font-size: 19px; font-weight: 700; line-height: 1.65; margin: 21px 0 0; max-width: 720px; }
.services-hero .eyebrow, .services-hero .hero-proof-list i { color: #f2c94c; }
.services-hero .hero-proof-list span { color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.35); }

.services-principles { background: var(--navy); color: #fff; }
.services-principles-inner { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 auto; max-width: 1180px; }
.services-principles span { align-items: center; border-right: 1px solid rgba(255,255,255,.17); display: grid; gap: 3px 11px; grid-template-columns: 38px 1fr; min-height: 108px; padding: 17px 18px; }
.services-principles span:first-child { border-left: 1px solid rgba(255,255,255,.17); }
.services-principles i { color: #f2c94c; font-size: 20px; grid-row: 1 / 3; text-align: center; }
.services-principles strong { color: #fff; font-size: 14px; }
.services-principles small { color: #c9dbc6; font-size: 11px; font-weight: 700; line-height: 1.45; }

.service-detail-grid { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.service-detail-card { background: #fff; border: 1px solid #c6d6c4; border-top: 5px solid var(--green); display: flex; flex-direction: column; min-height: 430px; padding: 24px; }
.service-detail-card:nth-child(4n+2) { border-top-color: var(--marketing-blue); }
.service-detail-card:nth-child(4n+3) { border-top-color: var(--marketing-gold); }
.service-detail-card:nth-child(4n) { border-top-color: var(--marketing-red); }
.service-detail-card header { align-items: center; display: flex; justify-content: space-between; }
.service-detail-card header small { color: #68766c; font-size: 12px; font-weight: 950; }
.service-detail-icon { align-items: center; background: var(--navy); color: #fff; display: flex; font-size: 22px; height: 48px; justify-content: center; width: 48px; }
.service-detail-card h2 { color: var(--navy); font-size: 24px; line-height: 1.18; margin: 20px 0 9px; }
.service-detail-card > p { color: #59685e; font-size: 14px; line-height: 1.62; margin: 0; }
.service-audience { align-items: start; background: #eef4ec; border-left: 4px solid var(--green); display: grid; gap: 11px; grid-template-columns: 22px 1fr; margin-top: 20px; padding: 13px 14px; }
.service-audience i { color: var(--green); margin-top: 3px; text-align: center; }
.service-audience b { color: var(--navy); display: block; font-size: 10px; margin-bottom: 3px; text-transform: uppercase; }
.service-audience span { color: #415247; font-size: 12px; font-weight: 800; line-height: 1.45; }
.service-deliverables { border-top: 1px solid var(--line); margin-top: auto; padding-top: 17px; }
.service-deliverables > strong { color: var(--navy); font-size: 12px; text-transform: uppercase; }
.service-deliverables ul { display: grid; gap: 7px; list-style: none; margin: 12px 0 0; padding: 0; }
.service-deliverables li { color: #46574b; font-size: 12px; font-weight: 760; line-height: 1.45; }
.service-deliverables li::before { color: var(--green); content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: 8px; }

.service-process { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.service-process article { border-top: 4px solid var(--marketing-blue); min-height: 235px; padding: 22px; }
.service-process article:nth-child(2) { border-top-color: var(--marketing-gold); }
.service-process article:nth-child(3) { border-top-color: var(--marketing-red); }
.service-process article:nth-child(4) { border-top-color: var(--green); }
.service-process b { color: var(--marketing-blue); font-size: 12px; }
.service-process i { color: var(--navy); display: block; font-size: 23px; margin-top: 18px; }
.service-process h3 { color: var(--navy); font-size: 19px; margin: 14px 0 8px; }
.service-process p { color: #5b695f; font-size: 13px; line-height: 1.6; margin: 0; }

.service-boundary { background: var(--navy); color: #fff; padding: 76px 22px; }
.service-boundary-inner { display: grid; gap: 46px; grid-template-columns: minmax(270px,.7fr) minmax(0,1.3fr); margin: 0 auto; max-width: 1180px; }
.service-boundary .eyebrow { color: #f2c94c; }
.service-boundary h2 { color: #fff; font-size: 37px; line-height: 1.12; margin: 0; }
.service-boundary-columns { display: grid; gap: 1px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.service-boundary-columns article { align-items: start; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); display: grid; gap: 15px; grid-template-columns: 38px 1fr; padding: 22px; }
.service-boundary-columns i { color: #f2c94c; font-size: 22px; margin-top: 3px; }
.service-boundary-columns h3 { color: #fff; font-size: 17px; margin: 0 0 8px; }
.service-boundary-columns p { color: #cfe0cc; font-size: 13px; line-height: 1.62; margin: 0; }

.services-preview-band { background: #edf4eb; border-bottom: 1px solid #c9d9c6; border-top: 1px solid #c9d9c6; padding: 76px 22px; }
.services-preview-inner { margin: 0 auto; max-width: 1180px; }
.services-preview-heading { align-items: end; display: grid; gap: 48px; grid-template-columns: minmax(0,.9fr) minmax(360px,1.1fr); }
.services-preview-heading h2 { color: var(--navy); font-size: 39px; line-height: 1.12; margin: 0; }
.services-preview-heading > div:last-child > p { color: #536257; font-size: 15px; line-height: 1.65; margin: 0 0 18px; }
.services-preview-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 36px; }
.services-preview-card { align-items: start; background: #fff; border: 1px solid #c3d4c1; border-left: 5px solid var(--green); display: grid; gap: 15px; grid-template-columns: 46px 1fr 18px; min-height: 155px; padding: 21px; transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.services-preview-card:nth-child(2) { border-left-color: var(--marketing-blue); }
.services-preview-card:nth-child(3) { border-left-color: var(--marketing-gold); }
.services-preview-card:nth-child(4) { border-left-color: var(--marketing-red); }
.services-preview-card:hover, .services-preview-card:focus { border-color: #8eaa8c; box-shadow: 0 15px 35px rgba(23,62,34,.12); transform: translateY(-2px); }
.services-preview-card > span { align-items: center; background: var(--navy); color: #fff; display: flex; font-size: 19px; height: 44px; justify-content: center; width: 44px; }
.services-preview-card h3 { color: var(--navy); font-size: 18px; margin: 2px 0 7px; }
.services-preview-card p { color: #5b6a60; font-size: 13px; line-height: 1.55; margin: 0; }
.services-preview-card > i { color: var(--green); margin-top: 14px; }

.contact-hero { background: #173e22 url("contact-support-ghana.webp?v=2") center center / cover no-repeat; color: #fff; min-height: 520px; overflow: hidden; position: relative; }
.contact-hero-shade { background: rgba(7,35,23,.68); inset: 0; position: absolute; }
.contact-hero-content { margin: 0 auto; max-width: 1180px; padding: 82px 22px 72px; position: relative; z-index: 1; }
.contact-hero h1 { color: #fff; font-size: clamp(48px,6vw,76px); line-height: 1.02; margin: 0; max-width: 720px; }
.contact-hero-content > p:not(.eyebrow) { color: #eef6ec; font-size: 19px; font-weight: 700; line-height: 1.65; margin: 20px 0 0; max-width: 680px; }
.contact-hero .eyebrow { color: #f2c94c; }
.contact-hero .hero-proof-list span { color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.contact-hero .hero-proof-list i { color: #f2c94c; }

.contact-route-band { background: #f3f7f1; border-bottom: 1px solid var(--line); padding: 72px 22px; }
.contact-route-grid { display: grid; gap: 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
.contact-route-grid article { align-items: flex-start; border-bottom: 1px solid #cad9c7; display: grid; gap: 14px; grid-template-columns: 38px 1fr; min-height: 150px; padding: 22px 24px 22px 0; }
.contact-route-grid article:nth-child(3n+2), .contact-route-grid article:nth-child(3n+3) { border-left: 1px solid #cad9c7; padding-left: 24px; }
.contact-route-grid i { align-items: center; background: var(--navy); color: #fff; display: flex; font-size: 16px; height: 36px; justify-content: center; width: 36px; }
.contact-route-grid h3 { color: var(--navy); font-size: 17px; margin: 1px 0 7px; }
.contact-route-grid p { color: #5a685e; font-size: 13px; line-height: 1.55; margin: 0; }

.contact-form-band { background: #fff; padding: 78px 22px; }
.contact-form-layout { align-items: start; display: grid; gap: 34px; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); margin: 0 auto; max-width: 1180px; }
.contact-guidance { background: var(--navy); color: #fff; min-height: 100%; padding: 32px; position: sticky; top: 96px; }
.contact-guidance .eyebrow { color: #f1c94e; }
.contact-guidance h2 { color: #fff; font-size: 31px; line-height: 1.15; margin: 0; }
.contact-guidance > p:not(.eyebrow) { color: #d2e2cf; font-size: 15px; line-height: 1.65; }
.contact-guidance-list { border-top: 1px solid rgba(255,255,255,.2); display: grid; gap: 18px; margin-top: 25px; padding-top: 22px; }
.contact-guidance-list span { display: grid; gap: 3px 10px; grid-template-columns: 25px 1fr; }
.contact-guidance-list i { color: #f1c94e; grid-row: 1 / 3; margin-top: 2px; }
.contact-guidance-list b { color: #fff; font-size: 13px; }
.contact-guidance-list small { color: #cbdcca; font-size: 12px; line-height: 1.5; }
.contact-direct { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); display: grid; gap: 12px; grid-template-columns: 38px 1fr; margin-top: 28px; padding: 14px; }
.contact-direct > i { align-items: center; background: var(--green); display: flex; height: 36px; justify-content: center; width: 36px; }
.contact-direct small { color: #cbdcca; display: block; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.contact-direct a { color: #fff; font-size: 14px; font-weight: 900; overflow-wrap: anywhere; }
.contact-form { border: 1px solid #b9cdb9; box-shadow: 0 20px 46px rgba(23,62,34,.13); padding: 26px; }
.contact-form .form-heading { border-bottom: 1px solid var(--line); margin-bottom: 18px; padding-bottom: 17px; }
.contact-file-field input { background: #f7faf6; border: 1px dashed #9db49b; min-height: 54px; padding: 12px; }
.contact-file-field > span { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; }
.contact-file-field > span small { color: #68756b; font-size: 10px; }
.contact-file-field em { color: #69766c; display: block; font-size: 11px; font-style: normal; line-height: 1.45; margin-top: 6px; }
.contact-form .consent-field a { color: var(--blue); text-decoration: underline; }

@media (max-width: 1040px) {
    .marketing-hero-inner { grid-template-columns: 1fr; }
    .marketing-visual { max-width: 760px; }
    .outcome-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .audience-grid, .trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tour-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .implementation-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .services-principles-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .services-principles span:nth-child(odd) { border-left: 1px solid rgba(255,255,255,.17); }
    .services-principles span:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.17); }
}

@media (max-width: 820px) {
    .marketing-hero-inner { min-height: 0; padding-block: 58px; }
    .marketing-strip-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .marketing-strip a:nth-child(3) { border-left: 1px solid rgba(255,255,255,.18); }
    .marketing-heading.is-wide, .solution-summary, .planner { grid-template-columns: 1fr; }
    .path-grid, .package-grid { grid-template-columns: 1fr; }
    .journey { grid-template-columns: 1fr; }
    .journey-nav { grid-template-columns: repeat(2,minmax(0,1fr)); position: static; }
    .journey-nav button { border-right: 1px solid var(--line); }
    .tour-flow, .workflow-line { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tour-flow article::after { display: none; }
    .marketing-cta-inner { grid-template-columns: 1fr; }
    .contact-route-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .contact-route-grid article, .contact-route-grid article:nth-child(3n+2), .contact-route-grid article:nth-child(3n+3) { border-left: 0; padding-left: 0; }
    .contact-route-grid article:nth-child(even) { border-left: 1px solid #cad9c7; padding-left: 22px; }
    .contact-form-layout { grid-template-columns: 1fr; }
    .contact-guidance { position: static; }
    .service-detail-grid, .services-preview-grid { grid-template-columns: 1fr; }
    .service-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .service-boundary-inner, .services-preview-heading { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .marketing-hero h1, .solution-hero h1 { font-size: 38px; }
    .marketing-hero .lead, .solution-hero p { font-size: 16px; }
    .marketing-hero-actions, .marketing-hero-actions .btn, .marketing-cta-actions, .marketing-cta-actions .btn { width: 100%; }
    .marketing-visual-kpis, .marketing-strip-inner, .outcome-grid, .audience-grid, .trust-grid, .tour-kpis, .solution-outcomes, .implementation-steps { grid-template-columns: 1fr; }
    .marketing-strip a, .marketing-strip a:nth-child(3) { border-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
    .journey-nav { grid-template-columns: 1fr; }
    .tour-panel { padding: 17px; }
    .tour-panel-heading { flex-direction: column; }
    .tour-panel-heading h2 { font-size: 25px; }
    .tour-flow, .workflow-line { grid-template-columns: 1fr; }
    .planner-priorities { grid-template-columns: 1fr; }
    .marketing-heading h2, .solution-statement h2, .marketing-cta h2 { font-size: 30px; }
    .contact-hero { background-position: 62% center; min-height: 540px; }
    .contact-hero-content { padding-block: 64px; }
    .contact-hero h1 { font-size: 42px; }
    .contact-hero-content > p:not(.eyebrow) { font-size: 16px; }
    .contact-route-grid { grid-template-columns: 1fr; }
    .contact-route-grid article:nth-child(even) { border-left: 0; padding-left: 0; }
    .contact-guidance, .contact-form { padding: 20px; }
    .contact-file-field > span { align-items: flex-start; flex-direction: column; gap: 3px; }
    .services-hero { background-position: 58% center; min-height: 560px; }
    .services-hero-content { padding-block: 68px; }
    .services-hero h1 { font-size: 42px; }
    .services-hero-content > p:not(.eyebrow) { font-size: 16px; }
    .services-principles-inner, .service-process, .service-boundary-columns { grid-template-columns: 1fr; }
    .services-principles span, .services-principles span:nth-child(odd) { border-bottom: 1px solid rgba(255,255,255,.17); border-left: 1px solid rgba(255,255,255,.17); }
    .service-detail-card { min-height: 0; padding: 20px; }
    .service-boundary h2, .services-preview-heading h2 { font-size: 31px; }
    .services-preview-band { padding-block: 58px; }
    .services-preview-card { grid-template-columns: 42px 1fr; min-height: 0; padding: 18px; }
    .services-preview-card > i { display: none; }
}
