.rk-compat {
	--rk-core-ink: var(--rk-color-ink, #211f1d);
	--rk-core-paper: var(--rk-color-paper, #fff);
	--rk-core-sand: var(--rk-sand-500, #beb49b);
	--rk-core-border: var(--rk-color-border, #d9d4ca);
	color: var(--rk-core-ink);
	font-family: var(--rk-font-body, "Libre Franklin", sans-serif);
}

.rk-compat-heading__title,
.rk-letter-box__title,
.rk-lookbook__title {
	margin: 0;
	font-family: var(--rk-font-display, Michroma, sans-serif);
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rk-compat-heading__title a { color: inherit; text-decoration: none; }

.rk-letter-box,
.rk-reverse-letter {
	position: relative;
	display: grid;
	grid-template-columns: minmax(5rem, 0.35fr) minmax(0, 1fr);
	align-items: center;
	min-height: clamp(18rem, 38vw, 38rem);
	overflow: clip;
}

.rk-letter-box__letter,
.rk-reverse-letter__letter {
	color: color-mix(in srgb, var(--rk-core-sand) 34%, transparent);
	font-family: var(--rk-font-display, Michroma, sans-serif);
	font-size: clamp(8rem, 22vw, 26rem);
	line-height: 0.75;
	white-space: nowrap;
}

.rk-letter-box__content,
.rk-reverse-letter__content { position: relative; z-index: 1; max-width: 42rem; }

.rk-vertical-separator {
	display: flex;
	min-height: clamp(10rem, 30vw, 30rem);
	align-items: center;
	flex-direction: column;
	gap: 1rem;
}

.rk-vertical-separator__line { flex: 1; border-left: 1px dotted currentColor; opacity: 0.8; }
.rk-vertical-separator--solid .rk-vertical-separator__line { border-left-style: solid; }
.rk-vertical-separator--dashed .rk-vertical-separator__line { border-left-style: dashed; }
.rk-vertical-separator__text { writing-mode: vertical-rl; letter-spacing: 0.25em; text-transform: uppercase; }
.rk-vertical-separator__image { width: 3rem; height: 3rem; object-fit: contain; }

.rk-testimonials__track {
	display: grid;
	grid-auto-columns: min(38rem, 90%);
	grid-auto-flow: column;
	gap: clamp(1.5rem, 4vw, 4rem);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.rk-testimonials__track::-webkit-scrollbar { display: none; }
.rk-testimonial { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-content: center; margin: 0; scroll-snap-align: start; }
.rk-testimonial__portrait { width: clamp(5rem, 9vw, 9rem); aspect-ratio: 1; object-fit: cover; }
.rk-testimonial__portrait.is-rounded { border-radius: 50%; }
.rk-testimonial__quote { margin: 0; font-size: clamp(1.35rem, 2.4vw, 2.5rem); line-height: 1.35; }
.rk-testimonial__name { grid-column: 2; font-family: var(--rk-font-ui, Helvetica, Arial, sans-serif); font-weight: 600; }
.rk-testimonials__nav, .rk-product-rail__nav { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }
.rk-testimonials__nav button, .rk-product-rail__nav button { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid currentColor; background: transparent; color: inherit; }

.rk-lookbook { position: relative; display: grid; min-height: clamp(24rem, 50vw, 55rem); overflow: clip; }
.rk-lookbook.is-full-height { min-height: 100svh; }
.rk-lookbook__media, .rk-lookbook__media img { width: 100%; height: 100%; }
.rk-lookbook__media img { display: block; object-fit: cover; }
.rk-lookbook__content { padding: clamp(1.5rem, 5vw, 6rem); }
.rk-lookbook--text_over_image .rk-lookbook__media { grid-area: 1 / 1; }
.rk-lookbook--text_over_image .rk-lookbook__content { z-index: 1; grid-area: 1 / 1; align-self: end; color: var(--rk-core-paper); background: linear-gradient(transparent, rgb(0 0 0 / 0.48)); }
.rk-lookbook--text_aside { grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr); }
.rk-lookbook--text_aside.rk-lookbook--text-right .rk-lookbook__content { order: 2; }
.rk-lookbook--text_under_image { grid-template-rows: minmax(20rem, 1fr) auto; }
.rk-lookbook__eyebrow { font-family: var(--rk-font-ui, Helvetica, Arial, sans-serif); letter-spacing: 0.12em; text-transform: uppercase; }
.rk-lookbook__link { display: inline-block; margin-top: 1.5rem; }

.rk-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.rk-contact-form .rk-field { display: grid; gap: 0.5rem; }
.rk-contact-form .rk-field:has(textarea), .rk-contact-form :is(button, input[type="submit"]) { grid-column: 1 / -1; }
.rk-contact-form__honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.rk-contact-form__consent { grid-column: 1 / -1; display: flex; gap: 0.75rem; align-items: flex-start; font: inherit; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.rk-contact-form__consent input { flex: 0 0 auto; margin-top: 0.2rem; }

.rk-blog-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.rk-blog-card { grid-column: span 4; }
.rk-blog-card:nth-child(4n + 2) { grid-column: span 5; margin-top: clamp(2rem, 8vw, 8rem); }
.rk-blog-card:nth-child(4n + 3) { grid-column: span 3; }
.rk-blog-card__image { display: block; aspect-ratio: 4 / 5; overflow: hidden; }
.rk-blog-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.25,1,.5,1); }
.rk-blog-card__image:hover img { transform: scale(1.025); }
.rk-blog-card__meta { font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; }

.rk-product-rail { position: relative; overflow: hidden; }
.rk-product-rail__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.rk-product-rail__viewport::-webkit-scrollbar { display: none; }
.rk-product-rail__viewport .products { display: grid !important; grid-auto-columns: min(20rem, 75vw); grid-auto-flow: column; grid-template-columns: none !important; }
.rk-product-rail__viewport .product { scroll-snap-align: start; }
.rk-product-rail__label { position: absolute; inset: 0 auto auto 0; z-index: -1; margin: 0; color: color-mix(in srgb, var(--rk-core-sand) 20%, transparent); font: 400 clamp(5rem, 16vw, 18rem)/0.8 var(--rk-font-display, Michroma, sans-serif); }
.rk-compat-link { text-align: var(--rk-link-align, left); }
.rk-compat-link.has-divider::before { content: ""; display: inline-block; width: 4rem; margin-right: 1rem; border-top: 1px solid currentColor; vertical-align: middle; }
.rk-compat-link.has-underline a { border-bottom: 1px solid currentColor; }

@media (max-width: 47.99rem) {
	.rk-letter-box, .rk-reverse-letter { grid-template-columns: 1fr; min-height: 20rem; }
	.rk-letter-box__letter, .rk-reverse-letter__letter { position: absolute; inset: 1rem auto auto -0.25rem; opacity: 0.8; }
	.rk-letter-box__content, .rk-reverse-letter__content { padding-top: 8rem; }
	.rk-lookbook--text_aside { grid-template-columns: 1fr; }
	.rk-lookbook--text_aside .rk-lookbook__content { order: 2 !important; }
	.rk-contact-form { grid-template-columns: 1fr; }
	.rk-blog-grid { display: grid; grid-template-columns: 1fr; }
	.rk-blog-card, .rk-blog-card:nth-child(n) { grid-column: auto; margin-top: 0; }
	.rk-testimonial { grid-template-columns: 1fr; }
	.rk-testimonial__name { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.rk-blog-card__image img { transition: none; }
}
