:root {
	--gallina-red: #e02830;
	--gallina-red-deep: #b71f26;
	--brick: #8e342e;
	--brick-deep: #6e2622;
	--aji: #f88838;
	--aji-deep: #e2701c;
	--gold: #b98e4c;
	--gold-soft: #d8bd86;
	--cream: #f3efe4;
	--cream-light: #faf6ec;
	--cream-deep: #eae2cf;
	--parchment-line: #e0d6be;
	--wood: #3b2a1d;
	--wood-deep: #2a1d13;
	--wood-soft: #524135;
	--ink: #2a211a;
	--ink-soft: #4a4036;
	--ink-faint: #7a6f60;
	--cream-text: #f6f0e2;
	--focus-shadow: 0 0 0 3px rgba(248, 136, 56, 0.45);
}

body {
	background:
		linear-gradient(90deg, rgba(224, 214, 190, 0.2) 1px, transparent 1px),
		var(--cream);
	background-size: 32px 32px;
}

html {
	overflow-x: hidden;
}

body {
	overflow-x: hidden;
}

img,
svg,
video {
	max-width: 100%;
}

/* Side gutters for block-based content wrappers (Carta, Reservaciones, and the
   homepage's constrained sections). These groups have no horizontal padding of
   their own, so on narrow screens their content otherwise touches the edges.
   On desktop the padding is invisible because content stays centered under its
   contentSize. The custom .container regions already carry their own gutters. */
.wp-site-blocks > .wp-block-group,
.site-main > .wp-block-group {
	padding-left: var(--space-5);
	padding-right: var(--space-5);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 0;
	box-shadow: var(--focus-shadow);
}

.wp-site-blocks {
	min-height: 100vh;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-site-blocks > p:empty,
.wp-site-blocks > header + p {
	display: none;
	margin: 0;
}

.wp-site-blocks > header,
.wp-block-template-part,
.wp-block-template-part > *,
.nav {
	border-bottom: 0 !important;
	margin-bottom: 0;
}

.nav {
	box-shadow: none !important;
}

.site-main,
.site-main > *,
.hero,
.section {
	margin-top: 0;
}

.wp-site-blocks,
.wp-site-blocks > main,
.wp-site-blocks > section,
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-group {
	margin-block-start: 0 !important;
}

.wp-site-blocks > p:has(main),
.wp-site-blocks > p:has(section),
.wp-site-blocks > p:has(footer) {
	display: contents;
	margin: 0;
}

.eureka-header {
	border-bottom: 3px solid var(--ink);
	background: var(--cream-light);
}

.eureka-nav a {
	font-family: "Zilla Slab", Georgia, serif;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}

.eureka-hero {
	border-bottom: 3px solid var(--ink);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 42%),
		repeating-linear-gradient(90deg, var(--wood-deep), var(--wood-deep) 20px, var(--wood) 20px, var(--wood) 46px);
	color: var(--cream-text);
}

.eureka-hero h1,
.eureka-hero h2 {
	color: var(--cream-text);
}

.eureka-kicker {
	color: var(--aji);
	font-family: "Special Elite", "Courier New", monospace;
	font-size: 13px;
	text-transform: uppercase;
}

.eureka-card {
	background: var(--cream-light);
	border: 3px solid var(--ink);
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(42, 29, 19, 0.16);
}

.eureka-button .wp-element-button,
.wp-block-button__link {
	border: 3px solid var(--ink);
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(42, 29, 19, 0.1);
	font-family: "Zilla Slab", Georgia, serif;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ek-btn,
.ek-btn:visited {
	text-decoration: none;
}

.ek-btn--primary,
.ek-btn--primary:visited,
.ek-btn--primary:hover,
.ek-btn--primary:focus {
	color: var(--cream-light) !important;
}

.ek-btn--secondary,
.ek-btn--secondary:visited,
.ek-btn--secondary:hover,
.ek-btn--secondary:focus {
	color: var(--ink) !important;
}

.ek-btn--ghost:hover,
.ek-btn--ghost:focus {
	color: var(--brick) !important;
}

.wood-board .section__title,
.wood-board h1,
.wood-board h2,
.wood-board h3 {
	color: var(--cream-text) !important;
	opacity: 1;
}

.wood-board .hero__title {
	color: var(--gallina-red) !important;
}

.wood-board .eyebrow--red {
	color: var(--gallina-red) !important;
}

.hero__title--split {
	font-size: clamp(1.9rem, 4.6vw, 3.4rem);
}

.hero__title--split .is-white {
	color: var(--cream-text) !important;
	display: block;
	white-space: nowrap;
}

.hero__title--split .is-red {
	color: var(--gallina-red) !important;
	display: block;
}

.eureka-carta-page {
	background:
		radial-gradient(90% 70% at 50% 0%, rgba(255, 255, 255, 0.45), transparent 62%),
		linear-gradient(90deg, rgba(42, 33, 26, 0.08), transparent 12%, transparent 88%, rgba(42, 33, 26, 0.08)),
		var(--cream-deep);
}

.eureka-carta-page .sheet {
	margin-left: auto;
	margin-right: auto;
	max-width: 960px;
}

.sheet .ek-sh--band {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 980px;
	width: 100%;
}

.sheet .ek-sh--band .ek-sh__pill {
	color: var(--cream-light) !important;
	flex: 0 0 auto;
	min-width: 0;
	text-align: center;
	white-space: nowrap;
}

.sheet .ek-sh--band .ek-sh__line {
	background: var(--gold) !important;
	display: block;
	flex: 1 1 0;
	height: 2px;
	max-width: none;
	min-width: 0;
	width: 100%;
}

.sheet .ek-sh--band .ek-sh__line::after {
	background: var(--gold-soft) !important;
	content: "";
	display: block;
	height: 1px;
	margin-top: 3px;
	width: 100%;
}

.sheet .ek-sh__diamond {
	flex: 0 0 auto;
}

.sheet .sheet__tag {
	color: var(--ink-soft) !important;
	font-style: italic;
	margin: var(--space-3) auto var(--space-6);
	max-width: 680px;
	opacity: 1;
	text-align: center;
}

.sheet p:has(.sheet__head),
.sheet p:has(.ek-sh--band),
.sheet p:has(.sheet__stars),
.sheet p:has(.sheet__cols),
.sheet p:has(.sheet__temporada) {
	display: contents;
}

.sheet > p {
	margin: 0;
}

.sheet .sheet__head {
	margin-bottom: var(--space-5);
	text-align: center;
}

.wood-board .sheet .ek-sh--plain {
	color: var(--brick) !important;
}

.wood-board .lead,
.wood-board p {
	color: var(--cream-text) !important;
	opacity: 1;
}

.eureka-button .wp-element-button:active,
.wp-block-button__link:active {
	box-shadow: none;
	transform: translateY(1px);
}

.eureka-menu-list {
	display: grid;
	gap: 18px;
}

.eureka-menu-item {
	border-bottom: 1px dashed var(--gold);
	padding-bottom: 14px;
}

.eureka-menu-line {
	align-items: baseline;
	display: grid;
	gap: 12px;
	grid-template-columns: auto 1fr auto;
}

.eureka-menu-line::before {
	color: var(--gallina-red);
	content: "•";
	font-size: 20px;
}

.eureka-menu-name {
	color: var(--brick);
	font-family: "Zilla Slab", Georgia, serif;
	font-size: 22px;
	font-weight: 700;
}

.eureka-menu-price {
	color: var(--brick-deep);
	font-family: "Special Elite", "Courier New", monospace;
}

.eureka-menu-description {
	color: var(--ink-soft);
	font-style: italic;
	margin: 6px 0 0 32px;
}

.eureka-form {
	display: grid;
	gap: 18px;
}

.eureka-form label {
	color: var(--brick);
	display: grid;
	font-family: "Zilla Slab", Georgia, serif;
	font-size: 13px;
	font-weight: 700;
	gap: 6px;
	text-transform: uppercase;
}

.eureka-form input,
.eureka-form textarea,
.eureka-form select {
	background: var(--cream-light);
	border: 2px solid var(--ink);
	border-radius: 4px;
	color: var(--ink);
	font: inherit;
	padding: 11px 14px;
}

.eureka-form textarea {
	min-height: 140px;
	resize: vertical;
}

.eureka-form button {
	background: var(--gallina-red);
	border: 3px solid var(--ink);
	border-radius: 4px;
	color: var(--cream-text);
	cursor: pointer;
	font-family: "Zilla Slab", Georgia, serif;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 12px 20px;
	text-transform: uppercase;
}

.eureka-notice {
	background: var(--cream-deep);
	border: 2px solid var(--ink);
	border-radius: 4px;
	padding: 12px 14px;
}

.eureka-menu-groups {
	display: grid;
	gap: var(--space-7);
}

.eureka-menu-section {
	min-width: 0;
}

.eureka-social-icons {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.eureka-social-icons__link {
	align-items: center;
	background: var(--cream-light);
	border: 2px solid var(--gold);
	border-radius: 4px;
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.eureka-social-icons__image {
	display: block;
	height: 20px;
	object-fit: contain;
	width: 20px;
}

.eureka-stamp-lg {
	height: 128px;
	width: 128px;
}

.eureka-stamp-lg .ek-stamp__top {
	font-size: 48px;
}

.eureka-stamp-lg .ek-stamp__sub {
	font-size: 11px;
}

.eureka-section-action {
	margin-top: var(--space-6);
}

.nav__logo--wordmark {
	height: 58px;
	object-fit: contain;
	width: auto;
}

/* Hamburger toggle — hidden on desktop, revealed at <=900px (see media query). */
.nav__toggle {
	align-items: center;
	background: var(--cream-light);
	border: 2px solid var(--ink);
	border-radius: var(--radius-sm);
	cursor: pointer;
	display: none;
	height: 40px;
	justify-content: center;
	padding: 0;
	width: 44px;
}

.nav__toggle-bars,
.nav__toggle-bars::before,
.nav__toggle-bars::after {
	background: var(--ink);
	border-radius: 2px;
	content: "";
	display: block;
	height: 2px;
	width: 22px;
	transition:
		transform var(--dur-base) var(--ease-out),
		opacity var(--dur-fast) var(--ease-out);
}

.nav__toggle-bars {
	position: relative;
}

.nav__toggle-bars::before {
	position: absolute;
	top: -7px;
}

.nav__toggle-bars::after {
	position: absolute;
	top: 7px;
}

.nav--open .nav__toggle-bars {
	background: transparent;
}

.nav--open .nav__toggle-bars::before {
	transform: translateY(7px) rotate(45deg);
}

.nav--open .nav__toggle-bars::after {
	transform: translateY(-7px) rotate(-45deg);
}

.hero {
	padding-bottom: 0;
	padding-top: 0;
}

.hero__inner {
	min-height: 580px;
	position: relative;
}

.hero__copy {
	max-width: 640px;
	position: relative;
	z-index: 2;
}

.hero__title--campaign {
	color: var(--gallina-red) !important;
	font-family: "Rye", "Zilla Slab", serif;
	font-size: clamp(2.6rem, 4.8vw, 4.8rem);
	line-height: 1.08;
	margin-bottom: var(--space-4);
	text-transform: uppercase;
}

.hero__title--campaign span {
	display: block;
	white-space: nowrap;
}

.section--cream.center .quote {
	color: var(--gallina-red) !important;
	font-family: "Rye", "Zilla Slab", serif;
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	line-height: 1.1;
	margin: 0 auto var(--space-4);
	max-width: 16ch;
	text-transform: uppercase;
}

.hero__title--campaign span:nth-child(2) {
	color: var(--cream-text) !important;
}

.hero__tag {
	color: var(--cream-text) !important;
	font-style: italic;
	max-width: 360px;
}

.hero__art-wrap {
	bottom: 0;
	pointer-events: none;
	position: absolute;
	right: -16vw;
	top: 0;
	width: 80vw;
	z-index: 1;
}

.hero__hen {
	height: 118%;
	max-width: none;
	object-fit: contain;
	position: absolute;
	right: 0;
	top: 60px;
	width: auto;
}

.eureka-home-band {
	margin-bottom: var(--space-6);
	margin-left: auto;
	margin-right: auto;
	max-width: 960px;
}

.section--cream:first-of-type,
.page-anim + .section--cream {
	padding-top: var(--space-7);
}

.sheet__star {
	display: grid;
	grid-template-rows: minmax(48px, auto) auto;
	justify-items: center;
}

.sheet__star-name {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	min-height: 48px;
}

.sheet__star-price {
	align-self: start;
}

/* Homepage Platos Estrella: match the Carta sheet alignment (divider columns,
   fixed-height name row so all prices line up on the same baseline). */
.estrella-grid {
	border-top: 2px solid var(--brick);
	border-bottom: 2px solid var(--brick);
	gap: 0;
	padding: var(--space-3) 0;
}

.estrella {
	background: none;
	border: 0;
	border-radius: 0;
	border-right: 1px solid var(--parchment-line);
	box-shadow: none;
	display: grid;
	gap: 4px;
	grid-template-rows: minmax(48px, auto) auto;
	justify-items: center;
	padding: 4px var(--space-3);
}

.estrella:hover {
	box-shadow: none;
	transform: none;
}

.estrella:last-child {
	border-right: 0;
}

.estrella__name {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	min-height: 48px;
}

.estrella__price {
	align-self: start;
}

.nav__inner,
.container {
	width: min(100%, var(--container-lg));
}

.hero__inner,
.duo-grid,
.tri-grid,
.sheet__cols,
.sheet__tcols,
.estrella-grid,
.footer__inner,
.contact-grid {
	min-width: 0;
}

.hero__title,
.section__title,
.quote,
.ek-sh__pill,
.ek-mi__name {
	overflow-wrap: anywhere;
}

.page-anim .hero__title,
.page-anim .eyebrow,
.page-anim .hero__tag,
.page-anim .btn-row,
.page-anim .hero__logo,
.page-anim .hero__hen,
.home .section,
.page-anim + .section,
.section__head,
.estrella,
.ek-card,
.duo-grid > *,
.quote,
.sheet,
.footer__inner > * {
	animation: eureka-rise-in 520ms var(--ease-out) both;
}

.page-anim + .section {
	animation-delay: 120ms;
}

.page-anim + .section + .section {
	animation-delay: 220ms;
}

.page-anim + .section + .section + .section {
	animation-delay: 320ms;
}

.page-anim + .section + .section + .section + .section {
	animation-delay: 420ms;
}

.page-anim .hero__title {
	animation-delay: 80ms;
}

.page-anim .hero__tag {
	animation-delay: 160ms;
}

.page-anim .btn-row {
	animation-delay: 220ms;
}

.page-anim .hero__logo {
	animation: eureka-pop-spin 720ms var(--ease-spring) 120ms both;
}

.page-anim .hero__hen {
	animation: eureka-hen-slide 760ms var(--ease-out) 80ms both;
}

.estrella:nth-child(2),
.ek-card:nth-child(2),
.footer__inner > *:nth-child(2) {
	animation-delay: 90ms;
}

.estrella:nth-child(3),
.ek-card:nth-child(3),
.footer__inner > *:nth-child(3) {
	animation-delay: 160ms;
}

.estrella:nth-child(4) {
	animation-delay: 230ms;
}

.ek-btn {
	transition:
		background var(--dur-fast) var(--ease-out),
		box-shadow var(--dur-fast) var(--ease-out),
		color var(--dur-fast) var(--ease-out),
		transform var(--dur-fast) var(--ease-out);
}

.ek-btn:hover {
	transform: translateY(-2px);
}

.ek-btn:active {
	transform: translateY(1px);
}

.nav__link {
	position: relative;
}

.nav__link::after {
	background: var(--gallina-red);
	bottom: -3px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-base) var(--ease-out);
	width: 100%;
}

.nav__link:hover::after,
.nav__link:focus-visible::after {
	transform: scaleX(1);
}

.hero__logo:hover,
.eureka-stamp-lg:hover {
	transform: rotate(2deg) scale(1.04);
}

.estrella:hover,
.ek-card:hover {
	transform: translateY(-5px);
}

.wood-board .duo-grid .eureka-stamp-lg {
	animation: eureka-soft-pulse 2200ms var(--ease-out) 850ms infinite;
}

.eureka-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 620ms var(--ease-out) var(--reveal-delay, 0ms),
		transform 620ms var(--ease-out) var(--reveal-delay, 0ms);
	will-change: opacity, transform;
}

.eureka-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.eureka-reveal.estrella,
.eureka-reveal.ek-card {
	transform: translateY(26px) scale(0.98);
}

.eureka-reveal.estrella.is-visible,
.eureka-reveal.ek-card.is-visible {
	transform: translateY(0) scale(1);
}

@keyframes eureka-rise-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes eureka-pop-spin {
	from {
		opacity: 0;
		transform: translateY(16px) rotate(-4deg) scale(0.92);
	}
	to {
		opacity: 1;
		transform: translateY(0) rotate(0) scale(1);
	}
}

@keyframes eureka-hen-slide {
	from {
		opacity: 0;
		transform: translateX(48px) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

@keyframes eureka-soft-pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.035);
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-anim .hero__title,
	.page-anim .eyebrow,
	.page-anim .hero__tag,
	.page-anim .btn-row,
	.page-anim .hero__logo,
	.section__head,
	.estrella,
	.ek-card,
	.duo-grid > *,
	.quote,
	.sheet,
	.footer__inner > * {
		animation: none;
	}

	.wood-board .duo-grid .eureka-stamp-lg {
		animation: none;
	}

	.page-anim .hero__hen {
		animation: none;
	}

	.eureka-reveal,
	.eureka-reveal.estrella,
	.eureka-reveal.ek-card {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.ek-btn:hover,
	.ek-btn:active {
		transform: none;
	}
}

.ek-mi__main {
	display: block;
}

.ek-mi__desc {
	display: block;
}

@media (max-width: 700px) {
	.eureka-menu-line {
		grid-template-columns: auto 1fr;
	}

	.eureka-menu-price {
		grid-column: 2;
	}
}

@media (max-width: 1040px) {
	.nav__inner {
		padding-left: var(--space-5);
		padding-right: var(--space-5);
	}

	.nav__links {
		gap: var(--space-4);
	}

	.hero__title {
		font-size: clamp(3rem, 8vw, 4.25rem);
	}

	.hero__title--campaign {
		font-size: clamp(3rem, 7vw, 4.5rem);
	}

	.hero__art-wrap {
		right: -26vw;
		width: 76vw;
	}

	.sheet {
		padding-left: var(--space-6);
		padding-right: var(--space-6);
	}
}

@media (max-width: 900px) {
	/* Hamburger nav: logo (left) + Reservar CTA & toggle (right); links collapse
	   into a dropdown panel that the toggle reveals via .nav--open (see nav.js). */
	.nav__toggle {
		display: inline-flex;
	}

	.nav__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--space-3);
		height: auto;
		min-height: 64px;
	}

	.nav__cta .ek-btn {
		display: inline-flex;
		padding-left: 14px;
		padding-right: 14px;
	}

	.nav__links {
		display: none;
	}

	.nav--open .nav__links {
		background: var(--cream-light);
		border-bottom: 3px solid var(--ink);
		border-top: 1px solid var(--parchment-line);
		box-shadow: var(--shadow-md);
		display: flex;
		flex-direction: column;
		gap: 0;
		left: 0;
		margin: 0;
		padding: var(--space-2) var(--space-5) var(--space-4);
		position: absolute;
		right: 0;
		top: 100%;
		width: 100%;
		z-index: 60;
	}

	.nav--open .nav__links li {
		border-bottom: 1px solid var(--parchment-line);
		width: 100%;
	}

	.nav--open .nav__links li:last-child {
		border-bottom: 0;
	}

	.nav--open .nav__link {
		display: block;
		font-size: 16px;
		padding: var(--space-3) 0;
	}

	.nav__link::after {
		display: none;
	}

	.hero {
		padding-top: var(--space-7);
		padding-bottom: var(--space-7);
	}

	.hero__inner,
	.duo-grid,
	.contact-grid {
		grid-template-columns: 1fr !important;
	}

	.hero__copy {
		max-width: 500px;
		text-align: left;
	}

	.hero__art-wrap {
		opacity: 0.55;
		right: -34vw;
		width: 88vw;
	}

	.hero__tag,
	.lead,
	.footer__tag {
		margin-right: auto;
	}

	.btn-row {
		justify-content: center;
	}

	.estrella-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.sheet__cols,
	.sheet__cols--lower {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.sheet__egg {
		display: none;
	}

	.footer__inner {
		grid-template-columns: 1fr !important;
		text-align: center;
	}

	.footer__col ul,
	.eureka-social-icons {
		align-items: center;
	}
}

@media (max-width: 760px) {
	/* Hamburger nav established at <=900px; only the small-screen logo delta here. */
	.nav__logo {
		height: 44px;
	}

	.section {
		padding-top: var(--space-7);
		padding-bottom: var(--space-7);
	}

	.sheet {
		padding: var(--space-5) var(--space-4);
	}

	.ek-sh--band {
		gap: var(--space-2);
	}

	.ek-sh--band .ek-sh__pill {
		font-size: 18px;
		padding-left: 14px;
		padding-right: 14px;
	}

	.ek-mi {
		align-items: flex-start;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.ek-mi__leader {
		min-width: 8px;
	}

	.eureka-form {
		text-align: left;
	}

	/* Keep CTA buttons sized to their content (not edge-to-edge) on mobile, with
	   breathing room at the sides. Overrides the grow/full-width button rules in
	   dist-reference.css. Form fields stay full width (expected for inputs). */
	.btn-row {
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}

	.btn-row .ek-btn {
		flex: 0 0 auto;
		width: auto;
	}
}

@media (max-width: 560px) {
	.container {
		padding-left: var(--space-4);
		padding-right: var(--space-4);
	}

	.nav__cta .ek-btn {
		font-size: 12px;
		padding: 8px 12px;
	}

	.hero {
		padding-top: var(--space-6);
		padding-bottom: var(--space-6);
	}

	.hero__title {
		font-size: clamp(2.35rem, 13vw, 3.45rem);
	}

	.hero,
	.hero__inner {
		min-height: 560px;
	}

	.hero__copy {
		max-width: 92%;
	}

	.hero__title--campaign {
		font-size: clamp(1.6rem, 8.6vw, 3.4rem);
	}

	/* Long split title ("De la olla de la abuela") must wrap on phones instead of
	   being clipped by the nowrap that keeps it on one line on desktop. */
	.hero__title--split {
		font-size: clamp(1.7rem, 7.4vw, 3.4rem);
	}

	.hero__title--split .is-white {
		white-space: normal;
	}

	.hero__art-wrap {
		opacity: 0.38;
		right: -58vw;
		width: 130vw;
	}

	.hero__tag,
	.lead {
		font-size: 17px;
	}

	.tri-grid,
	.estrella-grid,
	.sheet__cols,
	.sheet__cols--lower,
	.sheet__tcols {
		grid-template-columns: 1fr !important;
	}

	.estrella {
		padding: var(--space-4);
	}

	.sheet__logo {
		height: auto;
		max-height: 92px;
		max-width: 260px;
	}

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

	.ek-mi {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.ek-mi__leader {
		display: none;
	}

	.ek-mi__price {
		grid-column: 2;
		justify-self: start;
		margin-top: 3px;
	}

	.ek-badge {
		margin-top: 4px;
		width: fit-content;
	}

	.eureka-form input,
	.eureka-form textarea,
	.eureka-form select,
	.eureka-form button {
		width: 100%;
	}

	.quote {
		font-size: clamp(1.9rem, 10vw, 2.5rem);
	}

	.sheet .ek-sh--band {
		gap: 8px;
	}

	.sheet .ek-sh--band .ek-sh__pill {
		font-size: 16px;
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (max-width: 380px) {
	.hero__title {
		font-size: 2.15rem;
	}

	/* Let the campaign hero lines wrap rather than overflow on very small phones. */
	.hero__title--campaign span {
		white-space: normal;
	}

	.sheet__stars {
		grid-template-columns: 1fr;
	}

	.ek-sh--band .ek-sh__line,
	.ek-sh__diamond {
		display: none;
	}

	.ek-sh--band {
		justify-content: center;
	}
}
