.rymia-story-page {
	--rymia-story-page-bg: #fbf7ef;
	--rymia-story-ivory-bg: #f7efe1;
	--rymia-story-section-bg: #fffaf2;
	--rymia-story-espresso: #241710;
	--rymia-story-text: #2a211d;
	--rymia-story-muted-text: #6f625b;
	--rymia-story-gold: #b8965f;
	--rymia-story-black: #050505;
	--rymia-story-button-text: #fffaf2;
	--rymia-story-hero-overlay-rgb: 0 0 0;
	--rymia-story-hero-overlay-opacity: 0.54;
	--rymia-story-font-hero-title: 13;
	--rymia-story-font-hero-text: 92;
	--rymia-story-font-statement: 48;
	--rymia-story-font-heading: 34;
	--rymia-story-font-body: 18;
	background: var(--rymia-story-page-bg);
	color: var(--rymia-story-text);
	font-family: Avenir, "Avenir Next", "Helvetica Neue", Arial, sans-serif;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	text-rendering: geometricPrecision;
	width: 100vw;
}

.rymia-story-page *,
.rymia-story-page *::before,
.rymia-story-page *::after {
	box-sizing: border-box;
}

.rymia-story-section {
	position: relative;
	width: 100%;
}

.rymia-story-hero {
	align-items: flex-end;
	background-image:
		linear-gradient(
			180deg,
			rgb(var(--rymia-story-hero-overlay-rgb) / calc(var(--rymia-story-hero-overlay-opacity) * 0.76)) 0%,
			rgb(var(--rymia-story-hero-overlay-rgb) / var(--rymia-story-hero-overlay-opacity)) 100%
		),
		var(
			--rymia-story-hero-image,
			linear-gradient(135deg, #0b0908 0%, #2b211a 45%, #958060 100%)
		);
	background-position: center;
	background-size: cover;
	display: flex;
	min-height: 100vh;
	min-height: 100svh;
	padding: clamp(6rem, 11vw, 10rem) clamp(1.35rem, 6vw, 8rem);
}

.rymia-story-hero-inner {
	max-width: 760px;
}

.rymia-story-hero-kicker {
	color: var(--rymia-story-gold);
	font-size: clamp(0.72rem, 1.2vw, calc(var(--rymia-story-font-hero-title) * 1px));
	letter-spacing: 0.42em;
	line-height: 1.4;
	margin: 0 0 1.4rem;
	text-transform: uppercase;
}

.rymia-story-hero-title {
	color: var(--rymia-story-button-text);
	font-family: "Bodoni 72", Didot, "Cormorant Garamond", Georgia, serif;
	font-size: clamp(3.25rem, 11vw, calc(var(--rymia-story-font-hero-text) * 1px));
	font-weight: 400;
	letter-spacing: 0;
	line-height: 0.94;
	margin: 0;
	max-width: 12ch;
}

.rymia-story-belief {
	align-items: center;
	background: var(--rymia-story-ivory-bg);
	display: flex;
	justify-content: center;
	min-height: 72vh;
	padding: clamp(5rem, 12vw, 10rem) 1.35rem;
	text-align: center;
}

.rymia-story-belief-inner {
	max-width: 1000px;
}

.rymia-story-belief p,
.rymia-story-closing p {
	font-family: "Bodoni 72", Didot, "Cormorant Garamond", Georgia, serif;
	font-size: clamp(2.15rem, 6.2vw, calc(var(--rymia-story-font-statement) * 1px));
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.1;
	margin: 0;
}

.rymia-story-belief p + p,
.rymia-story-closing p + p {
	margin-top: 0.35rem;
}

.rymia-story-philosophy {
	background: var(--rymia-story-section-bg);
	padding: clamp(4.5rem, 9vw, 8rem) clamp(1.35rem, 6vw, 7rem);
}

.rymia-story-philosophy-grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 7vw, 8rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	margin: 0 auto;
	max-width: 1320px;
}

.rymia-story-philosophy-media {
	aspect-ratio: 4 / 5;
	background:
		linear-gradient(180deg, rgb(255 255 255 / 0.06), rgb(0 0 0 / 0.08)),
		linear-gradient(145deg, #2b211a, #f5eddf);
	min-height: 520px;
	overflow: hidden;
}

.rymia-story-philosophy-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rymia-story-philosophy-copy {
	max-width: 560px;
}

.rymia-story-philosophy-copy p {
	font-family: "Bodoni 72", Didot, "Cormorant Garamond", Georgia, serif;
	font-size: clamp(2rem, 4.2vw, calc(var(--rymia-story-font-heading) * 1px));
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.16;
	margin: 0;
}

.rymia-story-philosophy-copy p + p {
	margin-top: 0.6rem;
}

.rymia-story-pillars {
	background: var(--rymia-story-page-bg);
	padding: clamp(4.5rem, 9vw, 8rem) clamp(1.35rem, 6vw, 7rem);
}

.rymia-story-pillars-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1180px;
}

.rymia-story-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr 1.2fr 1fr;
}

.rymia-story-card {
	height: 420px;
}

.rymia-story-card:nth-child(2) {
	height: 650px;
}

.rymia-story-pillar-card {
	background: transparent;
	border: 0;
	border-radius: 15px;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	display: block;
	min-height: 250px;
	outline: none;
	padding: 0;
	perspective: 1200px;
	position: relative;
	text-align: left;
	transform-style: preserve-3d;
	transition: transform 360ms ease;
}

.rymia-story-pillar-card::after {
	background: radial-gradient(ellipse at center, rgb(36 23 16 / 0.34) 0%, rgb(36 23 16 / 0) 70%);
	border-radius: 15px;
	content: "";
	filter: blur(18px);
	inset: 18px 14px -22px;
	opacity: 0.42;
	pointer-events: none;
	position: absolute;
	transform: translateZ(-60px);
	transition: opacity 360ms ease, transform 360ms ease;
	z-index: 0;
}

.rymia-story-pillar-card:focus-visible {
	transform: translateY(-8px);
}

.rymia-story-pillar-card-inner {
	border-radius: 15px;
	height: 100%;
	min-height: 250px;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 720ms cubic-bezier(0.2, 0.74, 0.22, 1);
	width: 100%;
	z-index: 1;
}

.rymia-story-pillar-card.rymia-story-is-flipped .rymia-story-pillar-card-inner {
	transform: rotateY(180deg);
}

.rymia-story-pillar-face {
	align-items: flex-start;
	backface-visibility: hidden;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 0.28), rgb(255 250 242 / 0.03)),
		rgb(255 250 242 / 0.72);
	border-radius: 15px;
	box-shadow:
		0 30px 80px rgb(36 23 16 / 0.15),
		0 8px 22px rgb(36 23 16 / 0.1),
		inset 0 1px 0 rgb(255 255 255 / 0.32);
	display: flex;
	flex-direction: column;
	inset: 0;
	justify-content: space-between;
	min-height: 250px;
	overflow: hidden;
	padding: clamp(2rem, 4vw, 3rem);
	position: absolute;
	transform: translateZ(1px);
	transition: box-shadow 360ms ease, transform 360ms ease;
	width: 100%;
}

.rymia-story-pillar-card:focus-visible .rymia-story-pillar-face,
.rymia-story-pillar-card.rymia-story-is-flipped .rymia-story-pillar-face {
	box-shadow:
		0 42px 96px rgb(36 23 16 / 0.2),
		0 14px 32px rgb(36 23 16 / 0.13),
		inset 0 1px 0 rgb(255 255 255 / 0.36);
}

.rymia-story-pillar-card:focus-visible .rymia-story-pillar-face-front,
.rymia-story-pillar-card.rymia-story-is-flipped .rymia-story-pillar-face-front {
	transform: translateZ(16px);
}

.rymia-story-pillar-card:focus-visible .rymia-story-pillar-face-back,
.rymia-story-pillar-card.rymia-story-is-flipped .rymia-story-pillar-face-back {
	transform: rotateY(180deg) translateZ(16px);
}

@media (hover: hover) and (pointer: fine) {
	.rymia-story-pillar-card:hover {
		transform: translateY(-10px) rotateX(2deg) rotateY(-2deg);
	}

	.rymia-story-pillar-card:hover::after {
		opacity: 0.58;
		transform: translateZ(-80px) translateY(14px) scale(1.04);
	}

	.rymia-story-pillar-card:hover .rymia-story-pillar-card-inner {
		transform: rotateY(180deg);
	}

	.rymia-story-pillar-card:hover .rymia-story-pillar-face {
		box-shadow:
			0 42px 96px rgb(36 23 16 / 0.2),
			0 14px 32px rgb(36 23 16 / 0.13),
			inset 0 1px 0 rgb(255 255 255 / 0.36);
	}

	.rymia-story-pillar-card:hover .rymia-story-pillar-face-front {
		transform: translateZ(16px);
	}

	.rymia-story-pillar-card:hover .rymia-story-pillar-face-back {
		transform: rotateY(180deg) translateZ(16px);
	}

	.rymia-story-pillar-card:hover .rymia-story-pillar-image {
		transform: scale(1.06);
	}
}

.rymia-story-pillar-face-back {
	background:
		linear-gradient(145deg, rgb(184 150 95 / 0.2), rgb(36 23 16 / 0.02)),
		var(--rymia-story-espresso);
	color: var(--rymia-story-button-text);
	transform: rotateY(180deg) translateZ(1px);
}

.rymia-story-card-back {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding: 60px;
	text-align: center;
}

.rymia-story-pillar-face-has-image {
	justify-content: flex-end;
}

.rymia-story-pillar-face-has-image::before {
	background:
		linear-gradient(180deg, rgb(5 5 5 / 0.12) 0%, rgb(5 5 5 / 0.68) 100%),
		linear-gradient(90deg, rgb(36 23 16 / 0.25), transparent);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.rymia-story-pillar-image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transform: scale(1.01);
	transition: transform 720ms cubic-bezier(0.2, 0.74, 0.22, 1);
	width: 100%;
	z-index: 0;
}

.rymia-story-pillar-card:focus-visible .rymia-story-pillar-image,
.rymia-story-pillar-card.rymia-story-is-flipped .rymia-story-pillar-image {
	transform: scale(1.06);
}

.rymia-story-pillar-mark {
	background: var(--rymia-story-gold);
	display: block;
	height: 1px;
	width: 3.2rem;
}

.rymia-story-pillar-card h2 {
	color: var(--rymia-story-espresso);
	font-family: "Bodoni 72", Didot, "Cormorant Garamond", Georgia, serif;
	font-size: clamp(1.85rem, 3vw, calc(var(--rymia-story-font-heading) * 1px));
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
	position: relative;
	z-index: 2;
}

.rymia-story-pillar-face-has-image h2 {
	color: var(--rymia-story-button-text);
	text-shadow: 0 14px 34px rgb(0 0 0 / 0.34);
}

.rymia-story-pillar-face-back h2 {
	color: var(--rymia-story-gold);
	font-size: clamp(1.35rem, 2.3vw, calc(var(--rymia-story-font-body) * 1px));
}

.rymia-story-pillar-card p {
	color: rgb(255 250 242 / 0.82);
	font-family: "Bodoni 72", Didot, "Cormorant Garamond", Georgia, serif;
	font-size: clamp(1.55rem, 2.8vw, calc(var(--rymia-story-font-heading) * 0.78px));
	line-height: 1.22;
	margin: 2.4rem 0 0;
}

.rymia-story-journey {
	background: var(--rymia-story-espresso);
	color: var(--rymia-story-button-text);
	padding: clamp(5rem, 10vw, 9rem) clamp(1.35rem, 6vw, 7rem);
}

.rymia-story-journey-inner {
	margin: 0 auto;
	max-width: 760px;
	position: relative;
}

.rymia-story-journey-inner::before {
	background: linear-gradient(180deg, transparent, var(--rymia-story-gold), transparent);
	content: "";
	height: 100%;
	left: 0.55rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.rymia-story-journey-step {
	padding: 0 0 clamp(3rem, 7vw, 5.5rem) 3.4rem;
	position: relative;
}

.rymia-story-journey-step:last-child {
	padding-bottom: 0;
}

.rymia-story-journey-step::before {
	background: var(--rymia-story-gold);
	border: 7px solid var(--rymia-story-espresso);
	border-radius: 999px;
	content: "";
	height: 1.1rem;
	left: 0;
	position: absolute;
	top: 0.35rem;
	width: 1.1rem;
}

.rymia-story-journey-label {
	color: var(--rymia-story-gold);
	display: block;
	font-family: "Bodoni 72", Didot, "Cormorant Garamond", Georgia, serif;
	font-size: clamp(2rem, 4.5vw, calc(var(--rymia-story-font-heading) * 1px));
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: 0.8rem;
}

.rymia-story-journey-step p {
	color: rgb(255 250 242 / 0.76);
	font-size: clamp(1rem, 1.55vw, calc(var(--rymia-story-font-body) * 1px));
	line-height: 1.75;
	margin: 0;
	max-width: 590px;
}

.rymia-story-closing {
	align-items: center;
	background: var(--rymia-story-section-bg);
	display: flex;
	justify-content: center;
	min-height: 78vh;
	padding: clamp(5rem, 11vw, 9rem) 1.35rem;
	text-align: center;
}

.rymia-story-closing-inner {
	max-width: 1000px;
}

.rymia-story-button {
	align-items: center;
	background: var(--rymia-story-black);
	color: var(--rymia-story-button-text);
	display: inline-flex;
	font-size: 0.78rem;
	justify-content: center;
	letter-spacing: 0.24em;
	line-height: 1.2;
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	min-height: 3.55rem;
	padding: 1.15rem 2.2rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 260ms ease, color 260ms ease, transform 260ms ease;
}

.rymia-story-button:hover,
.rymia-story-button:focus {
	background: var(--rymia-story-gold);
	color: var(--rymia-story-black);
	transform: translateY(-2px);
}

.rymia-story-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 900ms ease, transform 900ms ease;
	will-change: opacity, transform;
}

.rymia-story-reveal.rymia-story-is-visible,
.rymia-story-no-animation .rymia-story-reveal {
	opacity: 1;
	transform: translateY(0);
}

.rymia-story-no-animation .rymia-story-pillar-card,
.rymia-story-no-animation .rymia-story-pillar-card-inner,
.rymia-story-no-animation .rymia-story-pillar-face,
.rymia-story-no-animation .rymia-story-button {
	transition: none;
}

.rymia-story-no-animation .rymia-story-pillar-card:hover,
.rymia-story-no-animation .rymia-story-pillar-card:focus-visible,
.rymia-story-no-animation .rymia-story-button:hover,
.rymia-story-no-animation .rymia-story-button:focus {
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.rymia-story-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.rymia-story-pillar-card,
	.rymia-story-pillar-card-inner,
	.rymia-story-pillar-face,
	.rymia-story-button {
		transition: none;
	}

	.rymia-story-pillar-card:hover,
	.rymia-story-pillar-card:focus-visible,
	.rymia-story-button:hover,
	.rymia-story-button:focus {
		transform: none;
	}
}

.rymia-story-admin {
	color: #1d1713;
	margin: 24px 24px 24px 0;
	max-width: 1120px;
}

.rymia-story-admin h1 {
	font-family: Georgia, serif;
	font-weight: 400;
}

.rymia-story-admin-intro {
	color: #65584f;
	font-size: 15px;
}

.rymia-story-admin-section {
	background: #fff;
	border: 1px solid #e5ded4;
	margin: 18px 0;
	padding: 22px;
}

.rymia-story-admin-section h2 {
	font-family: Georgia, serif;
	font-size: 22px;
	font-weight: 400;
	margin: 0 0 18px;
}

.rymia-story-admin-row {
	display: grid;
	gap: 12px;
	grid-template-columns: 220px minmax(0, 1fr);
	margin: 0 0 14px;
}

.rymia-story-admin-row > label {
	font-weight: 600;
	padding-top: 7px;
}

.rymia-story-admin-row input[type="text"],
.rymia-story-admin-row input[type="url"],
.rymia-story-admin-row input[type="number"] {
	max-width: 680px;
	width: 100%;
}

.rymia-story-admin-image {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rymia-story-admin-image input {
	flex: 1 1 420px;
}

.rymia-story-admin-preview {
	flex-basis: 100%;
	margin-top: 8px;
	min-height: 0;
}

.rymia-story-admin-preview img {
	display: block;
	height: auto;
	max-width: 260px;
}

.rymia-story-admin-checkbox {
	font-weight: 400;
}

.rymia-story-admin-button,
.rymia-story-admin-submit {
	align-items: center;
	background: #241710;
	border: 1px solid #241710;
	color: #fffaf2;
	cursor: pointer;
	display: inline-flex;
	font-size: 13px;
	justify-content: center;
	line-height: 1.2;
	min-height: 34px;
	padding: 8px 14px;
	text-decoration: none;
}

.rymia-story-admin-button {
	background: #fffaf2;
	color: #241710;
}

.rymia-story-admin-button:hover,
.rymia-story-admin-button:focus,
.rymia-story-admin-submit:hover,
.rymia-story-admin-submit:focus {
	background: #b8965f;
	border-color: #b8965f;
	color: #050505;
}

@media (max-width: 900px) {
	.rymia-story-philosophy-grid,
	.rymia-story-pillars-grid {
		grid-template-columns: 1fr;
	}

	.rymia-story-grid {
		gap: 18px;
		grid-template-columns: 1fr;
	}

	.rymia-story-card,
	.rymia-story-card:nth-child(2) {
		height: 520px;
	}

	.rymia-story-philosophy-media {
		min-height: 0;
	}

	.rymia-story-pillar-card {
		min-height: 220px;
	}

	.rymia-story-pillar-card-inner,
	.rymia-story-pillar-face {
		min-height: 220px;
	}
}

@media (max-width: 640px) {
	.rymia-story-hero {
		padding: 5rem 1.2rem;
	}

	.rymia-story-hero-kicker {
		font-size: 0.7rem;
		letter-spacing: 0.28em;
	}

	.rymia-story-hero-title {
		max-width: 10ch;
	}

	.rymia-story-belief,
	.rymia-story-closing {
		min-height: 64vh;
	}

	.rymia-story-philosophy,
	.rymia-story-pillars,
	.rymia-story-journey {
		padding-left: 1.2rem;
		padding-right: 1.2rem;
	}

	.rymia-story-button {
		letter-spacing: 0.16em;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
		width: min(100%, 20rem);
	}

	.rymia-story-pillar-card,
	.rymia-story-pillar-card-inner,
	.rymia-story-pillar-face {
		min-height: 205px;
	}

	.rymia-story-card,
	.rymia-story-card:nth-child(2) {
		height: 420px;
	}

	.rymia-story-card-back {
		padding: 32px;
	}

	.rymia-story-pillar-card:hover {
		transform: none;
	}

	.rymia-story-admin-row {
		grid-template-columns: 1fr;
	}

	.rymia-story-admin-row > label {
		padding-top: 0;
	}
}
