/* ==========================================================================
   Pacific Oil & Logistics — main stylesheet (v2, photo-led)
   Colours follow the logo: Pacific blue #36a0da and grey #616160, set on a
   deep navy that matches the crews' coveralls in the photography.
   One family (Archivo): headings run wide, body runs normal width.
   ========================================================================== */

@font-face {
	font-family: "Archivo";
	src: url("../fonts/archivo-var.woff2") format("woff2");
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-style: normal;
	font-display: swap;
}

:root {
	--navy-950: #061a2b;
	--navy-900: #0b2a43;
	--navy-800: #113856;
	--navy-700: #1a4a70;
	--brand: #36a0da;          /* logo blue */
	--brand-700: #1b74ad;      /* logo blue, deepened for buttons and links on white */
	--brand-800: #155d8c;
	--brand-50: #eaf5fc;
	--logo-grey: #616160;
	--paper: #f3f6f9;
	--line: #d8e1e9;
	--line-strong: #b9c7d4;
	--ink: #0f2133;
	--muted: #56606b;
	--on-navy: #c9d7e4;
	--on-navy-muted: #97adc2;
	--white: #ffffff;
	--ok: #1d7a55;
	--err: #b42318;

	--font: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--wide: 112%;
	--wider: 118%;

	--wrap: 1200px;
	--gutter: clamp(16px, 4vw, 32px);
	--radius: 6px;
	--header-h: 76px;
	--section: clamp(64px, 9vw, 112px);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0; font-family: var(--font); font-size: 1.0625rem; line-height: 1.6; font-weight: 400; font-stretch: 100%;
	color: var(--ink); background: var(--white); font-variant-numeric: lining-nums;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
img, svg, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--brand-700); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--brand-800); }
p { margin: 0 0 1em; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5 { margin: 0; color: var(--navy-900); font-stretch: var(--wide); letter-spacing: -0.01em; text-wrap: balance; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; border-radius: 2px; }

.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; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--brand-700); color: var(--white); padding: 10px 16px; font-weight: 600; border-radius: var(--radius); }
.skip-link:focus { top: 12px; color: var(--white); }

.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.wrap--narrow { max-width: calc(760px + var(--gutter) * 2); }
.muted { color: var(--muted); }
.icon { width: 1.25em; height: 1.25em; flex: none; }

/* ---------- Type ---------- */
.h2 { font-size: clamp(1.85rem, 1.2rem + 2.2vw, 2.65rem); line-height: 1.08; font-weight: 720; }
.h3 { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.38rem); line-height: 1.22; font-weight: 660; font-stretch: 106%; }
.h4 { font-size: 1rem; line-height: 1.3; font-weight: 680; font-stretch: 104%; }
.h5 { font-size: .95rem; line-height: 1.3; font-weight: 680; font-stretch: 100%; color: var(--brand-700); margin: 1.4em 0 .6em; }
.prose p { max-width: 62ch; }
.prose .h2 { margin-bottom: .6em; }
.entry h2, .entry h3 { margin: 1.6em 0 .6em; }
.entry ul { list-style: disc; padding-left: 1.2em; margin-bottom: 1em; }
.entry ol { list-style: decimal; padding-left: 1.2em; margin-bottom: 1em; }
.entry img { border-radius: var(--radius); margin: 1.2em 0; }
.entry__media { margin-bottom: 1.6em; }

/* ---------- Buttons & links ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	padding: .72em 1.2em; border-radius: var(--radius); border: 1.5px solid transparent;
	font-weight: 620; font-stretch: 106%; font-size: .98rem; line-height: 1.2;
	text-decoration: none; cursor: pointer; white-space: nowrap;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn .icon { width: 1.1em; height: 1.1em; }
.btn--lg { padding: .95em 1.55em; font-size: 1.04rem; }
.btn--primary, .btn--solid, .btn--accent { background: var(--brand-700); color: var(--white); }
.btn--primary:hover, .btn--solid:hover, .btn--accent:hover { background: var(--brand-800); color: var(--white); }
.btn--ghost-light { border-color: rgba(255,255,255,.55); color: var(--white); background: rgba(6,26,43,.18); }
.btn--ghost-light:hover { border-color: var(--white); background: rgba(255,255,255,.1); color: var(--white); }
.btn--outline { border-color: var(--line-strong); color: var(--navy-800); background: var(--white); }
.btn--outline:hover { border-color: var(--brand-700); color: var(--brand-800); }
.btn--dark { background: var(--navy-900); color: var(--white); }
.btn--dark:hover { background: var(--navy-950); color: var(--white); }

.link { display: inline-flex; align-items: center; gap: .4em; font-weight: 620; font-stretch: 106%; color: var(--brand-700); text-decoration: none; border-bottom: 2px solid var(--brand); padding-bottom: 2px; white-space: nowrap; }
.link .icon { width: 1.05em; height: 1.05em; transition: transform .18s ease; }
.link:hover { color: var(--brand-800); }
.link:hover .icon-arrow { transform: translateX(3px); }

/* ---------- Bubbles (ISA instrument circles) ---------- */
.bubble { display: inline-grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%; border: 1.6px solid var(--brand); color: var(--brand-700); background: var(--white); }
.bubble--icon .icon { width: 28px; height: 28px; }
.bubble--num { font-weight: 720; font-stretch: var(--wide); font-size: 1.25rem; color: var(--navy-800); }
.bubble--light { background: transparent; border-color: var(--brand); color: var(--white); width: 64px; height: 64px; }
.bubble--light .icon { width: 30px; height: 30px; }

/* ---------- Top bar & header ---------- */
.topbar { background: var(--navy-950); color: var(--on-navy-muted); font-size: .86rem; }
.topbar__inner { display: flex; justify-content: space-between; gap: 16px; min-height: 40px; align-items: center; }
.topbar__list { display: flex; gap: 22px; align-items: center; }
.topbar__list li { display: flex; align-items: center; gap: 8px; }
.topbar__list a { display: inline-flex; align-items: center; gap: 8px; color: var(--on-navy); text-decoration: none; }
.topbar__list a:hover { color: var(--white); }
.topbar .icon { width: 15px; height: 15px; color: var(--brand); }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); transition: box-shadow .2s ease; }
@supports (backdrop-filter: blur(8px)) {
	/* The blur sits on a pseudo-element: on the header itself it would trap the fixed mobile menu. */
	.site-header { background: transparent; }
	.site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
}
.is-scrolled .site-header { box-shadow: 0 6px 24px rgba(6,26,43,.08); }
.site-header__inner { display: flex; align-items: center; gap: 28px; min-height: var(--header-h); }
.logo { display: inline-flex; align-items: center; text-decoration: none; flex: none; margin-right: auto; }
.logo__img { height: 46px; width: auto; }
.logo__text { font-weight: 800; font-stretch: var(--wider); font-size: 1.2rem; color: var(--navy-900); }

.nav__list { display: flex; gap: 4px; }
.nav__link { display: block; padding: 10px 14px; font-weight: 560; font-stretch: 104%; color: var(--ink); text-decoration: none; border-radius: var(--radius); position: relative; }
.nav__link:hover { color: var(--brand-700); background: var(--brand-50); }
.nav__link.is-current { color: var(--brand-700); }
.nav__link.is-current::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 2px; height: 2px; background: var(--brand); }
.nav__extra { display: none; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1.5px solid var(--line-strong); border-radius: var(--radius); background: var(--white); color: var(--navy-900); align-items: center; justify-content: center; cursor: pointer; }
.menu-toggle .icon { width: 24px; height: 24px; }
.menu-toggle__close { display: none; }

/* ---------- Home: service slider ---------- */
.slider { position: relative; background: var(--navy-900); color: var(--on-navy); --bar-h: 92px; }
.slider__track { display: grid; touch-action: pan-y; }
/* Dissolve: the incoming slide fades in on top while the outgoing one stays fully visible underneath. */
.slide { grid-area: 1 / 1; position: relative; isolation: isolate; min-height: clamp(560px, 80vh, 740px); display: flex; align-items: center; opacity: 0; visibility: hidden; z-index: 0; }
.slide.is-leaving { opacity: 1; visibility: visible; z-index: 1; }
.slide.is-active { opacity: 1; visibility: visible; z-index: 2; transition: opacity 1.4s ease-in-out; }
.slide.is-leaving .slide__copy { opacity: 0; transition: opacity .45s ease; }
.slide__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; background: var(--navy-800); }
.slide__media picture, .slide__media img { display: block; width: 100%; height: 100%; }
.slide__media img { object-fit: cover; object-position: var(--pos, 60% 45%); }
@media (min-width: 701px) {
	/* --grow widens a photo past the frame so its subject moves right, clear of the text */
	.slide__media img { width: calc(100% * var(--grow, 1)); max-width: none; }
}
.slide::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(90deg, rgba(6,26,43,.94) 0%, rgba(6,26,43,.84) 34%, rgba(6,26,43,.4) 60%, rgba(6,26,43,.08) 82%),
		linear-gradient(0deg, rgba(6,26,43,.9) 0%, rgba(6,26,43,0) 32%);
}
.slide__inner { width: 100%; padding-top: clamp(48px, 7vw, 88px); padding-bottom: calc(var(--bar-h) + clamp(40px, 5vw, 64px)); }
.slide__copy { max-width: 660px; }
.slide__title { color: var(--white); font-size: clamp(2.1rem, 1rem + 3vw, 3.5rem); line-height: 1.04; font-weight: 760; font-stretch: var(--wide); letter-spacing: -0.02em; margin-bottom: 22px; }
.slide__text { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.6; max-width: 34em; color: #dbe6f0; margin-bottom: 32px; }
.slide__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* New headline arrives once the old one has faded: a short rise, or a plain fade when reduced motion is on. */
.slider.is-ready .slide.is-active .slide__copy > * { animation: pol-fade .8s ease .45s both; }
@media (prefers-reduced-motion: no-preference) {
	.slider.is-ready .slide.is-active .slide__copy > * { animation: pol-rise .8s cubic-bezier(.2,.7,.2,1) .45s both; }
	.slider.is-ready .slide.is-active .slide__text { animation-delay: .55s; }
	.slider.is-ready .slide.is-active .slide__actions { animation-delay: .65s; }
}
@keyframes pol-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pol-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.slider__bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; border-top: 1px solid rgba(255,255,255,.14); }
.slider:not(.is-ready) .slider__bar { visibility: hidden; }
.slider__bar-inner { display: flex; align-items: stretch; gap: 16px; }
.slider__tabs { flex: 1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 20px; min-width: 0; }
.slider__tab {
	position: relative; display: flex; align-items: center; gap: 10px; min-height: var(--bar-h); padding: 18px 0 16px;
	background: none; border: 0; color: var(--on-navy-muted); font-weight: 600; font-stretch: 104%; font-size: .98rem; line-height: 1.25;
	text-align: left; cursor: pointer; transition: color .2s ease;
}
.slider__tab .icon { width: 22px; height: 22px; color: currentColor; transition: color .2s ease; }
.slider__tab:hover { color: var(--white); }
.slider__tab.is-active { color: var(--white); }
.slider__tab.is-active .icon { color: var(--brand); }
.slider__tab-bar { position: absolute; top: -1px; left: 0; right: 0; height: 3px; background: transparent; overflow: hidden; }
.slider__tab-bar::after { content: ""; position: absolute; inset: 0; background: var(--brand); transform: scaleX(0); transform-origin: left; }
.slider__tab.is-active .slider__tab-bar { background: rgba(255,255,255,.18); }
.slider__tab.is-active .slider__tab-bar::after { transform: scaleX(var(--p, 0)); }
.slider.is-paused .slider__tab.is-active .slider__tab-bar::after, .slider.is-static .slider__tab.is-active .slider__tab-bar::after { transform: scaleX(1); }
.slider__tab:focus-visible { outline-offset: -3px; }
.slider__toggle { align-self: center; flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.4); background: rgba(6,26,43,.4); color: var(--white); display: inline-grid; place-items: center; cursor: pointer; }
.slider__toggle:hover { border-color: var(--white); }
.slider__toggle .icon { width: 18px; height: 18px; }
.slider__toggle .slider__toggle-pause { display: inline-flex; }
.slider__toggle .slider__toggle-play { display: none; }
.slider.is-paused .slider__toggle .slider__toggle-pause { display: none; }
.slider.is-paused .slider__toggle .slider__toggle-play { display: inline-flex; }

/* Authority band: H1 and the company's figures */
.authority { padding: clamp(56px, 7vw, 92px) 0; border-bottom: 1px solid var(--line); }
.authority__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px clamp(32px, 6vw, 88px); align-items: end; }
.authority__title { font-size: clamp(1.8rem, 1.2rem + 1.9vw, 2.5rem); line-height: 1.1; font-weight: 740; margin-bottom: .55em; }
.authority__copy p { color: var(--muted); font-size: 1.08rem; max-width: 36em; margin: 0; }
.figures { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.figures__item { display: flex; flex-direction: column-reverse; justify-content: flex-end; border-top: 3px solid var(--brand); padding-top: 16px; }
.figures dd { margin: 0; color: var(--navy-900); font-weight: 740; font-stretch: var(--wide); font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); line-height: 1; font-variant-numeric: tabular-nums lining-nums; }
.figures dt { color: var(--muted); font-size: .94rem; margin-top: 10px; line-height: 1.3; }

/* ---------- Sections ---------- */
.section { padding: var(--section) 0; }
.section-head { max-width: 46rem; margin-bottom: clamp(32px, 4vw, 52px); }
.section-head .h2 { margin-bottom: .45em; }
.section-head p { color: var(--muted); font-size: 1.08rem; margin: 0; }
.section-head--split { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.section-head--split > div { max-width: 44rem; }
.section-head--light .h2 { color: var(--white); }
.section-head--light p { color: var(--on-navy); }

.ticks li { display: flex; gap: 10px; align-items: flex-start; padding: 5px 0; line-height: 1.45; }
.ticks .icon { width: 18px; height: 18px; margin-top: 2px; color: var(--brand-700); stroke-width: 2.2; }
.ticks--cols { columns: 2; column-gap: 32px; }
.ticks--cols li { break-inside: avoid; }
.ticks--light li { color: var(--on-navy); }
.ticks--light .icon { color: var(--brand); }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { border: 1px solid var(--line-strong); border-radius: 999px; padding: 6px 14px; font-size: .92rem; color: var(--navy-800); background: var(--white); line-height: 1.3; }

.photo { display: block; width: 100%; height: auto; background: var(--navy-800); }
.photo--empty { aspect-ratio: 4 / 3; border-radius: var(--radius); background: repeating-linear-gradient(0deg, transparent 0 27px, rgba(54,160,218,.14) 27px 28px), repeating-linear-gradient(90deg, transparent 0 27px, rgba(54,160,218,.14) 27px 28px), var(--navy-800); }

/* ---------- Home: pillars (photo cards) ---------- */
.pillars__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 40px); }
.pillar { display: flex; flex-direction: column; border-top: 3px solid var(--brand); padding-top: 28px; }
.pillar__bubble { margin-bottom: 18px; }
.pillar .h3 a { color: inherit; text-decoration: none; }
.pillar .h3 a:hover { color: var(--brand-700); }
.pillar__lead { color: var(--muted); margin: .45em 0 .8em; }
.pillar .ticks li { font-size: .97rem; }

/* ---------- Home: engineering photo tiles ---------- */
.onsite { background: var(--paper); }
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tile { position: relative; display: block; overflow: hidden; border-radius: var(--radius); color: var(--white); text-decoration: none; aspect-ratio: 4 / 3; background: var(--navy-800); }
.tile__photo { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .6s ease; }
.tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,26,43,.88) 0%, rgba(6,26,43,.35) 38%, rgba(6,26,43,0) 62%); }
.tile__label { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; align-items: center; gap: 12px; padding: 18px 20px; font-weight: 650; font-stretch: 106%; font-size: 1.12rem; line-height: 1.25; }
.tile__label .icon { width: 26px; height: 26px; color: var(--brand); }
.tile:hover .tile__photo { transform: scale(1.04); }
.tile:hover .tile__label span { text-decoration: underline; text-decoration-color: var(--brand); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.tile:focus-visible { outline-offset: 3px; }

.facilities { margin-top: clamp(36px, 4vw, 56px); display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: start; }
.facilities__title { font-size: 1rem; font-weight: 680; font-stretch: 104%; padding-top: 7px; }
.facilities__list { display: flex; flex-wrap: wrap; gap: 8px; }
.facilities__list li { padding: 7px 14px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); font-size: .93rem; color: var(--navy-800); }

/* ---------- Instruments we calibrate ---------- */
.instruments { background: var(--navy-950); color: var(--on-navy); }
.instruments__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 36px 20px; }
.instrument { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.instrument__bubble { width: 86px; height: 86px; border-radius: 50%; border: 1.6px solid var(--brand); display: grid; place-content: center; text-align: center; }
.instrument__tag { color: var(--white); font-weight: 740; font-stretch: var(--wide); font-size: 1.15rem; line-height: 1; letter-spacing: .02em; }
.instrument__loop { color: var(--on-navy-muted); font-size: .72rem; margin-top: 4px; font-variant-numeric: tabular-nums; }
.instrument__name { font-size: .92rem; line-height: 1.35; color: var(--on-navy); max-width: 13em; }

/* ---------- Process ---------- */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; position: relative; }
.steps::before { content: ""; position: absolute; top: 28px; left: 28px; width: calc((100% - 64px) / 3 * 2 + 64px); height: 0; border-top: 2px solid var(--line-strong); }
.step { position: relative; }
.step .bubble { position: relative; z-index: 1; margin-bottom: 22px; }
.step .h3 { margin-bottom: .45em; max-width: 16em; }
.step p { color: var(--muted); max-width: 30em; margin: 0; }

/* ---------- Projects ---------- */
.work-preview { background: var(--paper); }
.projects--row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.projects--pair { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 3vw, 40px); }
.project { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); }
.project__media { display: block; overflow: hidden; border-radius: var(--radius); background: var(--navy-800); }
.project__media .photo { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
.projects--pair .project__media .photo { aspect-ratio: 16 / 10; }
a.project:hover .photo { transform: scale(1.03); }
.project__tags { display: block; font-size: .84rem; color: var(--muted); margin: 14px 0 4px; }
.project__title { display: block; font-weight: 650; font-stretch: 105%; font-size: 1.15rem; line-height: 1.3; color: var(--navy-900); }
.project__scope { display: block; color: var(--muted); margin-top: 6px; max-width: 36em; }
.projects--row .project__scope { display: none; }
a.project:hover .project__title { color: var(--brand-700); }

.projects--grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(28px, 4vw, 48px); }
.project--card .project__media .photo { aspect-ratio: 16 / 10; }
.project--card .project__tags { margin: 16px 0 6px; }
.project--card .h3 { margin-bottom: .5em; }
.project--card p:last-child { color: var(--muted); margin: 0; max-width: 34em; }
.project--card:target .project__media { outline: 3px solid var(--brand); outline-offset: 4px; }

/* ---------- Photo bands (safety, HSE) ---------- */
.photo-band { position: relative; isolation: isolate; overflow: hidden; background: var(--navy-900); color: var(--on-navy); }
.photo-band__media { position: absolute; inset: 0; z-index: -2; }
.photo-band__media .photo { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.photo-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6,26,43,.95) 0%, rgba(6,26,43,.88) 40%, rgba(6,26,43,.45) 72%, rgba(6,26,43,.25) 100%); }
.photo-band__inner { padding-top: clamp(64px, 8vw, 104px); padding-bottom: clamp(64px, 8vw, 104px); max-width: 620px; }
.photo-band__inner .bubble { margin-bottom: 22px; }
.photo-band__title { color: var(--white); font-size: clamp(1.75rem, 1.15rem + 2vw, 2.6rem); line-height: 1.08; font-weight: 740; margin-bottom: .45em; }
.photo-band__inner p { font-size: 1.08rem; margin-bottom: 1.6em; }

/* ---------- Reviews ---------- */
.quotes { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); }
.quote { margin: 0; padding: 30px 0 0; border-top: 2px solid var(--brand); }
.quote blockquote { margin: 0 0 18px; }
.quote blockquote p { font-size: clamp(1.18rem, 1.05rem + .5vw, 1.42rem); line-height: 1.45; font-weight: 450; color: var(--navy-900); margin: 0; text-indent: -.42em; }
.quote blockquote p::before { content: "“"; color: var(--brand); font-weight: 700; }
.quote blockquote p::after { content: "”"; color: var(--brand); font-weight: 700; }
.quote figcaption { color: var(--muted); font-size: .95rem; }

/* ---------- CTA ---------- */
.cta { background: var(--navy-900); color: var(--on-navy); padding: clamp(56px, 7vw, 88px) 0; }
.cta__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }
.cta__title { color: var(--white); font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); line-height: 1.08; font-weight: 740; margin-bottom: .45em; }
.cta p { margin: 0; max-width: 38em; font-size: 1.06rem; }
.cta__actions { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; justify-content: flex-end; }
.cta__phone { display: inline-flex; align-items: center; gap: 12px; color: var(--white); text-decoration: none; font-weight: 650; font-stretch: 106%; font-size: 1.1rem; }
.cta__phone .icon { width: 44px; height: 44px; padding: 10px; border: 1.6px solid var(--brand); border-radius: 50%; color: var(--brand); }
.cta__phone small { display: block; font-size: .8rem; font-weight: 400; color: var(--on-navy-muted); }
.cta__phone:hover { color: var(--brand); }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy-950); color: var(--on-navy-muted); font-size: .95rem; padding-top: clamp(56px, 7vw, 80px); }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.35fr; gap: 40px; padding-bottom: 48px; }
.site-footer__brand p { max-width: 26em; margin: 20px 0 0; }
.site-footer__rc { font-size: .88rem; }
.logo--footer .logo__img { height: 50px; }
.logo--footer .logo__text { color: var(--white); }
.site-footer__title { color: var(--white); font-size: 1rem; font-weight: 680; font-stretch: 106%; margin-bottom: 16px; }
.site-footer__col li { margin-bottom: 9px; }
.site-footer a { color: var(--on-navy); text-decoration: none; }
.site-footer a:hover { color: var(--white); text-decoration: underline; text-decoration-color: var(--brand); }
.site-footer__contact li { display: flex; gap: 12px; align-items: flex-start; }
.site-footer__contact .icon { width: 18px; height: 18px; color: var(--brand); margin-top: 3px; }
.site-footer__base { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; position: relative; padding-top: 22px; padding-bottom: 26px; font-size: .88rem; }
.site-footer__base::before { content: ""; position: absolute; top: 0; left: var(--gutter); right: var(--gutter); border-top: 1px solid rgba(54,160,218,.22); }
.site-footer__base p { margin: 0; }

/* ---------- Inner page head ---------- */
.page-head { position: relative; isolation: isolate; overflow: hidden; background: var(--navy-900); color: var(--on-navy); padding: clamp(48px, 6vw, 80px) 0 clamp(52px, 6vw, 84px); }
.page-head--photo { min-height: clamp(320px, 34vw, 460px); display: flex; align-items: flex-end; }
.page-head--photo .page-head__inner { width: 100%; }
.page-head__media { position: absolute; inset: 0; z-index: -2; }
.page-head__media .photo { width: 100%; height: 100%; object-fit: cover; object-position: 75% 50%; }
.page-head--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6,26,43,.93) 0%, rgba(6,26,43,.78) 36%, rgba(6,26,43,.25) 70%, rgba(6,26,43,.1) 100%), linear-gradient(0deg, rgba(6,26,43,.55) 0%, rgba(6,26,43,0) 50%); }
.crumbs { display: flex; gap: 10px; font-size: .88rem; color: var(--on-navy-muted); margin-bottom: 16px; }
.crumbs a { color: var(--on-navy); text-decoration: none; }
.crumbs a:hover { color: var(--white); text-decoration: underline; }
.page-head__title { color: var(--white); font-size: clamp(2.3rem, 1.4rem + 3.4vw, 3.8rem); line-height: 1.02; font-weight: 760; font-stretch: var(--wider); letter-spacing: -0.02em; }
.page-head__intro { max-width: 38em; font-size: 1.12rem; margin: 16px 0 0; color: #dbe6f0; }

/* ---------- Split layout ---------- */
.split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.split--top { align-items: start; }
.split--reverse .split__copy { order: 2; }
.split__media .photo { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.facts { margin-top: 1.6em; border-top: 1px solid var(--line); }
.facts li { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.facts .icon { width: 26px; height: 26px; color: var(--brand-700); margin-top: 1px; }
.facts strong { color: var(--navy-900); font-weight: 650; }

/* About */
.vision { background: var(--paper); padding: var(--section) 0; border-block: 1px solid var(--line); }
.vision__grid { display: grid; grid-template-columns: 1fr 2.2fr; gap: 24px clamp(32px, 6vw, 88px); }
.vision__label { font-size: 1rem; font-weight: 680; color: var(--brand-700); padding-top: .55em; }
.vision__text { grid-column: 2; margin: 0; color: var(--navy-900); font-weight: 480; font-stretch: 104%; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); line-height: 1.32; max-width: 34em; }
.vision__mission { grid-column: 2; border-top: 1px solid var(--line-strong); padding-top: 22px; margin-top: 14px; max-width: 40em; }
.vision__mission .h4 { color: var(--brand-700); margin-bottom: 6px; }
.vision__mission p { margin: 0; color: var(--muted); }
.values__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 48px); }
.values__list li { border-top: 3px solid var(--brand); padding-top: 22px; }
.values__list .h3 { margin-bottom: .45em; }
.values__list p { color: var(--muted); margin: 0; }
.history { background: var(--paper); }
.history__facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line-strong); background: var(--white); }
.history__facts > div { padding: 22px 24px; border-bottom: 1px solid var(--line-strong); }
.history__facts > div:nth-child(odd) { border-right: 1px solid var(--line-strong); }
.history__facts > div:nth-last-child(-n+2) { border-bottom: 0; }
.history__facts dt { font-size: .86rem; color: var(--muted); margin-bottom: 6px; }
.history__facts dd { margin: 0; font-weight: 700; font-stretch: var(--wide); font-size: 1.35rem; color: var(--navy-900); line-height: 1.15; }
.roles { margin-top: clamp(40px, 5vw, 64px); display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.roles__group .h4 { margin-bottom: 14px; color: var(--brand-700); }

.hse { padding: var(--section) 0; }
.hse__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.hse__mark { width: 64px; height: 64px; border-radius: 50%; border: 1.6px solid var(--brand); color: var(--white); display: grid; place-items: center; margin-bottom: 26px; }
.hse__mark .icon { width: 32px; height: 32px; }
.hse__title { color: var(--white); font-size: clamp(1.85rem, 1.2rem + 2.2vw, 2.65rem); line-height: 1.08; font-weight: 720; margin-bottom: .5em; }
.hse__lead { color: var(--brand); font-weight: 650; font-stretch: var(--wide); font-size: clamp(1.2rem, 1rem + .7vw, 1.5rem); line-height: 1.3; margin: 0; }
.hse__body > p { font-size: 1.08rem; margin-bottom: 1.4em; color: #dbe6f0; }
.hse__body .ticks li { padding: 9px 0; border-bottom: 1px solid rgba(54,160,218,.2); color: #dbe6f0; }
.hse.photo-band::before { background: linear-gradient(90deg, rgba(6,26,43,.96) 0%, rgba(6,26,43,.9) 55%, rgba(6,26,43,.72) 100%); }

/* ---------- Services page ---------- */
.services { display: grid; grid-template-columns: 230px 1fr; gap: clamp(32px, 5vw, 72px); padding-top: clamp(40px, 5vw, 64px); padding-bottom: var(--section); align-items: start; }
.toc { position: sticky; top: calc(var(--header-h) + 28px); font-size: .94rem; }
.toc__title { font-weight: 680; color: var(--navy-900); margin-bottom: 12px; }
.toc ul { border-left: 1.5px solid var(--line); }
.toc ul ul { border-left: 0; margin: 2px 0 6px; }
.toc a { display: block; padding: 6px 0 6px 16px; margin-left: -1.5px; border-left: 1.5px solid transparent; color: var(--muted); text-decoration: none; line-height: 1.35; }
.toc ul ul a { padding-left: 30px; font-size: .9rem; }
.toc a:hover { color: var(--navy-900); }
.toc a.is-active { color: var(--brand-700); border-left-color: var(--brand); font-weight: 600; }

.svc { padding: clamp(40px, 5vw, 64px) 0; border-top: 1px solid var(--line); }
.services__body > .svc:first-child { border-top: 0; padding-top: 0; }
.svc--pillar, .svc--eng { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px, 4vw, 52px); align-items: start; }
.svc--pillar:nth-of-type(even) .svc__media, .svc--eng:nth-of-type(even) .svc__media { order: 2; }
.svc__media .photo { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.svc--pillar .svc__media .photo, .split__media .photo { object-position: 66% 50%; } /* wide photos: keep the people (right of centre) in view */
.svc__copy .bubble { margin-bottom: 18px; }
.svc__copy .h2 { margin-bottom: .4em; font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.15rem); }
.svc__title { display: flex; align-items: center; gap: 12px; margin-bottom: .5em; }
.svc__title .icon { width: 28px; height: 28px; color: var(--brand-700); }
.svc__lead { font-size: 1.08rem; color: var(--muted); max-width: 36em; }
.svc__promise { font-weight: 700; font-stretch: var(--wide); color: var(--navy-800); font-size: 1.15rem; margin: 1.1em 0 1.2em; padding-left: 14px; border-left: 3px solid var(--brand); }
.svc .chips { margin: 1.2em 0 1.6em; }
.svc--eng .ticks--cols { columns: 1; }
.svc-group { border-top: 1px solid var(--line); padding-top: clamp(48px, 6vw, 72px); }
.svc-group__head { max-width: 44rem; margin-bottom: 8px; }
.svc-group__head .h2 { margin-bottom: .4em; }
.svc-group__head p { color: var(--muted); font-size: 1.08rem; }
.svc-group .svc:first-of-type { border-top: 0; }
.svc--wide .svc__lead { margin-bottom: 1em; }
.cap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; }

/* ---------- Work page ---------- */
.where { background: var(--paper); }
.where__list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-strong); }
.where__list li { display: flex; align-items: center; gap: 14px; padding: 16px 4px; border-bottom: 1px solid var(--line-strong); font-weight: 560; color: var(--navy-900); }
.where__list li:nth-child(odd) { padding-right: 20px; }
.where__list .icon { width: 24px; height: 24px; color: var(--brand-700); }

/* ---------- Contact ---------- */
.contact__grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.contact__form .h2 { margin-bottom: .3em; }
.contact__form > .muted { margin-bottom: 1.6em; }
.details { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; }
.details .h4 { font-size: .86rem; color: var(--muted); font-weight: 600; font-stretch: 100%; margin: 20px 0 8px; }
.details .h4:first-child { margin-top: 0; }
.details__row { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 6px; color: var(--navy-900); }
.details__row a { color: var(--navy-900); text-decoration: none; font-weight: 560; word-break: break-word; }
.details__row a:hover { color: var(--brand-700); text-decoration: underline; }
.details__row .icon { width: 20px; height: 20px; color: var(--brand-700); margin-top: 2px; }
.details__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.map iframe { width: 100%; height: clamp(320px, 40vw, 440px); border: 0; filter: grayscale(.3) contrast(1.02); }

.pol-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.pol-form .field { display: flex; flex-direction: column; gap: 7px; }
.pol-form .field--full { grid-column: 1 / -1; }
.pol-form label { font-weight: 600; font-size: .95rem; color: var(--navy-900); }
.pol-form label .req { color: var(--err); }
.pol-form input, .pol-form select, .pol-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid var(--line-strong); border-radius: var(--radius); background: var(--white); color: var(--ink); font-size: 1rem; line-height: 1.4; transition: border-color .15s ease, box-shadow .15s ease; }
.pol-form textarea { min-height: 150px; resize: vertical; }
.pol-form select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b74ad' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; }
.pol-form input:focus, .pol-form select:focus, .pol-form textarea:focus { outline: none; border-color: var(--brand-700); box-shadow: 0 0 0 3px rgba(54,160,218,.35); }
.pol-form input[aria-invalid="true"], .pol-form textarea[aria-invalid="true"] { border-color: var(--err); }
.pol-form .field__error { color: var(--err); font-size: .9rem; margin: 0; }
.pol-form .hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pol-form__foot { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.pol-form__foot .btn { min-width: 180px; }
.pol-form__note { font-size: .88rem; color: var(--muted); margin: 0; }
.notice { grid-column: 1 / -1; border-radius: var(--radius); padding: 14px 16px; display: flex; gap: 12px; align-items: flex-start; margin-bottom: 20px; }
.notice .icon { width: 22px; height: 22px; margin-top: 1px; }
.notice p { margin: 0; }
.notice--ok { background: #e8f5ef; color: #0f4d34; border: 1px solid #b8e0cc; }
.notice--err { background: #fdecea; color: #7a1a11; border: 1px solid #f5c2bc; }

/* Lists, pager, 404 */
.post-list__item { padding: 26px 0; border-bottom: 1px solid var(--line); }
.post-list__item .h3 a { color: inherit; text-decoration: none; }
.post-list__item .h3 a:hover { color: var(--brand-700); }
.post-list__item p { margin: .4em 0 0; }
.pager { margin-top: 32px; }
.pager .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pager .page-numbers { padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: var(--radius); text-decoration: none; }
.pager .current { background: var(--navy-900); color: var(--white); border-color: var(--navy-900); }
.notfound__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.instruments__grid { grid-template-columns: repeat(4, 1fr); }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.roles { grid-template-columns: 1fr 1fr; }
	.roles__group:first-child { grid-column: 1 / -1; }
	.projects--row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1023px) {
	:root { --header-h: 68px; }
	.menu-toggle { display: inline-flex; }
	.logo__img { height: 40px; }
	.nav { position: fixed; inset: var(--nav-top, var(--header-h)) 0 0 0; z-index: 49; background: var(--white); padding: 20px var(--gutter) 40px; overflow-y: auto; transform: translateY(-8px); opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
	.nav-open .nav { transform: none; opacity: 1; visibility: visible; transition: opacity .2s ease, transform .2s ease; }
	.nav-open { overflow: hidden; }
	.nav-open .menu-toggle__open { display: none; }
	.nav-open .menu-toggle__close { display: inline-flex; }
	.nav__list { flex-direction: column; gap: 0; border-top: 1px solid var(--line); }
	.nav__link { padding: 16px 4px; font-size: 1.2rem; font-stretch: var(--wide); font-weight: 620; border-bottom: 1px solid var(--line); border-radius: 0; }
	.nav__link:hover { background: none; }
	.nav__link.is-current::after { left: 4px; right: auto; width: 32px; bottom: 8px; }
	.nav__extra { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }
	.nav__extra .btn { width: 100%; padding: 1em; }
	.nav__call { display: inline-flex; align-items: center; gap: 10px; color: var(--navy-800); text-decoration: none; font-weight: 560; word-break: break-all; }
	.nav__call .icon { color: var(--brand-700); }

	.pillars__grid { grid-template-columns: 1fr 1fr; }
	.pillars__grid .pillar:last-child { grid-column: 1 / -1; }
	.tiles { grid-template-columns: 1fr 1fr; }
	.cta__grid { grid-template-columns: 1fr; }
	.cta__actions { justify-content: flex-start; }
	.services { grid-template-columns: 1fr; }
	.toc { position: static; }
	.toc ul { display: flex; flex-wrap: wrap; gap: 8px; border: 0; }
	.toc ul ul { display: none; }
	.toc a { border: 1px solid var(--line-strong); border-radius: 999px; padding: 6px 14px; margin: 0; font-size: .9rem; }
	.toc .toc__group > a { border-color: var(--brand-700); color: var(--brand-700); }
	.split, .hse__grid, .contact__grid, .vision__grid, .authority__grid { grid-template-columns: 1fr; }
	.vision__text, .vision__mission { grid-column: 1; }
	.split--reverse .split__copy { order: 0; }
	.photo-band::before, .hse.photo-band::before { background: linear-gradient(90deg, rgba(6,26,43,.94) 0%, rgba(6,26,43,.84) 100%); }
}

@media (max-width: 760px) {
	body { font-size: 1rem; }
	.hide-md { display: none !important; }
	.pillars__grid, .tiles, .projects--pair { grid-template-columns: 1fr; }
	.tile { aspect-ratio: 16 / 10; }
	.ticks--cols { columns: 1; }
	.facilities { grid-template-columns: 1fr; gap: 12px; }
	.instruments__grid { grid-template-columns: repeat(3, 1fr); gap: 28px 12px; }
	.instrument__bubble { width: 72px; height: 72px; }
	.instrument__tag { font-size: 1rem; }
	.instrument__name { font-size: .84rem; }
	.steps { grid-template-columns: 1fr; gap: 28px; }
	.steps::before { top: 28px; bottom: 28px; left: 27px; width: 0; border-top: 0; border-left: 2px solid var(--line-strong); }
	.step { display: grid; grid-template-columns: 56px 1fr; column-gap: 20px; }
	.step .bubble { grid-row: 1 / span 2; margin: 0; }
	.quotes, .values__list, .roles, .cap-grid, .projects--grid, .where__list, .pol-form { grid-template-columns: 1fr; }
	.svc--pillar, .svc--eng { grid-template-columns: 1fr; }
	.svc--pillar:nth-of-type(even) .svc__media, .svc--eng:nth-of-type(even) .svc__media { order: 0; }
	.svc__media .photo, .split__media .photo { aspect-ratio: 16 / 10; }
	.page-head--photo { min-height: 300px; }
	.page-head--photo::before { background: linear-gradient(0deg, rgba(6,26,43,.94) 0%, rgba(6,26,43,.7) 55%, rgba(6,26,43,.45) 100%); }
	.site-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
	.site-footer__brand, .site-footer__contact { grid-column: 1 / -1; }
	.history__facts dd { font-size: 1.15rem; }
}

/* Tablets: tabs show icons and short labels */
@media (max-width: 1100px) {
	.slider__tabs { gap: 0 14px; }
	.slider__tab { font-size: .9rem; }
	.slider__tab .icon { display: none; }
}

/* Phones: photo on top, copy below, tabs become a scrollable row of chips over the photo's lower edge */
@media (max-width: 700px) {
	.slider { --photo-h: 96vw; }
	.slide { display: block; min-height: 0; }
	.slide__media { position: relative; inset: auto; height: var(--photo-h); z-index: 0; }
	.slide__media img { object-position: var(--pos-m, 50% 40%); }
	.slide__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,26,43,.05) 0%, rgba(6,26,43,.1) 55%, rgba(11,42,67,.92) 94%, rgb(11,42,67) 100%); }
	.slide::before { display: none; }
	.slide__inner { padding-top: 22px; padding-bottom: 40px; }
	.slide__title { font-size: clamp(1.8rem, 1rem + 4vw, 2.4rem); margin-bottom: 16px; }
	.slide__text { margin-bottom: 24px; }
	.slide__actions .btn { width: 100%; }
	.slider__bar { top: calc(var(--photo-h) - 64px); bottom: auto; border-top: 0; }
	.slider__bar-inner { gap: 10px; align-items: center; }
	.slider__tabs { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 4px 0; }
	.slider__tabs::-webkit-scrollbar { display: none; }
	.slider__tab { flex: none; min-height: 40px; padding: 8px 14px; border-radius: 999px; scroll-snap-align: start; font-size: .88rem; background: rgba(6,26,43,.72); border: 1px solid rgba(255,255,255,.22); color: #dbe6f0; overflow: hidden; }
	.slider__tab.is-active { background: var(--brand-700); border-color: var(--brand-700); }
	.slider__tab.is-active .icon { color: var(--white); }
	.slider__tab .icon { display: inline-block; width: 18px; height: 18px; }
	.slider__tab-bar { top: auto; bottom: 0; left: 14px; right: 14px; height: 2px; }
	.slider__tab.is-active .slider__tab-bar { background: rgba(255,255,255,.25); }
	.slider__tab.is-active .slider__tab-bar::after { background: var(--white); }
	.slider__toggle { width: 40px; height: 40px; background: rgba(6,26,43,.72); }
	.authority__grid { grid-template-columns: 1fr; }
	.figures { gap: 14px; }
}

@media (max-width: 560px) {
	.hide-sm { display: none !important; }
	.site-header__cta { display: none; }
	.topbar__list { gap: 16px; }
	.logo__img { height: 34px; }
	.projects--row { grid-template-columns: 1fr; }
	.projects--row .project__scope { display: block; }
	.section-head--split { align-items: flex-start; }
	.details { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	/* Fades are not motion: keep the slider's dissolve and headline fade */
	.slide.is-active { transition-duration: 1.4s !important; }
	.slide.is-leaving .slide__copy { transition-duration: .45s !important; }
	.slider.is-ready .slide.is-active .slide__copy > * { animation-duration: .8s !important; }
}

@media print {
	.topbar, .site-header, .cta, .map, .menu-toggle, .slider__bar, .slide__media, .page-head__media, .photo-band__media { display: none !important; }
	.slider, .page-head, .instruments, .hse, .photo-band, .site-footer { background: none !important; color: #000 !important; }
	.slide { opacity: 1 !important; visibility: visible !important; min-height: 0; }
}
