:root {
	--arch-burgundy: #6f1d2f;
	--arch-burgundy-700: #541424;
	--arch-wine: #2a0f17;
	--arch-wine-2: #3a1420;
	--arch-gold: #c9a24a;
	--arch-gold-2: #efd48a;
	--arch-cream: #fff8ea;
	--arch-parchment: #f4ead2;
	--arch-card: #ffffff;
	--arch-text: #2b2525;
	--arch-muted: #6f6463;
	--arch-border: rgba(84, 20, 36, 0.14);
	--arch-shadow: 0 24px 70px rgba(42, 15, 23, 0.14);
	--arch-radius: 22px;
	--arch-container: min(1180px, calc(100vw - 40px));
	--arch-heading-font: Georgia, 'Times New Roman', serif;
	--arch-body-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
	font-family: var(--arch-body-font);
	color: var(--arch-text);
	background: var(--arch-cream);
}

h1, h2, h3, h4, .entry-title {
	font-family: var(--arch-heading-font);
	letter-spacing: -0.018em;
}

a {
	text-underline-offset: 0.18em;
}

.arch-container,
.arch-section > .wp-block-group__inner-container,
.arch-section .wp-block-group__inner-container > .arch-container {
	width: var(--arch-container);
	max-width: var(--arch-container);
	margin-left: auto;
	margin-right: auto;
}

/* Kadence / global layout corrections */
.home .content-area,
.page-template-default .entry-content > .alignfull,
.entry-content .arch-section.alignfull {
	margin-top: 0;
}

.home .entry-header,
.home .page-title,
.home .entry-title,
.home .kadence-breadcrumbs,
.home .entry-hero,
.home .kt-title-bar-wrap {
	display: none !important;
}

.site-main,
.content-bg,
.content-style-boxed .content-bg,
.entry-content-wrap {
	background: transparent;
	box-shadow: none;
}

.site-branding img,
.custom-logo,
.site-header .site-branding img {
	max-height: 52px;
	width: auto;
	object-fit: contain;
}

.mobile-header-logo img,
.site-header-row-container .site-branding img {
	max-height: 44px;
}

.site-header-row {
	min-height: 74px;
}

.mobile-navigation ul li a,
.drawer-navigation .drawer-menu li a {
	line-height: 1.35;
	white-space: normal;
}

/* Announcement bar */
.arch-announcement-bar {
	background: linear-gradient(90deg, var(--arch-wine), var(--arch-burgundy));
	color: #fff7e7;
	font-size: 0.92rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	padding: 0.72rem 0;
	text-align: center;
	position: relative;
	z-index: 30;
}

.arch-announcement-bar a {
	color: #fff;
	font-weight: 800;
}

/* Hero */
.arch-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 18%, rgba(239, 212, 138, 0.33), transparent 28%),
		linear-gradient(135deg, #fff8ea 0%, #f4ead2 48%, #fff 100%);
	padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(3rem, 7vw, 6rem);
}

.arch-hero::before {
	content: '';
	position: absolute;
	inset: -22% auto auto -12%;
	width: 410px;
	height: 410px;
	border-radius: 999px;
	background: rgba(111, 29, 47, 0.08);
	filter: blur(1px);
}

.arch-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.72fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.arch-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.8rem;
	border: 1px solid rgba(111, 29, 47, 0.18);
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	color: var(--arch-burgundy);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.arch-hero h1 {
	font-size: clamp(2.7rem, 5.8vw, 5.3rem);
	line-height: 0.95;
	margin: 1.2rem 0 1rem;
	color: var(--arch-wine);
}

.arch-lede {
	font-size: clamp(1.06rem, 1.7vw, 1.24rem);
	line-height: 1.75;
	color: var(--arch-muted);
	max-width: 680px;
}

.arch-actions {
	display: flex;
	gap: 0.9rem;
	flex-wrap: wrap;
	margin: 1.8rem 0;
}

.arch-button,
.wp-block-button .wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button {
	border-radius: 999px;
	font-weight: 800;
	padding: 0.86rem 1.18rem;
	box-shadow: 0 12px 28px rgba(111, 29, 47, 0.16);
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.arch-button-primary,
.wp-block-button.arch-button-primary .wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: linear-gradient(135deg, var(--arch-burgundy), var(--arch-wine));
	color: #fff !important;
	border: 0;
}

.arch-button-secondary,
.wp-block-button.arch-button-secondary .wp-block-button__link {
	background: #fff;
	color: var(--arch-burgundy) !important;
	border: 1px solid rgba(111, 29, 47, 0.22);
}

.arch-button:hover,
.wp-block-button .wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	transform: translateY(-1px);
	box-shadow: 0 18px 38px rgba(111, 29, 47, 0.22);
}

.arch-product-search {
	display: flex;
	gap: 0.65rem;
	align-items: center;
	max-width: 650px;
	background: #fff;
	border: 1px solid rgba(111, 29, 47, 0.15);
	border-radius: 999px;
	padding: 0.48rem;
	box-shadow: 0 16px 50px rgba(42, 15, 23, 0.1);
}

.arch-product-search input[type='search'] {
	flex: 1;
	border: 0;
	outline: 0;
	padding: 0.8rem 1rem;
	min-width: 0;
	background: transparent;
	font-size: 1rem;
}

.arch-product-search button {
	border: 0;
	border-radius: 999px;
	padding: 0.82rem 1.15rem;
	background: var(--arch-gold);
	color: var(--arch-wine);
	font-weight: 900;
	cursor: pointer;
}

.arch-info-card {
	position: relative;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.78)),
		linear-gradient(135deg, rgba(111,29,47,0.08), rgba(201,162,74,0.14));
	border: 1px solid rgba(111, 29, 47, 0.13);
	border-radius: 28px;
	box-shadow: var(--arch-shadow);
	padding: clamp(1.4rem, 3vw, 2.2rem);
}

.arch-info-card h3 {
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	margin: 0 0 0.9rem;
	color: var(--arch-wine);
}

.arch-info-list {
	list-style: none;
	padding: 0;
	margin: 1.3rem 0 0;
	display: grid;
	gap: 0.8rem;
}

.arch-info-list li {
	position: relative;
	padding: 0.86rem 0.95rem 0.86rem 2.7rem;
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(84, 20, 36, 0.1);
	font-weight: 700;
}

.arch-info-list li::before {
	content: '✦';
	position: absolute;
	left: 1rem;
	color: var(--arch-gold);
}

/* Sections and cards */
.arch-section {
	padding: clamp(3rem, 6vw, 5.5rem) 0;
	background: var(--arch-cream);
}

.arch-section-white {
	background: #fff;
}

.arch-section-dark {
	background:
		radial-gradient(circle at 88% 18%, rgba(201, 162, 74, 0.2), transparent 26%),
		linear-gradient(135deg, var(--arch-wine), #19080d);
	color: #fff7e7;
}

.arch-section-heading {
	max-width: 780px;
	margin: 0 auto clamp(1.8rem, 4vw, 3rem);
	text-align: center;
}

.arch-section-heading h2 {
	font-size: clamp(2.1rem, 4vw, 3.6rem);
	line-height: 1.05;
	margin: 0 0 0.8rem;
	color: var(--arch-wine);
}

.arch-section-dark .arch-section-heading h2,
.arch-section-dark h2,
.arch-section-dark h3 {
	color: #fff7e7;
}

.arch-section-heading p {
	color: var(--arch-muted);
	font-size: 1.08rem;
	line-height: 1.7;
}

.arch-section-dark .arch-section-heading p,
.arch-section-dark p {
	color: rgba(255, 248, 234, 0.82);
}

.arch-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
}

.arch-category-card,
.arch-service-card,
.arch-support-card {
	background: var(--arch-card);
	border: 1px solid var(--arch-border);
	border-radius: var(--arch-radius);
	padding: 1.35rem;
	box-shadow: 0 14px 42px rgba(42, 15, 23, 0.08);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.arch-category-card:hover,
.arch-service-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 56px rgba(42, 15, 23, 0.13);
}

.arch-card-icon {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 15px;
	background: rgba(201, 162, 74, 0.18);
	color: var(--arch-burgundy);
	font-size: 1.35rem;
	margin-bottom: 1rem;
}

.arch-category-card h3,
.arch-service-card h3,
.arch-support-card h3 {
	font-size: 1.45rem;
	margin: 0 0 0.45rem;
	color: var(--arch-wine);
}

.arch-category-card p,
.arch-service-card p,
.arch-support-card p {
	color: var(--arch-muted);
	line-height: 1.65;
	margin: 0 0 0.85rem;
}

.arch-category-card a,
.arch-card-link {
	font-weight: 850;
	color: var(--arch-burgundy);
	text-decoration: none;
}

.arch-mission-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 0.55fr);
	gap: clamp(1.3rem, 4vw, 3rem);
	align-items: stretch;
}

.arch-mission-copy {
	padding: clamp(1.4rem, 3vw, 2.2rem);
	border-radius: 28px;
	border: 1px solid rgba(255,255,255,0.16);
	background: rgba(255,255,255,0.06);
}

.arch-mission-copy h2 {
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.06;
	margin-top: 0;
}

.arch-support-card {
	background: rgba(255,255,255,0.96);
}

.arch-support-card a {
	color: var(--arch-burgundy);
	font-weight: 800;
}

.arch-newsletter {
	background: linear-gradient(135deg, #fff, var(--arch-cream));
	border: 1px solid rgba(111, 29, 47, 0.14);
	border-radius: 28px;
	box-shadow: var(--arch-shadow);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.arch-newsletter h2 {
	font-size: clamp(2rem, 4vw, 3.3rem);
	margin-top: 0;
	color: var(--arch-wine);
}

.arch-footer-pattern {
	background: var(--arch-wine);
	color: rgba(255, 248, 234, 0.88);
	padding: 3rem 0 1.25rem;
}

.arch-footer-grid {
	display: grid;
	grid-template-columns: 1.3fr repeat(3, 1fr);
	gap: 1.2rem;
}

.arch-footer-pattern h3,
.arch-footer-pattern h4 {
	color: #fff8ea;
	margin-top: 0;
}

.arch-footer-pattern a {
	color: #fff8ea;
	text-decoration: none;
}

.arch-footer-pattern ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.45rem;
}

.arch-footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.14);
	margin-top: 2rem;
	padding-top: 1.1rem;
	font-size: 0.92rem;
}

/* WooCommerce polish */
.woocommerce ul.products li.product,
.wc-block-grid__product {
	background: #fff;
	border: 1px solid var(--arch-border);
	border-radius: 20px;
	padding: 1rem !important;
	box-shadow: 0 14px 36px rgba(42, 15, 23, 0.07);
	overflow: hidden;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product-image img {
	border-radius: 15px;
	background: var(--arch-cream);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
	font-family: var(--arch-heading-font);
	font-size: 1.25rem;
	color: var(--arch-wine);
}

.woocommerce div.product .product_title {
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	color: var(--arch-wine);
}

.woocommerce span.onsale {
	background: var(--arch-gold);
	color: var(--arch-wine);
	font-weight: 900;
}

.arch-empty-shop-note {
	background: #fff;
	border: 1px solid var(--arch-border);
	border-radius: 16px;
	padding: 1rem;
}

/* Forms */
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='search'],
textarea,
select {
	border-radius: 12px;
	border-color: rgba(84, 20, 36, 0.18);
}

/* Responsive */
@media (max-width: 960px) {
	.arch-hero-grid,
	.arch-mission-grid,
	.arch-footer-grid {
		grid-template-columns: 1fr;
	}

	.arch-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	:root {
		--arch-container: min(100vw - 28px, 1180px);
	}

	.arch-card-grid {
		grid-template-columns: 1fr;
	}

	.arch-product-search {
		border-radius: 22px;
		align-items: stretch;
		flex-direction: column;
	}

	.arch-product-search button {
		width: 100%;
	}

	.site-branding img,
	.custom-logo,
	.mobile-header-logo img {
		max-height: 38px;
	}
}

/* Built-in starter footer: hide Kadence default footer to avoid duplicate rows. */
.archangels-custom-footer .site-footer,
.archangels-custom-footer #colophon {
	display: none !important;
}

.arch-footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.45rem;
}

.arch-footer-pattern p {
	line-height: 1.65;
}
