/* Sambhar — design tokens + layout (Udupi Heritage Modern) */
:root {
	--surface: #fff8f6;
	--surface-low: #fff1eb;
	--surface-container: #ffeae0;
	--surface-high: #ffe2d5;
	--surface-highest: #fbdcce;
	--surface-lowest: #ffffff;
	--on-surface: #28180f;
	--on-surface-variant: #504533;
	--inverse-surface: #3e2c23;
	--inverse-on: #ffede5;
	--outline: #827561;
	--outline-variant: #d4c4ad;
	--primary: #7b5900;
	--primary-container: #f7b928;
	--on-primary-container: #694b00;
	--on-primary: #ffffff;
	--secondary: #276c00;
	--secondary-fixed: #a3f47a;
	--tertiary: #aa3612;
	--tertiary-fixed: #ffb09a;
	--primary-fixed: #ffdea4;
	--font-display: "Playfair Display", Georgia, serif;
	--font-body: "Plus Jakarta Sans", system-ui, sans-serif;
	--space-xxs: 0.25rem;
	--space-xs: 0.5rem;
	--space-sm: 0.75rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2rem;
	--space-2xl: 3rem;
	--space-3xl: 4rem;
	--gutter: 1rem;
	--container: 1200px;
	--radius: 0.5rem;
	--radius-lg: 1rem;
	--radius-xl: 1.5rem;
	--radius-full: 9999px;
	--header-h: 5rem;
	--shadow-soft: 0 4px 16px -2px rgba(43, 27, 18, 0.05);
	--shadow-lift: 0 10px 30px -4px rgba(43, 27, 18, 0.12);
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

:where(html) {
	scroll-behavior: smooth;
}
:where(body) {
	margin: 0;
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 22px;
	color: var(--on-surface);
	background: var(--surface);
	-webkit-font-smoothing: antialiased;
}

:where(img, svg, video) { max-width: 100%; height: auto; display: block; }
:where(a) { color: inherit; }
:where(h1, h2, h3, h4, p) { margin: 0; }
:where(ul) { margin: 0; padding: 0; list-style: none; }
:where(button) { font: inherit; cursor: pointer; border: 0; background: none; }

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: var(--space-sm) var(--space-md);
	background: var(--primary-container);
	color: var(--on-primary-container);
}
.skip-link:focus { left: var(--space-md); top: var(--space-md); }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.container {
	width: min(100% - (var(--gutter) * 2), var(--container));
	margin-inline: auto;
}
.container.narrow { width: min(100% - (var(--gutter) * 2), 720px); }

@media (min-width: 768px) {
	:root { --gutter: 1.5rem; }
	:where(body) { font-size: 16px; line-height: 26px; }
}

/* Type */
.display-lg,
.type-display {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(2.125rem, 4vw + 1rem, 3rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
}
.headline-lg {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.625rem, 2vw + 1rem, 2rem);
	line-height: 1.25;
}
.headline-md {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 2rem;
}
.headline-sm {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1.75rem;
}
.title-md { font-weight: 600; font-size: 1rem; line-height: 1.5rem; }
.body-lg { font-size: 1rem; line-height: 1.625rem; color: var(--on-surface-variant); }
.body-md { font-size: 0.875rem; line-height: 1.375rem; color: var(--on-surface-variant); }
.body-sm { font-size: 0.75rem; line-height: 1.125rem; color: var(--on-surface-variant); }
.label-md {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.price-lg { font-weight: 800; font-size: 1.375rem; letter-spacing: -0.01em; }
.price-md { font-weight: 700; font-size: 1.0625rem; }
.text-primary { color: var(--primary); }
.text-secondary { color: var(--secondary); }
.text-tertiary { color: var(--tertiary); }
.italic { font-style: italic; }

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	color: var(--primary);
	font-weight: 700;
}
.eyebrow::before,
.eyebrow::after {
	content: "";
	width: 2rem;
	height: 1px;
	background: color-mix(in srgb, var(--primary) 40%, transparent);
}

/* Buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	padding: var(--space-sm) var(--space-lg);
	border-radius: var(--radius-full);
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: transform 0.25s var(--ease), background 0.25s var(--ease), color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.btn:hover { transform: translateY(-1px); }
.btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.btn-primary {
	background: var(--primary-container);
	color: var(--on-primary-container);
	box-shadow: var(--shadow-soft);
}
.btn-primary:hover { background: var(--primary); color: var(--on-primary); }
.btn-ghost {
	background: var(--surface-lowest);
	color: var(--on-surface);
	box-shadow: var(--shadow-soft);
}
.btn-ghost--on-dark {
	background: color-mix(in srgb, #fff 14%, transparent);
	color: #fff8f6;
	border: 1px solid color-mix(in srgb, #fff 40%, transparent);
	box-shadow: none;
}
.btn-ghost--on-dark:hover {
	background: color-mix(in srgb, #fff 24%, transparent);
	color: #fff;
}
.btn-sm { padding: var(--space-xs) var(--space-md); }

/* Header */
.site-header {
	--header-current-h: var(--header-h);
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 50;
	height: var(--header-current-h);
	background: color-mix(in srgb, var(--surface) 88%, transparent);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid transparent;
	transition:
		box-shadow 0.35s var(--ease),
		height 0.35s var(--ease),
		background 0.35s var(--ease),
		border-color 0.35s var(--ease);
}
.site-header.is-scrolled {
	--header-current-h: 4rem;
	background: color-mix(in srgb, var(--surface) 78%, transparent);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
	border-bottom-color: color-mix(in srgb, var(--outline-variant) 45%, transparent);
	box-shadow: 0 6px 28px -8px rgba(43, 27, 18, 0.12);
}
.header-inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
}
.brand {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	text-decoration: none;
	flex-shrink: 0;
	max-width: min(58vw, 14rem);
	animation: sambhar-brand-in 0.55s var(--ease) both;
}
@keyframes sambhar-brand-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
.brand .custom-logo-link,
.brand .custom-logo {
	display: block;
	line-height: 0;
}
.brand-logo {
	display: block;
	width: auto;
	height: 1.75rem;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
	border-radius: 0.25rem;
	transition: height 0.35s var(--ease);
}
.site-header.is-scrolled .brand-logo {
	height: 1.5rem;
}
.brand-logo--footer {
	height: 3rem;
	max-width: 16rem;
}
.brand-footer {
	display: inline-block;
	max-width: 16rem;
	margin-bottom: var(--space-sm);
}
@media (min-width: 768px) {
	.brand { max-width: 12rem; }
	.brand-logo { height: 2rem; }
	.site-header.is-scrolled .brand-logo { height: 1.75rem; }
	.brand-logo--footer { height: 3.25rem; }
}
.brand-mark {
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, var(--secondary-fixed), var(--secondary));
}
.brand-name {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.25rem;
	color: var(--primary);
}
.nav-primary .nav-list {
	display: none;
	gap: var(--space-lg);
	list-style: none;
	margin: 0;
	padding: 0;
}
.nav-primary a {
	position: relative;
	display: inline-block;
	padding: 0.35rem 0;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
	letter-spacing: 0.02em;
	color: var(--on-surface-variant);
	transition: color 0.25s var(--ease);
}
.nav-primary a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.1rem;
	height: 2px;
	border-radius: var(--radius-full);
	background: var(--primary-container);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.28s var(--ease);
}
.nav-primary a:hover,
.nav-primary a:focus-visible,
.nav-primary a.is-active,
.nav-primary .current-menu-item > a {
	color: var(--on-surface);
}
.nav-primary a:hover::after,
.nav-primary a:focus-visible::after,
.nav-primary a.is-active::after,
.nav-primary .current-menu-item > a::after {
	transform: scaleX(1);
}
.nav-toggle {
	width: 2.5rem;
	height: 2.5rem;
	display: grid;
	place-content: center;
	gap: 5px;
	border: 0;
	border-radius: var(--radius);
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}
.nav-toggle span {
	display: block;
	width: 1.25rem;
	height: 2px;
	background: var(--on-surface);
	transition: transform 0.28s var(--ease), opacity 0.28s var(--ease);
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1023px) {
	.nav-primary {
		position: fixed;
		top: var(--header-current-h);
		left: 0;
		right: 0;
		bottom: auto;
		max-height: min(70vh, 28rem);
		overflow-y: auto;
		background: color-mix(in srgb, var(--surface-lowest) 94%, transparent);
		backdrop-filter: blur(18px);
		-webkit-backdrop-filter: blur(18px);
		padding: var(--space-lg) var(--gutter) var(--space-xl);
		border-bottom: 1px solid color-mix(in srgb, var(--outline-variant) 50%, transparent);
		box-shadow: var(--shadow-lift);
		transform: translateY(-0.65rem);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			top 0.35s var(--ease),
			transform 0.35s var(--ease),
			opacity 0.35s var(--ease),
			visibility 0.35s;
		z-index: 40;
	}
	.nav-primary.is-open {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.nav-primary .nav-list {
		display: flex;
		flex-direction: column;
		gap: var(--space-xs);
	}
	.nav-primary .nav-list > li {
		opacity: 0;
		transform: translateY(0.55rem);
		transition:
			opacity 0.32s var(--ease),
			transform 0.32s var(--ease);
	}
	.nav-primary.is-open .nav-list > li {
		opacity: 1;
		transform: none;
	}
	.nav-primary.is-open .nav-list > li:nth-child(1) { transition-delay: 0.04s; }
	.nav-primary.is-open .nav-list > li:nth-child(2) { transition-delay: 0.08s; }
	.nav-primary.is-open .nav-list > li:nth-child(3) { transition-delay: 0.12s; }
	.nav-primary.is-open .nav-list > li:nth-child(4) { transition-delay: 0.16s; }
	.nav-primary.is-open .nav-list > li:nth-child(5) { transition-delay: 0.2s; }
	.nav-primary a {
		font-size: 1.125rem;
		padding: 0.55rem 0;
	}
}

@media (min-width: 1024px) {
	.nav-primary {
		margin-left: auto;
	}
	.nav-primary .nav-list {
		display: flex;
		align-items: center;
		gap: var(--space-xl);
	}
	.nav-toggle { display: none; }
}

.site-main { padding-top: var(--header-h); min-height: 60vh; }

/* Sections */
.section {
	padding: var(--space-2xl) 0;
}
@media (min-width: 768px) {
	.section { padding: var(--space-3xl) 0; }
}
.section-alt { background: var(--surface-low); }
.section-head {
	text-align: center;
	max-width: 40rem;
	margin: 0 auto var(--space-2xl);
	position: relative;
	padding-bottom: 1.75rem;
}
.section-head .headline-lg { margin: var(--space-xs) 0; }
.section-head .body-md { margin-top: var(--space-xs); }

/* —— Soft kolam / mehndi motif (site-wide atmosphere) —— */
:root {
	--motif-border: url("../images/motif-kolam-border.svg");
	--motif-float: url("../images/motif-kolam-float.svg");
	--motif-opacity: 0.38;
}
.motif-rule,
.section-head::after,
.has-motif::after {
	content: "";
	display: block;
	width: min(18rem, 72%);
	height: 1.1rem;
	margin: var(--space-md) auto 0;
	background-image: var(--motif-border);
	background-repeat: repeat-x;
	background-position: center;
	background-size: auto 100%;
	opacity: var(--motif-opacity);
	pointer-events: none;
}
.has-motif {
	position: relative;
	padding-bottom: 1.5rem;
}
.has-motif--left::after,
.has-motif--start::after {
	margin-left: 0;
	margin-right: auto;
}

/* Scroll-triggered motif draw (pairs with .reveal.is-visible) */
.js .section-head.reveal:not(.is-visible)::after,
.js .has-motif.reveal:not(.is-visible)::after,
.js .menu-section-head.reveal:not(.is-visible)::after,
.js .cta-band.reveal:not(.is-visible)::before,
.js .site-footer.reveal:not(.is-visible)::before {
	opacity: 0;
	transform: scaleX(0.45);
}
.js .section-head::after,
.js .has-motif::after,
.js .menu-section-head::after {
	transform-origin: center;
	transition:
		opacity 0.75s var(--ease) 0.12s,
		transform 0.85s var(--ease) 0.12s;
}
.js .section-head.is-visible::after,
.js .has-motif.is-visible::after,
.js .menu-section-head.is-visible::after {
	opacity: var(--motif-opacity);
	transform: scaleX(1);
}

.menu-section-head {
	position: relative;
	padding-bottom: 1.25rem;
}
.menu-section-head::after {
	content: "";
	display: block;
	width: min(14rem, 55%);
	height: 1rem;
	margin: var(--space-sm) 0 0;
	background-image: var(--motif-border);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: auto 100%;
	opacity: var(--motif-opacity);
	transform-origin: left center;
	pointer-events: none;
}

.cta-band {
	position: relative;
}
.cta-band::before {
	content: "";
	display: block;
	width: min(22rem, 80%);
	height: 1.15rem;
	margin: 0 auto var(--space-md);
	background-image: var(--motif-border);
	background-repeat: repeat-x;
	background-position: center;
	background-size: auto 100%;
	opacity: var(--motif-opacity);
	transform-origin: center;
	pointer-events: none;
}
.js .cta-band::before {
	transition:
		opacity 0.75s var(--ease) 0.1s,
		transform 0.85s var(--ease) 0.1s;
}
.js .cta-band.is-visible::before {
	opacity: var(--motif-opacity);
	transform: scaleX(1);
}

.site-footer {
	position: relative;
}
.site-footer::before {
	content: "";
	display: block;
	width: min(28rem, 90%);
	height: 1.2rem;
	margin: 0 auto var(--space-xl);
	background-image: var(--motif-border);
	background-repeat: repeat-x;
	background-position: center;
	background-size: auto 100%;
	opacity: 0.32;
	transform-origin: center;
	pointer-events: none;
}
.js .site-footer::before {
	transition:
		opacity 0.9s var(--ease) 0.15s,
		transform 1s var(--ease) 0.15s;
}
.js .site-footer.is-visible::before {
	opacity: 0.32;
	transform: scaleX(1);
}

/* Floating kolam artwork (all pages) */
.kolam-float {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.site-header,
.site-main,
.site-footer {
	position: relative;
	z-index: 1;
}
.site-header {
	z-index: 50;
}
.kolam-float__piece {
	position: absolute;
	display: block;
	background-image: var(--motif-float);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.14;
	will-change: transform, opacity;
}
.kolam-float__piece--1 {
	width: clamp(7rem, 18vw, 11rem);
	height: clamp(7rem, 18vw, 11rem);
	top: 12%;
	left: -2%;
	animation: kolam-drift-a 22s var(--ease) infinite alternate;
}
.kolam-float__piece--2 {
	width: clamp(5.5rem, 14vw, 9rem);
	height: clamp(5.5rem, 14vw, 9rem);
	top: 28%;
	right: -1.5%;
	opacity: 0.12;
	animation: kolam-drift-b 26s var(--ease) infinite alternate;
}
.kolam-float__piece--3 {
	width: clamp(6rem, 15vw, 10rem);
	height: clamp(6rem, 15vw, 10rem);
	top: 58%;
	left: -3%;
	opacity: 0.11;
	animation: kolam-drift-c 24s var(--ease) infinite alternate;
}
.kolam-float__piece--4 {
	width: clamp(8rem, 20vw, 12rem);
	height: clamp(8rem, 20vw, 12rem);
	top: 72%;
	right: -4%;
	opacity: 0.13;
	animation: kolam-drift-a 28s var(--ease) infinite alternate-reverse;
}
.kolam-float__piece--5 {
	width: clamp(4.5rem, 11vw, 7rem);
	height: clamp(4.5rem, 11vw, 7rem);
	top: 44%;
	left: 8%;
	opacity: 0.09;
	animation: kolam-drift-b 20s var(--ease) infinite alternate;
}
.kolam-float__piece--6 {
	width: clamp(5rem, 12vw, 8rem);
	height: clamp(5rem, 12vw, 8rem);
	top: 18%;
	right: 12%;
	opacity: 0.1;
	animation: kolam-drift-c 30s var(--ease) infinite alternate-reverse;
}
@media (max-width: 767px) {
	.kolam-float__piece--5,
	.kolam-float__piece--6 {
		display: none;
	}
	.kolam-float__piece {
		opacity: 0.1;
	}
}
/* Soften over dark home hero */
.page-home .kolam-float__piece--1,
.page-home .kolam-float__piece--2,
.page-home .kolam-float__piece--6 {
	opacity: 0.08;
	mix-blend-mode: soft-light;
}

@keyframes kolam-drift-a {
	0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
	50% { transform: translate3d(1.25rem, -1.5rem, 0) rotate(6deg) scale(1.04); }
	100% { transform: translate3d(-0.75rem, 1rem, 0) rotate(-4deg) scale(0.98); }
}
@keyframes kolam-drift-b {
	0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
	50% { transform: translate3d(-1.5rem, 1rem, 0) rotate(-8deg) scale(1.06); }
	100% { transform: translate3d(1rem, -0.75rem, 0) rotate(5deg) scale(0.97); }
}
@keyframes kolam-drift-c {
	0% { transform: translate3d(0, 0, 0) rotate(12deg) scale(1); opacity: 0.1; }
	50% { transform: translate3d(0.75rem, 1.25rem, 0) rotate(0deg) scale(1.05); opacity: 0.16; }
	100% { transform: translate3d(-1rem, -0.5rem, 0) rotate(-10deg) scale(0.96); opacity: 0.11; }
}

@media (prefers-reduced-motion: reduce) {
	.js .section-head::after,
	.js .has-motif::after,
	.js .menu-section-head::after,
	.js .cta-band::before,
	.js .site-footer::before {
		transition: none !important;
		transform: none !important;
		opacity: var(--motif-opacity) !important;
	}
	.js .site-footer::before {
		opacity: 0.32 !important;
	}
	.kolam-float__piece {
		animation: none !important;
		will-change: auto;
	}
}

/* HOME-02 — story teaser (heading + CTA only; pillars live on About) */
.home-story-teaser .section-head {
	margin-bottom: var(--space-lg);
}
.home-story-teaser-cta {
	text-align: center;
	margin: 0;
}

/* Cards / grids */
.card {
	background: var(--surface-low);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	border: 1px solid color-mix(in srgb, var(--primary-container) 20%, transparent);
	transition: box-shadow 0.3s var(--ease), transform 0.3s var(--ease);
}
.card:hover { box-shadow: var(--shadow-lift); transform: translateY(-2px); }
.card-body { padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-xs); }
.card-icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--radius-lg);
	display: grid;
	place-items: center;
	background: var(--primary-container);
	color: var(--on-primary-container);
	font-size: 1.125rem;
	font-weight: 700;
}
.grid-3 {
	display: grid;
	gap: var(--space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.grid-3 { grid-template-columns: repeat(3, 1fr); }
}
.grid-2 {
	display: grid;
	gap: var(--space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.grid-2 { grid-template-columns: repeat(2, 1fr); }
}

.food-ph {
	aspect-ratio: 1;
	width: 100%;
	display: grid;
	place-items: end start;
	padding: var(--space-md);
	color: var(--inverse-on);
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 600;
}
.food-ph span {
	text-shadow: 0 2px 12px rgba(43, 27, 18, 0.35);
}

.card-media {
	aspect-ratio: 4 / 3;
	width: 100%;
	overflow: hidden;
	background: var(--surface-highest);
}
.card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.pill {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.35rem 0.75rem;
	border-radius: var(--radius-full);
	background: var(--surface-container);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--on-surface-variant);
}
.pill-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--secondary);
}
.veg-mark {
	width: 0.875rem;
	height: 0.875rem;
	border: 1.5px solid var(--secondary);
	display: inline-grid;
	place-items: center;
	flex-shrink: 0;
}
.veg-mark::after {
	content: "";
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background: var(--secondary);
}

/* Footer */
.site-footer {
	background: var(--surface-low);
	padding-top: var(--space-3xl);
	position: relative;
}
.footer-grid {
	display: grid;
	gap: var(--space-xl);
	grid-template-columns: 1fr;
	align-items: start;
	padding-bottom: var(--space-2xl);
}
/* Tablet: 2 columns — five peer blocks wrap (Brand|Corporate, Franchise|Branches, Timings) */
@media (min-width: 768px) and (max-width: 1099px) {
	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* Desktop: one row — Brand | Corporate | Franchise | Branches | Timings */
@media (min-width: 1100px) {
	.footer-grid {
		grid-template-columns:
			minmax(0, 1.35fr)
			minmax(0, 1fr)
			minmax(0, 1.2fr)
			minmax(0, 0.95fr)
			minmax(0, 1fr);
	}
}
.footer-title { margin-bottom: var(--space-sm); }
.footer-brand .footer-text { margin-top: 0; }
.footer-heading {
	font-family: var(--font-display);
	font-size: 1.125rem;
	line-height: 1.3;
	margin: 0 0 var(--space-md);
	text-wrap: balance;
}
.footer-text { color: var(--on-surface-variant); margin-bottom: var(--space-md); }
.footer-list { display: grid; gap: var(--space-sm); color: var(--on-surface-variant); }
.footer-list a {
	color: var(--primary);
	text-decoration: none;
}
.footer-list a:hover,
.footer-list a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.footer-corp-contacts a {
	font-weight: 600;
}
.footer-branch-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 700;
	color: var(--on-surface);
	text-decoration: none;
	transition: color 0.2s var(--ease);
}
.footer-branch-link:hover,
.footer-branch-link:focus-visible {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.footer-ext-icon {
	flex-shrink: 0;
	opacity: 0.7;
}
.footer-branch-link:hover .footer-ext-icon,
.footer-branch-link:focus-visible .footer-ext-icon,
.footer-corp-link:hover .footer-ext-icon,
.footer-corp-link:focus-visible .footer-ext-icon {
	opacity: 1;
}
.footer-social {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
}
.footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--radius-full);
	background: var(--surface-container);
	color: var(--primary);
	text-decoration: none;
	transition: background 0.2s var(--ease), color 0.2s var(--ease), transform 0.2s var(--ease);
}
.footer-social-link:hover,
.footer-social-link:focus-visible {
	background: var(--primary-container);
	color: var(--on-primary-container);
	transform: translateY(-1px);
}
.footer-social-icon {
	display: block;
}
.footer-corp-link {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.35rem;
	color: var(--on-surface-variant);
	text-decoration: none;
	line-height: 1.45;
}
.footer-corp-link:hover,
.footer-corp-link:focus-visible {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.footer-corp-link .footer-ext-icon {
	margin-top: 0.2em;
}
.footer-bar {
	border-top: 1px solid var(--outline-variant);
	padding: var(--space-md) 0;
}
.footer-bar-inner {
	display: flex;
	justify-content: space-between;
	gap: var(--space-md);
	flex-wrap: wrap;
	font-size: 0.75rem;
	color: var(--on-surface-variant);
}

/* —— Home —— */
.page-home .site-main {
	padding-top: 0;
}
.page-home .site-header:not(.is-scrolled) {
	background: color-mix(in srgb, var(--surface) 55%, transparent);
	border-bottom-color: transparent;
	box-shadow: none;
}

.hero--brand-stage {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: grid;
	place-items: center;
	min-height: 100svh;
	padding: calc(var(--header-h) + var(--space-xl)) 0 var(--space-2xl);
	background: var(--inverse-surface);
	color: #fff8f6;
}
.hero-backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero-backdrop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 42%;
}
.hero-backdrop::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			rgba(40, 24, 15, 0.55) 0%,
			rgba(40, 24, 15, 0.42) 40%,
			rgba(40, 24, 15, 0.62) 100%
		),
		radial-gradient(ellipse 70% 55% at 50% 42%, rgba(40, 24, 15, 0.2), rgba(40, 24, 15, 0.55));
	pointer-events: none;
}
.hero-stage {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--space-md);
	max-width: 40rem;
}
.hero-brand {
	position: relative;
	margin: 0;
	line-height: 0;
	width: min(78vw, 22rem);
}
.hero-brand::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 130%;
	height: 140%;
	background: radial-gradient(ellipse at center, rgba(255, 248, 246, 0.72) 0%, rgba(255, 248, 246, 0.2) 45%, transparent 70%);
	pointer-events: none;
	z-index: -1;
}
.hero-logo {
	position: relative;
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 8px 24px rgba(40, 24, 15, 0.35));
}
.hero-tagline {
	margin: 0;
	font-family: var(--font-body);
	font-size: clamp(1rem, 2.4vw, 1.25rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.45;
	color: color-mix(in srgb, #fff8f6 92%, transparent);
	text-shadow: 0 1px 12px rgba(40, 24, 15, 0.45);
	max-width: 28rem;
}
.hero--brand-stage .hero-ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-sm);
	width: 100%;
	margin-top: var(--space-xs);
}
.hero--brand-stage .hero-ctas .btn {
	width: 100%;
	max-width: 18rem;
}
@media (min-width: 640px) {
	.hero--brand-stage .hero-ctas .btn {
		width: auto;
		max-width: none;
	}
}
@media (min-width: 768px) {
	.hero-brand {
		width: min(70vw, 26rem);
	}
}

/* Legacy hero pieces unused on Home brand-stage */
.hero-kolam,
.hero-grid { display: none; }

.signature-swiper { overflow: hidden; border-radius: 1.5rem; }

/* Native horizontal scroller (no Swiper touch lock on Home) */
.signature-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(16rem, 20rem);
	gap: var(--space-md);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--gutter);
	padding-bottom: var(--space-sm);
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}
.signature-track > .signature-card {
	scroll-snap-align: start;
	height: auto;
}
@media (min-width: 1024px) {
	.signature-track {
		display: grid;
		grid-auto-flow: unset;
		grid-auto-columns: unset;
		grid-template-columns: repeat(3, 1fr);
		overflow: visible;
		scroll-snap-type: none;
	}
}

.signature-card {
	background: var(--surface-lowest);
	border-radius: var(--radius-xl);
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--primary-container) 25%, transparent);
	height: 100%;
	display: flex;
	flex-direction: column;
}
.signature-card .food-ph { aspect-ratio: 4 / 3; }
.signature-card .signature-media {
	aspect-ratio: 4 / 3;
	position: relative;
}
.signature-card .signature-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--on-surface) 16%, transparent),
		inset 0 0 40px rgba(43, 27, 18, 0.4);
}
.signature-card .card-body { flex: 1; }
.signature-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: var(--space-sm);
}
.swiper-pagination-bullet-active { background: var(--primary-container) !important; }

.branch-card {
	background: var(--surface-lowest);
	border-radius: var(--radius-xl);
	padding: var(--space-lg);
	box-shadow: var(--shadow-soft);
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}
.branch-card-title-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
	color: inherit;
	width: fit-content;
}
.branch-card-title-link .headline-sm {
	margin: 0;
}
.branch-card-title-link .footer-ext-icon {
	opacity: 0.7;
	color: var(--primary);
}
.branch-card-title-link:hover,
.branch-card-title-link:focus-visible {
	color: var(--primary);
}
.branch-card-title-link:hover .footer-ext-icon,
.branch-card-title-link:focus-visible .footer-ext-icon {
	opacity: 1;
}

/* CONTACT-02 — embedded map locator */
.branch-card--map {
	padding: 0;
	overflow: hidden;
	gap: 0;
}
.branch-card-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	padding: var(--space-lg);
}
.branch-address {
	display: flex;
	align-items: flex-start;
	gap: var(--space-xs);
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.4;
	font-weight: 600;
	color: var(--on-surface);
}
.branch-pin {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	margin-top: 0.15rem;
	border-radius: 50% 50% 50% 0;
	background: var(--tertiary);
	transform: rotate(-45deg);
	box-shadow: inset -0.2rem -0.2rem 0 0.15rem color-mix(in srgb, var(--tertiary) 35%, white);
}
.branch-delivery {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm);
	margin-top: var(--space-xxs);
}
.branch-delivery-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(2.75rem, 7.5vw, 3.25rem);
	height: clamp(2.75rem, 7.5vw, 3.25rem);
	padding: 0;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: transparent;
	text-decoration: none;
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.branch-delivery-link:hover,
.branch-delivery-link:focus-visible {
	transform: translateY(-2px);
	box-shadow: var(--shadow-soft);
}
.branch-delivery-link:focus-visible {
	outline: 2px solid var(--primary-container);
	outline-offset: 3px;
}
.branch-delivery-icon {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
	object-position: center;
}
/* Swiggy SVG has extra transparent margin in the viewBox */
.branch-delivery-link--swiggy .branch-delivery-icon {
	object-fit: contain;
	transform: scale(1.22);
	transform-origin: center;
}
.branch-map {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	background: var(--surface-container);
	border-top: 1px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);
}
.branch-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.branch-directions {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xxs);
	margin: var(--space-sm) var(--space-lg) var(--space-md);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--primary);
	text-decoration: none;
}
.branch-directions:hover {
	color: var(--on-primary-container);
	text-decoration: underline;
}
.branch-directions:focus-visible {
	outline: 2px solid var(--primary-container);
	outline-offset: 3px;
}

/* —— About —— */
.story-block {
	display: grid;
	gap: var(--space-xl);
	align-items: center;
	margin-bottom: var(--space-3xl);
}
@media (min-width: 900px) {
	.story-block { grid-template-columns: 1fr 1fr; }
	.story-block.is-flip .story-media { order: 2; }
}
.story-media {
	border-radius: var(--radius-xl);
	overflow: hidden;
	background: var(--surface-highest);
	position: relative;
}
.story-media img {
	border-radius: var(--radius-xl);
}
.story-media img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	display: block;
}
.story-media .food-ph {
	aspect-ratio: 4 / 3;
}
.pull-quote {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-style: italic;
	color: var(--primary);
	line-height: 1.3;
	margin: var(--space-lg) 0;
}

/* —— Menu (scrollable board) —— */
.menu-board-nav {
	position: sticky;
	top: var(--header-h);
	z-index: 30;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	margin: 0 calc(-1 * var(--gutter)) var(--space-xl);
	padding: var(--space-sm) var(--gutter);
	background: color-mix(in srgb, var(--surface) 92%, transparent);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid color-mix(in srgb, var(--outline-variant) 45%, transparent);
}
@media (min-width: 768px) {
	.menu-board-nav {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		border-radius: var(--radius-lg);
		border: 1px solid color-mix(in srgb, var(--outline-variant) 40%, transparent);
		padding: var(--space-sm) var(--space-md);
	}
}
.site-header.is-scrolled ~ .site-main .menu-board-nav {
	top: 4rem;
}
.menu-tabs {
	display: flex;
	gap: var(--space-xs);
	overflow-x: auto;
	padding-bottom: 2px;
	scrollbar-width: none;
	min-width: 0;
	flex: 1;
}
.menu-tabs::-webkit-scrollbar { display: none; }
.menu-tab {
	flex-shrink: 0;
	padding: var(--space-xs) var(--space-md);
	border-radius: var(--radius-full);
	border: 1px solid var(--outline-variant);
	background: var(--surface-lowest);
	font-weight: 600;
	font-size: 0.8125rem;
	color: var(--on-surface-variant);
	text-decoration: none;
	transition: background 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease), opacity 0.2s var(--ease);
}
.menu-tab:hover {
	border-color: var(--primary-container);
	color: var(--on-primary-container);
}
.menu-tab.is-active {
	background: var(--primary-container);
	border-color: var(--primary-container);
	color: var(--on-primary-container);
}
.menu-tab.is-disabled {
	opacity: 0.35;
	pointer-events: none;
}
.menu-search {
	position: relative;
	width: 100%;
	max-width: 20rem;
	flex-shrink: 0;
}
.menu-search input {
	width: 100%;
	padding: var(--space-sm) var(--space-md) var(--space-sm) 2.5rem;
	border: 0;
	border-radius: var(--radius-full);
	background: var(--surface-low);
	box-shadow: var(--shadow-soft);
	outline: none;
}
.menu-search input:focus {
	box-shadow: 0 0 0 2px var(--primary-container);
}
.menu-search-icon {
	position: absolute;
	left: 0.9rem;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.5;
	pointer-events: none;
}

.menu-board {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xl);
}
.menu-section {
	scroll-margin-top: calc(var(--header-h) + 5.5rem);
}
.site-header.is-scrolled ~ .site-main .menu-section {
	scroll-margin-top: calc(4rem + 5.5rem);
}
.menu-section-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-xs);
	margin-bottom: var(--space-lg);
	padding-bottom: 1.25rem;
	border-bottom: 0;
}
.menu-section-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3.5vw, 2.35rem);
	font-weight: 600;
	line-height: 1.15;
	color: var(--primary);
}

.menu-grid {
	display: grid;
	gap: var(--space-md);
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.menu-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.menu-grid { grid-template-columns: repeat(3, 1fr); }
}
.menu-dish {
	display: flex;
	justify-content: space-between;
	gap: var(--space-sm);
	align-items: flex-start;
	padding: var(--space-md);
	background: var(--surface-lowest);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	transition: background 0.2s var(--ease), opacity 0.35s var(--ease), transform 0.35s var(--ease);
}
.menu-dish.is-hidden {
	display: none;
}
.menu-dish-main { display: flex; gap: var(--space-xs); align-items: flex-start; min-width: 0; }
.menu-dish-text { min-width: 0; }
.menu-dish .title-md {
	font-size: 1rem;
	font-weight: 700;
	color: var(--on-surface);
}
.menu-dish .price-md {
	color: var(--primary);
	flex-shrink: 0;
	transition: transform 0.25s var(--ease);
}
.menu-dish:hover .price-md { transform: scale(1.06); }

.menu-search-empty {
	text-align: center;
	margin: var(--space-xl) 0;
	color: var(--on-surface-variant);
}

.menu-download {
	display: flex;
	justify-content: center;
	margin-top: var(--space-2xl);
	padding-top: var(--space-xl);
	border-top: 1px solid color-mix(in srgb, var(--outline-variant) 45%, transparent);
}
.menu-download-btn {
	gap: var(--space-xs);
}
.menu-download-icon {
	flex-shrink: 0;
}

/* —— Contact —— */
.contact-layout {
	display: grid;
	gap: var(--space-2xl);
}
@media (min-width: 900px) {
	.contact-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		align-items: start;
	}
}
.contact-main {
	display: flex;
	flex-direction: column;
	gap: var(--space-xl);
	min-width: 0;
}
.contact-office {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
	width: 100%;
	max-width: 28rem;
}
@media (min-width: 640px) {
	.contact-office { max-width: 32rem; }
}
@media (min-width: 900px) {
	.contact-office { max-width: 100%; }
}
.contact-office-contacts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-xxs);
}
.contact-office-contacts a {
	color: var(--primary);
	font-weight: 600;
	text-decoration: none;
}
.contact-office-contacts a:hover {
	text-decoration: underline;
}
.page-contact .branch-card--map {
	width: 100%;
	max-width: 100%;
}
.page-contact .branch-map {
	aspect-ratio: 16 / 11;
	min-height: 12rem;
	max-height: 18rem;
}
@media (min-width: 640px) {
	.page-contact .branch-map {
		min-height: 14rem;
		max-height: 20rem;
	}
}

/* HOME-04 — same map cards as Contact, side-by-side from tablet up */
.home-branches {
	display: grid;
	gap: var(--space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.home-branches {
		grid-template-columns: repeat(2, 1fr);
		align-items: stretch;
	}
}
.page-home .branch-card--map {
	width: 100%;
	height: 100%;
}
.page-home .branch-map {
	aspect-ratio: 16 / 11;
	min-height: 12rem;
	max-height: 18rem;
}
@media (min-width: 768px) {
	.page-home .branch-map {
		min-height: 13rem;
		max-height: 17rem;
	}
}
.contact-form-wrap {
	position: relative;
	overflow: visible;
	background: var(--surface-lowest);
	border-radius: var(--radius-xl);
	padding: var(--space-xl);
	box-shadow: var(--shadow-soft);
	border: 1px solid color-mix(in srgb, var(--primary-container) 20%, transparent);
}
.enq-success {
	margin: 0 0 var(--space-md);
	padding: var(--space-sm) var(--space-md);
	border-radius: var(--radius);
	background: color-mix(in srgb, var(--secondary) 12%, white);
	color: var(--secondary);
	font-weight: 600;
}
.enq-form-error {
	margin: 0 0 var(--space-md);
	padding: var(--space-sm) var(--space-md);
	border-radius: var(--radius);
	background: var(--error-container, #ffdad6);
	color: var(--error, #ba1a1a);
	font-weight: 600;
	font-size: 0.875rem;
}
.enq-field {
	margin-bottom: var(--space-md);
}
.enq-field > label,
.enq-method > legend {
	display: block;
	font-weight: 600;
	font-size: 0.8125rem;
	margin-bottom: var(--space-xxs);
}
.sambhar-form input[type="text"],
.sambhar-form input[type="tel"],
.sambhar-form input[type="email"],
.sambhar-form textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius);
	background: var(--surface-low);
	color: var(--on-surface);
	font: inherit;
	box-sizing: border-box;
}
.sambhar-form input[type="text"]:focus,
.sambhar-form input[type="tel"]:focus,
.sambhar-form input[type="email"]:focus,
.sambhar-form textarea:focus,
.enq-select-trigger:focus {
	outline: 2px solid var(--primary-container);
	outline-offset: 1px;
	border-color: transparent;
}
.sambhar-form input.is-invalid,
.sambhar-form textarea.is-invalid,
.enq-select-trigger.is-invalid {
	border-color: var(--error, #ba1a1a);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--error, #ba1a1a) 20%, transparent);
}

/* Contact method — pills; never inherit text-field input styles */
.enq-method {
	border: 0;
	padding: 0;
	margin: 0 0 var(--space-md);
	min-width: 0;
}
.enq-method-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm);
}
.enq-method-option {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0.5rem 1rem;
	border-radius: var(--radius-full);
	border: 1px solid var(--outline-variant);
	background: var(--surface-low);
	color: var(--on-surface);
	font-weight: 600;
	font-size: 0.8125rem;
	line-height: 1.2;
	cursor: pointer;
	user-select: none;
}
.enq-method-option:has(:focus-visible) {
	outline: 2px solid var(--primary-container);
	outline-offset: 2px;
}
.enq-method-option:has(input:checked) {
	border-color: var(--primary-container);
	background: color-mix(in srgb, var(--primary-container) 28%, white);
	color: var(--on-primary-container);
}
.enq-method-option input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 0.9rem;
	height: 0.9rem;
	margin: 0;
	padding: 0;
	flex-shrink: 0;
	border: 2px solid var(--outline);
	border-radius: 50%;
	background: var(--surface-lowest);
	box-shadow: none;
	cursor: pointer;
}
.enq-method-option input[type="radio"]:checked {
	border-color: var(--primary-container);
	background:
		radial-gradient(circle, var(--primary-container) 0 45%, transparent 46%),
		var(--surface-lowest);
}

/* Custom enquiry-type listbox (native OS dropdown chrome cannot be branded) */
.enq-select {
	position: relative;
}
.enq-select-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	width: 100%;
	margin: 0;
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius);
	background: var(--surface-low);
	color: var(--on-surface);
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.enq-select-trigger::after {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	flex-shrink: 0;
	border-right: 2px solid var(--outline);
	border-bottom: 2px solid var(--outline);
	transform: rotate(45deg) translateY(-0.1rem);
	transition: transform 0.2s ease;
}
.enq-select.is-open .enq-select-trigger::after {
	transform: rotate(225deg) translateY(-0.1rem);
}
.enq-select-value.is-placeholder {
	color: color-mix(in srgb, var(--on-surface) 55%, transparent);
}
.enq-select-list {
	position: absolute;
	z-index: 20;
	top: calc(100% + 0.35rem);
	left: 0;
	right: 0;
	margin: 0;
	padding: 0.35rem;
	list-style: none;
	border: 1px solid color-mix(in srgb, var(--primary-container) 35%, var(--outline-variant));
	border-radius: var(--radius);
	background: var(--surface-lowest);
	box-shadow: var(--shadow-soft);
	max-height: 14rem;
	overflow: auto;
}
.enq-select-list[hidden] {
	display: none;
}
.enq-select-option {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.85rem;
	border: 0;
	border-radius: calc(var(--radius) - 2px);
	background: transparent;
	color: var(--on-surface);
	font: inherit;
	font-weight: 600;
	font-size: 0.875rem;
	text-align: left;
	cursor: pointer;
}
.enq-select-option:hover,
.enq-select-option:focus-visible,
.enq-select-option[aria-selected="true"] {
	outline: none;
	background: color-mix(in srgb, var(--primary-container) 32%, white);
	color: var(--on-primary-container);
}
.enq-select-option.is-placeholder {
	font-weight: 500;
	color: color-mix(in srgb, var(--on-surface) 55%, transparent);
}

.enq-error {
	display: block;
	min-height: 1.1em;
	margin-top: 0.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--error, #ba1a1a);
}
.sambhar-form button[type="submit"] {
	appearance: none;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-sm) var(--space-lg);
	border-radius: var(--radius-full);
	background: var(--primary-container);
	color: var(--on-primary-container);
	font: inherit;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.cta-band {
	position: relative;
	text-align: center;
	padding: var(--space-3xl) var(--gutter);
	background: linear-gradient(135deg, var(--surface-low), var(--surface-high));
}
.cta-band .headline-lg { margin: var(--space-sm) 0 var(--space-md); }
