:root {
	--or-red: #CF202F;
	--or-red-d: #A81A27;
	--or-blue: #0C426A;
	--or-blue-d: #082F4C;
	--or-gold: #C9A227;
	--or-gold-d: #B08E1B;
	--or-orange: #F18C00;
	--or-orange-d: #D67800;
	--or-ink: #0C426A;
	--or-muted: #4A5C6A;
	--or-navy: #0C426A;
	--or-navy-2: #082F4C;
	--or-line: #E4E8EC;
	--or-white: #F5F5F5;
	--or-pure: #FFFFFF;
	--or-max: 1280px;
	--or-header: 110px;
}

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

html { scroll-behavior: smooth; }

body.arioil {
	margin: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	color: var(--or-muted);
	background: var(--or-white);
}

body.arioil .neve-main,
body.arioil #content,
body.arioil .wrapper { display: contents; }

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4 { font-family: Agdasima, Impact, sans-serif; color: var(--or-ink); font-weight: 700; letter-spacing: .01em; margin: 0 0 .4em; }

.or-wrap { width: min(var(--or-max), calc(100% - 48px)); margin-inline: auto; }

.or-label {
	display: inline-block;
	color: var(--or-orange);
	font-family: "DM Sans", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.or-kicker {
	color: var(--or-red);
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .04em;
	margin: 0 0 16px;
}

.or-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--or-red);
	color: var(--or-pure) !important;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	padding: 16px 28px;
	border: 0;
	line-height: 1;
	transition: background .2s ease;
}
.or-btn:hover { background: var(--or-red-d); }
.or-btn__icon { display: inline-flex; }
.or-btn--ghost {
	background: transparent;
	color: var(--or-ink) !important;
	border: 1px solid var(--or-ink);
}
.or-btn--ghost:hover { background: var(--or-ink); color: var(--or-pure) !important; }

.or-icon-btn {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--or-line);
	color: var(--or-red);
	margin-top: 18px;
}
.or-icon-btn:hover { background: var(--or-red); color: var(--or-pure); border-color: var(--or-red); }

/* Header */
.or-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 100;
	height: var(--or-header);
	display: flex;
	align-items: center;
	transition: background .25s ease, box-shadow .25s ease;
}
.or-header.is-solid,
body:not(.arioil-home) .or-header {
	background: var(--or-white);
	box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.or-header__inner {
	width: min(1400px, calc(100% - 40px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
}
.or-logo { display: flex; align-items: center; }
.or-logo__img { height: 48px; width: auto; object-fit: contain; }
.or-logo__img--dark { display: none; }
.or-header.is-solid .or-logo__img--light,
body:not(.arioil-home) .or-logo__img--light { display: none; }
.or-header.is-solid .or-logo__img--dark,
body:not(.arioil-home) .or-logo__img--dark { display: block; }

.or-nav__list {
	display: flex;
	justify-content: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: "DM Sans", sans-serif;
	font-weight: 600;
}
.or-nav__list a { color: var(--or-pure); }
.or-header.is-solid .or-nav__list a,
body:not(.arioil-home) .or-nav__list a { color: var(--or-ink); }
.or-nav__list .is-active > a,
.or-nav__list a:hover { color: var(--or-red) !important; }
.or-nav__list > li.menu-item-has-children > a::after {
	content: " ▾";
	font-size: 11px;
	opacity: .8;
}
.or-nav__list .sub-menu {
	display: none;
	position: absolute;
	background: var(--or-white);
	min-width: 260px;
	padding: 12px 0;
	box-shadow: 0 16px 40px rgba(0,0,0,.12);
	list-style: none;
	margin: 8px 0 0;
	z-index: 40;
}
.or-nav__list > li { position: relative; }
.or-nav__list > li:hover > .sub-menu { display: block; }
.or-nav__list .sub-menu a {
	display: block;
	padding: 8px 18px;
	color: var(--or-ink) !important;
}
.or-nav__list .sub-menu a:hover { color: var(--or-red) !important; }

.or-header__actions { display: flex; align-items: center; gap: 12px; }
.or-search-btn {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.35);
	background: transparent;
	color: var(--or-pure);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.or-header.is-solid .or-search-btn,
body:not(.arioil-home) .or-search-btn {
	border-color: var(--or-line);
	color: var(--or-ink);
}
.or-burger { display: none; background: none; border: 0; width: 42px; height: 42px; padding: 8px; }
.or-burger span { display: block; height: 2px; background: currentColor; margin: 6px 0; }
.or-header.is-solid .or-burger,
body:not(.arioil-home) .or-burger { color: var(--or-ink); }
body.arioil-home .or-burger { color: var(--or-pure); }

.or-search-modal {
	position: fixed;
	inset: 0;
	background: rgba(12, 66, 106, .94);
	z-index: 200;
	display: grid;
	place-items: center;
}
.or-search-modal[hidden] { display: none; }
.or-search-modal__form { display: flex; gap: 8px; width: min(640px, 90%); }
.or-search-modal__form input {
	flex: 1;
	padding: 16px 18px;
	border: 0;
	font-size: 18px;
}
.or-search-modal__close {
	position: absolute;
	top: 24px;
	right: 32px;
	background: none;
	border: 0;
	color: var(--or-pure);
	font-size: 42px;
}

/* Hero */
.or-hero { position: relative; height: 100vh; min-height: 760px; overflow: hidden; }
.or-hero__slides { position: absolute; inset: 0; }
.or-hero__slide {
	position: absolute;
	inset: 0;
	background-color: var(--or-blue-d);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 62% 22%;
	opacity: 0;
	transition: opacity .8s ease;
	display: flex;
	align-items: center;
}
.or-hero__slide:nth-child(2) { background-position: 58% 18%; }
.or-hero__slide:nth-child(3) { background-position: 54% 28%; }
.or-hero__slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .16) 46%, rgba(0, 0, 0, .18) 100%);
}
.or-hero__slide.is-active { opacity: 1; z-index: 1; }
.or-hero .or-wrap {
	position: relative;
	z-index: 2;
	width: min(1400px, calc(100% - 80px));
}
.or-hero__content {
	max-width: 640px;
	padding-top: 28px;
}
.or-hero h1 {
	color: var(--or-pure);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(40px, 5.2vw, 76px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.035em;
	max-width: 620px;
	margin: 0 0 34px;
}
.or-hero__tags {
	margin: 0 0 16px;
	color: var(--or-orange);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.or-hero .or-btn {
	padding: 18px 30px;
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
}
.or-hero__meta {
	position: absolute;
	right: 7%;
	bottom: 10%;
	z-index: 2;
	text-align: right;
	color: var(--or-pure);
}
.or-hero__meta ul {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
}
.or-hero__meta .is-accent { color: var(--or-orange); }
.or-hero__stat {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(64px, 8vw, 108px);
	line-height: .82;
	font-weight: 800;
	letter-spacing: -.045em;
	color: rgba(255,255,255,.58);
}
.or-hero__stat span { color: inherit; }
.or-hero__dots {
	position: absolute;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 8px;
}
.or-hero__dots button {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 0;
	background: rgba(255,255,255,.4);
	padding: 0;
}
.or-hero__dots .is-active { background: var(--or-red); }

/* Partners */
.or-partners { overflow: hidden; border-bottom: 1px solid var(--or-line); background: var(--or-white); padding: 22px 0 10px; }
.or-partners__label {
	margin: 0 0 8px;
	text-align: center;
	color: var(--or-red);
	font-family: "DM Sans", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.or-partners__track {
	display: flex;
	align-items: center;
	gap: 0;
	animation: or-slide 28s linear infinite;
	width: max-content;
}
.or-partners__item {
	width: 200px;
	min-width: 200px;
	height: 110px;
	display: grid;
	place-items: center;
	border-right: 1px solid var(--or-line);
	padding: 8px 24px;
}
.or-partners__item img {
	width: 140px;
	height: 80px;
	object-fit: contain;
	filter: none;
	opacity: 1;
}
@keyframes or-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* About */
.or-about { padding: 90px 0 70px; background: var(--or-white); }
.or-about__intro {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 24px;
	margin-bottom: 48px;
	align-items: start;
}
.or-about__lead {
	font-family: Agdasima, sans-serif;
	font-size: 42px;
	line-height: 1.1;
	color: var(--or-ink);
	margin: 0 0 10px;
}
.or-about__grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr .72fr;
	gap: 28px;
	align-items: stretch;
}
.or-about__photo img { width: 100%; height: 100%; object-fit: cover; min-height: 420px; }
.or-about__copy h2 { font-size: 42px; line-height: 1.05; }
.or-checks { list-style: none; padding: 0; margin: 18px 0 24px; }
.or-checks li {
	position: relative;
	padding-left: 34px;
	margin: 10px 0;
	color: var(--or-ink);
}
.or-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 18px;
	height: 18px;
	border: 2px solid var(--or-red);
	border-radius: 50%;
	box-shadow: inset 0 0 0 3px var(--or-white), inset 0 0 0 6px var(--or-red);
}
.or-about__stats {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}
.or-about__people { display: flex; flex-direction: column; gap: 6px; }
.or-about__people img { height: 28px; width: auto; }
.or-about__people strong { color: var(--or-ink); font-size: 20px; }
.or-about__people span { font-size: 14px; color: var(--or-muted); }
.or-about__counter b { font-family: Agdasima, sans-serif; font-size: 56px; color: var(--or-ink); display: block; line-height: .9; }
.or-about__counter span { font-size: 14px; }

/* Marquee */
.or-marquee {
	position: relative;
	background: #F9FAFB;
	overflow: hidden;
	min-height: 820px;
	padding: 80px 0 160px;
}
.or-marquee__intro {
	position: absolute;
	z-index: 5;
	top: 48px;
	left: calc(50% - min(37.5%, 490px) + 52px);
	max-width: 380px;
	margin: 0;
}
.or-marquee__intro .or-label { font-size: 13px; }
.or-marquee__intro h2 {
	font-size: clamp(26px, 3.2vw, 40px);
	line-height: 1.08;
	color: var(--or-blue-d);
	margin-bottom: 10px;
}
.or-marquee__intro p {
	margin: 0 0 18px;
	max-width: 340px;
	font-size: 15px;
	line-height: 1.55;
}
.or-marquee__visual {
	position: absolute;
	left: 50%;
	top: 24px;
	transform: translateX(-50%);
	width: min(75%, 980px);
	z-index: 2;
	pointer-events: none;
}
.or-marquee__visual img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	filter: drop-shadow(0 18px 28px rgba(12, 66, 106, .12));
}
.or-marquee__clouds {
	position: absolute;
	left: 50%;
	bottom: -8%;
	transform: translateX(-50%);
	width: 130%;
	min-width: 1400px;
	z-index: 0;
	opacity: .72;
	pointer-events: none;
}
.or-marquee__clouds img {
	width: 100%;
	height: auto;
	display: block;
}

/* Services */
.or-services {
	background: var(--or-navy) center / cover no-repeat;
	padding: 56px 0 64px;
}
.or-services__head { padding: 0 0 28px; }
.or-services__head h2 { color: var(--or-pure); font-size: clamp(28px, 3.4vw, 42px); line-height: 1.08; max-width: 640px; }
.or-services__grid {
	width: min(1440px, calc(100% - 48px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.or-services__grid > * { min-height: 300px; }
.or-services figure { margin: 0; }
.or-ripple {
	position: relative;
	overflow: hidden;
}
.or-ripple > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-height: 300px;
	display: block;
}
.or-ripple__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}
.or-services article {
	background: var(--or-pure);
	padding: 32px 28px 26px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.or-services h3 {
	font-size: 26px;
	line-height: 1.15;
	margin: 0;
}
.or-services h3::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--or-line);
	margin: 14px 0 12px;
}
.or-services article p {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.65;
	flex: 1;
}
.or-services .or-icon-btn {
	width: 40px;
	height: 40px;
	margin-top: auto;
	color: var(--or-red);
	border-color: #e6e6e6;
	flex-shrink: 0;
}
.or-services .or-icon-btn:hover {
	background: var(--or-red);
	border-color: var(--or-red);
	color: var(--or-pure);
}

/* Map */
.or-map { padding: 90px 0; background: var(--or-white); }
.or-map__grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 40px;
	align-items: center;
}
.or-map__visual { position: relative; }
.or-map__pin {
	position: absolute;
	background: var(--or-gold-d);
	color: var(--or-pure);
	font-size: 12px;
	padding: 8px 10px;
	white-space: normal;
	max-width: 190px;
	line-height: 1.3;
}
.or-map__pin b { display: block; font-size: 13px; }
.or-map__pin--a { top: 28%; left: 18%; }
.or-map__pin--b { top: 38%; left: 46%; }
.or-map__pin--c { top: 58%; left: 22%; }
.or-map__pin--d { top: 48%; left: 62%; }
.or-map__copy h2 { font-size: 48px; line-height: 1; }
.or-map__big { font-family: Agdasima, sans-serif; font-size: 88px; line-height: .9; color: var(--or-ink); font-weight: 700; }
.or-map__big span { color: var(--or-red); }
.or-map__copy strong { display: block; color: var(--or-ink); margin-bottom: 10px; }
.or-map__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 48px;
}
.or-map__cards article { background: var(--or-white); border: 1px solid var(--or-line); padding: 32px; }
.or-map__cards b { font-family: Agdasima, sans-serif; font-size: 56px; color: var(--or-ink); }

/* FAQ */
.or-faq {
	position: relative;
	background: var(--or-navy);
	color: #D5DEE5;
	padding: 72px 0 100px;
	overflow: visible;
}
.or-faq__tear {
	position: absolute;
	left: 0;
	right: 0;
	top: -58px;
	height: 60px;
	background: url("../img/faq-tear.webp?v=143") top center / 1920px 107px repeat-x;
	pointer-events: none;
	z-index: 3;
}
.or-faq__head {
	margin-bottom: 12px;
}
.or-faq .or-label {
	display: block;
	margin-bottom: 8px;
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: none;
}
.or-faq h2 {
	color: var(--or-pure);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.02em;
	max-width: 720px;
	margin: 0;
}
.or-faq__item {
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, .13);
}
.or-faq__item:last-child { border-bottom: 0; }
.or-faq__item summary {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 40px 48px 18px 170px;
	cursor: pointer;
	list-style: none;
	color: var(--or-pure);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(22px, 2.4vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	transition: color .2s ease;
}
.or-faq__item summary::-webkit-details-marker { display: none; }
.or-faq__q { display: block; padding-right: 12px; }
.or-faq__num {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	min-width: 0;
	color: rgba(255, 255, 255, .22);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(64px, 8vw, 110px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
	pointer-events: none;
	transition: color .2s ease;
}
.or-faq__item p {
	margin: 0 8% 36px 170px;
	max-width: 760px;
	font-size: 16px;
	line-height: 1.7;
	color: #E8EEF2;
}
.or-faq__item summary::after {
	content: "+";
	margin-left: auto;
	flex-shrink: 0;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
	color: var(--or-pure);
}
.or-faq__item[open] summary,
.or-faq__item[open] .or-faq__num,
.or-faq__item[open] summary::after {
	color: var(--or-orange);
}
.or-faq__item[open] summary::after { content: "–"; }

/* Blog */
.or-blog { padding: 90px 0 70px; overflow: hidden; background: var(--or-white); }
.or-blog__head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	margin-bottom: 36px;
}
.or-blog h2 { font-size: 56px; line-height: 1; max-width: 640px; }
.or-blog__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(340px, 1fr);
	gap: 24px;
	overflow-x: auto;
	padding: 0 24px 16px;
	scrollbar-width: thin;
}
.or-card { min-width: 340px; }
.or-card__media img { width: 100%; height: 230px; object-fit: cover; }
.or-card__body { padding: 18px 4px 0; }
.or-card__meta { display: flex; gap: 16px; font-size: 13px; margin-bottom: 8px; }
.or-card h3 { font-size: 28px; line-height: 1.1; }
.or-card p { margin: 8px 0 12px; }
.or-card__more { display: inline-flex; align-items: center; gap: 8px; color: var(--or-red); font-weight: 700; font-family: "DM Sans", sans-serif; }

/* Footer */
.or-footer {
	background: var(--or-blue-d) center/cover no-repeat;
	color: #D5DEE5;
}
.or-footer__overlay { background: linear-gradient(180deg, rgba(12, 66, 106, .86), rgba(8, 47, 76, .94)); padding: 80px 0 30px; }
.or-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr .8fr .8fr 1fr;
	gap: 32px;
}
.or-footer h2 {
	color: var(--or-pure);
	display: flex;
	align-items: center;
	gap: 8px;
}
.or-footer h2::before {
	content: "";
	width: 10px;
	height: 14px;
	background: var(--or-gold);
	clip-path: ellipse(40% 50% at 50% 50%);
}
.or-footer__brand img { height: 44px; width: auto; margin-bottom: 16px; object-fit: contain; }
.or-footer__links { list-style: none; margin: 0; padding: 0; }
.or-footer__links a { display: inline-block; padding: 6px 0; color: var(--or-pure); }
.or-footer__links a::before { content: "↗ "; color: var(--or-gold); }
.or-newsletter { display: flex; background: rgba(0,0,0,.35); }
.or-newsletter input {
	flex: 1;
	background: transparent;
	border: 0;
	color: var(--or-pure);
	padding: 14px 16px;
}
.or-newsletter button { background: var(--or-red); border: 0; color: var(--or-pure); padding: 0 16px; }
.or-newsletter__note { margin-top: 12px; color: var(--or-gold); }
.or-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: start;
	margin-top: 50px;
	gap: 24px;
}
.or-footer__contact { display: flex; flex-direction: column; gap: 6px; color: var(--or-pure); font-size: 18px; }
.or-footer__contact p { margin: 4px 0 0; font-size: 14px; color: #D5DEE5; max-width: 560px; }
.or-copyright { border-top: 1px solid rgba(255,255,255,.12); padding: 16px 0; font-size: 14px; background: rgba(8, 47, 76, .45); }
.or-copyright a { color: var(--or-red); }

.or-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	width: 46px;
	height: 46px;
	background: var(--or-red);
	color: var(--or-pure);
	border: 0;
	z-index: 50;
}

/* Inner pages */
.or-page-hero {
	min-height: 340px;
	display: grid;
	place-items: center;
	background: var(--or-navy) center/cover no-repeat;
	color: var(--or-pure);
	padding: 150px 20px 70px;
	text-align: center;
}
.or-page-hero__inner { width: min(860px, 100%); }
.or-page-hero h1 {
	color: var(--or-pure);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(40px, 5vw, 64px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.05;
	margin: 0 0 14px;
}
.or-page-hero__crumbs {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-family: "DM Sans", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: rgba(255,255,255,.82);
}
.or-page-hero__crumbs a { color: var(--or-red); }
.or-page-hero__crumbs a:hover { color: var(--or-pure); }
.or-page-hero__sub {
	margin: 14px 0 0;
	color: rgba(255,255,255,.88);
	font-size: 16px;
}
.or-page { padding: 60px 0 90px; background: var(--or-white); overflow: visible; }
.or-page .or-wrap { max-width: 860px; }

/* Product / service detail */
.or-service-page { background: var(--or-white); }
.or-service {
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto;
	padding: 70px 0 20px;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	align-items: start;
}
.or-side h3 {
	margin: 0 0 16px;
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 22px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--or-red);
}
.or-side ul { list-style: none; margin: 0; padding: 0; }
.or-side a {
	display: block;
	padding: 14px 16px;
	margin-bottom: 8px;
	border: 1px solid var(--or-line);
	background: var(--or-pure);
	color: var(--or-ink);
	font-family: "DM Sans", sans-serif;
	font-weight: 700;
	font-size: 15px;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.or-side a:hover,
.or-side .is-current a {
	background: var(--or-red);
	border-color: var(--or-red);
	color: var(--or-pure);
}
.or-side__cta {
	margin-top: 8px;
	padding: 22px 20px 24px;
	background: var(--or-navy);
	color: #D5DEE5;
}
.or-side__cta strong {
	display: block;
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.35;
	color: var(--or-pure);
}
.or-side__cta p {
	margin: 8px 0 16px;
	font-size: 14px;
	line-height: 1.5;
}
.or-side__cta .or-btn {
	width: 100%;
	justify-content: center;
	padding: 12px 16px;
	font-size: 14px;
}
.or-service__image {
	margin: 0 0 28px;
	background: var(--or-pure);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px;
}
.or-service__image img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 560px;
	object-fit: contain;
	object-position: center;
}
.or-service__content h2,
.or-service__heading {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.15;
	margin: 0 0 16px;
	font-weight: 800;
	color: var(--or-ink);
}
.or-service__intro { font-size: 17px; color: var(--or-ink); }
.or-service__features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 40px;
	padding-top: 22px;
	border-top: 3px solid var(--or-orange);
}
.or-service__features article {
	background: #0E2F3E;
	padding: 28px 26px 32px;
	color: #E8EEF2;
}
.or-service__features h3 {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--or-pure);
	margin: 0 0 12px;
}
.or-service__features h3 span { color: var(--or-orange); }
.or-service__features p { margin: 0; line-height: 1.7; }
.or-sfaq { margin-top: 56px; padding-bottom: 40px; }
.or-sfaq h2 {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 800;
	color: var(--or-ink);
	margin: 0 0 22px;
}
.or-sfaq details { margin-bottom: 10px; }
.or-sfaq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #E8EAED;
	color: #1B242C;
	padding: 16px 20px;
	cursor: pointer;
	list-style: none;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}
.or-sfaq summary::-webkit-details-marker { display: none; }
.or-sfaq summary::after {
	content: "+";
	flex-shrink: 0;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}
.or-sfaq details[open] summary {
	background: var(--or-orange);
	color: var(--or-pure);
}
.or-sfaq details[open] summary::after { content: "–"; }
.or-sfaq details p {
	margin: 0;
	padding: 18px 20px 22px;
	background: #F4F5F6;
	color: #4A5C6A;
	line-height: 1.7;
}
.or-service__index { display: grid; gap: 10px; margin-top: 28px; }
.or-service__index a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border: 1px solid var(--or-line);
	background: var(--or-pure);
	color: var(--or-ink);
	font-family: "DM Sans", sans-serif;
	font-weight: 700;
}
.or-service__index a:hover {
	border-color: var(--or-red);
	color: var(--or-red);
}

/* About page extras */
.or-timeline {
	padding: 90px 0;
	background: var(--or-white);
}
.or-timeline h2 {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.1;
	margin: 0 0 40px;
	max-width: 640px;
}
.or-timeline__list {
	display: grid;
	gap: 0;
	border-left: 2px solid var(--or-line);
	margin-left: 8px;
}
.or-timeline__item {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 28px;
	padding: 0 0 36px 36px;
	position: relative;
}
.or-timeline__item::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 10px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--or-red);
	box-shadow: 0 0 0 4px var(--or-white);
}
.or-timeline__year {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: var(--or-red);
	line-height: 1.2;
}
.or-timeline__body h3 {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 24px;
	margin: 0 0 8px;
}
.or-timeline__body p { margin: 0; max-width: 640px; }

.or-certs {
	padding: 80px 0 90px;
	background: #F9FAFB;
	text-align: center;
}
.or-certs h2 {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.1;
	margin: 0 0 16px;
}
.or-certs__lead {
	max-width: 640px;
	margin: 0 auto 36px;
}
.or-certs__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
	align-items: center;
	margin-bottom: 0;
}
.or-certs__item {
	height: 110px;
	display: grid;
	place-items: center;
	background: var(--or-pure);
	border: 1px solid var(--or-line);
	padding: 12px;
}
.or-certs__item img {
	width: 100%;
	height: 72px;
	object-fit: contain;
}
.or-certs__item--text span {
	color: var(--or-ink);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .08em;
}

.or-cta-band {
	background: var(--or-navy);
	color: #D5DEE5;
	padding: 90px 20px;
	text-align: center;
}
.or-cta-band h2,
.or-cta-band h3 {
	color: var(--or-pure);
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1.15;
	max-width: 760px;
	margin: 0 auto 16px;
	font-weight: 800;
}
.or-cta-band p {
	max-width: 640px;
	margin: 0 auto 32px;
}
.or-cta-band__actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}
.or-cta-band .or-btn--ghost {
	background: transparent;
	color: var(--or-pure) !important;
	border: 1px solid rgba(255,255,255,.75);
}
.or-cta-band .or-btn--ghost:hover {
	background: var(--or-pure);
	color: var(--or-ink) !important;
}

/* Contact page */
.or-contact-find {
	padding: 80px 0;
	background: var(--or-pure);
}
.or-contact-find__grid {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 28px;
	align-items: stretch;
}
.or-contact-find__map {
	position: relative;
	margin: 0;
	min-height: 420px;
	background: #D9DEE3;
}
.or-contact-find__map .or-label {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
	background: var(--or-pure);
	padding: 8px 12px;
}
.or-contact-find__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.or-contact-find__cards {
	display: grid;
	gap: 18px;
}
.or-contact-find__cards article,
.or-contact-details li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 16px;
	align-items: start;
}
.or-contact-find__cards article {
	background: var(--or-white);
	border: 1px solid var(--or-line);
	padding: 28px 24px;
}
.or-contact__icon {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #FFF4E5;
	color: var(--or-orange);
	flex-shrink: 0;
}
.or-contact-find__cards h3,
.or-contact-details h3 {
	margin: 0 0 6px;
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: var(--or-ink);
}
.or-contact-find__cards p,
.or-contact-details p { margin: 0 0 6px; }
.or-contact-find__cards a,
.or-contact-details a { color: var(--or-ink); }
.or-contact-find__cards a:hover,
.or-contact-details a:hover { color: var(--or-red); }
.or-contact-form {
	padding: 90px 0 100px;
	background: var(--or-white);
}
.or-contact-form__grid {
	display: grid;
	grid-template-columns: 1.35fr .65fr;
	gap: 40px;
	align-items: start;
}
.or-contact-form__main h2,
.or-contact-details h2 {
	font-family: Montserrat, "DM Sans", sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.12;
	margin: 8px 0 12px;
	color: var(--or-ink);
}
.or-contact-form__main > p { max-width: 640px; margin: 0 0 28px; }
.or-contact-form__notice {
	padding: 14px 16px;
	margin: 0 0 22px;
	font-family: "DM Sans", sans-serif;
	font-weight: 600;
}
.or-contact-form__notice--ok { background: #E8F5EC; color: #1B6B3A; }
.or-contact-form__notice--error { background: #FDECEE; color: var(--or-red); }
.or-contact-form__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	width: 0;
	overflow: hidden;
}
.or-contact-form__fields { position: relative; display: grid; gap: 14px; }
.or-contact-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.or-contact-form__fields input,
.or-contact-form__fields textarea {
	width: 100%;
	border: 1px solid var(--or-line);
	background: var(--or-pure);
	color: var(--or-ink);
	padding: 16px 18px;
	font: inherit;
	border-radius: 0;
}
.or-contact-form__fields input:focus,
.or-contact-form__fields textarea:focus {
	outline: 2px solid var(--or-navy);
	outline-offset: -2px;
}
.or-contact-form__fields textarea { resize: vertical; min-height: 140px; }
.or-contact-form__fields .or-btn { justify-self: start; margin-top: 8px; }
.or-contact-details {
	background: #0E2F3E;
	color: #D5DEE5;
	padding: 40px 32px 44px;
}
.or-contact-details h2 { color: var(--or-pure); font-size: clamp(28px, 3vw, 36px); }
.or-contact-details > p { margin: 0 0 28px; }
.or-contact-details ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.or-contact-details li { grid-template-columns: 46px 1fr; }
.or-contact-details .or-contact__icon {
	width: 46px;
	height: 46px;
	background: rgba(241, 140, 0, .16);
}
.or-contact-details h3 { color: var(--or-pure); font-size: 16px; letter-spacing: .04em; text-transform: uppercase; }
.or-contact-details a { color: var(--or-pure); }
.or-contact-details a:hover { color: var(--or-orange); }

body.arioil-home { padding-top: 0; }

@media (max-width: 1100px) {
	.or-about__grid,
	.or-services__grid,
	.or-map__grid,
	.or-footer__grid { grid-template-columns: 1fr 1fr; }
	.or-certs__grid { grid-template-columns: repeat(3, 1fr); }
	.or-service { gap: 28px; }
	.or-contact-find__grid,
	.or-contact-form__grid { grid-template-columns: 1fr; }
	.or-nav { display: none; }
	.or-nav.is-open {
		display: block;
		position: absolute;
		top: var(--or-header);
		left: 0;
		right: 0;
		background: var(--or-white);
		padding: 20px;
	}
	.or-nav.is-open .or-nav__list { flex-direction: column; gap: 0; }
	.or-nav.is-open a { color: var(--or-ink) !important; }
	.or-nav.is-open .sub-menu {
		display: block;
		position: static;
		box-shadow: none;
		min-width: 0;
		margin: 0;
		padding: 4px 0 10px 12px;
	}
	.or-burger { display: block; }
	.or-header__actions .or-btn { display: none; }
	.or-faq__item summary { padding-left: 120px; }
	.or-faq__item p { margin-left: 120px; }
	.or-faq__num { font-size: 72px; }
}

@media (max-width: 900px) {
	.or-marquee {
		min-height: 0;
		padding: 40px 0 200px;
	}
	.or-marquee__intro {
		position: relative;
		left: auto;
		top: auto;
		max-width: none;
		padding: 0 24px;
	}
	.or-marquee__visual {
		position: relative;
		left: auto;
		top: 20px;
		transform: none;
		width: min(92%, 560px);
		margin: 40px auto 0;
	}
	.or-marquee__clouds {
		width: 180%;
		min-width: 0;
	}
}

@media (max-width: 760px) {
	.or-about__intro,
	.or-about__grid,
	.or-services__grid,
	.or-map__grid,
	.or-map__cards,
	.or-footer__grid,
	.or-blog__head,
	.or-timeline__item,
	.or-certs__grid { grid-template-columns: 1fr; display: grid; }
	.or-hero { min-height: 640px; }
	.or-hero .or-wrap { width: min(1400px, calc(100% - 40px)); }
	.or-hero__content { max-width: none; padding-top: 48px; }
	.or-hero__meta { display: none; }
	.or-hero__slide,
	.or-hero__slide:nth-child(2),
	.or-hero__slide:nth-child(3) { background-position: 70% 20%; }
	.or-faq__item p { margin: 0 0 24px; }
	.or-faq__head { align-items: start; flex-direction: column; }
	.or-faq__item summary { padding: 28px 36px 12px 0; font-size: 22px; }
	.or-faq__num { display: none; }
	.or-service { grid-template-columns: 1fr; }
	.or-service__features { grid-template-columns: 1fr; }
	.or-contact-form__row { grid-template-columns: 1fr; }
	.or-contact-find__map { min-height: 320px; }
}
