/**
 * Rooted Dev Studio global visual system (WP03).
 *
 * Loaded after the legacy theme styles and WP02 navigation-fit layer. This file
 * owns tokens, shared primitives, global chrome, and compatibility refinements.
 * Page-specific redesign work remains in later work packages.
 */

:root {
	/* Brand and interface colors. */
	--rds-color-forest-950: #09271d;
	--rds-color-forest-900: #0d3527;
	--rds-color-forest-800: #124a34;
	--rds-color-forest-700: #17603f;
	--rds-color-forest-600: #1d7449;
	--rds-color-forest-100: #e9f2eb;
	--rds-color-charcoal-950: #15211c;
	--rds-color-charcoal-800: #29362f;
	--rds-color-charcoal-600: #526159;
	--rds-color-charcoal-400: #859087;
	--rds-color-cream-100: #f3efe6;
	--rds-color-cream-50: #faf8f2;
	--rds-color-white: #ffffff;
	--rds-color-earth-600: #a85e36;
	--rds-color-earth-500: #bd754d;
	--rds-color-gold-500: #c79d4a;
	--rds-color-line: #d8dfd8;
	--rds-color-line-strong: #bcc8be;
	--rds-color-success: #247447;
	--rds-color-warning: #9a661f;
	--rds-color-danger: #a33f3f;
	--rds-color-info: #356478;
	--rds-color-focus: #a96512;

	/* Typography. */
	--rds-font-display: "Newsreader", Georgia, serif;
	--rds-font-body: "Space Grotesk", "Trebuchet MS", sans-serif;
	--rds-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--rds-text-xs: .75rem;
	--rds-text-sm: .875rem;
	--rds-text-base: 1rem;
	--rds-text-lg: clamp(1.0625rem, 1vw + .78rem, 1.2rem);
	--rds-text-xl: clamp(1.35rem, 1.4vw + 1rem, 1.75rem);
	--rds-text-2xl: clamp(2rem, 3vw + 1rem, 3.5rem);
	--rds-text-3xl: clamp(2.75rem, 5.8vw + 1rem, 5.75rem);
	--rds-leading-tight: .98;
	--rds-leading-heading: 1.08;
	--rds-leading-body: 1.68;

	/* Spacing and layout. */
	--rds-space-1: .25rem;
	--rds-space-2: .5rem;
	--rds-space-3: .75rem;
	--rds-space-4: 1rem;
	--rds-space-5: 1.5rem;
	--rds-space-6: 2rem;
	--rds-space-7: 3rem;
	--rds-space-8: 4rem;
	--rds-space-9: 6rem;
	--rds-space-section: clamp(4.5rem, 8vw, 7rem);
	--rds-width-content: 1180px;
	--rds-width-wide: 1320px;
	--rds-width-reading: 760px;
	--rds-gutter: clamp(1rem, 3vw, 2rem);

	/* Shape, depth, and motion. */
	--rds-radius-sm: 4px;
	--rds-radius-md: 8px;
	--rds-radius-lg: 14px;
	--rds-radius-xl: 22px;
	--rds-shadow-sm: 0 1px 2px rgba(9, 39, 29, .05), 0 6px 18px rgba(9, 39, 29, .05);
	--rds-shadow-md: 0 14px 36px rgba(9, 39, 29, .10);
	--rds-shadow-lg: 0 24px 64px rgba(9, 39, 29, .14);
	--rds-transition-fast: 140ms ease;
	--rds-transition-base: 220ms ease;

	/* Compatibility aliases for existing templates. */
	--rds-green: var(--rds-color-forest-700);
	--rds-green-2: var(--rds-color-forest-600);
	--rds-leaf: #619f43;
	--rds-ink: var(--rds-color-charcoal-950);
	--rds-muted: var(--rds-color-charcoal-600);
	--rds-line: var(--rds-color-line);
	--rds-soft: var(--rds-color-cream-50);
	--rds-white: var(--rds-color-white);
	--rds-serif: var(--rds-font-display);
	--rds-sans: var(--rds-font-body);
	--sm-ink: var(--rds-color-charcoal-950);
	--sm-ink-soft: var(--rds-color-charcoal-600);
	--sm-night: var(--rds-color-forest-950);
	--sm-green: var(--rds-color-forest-700);
	--sm-green-bright: #4f9a68;
	--sm-copper: var(--rds-color-earth-600);
	--sm-gold: var(--rds-color-gold-500);
	--sm-paper: var(--rds-color-cream-100);
	--sm-cream: var(--rds-color-cream-50);
	--sm-white: var(--rds-color-white);
	--sm-line: rgba(21, 33, 28, .14);
	--sm-shadow: var(--rds-shadow-lg);
	--sm-radius: var(--rds-radius-lg);
	--sm-content: var(--rds-width-content);
	--sm-serif: var(--rds-font-display);
	--sm-sans: var(--rds-font-body);
}

html {
	scroll-padding-top: 6rem;
}

body {
	background: var(--rds-color-white);
	color: var(--rds-color-charcoal-950);
	font-family: var(--rds-font-body);
	font-size: 16px;
	font-synthesis: none;
	line-height: var(--rds-leading-body);
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--rds-color-forest-100);
	color: var(--rds-color-forest-950);
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--rds-color-focus);
	outline-offset: 3px;
}

a {
	color: var(--rds-color-forest-700);
	text-decoration-color: rgba(23, 96, 63, .4);
	text-decoration-thickness: .08em;
	text-underline-offset: .2em;
}

a:hover {
	color: var(--rds-color-earth-600);
	text-decoration-color: currentColor;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--rds-color-charcoal-950);
	font-family: var(--rds-font-display);
	font-weight: 650;
	letter-spacing: -.032em;
	line-height: var(--rds-leading-heading);
	text-wrap: balance;
}

p,
li {
	text-wrap: pretty;
}

code,
kbd,
pre,
samp {
	font-family: var(--rds-font-mono);
}

code:not(pre code) {
	background: var(--rds-color-cream-100);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-sm);
	font-size: .88em;
	padding: .12em .35em;
}

hr {
	border: 0;
	border-top: 1px solid var(--rds-color-line);
	margin-block: var(--rds-space-7);
}

blockquote {
	border-left: 3px solid var(--rds-color-earth-500);
	color: var(--rds-color-charcoal-800);
	font-family: var(--rds-font-display);
	font-size: var(--rds-text-xl);
	margin: var(--rds-space-7) 0;
	padding: var(--rds-space-3) 0 var(--rds-space-3) var(--rds-space-6);
}

.rds-wrap,
.sm-shell {
	margin-inline: auto;
	max-width: none;
	padding-inline: 0;
	width: min(var(--rds-width-content), calc(100% - (2 * var(--rds-gutter))));
}

.rds-wrap--wide {
	width: min(var(--rds-width-wide), calc(100% - (2 * var(--rds-gutter))));
}

.rds-reading-width {
	max-width: var(--rds-width-reading);
}

.rds-main,
.sm-main,
.rds-blog-main,
.rds-article-main {
	background: var(--rds-color-white);
	color: var(--rds-color-charcoal-950);
	min-height: 60vh;
}

.sm-page-hero h1,
.sm-page-hero h2,
.sm-product-hero h1,
.sm-product-hero h2,
.rds-product-demo .rds-page-hero h1,
.rds-product-demo .rds-page-hero h2 {
	color: var(--rds-color-white);
}

.sm-page-hero .sm-eyebrow,
.sm-product-hero .sm-eyebrow,
.rds-product-demo .rds-page-hero .rds-kicker {
	color: #d7c58f;
}

.sm-page-hero h1 {
	font-size: clamp(2.8rem, 6.4vw, 5rem);
	line-height: var(--rds-leading-tight);
}

/* Shared section primitives for WP04+ page composition. */
.rds-section,
.sm-section {
	padding-block: var(--rds-space-section);
}

.rds-section--cream,
.rds-section-cream {
	background: var(--rds-color-cream-50);
}

.rds-section--bordered {
	border-block: 1px solid var(--rds-color-line);
}

.rds-section--dark,
.sm-section-dark {
	background: var(--rds-color-forest-950);
	color: var(--rds-color-white);
}

:where(.rds-section--dark, .sm-section-dark) :where(h1, h2, h3, h4, h5, h6) {
	color: var(--rds-color-white);
}

.rds-section-intro {
	display: grid;
	gap: var(--rds-space-4);
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
	max-width: 760px;
}

.rds-section-intro > * {
	margin: 0;
}

.rds-split {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rds-grid {
	display: grid;
	gap: var(--rds-space-5);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

/* Eyebrow and technical annotation language. */
.rds-eyebrow,
.rds-kicker,
.sm-eyebrow,
.rds-story-label,
.rds-tech-label {
	align-items: center;
	color: var(--rds-color-forest-600);
	display: inline-flex;
	font-family: var(--rds-font-body);
	font-size: var(--rds-text-xs);
	font-weight: 700;
	gap: .65rem;
	letter-spacing: .12em;
	line-height: 1.25;
	text-transform: uppercase;
}

:where(.rds-eyebrow, .rds-kicker, .sm-eyebrow, .rds-tech-label)::before {
	background: var(--rds-color-earth-500);
	content: "";
	flex: 0 0 1.5rem;
	height: 2px;
}

.rds-tech-label {
	color: var(--rds-color-charcoal-600);
	font-family: var(--rds-font-mono);
	font-size: .6875rem;
}

.rds-rule {
	align-items: center;
	display: flex;
	gap: var(--rds-space-4);
}

.rds-rule::after {
	background: var(--rds-color-line);
	content: "";
	flex: 1;
	height: 1px;
}

/* Header and navigation. WP02 continues to own the 1240/1241 switch. */
.rds-header {
	backdrop-filter: blur(16px);
	background: rgba(255, 255, 255, .94);
	border-bottom: 1px solid var(--rds-color-line);
	box-shadow: 0 1px 0 rgba(9, 39, 29, .02);
	position: relative;
	z-index: 50;
}

.rds-header-inner {
	gap: clamp(1.25rem, 2.2vw, 2rem);
	min-height: 86px;
}

.rds-brand {
	gap: .75rem;
}

.rds-brand img {
	height: 56px;
	width: 50px;
}

.rds-brand strong {
	color: var(--rds-color-charcoal-950);
	font-size: 1.18rem;
	font-weight: 700;
	letter-spacing: -.035em;
}

.rds-brand small {
	color: var(--rds-color-charcoal-600);
	font-size: .58rem;
	letter-spacing: .015em;
}

.rds-desktop-nav .rds-menu {
	gap: 20px;
}

.rds-desktop-nav .menu-item > a {
	color: var(--rds-color-charcoal-800);
	font-size: .8125rem;
	font-weight: 650;
	letter-spacing: -.01em;
	padding-block: 35px;
	position: relative;
	white-space: nowrap;
}

.rds-desktop-nav .rds-menu > .menu-item > a::before {
	background: var(--rds-color-forest-600);
	bottom: 24px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--rds-transition-base);
	width: 100%;
}

.rds-desktop-nav .rds-menu > .menu-item:hover > a::before,
.rds-desktop-nav .rds-menu > .current-menu-item > a::before,
.rds-desktop-nav .rds-menu > .current-menu-ancestor > a::before {
	transform: scaleX(1);
	transform-origin: left;
}

.rds-desktop-nav .menu-item-has-children > a::after {
	top: 39px;
}

.rds-desktop-nav .sub-menu {
	border-color: var(--rds-color-line);
	border-radius: var(--rds-radius-md);
	box-shadow: var(--rds-shadow-md);
	padding: .6rem !important;
}

.rds-desktop-nav .sub-menu a {
	border-radius: var(--rds-radius-sm);
	font-size: .8125rem;
	padding: .75rem .8rem !important;
}

.rds-desktop-nav .sub-menu a:hover,
.rds-desktop-nav .sub-menu a:focus-visible {
	background: var(--rds-color-cream-50);
}

.rds-header-cta {
	align-items: center;
	background: var(--rds-color-forest-800);
	border: 1px solid var(--rds-color-forest-800);
	border-radius: var(--rds-radius-sm);
	box-shadow: none;
	display: inline-flex;
	font-size: .8125rem;
	justify-content: center;
	min-height: 44px;
	padding: .7rem 1.1rem;
	transition: background var(--rds-transition-fast), border-color var(--rds-transition-fast), transform var(--rds-transition-fast);
}

.rds-header-cta:hover {
	background: var(--rds-color-forest-950);
	border-color: var(--rds-color-forest-950);
	color: var(--rds-color-white) !important;
	transform: translateY(-1px);
}

.rds-mobile-nav summary {
	align-items: center;
	background: var(--rds-color-white);
	border-color: var(--rds-color-forest-700);
	border-radius: var(--rds-radius-sm);
	cursor: pointer;
	display: inline-flex;
	font-size: .8125rem;
	justify-content: center;
	min-height: 44px;
	min-width: 64px;
}

.rds-mobile-nav summary::-webkit-details-marker {
	display: none;
}

.rds-mobile-nav[open] summary {
	background: var(--rds-color-forest-950);
	border-color: var(--rds-color-forest-950);
	color: var(--rds-color-white);
}

.rds-mobile-nav nav {
	border-radius: var(--rds-radius-md);
	box-shadow: var(--rds-shadow-lg);
	max-height: calc(100vh - 7rem);
	overflow: auto;
	padding: .7rem;
	top: 53px;
	width: min(340px, calc(100vw - (2 * var(--rds-gutter))));
	z-index: 100;
}

.rds-mobile-menu a {
	border-radius: var(--rds-radius-sm);
	color: var(--rds-color-charcoal-800);
	font-size: .9rem;
	padding: .7rem .75rem;
}

.rds-mobile-menu a:hover,
.rds-mobile-menu a:focus-visible {
	background: var(--rds-color-cream-50);
	color: var(--rds-color-forest-700);
}

.rds-mobile-menu .sub-menu {
	border-color: var(--rds-color-line-strong);
}

/* Button family. Legacy button names map into the same component. */
.rds-button,
.sm-button,
.las-store-button,
.rds-live-demo-button,
.rds-button--primary,
.rds-button--secondary,
.rds-button--text {
	align-items: center;
	border-radius: var(--rds-radius-sm);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--rds-font-body);
	font-size: .875rem;
	font-weight: 700;
	gap: .65rem;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: .78rem 1.15rem;
	text-decoration: none;
	transition: background var(--rds-transition-fast), border-color var(--rds-transition-fast), color var(--rds-transition-fast), transform var(--rds-transition-fast);
}

.rds-button-solid,
.sm-button:not(.sm-button-secondary),
.las-store-button,
.rds-button--primary {
	background: var(--rds-color-forest-700);
	border: 1px solid var(--rds-color-forest-700);
	color: var(--rds-color-white) !important;
}

:where(.rds-button-solid, .sm-button:not(.sm-button-secondary), .las-store-button, .rds-button--primary):hover {
	background: var(--rds-color-forest-950);
	border-color: var(--rds-color-forest-950);
	box-shadow: var(--rds-shadow-sm);
	color: var(--rds-color-white) !important;
	transform: translateY(-1px);
}

.rds-button-outline,
.sm-button-secondary,
.rds-live-demo-button,
.rds-button--secondary {
	background: transparent;
	border: 1px solid var(--rds-color-forest-700);
	color: var(--rds-color-forest-700);
}

:where(.rds-button-outline, .sm-button-secondary, .rds-live-demo-button, .rds-button--secondary):hover {
	background: var(--rds-color-forest-100);
	border-color: var(--rds-color-forest-800);
	color: var(--rds-color-forest-950);
	transform: translateY(-1px);
}

.rds-button--text {
	background: transparent;
	border: 0;
	color: var(--rds-color-forest-700);
	min-height: auto;
	padding: .25rem 0;
}

.rds-button--text:hover {
	color: var(--rds-color-earth-600);
}

:where(.rds-button, .sm-button, .las-store-button, .rds-live-demo-button, button, input[type="submit"]):disabled,
:where(.rds-button, .sm-button, .las-store-button, .rds-live-demo-button)[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: .52;
	pointer-events: none;
	transform: none;
}

/* Cards, product surfaces, platform treatment, and proof blocks. */
.rds-card,
.sm-feature,
.sm-product-card,
.rds-product-card,
.rds-blog-card {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-lg);
	box-shadow: var(--rds-shadow-sm);
}

:where(.rds-card, .sm-feature, .sm-product-card, .rds-product-card, .rds-blog-card) {
	transition: border-color var(--rds-transition-base), box-shadow var(--rds-transition-base), transform var(--rds-transition-base);
}

:where(.rds-card, .sm-feature, .sm-product-card, .rds-product-card, .rds-blog-card):hover {
	border-color: var(--rds-color-line-strong);
	box-shadow: var(--rds-shadow-md);
	transform: translateY(-3px);
}

.rds-card {
	padding: clamp(1.35rem, 3vw, 2rem);
}

.rds-card--flat {
	box-shadow: none;
}

.rds-card--dark {
	background: var(--rds-color-forest-950);
	border-color: rgba(255, 255, 255, .14);
	color: rgba(255, 255, 255, .78);
}

.rds-card--dark :where(h2, h3, h4) {
	color: var(--rds-color-white);
}

.rds-platform-grid {
	display: grid;
	gap: var(--rds-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.rds-platform-card {
	background: var(--rds-color-cream-50);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-md);
	min-height: 170px;
	padding: var(--rds-space-5);
	position: relative;
}

.rds-platform-card::before {
	background: var(--rds-platform-accent, var(--rds-color-forest-600));
	content: "";
	height: 3px;
	left: var(--rds-space-5);
	position: absolute;
	top: 0;
	width: 2.5rem;
}

.rds-platform-card--wordpress { --rds-platform-accent: #486d7b; }
.rds-platform-card--woocommerce { --rds-platform-accent: #75547f; }
.rds-platform-card--shopify { --rds-platform-accent: #5b7c3d; }
.rds-platform-card--web { --rds-platform-accent: var(--rds-color-earth-500); }

.rds-browser-frame {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line-strong);
	border-radius: var(--rds-radius-lg);
	box-shadow: var(--rds-shadow-lg);
	overflow: hidden;
}

.rds-browser-frame::before {
	background: radial-gradient(circle, var(--rds-color-earth-500) 0 3px, transparent 4px) 1rem 50% / 18px 18px no-repeat,
		radial-gradient(circle, var(--rds-color-gold-500) 0 3px, transparent 4px) 2.1rem 50% / 18px 18px no-repeat,
		radial-gradient(circle, var(--rds-color-success) 0 3px, transparent 4px) 3.2rem 50% / 18px 18px no-repeat,
		var(--rds-color-cream-50);
	border-bottom: 1px solid var(--rds-color-line);
	content: "";
	display: block;
	height: 2.5rem;
}

.rds-stats {
	border-block: 1px solid var(--rds-color-line);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.rds-stat {
	padding: var(--rds-space-5);
}

.rds-stat + .rds-stat {
	border-left: 1px solid var(--rds-color-line);
}

.rds-stat strong {
	color: var(--rds-color-forest-700);
	display: block;
	font-family: var(--rds-font-display);
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	line-height: 1;
}

.rds-stat span {
	color: var(--rds-color-charcoal-600);
	font-size: var(--rds-text-sm);
}

/* Content, tables, messages, and forms. */
.sm-content-wrap,
.sm-product-content {
	border-color: var(--rds-color-line);
	border-radius: var(--rds-radius-lg);
	box-shadow: var(--rds-shadow-sm);
}

:where(.sm-content-wrap, .sm-product-content, .rds-article-body) > :first-child {
	margin-top: 0;
}

:where(.sm-content-wrap, .sm-product-content, .rds-article-body) > :last-child {
	margin-bottom: 0;
}

:where(.sm-content-wrap, .sm-product-content, .rds-article-body) table {
	border-collapse: collapse;
	font-size: .9375rem;
	margin-block: var(--rds-space-6);
	width: 100%;
}

:where(.sm-content-wrap, .sm-product-content, .rds-article-body) th {
	background: var(--rds-color-cream-100);
	color: var(--rds-color-charcoal-800);
	font-size: var(--rds-text-xs);
	letter-spacing: .08em;
	text-transform: uppercase;
}

:where(.sm-content-wrap, .sm-product-content, .rds-article-body) :where(th, td) {
	border-bottom: 1px solid var(--rds-color-line);
	padding: .85rem 1rem;
	text-align: left;
}

.sm-callout,
.rds-notice {
	background: var(--rds-color-cream-50);
	border: 1px solid var(--rds-color-line);
	border-left: 4px solid var(--rds-color-forest-600);
	border-radius: 0 var(--rds-radius-md) var(--rds-radius-md) 0;
	color: var(--rds-color-charcoal-800);
	padding: 1.15rem 1.35rem;
}

.rds-notice--success { border-left-color: var(--rds-color-success); }
.rds-notice--warning { border-left-color: var(--rds-color-warning); }
.rds-notice--danger { border-left-color: var(--rds-color-danger); }
.rds-notice--info { border-left-color: var(--rds-color-info); }

:where(.sm-content-wrap, .sm-product-content, .rds-product-demo, .las-store-account, .las-store-form, .rds-form) :where(label, legend) {
	color: var(--rds-color-charcoal-800);
	font-size: .8125rem;
	font-weight: 700;
}

:where(.sm-content-wrap, .sm-product-content, .rds-product-demo, .las-store-account, .las-store-form, .rds-form) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea) {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line-strong);
	border-radius: var(--rds-radius-sm);
	box-shadow: 0 1px 1px rgba(9, 39, 29, .03) inset;
	color: var(--rds-color-charcoal-950);
	min-height: 48px;
	padding: .7rem .8rem;
	transition: border-color var(--rds-transition-fast), box-shadow var(--rds-transition-fast);
	width: 100%;
}

:where(.sm-content-wrap, .sm-product-content, .rds-product-demo, .las-store-account, .las-store-form, .rds-form) textarea {
	min-height: 140px;
	resize: vertical;
}

:where(.sm-content-wrap, .sm-product-content, .rds-product-demo, .las-store-account, .las-store-form, .rds-form) :where(input, select, textarea):focus {
	border-color: var(--rds-color-forest-600);
	box-shadow: 0 0 0 3px rgba(29, 116, 73, .14);
	outline: 0;
}

:where(.sm-content-wrap, .sm-product-content, .rds-product-demo, .las-store-account, .las-store-form, .rds-form) ::placeholder {
	color: var(--rds-color-charcoal-400);
	opacity: 1;
}

/* Rooted Store enqueues its shortcode CSS after the page header. These scoped
 * selectors keep protected forms aligned without modifying the plugin. */
.sm-content-wrap :where(.las-store-buy, .las-store-download, .las-store-recovery, .las-store-account, .las-store-refund) {
	font-family: var(--rds-font-body);
}

.sm-content-wrap .las-store-download,
.sm-content-wrap .las-store-recovery,
.sm-content-wrap .las-store-account,
.sm-content-wrap .las-store-refund {
	background: var(--rds-color-cream-50);
	border-color: var(--rds-color-line);
	border-radius: var(--rds-radius-md);
	box-shadow: var(--rds-shadow-sm);
	font-family: var(--rds-font-body);
}

.sm-content-wrap .las-store-download label,
.sm-content-wrap .las-store-recovery label,
.sm-content-wrap .las-store-account label,
.sm-content-wrap .las-store-refund label {
	color: var(--rds-color-charcoal-800);
	font-size: .8125rem;
}

.sm-content-wrap .las-store-download input:not([type="hidden"]),
.sm-content-wrap .las-store-recovery input:not([type="hidden"]),
.sm-content-wrap .las-store-account input:not([type="hidden"]),
.sm-content-wrap .las-store-refund input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.sm-content-wrap .las-store-refund select,
.sm-content-wrap .las-store-refund textarea {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line-strong);
	border-radius: var(--rds-radius-sm);
	color: var(--rds-color-charcoal-950);
	min-height: 48px;
	padding: .7rem .8rem;
	width: 100%;
}

.sm-content-wrap .las-store-download :where(input, select, textarea):focus,
.sm-content-wrap .las-store-recovery :where(input, select, textarea):focus,
.sm-content-wrap .las-store-account :where(input, select, textarea):focus,
.sm-content-wrap .las-store-refund :where(input, select, textarea):focus {
	border-color: var(--rds-color-forest-600);
	box-shadow: 0 0 0 3px rgba(29, 116, 73, .14);
	outline: 0;
}

.sm-content-wrap .las-store-button,
.rds-product-actions .las-store-button {
	background: var(--rds-color-forest-700);
	border: 1px solid var(--rds-color-forest-700);
	border-radius: var(--rds-radius-sm);
	box-shadow: none;
	color: var(--rds-color-white);
	font-family: var(--rds-font-body);
	font-size: .875rem;
	min-height: 48px;
}

.sm-content-wrap .las-store-button:hover,
.sm-content-wrap .las-store-button:focus-visible,
.rds-product-actions .las-store-button:hover,
.rds-product-actions .las-store-button:focus-visible {
	background: var(--rds-color-forest-950);
	border-color: var(--rds-color-forest-950);
}

/* Footer: six columns at full width, then deliberate reductions. */
.rds-footer {
	background: var(--rds-color-forest-950);
	border-top: 4px solid var(--rds-color-earth-500);
	color: rgba(255, 255, 255, .78);
	padding: clamp(3.5rem, 7vw, 5.5rem) 0 1.5rem;
}

.rds-footer-grid {
	display: grid;
	gap: clamp(1.5rem, 2.6vw, 2.5rem);
	grid-template-columns: minmax(210px, 1.35fr) repeat(4, minmax(100px, .72fr)) minmax(205px, 1.25fr);
}

.rds-footer .rds-brand strong,
.rds-footer h2 {
	color: var(--rds-color-white);
}

.rds-footer h2 {
	font-family: var(--rds-font-body);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: .75rem;
	text-transform: uppercase;
}

.rds-footer a {
	color: rgba(255, 255, 255, .72);
	font-size: .75rem;
	text-decoration: none;
}

.rds-footer a:hover,
.rds-footer a:focus-visible {
	color: var(--rds-color-white);
}

.rds-footer-cta {
	background: rgba(255, 255, 255, .055);
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: var(--rds-radius-md);
	padding: 1.15rem;
}

.rds-footer-cta p {
	color: rgba(255, 255, 255, .68);
}

.rds-footer-cta > a {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-white);
	color: var(--rds-color-forest-950);
	min-height: 42px;
	transition: background var(--rds-transition-fast), color var(--rds-transition-fast);
}

.rds-footer-cta > a:hover,
.rds-footer-cta > a:focus-visible {
	background: var(--rds-color-cream-100);
	color: var(--rds-color-forest-950);
}

.rds-footer-bottom {
	border-color: rgba(255, 255, 255, .13);
	color: rgba(255, 255, 255, .55);
	font-size: .6875rem;
	margin-top: 2.5rem;
	padding-top: 1.2rem;
}

@media (max-width: 1180px) {
	.rds-footer-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.rds-footer-brand,
	.rds-footer-cta {
		grid-column: span 2;
	}
}

@media (max-width: 1240px) {
	.rds-desktop-nav,
	.rds-header-cta {
		display: none;
	}

	.rds-mobile-nav {
		display: block;
		margin-left: auto;
		position: relative;
	}
}

@media (max-width: 800px) {
	.rds-split {
		grid-template-columns: 1fr;
	}

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

	.rds-footer-brand,
	.rds-footer-cta {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	:root {
		--rds-gutter: .75rem;
	}

	.rds-brand strong {
		font-size: 1.05rem;
	}

	.rds-header-inner {
		min-height: 74px;
	}

	.rds-footer-grid {
		grid-template-columns: 1fr;
	}

	.rds-footer-brand,
	.rds-footer-cta {
		grid-column: auto;
	}

	.rds-stat + .rds-stat {
		border-left: 0;
		border-top: 1px solid var(--rds-color-line);
	}

	:where(.sm-content-wrap, .sm-product-content, .rds-article-body) table {
		display: block;
		overflow-x: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
