.rw-container {
margin-inline: auto;
max-width: var(--rw-container);
padding-inline: var(--rw-gutter);
width: 100%;
}
.rw-container--wide { max-width: var(--rw-container-wide); }
.rw-container--content { max-width: var(--rw-container-content); }
.rw-container--narrow { max-width: var(--rw-container-narrow); }
.rw-section {
padding-block: var(--rw-section-space);
}
.rw-section--compact {
padding-block: clamp(40px, 5vw, 72px);
}
.rw-section--surface { background: var(--rw-color-surface); }
.rw-section--soft { background: var(--rw-color-surface-soft); }
.rw-section--warm { background: var(--rw-color-surface-warm); }
.rw-grid {
display: grid;
gap: var(--rw-space-7);
}
.rw-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rw-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rw-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rw-stack {
display: flex;
flex-direction: column;
}
.rw-stack > * { margin-block: 0; }
.rw-stack > * + * { margin-block-start: var(--rw-stack-space, var(--rw-space-5)); }
.rw-cluster {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: var(--rw-cluster-gap, var(--rw-space-4));
}
.rw-split {
align-items: center;
display: flex;
gap: var(--rw-space-5);
justify-content: space-between;
}
.rw-eyebrow {
color: var(--rw-color-muted);
display: block;
font-size: var(--rw-font-size-xs);
font-weight: 600;
letter-spacing: 0.12em;
line-height: 1.3;
margin-bottom: var(--rw-space-4);
text-transform: uppercase;
}
.rw-lead {
color: var(--rw-color-muted);
font-size: var(--rw-font-size-lg);
line-height: 1.58;
max-width: 62ch;
}
.rw-muted { color: var(--rw-color-muted); }
.rw-text-center { text-align: center; }
.rw-text-right { text-align: right; }
.rw-full-width { width: 100%; }
.rw-overflow-hidden { overflow: hidden; }
.rw-media {
background: var(--rw-color-image);
overflow: hidden;
position: relative;
}
.rw-media > img {
height: 100%;
object-fit: cover;
width: 100%;
}
.rw-media--product { aspect-ratio: var(--rw-product-ratio); }
.rw-media--square { aspect-ratio: 1; }
.rw-media--landscape { aspect-ratio: 16 / 9; }
.rw-media--banner { aspect-ratio: 16 / 7; }
.rw-divider {
border: 0;
border-top: 1px solid var(--rw-color-border);
margin-block: var(--rw-space-7);
}
.rw-visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}