.skip-link { position: fixed; z-index: 100; left: 1rem; top: 1rem; padding: .8rem 1rem; background: var(--ink); color: var(--paper); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.public-header, main, .public-footer { width: min(100% - (2 * var(--gutter)), var(--content-max)); margin-inline: auto; }
.public-header { min-height: 6rem; display: grid; grid-template-columns: minmax(12rem, 1fr) auto; align-items: center; border-bottom: 1px solid var(--rule); }
.brand-link img, .footer-brand img { display: block; width: auto; height: 2rem; }
.navigation { display: flex; align-items: center; gap: clamp(2rem, 4vw, 5rem); }
.primary-navigation, .utility-navigation { display: flex; align-items: center; gap: clamp(1.25rem, 2.5vw, 2.75rem); }
.utility-navigation { padding-left: clamp(1.5rem, 3vw, 3rem); border-left: 1px solid var(--rule); }
.menu-toggle { display: none; }
.home-hero { min-height: clamp(38rem, 70vh, 54rem); padding-block: var(--space-7) var(--space-6); display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, .92fr); column-gap: clamp(3rem, 7vw, 9rem); align-content: center; }
.positioning { grid-column: 1 / -1; margin: 0 0 var(--space-5); }
.home-hero h1 { margin: 0; max-width: 15ch; }
.home-introduction { align-self: end; max-width: 37rem; margin: 0 0 .75rem; }
.home-role { border-top: 1px solid var(--rule); padding-block: var(--space-6) var(--space-7); display: grid; grid-template-columns: minmax(15rem, .7fr) 1.6fr; gap: clamp(3rem, 8vw, 10rem); }
.home-role header h2 { max-width: 8ch; }
.role-list article { display: grid; grid-template-columns: minmax(10rem, .55fr) 1.45fr; gap: 2rem; padding-block: 1.8rem; border-bottom: 1px solid var(--rule); }
.role-list article:first-child { padding-top: 0; }
.page-introduction { min-height: 26rem; padding-block: var(--space-6); display: grid; grid-template-columns: minmax(11rem, .55fr) 1.35fr .9fr; column-gap: clamp(2rem, 5vw, 6rem); align-content: center; }
.page-introduction .label { grid-column: 1; }
.page-introduction h1 { grid-column: 2; }
.page-introduction > p:last-child { grid-column: 3; align-self: end; }
.capability-list { border-top: 1px solid var(--rule); margin-bottom: var(--space-7); }
.work-stages { border-top: 1px solid var(--rule); display: grid; grid-template-columns: repeat(5, 1fr); }
.work-stages article { min-height: 18rem; padding: var(--space-4) clamp(1rem, 2vw, 2rem); border-right: 1px solid var(--rule); }
.work-stages article:last-child { border-right: 0; }
.ground-control-explanation { margin-block: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--rule); display: grid; grid-template-columns: .5fr 1.25fr .9fr; gap: clamp(2rem, 5vw, 6rem); }
.ground-control-explanation h2, .ground-control-explanation p { margin-top: 0; }
.contact-layout { display: grid; grid-template-columns: minmax(14rem, .56fr) 1.6fr; gap: clamp(3rem, 7vw, 8rem); padding-bottom: var(--space-6); }
.public-footer { min-height: 12rem; padding-block: var(--space-5); border-top: 1px solid var(--rule); display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 2rem; }
.public-footer address { justify-self: end; }
