@charset "UTF-8";
/*

Theme Name: mtn-view

Theme URI: https://wordpress.org/themes/twentytwentyone/

Author: the WordPress team

Author URI: https://wordpress.org/

Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.

Requires at least: 5.3

Tested up to: 6.0

Requires PHP: 5.6

Version: 1.9

License: GNU General Public License v2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: twentytwentyone

Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready



Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org

Twenty Twenty-One is distributed under the terms of the GNU GPL.

*/



/**

 * SETTINGS

 * File-header..........The file header for the themes style.css file.

 * Fonts................Any font files, if the project needs specific fonts.

 * Global...............Project-specific, globally available variables.

 *

 * TOOLS

 * Functions............Global functions.

 * Mixins...............Global mixins.

 *

 * GENERIC

 * Normalize.css........Normalise browser defaults.

 * Breakpoints..........Mixins and variables for responsive styles

 * Vertical-margins.....Vertical spacing for the main components.

 * Reset................Reset specific elements to make them easier to style in other contexts.

 * Clearings............Clearings for the main components.

 *

 * ELEMENTS

 * Blockquote...........Default blockquote.

 * Forms................Element-level form styling.

 * Headings.............H1–H6

 * Links................Default links.

 * Lists................Default lists.

 * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.

 *

 * BLOCKS

 * Audio................Specific styles for the audio block.

 * Button...............Specific styles for the button block.

 * Code.................Specific styles for the code block.

 * Columns..............Specific styles for the columns block.

 * Cover................Specific styles for the cover block.

 * File.................Specific styles for the file block.

 * Gallery..............Specific styles for the gallery block.

 * Group................Specific styles for the group block.

 * Heading..............Specific styles for the heading block.

 * Image................Specific styles for the image block.

 * Latest comments......Specific styles for the latest comments block.

 * Latest posts.........Specific styles for the latest posts block.

 * Legacy...............Specific styles for the legacy gallery.

 * List.................Specific styles for the list block.

 * Media text...........Specific styles for the media and text block.

 * Navigation...........Specific styles for the navigation block.

 * Paragraph............Specific styles for the paragraph block.

 * Pullquote............Specific styles for the pullquote block.

 * Quote................Specific styles for the quote block.

 * Search...............Specific styles for the search block.

 * Separator............Specific styles for the separator block.

 * Table................Specific styles for the table block.

 * Verse................Specific styles for the verse block.

 * Video................Specific styles for the video block.

 * Utilities............Block alignments.

 *

 * COMPONENTS

 * Header...............Header styles.

 * Footer...............Footer styles.

 * Comments.............Comment styles.

 * Archives.............Archive styles.

 * 404..................404 styles.

 * Search...............Search styles.

 * Navigation...........Navigation styles.

 * Footer Navigation....Footer Navigation styles.

 * Pagination...........Pagination styles.

 * Single...............Single page and post styles.

 * Posts and pages......Misc, sticky post styles.

 * Entry................Entry, author biography.

 * Widget...............Widget styles.

 * Editor...............Editor styles.

 *

 * UTILITIES

 * A11y.................Screen reader text, prefers reduced motion etc.

 * Color Palette........Classes for the color palette colors.

 * Editor Font Sizes....Editor Font Sizes.

 * Measure..............The width of a line of text, in characters.

 */



/* Categories 01 to 03 are the basics. */



/* Variables */



/* ==========================================

   MOUNTAIN VIEW MORTUARY & CEMETERY — style.css

   1. Base / reset & shared elements

   2. Homepage sections (buttons, header, hero … footer)

   3. Shared owl-carousel navigation

   4. Extracted utility classes

   5. Global responsive media queries

   6. Per-page sections (internal pages, alphabetical)

========================================== */



/* BASE / RESET */

.wpcf7-spinner {
	position: absolute;
	right: 0;
}
.owl-carousel .owl-stage-outer {
	padding: 15px 0 35px 0;
}
* {
	box-sizing: border-box
}
html, body {
	margin: 0;
	padding: 0
}
.alignleft {
	float: left;
	margin: 0 30px 20px 0;
}
.alignright {
	float: right;
	margin: 0 0 20px 30px;
}
.wp-video {
	margin: 0 auto;
}
.slide_menu_icon,  .slide_nav {
	display: none;
}
.slot-img {
	object-fit: cover;
	object-position: center;
	display: block;
	width: 100%;
	height: 100%
}
body {
	font-family: 'Figtree', system-ui, sans-serif;
	color: #3a2e30;
	background: #eeebe6ad;
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility
}
img {
	display: block;
	max-width: 100%;
	height: auto
}
a {
	color: #8a2050;
	text-decoration: none
}
a:hover {
	color: #a13a63
}
button {
	font-family: inherit
}
section[id], #quote {
	scroll-margin-top: 22px
}
.wrap {
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 32px
}
h1, h2, h3, h4 {
	margin: 0;
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	line-height: 1.05;
	letter-spacing: -.03em;
	color: #4a0e2c;
	font-weight: 700
}
h2 {
	font-size: clamp(28px, 4.4vw, 50px)
}
h2 em, h1 em {
	font-style: normal;
	color: #8a2050
}
p {
	margin: 0 0 1em;
	text-wrap: pretty
}
.serif {
	font-family: 'Bricolage Grotesque', serif
}
.eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #8a2050;
	display: inline-flex;
	align-items: center;
	gap: 10px
}
.eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	background: #a13a63;
	transform: rotate(45deg);
	border-radius: 1px
}
/* BUTTONS */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 26px;
	border-radius: 999px;
	border: 0;
	cursor: pointer;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .01em;
	text-decoration: none;
	white-space: nowrap;
	transition: transform .18s ease, box-shadow .25s ease, background .2s, color .2s
}
.btn svg {
	width: 18px;
	height: 18px
}
.btn-primary {
	background: linear-gradient(135deg, #c77b9c, #a13a63 55%, #8a2050);
	color: #fff;
	box-shadow: 0 10px 26px rgba(161,58,99,.4)
}
.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(161,58,99,.5);
	color: #fff
}
.btn-primary:active {
	transform: translateY(0)
}
.btn-dark {
	background: #4a0e2c;
	color: #fff;
	box-shadow: 0 8px 22px rgba(74,14,44,.26)
}
.btn-dark:hover {
	background: #2a0817;
	color: #fff;
	transform: translateY(-2px)
}
.btn-ghost {
	background: transparent;
	color: #4a0e2c;
	border: 1.5px solid rgba(74,14,44,.28)
}
.btn-ghost:hover {
	background: #4a0e2c;
	color: #fff;
	border-color: #4a0e2c
}
.pill-green {
	background: #a13a63;
	color: #fff;
	padding: 5px 12px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .04em
}
.pill-green:hover {
	color: #fff
}
/* UTILITY BAR */

.util {
	background: #2a0817;
	color: #d9c5cc;
	font-size: 13px
}
.util .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 32px;
	gap: 18px;
	flex-wrap: wrap
}
.util a {
	color: #fff
}
.util .left {
	display: flex;
	gap: 26px;
	flex-wrap: wrap
}
.util .left span {
	display: inline-flex;
	align-items: center;
	gap: 8px
}
.util .left svg {
	color: #a13a63
}
.util .right {
	display: flex;
	gap: 18px;
	align-items: center
}
/* HEADER */

header.nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255,253,247,.82);
	backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid rgba(74,14,44,.12)
}
.nav-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 32px;
	gap: 24px;
	max-width: 1220px;
	margin: 0 auto
}
.logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	flex: none
}
.logo img {
	width: 300px;
	border-radius: 14px
}
.nav-cta {
	display: flex;
	align-items: center;
	gap: 22px
}
.phone-big {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: #4a0e2c
}
.phone-big:hover {
	color: #4a0e2c
}
.phone-big .ic {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #4a0e2c;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #c77b9c
}
.phone-big .meta {
	display: flex;
	flex-direction: column;
	line-height: 1
}
.phone-big .lbl {
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: .18em;
	color: #7a6468;
	font-weight: 700;
	margin-bottom: 5px
}
.phone-big .num {
	font-size: 21px;
	font-weight: 800;
	letter-spacing: -.01em;
	font-family: 'Bricolage Grotesque'
}
.nav-bottom {
	border-top: 1px solid rgba(74,14,44,.12);
	background: rgba(255,253,247,.55)
}
.h_nav {
	display: inline-block;
}
.h_nav .menu {
	display: flex;
	gap: 0;
	padding: 0;
	margin: 0;
}
.h_nav li {
	display: inline-block;
	position: relative;
	margin: 0;
}
.h_nav li button {
	display: none;
}
.h_nav li:last-child {
	padding-right: 0;
}
.h_nav li.menu-item-has-children a {
	padding-right: 20px;
}
.h_nav li.menu-item-has-children::after {
	content: "";
	width: 5px;
	height: 5px;
	border-right: 2px solid #4a0e2c;
	border-bottom: 2px solid #4a0e2c;
	transform: rotate(45deg) translateY(-2px);
	margin-left: 0px;
	opacity: 1;
	display: inline-block;
	position: absolute;
	right: 5px;
	top: 21px;
}
.h_nav li.menu-item-has-children a:hover,  .h_nav li.menu-item-has-children:hover:after {
	color: #a13a63;
	border-color: #a13a63;
}
.h_nav li a {
	display: block;
	color: #4a0e2c;
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .03em;
	padding: 15px 18px;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .15s;
	position: relative;
	text-decoration: none;
}
.h_nav li a:after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 9px;
	height: 2px;
	background: #a13a63;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s;
}
.h_nav li.current-menu-parent:after,  .h_nav li.current-menu-parent > a,  .h_nav li.current_page_item > a,  .h_nav li.current_page_item:after,  .h_nav li a:hover {
	color: #a13a63;
	border-color: #a13a63;
	transition: all 0.5s ease 0s;
}
.h_nav li.current_page_item a:after,  .h_nav li a:hover:after {
	transform: scaleX(1);
}
.h_nav li .sub-menu {
	webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	position: absolute;
	min-width: 280px;
	top: 100%;
	visibility: hidden;
	opacity: 0;
	background: #fff;
	padding: 8px;
	border-radius: 12px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	-webkit-box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	z-index: 7777;
	text-align: left;
	transform-origin: 50% 0;
	-webkit-transform: scaleY(0);
	-ms-transform: scaleY(0);
	transform: scaleY(0);
	margin-top: 0px;
	border: 1px solid #e9e6d8;
}
.h_nav li:hover .sub-menu {
	visibility: visible;
	opacity: 1;
	-webkit-transform: scaleY(100%);
	-ms-transform: scaleY(100%);
	transform: scaleY(100%);
}
.h_nav li .sub-menu li {
	width: 100%;
	padding: 0;
	display: block;
}
.h_nav li .sub-menu li a {
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #000000;
}
.h_nav li .sub-menu li a:after {
	display: none;
}
.h_nav li .sub-menu li.current_page_item a {
	color: #a13a63;
	background: rgba(74, 14, 44, .06);
}
.h_nav li .sub-menu li:hover a {
	background: rgba(74,14,44,.06);
	text-decoration: none;
}
.h_nav li .sub-menu li a:hover {
	color: #a13a63;
}
.h_nav li.btn {
	background-color: transparent;
	padding: 0;
	margin-left: 16px;
	overflow: inherit;
}
.h_nav li.btn:before {
	display: none;
}
.h_nav li.btn a {
	background-color: #a13a63;
	padding: 7.3px 14.53px;
	color: #fff;
	border-radius: 4px;
}
.nav-bottom .wrap {
	display: flex;
	align-items: center;
	flex-direction: column;
}
/* HERO (light) */

.hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #f7eef0;
	padding: 0
}
.hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0
}
.hero-bg .slot-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	object-position: 78% center
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(100deg, #f7eef0 0%, #f7eef0 40%, rgba(247,238,240,.74) 58%, rgba(247,238,240,.12) 84%), radial-gradient(680px 480px at 6% -5%, rgba(194,160,90,.16), transparent 60%)
}
.hero .wrap {
	position: relative;
	z-index: 2;
	display: grid;
 grid-template-columns:1.1fr .95fr;
	gap: 56px;
	align-items: center;
	padding: 60px 32px 74px
}
.hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 15px 7px 7px;
	background: rgba(255,255,255,.7);
	border: 1px solid rgba(74,14,44,.12);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: #4a0e2c;
	backdrop-filter: blur(8px)
}
.hero-eyebrow .dot {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #a13a63;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff
}
.hero h1 {
	font-size: clamp(36px, 5.6vw, 66px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.035em;
	margin: 22px 0 20px;
	color: #4a0e2c
}
.hero h1 em {
	color: #8a2050
}
.contentbox p,  .hero-sub {
	font-size: 19px;
	color: #7a6468;
	max-width: 540px;
	margin-bottom: 28px
}
.hero-bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px
}
.hero-bullets li, .hero-bullets-light li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 15px;
	font-weight: 600;
	color: #4a0e2c
}
.hero-bullets svg, .hero-bullets-light svg {
	flex: none;
	margin-top: 2px;
	color: #8a2050
}
.hero-ctas {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 32px;
	margin-top: 30px
}
.hero-trust {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap
}
.stars {
	display: inline-flex;
	gap: 2px;
	color: #a13a63
}
.hero-trust .rating {
	display: flex;
	flex-direction: column;
	gap: 3px
}
.hero-trust .rating b {
	font-size: 19px;
	color: #4a0e2c;
	letter-spacing: -.01em;
	font-family: 'Bricolage Grotesque'
}
.hero-trust .rating span {
	font-size: 13px;
	color: #3a2e30;
	font-weight: 500
}
.hero-trust .divider {
	width: 1px;
	height: 38px;
	background: rgba(74,14,44,.12)
}
.hero .btn-ghost {
	color: #4a0e2c;
	border-color: rgba(74,14,44,.3)
}
.hero .btn-ghost:hover {
	color: #fff
}
/* HERO QUOTE CARD (glass) */

.quote-card {
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(255,255,255,.75);
	border-radius: 24px;
	box-shadow: 0 34px 80px rgba(42,8,23,.22);
	overflow: hidden;
	position: relative;
	backdrop-filter: blur(18px) saturate(160%)
}
.quote-card .qhead {
	background: linear-gradient(135deg, #4a0e2c, #2a0817);
	color: #fff;
	padding: 22px 26px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px
}
.quote-card .qhead h3 {
	color: #fff;
	font-size: 22px;
	letter-spacing: -.02em
}
.quote-card .qhead .badge {
	background: #a13a63;
	color: #fff;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .06em;
	padding: 6px 12px;
	border-radius: 999px;
	text-transform: uppercase
}
.quote-card form {
	padding: 22px 26px 26px;
	display: grid;
	gap: 14px
}
.row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px
}
.field {
	display: flex;
	flex-direction: column;
	gap: 6px
}
.field label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #7a6468
}
.field input, .field select, .field textarea {
	font: inherit;
	color: #3a2e30;
	border: 1.5px solid rgba(74,14,44,.12);
	background: rgba(255,255,255,.72);
	padding: 13px 14px;
	border-radius: 12px;
	outline: none;
	width: 100%;
	transition: border-color .15s, box-shadow .15s;
}
.field textarea {
	height: 110px;
}
.field input:focus, .field select:focus, .field textarea:focus {
	border-color: #a13a63;
	box-shadow: 0 0 0 3px rgba(194,160,90,.22)
}
.quote-card .fineprint {
	font-size: 12px;
	color: #7a6468;
	text-align: center;
	margin-top: 4px
}
.quote-card .submit-row {
	display: flex;
	gap: 10px;
	align-items: center
}
.quote-card .submit-row .btn {
	flex: 1
}
/* TRUST STRIP (elevated cards) */

.trust-strip {
	background: #fffbf9;
	border-top: 1px solid rgba(74,14,44,.12)
}
.trust-strip .wrap {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	padding: 48px 32px 28px
}
.trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 14px;
	padding: 30px 18px;
	background: #f7eef0;
	border: 1px solid rgba(74,14,44,.12);
	border-radius: 18px;
	box-shadow: 0 2px 10px rgba(42,8,23,.06);
	transition: transform .22s, box-shadow .22s
}
.trust-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 44px rgba(42,8,23,.12)
}
.trust-item .ic {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: linear-gradient(135deg, #c77b9c, #8a2050);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex: none;
	box-shadow: 0 6px 16px rgba(161,58,99,.32)
}
.trust-item .ic svg {
	width: 26px;
	height: 26px
}
.trust-item b {
	display: block;
	font-size: 16px;
	color: #4a0e2c;
	letter-spacing: -.01em;
	line-height: 1.15;
	font-family: 'Bricolage Grotesque'
}
.trust-item span {
	display: block;
	font-size: 13px;
	color: #7a6468;
	margin-top: 5px
}
/* SECTION SHELL */

section {
	padding: 76px 0
}
.section-head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: end;
	margin-bottom: 54px
}
.section-head .left h2 {
	max-width: 18ch
}
.section-head .right {
	color: #7a6468;
	font-size: 17px
}
/* ABOUT (light) */

.about {
	background: #fffbf9
}
.about .contentbox p {
	color: #4a5468;
	font-size: 17px;
	margin-top: 18px;
}
.about .wrap {
	display: grid;
 grid-template-columns:.95fr 1.1fr;
	gap: 64px;
	align-items: center
}
.about-img {
	position: relative;
	aspect-ratio: 4/5;
	border-radius: 26px;
	overflow: hidden;
	background: #4a0e2c;
	box-shadow: 0 34px 80px rgba(42,8,23,.22)
}
.about-img .slot-img {
	position: absolute;
	inset: 0
}
.about-img .est {
	position: absolute;
	left: -24px;
	top: -24px;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background: linear-gradient(135deg, #c77b9c, #8a2050);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 16px 44px rgba(42,8,23,.12);
	text-align: center;
	border: 6px solid #fffbf9
}
.about-img .est .y {
	font-family: 'Bricolage Grotesque';
	font-weight: 800;
	font-size: 34px;
	line-height: 1
}
.about-img .est .l {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 800;
	margin-top: 4px
}
.about-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 32px 0
}
.about-stats .st {
	background: #f7eef0;
	border-radius: 16px;
	padding: 20px 16px;
	text-align: center;
	border: 1px solid rgba(74,14,44,.12)
}
.about-stats .st .n {
	font-size: 32px;
	font-weight: 800;
	color: #4a0e2c;
	letter-spacing: -.02em;
	line-height: 1;
	font-family: 'Bricolage Grotesque'
}
.about-stats .st .n em {
	font-style: normal;
	color: #8a2050
}
.about-stats .st .l {
	font-size: 12.5px;
	line-height:1.3;
	color: #7a6468;
	margin-top: 8px;
	font-weight: 600
}
/* SERVICES (dark) */

.services {
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .14) 1.4px, transparent 0), radial-gradient(110% 80% at 88% 8%, rgb(213 122 154 / 46%), transparent 60%), linear-gradient(180deg, #2a0817 0%, #4a0e2c 100%);
	background-size: 24px 24px, auto, auto;
	position: relative;
	color: #fff
}
.services h2 {
	color: #fff
}
.services .x46 {
	margin-top: 16px;
	padding-top: 30px;
	text-align: center
}
.services .x46 .x22 {
	margin-bottom: 24px
}
.x47 {
	color: #c77b9c
}
.x48 {
	grid-template-columns: 1fr;
	justify-content: center
}
.x49 {
	justify-content: center
}
.x50 {
	display: flex;
	align-items: center;
	gap: 10px
}
.x51 {
	margin-top: 28px
}
.services .eyebrow {
	color: #e8a8c2
}
.services .eyebrow::before {
	background: #e8a8c2
}
.services .head-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 30px;
	margin-bottom: 46px;
	flex-wrap: wrap
}
.svc {
	background: #fffbf9;
	border: 1px solid rgba(255,255,255,.06);
	border-radius: 26px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .25s, box-shadow .25s;
	height: 100%
}
.svc:hover {
	transform: translateY(-6px);
	box-shadow: 0 34px 80px rgba(42,8,23,.22)
}
.svc .img {
	aspect-ratio: 16/9;
	position: relative;
	overflow: hidden
}
.svc .img .price-tag {
	position: absolute;
	top: 14px;
	right: 14px;
	background: #a13a63;
	color: #fff;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .08em;
	padding: 6px 12px;
	border-radius: 999px;
	text-transform: uppercase
}
.svc .body {
	padding: 24px 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1
}
.svc h3 {
	font-size: 20px;
	color: #4a0e2c
}
.svc p {
	font-size: 17px;
	color: #7a6468;
	margin: 0;
	flex: 1
}
.svc .letter {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #a13a63;
	color: #fff;
	font-family: 'Bricolage Grotesque';
	font-weight: 800;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px
}
.svc .more {
	margin-top: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #8a2050;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: gap .2s
}
.svc .more:hover {
	gap: 12px;
	color: #8a2050
}
/* OWL CAROUSELS */

.svc-carousel.owl-carousel .owl-stage-outer {
	padding: 6px 0 24px;
	overflow: hidden
}
.svc-carousel.owl-carousel .owl-stage, .proj-carousel.owl-carousel .owl-stage {
	display: flex;
	align-items: stretch
}
.svc-carousel.owl-carousel .owl-item {
	padding: 0 9px;
	display: flex;
	flex: 1 0 auto
}
.proj-carousel.owl-carousel .owl-item {
	padding: 0 11px;
	display: flex;
	flex: 1 0 auto
}
.svc-carousel.owl-carousel .owl-item > div, .proj-carousel.owl-carousel .owl-item > div {
	width: 100%;
	display: flex;
	flex-direction: column
}
.svc-carousel.owl-carousel .owl-item .svc {
	flex: 1;
	height: auto;
	display: flex;
	flex-direction: column
}
.proj-carousel.owl-carousel .owl-item .proj {
	flex: 1
}
/* ---- Owl slider navigation arrows (shared by every carousel) ---- */

.owl-carousel {
	position: relative
}
.owl-carousel .owl-nav {
	margin: 0
}
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next {
	z-index: 6;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fffbf9!important;
	color: #4a0e2c!important;
	border: 1.5px solid rgba(74,14,44,.12)!important;
	box-shadow: 0 16px 44px rgba(42,8,23,.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .15s, color .15s, transform .15s, box-shadow .15s;
	font-size: 0;
	margin: 0;
	padding: 0
}
.owl-carousel .owl-nav button.owl-prev span, .owl-carousel .owl-nav button.owl-next span {
	display: none
}
.owl-carousel .owl-nav button.owl-prev::before, .owl-carousel .owl-nav button.owl-next::before {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	border-top: 2.5px solid currentColor;
	border-right: 2.5px solid currentColor
}
.owl-carousel .owl-nav button.owl-prev::before {
	transform: rotate(-135deg);
	margin-left: 4px
}
.owl-carousel .owl-nav button.owl-next::before {
	transform: rotate(45deg);
	margin-right: 4px
}
.owl-carousel .owl-nav button:hover {
	background: #a13a63!important;
	color: #fff!important;
	border-color: #a13a63!important;
	transform: translateY(-5px)
}
/* Variant A — arrows pinned to the top right of the slider */

.svc-carousel.owl-carousel .owl-nav, .process-carousel.owl-carousel .owl-nav, .wt-gallery.owl-carousel .owl-nav, .cd-gallery.owl-carousel .owl-nav, .fig-carousel.owl-carousel .owl-nav, .mv-gallery.owl-carousel .owl-nav, .maus-gallery.owl-carousel .owl-nav, .loc-gallery.owl-carousel .owl-nav, .sp-grid.owl-carousel .owl-nav, .sp-gallery.owl-carousel .owl-nav, .vi-gallery.owl-carousel .owl-nav {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	width: auto;
	display: flex;
	gap: 12px
}
.svc-carousel.owl-carousel, .process-carousel.owl-carousel, .wt-gallery.owl-carousel, .cd-gallery.owl-carousel, .fig-carousel.owl-carousel, .mv-gallery.owl-carousel, .maus-gallery.owl-carousel, .loc-gallery.owl-carousel, .sp-grid.owl-carousel, .sp-gallery.owl-carousel, .vi-gallery.owl-carousel {
	padding-top: 62px
}
.wt-gallery.owl-carousel, .cd-gallery.owl-carousel, .fig-carousel.owl-carousel, .mv-gallery.owl-carousel, .maus-gallery.owl-carousel, .loc-gallery.owl-carousel, .sp-grid.owl-carousel, .sp-gallery.owl-carousel, .vi-gallery.owl-carousel {
	margin-top: 80px
}
/* Variant B — arrows centred on the slider's left and right edges */

.proj-carousel.owl-carousel .owl-nav button.owl-prev, .proj-carousel.owl-carousel .owl-nav button.owl-next, .rev-carousel.owl-carousel .owl-nav button.owl-prev, .rev-carousel.owl-carousel .owl-nav button.owl-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 54px;
	height: 54px
}
.proj-carousel.owl-carousel .owl-nav button.owl-prev, .rev-carousel.owl-carousel .owl-nav button.owl-prev {
	left: 8px
}
.proj-carousel.owl-carousel .owl-nav button.owl-next, .rev-carousel.owl-carousel .owl-nav button.owl-next {
	right: 8px
}
.proj-carousel.owl-carousel .owl-nav button:hover, .rev-carousel.owl-carousel .owl-nav button:hover {
	transform: translateY(-50%) scale(1.06)
}
.svc-carousel .owl-dots, .proj-carousel .owl-dots, .rev-carousel .owl-dots, .process-carousel .owl-dots {
	text-align: center;
	margin-top: 18px
}
.svc-carousel .owl-dots .owl-dot span, .proj-carousel .owl-dots .owl-dot span {
	display: block;
	width: 9px;
	height: 9px;
	background: rgba(255,255,255,.3);
	margin: 0 4px
}
.process-carousel .owl-dots .owl-dot span {
	display: block;
	width: 9px;
	height: 9px;
	background: rgba(74,14,44,.22);
	margin: 0 4px
}
.process-carousel .owl-dots .owl-dot.active span {
	background: #a13a63;
	width: 28px;
	border-radius: 5px
}
.svc-carousel .owl-dots .owl-dot {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255,255,255,.12)!important;
	color: #fff;
	font-family: 'Bricolage Grotesque';
	font-weight: 800;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 4px;
	transition: background .15s, color .15s
}
.svc-carousel .owl-dots .owl-dot.active {
	background: #a13a63!important;
	color: #fff
}
.proj-carousel .owl-dots .owl-dot span {
	background: rgba(74,14,44,.25)
}
.svc-carousel .owl-dots .owl-dot.active span, .proj-carousel .owl-dots .owl-dot.active span {
	background: #a13a63;
	width: 28px;
	border-radius: 5px
}
.rev-carousel .owl-dots .owl-dot span {
	display: block;
	width: 9px;
	height: 9px;
	background: rgba(255,255,255,.28);
	margin: 0 4px
}
.rev-carousel .owl-dots .owl-dot.active span {
	background: #a13a63;
	width: 28px;
	border-radius: 5px
}
/* WHY US (light) */

.why {
	background: #fff
}
.why .wrap.x45 {
	display: block;
	margin-bottom: 54px
}
.why .wrap {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 64px;
	align-items: center
}
.why .wrap .contentbox p {
	color: #4a5468;
	font-size: 17px;
	margin-top: 14px;
}
.why-photo {
	position: relative;
	aspect-ratio: 15/16;
	border-radius: 26px;
	overflow: hidden;
	background: #4a0e2c;
	box-shadow: 0 34px 80px rgba(42,8,23,.22)
}
.why-photo .slot-img {
	position: absolute;
	inset: 0
}
.why-photo .stat {
	position: absolute;
	left: -28px;
	bottom: 40px;
	background: #fffbf9;
	padding: 20px 24px;
	border-radius: 18px;
	box-shadow: 0 16px 44px rgba(42,8,23,.12);
	min-width: 236px
}
.why-photo .stat .n {
	font-size: 46px;
	font-weight: 800;
	color: #4a0e2c;
	letter-spacing: -.03em;
	line-height: 1;
	font-family: 'Bricolage Grotesque'
}
.why-photo .stat .n em {
	font-style: normal;
	color: #8a2050
}
.why-photo .stat .l {
	font-size: 13px;
	color: #7a6468;
	margin-top: 4px;
	font-weight: 600
}
.why-photo .badge-ribbon {
	position: absolute;
	right: 5px;
	top: 30px;
	background: linear-gradient(135deg, #c77b9c, #8a2050);
	color: #fff;
	padding: 14px 18px;
	border-radius: 16px;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	box-shadow: 0 16px 44px rgba(42,8,23,.12)
}
.why-photo .badge-ribbon .big {
	font-size: 32px;
	letter-spacing: -.02em;
	font-family: 'Bricolage Grotesque'
}
.why-photo .badge-ribbon .sm {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 800;
	margin-top: 2px
}
.why-list {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
	display: grid;
	gap: 20px
}
.why-list li {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 18px;
	align-items: flex-start
}
.why-list .ic {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #fffbf9;
	border: 1px solid rgba(74,14,44,.12);
	color: #8a2050;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(42,8,23,.06)
}
.why-list h4 {
	font-size: 18px;
	color: #4a0e2c;
	margin-bottom: 4px
}
.why-list p {
	font-size: 15px;
	color: #7a6468;
	margin: 0
}
/* OFFER (dark) */

.offer {
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .14) 1.4px, transparent 0), radial-gradient(110% 80% at 88% 8%, rgb(213 122 154 / 46%), transparent 60%), linear-gradient(180deg, #4a0e2c 0%, #2a0817 100%);
	background-size: 24px 24px, auto, auto;
	color: #fff
}
.offer .wrap {
	display: grid;
	gap: 40px;
	align-items: center;
	text-align: center;
	justify-content: center
}
.offer .wrap .x5 {
	justify-content: center
}
.offer h2 {
	color: #fff
}
.offer h2 em {
	color: #c77b9c
}
.offer .sub {
	color: #aab4c6
}
.offer .btn-ghost {
	color: #fff;
	border-color: rgba(255,255,255,.5)
}
.offer .btn-ghost:hover {
	background: #fff;
	color: #4a0e2c;
	border-color: #fff
}
/* PROCESS (staggered step cards) */

.process {
	background: #efe6d2;
	position: relative;
	overflow: hidden
}
.process.x-white {
	background: #fff
}
.process-carousel.owl-carousel .owl-stage-outer {
	padding: 6px 0 24px;
	overflow: hidden
}
.process-carousel.owl-carousel .owl-stage {
	display: flex;
	align-items: stretch
}
.process-carousel.owl-carousel .owl-item {
	padding: 0 11px;
	display: flex;
	flex: 1 0 auto
}
.process-carousel.owl-carousel .owl-item>div {
	width: 100%;
	display: flex
}
.static-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-top: 60px
}
.step {
	position: relative;
	background: linear-gradient(165deg, #4a0e2c, #2a0817);
	color: #fff;
	border-radius: 26px;
	overflow: hidden;
	transition: transform .28s ease, box-shadow .28s ease;
	width: 100%;
	display: flex;
	flex-direction: column
}
.step:hover {
	transform: translateY(-8px);
	box-shadow: 0 34px 80px rgba(42,8,23,.22)
}
.step .step-img {
	aspect-ratio: 20/9;
	position: relative
}
.step .step-img-sm {
	aspect-ratio: 20/9
}
.step .step-body {
	padding: 24px 24px 28px
}
.step::before {
	content: "";
	position: absolute;
	top: 0;
	left: 26px;
	right: 26px;
	height: 3px;
	background: linear-gradient(90deg, #c77b9c, #8a2050);
	border-radius: 0 0 4px 4px
}
.step .bignum {
	position: absolute;
	top: -14px;
	right: 8px;
	font-family: 'Bricolage Grotesque';
	font-weight: 800;
	font-size: 108px;
	line-height: 1;
	color: rgba(194,160,90,.15);
	letter-spacing: -.05em;
	pointer-events: none
}
.step .chip {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: rgba(194,160,90,.16);
	color: #c77b9c;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	position: relative;
	z-index: 1
}
.step .step-body h4 {
	margin-bottom: 10px
}
.step .step-body p {
	color: #e3c3d2
}
.step .step-body .more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: gap .2s;
	color: #c77b9c;
	margin-top: 15px
}
.step .step-body .more:hover {
	gap: 12px;
	color: #c77b9c
}
.step h4 {
	font-size: 20px;
	color: #fff;
	margin-bottom: 10px;
	position: relative;
	z-index: 1
}
.step p {
	font-size: 14.5px;
	color: #aab4c6;
	margin: 0;
	line-height: 1.6;
	position: relative;
	z-index: 1
}
.step .meta {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,.1);
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	color: #c77b9c;
	font-weight: 700;
	position: relative;
	z-index: 1
}
.qeepr-wrap .qeepr-search-results-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-top: 60px;
	max-width: 100% !important;
	width: 100%;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item {
	position: relative;
	background: linear-gradient(165deg, #4a0e2c, #2a0817);
	color: #fff;
	border-radius: 26px;
	overflow: hidden;
	transition: transform .28s ease, box-shadow .28s ease;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	padding: 0;
	margin: 0;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item .qeepr-search-user-img {
	width: 100%;
	height: auto;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item .qeepr-search-user-img a {
	display: flex;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item .qeepr-search-user-img img {
	width: 100%;
	height: auto;
	border: none;
	border-radius: 0;
	position: relative;
	top: 0;
	box-shadow: none;
	vertical-align: unset;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item .qeepr-search-user-name-event {
	font-weight: bolder;
	display: inline-block;
	padding: 24px 24px 10px 24px;
	width: 100%;
	text-align: left;
	line-height: 1.05;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item .qeepr-search-user-name-event a {
	font-size: 20px;
	color: #fff;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-user-item .qeepr-search-user-date {
	font-size: 14px;
	color: #e3c3d2;
	text-align: left;
	display: inline-block;
	width: 100%;
	padding: 0px 24px 28px 24px;
}
.qeepr-wrap .qeepr-search-results-container .qeepr-search-pagination {
	grid-column: 1 / -1;
}
.qeepr-wrap .qeepr-search-form-container {
	margin-top: 20px;
	align-items: stretch;
	display: block !important;
	background: rgba(255, 255, 255, .78);
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 24px;
	box-shadow: 0 34px 80px rgba(42, 8, 23, .22);
	overflow: hidden;
	position: relative;
	backdrop-filter: blur(18px) saturate(160%);
	width: 100% !important;
	max-width: 100% !important;
	padding: 50px 40px 0px 40px;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-container-input {
	display: inline-block;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-container-filters {
	margin-top: 0;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-container-filter:after {
	display: none;
}
.qeepr-wrap .qeepr-search-form-container .search-form label {
	width: 100%;
	text-align: left;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-filter-text {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #7a6468;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-container-filter {
	width: 31%;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-filter-sort-by, .qeepr-wrap .qeepr-search-form-container .qeepr-search-filter-date-interval {
	margin-right: 3.33%
}
.qeepr-wrap .qeepr-search-form-container .search-field:focus, qeepr-wrap .qeepr-search-form-container select:focus {
	border-color: #a13a63;
	box-shadow: 0 0 0 3px rgba(194,160,90,.22)
}
.qeepr-wrap .qeepr-search-form-container .search-options-toggle {
	padding-top: 0px;
	display: inline-block;
	width: 100%;
	letter-spacing: .1em;
	color: #7a6468;
}
.qeepr-wrap .qeepr-search-form-container .search-field, .qeepr-wrap .qeepr-search-form-container select {
	font: inherit;
	color: #3a2e30;
	border: 1.5px solid rgba(74, 14, 44, .12);
	background: rgba(255, 255, 255, .72);
	padding: 13px 14px;
	border-radius: 12px;
	height: auto;
	outline: none;
	width: 100%;
	transition: border-color .15s, box-shadow .15s;
	appearance: auto;
	-webkit-appearance: auto;
}
.qeepr-wrap .qeepr-search-form-container .search-submit {
	background: linear-gradient(135deg, #c77b9c, #a13a63 55%, #8a2050);
	color: #fff;
	box-shadow: 0 10px 26px rgba(161, 58, 99, .4);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 26px;
	border-radius: 999px;
	border: 0;
	cursor: pointer;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .01em;
	text-decoration: none;
	white-space: nowrap;
	transition: transform .18s ease, box-shadow .25s ease, background .2s, color .2s;
	height: auto;
	text-transform: capitalize;
	width: 100%;
}
.qeepr-wrap .qeepr-search-form-container .search-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(161, 58, 99, .5);
	color: #fff;
}
.qeepr-wrap .qeepr-search-pagination .page-numbers {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #582a3f;
	color: #fff;
	font-family: 'Bricolage Grotesque';
	font-weight: 800;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 2px;
	transition: background .15s, color .15s;
}
.qeepr-wrap .qeepr-search-pagination .page-numbers.current {
	background: #a13a63!important;
}
.qeepr-wrap .qeepr-search-pagination .page-numbers.prev, .qeepr-wrap .qeepr-search-pagination .page-numbers.next {
	background: transparent;
	width: auto;
	color: #a63961;
	font-weight: 700;
}
/* FEATURE ROWS */

.feature {
	padding: 76px 0
}
.feature.dark {
	background: linear-gradient(160deg, #4a0e2c, #2a0817);
	color: #fff
}
.feature.light {
	background: #f7eef0
}
.feature .wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center
}
.feature.flip .feature-text {
	order: 1
}
.feature.flip .feature-img {
	order: 2
}
.feature-img {
	position: relative;
	aspect-ratio: 5/4;
	border-radius: 26px;
	overflow: hidden;
	box-shadow: 0 34px 80px rgba(42,8,23,.22);
	background: #4a0e2c
}
.feature-img .slot-img {
	position: absolute;
	inset: 0
}
.feature-img .float-stat {
	position: absolute;
	background: rgba(255,253,247,.85);
	backdrop-filter: blur(12px);
	border-radius: 16px;
	padding: 18px 22px;
	box-shadow: 0 16px 44px rgba(42,8,23,.12);
	display: flex;
	align-items: center;
	gap: 14px
}
.feature-img .float-stat .icbox {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #a13a63;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none
}
.feature-img .float-stat b {
	display: block;
	font-size: 22px;
	color: #4a0e2c;
	letter-spacing: -.01em;
	line-height: 1;
	font-family: 'Bricolage Grotesque'
}
.feature-img .float-stat span {
	font-size: 13px;
	color: #7a6468
}
.feature h2 {
	line-height: 1.04
}
.feature .feature-text p {
	color: #4a5468;
	font-size: 17px;
	margin-top: 18px;
}
.feature.dark h2 {
	color: #fff
}
.feature.dark h2 em {
	color: #c77b9c
}
.feature.dark .eyebrow {
	color: #c77b9c
}
.feature.dark .eyebrow::before {
	background: #c77b9c
}
.feature-points {
	list-style: none;
	padding: 0;
	margin: 24px 0 30px;
	display: grid;
	gap: 14px
}
.feature-points li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15.5px
}
.feature-points li svg {
	flex: none;
	margin-top: 3px
}
.feature.light .feature-points li {
	color: #3a2e30
}
.feature.light .feature-points li svg {
	color: #8a2050
}
.feature.dark .feature-points li {
	color: #aab4c6
}
.feature.dark .feature-points li svg {
	color: #c77b9c
}
.feature-cta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 30px
}
.feature-cta.x49 {
	margin-top: 30px
}
.feature-cta.x52 {
	margin-top: 30px
}
.feature-cta.x53 {
	margin-top: 30px
}
.feature.dark .btn-ghost-w {
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.4);
	background: transparent;
	padding: 15px 24px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: background .2s, color .2s
}
.feature.dark .btn-ghost-w:hover {
	background: #fff;
	color: #4a0e2c
}
.btn-ghost-w {
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.4);
	background: transparent;
	padding: 15px 24px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	transition: background .15s, color .15s
}
.btn-ghost-w:hover {
	background: #fff;
	color: #4a0e2c
}
/* GALLERY (light) */

.gallery {
	background: #efe6d2
}
.proj {
	position: relative;
	border-radius: 26px;
	overflow: hidden;
	background: #4a0e2c;
	box-shadow: 0 2px 10px rgba(42,8,23,.06);
	transition: transform .25s, box-shadow .25s;
	aspect-ratio: 4/5;
	height: 100%
}
.proj:hover {
	transform: translateY(-6px);
	box-shadow: 0 34px 80px rgba(42,8,23,.22)
}
.proj .ph {
	position: absolute;
	inset: 0;
	overflow: hidden
}
.proj .ph .slot-img {
	position: absolute;
	inset: 0;
	transition: transform .6s
}
.proj:hover .ph .slot-img {
	transform: scale(1.06)
}
.proj::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 0%, transparent 40%, rgba(12,20,36,.82) 92%, rgba(12,20,36,.94) 100%)
}
.proj .corner {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 3;
	background: #a13a63;
	color: #fff;
	padding: 6px 12px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase
}
.proj .meta {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 22px;
	color: #fff
}
.proj .meta .neighborhood {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #c77b9c
}
.proj .meta h3 {
	font-size: 20px;
	color: #fff;
	margin: 4px 0 0;
	line-height: 1.25
}
.gallery-foot {
	margin-top: 44px;
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap
}
/* REVIEWS (dark) */

.reviews {
	background: linear-gradient(180deg, #4a0e2c, #2a0817);
	color: #fff
}
.reviews h2 {
	color: #fff
}
.reviews .eyebrow.x29 {
	color: #e8a8c2
}
.reviews .eyebrow.x29::before {
	background: #e8a8c2
}
.reviews .section-head .right {
	color: #aab4c6
}
.rev-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}
.reviews .wrap {
	position: relative
}
.rev-carousel.owl-carousel .owl-stage-outer {
	padding: 16px 0 24px;
	overflow: hidden
}
.rev-carousel.owl-carousel .owl-stage {
	display: flex;
	align-items: stretch
}
.rev-carousel.owl-carousel .owl-item {
	padding: 0 10px;
	display: flex;
	flex: 1 0 auto
}
.rev-carousel.owl-carousel .owl-item > div {
	width: 100%;
	display: flex;
	flex-direction: column
}
.rev-carousel.owl-carousel .owl-item .rev {
	flex: 1;
	height: auto
}
.rev {
	background: #fffbf9;
	color: #3a2e30;
	border-radius: 26px;
	padding: 30px 28px 26px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: relative
}
.rev .quote-mark {
	position: absolute;
	top: -16px;
	right: 26px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, #c77b9c, #8a2050);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Bricolage Grotesque';
	font-size: 36px;
	line-height: 1;
	padding-top: 8px
}
.rev .stars {
	font-size: 18px;
	color: #a13a63
}
.rev p {
	font-size: 15.5px;
	color: #3a2e30;
	margin: 0;
	flex: 1;
	line-height: 1.6
}
.rev .who {
	display: flex;
	align-items: center;
	gap: 12px;
	border-top: 1px solid rgba(74,14,44,.12);
	padding-top: 14px
}
.rev .who .av {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #f7eef0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #4a0e2c;
	font-size: 16px;
	font-family: 'Bricolage Grotesque'
}
.rev .who b {
	display: block;
	color: #4a0e2c;
	font-size: 14.5px
}
.rev .who span {
	font-size: 13px;
	color: #7a6468
}
.rev .verified {
	margin-left: auto;
	font-size: 12px;
	color: #8a2050;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 5px
}
.review-source {
	display: flex;
	justify-content: center;
	gap: 32px;
	margin-top: 44px;
	flex-wrap: wrap
}
.review-source .src {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #aab4c6;
	font-size: 14px
}
.review-source .src b {
	color: #c77b9c;
	font-size: 16px;
	font-family: 'Bricolage Grotesque'
}
/* SERVICE AREA (light) */

.area {
	background: #fffbf9
}
.area-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start
}
.area-map {
	position: relative;
	aspect-ratio: 7/5;
	border-radius: 26px;
	overflow: hidden;
	background: #f7eef0;
	border: 1px solid rgba(74,14,44,.12);
	box-shadow: 0 2px 10px rgba(42,8,23,.06)
}
.area-list {
	columns: 2;
	column-gap: 30px;
	list-style: none;
	padding: 0;
	margin: 24px 0 0
}
.area-list li {
	break-inside: avoid;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	font-weight: 600;
	color: #4a0e2c;
	font-size: 15px;
	border-bottom: 1px dashed rgba(74,14,44,.12)
}
.area-list li::before {
	content: "";
	width: 8px;
	height: 8px;
	background: #a13a63;
	transform: rotate(45deg);
	flex: none
}
/* FAQ (light) */

.faq {
	background: #efe6d2
}
.faq .wrap {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 64px;
	align-items: start
}
.faq .content p {
	color: #4a5468;
	margin-top: 20px;
}
.faq-list {
	display: grid;
	gap: 12px
}
details.q {
	background: #fffbf9;
	border: 1px solid rgba(74,14,44,.12);
	border-radius: 16px;
	overflow: hidden;
	transition: box-shadow .2s
}
details.q[open] {
	box-shadow: 0 2px 10px rgba(42,8,23,.06)
}
details.q summary {
	list-style: none;
	cursor: pointer;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	font-weight: 700;
	color: #4a0e2c;
	font-size: 17px
}
 details.q summary::-webkit-details-marker {
 display:none
}
details.q summary::after {
	content: "+";
	margin-left: auto;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #f7eef0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	color: #4a0e2c;
	font-weight: 400;
	transition: transform .2s, background .2s, color .2s
}
details.q[open] summary::after {
	content: "–";
	background: #a13a63;
	color: #fff;
	transform: rotate(180deg)
}
details.q .a {
	padding: 0 24px 22px;
	color: #7a6468;
	font-size: 15.5px;
	line-height: 1.65
}
/* FINAL CTA (dark) */

.cta-final {
	background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px), radial-gradient(600px 460px at 0% 100%, rgba(194,160,90,.18), transparent 60%), radial-gradient(700px 460px at 100% 0%, rgba(194,160,90,.1), transparent 60%), linear-gradient(160deg, #4a0e2c, #2a0817);
	background-size: 40px 40px, 40px 40px, auto, auto, auto;
	color: #fff
}
.cta-final .wrap {
	display: grid;
	gap: 0
}
.cta-final h2 {
	color: #fff
}
.cta-final h2 em {
	color: #c77b9c
}
.cta-final p {
	color: #aab4c6;
	font-size: 18px;
	margin: 12px auto 18px;
}
.cta-final li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15.5px;
	color: #dfe5f2;
	padding-left: 30px;
}
.cta-final li:before {
	content: "";
	background-image: url(images/check1.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 0;
}
.cta-final .points li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15.5px;
	color: #dfe5f2
}
.cta-final .points svg {
	color: #c77b9c;
	flex: none
}
.cta-final .btn-dark {
	background: rgba(255,255,255,.08);
	color: #fff;
	border: 1px solid rgba(255,255,255,.25);
	box-shadow: none
}
.cta-final .btn-dark:hover {
	background: rgba(255,255,255,.16)
}
.cta-final .btn-ghost {
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
	background: transparent
}
.cta-final .btn-ghost:hover {
	background: #fff;
	color: #4a0e2c;
	border-color: #fff
}
/* FOOTER */

footer {
	background: #2a0817;
	color: #d9c5cc;
	padding: 64px 0 30px
}
footer .wrap {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 38px;
	border-bottom: 1px solid rgba(255,255,255,.08)
}
footer h5 {
	color: #fff;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0 0 16px;
	font-weight: 700
}
footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
	font-size: 14.5px
}
footer a {
	text-decoration: none;
	color: #d9c5cc
}
footer a:hover {
	color: #c77b9c
}
footer .brand-address {
	font-size: 14.5px;
	line-height: 1.8;
	color: #d9c5cc
}
footer .brand img {
	height: 64px;
	margin-bottom: 16px;
	border-radius: 14px;
	background: #fff;
	padding: 8px
}
footer .brand p {
	font-size: 14.5px;
	line-height: 1.6;
	color: #98a2b6;
	max-width: 34ch
}
footer .socials {
	display: flex;
	gap: 10px;
	margin-top: 18px
}
footer .socials a {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: rgba(255,255,255,.06);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: background .2s, color .2s
}
footer .socials a:hover {
	background: #a13a63;
	color: #fff
}
.legal {
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 13px;
	color: #7f899e
}
.legal.wrap {
	border-bottom: 0
}
.legal div {
	white-space: nowrap
}
.legal a {
	color: #7f899e
}
.legal a:hover {
	color: #c77b9c
}
/* FLOATING CALL */

.float-call {
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: linear-gradient(135deg, #c77b9c, #8a2050);
	color: #fff;
	border-radius: 999px;
	padding: 14px 20px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 16px 44px rgba(42,8,23,.12);
	display: none;
	align-items: center;
	gap: 8px;
	z-index: 40
}
/* RESPONSIVE */



/* ---- extracted inline styles (desktop) ---- */

.x1 {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none
}
.x2 {
	margin-top: 14px
}
.x3 {
	color: #4a5468;
	font-size: 17px;
	margin-top: 18px
}
.x4 {
	color: #4a5468;
	font-size: 17px
}
.x5 {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 30px
}
.x6 {
	margin-top: 14px;
	max-width: 18ch
}
.x7 {
	max-width: 42ch;
	color: #c9d2e0;
	font-size: 16.5px;
	margin: 0
}
.x8 {
	background: linear-gradient(180deg, rgba(12,22,50,.1) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=900&q=80') center/cover
}
.x9 {
	background: linear-gradient(180deg, rgba(12,22,50,.1) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1505691938895-1758d7feb511?auto=format&fit=crop&w=900&q=80') center/cover
}
.x10 {
	background: linear-gradient(180deg, rgba(12,22,50,.05) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1583847268964-b28dc8f51f92?auto=format&fit=crop&w=900&q=80') center/cover
}
.x11 {
	background: #172647;
	color: #fff
}
.x12 {
	background: linear-gradient(180deg, rgba(12,22,50,.1) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=900&q=80') center/cover
}
.x13 {
	background: linear-gradient(180deg, rgba(12,22,50,.1) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?auto=format&fit=crop&w=900&q=80') center/cover
}
.x14 {
	background: linear-gradient(180deg, rgba(12,22,50,.1) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=900&q=80') center/cover
}
.x15 {
	background: linear-gradient(180deg, rgba(12,22,50,.1) 0%, rgba(12,22,50,.55) 100%), url('https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=900&q=80') center/cover
}
.x16 {
	font-size: 18px
}
.x17 {
	color: #4a5468;
	font-size: 17px;
	margin-top: 14px
}
.x18 {
	margin-top: 30px
}
.x19 {
	padding: 56px 0
}
.x20 {
	grid-template-columns: 1fr;
	align-items: start;
	gap: 28px
}
.x21 {
	display: inline-block;
	background: #a13a63;
	color: #0c1632;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .1em;
	padding: 5px 12px;
	border-radius: 999px;
	text-transform: uppercase
}
.x22 {
	margin-top: 16px;
	color: #fff;
	font-size: clamp(28px, 4.4vw, 50px);
	line-height: 1.08;
	max-width: none
}
.x23 {
	color: #a13a63;
	font-family: inherit;
	font-style: normal;
	font-weight: 700
}
.x24 {
	color: #c7cee0;
	margin-top: 14px;
	font-size: 17px;
	max-width: none
}
.x25 {
	left: -24px;
	bottom: 30px
}
.x26 {
	background: #fffbf9
}
.x27 {
	color: #7a6468;
	font-size: 17px;
	margin-top: 18px
}
.x28 {
	right: -24px;
	top: 30px
}
.x29 {
	color: #a13a63
}
.x30 {
	border: 0;
	display: block
}
.x31 {
	font-size: 24px;
	color: #172647;
	margin-bottom: 8px
}
.x32 {
	color: #4a5468;
	margin-bottom: 8px
}
.x33 {
	color: #4a5468;
	margin-top: 20px;
	max-width: 36ch
}
.x34 {
	display: flex;
	/*flex-direction: column;*/
	
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 30px;
	max-width: 300px
}
.x35 {
	justify-content: center
}
.x36 {
	grid-template-columns: 1fr;
	text-align: center;
	max-width: 920px;
	margin: 0 auto;
	gap: 0
}
.x37 {
	color: #e8a8c2;
	justify-content: center;
	align-self: center
}
.x37::before {
	background: #e8a8c2
}
.x38 {
	margin-top: 10px;
	max-width: 22ch;
	margin-left: auto;
	margin-right: auto
}
.x39 {
	margin: 12px auto 18px;
	max-width: 54ch
}
.x40 {
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: center
}
.x41 {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 30px
}
.x42 {
	color: #fff
}
/* ==========================================

   INTERNAL PAGES — per-page sections below

========================================== */



/* ==========================================

   A WALK THROUGH TIME PAGE

   Internal page banner + content shell

========================================== */

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	font-size: 14px;
	font-weight: 600;
	color: #e9c9d8;
}
.breadcrumb a {
	color: #fff;
	text-decoration: none;
}
.breadcrumb .current-item {
	color: #e9c9d8;
}
.page-banner {
	position: relative;
	overflow: hidden;
	background: #4a0e2c;
	padding: 72px 0 64px
}
.page-banner .banner-bg {
	position: absolute;
	inset: 0;
	z-index: 0
}
.page-banner .banner-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}
.page-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: radial-gradient(circle at 12% 20%, rgba(161,58,99,.55), transparent 42%), radial-gradient(circle at 88% 90%, rgba(138,32,80,.5), transparent 45%), rgba(74,14,44,.5);
	pointer-events: none
}
.page-banner .wrap {
	position: relative;
	z-index: 2
}
.page-banner .eyebrow {
	color: #f3d7e3
}
.page-banner .eyebrow::before {
	background: #f3d7e3
}
.page-banner h1 {
	margin: 14px 0 0;
	color: #fff;
	font-size: clamp(34px, 5.4vw, 58px)
}
.crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	font-size: 14px;
	font-weight: 600;
	color: #e9c9d8
}
.crumbs a {
	color: #fff;
	text-decoration: none
}
.crumbs a:hover {
	color: #f3d7e3;
	text-decoration: underline;
	text-underline-offset: 4px
}
.crumbs span[aria-hidden] {
	opacity: .5
}
.crumbs [aria-current="page"] {
	color: #e9c9d8
}
.page-body {
	background: #fff;
	padding: 72px 0
}
.primary .sub-menu a.is-active {
	color: #8a2050;
	font-weight: 700
}
/* --- A Walk Through Time: intro + gallery --- */

.wt-intro {
	max-width: 720px;
	margin: 0 auto 48px;
	text-align: center
}
.wt-intro p {
	font-size: 18px;
	color: #4a3b3e
}
.wt-intro .btn {
	margin-top: 12px
}
.wt-gallery .wt-slide, .cd-gallery .wt-slide, .mv-gallery .wt-slide, .maus-gallery .wt-slide, .loc-gallery .wt-slide, .sp-gallery .wt-slide, .vi-gallery .wt-slide {
	display: block;
	position: relative;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(74,14,44,.08);
	transition: transform .2s ease, box-shadow .25s ease
}
.wt-gallery .wt-slide:hover, .cd-gallery .wt-slide:hover, .mv-gallery .wt-slide:hover, .maus-gallery .wt-slide:hover, .loc-gallery .wt-slide:hover, .sp-gallery .wt-slide:hover, .vi-gallery .wt-slide:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(74,14,44,.16)
}
.wt-gallery .wt-slide img, .cd-gallery .wt-slide img, .mv-gallery .wt-slide img, .maus-gallery .wt-slide img, .loc-gallery .wt-slide img, .vi-gallery .wt-slide img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	object-position: top
}
.wt-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.wt-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.wt-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
.wt-gallery .wt-num, .cd-gallery .wt-num, .vi-gallery .wt-num {
	position: absolute;
	top: 14px;
	left: 14px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #4a0e2c;
	color: #fff;
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	box-shadow: 0 4px 14px rgba(74,14,44,.3)
}
.wt-hint {
	position: relative;
	pointer-events: none;
	margin: 80px 0 -124px;
	padding: 0;
	line-height: 1.4;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: #8a2050
}
/* ==========================================

   CEMETERY INTERMENT MARKERS & MONUMENT PHOTOS PAGE

========================================== */

.marker-intro {
	max-width: 780px;
	margin: 0 auto 40px;
	text-align: center
}
.marker-intro p {
	font-size: 18px;
	color: #4a3b3e
}
.folder-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px
}
.folder-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	box-shadow: 0 6px 22px rgba(74,14,44,.06);
	color: #4a0e2c;
	transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease
}
.folder-card:hover {
	transform: translateY(-3px);
	border-color: #d9b9c9;
	box-shadow: 0 14px 34px rgba(74,14,44,.14);
	color: #8a2050
}
.folder-ic {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f7eef3;
	color: #8a2050
}
.folder-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1 1 auto
}
.folder-name {
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 700;
	font-size: 19px;
	letter-spacing: -.01em
}
.folder-sub {
	font-size: 13px;
	font-weight: 600;
	color: #8a7076
}
.folder-arrow {
	flex: 0 0 auto;
	opacity: .55
}
.marker-cta {
	margin-top: 40px;
	text-align: center
}
.tagline-box {
	max-width: 560px;
	margin: 0 auto 40px;
	padding: 26px 32px 30px;
	background: #4a0e2c;
	border-radius: 14px;
	text-align: center;
	color: #fff;
	box-shadow: 0 10px 30px rgba(74,14,44,.18)
}
.tagline-top {
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(20px, 3.2vw, 27px);
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.15
}
.tagline-rule {
	width: 100%;
	height: 2px;
	background: rgba(255,255,255,.85);
	margin: 16px 0
}
.tagline-sub {
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 600;
	font-size: clamp(15px, 2.2vw, 19px);
	letter-spacing: .05em;
	text-transform: uppercase;
	line-height: 1.4;
	color: #f3d7e3
}
/* ==========================================

   CHILDREN DEATH PAGE

========================================== */

.cd-feature {
	max-width: 900px;
	margin: 0 auto 40px;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(74,14,44,.1)
}
.cd-feature img {
	width: 100%;
	height: auto
}
.cd-copy {
	max-width: 820px;
	margin: 0 auto
}
.cd-copy h3 {
	font-size: clamp(24px, 3.4vw, 32px);
	margin-bottom: 18px
}
.cd-copy p {
	font-size: 18px;
	color: #4a3b3e
}
.cd-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.cd-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.cd-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
/* ==========================================

   CONTACT US PAGE

========================================== */

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start
}
.contact-info h2 {
	margin-bottom: 16px
}
.contact-info p {
	font-size: 18px;
	color: #4a3b3e;
	max-width: 520px
}
.contact-list {
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px
}
.contact-list li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	box-shadow: 0 6px 22px rgba(74,14,44,.06)
}
.ci-ic {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f7eef3;
	color: #8a2050
}
.ci-meta {
	display: flex;
	flex-direction: column;
	gap: 4px
}
.ci-meta h3 {
	font-size: 18px
}
.ci-meta span, .ci-meta a {
	font-size: 16px;
	color: #4a3b3e
}
.ci-meta a:hover {
	color: #8a2050
}
.field-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
	min-width: 0
}
.field-row .field {
	min-width: 0
}
.field-row input {
	width: 100%;
	box-sizing: border-box
}
.contact-map {
	margin-top: 56px;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #e6dfe2;
	box-shadow: 0 10px 30px rgba(74,14,44,.08)
}
.contact-map iframe {
	display: block;
	width: 100%;
	height: 420px;
	border: 0
}
/* ==========================================

   GENEALOGY LINKS & RESOURCES PAGE

========================================== */

.gen-rows {
	display: flex;
	flex-direction: column;
	gap: 24px
}
.gen-row {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	box-shadow: 0 6px 22px rgba(74,14,44,.06);
	transition: transform .2s ease, box-shadow .25s ease
}
.gen-row:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(74,14,44,.12)
}
.gen-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: #faf7f8;
	border-radius: 12px;
	min-height: 120px
}
.gen-logo img {
	max-width: 100%;
	max-height: 90px;
	min-height: 40px;
	width: auto;
	object-fit: contain
}
.gen-body p {
	font-size: 17px;
	color: #4a3b3e
}
.gen-title {
	font-size: 21px;
	margin-bottom: 12px
}
.gen-list {
	margin: 0 0 20px;
	padding-left: 22px;
	color: #4a3b3e
}
.gen-list li {
	margin-bottom: 6px
}
.gen-body .btn {
	margin-top: 6px
}
/* ==========================================

   HISTORICAL VETERANS & PUBLIC FIGURES PAGE

========================================== */

.fig-card {
	display: block;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(74,14,44,.06);
	color: #4a0e2c;
	transition: transform .2s ease, box-shadow .25s ease
}
.fig-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(74,14,44,.14);
	color: #8a2050
}
.fig-photo {
	display: block;
	background: #faf7f8
}
.fig-photo img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: top
}
.fig-name {
	display: block;
	padding: 16px 18px;
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: -.01em;
	text-align: center
}
.fig-carousel.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.fig-carousel.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.fig-carousel.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
.fig-copy {
	max-width: 820px;
	margin: 56px auto 0
}
.fig-copy h3 {
	font-size: clamp(24px, 3.4vw, 32px);
	margin-bottom: 18px
}
.fig-copy p {
	font-size: 18px;
	color: #4a3b3e
}
.fig-pdf {
	margin-top: 48px;
	border: 1px solid #e6dfe2;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(74,14,44,.08);
	background: #faf7f8
}
.fig-pdf embed {
	display: block
}
/* ==========================================

   INTERNET DATABASE PAGE

========================================== */

.db-intro {
	max-width: 820px;
	margin: 0 auto 40px;
	text-align: center
}
.db-intro p {
	font-size: 18px;
	color: #4a3b3e
}
.db-intro .btn {
	margin-top: 10px
}
.db-search {
	border: 1px solid #e6dfe2;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(74,14,44,.08);
	background: #fff
}
.db-search iframe {
	display: block;
	width: 100%;
	min-height: 350px;
	border: 0
}
.db-lots {
	margin-top: 56px
}
.db-lots h3 {
	font-size: clamp(21px, 2.8vw, 26px);
	text-align: center;
	margin-bottom: 24px
}
.lot-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px
}
.lot-grid li a, .lot-grid li span {
	display: block;
	padding: 14px 18px;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 12px;
	font-weight: 600;
	font-size: 16px;
	text-transform: capitalize;
	color: #4a0e2c;
	transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease
}
.lot-grid li a:hover {
	transform: translateY(-2px);
	border-color: #d9b9c9;
	box-shadow: 0 10px 26px rgba(74,14,44,.12);
	color: #8a2050
}
.lot-grid li span {
	color: #8a7076;
	background: #faf7f8
}
/* ==========================================

   MEDIA & VIDEOS PAGE

========================================== */

.mv-intro {
	max-width: 820px;
	margin: 0 auto 8px;
	text-align: center
}
.mv-intro h3 {
	font-size: clamp(22px, 3vw, 30px);
	margin-bottom: 18px
}
.mv-intro p {
	font-size: 18px;
	color: #4a3b3e
}
.mv-gallery .wt-slide img {
	object-position: center
}
.mv-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.mv-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.mv-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
.mv-videos {
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px
}
.mv-video {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #e6dfe2;
	box-shadow: 0 10px 30px rgba(74,14,44,.08);
	background: #000
}
.mv-video iframe, .mv-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block
}
/* ==========================================

   MOUNTAIN VIEW MAUSOLEUM PAGE

========================================== */

.maus-copy {
	max-width: 860px;
	margin: 0 auto 8px
}
.maus-copy h3 {
	font-size: clamp(22px, 3vw, 30px);
	margin-bottom: 20px;
	text-align: center
}
.maus-copy p {
	font-size: 18px;
	color: #4a3b3e
}
.maus-gallery .wt-slide img {
	object-position: center
}
.maus-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.maus-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.maus-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
/* ==========================================

   OBITUARY SUBMISSION FORM PAGE

========================================== */

.obit-card {
	max-width: 760px;
	margin: 0 auto
}
.obit-fields {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0
}
.obit-fields .field {
	min-width: 0;
	padding: 5px 0
}
.obit-fields .field p {
	margin: 0;
	display: block
}
.obit-fields .field p > span {
	display: block
}
.obit-fields .field input:not([type="radio"]):not([type="checkbox"]), .obit-fields .field textarea {
	width: 100%;
	box-sizing: border-box
}
.obit-fields input[type="file"] {
	padding: 12px 14px;
	font-size: 15px
}
.obit-fields .submit-row {
	padding: 20px 0 5px
}
.obit-fields .submit-row p {
	margin: 0;
	flex: 1;
	width: 100%
}
.obit-fields .submit-row .btn {
	width: 100%;
	flex: auto;
}
.radio-row {
	display: flex !important;
	gap: 24px;
	margin-top: 6px
}
.radio-row .radio {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 16px;
	color: #4a3b3e;
	text-transform: none;
	letter-spacing: 0
}
.radio-row input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: #8a2050
}
/* ==========================================

   OUR LOCATION PAGE

========================================== */

.loc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px
}
.loc-card {
	padding: 26px 28px;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	box-shadow: 0 6px 22px rgba(74,14,44,.06)
}
.loc-card h3 {
	font-size: 20px;
	margin-bottom: 10px
}
.loc-card h3 + p + h3 {
	margin-top: 22px
}
.loc-card p {
	font-size: 17px;
	color: #4a3b3e;
	margin-bottom: 12px
}
.loc-card p:last-child {
	margin-bottom: 0
}
.loc-hours {
	margin-top: 56px
}
.loc-hours h2 {
	text-align: center;
	font-size: clamp(26px, 3.6vw, 36px)
}
.loc-lead {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	color: #8a2050;
	margin: 14px 0 28px
}
.loc-hours-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px
}
.loc-map-note {
	margin-top: 56px
}
.loc-map-note h3 {
	text-align: center;
	font-size: clamp(20px, 2.6vw, 25px);
	margin-bottom: 22px
}
.loc-mainmap {
	display: block;
	border: 1px solid #e6dfe2;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(74,14,44,.08);
	transition: transform .2s ease, box-shadow .25s ease
}
.loc-mainmap:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 38px rgba(74,14,44,.16)
}
.loc-mainmap img {
	width: 100%;
	height: auto;
	display: block
}
.loc-gallery {
	margin-top: 32px
}
.loc-gallery .wt-slide img {
	height: auto !important;
	object-fit: contain;
	object-position: center
}
.loc-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.loc-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.loc-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
/* ==========================================

   PRE-PLAN PAGE

========================================== */

.pp-video {
	position: relative;
	aspect-ratio: 16 / 9;
	max-width: 900px;
	margin: 0 auto 48px;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #e6dfe2;
	box-shadow: 0 10px 30px rgba(74,14,44,.08);
	background: #000
}
.pp-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block
}
.pp-copy {
	max-width: 860px;
	margin: 56px auto 48px
}
.pp-copy h2 {
	font-size: clamp(26px, 3.6vw, 38px);
	margin-bottom: 20px
}
.pp-copy h3 {
	font-size: clamp(20px, 2.6vw, 26px);
	margin: 32px 0 12px
}
.pp-copy p {
	font-size: 18px;
	color: #4a3b3e
}
.pp-img {
	width: 100%;
	height: auto;
	border-radius: 14px;
	margin-bottom: 24px
}
.pp-list {
	margin: 20px 0 24px;
	padding-left: 22px;
	color: #4a3b3e;
	font-size: 18px
}
.pp-list li {
	margin-bottom: 10px
}
.obit-fields .field select {
	width: 100%;
	box-sizing: border-box
}
.wpcf7-checkbox,  .check-col {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	margin-top: 6px
}
.wpcf7-list-item {
	display: inline-block;
	margin: 0 1em 0 0;
}
.wpcf7-radio .wpcf7-list-item-label {
	vertical-align: super;
}
.wpcf7-checkbox .wpcf7-list-item,  .check-col .radio {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 600;
	font-size: 16px;
	color: #4a3b3e;
	text-transform: none;
	letter-spacing: 0;
	margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
	font-weight: 600;
	font-size: 16px;
	color: #4a3b3e;
	text-transform: none;
	letter-spacing: 0;
	vertical-align: top;
}
.check-col input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: #8a2050
}
/* ==========================================

   PROPERTY MAPS & CEMETERY PLOT LOCATION PAGE

========================================== */

.pm-intro {
	max-width: 820px;
	margin: 0 auto 40px;
	text-align: center
}
.pm-intro p {
	font-size: 18px;
	color: #4a3b3e
}
.pm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px
}
.pm-card {
	display: block;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(74,14,44,.06);
	color: #4a0e2c;
	transition: transform .2s ease, box-shadow .25s ease
}
.pm-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(74,14,44,.14);
	color: #8a2050
}
.pm-thumb {
	display: block;
	background: #faf7f8
}
.pm-thumb img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	object-position: center;
	display: block
}
.pm-name {
	display: block;
	padding: 16px 18px;
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: -.01em;
	text-align: center
}
/* ==========================================

   SERVICES & PRICES PAGE

========================================== */

.sp-head {
	text-align: center;
	margin-bottom: 36px
}
.sp-grid.owl-carousel .owl-stage {
	display: flex
}
.sp-grid.owl-carousel .owl-item {
	display: flex
}
.sp-grid.owl-carousel .owl-item .sp-card {
	width: 100%
}
.sp-grid.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.sp-grid.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.sp-grid.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
.sp-card {
	padding: 28px 30px 30px;
	background: #fff;
	border: 1px solid #e6dfe2;
	border-radius: 14px;
	box-shadow: 0 6px 22px rgba(74,14,44,.06);
	transition: transform .2s ease, box-shadow .25s ease
}
.sp-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(74,14,44,.12)
}
.sp-letter {
	display: flex;
	margin-bottom: 14px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #4a0e2c;
	color: #fff;
	font-family: 'Bricolage Grotesque', system-ui, sans-serif;
	font-weight: 700;
	font-size: 18px
}
.sp-card h3 {
	font-size: 21px;
	margin-bottom: 8px
}
.sp-card h3 em {
	font-style: normal;
	color: #8a2050;
	white-space: nowrap
}
.sp-sep {
	font-size: 16px;
	color: #8a7076;
	margin-bottom: 10px
}
.sp-save {
	font-weight: 700;
	font-size: 17px;
	color: #4a0e2c;
	margin-bottom: 12px
}
.sp-inc {
	font-size: 15px;
	color: #4a3b3e;
	margin: 0
}
.sp-card-ask {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center
}
.sp-card-ask .btn {
	margin-top: 8px
}
.sp-pdf {
	margin-top: 40px;
	text-align: center
}
.sp-gallery {
	margin-top: 8px
}
.sp-gallery .wt-slide img {
	height: auto !important;
	object-fit: contain
}
.sp-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.sp-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.sp-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
.sp-form {
	margin-top: 56px
}
/* ==========================================

   SOULS MUSIC PAGE

========================================== */

.sm-copy {
	max-width: 860px;
	margin: 0 auto
}
.sm-copy h2 {
	font-size: clamp(24px, 3.2vw, 34px);
	margin-bottom: 12px
}
.sm-author {
	font-weight: 700;
	font-size: 16px;
	color: #8a2050;
	margin-bottom: 28px
}
.sm-copy h3 {
	font-size: clamp(21px, 2.6vw, 27px);
	margin: 36px 0 14px
}
.sm-copy p {
	font-size: 18px;
	color: #4a3b3e
}
.sm-img {
	width: 100%;
	height: auto;
	border-radius: 14px;
	margin: 28px 0;
	box-shadow: 0 10px 30px rgba(74,14,44,.08)
}
.sm-list {
	margin: 0 0 24px;
	padding-left: 22px;
	font-size: 18px;
	color: #4a3b3e
}
.sm-list li {
	margin-bottom: 10px
}
/* ==========================================

   VISITOR INFORMATION PAGE

========================================== */

.vi-intro {
	max-width: 820px;
	margin: 0 auto;
	text-align: center
}
.vi-intro h2 {
	font-size: clamp(26px, 3.6vw, 38px);
	margin-bottom: 14px
}
.vi-intro h3 {
	font-size: clamp(21px, 2.6vw, 26px);
	margin-top: 32px
}
.vi-intro p {
	font-size: 18px;
	color: #4a3b3e
}
.vi-intro .btn {
	margin-top: 6px
}
.vi-gallery .wt-slide img {
	height: auto !important;
	object-fit: contain
}
.vi-gallery.owl-carousel .owl-dots {
	margin-top: 14px;
	text-align: center
}
.vi-gallery.owl-carousel .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	background: #d9c8d0
}
.vi-gallery.owl-carousel .owl-dots .owl-dot.active span {
	background: #8a2050
}
/* ==========================================

   BLOG PAGE

========================================== */

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px
}
.blog-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(74,14,44,.1);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 14px 40px rgba(42,8,23,.07);
	transition: transform .18s ease, box-shadow .18s ease
}
.blog-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 22px 56px rgba(42,8,23,.12)
}
.blog-thumb {
	display: block;
	overflow: hidden;
	background: #f3ece9;
	height: 220px;
}
.blog-thumb img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	display: block;
	transition: transform .4s ease
}
.blog-card:hover .blog-thumb img {
	transform: scale(1.05)
}
.blog-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	padding: 24px;
}
.blog-date {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #a13a63
}
.blog-body h3 {
	font-size: 20px;
	line-height: 1.3;
	margin: 0
}
.blog-body h3 a {
	color: #4a0e2c;
	text-decoration: none
}
.blog-body h3 a:hover {
	color: #a13a63
}
.blog-body p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #4a3b3e
}
.blog-body .more {
	margin-top: auto;
	align-self: flex-start;
	font-weight: 700;
	color: #a13a63;
	text-decoration: none
}
.blog-body .more:hover {
	text-decoration: underline;
	text-underline-offset: 4px
}
.blog-pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 48px
}
.blog-pager a, .blog-pager span {
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1.5px solid rgba(74,14,44,.14);
	background: #fffbf9;
	color: #4a0e2c;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s
}
.blog-pager a:hover, .blog-pager .current {
	background: #a13a63;
	border-color: #a13a63;
	color: #fff
}
/* ==========================================

   SINGLE BLOG PAGE

========================================== */

.post {
	max-width: 900px;
	margin: 0 auto
}
.post-head {
	margin-bottom: 36px;
	text-align: center
}
.post-head h2 {
	font-size: clamp(24px, 3.2vw, 34px);
	line-height: 1.25;
	margin: 0 0 12px
}
.post-date {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #a13a63
}
.post-block {
	margin-bottom: 44px
}
.post-figure {
	margin: 0 0 22px;
	border-radius: 16px;
	overflow: hidden;
	background: #f3ece9;
	box-shadow: 0 16px 44px rgba(42,8,23,.1)
}
.post-figure img {
	width: 100%;
	height: auto;
	display: block
}
.post h2,  .post h3,  .post h4,  .post h5,  .post h6 {
	margin: 30px 0 16px;
}
.post h2 {
	font-size: 32px;
}
.post h3 {
	font-size: 28px;
}
.post h4 {
	font-size: 26px;
}
.post h5 {
	font-size: 24px;
}
.post h6 {
	font-size: 20px;
}
.post p {
	font-size: 18px;
	line-height: 1.75;
	color: #4a3b3e
}
.post a {
	color: #a13a63;
	font-weight: 600
}
.post-closing, .post-signoff, .post-credit {
	text-align: center
}
.post-signoff {
	color: #8a2050
}
.post-credit {
	font-size: 15px;
	color: #6b585c
}
.post-nav .post-navigation .nav-links {
	max-width: 900px;
	margin: 48px auto 0;
	padding-top: 28px;
	border-top: 1px solid rgba(74,14,44,.12);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap
}
.post-nav a {
	font-weight: 700;
	color: #4a0e2c;
	text-decoration: none
}
.post-nav a:hover {
	color: #a13a63;
	text-decoration: underline;
	text-underline-offset: 4px
}
.meta-nav {
	display: flex;
	align-items: center;
	gap: 6px;
}
/* ==========================================

   SINGLE BLOG — ALTERNATING LAYOUT (single-blog2)

========================================== */

.post-alt {
	max-width: 1160px
}
.post-alt .post-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 48px;
	margin-bottom: 64px
}
.post-alt .post-block .post-figure {
	margin: 0 auto;
	width: 65%
}
.post-alt .post-block:nth-of-type(even) .post-figure {
	order: 2
}
.post-alt .post-block p {
	margin: 0 0 16px;
}
.post-alt .post-block p:last-child {
	margin: 0 0 0px;
}
.postcontent ul {
	padding: 0;
}
.postcontent li {
	display: block;
}
/* ==========================================
   THANK YOU PAGE (thank-you.html)
   ========================================== */
.thankyou {
	padding: 90px 0 110px
}
.thankyou .ty-card {
	max-width: 780px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e3dcd4;
	border-radius: 18px;
	padding: 56px 54px 48px;
	box-shadow: 0 18px 50px rgba(74, 14, 44, .08);
	text-align: center
}
.thankyou .ty-icon {
	width: 68px;
	height: 68px;
	margin: 0 auto 26px;
	border-radius: 50%;
	background: #8a2050;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center
}
.thankyou h1 {
	font-size: clamp(30px, 4.4vw, 46px);
	margin-bottom: 18px
}
.thankyou .ty-lead {
	font-size: 18px;
	color: #6b5a5e;
	max-width: 560px;
	margin: 0 auto 40px
}
.thankyou .ty-steps {
	display: grid;
	gap: 18px;
	text-align: left;
	margin-bottom: 40px
}
.thankyou .ty-step {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: #f7f4f0;
	border: 1px solid #ece5dd;
	border-radius: 12px;
	padding: 18px 20px
}
.thankyou .ty-num {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #4a0e2c;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px
}
.thankyou .ty-step b {
	color: #4a0e2c;
	display: block;
	margin-bottom: 2px
}
.thankyou .ty-step p {
	margin: 0;
	font-size: 15px;
	color: #6b5a5e
}
.thankyou .ty-ctas {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 22px
}
.thankyou .ty-note {
	margin: 0;
	font-size: 14px;
	color: #8d7c80
}

/* ==========================================

   RESPONSIVE — ALL MEDIA QUERIES

   (desktop styles above; every breakpoint below,

   widest first)

========================================== */



@media (max-width:1100px) {
.trust-strip .wrap {
	grid-template-columns: repeat(2, 1fr);
	gap: 18px
}
}

@media (max-width:1040px) {
.static-grid, .qeepr-search-results-container {
	grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width:1000px) {
.blog-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 24px
}
}

@media (max-width:900px) {
.tl-row {
	grid-template-columns: 1fr
}
.contact-grid {
	grid-template-columns: 1fr;
	gap: 36px
}
.contact-map iframe {
	height: 320px
}
}

@media (max-width:880px) {
.navright {
	flex-direction: column;
	align-items: end;
}
.nav-bottom {
	width: 100%;
	justify-content: right;
	height: auto;
	padding-top: 12px;
}
.menu-item-has-children:after {
	display: none;
}
.main_header {
	position: relative;
	z-index: 9999;
	background-color: #fff;
}
.nav-bottom {
	display: none;
}
.mobile_menu {
	display: block;
}
.header-slide-menu button {
	display: none;
}
.slide_menu_icon {
	display: flex;
}
.menu_icon {
	width: 46px;
	display: flex;
	position: relative;
	height: 46px;
	padding: 0;
	border: 1.5px solid rgba(74, 14, 44, .16);
	border-radius: 12px;
	background: #fffbf9;
	cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.menu_icon span {
	margin: 0 auto;
	position: relative;
}
.menu_icon span:after, .menu_icon span:before {
	position: absolute;
	content: ''
}
.menu_icon span, .menu_icon span:after, .menu_icon span:before {
	width: 20px;
	height: 2px;
	background-color: #3a0a1f;
	display: block;
	border-radius: 2px
}
.menu_icon span:before {
	margin-top: -7px;
	-webkit-transition-property: margin, -webkit-transform;
	transition-property: margin, transform;
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
	-webkit-transition-delay: .2s, 0s;
	transition-delay: .2s, 0s
}
.menu_icon span:after {
	margin-top: 7px;
	-webkit-transition-property: margin, -webkit-transform;
	transition-property: margin, transform;
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
	-webkit-transition-delay: .2s, 0s;
	transition-delay: .2s, 0s
}
.menu_icon.papa span {
	background-color: rgba(0,0,0,0);
	-webkit-transition-delay: .2s;
	transition-delay: .2s
}
.menu_icon.papa span:before {
	-webkit-transition-property: margin, -webkit-transform;
	transition-property: margin, transform;
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
	-webkit-transition-delay: .2s, 0s;
	transition-delay: .2s, 0s
}
.menu_icon.papa span:before {
	margin-top: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition-delay: 0s, .2s;
	transition-delay: 0s, .2s
}
.menu_icon.papa span:after {
	-webkit-transition-property: margin, -webkit-transform;
	transition-property: margin, transform;
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
	-webkit-transition-delay: .2s, 0s;
	transition-delay: .2s, 0s
}
.menu_icon.papa span:after {
	margin-top: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition-delay: 0s, .2s;
	transition-delay: 0s, .2s;
	transition-property: margin, transform
}
.slide_overlay {
	display: none;
	width: 100%;
	background-color: rgba(42, 8, 23, .5);
	position: fixed;
	z-index: 1;
	inset: 0;
	height: 100%;
	pointer-events: auto;
}
.slide_nav {
	display: block;
	position: fixed;
	width: 100%;
	z-index: 102;
	right: 0;
	color: #000;
	height: auto;
	max-width: 380px;
	overflow-y: scroll;
	overflow-x: hidden;
	background-color: #fffdf7;
	transform: translateX(100%);
	-webkit-transform: translateX(100%);
}
.slide_nav .slide_nav_h_top {
	padding: 37px 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.slide_nav .slide_nav_h_top .h-logo {
	width: 100px;
}
.slide_nav .slide_nav_h_top .menu_icon {
}
.slide_nav .menu_icon span:after, .slide_nav .menu_icon span:before {
	background-color: #8a2050;
}
.slide_nav nav {
	display: inline-block;
	width: 100%;
}
.slide_nav nav .menu-mobile-header-menu-container {
	position: relative;
	height: 100%;
}
.slide_nav nav .menu-main-menu-container {
	width: 100%;
}
.slide_nav nav ul {
	text-align: left;
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}
.slide_nav nav ul li.sub_menu_title {
	border-bottom: 1px solid #dadada;
	padding: 10px 20px;
	text-align: center;
	position: relative;
	background-color: #8a2050;
	color: #fff;
	font-weight: 500;
}
.slide_nav nav ul li.sub_menu_title .back_arrow {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	display: inline-block;
}
.slide_nav nav ul li.sub_menu_title .back_arrow:before,  .slide_nav nav ul li.sub_menu_title .back_arrow:after {
	content: "";
	position: absolute;
	left: 50%;
	width: 8px;
	height: 1.5px;
	background: #fff;
	border-radius: 2px;
}
/* top line */

.slide_nav nav ul li.sub_menu_title .back_arrow:before {
	top: 4px;
	transform: translateX(-50%) rotate(-45deg);
}
/* bottom line */

.slide_nav nav ul li.sub_menu_title .back_arrow:after {
	top: 9px;
	transform: translateX(-50%) rotate(45deg);
}
.slide_nav nav ul li {
	position: static;
	color: #fff;
	display: block;
	font-size: 16px;
	padding: 15px 20px;
	margin: 0;
	border-bottom: 1px solid #f5f5f5;
}
.slide_nav nav ul li button {
	display: none;
}
.slide_nav nav ul li a {
	color: #4a0e2c;
	font-size: 14px;
	line-height: 1.2;
	padding-right: 28px;
	display: block;
	position: relative;
	font-weight: 500;
	text-decoration: none;
	text-transform: uppercase;
}
.slide_nav nav ul li.menu-item-has-children .sub-arrow {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	display: inline-block;
}
.slide_nav nav ul li.menu-item-has-children .sub-arrow:before,  .slide_nav nav ul li.menu-item-has-children .sub-arrow:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 1.5px;
	background: #070a18;
	border-radius: 2px;
	transform-origin: center;
}
/* top line */

.slide_nav nav ul li.menu-item-has-children .sub-arrow:before {
	transform: translate(-50%, -50%) rotate(45deg);
	top: 4px;
}
/* bottom line */

.slide_nav nav ul li.menu-item-has-children .sub-arrow:after {
	transform: translate(-50%, -50%) rotate(-45deg);
	top: 9px;
}
.slide_nav nav ul li:last-child {
	margin-bottom: 0;
}
.slide_nav nav ul li.current_page_item > a {
}
.slide_nav nav ul li ul {
	width: 100%;
	background-color: #fffdf7;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	border: 0;
	padding: 0;
	height: 100%;
	z-index: 9999;
	transform: translateX(100%);
	-webkit-transform: translateX(100%);
}
.slide_nav nav ul li ul li {
}
.slide_nav ul li ul li a {
	padding: 0;
}
.slide_nav nav ul li ul li ul {
}
.slide_nav nav ul li ul li ul li a {
}
.slide_nav nav ul li ul.slide-in, .slide-in {
	animation: slide-in 0.3s forwards;
	-webkit-animation: slide-in 0.3s forwards;
}
.slide_nav nav ul li ul.slide-out, .slide-out {
	animation: slide-out 0.3s forwards;
	-webkit-animation: slide-out 0.3s forwards;
}
.slide_nav .slide_nav_bottom_btn {
	display: block;
	padding: 20px 20px 40px;
}
.slide_nav .slide_nav_bottom_btn .btn {
	display: block;
	background-color: #1e3b95;
	padding: 6px 20px;
}
 @keyframes slide-in {
 100% {
 transform: translateX(0%);
}
}
 @-webkit-keyframes slide-in {
 100% {
 -webkit-transform: translateX(0%);
}
}
 @keyframes slide-out {
 0% {
 transform: translateX(0%);
}
 100% {
 transform: translateX(100%);
}
}
 @-webkit-keyframes slide-out {
 0% {
 -webkit-transform: translateX(0%);
}
 100% {
 -webkit-transform: translateX(100%);
}
}
}

@media (max-width:880px) {
.proj-carousel.owl-carousel .owl-nav button.owl-prev, .rev-carousel.owl-carousel .owl-nav button.owl-prev {
	left: 6px
}
.proj-carousel.owl-carousel .owl-nav button.owl-next, .rev-carousel.owl-carousel .owl-nav button.owl-next {
	right: 6px
}
.feature .wrap {
	grid-template-columns: 1fr;
	gap: 40px
}
.feature.flip .feature-text {
	order: 2
}
.feature.flip .feature-img {
	order: 1
}
nav.primary {
	display: none
}
.util .left span:nth-child(3) {
	display: none
}
.hero .wrap {
	grid-template-columns: 1fr;
	padding: 40px 20px 56px;
	gap: 36px
}
.hero::before {
	background: linear-gradient(180deg, #f7eef0 0%, rgba(247,238,240,.92) 55%, rgba(247,238,240,.8) 100%)
}
.hero-bullets {
	grid-template-columns: 1fr
}
.section-head {
	grid-template-columns: 1fr;
	gap: 14px
}
.why .wrap, .area-grid, .faq .wrap, .cta-final .wrap, .offer .wrap, .about .wrap {
	grid-template-columns: 1fr!important;
	gap: 40px
}
.why-photo, .about-img {
	aspect-ratio: 5/4;
	max-width: 520px;
	margin: 0 auto
}
.rev-grid {
	grid-template-columns: 1fr
}
.area-list {
	columns: 1
}
footer .wrap {
	grid-template-columns: 1fr 1fr;
	gap: 30px
}
section {
	padding: 56px 0
}
.feature {
	padding: 56px 0
}
.wrap {
	padding: 0 20px
}
.float-call {
	display: inline-flex
}
.logo img {
	width: 200px;
}
.phone-big .meta {
	display: none
}
.nav-bottom {
	display: none
}
.post-alt .post-block {
	grid-template-columns: 1fr;
	gap: 22px;
	margin-bottom: 44px
}
.post-alt .post-block:nth-of-type(even) .post-figure {
	order: 0
}
.gen-row {
	grid-template-columns: 1fr;
	gap: 20px;
	padding: 24px 22px
}
.gen-logo {
	min-height: 100px
}
.util .wrap {
	gap: 0;
}
.util .left {
	gap: 8px;
	justify-content: center;
}
}

@media (max-width: 760px) {
.nav-top {
	padding: 12px 18px;
}
/*.nav-cta {

    flex-wrap: wrap;

    display: flex;

    justify-content: end;

    align-items: end;

    gap: 12px;

}*/

/*.nav-cta .btn {

    gap: 10px;

    padding: 8px 20px;

}*/
.wt-hint { 
margin: 80px 0 -70px;
}

.qeepr-wrap .qeepr-search-results-container {
	grid-template-columns: repeat(2, 1fr);
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-container-filter {
	width: 100%;
}
.qeepr-wrap .qeepr-search-form-container .qeepr-search-filter-sort-by, .qeepr-wrap .qeepr-search-form-container .qeepr-search-filter-date-interval {
	margin-right: 0;
	margin-top: 5px;
}
.legal.wrap {
	padding: 20px;
}
.legal div {
	white-space: pre-wrap;
}
footer {
	padding: 50px 0 0px;
}
.page-banner {
	padding: 48px 0 44px
}
.page-body {
	padding: 48px 0
}
.wt-gallery .wt-slide img, .cd-gallery .wt-slide img, .mv-gallery .wt-slide img, .maus-gallery .wt-slide img, .loc-gallery .wt-slide img, .vi-gallery .wt-slide img {
	height: 320px
}
.fig-photo img {
	height: 260px
}
}

@media (max-width:620px) {
.blog-grid {
	grid-template-columns: 1fr
}
.blog-thumb img {
	height: 200px
}
.thankyou {
	padding: 50px 0 70px
}
.thankyou .ty-card {
	padding: 36px 22px 34px
}
}

@media (max-width: 560px) {
.tagline-box {
	padding: 22px 20px 24px
}
.about-stats .st .n {
	font-size:22px;
}
}

@media (max-width:520px) {
.util .wrap {
	padding: 10px 12px;
}
.util .left {
	gap: 2px;
}
.logo img {
	width: 150px;
}
.nav-cta {
	gap: 10px;
}
.phone-big .ic {
	width: 40px;
	height: 40px;
	border-radius: 10px;
}
.nav-cta svg {
	width: 16px;
}
.nav-cta .btn {
	padding: 10px 12px;
	font-size: 12px;
	border-radius: 12px;
}
.menu_icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
}
.qeepr-wrap .qeepr-search-results-container {
	grid-template-columns: repeat(1, 1fr);
}
footer .wrap {
	grid-template-columns: 1fr
}
.trust-strip .wrap {
	grid-template-columns: 1fr
}
.static-grid, .qeepr-search-results-container {
	grid-template-columns: 1fr
}
.field-row {
	grid-template-columns: 1fr
}
}
