:root {
    --ink: #05030c;
    --ink-soft: #0d0718;
    --panel: rgba(14, 8, 27, .80);
    --line: rgba(188, 160, 255, .22);
    --text: #f2f8fa;
    --muted: #aaa0bd;
    --water: #22d3ee;
    --water-deep: #7c3aed;
    --silver: #e7e1f2;
    --danger: #e44151;
    --font-display: "Barlow Condensed", sans-serif;
    --font-body: "Inter", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--text); background: var(--ink); font-family: var(--font-body); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

.boot-screen {
    position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: #020609;
    transition: opacity .7s ease, visibility .7s ease;
}
body.is-loaded .boot-screen { opacity: 0; visibility: hidden; }
.boot-screen__mark { width: min(300px, 65vw); text-align: center; }
.boot-screen__mark img { width: 150px; filter: drop-shadow(0 0 30px rgba(34,211,238,.22)); }
.boot-screen__mark span { display: block; margin-top: 18px; font: 600 12px/1 var(--font-body); letter-spacing: .24em; color: #a7bbc4; }
.boot-screen__bar { width: min(340px, 72vw); height: 2px; position: absolute; bottom: 18vh; background: rgba(255,255,255,.12); overflow: hidden; }
.boot-screen__bar span { display: block; width: 45%; height: 100%; background: var(--water); animation: bootline 1.25s ease-in-out infinite; box-shadow: 0 0 18px var(--water); }
@keyframes bootline { from { transform: translateX(-120%); } to { transform: translateX(330%); } }

.cinematic-backdrop { position: fixed; inset: 0; z-index: -5; overflow: hidden; background: #02090f; }
.cinematic-backdrop video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.2) brightness(.55); transform: scale(1.03); }
.video-shade { position: absolute; inset: 0; background: radial-gradient(circle at 68% 38%, rgba(4,21,31,.08), rgba(1,5,8,.72) 62%, rgba(0,3,5,.96)), linear-gradient(90deg, rgba(1,5,8,.93) 0%, rgba(1,7,11,.55) 48%, rgba(1,5,8,.75) 100%); }
.water-reflection { position: absolute; left: 0; right: 0; bottom: -20%; height: 48%; opacity: .45; filter: blur(2px); background: repeating-radial-gradient(ellipse at center, transparent 0 12px, rgba(34,211,238,.18) 13px 14px, transparent 15px 28px); transform: perspective(450px) rotateX(68deg) scaleX(1.25); animation: waterflow 11s linear infinite; }
@keyframes waterflow { to { background-position: 0 120px; } }
.topographic-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(153,225,237,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(153,225,237,.16) 1px, transparent 1px); background-size: 90px 90px; mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 75%, transparent); }
.film-grain { position: absolute; inset: -50%; opacity: .06; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); animation: grain .22s steps(2) infinite; }
@keyframes grain { 0% { transform: translate(0,0); } 25% { transform: translate(3%,-2%); } 50% { transform: translate(-2%,4%); } 75% { transform: translate(4%,2%); } 100% { transform: translate(-3%,-4%); } }

.launch-header { min-height: 96px; padding: 18px clamp(22px, 4vw, 72px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, rgba(2,7,11,.82), rgba(2,7,11,.08)); }
.brand-lockup { display: inline-flex; align-items: center; gap: 12px; width: max-content; }
.brand-lockup img { width: 62px; height: 62px; object-fit: contain; filter: drop-shadow(0 0 16px rgba(34,211,238,.16)); }
.brand-lockup div { display: grid; }
.brand-lockup strong { font: 800 27px/.82 var(--font-display); letter-spacing: .045em; }
.brand-lockup span { font: 600 9px/1 var(--font-body); letter-spacing: .24em; color: var(--water); margin-top: 8px; }
.header-status { display: grid; grid-template-columns: auto auto; gap: 2px 10px; align-items: center; text-align: left; }
.header-status span:not(.status-pulse) { font: 600 9px/1 var(--font-body); letter-spacing: .18em; color: var(--muted); }
.header-status strong { grid-column: 2; font: 700 13px/1 var(--font-display); letter-spacing: .1em; color: var(--water); }
.status-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--water); grid-row: 1 / span 2; box-shadow: 0 0 0 0 rgba(34,211,238,.55); animation: pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 12px rgba(34,211,238,0); } }
.sound-control { justify-self: end; display: flex; align-items: center; gap: 12px; color: var(--silver); background: rgba(7,18,26,.55); border: 1px solid var(--line); padding: 11px 14px; cursor: pointer; font: 600 9px/1 var(--font-body); letter-spacing: .16em; }
.sound-bars { display: flex; align-items: center; gap: 2px; height: 12px; }
.sound-bars i { width: 2px; height: 4px; background: var(--water); }
.sound-bars i:nth-child(2) { height: 9px; }.sound-bars i:nth-child(3) { height: 12px; }.sound-bars i:nth-child(4) { height: 7px; }
.sound-control[aria-pressed="true"] .sound-bars i { animation: bars .7s ease-in-out infinite alternate; }
.sound-control[aria-pressed="true"] .sound-bars i:nth-child(2) { animation-delay: -.2s; }.sound-control[aria-pressed="true"] .sound-bars i:nth-child(3) { animation-delay: -.4s; }
@keyframes bars { to { height: 3px; } }

.launch-shell { min-height: calc(100vh - 96px); padding: clamp(42px, 7vh, 86px) clamp(22px, 4vw, 72px) 70px; display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: clamp(38px, 6vw, 110px); align-items: end; }
.launch-hero { max-width: 900px; position: relative; }
.mission-kicker { display: flex; align-items: center; gap: 18px; margin-bottom: 14px; color: #a7bbc4; font: 600 10px/1 var(--font-body); letter-spacing: .2em; }
.mission-kicker:before { content:""; width: 56px; height: 1px; background: var(--water); box-shadow: 0 0 10px var(--water); }
.mission-kicker b { color: var(--water); font-weight: 600; }
.hero-emblem { position: absolute; width: clamp(180px, 22vw, 330px); right: -8%; top: -4%; opacity: .2; filter: grayscale(1) drop-shadow(0 0 34px rgba(34,211,238,.2)); transform: rotate(4deg); pointer-events: none; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { margin: 36px 0 8px; color: var(--water); font: 700 13px/1 var(--font-display); letter-spacing: .28em; }
.hero-copy h1 { margin: 0; font: 800 clamp(66px, 9.1vw, 146px)/.77 var(--font-display); letter-spacing: -.035em; text-transform: uppercase; text-shadow: 0 16px 42px rgba(0,0,0,.35); }
.hero-copy h1 span { color: transparent; -webkit-text-stroke: 1.5px rgba(220,239,243,.78); }
.lead { max-width: 690px; margin: 30px 0 0; color: #c0cdd2; font-size: clamp(14px, 1.25vw, 18px); line-height: 1.8; }
.launch-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 24px; border: 1px solid var(--line); color: var(--text); background: rgba(4,12,18,.62); font: 700 12px/1 var(--font-body); letter-spacing: .14em; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); border-color: rgba(34,211,238,.68); }
.button--primary { color: #001015; background: var(--water); border-color: var(--water); box-shadow: 0 12px 34px rgba(34,211,238,.14); }
.button--primary:hover { background: #73efff; }
.button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.is-placeholder { pointer-events: none; opacity: .72; }
.countdown-panel { max-width: 670px; margin-top: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(3,10,15,.45); backdrop-filter: blur(8px); }
.countdown-heading { min-height: 38px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font: 600 9px/1 var(--font-body); letter-spacing: .18em; color: var(--muted); }
.countdown-heading strong { color: var(--water); }
.countdown-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.countdown-grid div { padding: 15px; border-right: 1px solid var(--line); }
.countdown-grid div:last-child { border-right: 0; }
.countdown-grid strong { display: block; font: 700 clamp(30px,4vw,48px)/1 var(--font-display); }
.countdown-grid span { display: block; margin-top: 7px; color: var(--muted); font: 600 8px/1 var(--font-body); letter-spacing: .2em; }
.launch-telemetry { align-self: end; background: linear-gradient(145deg, rgba(4,15,22,.82), rgba(3,9,13,.55)); border: 1px solid var(--line); backdrop-filter: blur(15px); }
.telemetry-top { min-height: 54px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font: 600 9px/1 var(--font-body); letter-spacing: .16em; color: var(--muted); }
.telemetry-top b { color: var(--water); font: 800 25px/1 var(--font-display); }
.progress-track { height: 3px; background: rgba(255,255,255,.08); }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg,var(--water-deep),var(--water)); box-shadow: 0 0 20px var(--water); }
.telemetry-list { padding: 10px 16px 16px; }
.telemetry-list div { display: flex; justify-content: space-between; gap: 10px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.telemetry-list div:last-child { border-bottom: 0; }
.telemetry-list span, .telemetry-list strong { font: 600 9px/1 var(--font-body); letter-spacing: .12em; }
.telemetry-list span { color: #b8c7cd; }.telemetry-list strong { color: var(--water); font-size: 8px; }

.intel-section { padding: 120px clamp(22px, 5vw, 86px); background: #040b10; border-top: 1px solid var(--line); position: relative; overflow: hidden; }
.intel-section:before { content:"RIDGEWATER"; position:absolute; top:20px; right:-25px; font:800 clamp(110px,18vw,290px)/1 var(--font-display); letter-spacing:-.06em; color:rgba(255,255,255,.018); pointer-events:none; }
.section-heading { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr); gap: 60px; align-items: end; margin-bottom: 44px; position: relative; z-index: 1; }
.section-heading span { color: var(--water); font: 700 10px/1 var(--font-body); letter-spacing: .23em; }
.section-heading h2 { margin: 12px 0 0; font: 800 clamp(46px,6vw,88px)/.88 var(--font-display); letter-spacing: -.025em; }
.section-heading p { margin:0; color:var(--muted); line-height:1.8; font-size:14px; }
.intel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; position:relative; z-index:1; }
.intel-card { min-height: 440px; position: relative; overflow: hidden; padding: 28px; display:flex; flex-direction:column; justify-content:space-between; background-image:linear-gradient(180deg,rgba(3,8,12,.12),rgba(3,8,12,.92)), var(--card-image); background-size:cover; background-position:center; border:1px solid var(--line); transition:transform .35s ease,border-color .35s ease; }
.intel-card:hover { transform:translateY(-5px); border-color:rgba(34,211,238,.5); }
.intel-card--wide { grid-column:1 / -1; min-height:520px; }
.intel-card__index { width:max-content; padding:8px 10px; background:rgba(2,8,12,.75); border:1px solid var(--line); font:700 11px/1 var(--font-body); letter-spacing:.14em; color:var(--water); }
.intel-card__content { max-width:650px; }
.intel-card__content span { font:700 10px/1 var(--font-body); letter-spacing:.22em; color:var(--water); }
.intel-card__content h3 { margin:10px 0 12px; font:800 clamp(36px,5vw,68px)/.88 var(--font-display); }
.intel-card:not(.intel-card--wide) .intel-card__content h3 { font-size:clamp(34px,4vw,52px); }
.intel-card__content p { max-width:590px; margin:0; color:#c1cdd2; line-height:1.7; font-size:13px; }
.notify-section { padding:75px clamp(22px,6vw,110px); position:relative; overflow:hidden; display:grid; grid-template-columns:1fr minmax(320px,620px); gap:50px 70px; align-items:end; background:linear-gradient(105deg,#26134f,#5b21b6 72%,#22d3ee); }
.notify-map { position:absolute; inset:-30%; opacity:.16; background:repeating-radial-gradient(ellipse at center,transparent 0 28px,rgba(255,255,255,.3) 29px 30px,transparent 31px 56px); transform:rotate(-8deg); }
.notify-copy,.notify-form,.form-message { position:relative; z-index:1; }
.notify-copy span { font:700 10px/1 var(--font-body); letter-spacing:.22em; }
.notify-copy h2 { margin:12px 0 8px; font:800 clamp(42px,5vw,72px)/.9 var(--font-display); }
.notify-copy p { margin:0; color:rgba(255,255,255,.75); font-size:13px; line-height:1.7; }
.notify-form { display:grid; grid-template-columns:1fr auto; border:1px solid rgba(255,255,255,.35); background:rgba(2,20,27,.28); }
.notify-form input { min-width:0; padding:0 20px; height:58px; color:#fff; border:0; outline:0; background:transparent; font:600 11px/1 var(--font-body); letter-spacing:.14em; }
.notify-form input::placeholder { color:rgba(255,255,255,.64); }
.notify-form button { border:0; padding:0 25px; background:#eafcff; color:#04323c; font:800 11px/1 var(--font-body); letter-spacing:.15em; cursor:pointer; }
.form-message { grid-column:1 / -1; margin:0; padding:12px 16px; font-size:12px; background:rgba(1,12,17,.52); }
.form-message--error { color:#ffd4d8; }.form-message--success { color:#e1fcff; }
.launch-footer { padding:48px clamp(22px,5vw,86px) 28px; background:#02070a; border-top:1px solid var(--line); display:grid; grid-template-columns:1.5fr 1fr auto; gap:30px; align-items:center; }
.launch-footer > div:first-child { display:flex; align-items:center; gap:18px; }
.launch-footer img { width:60px; opacity:.75; }
.launch-footer p { max-width:480px; margin:0; color:#738790; font-size:10px; line-height:1.6; }
.footer-coordinates { display:grid; gap:7px; }
.footer-coordinates span { color:#6f848d; font:600 8px/1 var(--font-body); letter-spacing:.18em; }.footer-coordinates strong { font:600 12px/1 var(--font-display); letter-spacing:.1em; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; justify-content:flex-end; }
.footer-links a { color:#9fb1b8; font:700 9px/1 var(--font-body); letter-spacing:.14em; }
.launch-footer small { grid-column:1 / -1; padding-top:24px; border-top:1px solid rgba(255,255,255,.06); color:#55666d; font:600 8px/1 var(--font-body); letter-spacing:.16em; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .8s ease,transform .8s ease; }
body.is-loaded .reveal { opacity:1; transform:none; }.reveal:nth-child(2){transition-delay:.1s}.reveal:nth-child(3){transition-delay:.2s}.reveal:nth-child(4){transition-delay:.3s}

/* Developer home preview */
.preview-ribbon { position:fixed; z-index:50; left:50%; top:0; transform:translateX(-50%); background:var(--water); color:#021016; padding:7px 18px; font:800 8px/1 var(--font-body); letter-spacing:.18em; clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 100%,0 100%); }
.main-nav { position:fixed; z-index:40; top:0; left:0; right:0; min-height:92px; padding:18px clamp(20px,4vw,68px); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:40px; border-bottom:1px solid rgba(255,255,255,.12); background:linear-gradient(180deg,rgba(2,7,10,.94),rgba(2,7,10,.52)); backdrop-filter:blur(14px); transition:min-height .25s ease,background .25s ease; }
.main-nav.is-scrolled { min-height:72px; background:rgba(2,7,10,.94); }
.main-nav nav { justify-self:center; display:flex; gap:clamp(20px,3vw,48px); }
.main-nav nav a { font:700 10px/1 var(--font-body); letter-spacing:.16em; color:#c5d1d6; }
.nav-cta { padding:14px 18px; border:1px solid var(--water); color:var(--water); font:800 9px/1 var(--font-body); letter-spacing:.15em; }
.home-hero { height:100vh; min-height:760px; position:relative; overflow:hidden; display:flex; align-items:center; padding:120px clamp(24px,7vw,130px) 110px; }
.home-hero video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.75) brightness(.62) contrast(1.18); }
.home-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,6,10,.96) 0%,rgba(2,8,12,.7) 48%,rgba(2,7,10,.28)),linear-gradient(0deg,rgba(2,7,10,.88),transparent 45%); }
.home-hero__content { position:relative; z-index:2; width:min(880px,74vw); }
.home-hero__signal { display:flex; align-items:center; gap:10px; margin-bottom:28px; color:#b8c9cf; font:700 9px/1 var(--font-body); letter-spacing:.22em; }
.home-hero__signal span { width:7px;height:7px;border-radius:50%;background:var(--water);box-shadow:0 0 0 7px rgba(34,211,238,.1),0 0 20px var(--water); }
.home-hero h1 { margin:0; font:800 clamp(76px,10vw,165px)/.75 var(--font-display); letter-spacing:-.045em; }
.home-hero h1 em,.world-copy h2 em,.media-copy h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1.5px rgba(222,242,245,.75); }
.home-hero__content > p { max-width:690px; margin:35px 0 0; color:#c2d0d5; font-size:clamp(14px,1.2vw,18px); line-height:1.8; }
.home-hero__actions { display:flex; gap:12px; margin-top:30px; }
.hero-readout { position:absolute; z-index:2; left:clamp(24px,7vw,130px); right:clamp(24px,7vw,130px); bottom:32px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.19); }
.hero-readout div { padding:18px 20px 0 0; display:grid; gap:7px; }
.hero-readout span { color:#7f969f; font:700 8px/1 var(--font-body); letter-spacing:.2em; }.hero-readout strong { font:700 14px/1 var(--font-display); letter-spacing:.08em; }
.world-section { min-height:820px; padding:120px clamp(24px,6vw,105px); display:grid; grid-template-columns:60px minmax(320px,.85fr) minmax(390px,1.15fr); gap:50px; align-items:center; background:#f5f1ff; color:#071016; }
.vertical-label { writing-mode:vertical-rl; transform:rotate(180deg); color:#6c8087; font:700 9px/1 var(--font-body); letter-spacing:.28em; }
.section-code { color:#7c3aed; font:800 10px/1 var(--font-body); letter-spacing:.22em; }
.world-copy h2,.media-copy h2 { margin:18px 0 24px; font:800 clamp(54px,6.2vw,92px)/.83 var(--font-display); letter-spacing:-.035em; }
.world-copy h2 em { -webkit-text-stroke:1.5px rgba(7,16,22,.55); }
.world-copy > p { max-width:570px; color:#53666d; font-size:14px; line-height:1.85; }
.world-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:44px; border-top:1px solid #c4d2d6; }
.world-stat-grid div { padding:22px 14px 0 0; }
.world-stat-grid strong { display:block; font:800 38px/1 var(--font-display); color:#7c3aed; }.world-stat-grid span { display:block; margin-top:8px; color:#667a82; font:700 8px/1.4 var(--font-body); letter-spacing:.14em; }
.world-image { height:620px; position:relative; background-size:cover; background-position:center; clip-path:polygon(9% 0,100% 0,100% 91%,91% 100%,0 100%,0 9%); box-shadow:0 32px 70px rgba(2,17,24,.18); }
.world-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(2,10,14,.7)); }
.world-image span { position:absolute; z-index:1; left:28px; bottom:26px; font:700 9px/1 var(--font-body); letter-spacing:.2em; }
.paths-section { padding:120px clamp(24px,5vw,90px); background:#050c11; }
.section-heading--light { color:#fff; }
.path-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.path-cards article { min-height:580px; position:relative; overflow:hidden; padding:32px; display:flex; flex-direction:column; justify-content:flex-end; background-image:linear-gradient(180deg,rgba(2,8,12,.08),rgba(2,8,12,.96)),var(--path-image); background-size:cover; background-position:center; border:1px solid var(--line); }
.path-cards article:before { content:""; position:absolute; inset:0; border:1px solid transparent; transition:inset .3s ease,border-color .3s ease; }
.path-cards article:hover:before { inset:10px; border-color:rgba(34,211,238,.58); }
.path-cards span { position:relative; color:var(--water); font:700 9px/1 var(--font-body); letter-spacing:.22em; }
.path-cards h3 { position:relative; margin:12px 0 10px; font:800 clamp(42px,4vw,62px)/.86 var(--font-display); }
.path-cards p { position:relative; margin:0; color:#a8b9c0; font-size:12px; line-height:1.7; }
.media-section { padding:120px clamp(24px,6vw,105px); display:grid; grid-template-columns:minmax(290px,.65fr) minmax(0,1.35fr); gap:70px; align-items:center; background:#160b2d; }
.media-copy p { color:#a9c1c8; line-height:1.8; }
.text-link { display:inline-block; margin-top:24px; color:var(--water); font:800 10px/1 var(--font-body); letter-spacing:.18em; }
.media-mosaic { height:680px; display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:1fr 1fr; gap:12px; }
.media-tile { position:relative; background-size:cover; background-position:center; overflow:hidden; }
.media-tile:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(2,8,12,.65)); }
.media-tile--tall { grid-row:1 / -1; }
.media-tile span { position:absolute; z-index:1; left:20px; bottom:18px; font:800 9px/1 var(--font-body); letter-spacing:.18em; }
.community-section { padding:90px clamp(24px,7vw,130px); display:grid; grid-template-columns:170px 1fr auto; align-items:center; gap:50px; background:#f2edff; color:#071016; }
.community-section img { filter:drop-shadow(0 20px 35px rgba(3,25,34,.18)); }
.community-section span { color:#7c3aed; font:800 9px/1 var(--font-body); letter-spacing:.2em; }
.community-section h2 { margin:10px 0 8px; font:800 clamp(44px,5vw,76px)/.88 var(--font-display); }.community-section p { max-width:680px; margin:0; color:#60747b; line-height:1.75; font-size:13px; }
.main-footer { padding:36px clamp(24px,5vw,90px); display:grid; grid-template-columns:auto 1fr auto; gap:40px; align-items:center; border-top:1px solid var(--line); background:#02070a; }
.main-footer p { justify-self:center; color:#64777f; font-size:9px; }.main-footer > span { color:#64777f; font:700 8px/1 var(--font-body); letter-spacing:.16em; }

@media (max-width: 980px) {
    .launch-header { grid-template-columns:1fr auto; }.header-status { display:none; }
    .launch-shell { grid-template-columns:1fr; }.launch-telemetry { max-width:560px; width:100%; }
    .hero-emblem { right:-16%; top:5%; }
    .section-heading,.notify-section,.media-section { grid-template-columns:1fr; }
    .launch-footer { grid-template-columns:1fr 1fr; }.footer-links { justify-content:flex-start; }.launch-footer small { grid-column:1/-1; }
    .main-nav nav { display:none; }
    .world-section { grid-template-columns:36px 1fr; }.world-image { grid-column:2; height:520px; }
    .path-cards { grid-template-columns:1fr; }.path-cards article { min-height:460px; }
    .community-section { grid-template-columns:120px 1fr; }.community-section .button { grid-column:2; justify-self:start; }
}
@media (max-width: 680px) {
    .launch-header { min-height:76px; padding:10px 16px; }.brand-lockup img { width:50px;height:50px; }.brand-lockup strong { font-size:22px; }.sound-control span:last-child { display:none; }
    .launch-shell { min-height:calc(100vh - 76px); padding:38px 18px 52px; }.hero-emblem { width:180px; right:-55px; top:35px; }.mission-kicker { font-size:8px; letter-spacing:.13em; }.mission-kicker:before { width:28px; }
    .hero-copy h1 { font-size:clamp(58px,19vw,88px); }.lead { font-size:13px; line-height:1.65; }
    .launch-actions { display:grid; }.button { width:100%; }
    .countdown-grid strong { font-size:30px; }.countdown-grid div { padding:13px 8px; }.countdown-heading { padding:0 9px; }.countdown-heading strong { display:none; }
    .intel-section { padding:80px 18px; }.section-heading { gap:22px; }.intel-grid { grid-template-columns:1fr; }.intel-card--wide { grid-column:auto; }.intel-card,.intel-card--wide { min-height:430px; padding:20px; }
    .notify-section { padding:62px 18px; }.notify-form { grid-template-columns:1fr; }.notify-form button { height:50px; }
    .launch-footer { grid-template-columns:1fr; padding:40px 18px 24px; }.launch-footer small { grid-column:auto; }.footer-coordinates { display:none; }
    .main-nav { padding:14px 16px; grid-template-columns:1fr auto; }.main-nav .brand-lockup span { display:none; }.nav-cta { padding:12px 10px; font-size:7px; }
    .home-hero { min-height:700px; padding:110px 18px 120px; }.home-hero__content { width:100%; }.home-hero h1 { font-size:clamp(66px,21vw,104px); }.home-hero__actions { display:grid; }.hero-readout { left:18px; right:18px; grid-template-columns:1fr; }.hero-readout div:not(:first-child) { display:none; }
    .world-section { padding:85px 18px; grid-template-columns:1fr; }.vertical-label { display:none; }.world-image { grid-column:auto; height:420px; }.world-stat-grid { grid-template-columns:1fr; }.world-stat-grid div { border-bottom:1px solid #c4d2d6; padding-bottom:16px; }
    .paths-section,.media-section { padding:85px 18px; }.media-mosaic { height:720px; grid-template-columns:1fr; grid-template-rows:2fr 1fr 1fr; }.media-tile--tall { grid-row:auto; }
    .community-section { padding:70px 18px; grid-template-columns:1fr; text-align:center; }.community-section img { width:150px; margin:auto; }.community-section .button { grid-column:auto; justify-self:stretch; }.main-footer { grid-template-columns:1fr; text-align:center; }.main-footer .brand-lockup { margin:auto; }.main-footer p { justify-self:auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* ========================================================================
   RIDGEWATERRP HOME EXPERIENCE — PHASE 2
   All selectors are scoped to .home-v2 so the public launch gate stays intact.
   ======================================================================== */
.home-v2 {
    --rw-bg: #05030c;
    --rw-deep: #0d0718;
    --rw-panel: #140b24;
    --rw-ice: #f4f0ff;
    --rw-muted: #aaa0bd;
    --rw-cyan: #22d3ee;
    --rw-cyan-soft: #8be9f7;
    --rw-line: rgba(188, 160, 255, .20);
    --rw-warm: #9b6cff;
    background: var(--rw-bg);
    color: var(--rw-ice);
}
.home-v2 main { overflow: hidden; }
.home-v2 ::selection { background: var(--rw-cyan); color: #001217; }
.home-v2 [data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.home-v2 [data-reveal].is-visible { opacity: 1; transform: none; }
.home-v2 .preview-ribbon { z-index: 101; }

.rw-nav {
    position: fixed; z-index: 100; top: 0; left: 0; right: 0; min-height: 98px;
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 42px;
    padding: 18px clamp(20px, 4vw, 72px);
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: linear-gradient(180deg, rgba(1,5,8,.92), rgba(1,6,10,.35));
    backdrop-filter: blur(14px); transition: min-height .3s ease, background .3s ease, padding .3s ease;
}
.rw-nav.is-scrolled { min-height: 74px; padding-top: 10px; padding-bottom: 10px; background: rgba(2,8,12,.94); }
.rw-brand { display: inline-flex; align-items: center; gap: 13px; min-width: 230px; }
.rw-brand img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 0 22px rgba(34,211,238,.17)); transition: width .3s ease, height .3s ease; }
.rw-nav.is-scrolled .rw-brand img { width: 52px; height: 52px; }
.rw-brand > span { display: grid; }
.rw-brand strong { font: 900 29px/.82 var(--font-display); letter-spacing: .04em; }
.rw-brand small { margin-top: 8px; color: var(--rw-cyan); font: 700 8px/1 var(--font-body); letter-spacing: .24em; }
.rw-nav__links { justify-self: center; display: flex; align-items: center; gap: clamp(20px, 2.8vw, 48px); }
.rw-nav__links a { position: relative; color: #c1cfd4; font: 700 9px/1 var(--font-body); letter-spacing: .18em; transition: color .2s ease; }
.rw-nav__links a:after { content:""; position: absolute; left: 0; right: 100%; bottom: -10px; height: 1px; background: var(--rw-cyan); transition: right .25s ease; }
.rw-nav__links a:hover { color: #fff; }
.rw-nav__links a:hover:after { right: 0; }
.rw-nav__actions { display: flex; align-items: center; justify-content: flex-end; gap: 13px; min-width: 230px; }
.rw-nav__status { display: inline-flex; align-items: center; gap: 8px; color: #8fa4ac; font: 700 8px/1 var(--font-body); letter-spacing: .15em; white-space: nowrap; }
.rw-nav__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--rw-warm); box-shadow: 0 0 15px rgba(155,108,255,.7); animation: rwPulse 2s infinite; }
@keyframes rwPulse { 70% { box-shadow: 0 0 0 9px rgba(155,108,255,0); } }
.rw-nav__connect { min-width: 94px; height: 42px; display: inline-grid; place-items: center; border: 1px solid var(--rw-cyan); color: var(--rw-cyan); font: 800 9px/1 var(--font-body); letter-spacing: .18em; transition: background .2s ease, color .2s ease; }
.rw-nav__connect:hover { color: #001217; background: var(--rw-cyan); }
.rw-menu-toggle { display: none; width: 44px; height: 42px; border: 1px solid var(--rw-line); background: rgba(4,16,22,.75); padding: 0 12px; cursor: pointer; }
.rw-menu-toggle span { display: block; height: 1px; background: #fff; margin: 6px 0; transition: transform .2s ease; }
.rw-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.rw-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.rw-hero { min-height: 920px; height: 100vh; position: relative; display: flex; align-items: center; padding: 140px clamp(28px, 7vw, 132px) 130px; isolation: isolate; }
.rw-hero > video { position: absolute; z-index: -6; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.2) brightness(.63); transform: scale(1.035); }
.rw-hero__shade { position: absolute; z-index: -5; inset: 0; background: radial-gradient(circle at 74% 38%, rgba(4,33,43,.06), rgba(1,5,8,.62) 56%, #010508 90%), linear-gradient(90deg, rgba(1,5,8,.96) 0%, rgba(1,7,10,.72) 48%, rgba(1,6,9,.3) 100%), linear-gradient(0deg, rgba(2,8,12,.97), transparent 47%); }
.rw-hero__contours { position: absolute; z-index: -4; inset: 0; opacity: .16; background: repeating-radial-gradient(ellipse at 78% 50%, transparent 0 31px, rgba(109,226,239,.24) 32px 33px, transparent 34px 64px); mask-image: linear-gradient(90deg, transparent 35%, #000 78%, transparent); transform: rotate(-7deg) scale(1.25); }
.rw-hero__grain { position: absolute; z-index: -3; inset: -60%; opacity: .055; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); animation: grain .24s steps(2) infinite; }
.rw-hero__waterline { position: absolute; z-index: -2; right: -5vw; bottom: 14%; width: 50vw; height: 180px; transform: perspective(500px) rotateX(67deg) rotateZ(-3deg); opacity: .3; overflow: hidden; }
.rw-hero__waterline span { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--rw-cyan), transparent); box-shadow: 0 0 14px var(--rw-cyan); animation: rwCurrent 5.5s linear infinite; }
.rw-hero__waterline span:nth-child(1) { top: 18%; }
.rw-hero__waterline span:nth-child(2) { top: 50%; animation-delay: -2s; }
.rw-hero__waterline span:nth-child(3) { top: 81%; animation-delay: -4s; }
@keyframes rwCurrent { 0% { transform: translateX(-70%) scaleX(.5); opacity: 0; } 35% { opacity: 1; } 100% { transform: translateX(80%) scaleX(1.2); opacity: 0; } }
.rw-hero__rail { position: absolute; left: clamp(16px, 2.3vw, 44px); top: 50%; transform: translateY(-42%); display: grid; justify-items: center; gap: 15px; color: #7f959d; }
.rw-hero__rail span { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .24em; writing-mode: vertical-rl; transform: rotate(180deg); }
.rw-hero__rail b { font: 800 20px/1 var(--font-display); }
.rw-hero__rail i { width: 1px; height: 125px; background: linear-gradient(var(--rw-cyan), transparent); }
.rw-hero__rail small { font: 700 7px/1 var(--font-body); letter-spacing: .2em; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.rw-hero__content { width: min(900px, 61vw); position: relative; z-index: 2; }
.rw-kicker { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; color: #b7c6cb; font: 700 9px/1 var(--font-body); letter-spacing: .22em; }
.rw-kicker span { width: 42px; height: 1px; background: var(--rw-cyan); box-shadow: 0 0 12px var(--rw-cyan); }
.rw-hero h1 { margin: 0; font: 900 clamp(78px, 9.1vw, 158px)/.76 var(--font-display); letter-spacing: -.045em; text-transform: uppercase; text-shadow: 0 25px 60px rgba(0,0,0,.35); }
.rw-hero h1 em { display: inline-block; color: transparent; font-style: normal; -webkit-text-stroke: 1.5px rgba(230,247,250,.82); }
.rw-hero__content > p { max-width: 700px; margin: 32px 0 0; color: #c0cdd2; font-size: clamp(14px, 1.18vw, 18px); line-height: 1.8; }
.rw-hero__buttons { display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
.rw-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 25px; border: 1px solid var(--rw-line); color: #fff; background: rgba(4,15,21,.58); font: 800 10px/1 var(--font-body); letter-spacing: .15em; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease; }
.rw-button:hover { transform: translateY(-2px); border-color: var(--rw-cyan); }
.rw-button--solid { color: #001217; background: var(--rw-cyan); border-color: var(--rw-cyan); box-shadow: 0 16px 40px rgba(34,211,238,.15); }
.rw-button--solid:hover { background: var(--rw-cyan-soft); }
.rw-button--glass { backdrop-filter: blur(10px); }
.rw-button--outline { color: var(--rw-cyan); border-color: rgba(34,211,238,.55); background: transparent; }
.rw-hero__terminal { position: absolute; z-index: 2; right: clamp(28px, 6vw, 112px); top: 50%; width: min(350px, 27vw); transform: translateY(-43%); border: 1px solid var(--rw-line); background: linear-gradient(145deg, rgba(4,17,24,.82), rgba(2,9,13,.55)); backdrop-filter: blur(18px); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.rw-terminal__head { min-height: 51px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--rw-line); font: 700 8px/1 var(--font-body); letter-spacing: .17em; color: #849aa2; }
.rw-terminal__head b { color: var(--rw-cyan); }
.rw-terminal__map { height: 165px; position: relative; overflow: hidden; background-image: linear-gradient(rgba(132,219,229,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(132,219,229,.08) 1px, transparent 1px), radial-gradient(circle at 55% 55%, rgba(15,124,141,.25), transparent 56%); background-size: 30px 30px, 30px 30px, auto; }
.rw-terminal__map:after { content:""; position: absolute; inset: 0; background: repeating-radial-gradient(ellipse at center, transparent 0 18px, rgba(68,220,235,.09) 19px 20px, transparent 21px 38px); transform: rotate(8deg) scale(1.4); }
.rw-terminal__map i { position: absolute; z-index: 2; left: var(--x); top: var(--y); width: 6px; height: 6px; border: 1px solid var(--rw-cyan); border-radius: 50%; box-shadow: 0 0 13px var(--rw-cyan); }
.rw-terminal__route { position: absolute; z-index: 1; left: 15%; top: 62%; width: 68%; height: 1px; background: linear-gradient(90deg, var(--rw-cyan), transparent); transform: rotate(-22deg); opacity: .5; }
.rw-hero__terminal dl { margin: 0; padding: 8px 16px 13px; }
.rw-hero__terminal dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.rw-hero__terminal dt { color: #71868e; font: 700 7px/1 var(--font-body); letter-spacing: .16em; }
.rw-hero__terminal dd { margin: 0; color: #dce9ec; font: 700 9px/1 var(--font-body); letter-spacing: .08em; }
.rw-terminal__progress { height: 3px; background: rgba(255,255,255,.06); }
.rw-terminal__progress span { display: block; height: 100%; background: linear-gradient(90deg, #0c7181, var(--rw-cyan)); box-shadow: 0 0 14px var(--rw-cyan); }
.rw-hero__footer { position: absolute; z-index: 2; left: clamp(28px,7vw,132px); right: clamp(28px,7vw,132px); bottom: 28px; display: grid; grid-template-columns: 1.35fr repeat(3, .8fr); gap: 0; border-top: 1px solid rgba(255,255,255,.18); }
.rw-hero__footer > button { min-height: 70px; display: flex; align-items: center; gap: 13px; padding: 0; border: 0; color: #b3c2c7; background: transparent; font: 700 8px/1 var(--font-body); letter-spacing: .18em; cursor: pointer; text-align: left; }
.rw-hero__footer > button span { width: 32px; height: 32px; border: 1px solid var(--rw-line); border-radius: 50%; position: relative; }
.rw-hero__footer > button span:before { content:""; position: absolute; left: 50%; top: 8px; width: 1px; height: 10px; background: var(--rw-cyan); animation: rwScroll 1.6s ease-in-out infinite; }
@keyframes rwScroll { 50% { transform: translateY(6px); opacity: .3; } }
.rw-hero__footer > div { min-height: 70px; padding: 18px 0 0 24px; border-left: 1px solid rgba(255,255,255,.11); }
.rw-hero__footer small { display: block; color: #70868f; font: 700 7px/1 var(--font-body); letter-spacing: .19em; }
.rw-hero__footer strong { display: block; margin-top: 8px; font: 700 12px/1 var(--font-display); letter-spacing: .09em; }

.rw-section-label { color: #0b8297; font: 800 9px/1 var(--font-body); letter-spacing: .23em; }
.rw-section-index { position: absolute; right: clamp(24px, 6vw, 112px); top: 58px; color: rgba(7,21,29,.06); font: 900 clamp(150px, 20vw, 340px)/.72 var(--font-display); pointer-events: none; }
.rw-manifesto { min-height: 1040px; position: relative; display: grid; grid-template-columns: minmax(300px,.82fr) minmax(380px,1.18fr); gap: 50px 90px; padding: 140px clamp(28px, 7vw, 132px); color: #081116; background: #eaf3f4; }
.rw-manifesto__intro { position: relative; z-index: 1; align-self: start; }
.rw-manifesto__intro h2 { margin: 18px 0 0; font: 900 clamp(58px, 6.5vw, 104px)/.82 var(--font-display); letter-spacing: -.04em; }
.rw-manifesto__intro h2 em { display: inline-block; color: transparent; font-style: normal; -webkit-text-stroke: 1.5px rgba(7,19,25,.62); }
.rw-manifesto__copy { position: relative; z-index: 1; align-self: end; padding-top: 80px; }
.rw-lead-copy { max-width: 720px; margin: 0; font: 500 clamp(23px,2vw,32px)/1.42 var(--font-body); letter-spacing: -.025em; color: #18313a; }
.rw-manifesto__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 44px; padding-top: 30px; border-top: 1px solid #bdcdd1; }
.rw-manifesto__columns p { margin: 0; color: #61757c; font-size: 13px; line-height: 1.85; }
.rw-manifesto__image { grid-column: 1 / -1; height: 460px; position: relative; margin: 10px 0 0; overflow: hidden; clip-path: polygon(4% 0, 100% 0, 100% 86%, 96% 100%, 0 100%, 0 14%); }
.rw-manifesto__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.12); }
.rw-manifesto__image:after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(2,10,14,.74)); }
.rw-manifesto__image figcaption { position: absolute; z-index: 1; left: 32px; right: 32px; bottom: 28px; display: flex; justify-content: space-between; align-items: end; gap: 20px; color: #fff; }
.rw-manifesto__image figcaption span { color: var(--rw-cyan); font: 800 9px/1 var(--font-body); letter-spacing: .22em; }
.rw-manifesto__image figcaption b { font: 800 17px/1 var(--font-display); letter-spacing: .08em; }

.rw-atlas { padding: 140px clamp(28px, 6vw, 110px); background: #07131a; }
.rw-section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 60px; align-items: end; margin-bottom: 68px; }
.rw-section-heading h2 { margin: 15px 0 0; font: 900 clamp(58px,6.6vw,108px)/.8 var(--font-display); letter-spacing: -.04em; }
.rw-section-heading > p, .rw-media__intro > p { max-width: 570px; margin: 0; color: #8fa3ab; font-size: 13px; line-height: 1.85; }
.rw-section-heading--dark .rw-section-label, .rw-atlas .rw-section-label { color: var(--rw-cyan); }
.rw-atlas__shell { display: grid; grid-template-columns: 320px 1fr; min-height: 680px; border: 1px solid var(--rw-line); background: #041016; }
.rw-atlas__tabs { display: grid; grid-template-rows: repeat(4,1fr); border-right: 1px solid var(--rw-line); }
.rw-atlas__tabs button { position: relative; display: grid; align-content: center; gap: 8px; padding: 25px 28px; text-align: left; border: 0; border-bottom: 1px solid var(--rw-line); color: #8fa1a8; background: transparent; cursor: pointer; transition: color .25s ease, background .25s ease, padding-left .25s ease; }
.rw-atlas__tabs button:last-child { border-bottom: 0; }
.rw-atlas__tabs button:before { content:""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--rw-cyan); transform: scaleY(0); transition: transform .25s ease; }
.rw-atlas__tabs button:hover, .rw-atlas__tabs button.is-active { color: #fff; background: rgba(34,211,238,.055); padding-left: 35px; }
.rw-atlas__tabs button.is-active:before { transform: scaleY(1); }
.rw-atlas__tabs small { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .2em; }
.rw-atlas__tabs strong { font: 800 27px/.95 var(--font-display); letter-spacing: .02em; text-transform: uppercase; }
.rw-atlas__tabs span { font: 600 8px/1 var(--font-body); letter-spacing: .15em; text-transform: uppercase; }
.rw-atlas__viewport { position: relative; overflow: hidden; }
.rw-atlas__panel { position: absolute; inset: 0; display: grid; align-content: end; padding: 42px; opacity: 0; visibility: hidden; transform: scale(1.035); background-image: linear-gradient(180deg, rgba(2,8,12,.08), rgba(2,8,12,.92) 82%), var(--atlas-image); background-size: cover; background-position: center; transition: opacity .55s ease, transform .8s ease, visibility .55s; }
.rw-atlas__panel.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.rw-atlas__scan { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 0 48%, rgba(34,211,238,.12) 49%, transparent 50%); background-size: 100% 18px; opacity: .18; }
.rw-atlas__panel-copy { position: relative; z-index: 1; max-width: 710px; }
.rw-atlas__panel-copy > span { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .22em; }
.rw-atlas__panel h3 { margin: 12px 0 14px; font: 900 clamp(52px,6vw,94px)/.8 var(--font-display); letter-spacing: -.03em; }
.rw-atlas__panel p { max-width: 670px; margin: 0; color: #c2ced2; font-size: 13px; line-height: 1.75; }
.rw-atlas__panel dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); margin: 32px 0 0; border-top: 1px solid rgba(255,255,255,.18); }
.rw-atlas__panel dl div { padding: 17px 18px 0 0; }
.rw-atlas__panel dt { color: #70868f; font: 700 7px/1 var(--font-body); letter-spacing: .18em; }
.rw-atlas__panel dd { margin: 8px 0 0; color: #fff; font: 700 11px/1 var(--font-display); letter-spacing: .08em; }

.rw-paths { padding: 140px clamp(28px, 5vw, 92px); background: #02070b; }
.rw-path-grid { display: grid; grid-template-columns: 1.12fr .94fr .94fr; gap: 12px; }
.rw-path-card { min-height: 660px; position: relative; overflow: hidden; padding: 30px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--rw-line); background-image: linear-gradient(180deg, rgba(2,8,12,.12), rgba(2,7,10,.95) 83%), var(--path-image); background-size: cover; background-position: center; transition: transform .3s ease, border-color .3s ease; }
.rw-path-card:hover { transform: translateY(-7px); border-color: rgba(34,211,238,.55); }
.rw-path-card:before { content:""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 0 63%, rgba(34,211,238,.1)); transform: translateX(110%); transition: transform .5s ease; }
.rw-path-card:hover:before { transform: translateX(0); }
.rw-path-card__number { position: relative; z-index: 1; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--rw-line); color: var(--rw-cyan); font: 800 10px/1 var(--font-body); }
.rw-path-card__body { position: relative; z-index: 1; margin-top: auto; padding-bottom: 28px; }
.rw-path-card__body span { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .21em; }
.rw-path-card__body h3 { margin: 13px 0 14px; font: 900 clamp(45px,4.5vw,70px)/.8 var(--font-display); letter-spacing: -.025em; }
.rw-path-card__body p { margin: 0; color: #adbec4; font-size: 12px; line-height: 1.8; }
.rw-path-card > a { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); color: #d5e2e6; font: 800 8px/1 var(--font-body); letter-spacing: .18em; }
.rw-path-card > a b { color: var(--rw-cyan); font-size: 17px; }

.rw-systems { padding: 150px clamp(28px, 7vw, 132px); color: #071116; background: #e8f2f3; }
.rw-systems__header { display: grid; grid-template-columns: .5fr 1.15fr .65fr; gap: 52px; align-items: end; margin-bottom: 76px; }
.rw-systems__header .rw-section-label { align-self: start; padding-top: 13px; }
.rw-systems__header h2 { margin: 0; font: 900 clamp(58px,6.4vw,104px)/.82 var(--font-display); letter-spacing: -.04em; }
.rw-systems__header h2 em { color: transparent; font-style: normal; -webkit-text-stroke: 1.5px rgba(7,17,22,.55); }
.rw-systems__header p { margin: 0; color: #62767d; font-size: 13px; line-height: 1.85; }
.rw-system-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #b8cace; border-left: 1px solid #b8cace; }
.rw-system-grid article { min-height: 390px; position: relative; padding: 30px; border-right: 1px solid #b8cace; border-bottom: 1px solid #b8cace; transition: background .25s ease, color .25s ease; }
.rw-system-grid article:hover { color: #fff; background: #083b46; }
.rw-system-grid article > span { position: absolute; right: 22px; top: 20px; color: #8da1a7; font: 800 9px/1 var(--font-body); }
.rw-system-grid svg { width: 66px; height: 66px; margin: 30px 0 76px; fill: none; stroke: #0a8094; stroke-width: 1.3; transition: stroke .25s ease, transform .25s ease; }
.rw-system-grid article:hover svg { stroke: var(--rw-cyan); transform: scale(1.06); }
.rw-system-grid h3 { margin: 0 0 14px; font: 900 31px/.95 var(--font-display); letter-spacing: .015em; }
.rw-system-grid p { margin: 0; color: #61757c; font-size: 12px; line-height: 1.8; transition: color .25s ease; }
.rw-system-grid article:hover p { color: #bcd0d5; }

.rw-departments { min-height: 880px; display: grid; grid-template-columns: 1.05fr .95fr; background: #07131a; }
.rw-departments__image { min-height: 760px; position: relative; background-image: linear-gradient(180deg, rgba(2,8,12,.05), rgba(2,8,12,.72)), var(--department-image); background-size: cover; background-position: center; }
.rw-departments__image:after { content:""; position: absolute; inset: 0; border-right: 1px solid var(--rw-line); box-shadow: inset -70px 0 100px rgba(2,8,12,.34); }
.rw-departments__frequency { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 30px; min-height: 74px; padding: 0 19px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 8px 20px; border: 1px solid rgba(255,255,255,.2); background: rgba(2,10,14,.68); backdrop-filter: blur(12px); }
.rw-departments__frequency span { color: #8da1a8; font: 700 8px/1 var(--font-body); letter-spacing: .19em; }
.rw-departments__frequency strong { color: #fff; font: 800 14px/1 var(--font-display); letter-spacing: .08em; }
.rw-departments__frequency i { grid-column: 2; grid-row: 1 / span 2; width: 9px; height: 9px; border-radius: 50%; background: var(--rw-cyan); box-shadow: 0 0 18px var(--rw-cyan); }
.rw-departments__copy { align-self: center; padding: 100px clamp(38px, 6vw, 105px); }
.rw-departments__copy h2 { margin: 18px 0 24px; font: 900 clamp(58px,6vw,98px)/.81 var(--font-display); letter-spacing: -.04em; }
.rw-departments__copy > p { max-width: 620px; margin: 0; color: #9db0b7; font-size: 13px; line-height: 1.85; }
.rw-department-list { margin: 42px 0 34px; border-top: 1px solid var(--rw-line); }
.rw-department-list > div { display: grid; grid-template-columns: 42px 1fr; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--rw-line); }
.rw-department-list b { color: var(--rw-cyan); font: 800 10px/1 var(--font-body); }
.rw-department-list span { display: grid; gap: 8px; }
.rw-department-list strong { font: 800 20px/1 var(--font-display); letter-spacing: .07em; }
.rw-department-list small { color: #718890; font: 600 9px/1 var(--font-body); letter-spacing: .08em; }

.rw-media { padding: 145px clamp(28px, 5vw, 92px); background: #02070b; }
.rw-media__intro { display: grid; gap: 24px; justify-items: start; }
.rw-media__intro button { padding: 0; border: 0; color: var(--rw-cyan); background: transparent; font: 800 9px/1 var(--font-body); letter-spacing: .18em; cursor: pointer; }
.rw-media__intro button span { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-left: 10px; border: 1px solid rgba(34,211,238,.45); border-radius: 50%; }
.rw-media-grid { display: grid; grid-template-columns: 1.3fr .7fr .7fr; grid-template-rows: 330px 330px; gap: 12px; }
.rw-media-card { position: relative; margin: 0; overflow: hidden; background: #071219; }
.rw-media-card--wide { grid-row: 1 / -1; }
.rw-media-card--tall { grid-row: 1 / -1; grid-column: 3; }
.rw-media-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.14); transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.rw-media-card:hover img { transform: scale(1.06); filter: saturate(1) contrast(1.08); }
.rw-media-card:after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 46%, rgba(2,8,12,.88)); }
.rw-media-card figcaption { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; display: grid; gap: 8px; }
.rw-media-card figcaption span { color: var(--rw-cyan); font: 800 7px/1 var(--font-body); letter-spacing: .2em; }
.rw-media-card figcaption strong { font: 900 clamp(22px,2.5vw,38px)/.9 var(--font-display); letter-spacing: .02em; }

.rw-entry { position: relative; padding: 145px clamp(28px, 7vw, 132px); color: #071116; background: linear-gradient(105deg, #eaf4f5 0 63%, #dcebed 63%); }
.rw-entry__track { position: absolute; left: 0; right: 0; top: 0; height: 44px; display: flex; align-items: center; justify-content: center; gap: 22px; overflow: hidden; color: #618088; border-bottom: 1px solid #c4d5d8; font: 800 8px/1 var(--font-body); letter-spacing: .2em; white-space: nowrap; }
.rw-entry__track i { width: 6px; height: 6px; border-radius: 50%; background: #0b879b; }
.rw-entry__copy { display: grid; grid-template-columns: .55fr 1fr; gap: 50px; align-items: start; }
.rw-entry__copy h2 { grid-column: 2; margin: 0; font: 900 clamp(61px,6.7vw,108px)/.81 var(--font-display); letter-spacing: -.04em; }
.rw-entry__copy p { grid-column: 2; max-width: 670px; margin: 0; color: #61767d; font-size: 13px; line-height: 1.85; }
.rw-entry__steps { margin: 72px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #b6c8cc; border-left: 1px solid #b6c8cc; }
.rw-entry__steps li { min-height: 260px; padding: 25px; display: grid; align-content: space-between; border-right: 1px solid #b6c8cc; border-bottom: 1px solid #b6c8cc; }
.rw-entry__steps b { color: #0a8297; font: 800 11px/1 var(--font-body); }
.rw-entry__steps span { display: grid; gap: 13px; }
.rw-entry__steps strong { font: 900 25px/.95 var(--font-display); }
.rw-entry__steps small { color: #63777e; font-size: 11px; line-height: 1.7; }
.rw-entry__actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 34px; }
.rw-entry .rw-button--glass { color: #0a4854; border-color: #9ebbc1; background: transparent; }

.rw-faq { padding: 145px clamp(28px, 7vw, 132px); display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; background: #061118; }
.rw-faq__heading { position: sticky; top: 120px; align-self: start; }
.rw-faq__heading h2 { margin: 18px 0 22px; font: 900 clamp(58px,6vw,96px)/.81 var(--font-display); letter-spacing: -.04em; }
.rw-faq__heading p { max-width: 480px; margin: 0; color: #8fa4ac; font-size: 13px; line-height: 1.85; }
.rw-faq__items { border-top: 1px solid var(--rw-line); }
.rw-faq__items article { border-bottom: 1px solid var(--rw-line); }
.rw-faq__items button { width: 100%; min-height: 96px; display: grid; grid-template-columns: 45px 1fr 24px; align-items: center; gap: 20px; padding: 0; border: 0; color: #fff; background: transparent; text-align: left; cursor: pointer; }
.rw-faq__items button span { color: var(--rw-cyan); font: 800 9px/1 var(--font-body); }
.rw-faq__items button strong { font: 800 clamp(20px,2vw,29px)/1 var(--font-display); letter-spacing: .045em; }
.rw-faq__items button i { width: 17px; height: 17px; position: relative; }
.rw-faq__items button i:before, .rw-faq__items button i:after { content:""; position: absolute; left: 0; top: 8px; width: 17px; height: 1px; background: var(--rw-cyan); transition: transform .25s ease; }
.rw-faq__items button i:after { transform: rotate(90deg); }
.rw-faq__items button[aria-expanded="true"] i:after { transform: rotate(0); }
.rw-faq__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.rw-faq__answer > p { overflow: hidden; margin: 0; padding: 0 44px 0 65px; color: #91a5ad; font-size: 13px; line-height: 1.8; transition: padding .35s ease; }
.rw-faq__items button[aria-expanded="true"] + .rw-faq__answer { grid-template-rows: 1fr; }
.rw-faq__items button[aria-expanded="true"] + .rw-faq__answer > p { padding-bottom: 29px; }

.rw-final-cta { min-height: 580px; position: relative; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 55px; padding: 90px clamp(28px, 7vw, 132px); isolation: isolate; overflow: hidden; }
.rw-final-cta video { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.62) brightness(.5) contrast(1.2); }
.rw-final-cta__shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(2,8,12,.94), rgba(2,8,12,.68), rgba(2,8,12,.86)), radial-gradient(circle at 60% 45%, rgba(34,211,238,.12), transparent 48%); }
.rw-final-cta > img { width: 185px; filter: drop-shadow(0 24px 46px rgba(0,0,0,.38)); }
.rw-final-cta > div span { color: var(--rw-cyan); font: 800 9px/1 var(--font-body); letter-spacing: .22em; }
.rw-final-cta h2 { margin: 16px 0 0; font: 900 clamp(58px,6.2vw,102px)/.81 var(--font-display); letter-spacing: -.04em; }

.rw-footer { padding: 70px clamp(28px, 6vw, 110px) 28px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; background: #010609; border-top: 1px solid var(--rw-line); }
.rw-footer__brand { display: flex; align-items: center; gap: 20px; }
.rw-footer__brand img { width: 86px; opacity: .9; }
.rw-footer__brand span { display: grid; }
.rw-footer__brand strong { font: 900 35px/.85 var(--font-display); letter-spacing: .04em; }
.rw-footer__brand small { margin-top: 10px; color: var(--rw-cyan); font: 700 8px/1 var(--font-body); letter-spacing: .18em; }
.rw-footer__links { display: grid; grid-template-columns: repeat(3,1fr); gap: 35px; }
.rw-footer__links > div { display: grid; align-content: start; gap: 13px; }
.rw-footer__links strong { margin-bottom: 7px; color: #788e96; font: 800 8px/1 var(--font-body); letter-spacing: .2em; }
.rw-footer__links a { width: max-content; color: #c2d0d4; font-size: 11px; }
.rw-footer__links a:hover { color: var(--rw-cyan); }
.rw-footer__bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 30px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.07); color: #566970; }
.rw-footer__bottom p { max-width: 680px; margin: 0; font-size: 9px; line-height: 1.65; }
.rw-footer__bottom span { font: 700 8px/1 var(--font-body); letter-spacing: .15em; white-space: nowrap; }

.rw-video-modal { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 40px; background: rgba(0,5,8,.9); backdrop-filter: blur(18px); }
.rw-video-modal[hidden] { display: none; }
.rw-video-modal__close { position: absolute; right: 28px; top: 28px; width: 48px; height: 48px; border: 1px solid var(--rw-line); color: #fff; background: #07131a; font: 300 32px/1 var(--font-body); cursor: pointer; }
.rw-video-modal__frame { width: min(1120px, 92vw); border: 1px solid var(--rw-line); background: #061118; box-shadow: 0 40px 100px rgba(0,0,0,.55); }
.rw-video-modal__head { min-height: 52px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; color: #81969e; border-bottom: 1px solid var(--rw-line); font: 700 8px/1 var(--font-body); letter-spacing: .18em; }
.rw-video-modal__head b { color: var(--rw-cyan); }
.rw-video-modal video { display: block; width: 100%; max-height: 68vh; background: #000; }
.rw-video-modal p { margin: 0; padding: 17px; color: #81969e; font-size: 10px; }
.rw-video-modal code { color: var(--rw-cyan); }
body.has-modal { overflow: hidden; }

@media (max-width: 1180px) {
    .rw-nav__status { display: none; }
    .rw-nav__actions { min-width: auto; }
    .rw-hero__content { width: min(820px, 67vw); }
    .rw-hero__terminal { width: 310px; right: 35px; }
    .rw-hero__footer { grid-template-columns: 1.2fr repeat(3,.8fr); }
    .rw-manifesto { grid-template-columns: 1fr 1fr; gap: 45px; }
    .rw-atlas__shell { grid-template-columns: 270px 1fr; }
    .rw-path-grid { grid-template-columns: 1fr 1fr; }
    .rw-path-card--featured { grid-column: 1 / -1; min-height: 560px; }
    .rw-systems__header { grid-template-columns: 1fr 1fr; }
    .rw-systems__header .rw-section-label { grid-column: 1 / -1; }
    .rw-system-grid { grid-template-columns: repeat(2,1fr); }
    .rw-departments { grid-template-columns: .9fr 1.1fr; }
    .rw-media-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 440px 300px 300px; }
    .rw-media-card--wide { grid-column: 1 / -1; grid-row: auto; }
    .rw-media-card--tall { grid-column: auto; grid-row: 2 / 4; }
    .rw-entry__steps { grid-template-columns: repeat(2,1fr); }
    .rw-final-cta { grid-template-columns: 140px 1fr; }
    .rw-final-cta > img { width: 140px; }
    .rw-final-cta > .rw-button { grid-column: 2; justify-self: start; }
}

@media (max-width: 980px) {
    .rw-nav { grid-template-columns: auto 1fr auto; min-height: 82px; padding: 12px 18px; }
    .rw-brand { min-width: 0; }
    .rw-brand img { width: 56px; height: 56px; }
    .rw-brand strong { font-size: 25px; }
    .rw-nav__links { position: fixed; top: 82px; left: 0; right: 0; display: grid; justify-items: start; gap: 0; padding: 16px 18px 28px; border-bottom: 1px solid var(--rw-line); background: rgba(2,8,12,.98); transform: translateY(-120%); opacity: 0; visibility: hidden; transition: transform .3s ease, opacity .3s ease, visibility .3s; }
    .rw-nav__links.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
    .rw-nav__links a { width: 100%; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
    .rw-menu-toggle { display: block; }
    .rw-nav__connect { display: none; }
    .rw-hero { min-height: 900px; height: auto; padding: 150px 24px 160px 55px; align-items: start; }
    .rw-hero__content { width: 100%; }
    .rw-hero__terminal { position: relative; right: auto; top: auto; width: min(520px,100%); margin: 48px 0 0; transform: none; }
    .rw-hero__footer { left: 55px; right: 24px; grid-template-columns: 1fr 1fr; }
    .rw-hero__footer > div:nth-last-child(-n+2) { display: none; }
    .rw-manifesto { min-height: auto; grid-template-columns: 1fr; padding: 110px 24px; }
    .rw-manifesto__copy { padding-top: 0; }
    .rw-manifesto__image { height: 420px; }
    .rw-atlas, .rw-paths, .rw-systems, .rw-media, .rw-entry, .rw-faq { padding: 110px 24px; }
    .rw-section-heading { grid-template-columns: 1fr; gap: 25px; }
    .rw-atlas__shell { grid-template-columns: 1fr; }
    .rw-atlas__tabs { grid-template-columns: repeat(4,1fr); grid-template-rows: auto; border-right: 0; border-bottom: 1px solid var(--rw-line); overflow-x: auto; }
    .rw-atlas__tabs button { min-width: 190px; min-height: 130px; border-bottom: 0; border-right: 1px solid var(--rw-line); }
    .rw-atlas__viewport { min-height: 580px; }
    .rw-system-grid { grid-template-columns: repeat(2,1fr); }
    .rw-systems__header { grid-template-columns: 1fr; gap: 26px; }
    .rw-systems__header .rw-section-label { grid-column: auto; }
    .rw-departments { grid-template-columns: 1fr; }
    .rw-departments__image { min-height: 590px; }
    .rw-departments__copy { padding: 90px 24px; }
    .rw-entry__copy { grid-template-columns: 1fr; gap: 24px; }
    .rw-entry__copy h2, .rw-entry__copy p { grid-column: auto; }
    .rw-faq { grid-template-columns: 1fr; gap: 55px; }
    .rw-faq__heading { position: static; }
    .rw-footer { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .home-v2 .preview-ribbon { width: 100%; text-align: center; font-size: 6px; padding: 6px 8px; }
    .rw-nav { top: 19px; min-height: 70px; }
    .rw-nav.is-scrolled { min-height: 64px; }
    .rw-nav__links { top: 89px; }
    .rw-brand img { width: 46px; height: 46px; }
    .rw-brand strong { font-size: 21px; }
    .rw-brand small { display: none; }
    .rw-hero { min-height: 860px; padding: 135px 18px 150px 40px; }
    .rw-hero__rail { left: 11px; }
    .rw-hero h1 { font-size: clamp(67px, 20vw, 102px); }
    .rw-kicker { font-size: 7px; letter-spacing: .14em; }
    .rw-kicker span { width: 24px; }
    .rw-hero__content > p { font-size: 13px; line-height: 1.7; }
    .rw-hero__buttons { display: grid; }
    .rw-button { width: 100%; padding-left: 17px; padding-right: 17px; font-size: 8px; }
    .rw-hero__terminal { margin-top: 36px; }
    .rw-terminal__map { height: 120px; }
    .rw-hero__footer { left: 40px; right: 18px; grid-template-columns: 1fr; }
    .rw-hero__footer > div { display: none; }
    .rw-manifesto, .rw-atlas, .rw-paths, .rw-systems, .rw-media, .rw-entry, .rw-faq { padding: 82px 18px; }
    .rw-manifesto__intro h2, .rw-section-heading h2, .rw-systems__header h2, .rw-departments__copy h2, .rw-entry__copy h2, .rw-faq__heading h2, .rw-final-cta h2 { font-size: clamp(50px,15vw,75px); }
    .rw-manifesto__columns { grid-template-columns: 1fr; gap: 22px; }
    .rw-manifesto__image { height: 390px; clip-path: polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%); }
    .rw-manifesto__image figcaption { left: 18px; right: 18px; display: grid; }
    .rw-section-index { display: none; }
    .rw-atlas__tabs { grid-template-columns: repeat(4,170px); }
    .rw-atlas__tabs button { min-width: 170px; padding: 18px; }
    .rw-atlas__viewport { min-height: 570px; }
    .rw-atlas__panel { padding: 24px 18px; }
    .rw-atlas__panel h3 { font-size: 58px; }
    .rw-atlas__panel dl { grid-template-columns: 1fr; gap: 12px; }
    .rw-atlas__panel dl div { padding-top: 12px; }
    .rw-path-grid { grid-template-columns: 1fr; }
    .rw-path-card, .rw-path-card--featured { grid-column: auto; min-height: 540px; padding: 22px; }
    .rw-system-grid { grid-template-columns: 1fr; }
    .rw-system-grid article { min-height: 330px; }
    .rw-system-grid svg { margin-bottom: 50px; }
    .rw-departments__image { min-height: 480px; }
    .rw-departments__frequency { left: 15px; right: 15px; bottom: 15px; }
    .rw-departments__copy { padding: 76px 18px; }
    .rw-department-list small { line-height: 1.5; }
    .rw-media-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5, 370px); }
    .rw-media-card--wide, .rw-media-card--tall { grid-column: auto; grid-row: auto; }
    .rw-entry { background: #eaf4f5; }
    .rw-entry__steps { grid-template-columns: 1fr; }
    .rw-entry__steps li { min-height: 220px; }
    .rw-entry__actions { display: grid; }
    .rw-faq__items button { min-height: 86px; grid-template-columns: 30px 1fr 20px; gap: 10px; }
    .rw-faq__items button strong { font-size: 20px; }
    .rw-faq__answer > p { padding-left: 40px; padding-right: 10px; }
    .rw-final-cta { min-height: 680px; grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 80px 18px; }
    .rw-final-cta > img { width: 150px; }
    .rw-final-cta > .rw-button { grid-column: auto; justify-self: stretch; }
    .rw-footer { padding: 60px 18px 25px; }
    .rw-footer__brand { display: grid; justify-items: center; text-align: center; }
    .rw-footer__links { grid-template-columns: 1fr 1fr; gap: 40px 20px; }
    .rw-footer__bottom { display: grid; text-align: center; }
    .rw-footer__bottom span { white-space: normal; }
    .rw-video-modal { padding: 14px; }
    .rw-video-modal__close { right: 14px; top: 14px; z-index: 2; }
    .rw-video-modal__head { padding-right: 60px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-v2 [data-reveal] { opacity: 1; transform: none; }
    .rw-hero__waterline span, .rw-nav__status i, .rw-hero__footer > button span:before { animation: none !important; }
}

/* ========================================================================
   RIDGEWATERRP MULTI-PAGE EXPERIENCE — PHASE 3
   ======================================================================== */
.rw-nav__links { gap: clamp(14px, 1.75vw, 31px); }
.rw-nav__links a.is-active { color: #fff; }
.rw-nav__links a.is-active:after { right: 0; box-shadow: 0 0 10px rgba(34,211,238,.55); }
.rw-text-link { width: max-content; display: inline-flex; align-items: center; gap: 18px; margin-top: 30px; color: #15313a; font: 800 10px/1 var(--font-body); letter-spacing: .17em; }
.rw-text-link span { color: var(--rw-cyan); font-size: 20px; transition: transform .2s ease; }
.rw-text-link:hover span { transform: translateX(5px); }

/* Streamlined homepage */
.rw-home-intro { position: relative; display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(50px, 8vw, 130px); align-items: center; padding: 130px clamp(28px, 7vw, 132px); color: #07131a; background: #eaf4f5; }
.rw-home-intro__index { position: absolute; left: clamp(28px, 7vw, 132px); top: 36px; color: rgba(4,33,42,.09); font: 900 130px/.8 var(--font-display); }
.rw-home-intro__copy { position: relative; z-index: 1; }
.rw-home-intro__copy .rw-section-label { color: #0c8396; }
.rw-home-intro__copy h2 { margin: 18px 0 28px; font: 900 clamp(58px, 6vw, 102px)/.81 var(--font-display); letter-spacing: -.045em; }
.rw-home-intro__copy h2 em { color: #087d91; font-style: normal; }
.rw-home-intro__copy p { max-width: 710px; margin: 0; color: #516970; font-size: 14px; line-height: 1.9; }
.rw-home-intro__visual { min-height: 590px; position: relative; margin: 0; overflow: hidden; clip-path: polygon(11% 0,100% 0,100% 91%,91% 100%,0 100%,0 11%); }
.rw-home-intro__visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.15); }
.rw-home-intro__visual:after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(2,9,13,.8)); }
.rw-home-intro__visual figcaption { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 25px; display: grid; gap: 9px; }
.rw-home-intro__visual figcaption span { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .22em; }
.rw-home-intro__visual figcaption b { font: 800 17px/1 var(--font-display); letter-spacing: .08em; }

.rw-explore { padding: 140px clamp(28px, 6vw, 110px); background: #061118; }
.rw-explore-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 430px; gap: 1px; background: rgba(201,236,241,.13); border: 1px solid rgba(201,236,241,.13); }
.rw-explore-card { position: relative; min-width: 0; display: flex; flex-direction: column; justify-content: end; padding: 32px; isolation: isolate; overflow: hidden; background: #07141b; }
.rw-explore-card:before { content:""; position: absolute; z-index: -3; inset: 0; background-image: var(--explore-image); background-size: cover; background-position: center; filter: saturate(.68) contrast(1.15); transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.rw-explore-card:after { content:""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(180deg, rgba(2,8,12,.08), rgba(2,8,12,.96) 78%), linear-gradient(90deg, rgba(2,8,12,.55), transparent); }
.rw-explore-card:hover:before { transform: scale(1.055); filter: saturate(.9) contrast(1.18); }
.rw-explore-card--wide { grid-column: span 2; }
.rw-explore-card > span { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .2em; }
.rw-explore-card h3 { max-width: 620px; margin: 15px 0 12px; font: 900 clamp(43px, 4.5vw, 72px)/.82 var(--font-display); letter-spacing: -.035em; }
.rw-explore-card p { max-width: 560px; margin: 0 0 24px; color: #a5b7bd; font-size: 12px; line-height: 1.75; }
.rw-explore-card > b { color: #e5f3f5; font: 800 8px/1 var(--font-body); letter-spacing: .17em; }
.rw-explore-card--accent { justify-content: center; background: linear-gradient(140deg,#0b8295,#15d7eb); color: #001218; }
.rw-explore-card--accent:before, .rw-explore-card--accent:after { display: none; }
.rw-explore-card--accent > span, .rw-explore-card--accent p, .rw-explore-card--accent > b { color: #002631; }

.rw-home-pulse { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px,8vw,130px); padding: 130px clamp(28px,7vw,132px); background: #eaf4f5; color: #07131a; }
.rw-home-pulse__lead .rw-section-label { color: #087d91; }
.rw-home-pulse__lead h2 { margin: 18px 0 25px; font: 900 clamp(56px,5.8vw,98px)/.81 var(--font-display); letter-spacing: -.04em; }
.rw-home-pulse__lead p { margin: 0; color: #5b7077; font-size: 13px; line-height: 1.85; }
.rw-home-pulse__grid { display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; border: 1px solid #bdcfd3; }
.rw-home-pulse__grid article { min-height: 320px; padding: 28px; border-right: 1px solid #bdcfd3; display: flex; flex-direction: column; }
.rw-home-pulse__grid article:last-child { border-right: 0; }
.rw-home-pulse__grid small { color: #6e858d; font: 800 8px/1 var(--font-body); letter-spacing: .18em; }
.rw-home-pulse__grid strong { margin: auto 0 20px; font: 900 clamp(34px,3vw,58px)/.86 var(--font-display); text-transform: uppercase; }
.rw-home-pulse__grid p { margin: 18px 0 0; color: #60747b; font-size: 11px; line-height: 1.7; }
.rw-home-pulse__grid article > span { height: 3px; display: block; background: #cedcdf; overflow: hidden; }
.rw-home-pulse__grid article > span i { display: block; height: 100%; background: #0b93a8; }

.rw-feature-film { display: grid; grid-template-columns: 1.18fr .82fr; min-height: 690px; background: #061118; }
.rw-feature-film__media { position: relative; overflow: hidden; }
.rw-feature-film__media:after { content:""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, #061118), linear-gradient(0deg, rgba(2,8,12,.35), transparent); pointer-events: none; }
.rw-feature-film__media video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.15) brightness(.7); }
.rw-feature-film__media button { position: absolute; z-index: 2; left: 50%; top: 50%; width: 92px; height: 92px; transform: translate(-50%,-50%); border-radius: 50%; border: 1px solid rgba(255,255,255,.5); color: #001218; background: rgba(34,211,238,.92); cursor: pointer; }
.rw-feature-film__media button span { font-size: 26px; margin-left: 5px; }
.rw-feature-film__copy { display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(28px,6vw,100px) 80px 30px; }
.rw-feature-film__copy h2 { margin: 18px 0 24px; font: 900 clamp(58px,6vw,103px)/.8 var(--font-display); letter-spacing: -.045em; }
.rw-feature-film__copy p { max-width: 580px; margin: 0 0 32px; color: #91a5ad; font-size: 13px; line-height: 1.85; }

/* Inner page hero */
.rw-inner-page .rw-nav { background: linear-gradient(180deg,rgba(1,5,8,.96),rgba(1,6,10,.48)); }
.rw-page-hero { min-height: 790px; height: min(88vh, 930px); position: relative; display: flex; align-items: center; padding: 170px clamp(28px,7vw,132px) 120px; isolation: isolate; overflow: hidden; }
.rw-page-hero__image, .rw-page-hero > video { position: absolute; z-index: -5; inset: -2%; width: 104%; height: 104%; background-image: var(--page-image); background-size: cover; background-position: center; object-fit: cover; filter: saturate(.68) contrast(1.18) brightness(.62); transform: scale(1.025); transition: transform .2s ease-out; }
.rw-page-hero__shade { position: absolute; z-index: -4; inset: 0; background: radial-gradient(circle at 76% 40%,rgba(19,120,137,.08),transparent 34%),linear-gradient(90deg,rgba(1,5,8,.96) 0%,rgba(2,8,12,.8) 48%,rgba(2,7,10,.38) 100%),linear-gradient(0deg,#02080c 0%,transparent 45%); }
.rw-page-hero__grid { position: absolute; z-index: -3; inset: 0; opacity: .14; background-image: linear-gradient(rgba(125,222,233,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(125,222,233,.18) 1px,transparent 1px); background-size: 100px 100px; mask-image: linear-gradient(90deg,#000,transparent 85%); }
.rw-page-hero__rail { position: absolute; left: clamp(14px,2.1vw,40px); top: 50%; transform: translateY(-30%); display: grid; justify-items: center; gap: 14px; color: #7d929a; }
.rw-page-hero__rail span { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .24em; writing-mode: vertical-rl; transform: rotate(180deg); }
.rw-page-hero__rail b { font: 900 23px/1 var(--font-display); }
.rw-page-hero__rail i { width: 1px; height: 130px; background: linear-gradient(var(--rw-cyan),transparent); }
.rw-page-hero__content { max-width: 1050px; position: relative; z-index: 1; }
.rw-page-hero__crumb { display: flex; gap: 12px; align-items: center; margin-bottom: 44px; color: #748991; font: 800 8px/1 var(--font-body); letter-spacing: .19em; }
.rw-page-hero__crumb a:hover { color: var(--rw-cyan); }
.rw-page-hero__crumb b { color: #d4e4e7; }
.rw-page-hero__content > .rw-section-label { color: var(--rw-cyan); }
.rw-page-hero h1 { margin: 20px 0 0; font: 900 clamp(76px,8.5vw,145px)/.77 var(--font-display); letter-spacing: -.045em; }
.rw-page-hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1.4px rgba(229,245,248,.83); }
.rw-page-hero__content > p { max-width: 780px; margin: 30px 0 0; color: #becdd2; font-size: clamp(14px,1.15vw,18px); line-height: 1.85; }
.rw-page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.rw-page-hero__meta { position: absolute; left: clamp(28px,7vw,132px); right: clamp(28px,7vw,132px); bottom: 25px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.18); }
.rw-page-hero__meta > div { min-height: 66px; padding: 17px 22px 0; border-left: 1px solid rgba(255,255,255,.11); }
.rw-page-hero__meta > div:first-child { border-left: 0; padding-left: 0; }
.rw-page-hero__meta small { display: block; color: #71858d; font: 800 7px/1 var(--font-body); letter-spacing: .19em; }
.rw-page-hero__meta strong { display: block; margin-top: 8px; font: 800 12px/1 var(--font-display); letter-spacing: .1em; }

/* Shared inner sections */
.rw-manifesto--page { min-height: auto; }
.rw-atlas--page, .rw-paths--page, .rw-systems--page, .rw-media--page, .rw-entry--page, .rw-faq--page { padding-top: 130px; padding-bottom: 130px; }
.rw-principles { padding: 135px clamp(28px,6vw,110px); background: #061118; }
.rw-principle-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--rw-line); }
.rw-principle-grid article { min-height: 440px; padding: 30px; border-right: 1px solid var(--rw-line); display: flex; flex-direction: column; }
.rw-principle-grid article:last-child { border-right: 0; }
.rw-principle-grid b { color: rgba(34,211,238,.4); font: 900 58px/.8 var(--font-display); }
.rw-principle-grid span { margin-top: auto; color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .19em; }
.rw-principle-grid h3 { margin: 16px 0; font: 900 34px/.9 var(--font-display); }
.rw-principle-grid p { margin: 0; color: #8ea3aa; font-size: 11px; line-height: 1.8; }

.rw-story-cycle { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,8vw,130px); padding: 135px clamp(28px,7vw,132px); color: #07131a; background: #eaf4f5; }
.rw-story-cycle__copy .rw-section-label { color: #087d91; }
.rw-story-cycle__copy h2 { margin: 18px 0 25px; font: 900 clamp(56px,5.7vw,98px)/.8 var(--font-display); letter-spacing: -.045em; }
.rw-story-cycle__copy p { color: #5c7279; font-size: 13px; line-height: 1.9; }
.rw-story-cycle__track { margin: 0; padding: 0; list-style: none; border-top: 1px solid #b9cdd1; }
.rw-story-cycle__track li { display: grid; grid-template-columns: 82px 1fr; gap: 20px; min-height: 125px; align-items: center; border-bottom: 1px solid #b9cdd1; }
.rw-story-cycle__track b { color: #0d91a5; font: 900 42px/1 var(--font-display); }
.rw-story-cycle__track span { display: grid; gap: 8px; }
.rw-story-cycle__track strong { font: 900 28px/1 var(--font-display); }
.rw-story-cycle__track small { color: #60777e; font-size: 11px; line-height: 1.65; }

.rw-page-linkout { min-height: 550px; position: relative; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; padding: 90px clamp(28px,7vw,132px); isolation: isolate; overflow: hidden; }
.rw-page-linkout:before { content:""; position: absolute; z-index: -3; inset: 0; background-image: var(--linkout-image); background-size: cover; background-position: center; filter: saturate(.65) brightness(.48) contrast(1.2); }
.rw-page-linkout:after { content:""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg,rgba(2,8,12,.95),rgba(2,8,12,.58),rgba(2,8,12,.82)); }
.rw-page-linkout > div { max-width: 900px; }
.rw-page-linkout > div > span { color: var(--rw-cyan); font: 800 9px/1 var(--font-body); letter-spacing: .22em; }
.rw-page-linkout h2 { margin: 17px 0 23px; font: 900 clamp(58px,6vw,104px)/.8 var(--font-display); letter-spacing: -.04em; }
.rw-page-linkout p { max-width: 690px; margin: 0; color: #acbec4; font-size: 13px; line-height: 1.8; }

/* Atlas */
.rw-district-ledger { padding: 135px clamp(28px,6vw,110px); color: #07131a; background: #eaf4f5; }
.rw-district-ledger .rw-section-label { color: #087d91; }
.rw-district-ledger .rw-section-heading > p { color: #60747b; }
.rw-district-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.rw-district-card { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 560px; background: #f7fbfc; border: 1px solid #bed0d4; overflow: hidden; }
.rw-district-card__image { position: relative; min-height: 100%; background-image: linear-gradient(180deg,transparent,rgba(2,8,12,.65)),var(--district-image); background-size: cover; background-position: center; }
.rw-district-card__image span { position: absolute; left: 20px; top: 20px; padding: 8px 10px; color: #001217; background: var(--rw-cyan); font: 900 9px/1 var(--font-body); letter-spacing: .16em; }
.rw-district-card__body { padding: 32px; }
.rw-district-card__body > small { color: #0c8295; font: 800 8px/1 var(--font-body); letter-spacing: .18em; }
.rw-district-card h3 { margin: 15px 0; font: 900 47px/.85 var(--font-display); }
.rw-district-card p { color: #60747b; font-size: 11px; line-height: 1.8; }
.rw-district-card__lists { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #c8d8db; }
.rw-district-card__lists > div { display: grid; gap: 9px; }
.rw-district-card__lists strong { margin-bottom: 5px; color: #19343d; font: 900 9px/1 var(--font-body); letter-spacing: .14em; }
.rw-district-card__lists span { color: #697d84; font-size: 10px; }
.rw-district-card__lists span:before { content:"+"; margin-right: 8px; color: #0b92a7; font-weight: 800; }

.rw-transit-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(45px,7vw,100px); align-items: center; padding: 130px clamp(28px,7vw,132px); background: #061118; }
.rw-transit-grid__copy h2 { margin: 18px 0 24px; font: 900 clamp(58px,6vw,100px)/.8 var(--font-display); letter-spacing: -.04em; }
.rw-transit-grid__copy p { color: #91a5ad; font-size: 13px; line-height: 1.85; }
.rw-transit-grid__map { min-height: 520px; position: relative; border: 1px solid var(--rw-line); overflow: hidden; background-color: #041017; background-image: linear-gradient(rgba(120,208,220,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(120,208,220,.09) 1px,transparent 1px); background-size: 42px 42px; }
.rw-transit-grid__map:before { content:""; position: absolute; inset: 8%; border: 1px solid rgba(34,211,238,.16); clip-path: polygon(5% 14%,68% 2%,94% 24%,88% 88%,35% 97%,3% 70%); }
.rw-transit-grid__map i { position: absolute; z-index: 2; left: var(--x); top: var(--y); width: 13px; height: 13px; border: 2px solid var(--rw-cyan); border-radius: 50%; background: #041017; box-shadow: 0 0 0 6px rgba(34,211,238,.1),0 0 18px rgba(34,211,238,.45); }
.rw-transit-grid__map i b, .rw-transit-grid__map i small { position: absolute; left: 20px; white-space: nowrap; }
.rw-transit-grid__map i b { top: -2px; color: var(--rw-cyan); font: 900 9px/1 var(--font-body); letter-spacing: .14em; }
.rw-transit-grid__map i small { top: 15px; color: #a5b8be; font: 700 8px/1 var(--font-body); letter-spacing: .12em; }
.rw-transit-line { position: absolute; height: 2px; transform-origin: left center; background: linear-gradient(90deg,var(--rw-cyan),rgba(34,211,238,.16)); box-shadow: 0 0 12px rgba(34,211,238,.25); }
.rw-transit-line--one { left: 17%; top: 66%; width: 38%; transform: rotate(-36deg); }
.rw-transit-line--two { left: 49%; top: 35%; width: 30%; transform: rotate(35deg); }
.rw-transit-line--three { left: 72%; top: 67%; width: 31%; transform: rotate(-63deg); }

/* Life paths */
.rw-life-stream { padding: 0; background: #eaf4f5; color: #07131a; }
.rw-life-stream__feature { min-height: 690px; display: grid; grid-template-columns: 1fr 1fr; }
.rw-life-stream__feature--reverse .rw-life-stream__image { order: 2; }
.rw-life-stream__image { min-height: 690px; position: relative; background-image: linear-gradient(180deg,transparent,rgba(2,8,12,.42)),var(--life-image); background-size: cover; background-position: center; }
.rw-life-stream__image span { position: absolute; left: 28px; top: 28px; color: #001217; background: var(--rw-cyan); padding: 10px 13px; font: 900 9px/1 var(--font-body); letter-spacing: .18em; }
.rw-life-stream__copy { display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(28px,7vw,105px); border-bottom: 1px solid #c0d1d4; }
.rw-life-stream__copy .rw-section-label { color: #087d91; }
.rw-life-stream__copy h2 { margin: 18px 0 26px; font: 900 clamp(58px,6vw,102px)/.8 var(--font-display); letter-spacing: -.045em; }
.rw-life-stream__copy > p { color: #5b7178; font-size: 13px; line-height: 1.9; }
.rw-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.rw-chip-list span { padding: 9px 11px; border: 1px solid currentColor; color: #0c8194; font: 800 8px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.rw-role-list { margin-top: 28px; border-top: 1px solid #c4d4d7; }
.rw-role-list > div { display: grid; grid-template-columns: 45px 1fr; gap: 16px; padding: 17px 0; border-bottom: 1px solid #c4d4d7; }
.rw-role-list b { color: #0b8fa3; font: 900 26px/1 var(--font-display); }
.rw-role-list span { display: grid; gap: 5px; }
.rw-role-list strong { font: 900 20px/1 var(--font-display); }
.rw-role-list small { color: #61767d; font-size: 10px; line-height: 1.5; }

.rw-progression { padding: 135px clamp(28px,6vw,110px); background: #061118; }
.rw-progression__intro { max-width: 1050px; margin-bottom: 65px; }
.rw-progression__intro h2 { margin: 18px 0 24px; font: 900 clamp(58px,6vw,104px)/.8 var(--font-display); letter-spacing: -.045em; }
.rw-progression__intro p { max-width: 720px; color: #91a5ad; font-size: 13px; line-height: 1.85; }
.rw-progression__grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--rw-line); }
.rw-progression__grid article { min-height: 330px; padding: 28px; border-right: 1px solid var(--rw-line); display: flex; flex-direction: column; }
.rw-progression__grid article:last-child { border-right: 0; }
.rw-progression__grid small { color: rgba(34,211,238,.4); font: 900 48px/1 var(--font-display); }
.rw-progression__grid h3 { margin: auto 0 16px; font: 900 35px/.9 var(--font-display); }
.rw-progression__grid p { margin: 0; color: #8da1a8; font-size: 11px; line-height: 1.75; }

/* Departments */
.rw-departments--page { min-height: 760px; }
.rw-department-directory { padding: 135px clamp(28px,6vw,110px); background: #061118; }
.rw-department-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.rw-department-card { min-height: 620px; display: grid; grid-template-rows: 270px 1fr; border: 1px solid var(--rw-line); background: #081720; overflow: hidden; }
.rw-department-card--wide { grid-column: 1 / -1; grid-template-columns: 1.05fr .95fr; grid-template-rows: 1fr; min-height: 570px; }
.rw-department-card__image { position: relative; background-image: linear-gradient(180deg,transparent,rgba(2,8,12,.6)),var(--department-card-image); background-size: cover; background-position: center; }
.rw-department-card__image span { position: absolute; left: 22px; top: 22px; color: #001217; background: var(--rw-cyan); padding: 9px 12px; font: 900 9px/1 var(--font-body); letter-spacing: .16em; }
.rw-department-card__copy { display: flex; flex-direction: column; justify-content: center; padding: 32px; }
.rw-department-card__copy > small { color: var(--rw-cyan); font: 800 8px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
.rw-department-card h3 { margin: 17px 0; font: 900 clamp(43px,4vw,70px)/.83 var(--font-display); }
.rw-department-card p { margin: 0; color: #91a5ad; font-size: 11px; line-height: 1.8; }
.rw-department-card .rw-chip-list span { color: var(--rw-cyan); }

.rw-training-track { display: grid; grid-template-columns: .7fr 1fr .65fr; gap: clamp(35px,5vw,80px); padding: 135px clamp(28px,6vw,110px); color: #07131a; background: #eaf4f5; }
.rw-training-track__intro .rw-section-label { color: #087d91; }
.rw-training-track__intro h2 { margin: 18px 0 24px; font: 900 clamp(54px,5.3vw,92px)/.8 var(--font-display); letter-spacing: -.04em; }
.rw-training-track__intro p { color: #60747b; font-size: 12px; line-height: 1.85; }
.rw-training-track__steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid #bdced2; }
.rw-training-track__steps li { min-height: 115px; display: grid; grid-template-columns: 55px 1fr; gap: 16px; align-items: center; border-bottom: 1px solid #bdced2; }
.rw-training-track__steps b { color: #0c8da1; font: 900 34px/1 var(--font-display); }
.rw-training-track__steps span { display: grid; gap: 7px; }
.rw-training-track__steps strong { font: 900 23px/1 var(--font-display); }
.rw-training-track__steps small { color: #60757c; font-size: 10px; line-height: 1.55; }
.rw-training-track__status { align-self: start; padding: 30px; border: 1px solid #b9cbcf; background: rgba(255,255,255,.45); }
.rw-training-track__status > span { color: #678087; font: 800 8px/1 var(--font-body); letter-spacing: .18em; }
.rw-training-track__status > strong { display: block; margin: 18px 0; color: #0a879b; font: 900 45px/.85 var(--font-display); }
.rw-training-track__status p { color: #62777e; font-size: 10px; line-height: 1.7; }
.rw-training-track__status code, .rw-media-stage code, .rw-access-status code { color: #0b8396; font-family: monospace; }
.rw-training-track__status .rw-button { width: 100%; margin-top: 18px; color: #0b7182; border-color: #0b7182; }

/* Media */
.rw-media-stage { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px,7vw,100px); align-items: center; padding: 130px clamp(28px,7vw,132px); color: #07131a; background: #eaf4f5; }
.rw-media-stage__copy .rw-section-label { color: #087d91; }
.rw-media-stage__copy h2 { margin: 18px 0 25px; font: 900 clamp(56px,5.8vw,98px)/.8 var(--font-display); letter-spacing: -.04em; }
.rw-media-stage__copy p { color: #5d7279; font-size: 13px; line-height: 1.85; }
.rw-media-stage__copy .rw-button { margin-top: 24px; color: #0b7283; border-color: #0b7283; }
.rw-media-stage__player { position: relative; padding: 12px; border: 1px solid #b6cbcf; background: #dce9eb; }
.rw-media-stage__player video { display: block; width: 100%; aspect-ratio: 16/9; background: #000; object-fit: cover; }
.rw-media-stage__player > div { display: flex; justify-content: space-between; padding: 13px 4px 2px; color: #536970; font: 800 8px/1 var(--font-body); letter-spacing: .14em; }
.rw-media-stage__player b { color: #087f92; }

.rw-archive-channels { padding: 135px clamp(28px,6vw,110px); color: #07131a; background: #eaf4f5; }
.rw-archive-channels .rw-section-label { color: #087d91; }
.rw-archive-channels .rw-section-heading > p { color: #61767d; }
.rw-archive-channel-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #b9cdd1; }
.rw-archive-channel-grid article { min-height: 390px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid #b9cdd1; }
.rw-archive-channel-grid article:last-child { border-right: 0; }
.rw-archive-channel-grid span { color: #0a8da2; font: 900 9px/1 var(--font-body); letter-spacing: .17em; }
.rw-archive-channel-grid h3 { margin: auto 0 16px; font: 900 37px/.88 var(--font-display); }
.rw-archive-channel-grid p { color: #60757c; font-size: 11px; line-height: 1.75; }
.rw-archive-channel-grid small { margin-top: 22px; padding-top: 17px; border-top: 1px solid #c5d5d8; color: #73878d; font: 800 7px/1 var(--font-body); letter-spacing: .14em; }

.rw-media-callout { min-height: 690px; display: grid; grid-template-columns: 1fr 1fr; background: #061118; }
.rw-media-callout__visual { background-image: linear-gradient(90deg,transparent,#061118),var(--media-callout-image); background-size: cover; background-position: center; }
.rw-media-callout__copy { display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(28px,7vw,105px) 80px 20px; }
.rw-media-callout__copy h2 { margin: 18px 0 25px; font: 900 clamp(58px,6vw,102px)/.8 var(--font-display); letter-spacing: -.045em; }
.rw-media-callout__copy > p { color: #91a5ad; font-size: 13px; line-height: 1.85; }
.rw-media-callout .rw-chip-list span { color: var(--rw-cyan); }

/* Join */
.rw-entry__steps--five { grid-template-columns: repeat(5,1fr); }
.rw-readiness { padding: 135px clamp(28px,6vw,110px); background: #061118; }
.rw-readiness__intro { max-width: 1000px; margin-bottom: 65px; }
.rw-readiness__intro h2 { margin: 18px 0 25px; font: 900 clamp(58px,6vw,104px)/.8 var(--font-display); letter-spacing: -.045em; }
.rw-readiness__intro p { max-width: 720px; color: #91a5ad; font-size: 13px; line-height: 1.85; }
.rw-readiness__grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--rw-line); }
.rw-readiness__grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--rw-line); border-bottom: 1px solid var(--rw-line); display: flex; flex-direction: column; }
.rw-readiness__grid article:nth-child(3n) { border-right: 0; }
.rw-readiness__grid article:nth-last-child(-n+3) { border-bottom: 0; }
.rw-readiness__grid b { color: rgba(34,211,238,.4); font: 900 43px/1 var(--font-display); }
.rw-readiness__grid h3 { margin: auto 0 16px; font: 900 33px/.9 var(--font-display); }
.rw-readiness__grid p { margin: 0; color: #8ea2a9; font-size: 11px; line-height: 1.75; }

.rw-access-status { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,120px); align-items: center; padding: 135px clamp(28px,7vw,132px); color: #07131a; background: #eaf4f5; }
.rw-access-status__panel { border: 1px solid #b9cdd1; }
.rw-access-status__panel > div { min-height: 100px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px; border-bottom: 1px solid #b9cdd1; }
.rw-access-status__panel > div:last-child { border-bottom: 0; }
.rw-access-status__panel span { color: #6a8087; font: 800 8px/1 var(--font-body); letter-spacing: .17em; }
.rw-access-status__panel strong { color: #0a8497; font: 900 27px/1 var(--font-display); text-align: right; }
.rw-access-status__copy .rw-section-label { color: #087d91; }
.rw-access-status__copy h2 { margin: 18px 0 25px; font: 900 clamp(58px,6vw,100px)/.8 var(--font-display); letter-spacing: -.04em; }
.rw-access-status__copy p { color: #5d737a; font-size: 13px; line-height: 1.85; }

/* Phase 3 responsive */
@media (max-width: 1240px) {
    .rw-nav { gap: 22px; }
    .rw-brand { min-width: 195px; }
    .rw-nav__actions { min-width: 190px; }
    .rw-nav__status { display: none; }
    .rw-explore-grid { grid-template-columns: repeat(2,1fr); }
    .rw-explore-card--wide { grid-column: span 2; }
    .rw-home-pulse { grid-template-columns: 1fr; }
    .rw-principle-grid, .rw-progression__grid, .rw-archive-channel-grid { grid-template-columns: repeat(2,1fr); }
    .rw-principle-grid article:nth-child(2), .rw-progression__grid article:nth-child(2), .rw-archive-channel-grid article:nth-child(2) { border-right: 0; }
    .rw-principle-grid article:nth-child(-n+2), .rw-progression__grid article:nth-child(-n+2), .rw-archive-channel-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--rw-line); }
    .rw-district-card { grid-template-columns: 1fr; grid-template-rows: 260px 1fr; }
    .rw-training-track { grid-template-columns: 1fr 1fr; }
    .rw-training-track__status { grid-column: 1 / -1; }
    .rw-entry__steps--five { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 980px) {
    .rw-page-hero { min-height: 760px; height: auto; padding: 155px 55px 130px; }
    .rw-page-hero__content { max-width: 100%; }
    .rw-page-hero__meta { left: 55px; right: 24px; }
    .rw-home-intro, .rw-feature-film, .rw-story-cycle, .rw-transit-grid, .rw-media-stage, .rw-access-status { grid-template-columns: 1fr; }
    .rw-home-intro__visual { min-height: 500px; }
    .rw-home-pulse__grid { grid-template-columns: 1fr; }
    .rw-home-pulse__grid article { min-height: 230px; border-right: 0; border-bottom: 1px solid #bdcfd3; }
    .rw-home-pulse__grid article:last-child { border-bottom: 0; }
    .rw-feature-film__media { min-height: 520px; }
    .rw-feature-film__media:after { background: linear-gradient(0deg,#061118,transparent 35%); }
    .rw-feature-film__copy { padding: 60px 24px 100px; }
    .rw-principle-grid, .rw-progression__grid, .rw-archive-channel-grid { grid-template-columns: 1fr 1fr; }
    .rw-story-cycle__track { margin-top: 20px; }
    .rw-page-linkout { grid-template-columns: 1fr; }
    .rw-district-grid { grid-template-columns: 1fr; }
    .rw-transit-grid__map { min-height: 480px; }
    .rw-life-stream__feature { grid-template-columns: 1fr; }
    .rw-life-stream__feature--reverse .rw-life-stream__image { order: 0; }
    .rw-life-stream__image { min-height: 520px; }
    .rw-department-card--wide { grid-template-columns: 1fr; grid-template-rows: 300px 1fr; }
    .rw-training-track { grid-template-columns: 1fr; }
    .rw-training-track__status { grid-column: auto; }
    .rw-media-callout { grid-template-columns: 1fr; }
    .rw-media-callout__visual { min-height: 520px; background-image: linear-gradient(0deg,#061118,transparent 45%),var(--media-callout-image); }
    .rw-media-callout__copy { padding: 30px 24px 100px; }
    .rw-entry__steps--five { grid-template-columns: repeat(2,1fr); }
    .rw-readiness__grid { grid-template-columns: repeat(2,1fr); }
    .rw-readiness__grid article:nth-child(3n) { border-right: 1px solid var(--rw-line); }
    .rw-readiness__grid article:nth-child(2n) { border-right: 0; }
    .rw-readiness__grid article:nth-last-child(-n+3) { border-bottom: 1px solid var(--rw-line); }
    .rw-readiness__grid article:nth-last-child(-n+2) { border-bottom: 0; }
}

@media (max-width: 680px) {
    .rw-page-hero { min-height: 760px; padding: 135px 18px 130px 40px; }
    .rw-page-hero__rail { left: 11px; }
    .rw-page-hero__crumb { margin-bottom: 30px; }
    .rw-page-hero h1 { font-size: clamp(63px,18vw,92px); }
    .rw-page-hero__content > p { font-size: 13px; }
    .rw-page-hero__actions { display: grid; }
    .rw-page-hero__meta { left: 40px; right: 18px; grid-template-columns: 1fr; }
    .rw-page-hero__meta > div { display: none; }
    .rw-page-hero__meta > div:first-child { display: block; }
    .rw-home-intro, .rw-explore, .rw-home-pulse, .rw-principles, .rw-story-cycle, .rw-district-ledger, .rw-transit-grid, .rw-progression, .rw-department-directory, .rw-training-track, .rw-media-stage, .rw-archive-channels, .rw-readiness, .rw-access-status { padding: 82px 18px; }
    .rw-home-intro__index { display: none; }
    .rw-home-intro__visual { min-height: 420px; }
    .rw-explore-grid { grid-template-columns: 1fr; grid-auto-rows: 430px; }
    .rw-explore-card--wide { grid-column: auto; }
    .rw-explore-card { padding: 23px; }
    .rw-explore-card h3 { font-size: 48px; }
    .rw-home-pulse__grid article { padding: 23px; }
    .rw-feature-film__media { min-height: 400px; }
    .rw-feature-film__media button { width: 72px; height: 72px; }
    .rw-principle-grid, .rw-progression__grid, .rw-archive-channel-grid { grid-template-columns: 1fr; }
    .rw-principle-grid article, .rw-progression__grid article, .rw-archive-channel-grid article { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--rw-line); }
    .rw-principle-grid article:last-child, .rw-progression__grid article:last-child, .rw-archive-channel-grid article:last-child { border-bottom: 0; }
    .rw-story-cycle__track li { grid-template-columns: 55px 1fr; }
    .rw-page-linkout { min-height: 620px; padding: 80px 18px; }
    .rw-page-linkout h2 { font-size: 53px; }
    .rw-district-card { min-height: 0; }
    .rw-district-card__body { padding: 24px; }
    .rw-district-card__lists { grid-template-columns: 1fr; }
    .rw-transit-grid__map { min-height: 400px; }
    .rw-transit-grid__map i small { display: none; }
    .rw-life-stream__image { min-height: 400px; }
    .rw-life-stream__copy { padding: 70px 18px; }
    .rw-department-grid { grid-template-columns: 1fr; }
    .rw-department-card--wide { grid-column: auto; }
    .rw-department-card { min-height: 560px; }
    .rw-media-stage__player > div { display: grid; gap: 8px; }
    .rw-media-callout__visual { min-height: 400px; }
    .rw-entry__steps--five { grid-template-columns: 1fr; }
    .rw-readiness__grid { grid-template-columns: 1fr; }
    .rw-readiness__grid article, .rw-readiness__grid article:nth-child(3n), .rw-readiness__grid article:nth-child(2n), .rw-readiness__grid article:nth-last-child(-n+3), .rw-readiness__grid article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--rw-line); }
    .rw-readiness__grid article:last-child { border-bottom: 0; }
    .rw-access-status__panel > div { display: grid; }
    .rw-access-status__panel strong { text-align: left; }
}


/* ========================================================================== 
   RIDGEWATERRP PURPLE + CYAN THEME — PHASE 4
   ========================================================================== */
:root {
    --purple: #8b5cf6;
    --purple-deep: #4c1d95;
    --purple-dark: #170b2e;
    --cyan: #22d3ee;
    --cyan-soft: #8be9f7;
    --theme-glow: 0 0 32px rgba(139,92,246,.20), 0 0 22px rgba(34,211,238,.12);
}
body,
.home-v2 { background: #05030c; }
.boot-screen,
.cinematic-backdrop,
.intel-section,
.paths-section,
.main-footer,
.launch-footer { background-color: #05030c; }
.video-shade,
.rw-hero__shade {
    background:
      radial-gradient(circle at 72% 34%, rgba(34,211,238,.13), transparent 28%),
      radial-gradient(circle at 28% 48%, rgba(139,92,246,.22), transparent 38%),
      linear-gradient(90deg, rgba(5,3,12,.96), rgba(17,8,34,.72) 50%, rgba(2,18,28,.48));
}
.topographic-grid,
.rw-hero__contours { filter: hue-rotate(36deg) saturate(1.25); }
.button--primary,
.preview-ribbon,
.rw-nav__connect:hover,
.rw-button--primary,
.rw-pill--active,
.progress-fill {
    background: linear-gradient(110deg, var(--purple), var(--cyan));
    border-color: transparent;
    color: #07030f;
    box-shadow: var(--theme-glow);
}
.button:hover,
.rw-button:hover,
.intel-card:hover,
.path-cards article:hover:before,
.rw-card:hover,
.atlas-card:hover,
.department-card:hover,
.media-card:hover { border-color: rgba(34,211,238,.66); }
.status-pulse,
.home-hero__signal span,
.rw-nav__status i {
    background: var(--cyan);
    box-shadow: 0 0 0 7px rgba(139,92,246,.10), 0 0 22px rgba(34,211,238,.72);
}
.notify-section {
    background:
      radial-gradient(circle at 82% 30%, rgba(34,211,238,.34), transparent 34%),
      linear-gradient(112deg, #170b2e 0%, #5b21b6 56%, #0891b2 100%);
}
.media-section {
    background:
      radial-gradient(circle at 76% 18%, rgba(34,211,238,.12), transparent 30%),
      linear-gradient(130deg, #090414, #1b0d35 58%, #071f2c);
}
.world-section,
.community-section {
    background: linear-gradient(135deg, #f6f2ff 0%, #edfaff 100%);
}
.section-code,
.world-stat-grid strong,
.community-section span,
.intel-card__index,
.telemetry-list strong,
.rw-kicker strong,
.rw-section-code { color: var(--purple); }
a:hover,
.rw-nav__links a:hover { color: var(--cyan); }
.brand-lockup img,
.rw-brand img,
.hero-emblem {
    filter: drop-shadow(0 0 18px rgba(139,92,246,.25)) drop-shadow(0 0 16px rgba(34,211,238,.16));
}
.rw-card,
.atlas-card,
.department-card,
.media-card,
.launch-telemetry,
.countdown-panel {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 22px 70px rgba(5,3,12,.32);
}
::selection { background: var(--purple); color: #fff; }

/* ========================================================================== 
   RIDGEWATERRP COMMUNITY NETWORK — PHASE 5
   Interactive atlas, district profiles, characters, directory and applications
   ========================================================================== */
button, input, textarea, select { font: inherit; }
textarea, select, input { color-scheme: dark; }

/* Navigation expansion */
.rw-nav { gap: 28px; }
.rw-brand { min-width: 205px; }
.rw-nav__links { gap: clamp(12px,1.45vw,25px); }
.rw-nav-more { position: relative; }
.rw-nav-more summary { list-style: none; cursor: pointer; color: #c1cfd4; font: 700 9px/1 var(--font-body); letter-spacing: .18em; }
.rw-nav-more summary::-webkit-details-marker { display: none; }
.rw-nav-more summary span { color: var(--cyan); margin-left: 4px; }
.rw-nav-more.is-active summary, .rw-nav-more[open] summary { color: #fff; }
.rw-nav-more > div { position: absolute; top: 30px; right: 0; width: 205px; padding: 10px; display: grid; gap: 2px; border: 1px solid var(--rw-line); background: rgba(8,4,18,.98); box-shadow: 0 24px 60px rgba(0,0,0,.4); }
.rw-nav-more:not([open]) > div { display: none; }
.rw-nav-more > div a { padding: 13px 12px; border: 1px solid transparent; }
.rw-nav-more > div a:after { display: none; }
.rw-nav-more > div a:hover { border-color: rgba(34,211,238,.3); background: rgba(34,211,238,.06); }
.rw-nav__login { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid rgba(139,92,246,.45); color: #d9ceff; font: 800 8px/1 var(--font-body); letter-spacing: .15em; white-space: nowrap; }
.rw-nav__login:hover { border-color: var(--cyan); color: var(--cyan); }
.rw-account-menu { position: relative; }
.rw-account-menu summary { min-width: 170px; list-style: none; display: flex; align-items: center; gap: 9px; cursor: pointer; }
.rw-account-menu summary::-webkit-details-marker { display: none; }
.rw-account-menu summary img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(34,211,238,.5); }
.rw-account-menu summary span { min-width: 0; display: grid; gap: 3px; }
.rw-account-menu summary small { color: #786e8d; font: 700 6px/1 var(--font-body); letter-spacing: .13em; }
.rw-account-menu summary strong { max-width: 110px; overflow: hidden; text-overflow: ellipsis; color: #fff; font: 800 12px/1 var(--font-display); white-space: nowrap; }
.rw-account-menu > div { position: absolute; top: 46px; right: 0; width: 220px; display: grid; padding: 10px; border: 1px solid var(--rw-line); background: rgba(8,4,18,.98); box-shadow: 0 24px 60px rgba(0,0,0,.4); }
.rw-account-menu:not([open]) > div { display: none; }
.rw-account-menu a, .rw-account-menu button { padding: 13px 11px; color: #cfc3eb; background: transparent; border: 0; text-align: left; cursor: pointer; font: 800 8px/1 var(--font-body); letter-spacing: .15em; }
.rw-account-menu a:hover, .rw-account-menu button:hover { color: var(--cyan); background: rgba(34,211,238,.06); }
.rw-account-menu form { margin: 0; }
.rw-account-menu form button { width: 100%; }

/* Flash messages */
.rw-flash-stack { position: fixed; z-index: 200; top: 112px; right: 22px; width: min(430px,calc(100vw - 36px)); display: grid; gap: 9px; }
.rw-flash { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 16px; border: 1px solid var(--rw-line); background: rgba(8,4,18,.96); box-shadow: 0 20px 50px rgba(0,0,0,.38); }
.rw-flash > span { color: var(--cyan); font: 800 7px/1 var(--font-body); letter-spacing: .17em; }
.rw-flash p { margin: 0; color: #d8d1e7; font-size: 11px; line-height: 1.55; }
.rw-flash button { color: #8e829f; border: 0; background: transparent; cursor: pointer; font-size: 20px; }
.rw-flash--error { border-color: rgba(228,65,81,.55); }
.rw-flash--error > span { color: #ff7482; }
.rw-flash--success { border-color: rgba(34,211,238,.55); }

/* Shared simple state */
.rw-simple-state { min-height: 100vh; display: grid; place-content: center; justify-items: start; padding: 150px clamp(22px,7vw,130px); background: radial-gradient(circle at 72% 30%,rgba(34,211,238,.09),transparent 25%),linear-gradient(135deg,#070411,#15092b); }
.rw-simple-state > span { color: var(--cyan); font: 800 8px/1 var(--font-body); letter-spacing: .2em; }
.rw-simple-state h1 { max-width: 930px; margin: 18px 0 20px; font: 900 clamp(62px,8vw,130px)/.79 var(--font-display); }
.rw-simple-state p { max-width: 650px; margin: 0 0 28px; color: #a69db7; line-height: 1.8; }

/* Home featured citizen */
.rw-home-featured { min-height: 570px; display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(40px,7vw,100px); align-items: center; padding: 100px clamp(28px,7vw,132px); position: relative; overflow: hidden; background-image: linear-gradient(90deg,rgba(8,4,17,.97),rgba(18,8,38,.88) 58%,rgba(4,22,31,.72)),var(--home-featured-image); background-size: cover; background-position: center; }
.rw-home-featured:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 55%,rgba(34,211,238,.08)); }
.rw-home-featured__mark { position: relative; z-index: 1; min-height: 310px; display:grid; place-content:center; justify-items:center; border:1px solid rgba(188,160,255,.28); background:rgba(8,4,18,.56); backdrop-filter:blur(10px); }
.rw-home-featured__mark span { font:900 clamp(90px,12vw,180px)/.7 var(--font-display); color:transparent; -webkit-text-stroke:1px rgba(34,211,238,.7); }
.rw-home-featured__mark b { margin-top:25px; color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.22em; }
.rw-home-featured > div:last-child { position:relative; z-index:1; }
.rw-home-featured h2 { margin:16px 0 3px; font:900 clamp(58px,7vw,118px)/.78 var(--font-display); }
.rw-home-featured small { color:#9e91b8; font:800 8px/1 var(--font-body); letter-spacing:.18em; }
.rw-home-featured p { max-width:700px; margin:30px 0 0; color:#d6cfe3; font:500 clamp(17px,1.8vw,25px)/1.5 var(--font-body); }
.rw-home-featured .rw-text-link { color:#fff; }

/* Interactive map */
.rw-map-section { padding: 130px clamp(22px,5vw,90px); color:#eaf6f8; background:radial-gradient(circle at 80% 15%,rgba(34,211,238,.08),transparent 28%),linear-gradient(135deg,#070411,#120824 60%,#051720); }
.rw-map-toolbar { display:flex; justify-content:space-between; gap:24px; align-items:center; margin:0 0 18px; }
.rw-map-toolbar > div { display:flex; flex-wrap:wrap; gap:7px; }
.rw-map-toolbar button, .rw-directory-filters button, .rw-directory-controls button { min-height:38px; padding:0 14px; border:1px solid rgba(188,160,255,.2); color:#9c91af; background:rgba(7,4,15,.58); cursor:pointer; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-map-toolbar button:hover, .rw-map-toolbar button.is-active, .rw-directory-filters button:hover, .rw-directory-filters button.is-active, .rw-directory-controls button:hover, .rw-directory-controls button.is-active { color:#061017; border-color:transparent; background:linear-gradient(110deg,var(--purple),var(--cyan)); }
.rw-map-toolbar > span { display:inline-flex; align-items:center; gap:9px; color:#776e89; font:800 7px/1 var(--font-body); letter-spacing:.16em; white-space:nowrap; }
.rw-map-toolbar > span i { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 14px var(--cyan); }
.rw-city-map-shell { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.45fr); min-height:690px; border:1px solid rgba(188,160,255,.22); background:#070411; box-shadow:0 35px 100px rgba(0,0,0,.35); }
.rw-city-map { position:relative; min-width:0; overflow:hidden; border-right:1px solid rgba(188,160,255,.18); }
.rw-city-map svg { width:100%; height:100%; min-height:690px; display:block; }
.rw-city-map__district { cursor:pointer; outline:none; }
.rw-city-map__district path { stroke:rgba(178,146,255,.38); stroke-width:2; transition:fill .25s ease,stroke .25s ease,filter .25s ease; }
.rw-city-map__district:hover path, .rw-city-map__district:focus path { fill:#24104a; stroke:#22d3ee; filter:url(#mapGlow); }
.rw-city-map__district text { pointer-events:none; fill:#8f84a3; font-family:var(--font-body); font-size:9px; font-weight:800; letter-spacing:1.3px; }
.rw-city-map__district text tspan:first-child { fill:#22d3ee; font-size:7px; }
.rw-map-roads path { stroke-width:3; stroke-dasharray:8 10; }
.rw-map-water--core { stroke-dasharray:9 13; animation:rwRiver 12s linear infinite; }
@keyframes rwRiver { to { stroke-dashoffset:-220; } }
.rw-map-pin { cursor:pointer; outline:none; transition:opacity .2s ease; }
.rw-map-pin circle:first-child { fill:#100722; stroke:#22d3ee; stroke-width:2; filter:url(#mapGlow); }
.rw-map-pin circle:nth-child(2) { fill:#8b5cf6; }
.rw-map-pin text { fill:#fff; font-family:var(--font-body); font-size:8px; font-weight:800; letter-spacing:1px; }
.rw-map-pin:hover circle:first-child, .rw-map-pin:focus circle:first-child, .rw-map-pin.is-active circle:first-child { fill:#22d3ee; stroke:#fff; }
.rw-map-pin:hover circle:nth-child(2), .rw-map-pin:focus circle:nth-child(2), .rw-map-pin.is-active circle:nth-child(2) { fill:#05030c; }
.rw-map-pin.is-hidden { opacity:.09; pointer-events:none; }
.rw-map-compass circle { fill:rgba(5,3,12,.8); stroke:rgba(34,211,238,.45); }
.rw-map-compass path { fill:#8b5cf6; stroke:#22d3ee; }
.rw-map-compass text { fill:#22d3ee; font:800 9px var(--font-body); }
.rw-city-map__coordinates { position:absolute; left:16px; right:16px; bottom:14px; display:flex; gap:18px; padding:11px 13px; border:1px solid rgba(188,160,255,.17); background:rgba(5,3,12,.78); color:#766d88; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-city-map__coordinates b { margin-left:auto; color:var(--cyan); }
.rw-map-intel { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,55px); background:linear-gradient(180deg,#0b0615,#090414); }
.rw-map-intel > div > span { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.19em; }
.rw-map-intel h3 { margin:17px 0 18px; font:900 clamp(42px,4.5vw,72px)/.82 var(--font-display); }
.rw-map-intel p { margin:0; color:#9a91aa; font-size:12px; line-height:1.8; }
.rw-map-intel dl { display:grid; margin:30px 0 0; border-top:1px solid rgba(188,160,255,.17); }
.rw-map-intel dl div { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid rgba(188,160,255,.13); }
.rw-map-intel dt { color:#6f667f; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-map-intel dd { margin:0; color:#dcd4e9; font:800 10px/1 var(--font-body); letter-spacing:.08em; text-align:right; }
.rw-map-intel a { display:inline-flex; align-items:center; gap:15px; margin-top:30px; color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.17em; }
.rw-district-directory { padding:130px clamp(22px,6vw,110px); color:#07131a; background:linear-gradient(135deg,#f6f2ff,#edfaff); }
.rw-district-profile-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#c7d2dd; border:1px solid #c7d2dd; }
.rw-district-profile-card { min-height:520px; position:relative; display:flex; flex-direction:column; justify-content:end; padding:34px; overflow:hidden; isolation:isolate; color:#fff; }
.rw-district-profile-card:before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--district-profile-image); background-size:cover; background-position:center; filter:saturate(.68) contrast(1.12); transition:transform .5s ease; }
.rw-district-profile-card:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(5,3,12,.1),rgba(5,3,12,.96)); }
.rw-district-profile-card:hover:before { transform:scale(1.05); }
.rw-district-profile-card > div { display:flex; justify-content:space-between; gap:15px; color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-district-profile-card > div b { color:#c6b4ff; }
.rw-district-profile-card h3 { margin:18px 0 12px; font:900 clamp(54px,5vw,84px)/.78 var(--font-display); }
.rw-district-profile-card p { max-width:650px; margin:0 0 24px; color:#b8adca; font-size:12px; line-height:1.75; }
.rw-district-profile-card > strong { font:800 8px/1 var(--font-body); letter-spacing:.16em; }
.rw-district-profile-card > strong i { color:var(--cyan); font-style:normal; }

/* District profile */
.rw-district-hero { min-height:850px; position:relative; display:flex; align-items:flex-end; padding:170px clamp(28px,7vw,132px) 125px; isolation:isolate; background-image:var(--district-hero-image); background-size:cover; background-position:center; }
.rw-district-hero__shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,3,12,.97),rgba(14,6,31,.74) 56%,rgba(4,22,31,.32)),linear-gradient(0deg,#05030c,transparent 50%); }
.rw-district-hero__content { max-width:1050px; }
.rw-district-hero h1 { margin:18px 0 12px; font:900 clamp(80px,11vw,180px)/.72 var(--font-display); }
.rw-district-hero blockquote { max-width:750px; margin:25px 0 0; color:#dcd4e8; font:500 clamp(18px,2.1vw,30px)/1.5 var(--font-body); }
.rw-district-hero > dl { position:absolute; left:clamp(28px,7vw,132px); right:clamp(28px,7vw,132px); bottom:24px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); }
.rw-district-hero > dl div { padding:17px 20px 0; border-left:1px solid rgba(255,255,255,.12); }
.rw-district-hero > dl div:first-child { border-left:0; padding-left:0; }
.rw-district-hero dt { color:#756c87; font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-district-hero dd { margin:8px 0 0; font:800 15px/1 var(--font-display); letter-spacing:.08em; }
.rw-district-brief, .rw-character-story { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,130px); padding:120px clamp(28px,7vw,132px); color:#07131a; background:linear-gradient(135deg,#f6f2ff,#edfaff); }
.rw-district-brief h2, .rw-character-story h2 { margin:18px 0 0; font:900 clamp(55px,6vw,100px)/.8 var(--font-display); }
.rw-district-brief p, .rw-character-story p { color:#5c6678; font-size:13px; line-height:1.9; }
.rw-district-brief__lead, .rw-character-story__lead { margin-top:0!important; color:#151026!important; font-size:clamp(18px,2vw,27px)!important; line-height:1.6!important; }
.rw-district-data-grid, .rw-character-pressure-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rw-line); border-bottom:1px solid var(--rw-line); background:#090414; }
.rw-district-data-grid article, .rw-character-pressure-grid article { min-height:480px; padding:50px clamp(24px,4vw,64px); border-right:1px solid var(--rw-line); }
.rw-district-data-grid article:last-child, .rw-character-pressure-grid article:last-child { border-right:0; }
.rw-district-data-grid span, .rw-character-pressure-grid span { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.19em; }
.rw-district-data-grid h3, .rw-character-pressure-grid h3 { margin:20px 0 35px; font:900 clamp(35px,3vw,54px)/.85 var(--font-display); }
.rw-district-data-grid p, .rw-character-pressure-grid p { margin:0; padding:15px 0; border-top:1px solid rgba(188,160,255,.14); color:#b3a9c3; font-size:11px; line-height:1.6; }
.rw-landmark-ledger { padding:130px clamp(28px,6vw,110px); color:#07131a; background:#eef7f8; }
.rw-landmark-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #c3d3d7; }
.rw-landmark-grid article { min-height:360px; padding:27px; border-right:1px solid #c3d3d7; }
.rw-landmark-grid article:last-child { border-right:0; }
.rw-landmark-grid article > div { display:flex; justify-content:space-between; gap:12px; color:#6c7c84; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-landmark-grid article > div span { color:#7c3aed; }
.rw-landmark-grid h3 { margin:70px 0 18px; font:900 clamp(36px,3vw,50px)/.83 var(--font-display); }
.rw-landmark-grid p { margin:0; color:#64747b; font-size:11px; line-height:1.75; }
.rw-district-connections { padding:130px clamp(28px,6vw,110px); background:#090414; }
.rw-district-connections__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(188,160,255,.2); }
.rw-district-connections__grid a { min-height:360px; display:flex; flex-direction:column; justify-content:end; padding:28px; position:relative; isolation:isolate; overflow:hidden; }
.rw-district-connections__grid a:before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--connection-image); background-size:cover; background-position:center; filter:saturate(.6); transition:transform .4s ease; }
.rw-district-connections__grid a:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent,rgba(5,3,12,.95)); }
.rw-district-connections__grid a:hover:before { transform:scale(1.05); }
.rw-district-connections__grid span { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-district-connections__grid h3 { margin:14px 0 8px; font:900 46px/.82 var(--font-display); }
.rw-district-connections__grid p { margin:0; color:#b8aec7; font-size:10px; }

/* Character showcase */
.rw-featured-character { min-height:670px; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,8vw,120px); align-items:center; padding:110px clamp(28px,7vw,132px); position:relative; isolation:isolate; overflow:hidden; background-image:linear-gradient(90deg,rgba(7,4,15,.97),rgba(22,9,45,.86),rgba(4,24,33,.72)),var(--featured-image); background-size:cover; background-position:center; }
.rw-featured-character__portrait { min-height:430px; display:grid; place-content:center; justify-items:center; border:1px solid rgba(188,160,255,.28); background:rgba(7,4,15,.58); backdrop-filter:blur(10px); }
.rw-featured-character__portrait span { font:900 clamp(120px,17vw,250px)/.65 var(--font-display); color:transparent; -webkit-text-stroke:1.4px rgba(34,211,238,.7); }
.rw-featured-character__portrait b { margin-top:45px; color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.22em; }
.rw-featured-character__copy h2 { margin:18px 0 5px; font:900 clamp(66px,8vw,130px)/.75 var(--font-display); }
.rw-featured-character__copy > small { color:#9d90b4; font:800 8px/1 var(--font-body); letter-spacing:.18em; }
.rw-featured-character__copy blockquote { max-width:760px; margin:34px 0 20px; color:#fff; font:500 clamp(18px,2vw,28px)/1.55 var(--font-body); }
.rw-featured-character__copy p { max-width:740px; margin:0; color:#b8aec7; font-size:13px; line-height:1.85; }
.rw-featured-character .rw-text-link { color:#fff; }
.rw-character-directory { padding:130px clamp(28px,6vw,110px); color:#07131a; background:linear-gradient(135deg,#f6f2ff,#edfaff); }
.rw-directory-filters { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:24px; }
.rw-character-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#cbd5df; border:1px solid #cbd5df; }
.rw-character-card { min-height:590px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:30px; isolation:isolate; overflow:hidden; color:#fff; }
.rw-character-card:before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--character-image); background-size:cover; background-position:center; filter:saturate(.55) contrast(1.18); transition:transform .5s ease; }
.rw-character-card:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(5,3,12,.35),rgba(5,3,12,.97)); }
.rw-character-card:hover:before { transform:scale(1.05); }
.rw-character-card.is-hidden { display:none; }
.rw-character-card__identity { display:flex; justify-content:space-between; align-items:start; }
.rw-character-card__identity span { width:66px; height:66px; display:grid; place-items:center; border:1px solid rgba(34,211,238,.55); color:var(--cyan); background:rgba(5,3,12,.65); font:900 27px/1 var(--font-display); }
.rw-character-card__identity b { padding:8px 10px; color:#080410; background:linear-gradient(110deg,var(--purple),var(--cyan)); font:800 7px/1 var(--font-body); letter-spacing:.15em; }
.rw-character-card__copy small { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-character-card__copy h3 { margin:16px 0 13px; font:900 clamp(56px,5.6vw,88px)/.75 var(--font-display); }
.rw-character-card__copy p { max-width:650px; margin:0 0 25px; color:#b9afc8; font-size:12px; line-height:1.75; }
.rw-character-card__copy strong { font:800 8px/1 var(--font-body); letter-spacing:.16em; }
.rw-character-card__copy strong i { color:var(--cyan); font-style:normal; }
.rw-character-submit-callout { min-height:480px; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; padding:100px clamp(28px,7vw,132px); background:radial-gradient(circle at 80% 30%,rgba(34,211,238,.12),transparent 26%),linear-gradient(115deg,#120824,#4c1d95 58%,#087b95); }
.rw-character-submit-callout h2 { margin:18px 0 22px; font:900 clamp(58px,6vw,100px)/.78 var(--font-display); }
.rw-character-submit-callout p { max-width:760px; margin:0; color:#ddd4ed; line-height:1.8; }

/* Character profile */
.rw-character-profile-hero { min-height:850px; position:relative; display:flex; align-items:flex-end; padding:170px clamp(28px,7vw,132px) 125px; isolation:isolate; background-image:var(--character-profile-image); background-size:cover; background-position:center; }
.rw-character-profile-hero__shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(5,3,12,.98),rgba(15,7,31,.75) 55%,rgba(4,22,31,.36)),linear-gradient(0deg,#05030c,transparent 50%); }
.rw-character-profile-hero__monogram { position:absolute; z-index:-1; right:5vw; top:18%; color:transparent; -webkit-text-stroke:1.5px rgba(34,211,238,.2); font:900 clamp(180px,27vw,430px)/.7 var(--font-display); }
.rw-character-profile-hero__copy { max-width:1040px; }
.rw-character-profile-hero h1 { margin:18px 0 15px; font:900 clamp(78px,10vw,170px)/.72 var(--font-display); }
.rw-character-profile-hero__copy > p { max-width:760px; margin:0; color:#d5cce4; font-size:clamp(17px,2vw,28px); line-height:1.55; }
.rw-character-profile-hero > dl { position:absolute; left:clamp(28px,7vw,132px); right:clamp(28px,7vw,132px); bottom:24px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); }
.rw-character-profile-hero > dl div { padding:17px 20px 0; border-left:1px solid rgba(255,255,255,.12); }
.rw-character-profile-hero > dl div:first-child { border-left:0; padding-left:0; }
.rw-character-profile-hero dt { color:#776c89; font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-character-profile-hero dd { margin:8px 0 0; font:800 15px/1 var(--font-display); letter-spacing:.05em; }
.rw-character-story blockquote { margin:30px 0 0; color:#7c3aed; font:600 clamp(17px,2vw,27px)/1.55 var(--font-body); }
.rw-character-district { min-height:500px; display:grid; grid-template-columns:1fr auto; gap:70px; align-items:center; padding:100px clamp(28px,7vw,132px); position:relative; isolation:isolate; background-image:linear-gradient(90deg,rgba(5,3,12,.97),rgba(17,8,35,.82),rgba(4,24,33,.65)),var(--character-district-image); background-size:cover; background-position:center; }
.rw-character-district span { color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.18em; }
.rw-character-district h2 { margin:15px 0 18px; font:900 clamp(62px,7vw,115px)/.76 var(--font-display); }
.rw-character-district p { max-width:760px; margin:0; color:#c5bbd5; line-height:1.8; }

/* Community directory */
.rw-community-feature { min-height:650px; display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(50px,8vw,120px); align-items:center; padding:110px clamp(28px,7vw,132px); position:relative; isolation:isolate; background-image:linear-gradient(90deg,rgba(5,3,12,.97),rgba(21,8,44,.86),rgba(4,22,31,.62)),var(--community-feature-image); background-size:cover; background-position:center; }
.rw-community-feature h2 { margin:18px 0 4px; font:900 clamp(66px,8vw,130px)/.75 var(--font-display); }
.rw-community-feature > div > small { color:#9f92b6; font:800 8px/1 var(--font-body); letter-spacing:.17em; }
.rw-community-feature blockquote { max-width:760px; margin:34px 0 18px; color:#fff; font:500 clamp(18px,2vw,28px)/1.55 var(--font-body); }
.rw-community-feature p { max-width:740px; margin:0; color:#bdb3cc; font-size:13px; line-height:1.85; }
.rw-community-feature .rw-text-link { color:#fff; }
.rw-community-feature aside { min-height:400px; display:grid; place-content:center; justify-items:center; border:1px solid rgba(188,160,255,.28); background:rgba(7,4,15,.58); backdrop-filter:blur(10px); text-align:center; }
.rw-community-feature aside span { font:900 clamp(120px,15vw,230px)/.65 var(--font-display); color:transparent; -webkit-text-stroke:1px rgba(34,211,238,.72); }
.rw-community-feature aside b { margin-top:45px; color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.22em; }
.rw-community-feature aside small { margin-top:14px; color:#736986; font:700 7px/1.5 var(--font-body); letter-spacing:.13em; }
.rw-community-directory { padding:130px clamp(28px,6vw,110px); color:#07131a; background:linear-gradient(135deg,#f6f2ff,#edfaff); }
.rw-directory-controls { display:grid; grid-template-columns:1fr minmax(260px,360px); gap:25px; align-items:end; margin-bottom:25px; }
.rw-directory-controls > div { display:flex; flex-wrap:wrap; gap:7px; }
.rw-directory-controls label { display:grid; gap:8px; }
.rw-directory-controls label span { color:#6c7683; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-directory-controls input { height:42px; padding:0 13px; border:1px solid #c5d3dd; color:#10131b; background:#fff; outline:none; }
.rw-directory-controls input:focus { border-color:#7c3aed; box-shadow:0 0 0 3px rgba(124,58,237,.1); }
.rw-community-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#c7d2dd; border:1px solid #c7d2dd; }
.rw-community-card { display:grid; grid-template-columns:.72fr 1.28fr; min-height:420px; background:#fff; }
.rw-community-card.is-hidden { display:none; }
.rw-community-card__image { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:20px; isolation:isolate; background-image:var(--community-image); background-size:cover; background-position:center; }
.rw-community-card__image:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(5,3,12,.25),rgba(5,3,12,.88)); }
.rw-community-card__image span, .rw-community-card__image b { color:#fff; font:800 7px/1 var(--font-body); letter-spacing:.15em; }
.rw-community-card__image b { width:max-content; padding:7px 8px; color:#07131a; background:var(--cyan); }
.rw-community-card__body { display:flex; flex-direction:column; padding:27px; }
.rw-community-card__body > small { color:#7c3aed; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-community-card__body h3 { margin:18px 0 14px; font:900 clamp(36px,3.6vw,58px)/.82 var(--font-display); }
.rw-community-card__body p { margin:0; color:#65737d; font-size:11px; line-height:1.75; }
.rw-community-card__body > div { display:flex; flex-wrap:wrap; gap:6px; margin-top:22px; }
.rw-community-card__body > div span { padding:7px 8px; border:1px solid #d6dce3; color:#6d7781; font:800 6px/1 var(--font-body); letter-spacing:.12em; }
.rw-community-card__body > a { margin-top:auto; padding-top:22px; color:#14101f; font:800 8px/1 var(--font-body); letter-spacing:.15em; }
.rw-community-card__body > a i { color:#7c3aed; font-style:normal; }
.rw-directory-empty { padding:80px; text-align:center; border:1px solid #c7d2dd; }
.rw-directory-empty span { color:#7c3aed; font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-directory-empty h3 { margin:16px 0 0; font:900 45px/.85 var(--font-display); }
.rw-community-paths { padding:120px clamp(28px,6vw,110px); background:#090414; }
.rw-community-paths > div:first-child { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:end; margin-bottom:60px; }
.rw-community-paths h2 { margin:18px 0 0; font:900 clamp(58px,6vw,105px)/.78 var(--font-display); }
.rw-community-paths > div:first-child p { margin:0; color:#a79db8; line-height:1.8; }
.rw-community-paths > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--rw-line); }
.rw-community-paths a { min-height:380px; display:flex; flex-direction:column; padding:30px; border-right:1px solid var(--rw-line); }
.rw-community-paths a:last-child { border-right:0; }
.rw-community-paths a > span { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-community-paths h3 { margin:auto 0 15px; font:900 clamp(42px,4vw,65px)/.8 var(--font-display); }
.rw-community-paths a p { margin:0 0 25px; color:#a99fb9; font-size:11px; line-height:1.7; }
.rw-community-paths a b { font:800 8px/1 var(--font-body); letter-spacing:.15em; }

/* Applications directory */
.rw-application-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(50px,8vw,120px); align-items:center; padding:110px clamp(28px,7vw,132px); color:#07131a; background:linear-gradient(135deg,#f6f2ff,#edfaff); }
.rw-application-intro h2 { margin:18px 0 22px; font:900 clamp(58px,6vw,104px)/.78 var(--font-display); }
.rw-application-intro p { max-width:700px; margin:0; color:#5f6b78; line-height:1.85; }
.rw-application-intro__status { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #c4d2dd; }
.rw-application-intro__status div { min-height:210px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; border-right:1px solid #c4d2dd; }
.rw-application-intro__status div:last-child { border-right:0; }
.rw-application-intro__status small { color:#75818c; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-application-intro__status strong { color:#7c3aed; font:900 clamp(25px,2.8vw,42px)/.82 var(--font-display); }
.rw-application-directory { padding:130px clamp(28px,6vw,110px); background:#090414; }
.rw-application-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--rw-line); }
.rw-application-card { min-height:500px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:26px; isolation:isolate; overflow:hidden; }
.rw-application-card:before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--application-image); background-size:cover; background-position:center; filter:saturate(.55) contrast(1.15); transition:transform .5s ease; }
.rw-application-card:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(5,3,12,.32),rgba(5,3,12,.98)); }
.rw-application-card:hover:before { transform:scale(1.05); }
.rw-application-card__top { display:flex; justify-content:space-between; gap:15px; color:#9f94b2; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-application-card__top b { color:var(--cyan); }
.rw-application-card__body small { color:#9b8bb8; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-application-card__body h3 { margin:17px 0 14px; font:900 clamp(50px,5vw,82px)/.78 var(--font-display); }
.rw-application-card__body p { max-width:680px; margin:0 0 26px; color:#b9afc8; font-size:12px; line-height:1.75; }
.rw-application-card__body a { color:#fff; font:800 8px/1 var(--font-body); letter-spacing:.17em; }
.rw-application-card__body a span { color:var(--cyan); }
.rw-application-process { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; padding:120px clamp(28px,7vw,132px); color:#07131a; background:#eef7f8; }
.rw-application-process h2 { margin:18px 0 0; font:900 clamp(54px,6vw,100px)/.78 var(--font-display); }
.rw-application-process ol { list-style:none; margin:0; padding:0; border-top:1px solid #c5d3dd; }
.rw-application-process li { display:grid; grid-template-columns:60px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid #c5d3dd; }
.rw-application-process li > b { color:#7c3aed; font:900 26px/1 var(--font-display); }
.rw-application-process li span { display:grid; gap:7px; }
.rw-application-process li strong { font:900 22px/1 var(--font-display); }
.rw-application-process li small { color:#687580; font-size:10px; line-height:1.55; }

/* Application form */
.rw-application-form-main, .rw-profile-submit-main, .rw-account-main { min-height:100vh; padding-top:117px; background:#070411; }
.rw-application-form-head, .rw-profile-submit-head, .rw-account-hero { min-height:540px; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; padding:100px clamp(28px,7vw,132px) 70px; position:relative; isolation:isolate; background-image:linear-gradient(90deg,rgba(5,3,12,.98),rgba(20,8,42,.82),rgba(4,22,31,.55)),var(--form-image); background-size:cover; background-position:center; }
.rw-application-form-head h1, .rw-profile-submit-head h1, .rw-account-hero h1 { margin:18px 0 20px; font:900 clamp(68px,8vw,135px)/.75 var(--font-display); }
.rw-application-form-head h1 em, .rw-profile-submit-head h1 em, .rw-account-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(34,211,238,.72); }
.rw-application-form-head > div > p, .rw-profile-submit-head > div > p, .rw-account-hero > div > p { max-width:780px; margin:0; color:#c1b8d0; line-height:1.8; }
.rw-application-form-head aside, .rw-profile-submit-head aside, .rw-account-hero aside { min-width:290px; display:flex; align-items:center; gap:16px; padding:20px; border:1px solid var(--rw-line); background:rgba(7,4,15,.72); backdrop-filter:blur(10px); }
.rw-application-form-head aside img, .rw-profile-submit-head aside img, .rw-account-hero aside img { width:64px; height:64px; border-radius:50%; object-fit:cover; border:1px solid var(--cyan); }
.rw-application-form-head aside span, .rw-profile-submit-head aside span, .rw-account-hero aside span { display:grid; gap:5px; }
.rw-application-form-head aside small, .rw-profile-submit-head aside small, .rw-account-hero aside small { color:#786e8b; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-application-form-head aside strong, .rw-profile-submit-head aside strong, .rw-account-hero aside strong { font:900 22px/1 var(--font-display); }
.rw-application-form-head aside b, .rw-profile-submit-head aside b, .rw-account-hero aside b { color:var(--cyan); font:700 9px/1 var(--font-body); }
.rw-application-form-shell { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:1px; max-width:1500px; margin:0 auto; background:var(--rw-line); }
.rw-application-form { padding:70px clamp(24px,5vw,78px); background:#0a0514; }
.rw-form-progress { margin-bottom:55px; }
.rw-form-progress > div { display:flex; justify-content:space-between; gap:20px; color:#8f84a2; font:800 7px/1 var(--font-body); letter-spacing:.16em; }
.rw-form-progress > div b { color:var(--cyan); }
.rw-form-progress > i { height:3px; display:block; margin:13px 0 11px; background:rgba(255,255,255,.08); overflow:hidden; }
.rw-form-progress > i span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--purple),var(--cyan)); transition:width .25s ease; }
.rw-form-progress > small { color:#6d657a; font-size:9px; }
.rw-form-alert { padding:17px; margin-bottom:25px; border:1px solid rgba(34,211,238,.4); color:#d9d0e8; background:rgba(34,211,238,.06); font-size:11px; line-height:1.6; }
.rw-form-alert--error { border-color:rgba(228,65,81,.55); background:rgba(228,65,81,.07); }
.rw-form-question { display:grid; grid-template-columns:60px 1fr; gap:25px; padding:38px 0; border-top:1px solid rgba(188,160,255,.15); }
.rw-form-question__number { color:#7c3aed; font:900 32px/1 var(--font-display); }
.rw-form-question__field label { display:block; color:#fff; font:900 clamp(24px,2.5vw,38px)/1 var(--font-display); }
.rw-form-question__field > p { margin:10px 0 0; color:#83798f; font-size:10px; line-height:1.55; }
.rw-form-question textarea, .rw-form-question input, .rw-form-question select, .rw-profile-field textarea, .rw-profile-field input, .rw-profile-field select { width:100%; margin-top:20px; padding:16px; border:1px solid rgba(188,160,255,.24); border-radius:0; color:#efeaf8; background:#070411; outline:none; font-size:12px; line-height:1.7; }
.rw-form-question input, .rw-form-question select, .rw-profile-field input, .rw-profile-field select { min-height:52px; }
.rw-form-question textarea:focus, .rw-form-question input:focus, .rw-form-question select:focus, .rw-profile-field textarea:focus, .rw-profile-field input:focus, .rw-profile-field select:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(34,211,238,.08); }
.rw-form-question__meta { display:flex; justify-content:space-between; gap:15px; margin-top:10px; color:#625a70; font:800 6px/1 var(--font-body); letter-spacing:.13em; }
.rw-form-question.has-error textarea, .rw-form-question.has-error input, .rw-form-question.has-error select, .rw-profile-field.has-error textarea, .rw-profile-field.has-error input, .rw-profile-field.has-error select { border-color:#e44151; }
.rw-field-error { display:block; margin-top:10px; color:#ff7482; font-size:10px; }
.rw-form-agreement { display:flex; gap:15px; align-items:flex-start; margin:35px 0; padding:20px; border:1px solid rgba(188,160,255,.2); cursor:pointer; }
.rw-form-agreement input { margin-top:4px; accent-color:#22d3ee; }
.rw-form-agreement span { display:grid; gap:7px; }
.rw-form-agreement strong { font:800 9px/1 var(--font-body); letter-spacing:.14em; }
.rw-form-agreement small { color:#7e758b; line-height:1.55; }
.rw-form-agreement.has-error { border-color:#e44151; }
.rw-form-submit { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:35px; border-top:1px solid rgba(188,160,255,.17); }
.rw-form-submit > span { display:grid; gap:6px; }
.rw-form-submit small { color:#6f657f; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-form-submit strong { font:900 24px/1 var(--font-display); }
.rw-application-sidebar { padding:45px 28px; background:#080410; }
.rw-application-sidebar > div { display:flex; justify-content:space-between; gap:15px; padding:18px 0; border-bottom:1px solid rgba(188,160,255,.14); }
.rw-application-sidebar span { color:#6f667d; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-application-sidebar strong { color:#d8d0e5; font:900 17px/1 var(--font-display); text-align:right; }
.rw-application-sidebar p { margin:35px 0 0; color:#786f85; font-size:10px; line-height:1.75; }

/* Discord login */
.rw-auth-shell { min-height:calc(100vh - 117px); display:grid; grid-template-columns:1.1fr .9fr; }
.rw-auth-shell__visual { display:flex; flex-direction:column; justify-content:end; padding:80px clamp(28px,7vw,110px); position:relative; isolation:isolate; background-image:linear-gradient(90deg,rgba(5,3,12,.93),rgba(18,7,38,.74),rgba(4,22,31,.42)),var(--auth-image); background-size:cover; background-position:center; }
.rw-auth-shell__visual > span { color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.2em; }
.rw-auth-shell__visual h1 { margin:18px 0 25px; font:900 clamp(70px,9vw,145px)/.75 var(--font-display); }
.rw-auth-shell__visual h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(34,211,238,.7); }
.rw-auth-shell__visual p { max-width:720px; margin:0; color:#c4bad4; line-height:1.85; }
.rw-auth-signal { display:flex; align-items:center; gap:10px; margin-top:28px; color:#d8d0e5; font:800 8px/1 var(--font-body); letter-spacing:.16em; }
.rw-auth-signal i { width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 17px var(--cyan); }
.rw-auth-shell__panel { display:flex; flex-direction:column; justify-content:center; padding:80px clamp(30px,5vw,80px); background:#0a0514; }
.rw-auth-shell__panel h2 { margin:18px 0 15px; font:900 clamp(48px,5vw,80px)/.82 var(--font-display); }
.rw-auth-shell__panel > p { margin:0 0 30px; color:#8b8199; font-size:12px; line-height:1.75; }
.rw-discord-button { min-height:82px; display:grid; grid-template-columns:48px 1fr auto; gap:16px; align-items:center; padding:15px; color:#fff; background:linear-gradient(110deg,#5865f2,#7c3aed); box-shadow:0 18px 45px rgba(88,101,242,.2); }
.rw-discord-mark { width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); font:900 25px/1 var(--font-display); }
.rw-discord-button > span:nth-child(2) { display:grid; gap:6px; }
.rw-discord-button strong { font:900 17px/1 var(--font-display); letter-spacing:.05em; }
.rw-discord-button small { color:#d9ddff; font-size:8px; }
.rw-discord-button > b { font-size:22px; }
.rw-setup-callout { padding:22px; border:1px solid rgba(228,65,81,.55); background:rgba(228,65,81,.06); }
.rw-setup-callout strong { color:#ff7482; font:800 8px/1 var(--font-body); letter-spacing:.16em; }
.rw-setup-callout p { color:#b5aabd; font-size:11px; line-height:1.7; }
.rw-setup-callout code { color:var(--cyan); }
.rw-setup-callout span { display:block; color:#7d728b; font:700 7px/1.5 var(--font-body); letter-spacing:.1em; word-break:break-all; }
.rw-auth-notes { display:grid; margin-top:35px; border-top:1px solid var(--rw-line); }
.rw-auth-notes > div { display:grid; grid-template-columns:40px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--rw-line); }
.rw-auth-notes > div > b { color:#7c3aed; font:900 22px/1 var(--font-display); }
.rw-auth-notes span { display:grid; gap:6px; }
.rw-auth-notes strong { font:900 16px/1 var(--font-display); }
.rw-auth-notes small { color:#746b82; font-size:9px; line-height:1.5; }

/* Applicant dashboard */
.rw-account-hero { background-image:radial-gradient(circle at 75% 30%,rgba(34,211,238,.1),transparent 24%),linear-gradient(110deg,#070411,#1a0a35 65%,#05202c); }
.rw-account-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:1px; max-width:1550px; margin:0 auto; background:var(--rw-line); }
.rw-account-grid__main { padding:65px clamp(24px,5vw,75px); background:#0a0514; }
.rw-account-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:35px; }
.rw-account-heading h2 { margin:13px 0 0; font:900 clamp(45px,5vw,78px)/.8 var(--font-display); }
.rw-empty-state { padding:70px 30px; border:1px solid var(--rw-line); text-align:center; }
.rw-empty-state > span { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.17em; }
.rw-empty-state h3 { margin:17px 0 14px; font:900 45px/.84 var(--font-display); }
.rw-empty-state p { color:#847a91; }
.rw-submission-list { display:grid; gap:14px; }
.rw-submission-card { border:1px solid var(--rw-line); background:#080410; }
.rw-submission-card__top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 18px; border-bottom:1px solid var(--rw-line); color:#70677e; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-status-badge { padding:8px 10px; color:#07131a; background:var(--cyan); }
.rw-status-badge--approved { background:#62e7b8; }
.rw-status-badge--denied { color:#fff; background:#e44151; }
.rw-status-badge--under_review { background:#c5a9ff; }
.rw-status-badge--needs_information { background:#f3c969; }
.rw-submission-card__body { display:grid; grid-template-columns:1fr auto; gap:30px; padding:27px; }
.rw-submission-card__body small { color:#6f667d; font:800 7px/1 var(--font-body); letter-spacing:.14em; }
.rw-submission-card__body h3 { margin:12px 0 7px; font:900 clamp(34px,3.5vw,55px)/.82 var(--font-display); }
.rw-submission-card__body p { margin:0; color:#7f758b; font-size:9px; }
.rw-submission-card__body dl { display:grid; grid-template-columns:repeat(2,120px); gap:1px; margin:0; background:var(--rw-line); }
.rw-submission-card__body dl div { padding:14px; background:#0c0717; }
.rw-submission-card__body dt { color:#686075; font:800 6px/1 var(--font-body); letter-spacing:.12em; }
.rw-submission-card__body dd { margin:9px 0 0; font:900 16px/1 var(--font-display); }
.rw-submission-card__details summary { list-style:none; display:flex; justify-content:space-between; gap:20px; padding:16px 20px; border-top:1px solid var(--rw-line); cursor:pointer; color:#b5aabd; font:800 7px/1 var(--font-body); letter-spacing:.15em; }
.rw-submission-card__details summary::-webkit-details-marker { display:none; }
.rw-submission-card__details summary span { color:var(--cyan); font-size:16px; }
.rw-submission-card__details > div { display:grid; gap:1px; background:var(--rw-line); }
.rw-submission-card__details section { padding:22px; background:#0a0514; }
.rw-submission-card__details section small { color:var(--cyan); font:800 7px/1 var(--font-body); letter-spacing:.13em; }
.rw-submission-card__details section p { margin:11px 0 0; color:#b8aec4; font-size:11px; line-height:1.75; }
.rw-account-grid__side { padding:40px 25px; background:#080410; }
.rw-account-grid__side > div { padding:18px 0; border-bottom:1px solid var(--rw-line); }
.rw-account-grid__side > div > span { display:block; color:#6c6379; font:800 7px/1 var(--font-body); letter-spacing:.13em; }
.rw-account-grid__side > div > strong { display:block; margin-top:9px; color:#d7cfe5; font:900 18px/1 var(--font-display); word-break:break-all; }
.rw-account-signal { display:flex!important; align-items:center; gap:11px; }
.rw-account-signal i { width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 16px var(--cyan); }
.rw-account-signal span { display:grid!important; gap:6px; }
.rw-account-grid__side > a { display:flex; justify-content:space-between; gap:15px; margin-top:30px; color:var(--cyan); font:800 8px/1 var(--font-body); letter-spacing:.15em; }

/* Character submission form */
.rw-profile-submit-head { --form-image:url('../img/ridgewater-og-cover.jpg'); background-image:radial-gradient(circle at 76% 28%,rgba(34,211,238,.1),transparent 25%),linear-gradient(110deg,#070411,#1a0a35 65%,#05202c); }
.rw-profile-form { max-width:1050px; margin:0 auto; padding:70px clamp(22px,5vw,70px); }
.rw-profile-field { padding:28px 0; border-top:1px solid var(--rw-line); }
.rw-profile-field label { display:block; font:900 clamp(25px,2.6vw,38px)/1 var(--font-display); }
.rw-profile-field > p { margin:9px 0 0; color:#7d748a; font-size:10px; }
.rw-profile-form__submit { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:35px; border-top:1px solid var(--rw-line); }
.rw-profile-form__submit p { max-width:520px; margin:0; color:#857b92; font-size:11px; line-height:1.7; }
.rw-profile-form__submit p strong { color:var(--cyan); }

/* Footer expansion */
.rw-footer__links { grid-template-columns:repeat(4,1fr); gap:25px; }

/* Phase 5 responsive */
@media (max-width: 1300px) {
    .rw-nav__connect { display:none; }
    .rw-account-menu summary { min-width:auto; }
    .rw-account-menu summary span { display:none; }
    .rw-city-map-shell { grid-template-columns:1fr; }
    .rw-city-map { border-right:0; border-bottom:1px solid var(--rw-line); }
    .rw-map-intel { min-height:360px; }
    .rw-landmark-grid { grid-template-columns:repeat(2,1fr); }
    .rw-landmark-grid article:nth-child(2) { border-right:0; }
    .rw-landmark-grid article:nth-child(-n+2) { border-bottom:1px solid #c3d3d7; }
    .rw-community-card { grid-template-columns:.6fr 1.4fr; }
    .rw-application-form-shell, .rw-account-grid { grid-template-columns:1fr; }
    .rw-application-sidebar, .rw-account-grid__side { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; padding:1px; background:var(--rw-line); }
    .rw-application-sidebar > div, .rw-account-grid__side > div { padding:20px; background:#080410; border:0; }
    .rw-application-sidebar p, .rw-account-grid__side > a { grid-column:1/-1; padding:20px; margin:0; background:#080410; }
}

@media (max-width: 1100px) {
    .rw-nav-more { width:100%; }
    .rw-nav-more summary { width:100%; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.07); }
    .rw-nav-more > div { position:static; width:100%; padding:0 0 8px 14px; border:0; background:transparent; box-shadow:none; }
    .rw-nav-more > div a { padding:13px 0; }
    .rw-nav__login { display:none; }
    .rw-home-featured, .rw-featured-character, .rw-community-feature { grid-template-columns:1fr; }
    .rw-home-featured__mark, .rw-featured-character__portrait, .rw-community-feature aside { min-height:300px; }
    .rw-district-profile-grid, .rw-character-grid, .rw-community-grid, .rw-application-grid { grid-template-columns:1fr; }
    .rw-district-brief, .rw-character-story, .rw-application-intro, .rw-application-process { grid-template-columns:1fr; }
    .rw-district-data-grid, .rw-character-pressure-grid { grid-template-columns:1fr; }
    .rw-district-data-grid article, .rw-character-pressure-grid article { min-height:330px; border-right:0; border-bottom:1px solid var(--rw-line); }
    .rw-district-data-grid article:last-child, .rw-character-pressure-grid article:last-child { border-bottom:0; }
    .rw-district-connections__grid, .rw-community-paths > div:last-child { grid-template-columns:1fr; }
    .rw-district-connections__grid a, .rw-community-paths a { border-right:0; border-bottom:1px solid var(--rw-line); }
    .rw-district-connections__grid a:last-child, .rw-community-paths a:last-child { border-bottom:0; }
    .rw-community-paths > div:first-child { grid-template-columns:1fr; gap:25px; }
    .rw-auth-shell { grid-template-columns:1fr; }
    .rw-auth-shell__visual { min-height:680px; }
}

@media (max-width: 760px) {
    .rw-flash-stack { top:98px; right:18px; }
    .rw-account-menu { display:block; }
    .rw-home-featured, .rw-featured-character, .rw-community-feature, .rw-character-submit-callout, .rw-character-district { padding:80px 18px; grid-template-columns:1fr; }
    .rw-map-section, .rw-district-directory, .rw-character-directory, .rw-community-directory, .rw-application-directory, .rw-landmark-ledger, .rw-district-connections, .rw-community-paths { padding:82px 18px; }
    .rw-map-toolbar { display:grid; }
    .rw-map-toolbar > span { display:none; }
    .rw-city-map svg { min-height:480px; }
    .rw-city-map__coordinates { display:none; }
    .rw-map-intel { min-height:330px; padding:28px; }
    .rw-district-profile-card { min-height:460px; padding:22px; }
    .rw-district-hero, .rw-character-profile-hero { min-height:760px; padding:145px 18px 145px 40px; }
    .rw-district-hero > dl, .rw-character-profile-hero > dl { left:40px; right:18px; grid-template-columns:1fr; }
    .rw-district-hero > dl div, .rw-character-profile-hero > dl div { display:none; }
    .rw-district-hero > dl div:first-child, .rw-character-profile-hero > dl div:first-child { display:block; }
    .rw-district-brief, .rw-character-story, .rw-application-intro, .rw-application-process { padding:82px 18px; }
    .rw-landmark-grid { grid-template-columns:1fr; }
    .rw-landmark-grid article, .rw-landmark-grid article:nth-child(2) { border-right:0; border-bottom:1px solid #c3d3d7; }
    .rw-landmark-grid article:last-child { border-bottom:0; }
    .rw-character-card { min-height:520px; padding:22px; }
    .rw-directory-controls { grid-template-columns:1fr; }
    .rw-community-card { grid-template-columns:1fr; }
    .rw-community-card__image { min-height:230px; }
    .rw-application-intro__status { grid-template-columns:1fr; }
    .rw-application-intro__status div { min-height:120px; border-right:0; border-bottom:1px solid #c4d2dd; }
    .rw-application-intro__status div:last-child { border-bottom:0; }
    .rw-application-card { min-height:470px; padding:22px; }
    .rw-application-form-main, .rw-profile-submit-main, .rw-account-main { padding-top:89px; }
    .rw-application-form-head, .rw-profile-submit-head, .rw-account-hero { min-height:650px; grid-template-columns:1fr; align-content:end; padding:90px 18px 55px 40px; }
    .rw-application-form-head aside, .rw-profile-submit-head aside, .rw-account-hero aside { min-width:0; }
    .rw-application-form { padding:50px 18px; }
    .rw-form-question { grid-template-columns:1fr; gap:14px; }
    .rw-form-question__number { font-size:25px; }
    .rw-form-question__meta, .rw-form-submit, .rw-profile-form__submit, .rw-account-heading { display:grid; }
    .rw-form-submit .rw-button, .rw-profile-form__submit .rw-button { width:100%; }
    .rw-application-sidebar, .rw-account-grid__side { grid-template-columns:1fr 1fr; }
    .rw-submission-card__top, .rw-submission-card__body { display:grid; }
    .rw-submission-card__body dl { grid-template-columns:1fr 1fr; }
    .rw-auth-shell__visual { min-height:620px; padding:80px 18px 55px 40px; }
    .rw-auth-shell__panel { padding:70px 18px; }
    .rw-footer__links { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .rw-map-water--core { animation:none; }
}
