:root {
	--og-navy: #0b1f33;
	--og-blue: #1769aa;
	--og-bronze: #b58b2a;
	--og-ink: #1f2933;
	--og-muted: #607080;
	--og-line: #dfe7ee;
	--og-off: #f7f8fa;
	--og-white: #ffffff;
	--og-radius: 4px;
	--og-sans: "Avenir Next", "Segoe UI", sans-serif;
	--og-heading: "Avenir Next", "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--og-white);
	color: var(--og-ink);
	font-family: var(--og-sans);
	font-size: 16px;
	line-height: 1.65;
}
body.og-theme { overflow-x: hidden; }
body.og-lightbox-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: 3px solid var(--og-bronze);
	outline-offset: 3px;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.og-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

/* Header */
.og-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(11, 31, 51, .97);
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	backdrop-filter: blur(16px);
	transition: background-color .25s ease, box-shadow .25s ease;
}
.og-header.is-scrolled { box-shadow: 0 10px 32px rgba(7, 22, 39, .18); }
.og-header__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.og-brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; font-family: var(--og-heading); font-size: 1.1rem; font-weight: 700; letter-spacing: -.025em; }
.og-brand img { display: block; width: auto; max-width: 190px; max-height: 50px; }
.og-brand__mark { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid var(--og-bronze); color: var(--og-bronze); font-size: 1.4rem; line-height: 1; }
.og-brand__text { max-width: 210px; }
.og-nav, .og-nav ul { display: flex; align-items: center; }
.og-nav { gap: 30px; }
.og-nav ul { gap: 25px; margin: 0; padding: 0; list-style: none; }
.og-nav a { color: rgba(255,255,255,.78); font-size: .84rem; transition: color .2s ease; }
.og-nav a:hover, .og-nav .current-menu-item > a { color: #fff; }
.og-menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.og-menu-toggle span:not(.screen-reader-text) { display: block; width: 24px; height: 2px; margin: 5px; background: #fff; }

/* Buttons and typography */
.og-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	padding: 13px 20px;
	border: 1px solid var(--og-blue);
	border-radius: var(--og-radius);
	background: var(--og-blue);
	color: #fff;
	font-size: .86rem;
	font-weight: 650;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.og-button:hover { transform: translateY(-2px); filter: brightness(1.08); }
.og-button--small { padding: 10px 14px; font-size: .76rem; }
.og-button--ghost { border-color: rgba(255,255,255,.48) !important; background: transparent !important; color: #fff; }
.og-button--ghost:hover { border-color: #fff !important; background: #fff !important; color: var(--og-navy); }
.og-button--dark { border-color: var(--og-navy) !important; background: var(--og-navy) !important; }
.og-button--light { border-color: #fff !important; background: #fff !important; color: var(--og-navy); }
.og-eyebrow { margin: 0 0 17px; color: var(--og-blue); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.og-eyebrow--light { color: #dfbd67; }
.og-text-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--og-blue); font-size: .85rem; font-weight: 650; transition: color .2s ease, transform .2s ease; }
.og-text-link:hover { color: var(--og-navy); transform: translateX(2px); }

/* Hero */
.og-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: calc(100vh - 78px);
	overflow: hidden;
	background-color: var(--og-navy);
	background-position: center;
	background-size: cover;
	color: #fff;
}
.og-hero::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg,#000,transparent); pointer-events: none; }
.og-hero__video, .og-hero__video-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.og-hero__video { object-fit: cover; }
.og-hero__video-overlay { background: linear-gradient(90deg,rgba(7,22,39,.92),rgba(7,22,39,.48)); }
.og-hero__content { position: relative; z-index: 2; padding: 110px 0 150px; }
.og-hero h1 { max-width: 820px; margin: 18px 0 30px; color: #fff; font-family: var(--og-heading); font-size: clamp(3rem,7vw,6.7rem); font-weight: 800; letter-spacing: -.065em; line-height: .94; }
.og-hero__lead { max-width: 570px; margin: 0 0 36px; color: rgba(255,255,255,.78); font-size: clamp(1rem,2vw,1.25rem); }
.og-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.og-hero__meta { position: absolute; right: 8%; bottom: 38px; z-index: 2; display: flex; align-items: center; gap: 18px; color: rgba(255,255,255,.6); font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.og-hero__meta span:first-child { color: var(--og-bronze); font-size: 1.1rem; }

/* Shared sections */
.og-section { padding: 120px 0; }
.og-section--offwhite { background: var(--og-off); }
.og-section--navy { background: var(--og-navy); color: #fff; }
.og-section--blue { background: var(--og-blue); color: #fff; }
.og-section--navy h2, .og-section--navy h3, .og-section--blue h2, .og-section--blue h3 { color: #fff; }
.og-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 45px; }
.og-section-heading h2, .og-copy h2, .og-hse-panel h2, .og-contact-grid h2 { max-width: 680px; margin: 0; color: var(--og-navy); font-family: var(--og-heading); font-size: clamp(2rem,4vw,3.55rem); font-weight: 750; letter-spacing: -.05em; line-height: 1.03; }
.og-section-heading--light h2, .og-hse-panel h2, .og-contact-grid h2 { color: #fff; }
.og-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }
.og-split--reverse { grid-template-columns: 1.1fr .9fr; }
.og-richtext { font-size: 1.04rem; }
.og-richtext p { margin: 0 0 16px; }
.og-richtext h2, .og-richtext h3 { color: var(--og-navy); font-family: var(--og-heading); }
.og-richtext a { color: var(--og-blue); text-decoration: underline; }

/* About */
.og-media-frame { position: relative; padding: 0 0 30px 30px; }
.og-media-frame__line { position: absolute; top: 30px; bottom: 0; left: 0; width: 2px; background: var(--og-bronze); }
.og-media-frame img, .og-image-placeholder { display: block; width: 100%; height: 500px; object-fit: cover; background: linear-gradient(135deg,#b1c1cf,#dfe7ee 45%,#274b68); }
.og-media-frame__label { position: absolute; right: 0; bottom: 0; padding: 9px 15px; background: var(--og-navy); color: #fff; font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.og-copy h2 { margin-bottom: 25px; }
.og-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 45px; padding-top: 22px; border-top: 1px solid var(--og-line); }
.og-stats strong { display: block; color: var(--og-navy); font-family: var(--og-heading); font-size: 1.8rem; }
.og-stats span { display: block; margin-top: 5px; color: var(--og-muted); font-size: .7rem; line-height: 1.3; }

/* Vision and mission */
.og-values-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 50px; border-top: 1px solid rgba(255,255,255,.2); }
.og-values-grid article { margin-right: 32px; padding: 28px 32px 15px 0; border-right: 1px solid rgba(255,255,255,.2); }
.og-values-grid article:last-child { margin-right: 0; border: 0; }
.og-number, .og-card__index { color: var(--og-bronze); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.og-values-grid h3 { margin: 50px 0 14px; color: #fff; font-family: var(--og-heading); font-size: 1.45rem; }
.og-values-grid p { margin: 0; color: rgba(255,255,255,.7); }

/* Services */
.og-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.og-card { display: flex; flex-direction: column; min-height: 270px; padding: 28px; border: 1px solid var(--og-line); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.og-card:hover { transform: translateY(-7px); border-color: #9ab5ca; box-shadow: 0 20px 35px rgba(11,31,51,.11); }
.og-card__top { display: flex; justify-content: space-between; }
.og-card__icon { color: var(--og-blue); font-size: 1.2rem; }
.og-card h2, .og-card h3 { margin: 45px 0 14px; color: var(--og-navy); font-family: var(--og-heading); font-size: 1.4rem; letter-spacing: -.03em; line-height: 1.15; }
.og-card p { margin: 0; color: var(--og-muted); font-size: .9rem; }
.og-card__link { display: inline-flex; gap: 8px; margin-top: auto; padding-top: 24px; color: var(--og-blue); font-size: .79rem; font-weight: 650; }

/* Projects */
.og-project-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 18px; }
.og-project-card { position: relative; min-height: 420px; overflow: hidden; background: linear-gradient(135deg,#1b486b,#071827); background-position: center; background-size: cover; color: #fff; }
.og-project-card:first-child { min-height: 500px; }
.og-project-card__body { position: absolute; right: 25px; bottom: 25px; left: 25px; }
.og-project-card__body > span { color: #e4c770; font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.og-project-card h2, .og-project-card h3 { margin: 10px 0; color: #fff; font-family: var(--og-heading); font-size: 1.55rem; line-height: 1.1; }
.og-project-card p { margin: 0; color: rgba(255,255,255,.72); font-size: .82rem; }
.og-project-meta, .og-single-meta { display: flex; flex-wrap: wrap; gap: 25px; margin-bottom: 18px; color: var(--og-muted); font-size: .74rem; }
.og-filter-bar { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 30px; }
.og-filter-bar a { padding: 8px 12px; border: 1px solid var(--og-line); font-size: .78rem; }
.og-filter-bar a:hover { border-color: var(--og-blue); color: var(--og-blue); }

/* Clients, certification and leadership */
.og-client-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--og-line); border-left: 1px solid var(--og-line); }
.og-client-item { display: grid; place-items: center; min-height: 120px; padding: 22px; border-right: 1px solid var(--og-line); border-bottom: 1px solid var(--og-line); color: #71808e; font-family: var(--og-heading); font-weight: 650; text-align: center; filter: grayscale(1); transition: filter .2s ease, color .2s ease; }
.og-client-item:hover { color: var(--og-navy); filter: none; }
.og-client-item img { max-width: 150px; max-height: 55px; object-fit: contain; }
.og-cert-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.og-cert-card { min-height: 200px; padding: 24px; border: 1px solid var(--og-line); background: #fff; }
.og-cert-card__mark { color: var(--og-bronze); font-size: 1.5rem; }
.og-cert-card h2, .og-cert-card h3 { margin: 25px 0 8px; color: var(--og-navy); font-family: var(--og-heading); font-size: 1.2rem; line-height: 1.2; }
.og-cert-card p, .og-cert-card small { color: var(--og-muted); font-size: .8rem; }
.og-team-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.og-team-card { display: flex; align-items: end; gap: 20px; padding-top: 18px; border-top: 1px solid var(--og-line); }
.og-team-card img, .og-avatar { width: 135px; height: 155px; object-fit: cover; background: #dce6ed; }
.og-avatar { display: grid; place-items: center; color: var(--og-blue); font-size: 3.2rem; font-weight: 300; }
.og-team-card h2, .og-team-card h3 { margin: 0 0 5px; color: var(--og-navy); font-family: var(--og-heading); font-size: 1.3rem; }
.og-team-card p { margin: 0 0 12px; color: var(--og-muted); font-size: .85rem; }
.og-team-card a { color: var(--og-blue); font-size: .8rem; }

/* HSE */
.og-hse { background: linear-gradient(115deg,#0b1f33,#113a5d); }
.og-hse-panel h2 { margin-bottom: 25px; }
.og-hse-panel > div { max-width: 530px; margin-bottom: 30px; color: rgba(255,255,255,.72); }
.og-hse-facts { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.24); }
.og-hse-facts div { display: flex; align-items: center; gap: 24px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.24); }
.og-hse-facts strong { color: var(--og-bronze); font-size: 1.8rem; }
.og-hse-facts span { font-family: var(--og-heading); font-size: 1.1rem; font-weight: 600; }

/* News and careers */
.og-news-grid, .og-post-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.og-news-card, .og-post-card { padding-top: 18px; border-top: 2px solid var(--og-navy); }
.og-news-card > span, .og-post-card > span { color: var(--og-muted); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.og-news-card h3, .og-post-card h1, .og-post-card h2, .og-post-card h3 { margin: 22px 0 12px; color: var(--og-navy); font-family: var(--og-heading); font-size: 1.5rem; line-height: 1.14; }
.og-news-card p, .og-post-card p { color: var(--og-muted); font-size: .9rem; }
.og-careers-banner { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 18px; padding: 42px 50px; background: #e9eef2; }
.og-careers-banner h2 { max-width: 670px; margin: 0; color: var(--og-navy); font-family: var(--og-heading); font-size: clamp(2rem,4vw,3.3rem); letter-spacing: -.05em; line-height: 1.04; }
.og-job-list { display: flex; flex-direction: column; }
.og-job-row { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--og-line); }
.og-job-row:hover { color: var(--og-blue); }
.og-job-row > span { font-family: var(--og-heading); font-size: 1.1rem; font-weight: 650; }
.og-job-row small { color: var(--og-muted); }
.og-job-row strong { color: var(--og-blue); }

/* Contact */
.og-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.og-contact-grid h2 { margin-bottom: 24px; }
.og-contact-grid > div > p { color: rgba(255,255,255,.78); }
.og-contact-grid a { color: #fff; }
.og-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.og-contact-form label { color: rgba(255,255,255,.84); font-size: .75rem; }
.og-form-wide, .og-contact-form button { grid-column: 1 / -1; }
.og-contact-form input, .og-contact-form textarea, .og-search-form input { width: 100%; margin-top: 6px; padding: 12px; border: 1px solid rgba(255,255,255,.4); border-radius: 2px; background: rgba(255,255,255,.08); color: #fff; }
.og-contact-form textarea { resize: vertical; }
.og-honeypot { position: absolute !important; left: -9999px !important; }

/* Footer */
.og-footer { padding: 65px 0 20px; background: #071827; color: #fff; }
.og-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 70px; }
.og-brand--footer { margin-bottom: 18px; }
.og-footer p { max-width: 340px; color: rgba(255,255,255,.64); font-size: .88rem; }
.og-footer__title { margin: 5px 0 17px; color: #e4c770 !important; font-size: .74rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.og-footer__links { margin: 0; padding: 0; list-style: none; }
.og-footer__links li { margin: 7px 0; color: rgba(255,255,255,.72); font-size: .88rem; }
.og-footer__links a:hover { color: #fff; }
.og-socials { display: flex; flex-wrap: wrap; gap: 12px; }
.og-social-link { padding: 5px 8px; border: 1px solid rgba(255,255,255,.25); color: #fff !important; font-size: .72rem; }
.og-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.48); font-size: .7rem; }
.og-legal-links { display: flex; gap: 16px; }
.og-legal-links a:hover { color: #fff; }

/* Inner pages */
.og-page-shell { padding: 90px 0 130px; }
.og-page-shell > h1, .og-page-content > h1 { max-width: 880px; margin: 10px 0 45px; color: var(--og-navy); font-family: var(--og-heading); font-size: clamp(2.8rem,6vw,5.4rem); font-weight: 750; letter-spacing: -.06em; line-height: .98; }
.og-breadcrumbs { display: flex; gap: 10px; margin-bottom: 70px; color: var(--og-muted); font-size: .74rem; }
.og-breadcrumbs span:nth-child(2) { color: var(--og-bronze); }
.og-page-content { max-width: 850px; margin-inline: auto; }
.og-page-content > img { width: 100%; margin-bottom: 35px; }
.og-page-content .og-lede { max-width: 680px; color: var(--og-muted); font-size: 1.35rem; }
.og-search-form { display: flex; max-width: 620px; gap: 10px; margin: 0 0 60px; }
.og-search-form input { margin: 0; border-color: var(--og-line); background: #fff; color: var(--og-ink); }
.og-404 { text-align: center; }
.og-404 h1 { margin-inline: auto; margin-bottom: 16px; }
.og-404 p { margin-bottom: 30px; color: var(--og-muted); }
.og-organization, .og-related { margin-top: 70px; padding-top: 35px; border-top: 1px solid var(--og-line); }
.og-organization h2, .og-related h2 { color: var(--og-navy); font-family: var(--og-heading); font-size: 2rem; }
.og-share { display: flex; align-items: center; gap: 16px; margin-top: 45px; padding-top: 20px; border-top: 1px solid var(--og-line); font-size: .8rem; }
.og-share a { color: var(--og-blue); }

/* Native media gallery and image effects */
.og-detail-gallery { margin-top: 90px; padding-top: 55px; border-top: 1px solid var(--og-line); }
.og-detail-gallery .og-section-heading h2 { margin: 0; color: var(--og-navy); font-family: var(--og-heading); font-size: clamp(2rem,4vw,3.4rem); font-weight: 750; letter-spacing: -.05em; line-height: 1; }
.og-gallery-count { color: var(--og-muted); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.og-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.og-gallery-item { position: relative; min-height: 330px; overflow: hidden; padding: 0; border: 0; background: #dce6ed; color: #fff; text-align: left; }
.og-gallery-item:nth-child(3n+1) { grid-column: span 2; min-height: 480px; }
.og-gallery-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,.61,.36,1), filter .35s ease; }
.og-gallery-item__overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: space-between; padding: 24px; background: linear-gradient(0deg,rgba(7,24,39,.82),transparent 58%); opacity: .82; transition: opacity .3s ease, background-color .3s ease; }
.og-gallery-item__overlay span { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.og-gallery-item__caption { position: absolute; right: 24px; bottom: 55px; left: 24px; color: rgba(255,255,255,.84); font-size: .8rem; opacity: 0; transform: translateY(8px); transition: transform .3s ease, opacity .3s ease; }
.og-gallery-item:hover img, .og-gallery-item:focus-visible img { transform: scale(1.055); filter: saturate(1.08); }
.og-gallery-item:hover .og-gallery-item__overlay, .og-gallery-item:focus-visible .og-gallery-item__overlay { opacity: 1; background-color: rgba(11,31,51,.14); }
.og-gallery-item:hover .og-gallery-item__caption, .og-gallery-item:focus-visible .og-gallery-item__caption { opacity: 1; transform: none; }
.og-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
.og-reveal.is-visible { opacity: 1; transform: none; }
.og-gallery-item:nth-child(2) { transition-delay: .08s; }
.og-gallery-item:nth-child(3) { transition-delay: .14s; }
.og-lightbox { position: fixed; inset: 0; z-index: 1000; display: grid; grid-template-columns: 70px minmax(0,1fr) 70px; align-items: center; padding: 42px; background: rgba(4,14,25,.95); opacity: 0; backdrop-filter: blur(16px); transition: opacity .22s ease; }
.og-lightbox[hidden] { display: none; }
.og-lightbox.is-open { opacity: 1; }
.og-lightbox figure { display: flex; flex-direction: column; align-items: center; max-height: 88vh; margin: 0; }
.og-lightbox__image { display: block; max-width: 100%; max-height: 78vh; object-fit: contain; opacity: 1; transform: scale(.97); transition: transform .3s ease, opacity .2s ease; }
.og-lightbox.is-open .og-lightbox__image { transform: scale(1); }
.og-lightbox__image.is-loading { opacity: .3; }
.og-lightbox__caption { min-height: 1.5rem; margin-top: 13px; color: rgba(255,255,255,.72); font-size: .82rem; text-align: center; }
.og-lightbox button { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.06); color: #fff; font-size: 1.25rem; }
.og-lightbox button:hover { background: #fff; color: var(--og-navy); }
.og-lightbox__close { position: absolute; top: 26px; right: 28px; }
.og-lightbox__next { justify-self: end; }
.og-lightbox__counter { position: absolute; bottom: 24px; left: 30px; color: rgba(255,255,255,.62); font-size: .7rem; }

@media (max-width: 980px) {
	.og-nav { gap: 18px; }
	.og-nav ul { gap: 14px; }
	.og-split, .og-contact-grid { gap: 58px; }
	.og-card-grid { grid-template-columns: repeat(2,1fr); }
	.og-project-grid { grid-template-columns: 1fr 1fr; }
	.og-project-card:first-child { grid-column: 1 / -1; min-height: 420px; }
	.og-cert-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
	.og-container { width: min(100% - 34px,680px); }
	.og-menu-toggle { display: block; }
	.og-nav { position: absolute; top: 78px; right: 0; left: 0; display: none; padding: 18px; background: var(--og-navy); box-shadow: 0 15px 30px rgba(0,0,0,.18); }
	.og-nav.is-open { display: block; }
	.og-nav ul { display: block; }
	.og-nav li { padding: 10px 4px; }
	.og-nav .og-button { width: 100%; margin-top: 12px; }
	.og-hero { min-height: 680px; }
	.og-hero__content { padding: 80px 0 130px; }
	.og-hero h1 { font-size: clamp(3rem,11vw,5rem); }
	.og-section { padding: 86px 0; }
	.og-split, .og-split--reverse, .og-contact-grid { grid-template-columns: 1fr; gap: 55px; }
	.og-section-heading { align-items: start; flex-direction: column; }
	.og-values-grid { grid-template-columns: 1fr; }
	.og-values-grid article { margin: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
	.og-values-grid h3 { margin-top: 25px; }
	.og-news-grid, .og-post-list { grid-template-columns: repeat(2,1fr); }
	.og-client-grid { grid-template-columns: repeat(2,1fr); }
	.og-footer__grid { grid-template-columns: 1fr 1fr; gap: 35px; }
	.og-footer__grid > div:first-child { grid-column: 1 / -1; }
	.og-media-frame img, .og-image-placeholder { height: 400px; }
}

@media (max-width: 560px) {
	.og-section { padding: 72px 0; }
	.og-hero__meta { right: 5%; bottom: 24px; font-size: .58rem; }
	.og-card-grid, .og-news-grid, .og-post-list, .og-project-grid, .og-cert-grid, .og-team-grid { grid-template-columns: 1fr; }
	.og-project-card:first-child { grid-column: auto; min-height: 340px; }
	.og-stats { grid-template-columns: repeat(2,1fr); }
	.og-careers-banner { display: block; padding: 30px 24px; }
	.og-careers-banner .og-button { margin-top: 25px; }
	.og-job-row { grid-template-columns: 1fr auto; }
	.og-job-row small { grid-row: 2; grid-column: 1 / -1; }
	.og-contact-form { grid-template-columns: 1fr; }
	.og-form-wide, .og-contact-form button { grid-column: auto; }
	.og-footer__grid { grid-template-columns: 1fr; }
	.og-footer__grid > div:first-child { grid-column: auto; }
	.og-footer__bottom { display: block; }
	.og-footer__bottom > span { display: flex; margin-top: 8px; }
	.og-page-shell { padding: 60px 0 90px; }
	.og-breadcrumbs { margin-bottom: 45px; }
	.og-gallery-grid { grid-template-columns: 1fr; }
	.og-gallery-item, .og-gallery-item:nth-child(3n+1) { grid-column: auto; min-height: 300px; }
	.og-lightbox { grid-template-columns: 48px minmax(0,1fr) 48px; padding: 20px 8px; }
	.og-lightbox button { width: 38px; height: 38px; }
	.og-lightbox__close { top: 14px; right: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
	.og-reveal { opacity: 1; transform: none; }
}