/*
Theme Name: Royal Fleet
Theme URI: https://royalfleet.com/
Author: Royal Fleet LLC
Description: A conversion-focused WordPress theme for Royal Fleet LLC with a full-bleed image opening, shipper content, quote requests, and configurable Samsara Live Sharing.
Version: 1.2.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: royal-fleet
*/

:root {
  --rf-bg: #090b0e;
  --rf-panel: #11151a;
  --rf-panel-2: #171c22;
  --rf-text: #f4f5f7;
  --rf-muted: #aeb5bf;
  --rf-gold: #c99735;
  --rf-gold-light: #e4be6a;
  --rf-red: #a72020;
  --rf-line: rgba(255, 255, 255, 0.1);
  --rf-radius: 22px;
  --rf-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--rf-bg);
  color: var(--rf-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
::selection { background: var(--rf-gold); color: #08090b; }
body.admin-bar { min-height: calc(100vh - 32px); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }

.rf-wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.rf-section { padding: 92px 0; border-top: 1px solid rgba(255, 255, 255, 0.055); }
.rf-eyebrow {
  color: var(--rf-gold-light);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.rf-section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.rf-section-head h2, .rf-contact-copy h2 {
  max-width: 790px;
  margin: 10px 0 0;
  font-size: clamp(2.15rem, 4.5vw, 4.25rem);
  line-height: 1;
  letter-spacing: -0.048em;
}
.rf-section-head p { max-width: 500px; margin: 0; color: var(--rf-muted); }

.rf-image-opening { position: relative; width: 100%; background: #080808; }
.rf-image-opening img { width: 100%; height: auto; object-fit: contain; }
.rf-image-opening::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 11%;
  background: linear-gradient(180deg, transparent, var(--rf-bg));
  content: "";
  pointer-events: none;
}
.rf-skip-link {
  position: absolute;
  z-index: 99;
  top: -100px;
  left: 16px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fff;
  color: #111;
}
.rf-skip-link:focus { top: 16px; }

.rf-quick-actions { position: relative; z-index: 5; margin-top: -24px; }
.rf-quick-actions-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--rf-line);
  border-radius: 18px;
  background: rgba(17, 21, 26, 0.94);
  box-shadow: var(--rf-shadow);
  backdrop-filter: blur(16px);
}
.rf-quick-actions a {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px;
  border-right: 1px solid var(--rf-line);
  font-size: 0.92rem;
  font-weight: 800;
  text-align: center;
  transition: 180ms ease;
}
.rf-quick-actions a:last-child { border-right: 0; }
.rf-quick-actions a:hover, .rf-quick-actions a:focus-visible { background: rgba(201, 151, 53, 0.11); color: var(--rf-gold-light); }
.rf-action-icon { color: var(--rf-gold-light); font-size: 1.1rem; }

.rf-intro { padding-top: 82px; }
.rf-intro-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 44px; align-items: end; }
.rf-intro h1 {
  margin: 14px 0 22px;
  max-width: 900px;
  font-size: clamp(3rem, 6vw, 6.3rem);
  line-height: 0.95;
  letter-spacing: -0.058em;
}
.rf-intro h1 span { color: var(--rf-gold-light); }
.rf-intro-lead { max-width: 710px; color: #c4cad2; font-size: 1.16rem; }
.rf-intro-aside {
  padding: 30px;
  border: 1px solid rgba(228, 190, 106, 0.25);
  border-radius: var(--rf-radius);
  background: linear-gradient(145deg, rgba(201, 151, 53, 0.12), rgba(255, 255, 255, 0.025));
}
.rf-intro-aside strong { display: block; margin-bottom: 8px; font-size: 1.35rem; }
.rf-intro-aside p { margin: 0; color: var(--rf-muted); }
.rf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  gap: 9px;
  padding: 13px 21px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 850;
  cursor: pointer;
  transition: 180ms ease;
}
.rf-btn:hover { transform: translateY(-1px); }
.rf-btn-primary { background: linear-gradient(135deg, var(--rf-gold-light), var(--rf-gold)); color: #101113; }
.rf-btn-outline { border-color: rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.035); color: #fff; }
.rf-btn-outline:hover { border-color: var(--rf-gold); color: var(--rf-gold-light); }
.rf-btn-dark { background: #0a0d10; color: #fff; }
.rf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.rf-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 40px; }
.rf-proof-item { padding: 20px; border-top: 1px solid var(--rf-line); }
.rf-proof-item strong { display: block; font-size: 1.35rem; }
.rf-proof-item span { color: var(--rf-muted); font-size: 0.82rem; }

.rf-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rf-card {
  position: relative;
  min-height: 245px;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius);
  background: linear-gradient(180deg, var(--rf-panel-2), var(--rf-panel));
}
.rf-card::after { position: absolute; right: -48px; bottom: -48px; width: 135px; height: 135px; border-radius: 50%; background: rgba(201, 151, 53, 0.06); content: ""; }
.rf-card-number { color: var(--rf-gold-light); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.16em; }
.rf-card h3 { margin: 43px 0 10px; font-size: 1.4rem; }
.rf-card p { margin: 0; color: var(--rf-muted); }

.rf-gallery { display: grid; grid-template-columns: 1.25fr 0.75fr 0.75fr; gap: 16px; margin-top: 24px; }
.rf-gallery-item { position: relative; min-height: 250px; overflow: hidden; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); background: #111; }
.rf-gallery-item:first-child { min-height: 360px; }
.rf-gallery-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rf-gallery-item::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.8)); content: ""; }
.rf-gallery-caption { position: absolute; z-index: 2; right: 18px; bottom: 17px; left: 18px; font-weight: 850; }
.rf-gallery-caption small { display: block; margin-top: 3px; color: #cad0d7; font-weight: 500; }

.rf-split { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.rf-feature {
  padding: 40px;
  border: 1px solid var(--rf-line);
  border-radius: 24px;
  background: linear-gradient(145deg, #171b20, #0d1013);
}
.rf-feature h3 { margin: 10px 0 14px; font-size: 2rem; letter-spacing: -0.035em; }
.rf-feature > p { color: var(--rf-muted); }
.rf-checks { display: grid; gap: 13px; margin-top: 26px; }
.rf-check { display: flex; gap: 12px; padding-top: 13px; border-top: 1px solid rgba(255, 255, 255, 0.075); }
.rf-check b { color: var(--rf-gold-light); }

.rf-tracking { background: linear-gradient(180deg, #10141a, #090c0f); }
.rf-tracking-shell { overflow: hidden; border: 1px solid var(--rf-line); border-radius: 28px; background: #0d1115; box-shadow: var(--rf-shadow); }
.rf-tracking-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 68px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--rf-line);
  background: #12171c;
}
.rf-tracking-brand { display: flex; align-items: center; gap: 12px; font-weight: 850; }
.rf-live-dot { width: 9px; height: 9px; border-radius: 50%; background: #4fcd81; box-shadow: 0 0 0 6px rgba(79, 205, 129, 0.12); }
.rf-powered { color: var(--rf-muted); font-size: 0.78rem; letter-spacing: 0.06em; }
.rf-powered strong { color: #fff; }
.rf-tracking-frame { width: 100%; min-height: 540px; border: 0; background: #e7eaee; }
.rf-demo-map { position: relative; display: grid; min-height: 540px; grid-template-columns: 1fr 330px; overflow: hidden; background: #dce2e6; color: #151b20; }
.rf-map-canvas { position: relative; min-height: 540px; overflow: hidden; background-color: #eef1f3; background-image: linear-gradient(31deg, transparent 47%, rgba(255,255,255,.95) 48% 52%, transparent 53%), linear-gradient(126deg, transparent 43%, rgba(255,255,255,.9) 44% 48%, transparent 49%), linear-gradient(90deg, rgba(151,163,174,.19) 1px, transparent 1px), linear-gradient(rgba(151,163,174,.19) 1px, transparent 1px); background-size: 280px 220px, 340px 260px, 54px 54px, 54px 54px; }
.rf-route-line { position: absolute; top: 55%; left: 11%; width: 72%; height: 7px; border-radius: 20px; background: linear-gradient(90deg, #394d60 0 25%, #ca9635 25% 100%); transform: rotate(-13deg); box-shadow: 0 1px 0 #fff; }
.rf-route-line::before, .rf-route-line::after { position: absolute; top: 50%; width: 15px; height: 15px; border: 4px solid #fff; border-radius: 50%; background: #263746; content: ""; transform: translateY(-50%); box-shadow: 0 2px 7px rgba(0,0,0,.25); }
.rf-route-line::before { left: -5px; }
.rf-route-line::after { right: -5px; background: var(--rf-gold); }
.rf-truck-marker { position: absolute; z-index: 2; top: 43%; left: 43%; width: 48px; height: 48px; display: grid; place-items: center; border: 4px solid #fff; border-radius: 50%; background: #151c22; color: var(--rf-gold-light); box-shadow: 0 8px 24px rgba(0,0,0,.24); animation: rf-pulse 2.1s infinite; }
@keyframes rf-pulse { 0%, 100% { box-shadow: 0 8px 24px rgba(0,0,0,.24), 0 0 0 0 rgba(201,151,53,.3); } 50% { box-shadow: 0 8px 24px rgba(0,0,0,.24), 0 0 0 16px rgba(201,151,53,0); } }
.rf-map-label { position: absolute; top: calc(43% + 58px); left: calc(43% - 34px); padding: 7px 10px; border-radius: 8px; background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,.14); font-size: 0.75rem; font-weight: 800; }
.rf-track-sidebar { padding: 26px; border-left: 1px solid #d0d5d9; background: #fff; }
.rf-track-sidebar .rf-eyebrow { color: #8b641c; }
.rf-track-sidebar h3 { margin: 8px 0 3px; font-size: 1.45rem; }
.rf-track-muted { margin: 0; color: #66717b; font-size: 0.85rem; }
.rf-track-stat { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e4e7e9; }
.rf-track-stat span { display: block; color: #78838c; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.rf-track-stat strong { display: block; margin-top: 4px; font-size: 1.08rem; }
.rf-track-note { padding: 13px 20px; border-top: 1px solid var(--rf-line); background: #0e1216; color: #919aa3; font-size: 0.76rem; }
.rf-track-note a { color: var(--rf-gold-light); font-weight: 800; }

.rf-coverage { background: linear-gradient(180deg, #0d1116, #090b0e); }
.rf-map { position: relative; display: grid; min-height: 430px; overflow: hidden; place-items: center; border: 1px solid var(--rf-line); border-radius: 28px; background: radial-gradient(circle at 59% 40%, rgba(201,151,53,.19), transparent 12%), linear-gradient(145deg, #151a20, #0e1115); }
.rf-map svg { width: 82%; height: auto; opacity: 0.84; }
.rf-map-copy { position: absolute; right: 30px; bottom: 28px; left: 30px; max-width: 460px; padding: 18px 20px; border: 1px solid var(--rf-line); border-radius: 16px; background: rgba(8,10,12,.8); backdrop-filter: blur(10px); }
.rf-map-copy strong { font-size: 1.35rem; }
.rf-map-copy div { margin-top: 3px; color: var(--rf-muted); font-size: 0.9rem; }

.rf-contact-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 30px; }
.rf-contact-copy { padding: 10px 0; }
.rf-contact-copy p { color: var(--rf-muted); }
.rf-contact-list { display: grid; gap: 10px; margin-top: 28px; }
.rf-contact-list a { font-size: 1.08rem; font-weight: 850; }
.rf-form { padding: 28px; border: 1px solid var(--rf-line); border-radius: 24px; background: linear-gradient(180deg, #15191e, #101317); }
.rf-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rf-form label { display: grid; gap: 7px; margin-bottom: 14px; color: #c3c9d1; font-size: 0.78rem; }
.rf-form input, .rf-form textarea, .rf-form select { width: 100%; padding: 14px 15px; border: 1px solid #303640; border-radius: 12px; outline: none; background: #0c0f12; color: #fff; }
.rf-form input:focus, .rf-form textarea:focus, .rf-form select:focus { border-color: var(--rf-gold); box-shadow: 0 0 0 3px rgba(201,151,53,.12); }
.rf-form textarea { min-height: 125px; resize: vertical; }
.rf-form .rf-btn { width: 100%; }
.rf-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rf-form-note { margin: 11px 0 0; color: #7f8791; font-size: 0.72rem; }
.rf-alert { margin-bottom: 18px; padding: 13px 15px; border-radius: 12px; font-size: 0.88rem; }
.rf-alert-success { border: 1px solid rgba(79,205,129,.35); background: rgba(79,205,129,.1); color: #a8ecc2; }
.rf-alert-error { border: 1px solid rgba(216,88,88,.35); background: rgba(216,88,88,.1); color: #ffb1b1; }

.rf-partners { padding: 34px 0; border-top: 1px solid var(--rf-line); background: #0e1114; }
.rf-partners-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.rf-partners-title { color: var(--rf-muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.rf-partner-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
.rf-partner-badge { padding: 9px 14px; border: 1px solid var(--rf-line); border-radius: 999px; color: #d9dde2; font-size: 0.82rem; font-weight: 800; }

.rf-footer { padding: 42px 0 50px; border-top: 1px solid var(--rf-line); color: #9ba3ad; }
.rf-footer-inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.rf-footer strong { display: block; margin-bottom: 5px; color: #fff; }
.rf-footer-meta { font-size: 0.82rem; text-align: right; }
.rf-footer-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
.rf-footer-links a:hover { color: var(--rf-gold-light); }

.rf-page { min-height: 70vh; padding: 70px 0 100px; }
.rf-page h1 { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1; letter-spacing: -0.05em; }
.rf-page-content { max-width: 820px; color: #d0d5dc; }
.rf-page-content a { color: var(--rf-gold-light); text-decoration: underline; }

/* Modern premium visual system. */
body {
  background:
    radial-gradient(900px 600px at 8% 35%, rgba(201, 151, 53, 0.055), transparent 70%),
    radial-gradient(800px 520px at 95% 72%, rgba(114, 29, 29, 0.045), transparent 72%),
    #080a0d;
  font-feature-settings: "kern" 1, "liga" 1;
}
.rf-wrap { width: min(1240px, calc(100% - 64px)); }
.rf-section { position: relative; padding: 118px 0; border-top-color: rgba(255, 255, 255, 0.065); }
.rf-section::before {
  position: absolute;
  top: -1px;
  left: max(32px, calc((100vw - 1240px) / 2));
  width: 88px;
  height: 1px;
  background: linear-gradient(90deg, var(--rf-gold), transparent);
  content: "";
}
.rf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #d9ae58;
  font-size: 0.72rem;
  letter-spacing: 0.21em;
}
.rf-eyebrow::before { width: 22px; height: 1px; background: currentColor; content: ""; opacity: 0.7; }
.rf-section-head { margin-bottom: 54px; }
.rf-section-head h2, .rf-contact-copy h2 { max-width: 850px; font-weight: 640; letter-spacing: -0.055em; }
.rf-section-head p { max-width: 460px; font-size: 1rem; line-height: 1.75; }

.rf-image-opening { isolation: isolate; overflow: hidden; }
.rf-image-opening::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 1px solid rgba(255,255,255,.04);
  box-shadow: inset 0 -80px 100px rgba(0,0,0,.15);
  content: "";
  pointer-events: none;
}
.rf-image-opening::after { z-index: 3; height: 16%; background: linear-gradient(180deg, transparent, #080a0d); }

.rf-quick-actions { z-index: 8; margin-top: -38px; }
.rf-quick-actions-inner {
  gap: 8px;
  padding: 8px;
  border-color: rgba(255,255,255,.11);
  border-radius: 22px;
  background: rgba(12, 15, 19, 0.86);
  box-shadow: 0 18px 60px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06);
}
.rf-quick-actions a {
  min-height: 62px;
  border: 0;
  border-radius: 15px;
  color: #d6dbe1;
  font-size: 0.82rem;
  letter-spacing: 0.025em;
}
.rf-quick-actions a:hover, .rf-quick-actions a:focus-visible { background: linear-gradient(145deg, rgba(201,151,53,.17), rgba(201,151,53,.055)); box-shadow: inset 0 0 0 1px rgba(228,190,106,.18); }
.rf-action-icon { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid rgba(228,190,106,.22); border-radius: 8px; font-size: .72rem; }

.rf-intro { padding-top: 104px; }
.rf-intro-grid { grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr); gap: 86px; align-items: center; }
.rf-intro h1 { margin-top: 18px; max-width: 960px; font-size: clamp(3.6rem, 7.1vw, 7.3rem); font-weight: 620; line-height: .89; }
.rf-intro-lead { max-width: 740px; color: #b9c0c9; font-size: 1.08rem; line-height: 1.85; }
.rf-actions { margin-top: 32px; }
.rf-btn { min-height: 52px; padding: 13px 23px; border-radius: 13px; font-size: .82rem; letter-spacing: .015em; }
.rf-btn-primary { background: linear-gradient(135deg, #e5c16f, #b97f26); box-shadow: 0 10px 30px rgba(201,151,53,.15), inset 0 1px 0 rgba(255,255,255,.35); }
.rf-btn-outline { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.025); }
.rf-btn-dark { border: 1px solid rgba(255,255,255,.1); background: #090c0f; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.rf-intro-aside {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border-color: rgba(255,255,255,.11);
  border-radius: 24px;
  background: linear-gradient(155deg, rgba(27,32,38,.96), rgba(11,14,17,.98));
  box-shadow: 0 35px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
}
.rf-intro-aside::after { position: absolute; top: -100px; right: -100px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(201,151,53,.16), transparent 70%); content: ""; pointer-events: none; }
.rf-intro-aside strong { position: relative; z-index: 1; max-width: 340px; margin: 28px 0 10px; font-size: 1.55rem; line-height: 1.18; letter-spacing: -.025em; }
.rf-intro-aside p { position: relative; z-index: 1; line-height: 1.72; }
.rf-ops-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: #8f99a4; font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rf-ops-live { display: inline-flex; align-items: center; gap: 7px; color: #8bdca8; }
.rf-ops-live i { width: 7px; height: 7px; border-radius: 50%; background: #55d588; box-shadow: 0 0 0 5px rgba(85,213,136,.1); }
.rf-ops-metrics { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.rf-ops-metrics div { padding: 15px; border: 1px solid rgba(255,255,255,.075); border-radius: 14px; background: rgba(255,255,255,.022); }
.rf-ops-metrics span { display: block; color: #77828d; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.rf-ops-metrics b { display: block; margin-top: 4px; color: #edf0f3; font-size: .9rem; }
.rf-ops-card .rf-actions { position: relative; z-index: 1; margin-top: 16px; }

.rf-proof { gap: 0; margin-top: 72px; border-top: 1px solid var(--rf-line); border-bottom: 1px solid var(--rf-line); }
.rf-proof-item { position: relative; padding: 26px 28px; border-top: 0; border-right: 1px solid var(--rf-line); }
.rf-proof-item:last-child { border-right: 0; }
.rf-proof-item strong { font-size: 1.48rem; font-weight: 650; letter-spacing: -.025em; }

.rf-cards { grid-template-columns: repeat(12, 1fr); gap: 14px; }
.rf-card {
  grid-column: span 3;
  min-height: 280px;
  padding: 30px;
  border-color: rgba(255,255,255,.085);
  border-radius: 22px;
  background: linear-gradient(155deg, rgba(25,30,36,.92), rgba(13,16,20,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.rf-card:nth-child(1), .rf-card:nth-child(6) { grid-column: span 6; }
.rf-card:nth-child(1) { background: radial-gradient(460px 250px at 100% 0, rgba(201,151,53,.16), transparent 70%), linear-gradient(155deg, #1b2026, #0d1014); }
.rf-card:nth-child(6) { background: radial-gradient(400px 260px at 96% 15%, rgba(85,213,136,.1), transparent 72%), linear-gradient(155deg, #181e23, #0d1014); }
.rf-card:hover { z-index: 2; border-color: rgba(228,190,106,.24); box-shadow: 0 26px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.05); transform: translateY(-4px); }
.rf-card::after { right: -75px; bottom: -75px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(201,151,53,.12), transparent 70%); }
.rf-card-number { color: #c99d4b; font-size: .68rem; }
.rf-card h3 { margin: 62px 0 10px; font-size: 1.42rem; font-weight: 630; letter-spacing: -.02em; }
.rf-card p { max-width: 420px; line-height: 1.72; }

.rf-gallery { grid-template-columns: 1.35fr .825fr .825fr; gap: 14px; }
.rf-gallery-item { min-height: 340px; border-color: rgba(255,255,255,.09); border-radius: 22px; box-shadow: 0 25px 55px rgba(0,0,0,.2); }
.rf-gallery-item:first-child { min-height: 430px; }
.rf-gallery-item img { filter: saturate(.78) contrast(1.07); transition: transform 650ms cubic-bezier(.2,.75,.2,1), filter 300ms ease; }
.rf-gallery-item:hover img { filter: saturate(1) contrast(1.04); transform: scale(1.035); }
.rf-gallery-item::after { background: linear-gradient(180deg, transparent 35%, rgba(5,7,9,.9)); }
.rf-gallery-caption { bottom: 22px; left: 23px; font-size: .95rem; }

.rf-split { gap: 14px; }
.rf-feature {
  position: relative;
  overflow: hidden;
  min-height: 470px;
  padding: 44px;
  border-color: rgba(255,255,255,.085);
  border-radius: 24px;
  background: radial-gradient(420px 300px at 100% 0, rgba(201,151,53,.07), transparent 72%), linear-gradient(155deg, #171c22, #0c0f13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.rf-feature h3 { max-width: 450px; margin-top: 24px; font-size: 2.35rem; font-weight: 630; line-height: 1.04; letter-spacing: -.045em; }
.rf-feature > p { max-width: 510px; line-height: 1.76; }
.rf-check { align-items: center; min-height: 48px; padding: 13px 0 0; }
.rf-check b { min-width: 46px; font-size: .7rem; letter-spacing: .05em; }

.rf-tracking { overflow: hidden; background: radial-gradient(780px 540px at 82% 42%, rgba(201,151,53,.07), transparent 70%), linear-gradient(180deg,#0d1115,#080a0d); }
.rf-tracking-shell { border-color: rgba(255,255,255,.12); border-radius: 26px; box-shadow: 0 45px 100px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04); }
.rf-tracking-top { min-height: 76px; padding-inline: 26px; background: rgba(17,22,27,.96); }
.rf-tracking-brand { font-size: .9rem; }
.rf-live-dot { width: 8px; height: 8px; }
.rf-demo-map { grid-template-columns: 1fr 360px; }
.rf-map-canvas { background-color: #e8ecef; filter: saturate(.72); }
.rf-track-sidebar { padding: 32px; }
.rf-track-stat { margin-top: 19px; padding-top: 16px; }

.rf-coverage { background: transparent; }
.rf-map { min-height: 500px; border-color: rgba(255,255,255,.09); background: radial-gradient(circle at 59% 40%,rgba(201,154,58,.16),transparent 11%), linear-gradient(145deg,#14191e,#0b0e12); box-shadow: 0 35px 80px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.035); }
.rf-map-copy { border-color: rgba(255,255,255,.1); background: rgba(9,11,14,.82); box-shadow: 0 18px 45px rgba(0,0,0,.28); }

.rf-contact-grid { grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }
.rf-contact-copy { position: sticky; top: 36px; }
.rf-contact-copy > p { max-width: 430px; line-height: 1.78; }
.rf-contact-list { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--rf-line); }
.rf-form { padding: 38px; border-color: rgba(255,255,255,.1); border-radius: 24px; background: linear-gradient(155deg, rgba(24,29,35,.94), rgba(12,15,18,.98)); box-shadow: 0 35px 80px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04); }
.rf-form input, .rf-form textarea, .rf-form select { padding: 15px 16px; border-color: rgba(255,255,255,.1); border-radius: 11px; background: rgba(5,7,9,.55); }
.rf-form label { color: #aeb6bf; font-size: .72rem; letter-spacing: .03em; }
.rf-form textarea { min-height: 150px; }

.rf-partners { padding: 28px 0; border-top-color: rgba(255,255,255,.065); background: rgba(13,16,20,.8); }
.rf-partner-badge { padding: 10px 16px; border-color: rgba(255,255,255,.09); background: rgba(255,255,255,.018); }
.rf-footer { padding: 50px 0 58px; background: #07090b; }

.rf-js .rf-reveal { opacity: 0; transform: translateY(22px); transition: opacity 650ms ease var(--rf-delay, 0ms), transform 650ms cubic-bezier(.2,.75,.2,1) var(--rf-delay, 0ms); }
.rf-js .rf-reveal.rf-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 960px) {
  .rf-intro-grid, .rf-split, .rf-contact-grid { grid-template-columns: 1fr; }
  .rf-cards { grid-template-columns: 1fr 1fr; }
  .rf-card, .rf-card:nth-child(1), .rf-card:nth-child(6) { grid-column: auto; }
  .rf-gallery { grid-template-columns: 1fr 1fr; }
  .rf-gallery-item:first-child { grid-column: 1 / -1; }
  .rf-section-head { align-items: start; flex-direction: column; }
  .rf-demo-map { grid-template-columns: 1fr; }
  .rf-track-sidebar { border-top: 1px solid #d0d5d9; border-left: 0; }
  .rf-intro-grid { gap: 42px; }
  .rf-contact-copy { position: static; }
  .rf-feature { min-height: auto; }
}

@media (max-width: 700px) {
  .rf-wrap { width: min(100% - 26px, 1180px); }
  .rf-section { padding: 68px 0; }
  .rf-section::before { left: 13px; }
  .rf-image-opening::after { height: 7%; }
  .rf-quick-actions { margin-top: -7px; }
  .rf-quick-actions-inner { grid-template-columns: 1fr 1fr; gap: 5px; padding: 5px; border-radius: 16px; }
  .rf-quick-actions a { min-height: 58px; border: 0; font-size: 0.76rem; }
  .rf-intro { padding-top: 58px; }
  .rf-intro h1 { font-size: clamp(3.15rem, 17vw, 5.5rem); }
  .rf-proof { grid-template-columns: 1fr; }
  .rf-proof-item { border-right: 0; border-bottom: 1px solid var(--rf-line); }
  .rf-proof-item:last-child { border-bottom: 0; }
  .rf-cards, .rf-gallery, .rf-form-row { grid-template-columns: 1fr; }
  .rf-gallery-item:first-child { grid-column: auto; min-height: 260px; }
  .rf-feature { padding: 28px; }
  .rf-feature h3 { font-size: 2rem; }
  .rf-form { padding: 24px; }
  .rf-tracking-top { align-items: flex-start; flex-direction: column; }
  .rf-map-canvas { min-height: 390px; }
  .rf-demo-map, .rf-tracking-frame { min-height: 390px; }
  .rf-map { min-height: 350px; }
  .rf-map-copy { right: 16px; bottom: 16px; left: 16px; }
  .rf-partners-inner, .rf-footer-inner { align-items: flex-start; flex-direction: column; }
  .rf-partner-list { justify-content: flex-start; }
  .rf-footer-meta { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
