/* ============================================================
   RYANWAT SECTIONS — v2.0
   File: assets/css/sections.css

   Per-section visual styles. Component styles (buttons, nav,
   form) live in components.css. Breakpoint overrides in
   responsive.css. All values reference tokens.css only.
   ============================================================ */


/* ── HERO ─────────────────────────────────────────────────────
   White canvas. 44/56 split. Left column is cycling field
   photography inside a clean framed container with amber corner
   pins. Right column is the copy. Ticker below.
   First section — offset for fixed nav.
────────────────────────────────────────────────────────────── */

.rw-hero {
  background:  var(--bg-canvas);
  overflow:    hidden;
  position:    relative;
}

.rw-hero__inner {
  display:        flex;
  align-items:    flex-start;
  gap:            var(--space-16);
  padding-top:    calc(68px + var(--space-20));  /* nav height + breathing room */
  padding-bottom: var(--space-12);
  position:       relative;
}

/* ── Visual column (44%) — cycling field photography ────────── */

.rw-hero__visual {
  flex:      0 0 44%;
  max-width: 44%;
  display:   flex;
  flex-direction: column;
}

/* ── Hero frame — clean rectangle, amber corner pins from .rw-field-photo ── */

.rw-hero__frame {
  position: relative;
  width:    100%;
  height:   clamp(380px, 46vw, 560px);
}

/* ── Copy column (56%) ──────────────────────────────────────── */

.rw-hero__copy {
  flex:        1;
  max-width:   none;
  padding-top: var(--space-10);
}

.rw-hero__eyebrow {
  margin-bottom: var(--space-6);
}

.rw-hero__headline {
  font-family:   var(--font-display);
  font-weight:   800;
  font-size:     var(--text-hero);
  line-height:   1.0;
  color:         var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-6);
  /* Prevent orphans on narrow viewports */
  text-wrap: balance;
}

.rw-hero__subtext {
  font-family:   var(--font-body);
  font-size:     var(--text-md);
  line-height:   1.7;
  color:         var(--text-secondary);
  margin-bottom: var(--space-10);
  max-width: 52ch;
}

.rw-hero__actions {
  display: flex;
  gap:     var(--space-4);
  flex-wrap: wrap;
}

/* ── TICKER ─────────────────────────────────────────────────── */

.rw-ticker {
  overflow:      hidden;
  border-top:    1px solid var(--border-light);
  padding-block: var(--space-4);
  background:    var(--bg-canvas);
  cursor:        default;
  user-select:   none;
}

.rw-ticker__track {
  display:   flex;
  width:     max-content;
  animation: ticker-scroll 45s linear infinite;
  will-change: transform;
}

.rw-ticker.is-paused .rw-ticker__track {
  animation-play-state: paused;
}

.rw-ticker__content {
  display:        flex;
  align-items:    center;
  gap:            var(--space-5);
  white-space:    nowrap;
  font-family:    var(--font-display);
  font-weight:    300;
  font-size:      var(--text-sm);
  color:          var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-right:  var(--space-5);
}

.rw-ticker__dot {
  color:   var(--accent-line);
  opacity: 0.7;
}


/* ── IDENTITY STATEMENT ───────────────────────────────────────
   Dark navy band. Poster-like. Blueprint grid in background.
   One strong idea, maximum breathing room.
────────────────────────────────────────────────────────────── */

.rw-statement {
  background:  var(--bg-dark);
  padding-block: var(--section-gap);
  position:    relative;
  overflow:    hidden;
}

/* Wide site photograph — low-opacity texture layer, sits
   beneath the blueprint grid */
.rw-statement__media {
  position: absolute;
  inset:    0;
  z-index:  0;
}

.rw-statement__media img {
  width:  100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.10;
  filter:  grayscale(1) contrast(1.1);
}

/* Barely-visible engineering blueprint grid */
.rw-statement::before {
  content:    '';
  position:   absolute;
  inset:      0;
  z-index:    1;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(238, 240, 246, 0.025) 0,
      rgba(238, 240, 246, 0.025) 1px,
      transparent 1px,
      transparent 44px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(238, 240, 246, 0.025) 0,
      rgba(238, 240, 246, 0.025) 1px,
      transparent 1px,
      transparent 44px
    );
  pointer-events: none;
}

.rw-statement__inner {
  text-align: center;
  max-width:  760px;
  margin:     0 auto;
  position:   relative; /* above the grid */
  z-index:    2;
}

.rw-statement__label {
  justify-content: center;
  color:           var(--accent);
  margin-bottom:   var(--space-8);
}

/* Inline label on dark bg: datum line is also amber */
.rw-statement__label::before {
  background: var(--accent-line);
}

.rw-statement__quote {
  font-family:   var(--font-display);
  font-weight:   700;
  font-size:     var(--text-4xl);
  color:         var(--text-inverse);
  line-height:   1.12;
  letter-spacing: -0.01em;
  margin-bottom: var(--space-10);
}

.rw-statement__quote p {
  font-family: inherit;
  font-size:   inherit;
  font-weight: inherit;
  line-height: inherit;
  color:       inherit;
  max-width:   none;
}

.rw-statement__detail {
  font-family:    var(--font-body);
  font-size:      var(--text-sm);
  color:          var(--text-inverse-muted);
  letter-spacing: 0.04em;
  max-width:      none;
}


/* ── SERVICES ─────────────────────────────────────────────────
   White background. Desktop: tab panel. Mobile: accordion.
   Active tab: 3px amber left border — datum line, vertical.
────────────────────────────────────────────────────────────── */

.rw-services {
  background:    var(--bg-canvas);
  padding-block: var(--section-gap);
}

.rw-services__header {
  margin-bottom: var(--space-12);
}

.rw-services__title {
  font-family:   var(--font-display);
  font-weight:   700;
  font-size:     var(--text-4xl);
  color:         var(--text-primary);
  line-height:   1.1;
  margin-top:    var(--space-2);
}

/* Tab panel — desktop layout */
.rw-services__panel {
  display: flex;
  gap:     var(--space-16);
  align-items: flex-start;
}

/* Left: tab navigator (38%) */
.rw-services__nav {
  flex:      0 0 38%;
  max-width: 38%;
}

.rw-services__tab-list {
  list-style: none;
  padding:    0;
  margin:     0;
  display:    flex;
  flex-direction: column;
  border-left: 1px solid var(--border-light);
}

.rw-services__tab-item {
  font-family:    var(--font-body);
  font-weight:    400;
  font-size:      var(--text-base);
  color:          var(--text-secondary);
  background:     none;
  border:         none;
  border-left:    3px solid transparent;
  margin-left:    -1px; /* align over the list border */
  padding:        var(--space-4) var(--space-6);
  text-align:     left;
  cursor:         pointer;
  transition:     color        var(--transition-fast),
                  border-color var(--transition-fast),
                  background   var(--transition-fast);
  width:          100%;
  line-height:    1.4;
}

.rw-services__tab-item:hover {
  color:            var(--text-primary);
  background:       var(--bg-subtle);
  border-left-color: var(--border-mid);
}

.rw-services__tab-item.is-active {
  color:             var(--text-primary);
  font-weight:       600;
  border-left-color: var(--accent-line);
  background:        var(--bg-accent-wash);
}

/* Right: detail panel (62%) */
.rw-services__detail {
  flex: 1;
  min-width: 0;
}

/* Individual panels — only the active one is shown */
.rw-services__panel-content {
  display: none;
}

.rw-services__panel-content.is-active {
  display: block;
}

.rw-services__panel-title {
  font-family:   var(--font-display);
  font-weight:   700;
  font-size:     var(--text-2xl);
  color:         var(--text-primary);
  line-height:   1.15;
  margin-bottom: var(--space-5);
}

.rw-services__panel-desc {
  font-family:   var(--font-body);
  font-size:     var(--text-base);
  color:         var(--text-body);
  line-height:   1.72;
  margin-bottom: var(--space-6);
  max-width:     60ch;
}

/* Deliverables list — amber dash prefix */
.rw-services__deliverables {
  list-style:     none;
  padding:        0;
  margin:         0 0 var(--space-6);
  display:        flex;
  flex-direction: column;
  gap:            var(--space-3);
}

.rw-services__deliverables li {
  font-family:  var(--font-body);
  font-size:    var(--text-base);
  color:        var(--text-body);
  padding-left: var(--space-6);
  position:     relative;
  line-height:  1.5;
}

.rw-services__deliverables li::before {
  content:    '';
  position:   absolute;
  left:       0;
  top:        0.6em;
  width:      16px;
  height:     2px;
  background: var(--accent-line);
}

.rw-services__tags {
  display:   flex;
  flex-wrap: wrap;
  gap:       var(--space-2);
  margin-top: var(--space-2);
}

/* ── Mobile accordion — hidden on desktop ─────────────────── */

.rw-services__accordion {
  display: none; /* shown via responsive.css on mobile */
}

.rw-services__acc-item {
  border-bottom: 1px solid var(--border-light);
}

.rw-services__acc-item:first-child {
  border-top: 1px solid var(--border-light);
}

.rw-services__acc-trigger {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  width:           100%;
  padding:         var(--space-5) 0;
  background:      none;
  border:          none;
  cursor:          pointer;
  font-family:     var(--font-body);
  font-weight:     500;
  font-size:       var(--text-base);
  color:           var(--text-primary);
  text-align:      left;
  gap:             var(--space-4);
  transition:      color var(--transition-fast);
}

.rw-services__acc-trigger:hover {
  color: var(--accent);
}

.rw-services__acc-item.is-open .rw-services__acc-trigger {
  color: var(--accent);
}

/* Plus/minus icon */
.rw-services__acc-icon {
  flex-shrink: 0;
  width:       20px;
  height:      20px;
  position:    relative;
}

.rw-services__acc-icon::before,
.rw-services__acc-icon::after {
  content:    '';
  position:   absolute;
  background: currentColor;
  transition: transform var(--transition-base), opacity var(--transition-base);
}

.rw-services__acc-icon::before {
  width:  14px;
  height: 2px;
  top:    50%;
  left:   3px;
  transform: translateY(-50%);
}

.rw-services__acc-icon::after {
  width:  2px;
  height: 14px;
  top:    3px;
  left:   50%;
  transform: translateX(-50%);
}

.rw-services__acc-item.is-open .rw-services__acc-icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity:   0;
}

/* Accordion content — max-height transition for smooth open/close */
.rw-services__acc-content {
  overflow:      hidden;
  max-height:    0;
  transition:    max-height var(--transition-slow), padding var(--transition-base);
  padding-bottom: 0;
}

.rw-services__acc-item.is-open .rw-services__acc-content {
  max-height:    600px;
  padding-bottom: var(--space-6);
}

/* Re-use panel styles within accordion */
.rw-services__acc-content .rw-services__panel-title {
  font-size:     var(--text-xl);
  margin-bottom: var(--space-4);
}

.rw-services__acc-content .rw-services__panel-desc {
  max-width: none;
}


/* ── STATS BAND ───────────────────────────────────────────────
   White background. Asymmetric two-column layout.
   Left column: ₦147M+ as the primary credential — near-hero
   scale, left-aligned, with caption and project reference tag.
   Right column: three supporting metrics stacked as data rows,
   number inline with label, separated by hairlines.
   NOT the 4-column centered grid.
────────────────────────────────────────────────────────────── */

.rw-stats {
  background:    var(--bg-canvas);
  padding-block: var(--section-gap);
  border-top:    1px solid var(--border-light);
}

.rw-stats__inner {
  display:               grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:                   var(--space-16);
  align-items:           start;
}

/* Left column — primary credential */
.rw-stats__feature {
  border-top:  2px solid var(--accent-line);
  padding-top: var(--space-6);
}

.rw-stats__feature-number {
  display:       flex;
  align-items:   baseline;
  gap:           0.04em;
  line-height:   0.95;
  margin-bottom: var(--space-6);
}

.rw-stats__prefix {
  font-family: var(--font-display);
  font-weight: 800;
  font-size:   var(--text-4xl);
  color:       var(--accent);
}

.rw-stats__count {
  font-family: var(--font-display);
  font-weight: 800;
  font-size:   var(--text-hero);
  color:       var(--text-primary);
  line-height: 1;
}

.rw-stats__feature-caption {
  font-family:   var(--font-body);
  font-size:     var(--text-base);
  color:         var(--text-secondary);
  line-height:   1.65;
  margin-bottom: var(--space-5);
  max-width:     30ch;
}

/* Right column — supporting metrics */
.rw-stats__list {
  border-top:     2px solid var(--border-light);
  padding-top:    var(--space-6);
  display:        flex;
  flex-direction: column;
}

.rw-stats__row {
  display:       flex;
  align-items:   center;
  gap:           var(--space-6);
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--border-light);
}

.rw-stats__row:last-child {
  border-bottom: none;
}

.rw-stats__num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size:   var(--text-3xl);
  color:       var(--text-primary);
  flex-shrink: 0;
  min-width:   5.5rem;
  line-height: 1;
}

.rw-stats__label {
  font-family:    var(--font-body);
  font-size:      var(--text-sm);
  color:          var(--text-secondary);
  line-height:    1.45;
  max-width:      none;
  text-transform: none;
  letter-spacing: 0;
}


/* ── PROJECTS ─────────────────────────────────────────────────
   White background. Horizontal entry bars, not thumbnails.
   Odd/even rows alternate. Amber right-bar expands on hover.
────────────────────────────────────────────────────────────── */

.rw-projects {
  background:    var(--bg-canvas);
  padding-block: var(--section-gap);
}

.rw-projects__header {
  margin-bottom: var(--space-12);
}

.rw-projects__title {
  font-family:  var(--font-display);
  font-weight:  700;
  font-size:    var(--text-4xl);
  color:        var(--text-primary);
  line-height:  1.1;
  margin-top:   var(--space-2);
}

.rw-projects__list {
  border-top: 1px solid var(--border-light);
}

/* Each project entry — horizontal bar layout */
.rw-projects__entry {
  display:     flex;
  align-items: stretch;
  gap:         var(--space-8);
  padding:     var(--space-8) 0;
  border-bottom: 1px solid var(--border-light);
  position:    relative;
  transition:  background var(--transition-fast);
  overflow:    hidden;
}

.rw-projects__entry:nth-child(even) {
  background: var(--bg-subtle);
}

.rw-projects__entry:hover {
  background: var(--bg-accent-wash);
}

/* Featured entry — carries the field photograph */
.rw-projects__entry--featured {
  align-items: stretch;
}

.rw-projects__media {
  flex:       0 0 240px;
  width:      240px;
  position:   relative;
  min-height: 180px;
}

/* Project code / metadata column */
.rw-projects__meta {
  flex:        0 0 200px;
  padding-top: var(--space-1);
  flex-shrink: 0;
}

.rw-projects__code {
  font-family:    var(--font-display);
  font-weight:    300;
  font-size:      var(--text-xs);
  color:          var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height:    1.5;
}

/* Main project body */
.rw-projects__body {
  flex: 1;
  min-width: 0;
}

.rw-projects__name {
  font-family:   var(--font-display);
  font-weight:   700;
  font-size:     var(--text-xl);
  color:         var(--text-primary);
  line-height:   1.2;
  margin-bottom: var(--space-3);
}

.rw-projects__scope {
  font-family:   var(--font-body);
  font-size:     var(--text-sm);
  color:         var(--text-secondary);
  line-height:   1.6;
  margin-bottom: var(--space-4);
  max-width:     none;
}

.rw-projects__footer {
  display:     flex;
  align-items: center;
  gap:         var(--space-3);
  flex-wrap:   wrap;
}

.rw-projects__value {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      var(--text-sm);
  color:          var(--accent-dark);
  margin-left:    auto;
  letter-spacing: 0.02em;
}

/* Amber right-bar — expands on hover via CSS transition */
.rw-projects__bar {
  width:       4px;
  background:  var(--accent-line);
  flex-shrink: 0;
  align-self:  stretch;
  transition:  width var(--transition-base);
}

.rw-projects__entry:hover .rw-projects__bar {
  width: var(--space-3); /* 12px on hover */
}

/* Section CTA */
.rw-projects__cta {
  margin-top:  var(--space-10);
  text-align:  right;
}

.rw-projects__cta-link {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      var(--text-xl);
  color:          var(--text-primary);
  text-decoration: none;
  display:        inline-flex;
  align-items:    center;
  gap:            var(--space-3);
  padding-bottom: var(--space-1);
  border-bottom:  2px solid var(--accent-line);
  transition:     color        var(--transition-fast),
                  border-color var(--transition-fast);
}

.rw-projects__cta-link:hover {
  color:        var(--accent);
  border-color: var(--accent);
}

.rw-projects__cta-arrow {
  transition: transform var(--transition-base);
}

.rw-projects__cta-link:hover .rw-projects__cta-arrow {
  transform: translateX(4px);
}


/* ── SECTORS ──────────────────────────────────────────────────
   White background. Flex-wrap pill-tag cloud.
   Not icon boxes — just bordered tags.
────────────────────────────────────────────────────────────── */

.rw-sectors {
  background:    var(--bg-canvas);
  padding-block: var(--section-gap);
  border-top:    1px solid var(--border-light);
}

.rw-sectors__header {
  margin-bottom: var(--space-10);
}

.rw-sectors__title {
  font-family:  var(--font-display);
  font-weight:  700;
  font-size:    var(--text-4xl);
  color:        var(--text-primary);
  line-height:  1.1;
  margin-top:   var(--space-2);
}

.rw-sectors__cloud {
  display:   flex;
  flex-wrap: wrap;
  gap:       var(--space-3);
}

/* Sectors inherit rw-tag base — slightly larger */
.rw-sectors__sector {
  font-size: var(--text-sm);
  padding:   0.45rem 1.1rem;
}


/* ── WHY RAYNEWATT ────────────────────────────────────────────
   Subtle gray background. Contrast-pair table.
   Left: industry standard. Right: RayneWatt approach.
   Right items have datum line prefix.
────────────────────────────────────────────────────────────── */

.rw-why {
  background:    var(--bg-subtle);
  padding-block: var(--section-gap);
}

.rw-why__header {
  margin-bottom: var(--space-12);
}

.rw-why__title {
  font-family:  var(--font-display);
  font-weight:  700;
  font-size:    var(--text-4xl);
  color:        var(--text-primary);
  line-height:  1.1;
  margin-top:   var(--space-2);
}

.rw-why__inner {
  max-width: 920px;
}

/* Column headers */
.rw-why__col-headers {
  display:       flex;
  align-items:   center;
  gap:           var(--space-8);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border-mid);
}

.rw-why__col-label {
  flex:           1;
  font-family:    var(--font-body);
  font-size:      var(--text-sm);
  font-weight:    500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.rw-why__col-label--left {
  color: var(--text-muted);
}

.rw-why__col-label--right {
  color:       var(--text-primary);
  font-weight: 600;
}

/* Thin center divider */
.rw-why__col-divider {
  width:      1px;
  height:     1.2em;
  background: var(--border-mid);
  flex-shrink: 0;
}

/* Contrast rows */
.rw-why__rows {
  display:        flex;
  flex-direction: column;
}

.rw-why__row {
  display:    flex;
  gap:        var(--space-8);
  padding:    var(--space-6) 0;
  border-bottom: 1px solid var(--border-light);
}

.rw-why__row:last-child {
  border-bottom: none;
}

.rw-why__cell {
  flex: 1;
}

.rw-why__cell p {
  font-family: var(--font-body);
  font-size:   var(--text-base);
  line-height: 1.65;
  max-width:   none;
}

.rw-why__cell--left p {
  color: var(--text-secondary);
}

/* Right cell: datum line prefix on each paragraph */
.rw-why__cell--right p {
  color:        var(--text-body);
  font-weight:  500;
  padding-left: var(--space-8);
  position:     relative;
}

.rw-why__cell--right p::before {
  content:    '';
  position:   absolute;
  left:       0;
  top:        0.65em;
  width:      20px;
  height:     2px;
  background: var(--accent-line);
}


/* ── CONTACT ──────────────────────────────────────────────────
   Dark navy background. Side-by-side layout.
   Left: statement + contact details. Right: form.
   Flows directly into footer — no bottom gap.
────────────────────────────────────────────────────────────── */

.rw-contact {
  background:  var(--bg-dark);
  padding-top: var(--section-gap);
  padding-bottom: var(--section-gap);
}

.rw-contact__inner {
  display:     flex;
  gap:         var(--space-16);
  align-items: flex-start;
}

/* Left column — statement + details (45%) */
.rw-contact__statement {
  flex:      0 0 45%;
  max-width: 45%;
}

.rw-contact__eyebrow {
  color: var(--accent);
}

.rw-contact__eyebrow::before {
  background: var(--accent-line);
}

.rw-contact__headline {
  font-family:    var(--font-display);
  font-weight:    700;
  font-size:      var(--text-4xl);
  color:          var(--text-inverse);
  line-height:    1.1;
  letter-spacing: -0.01em;
  margin-bottom:  var(--space-6);
  margin-top:     var(--space-2);
}

.rw-contact__copy {
  font-family:   var(--font-body);
  font-size:     var(--text-base);
  color:         var(--text-inverse-muted);
  line-height:   1.7;
  margin-bottom: var(--space-10);
  max-width:     42ch;
}

/* Contact details */
.rw-contact__details {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-5);
  font-style:     normal;
}

.rw-contact__detail-item {
  display:    flex;
  flex-direction: column;
  gap:        var(--space-1);
}

.rw-contact__detail-label {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      var(--text-xs);
  color:          var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.rw-contact__detail-value {
  font-family: var(--font-body);
  font-size:   var(--text-sm);
  color:       var(--text-inverse-muted);
  text-decoration: none;
  transition:  color var(--transition-fast);
}

a.rw-contact__detail-value:hover {
  color: var(--text-inverse);
}

/* Right column — form (55%) */
.rw-contact__form-wrap {
  flex: 1;
  min-width: 0;
}


/* ── FOOTER ───────────────────────────────────────────────────
   Dark background continuous from contact — no gap.
   Amber datum line at top. 3-column grid.
────────────────────────────────────────────────────────────── */

.rw-footer {
  background: var(--bg-dark);
}

/* The signature amber datum line — marks the footer boundary */
.rw-footer__datum-line {
  width:      100%;
  height:     1px;
  background: var(--accent-line);
}

.rw-footer__grid {
  display:               grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap:                   var(--space-16);
  padding-block:         var(--space-16) var(--space-12);
}

/* Col 1 — Brand */
.rw-footer__brand {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-4);
}

.rw-footer__logo-link {
  display: inline-block;
  line-height: 0;
  text-decoration: none;
}

.rw-footer__logo {
  display: block;
  height:  40px;
  width:   auto;
}

.rw-footer__tagline {
  font-family:    var(--font-display);
  font-weight:    300;
  font-size:      var(--text-sm);
  color:          var(--text-inverse-muted);
  letter-spacing: 0.04em;
  max-width:      none;
}

.rw-footer__entity {
  font-family: var(--font-body);
  font-size:   var(--text-xs);
  color:       var(--text-inverse-muted);
  line-height: 1.6;
  max-width:   none;
  opacity:     0.7;
}

/* Col 2 — Navigation */
.rw-footer__nav {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-4);
}

.rw-footer__nav-label {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      var(--text-xs);
  color:          var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.rw-footer__nav ul {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-3);
  list-style:     none;
  padding:        0;
  margin:         0;
}

.rw-footer__nav-link {
  font-family:     var(--font-body);
  font-size:       var(--text-sm);
  color:           var(--text-inverse-muted);
  text-decoration: none;
  transition:      color var(--transition-fast);
  opacity:         0.8;
}

.rw-footer__nav-link:hover {
  color:   var(--text-inverse);
  opacity: 1;
}

/* Col 3 — Contact info */
.rw-footer__contact {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-4);
}

.rw-footer__contact-list {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-3);
  list-style:     none;
  padding:        0;
  margin:         0;
  font-family:    var(--font-body);
  font-size:      var(--text-sm);
  color:          var(--text-inverse-muted);
  opacity:        0.8;
}

/* Footer bottom bar */
.rw-footer__bottom {
  border-top: 1px solid rgba(238, 240, 246, 0.08);
}

.rw-footer__bottom-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             var(--space-8);
  padding-block:   var(--space-5);
}

.rw-footer__legal,
.rw-footer__credentials {
  font-family:    var(--font-body);
  font-size:      var(--text-xs);
  color:          var(--text-inverse-muted);
  opacity:        0.6;
  max-width:      none;
  letter-spacing: 0.02em;
}