/* FORCE CARD LAYOUT – LIVE SAFE */
.alchemy-cards-wrapper {
	max-width: 1500px;
	margin: 0 auto;
	padding: 48px 24px;
}	
}

.alchemy-cards-wrapper .alchemy-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(220px, 1fr));
	max-width: 1500px;
	gap: 24px;
	margin: 0 auto;
}	
}

.alchemy-cards-wrapper .alchemy-card {
	background: #e3e8eb;
	padding: 28px 22px;
	text-align: center;
	max-height: 120px;
	overflow: hidden;
	transition: max-height .6s ease, background .35s ease;
}	
}

.alchemy-cards-wrapper .alchemy-card h4 {
	margin: 0;
	font-weight: 700;
	text-align: center;
	line-height: 1.35;
	font-size: 1.08rem;
	color: #2f3a44;
	position: relative;
	padding-bottom: 12px;
}

.alchemy-cards-wrapper .alchemy-card h4::after {
	content: "";
	display: block;
	width: 36px;
	height: 1px;
	background: rgba(0, 0, 0, 0.18);
	margin: 10px auto 0;
}

.alchemy-cards-wrapper .alchemy-card p {
	margin-top: 14px;
	font-size: .95rem;
	line-height: 1.5;
	opacity: 0;
	transition: opacity .25s ease;
}

/* Hover reveal */
.alchemy-cards-wrapper .alchemy-card:hover {
	max-height: 2000px;
	background: #d7dde2;
}

.alchemy-cards-wrapper .alchemy-card:hover p {
	opacity: 1;
}

/* Mobile */
@media (max-width: 900px) {
	.alchemy-cards-wrapper .alchemy-row {
		grid-template-columns: 1fr;
	}
	
	.alchemy-cards-wrapper .alchemy-card {
		max-height: none;
	}
	
	.alchemy-cards-wrapper .alchemy-card p {
		opacity: 1;
	}
}

/* Center card groups inside coloured sections */
.alchemy-cards-wrapper .alchemy-row {
	max-width: 1500px;
	margin: 0 auto;
}

/* Three card layout override */
.alchemy-cards-wrapper.alchemy-three .alchemy-row {
	grid-template-columns: repeat(3, 1fr);
	max-width: 900px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.alchemy-cards-wrapper.alchemy-three .alchemy-row {
		grid-template-columns: 1fr;
		max-width: 100%;
	}
}

/* Calm Reading Mode */
body.calm-mode {
	background-color: #f7f7f6;
}

body.calm-mode header,
body.calm-mode .sidebar,
body.calm-mode .social-share,
body.calm-mode .newsletter,
body.calm-mode .hide-in-calm {
	display: none;
}

body.calm-mode .calm-content {
	max-width: 720px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.75;
	padding: 32px 20px;
}

body.calm-mode img {
	margin: 32px 0;
}

body.calm-mode * {
	animation: none !important;
}

.premium-cards {
	max-width: 1200px;
	margin: 120px auto;
	padding: 0 24px;
}

.premium-cards h2 {
	font-size: 42px;
	margin-bottom: 48px;
}

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 28px;
}

.premium-card {
	position: relative;
	padding: 42px 36px;
	border-radius: 22px;
	background: linear-gradient(160deg, #f4f5f6, #eceeef);
	color: #111;
	text-decoration: none;
	overflow: hidden;
	transition: transform .4s ease, box-shadow .4s ease;
}

.premium-card::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at top left, rgba(255,255,255,0.6), transparent 60%);
	opacity: 0;
	transition: opacity .4s ease;
}

.premium-card:hover,
.premium-card:focus {
	transform: translateY(-8px);
	box-shadow: 0 30px 60px rgba(0,0,0,0.12);
}

.premium-card:hover::before,
.premium-card:focus::before {
	opacity: 1;
}

.premium-card .label {
	display: block;
	font-size: 14px;
	letter-spacing: .08em;
	color: #666;
	margin-bottom: 14px;
}

.premium-card strong {
	display: block;
	font-size: 26px;
	margin-bottom: 12px;
}

.premium-card em {
	font-style: normal;
	font-size: 16px;
	color: #555;
}

.scroll-reveal p {
	font-size: 36px;
	margin: 60px 0;
	opacity: 0;
	transform: translateY(40px);
	animation: reveal linear forwards;
}

@keyframes reveal {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.scroll-reveal p {
	font-size: 36px;
	margin: 60px 0;
	opacity: 0;
	transform: translateY(40px);
	animation: reveal .9s ease forwards;
}

.scroll-reveal p:nth-child(1) {
	animation-delay: .2s;
}

.scroll-reveal p:nth-child(2) {
	animation-delay: .5s;
}

.scroll-reveal p:nth-child(3) {
	animation-delay: .8s;
}

@keyframes reveal {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.cinematic_section {
	max-width: 1100px;
	margin: 120px auto;
	padding: 0 24px;
}

.cinematic_card {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	text-decoration: none;
	color: #ffffff;
}

.cinematic_image {
	overflow: hidden;
}

.cinematic_image img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	transform: scale(1.08);
	filter: brightness(0.85) saturate(0.9);
	transition: transform 1.2s ease, filter 1.2s ease;
}

.cinematic_card:hover .cinematic_image img,
.cinematic_card:focus .cinematic_image img {
	transform: scale(1);
	filter: brightness(1) saturate(1);
}

.cinematic_text {
	position: absolute;
	bottom: 36px;
	left: 36px;
	right: 36px;
}

.cinematic_text span {
	display: block;
	font-size: 14px;
	letter-spacing: .08em;
	opacity: .75;
	margin-bottom: 10px;
}

.cinematic_text strong {
	display: block;
	font-size: 34px;
	font-weight: 500;
	max-width: 600px;
	line-height: 1.25;
}

.cinematic_grid {
	max-width: 1200px;
	margin: 120px auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.cinematic_card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 22px;
	text-decoration: none;
	color: #ffffff;
}

.cinematic_image {
	overflow: hidden;
}

.cinematic_image img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	transform: scale(1.08);
	filter: brightness(0.85) saturate(0.9);
	transition: transform 1.2s ease, filter 1.2s ease;
}

.cinematic_card:hover .cinematic_image img,
.cinematic_card:focus .cinematic_image img {
	transform: scale(1);
	filter: brightness(1) saturate(1);
}

.cinematic_text {
	position: absolute;
	bottom: 28px;
	left: 28px;
	right: 28px;
}

.cinematic_text span {
	display: block;
	font-size: 13px;
	letter-spacing: .08em;
	opacity: .75;
	margin-bottom: 8px;
}

.cinematic_text strong {
	display: block;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

/* Responsive */
@media (max-width: 900px) {
	.cinematic_grid {
		grid-template-columns: 1fr;
	}
	
	.cinematic_image img {
		height: 360px;
	}
}

.flip_grid {
	max-width: 1200px;
	margin: 120px auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.flip_card {
	perspective: 1200px;
}

.flip_inner {
	display: block;
	position: relative;
	width: 100%;
	height: 420px;
	transform-style: preserve-3d;
	transition: transform 1s ease;
	text-decoration: none;
}

.flip_card:hover .flip_inner,
.flip_inner:focus {
	transform: rotateY(180deg);
}

.flip_front,
.flip_back {
	position: absolute;
	backface-visibility: hidden;
	border-radius: 22px;
	overflow: hidden;
}

.flip_front img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flip_label {
	position: absolute;
	bottom: 28px;
	left: 28px;
	color: #ffffff;
}

.flip_label span {
	display: block;
	font-size: 13px;
	letter-spacing: .08em;
	opacity: .75;
	margin-bottom: 8px;
}

.flip_label strong {
	font-size: 30px;
	font-weight: 500;
}

.flip_back {
	background: #f3f4f5;
	color: #222;
	transform: rotateY(180deg);
	padding: 48px 36px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.flip_back p {
	font-size: 18px;
	line-height: 1.6;
}

.flip_cta {
	font-size: 14px;
	letter-spacing: .06em;
	color: #555;
}

/* Mobile safety */
@media (max-width: 900px) {
	.flip_grid {
		grid-template-columns: 1fr;
	}
	
	.flip_inner {
		height: auto;
		transform: none;
	}
	
	.flip_front,
						  .flip_back {
		position: relative;
		transform: none;
	}
	
	.flip_back {
		margin-top: 12px;
	}
}

.flip_block {
	max-width: 1200px;
	margin: 120px auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}

.flip_card {
	perspective: 1200px;
}

.flip_inner {
	display: block;
	position: relative;
	width: 100%;
	height: 420px;
	transform-style: preserve-3d;
	transition: transform 1s ease;
	text-decoration: none;
}

.flip_card:hover .flip_inner,
.flip_inner:focus {
	transform: rotateY(180deg);
}

.flip_front,
.flip_back {
	position: absolute;
	backface-visibility: hidden;
	border-radius: 22px;
	overflow: hidden;
}

.flip_front img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flip_label {
	position: absolute;
	bottom: 28px;
	left: 28px;
	color: #ffffff;
}

.flip_label span {
	display: block;
	font-size: 13px;
	letter-spacing: .08em;
	opacity: .75;
	margin-bottom: 8px;
}

.flip_label strong {
	font-size: 30px;
	font-weight: 500;
}

.flip_back {
	background: #f3f4f5;
	color: #222;
	transform: rotateY(180deg);
	padding: 48px 36px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.flip_back p {
	font-size: 18px;
	line-height: 1.6;
}

.flip_cta {
	font-size: 14px;
	letter-spacing: .06em;
	color: #555;
}

/* Mobile behaviour */
@media (max-width: 900px) {
	.flip_block {
		grid-template-columns: 1fr;
	}
	
	.flip_inner {
		height: auto;
		transform: none;
	}
	
	.flip_front,
						  .flip_back {
		position: relative;
		transform: none;
	}
	
	.flip_back {
		margin-top: 12px;
	}
}

.slide_story {
	max-width: 1200px;
	margin: 140px auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

/* Image slide in */
.story_image {
	overflow: hidden;
}

.story_image img {
	width: 100%;
	transform: translateX(120px);
	opacity: 0;
	animation: imageSlide 1.4s ease forwards;
}

/* Text container */
.story_text h2 {
	font-size: 42px;
	margin-bottom: 24px;
}

/* Typewriter text */
.type_text {
	font-size: 22px;
	line-height: 1.6;
	width: 0;
	overflow: hidden;
	white-space: nowrap;
	border-right: 2px solid #444;
	animation: typing 2.2s steps(40, end) forwards, caret .8s step-end infinite;
	animation-delay: 1.4s;
}

/* Animations */
@keyframes imageSlide {
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes typing {
	to {
		width: 100%;
	}
}

@keyframes caret {
	50% {
		border-color: transparent;
	}
}

/* Mobile behaviour */
@media (max-width: 900px) {
	.slide_story {
		grid-template-columns: 1fr;
	}
	
	.story_image img {
		transform: none;
		opacity: 1;
		animation: none;
	}
	
	.type_text {
		width: auto;
		white-space: normal;
		border: none;
		animation: none;
	}
}

.signature_header {
	max-width: 900px;
	margin: 120px auto 80px;
	padding: 0 24px;
}

.signature_header h2 {
	font-size: 42px;
	font-weight: 500;
	margin: 20px 0 12px;
	opacity: 0;
	animation: headerFade .8s ease forwards;
	animation-delay: .4s;
}

.signature_header p {
	font-size: 18px;
	color: #555;
	max-width: 600px;
	opacity: 0;
	animation: headerFade .8s ease forwards;
	animation-delay: .6s;
}

.signature_line {
	display: block;
	width: 0;
	height: 2px;
	background: #222;
	animation: lineDraw .6s ease forwards;
}

@keyframes lineDraw {
	to {
		width: 64px;
	}
}

@keyframes headerFade {
	to {
		opacity: 1;
	}
}

/* ========================================
   ALCHEMY SOULS HOMEPAGE
   CLEAN ISOLATED BUILD
======================================== */
/* ========================================
   PAGE
======================================== */
.ash_home,
.ash_home *,
.ash_home ::before,
.ash_home ::after {
	box-sizing: border-box;
}

.ash_home {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #FFFFFF;
	color: #303038;
	font-family: var(--ash_sans);
}

.ash_home img {
	display: block;
	width: 100%;
}

.ash_home a {
	text-decoration: none;
}

.ash_container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.ash_home h1,
.ash_home h2,
.ash_home h3,
.ash_home p {
	margin-top: 0;
}

.ash_home h1,
.ash_home h2 {
	font-family: var(--ash_serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.ash_home h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
	color: #303038;
}

.ash_home h2 span {
	color: #822984;
	font-style: italic;
}

.ash_home p {
	font-size: 17px;
	line-height: 1.75;
	color: #303038;
}

.ash_lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: #303038 !important;
}

/* ========================================
   EYEBROW
======================================== */
.ash_eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #A2027B;
}

.ash_eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	flex: 0 0 34px;
	background: currentColor;
}

.ash_eyebrow_light {
	color: #FFFFFF !important;
}

/* ========================================
   BUTTONS
======================================== */
.ash_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--ash_sans);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.ash_btn:hover {
	transform: translateY(-3px);
}

.ash_btn_primary {
	border: 1px solid #822984;
	background: #822984 !important;
	color: #FFFFFF !important;
}

.ash_btn_primary:hover {
	border-color: #6C4E8C;
	background: #6C4E8C !important;
	color: #FFFFFF !important;
}

.ash_btn_outline {
	border: 1px solid rgba(255, 255, 255, 0.82);
	background: transparent;
	color: #FFFFFF !important;
}

.ash_btn_outline:hover {
	border-color: #822984;
	background: #822984;
	color: #FFFFFF !important;
}

.ash_btn_white {
	border: 1px solid #FFFFFF;
	background: #FFFFFF;
	color: #822984 !important;
}

.ash_btn_white:hover {
	border-color: #822984;
	background: #822984;
	color: #FFFFFF !important;
}

/* ========================================
   TEXT LINKS
======================================== */
.ash_text_link {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-top: 8px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--ash_border);
	font-size: 14px;
	font-weight: 700;
	color: #303038 !important;
	transition: gap .25s ease, color .25s ease;
}

.ash_text_link span {
	color: #822984;
}

.ash_text_link:hover {
	gap: 19px;
	color: #822984 !important;
}

/* ========================================
   HERO
======================================== */
.ash_hero {
	position: relative;
	min-height: 720px;
	height: calc(100vh - 150px);
	max-height: 980px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #303038;
}

.ash_hero_image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 45%;
}

.ash_hero_overlay {
	position: absolute;
	z-index: 1;
	background: linear-gradient(90deg,
			rgba(48, 48, 56, 0.72) 0%,
			rgba(48, 48, 56, 0.38) 44%,
			rgba(48, 48, 56, 0.02) 78%), linear-gradient(0deg,
			rgba(48, 48, 56, 0.48) 0%,
			rgba(48, 48, 56, 0) 50%);
}

.ash_hero_inner {
	position: relative;
	z-index: 2;
	padding-bottom: 90px;
}

.ash_hero_content {
	max-width: 1000px;
}

.ash_hero_content h1 {
	max-width: 1000px;
	margin-bottom: 30px;
	font-family: var(--ash_serif);
	font-size: clamp(64px, 6.4vw, 90px);
	font-weight: 400;
	line-height: .93;
	letter-spacing: -.04em;
	color: #FFFFFF !important;
}

.ash_hero_main {
	display: block;
	color: #FFFFFF !important;
	font-style: normal;
}

.ash_hero_emphasis {
	display: block;
	color: #FFFFFF !important;
	font-style: italic;
}

.ash_hero_content p {
	max-width: 680px;
	margin-bottom: 36px;
	font-size: 19px;
	line-height: 1.65;
	color: #FFFFFF !important;
}

.ash_hero_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.ash_hero_detail {
	position: absolute;
	right: 0;
	bottom: 34px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.ash_hero_detail i {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #822984;
}

/* ========================================
   INTRO
======================================== */
.ash_intro {
	padding: 140px 0 150px;
	background: #FFFFFF;
}

.ash_intro_grid {
	display: grid;
	grid-template-columns: 1.12fr 0.72fr;
	align-items: start;
	gap: 120px;
}

.ash_intro_heading h2 {
	max-width: 780px;
}

.ash_intro_copy {
	max-width: 540px;
	padding-top: 48px;
}

.ash_intro_copy p {
	margin-bottom: 20px;
}

/* ========================================
   STORIES
======================================== */
.ash_stories {
	padding: 135px 0 145px;
	background: #F6F6F6;
}

.ash_heading_row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 55px;
}

.ash_heading_row h2 {
	max-width: 700px;
}

.ash_view_all {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--ash_border);
	font-size: 14px;
	font-weight: 700;
	color: #303038 !important;
}

.ash_view_all span {
	color: #822984;
}

.ash_story_grid {
	display: grid;
	grid-template-columns: 1.35fr 0.8fr 0.8fr;
	gap: 22px;
}

.ash_story_feature,
.ash_story_card {
	overflow: hidden;
	border-radius: var(--ash_radius);
	background: #FFFFFF;
	transition: transform .35s ease, box-shadow .35s ease;
}

.ash_story_feature:hover,
.ash_story_card:hover {
	transform: translateY(-7px);
	box-shadow: var(--ash_shadow);
}

.ash_story_feature {
	position: relative;
	min-height: 650px;
	background: #303038;
}

.ash_story_feature > img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.ash_story_feature:hover > img {
	transform: scale(1.045);
}

.ash_story_overlay {
	position: absolute;
	z-index: 1;
	background: linear-gradient(0deg,
			rgba(48, 48, 56, 0.94) 0%,
			rgba(48, 48, 56, 0.52) 44%,
			rgba(48, 48, 56, 0.03) 78%);
}

.ash_story_feature_content {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 42px;
}

.ash_card_category {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #A2027B;
}

.ash_category_light {
	color: #FFFFFF;
}

.ash_story_feature h3 {
	max-width: 610px;
	margin: 14px 0;
	font-family: var(--ash_serif);
	font-size: clamp(34px, 3vw, 47px);
	font-weight: 400;
	line-height: 1.05;
	color: #FFFFFF !important;
}

.ash_story_feature p {
	max-width: 520px;
	color: #FFFFFF !important;
}

.ash_story_link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 700;
	color: #FFFFFF;
}

.ash_story_link span {
	color: #FFFFFF;
}

.ash_story_card {
	display: flex;
	flex-direction: column;
	color: #303038 !important;
}

.ash_story_image {
	height: 330px;
	overflow: hidden;
}

.ash_story_image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.ash_story_card:hover img {
	transform: scale(1.05);
}

.ash_story_card_content {
	padding: 28px 26px 32px;
}

.ash_story_card_content h3 {
	margin: 11px 0 22px;
	font-family: var(--ash_serif);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.08;
	color: #303038 !important;
}

.ash_small_link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	color: #822984;
}

/* ========================================
   PHILOSOPHY
======================================== */
.ash_philosophy {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: linear-gradient(135deg,
			#303038 0%,
			#6C4E8C 52%,
			#822984 100%);
}

.ash_philosophy_shape {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: .38;
}

.ash_shape_one {
	width: 420px;
	height: 420px;
	left: -180px;
	top: -180px;
	background: #A2027B;
}

.ash_shape_two {
	width: 470px;
	height: 470px;
	right: -190px;
	bottom: -220px;
	background: #829B9E;
}

.ash_philosophy .ash_container {
	position: relative;
	z-index: 2;
}

.ash_philosophy_heading {
	max-width: 880px;
	margin-bottom: 78px;
}

.ash_philosophy_heading h2,
.ash_philosophy_heading h2 span {
	color: #FFFFFF !important;
}

.ash_philosophy_heading p {
	max-width: 640px;
	margin-top: 28px;
	font-size: 19px;
	color: #FFFFFF !important;
}

.ash_values_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.ash_value {
	padding: 38px 34px 0 0;
}

.ash_value + .ash_value {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.24);
}

.ash_value_number {
	display: block;
	margin-bottom: 38px;
	font-family: var(--ash_serif);
	font-size: 18px;
	color: #FFFFFF;
}

.ash_value h3 {
	margin: 0 0 16px;
	font-family: var(--ash_serif);
	font-size: 29px;
	font-weight: 400;
	color: #FFFFFF;
}

.ash_value p {
	font-size: 15px;
	color: #FFFFFF;
}

/* ========================================
   DESTINATIONS
======================================== */
.ash_destinations {
	padding: 145px 0 150px;
	background: #FFFFFF;
}

.ash_destination_heading {
	max-width: 830px;
	margin-bottom: 58px;
}

.ash_destination_heading p {
	max-width: 670px;
	margin-top: 28px;
	font-size: 18px;
}

.ash_destination_grid {
	display: grid;
	grid-template-columns: 1.35fr 0.8fr 0.8fr;
	gap: 18px;
}

.ash_destination_card {
	position: relative;
	height: 540px;
	overflow: hidden;
	border-radius: var(--ash_radius);
	background: #303038;
}

.ash_destination_card img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.ash_destination_card:hover img {
	transform: scale(1.055);
}

.ash_destination_overlay {
	position: absolute;
	z-index: 1;
	background: linear-gradient(0deg,
			rgba(48, 48, 56, 0.92) 0%,
			rgba(48, 48, 56, 0.34) 42%,
			rgba(48, 48, 56, 0.02) 74%);
}

.ash_destination_content {
	position: absolute;
	z-index: 2;
	left: 30px;
	right: 28px;
	bottom: 28px;
}

.ash_destination_content > span {
	display: block;
	margin-bottom: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.ash_destination_content h3 {
	margin: 0;
	padding-right: 60px;
	font-family: var(--ash_serif);
	font-size: 35px;
	font-weight: 400;
	line-height: 1.05;
	color: #FFFFFF !important;
}

.ash_destination_content i {
	position: absolute;
	right: 0;
	bottom: 2px;
	width: 44px;
	height: 44px;
	display: grid;
	border: 1px solid #FFFFFF;
	border-radius: 50%;
	background: transparent;
	font-style: normal;
	color: #FFFFFF;
	transition: background .25s ease, border-color .25s ease;
}

.ash_destination_card:hover i {
	border-color: #822984;
	background: #822984;
}

/* ========================================
   SPA
======================================== */
.ash_spa_card {
	position: relative;
	min-height: 330px;
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	margin-top: 18px;
	padding: 55px 60px;
	overflow: hidden;
	border-radius: var(--ash_radius);
	background: linear-gradient(120deg,
			#6C4E8C 0%,
			#822984 58%,
			#A2027B 100%);
	color: #FFFFFF !important;
}

.ash_spa_content {
	position: relative;
	z-index: 2;
	max-width: 720px;
}

.ash_spa_content h3 {
	margin: 0 0 16px;
	font-family: var(--ash_serif);
	font-size: clamp(39px, 4vw, 58px);
	font-weight: 400;
	line-height: 1.04;
	color: #FFFFFF;
}

.ash_spa_content p {
	max-width: 650px;
	margin-bottom: 21px;
	color: #FFFFFF;
}

.ash_spa_link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 700;
	color: #FFFFFF;
}

.ash_spa_visual {
	position: relative;
	min-height: 230px;
	display: grid;
}

.ash_spa_ring {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 50%;
}

.ash_spa_ring_one {
	width: 170px;
	height: 170px;
}

.ash_spa_ring_two {
	width: 245px;
	height: 245px;
}

.ash_spa_visual > span {
	position: relative;
	z-index: 2;
	font-size: 68px;
	color: #FFFFFF;
}

/* ========================================
   NEUROINCLUSIVE
======================================== */
.ash_neuro {
	background: #F6F6F6;
}

.ash_neuro_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 780px;
}

.ash_neuro_image {
	position: relative;
	min-height: 780px;
	overflow: hidden;
}

.ash_neuro_image > img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ash_neuro_label {
	position: absolute;
	z-index: 2;
	left: 36px;
	bottom: 36px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	color: #303038;
}

.ash_neuro_label span {
	font-size: 18px;
	color: #822984;
}

.ash_neuro_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.ash_neuro_content h2 {
	max-width: 700px;
	font-size: clamp(45px, 4.4vw, 68px);
}

.ash_neuro_content > p {
	max-width: 650px;
	margin-bottom: 18px;
}

.ash_neuro_content .ash_lead {
	margin-top: 34px;
}

.ash_neuro_points {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	max-width: 650px;
	margin: 26px 0 38px;
	border-top: 1px solid var(--ash_border);
	border-bottom: 1px solid var(--ash_border);
}

.ash_neuro_points div {
	padding: 18px 10px 18px 0;
	font-size: 13px;
	font-weight: 700;
	color: #303038;
}

.ash_neuro_points span {
	margin-right: 9px;
	font-family: var(--ash_serif);
	color: #822984;
}

.ash_neuro_content .ash_btn {
	align-self: flex-start;
}

/* ========================================
   QUOTE
======================================== */
.ash_quote {
	padding: 150px 0;
	background: #FFFFFF;
	text-align: center;
}

.ash_quote_inner {
	max-width: 1040px;
}

.ash_quote_mark {
	height: 80px;
	margin-bottom: 18px;
	font-family: var(--ash_serif);
	font-size: 110px;
	line-height: 1;
	color: #822984;
}

.ash_quote blockquote {
	margin: 0;
	font-family: var(--ash_serif);
	font-size: clamp(42px, 5vw, 74px);
	line-height: 1.05;
	letter-spacing: -.03em;
	color: #303038;
}

.ash_quote blockquote span {
	color: #A2027B;
	font-style: italic;
}

.ash_quote_divider {
	width: 46px;
	height: 3px;
	margin: 40px auto 16px;
	background: #822984;
}

.ash_quote p {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #303038;
}

/* ========================================
   FAMILY
======================================== */
.ash_family {
	padding: 150px 0 170px;
	background: #F6F6F6;
}

.ash_family_grid {
	display: grid;
	grid-template-columns: 0.85fr 1fr;
	align-items: center;
	gap: 100px;
}

.ash_family_copy h2 {
	margin-bottom: 34px;
}

.ash_family_copy p {
	max-width: 580px;
}

.ash_family_images {
	position: relative;
	min-height: 700px;
}

.ash_family_main {
	position: absolute;
	top: 0;
	right: 0;
	width: 68%;
	height: 650px;
	overflow: hidden;
	border-radius: var(--ash_radius_large);
	box-shadow: var(--ash_shadow);
}

.ash_family_main img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ash_family_secondary {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 43%;
	height: 340px;
	overflow: hidden;
	border: 10px solid #F6F6F6;
	border-radius: var(--ash_radius);
	box-shadow: var(--ash_shadow);
}

.ash_family_secondary img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ash_family_badge {
	position: absolute;
	right: 34px;
	bottom: -22px;
	width: 160px;
	height: 160px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #822984;
	color: #FFFFFF;
	text-align: center;
	transform: rotate(5deg);
	box-shadow: 0 20px 50px rgba(48, 48, 56, 0.22);
}

.ash_family_badge strong {
	font-family: var(--ash_serif);
	font-size: 22px;
	font-weight: 400;
}

.ash_family_badge span {
	margin-top: 5px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* ========================================
   THOUGHTFUL STAYS
======================================== */
.ash_stays {
	position: relative;
	min-height: 760px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #303038;
}

.ash_stays_image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ash_stays_overlay {
	position: absolute;
	z-index: 1;
	background: linear-gradient(90deg,
			rgba(48, 48, 56, 0.94) 0%,
			rgba(108, 78, 140, 0.7) 48%,
			rgba(48, 48, 56, 0.04) 80%);
}

.ash_stays_inner {
	position: relative;
	z-index: 2;
}

.ash_stays_card {
	max-width: 620px;
	padding: 56px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--ash_radius_large);
	background: rgba(48, 48, 56, 0.86);
}

.ash_stays_card h2,
.ash_stays_card h2 span {
	color: #FFFFFF !important;
}

.ash_stays_card h2 {
	margin-bottom: 28px;
}

.ash_stays_card p {
	margin-bottom: 30px;
	color: #FFFFFF !important;
}

/* ========================================
   EXPLORE
======================================== */
.ash_explore {
	padding: 150px 0;
	background: #FFFFFF;
}

.ash_explore_grid {
	display: grid;
	grid-template-columns: 0.76fr 1.1fr;
	gap: 100px;
}

.ash_explore_heading {
	position: sticky;
	top: 110px;
	align-self: start;
}

.ash_explore_heading h2 {
	max-width: 530px;
}

.ash_explore_list {
	border-top: 1px solid var(--ash_border);
}

.ash_explore_item {
	display: grid;
	grid-template-columns: 60px 1fr 48px;
	align-items: center;
	gap: 18px;
	padding: 34px 0;
	border-bottom: 1px solid var(--ash_border);
	color: #303038 !important;
	transition: padding .3s ease;
}

.ash_explore_item:hover {
	padding-left: 14px;
}

.ash_explore_number {
	font-family: var(--ash_serif);
	font-size: 17px;
	color: #822984;
}

.ash_explore_item h3 {
	margin: 0 0 7px;
	font-family: var(--ash_serif);
	font-size: 28px;
	font-weight: 400;
	color: #303038;
}

.ash_explore_item p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #303038;
}

.ash_explore_item i {
	width: 44px;
	height: 44px;
	display: grid;
	border: 1px solid #822984;
	border-radius: 50%;
	font-style: normal;
	color: #822984;
	transition: background .25s ease, color .25s ease;
}

.ash_explore_item:hover i {
	background: #822984;
	color: #FFFFFF;
}

/* ========================================
   NEWSLETTER
======================================== */
.ash_newsletter {
	padding: 105px 0;
	background: linear-gradient(120deg,
			#6C4E8C 0%,
			#822984 55%,
			#A2027B 100%);
}

.ash_newsletter_grid {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 80px;
}

.ash_newsletter h2,
.ash_newsletter h2 span {
	color: #FFFFFF !important;
}

.ash_newsletter h2 {
	max-width: 810px;
}

.ash_newsletter p {
	max-width: 680px;
	margin-top: 26px;
	color: #FFFFFF !important;
}

.ash_newsletter_action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	min-width: 220px;
}

.ash_newsletter_action .ash_btn {
	width: 100%;
}

.ash_newsletter_action small {
	color: #FFFFFF;
}

/* ========================================
   FINAL CTA
======================================== */
.ash_final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#303038 0%,
			#6C4E8C 52%,
			#822984 100%);
}

.ash_final_shape {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .38;
}

.ash_final_shape_one {
	width: 470px;
	height: 470px;
	left: -180px;
	bottom: -220px;
	background: #A2027B;
}

.ash_final_shape_two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #829B9E;
}

.ash_final .ash_container {
	position: relative;
	z-index: 2;
}

.ash_final_inner {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.ash_final_icon {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 50%;
	font-size: 34px;
	color: #FFFFFF;
}

.ash_final .ash_eyebrow {
	justify-content: center;
}

.ash_final h2,
.ash_final h2 span {
	color: #FFFFFF !important;
}

.ash_final h2 {
	max-width: 930px;
	margin: 0 auto;
	font-size: clamp(54px, 6vw, 88px);
}

.ash_final p {
	max-width: 720px;
	margin: 30px auto 0;
	font-size: 18px;
	color: #FFFFFF !important;
}

.ash_final_actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   LARGE TABLET
======================================== */
@media (max-width: 1100px) {
	.ash_intro_grid {
		gap: 70px;
	}
	
	.ash_story_grid {
		grid-template-columns: 1.2fr 1fr;
	}
	
	.ash_story_feature {
		grid-row: span 2;
	}
	
	.ash_values_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.ash_value:nth-child(3),
				.ash_value:nth-child(4) {
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}
	
	.ash_destination_grid {
		grid-template-columns: 1fr 1fr;
	}
	
	.ash_destination_large {
		grid-column: span 2;
	}
	
	.ash_family_grid {
		gap: 55px;
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 900px) {
	.ash_container {
		width: min(100% - 40px, 1240px);
	}
	
	.ash_hero {
		min-height: 760px;
	}
	
	.ash_hero_inner {
		padding-bottom: 70px;
	}
	
	.ash_hero_content h1 {
		font-size: clamp(58px, 9vw, 78px);
	}
	
	.ash_hero_detail {
		display: none;
	}
	
	.ash_intro,
				.ash_stories,
				.ash_destinations,
				.ash_quote,
				.ash_family,
				.ash_explore {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.ash_intro_grid,
				.ash_family_grid,
				.ash_explore_grid {
		grid-template-columns: 1fr;
		gap: 55px;
	}
	
	.ash_intro_copy {
		max-width: 700px;
		padding-top: 0;
	}
	
	.ash_heading_row {
		align-items: flex-start;
		flex-direction: column;
	}
	
	.ash_story_grid {
		grid-template-columns: 1fr 1fr;
	}
	
	.ash_story_feature {
		grid-column: span 2;
		min-height: 600px;
	}
	
	.ash_spa_card {
		grid-template-columns: 1fr 220px;
		padding: 45px;
	}
	
	.ash_neuro_grid {
		grid-template-columns: 1fr;
	}
	
	.ash_neuro_image {
		min-height: 560px;
	}
	
	.ash_neuro_content {
		padding: 90px 40px;
	}
	
	.ash_family_images {
		width: 100%;
		max-width: 680px;
		min-height: 720px;
		margin: 0 auto;
	}
	
	.ash_explore_heading {
		position: static;
	}
	
	.ash_newsletter_grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.ash_newsletter_action {
		align-items: flex-start;
		max-width: 250px;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 680px) {
	.ash_container {
		width: min(100% - 28px, 1240px);
	}
	
	.ash_home h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	.ash_hero {
		min-height: 720px;
		height: 88vh;
	}
	
	.ash_hero_image {
		object-position: 58% center;
	}
	
	.ash_hero_overlay {
		background: linear-gradient(0deg,
							rgba(48, 48, 56, 0.9) 0%,
							rgba(48, 48, 56, 0.25) 78%);
	}
	
	.ash_hero_content h1 {
		font-size: clamp(48px, 13vw, 66px);
		line-height: .94;
	}
	
	.ash_hero_content p {
		font-size: 16px;
	}
	
	.ash_hero_actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.ash_hero_actions .ash_btn {
		width: 100%;
	}
	
	.ash_intro,
				.ash_stories,
				.ash_destinations,
				.ash_quote,
				.ash_family,
				.ash_explore {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	.ash_story_grid {
		grid-template-columns: 1fr;
	}
	
	.ash_story_feature {
		grid-column: auto;
		min-height: 540px;
	}
	
	.ash_story_feature_content {
		padding: 28px;
	}
	
	.ash_story_feature h3 {
		font-size: 34px;
	}
	
	.ash_story_image {
		height: 290px;
	}
	
	.ash_philosophy {
		padding: 90px 0;
	}
	
	.ash_philosophy_heading {
		margin-bottom: 55px;
	}
	
	.ash_values_grid {
		grid-template-columns: 1fr;
	}
	
	.ash_value,
				.ash_value + .ash_value {
		padding: 30px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}
	
	.ash_value_number {
		margin-bottom: 18px;
	}
	
	.ash_destination_grid {
		grid-template-columns: 1fr;
	}
	
	.ash_destination_large {
		grid-column: auto;
	}
	
	.ash_destination_card {
		height: 440px;
	}
	
	.ash_spa_card {
		grid-template-columns: 1fr;
		padding: 40px 28px;
	}
	
	.ash_spa_visual {
		min-height: 190px;
		margin-top: 20px;
	}
	
	.ash_spa_ring_one {
		width: 120px;
		height: 120px;
	}
	
	.ash_spa_ring_two {
		width: 170px;
		height: 170px;
	}
	
	.ash_spa_visual > span {
		font-size: 52px;
	}
	
	.ash_neuro_image {
		min-height: 460px;
	}
	
	.ash_neuro_label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
		text-align: center;
	}
	
	.ash_neuro_content {
		padding: 70px 24px;
	}
	
	.ash_neuro_content h2 {
		font-size: 44px;
	}
	
	.ash_neuro_points {
		grid-template-columns: 1fr;
	}
	
	.ash_quote blockquote {
		font-size: 42px;
	}
	
	.ash_family_images {
		min-height: 590px;
	}
	
	.ash_family_main {
		width: 82%;
		height: 520px;
	}
	
	.ash_family_secondary {
		width: 48%;
		height: 260px;
	}
	
	.ash_family_badge {
		right: 12px;
		width: 128px;
		height: 128px;
	}
	
	.ash_stays {
		min-height: 680px;
		align-items: flex-end;
		padding-bottom: 20px;
	}
	
	.ash_stays_overlay {
		background: linear-gradient(0deg,
							rgba(48, 48, 56, 0.94) 0%,
							rgba(108, 78, 140, 0.18) 82%);
	}
	
	.ash_stays_card {
		padding: 34px 26px;
	}
	
	.ash_explore_item {
		grid-template-columns: 42px 1fr 40px;
		gap: 10px;
	}
	
	.ash_explore_item h3 {
		font-size: 24px;
	}
	
	.ash_explore_item p {
		font-size: 14px;
	}
	
	.ash_newsletter {
		padding: 80px 0;
	}
	
	.ash_final {
		padding: 100px 0;
	}
	
	.ash_final h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.ash_final p {
		font-size: 16px;
	}
	
	.ash_final_actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.ash_final_actions .ash_btn {
		width: 100%;
	}
}

/* ========================================
   SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.ash_family_images {
		min-height: 510px;
	}
	
	.ash_family_main {
		width: 86%;
		height: 450px;
	}
	
	.ash_family_secondary {
		width: 52%;
		height: 215px;
	}
	
	.ash_family_badge {
		width: 108px;
		height: 108px;
	}
	
	.ash_family_badge strong {
		font-size: 17px;
	}
	
	.ash_family_badge span {
		font-size: 8px;
	}
}

/* ========================================
  Destinations Sensory friendly Travel 
Guide
======================================== */
/* ========================================
   VARIABLES
======================================== */
:root {
}

/* ========================================
   RESET
======================================== */
.astf-page,
.astf-page *,
.astf-page ::before,
.astf-page ::after {
	box-sizing: border-box;
}

.astf-page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--astf-white);
	color: var(--astf-charcoal);
	font-family: var(--astf-sans);
}

.astf-page img {
	display: block;
	width: 100%;
}

.astf-page a {
	text-decoration: none;
}

.astf-container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.astf-page h1,
.astf-page h2,
.astf-page h3,
.astf-page p {
	margin-top: 0;
}

.astf-page h1,
.astf-page h2 {
	font-family: var(--astf-serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.astf-page h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
}

.astf-page h2 span {
	color: var(--astf-magenta);
	font-style: italic;
}

.astf-page p {
	font-size: 17px;
	line-height: 1.75;
	color: var(--astf-slate);
}

.astf-lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: var(--astf-charcoal) !important;
}

/* ========================================
   EYEBROW
======================================== */
.astf-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--astf-magenta);
}

.astf-eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}

.astf-eyebrow-light {
	color: rgba(255, 255, 255, 0.78);
}

/* ========================================
   BUTTONS
======================================== */
.astf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--astf-sans);
	font-size: 14px;
	font-weight: 700;
	transition: transform .25s ease, background .25s ease, color .25s ease;
}

.astf-btn:hover {
	transform: translateY(-3px);
}

.astf-btn-primary {
	background: var(--astf-magenta);
	color: var(--astf-white);
}

.astf-btn-primary:hover {
	background: var(--astf-magenta-dark);
}

.astf-btn-glass {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.11);
	color: var(--astf-white);
}

.astf-btn-glass:hover {
	background: var(--astf-white);
	color: var(--astf-charcoal);
}

.astf-btn-white {
	background: var(--astf-white);
	color: var(--astf-charcoal);
}

.astf-btn-white:hover {
	background: #f5dce8;
}

.astf-btn-outline {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: transparent;
	color: var(--astf-white);
}

.astf-btn-outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* ========================================
   HERO
======================================== */
.astf-hero {
	position: relative;
	min-height: 820px;
	height: calc(100vh - 80px);
	max-height: 980px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--astf-dark-plum);
}

.astf-hero-image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 53%;
	transform: scale(1.02);
}

.astf-hero-overlay {
	position: absolute;
	background: linear-gradient(90deg,
			rgba(23, 12, 20, 0.82) 0%,
			rgba(38, 17, 33, 0.53) 45%,
			rgba(20, 12, 18, 0.08) 78%), linear-gradient(0deg,
			rgba(18, 10, 16, 0.55) 0%,
			transparent 44%);
}

.astf-hero-inner {
	position: relative;
	z-index: 2;
	padding-bottom: 92px;
}

.astf-hero-content {
	max-width: 900px;
}

.astf-hero-content h1 {
	margin-bottom: 28px;
	font-size: clamp(76px, 8vw, 120px);
	line-height: .86;
	color: var(--astf-white);
}

.astf-hero-content h1 span {
	display: block;
	color: #f6bdd9;
	font-style: italic;
}

.astf-hero-lead {
	max-width: 680px;
	margin-bottom: 36px;
	font-size: 19px !important;
	line-height: 1.65 !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

.astf-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.astf-hero-note {
	position: absolute;
	right: 0;
	bottom: 35px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.61);
}

.astf-hero-note i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--astf-magenta);
}

/* ========================================
   INTRO
======================================== */
.astf-intro {
	padding: 145px 0 155px;
	background: var(--astf-white);
}

.astf-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
	align-items: start;
	gap: 120px;
}

.astf-intro-heading h2 {
	max-width: 760px;
}

.astf-intro-copy {
	max-width: 540px;
	padding-top: 50px;
}

.astf-intro-copy p {
	margin-bottom: 20px;
}

/* ========================================
   QUESTIONS
======================================== */
.astf-questions {
	position: relative;
	padding: 145px 0 150px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#31152d 0%,
			#521446 54%,
			#291429 100%);
}

.astf-question-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: .3;
}

.astf-question-glow-one {
	width: 430px;
	height: 430px;
	top: -180px;
	left: -180px;
	background: var(--astf-magenta);
}

.astf-question-glow-two {
	width: 500px;
	height: 500px;
	right: -210px;
	bottom: -250px;
	background: #8f5686;
}

.astf-questions .astf-container {
	position: relative;
	z-index: 2;
}

.astf-questions-heading {
	max-width: 820px;
	margin-bottom: 78px;
}

.astf-questions-heading h2 {
	color: var(--astf-white);
}

.astf-questions-heading h2 span {
	color: #f5b8d6;
}

.astf-questions-heading > p {
	max-width: 650px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.68);
}

.astf-question-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.astf-question-card {
	padding: 38px 34px 12px 0;
}

.astf-question-card + .astf-question-card {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.astf-question-number {
	margin-bottom: 42px;
	font-family: var(--astf-serif);
	font-size: 18px;
	color: #ec89ba;
}

.astf-question-card h3 {
	margin-bottom: 16px;
	font-family: var(--astf-serif);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--astf-white);
}

.astf-question-card p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   TRAVEL STYLES
======================================== */
.astf-styles {
	padding: 145px 0 155px;
	background: var(--astf-warm-white);
}

.astf-styles-heading {
	display: grid;
	grid-template-columns: 1fr 0.55fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 58px;
}

.astf-styles-heading h2 {
	max-width: 760px;
}

.astf-styles-heading > p {
	max-width: 500px;
	margin: 0 0 5px;
}

.astf-style-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 390px;
	gap: 18px;
}

.astf-style-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--astf-radius);
	background: var(--astf-dark-plum);
}

.astf-style-card-large {
	grid-row: span 2;
}

.astf-style-card-wide {
	grid-column: span 2;
}

.astf-style-card img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.astf-style-card:hover img {
	transform: scale(1.055);
}

.astf-style-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(25, 12, 22, 0.88) 0%,
			rgba(25, 12, 22, 0.04) 72%);
}

.astf-style-content {
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 28px;
	z-index: 2;
}

.astf-style-content > span {
	display: block;
	margin-bottom: 10px;
	font-family: var(--astf-serif);
	font-size: 17px;
	color: #ef9ac3;
}

.astf-style-content h3 {
	margin: 0 0 10px;
	font-family: var(--astf-serif);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.05;
	color: var(--astf-white);
}

.astf-style-content p {
	max-width: 400px;
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
}

/* ========================================
   EXPERIENCE
======================================== */
.astf-experience {
	background: var(--astf-blush);
}

.astf-experience-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 860px;
}

.astf-experience-image {
	position: relative;
	min-height: 860px;
	overflow: hidden;
}

.astf-experience-image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astf-experience-label {
	position: absolute;
	left: 38px;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.93);
	font-size: 12px;
	font-weight: 700;
}

.astf-experience-label span {
	font-size: 18px;
	color: var(--astf-magenta);
}

.astf-experience-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.astf-experience-content h2 {
	max-width: 680px;
	margin-bottom: 32px;
}

.astf-experience-content > p {
	max-width: 650px;
}

.astf-experience-points {
	max-width: 650px;
	margin-top: 24px;
	border-top: 1px solid var(--astf-border);
}

.astf-experience-points > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: center;
	gap: 14px;
	padding: 15px 0;
	border-bottom: 1px solid var(--astf-border);
}

.astf-experience-points span {
	font-family: var(--astf-serif);
	color: var(--astf-magenta);
}

.astf-experience-points p {
	margin: 0;
	font-size: 14px;
	color: var(--astf-charcoal);
}

.astf-experience-reminder {
	display: flex;
	flex-direction: column;
	gap: 5px;
	max-width: 650px;
	margin-top: 28px;
	padding: 24px 26px;
	border-radius: 18px;
	background: var(--astf-white);
}

.astf-experience-reminder strong {
	font-family: var(--astf-serif);
	font-size: 21px;
	font-weight: 400;
}

.astf-experience-reminder span {
	margin-top: 7px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--astf-magenta);
}

/* ========================================
   FLEXIBILITY
======================================== */
.astf-flex {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: #20121d;
}

.astf-flex-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .31;
}

.astf-flex-glow-one {
	width: 460px;
	height: 460px;
	left: -190px;
	top: -190px;
	background: var(--astf-magenta);
}

.astf-flex-glow-two {
	width: 470px;
	height: 470px;
	right: -170px;
	bottom: -220px;
	background: #8e5585;
}

.astf-flex-inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.astf-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 28px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	font-size: 34px;
	color: #f4afd1;
}

.astf-flex-inner .astf-eyebrow {
	justify-content: center;
}

.astf-flex-inner h2 {
	font-size: clamp(55px, 6vw, 88px);
	color: var(--astf-white);
}

.astf-flex-inner h2 span {
	display: block;
	color: #f5b8d5;
}

.astf-flex-inner p {
	max-width: 710px;
	margin: 30px auto 0;
	font-size: 19px;
	color: rgba(255, 255, 255, 0.69);
}

/* ========================================
   WHERE TO STAY
======================================== */
.astf-stay {
	padding: 150px 0 170px;
	background: var(--astf-white);
}

.astf-stay-grid {
	display: grid;
	grid-template-columns: 0.88fr 1fr;
	align-items: center;
	gap: 105px;
}

.astf-stay-copy h2 {
	margin-bottom: 34px;
}

.astf-stay-copy > p {
	max-width: 580px;
}

.astf-stay-questions {
	margin-top: 30px;
	border-top: 1px solid var(--astf-border);
}

.astf-stay-questions > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: center;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--astf-border);
}

.astf-stay-questions span {
	font-family: var(--astf-serif);
	color: var(--astf-magenta);
}

.astf-stay-questions p {
	margin: 0;
	font-size: 15px;
	color: var(--astf-charcoal);
}

.astf-stay-visual {
	position: relative;
	min-height: 700px;
}

.astf-stay-image {
	position: absolute;
	overflow: hidden;
	border-radius: var(--astf-radius-large);
	box-shadow: var(--astf-shadow);
}

.astf-stay-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astf-stay-card {
	position: absolute;
	left: 0;
	bottom: 42px;
	width: 315px;
	padding: 29px;
	border-radius: var(--astf-radius);
	background: var(--astf-magenta);
	box-shadow: 0 22px 55px rgba(216, 7, 114, 0.28);
	color: var(--astf-white);
}

.astf-stay-card span {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.astf-stay-card strong {
	display: block;
	font-family: var(--astf-serif);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.12;
}

/* ========================================
   ENERGY
======================================== */
.astf-energy {
	position: relative;
	padding: 145px 0 150px;
	background: linear-gradient(135deg,
			#34152f 0%,
			#551548 55%,
			#291429 100%);
}

.astf-energy-heading {
	max-width: 850px;
	margin-bottom: 72px;
}

.astf-energy-heading h2 {
	color: var(--astf-white);
}

.astf-energy-heading h2 span {
	color: #f4b5d4;
}

.astf-energy-heading p {
	max-width: 650px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.67);
}

.astf-energy-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.astf-energy-card {
	padding: 34px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--astf-radius);
	background: rgba(255, 255, 255, 0.065);
}

.astf-energy-card > span {
	display: block;
	margin-bottom: 34px;
	font-family: var(--astf-serif);
	color: #ec88ba;
}

.astf-energy-icon {
	width: 52px;
	height: 52px;
	display: grid;
	margin-bottom: 26px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	font-family: var(--astf-serif);
	font-size: 22px;
	color: var(--astf-white);
}

.astf-energy-card h3 {
	margin: 0 0 13px;
	font-family: var(--astf-serif);
	font-size: 27px;
	font-weight: 400;
	color: var(--astf-white);
}

.astf-energy-card p {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   ADULTS
======================================== */
.astf-adults {
	background: var(--astf-blush);
}

.astf-adults-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 820px;
}

.astf-adults-image {
	min-height: 820px;
	overflow: hidden;
}

.astf-adults-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astf-adults-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.astf-adults-content h2 {
	max-width: 680px;
	margin-bottom: 32px;
}

.astf-adults-content > p {
	max-width: 630px;
}

.astf-adult-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	max-width: 650px;
	margin: 24px 0 30px;
	border-top: 1px solid var(--astf-border);
	border-bottom: 1px solid var(--astf-border);
}

.astf-adult-list div {
	padding: 18px 12px 18px 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--astf-charcoal);
}

.astf-adult-list span {
	margin-right: 10px;
	font-family: var(--astf-serif);
	color: var(--astf-magenta);
}

.astf-adult-highlight {
	max-width: 650px;
	padding: 24px 28px;
	border-left: 3px solid var(--astf-magenta);
	background: var(--astf-white);
	font-family: var(--astf-serif);
	font-size: 25px;
	line-height: 1.18;
}

/* ========================================
   COMPARISON
======================================== */
.astf-comparison {
	padding: 145px 0;
	background: var(--astf-white);
}

.astf-comparison-grid {
	display: grid;
	grid-template-columns: 0.85fr 1fr;
	gap: 110px;
}

.astf-comparison-heading h2 {
	max-width: 570px;
}

.astf-comparison-content {
	padding-top: 44px;
}

.astf-comparison-content > p {
	max-width: 580px;
}

.astf-real-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	max-width: 630px;
	margin: 30px 0;
}

.astf-real-grid div {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 15px 17px;
	border: 1px solid var(--astf-border);
	border-radius: 14px;
	background: var(--astf-warm-white);
	font-size: 13px;
	font-weight: 600;
}

.astf-real-grid span {
	color: var(--astf-magenta);
}

.astf-comparison-end {
	margin-top: 30px !important;
	font-family: var(--astf-serif);
	font-size: 28px !important;
	line-height: 1.2 !important;
	color: var(--astf-charcoal) !important;
}

/* ========================================
   REMINDER
======================================== */
.astf-reminder {
	position: relative;
	min-height: 760px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.astf-reminder-background {
	position: absolute;
}

.astf-reminder-background img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.astf-reminder-overlay {
	position: absolute;
	background: linear-gradient(90deg,
			rgba(31, 14, 27, 0.86) 0%,
			rgba(31, 14, 27, 0.59) 46%,
			rgba(31, 14, 27, 0.08) 78%);
}

.astf-reminder-inner {
	position: relative;
	z-index: 2;
}

.astf-reminder-card {
	max-width: 660px;
	padding: 58px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--astf-radius-large);
	background: rgba(57, 20, 49, 0.78);
}

.astf-reminder-card h2 {
	margin-bottom: 28px;
	color: var(--astf-white);
}

.astf-reminder-card h2 span {
	color: #f5b9d6;
}

.astf-reminder-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
}

/* ========================================
   DESTINATIONS
======================================== */
.astf-destinations {
	padding: 150px 0;
	background: var(--astf-warm-white);
}

.astf-destinations-heading {
	max-width: 850px;
	margin-bottom: 58px;
}

.astf-destinations-heading p {
	max-width: 650px;
	margin-top: 28px;
	font-size: 18px;
}

.astf-destination-grid {
	display: grid;
	grid-template-columns: 1.3fr 0.85fr 0.85fr;
	grid-template-rows: repeat(2, 330px);
	gap: 18px;
}

.astf-destination-feature {
	grid-row: span 2;
}

.astf-destination-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--astf-radius);
	background: var(--astf-dark-plum);
}

.astf-destination-card:nth-child(4) {
	grid-column: span 2;
}

.astf-destination-card img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.astf-destination-card:hover img {
	transform: scale(1.055);
}

.astf-destination-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(23, 12, 20, 0.86) 0%,
			rgba(23, 12, 20, 0.05) 68%);
}

.astf-destination-copy {
	position: absolute;
	z-index: 2;
	left: 29px;
	right: 26px;
	bottom: 28px;
	color: var(--astf-white);
}

.astf-destination-copy > span {
	display: block;
	margin-bottom: 7px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #efb3d1;
}

.astf-destination-copy h3 {
	margin: 0;
	padding-right: 50px;
	font-family: var(--astf-serif);
	font-size: 34px;
	font-weight: 400;
}

.astf-destination-copy p {
	margin: 7px 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
}

.astf-destination-copy i {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 44px;
	height: 44px;
	display: grid;
	border: 1px solid rgba(255, 255, 255, 0.27);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	font-style: normal;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}

.astf-destination-card:hover .astf-destination-copy i {
	background: var(--astf-white);
	color: var(--astf-magenta);
	transform: translateX(4px);
}

/* ========================================
   RESOURCES
======================================== */
.astf-resources {
	padding: 130px 0;
	background: linear-gradient(135deg,
			#32142d 0%,
			#5b164d 100%);
}

.astf-resource-grid {
	display: grid;
	grid-template-columns: 0.72fr 1fr;
	gap: 100px;
	align-items: center;
}

.astf-resource-intro h2 {
	color: var(--astf-white);
}

.astf-resource-intro h2 span {
	color: #f4b6d4;
}

.astf-resource-intro > p {
	max-width: 520px;
	margin-top: 28px;
	color: rgba(255, 255, 255, 0.68);
}

.astf-resource-links {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.astf-resource-card {
	display: grid;
	grid-template-columns: 55px 1fr 50px;
	align-items: center;
	gap: 18px;
	padding: 32px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	color: var(--astf-white);
	transition: padding .3s ease;
}

.astf-resource-card:hover {
	padding-left: 14px;
}

.astf-resource-number {
	font-family: var(--astf-serif);
	color: #ec8aba;
}

.astf-resource-card small {
	display: block;
	margin-bottom: 7px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #ef9fc5;
}

.astf-resource-card h3 {
	margin: 0 0 6px;
	font-family: var(--astf-serif);
	font-size: 27px;
	font-weight: 400;
	color: var(--astf-white);
}

.astf-resource-card p {
	margin: 0;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.59);
}

.astf-resource-card i {
	width: 44px;
	height: 44px;
	display: grid;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	font-style: normal;
	color: #f2a5ca;
}

/* ========================================
   FINAL CTA
======================================== */
.astf-final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#21121e 0%,
			#421639 48%,
			#741159 100%);
}

.astf-final::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at 50% 0%,
			rgba(216, 7, 114, 0.19),
			transparent 50%);
}

.astf-final-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.astf-final-glow-one {
	width: 470px;
	height: 470px;
	left: -180px;
	bottom: -220px;
	background: #e41480;
}

.astf-final-glow-two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #a4689b;
}

.astf-final .astf-container {
	position: relative;
	z-index: 2;
}

.astf-final-inner {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.astf-final-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #f5b2d3;
}

.astf-final-inner .astf-eyebrow {
	justify-content: center;
}

.astf-final-inner h2 {
	max-width: 940px;
	margin: 0 auto;
	font-size: clamp(55px, 6vw, 90px);
	color: var(--astf-white);
}

.astf-final-inner h2 span {
	display: block;
	color: #f6bad7;
}

.astf-final-inner p {
	max-width: 720px;
	margin: 30px auto 0;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.72);
}

.astf-final-actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   RESPONSIVE
   1150PX
======================================== */
@media (max-width: 1150px) {
	.astf-intro-grid {
		gap: 70px;
	}
	
	.astf-question-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astf-question-card:nth-child(3),
					.astf-question-card:nth-child(4) {
		border-top: 1px solid rgba(255, 255, 255, 0.16);
		padding-top: 38px;
	}
	
	.astf-styles-heading {
		gap: 50px;
	}
	
	.astf-stay-grid {
		gap: 65px;
	}
	
	.astf-energy-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astf-resource-grid {
		gap: 60px;
	}
}

/* ========================================
   RESPONSIVE
   950PX
======================================== */
@media (max-width: 950px) {
	.astf-container {
		width: min(100% - 40px, 1240px);
	}
	
	.astf-hero {
		min-height: 760px;
	}
	
	.astf-hero-inner {
		padding-bottom: 70px;
	}
	
	.astf-hero-note {
		display: none;
	}
	
	.astf-intro,
					.astf-styles,
					.astf-stay,
					.astf-comparison,
					.astf-destinations {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.astf-intro-grid,
					.astf-comparison-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.astf-intro-copy,
					.astf-comparison-content {
		padding-top: 0;
	}
	
	.astf-styles-heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.astf-style-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 420px;
	}
	
	.astf-style-card-large {
		grid-row: auto;
		grid-column: span 2;
	}
	
	.astf-style-card-wide {
		grid-column: span 2;
	}
	
	.astf-experience-grid,
					.astf-adults-grid {
		grid-template-columns: 1fr;
	}
	
	.astf-experience-image,
					.astf-adults-image {
		min-height: 650px;
	}
	
	.astf-experience-content,
					.astf-adults-content {
		padding: 90px 40px;
	}
	
	.astf-stay-grid {
		grid-template-columns: 1fr;
		gap: 60px;
	}
	
	.astf-stay-visual {
		min-height: 700px;
		max-width: 700px;
		width: 100%;
		margin: 0 auto;
	}
	
	.astf-destination-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, 430px);
	}
	
	.astf-destination-feature {
		grid-row: auto;
	}
	
	.astf-destination-card:nth-child(4) {
		grid-column: auto;
	}
	
	.astf-resource-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
}

/* ========================================
   RESPONSIVE
   680PX
======================================== */
@media (max-width: 680px) {
	.astf-container {
		width: min(100% - 28px, 1240px);
	}
	
	.astf-page h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	/* HERO */
	.astf-hero {
		min-height: 730px;
		height: 88vh;
	}
	
	.astf-hero-image {
		object-position: 53% center;
	}
	
	.astf-hero-overlay {
		background: linear-gradient(0deg,
								rgba(23, 12, 20, 0.9) 0%,
								rgba(23, 12, 20, 0.28) 76%);
	}
	
	.astf-hero-content h1 {
		font-size: clamp(58px, 17vw, 78px);
	}
	
	.astf-hero-lead {
		font-size: 16px !important;
	}
	
	.astf-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.astf-hero-actions .astf-btn {
		width: 100%;
	}
	
	/* GENERAL SPACING */
	.astf-intro,
					.astf-styles,
					.astf-stay,
					.astf-comparison,
					.astf-destinations {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	/* QUESTIONS */
	.astf-questions {
		padding: 90px 0;
	}
	
	.astf-questions-heading {
		margin-bottom: 50px;
	}
	
	.astf-question-grid {
		grid-template-columns: 1fr;
	}
	
	.astf-question-card,
					.astf-question-card + .astf-question-card {
		padding: 28px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.astf-question-number {
		margin-bottom: 18px;
	}
	
	/* STYLES */
	.astf-style-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 430px;
	}
	
	.astf-style-card-large,
					.astf-style-card-wide {
		grid-column: auto;
	}
	
	/* EXPERIENCE */
	.astf-experience-image,
					.astf-adults-image {
		min-height: 500px;
	}
	
	.astf-experience-label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
	}
	
	.astf-experience-content,
					.astf-adults-content {
		padding: 70px 24px;
	}
	
	.astf-flex {
		padding: 100px 0;
	}
	
	.astf-flex-inner h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	/* STAY */
	.astf-stay-visual {
		min-height: 570px;
	}
	
	.astf-stay-image {
		left: 30px;
	}
	
	.astf-stay-card {
		width: 255px;
		padding: 23px;
	}
	
	.astf-stay-card strong {
		font-size: 22px;
	}
	
	/* ENERGY */
	.astf-energy {
		padding: 90px 0;
	}
	
	.astf-energy-grid {
		grid-template-columns: 1fr;
	}
	
	/* ADULT */
	.astf-adult-list {
		grid-template-columns: 1fr;
	}
	
	/* COMPARISON */
	.astf-real-grid {
		grid-template-columns: 1fr;
	}
	
	/* REMINDER */
	.astf-reminder {
		min-height: 680px;
		align-items: flex-end;
		padding-bottom: 20px;
	}
	
	.astf-reminder-overlay {
		background: linear-gradient(0deg,
								rgba(31, 14, 27, 0.93) 0%,
								rgba(31, 14, 27, 0.13) 82%);
	}
	
	.astf-reminder-card {
		padding: 35px 27px;
	}
	
	/* DESTINATIONS */
	.astf-destination-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}
	
	.astf-destination-card {
		height: 440px;
	}
	
	/* RESOURCES */
	.astf-resources {
		padding: 90px 0;
	}
	
	.astf-resource-card {
		grid-template-columns: 40px 1fr 40px;
		gap: 10px;
	}
	
	.astf-resource-card h3 {
		font-size: 23px;
	}
	
	/* FINAL */
	.astf-final {
		padding: 100px 0;
	}
	
	.astf-final-inner h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.astf-final-inner p {
		font-size: 16px;
	}
	
	.astf-final-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.astf-final-actions .astf-btn {
		width: 100%;
	}
}

/* ========================================
   VERY SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.astf-stay-visual {
		min-height: 500px;
	}
	
	.astf-stay-image {
		left: 18px;
	}
	
	.astf-stay-card {
		width: 225px;
	}
	
	.astf-style-card {
		min-height: 400px;
	}
	
	.astf-destination-card {
		height: 400px;
	}
}

/* ========================================
   Destinations - UK Destinations
======================================== */
/* ========================================
   VARIABLES
======================================== */
:root {
}

/* ========================================
   RESET
======================================== */
.astuk-page,
.astuk-page *,
.astuk-page ::before,
.astuk-page ::after {
	box-sizing: border-box;
}

.astuk-page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--astuk-white);
	color: var(--astuk-charcoal);
	font-family: var(--astuk-sans);
}

.astuk-page img {
	display: block;
	width: 100%;
}

.astuk-page a {
	text-decoration: none;
}

.astuk-container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.astuk-page h1,
.astuk-page h2,
.astuk-page h3,
.astuk-page p {
	margin-top: 0;
}

.astuk-page h1,
.astuk-page h2 {
	font-family: var(--astuk-serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.astuk-page h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
}

.astuk-page h2 span {
	color: var(--astuk-magenta);
	font-style: italic;
}

.astuk-page p {
	font-size: 17px;
	line-height: 1.75;
	color: var(--astuk-slate);
}

.astuk-lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: var(--astuk-charcoal) !important;
}

/* ========================================
   EYEBROW
======================================== */
.astuk-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--astuk-magenta);
}

.astuk-eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}

.astuk-eyebrow-light {
	color: rgba(255, 255, 255, 0.78);
}

/* ========================================
   BUTTONS
======================================== */
.astuk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--astuk-sans);
	font-size: 14px;
	font-weight: 700;
	transition: transform .25s ease, background .25s ease, color .25s ease;
}

.astuk-btn:hover {
	transform: translateY(-3px);
}

.astuk-btn-primary {
	background: var(--astuk-magenta);
	color: var(--astuk-white);
}

.astuk-btn-primary:hover {
	background: var(--astuk-magenta-dark);
}

.astuk-btn-glass {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.11);
	color: var(--astuk-white);
}

.astuk-btn-glass:hover {
	background: var(--astuk-white);
	color: var(--astuk-charcoal);
}

.astuk-btn-dark {
	background: var(--astuk-charcoal);
	color: var(--astuk-white);
}

.astuk-btn-dark:hover {
	background: var(--astuk-magenta);
}

.astuk-btn-white {
	background: var(--astuk-white);
	color: var(--astuk-charcoal);
}

.astuk-btn-white:hover {
	background: #f5dce8;
}

.astuk-btn-outline {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: transparent;
	color: var(--astuk-white);
}

.astuk-btn-outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* ========================================
   HERO
======================================== */
.astuk-hero {
	position: relative;
	min-height: 820px;
	height: calc(100vh - 80px);
	max-height: 980px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--astuk-dark-plum);
}

.astuk-hero-image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 54%;
	transform: scale(1.02);
}

.astuk-hero-overlay {
	position: absolute;
	background: linear-gradient(90deg,
			rgba(23, 12, 20, 0.84) 0%,
			rgba(37, 16, 32, 0.55) 44%,
			rgba(20, 12, 18, 0.08) 79%), linear-gradient(0deg,
			rgba(18, 10, 16, 0.55) 0%,
			transparent 45%);
}

.astuk-hero-inner {
	position: relative;
	z-index: 2;
	padding-bottom: 92px;
}

.astuk-hero-content {
	max-width: 950px;
}

.astuk-hero-content h1 {
	margin-bottom: 30px;
	font-size: clamp(70px, 7.4vw, 112px);
	line-height: .88;
	color: var(--astuk-white);
}

.astuk-hero-content h1 span {
	display: block;
	color: #f6bed9;
	font-style: italic;
}

.astuk-hero-content > p {
	max-width: 670px;
	margin-bottom: 36px;
	font-size: 19px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.84);
}

.astuk-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.astuk-hero-note {
	position: absolute;
	right: 0;
	bottom: 34px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.61);
}

.astuk-hero-note i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--astuk-magenta);
}

/* ========================================
   INTRO
======================================== */
.astuk-intro {
	padding: 145px 0 155px;
	background: var(--astuk-white);
}

.astuk-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
	align-items: start;
	gap: 120px;
}

.astuk-intro-heading h2 {
	max-width: 760px;
}

.astuk-intro-copy {
	max-width: 540px;
	padding-top: 48px;
}

.astuk-intro-copy p {
	margin-bottom: 20px;
}

/* ========================================
   FEEL
======================================== */
.astuk-feel {
	position: relative;
	padding: 145px 0 150px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#31152d 0%,
			#521446 54%,
			#291429 100%);
}

.astuk-feel-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: .3;
}

.astuk-feel-glow-one {
	width: 430px;
	height: 430px;
	left: -180px;
	top: -180px;
	background: var(--astuk-magenta);
}

.astuk-feel-glow-two {
	width: 480px;
	height: 480px;
	right: -190px;
	bottom: -230px;
	background: #8e5685;
}

.astuk-feel .astuk-container {
	position: relative;
	z-index: 2;
}

.astuk-feel-heading {
	max-width: 850px;
	margin-bottom: 76px;
}

.astuk-feel-heading h2 {
	color: var(--astuk-white);
}

.astuk-feel-heading h2 span {
	color: #f5b7d5;
}

.astuk-feel-heading p {
	max-width: 620px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.68);
}

.astuk-feel-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.astuk-feel-card {
	padding: 38px 34px 10px 0;
}

.astuk-feel-card + .astuk-feel-card {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.astuk-feel-number {
	display: block;
	margin-bottom: 40px;
	font-family: var(--astuk-serif);
	font-size: 18px;
	color: #ed89ba;
}

.astuk-feel-card h3 {
	margin: 0 0 16px;
	font-family: var(--astuk-serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--astuk-white);
}

.astuk-feel-card p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   TYPES
======================================== */
.astuk-types {
	padding: 145px 0 155px;
	background: var(--astuk-warm-white);
}

.astuk-types-heading {
	display: grid;
	grid-template-columns: 1fr 0.55fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 58px;
}

.astuk-types-heading h2 {
	max-width: 760px;
}

.astuk-types-heading > p {
	max-width: 500px;
	margin-bottom: 5px;
}

.astuk-types-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 390px;
	gap: 18px;
}

.astuk-type {
	position: relative;
	overflow: hidden;
	border-radius: var(--astuk-radius);
	background: var(--astuk-dark-plum);
}

.astuk-type-large {
	grid-row: span 2;
}

.astuk-type-wide {
	grid-column: span 2;
}

.astuk-type img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.astuk-type:hover img {
	transform: scale(1.055);
}

.astuk-type-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(24, 12, 21, 0.9) 0%,
			rgba(24, 12, 21, 0.04) 70%);
}

.astuk-type-content {
	position: absolute;
	z-index: 2;
	left: 30px;
	right: 30px;
	bottom: 28px;
}

.astuk-type-content > span {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #ef9cc3;
}

.astuk-type-content h3 {
	margin: 0 0 10px;
	font-family: var(--astuk-serif);
	font-size: 31px;
	font-weight: 400;
	color: var(--astuk-white);
}

.astuk-type-content p {
	max-width: 430px;
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
}

/* ========================================
   GUIDES
======================================== */
.astuk-guides {
	padding: 150px 0;
	background: var(--astuk-white);
}

.astuk-guides-heading {
	max-width: 850px;
	margin-bottom: 60px;
}

.astuk-guides-heading p {
	max-width: 680px;
	margin-top: 28px;
	font-size: 18px;
}

.astuk-guides-grid {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr 0.9fr;
	gap: 22px;
}

.astuk-guide-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--astuk-border);
	border-radius: var(--astuk-radius);
	background: var(--astuk-warm-white);
	color: var(--astuk-charcoal);
	transition: transform .35s ease, box-shadow .35s ease;
}

.astuk-guide-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--astuk-shadow);
}

.astuk-guide-feature {
	grid-row: span 2;
	min-height: 780px;
}

.astuk-guide-feature > img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.astuk-guide-feature:hover > img {
	transform: scale(1.045);
}

.astuk-guide-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(23, 11, 20, 0.93) 0%,
			rgba(23, 11, 20, 0.05) 68%);
}

.astuk-guide-status {
	position: absolute;
	z-index: 3;
	top: 22px;
	left: 22px;
	padding: 9px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--astuk-charcoal);
}

.astuk-guide-status-soon {
	background: var(--astuk-magenta);
	color: var(--astuk-white);
}

.astuk-guide-copy {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 40px;
}

.astuk-guide-location {
	margin-bottom: 9px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--astuk-magenta);
}

.astuk-guide-feature .astuk-guide-location {
	color: #f0afd0;
}

.astuk-guide-copy h3 {
	margin: 0 0 13px;
	font-family: var(--astuk-serif);
	font-size: 48px;
	font-weight: 400;
	color: var(--astuk-white);
}

.astuk-guide-copy p {
	max-width: 520px;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.74);
}

.astuk-guide-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 17px;
}

.astuk-guide-meta span {
	display: inline-flex;
	padding: 7px 11px;
	border: 1px solid var(--astuk-border);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	color: var(--astuk-slate);
}

.astuk-guide-feature .astuk-guide-meta span {
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.76);
}

.astuk-guide-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 26px;
	font-size: 13px;
	font-weight: 700;
	color: var(--astuk-white);
}

.astuk-guide-link i {
	width: 42px;
	height: 42px;
	display: grid;
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 50%;
	font-style: normal;
}

.astuk-guide-image {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.astuk-guide-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.astuk-guide-card:hover .astuk-guide-image img {
	transform: scale(1.05);
}

.astuk-guide-image-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(22, 12, 19, 0.25),
			transparent 60%);
}

.astuk-guide-body {
	padding: 27px 27px 30px;
}

.astuk-guide-body h3 {
	margin: 0 0 12px;
	font-family: var(--astuk-serif);
	font-size: 31px;
	font-weight: 400;
}

.astuk-guide-body p {
	margin-bottom: 17px;
	font-size: 14px;
	line-height: 1.65;
}

.astuk-guide-link-dark {
	color: var(--astuk-charcoal);
}

.astuk-guide-link-dark i {
	border-color: var(--astuk-border);
	color: var(--astuk-magenta);
}

.astuk-guide-wide {
	grid-column: span 2;
	display: grid;
	grid-template-columns: 0.9fr 1fr;
}

.astuk-guide-wide .astuk-guide-image {
	height: 100%;
	min-height: 340px;
}

.astuk-guide-wide .astuk-guide-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px;
}

.astuk-guide-coming:hover {
	transform: none;
	box-shadow: none;
}

.astuk-guide-soon-text {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid var(--astuk-border);
	font-size: 12px;
	font-weight: 700;
	color: var(--astuk-magenta);
}

/* ========================================
   LENS
======================================== */
.astuk-lens {
	background: var(--astuk-blush);
}

.astuk-lens-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 830px;
}

.astuk-lens-image {
	position: relative;
	min-height: 830px;
	overflow: hidden;
}

.astuk-lens-image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astuk-lens-label {
	position: absolute;
	left: 38px;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.93);
	font-size: 12px;
	font-weight: 700;
	color: var(--astuk-charcoal);
}

.astuk-lens-label span {
	font-size: 18px;
	color: var(--astuk-magenta);
}

.astuk-lens-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.astuk-lens-content h2 {
	max-width: 680px;
	margin-bottom: 34px;
}

.astuk-lens-content > p {
	max-width: 640px;
	margin-bottom: 18px;
}

.astuk-lens-list {
	max-width: 680px;
	margin-top: 25px;
	border-top: 1px solid var(--astuk-border);
}

.astuk-lens-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 15px;
	padding: 17px 0;
	border-bottom: 1px solid var(--astuk-border);
}

.astuk-lens-list > div > span {
	padding-top: 3px;
	font-family: var(--astuk-serif);
	color: var(--astuk-magenta);
}

.astuk-lens-list h3 {
	margin: 0 0 4px;
	font-family: var(--astuk-serif);
	font-size: 21px;
	font-weight: 400;
}

.astuk-lens-list p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

/* ========================================
   ENERGY STATEMENT
======================================== */
.astuk-energy {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: #20121d;
}

.astuk-energy-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.astuk-energy-glow-one {
	width: 460px;
	height: 460px;
	left: -190px;
	top: -190px;
	background: var(--astuk-magenta);
}

.astuk-energy-glow-two {
	width: 470px;
	height: 470px;
	right: -170px;
	bottom: -220px;
	background: #8e5585;
}

.astuk-energy-inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.astuk-energy-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 28px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	font-size: 34px;
	color: #f4afd1;
}

.astuk-energy .astuk-eyebrow {
	justify-content: center;
}

.astuk-energy h2 {
	font-size: clamp(55px, 6vw, 88px);
	color: var(--astuk-white);
}

.astuk-energy h2 span {
	display: block;
	color: #f5b8d5;
}

.astuk-energy p {
	max-width: 710px;
	margin: 30px auto 0;
	font-size: 19px;
	color: rgba(255, 255, 255, 0.69);
}

/* ========================================
   ASSESSMENT LENS
======================================== */
.astuk-assess {
	padding: 150px 0;
	background: var(--astuk-white);
}

.astuk-assess-grid {
	display: grid;
	grid-template-columns: 0.72fr 1fr;
	gap: 105px;
}

.astuk-assess-heading {
	position: sticky;
	top: 110px;
	align-self: start;
}

.astuk-assess-heading h2 {
	max-width: 570px;
	margin-bottom: 32px;
}

.astuk-assess-heading p {
	max-width: 530px;
	margin-bottom: 18px;
}

.astuk-assess-list {
	border-top: 1px solid var(--astuk-border);
}

.astuk-assess-item {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--astuk-border);
}

.astuk-assess-item > span {
	padding-top: 5px;
	font-family: var(--astuk-serif);
	font-size: 17px;
	color: var(--astuk-magenta);
}

.astuk-assess-item h3 {
	margin: 0 0 7px;
	font-family: var(--astuk-serif);
	font-size: 27px;
	font-weight: 400;
}

.astuk-assess-item p {
	max-width: 600px;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

/* ========================================
   HOW TO USE
======================================== */
.astuk-use {
	padding: 130px 0;
	background: linear-gradient(135deg,
			#34152f 0%,
			#541547 54%,
			#291429 100%);
}

.astuk-use-inner {
	display: grid;
	grid-template-columns: 0.9fr 0.8fr;
	align-items: start;
	gap: 110px;
}

.astuk-use h2 {
	color: var(--astuk-white);
}

.astuk-use h2 span {
	color: #f5b7d5;
}

.astuk-use-copy {
	padding-top: 50px;
}

.astuk-use-copy p {
	color: rgba(255, 255, 255, 0.68);
}

.astuk-use-copy .astuk-lead {
	color: var(--astuk-white) !important;
}

.astuk-use-highlight {
	margin-top: 28px !important;
	padding: 24px 27px;
	border-left: 3px solid #ef8aba;
	background: rgba(255, 255, 255, 0.07);
	font-family: var(--astuk-serif);
	font-size: 24px !important;
	line-height: 1.2 !important;
	color: var(--astuk-white) !important;
}

/* ========================================
   EARLY ACCESS
======================================== */
.astuk-early {
	padding: 130px 0;
	background: var(--astuk-warm-white);
}

.astuk-early-card {
	display: grid;
	grid-template-columns: 1fr 0.65fr;
	min-height: 560px;
	overflow: hidden;
	border-radius: var(--astuk-radius-large);
	background: var(--astuk-blush);
	box-shadow: var(--astuk-shadow);
}

.astuk-early-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 70px 75px;
}

.astuk-early-copy h2 {
	max-width: 680px;
	margin-bottom: 30px;
}

.astuk-early-copy p {
	max-width: 600px;
	margin-bottom: 16px;
}

.astuk-early-copy .astuk-btn {
	align-self: flex-start;
	margin-top: 18px;
}

.astuk-early-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(135deg,
			#46163d 0%,
			#9b1269 100%);
}

.astuk-early-visual::before {
	content: "";
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.13);
}

.astuk-early-visual::after {
	content: "";
	position: absolute;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.astuk-early-circle {
	position: relative;
	z-index: 3;
	width: 145px;
	height: 145px;
	display: grid;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 62px;
	color: #f5bbd7;
}

.astuk-early-word {
	position: absolute;
	z-index: 3;
	font-family: var(--astuk-serif);
	font-size: 22px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.7);
}

.astuk-word-one {
	top: 85px;
	left: 50px;
}

.astuk-word-two {
	right: 50px;
	top: 47%;
}

.astuk-word-three {
	left: 70px;
	bottom: 80px;
}

/* ========================================
   FINAL CTA
======================================== */
.astuk-final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#21121e 0%,
			#421639 48%,
			#741159 100%);
}

.astuk-final::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at 50% 0%,
			rgba(216, 7, 114, 0.19),
			transparent 50%);
}

.astuk-final-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.astuk-final-glow-one {
	width: 470px;
	height: 470px;
	left: -180px;
	bottom: -220px;
	background: #e41480;
}

.astuk-final-glow-two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #a4689b;
}

.astuk-final .astuk-container {
	position: relative;
	z-index: 2;
}

.astuk-final-inner {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.astuk-final-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #f5b2d3;
}

.astuk-final-inner .astuk-eyebrow {
	justify-content: center;
}

.astuk-final-inner h2 {
	max-width: 950px;
	margin: 0 auto;
	font-size: clamp(55px, 6vw, 90px);
	color: var(--astuk-white);
}

.astuk-final-inner h2 span {
	display: block;
	color: #f6bad7;
}

.astuk-final-inner p {
	max-width: 730px;
	margin: 30px auto 0;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.72);
}

.astuk-final-actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   RESPONSIVE
   1150PX
======================================== */
@media (max-width: 1150px) {
	.astuk-intro-grid {
		gap: 70px;
	}
	
	.astuk-feel-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astuk-feel-card:nth-child(3),
					.astuk-feel-card:nth-child(4) {
		padding-top: 38px;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.astuk-types-heading {
		gap: 50px;
	}
	
	.astuk-guides-grid {
		grid-template-columns: 1.1fr 1fr;
	}
	
	.astuk-guide-feature {
		grid-row: span 2;
	}
	
	.astuk-guide-wide {
		grid-column: auto;
		display: block;
	}
	
	.astuk-guide-wide .astuk-guide-image {
		height: 300px;
		min-height: 0;
	}
	
	.astuk-guide-wide .astuk-guide-body {
		display: block;
		padding: 27px;
	}
	
	.astuk-guide-coming {
		grid-column: 2;
	}
	
	.astuk-assess-grid {
		gap: 65px;
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 900px) {
	.astuk-container {
		width: min(100% - 40px, 1240px);
	}
	
	.astuk-hero {
		min-height: 760px;
	}
	
	.astuk-hero-inner {
		padding-bottom: 70px;
	}
	
	.astuk-hero-note {
		display: none;
	}
	
	.astuk-intro,
					.astuk-types,
					.astuk-guides,
					.astuk-assess {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.astuk-intro-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.astuk-intro-copy {
		max-width: 700px;
		padding-top: 0;
	}
	
	.astuk-types-heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.astuk-types-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 420px;
	}
	
	.astuk-type-large {
		grid-row: auto;
		grid-column: span 2;
	}
	
	.astuk-type-wide {
		grid-column: span 2;
	}
	
	.astuk-guides-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astuk-guide-feature {
		grid-column: span 2;
		grid-row: auto;
		min-height: 650px;
	}
	
	.astuk-guide-coming {
		grid-column: auto;
	}
	
	.astuk-lens-grid {
		grid-template-columns: 1fr;
	}
	
	.astuk-lens-image {
		min-height: 620px;
	}
	
	.astuk-lens-content {
		padding: 90px 40px;
	}
	
	.astuk-assess-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.astuk-assess-heading {
		position: static;
	}
	
	.astuk-use-inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.astuk-use-copy {
		padding-top: 0;
	}
	
	.astuk-early-card {
		grid-template-columns: 1fr;
	}
	
	.astuk-early-visual {
		min-height: 430px;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 680px) {
	.astuk-container {
		width: min(100% - 28px, 1240px);
	}
	
	.astuk-page h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	/* HERO */
	.astuk-hero {
		min-height: 730px;
		height: 88vh;
	}
	
	.astuk-hero-image {
		object-position: 58% center;
	}
	
	.astuk-hero-overlay {
		background: linear-gradient(0deg,
								rgba(23, 12, 20, 0.91) 0%,
								rgba(23, 12, 20, 0.26) 77%);
	}
	
	.astuk-hero-content h1 {
		font-size: clamp(52px, 15vw, 72px);
	}
	
	.astuk-hero-content > p {
		font-size: 16px;
	}
	
	.astuk-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.astuk-hero-actions .astuk-btn {
		width: 100%;
	}
	
	/* SPACING */
	.astuk-intro,
					.astuk-types,
					.astuk-guides,
					.astuk-assess {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	/* FEEL */
	.astuk-feel {
		padding: 90px 0;
	}
	
	.astuk-feel-heading {
		margin-bottom: 50px;
	}
	
	.astuk-feel-grid {
		grid-template-columns: 1fr;
	}
	
	.astuk-feel-card,
					.astuk-feel-card + .astuk-feel-card {
		padding: 28px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.astuk-feel-number {
		margin-bottom: 18px;
	}
	
	/* TYPES */
	.astuk-types-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 430px;
	}
	
	.astuk-type-large,
					.astuk-type-wide {
		grid-column: auto;
	}
	
	/* GUIDES */
	.astuk-guides-grid {
		grid-template-columns: 1fr;
	}
	
	.astuk-guide-feature {
		grid-column: auto;
		min-height: 580px;
	}
	
	.astuk-guide-copy {
		padding: 28px;
	}
	
	.astuk-guide-copy h3 {
		font-size: 40px;
	}
	
	.astuk-guide-image {
		height: 320px;
	}
	
	.astuk-guide-wide {
		display: block;
	}
	
	.astuk-guide-wide .astuk-guide-image {
		height: 320px;
	}
	
	/* LENS */
	.astuk-lens-image {
		min-height: 500px;
	}
	
	.astuk-lens-label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
		text-align: center;
	}
	
	.astuk-lens-content {
		padding: 70px 24px;
	}
	
	/* ENERGY */
	.astuk-energy {
		padding: 100px 0;
	}
	
	.astuk-energy h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	/* ASSESS */
	.astuk-assess-item {
		grid-template-columns: 42px 1fr;
		gap: 12px;
	}
	
	/* USE */
	.astuk-use {
		padding: 90px 0;
	}
	
	/* EARLY ACCESS */
	.astuk-early {
		padding: 80px 0;
	}
	
	.astuk-early-copy {
		padding: 50px 28px;
	}
	
	.astuk-early-visual {
		min-height: 360px;
	}
	
	.astuk-early-circle {
		width: 120px;
		height: 120px;
		font-size: 50px;
	}
	
	.astuk-word-one {
		top: 50px;
		left: 28px;
	}
	
	.astuk-word-two {
		right: 28px;
	}
	
	.astuk-word-three {
		left: 35px;
		bottom: 50px;
	}
	
	/* FINAL */
	.astuk-final {
		padding: 100px 0;
	}
	
	.astuk-final-inner h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.astuk-final-inner p {
		font-size: 16px;
	}
	
	.astuk-final-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.astuk-final-actions .astuk-btn {
		width: 100%;
	}
}

/* ========================================
   VERY SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.astuk-guide-feature {
		min-height: 540px;
	}
	
	.astuk-guide-image,
					.astuk-guide-wide .astuk-guide-image {
		height: 290px;
	}
	
	.astuk-type {
		min-height: 400px;
	}
	
	.astuk-early-word {
		font-size: 18px;
	}
}

/* ========================================
   Destinations - International Destinations
======================================== */
/* ========================================
   VARIABLES
======================================== */
:root {
}

/* ========================================
   RESET
======================================== */
.asti-page,
.asti-page *,
.asti-page ::before,
.asti-page ::after {
	box-sizing: border-box;
}

.asti-page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--asti-white);
	color: var(--asti-charcoal);
	font-family: var(--asti-sans);
}

.asti-page img {
	display: block;
	width: 100%;
}

.asti-page a {
	text-decoration: none;
}

.asti-container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.asti-page h1,
.asti-page h2,
.asti-page h3,
.asti-page p {
	margin-top: 0;
}

.asti-page h1,
.asti-page h2 {
	font-family: var(--asti-serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.asti-page h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
}

.asti-page h2 span {
	color: var(--asti-magenta);
	font-style: italic;
}

.asti-page p {
	font-size: 17px;
	line-height: 1.75;
	color: var(--asti-slate);
}

.asti-lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: var(--asti-charcoal) !important;
}

/* ========================================
   EYEBROW
======================================== */
.asti-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--asti-magenta);
}

.asti-eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}

.asti-eyebrow-light {
	color: rgba(255, 255, 255, 0.78);
}

/* ========================================
   BUTTONS
======================================== */
.asti-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--asti-sans);
	font-size: 14px;
	font-weight: 700;
	transition: transform .25s ease, background .25s ease, color .25s ease;
}

.asti-btn:hover {
	transform: translateY(-3px);
}

.asti-btn-primary {
	background: var(--asti-magenta);
	color: var(--asti-white);
}

.asti-btn-primary:hover {
	background: var(--asti-magenta-dark);
}

.asti-btn-glass {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.11);
	color: var(--asti-white);
}

.asti-btn-glass:hover {
	background: var(--asti-white);
	color: var(--asti-charcoal);
}

.asti-btn-dark {
	background: var(--asti-charcoal);
	color: var(--asti-white);
}

.asti-btn-dark:hover {
	background: var(--asti-magenta);
}

.asti-btn-white {
	background: var(--asti-white);
	color: var(--asti-charcoal);
}

.asti-btn-white:hover {
	background: #f5dce8;
}

.asti-btn-outline {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: transparent;
	color: var(--asti-white);
}

.asti-btn-outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

.asti-text-link {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--asti-border);
	color: var(--asti-charcoal);
	font-size: 14px;
	font-weight: 700;
	transition: color .25s ease, gap .25s ease;
}

.asti-text-link span {
	color: var(--asti-magenta);
}

.asti-text-link:hover {
	gap: 20px;
	color: var(--asti-magenta);
}

/* ========================================
   HERO
======================================== */
.asti-hero {
	position: relative;
	min-height: 820px;
	height: calc(100vh - 80px);
	max-height: 980px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--asti-dark-plum);
}

.asti-hero-image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 50%;
	transform: scale(1.02);
}

.asti-hero-overlay {
	position: absolute;
	background: linear-gradient(90deg,
			rgba(23, 12, 20, 0.84) 0%,
			rgba(38, 17, 33, 0.51) 44%,
			rgba(20, 12, 18, 0.06) 78%), linear-gradient(0deg,
			rgba(18, 10, 16, 0.58) 0%,
			transparent 45%);
}

.asti-hero-inner {
	position: relative;
	z-index: 2;
	padding-bottom: 92px;
}

.asti-hero-content {
	max-width: 950px;
}

.asti-hero-content h1 {
	margin-bottom: 30px;
	font-size: clamp(72px, 7.6vw, 116px);
	line-height: .87;
	color: var(--asti-white);
}

.asti-hero-content h1 span {
	display: block;
	color: #f6bdd9;
	font-style: italic;
}

.asti-hero-content > p {
	max-width: 690px;
	margin-bottom: 36px;
	font-size: 19px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.84);
}

.asti-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.asti-hero-note {
	position: absolute;
	right: 0;
	bottom: 34px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.61);
}

.asti-hero-note i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--asti-magenta);
}

/* ========================================
   INTRO
======================================== */
.asti-intro {
	padding: 145px 0 155px;
	background: var(--asti-white);
}

.asti-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
	align-items: start;
	gap: 120px;
}

.asti-intro-heading h2 {
	max-width: 780px;
}

.asti-intro-copy {
	max-width: 550px;
	padding-top: 48px;
}

.asti-intro-copy p {
	margin-bottom: 20px;
}

/* ========================================
   DEMAND
======================================== */
.asti-demand {
	position: relative;
	padding: 145px 0 150px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#31152d 0%,
			#521446 54%,
			#291429 100%);
}

.asti-demand-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: .3;
}

.asti-demand-glow-one {
	width: 430px;
	height: 430px;
	left: -180px;
	top: -180px;
	background: var(--asti-magenta);
}

.asti-demand-glow-two {
	width: 480px;
	height: 480px;
	right: -190px;
	bottom: -230px;
	background: #8e5685;
}

.asti-demand .asti-container {
	position: relative;
	z-index: 2;
}

.asti-demand-heading {
	max-width: 860px;
	margin-bottom: 76px;
}

.asti-demand-heading h2 {
	color: var(--asti-white);
}

.asti-demand-heading h2 span {
	color: #f5b7d5;
}

.asti-demand-heading p {
	max-width: 650px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.68);
}

.asti-demand-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.asti-demand-card {
	padding: 38px 34px 10px 0;
}

.asti-demand-card + .asti-demand-card {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.asti-demand-number {
	display: block;
	margin-bottom: 40px;
	font-family: var(--asti-serif);
	font-size: 18px;
	color: #ed89ba;
}

.asti-demand-card h3 {
	margin: 0 0 16px;
	font-family: var(--asti-serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--asti-white);
}

.asti-demand-card p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   TRAVEL STYLE
======================================== */
.asti-style {
	padding: 145px 0 155px;
	background: var(--asti-warm-white);
}

.asti-style-heading {
	display: grid;
	grid-template-columns: 1fr 0.55fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 58px;
}

.asti-style-heading h2 {
	max-width: 780px;
}

.asti-style-heading > p {
	max-width: 500px;
	margin-bottom: 5px;
}

.asti-style-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 390px;
	gap: 18px;
}

.asti-style-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--asti-radius);
	background: var(--asti-dark-plum);
}

.asti-style-large {
	grid-row: span 2;
}

.asti-style-wide {
	grid-column: span 2;
}

.asti-style-card img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.asti-style-card:hover img {
	transform: scale(1.055);
}

.asti-style-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(24, 12, 21, 0.9) 0%,
			rgba(24, 12, 21, 0.04) 70%);
}

.asti-style-content {
	position: absolute;
	z-index: 2;
	left: 30px;
	right: 30px;
	bottom: 28px;
}

.asti-style-content > span {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #ef9cc3;
}

.asti-style-content h3 {
	margin: 0 0 10px;
	font-family: var(--asti-serif);
	font-size: 31px;
	font-weight: 400;
	color: var(--asti-white);
}

.asti-style-content p {
	max-width: 430px;
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
}

/* ========================================
   GUIDES
======================================== */
.asti-guides {
	padding: 150px 0;
	background: var(--asti-white);
}

.asti-guides-heading {
	max-width: 860px;
	margin-bottom: 60px;
}

.asti-guides-heading p {
	max-width: 690px;
	margin-top: 28px;
	font-size: 18px;
}

.asti-guides-grid {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr 0.9fr;
	gap: 22px;
}

.asti-guide-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--asti-border);
	border-radius: var(--asti-radius);
	background: var(--asti-warm-white);
	color: var(--asti-charcoal);
	transition: transform .35s ease, box-shadow .35s ease;
}

.asti-guide-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--asti-shadow);
}

.asti-guide-feature {
	grid-row: span 2;
	min-height: 790px;
}

.asti-guide-feature > img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.asti-guide-feature:hover > img {
	transform: scale(1.045);
}

.asti-guide-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(23, 11, 20, 0.93) 0%,
			rgba(23, 11, 20, 0.05) 68%);
}

.asti-guide-status {
	position: absolute;
	z-index: 3;
	top: 22px;
	left: 22px;
	padding: 9px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--asti-charcoal);
}

.asti-guide-copy {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 40px;
}

.asti-guide-location {
	margin-bottom: 9px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--asti-magenta);
}

.asti-guide-feature .asti-guide-location {
	color: #f0afd0;
}

.asti-guide-copy h3 {
	margin: 0 0 13px;
	font-family: var(--asti-serif);
	font-size: 50px;
	font-weight: 400;
	color: var(--asti-white);
}

.asti-guide-copy p {
	max-width: 520px;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.74);
}

.asti-guide-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 17px;
}

.asti-guide-meta span {
	display: inline-flex;
	padding: 7px 11px;
	border: 1px solid var(--asti-border);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	color: var(--asti-slate);
}

.asti-guide-feature .asti-guide-meta span {
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.76);
}

.asti-guide-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 26px;
	font-size: 13px;
	font-weight: 700;
	color: var(--asti-white);
}

.asti-guide-link i {
	width: 42px;
	height: 42px;
	display: grid;
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 50%;
	font-style: normal;
}

.asti-guide-image {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.asti-guide-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.asti-guide-card:hover .asti-guide-image img {
	transform: scale(1.05);
}

.asti-guide-image-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(22, 12, 19, 0.25),
			transparent 60%);
}

.asti-guide-body {
	padding: 27px 27px 30px;
}

.asti-guide-body h3 {
	margin: 0 0 12px;
	font-family: var(--asti-serif);
	font-size: 31px;
	font-weight: 400;
}

.asti-guide-body p {
	margin-bottom: 17px;
	font-size: 14px;
	line-height: 1.65;
}

.asti-guide-link-dark {
	color: var(--asti-charcoal);
}

.asti-guide-link-dark i {
	border-color: var(--asti-border);
	color: var(--asti-magenta);
}

.asti-guide-wide {
	grid-column: span 2;
	display: grid;
	grid-template-columns: 0.9fr 1fr;
}

.asti-guide-wide .asti-guide-image {
	height: 100%;
	min-height: 350px;
}

.asti-guide-wide .asti-guide-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px;
}

/* ========================================
   LONG HAUL
======================================== */
.asti-longhaul {
	background: var(--asti-blush);
}

.asti-longhaul-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 850px;
}

.asti-longhaul-image {
	position: relative;
	min-height: 850px;
	overflow: hidden;
}

.asti-longhaul-image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.asti-longhaul-label {
	position: absolute;
	left: 38px;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.93);
	font-size: 12px;
	font-weight: 700;
	color: var(--asti-charcoal);
}

.asti-longhaul-label span {
	font-size: 18px;
	color: var(--asti-magenta);
}

.asti-longhaul-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.asti-longhaul-content h2 {
	max-width: 680px;
	margin-bottom: 34px;
}

.asti-longhaul-content > p {
	max-width: 640px;
	margin-bottom: 18px;
}

.asti-longhaul-list {
	max-width: 680px;
	margin-top: 25px;
	border-top: 1px solid var(--asti-border);
}

.asti-longhaul-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 15px;
	padding: 17px 0;
	border-bottom: 1px solid var(--asti-border);
}

.asti-longhaul-list > div > span {
	padding-top: 3px;
	font-family: var(--asti-serif);
	color: var(--asti-magenta);
}

.asti-longhaul-list h3 {
	margin: 0 0 4px;
	font-family: var(--asti-serif);
	font-size: 21px;
	font-weight: 400;
}

.asti-longhaul-list p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

/* ========================================
   STATEMENT
======================================== */
.asti-statement {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: #20121d;
}

.asti-statement-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.asti-statement-glow-one {
	width: 460px;
	height: 460px;
	left: -190px;
	top: -190px;
	background: var(--asti-magenta);
}

.asti-statement-glow-two {
	width: 470px;
	height: 470px;
	right: -170px;
	bottom: -220px;
	background: #8e5585;
}

.asti-statement-inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.asti-statement-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 28px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	font-size: 34px;
	color: #f4afd1;
}

.asti-statement .asti-eyebrow {
	justify-content: center;
}

.asti-statement h2 {
	font-size: clamp(55px, 6vw, 88px);
	color: var(--asti-white);
}

.asti-statement h2 span {
	display: block;
	color: #f5b8d5;
}

.asti-statement p {
	max-width: 720px;
	margin: 30px auto 0;
	font-size: 19px;
	color: rgba(255, 255, 255, 0.69);
}

/* ========================================
   BASE
======================================== */
.asti-base {
	padding: 150px 0 170px;
	background: var(--asti-white);
}

.asti-base-grid {
	display: grid;
	grid-template-columns: 0.88fr 1fr;
	align-items: center;
	gap: 105px;
}

.asti-base-copy h2 {
	margin-bottom: 34px;
}

.asti-base-copy > p {
	max-width: 590px;
}

.asti-base-list {
	margin-top: 30px;
	border-top: 1px solid var(--asti-border);
}

.asti-base-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: center;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--asti-border);
}

.asti-base-list span {
	font-family: var(--asti-serif);
	color: var(--asti-magenta);
}

.asti-base-list p {
	margin: 0;
	font-size: 15px;
	color: var(--asti-charcoal);
}

.asti-base-visual {
	position: relative;
	min-height: 700px;
}

.asti-base-image {
	position: absolute;
	overflow: hidden;
	border-radius: var(--asti-radius-large);
	box-shadow: var(--asti-shadow);
}

.asti-base-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.asti-base-card {
	position: absolute;
	left: 0;
	bottom: 42px;
	width: 320px;
	padding: 29px;
	border-radius: var(--asti-radius);
	background: var(--asti-magenta);
	box-shadow: 0 22px 55px rgba(216, 7, 114, 0.28);
	color: var(--asti-white);
}

.asti-base-card span {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.asti-base-card strong {
	display: block;
	font-family: var(--asti-serif);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.12;
}

/* ========================================
   DESTINATION PERSONALITY
======================================== */
.asti-personality {
	padding: 145px 0 150px;
	background: linear-gradient(135deg,
			#34152f 0%,
			#551548 55%,
			#291429 100%);
}

.asti-personality-heading {
	max-width: 860px;
	margin-bottom: 70px;
}

.asti-personality-heading h2 {
	color: var(--asti-white);
}

.asti-personality-heading h2 span {
	color: #f4b5d4;
}

.asti-personality-heading p {
	max-width: 650px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.67);
}

.asti-personality-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}

.asti-personality-card {
	min-height: 280px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--asti-radius);
	background: rgba(255, 255, 255, 0.065);
}

.asti-personality-card > span {
	margin-bottom: auto;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ec8aba;
}

.asti-personality-card strong {
	display: block;
	margin-bottom: 11px;
	font-family: var(--asti-serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--asti-white);
}

.asti-personality-card p {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   LENS
======================================== */
.asti-lens {
	padding: 150px 0;
	background: var(--asti-white);
}

.asti-lens-grid {
	display: grid;
	grid-template-columns: 0.72fr 1fr;
	gap: 105px;
}

.asti-lens-heading {
	position: sticky;
	top: 110px;
	align-self: start;
}

.asti-lens-heading h2 {
	max-width: 580px;
	margin-bottom: 32px;
}

.asti-lens-heading p {
	max-width: 530px;
	margin-bottom: 18px;
}

.asti-lens-list {
	border-top: 1px solid var(--asti-border);
}

.asti-lens-item {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--asti-border);
}

.asti-lens-item > span {
	padding-top: 5px;
	font-family: var(--asti-serif);
	font-size: 17px;
	color: var(--asti-magenta);
}

.asti-lens-item h3 {
	margin: 0 0 7px;
	font-family: var(--asti-serif);
	font-size: 27px;
	font-weight: 400;
}

.asti-lens-item p {
	max-width: 600px;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

/* ========================================
   HOW TO USE
======================================== */
.asti-use {
	padding: 130px 0;
	background: linear-gradient(135deg,
			#34152f 0%,
			#541547 54%,
			#291429 100%);
}

.asti-use-inner {
	display: grid;
	grid-template-columns: 0.9fr 0.8fr;
	align-items: start;
	gap: 110px;
}

.asti-use h2 {
	color: var(--asti-white);
}

.asti-use h2 span {
	color: #f5b7d5;
}

.asti-use-copy {
	padding-top: 50px;
}

.asti-use-copy p {
	color: rgba(255, 255, 255, 0.68);
}

.asti-use-copy .asti-lead {
	color: var(--asti-white) !important;
}

.asti-use-highlight {
	margin-top: 28px;
	padding: 24px 27px;
	border-left: 3px solid #ef8aba;
	background: rgba(255, 255, 255, 0.07);
	font-family: var(--asti-serif);
	font-size: 25px;
	line-height: 1.2;
	color: var(--asti-white);
}

/* ========================================
   PREPARE
======================================== */
.asti-prepare {
	padding: 130px 0;
	background: var(--asti-warm-white);
}

.asti-prepare-card {
	display: grid;
	grid-template-columns: 1fr 0.65fr;
	min-height: 560px;
	overflow: hidden;
	border-radius: var(--asti-radius-large);
	background: var(--asti-blush);
	box-shadow: var(--asti-shadow);
}

.asti-prepare-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 70px 75px;
}

.asti-prepare-copy h2 {
	max-width: 680px;
	margin-bottom: 30px;
}

.asti-prepare-copy p {
	max-width: 590px;
}

.asti-prepare-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 20px;
}

.asti-prepare-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(135deg,
			#46163d 0%,
			#9b1269 100%);
}

.asti-prepare-visual::before {
	content: "";
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.13);
}

.asti-prepare-visual::after {
	content: "";
	position: absolute;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.asti-prepare-circle {
	position: relative;
	z-index: 3;
	width: 145px;
	height: 145px;
	display: grid;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 62px;
	color: #f5bbd7;
}

.asti-prepare-word {
	position: absolute;
	z-index: 3;
	font-family: var(--asti-serif);
	font-size: 22px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.7);
}

.asti-prepare-word-one {
	top: 85px;
	left: 50px;
}

.asti-prepare-word-two {
	right: 50px;
	top: 47%;
}

.asti-prepare-word-three {
	left: 70px;
	bottom: 80px;
}

/* ========================================
   NEWSLETTER
======================================== */
.asti-newsletter {
	padding: 100px 0;
	background: linear-gradient(120deg,
			#801066 0%,
			#c50870 57%,
			#df3289 100%);
}

.asti-newsletter-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 80px;
}

.asti-newsletter h2 {
	max-width: 810px;
	color: var(--asti-white);
}

.asti-newsletter h2 span {
	color: #fce5f0;
}

.asti-newsletter p {
	max-width: 680px;
	margin-top: 26px;
	color: rgba(255, 255, 255, 0.78);
}

.asti-newsletter-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	min-width: 220px;
}

.asti-newsletter-action .asti-btn {
	width: 100%;
}

.asti-newsletter-action small {
	color: rgba(255, 255, 255, 0.68);
}

/* ========================================
   FINAL CTA
======================================== */
.asti-final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#21121e 0%,
			#421639 48%,
			#741159 100%);
}

.asti-final::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at 50% 0%,
			rgba(216, 7, 114, 0.19),
			transparent 50%);
}

.asti-final-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.asti-final-glow-one {
	width: 470px;
	height: 470px;
	left: -180px;
	bottom: -220px;
	background: #e41480;
}

.asti-final-glow-two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #a4689b;
}

.asti-final .asti-container {
	position: relative;
	z-index: 2;
}

.asti-final-inner {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.asti-final-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #f5b2d3;
}

.asti-final-inner .asti-eyebrow {
	justify-content: center;
}

.asti-final-inner h2 {
	max-width: 970px;
	margin: 0 auto;
	font-size: clamp(55px, 6vw, 90px);
	color: var(--asti-white);
}

.asti-final-inner h2 span {
	display: block;
	color: #f6bad7;
}

.asti-final-inner p {
	max-width: 730px;
	margin: 30px auto 0;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.72);
}

.asti-final-actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   RESPONSIVE
   1150PX
======================================== */
@media (max-width: 1150px) {
	.asti-intro-grid {
		gap: 70px;
	}
	
	.asti-demand-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.asti-demand-card:nth-child(3),
					.asti-demand-card:nth-child(4) {
		padding-top: 38px;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.asti-style-heading {
		gap: 50px;
	}
	
	.asti-guides-grid {
		grid-template-columns: 1.1fr 1fr;
	}
	
	.asti-guide-feature {
		grid-row: span 2;
	}
	
	.asti-guide-wide {
		grid-column: auto;
		display: block;
	}
	
	.asti-guide-wide .asti-guide-image {
		height: 300px;
		min-height: 0;
	}
	
	.asti-guide-wide .asti-guide-body {
		display: block;
		padding: 27px;
	}
	
	.asti-base-grid,
					.asti-lens-grid {
		gap: 65px;
	}
	
	.asti-personality-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 900px) {
	.asti-container {
		width: min(100% - 40px, 1240px);
	}
	
	.asti-hero {
		min-height: 760px;
	}
	
	.asti-hero-inner {
		padding-bottom: 70px;
	}
	
	.asti-hero-note {
		display: none;
	}
	
	.asti-intro,
					.asti-style,
					.asti-guides,
					.asti-base,
					.asti-lens {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.asti-intro-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.asti-intro-copy {
		max-width: 700px;
		padding-top: 0;
	}
	
	.asti-style-heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.asti-style-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 420px;
	}
	
	.asti-style-large {
		grid-row: auto;
		grid-column: span 2;
	}
	
	.asti-style-wide {
		grid-column: span 2;
	}
	
	.asti-guides-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.asti-guide-feature {
		grid-column: span 2;
		grid-row: auto;
		min-height: 650px;
	}
	
	.asti-longhaul-grid {
		grid-template-columns: 1fr;
	}
	
	.asti-longhaul-image {
		min-height: 620px;
	}
	
	.asti-longhaul-content {
		padding: 90px 40px;
	}
	
	.asti-base-grid {
		grid-template-columns: 1fr;
		gap: 60px;
	}
	
	.asti-base-visual {
		min-height: 700px;
		max-width: 700px;
		width: 100%;
		margin: 0 auto;
	}
	
	.asti-personality-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.asti-lens-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.asti-lens-heading {
		position: static;
	}
	
	.asti-use-inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.asti-use-copy {
		padding-top: 0;
	}
	
	.asti-prepare-card {
		grid-template-columns: 1fr;
	}
	
	.asti-prepare-visual {
		min-height: 430px;
	}
	
	.asti-newsletter-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.asti-newsletter-action {
		align-items: flex-start;
		max-width: 250px;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 680px) {
	.asti-container {
		width: min(100% - 28px, 1240px);
	}
	
	.asti-page h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	/* HERO */
	.asti-hero {
		min-height: 730px;
		height: 88vh;
	}
	
	.asti-hero-image {
		object-position: 56% center;
	}
	
	.asti-hero-overlay {
		background: linear-gradient(0deg,
								rgba(23, 12, 20, 0.91) 0%,
								rgba(23, 12, 20, 0.26) 77%);
	}
	
	.asti-hero-content h1 {
		font-size: clamp(52px, 15vw, 72px);
	}
	
	.asti-hero-content > p {
		font-size: 16px;
	}
	
	.asti-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.asti-hero-actions .asti-btn {
		width: 100%;
	}
	
	/* SPACING */
	.asti-intro,
					.asti-style,
					.asti-guides,
					.asti-base,
					.asti-lens {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	/* DEMAND */
	.asti-demand {
		padding: 90px 0;
	}
	
	.asti-demand-heading {
		margin-bottom: 50px;
	}
	
	.asti-demand-grid {
		grid-template-columns: 1fr;
	}
	
	.asti-demand-card,
					.asti-demand-card + .asti-demand-card {
		padding: 28px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.asti-demand-number {
		margin-bottom: 18px;
	}
	
	/* STYLE */
	.asti-style-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 430px;
	}
	
	.asti-style-large,
					.asti-style-wide {
		grid-column: auto;
	}
	
	/* GUIDES */
	.asti-guides-grid {
		grid-template-columns: 1fr;
	}
	
	.asti-guide-feature {
		grid-column: auto;
		min-height: 580px;
	}
	
	.asti-guide-copy {
		padding: 28px;
	}
	
	.asti-guide-copy h3 {
		font-size: 40px;
	}
	
	.asti-guide-image,
					.asti-guide-wide .asti-guide-image {
		height: 320px;
	}
	
	.asti-guide-wide {
		display: block;
	}
	
	/* LONG HAUL */
	.asti-longhaul-image {
		min-height: 500px;
	}
	
	.asti-longhaul-label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
		text-align: center;
	}
	
	.asti-longhaul-content {
		padding: 70px 24px;
	}
	
	/* STATEMENT */
	.asti-statement {
		padding: 100px 0;
	}
	
	.asti-statement h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	/* BASE */
	.asti-base-visual {
		min-height: 570px;
	}
	
	.asti-base-image {
		left: 30px;
	}
	
	.asti-base-card {
		width: 260px;
		padding: 23px;
	}
	
	.asti-base-card strong {
		font-size: 22px;
	}
	
	/* PERSONALITY */
	.asti-personality {
		padding: 90px 0;
	}
	
	.asti-personality-grid {
		grid-template-columns: 1fr;
	}
	
	.asti-personality-card {
		min-height: 220px;
	}
	
	/* LENS */
	.asti-lens-item {
		grid-template-columns: 42px 1fr;
		gap: 12px;
	}
	
	/* USE */
	.asti-use {
		padding: 90px 0;
	}
	
	/* PREPARE */
	.asti-prepare {
		padding: 80px 0;
	}
	
	.asti-prepare-copy {
		padding: 50px 28px;
	}
	
	.asti-prepare-actions {
		align-items: flex-start;
		flex-direction: column;
	}
	
	.asti-prepare-visual {
		min-height: 360px;
	}
	
	.asti-prepare-circle {
		width: 120px;
		height: 120px;
		font-size: 50px;
	}
	
	.asti-prepare-word-one {
		top: 50px;
		left: 28px;
	}
	
	.asti-prepare-word-two {
		right: 28px;
	}
	
	.asti-prepare-word-three {
		left: 35px;
		bottom: 50px;
	}
	
	/* NEWSLETTER */
	.asti-newsletter {
		padding: 80px 0;
	}
	
	/* FINAL */
	.asti-final {
		padding: 100px 0;
	}
	
	.asti-final-inner h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.asti-final-inner p {
		font-size: 16px;
	}
	
	.asti-final-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.asti-final-actions .asti-btn {
		width: 100%;
	}
}

/* ========================================
   VERY SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.asti-guide-feature {
		min-height: 540px;
	}
	
	.asti-guide-image,
					.asti-guide-wide .asti-guide-image {
		height: 290px;
	}
	
	.asti-style-card {
		min-height: 400px;
	}
	
	.asti-base-visual {
		min-height: 500px;
	}
	
	.asti-base-image {
		left: 18px;
	}
	
	.asti-base-card {
		width: 225px;
	}
	
	.asti-prepare-word {
		font-size: 18px;
	}
}

/* ========================================
   Destinations - Attractions Guide
======================================== */
/* ========================================
   VARIABLES
======================================== */
:root {
}

/* ========================================
   RESET
======================================== */
.asta-page,
.asta-page *,
.asta-page ::before,
.asta-page ::after {
	box-sizing: border-box;
}

.asta-page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--asta-white);
	color: var(--asta-charcoal);
	font-family: var(--asta-sans);
}

.asta-page img {
	display: block;
	width: 100%;
}

.asta-page a {
	text-decoration: none;
}

.asta-container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.asta-page h1,
.asta-page h2,
.asta-page h3,
.asta-page p {
	margin-top: 0;
}

.asta-page h1,
.asta-page h2 {
	font-family: var(--asta-serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.asta-page h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
}

.asta-page h2 span {
	color: var(--asta-magenta);
	font-style: italic;
}

.asta-page p {
	font-size: 17px;
	line-height: 1.75;
	color: var(--asta-slate);
}

.asta-lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: var(--asta-charcoal) !important;
}

/* ========================================
   EYEBROW
======================================== */
.asta-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--asta-magenta);
}

.asta-eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}

.asta-eyebrow-light {
	color: rgba(255, 255, 255, 0.78);
}

/* ========================================
   BUTTONS
======================================== */
.asta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--asta-sans);
	font-size: 14px;
	font-weight: 700;
	transition: transform .25s ease, background .25s ease, color .25s ease;
}

.asta-btn:hover {
	transform: translateY(-3px);
}

.asta-btn-primary {
	background: var(--asta-magenta);
	color: var(--asta-white);
}

.asta-btn-primary:hover {
	background: var(--asta-magenta-dark);
}

.asta-btn-glass {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.11);
	color: var(--asta-white);
}

.asta-btn-glass:hover {
	background: var(--asta-white);
	color: var(--asta-charcoal);
}

.asta-btn-dark {
	background: var(--asta-charcoal);
	color: var(--asta-white);
}

.asta-btn-dark:hover {
	background: var(--asta-magenta);
}

.asta-btn-white {
	background: var(--asta-white);
	color: var(--asta-charcoal);
}

.asta-btn-white:hover {
	background: #f5dce8;
}

.asta-btn-outline {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: transparent;
	color: var(--asta-white);
}

.asta-btn-outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* ========================================
   HERO
======================================== */
.asta-hero {
	position: relative;
	min-height: 820px;
	height: calc(100vh - 80px);
	max-height: 980px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--asta-dark-plum);
}

.asta-hero-image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 54%;
	transform: scale(1.02);
}

.asta-hero-overlay {
	position: absolute;
	background: linear-gradient(90deg,
			rgba(23, 12, 20, 0.87) 0%,
			rgba(37, 16, 32, 0.57) 43%,
			rgba(20, 12, 18, 0.08) 78%), linear-gradient(0deg,
			rgba(18, 10, 16, 0.59) 0%,
			transparent 46%);
}

.asta-hero-inner {
	position: relative;
	z-index: 2;
	padding-bottom: 92px;
}

.asta-hero-content {
	max-width: 980px;
}

.asta-hero-content h1 {
	margin-bottom: 30px;
	font-size: clamp(70px, 7.5vw, 114px);
	line-height: .87;
	color: var(--asta-white);
}

.asta-hero-content h1 span {
	display: block;
	color: #f6bdd9;
	font-style: italic;
}

.asta-hero-content > p {
	max-width: 700px;
	margin-bottom: 36px;
	font-size: 19px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.84);
}

.asta-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.asta-hero-note {
	position: absolute;
	right: 0;
	bottom: 34px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.61);
}

.asta-hero-note i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--asta-magenta);
}

/* ========================================
   INTRO
======================================== */
.asta-intro {
	padding: 145px 0 155px;
	background: var(--asta-white);
}

.asta-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
	gap: 120px;
	align-items: start;
}

.asta-intro-heading h2 {
	max-width: 800px;
}

.asta-intro-copy {
	max-width: 550px;
	padding-top: 48px;
}

.asta-intro-copy p {
	margin-bottom: 20px;
}

/* ========================================
   PRINCIPLES
======================================== */
.asta-principles {
	position: relative;
	padding: 145px 0 150px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#31152d 0%,
			#521446 54%,
			#291429 100%);
}

.asta-principle-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: .3;
}

.asta-glow-one {
	width: 430px;
	height: 430px;
	left: -180px;
	top: -180px;
	background: var(--asta-magenta);
}

.asta-glow-two {
	width: 480px;
	height: 480px;
	right: -190px;
	bottom: -230px;
	background: #8e5685;
}

.asta-principles .asta-container {
	position: relative;
	z-index: 2;
}

.asta-principles-heading {
	max-width: 860px;
	margin-bottom: 76px;
}

.asta-principles-heading h2 {
	color: var(--asta-white);
}

.asta-principles-heading h2 span {
	color: #f5b7d5;
}

.asta-principles-heading p {
	max-width: 670px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.68);
}

.asta-principles-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.asta-principle-card {
	padding: 38px 34px 10px 0;
}

.asta-principle-card + .asta-principle-card {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.asta-principle-number {
	display: block;
	margin-bottom: 40px;
	font-family: var(--asta-serif);
	font-size: 18px;
	color: #ed89ba;
}

.asta-principle-card h3 {
	margin: 0 0 16px;
	font-family: var(--asta-serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--asta-white);
}

.asta-principle-card p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   ATTRACTION TYPES
======================================== */
.asta-types {
	padding: 145px 0 155px;
	background: var(--asta-warm-white);
}

.asta-types-heading {
	display: grid;
	grid-template-columns: 1fr 0.55fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 58px;
}

.asta-types-heading h2 {
	max-width: 780px;
}

.asta-types-heading > p {
	max-width: 510px;
	margin-bottom: 5px;
}

.asta-types-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 390px;
	gap: 18px;
}

.asta-type-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--asta-radius);
	background: var(--asta-dark-plum);
}

.asta-type-large {
	grid-row: span 2;
}

.asta-type-wide {
	grid-column: span 2;
}

.asta-type-card img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.asta-type-card:hover img {
	transform: scale(1.055);
}

.asta-type-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(24, 12, 21, 0.91) 0%,
			rgba(24, 12, 21, 0.04) 70%);
}

.asta-type-content {
	position: absolute;
	z-index: 2;
	left: 30px;
	right: 30px;
	bottom: 28px;
}

.asta-type-content > span {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #ef9cc3;
}

.asta-type-content h3 {
	margin: 0 0 10px;
	max-width: 520px;
	font-family: var(--asta-serif);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.05;
	color: var(--asta-white);
}

.asta-type-content p {
	max-width: 440px;
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
}

/* ========================================
   GUIDES
======================================== */
.asta-guides {
	padding: 150px 0;
	background: var(--asta-white);
}

.asta-guides-heading {
	max-width: 870px;
	margin-bottom: 60px;
}

.asta-guides-heading p {
	max-width: 690px;
	margin-top: 28px;
	font-size: 18px;
}

.asta-guides-grid {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr 0.9fr;
	gap: 22px;
}

.asta-guide-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--asta-border);
	border-radius: var(--asta-radius);
	background: var(--asta-warm-white);
	color: var(--asta-charcoal);
	transition: transform .35s ease, box-shadow .35s ease;
}

.asta-guide-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--asta-shadow);
}

.asta-guide-feature {
	grid-row: span 2;
	min-height: 800px;
}

.asta-guide-feature > img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.asta-guide-feature:hover > img {
	transform: scale(1.045);
}

.asta-guide-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(23, 11, 20, 0.94) 0%,
			rgba(23, 11, 20, 0.05) 68%);
}

.asta-guide-status {
	position: absolute;
	z-index: 3;
	top: 22px;
	left: 22px;
	padding: 9px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--asta-charcoal);
}

.asta-guide-status-soon {
	background: var(--asta-magenta);
	color: var(--asta-white);
}

.asta-guide-copy {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 40px;
}

.asta-guide-location {
	margin-bottom: 9px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--asta-magenta);
}

.asta-guide-feature .asta-guide-location {
	color: #f0afd0;
}

.asta-guide-copy h3 {
	margin: 0 0 13px;
	max-width: 580px;
	font-family: var(--asta-serif);
	font-size: 47px;
	font-weight: 400;
	line-height: 1.02;
	color: var(--asta-white);
}

.asta-guide-copy p {
	max-width: 540px;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.74);
}

.asta-guide-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 17px;
}

.asta-guide-meta span {
	display: inline-flex;
	padding: 7px 11px;
	border: 1px solid var(--asta-border);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	color: var(--asta-slate);
}

.asta-guide-feature .asta-guide-meta span {
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.76);
}

.asta-guide-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 26px;
	font-size: 13px;
	font-weight: 700;
	color: var(--asta-white);
}

.asta-guide-link i {
	width: 42px;
	height: 42px;
	display: grid;
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 50%;
	font-style: normal;
}

.asta-guide-image {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.asta-guide-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .65s ease;
}

.asta-guide-card:hover .asta-guide-image img {
	transform: scale(1.05);
}

.asta-guide-image-overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(22, 12, 19, 0.25),
			transparent 60%);
}

.asta-guide-body {
	padding: 27px 27px 30px;
}

.asta-guide-body h3 {
	margin: 0 0 12px;
	font-family: var(--asta-serif);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.05;
}

.asta-guide-body p {
	margin-bottom: 17px;
	font-size: 14px;
	line-height: 1.65;
}

.asta-guide-link-dark {
	color: var(--asta-charcoal);
}

.asta-guide-link-dark i {
	border-color: var(--asta-border);
	color: var(--asta-magenta);
}

.asta-guide-coming:hover {
	transform: none;
	box-shadow: none;
}

.asta-guide-soon {
	margin-top: 25px;
	padding-top: 18px;
	border-top: 1px solid var(--asta-border);
	font-size: 12px;
	font-weight: 700;
	color: var(--asta-magenta);
}

/* ========================================
   MORE GUIDES
======================================== */
.asta-more {
	margin-top: 130px;
}

.asta-more-heading {
	display: grid;
	grid-template-columns: 1fr 0.5fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 50px;
}

.asta-more-heading h2 {
	max-width: 760px;
}

.asta-more-heading > p {
	max-width: 470px;
	margin-bottom: 5px;
}

.asta-more-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
}

.asta-more-card {
	position: relative;
	min-height: 390px;
	display: flex;
	flex-direction: column;
	padding: 27px;
	overflow: hidden;
	border-radius: var(--asta-radius);
	background: linear-gradient(145deg,
			#35172f,
			#73135f);
	color: var(--asta-white);
}

.asta-more-card::before {
	content: "";
	position: absolute;
	width: 230px;
	height: 230px;
	right: -100px;
	top: -100px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
}

.asta-more-card-two {
	background: linear-gradient(145deg,
			#261824,
			#5b2b58);
}

.asta-more-card-three {
	background: linear-gradient(145deg,
			#46162e,
			#97145d);
}

.asta-more-card-four {
	background: linear-gradient(145deg,
			#251520,
			#491c42);
}

.asta-more-card-five {
	background: linear-gradient(145deg,
			#47163e,
			#a41471);
}

.asta-more-number {
	position: relative;
	z-index: 2;
	font-family: var(--asta-serif);
	color: #efa2c8;
}

.asta-more-icon {
	position: relative;
	z-index: 2;
	width: 58px;
	height: 58px;
	display: grid;
	margin: 40px 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	font-family: var(--asta-serif);
	font-size: 25px;
	color: #f2b0cf;
}

.asta-more-copy {
	position: relative;
	z-index: 2;
	margin-top: 35px;
}

.asta-more-copy > span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #efa4c8;
}

.asta-more-copy h3 {
	margin: 8px 0 10px;
	font-family: var(--asta-serif);
	font-size: 25px;
	font-weight: 400;
	color: var(--asta-white);
}

.asta-more-copy p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.62);
}

.asta-more-status {
	position: relative;
	z-index: 2;
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #efa5c8;
}

/* ========================================
   SENSORY LOAD
======================================== */
.asta-load {
	background: var(--asta-blush);
}

.asta-load-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 850px;
}

.asta-load-image {
	position: relative;
	min-height: 850px;
	overflow: hidden;
}

.asta-load-image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.asta-load-label {
	position: absolute;
	left: 38px;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.93);
	font-size: 12px;
	font-weight: 700;
	color: var(--asta-charcoal);
}

.asta-load-label span {
	font-size: 18px;
	color: var(--asta-magenta);
}

.asta-load-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.asta-load-content h2 {
	max-width: 700px;
	margin-bottom: 34px;
}

.asta-load-content > p {
	max-width: 650px;
	margin-bottom: 18px;
}

.asta-load-list {
	max-width: 680px;
	margin-top: 25px;
	border-top: 1px solid var(--asta-border);
}

.asta-load-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 15px;
	padding: 17px 0;
	border-bottom: 1px solid var(--asta-border);
}

.asta-load-list > div > span {
	padding-top: 3px;
	font-family: var(--asta-serif);
	color: var(--asta-magenta);
}

.asta-load-list h3 {
	margin: 0 0 4px;
	font-family: var(--asta-serif);
	font-size: 21px;
	font-weight: 400;
}

.asta-load-list p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

/* ========================================
   STATEMENT
======================================== */
.asta-statement {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: #20121d;
}

.asta-statement-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.asta-statement-glow-one {
	width: 460px;
	height: 460px;
	left: -190px;
	top: -190px;
	background: var(--asta-magenta);
}

.asta-statement-glow-two {
	width: 470px;
	height: 470px;
	right: -170px;
	bottom: -220px;
	background: #8e5585;
}

.asta-statement-inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.asta-statement-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 28px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	font-size: 34px;
	color: #f4afd1;
}

.asta-statement .asta-eyebrow {
	justify-content: center;
}

.asta-statement h2 {
	font-size: clamp(55px, 6vw, 88px);
	color: var(--asta-white);
}

.asta-statement h2 span {
	display: block;
	color: #f5b8d5;
}

.asta-statement p {
	max-width: 740px;
	margin: 30px auto 0;
	font-size: 19px;
	color: rgba(255, 255, 255, 0.69);
}

/* ========================================
   BEFORE YOU BOOK
======================================== */
.asta-before {
	padding: 150px 0;
	background: var(--asta-white);
}

.asta-before-grid {
	display: grid;
	grid-template-columns: 0.72fr 1fr;
	gap: 105px;
}

.asta-before-heading {
	position: sticky;
	top: 110px;
	align-self: start;
}

.asta-before-heading h2 {
	max-width: 580px;
	margin-bottom: 30px;
}

.asta-before-heading p {
	max-width: 520px;
}

.asta-before-list {
	border-top: 1px solid var(--asta-border);
}

.asta-before-item {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--asta-border);
}

.asta-before-item > span {
	padding-top: 5px;
	font-family: var(--asta-serif);
	font-size: 17px;
	color: var(--asta-magenta);
}

.asta-before-item h3 {
	margin: 0 0 7px;
	font-family: var(--asta-serif);
	font-size: 27px;
	font-weight: 400;
}

.asta-before-item p {
	max-width: 610px;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

/* ========================================
   CONTRAST
======================================== */
.asta-contrast {
	padding: 145px 0 150px;
	background: linear-gradient(135deg,
			#34152f 0%,
			#551548 55%,
			#291429 100%);
}

.asta-contrast-heading {
	max-width: 850px;
	margin-bottom: 65px;
}

.asta-contrast-heading h2 {
	color: var(--asta-white);
}

.asta-contrast-heading h2 span {
	color: #f4b5d4;
}

.asta-contrast-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.asta-contrast-card {
	min-height: 340px;
	display: flex;
	flex-direction: column;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--asta-radius);
	background: rgba(255, 255, 255, 0.065);
}

.asta-contrast-card small {
	margin-bottom: auto;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ec8aba;
}

.asta-contrast-card h3 {
	margin: 40px 0 13px;
	font-family: var(--asta-serif);
	font-size: 29px;
	font-weight: 400;
	color: var(--asta-white);
}

.asta-contrast-card p {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.61);
}

.asta-scale {
	display: flex;
	gap: 6px;
	margin-top: auto;
	padding-top: 22px;
}

.asta-scale span {
	flex: 1;
	height: 3px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.asta-scale span.active {
	background: #ef8fbc;
}

.asta-contrast-note {
	max-width: 760px;
	margin: 45px 0 0;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	font-family: var(--asta-serif);
	font-size: 23px !important;
	line-height: 1.3 !important;
	color: rgba(255, 255, 255, 0.8) !important;
}

/* ========================================
   HOW TO USE
======================================== */
.asta-use {
	padding: 130px 0;
	background: var(--asta-dark-plum);
}

.asta-use-inner {
	display: grid;
	grid-template-columns: 0.9fr 0.8fr;
	align-items: start;
	gap: 110px;
}

.asta-use h2 {
	color: var(--asta-white);
}

.asta-use h2 span {
	color: #f5b7d5;
}

.asta-use-copy {
	padding-top: 50px;
}

.asta-use-copy p {
	color: rgba(255, 255, 255, 0.68);
}

.asta-use-copy .asta-lead {
	color: var(--asta-white) !important;
}

.asta-use-highlight {
	margin-top: 28px;
	padding: 24px 27px;
	border-left: 3px solid #ef8aba;
	background: rgba(255, 255, 255, 0.07);
	font-family: var(--asta-serif);
	font-size: 25px;
	line-height: 1.2;
	color: var(--asta-white);
}

/* ========================================
   RESOURCES
======================================== */
.asta-resources {
	padding: 130px 0;
	background: var(--asta-warm-white);
}

.asta-resources-card {
	display: grid;
	grid-template-columns: 1fr 0.65fr;
	min-height: 560px;
	overflow: hidden;
	border-radius: var(--asta-radius-large);
	background: var(--asta-blush);
	box-shadow: var(--asta-shadow);
}

.asta-resources-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 70px 75px;
}

.asta-resources-copy h2 {
	max-width: 690px;
	margin-bottom: 30px;
}

.asta-resources-copy p {
	max-width: 590px;
}

.asta-resources-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 20px;
}

.asta-resource-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--asta-border);
	font-size: 14px;
	font-weight: 700;
	color: var(--asta-charcoal);
}

.asta-resource-link span {
	color: var(--asta-magenta);
}

.asta-resources-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(135deg,
			#46163d 0%,
			#9b1269 100%);
}

.asta-resources-visual::before {
	content: "";
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.13);
}

.asta-resources-visual::after {
	content: "";
	position: absolute;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.asta-resource-circle {
	position: relative;
	z-index: 3;
	width: 145px;
	height: 145px;
	display: grid;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.1);
	font-size: 62px;
	color: #f5bbd7;
}

.asta-resource-word {
	position: absolute;
	z-index: 3;
	font-family: var(--asta-serif);
	font-size: 22px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.7);
}

.asta-resource-word-one {
	top: 85px;
	left: 50px;
}

.asta-resource-word-two {
	right: 50px;
	top: 47%;
}

.asta-resource-word-three {
	left: 70px;
	bottom: 80px;
}

/* ========================================
   NEWSLETTER
======================================== */
.asta-newsletter {
	padding: 100px 0;
	background: linear-gradient(120deg,
			#801066 0%,
			#c50870 57%,
			#df3289 100%);
}

.asta-newsletter-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 80px;
}

.asta-newsletter h2 {
	max-width: 810px;
	color: var(--asta-white);
}

.asta-newsletter h2 span {
	color: #fce5f0;
}

.asta-newsletter p {
	max-width: 680px;
	margin-top: 26px;
	color: rgba(255, 255, 255, 0.78);
}

.asta-newsletter-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	min-width: 220px;
}

.asta-newsletter-action .asta-btn {
	width: 100%;
}

.asta-newsletter-action small {
	color: rgba(255, 255, 255, 0.68);
}

/* ========================================
   FINAL CTA
======================================== */
.asta-final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#21121e 0%,
			#421639 48%,
			#741159 100%);
}

.asta-final::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at 50% 0%,
			rgba(216, 7, 114, 0.19),
			transparent 50%);
}

.asta-final-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.asta-final-glow-one {
	width: 470px;
	height: 470px;
	left: -180px;
	bottom: -220px;
	background: #e41480;
}

.asta-final-glow-two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #a4689b;
}

.asta-final .asta-container {
	position: relative;
	z-index: 2;
}

.asta-final-inner {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.asta-final-heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #f5b2d3;
}

.asta-final-inner .asta-eyebrow {
	justify-content: center;
}

.asta-final-inner h2 {
	max-width: 970px;
	margin: 0 auto;
	font-size: clamp(55px, 6vw, 90px);
	color: var(--asta-white);
}

.asta-final-inner h2 span {
	display: block;
	color: #f6bad7;
}

.asta-final-inner p {
	max-width: 740px;
	margin: 30px auto 0;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.72);
}

.asta-final-actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   RESPONSIVE
   1180PX
======================================== */
@media (max-width: 1180px) {
	.asta-intro-grid {
		gap: 70px;
	}
	
	.asta-principles-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.asta-principle-card:nth-child(3),
					.asta-principle-card:nth-child(4) {
		padding-top: 38px;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.asta-types-heading {
		gap: 50px;
	}
	
	.asta-guides-grid {
		grid-template-columns: 1.1fr 1fr;
	}
	
	.asta-guide-feature {
		grid-row: span 2;
	}
	
	.asta-guide-coming:nth-child(5) {
		grid-column: 2;
	}
	
	.asta-more-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.asta-before-grid {
		gap: 65px;
	}
	
	.asta-contrast-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 900px) {
	.asta-container {
		width: min(100% - 40px, 1240px);
	}
	
	.asta-hero {
		min-height: 760px;
	}
	
	.asta-hero-inner {
		padding-bottom: 70px;
	}
	
	.asta-hero-note {
		display: none;
	}
	
	.asta-intro,
					.asta-types,
					.asta-guides,
					.asta-before {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.asta-intro-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.asta-intro-copy {
		max-width: 700px;
		padding-top: 0;
	}
	
	.asta-types-heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.asta-types-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 420px;
	}
	
	.asta-type-large {
		grid-row: auto;
		grid-column: span 2;
	}
	
	.asta-type-wide {
		grid-column: span 2;
	}
	
	.asta-guides-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.asta-guide-feature {
		grid-column: span 2;
		grid-row: auto;
		min-height: 660px;
	}
	
	.asta-guide-coming:nth-child(5) {
		grid-column: auto;
	}
	
	.asta-more-heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.asta-more-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.asta-load-grid {
		grid-template-columns: 1fr;
	}
	
	.asta-load-image {
		min-height: 620px;
	}
	
	.asta-load-content {
		padding: 90px 40px;
	}
	
	.asta-before-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.asta-before-heading {
		position: static;
	}
	
	.asta-use-inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.asta-use-copy {
		padding-top: 0;
	}
	
	.asta-resources-card {
		grid-template-columns: 1fr;
	}
	
	.asta-resources-visual {
		min-height: 430px;
	}
	
	.asta-newsletter-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.asta-newsletter-action {
		align-items: flex-start;
		max-width: 250px;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 680px) {
	.asta-container {
		width: min(100% - 28px, 1240px);
	}
	
	.asta-page h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	/* HERO */
	.asta-hero {
		min-height: 730px;
		height: 88vh;
	}
	
	.asta-hero-image {
		object-position: 65% center;
	}
	
	.asta-hero-overlay {
		background: linear-gradient(0deg,
								rgba(23, 12, 20, 0.92) 0%,
								rgba(23, 12, 20, 0.26) 77%);
	}
	
	.asta-hero-content h1 {
		font-size: clamp(50px, 14vw, 70px);
	}
	
	.asta-hero-content > p {
		font-size: 16px;
	}
	
	.asta-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.asta-hero-actions .asta-btn {
		width: 100%;
	}
	
	/* SPACING */
	.asta-intro,
					.asta-types,
					.asta-guides,
					.asta-before {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	/* PRINCIPLES */
	.asta-principles {
		padding: 90px 0;
	}
	
	.asta-principles-heading {
		margin-bottom: 50px;
	}
	
	.asta-principles-grid {
		grid-template-columns: 1fr;
	}
	
	.asta-principle-card,
					.asta-principle-card + .asta-principle-card {
		padding: 28px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.asta-principle-number {
		margin-bottom: 18px;
	}
	
	/* TYPES */
	.asta-types-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 430px;
	}
	
	.asta-type-large,
					.asta-type-wide {
		grid-column: auto;
	}
	
	/* MAIN GUIDES */
	.asta-guides-grid {
		grid-template-columns: 1fr;
	}
	
	.asta-guide-feature {
		grid-column: auto;
		min-height: 590px;
	}
	
	.asta-guide-copy {
		padding: 28px;
	}
	
	.asta-guide-copy h3 {
		font-size: 38px;
	}
	
	.asta-guide-image {
		height: 320px;
	}
	
	/* MORE */
	.asta-more {
		margin-top: 90px;
	}
	
	.asta-more-grid {
		grid-template-columns: 1fr;
	}
	
	.asta-more-card {
		min-height: 330px;
	}
	
	/* LOAD */
	.asta-load-image {
		min-height: 500px;
	}
	
	.asta-load-label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
		text-align: center;
	}
	
	.asta-load-content {
		padding: 70px 24px;
	}
	
	/* STATEMENT */
	.asta-statement {
		padding: 100px 0;
	}
	
	.asta-statement h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	/* BEFORE */
	.asta-before-item {
		grid-template-columns: 42px 1fr;
		gap: 12px;
	}
	
	/* CONTRAST */
	.asta-contrast {
		padding: 90px 0;
	}
	
	.asta-contrast-grid {
		grid-template-columns: 1fr;
	}
	
	/* USE */
	.asta-use {
		padding: 90px 0;
	}
	
	/* RESOURCES */
	.asta-resources {
		padding: 80px 0;
	}
	
	.asta-resources-copy {
		padding: 50px 28px;
	}
	
	.asta-resources-actions {
		align-items: flex-start;
		flex-direction: column;
	}
	
	.asta-resources-visual {
		min-height: 360px;
	}
	
	.asta-resource-circle {
		width: 120px;
		height: 120px;
		font-size: 50px;
	}
	
	.asta-resource-word-one {
		top: 50px;
		left: 28px;
	}
	
	.asta-resource-word-two {
		right: 28px;
	}
	
	.asta-resource-word-three {
		left: 35px;
		bottom: 50px;
	}
	
	/* NEWSLETTER */
	.asta-newsletter {
		padding: 80px 0;
	}
	
	/* FINAL */
	.asta-final {
		padding: 100px 0;
	}
	
	.asta-final-inner h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.asta-final-inner p {
		font-size: 16px;
	}
	
	.asta-final-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.asta-final-actions .asta-btn {
		width: 100%;
	}
}

/* ========================================
   VERY SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.asta-guide-feature {
		min-height: 550px;
	}
	
	.asta-guide-image {
		height: 290px;
	}
	
	.asta-type-card {
		min-height: 400px;
	}
	
	.asta-resource-word {
		font-size: 18px;
	}
}

/* ========================================
  Destyinations Spa Destinations
======================================== */
/* ========================================
   VARIABLES
======================================== */
:root {
}

/* ========================================
   RESET
======================================== */
.astspa_page,
.astspa_page *,
.astspa_page ::before,
.astspa_page ::after {
	box-sizing: border-box;
}

.astspa_page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--astspa_white);
	color: var(--astspa_charcoal);
	font-family: var(--astspa_sans);
}

.astspa_page img {
	display: block;
	width: 100%;
}

.astspa_page a {
	text-decoration: none;
}

.astspa_container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.astspa_page h1,
.astspa_page h2,
.astspa_page h3,
.astspa_page p {
	margin-top: 0;
}

.astspa_page h1,
.astspa_page h2 {
	font-family: var(--astspa_serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.astspa_page h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
}

.astspa_page h2 span {
	color: var(--astspa_magenta);
	font-style: italic;
}

.astspa_page p {
	font-size: 17px;
	line-height: 1.75;
	color: var(--astspa_slate);
}

.astspa_lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: var(--astspa_charcoal) !important;
}

/* ========================================
   EYEBROW
======================================== */
.astspa_eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--astspa_magenta);
}

.astspa_eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}

.astspa_eyebrow_light {
	color: rgba(255, 255, 255, 0.78);
}

/* ========================================
   BUTTONS
======================================== */
.astspa_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--astspa_sans);
	font-size: 14px;
	font-weight: 700;
	transition: transform .25s ease, background .25s ease, color .25s ease;
}

.astspa_btn:hover {
	transform: translateY(-3px);
}

.astspa_btn_primary {
	background: var(--astspa_magenta);
	color: var(--astspa_white);
}

.astspa_btn_primary:hover {
	background: var(--astspa_magenta_dark);
}

.astspa_btn_glass {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.11);
	color: var(--astspa_white);
}

.astspa_btn_glass:hover {
	background: var(--astspa_white);
	color: var(--astspa_charcoal);
}

.astspa_btn_dark {
	background: var(--astspa_charcoal);
	color: var(--astspa_white);
}

.astspa_btn_dark:hover {
	background: var(--astspa_magenta);
}

.astspa_btn_white {
	background: var(--astspa_white);
	color: var(--astspa_charcoal);
}

.astspa_btn_white:hover {
	background: #f6dce9;
}

.astspa_btn_outline {
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: transparent;
	color: var(--astspa_white);
}

.astspa_btn_outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* ========================================
   HERO
======================================== */
.astspa_hero {
	position: relative;
	min-height: 820px;
	height: calc(100vh - 80px);
	max-height: 980px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: linear-gradient(135deg,
			#20131d 0%,
			#551846 55%,
			#9b176e 100%);
}

.astspa_hero_background {
	position: absolute;
	background: radial-gradient(circle at 75% 30%,
			rgba(255, 255, 255, 0.12),
			transparent 35%), linear-gradient(135deg,
			#35172f,
			#9a176e);
}

.astspa_hero_image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.astspa_hero_overlay {
	position: absolute;
	background: linear-gradient(90deg,
			rgba(22, 12, 19, 0.84) 0%,
			rgba(37, 16, 32, 0.55) 44%,
			rgba(20, 12, 18, 0.12) 80%), linear-gradient(0deg,
			rgba(18, 10, 16, 0.55),
			transparent 45%);
}

.astspa_hero_inner {
	position: relative;
	z-index: 2;
	padding-bottom: 92px;
}

.astspa_hero_content {
	max-width: 930px;
}

.astspa_hero_content h1 {
	margin-bottom: 30px;
	font-size: clamp(76px, 8vw, 120px);
	line-height: .86;
	color: var(--astspa_white);
}

.astspa_hero_content h1 span {
	display: block;
	color: #f6bfd9;
	font-style: italic;
}

.astspa_hero_content > p {
	max-width: 690px;
	margin-bottom: 36px;
	font-size: 19px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.84);
}

.astspa_hero_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.astspa_hero_note {
	position: absolute;
	right: 0;
	bottom: 34px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
}

.astspa_hero_note i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--astspa_magenta);
}

/* ========================================
   INTRO
======================================== */
.astspa_intro {
	padding: 145px 0 155px;
	background: var(--astspa_white);
}

.astspa_intro_grid {
	display: grid;
	grid-template-columns: 1.12fr 0.72fr;
	align-items: start;
	gap: 120px;
}

.astspa_intro_heading h2 {
	max-width: 780px;
}

.astspa_intro_copy {
	max-width: 550px;
	padding-top: 48px;
}

.astspa_intro_copy p {
	margin-bottom: 20px;
}

/* ========================================
   PRINCIPLES
======================================== */
.astspa_principles {
	position: relative;
	padding: 145px 0 150px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#31152d 0%,
			#521446 54%,
			#291429 100%);
}

.astspa_glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: .3;
}

.astspa_glow_one {
	width: 430px;
	height: 430px;
	left: -180px;
	top: -180px;
	background: var(--astspa_magenta);
}

.astspa_glow_two {
	width: 480px;
	height: 480px;
	right: -190px;
	bottom: -230px;
	background: #8e5685;
}

.astspa_principles .astspa_container {
	position: relative;
	z-index: 2;
}

.astspa_principles_heading {
	max-width: 850px;
	margin-bottom: 76px;
}

.astspa_principles_heading h2 {
	color: var(--astspa_white);
}

.astspa_principles_heading h2 span {
	color: #f5b7d5;
}

.astspa_principles_heading p {
	max-width: 660px;
	margin-top: 28px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.68);
}

.astspa_principles_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.astspa_principle {
	padding: 38px 34px 10px 0;
}

.astspa_principle + .astspa_principle {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.astspa_principle > span {
	display: block;
	margin-bottom: 40px;
	font-family: var(--astspa_serif);
	font-size: 18px;
	color: #ed89ba;
}

.astspa_principle h3 {
	margin: 0 0 16px;
	font-family: var(--astspa_serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--astspa_white);
}

.astspa_principle p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.61);
}

/* ========================================
   EXPERIENCE
======================================== */
.astspa_experience {
	background: var(--astspa_blush);
}

.astspa_experience_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 850px;
}

.astspa_experience_image {
	position: relative;
	min-height: 850px;
	overflow: hidden;
	background: linear-gradient(145deg,
			#b07e94,
			#f0d9e4);
}

.astspa_experience_image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astspa_image_label {
	position: absolute;
	left: 38px;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.93);
	font-size: 12px;
	font-weight: 700;
}

.astspa_image_label span {
	font-size: 18px;
	color: var(--astspa_magenta);
}

.astspa_experience_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.astspa_experience_content h2 {
	max-width: 690px;
	margin-bottom: 34px;
}

.astspa_experience_content > p {
	max-width: 650px;
	margin-bottom: 18px;
}

.astspa_experience_list {
	max-width: 680px;
	margin-top: 25px;
	border-top: 1px solid var(--astspa_border);
}

.astspa_experience_list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 15px;
	padding: 17px 0;
	border-bottom: 1px solid var(--astspa_border);
}

.astspa_experience_list > div > span {
	padding-top: 3px;
	font-family: var(--astspa_serif);
	color: var(--astspa_magenta);
}

.astspa_experience_list h3 {
	margin: 0 0 4px;
	font-family: var(--astspa_serif);
	font-size: 21px;
	font-weight: 400;
}

.astspa_experience_list p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

/* ========================================
   STATEMENT
======================================== */
.astspa_statement {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: #20121d;
}

.astspa_statement_glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.astspa_statement_glow_one {
	width: 460px;
	height: 460px;
	left: -190px;
	top: -190px;
	background: var(--astspa_magenta);
}

.astspa_statement_glow_two {
	width: 470px;
	height: 470px;
	right: -170px;
	bottom: -220px;
	background: #8e5585;
}

.astspa_statement_inner {
	position: relative;
	z-index: 2;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.astspa_heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 28px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	font-size: 34px;
	color: #f4afd1;
}

.astspa_statement .astspa_eyebrow {
	justify-content: center;
}

.astspa_statement h2 {
	font-size: clamp(55px, 6vw, 90px);
	color: var(--astspa_white);
}

.astspa_statement h2 span {
	display: block;
	color: #f5b8d5;
}

.astspa_statement p {
	max-width: 720px;
	margin: 30px auto 0;
	font-size: 19px;
	color: rgba(255, 255, 255, 0.69);
}

/* ========================================
   TYPES
======================================== */
.astspa_types {
	padding: 145px 0 155px;
	background: var(--astspa_warm);
}

.astspa_types_heading {
	display: grid;
	grid-template-columns: 1fr 0.55fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 58px;
}

.astspa_types_heading h2 {
	max-width: 780px;
}

.astspa_types_heading > p {
	max-width: 500px;
	margin-bottom: 5px;
}

.astspa_types_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 370px;
	gap: 18px;
}

.astspa_type {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 24px;
	background: var(--astspa_white);
	box-shadow: 0 15px 45px rgba(49, 21, 43, 0.07);
}

.astspa_type_large {
	grid-row: span 2;
}

.astspa_type_wide {
	grid-column: span 2;
}

.astspa_type_visual {
	position: relative;
	flex: 1;
	min-height: 200px;
	display: grid;
	overflow: hidden;
}

.astspa_type_visual::before,
.astspa_type_visual::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.astspa_type_visual::before {
	width: 220px;
	height: 220px;
}

.astspa_type_visual::after {
	width: 330px;
	height: 330px;
}

.astspa_type_visual > span {
	position: relative;
	z-index: 2;
	font-family: var(--astspa_serif);
	font-size: 62px;
	color: rgba(255, 255, 255, 0.8);
}

.astspa_visual_countryside {
	background: linear-gradient(145deg,
			#521640,
			#b31872);
}

.astspa_visual_boutique {
	background: linear-gradient(145deg,
			#2f1a2c,
			#75516d);
}

.astspa_visual_thermal {
	background: linear-gradient(145deg,
			#6f1858,
			#d25c96);
}

.astspa_visual_wellness {
	background: linear-gradient(145deg,
			#34172f,
			#921366);
}

.astspa_type_content {
	padding: 28px 30px 32px;
}

.astspa_type_content small {
	display: block;
	margin-bottom: 9px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--astspa_magenta);
}

.astspa_type_content h3 {
	margin: 0 0 10px;
	font-family: var(--astspa_serif);
	font-size: 29px;
	font-weight: 400;
	line-height: 1.08;
}

.astspa_type_content p {
	margin: 0;
	font-size: 14px;
}

/* ========================================
   GUIDES
======================================== */
.astspa_guides {
	padding: 150px 0;
	background: var(--astspa_white);
}

.astspa_guides_heading {
	max-width: 870px;
	margin-bottom: 60px;
}

.astspa_guides_heading p {
	max-width: 690px;
	margin-top: 28px;
	font-size: 18px;
}

.astspa_guides_grid {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr 0.9fr;
	gap: 22px;
}

.astspa_guide {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--astspa_border);
	border-radius: 24px;
	background: var(--astspa_warm);
}

.astspa_guide_feature {
	grid-row: span 2;
	min-height: 790px;
	background: linear-gradient(145deg,
			#34172f,
			#8f1766);
}

.astspa_guide_feature_image {
	position: absolute;
}

.astspa_guide_feature_image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astspa_guide_overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(23, 11, 20, 0.94) 0%,
			rgba(23, 11, 20, 0.06) 70%);
}

.astspa_guide_status {
	position: absolute;
	z-index: 3;
	top: 22px;
	left: 22px;
	padding: 9px 14px;
	border-radius: 999px;
	background: var(--astspa_magenta);
	color: var(--astspa_white);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.astspa_guide_feature_copy {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 40px;
}

.astspa_location {
	margin-bottom: 9px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--astspa_magenta);
}

.astspa_guide_feature .astspa_location {
	color: #f0afd0;
}

.astspa_guide_feature h3 {
	margin: 0 0 14px;
	font-family: var(--astspa_serif);
	font-size: 50px;
	font-weight: 400;
	color: var(--astspa_white);
}

.astspa_guide_feature p {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.74);
}

.astspa_tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 18px;
}

.astspa_tags span {
	padding: 7px 11px;
	border: 1px solid var(--astspa_border);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	color: var(--astspa_slate);
}

.astspa_guide_feature .astspa_tags span {
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.78);
}

.astspa_coming {
	margin-top: 25px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 12px;
	font-weight: 700;
	color: #f2b1d0;
}

.astspa_guide_image {
	position: relative;
	height: 330px;
	overflow: hidden;
	background: linear-gradient(145deg,
			#6a355a,
			#c56c99);
}

.astspa_guide_image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.astspa_guide_image_overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(24, 12, 21, 0.25),
			transparent 60%);
}

.astspa_guide_body {
	padding: 28px;
}

.astspa_guide_body h3 {
	margin: 0 0 12px;
	font-family: var(--astspa_serif);
	font-size: 31px;
	font-weight: 400;
}

.astspa_guide_body p {
	margin-bottom: 17px;
	font-size: 14px;
	line-height: 1.65;
}

.astspa_coming_dark {
	border-color: var(--astspa_border);
	color: var(--astspa_magenta);
}

.astspa_future {
	position: relative;
	min-height: 360px;
	display: flex;
	flex-direction: column;
	padding: 28px;
	overflow: hidden;
	border-radius: 24px;
	background: linear-gradient(145deg,
			#35162f,
			#76145e);
	color: var(--astspa_white);
}

.astspa_future::before {
	content: "";
	position: absolute;
	width: 250px;
	height: 250px;
	right: -110px;
	top: -110px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.09);
}

.astspa_future_number {
	position: relative;
	z-index: 2;
	font-family: var(--astspa_serif);
	color: #efa5c9;
}

.astspa_future_icon {
	position: relative;
	z-index: 2;
	width: 60px;
	height: 60px;
	display: grid;
	margin: 45px 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	font-size: 27px;
	color: #f2b5d2;
}

.astspa_future_copy {
	position: relative;
	z-index: 2;
	margin-top: 35px;
}

.astspa_future_copy small {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #efa5c9;
}

.astspa_future_copy h3 {
	margin: 8px 0 10px;
	font-family: var(--astspa_serif);
	font-size: 26px;
	font-weight: 400;
	color: var(--astspa_white);
}

.astspa_future_copy p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.63);
}

/* ========================================
   CHOOSING
======================================== */
.astspa_choose {
	padding: 150px 0;
	background: var(--astspa_warm);
}

.astspa_choose_grid {
	display: grid;
	grid-template-columns: 0.72fr 1fr;
	gap: 105px;
}

.astspa_choose_heading {
	position: sticky;
	top: 110px;
	align-self: start;
}

.astspa_choose_heading h2 {
	max-width: 580px;
	margin-bottom: 30px;
}

.astspa_choose_heading p {
	max-width: 520px;
}

.astspa_choose_list {
	border-top: 1px solid var(--astspa_border);
}

.astspa_choose_item {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--astspa_border);
}

.astspa_choose_item > span {
	padding-top: 5px;
	font-family: var(--astspa_serif);
	font-size: 17px;
	color: var(--astspa_magenta);
}

.astspa_choose_item h3 {
	margin: 0 0 7px;
	font-family: var(--astspa_serif);
	font-size: 27px;
	font-weight: 400;
}

.astspa_choose_item p {
	max-width: 610px;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

/* ========================================
   SENSORY PROFILE
======================================== */
.astspa_sensory {
	padding: 145px 0 150px;
	background: linear-gradient(135deg,
			#34152f 0%,
			#551548 55%,
			#291429 100%);
}

.astspa_sensory_heading {
	max-width: 850px;
	margin-bottom: 65px;
}

.astspa_sensory_heading h2 {
	color: var(--astspa_white);
}

.astspa_sensory_heading h2 span {
	color: #f4b5d4;
}

.astspa_sensory_heading p {
	max-width: 640px;
	margin-top: 27px;
	color: rgba(255, 255, 255, 0.68);
}

.astspa_sensory_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.astspa_sensory_card {
	min-height: 360px;
	display: flex;
	flex-direction: column;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.065);
}

.astspa_sensory_card small {
	margin-bottom: auto;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ec8aba;
}

.astspa_sensory_card h3 {
	margin: 40px 0 13px;
	font-family: var(--astspa_serif);
	font-size: 29px;
	font-weight: 400;
	color: var(--astspa_white);
}

.astspa_sensory_card p {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.61);
}

.astspa_sensory_line {
	margin-top: auto;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.astspa_sensory_line span {
	display: block;
	width: 42%;
	height: 3px;
	border-radius: 999px;
	background: #ef8fbc;
}

.astspa_sensory_note {
	max-width: 780px;
	margin-top: 45px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.astspa_sensory_note p {
	margin: 0;
	font-family: var(--astspa_serif);
	font-size: 24px;
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.82);
}

/* ========================================
   TREATMENTS
======================================== */
.astspa_treatments {
	padding: 150px 0;
	background: var(--astspa_white);
}

.astspa_treatments_grid {
	display: grid;
	grid-template-columns: 0.9fr 1fr;
	align-items: center;
	gap: 100px;
}

.astspa_treatments_copy h2 {
	margin-bottom: 34px;
}

.astspa_treatments_copy > p {
	max-width: 590px;
}

.astspa_treatment_points {
	margin-top: 30px;
	border-top: 1px solid var(--astspa_border);
}

.astspa_treatment_points div {
	padding: 17px 0;
	border-bottom: 1px solid var(--astspa_border);
	font-size: 14px;
	font-weight: 600;
}

.astspa_treatment_points span {
	margin-right: 15px;
	font-family: var(--astspa_serif);
	color: var(--astspa_magenta);
}

.astspa_treatments_visual {
	position: relative;
	min-height: 650px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 38px;
	background: linear-gradient(145deg,
			#4a163f,
			#bb1a79);
}

.astspa_treatments_circle {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.astspa_circle_one {
	width: 450px;
	height: 450px;
}

.astspa_circle_two {
	width: 620px;
	height: 620px;
}

.astspa_treatments_center {
	position: relative;
	z-index: 3;
	max-width: 360px;
	text-align: center;
	color: var(--astspa_white);
}

.astspa_treatments_center span {
	display: block;
	margin-bottom: 17px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #f1add0;
}

.astspa_treatments_center strong {
	display: block;
	font-family: var(--astspa_serif);
	font-size: 48px;
	font-weight: 400;
	line-height: 1;
}

.astspa_treatments_center small {
	display: block;
	margin-top: 22px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.68);
}

/* ========================================
   REST
======================================== */
.astspa_rest {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: #20121d;
}

.astspa_rest_glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.astspa_rest_glow_one {
	width: 470px;
	height: 470px;
	left: -190px;
	bottom: -220px;
	background: var(--astspa_magenta);
}

.astspa_rest_glow_two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -180px;
	background: #8e5585;
}

.astspa_rest_inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.astspa_rest_inner .astspa_eyebrow {
	justify-content: center;
}

.astspa_rest_inner h2 {
	color: var(--astspa_white);
}

.astspa_rest_inner h2 span {
	display: block;
	color: #f5b8d5;
}

.astspa_rest_inner > p {
	max-width: 690px;
	margin: 30px auto 0;
	color: rgba(255, 255, 255, 0.67);
}

.astspa_rest_emphasis {
	font-family: var(--astspa_serif);
	font-size: 28px !important;
	color: var(--astspa_white) !important;
}

/* ========================================
   REVIEW LENS
======================================== */
.astspa_review {
	padding: 150px 0;
	background: var(--astspa_white);
}

.astspa_review_grid {
	display: grid;
	grid-template-columns: 0.72fr 1fr;
	gap: 105px;
}

.astspa_review_heading {
	position: sticky;
	top: 110px;
	align-self: start;
}

.astspa_review_heading h2 {
	max-width: 580px;
	margin-bottom: 30px;
}

.astspa_review_heading p {
	max-width: 520px;
	margin-bottom: 17px;
}

.astspa_review_list {
	border-top: 1px solid var(--astspa_border);
}

.astspa_review_item {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--astspa_border);
}

.astspa_review_item > span {
	padding-top: 5px;
	font-family: var(--astspa_serif);
	color: var(--astspa_magenta);
}

.astspa_review_item h3 {
	margin: 0 0 7px;
	font-family: var(--astspa_serif);
	font-size: 27px;
	font-weight: 400;
}

.astspa_review_item p {
	margin: 0;
	font-size: 15px;
}

/* ========================================
   HOW TO USE
======================================== */
.astspa_use {
	padding: 130px 0;
	background: linear-gradient(135deg,
			#34152f,
			#541547);
}

.astspa_use_inner {
	display: grid;
	grid-template-columns: 0.9fr 0.8fr;
	gap: 110px;
}

.astspa_use h2 {
	color: var(--astspa_white);
}

.astspa_use h2 span {
	color: #f5b7d5;
}

.astspa_use_copy {
	padding-top: 50px;
}

.astspa_use_copy p {
	color: rgba(255, 255, 255, 0.68);
}

.astspa_use_lead {
	font-size: 21px !important;
	color: var(--astspa_white) !important;
}

.astspa_use_highlight {
	margin-top: 28px;
	padding: 24px 27px;
	border-left: 3px solid #ef8aba;
	background: rgba(255, 255, 255, 0.07);
	font-family: var(--astspa_serif);
	font-size: 25px;
	color: var(--astspa_white);
}

/* ========================================
   EARLY ACCESS
======================================== */
.astspa_early {
	padding: 130px 0;
	background: var(--astspa_warm);
}

.astspa_early_card {
	display: grid;
	grid-template-columns: 1fr 0.65fr;
	min-height: 560px;
	overflow: hidden;
	border-radius: 38px;
	background: var(--astspa_blush);
	box-shadow: var(--astspa_shadow);
}

.astspa_early_copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 70px 75px;
}

.astspa_early_copy h2 {
	max-width: 690px;
	margin-bottom: 30px;
}

.astspa_early_copy p {
	max-width: 590px;
	margin-bottom: 16px;
}

.astspa_early_copy .astspa_btn {
	align-self: flex-start;
	margin-top: 18px;
}

.astspa_early_visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(135deg,
			#46163d,
			#9b1269);
}

.astspa_early_ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.11);
}

.astspa_ring_one {
	width: 360px;
	height: 360px;
}

.astspa_ring_two {
	width: 500px;
	height: 500px;
}

.astspa_early_heart {
	position: relative;
	z-index: 3;
	width: 145px;
	height: 145px;
	display: grid;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	font-size: 62px;
	color: #f5bbd7;
}

.astspa_word {
	position: absolute;
	z-index: 3;
	font-family: var(--astspa_serif);
	font-size: 22px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.7);
}

.astspa_word_one {
	top: 85px;
	left: 50px;
}

.astspa_word_two {
	right: 50px;
	top: 47%;
}

.astspa_word_three {
	left: 70px;
	bottom: 80px;
}

/* ========================================
   FINAL CTA
======================================== */
.astspa_final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#21121e 0%,
			#421639 48%,
			#741159 100%);
}

.astspa_final::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at 50% 0%,
			rgba(216, 7, 114, 0.19),
			transparent 50%);
}

.astspa_final_glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .32;
}

.astspa_final_glow_one {
	width: 470px;
	height: 470px;
	left: -180px;
	bottom: -220px;
	background: #e41480;
}

.astspa_final_glow_two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #a4689b;
}

.astspa_final .astspa_container {
	position: relative;
	z-index: 2;
}

.astspa_final_inner {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.astspa_final_heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #f5b2d3;
}

.astspa_final_inner .astspa_eyebrow {
	justify-content: center;
}

.astspa_final_inner h2 {
	max-width: 970px;
	margin: 0 auto;
	font-size: clamp(55px, 6vw, 90px);
	color: var(--astspa_white);
}

.astspa_final_inner h2 span {
	display: block;
	color: #f6bad7;
}

.astspa_final_inner p {
	max-width: 750px;
	margin: 30px auto 0;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.72);
}

.astspa_final_actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   RESPONSIVE
   1150PX
======================================== */
@media (max-width: 1150px) {
	.astspa_intro_grid {
		gap: 70px;
	}
	
	.astspa_principles_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astspa_principle:nth-child(3),
					.astspa_principle:nth-child(4) {
		padding-top: 38px;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.astspa_types_heading {
		gap: 50px;
	}
	
	.astspa_guides_grid {
		grid-template-columns: 1.1fr 1fr;
	}
	
	.astspa_guide_feature {
		grid-row: span 2;
	}
	
	.astspa_sensory_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astspa_choose_grid,
					.astspa_review_grid,
					.astspa_treatments_grid {
		gap: 65px;
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 900px) {
	.astspa_container {
		width: min(100% - 40px, 1240px);
	}
	
	.astspa_hero {
		min-height: 760px;
	}
	
	.astspa_hero_inner {
		padding-bottom: 70px;
	}
	
	.astspa_hero_note {
		display: none;
	}
	
	.astspa_intro,
					.astspa_types,
					.astspa_guides,
					.astspa_choose,
					.astspa_treatments,
					.astspa_review {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.astspa_intro_grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.astspa_intro_copy {
		padding-top: 0;
		max-width: 700px;
	}
	
	.astspa_experience_grid {
		grid-template-columns: 1fr;
	}
	
	.astspa_experience_image {
		min-height: 620px;
	}
	
	.astspa_experience_content {
		padding: 90px 40px;
	}
	
	.astspa_types_heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.astspa_types_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astspa_type_large,
					.astspa_type_wide {
		grid-column: span 2;
		grid-row: auto;
	}
	
	.astspa_guides_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.astspa_guide_feature {
		grid-column: span 2;
		grid-row: auto;
		min-height: 650px;
	}
	
	.astspa_choose_grid,
					.astspa_review_grid,
					.astspa_treatments_grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.astspa_choose_heading,
					.astspa_review_heading {
		position: static;
	}
	
	.astspa_treatments_visual {
		min-height: 600px;
	}
	
	.astspa_use_inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.astspa_use_copy {
		padding-top: 0;
	}
	
	.astspa_early_card {
		grid-template-columns: 1fr;
	}
	
	.astspa_early_visual {
		min-height: 430px;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 680px) {
	.astspa_container {
		width: min(100% - 28px, 1240px);
	}
	
	.astspa_page h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	.astspa_hero {
		min-height: 730px;
		height: 88vh;
	}
	
	.astspa_hero_overlay {
		background: linear-gradient(0deg,
								rgba(23, 12, 20, 0.92) 0%,
								rgba(23, 12, 20, 0.28) 78%);
	}
	
	.astspa_hero_content h1 {
		font-size: clamp(56px, 16vw, 78px);
	}
	
	.astspa_hero_content > p {
		font-size: 16px;
	}
	
	.astspa_hero_actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.astspa_hero_actions .astspa_btn {
		width: 100%;
	}
	
	.astspa_intro,
					.astspa_types,
					.astspa_guides,
					.astspa_choose,
					.astspa_treatments,
					.astspa_review {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	.astspa_principles {
		padding: 90px 0;
	}
	
	.astspa_principles_heading {
		margin-bottom: 50px;
	}
	
	.astspa_principles_grid {
		grid-template-columns: 1fr;
	}
	
	.astspa_principle,
					.astspa_principle + .astspa_principle {
		padding: 28px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	
	.astspa_principle > span {
		margin-bottom: 18px;
	}
	
	.astspa_experience_image {
		min-height: 500px;
	}
	
	.astspa_image_label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
		text-align: center;
	}
	
	.astspa_experience_content {
		padding: 70px 24px;
	}
	
	.astspa_statement {
		padding: 100px 0;
	}
	
	.astspa_statement h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.astspa_types_grid {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}
	
	.astspa_type_large,
					.astspa_type_wide {
		grid-column: auto;
	}
	
	.astspa_type_visual {
		min-height: 300px;
	}
	
	.astspa_guides_grid {
		grid-template-columns: 1fr;
	}
	
	.astspa_guide_feature {
		grid-column: auto;
		min-height: 580px;
	}
	
	.astspa_guide_feature_copy {
		padding: 28px;
	}
	
	.astspa_guide_feature h3 {
		font-size: 40px;
	}
	
	.astspa_guide_image {
		height: 320px;
	}
	
	.astspa_choose_item,
					.astspa_review_item {
		grid-template-columns: 42px 1fr;
		gap: 12px;
	}
	
	.astspa_sensory {
		padding: 90px 0;
	}
	
	.astspa_sensory_grid {
		grid-template-columns: 1fr;
	}
	
	.astspa_sensory_card {
		min-height: 300px;
	}
	
	.astspa_treatments_visual {
		min-height: 470px;
	}
	
	.astspa_treatments_center strong {
		font-size: 40px;
	}
	
	.astspa_circle_one {
		width: 300px;
		height: 300px;
	}
	
	.astspa_circle_two {
		width: 420px;
		height: 420px;
	}
	
	.astspa_rest {
		padding: 100px 0;
	}
	
	.astspa_use {
		padding: 90px 0;
	}
	
	.astspa_early {
		padding: 80px 0;
	}
	
	.astspa_early_copy {
		padding: 50px 28px;
	}
	
	.astspa_early_visual {
		min-height: 360px;
	}
	
	.astspa_early_heart {
		width: 120px;
		height: 120px;
		font-size: 50px;
	}
	
	.astspa_word_one {
		top: 50px;
		left: 28px;
	}
	
	.astspa_word_two {
		right: 28px;
	}
	
	.astspa_word_three {
		left: 35px;
		bottom: 50px;
	}
	
	.astspa_final {
		padding: 100px 0;
	}
	
	.astspa_final_inner h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.astspa_final_inner p {
		font-size: 16px;
	}
	
	.astspa_final_actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.astspa_final_actions .astspa_btn {
		width: 100%;
	}
}

/* ========================================
   VERY SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.astspa_guide_feature {
		min-height: 540px;
	}
	
	.astspa_guide_image {
		height: 290px;
	}
	
	.astspa_word {
		font-size: 18px;
	}
}

/* ========================================
   ALCHEMY SOULS FOOTER
   ISOLATED BUILD
======================================== */
.asf_footer,
.asf_footer *,
.asf_footer ::before,
.asf_footer ::after {
	box-sizing: border-box;
}

.asf_footer {
	width: 100%;
	margin: 0;
	font-family: var(--asf_sans);
	color: #FFFFFF;
}

.asf_footer a {
	text-decoration: none;
}

.asf_container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   NEWSLETTER
======================================== */
.asf_newsletter {
	padding: 80px 0;
	background: linear-gradient(120deg,
			#6C4E8C 0%,
			#822984 56%,
			#A2027B 100%);
}

.asf_newsletter_inner {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 70px;
}

.asf_newsletter_copy {
	max-width: 760px;
}

.asf_eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 17px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.asf_eyebrow::before {
	content: "";
	width: 32px;
	height: 1px;
	background: currentColor;
}

.asf_newsletter h2 {
	max-width: 760px;
	margin: 0;
	font-family: var(--asf_serif);
	font-size: clamp(42px, 4.4vw, 64px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.035em;
	color: #FFFFFF;
}

.asf_newsletter h2 span {
	display: block;
	font-style: italic;
	color: #FFFFFF;
}

.asf_newsletter p {
	max-width: 650px;
	margin: 25px 0 0;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.88);
}

.asf_newsletter_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 58px;
	padding: 0 30px;
	border: 1px solid #FFFFFF;
	border-radius: 999px;
	background: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	color: #822984 !important;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}

.asf_newsletter_button:hover {
	transform: translateY(-3px);
	background: #303038;
	border-color: #303038;
	color: #FFFFFF !important;
}

/* ========================================
   ALCHEMY SOULS FOOTER
   COMPACT FINAL VERSION
======================================== */
/* ========================================
   RESET
======================================== */
.asf_footer,
.asf_footer *,
.asf_footer ::before,
.asf_footer ::after {
	box-sizing: border-box;
}

.asf_footer {
	width: 100%;
	margin: 0;
	padding: 0;
	background: #303038;
	font-family: var(--asf_sans);
	color: #FFFFFF;
}

.asf_footer a {
	text-decoration: none !important;
}

.asf_container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   MAIN
======================================== */
.asf_main {
	position: relative;
	width: 100%;
	padding: 58px 0 22px;
	overflow: hidden;
	background: linear-gradient(120deg,
			#303038 0%,
			#393545 48%,
			#6C4E8C 100%);
}

.asf_main::before {
	content: "";
	position: absolute;
	width: 500px;
	height: 500px;
	right: -300px;
	top: -300px;
	border-radius: 50%;
	background: #822984;
	filter: blur(130px);
	opacity: .16;
	pointer-events: none;
}

.asf_main::after {
	content: "";
	position: absolute;
	width: 420px;
	height: 420px;
	left: -280px;
	bottom: -300px;
	border-radius: 50%;
	background: #829B9E;
	filter: blur(130px);
	opacity: .11;
	pointer-events: none;
}

.asf_main .asf_container {
	position: relative;
	z-index: 2;
}

/* ========================================
   MAIN GRID
======================================== */
.asf_grid {
	display: grid;
	grid-template-columns: minmax(290px, 1.5fr) minmax(150px, 0.75fr) minmax(180px, 0.9fr) minmax(180px, 0.85fr) minmax(180px, 0.9fr);
	align-items: start;
	gap: 46px;
	padding-bottom: 40px;
}

/* ========================================
   BRAND
======================================== */
.asf_brand {
	max-width: 355px;
}

.asf_brand_identity,
.asf_brand_identity:link,
.asf_brand_identity:visited {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
	color: #FFFFFF !important;
}

/* ========================================
   BRAND MARK
======================================== */
.asf_brand_mark {
	position: relative;
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
}

.asf_mark_ring {
	position: absolute;
	display: block;
	border: 7px solid transparent;
	border-radius: 50%;
}

.asf_mark_ring_one {
	border-top-color: #A2027B;
	border-right-color: #822984;
	transform: rotate(-18deg);
}

.asf_mark_ring_two {
	border-right-color: #6C4E8C;
	border-bottom-color: #829B9E;
	transform: rotate(28deg);
}

/* ========================================
   BRAND WORDS
======================================== */
.asf_brand_words {
	display: flex;
	flex-direction: column;
}

.asf_brand_words strong {
	font-family: var(--asf_serif);
	font-size: 27px;
	font-weight: 400;
	line-height: 1;
	color: #FFFFFF !important;
}

.asf_brand_words span {
	margin-top: 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #FFFFFF !important;
}

/* ========================================
   BRAND COPY
======================================== */
.asf_tagline {
	max-width: 330px;
	margin: 0 0 19px;
	font-family: var(--asf_serif);
	font-size: 21px;
	line-height: 1.35;
	color: #FFFFFF !important;
}

.asf_brand_intro {
	max-width: 340px;
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88) !important;
}

/* ========================================
   EMAIL
======================================== */
.asf_footer .asf_email,
.asf_footer .asf_email:link,
.asf_footer .asf_email:visited {
	display: inline-block;
	margin: 0;
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.42);
	font-size: 13px;
	color: #FFFFFF !important;
}

/* ========================================
   LINK COLUMNS
======================================== */
.asf_footer .asf_column {
	min-width: 0;
	color: #FFFFFF !important;
}

.asf_footer .asf_column h3 {
	margin: 4px 0 23px !important;
	padding: 0 !important;
	font-family: var(--asf_serif) !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #FFFFFF !important;
}

.asf_footer .asf_column nav {
	display: block !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

body .asf_footer .asf_column a,
body .asf_footer .asf_column a:link,
body .asf_footer .asf_column a:visited,
body .asf_footer .asf_column a:active {
	position: relative;
	display: block !important;
	width: fit-content !important;
	max-width: 100%;
	margin: 0 0 12px !important;
	padding: 0 !important;
	background: transparent !important;
	font-family: var(--asf_sans) !important;
	font-size: 13px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	color: #FFFFFF !important;
	opacity: 1 !important;
	visibility: visible !important;
	transition: transform .25s ease, color .25s ease;
}

body .asf_footer .asf_column a *,
body .asf_footer .asf_column a span,
body .asf_footer .asf_column a strong {
	color: #FFFFFF !important;
}

body .asf_footer .asf_column a:last-child {
	margin-bottom: 0 !important;
}

body .asf_footer .asf_column a:hover {
	transform: translateX(4px);
	color: #FFFFFF !important;
}

/* ========================================
   BOTTOM STRIP
======================================== */
.asf_bottom {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 30px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

/* ========================================
   COPYRIGHT
======================================== */
.asf_bottom_left {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 11px;
	justify-self: start;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.76) !important;
}

.asf_bottom_left span {
	color: rgba(255, 255, 255, 0.76) !important;
}

.asf_dot {
	width: 4px;
	height: 4px;
	flex: 0 0 4px;
	border-radius: 50%;
	background: #A2027B;
}

/* ========================================
   SOCIAL ICONS
======================================== */
.asf_socials {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 8px;
	justify-self: center;
	margin: 0;
	padding: 0;
}

.asf_footer .asf_social {
	width: 36px;
	height: 36px;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 36px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	overflow: hidden;
	text-decoration: none !important;
	color: #FFFFFF !important;
	transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}

.asf_footer .asf_social:hover {
	transform: translateY(-3px);
	filter: brightness(1.08);
	box-shadow: 0 7px 16px rgba(0, 0, 0, 0.2);
}

/* ========================================
   SOCIAL IMAGE ICONS
======================================== */
.asf_footer .asf_social img {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;
	min-height: 18px !important;
	max-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: contain !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* WHATSAPP */
.asf_footer .asf_whatsapp {
	background: #25D366 !important;
}

.asf_footer .asf_whatsapp img {
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
}

/* EMAIL */
.asf_footer .asf_mail {
	border: 1px solid rgba(48, 48, 56, 0.12) !important;
	background: #FFFFFF !important;
}

.asf_footer .asf_mail_icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	height: 100%;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: #303038 !important;
}

/* LINKEDIN */
.asf_footer .asf_linkedin {
	background: #0A66C2 !important;
}

.asf_footer .asf_linkedin_mark {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 0 1px !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -.8px !important;
	color: #FFFFFF !important;
}

/* INSTAGRAM */
.asf_footer .asf_instagram {
	background: linear-gradient(135deg,
			#6C4E8C 0%,
			#A2027B 50%,
			#D90675 100%) !important;
}

.asf_footer .asf_instagram img {
	width: 19px !important;
	height: 19px !important;
}

/* ETSY */
.asf_footer .asf_etsy {
	background: #F1641E !important;
}

/* FACEBOOK */
.asf_footer .asf_facebook {
	background: #1877F2 !important;
}

/* PINTEREST */
.asf_footer .asf_pinterest {
	background: #BD081C !important;
}

/* ========================================
   LOWER RIGHT LINKS
======================================== */
.asf_bottom_right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 20px;
	justify-self: end;
}

body .asf_footer .asf_bottom_right a,
body .asf_footer .asf_bottom_right a:link,
body .asf_footer .asf_bottom_right a:visited {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	color: rgba(255, 255, 255, 0.8) !important;
}

body .asf_footer .asf_bottom_right a:hover {
	color: #FFFFFF !important;
}

/* ========================================
   LARGE TABLET
======================================== */
@media (max-width: 1120px) {
	.asf_grid {
		grid-template-columns: minmax(280px, 1.3fr) repeat(2, minmax(180px, 1fr));
		gap: 45px 50px;
	}
	
	.asf_brand {
		grid-row: span 2;
	}
	
	.asf_bottom {
		grid-template-columns: 1fr auto;
	}
	
	.asf_socials {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-self: center;
		margin-top: 3px;
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 820px) {
	.asf_container {
		width: min(100% - 40px, 1240px);
	}
	
	.asf_main {
		padding-top: 52px;
	}
	
	.asf_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px 36px;
	}
	
	.asf_brand {
		grid-column: span 2;
		grid-row: auto;
		max-width: 520px;
	}
	
	.asf_bottom {
		grid-template-columns: 1fr;
		gap: 18px;
		text-align: center;
	}
	
	.asf_bottom_left,
			.asf_socials,
			.asf_bottom_right {
		justify-self: center;
	}
	
	.asf_bottom_left,
			.asf_bottom_right {
		justify-content: center;
	}
	
	.asf_socials {
		grid-column: auto;
		grid-row: auto;
		margin: 0;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 580px) {
	.asf_container {
		width: min(100% - 28px, 1240px);
	}
	
	.asf_main {
		padding-top: 46px;
		padding-bottom: 20px;
	}
	
	.asf_grid {
		grid-template-columns: 1fr;
		gap: 36px;
		padding-bottom: 38px;
	}
	
	.asf_brand {
		grid-column: auto;
		max-width: 100%;
	}
	
	.asf_footer .asf_column h3 {
		margin-bottom: 17px !important;
	}
	
	.asf_socials {
		flex-wrap: wrap;
		max-width: 310px;
	}
	
	.asf_footer .asf_social {
		width: 38px;
		height: 38px;
		flex-basis: 38px;
	}
	
	.asf_bottom_right {
		gap: 15px;
	}
}

/* ========================================
   ALCHEMY SOULS
   NEUROINCLUSIVE TRAVEL
   CLEAN ISOLATED BUILD
======================================== */
/* ========================================
   PAGE
======================================== */
.ashn_page,
.ashn_page *,
.ashn_page ::before,
.ashn_page ::after {
	box-sizing: border-box;
}

.ashn_page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #FFFFFF;
	color: #303038;
	font-family: var(--ashn_sans);
}

.ashn_page img {
	display: block;
	width: 100%;
}

.ashn_page a {
	text-decoration: none;
}

/* ========================================
   CONTAINER
======================================== */
.ashn_container {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

/* ========================================
   TYPOGRAPHY
======================================== */
.ashn_page h1,
.ashn_page h2,
.ashn_page h3,
.ashn_page p {
	margin-top: 0;
}

.ashn_page h1,
.ashn_page h2 {
	font-family: var(--ashn_serif);
	font-weight: 400;
	letter-spacing: -.035em;
}

.ashn_page h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 5vw, 74px);
	line-height: .98;
	color: #303038;
}

.ashn_page h2 span {
	color: #822984;
	font-style: italic;
}

.ashn_page p {
	font-size: 17px;
	line-height: 1.75;
	color: #303038;
}

.ashn_lead {
	font-size: 21px !important;
	line-height: 1.58 !important;
	color: #303038 !important;
}

/* ========================================
   EYEBROWS
======================================== */
.ashn_eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #A2027B;
}

.ashn_eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	flex: 0 0 34px;
	background: currentColor;
}

.ashn_eyebrow_light {
	color: #FFFFFF !important;
}

/* ========================================
   BUTTONS
======================================== */
.ashn_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: var(--ashn_sans);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.ashn_btn:hover {
	transform: translateY(-3px);
}

/* PRIMARY PURPLE */
.ashn_btn_primary {
	border: 1px solid #822984 !important;
	background: #822984 !important;
	color: #FFFFFF !important;
}

.ashn_btn_primary:hover {
	border-color: #6C4E8C !important;
	background: #6C4E8C !important;
	color: #FFFFFF !important;
}

/* OUTLINE */
.ashn_btn_outline {
	border: 1px solid rgba(255, 255, 255, 0.82) !important;
	background: rgba(48, 48, 56, 0.08) !important;
	color: #FFFFFF !important;
}

.ashn_btn_outline:hover {
	border-color: #822984 !important;
	background: #822984 !important;
	color: #FFFFFF !important;
}

/* WHITE */
.ashn_btn_white {
	border: 1px solid #FFFFFF !important;
	background: #FFFFFF !important;
	color: #822984 !important;
}

.ashn_btn_white:hover {
	border-color: #822984 !important;
	background: #822984 !important;
	color: #FFFFFF !important;
}

/* ========================================
   TEXT LINKS
======================================== */
.ashn_text_link {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-top: 14px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--ashn_border);
	font-size: 14px;
	font-weight: 700;
	color: #303038 !important;
	transition: gap .25s ease, color .25s ease;
}

.ashn_text_link span {
	color: #822984 !important;
}

.ashn_text_link:hover {
	gap: 20px;
	color: #822984 !important;
}

/* ========================================
   HERO
======================================== */
.ashn_hero {
	position: relative;
	min-height: 720px;
	height: calc(100vh - 150px);
	max-height: 880px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #303038;
}

.ashn_hero_image {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 48%;
}

.ashn_hero_overlay {
	position: absolute;
	z-index: 1;
	background: linear-gradient(90deg,
			rgba(48, 48, 56, 0.78) 0%,
			rgba(48, 48, 56, 0.44) 45%,
			rgba(48, 48, 56, 0.03) 78%), linear-gradient(0deg,
			rgba(48, 48, 56, 0.48) 0%,
			rgba(48, 48, 56, 0) 48%);
}

.ashn_hero_inner {
	position: relative;
	z-index: 2;
	padding-bottom: 92px;
}

.ashn_hero_content {
	max-width: 1000px;
}

.ashn_hero_content h1 {
	max-width: 1000px;
	margin-bottom: 30px;
	font-family: var(--ashn_serif);
	font-size: clamp(64px, 6.3vw, 90px);
	font-weight: 400;
	line-height: .93;
	letter-spacing: -.04em;
	color: #FFFFFF !important;
}

.ashn_hero_main {
	display: block;
	color: #FFFFFF !important;
	font-style: normal !important;
}

/* STRONG BRAND MAGENTA */
.ashn_hero_emphasis {
	display: block;
	color: #A2027B !important;
	font-style: italic !important;
}

.ashn_hero_content p {
	max-width: 660px;
	margin-bottom: 36px;
	font-size: 19px;
	line-height: 1.65;
	color: #FFFFFF !important;
}

.ashn_hero_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.ashn_hero_note {
	position: absolute;
	right: 0;
	bottom: 34px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #FFFFFF !important;
}

.ashn_hero_note i {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #822984;
}

/* ========================================
   INTRO
======================================== */
.ashn_intro {
	padding: 140px 0 150px;
	background: #FFFFFF;
}

.ashn_intro_grid {
	display: grid;
	grid-template-columns: 1.12fr 0.72fr;
	align-items: start;
	gap: 120px;
}

.ashn_intro_heading h2 {
	max-width: 770px;
}

.ashn_intro_copy {
	max-width: 540px;
	padding-top: 48px;
}

.ashn_intro_copy p {
	margin-bottom: 20px;
}

/* ========================================
   PRINCIPLES
======================================== */
.ashn_principles {
	position: relative;
	padding: 145px 0;
	overflow: hidden;
	background: linear-gradient(135deg,
			#303038 0%,
			#6C4E8C 48%,
			#822984 100%);
}

.ashn_principles_glow {
	position: absolute;
	width: 620px;
	height: 620px;
	right: -240px;
	top: -300px;
	border-radius: 50%;
	background: #A2027B;
	filter: blur(125px);
	opacity: .3;
}

.ashn_principles .ashn_container {
	position: relative;
	z-index: 2;
}

.ashn_principles_heading {
	max-width: 850px;
	margin-bottom: 80px;
}

.ashn_principles_heading h2,
.ashn_principles_heading h2 span {
	color: #FFFFFF !important;
}

.ashn_principles_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.ashn_principle {
	padding: 38px 34px 8px 0;
}

.ashn_principle + .ashn_principle {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.24);
}

.ashn_principle_number {
	display: block;
	margin-bottom: 40px;
	font-family: var(--ashn_serif);
	font-size: 18px;
	color: #FFFFFF;
}

.ashn_principle h3 {
	margin: 0 0 16px;
	font-family: var(--ashn_serif);
	font-size: 30px;
	font-weight: 400;
	color: #FFFFFF !important;
}

.ashn_principle p {
	margin: 0;
	font-size: 15px;
	color: #FFFFFF !important;
}

/* ========================================
   SENSORY
======================================== */
.ashn_sensory {
	background: #F6F6F6;
}

.ashn_sensory_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 830px;
}

.ashn_sensory_image {
	position: relative;
	min-height: 830px;
	overflow: hidden;
}

.ashn_sensory_image img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ashn_image_label {
	position: absolute;
	z-index: 2;
	left: 38px;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 999px;
	background: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	color: #303038;
}

.ashn_image_label span {
	font-size: 18px;
	color: #822984;
}

.ashn_sensory_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px);
}

.ashn_sensory_content h2 {
	max-width: 690px;
}

.ashn_sensory_content > p {
	max-width: 640px;
	margin-bottom: 18px;
}

.ashn_sensory_content .ashn_lead {
	margin-top: 34px;
}

.ashn_sensory_list {
	max-width: 680px;
	margin-top: 26px;
	border-top: 1px solid var(--ashn_border);
}

.ashn_sensory_list > div {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid var(--ashn_border);
}

.ashn_list_number {
	padding-top: 4px;
	font-family: var(--ashn_serif);
	color: #822984;
}

.ashn_sensory_list h3 {
	margin: 0 0 4px;
	font-family: var(--ashn_serif);
	font-size: 22px;
	font-weight: 400;
	color: #303038;
}

.ashn_sensory_list p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #303038;
}

/* ========================================
   STATEMENT
======================================== */
.ashn_statement {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: linear-gradient(135deg,
			#303038 0%,
			#6C4E8C 52%,
			#822984 100%);
}

.ashn_statement_glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .34;
}

.ashn_statement_glow_one {
	width: 460px;
	height: 460px;
	left: -180px;
	top: -190px;
	background: #A2027B;
}

.ashn_statement_glow_two {
	width: 460px;
	height: 460px;
	right: -160px;
	bottom: -200px;
	background: #829B9E;
}

.ashn_statement_inner {
	position: relative;
	z-index: 2;
	max-width: 970px;
	margin: 0 auto;
	text-align: center;
}

.ashn_statement_icon {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 28px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #FFFFFF;
}

.ashn_statement .ashn_eyebrow {
	justify-content: center;
}

.ashn_statement h2,
.ashn_statement h2 span {
	color: #FFFFFF !important;
}

.ashn_statement h2 {
	font-size: clamp(56px, 6vw, 90px);
}

.ashn_statement h2 span {
	display: block;
}

.ashn_statement p {
	max-width: 710px;
	margin: 30px auto 0;
	font-size: 19px;
	color: #FFFFFF !important;
}

/* ========================================
   PACE
======================================== */
.ashn_pace {
	padding: 150px 0 170px;
	background: #FFFFFF;
}

.ashn_pace_grid {
	display: grid;
	grid-template-columns: 0.88fr 1fr;
	align-items: center;
	gap: 105px;
}

.ashn_pace_copy h2 {
	margin-bottom: 34px;
}

.ashn_pace_copy > p {
	max-width: 570px;
}

.ashn_pace_statements {
	margin-top: 34px;
	border-top: 1px solid var(--ashn_border);
}

.ashn_pace_statements > div {
	display: grid;
	grid-template-columns: 50px 1fr;
	align-items: center;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--ashn_border);
}

.ashn_pace_statements span {
	font-family: var(--ashn_serif);
	color: #822984;
}

.ashn_pace_statements p {
	margin: 0;
	font-size: 15px;
	color: #303038;
}

.ashn_pace_images {
	position: relative;
	min-height: 680px;
}

.ashn_pace_main {
	position: absolute;
	top: 0;
	right: 0;
	width: 88%;
	height: 620px;
	overflow: hidden;
	border-radius: var(--ashn_radius_large);
	box-shadow: var(--ashn_shadow);
}

.ashn_pace_main img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ashn_pace_card {
	position: absolute;
	left: 0;
	bottom: 42px;
	width: 290px;
	padding: 28px;
	border-radius: var(--ashn_radius);
	background: linear-gradient(135deg,
			#6C4E8C 0%,
			#822984 100%);
	box-shadow: 0 22px 50px rgba(48, 48, 56, 0.24);
	color: #FFFFFF;
}

.ashn_pace_card span {
	display: block;
	margin-bottom: 9px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.ashn_pace_card strong {
	font-family: var(--ashn_serif);
	font-size: 27px;
	font-weight: 400;
	line-height: 1.1;
	color: #FFFFFF;
}

/* ========================================
   TOGETHER
======================================== */
.ashn_together {
	padding: 150px 0;
	background: #F6F6F6;
}

.ashn_together_grid {
	display: grid;
	grid-template-columns: 1fr 0.9fr;
	align-items: center;
	gap: 100px;
}

.ashn_together_image {
	height: 720px;
	overflow: hidden;
	border-radius: var(--ashn_radius_large);
}

.ashn_together_image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ashn_together_content h2 {
	margin-bottom: 34px;
}

.ashn_together_content > p {
	max-width: 560px;
}

.ashn_together_tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	max-width: 600px;
	margin: 28px 0 15px;
}

.ashn_together_tags span {
	padding: 10px 15px;
	border: 1px solid rgba(130, 41, 132, 0.3);
	border-radius: 999px;
	background: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	color: #303038;
}

/* ========================================
   DESTINATION LENS
======================================== */
.ashn_lens {
	position: relative;
	padding: 150px 0;
	overflow: hidden;
	background: linear-gradient(135deg,
			#303038 0%,
			#6C4E8C 48%,
			#822984 100%);
}

.ashn_lens::before {
	content: "";
	position: absolute;
	width: 520px;
	height: 520px;
	right: -250px;
	bottom: -280px;
	border-radius: 50%;
	background: #A2027B;
	filter: blur(125px);
	opacity: .28;
}

.ashn_lens .ashn_container {
	position: relative;
	z-index: 2;
}

.ashn_lens_heading {
	display: grid;
	grid-template-columns: 1fr 0.6fr;
	align-items: end;
	gap: 80px;
	margin-bottom: 60px;
}

.ashn_lens_heading h2,
.ashn_lens_heading h2 span {
	color: #FFFFFF !important;
}

.ashn_lens_heading > p {
	max-width: 500px;
	margin: 0;
	padding-bottom: 8px;
	color: #FFFFFF !important;
}

.ashn_lens_grid {
	display: grid;
	grid-template-columns: 0.88fr 1.1fr;
	gap: 24px;
}

.ashn_lens_image {
	min-height: 720px;
	overflow: hidden;
	border-radius: var(--ashn_radius);
}

.ashn_lens_image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ashn_lens_questions {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2px;
	overflow: hidden;
	border-radius: var(--ashn_radius);
}

.ashn_question {
	padding: 40px 34px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.09);
}

.ashn_question span {
	display: block;
	margin-bottom: 50px;
	font-family: var(--ashn_serif);
	font-size: 18px;
	color: #FFFFFF;
}

.ashn_question h3 {
	margin: 0 0 15px;
	font-family: var(--ashn_serif);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.08;
	color: #FFFFFF !important;
}

.ashn_question p {
	margin: 0;
	font-size: 15px;
	color: #FFFFFF !important;
}

.ashn_lens_action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	margin-top: 40px;
	padding-top: 36px;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.ashn_lens_action p {
	margin: 0;
	font-family: var(--ashn_serif);
	font-size: 24px;
	color: #FFFFFF !important;
}

/* ========================================
   TOOLS
======================================== */
.ashn_tools {
	padding: 150px 0;
	background: #FFFFFF;
}

.ashn_tools_heading {
	max-width: 800px;
	margin-bottom: 58px;
}

.ashn_tools_heading p {
	max-width: 650px;
	margin-top: 28px;
	font-size: 18px;
}

.ashn_tools_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.ashn_tool_card {
	display: grid;
	grid-template-columns: 0.78fr 1fr;
	min-height: 430px;
	overflow: hidden;
	border: 1px solid var(--ashn_border);
	border-radius: var(--ashn_radius);
	background: #F6F6F6;
	color: #303038 !important;
	transition: transform .35s ease, box-shadow .35s ease;
}

.ashn_tool_card:hover {
	transform: translateY(-7px);
	box-shadow: var(--ashn_shadow);
}

.ashn_tool_image {
	position: relative;
	min-height: 430px;
	overflow: hidden;
}

.ashn_tool_image img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .6s ease;
}

.ashn_tool_card:hover .ashn_tool_image img {
	transform: scale(1.05);
}

.ashn_tool_overlay {
	position: absolute;
	background: linear-gradient(0deg,
			rgba(48, 48, 56, 0.2),
			transparent 60%);
}

.ashn_tool_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 38px;
}

.ashn_tool_type {
	margin-bottom: 16px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #A2027B;
}

.ashn_tool_content h3 {
	margin: 0 0 18px;
	font-family: var(--ashn_serif);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.08;
	color: #303038 !important;
}

.ashn_tool_content p {
	font-size: 15px;
	color: #303038 !important;
}

.ashn_tool_link {
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #822984 !important;
}

/* ========================================
   WHY THIS MATTERS
======================================== */
.ashn_matters {
	background: #F6F6F6;
}

.ashn_matters_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 820px;
}

.ashn_matters_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px clamp(55px, 7vw, 120px) 90px max(40px, calc((100vw - 1240px) / 2));
}

.ashn_matters_content h2 {
	max-width: 690px;
	margin-bottom: 34px;
}

.ashn_matters_content > p {
	max-width: 630px;
	margin-bottom: 18px;
}

.ashn_matters_image {
	position: relative;
	min-height: 820px;
	overflow: hidden;
}

.ashn_matters_image > img {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ashn_matters_quote {
	position: absolute;
	z-index: 2;
	left: 38px;
	right: 38px;
	bottom: 38px;
	padding: 28px 32px;
	border-radius: var(--ashn_radius);
	background: #FFFFFF;
}

.ashn_matters_quote span {
	display: block;
	height: 34px;
	font-family: var(--ashn_serif);
	font-size: 58px;
	line-height: .9;
	color: #822984;
}

.ashn_matters_quote p {
	margin: 5px 0 0;
	font-family: var(--ashn_serif);
	font-size: 27px;
	line-height: 1.15;
	color: #303038 !important;
}

/* ========================================
   MANIFESTO
======================================== */
.ashn_manifesto {
	padding: 160px 0;
	background: #FFFFFF;
}

.ashn_manifesto_inner {
	max-width: 950px;
	margin: 0 auto;
	text-align: center;
}

.ashn_manifesto .ashn_eyebrow {
	justify-content: center;
}

.ashn_manifesto h2 {
	font-size: clamp(64px, 7vw, 105px);
	line-height: .93;
}

.ashn_manifesto h2 span {
	color: #822984 !important;
}

.ashn_manifesto_inner > p {
	max-width: 690px;
	margin: 38px auto 0;
	font-size: 18px;
}

.ashn_manifesto_highlight {
	font-family: var(--ashn_serif);
	font-size: 29px !important;
	color: #303038 !important;
}

/* ========================================
   FINAL CTA
======================================== */
.ashn_final {
	position: relative;
	padding: 150px 0 160px;
	overflow: hidden;
	background: linear-gradient(135deg,
			#303038 0%,
			#6C4E8C 50%,
			#822984 100%);
}

.ashn_final::before {
	content: "";
	position: absolute;
	background: radial-gradient(circle at 50% 0%,
			rgba(162, 2, 123, 0.32),
			transparent 52%);
}

.ashn_final_glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	opacity: .34;
}

.ashn_final_glow_one {
	width: 460px;
	height: 460px;
	left: -170px;
	bottom: -210px;
	background: #A2027B;
}

.ashn_final_glow_two {
	width: 430px;
	height: 430px;
	right: -160px;
	top: -170px;
	background: #829B9E;
}

.ashn_final .ashn_container {
	position: relative;
	z-index: 2;
}

.ashn_final_inner {
	max-width: 950px;
	margin: 0 auto;
	text-align: center;
}

.ashn_final_heart {
	width: 78px;
	height: 78px;
	display: grid;
	margin: 0 auto 30px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 34px;
	color: #FFFFFF;
}

.ashn_final .ashn_eyebrow {
	justify-content: center;
}

.ashn_final h2,
.ashn_final h2 span {
	color: #FFFFFF !important;
}

.ashn_final h2 {
	max-width: 900px;
	margin: 0 auto;
	font-size: clamp(55px, 6vw, 90px);
}

.ashn_final h2 span {
	display: block;
}

.ashn_final p {
	max-width: 710px;
	margin: 30px auto 0;
	font-size: 18px;
	color: #FFFFFF !important;
}

.ashn_final_actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

/* ========================================
   LARGE TABLET
======================================== */
@media (max-width: 1150px) {
	.ashn_intro_grid {
		gap: 70px;
	}
	
	.ashn_principles_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.ashn_principle:nth-child(3),
		.ashn_principle:nth-child(4) {
		padding-top: 38px;
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}
	
	.ashn_pace_grid,
		.ashn_together_grid {
		gap: 60px;
	}
	
	.ashn_tools_grid {
		grid-template-columns: 1fr;
	}
}

/* ========================================
   TABLET
======================================== */
@media (max-width: 900px) {
	.ashn_container {
		width: min(100% - 40px, 1240px);
	}
	
	.ashn_hero {
		min-height: 760px;
	}
	
	.ashn_hero_inner {
		padding-bottom: 70px;
	}
	
	.ashn_hero_note {
		display: none;
	}
	
	.ashn_intro,
		.ashn_pace,
		.ashn_together,
		.ashn_tools,
		.ashn_manifesto {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	.ashn_intro_grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	
	.ashn_intro_copy {
		max-width: 700px;
		padding-top: 0;
	}
	
	.ashn_sensory_grid,
		.ashn_matters_grid {
		grid-template-columns: 1fr;
	}
	
	.ashn_sensory_image,
		.ashn_matters_image {
		min-height: 600px;
	}
	
	.ashn_sensory_content,
		.ashn_matters_content {
		padding: 90px 40px;
	}
	
	.ashn_pace_grid,
		.ashn_together_grid {
		grid-template-columns: 1fr;
	}
	
	.ashn_pace_images {
		min-height: 700px;
	}
	
	.ashn_together_image {
		height: 650px;
	}
	
	.ashn_lens_heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.ashn_lens_grid {
		grid-template-columns: 1fr;
	}
	
	.ashn_lens_image {
		min-height: 600px;
	}
	
	.ashn_lens_action {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 680px) {
	.ashn_container {
		width: min(100% - 28px, 1240px);
	}
	
	.ashn_page h2 {
		font-size: clamp(40px, 12vw, 56px);
	}
	
	.ashn_hero {
		min-height: 730px;
		height: 88vh;
	}
	
	.ashn_hero_image {
		object-position: 54% center;
	}
	
	.ashn_hero_overlay {
		background: linear-gradient(0deg,
					rgba(48, 48, 56, 0.92) 0%,
					rgba(48, 48, 56, 0.28) 76%);
	}
	
	.ashn_hero_content h1 {
		font-size: clamp(50px, 14vw, 70px);
		line-height: .94;
	}
	
	.ashn_hero_content p {
		font-size: 16px;
	}
	
	.ashn_hero_actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.ashn_hero_actions .ashn_btn {
		width: 100%;
	}
	
	.ashn_intro,
		.ashn_pace,
		.ashn_together,
		.ashn_tools,
		.ashn_manifesto {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	
	.ashn_principles,
		.ashn_lens {
		padding: 90px 0;
	}
	
	.ashn_principles_heading {
		margin-bottom: 50px;
	}
	
	.ashn_principles_grid {
		grid-template-columns: 1fr;
	}
	
	.ashn_principle,
		.ashn_principle + .ashn_principle {
		padding: 28px 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}
	
	.ashn_principle_number {
		margin-bottom: 18px;
	}
	
	.ashn_sensory_image,
		.ashn_matters_image {
		min-height: 470px;
	}
	
	.ashn_image_label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		justify-content: center;
		text-align: center;
	}
	
	.ashn_sensory_content,
		.ashn_matters_content {
		padding: 70px 24px;
	}
	
	.ashn_statement {
		padding: 100px 0;
	}
	
	.ashn_statement h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.ashn_pace_images {
		min-height: 570px;
	}
	
	.ashn_pace_main {
		left: 30px;
		right: 0;
		width: auto;
		height: 520px;
	}
	
	.ashn_pace_card {
		width: 245px;
		padding: 22px;
	}
	
	.ashn_together_image {
		height: 520px;
	}
	
	.ashn_lens_image {
		min-height: 520px;
	}
	
	.ashn_lens_questions {
		grid-template-columns: 1fr;
	}
	
	.ashn_question span {
		margin-bottom: 20px;
	}
	
	.ashn_tool_card {
		grid-template-columns: 1fr;
	}
	
	.ashn_tool_image {
		min-height: 340px;
		height: 340px;
	}
	
	.ashn_tool_content {
		padding: 30px 26px 34px;
	}
	
	.ashn_matters_quote {
		left: 20px;
		right: 20px;
		bottom: 20px;
	}
	
	.ashn_manifesto h2 {
		font-size: clamp(54px, 15vw, 76px);
	}
	
	.ashn_final {
		padding: 100px 0;
	}
	
	.ashn_final h2 {
		font-size: clamp(48px, 13vw, 66px);
	}
	
	.ashn_final p {
		font-size: 16px;
	}
	
	.ashn_final_actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.ashn_final_actions .ashn_btn {
		width: 100%;
	}
}

/* ========================================
   SMALL MOBILE
======================================== */
@media (max-width: 420px) {
	.ashn_pace_images {
		min-height: 500px;
	}
	
	.ashn_pace_main {
		left: 18px;
		height: 450px;
	}
	
	.ashn_pace_card {
		width: 220px;
	}
	
	.ashn_together_image {
		height: 460px;
	}
}

/* ========================================
   WORDPRESS COLOUR SAFETY
======================================== */
/* HERO */
body .ashn_page .ashn_hero h1,
body .ashn_page .ashn_hero .ashn_hero_main {
	color: #FFFFFF !important;
}

body .ashn_page .ashn_hero .ashn_hero_emphasis {
	color: #A2027B !important;
}

/* PRIMARY BUTTONS */
body .ashn_page .ashn_btn_primary,
body .ashn_page .ashn_btn_primary:link,
body .ashn_page .ashn_btn_primary:visited {
	background: #822984 !important;
	border-color: #822984 !important;
	color: #FFFFFF !important;
}

/* LIGHT SECTION PURPLE EMPHASIS */
body .ashn_page .ashn_intro h2 span,
body .ashn_page .ashn_sensory h2 span,
body .ashn_page .ashn_pace h2 span,
body .ashn_page .ashn_together h2 span,
body .ashn_page .ashn_tools h2 span,
body .ashn_page .ashn_matters h2 span,
body .ashn_page .ashn_manifesto h2 span {
	color: #822984 !important;
}

/* DARK SECTIONS */
body .ashn_page .ashn_principles h2,
body .ashn_page .ashn_principles h2 span,
body .ashn_page .ashn_principles h3,
body .ashn_page .ashn_principles p,

body .ashn_page .ashn_statement h2,
body .ashn_page .ashn_statement h2 span,
body .ashn_page .ashn_statement p,

body .ashn_page .ashn_lens h2,
body .ashn_page .ashn_lens h2 span,
body .ashn_page .ashn_lens h3,
body .ashn_page .ashn_lens p,

body .ashn_page .ashn_final h2,
body .ashn_page .ashn_final h2 span,
body .ashn_page .ashn_final p {
	color: #FFFFFF !important;
}