/**
* HOJA DE ESTILO PARA SITIO WEB DE NUVISTA SLEEP SOLUTIONS
* DESARROLLADA POR ALFREDO RAUL GOMEZ VALERIO
* MÉXICO, ENERO DE 2026
* ILÁN V6
**/

/* Reset CSS 
-------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, input, textarea, button { display: block; font-family: var(--font-family-principal); }
body { line-height: 1; box-sizing: border-box; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
*, *::before, *::after { box-sizing: border-box; }
textarea:focus, input:focus, button { outline: none; }
a { text-decoration: none; }
html { scroll-behavior: smooth; }
.abraxas { display: none !important; width: 0 !important; height: 0 !important; opacity: 0 !important; margin: 0 !important; padding: 0 !important; }

/* Variables 
-------------------------------------------------------- */
:root {
	--font-family-principal: "Inter", sans-serif;
	--font-family-auxiliar: "Gentium Plus", serif;
	--fs-scale: 1;
	--font-size-12: 0.75rem;     /* 12px */
	--font-size-13: 0.8125rem;   /* 13px */
	--font-size-14: 0.875rem;    /* 14px */
	--font-size-16: 1rem;        /* 16px */
	--font-size-18: 1.125rem;    /* 18px */
	--font-size-20: 1.25rem;     /* 20px */
	--font-size-24: 1.5rem;      /* 24px */
	--font-size-32: 2rem;        /* 32px */
	--font-size-40: 2.5rem;      /* 40px */
	--font-size-48: 3rem;        /* 48px */
	--font-size-64: 4rem;        /* 64px */

	/* Colors Primary */
	--color-night: #0B3B49;
	--color-deep-teal: #0A5660;
	--color-yan: #C7D8C0;
	--color-sand: #F1DBBA;
	--color-soft-teal: #B1DCDA;
	--color-stone: #D8D8C5;
	--color-off-white: #F9F7F3;

	/* Colors Secondary */
	--color-navy: #0B3B49;
	--color-cyan: #40AFC0;
	--color-light-cyan: #DFFAFA;

	/* Colors Tertiary */
	--color-coral: #FD865A;
	--color-peach: #FCBEA6;

	/* Colors Basic */
	--color-white: #fff;

	/* RGB */
	--color-navy-rgb: 11, 59, 73;

	/* OLD BUSCAR */
	--gradient-radial-sage-night-left: radial-gradient(circle at 0% 50%, var(--color-navy) 0%, var(--color-night) 70%);
	--gradient-radial-sage-night-center: radial-gradient(circle at 50% 50%, var(--color-navy) 0%, var(--color-night) 70%);
	--gradient-fade-top-sage: linear-gradient(to top, var(--color-navy) 0%, transparent 60%);

	/* Gradients */
	--gradient-fade-bottom-navy: linear-gradient(to bottom, rgba(var(--color-navy-rgb), 0) 0%, rgba(var(--color-navy-rgb), 1) 100%);
	--gradient-radial-deep-teal-night-left: radial-gradient(circle at 0% 50%, var(--color-deep-teal) 0%, var(--color-night) 70%);
	--gradient-radial-deep-teal-night-center: radial-gradient(circle at 50% 50%, var(--color-deep-teal) 0%, var(--color-night) 70%);
	--gradient-fade-right-sky-soft: linear-gradient(to left, rgba(var(--color-soft-teal-rgb), 0) 0%, rgba(var(--color-soft-teal-rgb), 1) 100%);
}

/* Preloader
-------------------------------------------------------- */
html.is-loading,
body.is-loading { overflow: hidden; }

.preloader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
	transition: opacity .35s ease, visibility .35s ease;
}

.preloader .spinner {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	border: 4px solid var(--color-cyan);
	border-top-color: var(--color-deep-teal);
	animation: spin .8s linear infinite;
}

.preloader.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

@keyframes spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.preloader { transition: none; }
	.preloader .spinner { animation: none; }
}

/* Body 
-------------------------------------------------------- */
body {
	font-family: var(--font-family-principal);
	background: var(--color-white);
	color: var(--color-night);
}

/* Icons 
-------------------------------------------------------- */
i.icon {
	display: inline-block;
	font-size: inherit;
}

i.icon svg {
	position: relative;
	top: .125em;
	flex-shrink: 0;
	height: 1em;
	width: 1em;
	fill: currentColor;
	transition: fill .3s;
}

/* Padding-Sys
---------------------------------------------------------------- */
.padding-top-15 { padding-top: 15px; }
@media (min-width: 576px) { .padding-top-15 { padding-top: calc(15px*1.1); } }
@media (min-width: 768px) { .padding-top-15 { padding-top: calc(15px*1.2); } }
@media (min-width: 992px) { .padding-top-15 { padding-top: calc(15px*1.3); } }
@media (min-width: 1200px) { .padding-top-15 { padding-top: calc(15px*1.4); } }

.padding-top-30 { padding-top: 30px; }
@media (min-width: 576px) { .padding-top-30 { padding-top: calc(30px*1.1); } }
@media (min-width: 768px) { .padding-top-30 { padding-top: calc(30px*1.2); } }
@media (min-width: 992px) { .padding-top-30 { padding-top: calc(30px*1.3); } }
@media (min-width: 1200px) { .padding-top-30 { padding-top: calc(30px*1.4); } }

.padding-top-45 { padding-top: 45px; }
@media (min-width: 576px) { .padding-top-45 { padding-top: calc(45px*1.1); } }
@media (min-width: 768px) { .padding-top-45 { padding-top: calc(45px*1.2); } }
@media (min-width: 992px) { .padding-top-45 { padding-top: calc(45px*1.3); } }
@media (min-width: 1200px) { .padding-top-45 { padding-top: calc(45px*1.4); } }

.padding-top-60 { padding-top: 60px; }
@media (min-width: 576px) { .padding-top-60 { padding-top: calc(60px*1.1); } }
@media (min-width: 768px) { .padding-top-60 { padding-top: calc(60px*1.2); } }
@media (min-width: 992px) { .padding-top-60 { padding-top: calc(60px*1.3); } }
@media (min-width: 1200px) { .padding-top-60 { padding-top: calc(60px*1.4); } }

.padding-top-90 { padding-top: 90px; }
@media (min-width: 576px) { .padding-top-90 { padding-top: calc(90px*1.1); } }
@media (min-width: 768px) { .padding-top-90 { padding-top: calc(90px*1.2); } }
@media (min-width: 992px) { .padding-top-90 { padding-top: calc(90px*1.3); } }
@media (min-width: 1200px) { .padding-top-90 { padding-top: calc(90px*1.4); } }

.padding-bottom-15 { padding-bottom: 15px; }
@media (min-width: 576px) { .padding-bottom-15 { padding-bottom: calc(15px*1.1); } }
@media (min-width: 768px) { .padding-bottom-15 { padding-bottom: calc(15px*1.2); } }
@media (min-width: 992px) { .padding-bottom-15 { padding-bottom: calc(15px*1.3); } }
@media (min-width: 1200px) { .padding-bottom-15 { padding-bottom: calc(15px*1.4); } }

.padding-bottom-30 { padding-bottom: 30px; }
@media (min-width: 576px) { .padding-bottom-30 { padding-bottom: calc(30px*1.1); } }
@media (min-width: 768px) { .padding-bottom-30 { padding-bottom: calc(30px*1.2); } }
@media (min-width: 992px) { .padding-bottom-30 { padding-bottom: calc(30px*1.3); } }
@media (min-width: 1200px) { .padding-bottom-30 { padding-bottom: calc(30px*1.4); } }

.padding-bottom-45 { padding-bottom: 45px; }
@media (min-width: 576px) { .padding-bottom-45 { padding-bottom: calc(45px*1.1); } }
@media (min-width: 768px) { .padding-bottom-45 { padding-bottom: calc(45px*1.2); } }
@media (min-width: 992px) { .padding-bottom-45 { padding-bottom: calc(45px*1.3); } }
@media (min-width: 1200px) { .padding-bottom-45 { padding-bottom: calc(45px*1.4); } }

.padding-bottom-60 { padding-bottom: 60px; }
@media (min-width: 576px) { .padding-bottom-60 { padding-bottom: calc(60px*1.1); } }
@media (min-width: 768px) { .padding-bottom-60 { padding-bottom: calc(60px*1.2); } }
@media (min-width: 992px) { .padding-bottom-60 { padding-bottom: calc(60px*1.3); } }
@media (min-width: 1200px) { .padding-bottom-60 { padding-bottom: calc(60px*1.4); } }

.padding-bottom-90 { padding-bottom: 90px; }
@media (min-width: 576px) { .padding-bottom-90 { padding-bottom: calc(90px*1.1); } }
@media (min-width: 768px) { .padding-bottom-90 { padding-bottom: calc(90px*1.2); } }
@media (min-width: 992px) { .padding-bottom-90 { padding-bottom: calc(90px*1.3); } }
@media (min-width: 1200px) { .padding-bottom-90 { padding-bottom: calc(90px*1.4); } }

/* Font-Size-Sys
-------------------------------------------------------- */
.font-size-12 { font-size: calc(var(--font-size-12) * var(--fs-scale)); line-height: 110%; }
.font-size-13 { font-size: calc(var(--font-size-13) * var(--fs-scale)); line-height: 110%; }
.font-size-14 { font-size: calc(var(--font-size-14) * var(--fs-scale)); line-height: 110%; }
.font-size-16 { font-size: calc(var(--font-size-16) * var(--fs-scale)); line-height: 110%; }
.font-size-18 { font-size: calc(var(--font-size-18) * var(--fs-scale)); line-height: 110%; }
.font-size-20 { font-size: calc(var(--font-size-20) * var(--fs-scale)); line-height: 110%; }
.font-size-24 { font-size: calc(var(--font-size-24) * var(--fs-scale)); line-height: 110%; }
.font-size-32 { font-size: calc(var(--font-size-32) * var(--fs-scale)); line-height: 110%; }
.font-size-40 { font-size: calc(var(--font-size-40) * var(--fs-scale)); line-height: 110%; }
.font-size-48 { font-size: calc(var(--font-size-48) * var(--fs-scale)); line-height: 110%; }
.font-size-64 { font-size: calc(var(--font-size-64) * var(--fs-scale)); line-height: 110%; }

@media (min-width: 576px)  { :root { --fs-scale: 1.05; } }
@media (min-width: 768px)  { :root { --fs-scale: 1.10; } }
@media (min-width: 992px)  { :root { --fs-scale: 1.20; } }
@media (min-width: 1200px) { :root { --fs-scale: 1.30; } }

/* Container System
-------------------------------------------------------- */
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid {
  width: 100%;
  max-width: none;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (min-width: 1500px) { .container { max-width: 1400px; } }

/* Generals
-------------------------------------------------------- */
.bg-paper { background: var(--color-off-white); }

.bg-paper-top { position: relative; }
.bg-paper-top::before {
	content: '';
	position: absolute;
	inset: 0 0 0 0;
	height: 50%;
	background: var(--color-stone);
	pointer-events: none;
}
.bg-paper-top > * { position: relative; z-index: 1; }

.title {
	font-family: var(--font-family-auxiliar);
	line-height: 100%;
	color: var(--color-deep-teal);
}

.title strong,
.title b { font-weight: 700; }

.button {
	display: inline-block;
	padding: 16px 24px;
	border-radius: 999px;
	background: var(--color-white);
	color: var(--color-night);
	text-transform: uppercase;
	transition: background .2s, color .2s;
}

.button:hover {
	background: var(--color-cyan);
	color: var(--color-white);
}

/* RTE
-------------------------------------------------------- */
.rte {
	line-height: 135%;
	overflow-wrap: anywhere;
	font-weight: 300;
}

.rte > * { margin-bottom: 1em; }
.rte > *:last-child { margin-bottom: 0; }
.rte strong,
.rte b { font-weight: 700; }
.rte em,
.rte i { font-style: italic; }
.rte a { color: inherit; text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: .08em; }
.rte a:hover { opacity: .9; }
.rte ul,
.rte ol { padding-left: 1.2em; }
.rte ul { list-style: disc; }
.rte ol { list-style: decimal; }
.rte li { margin-bottom: .5em; }
.rte li:last-child { margin-bottom: 0; }
.rte blockquote { padding-left: 1em; border-left: 3px solid var(--color-white); opacity: .95; }
.rte img { max-width: 100%; height: auto; display: block; }
.rte figure { margin-bottom: 1em; }
.rte figcaption { opacity: .9; }
.rte h1 { font-size: 1.5em; font-family: var(--font-family-auxiliar); line-height: 135%; }

/* Header Hero
-------------------------------------------------------- */
.header-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	min-height: 100vh;
	height: auto;
	color: var(--color-white);
	background: var(--color-night);
}

.header-hero .media {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .75;
}

.header-hero .media .image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.header-hero .media .video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 2;
}

.header-hero .overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	background: var(--gradient-fade-bottom-navy);
	pointer-events: none;
}

.header-hero .container {
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	padding-top: 110px;
	padding-bottom: 30px;
	min-height: 100vh;
}

.header-hero .container .content {
	width: 50%;
	max-width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
}

.header-hero .container .content .title { color: var(--color-white); }
.header-hero .container .content .rte { margin-top: 1.5rem; }
.header-hero .container .content .buttons { margin-top: 1.5rem; }

.header-hero .container .content .banner {
	position: relative;
	display: inline-block;
	padding: 15px 0;
	background: var(--gradient-fade-right-sky-soft);
	margin-top: 5em;
	font-weight: 300;
	line-height: 125%;
}

.header-hero .container .content .banner::before {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	width: 100vw;
	height: 100%;
	background: var(--color-soft-teal);
}

.header-hero .container .content .banner * {
	position: relative;
	z-index: 1;
}

.header-hero .container .content .buttons * { margin-right: 1rem; }

.header-hero .container .cards {
	width: 100%;
	margin-top: auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
	top: 30px;
}

.header-hero .container .cards .card {
	display: flex;
	gap: 20px;
	padding: 20px;
}

.header-hero .container .cards .card:nth-child(odd) { background: var(--color-deep-teal); }
.header-hero .container .cards .card:nth-child(even) { background: var(--color-deep-teal); }

.header-hero .container .cards .card .icon {
	flex: 0 0 auto;
	align-self: flex-start;
	width: 50px;
	height: 50px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
}

.header-hero .container .cards .card:nth-child(odd) .icon { background: var(--color-soft-teal); }
.header-hero .container .cards .card:nth-child(even) .icon { background: var(--color-deep-teal); }

.header-hero .container .cards .card .icon img {
	width: 50%;
	height: 50%;
	display: block;
	object-fit: contain;
}

.header-hero .container .cards .card .icon svg {
	width: 50%;
	height: 50%;
	display: block;
	fill: currentColor;
}

.header-hero .container .cards .card .text {
	flex: 1;
	min-width: 0;
}

.header-hero .container .cards .card .text .title {
	margin-bottom: 15px;
	color: var(--color-white);
}

.header-hero .container .cards .card .text .rte { margin-top: 0; }

@media (prefers-reduced-motion: reduce) { .header-hero .media .video { display: none !important; } }
@media (max-width: 767px) {
	.header-hero .container { padding-top: 90px; padding-bottom: 30px; min-height: calc(100vh - 120px); display: flex; flex-direction: column; }
	.header-hero .container .content { width: 100%; max-width: 100%; flex: 1; display: flex; flex-direction: column; justify-content: center; }
	.header-hero .container .content .title { font-size: 3rem; line-height: 3.2rem; }
	.header-hero .container .cards { grid-template-columns: 1fr; top: 0; margin-top: 30px; }
	.header-hero .container:has(.cards) { min-height: 0; }
	.header-hero .container:has(.cards) .content { flex: 0; justify-content: flex-start; }
}

/* Header Title
-------------------------------------------------------- */
.header-title {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: var(--color-white);
	background: var(--color-night);
	min-height: 45vh;
	height: auto;
}

.header-title .media {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .75;
}

.header-title .media .image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.header-title .media .video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 2;
}

.header-title .overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	background: var(--gradient-fade-bottom-navy);
	pointer-events: none;
}

.header-title .container {
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	padding-top: 110px;
	padding-bottom: 110px;
	min-height: 45vh;
}

.header-title .container .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	max-width: 50%;
}

.header-title .container .content .title {
	color: var(--color-white);
}

.header-title .container .content .buttons {
	margin-top: 1.5rem;
}

.header-title .container .content .buttons * {
	margin-right: 1rem;
}

@media (prefers-reduced-motion: reduce) {
	.header-title .media .video {
		display: none !important;
	}
}

@media (max-width: 991px) {
	.header-title .container .content {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.header-title {
		min-height: 0;
	}

	.header-title .container {
		padding-top: 90px;
		padding-bottom: 60px;
		min-height: calc(45vh - 60px);
	}

	.header-title .container .content {
		flex: 1;
		justify-content: center;
		text-align: center;
	}

	.header-title .container .content .buttons {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}

	.header-title .container .content .buttons * {
		margin-right: 0;
	}
}

/* Title Banner
-------------------------------------------------------- */
.title-banner { width: 100%; }

.title-banner.split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 60px;
}

.title-banner.split .rte {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.title-banner.stacked {
	width: 50%;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.title-banner.title-only {
	display: flex;
	flex-direction: column;
}

.title-banner.title-only.align-left {
	align-items: flex-start;
	text-align: left;
}

.title-banner.title-only.align-center {
	align-items: center;
	text-align: center;
}

@media (max-width: 1199px) { .title-banner.split { gap: 45px; } }

@media (max-width: 991px) {
	.title-banner.split { grid-template-columns: 1fr; gap: 15px; }
	.title-banner.stacked { width: 100%; }
}

/* Module Cards
-------------------------------------------------------- */
.module-cards .cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 60px;
	align-items: stretch;
}

.module-cards .cards .card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.module-cards .cards .card .image {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-stone);
}

.module-cards .cards .card .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.module-cards .cards .card .text {
	background: var(--color-stone);
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.module-cards .cards .card .text .divider {
	height: 1px;
	background: var(--color-night);
	opacity: .1;
	margin-top: 12px;
	margin-bottom: 12px;
}

.module-cards .cards .card .text .buttons .button {
    background: transparent;
    border: 1px solid var(--color-deep-teal);
    padding: 10px 16px;
    font-size: .85em;
	display: block;
    text-align: center;
    margin-top: 15px;
}

.module-cards .cards .card .text .buttons .button:hover {
	background: var(--color-deep-teal);
}

.module-cards .cards .card .text .rte {
	flex: 1;
}

.module-cards .cards .card .text .card-buttons {
	margin-top: auto;
}

.module-cards .cards .card .text .buttons .button:first-child {
	margin-top: 20px;
}

@media (max-width: 1199px) { .module-cards .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px; } }
@media (max-width: 991px) { .module-cards .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; } }
@media (max-width: 767px) { .module-cards .cards { grid-template-columns: 1fr; gap: 15px; } }

/* CTA Image
-------------------------------------------------------- */
.module-cta-image .pod {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.module-cta-image .pod .image {
	position: relative;
	overflow: hidden;
}

.module-cta-image .pod .image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.module-cta-image .pod .text {
	position: relative;
	background: var(--gradient-radial-deep-teal-night-left);
	background-repeat: no-repeat;
	background-position: 0% 50%;
	background-size: 100% 100%;
	padding: 60px 45px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	animation: cta-breathe 3s ease-in-out infinite;
	color: var(--color-white);
}

.module-cta-image .pod .text .title-banner { width: 100%; }
.module-cta-image .pod .text .title { color: var(--color-white); }

.module-cta-image .pod .text .buttons {
	margin-top: 60px;
	text-align: right;
}

.module-cta-image .button.button-outline {
	background-color: transparent;
	border: 2px solid var(--color-white);
	color: var(--color-white);
}

.module-cta-image .button.button-outline:hover {
	background-color: var(--color-white);
	color: var(--color-night);
}

@keyframes cta-breathe {
	0% { background-size: 100% 100%; }
	50% { background-size: 150% 150%; }
	100% { background-size: 100% 100%; }
}

@media (prefers-reduced-motion: reduce) { .module-cta-image .pod .text { animation: none; } }

@media (max-width: 1199px) {
	.module-cta-image .pod .text { padding: 45px 30px; }
	.module-cta-image .pod .text .buttons { margin-top: 45px; }
}

@media (max-width: 767px) {
	.module-cta-image .pod { grid-template-columns: 1fr; }
	.module-cta-image .pod .image { min-height: 0; aspect-ratio: 16 / 9; }
	.module-cta-image .pod .text { padding: 60px 20px; text-align: center; background-position: 50% 50%; }
	.module-cta-image .pod .text .buttons { text-align: center; margin-top: 30px; }
}

/* Module Testimonials
-------------------------------------------------------- */
.module-testimonials .pod {
	display: grid;
	grid-template-columns: 60% 40%;
}

.module-testimonials .testimonials {
	padding: 60px 0 60px 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: var(--color-white);
}

.module-testimonials .testimonials .items {
	position: relative;
	overflow: hidden;
	transition: height .45s ease;
}

.module-testimonials .testimonials .item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity .35s ease;
	pointer-events: none;
}

.module-testimonials .testimonials .item.is-active {
	opacity: 1;
	pointer-events: auto;
}

.module-testimonials .testimonials .quote {
	color: var(--color-peach);
	line-height: 100%;
	font-family: var(--font-family-auxiliar);
}

.module-testimonials .testimonials .rte .name { color: var(--color-deep-teal); }

.module-testimonials .testimonials .arrows {
	margin-top: 20px;
	display: flex;
	gap: 20px;
}

.module-testimonials .testimonials .arrows .arrow {
	display: inline-flex;
	align-items: center;
	justify-content: left;
	width: auto;
	height: 50px;
	background: var(--color-white);
	color: var(--color-soft-teal);
	border: none;
	cursor: pointer;
	transition: color .2s;
	font-size: 30px;
	padding: 0;
}

.module-testimonials .testimonials .arrows .arrow:hover { color: var(--color-deep-teal); }

.module-testimonials .visual {
	padding-left: 60px;
	display: flex;
	align-items: center;
	position: relative;
}

.module-testimonials .visual::before {
	content: '';
	display: block;
	width: 120px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-white);
}

.module-testimonials .visual .visual-items {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.module-testimonials .visual .media {
	position: absolute;
	inset: 0;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-stone);
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease;
}

.module-testimonials .visual .media.is-active {
	opacity: 1;
	pointer-events: auto;
}

.module-testimonials .visual .media .image,
.module-testimonials .visual .media .video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.module-testimonials .visual .media .video {
	opacity: 0;
	pointer-events: none;
}

.module-testimonials .visual .media.has-video .video {
	opacity: 1;
	pointer-events: auto;
}

.module-testimonials .visual .media .play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	border-radius: 999px;
	background: transparent;
	border: 3px solid var(--color-white);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s;
	z-index: 2;
}

.module-testimonials .visual .media .play:hover {
	background: var(--color-cyan);
	border-color: var(--color-cyan);
}

.module-testimonials .visual .media .play::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 18px solid var(--color-white);
	margin-left: 4px;
}

.module-testimonials .visual .media.is-playing .play {
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 1199px) {
	.module-testimonials .testimonials { padding: 45px 0 45px 45px; }
	.module-testimonials .visual { padding-left: 45px; }
	.module-testimonials .visual::before { width: 90px; }
}

@media (max-width: 991px) {
	.module-testimonials .pod { grid-template-columns: 1fr; }
	.module-testimonials .testimonials { padding: 30px 20px; }
	.module-testimonials .visual { padding: 0; }
	.module-testimonials .visual::before { display: none; }
}

@media (max-width: 767px) {
	.module-testimonials .testimonials { padding: 20px; text-align: center; }
	.module-testimonials .testimonials .arrows { justify-content: center; }
}

/* CTA Text
-------------------------------------------------------- */
.module-cta-text .pod { width: 100%; }

.module-cta-text .pod .text {
	position: relative;
	background: var(--gradient-radial-deep-teal-night-center);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 100% 100%;
	padding: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: cta-breathe 3s ease-in-out infinite;
	color: var(--color-white);
	text-align: center;
}

.module-cta-text .pod .text .inner {
	width: 100%;
	max-width: 575px;
}

.module-cta-text .pod .text .inner .title-banner.stacked {
	width: 100%;
	gap: 30px;
}

.module-cta-text .pod .text .title { color: var(--color-white); }
.module-cta-text .pod .text .buttons { margin-top: 30px; }

.module-cta-text .button.button-outline {
	background-color: transparent;
	border: 2px solid var(--color-white);
	color: var(--color-white);
}

.module-cta-text .button.button-outline:hover {
	background-color: var(--color-white);
	color: var(--color-night);
}


@media (prefers-reduced-motion: reduce) { .module-cta-text .pod .text { animation: none; } }
@media (max-width: 1199px) { .module-cta-text .pod .text .inner { max-width: 500px; } }
@media (max-width: 767px) { .module-cta-text .pod .text { padding: 45px; } }

/* Module Text Image
-------------------------------------------------------- */
.module-text-image .pod {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.module-text-image .pod .text {
	background: var(--color-deep-teal);
	padding: 60px 45px;
	display: flex;
	flex-direction: column;
	color: var(--color-white);
}

.module-text-image .pod .text .title-banner {
	width: 100%;
	gap: 30px;
}

.module-text-image .pod .text .title { color: var(--color-white); }

.module-text-image .pod .text .buttons {
	margin-top: 45px;
	text-align: left;
}

.module-text-image .pod .image {
	position: relative;
	overflow: hidden;
	padding-top: 60%;
}

.module-text-image .pod .image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--gradient-fade-top-sage);
	pointer-events: none;
}

.module-text-image .pod .image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.module-text-image.alt .pod { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.module-text-image.alt .pod .image { order: 1; }
.module-text-image.alt .pod .text {
	order: 2;
	background: var(--color-yan);
	color: var(--color-night);
}

.module-text-image.alt .pod .text .title { color: var(--color-night); }

.module-text-image .pod .image .video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0;
	transition: opacity .25s ease;
}

.module-text-image .pod .image.has-video .video { opacity: 1; }

.module-text-image .pod .image .play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	border-radius: 999px;
	background: transparent;
	border: 3px solid var(--color-white);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s;
	z-index: 3;
}

.module-text-image .pod .image .play:hover {
	background: var(--color-cyan);
	border-color: var(--color-cyan);
}

.module-text-image .pod .image .play::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 18px solid var(--color-white);
	margin-left: 4px;
}

.module-text-image .pod .image.is-playing .play {
	opacity: 0;
	pointer-events: none;
}

.module-text-image .pod .image:not(.has-video) .play { display: none; }

@media (prefers-reduced-motion: reduce) { .module-text-image .pod .image .video { transition: none; } }

@media (max-width: 1199px) {
	.module-text-image .pod .text { padding: 45px 30px; }
	.module-text-image .pod .text .buttons { margin-top: 30px; }
	.module-text-image .pod .text .title-banner { gap: 15px; }
}

@media (max-width: 767px) {
	.module-text-image .pod { grid-template-columns: 1fr; }
	.module-text-image .pod .image { min-height: 0; aspect-ratio: 16 / 9; padding-top: 0; }
	.module-text-image .pod .text { padding: 60px 20px; }
	.module-text-image.alt .pod { grid-template-columns: 1fr; }
	.module-text-image.alt .pod .text { order: 1; }
	.module-text-image.alt .pod .image { order: 2; }
}

/* Module Text Visual
-------------------------------------------------------- */
.module-text-visual .pod {
	display: grid;
	grid-template-columns: 60% 40%;
	gap: 0;
	align-items: end;
}

.module-text-visual .text {
	color: var(--color-white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.module-text-visual .text .rte {
	margin-top: 45px;
	padding: 45px;
	background: var(--color-deep-teal);
}

.module-text-visual .text .rte strong,
.module-text-visual .text .rte b { color: var(--color-cyan); }

.module-text-visual.rte-white .text .rte strong,
.module-text-visual.rte-white .text .rte b { color: var(--color-deep-teal); }

.module-text-visual .visual {
	display: flex;
	align-items: flex-end;
}

.module-text-visual .visual .media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-stone);
}

.module-text-visual .visual .media .image,
.module-text-visual .visual .media .video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.module-text-visual .visual .media .video { opacity: 0; }
.module-text-visual .visual .media.has-video .video { opacity: 1; }

.module-text-visual .visual .media .play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	border-radius: 999px;
	background: transparent;
	border: 3px solid var(--color-white);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s;
}

.module-text-visual .visual .media .play:hover {
	background: var(--color-cyan);
	border-color: var(--color-cyan);
}

.module-text-visual .visual .media .play::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 18px solid var(--color-white);
	margin-left: 4px;
}

.module-text-visual .visual .media.is-playing .play {
	opacity: 0;
	pointer-events: none;
}

.module-text-visual.rte-white .text { color: var(--color-night); }
.module-text-visual.rte-white .text .rte { background: var(--color-white); }

.module-text-visual.reverse .pod { grid-template-columns: 40% 60%; }
.module-text-visual.reverse .visual { order: 1; }
.module-text-visual.reverse .text { order: 2; }
.module-text-visual.reverse .text .title { padding-left: 45px; }

.module-text-visual .text .rte .rte-icon-grid {
	margin-top: 20px;
	margin-bottom: 20px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.module-text-visual .text .rte .rte-icon-grid .item {
	display: flex;
	align-items: center;
	gap: 15px;
	min-width: 0;
}

.module-text-visual .text .rte .rte-icon-grid .icon {
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-soft-teal);
	color: var(--color-white);
}

.module-text-visual .text .rte .rte-icon-grid .icon img,
.module-text-visual .text .rte .rte-icon-grid .icon svg {
	width: 50%;
	height: 50%;
	display: block;
	object-fit: contain;
	fill: currentColor;
}

.module-text-visual .text .rte .rte-icon-grid .text {
	min-width: 0;
	line-height: 125%;
}

@media (prefers-reduced-motion: reduce) { .module-text-visual .visual .media .video { transition: none; } }

@media (max-width: 1199px) {
	.module-text-visual .pod { grid-template-columns: 50% 50%; }
	.module-text-visual .text .rte { padding: 45px 30px; }
	.module-text-visual.reverse .text .title { padding-left: 30px; }
	.module-text-visual .text .rte .rte-icon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
	.module-text-visual .pod { grid-template-columns: 1fr; }
	.module-text-visual.reverse .pod { grid-template-columns: 1fr; }
	.module-text-visual.reverse .text { order: 1; }
	.module-text-visual.reverse .visual { order: 2; }
	.module-text-visual.reverse .text .title { padding-left: 0; }
}

@media (max-width: 767px) {
	.module-text-visual .text .rte { margin-top: 30px; padding: 20px; }
	.module-text-visual .text .rte .rte-icon-grid { grid-template-columns: 1fr; gap: 15px; }
	.module-text-visual .text .rte .rte-icon-grid .icon { width: 44px; height: 44px; }
}

/* Module Two RTE
-------------------------------------------------------- */
.module-two-rte .pod {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.module-two-rte .panel {
	padding: 45px;
	border-radius: 0;
}

.module-two-rte .panel-sky-soft {
	background: var(--color-yan);
	color: var(--color-night);
}

.module-two-rte .panel-deep-teal {
	background: var(--color-deep-teal);
	color: var(--color-white);
}

@media (max-width: 1199px) { .module-two-rte .panel { padding: 45px 30px; } }

@media (max-width: 767px) {
	.module-two-rte .pod { grid-template-columns: 1fr; }
	.module-two-rte .panel { padding: 60px 20px; }
}

/* Module Icons
-------------------------------------------------------- */
.module-icons .pod {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 45px;
}

.module-icons .item {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
}

.module-icons .item .icon {
	width: 65px;
	height: 65px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-yan);
	color: var(--color-white);
}

.module-icons .item .icon img,
.module-icons .item .icon svg {
	width: 50%;
	height: 50%;
	display: block;
	object-fit: contain;
	fill: currentColor;
}

.module-icons .item .text { width: 100%; }
.module-icons .item .text .title { margin-bottom: 12px; }
.module-icons .item .text .rte { margin-top: 0; }

.module-icons.alt .pod { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.module-icons.alt .item {
	background: var(--color-stone);
	padding: 20px;
	border-radius: 0;
	align-items: flex-start;
}

.module-icons.alt .item .icon { margin-bottom: 10px; }
.module-icons.alt .item .text .title { margin-bottom: 10px; }

@media (max-width: 1199px) { .module-icons .pod { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (max-width: 991px) {
	.module-icons .pod,
	.module-icons.alt .pod { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.module-icons .pod { gap: 20px; }
	.module-icons.alt .item { padding: 20px; gap: 10px; }
	.module-icons.alt .pod { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.module-icons .item .icon { width: 50px; height: 50px; }
}

/* Module Benefit Cards
-------------------------------------------------------- */
.module-icon-cards .pod { width: 100%; }

.module-icon-cards .cards {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.module-icon-cards .cards .card { display: flex; gap: 20px; padding: 40px 20px; }
.module-icon-cards .cards .card:nth-child(odd) { background: var(--color-deep-teal); }
.module-icon-cards .cards .card:nth-child(even) { background: var(--color-cyan); }

.module-icon-cards .cards .card .icon {
	flex: 0 0 auto;
	align-self: flex-start;
	width: 50px;
	height: 50px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
}

.module-icon-cards .cards .card:nth-child(odd) .icon { background: var(--color-yan); }
.module-icon-cards .cards .card:nth-child(even) .icon { background: var(--color-deep-teal); }

.module-icon-cards .cards .card .icon img {
	width: 50%;
	height: 50%;
	display: block;
	object-fit: contain;
}

.module-icon-cards .cards .card .icon svg {
	width: 50%;
	height: 50%;
	display: block;
	fill: currentColor;
}

.module-icon-cards .cards .card .text { flex: 1; min-width: 0; }
.module-icon-cards .cards .card:nth-of-type(odd) .text,
.module-icon-cards .cards .card:nth-of-type(odd) .text .title { color: var(--color-white); }
.module-icon-cards .cards .card:nth-of-type(even) .text,
.module-icon-cards .cards .card:nth-of-type(even) .text .title { color: var(--color-white); }
.module-icon-cards .cards .card .text .title { margin-bottom: 12px; }

@media (max-width: 767px) {
	.module-icon-cards .cards { grid-template-columns: 1fr; }
	.module-icon-cards .cards .card { padding: 20px; }
}

/* Module Hero Banner
-------------------------------------------------------- */
.module-hero-banner .pod {
	position: relative;
	overflow: hidden;
	min-height: 50vh;
	background: var(--color-night);
}

.module-hero-banner .media {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .75;
}

.module-hero-banner .media .image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.module-hero-banner .media .overlay {
	position: absolute;
	inset: 0;
	background: var(--gradient-fade-top-sage);
	pointer-events: none;
}

.module-hero-banner .text {
	position: relative;
	z-index: 2;
	padding: 180px 0 60px 45px;
	width: 50%;
	max-width: 50%;
	color: var(--color-white);
}

.module-hero-banner .text .title { color: var(--color-white); }
.module-hero-banner .text .rte { margin-top: 1.5rem; }

@media (max-width: 1199px) { .module-hero-banner .text { padding: 135px 0 45px 30px; width: 60%; max-width: 60%; } }
@media (max-width: 991px) { .module-hero-banner .text { width: 100%; max-width: 100%; padding: 135px 30px 45px 30px; } }

@media (max-width: 767px) {
	.module-hero-banner .pod { min-height: 0; }
	.module-hero-banner .text { padding: 60px 20px; }
	.module-hero-banner .text .rte ul { padding-left: 0; list-style-position: inside; }
}

/* Module Square Icons
-------------------------------------------------------- */
.module-square-icons .pod {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px;
}

.module-square-icons .item {
	display: flex;
	align-items: stretch;
}

.module-square-icons .item .icon {
	flex-shrink: 0;
	width: 80px;
	height: 100%;
	background: var(--color-soft-teal);
	display: flex;
	align-items: center;
	justify-content: center;
}

.module-square-icons .item .icon img,
.module-square-icons .item .icon svg {
	width: 50%;
	height: 50%;
	display: block;
	object-fit: contain;
	fill: currentColor;
}

.module-square-icons .item .text {
	flex: 1;
	background: var(--color-stone);
	padding: 20px;
	display: flex;
}

.module-square-icons .item .text .rte {
	margin: 0;
	display: flex;
	align-items: center;
}

@media (max-width: 1199px) { .module-square-icons .pod { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; } }
@media (max-width: 991px) { .module-square-icons .pod { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 767px) {
	.module-square-icons .pod { grid-template-columns: 1fr; gap: 15px; }
	.module-square-icons .item .icon { width: 64px; }
}

/* Module FAQ
-------------------------------------------------------- */
.module-faq .faq-categories {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 45px;
}

.module-faq .faq-cat {
	padding: 10px 20px;
	border-radius: 999px;
	border: 1px solid var(--color-deep-teal);
	background: transparent;
	color: var(--color-night);
	cursor: pointer;
	transition: all .2s;
}

.module-faq .faq-cat:hover,
.module-faq .faq-cat.is-active {
	background: var(--color-deep-teal);
	color: var(--color-white);
}

.module-faq .faq-list {
	max-width: 780px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.module-faq .faq-item {
	border: 1px solid var(--color-deep-teal);
	border-radius: 25px;
	overflow: hidden;
	background: var(--color-white);
}

.module-faq .faq-question {
	width: 100%;
	padding: 20px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-deep-teal);
	text-align: left;
	font-family: var(--font-family-auxiliar);
}

.module-faq .faq-question .arrow {
	width: 10px;
	height: 10px;
	flex-shrink: 0;
	margin-left: 20px;
	border-right: 2px solid var(--color-deep-teal);
	border-bottom: 2px solid var(--color-deep-teal);
	transform: rotate(45deg);
	transition: transform .3s linear;
}

.module-faq .faq-item.is-open .faq-question .arrow { transform: rotate(-135deg); }

.module-faq .faq-answer {
	max-height: 0;
	overflow: hidden;
	padding: 0 24px;
	transition: max-height .5s linear, padding .5s linear;
	color: var(--color-night);
}

.module-faq .faq-item.is-open .faq-answer {
	max-height: 1000px;
	padding: 0 24px 24px;
}

@media (max-width: 767px) {
	.module-faq .faq-categories { gap: 12px; }
	.module-faq .faq-question { padding: 16px 18px; }
}

/* Navbar
-------------------------------------------------------- */
.nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background: linear-gradient(to bottom, var(--color-night) 0%, rgba(11, 59, 73, 0) 100%);
	transition: background .25s ease;
	isolation: isolate;
}

.nav-inner {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	position: relative;
	z-index: 20;
}

.nav-logo { position: relative; z-index: 30; }
.nav-logo img {
	height: 50px;
	width: auto;
	display: block;
}

.nav-toggle {
	display: none;
	width: 46px;
	height: 46px;
	border: none;
	background: transparent;
	cursor: pointer;
	color: var(--color-white);
	border-radius: 999px;
	position: relative;
	z-index: 30;
}

.burger {
	position: relative;
	display: block;
	width: 28px;
	height: 2px;
	background: currentColor;
	margin: 0 auto;
	transition: background .25s ease;
}

.burger::before,
.burger::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transition: transform .25s ease, top .25s ease, bottom .25s ease;
}

.burger::before { top: -8px; }
.burger::after { bottom: -8px; }

.menu { display: block; }

.menu-list {
	display: flex;
	align-items: center;
	gap: 50px;
}

.item { position: relative; }

.link {
	color: var(--color-white);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
	transition: opacity .2s ease;
}

.link:hover { opacity: .9; }

.link-btn {
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
	font: inherit;
}

.caret {
	display: inline-block;
	line-height: 1;
	font-size: 18px;
	transform: rotate(90deg);
	opacity: .95;
}

.sub {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	min-width: 260px;
	padding: 14px;
	border-radius: 20px;

	opacity: 0;
	transform: translateY(-10px);
	pointer-events: none;
	transition: opacity .2s ease, transform .25s ease;
}

.sub::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}

.sub::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 20px;
	background: rgba(255, 255, 255, .78);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.sub > * { position: relative; z-index: 1; }

.sublink {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 14px;
	color: var(--color-night);
	text-decoration: none;
	font-size: var(--font-size-13);
	line-height: 120%;
	position: relative;
}

.sublink::before {
	content: '›';
	display: inline-block;
	opacity: .85;
	text-decoration: none;
}

.sublink:hover {
	color: var(--color-deep-teal);
	text-decoration: none;
}

.sublink:hover .subtext {
	text-decoration: underline;
	text-underline-offset: .15em;
	text-decoration-thickness: .08em;
}

.sublink:hover::before { text-decoration: none; }
.nav:hover { background: var(--color-deep-teal); }

@media (hover: hover) and (pointer: fine) {
	.item.has-sub:hover .sub,
	.item.has-sub:focus-within .sub { opacity: 1; transform: translateY(0); pointer-events: auto; }
}

/* CTA pill (last nav item) */
.item.is-cta .link,
.item.is-cta .link-btn {
	padding: 10px 18px;
	border-radius: 999px;
	border: 1px solid var(--color-white);
	background: transparent;
	transition: all .2s ease;
}

.item.is-cta .link:hover,
.item.is-cta .link-btn:hover {
	background: var(--color-white);
	color: var(--color-night);
	text-decoration: none;
}

@media (max-width: 1399px) { .menu-list { gap: 50px; } }
@media (max-width: 1199px) { .menu-list { gap: 45px; } }
@media (max-width: 1099px) { .menu-list { gap: 28px; } }

@media (max-width: 991px) {
	.nav-inner { height: 60px; }
	.nav-logo img { height: 44px; }
	.nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.menu { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; padding-top: 60px; opacity: 0; pointer-events: none; transition: opacity .25s ease; z-index: 10; }
	.menu::before { content: ''; position: absolute; inset: 0; background: rgba(11, 59, 73, .78); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); z-index: 1; }
	.menu-list { position: relative; z-index: 2; max-width: 520px; margin: 0 auto; padding: 20px 15px; display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
	.link { width: 100%; justify-content: space-between; padding: 14px 18px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); }
	.sub { position: static; min-width: 0; padding: 0; border-radius: 0; opacity: 1; transform: none; pointer-events: auto; transition: none; margin-top: 10px; }
	.sub::before,
	.sub::after { display: none; }
	.sublink { margin-top: 10px; padding: 10px 18px; border-radius: 16px; background: rgba(255, 255, 255, .85); color: var(--color-night); }
	.nav.is-open { background: var(--color-deep-teal); }
	.nav.is-open .menu { opacity: 1; pointer-events: auto; }
	.nav.is-open .burger { background: transparent; }
	.nav.is-open .burger::before { top: 0; transform: rotate(45deg); }
	.nav.is-open .burger::after { bottom: 0; transform: rotate(-45deg); }
	.item.is-cta .link,
	.item.is-cta .link-btn { border: 1px solid var(--color-white); background: transparent;
	}
}

/* Sticky CTA
-------------------------------------------------------- */
.sticky-cta {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 1200;
	width: min(360px, calc(100vw - 48px));
	color: var(--color-white);
}

.sticky-cta-inner {
	background: var(--color-deep-teal);
	border-radius: 25px;
	padding: 20px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .20);
	transition: transform .25s ease, width .25s ease, padding .25s ease, border-radius .25s ease;
	will-change: transform;
}

.sticky-cta-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
}

.sticky-cta-title {
	font-family: var(--font-family-auxiliar);
	line-height: 110%;
	color: var(--color-white);
}

.sticky-cta-close {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.35);
	background: rgba(255,255,255,.10);
	color: var(--color-white);
	cursor: pointer;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease, border-color .2s ease;
}

.sticky-cta-close:hover {
	background: rgba(255,255,255,.18);
	border-color: rgba(255,255,255,.55);
}

.sticky-cta-body {
	margin-top: 12px;
}

.sticky-cta-text { opacity: .95; }
.sticky-cta-text p { margin: 0; }

.sticky-cta-actions {
	margin-top: 16px;
	display: flex;
	justify-content: flex-end;
}

.sticky-cta-button {
	background: var(--color-white);
	color: var(--color-night);
}

.sticky-cta-button:hover {
	background: var(--color-cyan);
	color: var(--color-white);
}

.sticky-cta.is-compact {
	width: auto;
}

.sticky-cta.is-compact .sticky-cta-inner {
	padding: 14px 16px;
	border-radius: 999px;
}

.sticky-cta.is-compact .sticky-cta-body {
	display: none;
}

.sticky-cta.is-compact .sticky-cta-close {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	.sticky-cta.is-compact:hover .sticky-cta-inner {
		border-radius: 25px;
		padding: 20px;
	}
	.sticky-cta.is-compact:hover .sticky-cta-body {
		display: block;
		margin-top: 12px;
	}
	.sticky-cta.is-compact:hover .sticky-cta-close {
		display: inline-flex;
	}
}

.sticky-cta.is-hidden {
	display: none;
}

@media (max-width: 767px) {
	.sticky-cta { right: 15px; bottom: 15px; width: min(360px, calc(100vw - 30px)); }
	.sticky-cta-inner { padding: 16px; }
	.sticky-cta.is-compact .sticky-cta-inner { padding: 12px 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.sticky-cta-inner { transition: none; }
}

/* Footer
-------------------------------------------------------- */
.footer {
	background: var(--color-off-white);
	overflow: hidden;
}

.footer .title {
	font-family: var(--font-family-principal);
	line-height: 125%;
}

.footer .row-1 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: 45px;
}

.footer .logo {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-width: 0;
}

.footer .logo img {
	display: block;
	height: 70px;
	width: auto;
	max-width: min(100%, 420px);
	object-fit: contain;
}

.footer .actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: end;
}

.footer .row-1 .button {
	background: transparent;
	border: 2px solid var(--color-night);
	color: var(--color-night);
	text-decoration: none;
}

.footer .row-1 .button:not(.button-outline) {
	background: var(--color-night);
	color: var(--color-white);
	border-color: var(--color-night);
}

.footer .row-1 .button:not(.button-outline):hover {
	background: var(--color-deep-teal);
	border-color: var(--color-deep-teal);
	color: var(--color-white);
	text-decoration: none;
}

.footer .row-1 .button-outline {
	background: transparent;
	border: 2px solid var(--color-night);
	color: var(--color-night);
}

.footer .row-1 .button-outline:hover {
	background: var(--color-night);
	color: var(--color-white);
	text-decoration: none;
}

.footer .row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 60px;
	padding-bottom: 45px;
}

.footer .row-2 .title {
	margin-bottom: 15px;
}

.footer .subscribe .field {
	display: flex;
	align-items: stretch;
	background: var(--color-white);
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--color-navy);
}

.footer .subscribe .field input {
	flex: 1;
	border: none;
	background: transparent;
	padding: 12px 18px;
	font-family: var(--font-family-principal);
	color: var(--color-night);
}

.footer .subscribe .field input::placeholder {
	color: var(--color-navy);
}

.footer .subscribe .field .button {
	white-space: nowrap;
	background: var(--color-deep-teal);
	border: none;
	color: var(--color-white);
	cursor: pointer;
}

.footer .subscribe .field .button:hover {
	background: var(--color-night);
}

.footer .subscribe .consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 15px;
	line-height: 125%;
	font-size: 13px;
}

.footer .subscribe .consent input {
	margin-top: 3px;
}

.footer .links li {
	margin-bottom: 10px;
}

.footer .links li:last-child {
	margin-bottom: 0;
}

.footer a {
	color: inherit;
	text-decoration: none;
	transition: opacity .2s;
}

.footer a:hover {
	opacity: .8;
	text-decoration: underline;
}

.footer .divider {
	height: 1px;
	background: var(--color-night);
	opacity: .1;
	margin-bottom: 20px;
}

.footer .bottom {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: 30px;
	font-size: 13px;
	line-height: 120%;
}

.footer .bottom a {
	text-decoration: underline;
}

.footer .bottom .right {
	display: flex;
	gap: 20px;
	white-space: nowrap;
}

@media (max-width: 1199px) {
	.footer .row-2 {
		gap: 50px;
	}
}

@media (max-width: 991px) {
	.footer .row-2 {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}

	.footer .row-2 .col-1 {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.footer .row-1 {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 30px;
	}

	.footer .logo {
		width: 100%;
	}

	.footer .logo img {
		height: auto;
		width: 100%;
		max-width: 100%;
	}

	.footer .actions {
		width: 100%;
		justify-content: flex-start;
	}

	.footer .actions .button {
		width: 100%;
		text-align: center;
	}

	.footer .row-2 {
		grid-template-columns: 1fr !important;
		gap: 30px;
		padding-bottom: 30px;
	}

	.footer .bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.footer .bottom .right {
		white-space: normal;
		flex-wrap: wrap;
	}
}

/* Phone Prompt
-------------------------------------------------------- */
.phone-prompt {
	position: fixed;
	inset: 0;
	z-index: 1400;
	display: none;
}

.phone-prompt.is-visible {
	display: block;
}

.phone-prompt-overlay {
	position: absolute;
	inset: 0;
	background: rgba(11, 59, 73, .45);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.phone-prompt-dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 30px);
	max-width: 480px;
	background: var(--color-stone);
	border-radius: 25px;
	padding: 30px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
}

.phone-prompt-close {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	border: 1px solid rgba(11, 59, 73, .15);
	background: var(--color-white);
	color: var(--color-night);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 20px;
}

.phone-prompt-content .title {
	margin-bottom: 15px;
}

.phone-prompt-number {
	margin-top: 20px;
	font-family: var(--font-family-auxiliar);
	line-height: 100%;
	color: var(--color-deep-teal);
	word-break: break-word;
}

.phone-prompt-actions {
	margin-top: 30px;
	display: flex;
	justify-content: flex-start;
	gap: 12px;
}

.phone-prompt-copy {
	background: var(--color-night);
	color: var(--color-white);
	border: 2px solid var(--color-night);
	cursor: pointer;
}

.phone-prompt-copy:hover {
	background: var(--color-deep-teal);
	border-color: var(--color-deep-teal);
	color: var(--color-white);
	text-decoration: none;
}

@media (max-width: 767px) {
	.phone-prompt-dialog {
		padding: 20px;
	}
}

/* Simple Text (legal / long-form)
-------------------------------------------------------- */
.module-simple-text .simple-text-wrap{
  margin-left: auto;
  margin-right: auto;
}
.module-simple-text .rte { line-height: 1.75; }
.module-simple-text .rte p { margin: 0 0 1em; }
.module-simple-text .rte h1,
.module-simple-text .rte h2,
.module-simple-text .rte h3 { margin: 1.6em 0 .6em; }
.module-simple-text .rte ul,
.module-simple-text .rte ol { margin: 0 0 1em 1.2em; }
.module-simple-text .rte li{ margin: .35em 0; }
.module-simple-text .rte a { overflow-wrap: anywhere; }

body.page-404 { background: var(--color-stone); }

.page-404 .module-cta-text .buttons{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
}

/* Module: Big Button CTA
-------------------------------------------------------- */
.module-big-button .pod { text-align: center; }
.module-big-button .title { margin: 0 0 18px 0; }

.module-big-button .actions {
  display: flex;
  justify-content: center;
}

.button.button-big-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 22px;
  min-height: 56px;
  width: min(560px, 100%);
  font-size: 16px;
  border: 1px solid var(--color-deep-teal);
}

.button.button-big-cta:hover { border-color: var(--color-cyan); }

@media (min-width: 768px){
  .button.button-big-cta { padding: 18px 26px; min-height: 60px; font-size: 18px; }
  .module-big-button .title { margin-bottom: 22px; }
}

/* Module: Embed
-------------------------------------------------------- */
.module-embed .embed-wrap {
  width: 100%;
  max-width: 100%;
}

.module-embed iframe,
.module-embed embed,
.module-embed object,
.module-embed video {
  width: 100%;
  max-width: 100%;
  display: block;
}

.module-embed .embed-wrap * { max-width: 100%; }
.module-embed iframe { border: 0; }

/* Module: Contact form
-------------------------------------------------------- */
.module-contact-form .pod{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

.module-contact-form .contact-copy .title { margin-bottom: 20px; }
.module-contact-form .contact-copy .rte { margin-bottom: 24px; }

.module-contact-form .contact-details{
  display: grid;
  gap: 12px;
  margin-bottom: 24px;
}

.module-contact-form .contact-details a {
	color: var(--color-cyan);
	text-decoration: underline;
}

.module-contact-form .contact-details .detail a { text-decoration: none; }
.module-contact-form .contact-booking { margin-top: 10px; }

.module-contact-form .contact-form-wrap{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 24px;
}

.module-contact-form .form-title { margin: 0 0 16px 0; }

.module-contact-form .contact-form{
  display: grid;
  gap: 16px;
}

.module-contact-form .contact-form a { color: var(--color-deep-teal); }
.module-contact-form .contact-form a:hover { text-decoration: underline; }

.module-contact-form .contact-form .field{
  display: grid;
  gap: 8px;
}

.module-contact-form .contact-form input,
.module-contact-form .contact-form textarea,
.module-contact-form .contact-form select{
  width: 100%;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
  font: inherit;
  color: inherit;
}

.module-contact-form .contact-form textarea{
  resize: vertical;
  min-height: 150px;
}

.module-contact-form .contact-form input:focus,
.module-contact-form .contact-form textarea:focus{
  outline: none;
  border-color: rgba(0,0,0,.28);
}

.module-contact-form .contact-form .actions{ margin-top: 6px; }

.module-contact-form .contact-submit[disabled]{
  opacity: .7;
  cursor: wait;
}

.module-contact-form .form-alert{
  margin-bottom: 16px;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.5;
}

.module-contact-form .form-alert.is-success{
  background: #eef8f1;
  border: 1px solid #cfe8d6;
  color: #1f5f35;
}

.module-contact-form .form-alert.is-error{
  background: #fff1f1;
  border: 1px solid #f0cccc;
  color: #8a2f2f;
}

/* Honeypot hidden from users */
.module-contact-form .hp-field{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 991px){
  .module-contact-form .pod{
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 767px){
  .module-contact-form .contact-form-wrap{
    padding: 20px;
    border-radius: 16px;
  }
}

/* Cookies Bar
-------------------------------------------------------- */
.cookies-bar {
	position: fixed;
	left: 15px;
	right: 15px;
	bottom: 15px;
	z-index: 1300;
	display: none;
}

.cookies-bar.is-visible { display: block; }

.cookies-bar-inner {
	max-width: 720px;
	margin: 0 auto;
	background: var(--color-stone);
	border: 1px solid var(--color-night);
	border-radius: 25px;
	padding: 15px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

.cookies-bar .cookies-copy {
	color: var(--color-night);
	flex: 1;
}

.cookies-bar .cookies-copy p { margin: 0; }

.cookies-bar .cookies-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
}

.cookies-bar .cookies-actions .button {
	cursor: pointer;
}

.cookies-bar .cookies-actions .cookies-accept {
	background: var(--color-night);
	color: var(--color-white);
	border: 2px solid var(--color-night);
}

.cookies-bar .cookies-actions .cookies-accept:hover {
	background: var(--color-deep-teal);
	border-color: var(--color-deep-teal);
	color: var(--color-white);
	text-decoration: none;
}

.cookies-bar .cookies-actions .cookies-decline {
	background: transparent;
	color: var(--color-night);
	border: 2px solid var(--color-night);
}

.cookies-bar .cookies-actions .cookies-decline:hover {
	background: var(--color-night);
	color: var(--color-white);
	text-decoration: none;
}

@media (max-width: 767px) {
	.cookies-bar-inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 15px;
		gap: 15px;
	}

	.cookies-bar .cookies-actions {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.cookies-bar .cookies-actions .button {
		width: 100%;
		text-align: center;
	}
}

/* Therapist Single
-------------------------------------------------------- */
.therapist-item {
	padding: 120px 0 90px;
}

.therapist-item .therapist-grid {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 60px;
	align-items: start;
}

.therapist-item .therapist-sidebar,
.therapist-item .therapist-content {
	min-width: 0;
}

.therapist-item .therapist-image-wrap {
	background: var(--color-stone);
	overflow: hidden;
}

.therapist-item .therapist-image-wrap img {
	width: 100%;
	aspect-ratio: 4 / 5;
	display: block;
	object-fit: cover;
}

.therapist-item .therapy-methods {
	margin-top: 40px;
}

.therapist-item .therapy-methods .title,
.therapist-item .therapist-section .title,
.therapist-item .therapist-content > .title {
	color: var(--color-deep-teal);
}

.therapist-item .therapy-methods .title,
.therapist-item .therapist-section .title {
	margin-bottom: 24px;
}

.therapist-item .therapist-content > .title {
	margin-bottom: 24px;
}

.therapist-item .therapist-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	margin-bottom: 48px;
}

.therapist-item .meta-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--color-night);
	font-weight: 300;
	line-height: 125%;
}

.therapist-item .meta-dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: var(--color-deep-teal);
	flex: 0 0 auto;
}

.therapist-item .therapist-section {
	margin-bottom: 48px;
}

.therapist-item .tag-group {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.therapist-item .tag {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border-radius: 999px;
	font-size: var(--font-size-13);
	line-height: 110%;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.therapist-item .tag-group--filled .tag {
	background: var(--color-soft-teal);
	color: var(--color-night);
}

.therapist-item .tag-group--outline .tag {
	border: 1px solid rgba(var(--color-navy-rgb), .18);
	color: var(--color-night);
	background: transparent;
}

.therapist-item .tag-group--therapy .tag {
	background: var(--color-sand);
	color: var(--color-night);
}

.therapist-item .therapist-bio__content {
	max-width: 900px;
	color: var(--color-night);
}

.therapist-item .therapist-bio__content h1,
.therapist-item .therapist-bio__content h2,
.therapist-item .therapist-bio__content h3 {
	font-family: var(--font-family-auxiliar);
	color: var(--color-deep-teal);
	line-height: 110%;
}

.therapist-item .therapist-cta {
	margin-top: 60px;
	background: var(--gradient-radial-deep-teal-night-center);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 100% 100%;
	padding: 60px;
	color: var(--color-white);
	animation: cta-breathe 3s ease-in-out infinite;
}

.therapist-item .therapist-cta .title {
	color: var(--color-white);
	margin-bottom: 24px;
}

.therapist-item .therapist-cta .rte {
	max-width: 620px;
	color: var(--color-white);
}

.therapist-item .therapist-cta .buttons {
	margin-top: 30px;
	text-align: left;
}

@media (prefers-reduced-motion: reduce) {
	.therapist-item .therapist-cta {
		animation: none;
	}
}

@media (max-width: 1199px) {
	.therapist-item {
		padding: 105px 0 75px;
	}

	.therapist-item .therapist-grid {
		grid-template-columns: 320px minmax(0, 1fr);
		gap: 45px;
	}

	.therapist-item .therapist-cta {
		padding: 45px 30px;
	}
}

@media (max-width: 991px) {
	.therapist-item .therapist-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.therapist-item .therapist-sidebar {
		max-width: 420px;
	}

	.therapist-item .therapist-content > .title {
		font-size: var(--font-size-48);
	}
}

@media (max-width: 767px) {
	.therapist-item {
		padding: 90px 0 60px;
	}

	.therapist-item .therapist-sidebar {
		max-width: none;
	}

	.therapist-item .therapist-meta {
		flex-direction: column;
		gap: 12px;
		margin-bottom: 40px;
	}

	.therapist-item .therapist-section {
		margin-bottom: 40px;
	}

	.therapist-item .therapist-content > .title,
	.therapist-item .therapist-cta .title {
		font-size: var(--font-size-40);
	}

	.therapist-item .therapy-methods .title,
	.therapist-item .therapist-section .title {
		font-size: var(--font-size-32);
	}

	.therapist-item .therapist-cta {
		padding: 45px 20px;
		text-align: center;
	}

	.therapist-item .therapist-cta .buttons {
		text-align: center;
	}

	.therapist-item .therapist-cta .button {
		width: 100%;
		text-align: center;
	}
}

/* Location Single
-------------------------------------------------------- */
.location-single-item {
	background: var(--color-white);
}

.location-single-item .location-single-layout {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 45px;
	align-items: start;
}

.location-single-item .location-filter-panel {
	background: var(--color-off-white);
}

.location-single-item .filter-heading {
	padding: 16px 18px;
	background: var(--color-deep-teal);
	color: var(--color-white);
	line-height: 120%;
}

.location-single-item .filter-body {
	padding: 18px;
}

.location-single-item .filter-group {
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid rgba(var(--color-navy-rgb), .12);
}

.location-single-item .filter-group:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.location-single-item .filter-group .title {
	margin-bottom: 12px;
	color: var(--color-deep-teal);
}

.location-single-item .filter-select {
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	border: 1px solid rgba(var(--color-navy-rgb), .14);
	background: var(--color-white);
	color: var(--color-night);
	font-family: var(--font-family-principal);
	font-size: var(--font-size-13);
}

.location-single-item .filter-options {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.location-single-item .filter-check {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--color-night);
	font-weight: 300;
	line-height: 120%;
	cursor: pointer;
}

.location-single-item .filter-check input {
	appearance: none;
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	border: 1px solid rgba(var(--color-navy-rgb), .14);
	background: var(--color-white);
	cursor: pointer;
	position: relative;
}

.location-single-item .filter-check input:checked {
	background: var(--color-deep-teal);
	border-color: var(--color-deep-teal);
}

.location-single-item .filter-check input:checked::after {
	content: '';
	position: absolute;
	left: 7px;
	top: 3px;
	width: 6px;
	height: 12px;
	border-right: 2px solid var(--color-white);
	border-bottom: 2px solid var(--color-white);
	transform: rotate(45deg);
}

.location-single-item .location-single-main {
	min-width: 0;
}

.location-single-item .location-details-card {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	background: var(--color-off-white);
	min-height: 220px;
}

.location-single-item .location-map {
	position: relative;
	min-height: 220px;
	height: 100%;
	background: var(--color-stone);
	overflow: hidden;
}

.location-single-item .location-map img,
.location-single-item .location-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	object-fit: cover;
}

.location-single-item .location-details {
	padding: 28px 30px;
}

.location-single-item .location-details .title {
	color: var(--color-deep-teal);
}

.location-single-item .location-details h2 {
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid rgba(var(--color-navy-rgb), .12);
}

.location-single-item .location-details h3 {
	margin-bottom: 8px;
}

.location-single-item .location-details p {
	margin-bottom: 18px;
	font-weight: 300;
	line-height: 140%;
}

.location-single-item .location-contact-list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 20px;
}

.location-single-item .location-contact-list .contact-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 18px 0 42px;
	border-radius: 999px;
	background: var(--color-white);
	color: var(--color-night);
	text-decoration: none;
	font-weight: 300;
	line-height: 1.4;
}

.location-single-item .location-contact-list .contact-item::before {
	content: '';
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: .85;
}

.location-single-item .location-contact-list .contact-phone::before {
	background-image: url('../images/icon-phone.svg');
}

.location-single-item .location-contact-list .contact-fax::before {
	background-image: url('../images/icon-fax.svg');
}

.location-single-item .location-contact-list .contact-email::before {
	background-image: url('../images/icon-email.svg');
}

.location-single-item .location-contact-list a.contact-item:hover {
	background: var(--color-cyan);
	color: var(--color-white);
}

.location-single-item .location-team {
	margin-top: 45px;
}

.location-single-item .location-team > .title {
	color: var(--color-deep-teal);
	margin-bottom: 24px;
}

.location-single-item .location-team-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.location-single-item .location-therapist-card {
	background: var(--color-off-white);
	transition: transform .2s ease;
}

.location-single-item .location-therapist-card:hover {
	transform: translateY(-3px);
}

.location-single-item .location-therapist-card a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.location-single-item .location-therapist-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--color-stone);
	overflow: hidden;
}

.location-single-item .location-therapist-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.location-single-item .location-therapist-content {
	padding: 14px 16px 18px;
}

.location-single-item .location-therapist-content .title {
	color: var(--color-deep-teal);
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(var(--color-navy-rgb), .12);
}

.location-single-item .location-therapist-content p {
	margin: 0;
	color: var(--color-night);
	font-weight: 300;
	line-height: 130%;
}

@media (max-width: 1199px) {
	.location-single-item .location-single-layout {
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 35px;
	}

	.location-single-item .location-details-card {
		grid-template-columns: 280px minmax(0, 1fr);
	}

	.location-single-item .location-team-grid {
		gap: 24px;
	}
}

@media (max-width: 991px) {
	.location-single-item .location-single-layout {
		grid-template-columns: 1fr;
	}

	.location-single-item .location-filter-panel {
		order: 2;
	}

	.location-single-item .location-single-main {
		order: 1;
	}

	.location-single-item .location-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.location-single-item .location-details-card {
		grid-template-columns: 1fr;
	}

	.location-single-item .location-map {
		min-height: 260px;
	}

	.location-single-item .location-details {
		padding: 24px 20px;
	}

	.location-single-item .location-team-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.location-single-item .location-contact-list {
		flex-direction: column;
		align-items: stretch;
	}

	.location-single-item .location-contact-list .contact-item {
		width: 100%;
	}

	.location-single-item .filter-body {
		padding: 16px;
	}
}