:root {
	--navy:#10283c;
	--navy-deep:#0b1e30;
	--gold:#d5b27a;
	--text:#1b3043;
	--muted:#536476;
	--paper:#f7f8f8
}

* {
	box-sizing:border-box
}

html {
	scroll-behavior:smooth
}

body {
	margin:0;
	font-family:Arial,Helvetica,sans-serif;
	color:var(--text);
	line-height:1.65
}

a {
	color:inherit
}

.wrap {
	width:min(1120px,calc(100% - 48px));
	margin:auto
}

.skip {
	position:absolute;
	top:-60px;
	left:10px;
	background:white;
	color:black;
	padding:8px;
	z-index:20
}

.skip:focus {
	top:10px
}

.site-header {
	background:var(--navy-deep);
	color:white;
	position:relative;
	z-index:2
}

.header-inner {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:24px;
	min-height:95px
}

.brand {
	text-decoration:none;
	display:flex;
	flex-direction:column;
	line-height:1.15
}

.brand-name {
	font-size:25px;
	letter-spacing:.14em;
	font-weight:400;
	white-space:nowrap
}

.plus {
	color:var(--gold)
}

.brand-sub,.footer-sub {
	display:block;
	font-size:9px;
	letter-spacing:.105em;
	margin-top:9px;
	color:#d0dce4
}

.site-header nav {
	display:flex;
	gap:32px
}

.site-header nav a {
	text-decoration:none;
	font-size:14px;
	color:#e7edf2
}

.site-header nav a:hover,.site-header nav a:focus {
	color:var(--gold)
}

.hero {
	background:linear-gradient(90deg,rgba(7,24,39,.85),rgba(7,24,39,.50) 55%,rgba(7,24,39,.10)),url('assets/mountains.png') center 51%/cover no-repeat;
	color:white;
	min-height:575px;
	display:flex;
	align-items:center
}

.hero-content {
	padding-top:85px;
	padding-bottom:95px
}

.eyebrow {
	color:var(--gold);
	font-size:12px;
	letter-spacing:.23em;
	font-weight:700;
	margin:0 0 18px
}

.eyebrow.dark {
	color:#9b723e
}

.hero h1 {
	font-size:clamp(42px,5.2vw,70px);
	line-height:1.12;
	letter-spacing:-.035em;
	font-weight:500;
	max-width:750px;margin:0
}

.gold-line {
	width:62px;
	height:3px;
	background:var(--gold);
	margin:30px 0
}

.hero-copy {
	font-size:19px;
	line-height:1.65;
	max-width:570px;
	color:#edf2f6;
	margin-bottom:29px
}

.button {
	display:inline-flex;
	align-items:center;
	gap:35px;
	background:var(--gold);
	color:#11283b;
	text-decoration:none;
	padding:14px 22px;
	border-radius:3px;
	font-weight:700;
	font-size:14px
}

.button:hover,.button:focus {
	background:#e7c896
}

.section {
	padding:90px 0
}

.section h2 {
	font-size:clamp(30px,3.5vw,43px);
	font-weight:500;
	line-height:1.2;
	letter-spacing:-.025em;
	margin:0 0 20px
}

.services {
	background:var(--paper)
}

.section-intro {
	max-width:710px;
	color:var(--muted);
	font-size:17px;
	margin:0 0 45px
}

.service-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px
}

.service {
	background:white;
	padding:28px 24px 24px;
	border-top:3px solid var(--gold);
	box-shadow:0 7px 26px rgba(16,40,60,.045)
}

.service-num {
	font-size:12px;
	color:#a27b48;
	letter-spacing:.12em
}

.service h3 {
	font-size:19px;
	line-height:1.3;
	margin:16px 0 12px;
	font-weight:600
}

.service p {
	font-size:14px;
	color:var(--muted);
	margin:0
}

.experience {
	background:var(--navy);
	color:#eef4f8
}

.experience-grid {
	display:grid;
	grid-template-columns:1.25fr .75fr;
	gap:85px
}

.experience h2 {
	color:white
}

.experience p {
	color:#d4e0e9
}

.experience strong {
	color:white
}

.experience-aside {
	border-left:1px solid #496174;
	padding-left:55px
}

.stat {
	margin-bottom:35px;
	color:#d8e4eb
}

.stat strong {
	display:block;
	font-size:43px;
	line-height:1.25;
	color:white;
	font-weight:500
}

.stat span {
	font-size:14px
}

.tech-title {
	font-size:11px;
	letter-spacing:.19em;
	color:var(--gold);
	font-weight:bold;
	margin-top:26px
}

.experience-aside p {
	font-size:15px;margin:8px 0
}

.contact {
	text-align:center;
	background:#fff
}

.contact .wrap {
	max-width:720px
}

.contact p:not(.eyebrow):not(.contact-note){ 
	color:var(--muted);
	font-size:17px;
	margin:0 auto 30px
}

.contact-note {
	font-size:13px;
	color:var(--muted);
	margin-top:18px
}

footer {
	background:var(--navy-deep);
	color:white;
	padding:32px 0
}

.footer-inner {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:24px
}

.footer-brand {
	letter-spacing:.15em;
	font-size:18px
}

.footer-inner p {
	font-size:12px;
	color:#b4c3cf
}

.footer-sub {
	font-size:8px;
	letter-spacing:.08em
}

@media(max-width:850px){ 
	.service-grid {
		grid-template-columns:repeat(2,1fr)
	}
	
	.experience-grid {
		gap:35px
	}
	
	.experience-aside {
		padding-left:30px
	}
}

@media(max-width:600px){
	.wrap {
		width:min(100% - 36px,1120px)
	}
	
	.header-inner {
		flex-direction:column;
		align-items:flex-start;
		justify-content:center;
		padding:18px 0;
		gap:17px
	}
	
	.brand-name {
		font-size:21px
	}
	
	.site-header nav {
		gap:22px
	}
	
	.site-header nav a {
		font-size:13px
	}
	
	.hero {
		min-height:530px;
		background-position:center,65% center
	}
	
	.hero-content {
		padding:60px 0 75px
	}
	
	.hero-copy {
		font-size:17px
	}
	
	.section {
		padding:65px 0
	}
	
	.service-grid,.experience-grid {
		grid-template-columns:1fr
	}
	
	.experience-aside {
		border-left:none;
		border-top:1px solid #496174;
		padding:25px 0 0
	}
	
	.footer-inner {
		flex-direction:column;
		align-items:
		flex-start
	}
	
	.service {
		padding:24px
	}
}

@media(prefers-reduced-motion:reduce){
	html{
		scroll-behavior:auto
	}
}

@media(max-width:600px){
	.brand-sub {
		font-size:7.5px;
		letter-spacing:.065em
	}
	
	.footer-sub {
		font-size:7px;
		letter-spacing:.055em
	}
}