.nk-service-feature { display: grid; grid-template-columns: minmax(18rem,.8fr) minmax(0,1.2fr); min-height: 36rem; }
.nk-service-feature:nth-child(even) { grid-template-columns: minmax(0,1.2fr) minmax(18rem,.8fr); }
.nk-service-feature:nth-child(even) .nk-service-visual { order: 2; }
.nk-service-visual { min-height: 30rem; background: #e9e6dd; }
.nk-service-visual img { width: 100%; height: 100%; object-fit: cover; }
.nk-service-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 6vw, 6rem); }
.nk-service-content h2 { color: var(--nk-ink); font-size: clamp(2.4rem, 4.5vw, 4.6rem); line-height: 1; letter-spacing: -.05em; }
.nk-service-content > p { color: var(--nk-muted); line-height: 1.8; }
.nk-service-points { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem 1.5rem; padding: 0; margin: 1.5rem 0 0; list-style: none; }
.nk-service-points li { padding-top: .75rem; border-top: 1px solid var(--nk-line); color: #40504c; font-size: .9rem; }

.nk-sector-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--nk-line); border-left: 1px solid var(--nk-line); }
.nk-sector { min-height: 18rem; padding: clamp(1.5rem, 3vw, 3rem); border-right: 1px solid var(--nk-line); border-bottom: 1px solid var(--nk-line); }
.nk-sector span { color: #85938f; font-family: "Source Serif 4", serif; font-style: italic; }
.nk-sector h2 { margin: 3rem 0 .75rem; color: var(--nk-ink); font-size: clamp(1.5rem, 2.5vw, 2.3rem); }
.nk-sector p { color: var(--nk-muted); line-height: 1.75; }

.nk-career-path { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: var(--nk-line); border: 1px solid var(--nk-line); }
.nk-career-path article { min-height: 20rem; padding: clamp(1.75rem,4vw,3.5rem); background: var(--nk-paper); }
.nk-career-path h3 { margin: 4rem 0 .75rem; color: var(--nk-ink); font-size: 1.65rem; }
.nk-career-path p { color: var(--nk-muted); line-height: 1.75; }

.nk-contact-grid { display: grid; grid-template-columns: minmax(18rem,.75fr) minmax(0,1.25fr); gap: 4rem; }
.nk-contact-details { align-self: start; padding: 2rem; background: var(--nk-primary-dark); color: #fff; }
.nk-contact-details h2 { color: #fff; font-size: 1.65rem; }
.nk-contact-details address, .nk-contact-details p { color: #c5d7d1; line-height: 1.8; }
.nk-contact-details a { color: #fff; }
.nk-form-panel { padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--nk-line); background: #fff; }

.nk-office-grid { display: grid; grid-template-columns: minmax(18rem,.7fr) minmax(0,1.3fr); gap: 2rem; }
.nk-map-frame { overflow: hidden; border: 1px solid var(--nk-line); background: #e7ebe8; }
.nk-map-frame iframe { width: 100%; min-height: 30rem; border: 0; }

.nk-rfp-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 0; list-style: none; }
.nk-rfp-checklist li { position: relative; min-height: 8rem; padding: 1.5rem 1.5rem 1.5rem 3.5rem; border: 1px solid var(--nk-line); color: var(--nk-muted); }
.nk-rfp-checklist li::before { content: ""; position: absolute; left: 1.25rem; top: 1.5rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--nk-accent); }

@media (max-width: 991.98px) {
  .nk-service-feature, .nk-service-feature:nth-child(even), .nk-contact-grid, .nk-office-grid { grid-template-columns: 1fr; }
  .nk-service-feature:nth-child(even) .nk-service-visual { order: initial; }
}

@media (max-width: 767.98px) {
  .nk-service-points, .nk-sector-grid, .nk-career-path, .nk-rfp-checklist { grid-template-columns: 1fr; }
}
