/*
 * Aros Child — base styles. Everything reads the tokens in style.css.
 * Visual reference: baseline screenshots of arosmarine.com (2 Oct 2026).
 * Breakpoints follow the Elementor kit: mobile ≤767px, tablet ≤1024px.
 */

/* ---------- 1. Base typography ---------- */
html {
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--aros-font-sans);
	font-size: 16px;
	line-height: 1.625;
	color: var(--aros-color-primary);
	background: var(--aros-color-white);
	font-synthesis: weight; /* Instrument Serif has no 600 cut; the browser emboldens */
}
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.5em;
	color: var(--aros-color-primary);
	font-weight: 400;
}
h1, .aros-h1 {
	font-family: var(--aros-font-serif);
	font-size: var(--aros-h1-size);
	line-height: var(--aros-h1-line);
}
h2, .aros-h2 {
	font-family: var(--aros-font-serif);
	font-size: var(--aros-h2-size);
	line-height: var(--aros-h2-line);
	letter-spacing: var(--aros-h2-tracking);
}
h3, .aros-h3 {
	font-family: var(--aros-font-sans);
	font-size: var(--aros-h3-size);
	line-height: var(--aros-h3-line);
	font-weight: 500;
	color: var(--aros-color-navy);
}
h4, h5, h6 {
	font-family: var(--aros-font-sans);
	font-weight: 500;
}
a {
	color: var(--aros-color-navy);
	text-decoration: none;
}
a:hover, a:focus-visible {
	color: var(--aros-color-accent);
}
img {
	max-width: 100%;
	height: auto;
}
.aros-section--dark {
	background: var(--aros-color-primary);
	color: var(--aros-color-secondary);
}
.aros-section--dark h1, .aros-section--dark h2, .aros-section--dark h3,
.aros-section--dark a {
	color: var(--aros-color-cream-heading);
}
.aros-section--cream {
	background: var(--aros-color-secondary);
}
.aros-container {
	width: min(100% - 32px, 1140px);
	margin-inline: auto;
}

/* Elementor headings: the kit's global typography makes every heading serif; the old theme
   used the serif only for h1/h2 and the sans for everything smaller. Per-element Elementor
   settings (more specific) still win. */
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title,
.elementor-widget-heading p.elementor-heading-title,
.elementor-widget-heading div.elementor-heading-title,
.elementor-widget-heading span.elementor-heading-title {
	font-family: var(--aros-font-sans);
}
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title {
	font-family: var(--aros-font-serif);
}

/* ---------- 2. Buttons ---------- */
.elementor-button,
.elementor-button:hover {
	text-decoration: none;
}
/* Default look of converted old-theme buttons without a style class: navy, square */
.aros-cms-button:not([class*="aros-btn--"]) .elementor-button {
	background: var(--aros-color-primary);
	border: 1px solid var(--aros-color-primary);
	color: var(--aros-color-white);
}
.aros-section--dark .aros-cms-button:not([class*="aros-btn--"]) .elementor-button,
.grain-effect .aros-cms-button:not([class*="aros-btn--"]) .elementor-button {
	background: var(--aros-color-secondary);
	border-color: var(--aros-color-secondary);
	color: var(--aros-color-primary);
}
.aros-button,
.aros-form-panel .wpcf7-submit,
.aros-single .wpcf7-submit {
	display: inline-block;
	padding: 10px 28px;
	border: 1px solid var(--aros-color-primary);
	border-radius: 0;
	background: var(--aros-color-primary);
	color: var(--aros-color-white);
	font-family: var(--aros-font-sans);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.aros-button:hover, .aros-button:focus-visible,
.aros-form-panel .wpcf7-submit:hover,
.aros-single .wpcf7-submit:hover {
	background: var(--aros-color-navy);
	border-color: var(--aros-color-navy);
	color: var(--aros-color-white);
}
.aros-button--outline {
	background: transparent;
	color: var(--aros-color-primary);
}
.aros-button--outline:hover, .aros-button--outline:focus-visible {
	background: var(--aros-color-primary);
	color: var(--aros-color-white);
}
.aros-button--light {
	background: var(--aros-color-secondary);
	border-color: var(--aros-color-secondary);
	color: var(--aros-color-primary);
}
.aros-button--light:hover, .aros-button--light:focus-visible {
	background: var(--aros-color-white);
	border-color: var(--aros-color-white);
	color: var(--aros-color-primary);
}
.aros-button--accent {
	background: var(--aros-color-accent);
	border-color: var(--aros-color-accent);
}
.aros-button--on-dark {
	background: transparent;
	border-color: var(--aros-color-secondary);
	color: var(--aros-color-secondary);
}
.aros-button--on-dark:hover, .aros-button--on-dark:focus-visible {
	background: var(--aros-color-secondary);
	color: var(--aros-color-primary);
}
.aros-button--block {
	display: block;
	width: 100%;
}

/* Converted old-theme buttons (wp aros convert-elementor adds these classes to Elementor buttons) */
.aros-btn--outline .elementor-button {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--aros-color-primary);
}
.aros-btn--outline .elementor-button:hover,
.aros-btn--outline .elementor-button:focus-visible {
	background: var(--aros-color-primary);
	border-color: var(--aros-color-primary);
	color: var(--aros-color-white);
}
.aros-section--dark .aros-btn--outline .elementor-button,
.elementor-element[class*="aros-btn--outline"] .elementor-button.aros-on-dark {
	color: var(--aros-color-secondary);
}
.aros-btn--light .elementor-button {
	background: var(--aros-color-secondary);
	border: 1px solid var(--aros-color-secondary);
	color: var(--aros-color-primary);
}
.aros-btn--light .elementor-button:hover,
.aros-btn--light .elementor-button:focus-visible {
	background: var(--aros-color-white);
	border-color: var(--aros-color-white);
	color: var(--aros-color-primary);
}
.aros-btn--accent .elementor-button {
	background: var(--aros-color-accent);
	border: 1px solid var(--aros-color-accent);
	color: var(--aros-color-white);
}
.aros-cms-button .elementor-button,
.aros-fancy-box__button .elementor-button,
.aros-download .elementor-button {
	border-radius: 0;
	font-size: 13px;
	font-weight: 500;
}

/* ---------- 3. Fancy box (icon + title + text), counters ---------- */
/* Converted cms_fancy_box → icon-box. On the old site layout 3 was the white bordered card
   with the icon on the left ("What we do"), layouts 1 and 2 the navy cards (certificates,
   CSR items, the sales-team box). */
.aros-fancy-box.elementor-widget-icon-box,
.aros-fancy-box.elementor-widget-image-box {
	/* the PHP-rendered .aros-fancy-box look (flex, border, white) does not apply to the widget wrapper */
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
}
.aros-fancy-box.elementor-widget-icon-box .elementor-icon-box-wrapper {
	padding: 18px 20px;
	text-align: left;
}
.aros-fancy-box--layout3.elementor-widget-icon-box .elementor-icon-box-wrapper {
	border: 1px solid rgba(0, 48, 80, .12);
	background: var(--aros-color-white);
}
.aros-fancy-box--layout1.elementor-widget-icon-box .elementor-icon-box-wrapper,
.aros-fancy-box--layout2.elementor-widget-icon-box .elementor-icon-box-wrapper {
	min-height: 150px;
	padding: 28px 28px 32px;
	background: var(--aros-color-navy);
	color: var(--aros-color-secondary);
}
.aros-fancy-box--layout1 .elementor-icon-box-title,
.aros-fancy-box--layout1 .elementor-icon-box-title a,
.aros-fancy-box--layout1 .elementor-icon-box-description,
.aros-fancy-box--layout2 .elementor-icon-box-title,
.aros-fancy-box--layout2 .elementor-icon-box-title a,
.aros-fancy-box--layout2 .elementor-icon-box-description {
	color: var(--aros-color-white);
}
.aros-fancy-box--layout1 .elementor-icon-box-title,
.aros-fancy-box--layout2 .elementor-icon-box-title {
	font-size: 18px;
	line-height: 1.3;
}
/* "View certificate" links under the navy certificate cards */
.aros-fancy-box--layout1 + .aros-fancy-box__button .elementor-button {
	background: transparent;
	border: 0;
	padding-left: 0;
	color: var(--aros-color-primary);
	font-weight: 700;
}
.aros-fancy-box .elementor-icon-box-icon:empty {
	display: none;
}
.aros-fancy-box--stacked.elementor-widget-icon-box .elementor-icon-box-wrapper,
.aros-fancy-box--stacked.elementor-widget-image-box .elementor-image-box-wrapper {
	border: 0;
	background: transparent;
	padding: 0;
	text-align: center;
}
.aros-fancy-box .elementor-icon-box-title,
.aros-fancy-box .elementor-image-box-title {
	font-family: var(--aros-font-sans);
	font-size: var(--aros-h3-size);
	line-height: var(--aros-h3-line);
	font-weight: 500;
	color: var(--aros-color-navy);
}
.aros-fancy-box .elementor-icon-box-description,
.aros-fancy-box .elementor-image-box-description {
	font-size: 14px;
	line-height: 1.6;
	margin-top: 4px;
}
.aros-fancy-box .elementor-icon-box-icon {
	width: 40px;
	color: var(--aros-color-navy);
}
.aros-fancy-box .elementor-icon-box-icon svg,
.aros-fancy-box .elementor-icon-box-icon img {
	width: 40px;
	height: 40px;
}
.aros-career-cards .aros-career-card .elementor-image-box-img img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
	width: 120px;
}

/* Converted cms_heading parts */
.aros-subheading .elementor-heading-title {
	font-family: var(--aros-font-sans);
	font-size: 15px;
	font-weight: 400;
}
.aros-heading-description {
	font-size: 15px;
}

/* Converted cms_tabs / cms_accordion */
.aros-tabs .elementor-tab-title {
	background: #EAEAEA;
	border: 0;
	border-radius: 3px 3px 0 0;
	margin-right: 4px;
	font-family: var(--aros-font-sans);
	font-size: 14px;
	font-weight: 500;
	color: #1B1A1A;
}
.aros-tabs .elementor-tab-title.elementor-active {
	background: var(--aros-color-secondary);
	color: var(--aros-color-primary);
}
.aros-tabs .elementor-tab-content {
	border: 0;
	padding: 28px 32px 32px;
	background: var(--aros-color-secondary);
}

/* Old-theme form markup inside Contact Form 7 (Bootstrap-style rows and columns) */
.wpcf7 .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -8px;
}
.wpcf7 .row > [class*="col-"] {
	flex: 1 1 100%;
	min-width: 0;
	padding: 0 8px;
	box-sizing: border-box;
}
.wpcf7 .box-heading {
	flex-basis: 100%;
	margin: 14px 8px 6px;
	font-size: 13px;
	color: var(--aros-color-primary);
}
.wpcf7 .contact-form-box {
	display: flex;
	flex-wrap: wrap;
}
@media (min-width: 768px) {
	.wpcf7 .row > .col-md-6, .wpcf7 .row > .col-lg-6 { flex-basis: 50%; }
	.wpcf7 .row > .col-md-4, .wpcf7 .row > .col-lg-4 { flex-basis: 33.3333%; }
	.wpcf7 .row > .col-md-3, .wpcf7 .row > .col-lg-3 { flex-basis: 25%; }
	.wpcf7 .row > .col-md-8, .wpcf7 .row > .col-lg-8 { flex-basis: 66.6667%; }
}
.wpcf7 .wpcf7-form-control-wrap {
	display: block;
	max-width: 100%;
	margin-bottom: 10px;
}
/* file inputs have an intrinsic width and otherwise push the page wider on phones */
.wpcf7 input[type="file"],
.wpcf7 .wpcf7-file {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.wpcf7 .row {
		margin: 0;
	}
	.wpcf7 .row > [class*="col-"] {
		padding: 0;
	}
}
.aros-accordion .elementor-accordion-item {
	border-color: rgba(0, 48, 80, .12);
}

/* Converted cms_counter */
.aros-counter--left .elementor-counter,
.aros-counter--left .elementor-counter-number-wrapper,
.aros-counter--left .elementor-counter-title {
	text-align: left;
	justify-content: flex-start;
}
.aros-counter .elementor-counter-number-wrapper {
	font-family: var(--aros-font-serif);
}
.aros-counter .elementor-counter-title {
	font-family: var(--aros-font-sans);
	font-weight: 400;
}

/* Converted cms_clients_list */
.aros-clients .swiper-slide img {
	max-height: 60px;
	width: auto;
	margin: 0 auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .85;
}

.aros-fancy-box {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 20px;
	border: 1px solid rgba(0, 48, 80, .12);
	background: var(--aros-color-white);
}
.aros-fancy-box__icon {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	color: var(--aros-color-navy);
}
.aros-fancy-box__icon svg, .aros-fancy-box__icon img {
	width: 100%;
	height: 100%;
}
.aros-fancy-box__title {
	margin: 0;
	font-size: var(--aros-h3-size);
	line-height: var(--aros-h3-line);
	font-weight: 500;
	color: var(--aros-color-navy);
}
.aros-fancy-box__text {
	margin: 4px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.aros-fancy-box--stacked {
	flex-direction: column;
	align-items: center;
	text-align: center;
	border: 0;
	background: transparent;
	padding: 0;
}
.aros-fancy-box--stacked .aros-fancy-box__icon {
	width: 56px;
	height: 56px;
	flex-basis: auto;
}
.aros-counter {
	color: var(--aros-color-white);
}
.aros-counter__number {
	font-family: var(--aros-font-serif);
	font-size: 50px;
	line-height: 1;
}
.aros-counter__title {
	margin-top: 8px;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 400;
}

/* ---------- 4. Cards (grid + carousel; structure comes from aros-core) ---------- */
.aros-card {
	display: flex;
	flex-direction: column;
	background: var(--aros-color-white);
}
.aros-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--aros-color-secondary);
}
.aros-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.aros-card:hover .aros-card__media img {
	transform: scale(1.03);
}
.aros-card__body {
	padding: 18px 20px 8px;
}
.aros-card__title {
	margin: 0 0 6px;
	font-family: var(--aros-font-sans);
	font-size: 18px;
	line-height: 1.35;
	font-weight: 400;
	color: var(--aros-color-navy);
}
.aros-card__meta {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--aros-color-navy);
}
.aros-card__excerpt {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.6;
}
.aros-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--aros-color-primary);
}
.aros-card__more::before {
	content: "\2192";
	font-weight: 400;
}
.aros-cards__nav {
	background: var(--aros-color-white);
	color: var(--aros-color-navy);
	border: 1px solid rgba(0, 48, 80, .2);
}
.aros-cards__dot[aria-selected="true"] {
	background: var(--aros-color-navy);
}

/* ---------- 5. Forms (Contact Form 7 on cream panels) ---------- */
.aros-form-panel {
	padding: 32px 36px;
	background: var(--aros-color-secondary);
}
.aros-form-panel__title {
	margin: 0 0 20px;
	font-family: var(--aros-font-sans);
	font-size: 22px;
	font-weight: 400;
	text-align: center;
}
.aros-form-panel label,
.aros-form-panel .aros-form__label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--aros-color-primary);
}
.aros-form-panel .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-acceptance):not(.wpcf7-radio),
.aros-form-panel input[type="file"] {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--aros-color-primary);
	background: var(--aros-color-white);
	color: var(--aros-color-primary);
	font: inherit;
	font-size: 14px;
	border-radius: 0;
}
.aros-form-panel textarea.wpcf7-form-control {
	min-height: 120px;
}
.aros-form-panel .wpcf7-form-control::placeholder {
	color: rgba(0, 48, 80, .45);
}
.aros-form-panel .wpcf7-list-item {
	margin: 0 20px 0 0;
	font-size: 12px;
}
.aros-form-panel .wpcf7-acceptance .wpcf7-list-item-label,
.aros-form-panel small {
	font-size: 12px;
	line-height: 1.6;
}
.aros-form-panel .wpcf7-submit {
	display: block;
	width: 100%;
	margin-top: 12px;
}
.aros-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px 20px;
}
.wpcf7 .wpcf7-not-valid-tip {
	font-size: 12px;
	color: var(--aros-color-accent);
}
.wpcf7 .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 10px 14px;
	border: 1px solid var(--aros-color-primary);
	font-size: 13px;
}

/* ---------- 6. Header & footer helpers (templates live in Elementor) ---------- */
.aros-header .menu > li > a,
.aros-header .hfe-nav-menu a.hfe-menu-item {
	font-size: 14px;
	text-transform: lowercase;
	color: var(--aros-color-navy);
}
.hfe-nav-menu a.hfe-menu-item,
.hfe-nav-menu a.hfe-sub-menu-item,
.hfe-nav-menu .sub-menu a {
	font-family: var(--aros-font-sans);
}
/* The logo file is white on transparent; the old header showed it on a navy block. */
.aros-header .hfe-site-logo .hfe-site-logo-container,
.aros-header .hfe-site-logo-set .hfe-site-logo-container {
	display: inline-block;
	padding: 12px 18px;
	background: var(--aros-color-primary);
}
.aros-header .hfe-site-logo-img {
	display: block;
}
.aros-header .current-menu-item > a {
	color: var(--aros-color-accent);
}
/* Mega menu panel (inc/mega-menu.php). The panel anchors to the nearest positioned
   ancestor — the navigation widget — so its right edge lines up with the menu. */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}
.hfe-nav-menu li.menu-item.aros-mega-item,
.menu li.aros-mega-item {
	position: static;
}
.aros-mega-toggle {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	margin: 0 0 0 2px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	vertical-align: middle;
}
.aros-mega-toggle::before {
	content: "";
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s;
}
.aros-mega-item.is-open > .aros-mega-toggle::before {
	transform: translateY(1px) rotate(225deg);
}
.aros-mega-panel {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 1000;
	display: none;
	width: min(960px, calc(100vw - 32px));
	padding: 32px;
	border-top: 2px solid var(--aros-color-primary);
	background: var(--aros-color-white);
	color: var(--aros-color-primary);
	box-shadow: 0 18px 40px rgba(0, 48, 80, .14);
	text-align: left;
	text-transform: none;
}
.aros-mega-item.is-open > .aros-mega-panel {
	display: block;
}
@media (hover: hover) and (pointer: fine) {
	.aros-mega-item:hover > .aros-mega-panel {
		display: block;
	}
}
.aros-mega-panel a {
	font-size: 14px;
	text-transform: none;
	color: var(--aros-color-navy);
}
.aros-mega-panel .elementor-heading-title {
	font-size: 15px;
	font-weight: 500;
}
@media (max-width: 1024px) {
	.hfe-nav-menu__breakpoint-tablet .aros-mega-panel,
	.hfe-nav-menu__breakpoint-mobile .aros-mega-panel {
		position: static;
		width: auto;
		padding: 8px 16px 16px;
		border-top: 0;
		box-shadow: none;
	}
	.hfe-nav-menu__breakpoint-tablet .aros-mega-item:hover > .aros-mega-panel {
		display: none;
	}
	.hfe-nav-menu__breakpoint-tablet .aros-mega-item.is-open > .aros-mega-panel {
		display: block;
	}
}
.aros-newsletter-band {
	background: var(--aros-color-navy);
	color: var(--aros-color-secondary);
}
.aros-footer {
	background: var(--aros-color-primary);
	color: var(--aros-color-secondary);
	font-size: 14px;
}
.aros-footer h3, .aros-footer h4, .aros-footer .elementor-heading-title {
	color: var(--aros-color-cream-heading);
	font-size: 15px;
	font-weight: 500;
}
.aros-footer a {
	color: var(--aros-color-secondary);
}
.aros-footer a:hover {
	color: var(--aros-color-white);
}
.aros-footer .aros-social {
	display: flex;
	gap: 10px;
}
.aros-footer .aros-social a {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--aros-color-secondary);
}
/* Menus inside the footer template render as plain link lists, not the sidebar panel. */
#colophon .aros-services-list,
.aros-footer .aros-services-list {
	padding: 0;
	border: 0;
	background: transparent;
}
#colophon .aros-services-list ul,
.aros-footer .aros-services-list ul {
	padding: 0;
}
#colophon .aros-services-list a,
.aros-footer .aros-services-list a {
	padding: 4px 0;
	background: transparent;
	font-size: 14px;
	font-weight: 400;
	color: var(--aros-color-secondary);
}
#colophon .aros-services-list a:hover {
	color: var(--aros-color-white);
}
#colophon .aros-services-list__title {
	padding: 0;
	font-size: 15px;
	font-weight: 500;
	color: var(--aros-color-cream-heading);
}

/* ---------- 7. Single templates: references and job posts ---------- */
.aros-single {
	padding: 48px 0 80px;
}
.aros-single__title {
	margin-bottom: 40px;
}
.aros-single--job .aros-single__title {
	font-family: var(--aros-font-sans);
	font-size: 46px;
	line-height: 1.1;
	font-weight: 400;
	text-transform: uppercase;
}
.aros-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: 48px;
	align-items: start;
}
.aros-single__sidebar > * + * {
	margin-top: 32px;
}
.aros-single__content > * + * {
	margin-top: 1em;
}
.aros-single__content h2 {
	font-family: var(--aros-font-sans);
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: 0;
	margin-top: 1.6em;
}
.aros-single__content p, .aros-single__content li {
	font-size: 14px;
	line-height: 1.7;
}
.aros-single__content strong {
	font-weight: 700;
}
.aros-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
}
.aros-sidebar-box {
	position: relative;
	padding: 28px 28px 32px;
	background: var(--aros-color-navy);
	color: var(--aros-color-secondary);
	overflow: hidden;
}
.aros-single .aros-sidebar-box__title,
.aros-sidebar-box__title {
	margin: 0 0 10px;
	font-family: var(--aros-font-sans);
	font-size: 18px;
	font-weight: 400;
	color: var(--aros-color-cream-heading);
}
.aros-single__content--full {
	max-width: none;
}
.aros-fancy-box .elementor-icon-box-title a {
	text-decoration: none;
}
.aros-sidebar-box p {
	margin: 0 0 24px;
	font-size: 13px;
	line-height: 1.7;
}
.aros-sidebar-box .aros-button {
	width: 100%;
}
.aros-services-list {
	padding: 24px 0 24px;
	background: #F3F3F3;
	border-top: 2px solid var(--aros-color-primary);
}
.aros-services-list__title {
	margin: 0 0 16px;
	padding: 0 20px;
	font-family: var(--aros-font-sans);
	font-size: 18px;
	font-weight: 400;
}
.aros-services-list ul {
	list-style: none;
	margin: 0;
	padding: 0 12px;
}
.aros-services-list li + li {
	margin-top: 4px;
}
.aros-services-list a {
	display: block;
	padding: 12px 16px;
	background: var(--aros-color-white);
	font-size: 14px;
	font-weight: 700;
	color: var(--aros-color-navy);
}
.aros-services-list a:hover {
	color: var(--aros-color-accent);
}
.aros-hero {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 420px;
	padding: 80px 16px;
	background: var(--aros-color-primary) center / cover no-repeat;
	color: var(--aros-color-white);
	text-align: center;
	isolation: isolate;
}
.aros-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 48, 80, .35);
	z-index: -1;
}
.aros-hero__title {
	color: var(--aros-color-white);
	margin: 0;
}
.aros-related {
	margin-top: 64px;
}
.aros-related__title {
	font-family: var(--aros-font-sans);
	font-size: 22px;
	letter-spacing: 0;
	margin-bottom: 24px;
}
.aros-single__meta {
	font-size: 13px;
	color: var(--aros-color-navy);
}

.aros-single--project {
	padding-top: 0;
}
.aros-single--project .aros-hero + .aros-container {
	padding-top: 48px;
}

/* ---------- 8. Archives, search, 404 ---------- */
.aros-archive {
	padding: 48px 0 80px;
}
.aros-search-results {
	margin-top: 32px;
}
.aros-search-result + .aros-search-result {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(0, 48, 80, .12);
}
.aros-search-result__title {
	font-family: var(--aros-font-sans);
	font-size: 20px;
	letter-spacing: 0;
	margin-bottom: 4px;
}
.aros-search-result__type {
	margin: 0 0 6px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--aros-color-navy);
}
.aros-search-result p {
	font-size: 14px;
	margin: 0;
}
.aros-archive__title {
	margin-bottom: 32px;
}
.aros-archive__description {
	max-width: 70ch;
	margin-bottom: 32px;
}
.aros-archive .aros-cards + .aros-pagination {
	margin-top: 40px;
}
.aros-pagination .page-numbers {
	display: inline-block;
	min-width: 36px;
	padding: 6px 10px;
	border: 1px solid rgba(0, 48, 80, .2);
	text-align: center;
	font-size: 14px;
}
.aros-pagination .page-numbers.current {
	background: var(--aros-color-primary);
	border-color: var(--aros-color-primary);
	color: var(--aros-color-white);
}
.aros-404 {
	padding: 96px 0;
	text-align: center;
}
.aros-404 .aros-404__code {
	font-family: var(--aros-font-serif);
	font-size: 120px;
	line-height: 1;
	color: var(--aros-color-navy);
}
.aros-search-form {
	display: flex;
	max-width: 520px;
	margin: 24px auto 0;
}
.aros-search-form input[type="search"] {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid var(--aros-color-primary);
	border-right: 0;
	font: inherit;
	font-size: 14px;
	border-radius: 0;
}
.aros-empty {
	padding: 32px 0;
	font-size: 15px;
}

/* ---------- 9. Responsive ---------- */
@media (max-width: 1024px) {
	h1, .aros-h1 {
		font-size: 48px;
		line-height: 1.05;
	}
	.aros-single__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
		gap: 32px;
	}
}
@media (max-width: 767px) {
	h1, .aros-h1 {
		font-size: 38px;
		line-height: 1.05;
	}
	h2, .aros-h2 {
		font-size: 28px;
		line-height: 1.15;
	}
	.aros-single--job .aros-single__title {
		font-size: 30px;
	}
	.aros-single__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.aros-single__sidebar {
		order: 2;
	}
	.aros-form-panel {
		padding: 24px 18px;
	}
	.aros-counter__number {
		font-size: 36px;
	}
	.aros-counter__title {
		font-size: 20px;
	}
	.aros-hero {
		min-height: 300px;
		padding: 56px 16px;
	}
}
