/*
Theme Name: RackTek Signal Grid
Theme URI: https://racktek.com/
Author: Online Industrial Supply Group
Description: A cinematic, technical-first RackTek child theme for engineered railcar, tank-truck, and industrial loading access.
Template: ois-industrial-base
Version: 1.0.1
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: racktek-safety-blue-preview
Update URI: https://racktek.com/internal/racktek-signal-grid
Tags: block-patterns, full-site-editing, accessibility-ready, custom-colors, wide-blocks
*/

:root,
body,
.editor-styles-wrapper,
body.racktek-safety-blue-preview {
	--rt-ink: #07131d;
	--rt-ink-2: #0c1d2b;
	--rt-navy: #173650;
	--rt-blue: #0077c8;
	--rt-blue-2: #00a3ff;
	--rt-cyan: #67d3ff;
	--rt-yellow: #f2b134;
	--rt-white: #fff;
	--rt-paper: #f4f7f9;
	--rt-cloud: #e7eef3;
	--rt-steel: #617482;
	--rt-line: #cbd7df;
	--rt-success: #25a36f;
	--rt-display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
	--rt-body: Inter, "Helvetica Neue", Arial, sans-serif;
	--rt-wide: min(92vw, 1380px);
	--rt-section: clamp(5.5rem, 9vw, 9rem);
	--rt-shadow: 0 32px 80px rgba(5, 20, 31, 0.18);
	--rt-radius: 2px;
	--ois-brand-primary: var(--rt-blue);
	--ois-brand-accent: var(--rt-blue-2);
	--ois-brand-soft: #e5f5ff;
	--ois-brand-deep: var(--rt-ink);
	--ois-brand-rgb: 0, 119, 200;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.racktek-safety-blue-preview {
	background: var(--rt-paper);
	color: var(--rt-ink);
	font-family: var(--rt-body);
	font-size: 16px;
	line-height: 1.65;
}

body.racktek-safety-blue-preview .wp-site-blocks { overflow: clip; }
body.racktek-safety-blue-preview .wp-site-blocks > * { margin-block-start: 0; }

body.racktek-safety-blue-preview :where(h1, h2, h3, h4, p) { text-wrap: pretty; }
body.racktek-safety-blue-preview :where(a, button, summary):focus-visible { outline: 3px solid var(--rt-yellow); outline-offset: 4px; }

.rt-icon { width: 1.25em; height: 1.25em; flex: 0 0 auto; }
.rt-preview-page { background: var(--rt-paper); }
.rt-preview-page > * { margin-block-start: 0; }
.rt-preview-page figure { margin: 0; }
.rt-media-figure, .rt-media-figure img { width: 100%; height: 100%; }
.rt-media-figure img { display: block; object-fit: cover; }

/* Buttons */
body.racktek-safety-blue-preview .wp-block-button__link,
.editor-styles-wrapper .rt-preview-page .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.35rem;
	padding: .9rem 1.4rem;
	border: 1px solid var(--rt-blue);
	border-radius: var(--rt-radius);
	background: var(--rt-blue);
	box-shadow: none;
	color: var(--rt-white);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

body.racktek-safety-blue-preview .wp-block-button__link:hover,
body.racktek-safety-blue-preview .wp-block-button__link:focus-visible {
	border-color: var(--rt-blue-2);
	background: var(--rt-blue-2);
	color: var(--rt-ink);
	transform: translateY(-2px);
}

body.racktek-safety-blue-preview .is-style-outline > .wp-block-button__link {
	border-color: rgba(255,255,255,.62);
	background: rgba(7,19,29,.22);
	color: var(--rt-white);
	backdrop-filter: blur(10px);
}

/* Header */
.rt-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(7,19,29,.1);
	box-shadow: 0 12px 32px rgba(7,19,29,.08);
}

body.admin-bar .rt-site-header { top: 32px; }

.rt-utility-bar {
	background: var(--rt-ink);
	color: rgba(255,255,255,.75);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.rt-utility-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: var(--rt-wide);
	min-height: 2.25rem;
	margin: 0 auto;
}

.rt-utility-inner > span { display: flex; align-items: center; gap: .55rem; }
.rt-utility-inner > span i { width: 7px; height: 7px; border-radius: 50%; background: var(--rt-blue-2); box-shadow: 0 0 16px var(--rt-blue-2); }
.rt-utility-inner nav { display: flex; align-items: center; gap: 1.35rem; }
.rt-utility-inner a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; text-decoration: none; }
.rt-utility-inner a:hover { color: var(--rt-cyan); }

.rt-primary-header {
	width: 100%;
	min-height: 5.2rem;
	padding: .8rem max(4vw, calc((100vw - 1380px) / 2));
	background: rgba(255,255,255,.96);
	color: var(--rt-ink);
	backdrop-filter: blur(18px);
}

.rt-header-logo { display: block; width: min(14rem, 28vw); line-height: 0; }
.rt-header-logo .rt-media-figure, .rt-header-logo img { display: block; width: 100%; height: auto; max-height: 3.35rem; object-fit: contain; object-position: left center; }
.rt-header-actions { gap: clamp(1.2rem, 3vw, 3.25rem) !important; }
.rt-main-nav { font-size: .78rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.rt-main-nav .wp-block-navigation-item__content { padding: .65rem .1rem; color: var(--rt-ink); text-decoration: none; }
.rt-main-nav .wp-block-navigation-item__content:hover { color: var(--rt-blue); }
.rt-header-cta .wp-block-button__link { min-height: 2.85rem; padding: .8rem 1.15rem; }

/* Hero */
.rt-hero {
	position: relative;
	isolation: isolate;
	min-height: min(880px, calc(100svh - 7.45rem));
	overflow: hidden;
	background: var(--rt-ink);
	color: var(--rt-white);
}

.rt-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(5,15,24,.97) 0%, rgba(5,15,24,.88) 40%, rgba(5,15,24,.35) 72%, rgba(5,15,24,.58) 100%),
		linear-gradient(0deg, rgba(5,15,24,.92) 0%, transparent 35%);
	content: "";
}

.rt-hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(rgba(103,211,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(103,211,255,.055) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(90deg, #000 0%, transparent 75%);
	content: "";
}

.rt-hero-media { position: absolute; inset: 0; z-index: -2; }
.rt-hero-media .rt-media-figure, .rt-hero-media img { width: 100%; height: 100%; }
.rt-hero-media img { object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.08); }

.rt-hero-shell {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(21rem, .75fr);
	align-items: center;
	gap: clamp(3rem, 8vw, 8rem);
	width: var(--rt-wide);
	min-height: min(780px, calc(100svh - 9.7rem));
	padding-block: clamp(5.5rem, 9vw, 8.5rem);
}

.rt-eyebrow, .rt-section-index {
	display: flex;
	align-items: center;
	gap: .8rem;
	margin: 0 0 1.2rem;
	color: var(--rt-blue-2);
	font-size: .73rem;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.rt-eyebrow::before, .rt-section-index::before { width: 2.6rem; height: 2px; background: currentColor; content: ""; }

.rt-hero-copy h1 {
	max-width: 14ch;
	margin: 0;
	color: var(--rt-white);
	font-family: var(--rt-display);
	font-size: clamp(3.75rem, 7.5vw, 7.4rem) !important;
	font-stretch: condensed;
	font-weight: 900;
	letter-spacing: -.065em;
	line-height: .86;
	text-transform: uppercase;
}

.rt-hero-copy h1 em { color: var(--rt-cyan); font-style: normal; }
.rt-hero-lede { max-width: 46rem; margin: 1.8rem 0 0; color: rgba(255,255,255,.78); font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.rt-hero-actions { margin-top: 2.15rem; gap: .75rem; }

.rt-hero-contact { display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 2.1rem; }
.rt-hero-contact a { display: flex; align-items: center; gap: .75rem; color: var(--rt-white); text-decoration: none; }
.rt-hero-contact .rt-icon { width: 1.5rem; height: 1.5rem; color: var(--rt-cyan); }
.rt-hero-contact span { display: grid; font-size: .9rem; font-weight: 800; letter-spacing: .02em; }
.rt-hero-contact small { color: rgba(255,255,255,.55); font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.rt-hero-instrument {
	position: relative;
	padding: 1.45rem;
	border: 1px solid rgba(103,211,255,.32);
	background: rgba(7,19,29,.76);
	box-shadow: 18px 18px 0 rgba(0,119,200,.18), var(--rt-shadow);
	backdrop-filter: blur(14px);
}

.rt-hero-instrument::before, .rt-hero-instrument::after { position: absolute; width: 1.25rem; height: 1.25rem; border-color: var(--rt-cyan); content: ""; }
.rt-hero-instrument::before { top: -1px; left: -1px; border-top: 3px solid; border-left: 3px solid; }
.rt-hero-instrument::after { right: -1px; bottom: -1px; border-right: 3px solid; border-bottom: 3px solid; }
.rt-instrument-label { margin: 0 0 .75rem; color: var(--rt-cyan); font-size: .7rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.rt-hero-instrument > div { display: grid; grid-template-columns: 2.3rem 1fr; column-gap: .8rem; padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.12); }
.rt-hero-instrument > div > span { grid-row: 1/3; color: var(--rt-blue-2); font-family: var(--rt-display); font-size: 1.2rem; font-weight: 900; }
.rt-hero-instrument strong { color: var(--rt-white); font-size: .9rem; }
.rt-hero-instrument small { color: rgba(255,255,255,.58); font-size: .72rem; }
.rt-hero-instrument > a { display: flex; align-items: center; justify-content: space-between; margin-top: .5rem; padding: .85rem 1rem; background: var(--rt-blue); color: var(--rt-white); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.rt-hero-rail {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	border-top: 1px solid rgba(255,255,255,.16);
	background: rgba(7,19,29,.84);
	backdrop-filter: blur(12px);
}

.rt-hero-rail span { padding: 1.1rem .65rem; border-right: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.72); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

/* Shared section */
.rt-section { padding: var(--rt-section) max(4vw, 1.5rem); }
.rt-section-heading { display: grid !important; grid-template-columns: 1.3fr .7fr; align-items: end; column-gap: clamp(2rem, 7vw, 8rem); width: var(--rt-wide); margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.rt-section-heading .rt-section-index { grid-column: 1/-1; }
.rt-section-heading h2, .rt-engineering-copy h2, .rt-faq-intro h2, .rt-final-shell h2 {
	margin: 0;
	font-family: var(--rt-display);
	font-size: clamp(3rem, 5.7vw, 6rem);
	font-weight: 900;
	letter-spacing: -.06em;
	line-height: .9;
	text-transform: uppercase;
}
.rt-section-heading > p:last-child { max-width: 35rem; margin: 0; color: var(--rt-steel); font-size: 1.03rem; }

/* Selector */
.rt-selector { background: var(--rt-paper); }
.rt-path-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); width: var(--rt-wide); border-top: 1px solid var(--rt-line); border-left: 1px solid var(--rt-line); }
.rt-path-card { position: relative; min-height: 28rem; padding: clamp(1.6rem, 3vw, 2.65rem); border-right: 1px solid var(--rt-line); border-bottom: 1px solid var(--rt-line); background: var(--rt-white); color: var(--rt-ink); text-decoration: none; transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.rt-path-card::after { position: absolute; right: 0; bottom: 0; left: 0; height: 5px; background: var(--rt-blue); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.rt-path-card:hover { z-index: 2; background: var(--rt-ink); color: var(--rt-white); transform: translateY(-8px); }
.rt-path-card:hover::after { transform: scaleX(1); }
.rt-path-icon { display: grid; place-items: center; width: 4.2rem; height: 4.2rem; margin-bottom: 4.4rem; background: #e7f6ff; color: var(--rt-blue); }
.rt-path-icon .rt-icon { width: 2.2rem; height: 2.2rem; }
.rt-path-card small { color: var(--rt-blue); font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rt-path-card h3 { margin: .85rem 0 1rem; font-family: var(--rt-display); font-size: clamp(2rem, 2.8vw, 3rem); font-weight: 900; letter-spacing: -.045em; line-height: .94; text-transform: uppercase; }
.rt-path-card p { color: var(--rt-steel); font-size: .9rem; }
.rt-path-card:hover p { color: rgba(255,255,255,.68); }
.rt-path-card strong { display: flex; align-items: center; gap: .65rem; position: absolute; right: 2rem; bottom: 2rem; left: 2rem; color: var(--rt-blue); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }

/* System cards */
.rt-systems { background: var(--rt-ink); color: var(--rt-white); }
.rt-section-heading--light > p:last-child { color: rgba(255,255,255,.58); }
.rt-system-grid { display: grid; grid-template-columns: repeat(3, 1fr); width: var(--rt-wide); }
.rt-system-card { position: relative; min-height: 31rem; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-left: 0; color: var(--rt-white); text-decoration: none; }
.rt-system-card:nth-child(-n+3) { border-bottom: 0; }
.rt-system-card:nth-child(3n+1) { border-left: 1px solid rgba(255,255,255,.12); }
.rt-system-media { position: absolute; inset: 0; }
.rt-system-media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,22,.98) 0%, rgba(4,14,22,.64) 48%, rgba(4,14,22,.08) 100%); content: ""; }
.rt-system-media img { transition: transform .65s ease, filter .65s ease; }
.rt-system-card:hover .rt-system-media img { filter: saturate(1.15); transform: scale(1.045); }
.rt-system-card > span, .rt-system-card > h3, .rt-system-card > p, .rt-system-card > b { position: absolute; z-index: 2; right: clamp(1.4rem, 3vw, 2.4rem); left: clamp(1.4rem, 3vw, 2.4rem); }
.rt-system-card > span { bottom: 10.8rem; color: var(--rt-cyan); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rt-system-card > h3 { bottom: 6.6rem; margin: 0; font-family: var(--rt-display); font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 900; letter-spacing: -.045em; line-height: .94; text-transform: uppercase; }
.rt-system-card > p { bottom: 2rem; max-width: 24rem; margin: 0; color: rgba(255,255,255,.6); font-size: .82rem; }
.rt-system-card > b { top: 1rem; left: auto; color: rgba(255,255,255,.48); font-family: var(--rt-display); font-size: 1.2rem; }

/* Engineering */
.rt-engineering { background: var(--rt-white); }
.rt-engineering-grid { display: grid !important; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; width: var(--rt-wide); }
.rt-engineering-media { position: relative; min-height: 44rem; box-shadow: var(--rt-shadow); }
.rt-engineering-media::after { position: absolute; inset: 1.1rem; border: 1px solid rgba(103,211,255,.55); content: ""; pointer-events: none; }
.rt-media-tag { position: absolute; right: 1.1rem; bottom: 1.1rem; padding: .75rem 1rem; background: var(--rt-ink); color: var(--rt-cyan); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rt-engineering-copy > p:not(.rt-section-index) { color: var(--rt-steel); }
.rt-process-list { margin: 2.5rem 0; padding: 0; list-style: none; border-top: 1px solid var(--rt-line); }
.rt-process-list li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--rt-line); }
.rt-process-list > li > span { color: var(--rt-blue); font-family: var(--rt-display); font-size: 1.35rem; font-weight: 900; }
.rt-process-list div { display: grid; }
.rt-process-list strong { font-size: .9rem; }
.rt-process-list small { color: var(--rt-steel); }

/* Project proof */
.rt-proof { background: var(--rt-cloud); }
.rt-proof-mosaic { display: grid; grid-template-columns: 1.55fr .65fr; gap: 1rem; width: var(--rt-wide); min-height: 44rem; }
.rt-proof-main, .rt-proof-side > div { position: relative; overflow: hidden; background: var(--rt-ink); }
.rt-proof-main::after, .rt-proof-side > div::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,22,.82), transparent 55%); content: ""; }
.rt-proof-main img, .rt-proof-side img { transition: transform .7s ease; }
.rt-proof-main:hover img { transform: scale(1.035); }
.rt-proof-main > span { display: grid; grid-template-columns: 1fr auto; position: absolute; z-index: 2; right: 2rem; bottom: 2rem; left: 2rem; color: var(--rt-white); }
.rt-proof-main > span small { grid-column: 1/-1; color: var(--rt-cyan); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rt-proof-main > span strong { max-width: 18ch; font-family: var(--rt-display); font-size: clamp(2rem, 4vw, 4.2rem); letter-spacing: -.045em; line-height: .94; text-transform: uppercase; }
.rt-proof-main > span .rt-icon { align-self: end; width: 2.5rem; height: 2.5rem; }
.rt-proof-side { display: grid; grid-template-rows: 1fr 1fr; gap: 1rem; }
.rt-proof-side > div > span { position: absolute; z-index: 2; bottom: 1.1rem; left: 1.1rem; color: var(--rt-white); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

/* OIS network */
.rt-network { padding: 0 max(4vw, 1.5rem) var(--rt-section); background: var(--rt-cloud); }
.rt-network-shell { display: grid; grid-template-columns: .8fr 1.2fr; width: var(--rt-wide); min-height: 27rem; background: var(--rt-blue); color: var(--rt-white); box-shadow: var(--rt-shadow); }
.rt-network-art { position: relative; overflow: hidden; }
.rt-network-art::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, var(--rt-blue)); content: ""; }
.rt-network-copy { align-self: center; padding: clamp(2rem, 6vw, 5rem); }
.rt-network-copy > small { color: var(--rt-cyan); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.rt-network-copy h2 { max-width: 19ch; margin: .7rem 0 1rem; font-family: var(--rt-display); font-size: clamp(2.5rem, 4.5vw, 4.6rem); font-weight: 900; letter-spacing: -.055em; line-height: .9; text-transform: uppercase; }
.rt-network-copy > p { max-width: 42rem; color: rgba(255,255,255,.75); }
.rt-network-copy > div { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-top: 1.5rem; }
.rt-network-copy a { display: inline-flex; align-items: center; gap: .6rem; color: var(--rt-white); font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }

/* FAQ */
.rt-faq { background: var(--rt-paper); }
.rt-faq-grid { display: grid !important; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 9rem); width: var(--rt-wide); }
.rt-faq-intro { position: sticky; top: 10rem; align-self: start; }
.rt-faq-intro h2 { font-size: clamp(2.8rem, 4.5vw, 4.8rem); }
.rt-faq-intro > p:not(.rt-section-index) { color: var(--rt-steel); }
.rt-faq-intro a { color: var(--rt-blue); font-size: .75rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.rt-faq-list { border-top: 1px solid var(--rt-line); }
.rt-faq-list details { border-bottom: 1px solid var(--rt-line); }
.rt-faq-list summary { position: relative; padding: 1.6rem 3rem 1.6rem 0; cursor: pointer; font-family: var(--rt-display); font-size: clamp(1.35rem, 2vw, 1.85rem); font-weight: 900; letter-spacing: -.025em; line-height: 1.05; list-style: none; text-transform: uppercase; }
.rt-faq-list summary::-webkit-details-marker { display: none; }
.rt-faq-list summary::after { position: absolute; top: 1.3rem; right: .2rem; color: var(--rt-blue); font-family: var(--rt-body); font-size: 1.8rem; content: "+"; }
.rt-faq-list details[open] summary::after { content: "−"; }
.rt-faq-list details p { max-width: 50rem; margin: 0; padding: 0 3rem 1.7rem 0; color: var(--rt-steel); }

/* Final contact */
.rt-final-cta { position: relative; isolation: isolate; padding: var(--rt-section) max(4vw, 1.5rem); overflow: hidden; background: var(--rt-ink); color: var(--rt-white); }
.rt-final-cta::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(4,14,22,.98), rgba(4,14,22,.82) 58%, rgba(4,14,22,.55)); content: ""; }
.rt-final-media { position: absolute; inset: 0; z-index: -2; opacity: .42; }
.rt-final-shell { display: grid !important; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; width: var(--rt-wide); }
.rt-final-shell h2 { max-width: 12ch; }
.rt-final-shell > div > p:not(.rt-eyebrow) { max-width: 43rem; color: rgba(255,255,255,.7); font-size: 1.05rem; }
.rt-final-shell .wp-block-buttons { margin-top: 2rem; }
.rt-contact-panel { border: 1px solid rgba(103,211,255,.3); background: rgba(7,19,29,.78); backdrop-filter: blur(12px); }
.rt-contact-panel > a, .rt-contact-panel > div { display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border-bottom: 1px solid rgba(255,255,255,.12); color: var(--rt-white); text-decoration: none; }
.rt-contact-panel > :last-child { border-bottom: 0; }
.rt-contact-panel .rt-icon { width: 1.8rem; height: 1.8rem; color: var(--rt-cyan); }
.rt-contact-panel span, .rt-contact-panel > div { display: grid; }
.rt-contact-panel small { color: rgba(255,255,255,.52); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rt-contact-panel strong { font-size: .98rem; }

/* Footer */
.rt-site-footer { padding: clamp(4rem, 7vw, 7rem) max(4vw, 1.5rem) 1.5rem; background: #030b11; color: var(--rt-white); }
.rt-footer-grid { display: grid; grid-template-columns: 1.35fr .85fr .7fr .95fr; gap: clamp(2rem, 5vw, 5rem); width: var(--rt-wide); }
.rt-footer-logo { display: block; width: min(15rem, 100%); padding: .7rem; background: var(--rt-white); }
.rt-footer-logo .rt-media-figure, .rt-footer-logo img { width: 100%; height: auto; }
.rt-footer-brand p { max-width: 28rem; color: rgba(255,255,255,.55); }
.rt-footer-quote { display: inline-flex; align-items: center; gap: .6rem; color: var(--rt-cyan); font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.rt-footer-grid nav, .rt-footer-contact { display: grid; align-content: start; gap: .55rem; }
.rt-footer-grid nav > strong, .rt-footer-contact > strong { margin-bottom: .6rem; color: var(--rt-cyan); font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.rt-footer-grid nav a { color: rgba(255,255,255,.65); font-size: .82rem; text-decoration: none; }
.rt-footer-grid nav a:hover { color: var(--rt-white); }
.rt-footer-contact > a { display: flex; align-items: center; gap: .7rem; color: var(--rt-white); text-decoration: none; }
.rt-footer-contact .rt-icon { color: var(--rt-blue-2); }
.rt-footer-contact span { display: grid; font-size: .82rem; font-weight: 700; }
.rt-footer-contact small { color: rgba(255,255,255,.42); font-size: .6rem; letter-spacing: .09em; text-transform: uppercase; }
.rt-footer-contact p { color: rgba(255,255,255,.48); font-size: .75rem; }
.rt-footer-meta { display: flex; justify-content: space-between; gap: 1rem; width: var(--rt-wide); margin-top: clamp(3rem, 6vw, 5rem); padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.38); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; }

/* Reveal enhancement */
.rt-js :is([data-rt-reveal], .rt-reveal) { opacity: 1; transform: none; }
.rt-js :is([data-rt-reveal], .rt-reveal).is-revealed { opacity: 1; transform: none; }

/* Technical fallbacks */
.rt-mini-blueprint { display: block; width: 100%; height: 100%; min-height: 18rem; background: linear-gradient(rgba(103,211,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(103,211,255,.12) 1px, transparent 1px), var(--rt-navy); background-size: 28px 28px; }

/* Responsive */
@media (max-width: 1100px) {
	.rt-utility-inner > span { display: none; }
	.rt-utility-inner { justify-content: flex-end; }
	.rt-main-nav { display: none; }
	.rt-hero-shell { grid-template-columns: 1fr .72fr; gap: 2.5rem; }
	.rt-path-card { min-height: 31rem; }
	.rt-system-grid { grid-template-columns: repeat(2, 1fr); }
	.rt-system-card:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.12); }
	.rt-system-card:nth-child(3n+1) { border-left: 0; }
	.rt-system-card:nth-child(2n+1) { border-left: 1px solid rgba(255,255,255,.12); }
	.rt-footer-grid { grid-template-columns: 1.35fr .8fr .9fr; }
	.rt-footer-contact { grid-column: 1/-1; grid-template-columns: repeat(3, 1fr); padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.12); }
	.rt-footer-contact > strong { grid-column: 1/-1; }
}

@media (max-width: 782px) {
	body.admin-bar .rt-site-header { top: 46px; }
	.rt-utility-bar { display: none; }
	.rt-primary-header { min-height: 4.35rem; padding-inline: 1rem; }
	.rt-header-logo { width: 10.5rem; }
	.rt-header-actions { gap: .65rem !important; }
	.rt-header-cta .wp-block-button__link { min-height: 2.55rem; padding: .7rem .8rem; font-size: .66rem; }
	.rt-main-nav { display: flex; }
	.rt-main-nav .wp-block-navigation__responsive-container-open { display: flex; }
	.rt-hero { min-height: auto; }
	.rt-hero::before { background: linear-gradient(0deg, rgba(5,15,24,.98) 0%, rgba(5,15,24,.82) 72%, rgba(5,15,24,.58)); }
	.rt-hero-shell { display: block !important; width: 100%; min-height: auto; padding: 7rem 1.25rem 7rem; }
	.rt-hero-copy h1 { max-width: 12ch; font-size: clamp(3.2rem, 15vw, 5.25rem) !important; }
	.rt-hero-instrument { margin-top: 3rem; box-shadow: 9px 9px 0 rgba(0,119,200,.18); }
	.rt-hero-rail { grid-template-columns: repeat(3, 1fr); position: static; }
	.rt-hero-rail span:nth-child(n+4) { display: none; }
	.rt-section-heading, .rt-engineering-grid, .rt-faq-grid, .rt-final-shell { grid-template-columns: 1fr; }
	.rt-section-heading > p:last-child { margin-top: 1.2rem; }
	.rt-path-grid { grid-template-columns: 1fr; }
	.rt-path-card { min-height: 25rem; }
	.rt-path-icon { margin-bottom: 2.5rem; }
	.rt-system-grid { grid-template-columns: 1fr; }
	.rt-system-card, .rt-system-card:nth-child(n) { min-height: 27rem; border: 1px solid rgba(255,255,255,.12); border-bottom: 0; }
	.rt-system-card:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
	.rt-engineering-media { min-height: 28rem; order: 2; }
	.rt-proof-mosaic { grid-template-columns: 1fr; min-height: auto; }
	.rt-proof-main { min-height: 31rem; }
	.rt-proof-side { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.rt-proof-side > div { min-height: 15rem; }
	.rt-network-shell { grid-template-columns: 1fr; }
	.rt-network-art { min-height: 17rem; }
	.rt-network-art::after { background: linear-gradient(0deg, var(--rt-blue), transparent); }
	.rt-faq-intro { position: static; }
	.rt-final-shell { gap: 2.5rem; }
	.rt-footer-grid { grid-template-columns: 1fr 1fr; }
	.rt-footer-brand { grid-column: 1/-1; }
	.rt-footer-contact { grid-template-columns: 1fr; }
	.rt-footer-meta { display: grid; }
}

@media (max-width: 520px) {
	.rt-section { padding-inline: 1rem; }
	.rt-header-cta { display: none; }
	.rt-hero-shell { padding-top: 5.5rem; }
	.rt-hero-actions { display: grid; }
	.rt-hero-actions .wp-block-button, .rt-hero-actions .wp-block-button__link { width: 100%; }
	.rt-hero-contact { display: grid; }
	.rt-section-heading h2, .rt-engineering-copy h2, .rt-faq-intro h2, .rt-final-shell h2 { font-size: clamp(2.6rem, 15vw, 4rem); }
	.rt-proof-main { min-height: 27rem; }
	.rt-proof-main > span { right: 1.2rem; bottom: 1.2rem; left: 1.2rem; }
	.rt-proof-side { grid-template-columns: 1fr; }
	.rt-network { padding-inline: 1rem; }
	.rt-network-copy { padding: 2rem 1.25rem; }
	.rt-footer-grid { grid-template-columns: 1fr; }
	.rt-footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.rt-js :is([data-rt-reveal], .rt-reveal) { opacity: 1; transform: none; }
}

@media print {
	.rt-site-header { position: static; }
	.rt-utility-bar, .rt-header-cta, .rt-hero-instrument, .rt-hero-rail { display: none !important; }
	.rt-hero, .rt-systems, .rt-final-cta, .rt-site-footer { background: #fff !important; color: #000 !important; }
}
