/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

:root {
	--cnvs-themecolor: rgb(232, 160, 32);
	--cnvs-themecolor-rgb: 232, 160, 32;
}

/* Umbraco Block Grid frontend layout */
.umb-block-grid__layout-container,
.umb-block-grid__area-container {
	display: grid;
	grid-template-columns: repeat(var(--umb-block-grid--grid-columns, 12), minmax(0, 1fr));
	grid-auto-flow: row;
	grid-auto-rows: minmax(min-content, max-content);
}

.umb-block-grid__layout-item {
	position: relative;
	min-width: 0;
	grid-column-end: span min(var(--umb-block-grid--item-column-span, 12), var(--umb-block-grid--grid-columns, 12));
	grid-row: span var(--umb-block-grid--item-row-span, 1);
}

.umb-block-grid__area-container {
	grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns, 12), minmax(0, 1fr));
}

.umb-block-grid__area {
	position: relative;
	min-width: 0;
	grid-column-end: span min(var(--umb-block-grid--area-column-span, 12), var(--umb-block-grid--area-grid-columns, 12));
	grid-row: span var(--umb-block-grid--area-row-span, 1);
}

@media (max-width: 767.98px) {
	.umb-block-grid__layout-item,
	.umb-block-grid__area {
		grid-column: 1 / -1;
	}
}

/* Reusable Umbraco Block Grid components */
.co-section { padding: clamp(4rem, 8vw, 7rem) 0; font-family: Montserrat, sans-serif; }
.co-section--light { background: #f5f5f2; }
.co-heading { max-width: 48rem; margin: 0 auto 3rem; text-align: center; }
.co-heading h2, .co-split h2, .co-contact-cta h2 { font: 400 clamp(2.8rem, 5vw, 4.8rem)/1 "Bebas Neue", sans-serif; letter-spacing: .02em; }
.co-heading > p:last-child { color: #666; }
.co-heading--light, .co-heading--light h2 { color: #fff; }
.co-eyebrow { margin-bottom: .9rem; color: var(--cnvs-themecolor); font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.co-button { display: inline-block; margin-top: 1rem; padding: .9rem 1.5rem; border: 2px solid var(--cnvs-themecolor); background: var(--cnvs-themecolor); color: #111; font-weight: 700; }
.co-button:hover { border-color: #111; background: #111; color: #fff; }
.co-button--outline { border-color: #fff; background: transparent; color: #fff; }
.co-richtext > :last-child { margin-bottom: 0; }
.co-split { display: grid; grid-template-columns: 1fr 1fr; padding: 0; background: #f5f5f2; }
.co-split--reverse .co-split__media { order: 2; }
.co-split__media img { width: 100%; height: 100%; min-height: 32rem; object-fit: cover; }
.co-split__content { align-self: center; padding: clamp(3rem, 7vw, 7rem); }
.co-card-grid, .co-team, .co-pricing__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.co-card { padding: 2rem; border-top: 3px solid var(--cnvs-themecolor); background: #fff; box-shadow: 0 12px 35px rgba(0,0,0,.06); }
.co-card i { color: var(--cnvs-themecolor); font-size: 2.2rem; }
.co-card h3, .co-team h3, .co-price h3 { margin: 1rem 0 .6rem; font-size: 1.25rem; }
.co-card p, .co-team p { margin: 0; color: #666; }
.co-stats { background: #111; color: #fff; }
.co-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #333; }
.co-stats__grid > div { padding: 2rem; background: #111; text-align: center; }
.co-stats strong { display: block; color: var(--cnvs-themecolor); font: 400 clamp(3rem, 6vw, 5.5rem)/1 "Bebas Neue", sans-serif; }
.co-stats span { color: #ccc; }
.co-quote { background: #f5f5f2; }
.co-quote__inner { max-width: 60rem; text-align: center; }
.co-quote__mark { color: var(--cnvs-themecolor); font: 400 7rem/0.5 Georgia, serif; }
.co-quote blockquote { margin: 1rem 0 2rem; font: italic 400 clamp(1.6rem, 3vw, 2.5rem)/1.45 "Playfair Display", serif; }
.co-quote__person { display: flex; align-items: center; justify-content: center; gap: 1rem; }
.co-quote__person img { width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; }
.co-quote__person p, .co-quote__person span { display: block; margin: 0; }
.co-logos__grid { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2.5rem 4rem; }
.co-logos__grid img { width: auto; max-width: 10rem; height: 3.25rem; object-fit: contain; filter: grayscale(1); opacity: .65; }
.co-faq .accordion { max-width: 55rem; margin: auto; }
.co-faq .accordion-button { font-weight: 700; }
.co-faq .accordion-button:not(.collapsed) { background: rgba(var(--cnvs-themecolor-rgb),.1); color: #111; }
.co-team article { text-align: center; }
.co-team img { width: 100%; aspect-ratio: 5/6; object-fit: cover; }
.co-price { padding: 2.25rem; border: 1px solid #ddd; background: #fff; }
.co-price--featured { border: 3px solid var(--cnvs-themecolor); transform: translateY(-.75rem); }
.co-price__price { color: #111; font: 400 3.4rem/1 "Bebas Neue", sans-serif; }
.co-contact-cta { background-color: #111; background-position: center; background-size: cover; color: #fff; }
.co-contact-cta .container { max-width: 58rem; }
.co-contact-cta h2 { color: #fff; }
.co-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.co-video__frame { overflow: hidden; background: #111; box-shadow: 0 20px 60px rgba(0,0,0,.18); aspect-ratio: 16/9; }
.co-video video { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 767.98px) {
    .co-split { grid-template-columns: 1fr; }
    .co-split--reverse .co-split__media { order: initial; }
    .co-split__media img { min-height: 20rem; }
    .co-card-grid, .co-team, .co-pricing__grid, .co-stats__grid { grid-template-columns: 1fr; }
    .co-price--featured { transform: none; }
}

.headline-with-text-section {
	height: 100%;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 5vw, 5rem);
	background: #fff;
}

.headline-with-text-section__eyebrow {
	margin-bottom: 1rem;
	color: var(--cnvs-themecolor);
	font: 600 0.8125rem/1.2 Montserrat, sans-serif;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.headline-with-text-section h2 {
	margin-bottom: 1.5rem;
	color: #111;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(2.75rem, 5vw, 4.5rem);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: 0.02em;
}

.headline-with-text-section__body {
	max-width: 42rem;
	color: #555;
	font: 400 1rem/1.75 Montserrat, sans-serif;
}

.headline-with-text-section__body > :last-child {
	margin-bottom: 0;
}

.crewops-hero .crewops-hero-content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding: clamp(7rem, 12vh, 9rem) clamp(2rem, 9.5vw, 7.5rem) clamp(3rem, 8vh, 5rem);
	color: #fff;
}

.crewops-hero-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--cnvs-themecolor);
	font: 600 0.8125rem/1.2 Montserrat, sans-serif;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.crewops-hero h1 {
	max-width: 66rem;
	margin: 0;
	color: #fff;
	font: 400 clamp(4.5rem, 9.1vw, 7.2rem)/0.92 "Bebas Neue", sans-serif;
	letter-spacing: 0.02em;
}

.crewops-hero h1 span {
	color: var(--cnvs-themecolor);
}

.crewops-hero-tagline,
.crewops-hero-description {
	max-width: 31.25rem;
	color: #b0b0b0;
	font-family: Montserrat, sans-serif;
}

.crewops-hero-tagline {
	margin: 1.75rem 0 0;
	font-size: 1.125rem;
	line-height: 1.65;
}

.crewops-hero-description {
	margin: 1rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.crewops-hero-cta {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-top: 2rem;
	font-family: Montserrat, sans-serif;
}

.crewops-hero-cta a {
	display: inline-block;
	padding: 1rem 2.25rem;
	background: var(--cnvs-themecolor);
	color: #0d0d0d;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.crewops-hero-cta a:hover {
	background: #fff;
	color: #0d0d0d;
}

.crewops-hero-cta small {
	color: #b0b0b0;
	font-size: 0.8125rem;
	font-weight: 500;
}

.crewops-hero .video-overlay {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.56) 48%, rgba(0, 0, 0, 0.28) 100%);
}

@media (max-width: 767.98px) {
	.crewops-hero .crewops-hero-content {
		padding-inline: 1.5rem;
	}

	.crewops-hero h1 {
		font-size: clamp(3.75rem, 19vw, 5.5rem);
	}

	.crewops-hero-cta {
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
	}
}
