/**
 * Everest theme styles.
 *
 * Design language: industrial precision. Sharp corners, engineered rules,
 * safety-orange accents against a teal-blue structural palette, and generous
 * negative space. Colours live in CSS custom properties so the Customizer can
 * override them at runtime.
 *
 * Table of contents
 *   01. Tokens
 *   02. Reset and base
 *   03. Layout primitives
 *   04. Buttons, forms, tags
 *   05. Header and navigation
 *   06. Hero slider
 *   07. Section headings
 *   08. Clients marquee
 *   09. Capabilities
 *   10. Split (about)
 *   11. Stats
 *   12. Projects
 *   13. Process
 *   14. Industries
 *   15. Testimonials
 *   16. Blog cards
 *   17. CTA
 *   18. Page hero
 *   19. Page content
 *   20. About: timeline, gallery, values, team, certs
 *   21. Projects: filter
 *   22. Contact: info, form, map, FAQ
 *   23. Cards, sidebar, comments
 *   24. Footer
 *   25. Motion and utilities
 */

/* 01. Tokens ---------------------------------------------------------- */

:root {
	/* Brand, from the Everest logo. */
	--everest-primary: #005d83;
	--everest-primary-dark: #003b59;
	--everest-primary-light: #16799f;
	--everest-accent: #d9561e;
	--everest-accent-dark: #b92f20;
	--everest-accent-soft: #e8752c;
	--everest-brand-gradient: linear-gradient(110deg, #e8752c 0%, #d9561e 55%, #b92f20 100%);

	--everest-ink: #0e1520;
	--everest-ink-2: #1b2530;
	--everest-muted: #77808a;
	--everest-line: #e4e8eb;
	--everest-line-2: #eef1f3;
	--everest-surface: #ffffff;
	--everest-surface-alt: #f4f7f9;
	--everest-surface-2: #eaf0f3;

	--everest-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--everest-font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;

	--everest-radius: 6px;
	--everest-radius-lg: 12px;
	--everest-radius-pill: 999px;

	--everest-shadow-xs: 0 1px 2px rgba(14, 21, 32, 0.06);
	--everest-shadow-sm: 0 4px 12px rgba(14, 21, 32, 0.07);
	--everest-shadow: 0 14px 34px rgba(0, 59, 89, 0.12);
	--everest-shadow-lg: 0 28px 64px rgba(0, 45, 70, 0.2);

	--everest-container: 1280px;
	--everest-container-narrow: 860px;
	--everest-gutter: 24px;
	--everest-section-y: clamp(64px, 7.5vw, 118px);

	--everest-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--everest-ease-out-back: cubic-bezier(0.34, 1.36, 0.64, 1);

	--everest-header-h: 80px;
}

/* 02. Reset and base --------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--everest-header-h) + 20px);
}

body {
	background: var(--everest-surface);
	color: var(--everest-ink);
	font-family: var(--everest-font);
	font-size: 16px;
	line-height: 1.68;
	margin: 0;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--everest-ink);
	font-family: var(--everest-font);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.14;
	margin: 0 0 0.5em;
	text-wrap: balance;
}

h1 { font-size: clamp(2.1rem, 4.4vw, 3.35rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.15rem, 1.8vw, 1.42rem); }
h4 { font-size: 1.05rem; letter-spacing: -0.01em; }

p { margin: 0 0 1.15em; }

a {
	color: var(--everest-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.18s var(--everest-ease);
}

a:hover, a:focus-visible { color: var(--everest-accent); }

img, svg, video, iframe { max-width: 100%; }
img { display: block; height: auto; }
ul, ol { padding-left: 1.25em; }

:focus-visible {
	outline: 3px solid var(--everest-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

::selection {
	background: var(--everest-accent);
	color: #fff;
}

hr {
	background: var(--everest-line);
	border: 0;
	height: 1px;
	margin: 2.5rem 0;
}

/* 03. Layout primitives ------------------------------------------------ */

.container {
	margin-inline: auto;
	max-width: var(--everest-container);
	padding-inline: var(--everest-gutter);
	width: 100%;
}

.container--narrow { max-width: var(--everest-container-narrow); }

.section { padding-block: var(--everest-section-y); position: relative; }

.section--dark {
	background: var(--everest-ink);
	color: rgba(255, 255, 255, 0.76);
}

.section--dark h2,
.section--dark h3,
.section--dark .section-title { color: #fff; }

.section--dark .section-text,
.section--dark p { color: rgba(255, 255, 255, 0.7); }

.section--alt { background: var(--everest-surface-alt); }

.section-foot {
	display: flex;
	justify-content: center;
	margin-top: clamp(32px, 4vw, 52px);
}

.site-main { min-height: 40vh; }

/* Engraved rule used to separate light sections. */
.section--alt::before,
.section--stats::before {
	background: var(--everest-line);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/* 04. Buttons, forms, tags -------------------------------------------- */

.btn {
	align-items: center;
	border: 2px solid transparent;
	border-radius: var(--everest-radius);
	cursor: pointer;
	display: inline-flex;
	font-size: 0.94rem;
	font-weight: 700;
	gap: 0.6em;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1.2;
	padding: 0.9em 1.7em;
	position: relative;
	text-decoration: none;
	transition: background-color 0.22s var(--everest-ease), border-color 0.22s var(--everest-ease),
		color 0.22s var(--everest-ease), transform 0.22s var(--everest-ease),
		box-shadow 0.22s var(--everest-ease);
	overflow: hidden;
}

.btn > * { position: relative; z-index: 1; }

.btn i { font-size: 0.85em; transition: transform 0.24s var(--everest-ease); }
.btn:hover i { transform: translateX(4px); }

.btn-primary {
	background: var(--everest-primary);
	color: #fff;
}

.btn-primary:hover, .btn-primary:focus-visible {
	background: var(--everest-primary-dark);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 90, 140, 0.28);
}

.btn-accent {
	background: var(--everest-accent);
	color: #fff;
}

.btn-accent:hover, .btn-accent:focus-visible {
	background: var(--everest-accent-dark);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(232, 71, 31, 0.32);
}

.btn-ghost {
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

.btn-ghost:hover, .btn-ghost:focus-visible {
	background: #fff;
	border-color: #fff;
	color: var(--everest-primary);
}

.btn-ghost-dark {
	border-color: var(--everest-line);
	color: var(--everest-ink);
}

.btn-ghost-dark:hover, .btn-ghost-dark:focus-visible {
	background: var(--everest-ink);
	border-color: var(--everest-ink);
	color: #fff;
	transform: translateY(-2px);
}

.btn--block { width: 100%; }

input[type="text"], input[type="email"], input[type="url"], input[type="tel"],
input[type="search"], input[type="number"], input[type="password"], textarea, select {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius);
	color: var(--everest-ink);
	font: inherit;
	font-size: 0.96rem;
	padding: 0.8em 0.95em;
	transition: border-color 0.18s var(--everest-ease), box-shadow 0.18s var(--everest-ease);
	width: 100%;
}

input:focus, textarea:focus, select:focus {
	border-color: var(--everest-primary);
	box-shadow: 0 0 0 3px rgba(0, 90, 140, 0.13);
	outline: none;
}

textarea { min-height: 150px; resize: vertical; }

select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2377808a' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.95em center;
	padding-right: 2.4em;
}

.search-form { display: flex; gap: 8px; max-width: 540px; }
.search-form__submit { flex: 0 0 auto; }

.tag {
	background: rgba(0, 90, 140, 0.1);
	border-radius: var(--everest-radius-pill);
	color: var(--everest-primary);
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 0.3em 0.8em;
	text-transform: uppercase;
}

.req { color: var(--everest-accent); }

/* 05. Header and navigation -------------------------------------------- */

.site-header { position: relative; z-index: 200; }

.topbar {
	background: var(--everest-ink);
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.82rem;
}

.topbar__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	justify-content: space-between;
	min-height: 40px;
}

.topbar__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.topbar__contact li { display: flex; align-items: center; gap: 7px; }
.topbar__contact i { color: var(--everest-accent); font-size: 0.85em; }
.topbar a { color: inherit; text-decoration: none; }
.topbar a:hover, .topbar a:focus-visible { color: #fff; }

.topbar__right,
.topbar__social {
	align-items: center;
	display: flex;
}

.topbar__right { gap: 18px; margin-left: auto; }
.topbar__social { gap: 7px; list-style: none; margin: 0; padding: 0; }
.topbar__social a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	display: inline-flex;
	height: 28px;
	justify-content: center;
	transition: background 0.2s var(--everest-ease), border-color 0.2s var(--everest-ease), color 0.2s var(--everest-ease);
	width: 28px;
}

.topbar__social a:hover,
.topbar__social a:focus-visible {
	background: var(--everest-accent);
	border-color: var(--everest-accent);
	color: #fff;
}

.topbar__social i { font-size: 0.78rem; }

.topbar__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.masthead {
	background: #fff;
	border-bottom: 1px solid var(--everest-line);
	position: sticky;
	top: 0;
	transition: box-shadow 0.25s var(--everest-ease);
	z-index: 190;
}

.masthead.is-stuck { box-shadow: 0 6px 24px rgba(14, 21, 32, 0.08); }

.masthead__inner {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	min-height: var(--everest-header-h);
}

/* The supplied logo is a wide lockup; cap it so it cannot dominate. */
.masthead__branding { max-width: 260px; }
.masthead__branding .custom-logo-link { display: block; }
.masthead__branding img {
	height: auto;
	max-height: 46px;
	width: auto;
}

.site-branding { display: flex; flex-direction: column; line-height: 1.15; }

.site-title {
	color: var(--everest-ink);
	font-size: 1.28rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-decoration: none;
}

a.site-title:hover { color: var(--everest-primary); }

.site-description {
	color: var(--everest-accent);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.main-nav__list {
	display: flex;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-nav__list li { position: relative; }

.main-nav__list a {
	color: var(--everest-ink);
	display: block;
	font-size: 0.94rem;
	font-weight: 600;
	padding: 0.75em 0.95em;
	text-decoration: none;
	transition: color 0.18s var(--everest-ease);
}

.main-nav__list a:hover,
.main-nav__list a:focus-visible,
.main-nav__list .current-menu-item > a,
.main-nav__list .current_page_item > a { color: var(--everest-primary); }

.main-nav__list .current-menu-item > a,
.main-nav__list .current_page_item > a {
	box-shadow: inset 0 -3px 0 var(--everest-accent);
}

/* Header CTA next to the nav */
.masthead__cta { flex: 0 0 auto; }

.main-nav__list .sub-menu {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius);
	box-shadow: var(--everest-shadow);
	left: 0;
	list-style: none;
	margin: 0;
	min-width: 230px;
	opacity: 0;
	padding: 6px;
	position: absolute;
	top: 100%;
	transform: translateY(6px);
	transition: opacity 0.18s var(--everest-ease), transform 0.18s var(--everest-ease);
	visibility: hidden;
	z-index: 10;
}

.main-nav__list .menu-item-has-children:hover > .sub-menu,
.main-nav__list .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

.main-nav__list .sub-menu a { border-radius: 2px; }
.main-nav__list .sub-menu a:hover { background: var(--everest-surface-alt); }

.menu-toggle {
	align-items: center;
	background: none;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius);
	color: var(--everest-ink);
	cursor: pointer;
	display: none;
	font: inherit;
	gap: 10px;
	padding: 0.6em 0.95em;
}

.menu-toggle__bars { display: grid; gap: 4px; }
.menu-toggle__bars span { background: currentColor; display: block; height: 2px; width: 20px; }
.menu-toggle__label { font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

@media (max-width: 1023px) {
	.masthead__cta { display: none; }
}

@media (max-width: 899px) {
	.menu-toggle { display: inline-flex; }

	.main-nav {
		background: #fff;
		border-top: 1px solid var(--everest-line);
		box-shadow: var(--everest-shadow);
		display: none;
		left: 0;
		padding: 10px var(--everest-gutter) 24px;
		position: absolute;
		right: 0;
		top: 100%;
		width: 100%;
	}

	.main-nav.is-open { display: block; }

	.main-nav__list { flex-direction: column; gap: 0; }

	.main-nav__list a {
		border-bottom: 1px solid var(--everest-line-2);
		font-size: 1rem;
		padding: 0.9em 0;
	}

	.main-nav__list .sub-menu {
		border: 0;
		box-shadow: none;
		opacity: 1;
		padding-left: 1em;
		position: static;
		transform: none;
		visibility: visible;
	}
}

/* 06. Hero slider ------------------------------------------------------ */

.hero-slider {
	background: var(--everest-primary-dark);
	overflow: hidden;
	position: relative;
}

.hero-slider__track { position: relative; }

.hero-slide {
	align-items: center;
	display: flex;
	inset: 0;
	min-height: clamp(560px, 78vh, 820px);
	opacity: 0;
	position: absolute;
	transition: opacity var(--everest-slider-speed, 900ms) var(--everest-ease);
	visibility: hidden;
}

.hero-slide.is-active {
	opacity: 1;
	position: relative;
	visibility: visible;
}

/* Content animates in separately from the crossfade. */
.hero-slide.is-active .hero-slide__content > * { animation: hero-rise 0.85s var(--everest-ease) both; }
.hero-slide.is-active .hero-slide__content > *:nth-child(1) { animation-delay: 0.1s; }
.hero-slide.is-active .hero-slide__content > *:nth-child(2) { animation-delay: 0.2s; }
.hero-slide.is-active .hero-slide__content > *:nth-child(3) { animation-delay: 0.3s; }
.hero-slide.is-active .hero-slide__content > *:nth-child(4) { animation-delay: 0.4s; }

@keyframes hero-rise {
	from { opacity: 0; transform: translateY(28px); }
	to { opacity: 1; transform: none; }
}

.hero-slide__bg {
	background-position: center;
	background-size: cover;
	inset: -8% 0;
	position: absolute;
	transform: scale(1.08);
	will-change: transform;
}

.hero-slide__overlay {
	background:
		linear-gradient(100deg, rgba(0, 30, 48, calc(var(--everest-overlay, 0.55) + 0.2)) 0%,
			rgba(0, 45, 71, var(--everest-overlay, 0.55)) 48%,
			rgba(0, 80, 125, calc(var(--everest-overlay, 0.55) * 0.55)) 100%);
	inset: 0;
	position: absolute;
}

/* Faint engineering grid over the image. */
.hero-slide__grid {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 64px 64px;
	inset: 0;
	mask-image: linear-gradient(100deg, #000 0%, transparent 70%);
	opacity: 0.5;
	position: absolute;
}

.hero-slide__inner {
	padding-inline: clamp(48px, 7vw, 104px);
	position: relative;
	width: 100%;
	z-index: 2;
}

.hero-slide__content { max-width: 720px; }

.hero-slide--center .hero-slide__content { margin-inline: auto; text-align: center; }
.hero-slide--center .hero-slide__actions { justify-content: center; }
.hero-slide--center .hero-slide__eyebrow { justify-content: center; }

.hero-slide__eyebrow {
	align-items: center;
	color: var(--everest-accent-soft);
	display: flex;
	font-size: 0.78rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: 0.22em;
	margin: 0 0 1.1rem;
	text-transform: uppercase;
}

.hero-slide__eyebrow::before {
	background: var(--everest-accent);
	content: "";
	height: 2px;
	width: 34px;
}

.hero-slide__title {
	color: #fff;
	font-size: clamp(2.1rem, 5.2vw, 4rem);
	margin-bottom: 0.4em;
}

.hero-slide__text {
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	margin-bottom: 2rem;
	max-width: 56ch;
}

.hero-slide__actions { display: flex; flex-wrap: wrap; gap: 14px; }

.hero-slider__arrow {
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 52px;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: background 0.2s var(--everest-ease), border-color 0.2s var(--everest-ease);
	width: 52px;
	z-index: 5;
}

.hero-slider__arrow:hover { background: var(--everest-accent); border-color: var(--everest-accent); }
.hero-slider__arrow--prev { left: clamp(12px, 3vw, 40px); }
.hero-slider__arrow--next { right: clamp(12px, 3vw, 40px); }

.hero-slider__dots {
	bottom: clamp(84px, 12vh, 120px);
	display: flex;
	gap: 10px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 5;
}

.hero-slider__dot {
	background: rgba(255, 255, 255, 0.3);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 4px;
	padding: 0;
	transition: background 0.25s var(--everest-ease), width 0.25s var(--everest-ease);
	width: 26px;
}

.hero-slider__dot.is-active { background: var(--everest-accent); width: 46px; }

.hero-slider__progress {
	background: rgba(255, 255, 255, 0.18);
	bottom: 0;
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 6;
}

.hero-slider__progress-bar {
	background: var(--everest-accent);
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	width: 100%;
}

.hero-slider__scroll {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	bottom: 26px;
	color: #fff;
	display: flex;
	height: 42px;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: background 0.2s var(--everest-ease);
	width: 42px;
	z-index: 6;
}

.hero-slider__scroll:hover { background: rgba(255, 255, 255, 0.14); color: #fff; }
.hero-slider__scroll i { animation: scroll-bob 2s var(--everest-ease) infinite; font-size: 0.8rem; }

@keyframes scroll-bob {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(4px); }
}

@media (max-width: 767px) {
	.hero-slider__arrow { display: none; }
	.hero-slider__dots { bottom: 96px; }
	.hero-slide { min-height: 540px; }
	.hero-slide__inner { padding-inline: 0; }
	.hero-slide__title { font-size: clamp(2rem, 9vw, 3rem); }
	.hero-slide__actions { gap: 10px; }
	.hero-slide__actions .btn { padding: 0.82em 1.1em; }
}

/* 07. Section headings ------------------------------------------------- */

.section-heading { margin-bottom: clamp(32px, 4vw, 58px); max-width: 720px; }
.section-heading--center { margin-inline: auto; text-align: center; }

.section-eyebrow {
	align-items: center;
	color: var(--everest-accent);
	display: flex;
	font-size: 0.76rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: 0.2em;
	margin: 0 0 0.85rem;
	text-transform: uppercase;
}

.section-heading--center .section-eyebrow { justify-content: center; }

.section-eyebrow::before {
	background: currentColor;
	content: "";
	height: 2px;
	width: 26px;
}

.section-title { margin-bottom: 0.5em; }

.section-text {
	color: var(--everest-muted);
	font-size: 1.05rem;
	margin: 0;
}

/* 08. Clients marquee -------------------------------------------------- */

.clients-strip {
	background: var(--everest-surface-alt);
	border-bottom: 1px solid var(--everest-line);
	padding-block: 40px;
}

.clients-strip__label {
	color: var(--everest-muted);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	margin: 0 0 22px;
	text-align: center;
	text-transform: uppercase;
}

.marquee {
	--marquee-duration: 32s;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	overflow: hidden;
}

.marquee__track {
	display: flex;
	gap: 0;
	width: max-content;
	animation: marquee-scroll var(--marquee-duration) linear infinite;
}

.marquee:hover .marquee__track { animation-play-state: paused; }

@keyframes marquee-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.marquee__group {
	align-items: center;
	display: flex;
	gap: 64px;
	list-style: none;
	margin: 0;
	padding: 0 32px 0 0;
}

.marquee__item {
	color: var(--everest-ink);
	font-size: clamp(1.05rem, 1.9vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	opacity: 0.42;
	white-space: nowrap;
	transition: opacity 0.25s var(--everest-ease);
}

.marquee__item:hover { opacity: 0.9; }

/* 09. Capabilities ------------------------------------------------------ */

.capability-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.capability-card {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	overflow: hidden;
	padding: 34px 30px 32px;
	position: relative;
	transform-style: preserve-3d;
	transition: border-color 0.25s var(--everest-ease), box-shadow 0.25s var(--everest-ease),
		transform 0.3s var(--everest-ease);
}

.capability-card::before {
	background: var(--everest-accent);
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.32s var(--everest-ease);
	width: 100%;
}

.capability-card:hover { border-color: transparent; box-shadow: var(--everest-shadow); }
.capability-card:hover::before { transform: scaleX(1); }

.capability-card__icon {
	color: var(--everest-primary);
	display: block;
	height: 42px;
	margin-bottom: 22px;
	transition: color 0.25s var(--everest-ease), transform 0.35s var(--everest-ease-out-back);
	width: 42px;
}

.capability-card__icon i { font-size: 42px; line-height: 1; }
.capability-card:hover .capability-card__icon { color: var(--everest-accent); transform: translateY(-4px) scale(1.06); }

.capability-card__title { font-size: 1.14rem; margin-bottom: 0.55em; }
.capability-card__text { color: var(--everest-muted); font-size: 0.95rem; margin: 0; }

/* 10. Split (about) ---------------------------------------------------- */

.split {
	align-items: center;
	display: grid;
	gap: clamp(36px, 5vw, 76px);
	grid-template-columns: 1fr;
}

@media (min-width: 920px) {
	.split { grid-template-columns: 1fr 1fr; }
	.split--reverse .split__media { order: 2; }
}

.split__media { position: relative; }

.split__media-main {
	border-radius: var(--everest-radius-lg);
	overflow: hidden;
	position: relative;
}

.split__media-main img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

.split__media-secondary {
	border: 5px solid #fff;
	border-radius: var(--everest-radius-lg);
	bottom: -28px;
	box-shadow: var(--everest-shadow);
	overflow: hidden;
	position: absolute;
	right: -18px;
	width: clamp(130px, 30%, 190px);
	z-index: 2;
}

.split__media-secondary img { aspect-ratio: 1; object-fit: cover; width: 100%; }

.split__media-badge {
	align-items: center;
	background: var(--everest-accent);
	border-radius: var(--everest-radius);
	bottom: -20px;
	color: #fff;
	display: flex;
	flex-direction: column;
	height: 96px;
	justify-content: center;
	left: -18px;
	position: absolute;
	width: 96px;
	z-index: 3;
}

.split__media-badge strong { font-size: 1.7rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.split__media-badge span { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }

.split__body > *:last-child { margin-bottom: 0; }

@media (max-width: 919px) {
	.split__media { margin-bottom: 34px; }
}

.checklist { list-style: none; margin: 1.6rem 0; padding: 0; }
.checklist li {
	align-items: flex-start;
	display: flex;
	gap: 11px;
	margin-bottom: 0.7em;
}
.checklist i { color: var(--everest-accent); font-size: 0.95rem; margin-top: 0.35em; }
.checklist--compact li { font-size: 0.93rem; }

.progress-list { margin: 1.8rem 0; }
.progress { margin-bottom: 1.15rem; }
.progress__head {
	display: flex;
	font-size: 0.88rem;
	justify-content: space-between;
	margin-bottom: 7px;
}
.progress__label { color: var(--everest-ink); font-weight: 600; }
.progress__value { color: var(--everest-muted); font-family: var(--everest-font-mono); font-size: 0.82rem; }
.progress__track { background: var(--everest-surface-2); border-radius: 999px; height: 6px; overflow: hidden; }
.progress__bar {
	background: linear-gradient(90deg, var(--everest-primary), var(--everest-primary-light));
	border-radius: 999px;
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 1.1s var(--everest-ease);
	width: 100%;
}
.progress__bar.is-filled { transform: scaleX(1); }
.progress__value { color: var(--everest-muted); }

/* 11. Stats ------------------------------------------------------------ */

.stats-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.stat {
	border-left: 2px solid rgba(255, 255, 255, 0.14);
	padding: 8px 0 8px 24px;
	position: relative;
}

.stat__icon {
	color: var(--everest-accent);
	display: block;
	font-size: 1.1rem;
	margin-bottom: 14px;
}

.stat__value {
	color: #fff;
	display: block;
	font-size: clamp(2.4rem, 4.6vw, 3.4rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
}

.stat__label {
	color: rgba(255, 255, 255, 0.55);
	display: block;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-top: 0.7rem;
	text-transform: uppercase;
}

/* 12. Projects ---------------------------------------------------------- */

.project-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.project-card.is-filtered-out { display: none; }

.project-card__link {
	background: var(--everest-surface);
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: box-shadow 0.35s var(--everest-ease), transform 0.3s var(--everest-ease);
}

.project-card__link:hover,
.project-card__link:focus-visible {
	box-shadow: var(--everest-shadow-lg);
	transform: translateY(-8px);
}

.project-card__media {
	aspect-ratio: 3 / 2;
	background: var(--everest-surface-alt);
	display: block;
	flex: 0 0 auto;
	overflow: hidden;
	position: relative;
}

.project-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--everest-ease-out-back);
	width: 100%;
}
.project-card__link:hover .project-card__media img { transform: scale(1.12); }

.project-card__tags {
	gap: 6px;
	left: 14px;
	position: absolute;
	top: 14px;
	z-index: 2;
}

.tag {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(4px);
	border-radius: var(--everest-radius-pill);
	color: var(--everest-ink);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 4px 10px;
	text-transform: uppercase;
}

.project-card__overlay {
	align-items: center;
	background: rgba(0, 57, 90, 0.6);
	border-radius: 50%;
	bottom: 14px;
	color: #fff;
	display: flex;
	font-size: 1.1rem;
	height: 44px;
	justify-content: center;
	opacity: 0;
	position: absolute;
	right: 14px;
	transition: opacity 0.3s var(--everest-ease);
	width: 44px;
	z-index: 2;
}
.project-card__link:hover .project-card__overlay { opacity: 1; }

.project-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}
.project-card__title {
	color: var(--everest-ink);
	display: block;
	font-size: 1.18rem;
	font-weight: 700;
	margin-bottom: 0.45em;
}
.project-card__excerpt {
	color: var(--everest-muted);
	display: block;
	font-size: 0.94rem;
	margin-bottom: 1.1em;
	line-height: 1.6;
}
.project-card__more {
	align-items: center;
	color: var(--everest-accent);
	display: inline-flex;
	font-size: 0.8rem;
	font-weight: 800;
	gap: 8px;
	letter-spacing: 0.08em;
	margin-top: auto;
	padding-top: 18px;
	text-transform: uppercase;
}
.project-card__more i { transition: transform 0.24s var(--everest-ease); }
.project-card__link:hover .project-card__more i { transform: translateX(4px); }

.project-empty, .filter-empty { color: var(--everest-muted); }

.section--projects-intro { padding-bottom: 0; }
.section--projects-grid { padding-top: clamp(24px, 3vw, 40px); }

/* 21. Projects: filter -------------------------------------------------- */

.filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-bottom: 44px;
}

.filter-chip {
	background: var(--everest-surface);
	border: 1.5px solid var(--everest-line);
	border-radius: var(--everest-radius-pill);
	color: var(--everest-ink);
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	padding: 0.6em 1.4em;
	transition: background 0.25s var(--everest-ease), border-color 0.25s var(--everest-ease),
		color 0.25s var(--everest-ease), transform 0.3s var(--everest-ease);
}

.filter-chip:hover {
	background: var(--everest-primary);
	border-color: var(--everest-primary);
	color: #fff;
	transform: translateY(-2px);
}

.filter-chip.is-active {
	background: var(--everest-accent);
	border: 1.5px solid var(--everest-accent);
	color: #fff;
}

/* 13. Process ----------------------------------------------------------- */

.process-list {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.process-step {
	background: #fff;
	border: 1px solid var(--everest-line);
	margin: 0 0 -1px 0;
	padding: 30px 26px;
	position: relative;
	transition: background 0.25s var(--everest-ease), transform 0.25s var(--everest-ease), z-index 0s;
}

.process-step:hover { background: var(--everest-primary); transform: translateY(-6px); z-index: 3; }
.process-step:hover .process-step__title { color: #fff; }
.process-step:hover .process-step__text { color: rgba(255, 255, 255, 0.78); }
.process-step:hover .process-step__icon { color: var(--everest-accent-soft); }

.process-step__num {
	color: var(--everest-accent);
	display: block;
	font-family: var(--everest-font-mono);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 0.9rem;
}

.process-step__icon {
	color: var(--everest-primary);
	display: block;
	font-size: 1.5rem;
	margin-bottom: 14px;
	transition: color 0.25s var(--everest-ease);
}

.process-step__title { font-size: 1.02rem; margin-bottom: 0.4em; }
.process-step__text { color: var(--everest-muted); font-size: 0.9rem; margin: 0; transition: color 0.25s var(--everest-ease); }

/* 14. Industries -------------------------------------------------------- */

.industry-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.industry-card {
	background: var(--everest-surface-alt);
	margin: -1px 0 0 -1px;
	padding: 34px 28px;
	position: relative;
	transition: background 0.3s var(--everest-ease), color 0.3s var(--everest-ease);
}

.industry-card:hover { background: var(--everest-ink); }

.industry-card__icon {
	color: var(--everest-primary);
	display: block;
	font-size: 2rem;
	margin-bottom: 20px;
	transition: color 0.3s var(--everest-ease), transform 0.35s var(--everest-ease-out-back);
}

.industry-card:hover .industry-card__icon { color: var(--everest-accent); transform: translateY(-4px) scale(1.08); }

.industry-card__title { font-size: 1.08rem; margin-bottom: 0.5em; transition: color 0.3s var(--everest-ease); }
.industry-card:hover .industry-card__title { color: #fff; }
.industry-card__text { color: var(--everest-muted); font-size: 0.93rem; margin: 0; transition: color 0.3s var(--everest-ease); }
.industry-card:hover .industry-card__text { color: rgba(255, 255, 255, 0.7); }

.industry-card__arrow {
	bottom: 26px;
	color: var(--everest-accent);
	font-size: 1.1rem;
	opacity: 0;
	position: absolute;
	right: 26px;
	transform: translateX(-8px);
	transition: opacity 0.3s var(--everest-ease), transform 0.3s var(--everest-ease);
}

.industry-card:hover .industry-card__arrow { opacity: 1; transform: none; }

/* 15. Testimonials ------------------------------------------------------ */

.testimonials { position: relative; }

.testimonials__track { position: relative; }

.testimonial {
	margin: 0;
	opacity: 0;
	position: absolute;
	inset: 0;
	transform: translateY(14px);
	transition: opacity 0.5s var(--everest-ease), transform 0.5s var(--everest-ease);
	visibility: hidden;
}

.testimonial.is-active { opacity: 1; position: relative; transform: none; visibility: visible; }

.testimonial__stars { color: var(--everest-accent); display: flex; gap: 4px; justify-content: center; margin-bottom: 22px; }

.testimonial__quote { margin: 0 auto; max-width: 760px; text-align: center; }
.testimonial__quote p {
	color: #fff;
	font-size: clamp(1.1rem, 2vw, 1.5rem);
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.5;
	margin: 0;
}

.testimonial__author {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 28px;
}

.testimonial__avatar {
	align-items: center;
	background: var(--everest-accent);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-weight: 800;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.testimonial__author strong { color: #fff; display: block; font-size: 0.98rem; }
.testimonial__author em { color: rgba(255, 255, 255, 0.55); display: block; font-size: 0.83rem; font-style: normal; margin-top: 2px; }

.testimonials__controls {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: center;
	margin-top: 36px;
}

.t-btn {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 42px;
	justify-content: center;
	transition: background 0.2s var(--everest-ease), border-color 0.2s var(--everest-ease);
	width: 42px;
}

.t-btn:hover { background: var(--everest-accent); border-color: var(--everest-accent); }

.testimonials__dots { display: flex; gap: 8px; }
.t-dot {
	background: rgba(255, 255, 255, 0.28);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 3px;
	padding: 0;
	transition: background 0.25s var(--everest-ease), width 0.25s var(--everest-ease);
	width: 20px;
}
.t-dot.is-active { background: var(--everest-accent); width: 34px; }

/* 16. Blog cards -------------------------------------------------------- */

.post-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
}

.post-card__link {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	color: inherit;
	display: block;
	height: 100%;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 0.26s var(--everest-ease), transform 0.26s var(--everest-ease);
}

.post-card__link:hover, .post-card__link:focus-visible { box-shadow: var(--everest-shadow); transform: translateY(-4px); }

.post-card__media { aspect-ratio: 3 / 2; background: var(--everest-surface-alt); display: block; overflow: hidden; }
.post-card__media img { height: 100%; object-fit: cover; width: 100%; }
.post-card__body { display: block; padding: 22px 24px 26px; }
.post-card__title { font-size: 1.1rem; margin-bottom: 0.5em; }
.post-card__excerpt { color: var(--everest-muted); font-size: 0.92rem; margin: 0 0 1em; }

.post-card .entry-meta { margin-bottom: 0.7rem; }

/* 17. CTA --------------------------------------------------------------- */

.cta {
	background: linear-gradient(115deg, var(--everest-primary) 0%, var(--everest-primary-dark) 100%);
	color: #fff;
	overflow: hidden;
	position: relative;
}

/* Diagonal hazard-stripe edge. */
.cta::before {
	background: repeating-linear-gradient(
		-45deg,
		var(--everest-accent) 0 10px,
		transparent 10px 20px
	);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	width: 180px;
}

.cta::after {
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.12) 1px, transparent 0);
	background-size: 26px 26px;
	content: "";
	inset: 0;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
}

.cta__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: space-between;
	padding-block: clamp(48px, 6vw, 80px);
	position: relative;
	z-index: 2;
}

.cta__eyebrow {
	color: var(--everest-accent-soft);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	margin: 0 0 0.7rem;
	text-transform: uppercase;
}

.cta__heading { color: #fff; font-size: clamp(1.6rem, 3vw, 2.35rem); margin: 0 0 0.4em; }
.cta__text { color: rgba(255, 255, 255, 0.82); margin: 0; max-width: 52ch; }

.cta__points {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.cta__points li {
	align-items: center;
	color: rgba(255, 255, 255, 0.72);
	display: flex;
	font-size: 0.87rem;
	font-weight: 600;
	gap: 8px;
}

.cta__points i { color: var(--everest-accent-soft); }

.cta__actions { align-items: center; display: flex; flex-direction: column; gap: 16px; }

.cta__phone {
	align-items: center;
	color: #fff;
	display: flex;
	gap: 12px;
	text-decoration: none;
}

.cta__phone i { color: var(--everest-accent-soft); font-size: 1.2rem; }
.cta__phone small { color: rgba(255, 255, 255, 0.5); display: block; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.cta__phone span { font-size: 1.05rem; font-weight: 700; }

.cta__link {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.86rem;
	text-decoration: none;
}
.cta__link i { margin-left: 6px; transition: transform 0.2s var(--everest-ease); }
.cta__link:hover { color: #fff; }
.cta__link:hover i { transform: translateX(4px); }

.cta--compact .cta__inner { padding-block: clamp(40px, 5vw, 62px); }

/* 18. Page hero --------------------------------------------------------- */

.page-hero {
	background: var(--everest-surface-alt);
	border-bottom: 1px solid var(--everest-line);
	overflow: hidden;
	padding-block: clamp(20px, 3vw, 38px);
	position: relative;
}

.page-hero__title {
	font-size: clamp(1.75rem, 3.5vw, 2.4rem);
	margin-bottom: 0.3em;
}

.breadcrumbs {
	align-items: center;
	color: var(--everest-muted);
	display: flex;
	font-size: 0.72rem;
	gap: 5px;
	list-style: none;
	margin-top: 4px;
	padding: 0;
}
.breadcrumbs a {
	align-items: center;
	color: var(--everest-muted);
	display: inline-flex;
	height: 20px;
	justify-content: center;
	text-decoration: none;
	width: 20px;
}
.breadcrumbs a:hover { color: var(--everest-accent); }
.breadcrumbs i { font-size: 0.65rem; opacity: 0.6; }
.breadcrumbs__separator { font-size: 0.5rem; opacity: 0.4; }
.breadcrumbs__current {
	color: var(--everest-ink);
	font-weight: 600;
	opacity: 0.9;
}

/* 19. Page content ------------------------------------------------------ */

.entry-content > * + * { margin-top: 1.2em; }
.entry-content h2 { font-size: clamp(1.4rem, 2.3vw, 1.85rem); margin-top: 1.9em; }
.entry-content h3 { margin-top: 1.5em; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content li + li { margin-top: 0.4em; }
.entry-content blockquote {
	border-left: 3px solid var(--everest-accent);
	color: var(--everest-muted);
	font-size: 1.08rem;
	margin: 1.8em 0;
	padding: 0.4em 0 0.4em 1.4em;
}
.entry-content table { border-collapse: collapse; display: block; overflow-x: auto; width: 100%; }
.entry-content th, .entry-content td { border: 1px solid var(--everest-line); padding: 0.7em 0.9em; text-align: left; }
.entry-content th { background: var(--everest-surface-alt); font-weight: 700; }
.entry-content pre {
	background: var(--everest-ink);
	border-radius: var(--everest-radius);
	color: #e6edf3;
	overflow-x: auto;
	padding: 1.1em 1.3em;
}
.entry-content code { background: var(--everest-surface-alt); border-radius: 3px; font-size: 0.9em; padding: 0.15em 0.4em; }
.entry-content pre code { background: none; padding: 0; }
.entry-content--prose { max-width: 760px; }

.entry-meta {
	color: var(--everest-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.78rem;
	font-weight: 700;
	gap: 6px 16px;
	letter-spacing: 0.08em;
	margin-bottom: 1.3rem;
	text-transform: uppercase;
}

.entry-thumbnail { margin: 0 0 2rem; }
.entry-thumbnail img { border-radius: var(--everest-radius-lg); width: 100%; }
.entry-footer { border-top: 1px solid var(--everest-line); margin-top: 2.5rem; padding-top: 1.25rem; }
.entry-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-tags a { background: var(--everest-surface-alt); border-radius: 999px; font-size: 0.8rem; padding: 0.35em 0.9em; text-decoration: none; }
.page-links { color: var(--everest-muted); font-size: 0.9rem; margin-top: 2rem; }

.post-navigation { margin: 0 auto; max-width: var(--everest-container-narrow); padding: 0 var(--everest-gutter) var(--everest-section-y); }
.post-navigation .nav-links { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.post-navigation a { border: 1px solid var(--everest-line); border-radius: var(--everest-radius); display: block; padding: 18px 20px; text-decoration: none; transition: border-color 0.2s var(--everest-ease); }
.post-navigation a:hover { border-color: var(--everest-primary); }
.nav-label { color: var(--everest-muted); display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 0.3em; text-transform: uppercase; }
.nav-title { color: var(--everest-ink); font-weight: 600; }

/* 20. About sections ----------------------------------------------------- */

.timeline {
	display: grid;
	gap: 28px;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.timeline::before {
	background: rgba(255, 255, 255, 0.12);
	content: "";
	height: 100%;
	left: 12px;
	position: absolute;
	top: 0;
	width: 2px;
}

.timeline__item {
	padding-left: 42px;
	position: relative;
}

@media (min-width: 768px) {
	.timeline { column-gap: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.timeline::before { left: 50%; }
	.timeline__item {
		padding-left: 0;
		text-align: left;
	}
	.timeline__item:nth-child(odd) { padding-right: 30px; }
	.timeline__item:nth-child(even) { padding-left: 30px; }
	.timeline__item:nth-child(odd) .timeline__content {
		margin-inline-end: auto;
	}
	.timeline__item:nth-child(odd) .timeline__marker {
		left: auto;
		right: -12px;
		transform: none;
	}
	.timeline__item:nth-child(even) .timeline__marker {
		left: -12px;
		right: auto;
		transform: none;
	}
	.timeline__content {
		background: var(--everest-surface);
		border: 1px solid var(--everest-line);
		border-radius: var(--everest-radius-lg);
		box-shadow: var(--everest-shadow-sm);
		margin: 0;
		max-width: 460px;
		padding: 28px 32px;
		position: relative;
	}
	.timeline__content .timeline__title {
		color: var(--everest-ink);
	}
	.timeline__content .timeline__text {
		color: #596771;
	}
	.timeline__item:nth-child(odd) .timeline__content {
		margin-inline-start: 0;
		margin-inline-end: auto;
		text-align: left;
	}
	.timeline__item:nth-child(even) .timeline__content {
		margin-inline-start: auto;
		margin-inline-end: 0;
		text-align: left;
	}
}

.timeline__marker {
	background: var(--everest-accent);
	border: 3px solid var(--everest-ink);
	border-radius: 50%;
	box-sizing: border-box;
	height: 24px;
	left: 12px;
	position: absolute;
	top: 4px;
	transform: translateX(-50%);
	width: 24px;
	z-index: 2;
	box-shadow: 0 4px 16px rgba(232, 71, 31, 0.35);
}

.timeline__year {
	color: var(--everest-accent);
	display: block;
	font-family: var(--everest-font-mono);
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 0.4rem;
}

.timeline__title { font-size: 1.05rem; margin-bottom: 0.5em; }
.timeline__text { color: var(--everest-muted); font-size: 0.92rem; margin: 0; line-height: 1.6; }

.gallery-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 200px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gallery-item {
	display: block;
	overflow: hidden;
	position: relative;
}

.gallery-item--1 { grid-column: span 2; grid-row: span 2; }
.gallery-item--2, .gallery-item--3 { grid-column: span 2; }
.gallery-item--4, .gallery-item--5, .gallery-item--6 { grid-column: span 1; }

.gallery-item img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--everest-ease-out-back);
	width: 100%;
}
.gallery-item:hover img { transform: scale(1.1); }

.gallery-item__overlay {
	align-items: center;
	background: linear-gradient(135deg, rgba(0, 57, 90, 0.75) 0%, rgba(0, 57, 90, 0.45) 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 6px;
	inset: 0;
	justify-content: center;
	opacity: 0;
	position: absolute;
	transition: opacity 0.4s var(--everest-ease);
	text-align: center;
}
.gallery-item__overlay i {
	font-size: 1.5rem;
	opacity: 0.9;
	transform: scale(0.8);
	transition: transform 0.3s var(--everest-ease);
}
.gallery-item:hover .gallery-item__overlay { opacity: 1; }
.gallery-item:hover .gallery-item__overlay i { transform: scale(1); }
.gallery-item__label { font-size: 0.9rem; font-weight: 600; }

@media (max-width: 860px) {
	.gallery-grid { grid-auto-rows: 150px; grid-template-columns: repeat(2, 1fr); }
	.gallery-item--1 { grid-column: span 2; grid-row: span 1; }
	.gallery-item--2, .gallery-item--3 { grid-column: span 1; }
}

.value-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.value-card {
	background: var(--everest-surface);
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	padding: 36px 30px;
	text-align: center;
	transition: border-color 0.3s var(--everest-ease), box-shadow 0.3s var(--everest-ease),
		transform 0.35s var(--everest-ease);
}

.value-card:hover {
	border-color: var(--everest-primary);
	box-shadow: var(--everest-shadow-lg);
	transform: translateY(-6px);
}

.value-card__icon {
	align-items: center;
	background: linear-gradient(135deg, rgba(0, 90, 140, 0.12) 0%, rgba(232, 71, 31, 0.08) 100%);
	border-radius: 50%;
	color: var(--everest-primary);
	display: flex;
	font-size: 1.7rem;
	height: 64px;
	justify-content: center;
	margin: 0 auto 24px;
	width: 64px;
	transition: background 0.3s var(--everest-ease), color 0.3s var(--everest-ease),
		transform 0.35s var(--everest-ease);
}

.value-card:hover .value-card__icon {
	background: var(--everest-accent);
	color: #fff;
	transform: scale(1.1);
}

.value-card__title { font-size: 1.15rem; margin-bottom: 0.6em; }
.value-card__text { color: var(--everest-muted); font-size: 0.92rem; line-height: 1.6; margin: 0; }

.team-grid {
	display: grid;
	gap: 32px;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.team-card {
	background: var(--everest-surface);
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	padding: 34px 28px 28px;
	text-align: center;
	transition: border-color 0.3s var(--everest-ease), box-shadow 0.3s var(--everest-ease),
		transform 0.35s var(--everest-ease);
}

.team-card:hover {
	border-color: var(--everest-primary);
	box-shadow: var(--everest-shadow-lg);
	transform: translateY(-6px);
}

.team-card__media {
	border-radius: 50%;
	height: 120px;
	margin: 0 auto 22px;
	overflow: hidden;
	position: relative;
	width: 120px;
}

.team-card__media img {
	border-radius: 50%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--everest-ease);
	width: 100%;
}

.team-card:hover .team-card__media img { transform: scale(1.1); }

.team-card__social {
	background: var(--everest-accent);
	border-radius: 50%;
	color: #fff;
	display: none;
	font-size: 0.9rem;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: -6px;
	top: 80px;
	width: 36px;
}
.team-card__media--has-social:hover .team-card__social { display: flex; }

.team-card__name { font-size: 1.12rem; margin-bottom: 0.25em; }
.team-card__role {
	color: var(--everest-accent);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 0.8rem;
	text-transform: uppercase;
}
.team-card__bio { color: var(--everest-muted); font-size: 0.9rem; line-height: 1.6; margin: 0; }

.certs {
	align-items: center;
	display: grid;
	gap: clamp(32px, 5vw, 70px);
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.certs { grid-template-columns: 1fr 1fr; }
}

.certs__intro { max-width: 480px; }

.certs__list { list-style: none; margin: 0; padding: 0; }

.cert {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	gap: 20px;
	padding: 22px 0;
}

.cert:last-child { border-bottom: 0; }

.cert__icon {
	align-items: center;
	background: var(--everest-accent);
	border-radius: 14px;
	color: #fff;
	display: flex;
	flex: 0 0 48px;
	font-size: 1.5rem;
	height: 48px;
	justify-content: center;
	width: 48px;
}
.cert__body { display: flex; flex-direction: column; }
.cert__code { color: #fff; display: block; font-size: 1.08rem; font-weight: 700; letter-spacing: -0.01em; }
.cert__title { color: rgba(255, 255, 255, 0.45); display: block; font-size: 0.84rem; margin-top: 2px; }

/* 22. Contact sections --------------------------------------------------- */

.info-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.info-card {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	padding: 30px 26px;
	transition: border-color 0.25s var(--everest-ease), box-shadow 0.25s var(--everest-ease),
		transform 0.3s var(--everest-ease);
}

.info-card:hover { border-color: transparent; box-shadow: var(--everest-shadow); transform: translateY(-4px); }

.info-card__icon {
	color: var(--everest-accent);
	display: block;
	font-size: 1.5rem;
	margin-bottom: 18px;
}

.info-card__label {
	color: var(--everest-muted);
	display: block;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 0.5em;
	text-transform: uppercase;
}

.info-card__value {
	color: var(--everest-ink);
	display: block;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
}

a.info-card__value:hover { color: var(--everest-accent); }

.contact-layout {
	display: grid;
	gap: clamp(36px, 5vw, 72px);
	grid-template-columns: 1fr;
}

@media (min-width: 940px) {
	.contact-layout { grid-template-columns: 0.85fr 1.15fr; }
}

.aside-heading {
	align-items: center;
	display: flex;
	font-size: 0.82rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: 0.12em;
	margin: 2rem 0 0.9rem;
	text-transform: uppercase;
}

.aside-heading i { color: var(--everest-accent); }

.aside-note {
	align-items: flex-start;
	background: var(--everest-surface-alt);
	border-left: 3px solid var(--everest-primary);
	border-radius: var(--everest-radius);
	display: flex;
	gap: 12px;
	margin-top: 2rem;
	padding: 18px 20px;
}

.aside-note i { color: var(--everest-primary); margin-top: 4px; }
.aside-note p { color: var(--everest-muted); font-size: 0.9rem; margin: 0; }

.contact-layout__form {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	box-shadow: var(--everest-shadow-sm);
	padding: clamp(26px, 3.5vw, 44px);
}

.contact-form__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: 1fr;
}

@media (min-width: 620px) {
	.contact-form__grid { grid-template-columns: 1fr 1fr; }
	.contact-form__grid .field:nth-child(3),
	.contact-form__grid .field:nth-child(4) { grid-column: auto; }
}

.form-hp { display: none; }

.form-notice {
	align-items: flex-start;
	border-radius: var(--everest-radius);
	display: flex;
	gap: 12px;
	margin-bottom: 24px;
	padding: 16px 18px;
}

.form-notice--success { background: rgba(28, 158, 88, 0.1); color: #146c43; }
.form-notice--error { background: rgba(232, 71, 31, 0.1); color: #a3300f; }
.form-notice i { margin-top: 3px; }

.field { margin: 0 0 18px; }
.field label {
	display: block;
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 0.45em;
}

.form-privacy { color: var(--everest-muted); font-size: 0.8rem; margin: 14px 0 0; text-align: center; }

/* Contact Form 7 markup alignment */
.wpcf7-not-valid-tip { color: var(--everest-accent); font-size: 0.8rem; margin-top: 5px; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
	background: rgba(232, 71, 31, 0.1);
	border: 1px solid rgba(232, 71, 31, 0.3);
	border-radius: var(--everest-radius);
	color: #a3300f;
	margin: 0 0 22px;
	padding: 14px 16px;
}

.wpcf7 form.sent .wpcf7-response-output {
	background: rgba(28, 158, 88, 0.1);
	border: 1px solid rgba(28, 158, 88, 0.3);
	border-radius: var(--everest-radius);
	color: #146c43;
	margin: 0 0 22px;
	padding: 14px 16px;
}

.wpcf7 form .wpcf7-submit { margin-top: 8px; }

.map-embed { line-height: 0; }
.map-embed iframe { border: 0; display: block; height: clamp(320px, 45vh, 480px); width: 100%; }

/* FAQ accordion */
.accordion { border-top: 1px solid var(--everest-line); }

.accordion__item { border-bottom: 1px solid var(--everest-line); }

.accordion__heading { font-size: 1rem; margin: 0; }

.accordion__trigger {
	align-items: center;
	background: none;
	border: 0;
	color: var(--everest-ink);
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	gap: 18px;
	justify-content: space-between;
	padding: 22px 0;
	text-align: left;
	width: 100%;
}

.accordion__trigger i {
	color: var(--everest-accent);
	flex: 0 0 auto;
	font-size: 0.85rem;
	transition: transform 0.28s var(--everest-ease);
}

.accordion__item.is-open .accordion__trigger i { transform: rotate(45deg); }
.accordion__item.is-open .accordion__trigger { color: var(--everest-primary); }

.accordion__panel { padding: 0 0 24px; }
.accordion__panel p { color: var(--everest-muted); margin: 0; max-width: 70ch; }

/* 23. Cards, sidebar, comments ------------------------------------------- */

.content-layout { display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr); }

@media (min-width: 940px) {
	.content-layout { grid-template-columns: minmax(0, 1fr) 310px; }
	.no-sidebar .content-layout { grid-template-columns: minmax(0, 1fr); }
}

.sidebar .widget {
	background: var(--everest-surface-alt);
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	margin-bottom: 24px;
	padding: 24px;
}

.widget-title, .footer-heading {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.sidebar ul { list-style: none; margin: 0; padding: 0; }
.sidebar li + li { border-top: 1px solid var(--everest-line); margin-top: 0.6em; padding-top: 0.6em; }
.sidebar a { text-decoration: none; }

.comments-area {
	border-top: 1px solid var(--everest-line);
	margin-top: var(--everest-section-y);
	padding-block: var(--everest-section-y);
}

.comment-list { list-style: none; margin: 0 0 2.5rem; padding: 0; }
.comment-list .children { list-style: none; margin-left: 1.5em; padding: 0; }
.comment-body { border-bottom: 1px solid var(--everest-line); padding: 1.4em 0; }
.comment-author img { border-radius: 50%; float: left; margin-right: 1em; }
.comment-author .fn { font-style: normal; font-weight: 700; }
.comment-metadata { color: var(--everest-muted); font-size: 0.82rem; margin-bottom: 0.75em; }
.comment-respond { margin-top: 2rem; }
.comment-form label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 0.35em; }
.comment-form p { margin-bottom: 1rem; }

.error-404 { padding-block: var(--everest-section-y); text-align: center; }
.error-404__code {
	color: var(--everest-accent);
	font-size: clamp(4rem, 12vw, 7rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	margin: 0 0 0.2em;
}
.error-404__text { color: var(--everest-muted); margin-inline: auto; max-width: 52ch; }
.error-404 .search-form { margin: 2rem auto; }
.no-results, .no-comments { color: var(--everest-muted); }

/* 24. Footer ------------------------------------------------------------ */

.site-footer {
	background: var(--everest-ink);
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.93rem;
}

.site-footer__grid {
	display: grid;
	gap: 44px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	padding-block: clamp(48px, 6vw, 74px);
}

.site-footer__brand .site-title { color: #fff; }
.site-footer__brand img { max-height: 40px; width: auto; }
.site-footer__brand .site-description { color: var(--everest-accent); }
.site-footer__about { margin: 1.1em 0 0; max-width: 38ch; }
.site-footer .footer-heading { color: #fff; }
.site-footer a { color: rgba(255, 255, 255, 0.66); text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { color: #fff; }

.footer-links, .footer-contact, .social-links, .footer-legal ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-links li, .footer-contact li { padding: 0.3em 0; }
.footer-contact li { color: rgba(255, 255, 255, 0.55); }

.social-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.25rem; }
.social-links a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	display: flex;
	height: 38px;
	justify-content: center;
	transition: background 0.2s var(--everest-ease), border-color 0.2s var(--everest-ease);
	width: 38px;
}
.social-links a:hover { background: var(--everest-accent); border-color: var(--everest-accent); }

.site-footer__bar { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.site-footer__bar-inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	justify-content: space-between;
	padding-block: 18px;
}
.site-footer__copyright { font-size: 0.84rem; margin: 0; }
.footer-legal ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* 26. Brand finish ------------------------------------------------------ */

/* Keep the home page sections closer together while preserving room around
 * their content. Inner pages retain the larger shared section spacing. */
.site-main--front > .section {
	padding-block: clamp(48px, 5vw, 76px);
}

.site-main--front .section-heading {
	margin-bottom: clamp(28px, 3vw, 42px);
}

.site-main--front .clients-strip {
	padding-block: 28px;
}

.site-main--front > .cta .cta__inner {
	padding-block: clamp(44px, 4.5vw, 64px);
}

.site-main--front .section-foot .btn,
.site-main--front .split__body > .btn {
	align-items: center;
	background: var(--everest-primary);
	border-color: var(--everest-primary);
	border-radius: var(--everest-radius);
	color: #fff;
	justify-content: center;
	min-height: 52px;
	min-width: 190px;
	padding: 0.9em 1.5em;
}

.site-main--front .section-foot .btn:hover,
.site-main--front .section-foot .btn:focus-visible,
.site-main--front .split__body > .btn:hover,
.site-main--front .split__body > .btn:focus-visible {
	background: var(--everest-primary-dark);
	border-color: var(--everest-primary-dark);
	color: #fff;
}

.site-main--front .industry-grid {
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
}

.site-main--front .industry-card {
	background: #fff;
	border: 1px solid var(--everest-line);
	border-radius: var(--everest-radius-lg);
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	min-height: 260px;
	padding: 30px 28px 56px;
}

.site-main--front .industry-card:hover {
	background: var(--everest-ink);
	box-shadow: var(--everest-shadow);
	transform: translateY(-4px);
}

.section--alt {
	background: linear-gradient(180deg, #f8fafb 0%, var(--everest-surface-alt) 100%);
}

.section--alt::before,
.section--stats::before {
	background: linear-gradient(90deg, transparent, rgba(0, 93, 131, 0.18), transparent);
}

.btn {
	border-radius: var(--everest-radius);
	box-shadow: 0 5px 14px rgba(0, 45, 70, 0.12);
}

.btn-primary:hover,
.btn-primary:focus-visible {
	box-shadow: 0 12px 26px rgba(0, 59, 89, 0.28);
}

.btn-accent {
	background: var(--everest-brand-gradient);
}

.btn-accent:hover,
.btn-accent:focus-visible {
	background: linear-gradient(110deg, #d96523 0%, #c9471c 55%, #a9231d 100%);
	box-shadow: 0 12px 26px rgba(185, 47, 32, 0.26);
}

.masthead {
	box-shadow: 0 4px 18px rgba(0, 45, 70, 0.035);
}

.masthead.is-stuck {
	box-shadow: 0 10px 28px rgba(0, 45, 70, 0.12);
}

.main-nav__list .current-menu-item > a,
.main-nav__list .current_page_item > a {
	box-shadow: inset 0 -3px 0 var(--everest-accent);
}

.hero-slide__overlay {
	background:
		linear-gradient(100deg, rgba(0, 31, 48, calc(var(--everest-overlay, 0.55) + 0.2)) 0%,
			rgba(0, 53, 78, var(--everest-overlay, 0.55)) 54%,
			rgba(0, 93, 131, calc(var(--everest-overlay, 0.55) * 0.56)) 100%),
		linear-gradient(0deg, rgba(0, 22, 36, 0.18), transparent 52%);
}

.project-card__link,
.capability-card,
.industry-card,
.service-card,
.info-card {
	border-radius: var(--everest-radius-lg);
}

.project-card__link {
	box-shadow: 0 4px 16px rgba(0, 45, 70, 0.045);
}

.project-card__link:hover,
.project-card__link:focus-visible {
	box-shadow: 0 24px 54px rgba(0, 45, 70, 0.19);
}

.project-card__more,
.section-eyebrow,
.capability-card__icon {
	color: var(--everest-accent);
}

.site-footer {
	background: linear-gradient(145deg, #102a3a 0%, #0e1520 75%);
	border-top: 3px solid transparent;
	border-image: var(--everest-brand-gradient) 1;
}

.site-footer .site-description,
.site-footer__brand .site-description {
	color: #ee8751;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* 25. Motion and utilities ---------------------------------------------- */

[data-reveal].reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s var(--everest-ease), transform 0.7s var(--everest-ease);
	transition-delay: var(--reveal-delay, 0ms);
}

[data-reveal].reveal.is-visible { opacity: 1; transform: none; }

.everest-attach { display: block; height: 100%; }
.everest-attach img { height: 100%; object-fit: cover; width: 100%; }
.everest-attach.is-missing { background: var(--everest-surface-2); display: block; }

.masthead__cta .btn { font-size: 0.88rem; padding: 0.75em 1.4em; }

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}

	[data-reveal].reveal { opacity: 1; transform: none; }
	.hero-slider__progress { display: none; }
	.marquee__track { animation: none; }
}

@media print {
	.topbar, .masthead, .cta, .site-footer, .hero-slider, .sidebar { display: none; }
	body { color: #000; }
}

/* Project detail case studies ------------------------------------------ */

.project-hero {
	align-items: flex-end;
	background: linear-gradient(135deg, var(--everest-primary-dark), var(--everest-ink));
	display: flex;
	min-height: clamp(420px, 48vw, 620px);
	overflow: hidden;
	position: relative;
}

.project-hero__media,
.project-hero__overlay {
	inset: 0;
	position: absolute;
}

.project-hero__media { overflow: hidden; }
.project-hero__image { height: 100%; object-fit: cover; width: 100%; }

.project-hero__overlay {
	background: linear-gradient(90deg, rgba(4, 20, 31, 0.88) 0%, rgba(4, 27, 41, 0.58) 58%, rgba(4, 27, 41, 0.12) 100%),
		linear-gradient(0deg, rgba(4, 20, 31, 0.68), transparent 72%);
}

.project-hero__inner {
	padding-bottom: clamp(52px, 7vw, 92px);
	padding-top: clamp(72px, 10vw, 128px);
	position: relative;
	z-index: 1;
}

.project-hero__breadcrumbs {
	align-items: center;
	color: rgba(255, 255, 255, 0.72);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.84rem;
	gap: 10px;
	margin-bottom: clamp(44px, 7vw, 88px);
}

.project-hero__breadcrumbs a { color: inherit; text-decoration: none; }
.project-hero__breadcrumbs a:hover { color: #fff; }
.project-hero__breadcrumbs i { color: var(--everest-accent-soft); font-size: 0.7em; }

.project-hero__eyebrow {
	color: #f28b56;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.project-hero__title {
	color: #fff;
	font-size: clamp(2.4rem, 5.4vw, 4.8rem);
	letter-spacing: -0.045em;
	margin: 0;
	max-width: 900px;
}

.project-hero__terms {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.project-hero__terms li {
	backdrop-filter: blur(8px);
	background: rgba(255, 255, 255, 0.13);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--everest-radius-pill);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 7px 14px;
}

.project-detail__layout {
	align-items: start;
	display: grid;
	gap: clamp(36px, 6vw, 88px);
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.75fr);
}

.project-detail__story { max-width: 760px; }
.project-detail__story .section-eyebrow { margin-bottom: 20px; }
.project-detail__content { color: #46535e; font-size: clamp(1.08rem, 1.45vw, 1.25rem); line-height: 1.85; }
.project-detail__content > :first-child { margin-top: 0; }
.project-detail__content > :last-child { margin-bottom: 0; }

.project-detail__aside {
	background: linear-gradient(155deg, #f7fafb, #edf3f6);
	border: 1px solid #e0e8ed;
	border-radius: 16px;
	box-shadow: 0 20px 48px rgba(0, 45, 70, 0.09);
	padding: clamp(24px, 3vw, 36px);
}

.project-detail__aside-heading { align-items: center; display: flex; gap: 14px; margin-bottom: 26px; }
.project-detail__aside-heading h2 { font-size: 1.15rem; margin: 0; }
.project-detail__aside-icon {
	align-items: center;
	background: var(--everest-primary);
	border-radius: 11px;
	color: #fff;
	display: inline-flex;
	flex: 0 0 44px;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.project-detail__facts { border-block: 1px solid #dce5ea; margin: 0; padding: 18px 0; }
.project-detail__facts dt { color: var(--everest-muted); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em; margin-bottom: 10px; text-transform: uppercase; }
.project-detail__facts dd { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.project-detail__facts dd span { background: #fff; border: 1px solid #dce5ea; border-radius: 999px; color: var(--everest-primary-dark); font-size: 0.82rem; font-weight: 700; padding: 6px 11px; }
.project-detail__aside-note { color: #596771; font-size: 0.9rem; line-height: 1.7; margin: 18px 0 22px; }
.project-detail__cta { justify-content: space-between; width: 100%; }

.project-related { border-top: 1px solid var(--everest-line); }
.project-related__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }

@media (max-width: 767px) {
	.project-hero { min-height: 430px; }
	.project-hero__overlay { background: linear-gradient(90deg, rgba(4, 20, 31, 0.82), rgba(4, 27, 41, 0.26)), linear-gradient(0deg, rgba(4, 20, 31, 0.7), transparent 80%); }
	.project-hero__breadcrumbs { margin-bottom: 54px; }
	.project-detail__layout { grid-template-columns: 1fr; }
	.project-detail__aside { max-width: 560px; }
}

/* Corporate finish: clearer hierarchy, a more deliberate navigation, and
 * consistent interaction states across the site's existing components. */
:root {
	--everest-ink: #142631;
	--everest-ink-2: #243b49;
	--everest-muted: #657782;
	--everest-line: #dfe7eb;
	--everest-line-2: #edf1f3;
	--everest-surface-alt: #f5f8f9;
	--everest-header-h: 84px;
}

body { line-height: 1.72; }

.topbar {
	background: #102a38;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.78rem;
}

.topbar__inner { min-height: 42px; }
.topbar__contact { gap: 8px 26px; }
.topbar__contact li { position: relative; }
.topbar__contact li + li::before {
	background: rgba(255, 255, 255, 0.2);
	content: "";
	height: 14px;
	left: -14px;
	position: absolute;
	width: 1px;
}
.topbar__contact a { transition: color 0.2s var(--everest-ease); }
.topbar__social a { background: rgba(255, 255, 255, 0.04); height: 30px; width: 30px; }

.masthead {
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: blur(14px);
	border-bottom-color: rgba(20, 38, 49, 0.08);
}

.masthead__inner { gap: clamp(12px, 1.8vw, 26px); }
.masthead__branding { flex: 0 0 auto; max-width: 250px; }
.masthead__branding img { max-height: 48px; }
.main-nav { margin-left: auto; }
.main-nav__list { align-items: center; gap: 4px; }
.main-nav__list > li > a {
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 650;
	letter-spacing: 0.005em;
	padding: 0.76em 0.88em;
	position: relative;
}
.main-nav__list > li > a::after {
	background: var(--everest-accent);
	border-radius: 2px;
	bottom: 5px;
	content: "";
	height: 2px;
	left: 0.88em;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s var(--everest-ease);
	width: calc(100% - 1.76em);
}
.main-nav__list > li > a:hover,
.main-nav__list > li > a:focus-visible,
.main-nav__list > .current-menu-item > a,
.main-nav__list > .current_page_item > a {
	background: #f2f7f9;
	color: var(--everest-primary-dark);
}
.main-nav__list > li > a:hover::after,
.main-nav__list > li > a:focus-visible::after,
.main-nav__list > .current-menu-item > a::after,
.main-nav__list > .current_page_item > a::after { transform: scaleX(1); }
.main-nav__list .current-menu-item > a,
.main-nav__list .current_page_item > a { box-shadow: none; }

.masthead__cta {
	border-radius: 7px;
	box-shadow: 0 7px 18px rgba(185, 47, 32, 0.16);
	flex: 0 0 auto;
	font-size: 0.84rem;
	font-weight: 750;
	letter-spacing: 0.015em;
	min-height: 46px;
	padding: 0.72em 1.2em;
}
.masthead__cta i { font-size: 0.8em; }
.masthead__mobile-cta { display: none; }

.main-nav__list .sub-menu {
	border: 1px solid rgba(20, 38, 49, 0.1);
	border-radius: 10px;
	box-shadow: 0 18px 44px rgba(12, 37, 51, 0.16);
	margin-top: 12px;
	min-width: 250px;
	padding: 8px;
}
.main-nav__list .sub-menu::before {
	content: "";
	height: 14px;
	left: 0;
	position: absolute;
	right: 0;
	top: -14px;
}
.main-nav__list .sub-menu a { border-radius: 6px; font-size: 0.9rem; padding: 0.72em 0.85em; }

.section-heading { max-width: 790px; }
.section-eyebrow {
	align-items: center;
	color: var(--everest-primary);
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	margin-bottom: 14px;
}
.section-eyebrow::before {
	background: var(--everest-accent);
	content: "";
	height: 2px;
	margin-right: 10px;
	width: 22px;
}
.section-title { letter-spacing: -0.035em; }
.section-text { color: #60727d; font-size: 1.02rem; max-width: 66ch; }

.page-hero {
	background:
		linear-gradient(115deg, rgba(0, 93, 131, 0.045), transparent 48%),
		var(--everest-surface-alt);
	padding-block: clamp(32px, 4.2vw, 56px);
}
.page-hero__title { letter-spacing: -0.04em; }
.breadcrumbs { font-size: 0.78rem; gap: 8px; }

.capability-card,
.industry-card,
.info-card,
.service-card,
.project-card__link {
	border-color: #e2e9ed;
	box-shadow: 0 7px 22px rgba(12, 37, 51, 0.055);
}
.capability-card:hover,
.info-card:hover,
.service-card:hover {
	box-shadow: 0 18px 40px rgba(0, 59, 89, 0.13);
	transform: translateY(-4px);
}
.industry-card { transition: background 0.25s var(--everest-ease), border-color 0.25s var(--everest-ease), box-shadow 0.25s var(--everest-ease), transform 0.25s var(--everest-ease); }
.project-card__title { letter-spacing: -0.02em; }

.btn { min-height: 48px; }
.btn-primary, .btn-accent { font-weight: 750; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], select, textarea {
	border: 1px solid #cfdbe1;
	border-radius: 7px;
	box-shadow: 0 1px 2px rgba(14, 21, 32, 0.025);
	min-height: 48px;
	transition: border-color 0.18s var(--everest-ease), box-shadow 0.18s var(--everest-ease);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="search"]:focus, select:focus, textarea:focus {
	border-color: var(--everest-primary-light);
	box-shadow: 0 0 0 4px rgba(0, 93, 131, 0.1);
	outline: 0;
}

.site-footer { border-top-width: 3px; }
.site-footer__grid { gap: clamp(28px, 4vw, 60px); }
.site-footer .footer-heading { letter-spacing: 0.01em; }

@media (max-width: 1023px) {
	.masthead__inner { min-height: 76px; }
	.menu-toggle {
		background: #f4f8f9;
		border-color: #d9e4e9;
		border-radius: 8px;
		color: var(--everest-primary-dark);
		display: inline-flex;
		margin-left: auto;
	}
	.menu-toggle:hover, .menu-toggle[aria-expanded="true"] {
		background: var(--everest-primary-dark);
		border-color: var(--everest-primary-dark);
		color: #fff;
	}
	.main-nav {
		background: #fff;
		border: 1px solid rgba(20, 38, 49, 0.1);
		border-radius: 0 0 14px 14px;
		box-shadow: 0 20px 38px rgba(12, 37, 51, 0.14);
		display: none;
		left: 0;
		margin-left: 0;
		padding: 14px var(--everest-gutter) 22px;
		position: absolute;
		right: 0;
		top: 100%;
		width: 100%;
	}
	.main-nav.is-open { display: block; }
	.main-nav__list { align-items: stretch; gap: 3px; }
	.main-nav__list > li > a {
		border-radius: 7px;
		font-size: 0.98rem;
		padding: 0.82em 0.95em;
	}
	.main-nav__list > li > a::after { display: none; }
	.main-nav__list .sub-menu { margin: 0 0 4px 10px; min-width: 0; }
	.masthead__mobile-cta {
		align-items: center;
		background: var(--everest-accent);
		border-radius: 7px;
		color: #fff;
		display: flex;
		font-size: 0.92rem;
		font-weight: 750;
		gap: 10px;
		justify-content: space-between;
		margin-top: 14px;
		padding: 14px 16px;
		text-decoration: none;
	}
	.masthead__mobile-cta:hover, .masthead__mobile-cta:focus-visible { background: var(--everest-accent-dark); color: #fff; }
}

@media (max-width: 640px) {
	:root { --everest-gutter: 18px; }
	.topbar__inner { justify-content: center; padding-block: 7px; }
	.topbar__contact { justify-content: center; width: 100%; }
	.topbar__right { justify-content: center; margin-left: 0; width: 100%; }
	.topbar__contact li + li::before { display: none; }
	.masthead__branding { max-width: min(220px, 67vw); }
	.masthead__branding img { max-height: 42px; }
	.menu-toggle { padding: 0.62em 0.72em; }
	.menu-toggle__label { font-size: 0.74rem; }
	.section-heading { margin-bottom: 28px; }
	.section-text { font-size: 0.98rem; }
}

.site-footer__brand .social-links {
	align-items: center;
	gap: 10px;
	justify-content: flex-start;
	margin: 22px 0 0;
	padding: 0;
}
.site-footer__brand .social-links li {
	line-height: 1;
	margin: 0;
	padding: 0;
}
.site-footer__brand .social-links a {
	align-items: center;
	background: rgba(255, 255, 255, 0.04);
	box-sizing: border-box;
	color: rgba(255, 255, 255, 0.82);
	display: inline-flex;
	flex: 0 0 40px;
	height: 40px;
	justify-content: center;
	line-height: 1;
	width: 40px;
}
.site-footer__brand .social-links a:hover,
.site-footer__brand .social-links a:focus-visible {
	background: var(--everest-accent);
	border-color: var(--everest-accent);
	color: #fff;
}
.site-footer__brand .social-links i { display: block; font-size: 0.95rem; line-height: 1; }

.section--map {
	background: linear-gradient(180deg, #f5f8f9 0%, #edf3f5 100%);
	border-top: 1px solid #e4ebee;
	padding-block: clamp(58px, 7vw, 96px);
}
.map-section__heading { margin: 0 0 clamp(26px, 3.5vw, 42px); max-width: 680px; }
.map-section__heading .section-title { margin-bottom: 12px; }
.map-layout {
	align-items: stretch;
	display: grid;
	gap: clamp(18px, 2.5vw, 32px);
	grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.55fr);
}
.map-embed {
	background: #dce6e9;
	border: 1px solid rgba(20, 38, 49, 0.1);
	border-radius: 16px;
	box-shadow: 0 14px 38px rgba(13, 42, 56, 0.1);
	line-height: 0;
	min-height: 420px;
	overflow: hidden;
	position: relative;
}
.map-embed iframe { border: 0; display: block; height: 100%; inset: 0; min-height: 420px; position: absolute; width: 100%; }
.map-embed__label {
	align-items: center;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(20, 38, 49, 0.09);
	border-radius: 999px;
	box-shadow: 0 4px 16px rgba(14, 21, 32, 0.12);
	color: var(--everest-ink);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 750;
	gap: 8px;
	left: 18px;
	line-height: 1.2;
	padding: 10px 14px;
	position: absolute;
	top: 18px;
	z-index: 1;
}
.map-embed__label i { color: var(--everest-accent); }
.map-details {
	background:
		linear-gradient(145deg, rgba(22, 121, 159, 0.3), transparent 50%),
		linear-gradient(155deg, #10394d 0%, #102631 78%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(13, 42, 56, 0.15);
	color: rgba(255, 255, 255, 0.72);
	display: flex;
	flex-direction: column;
	padding: clamp(26px, 3.2vw, 40px);
}
.map-details__icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 12px;
	color: #ff9b65;
	display: inline-flex;
	font-size: 1.2rem;
	height: 48px;
	justify-content: center;
	margin-bottom: 24px;
	width: 48px;
}
.map-details__eyebrow {
	color: #f28b56;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	margin: 0 0 8px;
	text-transform: uppercase;
}
.map-details h3 { color: #fff; font-size: clamp(1.45rem, 2vw, 1.8rem); margin: 0 0 26px; }
.map-details__item {
	align-items: flex-start;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	display: flex;
	gap: 13px;
	padding: 18px 0;
}
.map-details__item-icon {
	align-items: center;
	color: #ff9b65;
	display: inline-flex;
	flex: 0 0 20px;
	height: 22px;
	justify-content: center;
	margin-top: 1px;
}
.map-details__item strong { color: #fff; display: block; font-size: 0.82rem; margin-bottom: 4px; }
.map-details__item p { color: rgba(255, 255, 255, 0.68); font-size: 0.92rem; line-height: 1.65; margin: 0; }
.map-details__directions { justify-content: space-between; margin-top: auto; min-height: 50px; }

@media (max-width: 900px) {
	.map-layout { grid-template-columns: minmax(0, 1fr); }
	.map-embed, .map-embed iframe { min-height: 390px; }
	.map-details { display: grid; gap: 0 24px; grid-template-columns: 1fr 1fr; }
	.map-details__icon, .map-details__eyebrow, .map-details h3, .map-details__directions { grid-column: 1 / -1; }
	.map-details__icon { margin-bottom: 18px; }
	.map-details h3 { margin-bottom: 18px; }
	.map-details__directions { margin-top: 16px; }
}

@media (max-width: 600px) {
	.map-embed, .map-embed iframe { min-height: 320px; }
.map-embed, .map-details { border-radius: 12px; }
	.map-details { display: flex; }
	.map-details__item { width: 100%; }
}

/* Keep the client testimonial panel calm and easy to read. */
.site-main--front .section--testimonials.section--dark { background: #f4f6f7; color: var(--everest-ink); }
.site-main--front .section--testimonials.section--dark .section-title { color: var(--everest-ink); }
.site-main--front .section--testimonials.section--dark .section-eyebrow { color: var(--everest-primary); }
.site-main--front .section--testimonials.section--dark .section-text { color: var(--everest-muted); }
.site-main--front .section--testimonials .testimonial__quote p { color: #31434d; font-size: clamp(1.08rem, 1.7vw, 1.35rem); font-weight: 450; }
.site-main--front .section--testimonials .testimonial__stars { color: var(--everest-accent); font-size: 0.8rem; margin-bottom: 16px; }
.site-main--front .section--testimonials .testimonial__avatar { background: #fff; border: 1px solid #bdcbd1; border-radius: 4px; color: var(--everest-primary); height: 38px; width: 38px; }
.site-main--front .section--testimonials .testimonial__author strong { color: var(--everest-ink); }
.site-main--front .section--testimonials .testimonial__author em { color: var(--everest-muted); }
.site-main--front .section--testimonials .t-btn { border-color: #bac7cd; border-radius: 4px; color: var(--everest-ink); height: 38px; width: 38px; }
.site-main--front .section--testimonials .t-btn:hover { background: var(--everest-primary); border-color: var(--everest-primary); color: #fff; }
.site-main--front .section--testimonials .t-dot { background: #b9c5cb; border-radius: 0; }
.site-main--front .section--testimonials .t-dot.is-active { background: var(--everest-primary); }
