/* Pike Companies. Structural CSS only: colors and fonts come from the theme and Elementor. */

/* ==========================================================================
   1 Pike band. Copied from Elementor's generated CSS for template 14325 (widget
   settings and custom CSS), because Elementor stops loading that file once a page
   uses [pike_company_band] instead of the template. Keep selectors unchanged.
   ========================================================================== */
.elementor-14325 .elementor-element.elementor-element-538d92d{--display:flex;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-14325 .elementor-element.elementor-element-ff6ec75{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14325 .elementor-element.elementor-element-3e277d5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14325 .elementor-element.elementor-element-925635e img{width:134%;height:52px;}.elementor-14325 .elementor-element.elementor-element-7bd4428 img{height:85px;object-fit:contain;object-position:center center;}@media(max-width:1024px){.elementor-14325 .elementor-element.elementor-element-538d92d{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-14325 .elementor-element.elementor-element-538d92d{--padding-top:40px;--padding-bottom:040px;--padding-left:0px;--padding-right:0px;}.elementor-14325 .elementor-element.elementor-element-ff6ec75{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}}/* Start custom CSS */.logos .elementor-widget-image a img[src$=".svg"] {
    width: 100%;
}


@media (max-width: 767px) {

  .logos  .elementor-element-3e277d5 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 0px !important;
        row-gap: 35px !important;
        align-items: center !important;
        justify-items: center !important;
    }

  .logos .elementor-element-7bd4428 {
        width: 100% !important;
       
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
    }

   

.logos  img.attachment-full.size-full.wp-image-7054 {
    position: absolute !important;
    top: 50% !important;
    right: -15%;
    width: 23px !important;
    object-fit: contain !important;
    transform: translate(-90%, -50%) rotate(90deg) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    float: none !important;
    height: 320px;
}



     .logos .elementor-element-3e277d5 > .elementor-element-925635e {
        grid-column: 1 / -1 !important;
    }

    .logos  .elementor-element-3e277d5 > .elementor-element-925635e img {
        max-width: 350px !important;
    }

  .logos img.attachment-full.size-full.wp-image-14760 {
    display: none;
}
 
    .logos  .elementor-element-3e277d5 > .elementor-element-8c9c441 {
        grid-column: 1 !important;
    }

  .logos.elementor-element-3e277d5 > .elementor-element-8c9c441 img {
        max-width: 180px !important;
    }

     .logos .elementor-element-3e277d5 > .elementor-element-775a16e {
        grid-column: 2 !important;
    }
 .elementor-element-3e277d5 > .elementor-element-8c9c441 {
        grid-column: 1;
    }

    .elementor-element-3e277d5 > .elementor-element-8c9c441 img {
        max-width: 180px;
    }

    .elementor-element-3e277d5 > .elementor-element-775a16e {
        grid-column: 2;
    }

    .elementor-element-3e277d5 > .elementor-element-775a16e img {
        max-width: 140px;
    }

    .elementor-element-3e277d5 > .elementor-element-4c1ad3f img {
        max-width: 190px;
    }

    .elementor-element-3e277d5 > .elementor-element-efaad0d img {
        max-width: 190px;
    }

    .elementor-element-3e277d5 > .elementor-element-42cb858 img {
        max-width: 190px;
    }

    .elementor-element-3e277d5 > .elementor-element-437d46b img {
        max-width: 180px;
    }

    .elementor-element-3e277d5 > .elementor-element-e6287e9 img {
        max-width: 190px;
    }

    .elementor-element-3e277d5 > .elementor-element-968dac9 img {
        max-width: 160px;
    }
   
}/* End custom CSS */

.pike-co-band__label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Company-page state of the band: the only addition to template 14325. */
.pike-co-band--company a.pike-co-band__link {
	display: block;
	opacity: 0.45;
	transition: opacity 0.15s ease;
}

.pike-co-band--company a.pike-co-band__link:hover,
.pike-co-band--company a.pike-co-band__link:focus {
	opacity: 1;
}

/* Padding is cancelled by the margins, so the tint and border never move the logos. */
.pike-co-band--company a.pike-co-band__link.is-current {
	margin: -8px -8px -11px;
	padding: 8px;
	background-color: #eef4fa;
	border-bottom: 3px solid #ffd100;
	opacity: 1;
}

/* ==========================================================================
   Company page. Values from wireframes/CompanyPage-sections.html.
   Selectors carry two classes to outrank Elementor's kit (.elementor-kit-5 h2).
   ========================================================================== */
.pike-co-page,
.pike-co-section {
	--pike-co-display: pf-venue, "Big Shoulders Display", sans-serif;
	/* The site's pill-button font, already loaded by Elementor's kit (weights 400–900). */
	--pike-co-button: "Big Shoulders Display", sans-serif;
	--pike-co-blue: #004a98;
	--pike-co-deep: #003c7c;
	--pike-co-navy: #002a3a;
	--pike-co-yellow: #ffd100;
	--pike-co-light: #bfd7ea;
	--pike-co-text: #1f2124;
	--pike-co-chip: #7fa4cb;
}

.pike-co-page {
	overflow-x: clip;
	color: var(--pike-co-text);
	font-size: 16px;
	line-height: 1.5;
}

.pike-co-section,
.pike-co-section *,
.pike-co-section *::before,
.pike-co-section *::after {
	box-sizing: border-box;
}

/* 1200px of content, on the same grid as the site header and the band. */
.pike-co-section .pike-co-container {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

.pike-co-section .pike-co-h2 {
	margin: 0 0 16px;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
}

.pike-co-section .pike-co-center {
	text-align: center;
}

.pike-co-section .pike-co-rule {
	margin: 18px 0 20px;
	border-top: 2px dotted var(--pike-co-light);
}

/*
 * Pill buttons: the same type as pike.com's own Elementor pill buttons (Big Shoulders Display 700,
 * 20px, 20px line height, normal tracking, uppercase, 42px tall). pf-venue 900 at 17px rendered
 * cramped and smudged at this size. Only loaded weights are used, and synthesis is off so the
 * browser can never fake a bold. Every variant is 42px tall: padding + border = 22px.
 */
.pike-co-section a.pike-co-btn,
.pike-co-section a.pike-co-btn:hover,
.pike-co-section a.pike-co-btn:focus {
	display: inline-block;
	padding: 10px 22px;
	border: 1px solid transparent;
	border-radius: 42px;
	font-family: var(--pike-co-button);
	font-size: 20px;
	font-weight: 700;
	font-synthesis: none;
	letter-spacing: normal;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.pike-co-section a.pike-co-btn--yellow,
.pike-co-section a.pike-co-btn--yellow:hover,
.pike-co-section a.pike-co-btn--yellow:focus {
	padding: 10px 24px;
	border-color: var(--pike-co-yellow);
	background: var(--pike-co-yellow);
	color: var(--pike-co-navy);
}

.pike-co-section a.pike-co-btn--outline-white,
.pike-co-section a.pike-co-btn--outline-white:hover,
.pike-co-section a.pike-co-btn--outline-white:focus {
	padding: 9px 22px;
	border: 2px solid #fff;
	color: #fff;
}

.pike-co-section a.pike-co-btn--blue,
.pike-co-section a.pike-co-btn--blue:hover,
.pike-co-section a.pike-co-btn--blue:focus {
	border-color: var(--pike-co-blue);
	background: var(--pike-co-blue);
	color: #fff;
}

.pike-co-section a.pike-co-btn--outline-blue,
.pike-co-section a.pike-co-btn--outline-blue:hover,
.pike-co-section a.pike-co-btn--outline-blue:focus {
	padding: 9px 22px;
	border: 2px solid var(--pike-co-blue);
	background: #fff;
	color: var(--pike-co-blue);
}

.pike-co-section a.pike-co-link,
.pike-co-section a.pike-co-link:hover,
.pike-co-section a.pike-co-link:focus {
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.pike-co-section .pike-co-arrow {
	color: var(--pike-co-yellow);
}

/* Hero. Starts behind the transparent header, as the site's inner pages do. */
.pike-co-section.pike-co-hero {
	position: relative;
	margin-top: -160px;
	padding-top: 160px;
	background: var(--pike-co-blue);
	color: #fff;
}

.pike-co-hero .pike-co-hero__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 32px;
	align-items: center;
}

.pike-co-hero--no-photo .pike-co-hero__grid {
	grid-template-columns: minmax(0, 1fr);
}

.pike-co-hero .pike-co-hero__copy {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	padding: 48px 0 56px;
}

.pike-co-hero--no-photo .pike-co-hero__copy {
	max-width: 900px;
}

.pike-co-hero .pike-co-hero__crumbs {
	color: var(--pike-co-light);
	font-size: 13px;
}

.pike-co-hero .pike-co-hero__crumbs a,
.pike-co-hero .pike-co-hero__crumbs a:hover {
	color: var(--pike-co-light);
}

.pike-co-hero .pike-co-hero__eyebrow {
	align-self: flex-start;
	padding: 6px 12px;
	border: 1px solid var(--pike-co-chip);
	font-family: var(--pike-co-display);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.pike-co-section .pike-co-hero__title {
	margin: 0;
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 76px;
	font-weight: 900;
	line-height: 0.92;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.pike-co-section .pike-co-hero__headline {
	margin: 0;
	color: var(--pike-co-light);
	font-family: var(--pike-co-display);
	font-size: 32px;
	font-weight: 300;
	line-height: 1.05;
	text-transform: uppercase;
}

.pike-co-hero .pike-co-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.pike-co-hero a.pike-co-hero__visit,
.pike-co-hero a.pike-co-hero__visit:hover {
	color: #fff;
	font-size: 14px;
}

.pike-co-hero .pike-co-hero__photo {
	height: 420px;
	overflow: hidden;
	clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}

.pike-co-hero .pike-co-hero__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* No hero photo: the band logo on a white panel with the photo's clip. The left padding clears the
   14% slant, so the logo never touches an angled edge. */
.pike-co-hero .pike-co-hero__logo-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 64px 56px 64px calc(14% + 56px);
	background: #fff;
}

.pike-co-hero .pike-co-hero__logo-panel img.pike-co-hero__logo {
	width: 100%;
	max-width: 360px;
	height: 100%;
	object-fit: contain;
}

/* The Services jump lands with its heading clear of the sticky header (153px when stuck). */
.pike-co-section.pike-co-services {
	scroll-margin-top: 177px;
}

body.admin-bar .pike-co-section.pike-co-services {
	scroll-margin-top: 209px;
}

@media (max-width: 1024px) {
	/* Tablet and phone sticky headers: 85px and 79px. */
	.pike-co-section.pike-co-services {
		scroll-margin-top: 109px;
	}

	body.admin-bar .pike-co-section.pike-co-services {
		scroll-margin-top: 141px;
	}
}

/* What <Company> Does */
.pike-co-section.pike-co-overview {
	padding: 56px 0 64px;
	background: #f0f0f0;
}

.pike-co-overview .pike-co-overview__body {
	max-width: 800px;
	margin-left: 60px;
	padding-left: 40px;
	border-left: 2px dotted var(--pike-co-blue);
}

.pike-co-overview .pike-co-overview__text p {
	margin: 0 0 16px;
	color: var(--pike-co-text);
	font-size: 17px;
	line-height: 1.5;
}

.pike-co-overview .pike-co-overview__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

/* With the At a Glance card: text block unchanged on the left, card centered against it on the right. */
.pike-co-overview--glance .pike-co-overview__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 48px;
	align-items: center;
}

/* Card styled like the site's own cards (14px corners, soft shadow). */
.pike-co-overview .pike-co-glance {
	padding: 28px 30px 10px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 0 16px rgba(0, 0, 0, 0.12);
}

.pike-co-section .pike-co-glance__title {
	margin: 0 0 6px;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: none;
}

.pike-co-overview .pike-co-glance__row {
	padding: 16px 0;
	border-bottom: 2px dotted var(--pike-co-blue);
}

.pike-co-overview .pike-co-glance__row:last-child {
	border-bottom: 0;
}

.pike-co-overview .pike-co-glance__number {
	color: var(--pike-co-blue);
	font-family: var(--pike-co-display);
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
}

.pike-co-overview .pike-co-glance__label {
	margin-top: 4px;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.15;
}

.pike-co-overview .pike-co-glance__row--hq .pike-co-glance__label {
	margin-top: 0;
}

.pike-co-overview .pike-co-glance__sublabel {
	margin-top: 2px;
	color: var(--pike-co-text);
	font-size: 14px;
	line-height: 1.4;
}

.pike-co-overview .pike-co-glance__place {
	margin-top: 2px;
	color: var(--pike-co-blue);
	font-family: var(--pike-co-display);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
}

/* Stats */
.pike-co-section.pike-co-stats {
	padding: 56px 0;
	background: #fff;
}

.pike-co-stats .pike-co-stats__grid {
	display: grid;
	gap: 32px;
}

.pike-co-stats .pike-co-stats__number {
	color: var(--pike-co-blue);
	font-family: var(--pike-co-display);
	font-size: 52px;
	font-weight: 900;
	line-height: 1;
}

.pike-co-stats .pike-co-stats__label {
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 26px;
	font-weight: 300;
}

.pike-co-stats .pike-co-stats__sublabel {
	color: var(--pike-co-text);
	font-size: 14px;
}

/* Services */
.pike-co-section.pike-co-services {
	padding: 16px 0 72px;
	background: #fff;
}

.pike-co-section .pike-co-services__intro {
	max-width: 700px;
	margin: 0 auto 32px;
	color: var(--pike-co-text);
	font-size: 17px;
	text-align: center;
}

.pike-co-services .pike-co-services__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: 20px;
	max-width: 980px;
	margin: 0 auto;
}

.pike-co-services .pike-co-services__card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 10px;
	background: var(--pike-co-blue);
	color: #fff;
}

.pike-co-services .pike-co-services__image {
	height: 150px;
	background: #2a62a8;
}

.pike-co-services .pike-co-services__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pike-co-services .pike-co-services__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: 12px;
	padding: 24px 26px 26px;
}

.pike-co-section .pike-co-services__title {
	margin: 0;
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
}

.pike-co-section .pike-co-services__summary {
	margin: 0;
	color: var(--pike-co-light);
	font-size: 15px;
}

.pike-co-section .pike-co-services__items {
	margin: 0;
	color: #fff;
	font-size: 14px;
	line-height: 1.7;
}

.pike-co-section a.pike-co-services__link,
.pike-co-section a.pike-co-services__link:hover,
.pike-co-section a.pike-co-services__link:focus {
	margin-top: auto;
	color: #fff;
}

/* What <Company> Does in the Field. Follows the white services section, which supplies the top spacing. */
.pike-co-section.pike-co-details {
	padding: 0 0 72px;
	background: #fff;
}

.pike-co-details .pike-co-h2 {
	margin-bottom: 8px;
}

.pike-co-section .pike-co-details__intro {
	max-width: 700px;
	margin: 0 auto 32px;
	color: var(--pike-co-text);
	font-size: 16px;
	text-align: center;
}

.pike-co-details .pike-co-details__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
}

.pike-co-details .pike-co-details__item {
	padding: 16px 0;
	border-bottom: 2px dotted var(--pike-co-blue);
}

.pike-co-details .pike-co-details__item:nth-child(-n+2) {
	border-top: 2px dotted var(--pike-co-blue);
}

.pike-co-section .pike-co-details__term {
	margin: 0;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
}

.pike-co-section .pike-co-details__text {
	margin: 10px 0 0;
	color: var(--pike-co-text);
	font-size: 16px;
}

/* Solutions */
.pike-co-section.pike-co-solutions {
	padding: 64px 0;
	background: var(--pike-co-light);
}

.pike-co-solutions .pike-co-h2 {
	margin-bottom: 8px;
}

.pike-co-section .pike-co-solutions__intro {
	max-width: 700px;
	margin: 0 auto 32px;
	color: var(--pike-co-text);
	font-size: 16px;
	text-align: center;
}

/* No intro line: keep the board's 32px between heading and cards. */
.pike-co-solutions .pike-co-h2 + .pike-co-solutions__grid {
	margin-top: 24px;
}

.pike-co-section .pike-co-solutions__answer {
	margin: 0;
	color: inherit;
	font-size: 16px;
	line-height: 1.5;
}

.pike-co-solutions .pike-co-solutions__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: 20px;
}

.pike-co-solutions .pike-co-solutions__card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 26px;
}

.pike-co-solutions .pike-co-solutions__card--dark {
	background: var(--pike-co-deep);
	color: #fff;
}

.pike-co-solutions .pike-co-solutions__card--light {
	background: #fff;
	color: var(--pike-co-navy);
}

.pike-co-section .pike-co-solutions__question {
	margin: 0;
	color: inherit;
	font-family: var(--pike-co-display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.05;
	text-transform: none;
}

.pike-co-solutions .pike-co-solutions__rule {
	border-top: 2px dotted var(--pike-co-light);
}

.pike-co-solutions .pike-co-solutions__card--light .pike-co-solutions__rule {
	border-top-color: var(--pike-co-blue);
}

.pike-co-section a.pike-co-solutions__link,
.pike-co-section a.pike-co-solutions__link:hover {
	color: inherit;
	font-size: 14px;
}

.pike-co-solutions .pike-co-solutions__card--light a.pike-co-solutions__link {
	color: var(--pike-co-blue);
}

/* Projects */
.pike-co-section.pike-co-projects {
	padding: 72px 0;
	background: #fff;
}

.pike-co-projects .pike-co-projects__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 28px;
}

.pike-co-projects .pike-co-projects__head .pike-co-h2 {
	margin: 0;
}

.pike-co-section a.pike-co-projects__all,
.pike-co-section a.pike-co-projects__all:hover {
	font-size: 18px;
}

.pike-co-projects .pike-co-projects__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	gap: 30px;
}

.pike-co-projects .pike-co-projects__image {
	display: block;
	margin-bottom: 14px;
	overflow: hidden;
	border-radius: 10px;
	aspect-ratio: 16 / 10;
	background: #c9d3dd;
}

.pike-co-projects .pike-co-projects__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pike-co-section .pike-co-projects__title {
	margin: 0 0 10px;
	font-family: var(--pike-co-display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: none;
}

.pike-co-section .pike-co-projects__title a,
.pike-co-section .pike-co-projects__title a:hover {
	color: var(--pike-co-navy);
	text-decoration: none;
}

.pike-co-section .pike-co-projects__excerpt {
	margin: 0 0 12px;
	color: var(--pike-co-text);
	font-size: 15px;
}

/* Offices */
.pike-co-section.pike-co-offices {
	background: var(--pike-co-deep);
	color: #fff;
}

.pike-co-offices .pike-co-offices__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 40px;
	align-items: center;
}

.pike-co-offices .pike-co-offices__copy {
	padding: 64px 0;
}

.pike-co-offices .pike-co-h2 {
	margin-bottom: 8px;
	color: #fff;
}

.pike-co-offices .pike-co-offices__states {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 28px;
	font-size: 15px;
	line-height: 1.45;
}

.pike-co-offices .pike-co-offices__map {
	height: 400px;
	overflow: hidden;
	clip-path: polygon(14% 0, 100% 0, 86% 100%, 0 100%);
}

.pike-co-offices .pike-co-offices__map img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Careers */
.pike-co-section.pike-co-jobs {
	padding: 72px 0;
	background: var(--pike-co-blue);
	color: #fff;
}

.pike-co-jobs .pike-co-jobs__head {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 32px;
	margin-bottom: 30px;
}

.pike-co-section .pike-co-jobs__title {
	margin: 0 0 10px;
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 48px;
	line-height: 1;
	text-transform: uppercase;
}

.pike-co-jobs .pike-co-jobs__title-light {
	color: var(--pike-co-light);
	font-weight: 300;
}

.pike-co-jobs .pike-co-jobs__title-strong {
	font-weight: 900;
}

.pike-co-section .pike-co-jobs__intro {
	margin: 0;
	color: #fff;
	font-size: 16px;
}

.pike-co-jobs .pike-co-jobs__chips {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 8px;
}

.pike-co-jobs .pike-co-jobs__chip {
	padding: 6px 14px;
	border: 1px solid var(--pike-co-chip);
	border-radius: 30px;
	font-size: 14px;
}

.pike-co-jobs .pike-co-jobs__filters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.pike-co-jobs .pike-co-jobs__filter {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-family: var(--pike-co-display);
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.pike-co-jobs .pike-co-jobs__filter select,
.pike-co-jobs .pike-co-jobs__filter input {
	width: 100%;
	height: 44px;
	padding: 0 18px;
	border: 1px solid #fff;
	border-radius: 30px;
	background: #fff;
	color: var(--pike-co-navy);
	font-size: 15px;
	font-weight: 400;
	text-transform: none;
}

.pike-co-jobs .pike-co-jobs__list {
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
}

.pike-co-section a.pike-co-jobs__job,
.pike-co-section a.pike-co-jobs__job:hover {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
	gap: 6px 24px;
	align-items: center;
	padding: 16px 24px;
	border-bottom: 1px dotted #767676;
	color: var(--pike-co-text);
	text-decoration: none;
}

.pike-co-section a.pike-co-jobs__job[hidden],
.pike-co-jobs .pike-co-jobs__empty[hidden] {
	display: none;
}

.pike-co-jobs .pike-co-jobs__job-title {
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 22px;
	font-weight: 700;
}

.pike-co-jobs .pike-co-jobs__job-meta {
	font-size: 15px;
}

.pike-co-jobs .pike-co-jobs__view {
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
}

.pike-co-jobs .pike-co-jobs__empty {
	margin: 0;
	padding: 16px 24px;
	border-radius: 10px;
	background: #fff;
	color: var(--pike-co-text);
}

.pike-co-jobs .pike-co-jobs__all {
	margin-top: 22px;
}

/* FAQ. Desktop: sticky left column (heading, intro, help card) beside the question rows. */
.pike-co-section.pike-co-faq {
	padding: 72px 0;
	background: #fff;
}

.pike-co-faq .pike-co-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: start;
}

/* Clears the 153px sticky site header (plus the admin bar when logged in). */
.pike-co-faq .pike-co-faq__aside {
	position: sticky;
	top: 177px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

body.admin-bar .pike-co-faq .pike-co-faq__aside {
	top: 209px;
}

.pike-co-faq .pike-co-h2 {
	margin: 0;
}

.pike-co-section .pike-co-faq__intro {
	margin: 14px 0 0;
	color: var(--pike-co-text);
	font-size: 17px;
	line-height: 1.5;
}

/* Help card: Pike blue, the site's 14px card corners. */
.pike-co-faq .pike-co-faq__help {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 28px 30px 30px;
	border-radius: 14px;
	background: var(--pike-co-blue);
	color: #fff;
}

.pike-co-section .pike-co-faq__help-title {
	margin: 0;
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: none;
}

.pike-co-section a.pike-co-faq__phone,
.pike-co-section a.pike-co-faq__phone:hover,
.pike-co-section a.pike-co-faq__phone:focus {
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
}

.pike-co-section a.pike-co-faq__phone:hover {
	text-decoration: underline;
}

/* Question rows. */
.pike-co-faq .pike-co-faq__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pike-co-faq .pike-co-faq__item {
	overflow: hidden;
	border: 1px solid var(--pike-co-light);
	border-radius: 14px;
	background: #fff;
	transition: background-color 0.25s ease;
}

.pike-co-faq .pike-co-faq__item[open] {
	background: #eef4fa;
}

/* The whole row is the summary, so the whole row is clickable. */
.pike-co-faq .pike-co-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 22px;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	list-style: none;
	cursor: pointer;
}

.pike-co-faq .pike-co-faq__question::-webkit-details-marker {
	display: none;
}

.pike-co-faq .pike-co-faq__question::marker {
	content: "";
}

.pike-co-faq .pike-co-faq__question:focus {
	outline: none;
}

.pike-co-faq .pike-co-faq__question:focus-visible {
	border-radius: 14px;
	outline: 3px solid var(--pike-co-blue);
	outline-offset: -3px;
}

/* Yellow toggle: navy + closed, − open. */
.pike-co-faq .pike-co-faq__toggle {
	position: relative;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--pike-co-yellow);
}

.pike-co-faq .pike-co-faq__toggle::before,
.pike-co-faq .pike-co-faq__toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	margin: -1px 0 0 -7px;
	background: var(--pike-co-navy);
	content: "";
	transition: transform 0.25s ease;
}

.pike-co-faq .pike-co-faq__toggle::after {
	transform: rotate(90deg);
}

.pike-co-faq .pike-co-faq__item[open] .pike-co-faq__toggle::after {
	transform: rotate(0deg);
}

/* Answer under the question, same left padding. */
.pike-co-faq .pike-co-faq__answer-wrap {
	padding: 0 22px 20px;
}

.pike-co-section .pike-co-faq__answer {
	margin: 0;
	color: var(--pike-co-text);
	font-size: 16px;
	line-height: 1.55;
}

/* Smooth open/close where the browser can animate <details> (Chrome/Edge 131+); elsewhere it
   simply opens. The answer text is in the HTML either way. */
@supports (interpolate-size: allow-keywords) {
	.pike-co-faq {
		interpolate-size: allow-keywords;
	}

	.pike-co-faq .pike-co-faq__item::details-content {
		height: 0;
		overflow: hidden;
		transition: height 0.3s ease, content-visibility 0.3s allow-discrete;
	}

	.pike-co-faq .pike-co-faq__item[open]::details-content {
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pike-co-faq .pike-co-faq__item,
	.pike-co-faq .pike-co-faq__toggle::before,
	.pike-co-faq .pike-co-faq__toggle::after,
	.pike-co-faq .pike-co-faq__item::details-content {
		transition: none;
	}
}

/* Tablet and phones: not sticky. */
@media (max-width: 1024px) {
	.pike-co-faq .pike-co-faq__aside,
	body.admin-bar .pike-co-faq .pike-co-faq__aside {
		position: static;
	}
}

/* Phones: one column; heading and intro, then the questions, then the help card. */
@media (max-width: 767px) {
	.pike-co-faq .pike-co-faq__grid {
		gap: 24px;
	}

	.pike-co-faq .pike-co-faq__aside {
		display: contents;
	}

	.pike-co-faq .pike-co-faq__head {
		order: 1;
	}

	.pike-co-faq .pike-co-faq__list {
		order: 2;
	}

	.pike-co-faq .pike-co-faq__help {
		order: 3;
		align-items: stretch;
		padding: 24px 22px;
	}

	.pike-co-faq .pike-co-faq__question {
		padding: 16px 18px;
		font-size: 20px;
	}

	.pike-co-faq .pike-co-faq__answer-wrap {
		padding: 0 18px 18px;
	}

	.pike-co-faq .pike-co-faq__help a.pike-co-btn {
		display: block;
	}
}

/* Contact */
.pike-co-section.pike-co-contact {
	padding: 56px 0;
	background: #8a9aa8;
}

.pike-co-contact .pike-co-contact__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 32px;
	align-items: start;
}

.pike-co-contact .pike-co-contact__card {
	min-width: 0;
	padding: 30px 36px 36px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.pike-co-section .pike-co-contact__title {
	margin: 0 0 16px;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
}

.pike-co-contact .pike-co-tabs {
	display: flex;
	margin-bottom: 20px;
}

.pike-co-section .pike-co-tabs__tab,
.pike-co-section .pike-co-tabs__tab:hover,
.pike-co-section .pike-co-tabs__tab:focus {
	flex: 1;
	padding: 10px 6px;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #000;
	font-family: var(--pike-co-display);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.pike-co-section .pike-co-tabs__tab.is-active {
	border-bottom-color: var(--pike-co-blue);
	color: var(--pike-co-blue);
}

.pike-co-contact .pike-co-tabs__panel[hidden] {
	display: none;
}

/* Pike company field. The plugin script swaps the select for the site's pill dropdown
   (.custom-select), which the form's own CSS styles exactly as on the Contact page. Without script
   the select stays, styled like the Contact page's selects. */
.pike-co-contact .pike-co-company-field select.wpcf7-select {
	display: block;
	width: 100%;
	margin-bottom: 14.4px;
	padding: 11.2px 21px;
	border: 1px solid #767676;
	border-radius: 42px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0.363281 3.28623L0.363281 0L7.85556 5.23764L15.636 0V3.18923L7.75951 8.42688L0.363281 3.28623Z' fill='%23767676'/%3E%3C/svg%3E") no-repeat right 20px center / 16px 9px;
	color: #000;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 18px;
	-webkit-appearance: none;
	appearance: none;
}

/* Contact Form 7 wraps the field in a paragraph; the select and pill carry their own spacing. */
.pike-co-contact .pike-co-company-field p {
	margin: 0;
}

.pike-co-contact .pike-co-company-field.is-enhanced label,
.pike-co-contact .pike-co-company-field.is-enhanced select.wpcf7-select {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Keyboard highlight uses the site's hover colour. */
.pike-co-contact .pike-co-company-field .select-options .is-active {
	background: #f2f2f2;
}

.pike-co-contact .pike-co-company-field .select-selected:focus-visible {
	outline: 2px solid var(--pike-co-blue);
	outline-offset: 2px;
}

/* DM Sans now loads on company pages; the fallback only matters if the font request fails. */
.pike-co-contact .contact-form input,
.pike-co-contact .contact-form textarea,
.pike-co-contact .contact-form .select-selected {
	font-family: "DM Sans", Arial, sans-serif;
}

.pike-co-contact .contact-form input::placeholder,
.pike-co-contact .contact-form textarea::placeholder {
	font-family: "DM Sans", Arial, sans-serif;
}

.pike-co-contact .contact-form input[type="submit"] {
	font-family: var(--pike-co-display);
}

.pike-co-hq {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pike-co-hq .pike-co-hq__card {
	padding: 26px 30px;
	border-radius: 12px;
	background: #fff;
	color: var(--pike-co-text);
	font-size: 16px;
	font-style: normal;
	line-height: 1.6;
}

.pike-co-hq .pike-co-hq__title {
	margin-bottom: 6px;
	color: var(--pike-co-navy);
	font-family: var(--pike-co-display);
	font-size: 26px;
	font-weight: 700;
}

.pike-co-hq .pike-co-hq__card a {
	color: var(--pike-co-blue);
}

.pike-co-hq .pike-co-hq__map {
	height: 220px;
	overflow: hidden;
	border-radius: 12px;
}

.pike-co-hq .pike-co-hq__map img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Delivered by */
.pike-co-section.pike-co-delivered {
	padding: 56px 0;
}

.pike-co-delivered .pike-co-delivered__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pike-co-delivered .pike-co-delivered__link {
	display: block;
	color: var(--pike-co-navy);
	text-decoration: none;
}

.pike-co-delivered .pike-co-delivered__company img {
	display: block;
	width: auto;
	max-width: 180px;
	height: 72px;
	margin-bottom: 10px;
}

.pike-co-delivered .pike-co-delivered__name {
	display: block;
	font-family: var(--pike-co-display);
	font-size: 22px;
	font-weight: 700;
}

.pike-co-section .pike-co-delivered__summary {
	margin: 6px 0 0;
	font-size: 15px;
}

/* The mobile header sits above the page content rather than over it, as on inner pages. */
@media (max-width: 767px) {
	.pike-co-section.pike-co-hero {
		margin-top: 0;
		padding-top: 0;
	}

	.pike-co-hero .pike-co-hero__grid,
	.pike-co-overview .pike-co-overview__body,
	.pike-co-stats .pike-co-stats__grid,
	.pike-co-services .pike-co-services__grid,
	.pike-co-solutions .pike-co-solutions__grid,
	.pike-co-projects .pike-co-projects__grid,
	.pike-co-offices .pike-co-offices__grid,
	.pike-co-offices .pike-co-offices__states,
	.pike-co-jobs .pike-co-jobs__head,
	.pike-co-jobs .pike-co-jobs__filters,
	.pike-co-section a.pike-co-jobs__job,
	.pike-co-faq .pike-co-faq__grid,
	.pike-co-details .pike-co-details__grid,
	.pike-co-contact .pike-co-contact__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pike-co-details .pike-co-details__item:nth-child(2) {
		border-top: 0;
	}

	.pike-co-hero .pike-co-hero__copy {
		padding: 32px 0 40px;
	}

	.pike-co-section .pike-co-hero__title {
		font-size: 48px;
	}

	.pike-co-section .pike-co-hero__headline {
		font-size: 24px;
	}

	.pike-co-hero .pike-co-hero__photo {
		height: 240px;
	}

	/* Logo panel under the hero text, smaller, logo centered. */
	.pike-co-hero.pike-co-hero--logo .pike-co-hero__grid {
		gap: 0;
		padding-bottom: 32px;
	}

	.pike-co-hero .pike-co-hero__logo-panel {
		height: 170px;
		padding: 28px 28px 28px calc(14% + 28px);
	}

	.pike-co-hero .pike-co-hero__logo-panel img.pike-co-hero__logo {
		max-width: 220px;
	}

	/* All hero buttons stack full width. */
	.pike-co-hero .pike-co-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.pike-co-hero .pike-co-hero__actions a.pike-co-btn {
		display: block;
	}

	.pike-co-section.pike-co-services,
	body.admin-bar .pike-co-section.pike-co-services {
		scroll-margin-top: 103px;
	}

	.pike-co-overview .pike-co-overview__body {
		margin-left: 0;
		padding-left: 20px;
	}

	/* The At a Glance card stacks under the text, full width. */
	.pike-co-overview--glance .pike-co-overview__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.pike-co-overview .pike-co-glance {
		padding: 24px 22px 6px;
	}

	.pike-co-section .pike-co-h2 {
		font-size: 32px;
	}

	.pike-co-section .pike-co-jobs__title {
		font-size: 38px;
	}

	.pike-co-offices .pike-co-offices__map {
		height: 240px;
	}

	.pike-co-contact .pike-co-contact__card {
		padding: 24px 20px;
	}
}

/* Visually hidden text inside links. */
.pike-co-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Leadership cards. Reproduces the /leadership-2/ cards (Elementor template 3077 and the site's
   Customizer CSS): name and title show at rest, and the panel slides up over the photo on hover. */
.pike-co-section.pike-co-leadership {
	padding: 72px 0;
	background: #fff;
}

.pike-co-section.pike-co-services + .pike-co-section.pike-co-leadership {
	padding-top: 0;
}

.pike-co-leadership .pike-co-h2 {
	margin-bottom: 32px;
}

.pike-co-leadership .pike-co-leadership__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, 319px);
	gap: 30px 25px;
	justify-content: center;
}

.pike-co-leadership .pike-co-leader {
	position: relative;
	width: 319px;
	height: 475px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--pike-co-navy);
}

.pike-co-leader .pike-co-leader__photo {
	position: absolute;
	inset: 0;
}

.pike-co-leader .pike-co-leader__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.pike-co-leader .pike-co-leader__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px 20px;
	background: rgba(0, 42, 58, 0.8);
	transform: translateY(80%);
	transition: transform 0.5s ease;
}

.pike-co-leader--photo:hover .pike-co-leader__panel,
.pike-co-leader--photo:focus .pike-co-leader__panel,
.pike-co-leader--photo:focus-within .pike-co-leader__panel {
	transform: translateY(0);
}

.pike-co-section .pike-co-leader__name {
	margin: 0;
	color: var(--pike-co-light);
	font-family: "Big Shoulders Display", sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 26.04px;
	text-transform: none;
}

.pike-co-leader .pike-co-leader__title {
	padding-bottom: 25px;
	color: #fff;
	font-size: 16px;
	line-height: 22.4px;
}

.pike-co-leader .pike-co-leader__bio {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	color: #fff;
	font-size: 16px;
	line-height: 22.4px;
}

.pike-co-leader .pike-co-leader__bio::-webkit-scrollbar {
	width: 6px;
}

.pike-co-leader .pike-co-leader__bio::-webkit-scrollbar-track {
	border-radius: 20px;
	background: rgba(0, 74, 152, 0.2);
}

.pike-co-leader .pike-co-leader__bio::-webkit-scrollbar-thumb {
	border-radius: 20px;
	background: linear-gradient(180deg, #004a98 0%, #06c 100%);
}

.pike-co-section .pike-co-leader__bio p {
	margin: 0;
	color: #fff;
	font-size: 16px;
	line-height: 22.4px;
}

.pike-co-section .pike-co-leader__toggle,
.pike-co-section .pike-co-leader__toggle:hover,
.pike-co-section .pike-co-leader__toggle:focus {
	display: none;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pike-co-light);
	cursor: pointer;
}

/* With no photo there's nothing to slide over, so the whole card simply shows. */
.pike-co-leadership .pike-co-leader--no-photo {
	height: auto;
	min-height: 475px;
}

.pike-co-leader--no-photo .pike-co-leader__panel {
	background: none;
	transform: none;
}

/* Careers section, "no live job list" design. Values follow the approved boards
   wireframes/CareersSection.dc.html (desktop) and CareersSectionMobile.dc.html (phone). */
.pike-co-section.pike-co-careers {
	display: flex;
	align-items: center;
	padding: 72px 0;
	font-family: Arial, Helvetica, sans-serif;
	line-height: normal;
}

.pike-co-careers .pike-co-container.pike-co-careers__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	align-items: center;
	max-width: 1160px;
}

.pike-co-careers .pike-co-careers__copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.pike-co-careers .pike-co-careers__eyebrow {
	align-self: flex-start;
	padding: 6px 12px;
	border: 1px solid var(--pike-co-chip);
	font-family: var(--pike-co-display);
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0.06em;
}

.pike-co-section.pike-co-careers .pike-co-jobs__title {
	margin: 0;
	font-size: 64px;
	line-height: 0.95;
}

.pike-co-section.pike-co-careers .pike-co-jobs__intro {
	max-width: 520px;
	font-size: 18px;
	line-height: 1.55;
}

.pike-co-careers .pike-co-jobs__chips {
	gap: 6px;
}

.pike-co-careers .pike-co-careers__label {
	margin: 0 0 10px;
	color: var(--pike-co-light);
	font-family: var(--pike-co-display);
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pike-co-careers .pike-co-jobs__chip {
	padding: 7px 12px;
	font-size: 15px;
	line-height: normal;
}

.pike-co-careers .pike-co-careers__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 8px;
}

.pike-co-section a.pike-co-careers__search,
.pike-co-section a.pike-co-careers__search:hover,
.pike-co-section a.pike-co-careers__search:focus {
	padding: 12px 28px;
}

.pike-co-section a.pike-co-careers__inquiry,
.pike-co-section a.pike-co-careers__inquiry:hover,
.pike-co-section a.pike-co-careers__inquiry:focus {
	padding: 11px 26px;
}

.pike-co-section .pike-co-careers__note {
	margin: 0;
	color: var(--pike-co-light);
	font-size: 13px;
	line-height: normal;
}

/* How to Apply: fills the right column, centered against the copy. Three step tiles on a slightly
   lighter blue (white at 8% over #004A98 = #1458A0). Contrast on the tile: white 7.2:1,
   #BFD7EA 4.8:1, #FFD100 4.9:1. A dotted line joins the numbers. */
.pike-co-careers .pike-co-careers__apply {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
	min-width: 0;
}

.pike-co-section .pike-co-careers__apply-title {
	margin: 0 0 18px;
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: none;
}

.pike-co-careers .pike-co-careers__steps {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pike-co-careers .pike-co-careers__step {
	position: relative;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin: 0;
	padding: 20px 24px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.08);
}

/* Each tile's line runs from under its number to the top of the next tile's number:
   number box ends 60px down; next number starts 12px gap + 20px padding below this tile. */
.pike-co-careers .pike-co-careers__step:not(:last-child)::after {
	position: absolute;
	top: 66px;
	bottom: -26px;
	left: 51px;
	border-left: 2px dotted var(--pike-co-light);
	content: "";
}

.pike-co-careers .pike-co-careers__step-number {
	color: var(--pike-co-yellow);
	font-family: var(--pike-co-display);
	font-size: 40px;
	font-weight: 900;
	line-height: 40px;
	text-align: center;
}

.pike-co-careers .pike-co-careers__step-title {
	color: #fff;
	font-family: var(--pike-co-display);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

.pike-co-section .pike-co-careers__step-text {
	margin: 4px 0 0;
	color: var(--pike-co-light);
	font-size: 15px;
	line-height: 1.45;
}

/* Stats: as many equal columns as there are stats, each centered. */
.pike-co-stats .pike-co-stats__grid--1 {
	grid-template-columns: minmax(0, 1fr);
}

.pike-co-stats .pike-co-stats__grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pike-co-stats .pike-co-stats__grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pike-co-stats .pike-co-stats__grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pike-co-stats .pike-co-stats__item {
	text-align: center;
}

@media (max-width: 1024px) {
	.pike-co-stats .pike-co-stats__grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pike-co-stats .pike-co-stats__grid--1,
	.pike-co-stats .pike-co-stats__grid--2,
	.pike-co-stats .pike-co-stats__grid--3,
	.pike-co-stats .pike-co-stats__grid--4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.pike-co-section.pike-co-careers {
		display: block;
		min-height: 0;
		padding: 48px 0 40px;
	}

	.pike-co-careers .pike-co-container.pike-co-careers__grid {
		display: flex;
		flex-direction: column;
		gap: 18px;
		padding: 0 16px;
	}

	.pike-co-careers .pike-co-careers__copy {
		gap: 18px;
	}

	.pike-co-careers .pike-co-careers__eyebrow {
		padding: 5px 10px;
		font-size: 12px;
	}

	.pike-co-section.pike-co-careers .pike-co-jobs__title {
		font-size: 44px;
	}

	.pike-co-section.pike-co-careers .pike-co-jobs__intro {
		max-width: none;
		font-size: 16px;
	}

	.pike-co-careers .pike-co-careers__label {
		font-size: 14px;
	}

	.pike-co-careers .pike-co-jobs__chip {
		padding: 6px 14px;
		font-size: 14px;
	}

	.pike-co-careers .pike-co-careers__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		margin-top: 4px;
	}

	.pike-co-section a.pike-co-careers__search,
	.pike-co-section a.pike-co-careers__search:hover,
	.pike-co-section a.pike-co-careers__search:focus,
	.pike-co-section a.pike-co-careers__inquiry,
	.pike-co-section a.pike-co-careers__inquiry:hover,
	.pike-co-section a.pike-co-careers__inquiry:focus {
		display: block;
		border-radius: 999px;
		text-align: center;
	}

	.pike-co-section a.pike-co-careers__search,
	.pike-co-section a.pike-co-careers__search:hover,
	.pike-co-section a.pike-co-careers__search:focus {
		padding: 14px 18px;
	}

	.pike-co-section a.pike-co-careers__inquiry,
	.pike-co-section a.pike-co-careers__inquiry:hover,
	.pike-co-section a.pike-co-careers__inquiry:focus {
		padding: 13px 18px;
	}

	/* On the board the note sits 10px under the buttons, inside the same stack. */
	.pike-co-section .pike-co-careers__note {
		margin-top: -8px;
		font-size: 12px;
		text-align: center;
	}

	/* Steps stack under the buttons, full width. */
	.pike-co-careers .pike-co-careers__apply {
		margin-top: 16px;
	}

	.pike-co-section .pike-co-careers__apply-title {
		margin-bottom: 14px;
		font-size: 28px;
	}

	.pike-co-careers .pike-co-careers__steps {
		gap: 10px;
	}

	.pike-co-careers .pike-co-careers__step {
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 14px;
		padding: 18px 18px;
	}

	/* Number box ends 18 + 34 = 52px down; next number starts 10px gap + 18px padding below. */
	.pike-co-careers .pike-co-careers__step:not(:last-child)::after {
		top: 58px;
		bottom: -22px;
		left: 39px;
	}

	.pike-co-careers .pike-co-careers__step-number {
		font-size: 34px;
		line-height: 34px;
	}

	.pike-co-careers .pike-co-careers__step-title {
		font-size: 22px;
	}

	.pike-co-section .pike-co-careers__step-text {
		font-size: 14px;
	}

	/* The site's phone card: photo left, name and title right, bio opens as an accordion. */
	.pike-co-leadership .pike-co-leadership__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pike-co-leadership .pike-co-leader,
	.pike-co-leadership .pike-co-leader--no-photo {
		display: grid;
		grid-template-columns: 30% minmax(0, 1fr);
		width: 100%;
		height: auto;
		min-height: 0;
		border-radius: 10px;
	}

	.pike-co-leadership .pike-co-leader--no-photo {
		grid-template-columns: minmax(0, 1fr);
	}

	.pike-co-leader .pike-co-leader__photo {
		position: relative;
		inset: auto;
		min-height: 132px;
	}

	.pike-co-leader .pike-co-leader__photo img {
		position: absolute;
		inset: 0;
	}

	.pike-co-leader .pike-co-leader__panel,
	.pike-co-leader--photo:hover .pike-co-leader__panel,
	.pike-co-leader--photo:focus .pike-co-leader__panel,
	.pike-co-leader--photo:focus-within .pike-co-leader__panel,
	.pike-co-leader--no-photo .pike-co-leader__panel {
		display: contents;
	}

	.pike-co-leader .pike-co-leader__head {
		padding: 20px 52px 20px 20px;
	}

	.pike-co-section .pike-co-leader__name {
		font-size: 24px;
		line-height: 22.32px;
	}

	.pike-co-leader .pike-co-leader__title {
		padding-bottom: 0;
	}

	.pike-co-section .pike-co-leader__toggle,
	.pike-co-section .pike-co-leader__toggle:hover,
	.pike-co-section .pike-co-leader__toggle:focus {
		position: absolute;
		top: 20px;
		right: 20px;
		display: block;
		width: 24px;
		height: 24px;
	}

	.pike-co-leader .pike-co-leader__toggle svg {
		display: block;
		width: 24px;
		height: 24px;
		fill: currentColor;
		transition: transform 0.3s ease;
	}

	.pike-co-leader.is-open .pike-co-leader__toggle svg {
		transform: rotate(180deg);
	}

	.pike-co-leader .pike-co-leader__bio {
		grid-column: 1 / -1;
		max-height: 0;
		padding: 0 41px;
		overflow: hidden;
		opacity: 0;
		transition: max-height 0.4s ease, opacity 0.3s ease;
	}

	.pike-co-leader.is-open .pike-co-leader__bio {
		max-height: 1000px;
		padding: 41px;
		opacity: 1;
	}
}
