/* ============================================================
   REBOTA WORLD — editorial visual system
   Type: Archivo (display, uppercase, tight) · Inter (text) · JetBrains Mono (labels)
   Colour: Rebota blue #1877F2 on ink and paper.
   ============================================================ */
:root {
  --blue: #1877F2; --blue-2: #4B97F7; --blue-d: #0E5BD0; --blue-t: #E8F1FE;
  --ink: #06090F; --ink-2: #0D1320; --ink-3: #172033;
  --paper: #F4F6F9; --white: #fff;
  --tx: #0B1220; --tx-2: #4A5568; --tx-3: #8A94A6;
  --line: rgba(11,18,32,.12); --line-d: rgba(255,255,255,.14);
  --f-d: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-t: "Inter", "Helvetica Neue", Arial, sans-serif;
  --f-m: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --gut: clamp(16px, 4vw, 56px);
  --max: 1440px;
  --h-xxl: clamp(52px, 11vw, 172px);
  --h-xl: clamp(40px, 7.2vw, 112px);
  --h-l: clamp(32px, 4.6vw, 72px);
  --h-m: clamp(22px, 2.4vw, 36px);
  --t-l: clamp(17px, 1.35vw, 21px);
  --t-m: 15px;
  --m-s: 11.5px;
  --ease: cubic-bezier(.2,.7,.1,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--tx); font: 400 var(--t-m)/1.6 var(--f-t); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg, canvas { display: block; max-width: 100%; }
h1, h2, h3, h4 { font-family: var(--f-d); font-weight: 800; text-transform: uppercase; letter-spacing: -.012em; line-height: .94; margin: 0; }
p { margin: 0; }
.mono { font: 500 var(--m-s)/1.4 var(--f-m); letter-spacing: .08em; text-transform: uppercase; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); }
.blue { color: var(--blue); }
.skip { position: absolute; left: -999px; } .skip:focus { left: 16px; top: 16px; z-index: 99; background: #fff; padding: 8px 12px; }

/* ── header ─────────────────────────────────────────────── */
.rw-hd { position: fixed; inset: 0 0 auto; z-index: 50; transition: background .3s, color .3s, border-color .3s; color: var(--tx); border-bottom: 1px solid transparent; }
.rw-hd.on-dark { color: #fff; }
.rw-hd.scrolled { background: rgba(244,246,249,.86); backdrop-filter: blur(14px); border-color: var(--line); }
.rw-hd.scrolled.on-dark { background: rgba(6,9,15,.72); border-color: var(--line-d); }
.rw-hd .wrap { display: flex; align-items: center; gap: 24px; height: 68px; }
.rw-logo { display: flex; align-items: center; gap: 10px; font: 800 19px/1 var(--f-d); letter-spacing: .02em; }
.rw-logo i { width: 28px; height: 28px; border-radius: 7px; background: var(--blue); display: grid; place-items: center; color: #fff; font-style: normal; font-size: 16px; }
.rw-logo small { font: 500 10.5px/1 var(--f-m); letter-spacing: .14em; opacity: .6; margin-left: 2px; }
.rw-nav { display: flex; gap: 28px; margin-left: auto; }
.rw-nav a { font: 500 13px/1 var(--f-t); letter-spacing: .02em; opacity: .82; } .rw-nav a:hover { opacity: 1; color: var(--blue); }
.btn { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 20px; border-radius: 999px; font: 600 13.5px/1 var(--f-t); letter-spacing: .01em; border: 1px solid transparent; transition: transform .2s var(--ease), background .2s; cursor: pointer; }
.btn:hover { transform: translateY(-1px); }
.btn-p { background: var(--blue); color: #fff; } .btn-p:hover { background: var(--blue-d); }
.btn-o { border-color: currentColor; } .btn-o:hover { background: rgba(24,119,242,.1); }
.btn .ar { transition: transform .2s; } .btn:hover .ar { transform: translateX(3px); }
.rw-menu-btn { display: none; background: none; border: 0; color: inherit; width: 44px; height: 44px; margin-left: auto; cursor: pointer; }
.rw-menu-btn span { display: block; height: 2px; background: currentColor; margin: 6px 10px; }
.rw-menu { display: none; }
.rw-progress { position: fixed; inset: 0 0 auto; height: 2px; z-index: 60; } .rw-progress i { display: block; height: 100%; background: var(--blue); transform-origin: 0 0; transform: scaleX(0); }
.rw-ticker { background: var(--blue); color: #fff; overflow: hidden; white-space: nowrap; height: 30px; display: flex; align-items: center; }
.rw-ticker div { display: inline-flex; gap: 34px; padding-left: 34px; animation: tick 60s linear infinite; }
.rw-ticker span { font: 500 11px/1 var(--f-m); letter-spacing: .12em; }
@keyframes tick { to { transform: translateX(-50%); } }

/* ── hero ───────────────────────────────────────────────── */
.rw-hero { position: relative; min-height: 100svh; background: radial-gradient(120% 90% at 70% 40%, #0E1B33 0%, var(--ink) 60%); color: #fff; overflow: hidden; display: flex; flex-direction: column; }
.rw-hero canvas { position: absolute; right: -8vw; top: 50%; transform: translateY(-50%); width: min(92vw, 980px); height: min(92vw, 980px); }
.rw-hero .wrap { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 120px; padding-bottom: 56px; width: 100%; }
.rw-hero .mono { color: var(--blue-2); margin-bottom: 22px; }
.rw-hero h1 { font-size: var(--h-xxl); line-height: .86; max-width: 11ch; }
.rw-hero h1 em { font-style: normal; color: var(--blue); display: block; }
.rw-hero-foot { display: grid; grid-template-columns: minmax(0, 520px) auto; gap: 32px; align-items: end; justify-content: space-between; margin-top: 40px; }
.rw-hero-foot p { font-size: var(--t-l); color: rgba(255,255,255,.76); line-height: 1.5; }
.rw-hero-foot .acts { display: flex; gap: 12px; flex-wrap: wrap; }
.rw-scroll { position: absolute; left: var(--gut); bottom: 18px; z-index: 2; color: rgba(255,255,255,.5); display: flex; align-items: center; gap: 10px; }
.rw-scroll i { width: 1px; height: 34px; background: linear-gradient(var(--blue), transparent); animation: drip 1.8s infinite; }
@keyframes drip { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* ── statement ──────────────────────────────────────────── */
.rw-sec { padding: clamp(80px, 12vw, 180px) 0; position: relative; }
.rw-dark { background: var(--ink); color: #fff; }
.rw-kick { display: flex; gap: 14px; align-items: center; margin-bottom: 36px; color: var(--tx-3); }
.rw-dark .rw-kick { color: rgba(255,255,255,.5); }
.rw-kick b { color: var(--blue); font-weight: 500; }
.rw-kick::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .3; }
.rw-state { font-size: var(--h-xl); max-width: 14ch; }
.rw-state span { color: var(--blue); }
.rw-lede { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 6vw, 96px); margin-top: clamp(40px, 6vw, 80px); }
.rw-lede p { font-size: var(--t-l); color: var(--tx-2); max-width: 46ch; }
.rw-dark .rw-lede p { color: rgba(255,255,255,.7); }
.rw-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); margin-top: clamp(48px, 7vw, 100px); }
.rw-stats div { padding: 26px 20px 0 0; border-right: 1px solid var(--line); } .rw-stats div:last-child { border: 0; }
.rw-stats b { display: block; font: 800 clamp(44px, 6vw, 92px)/1 var(--f-d); color: var(--tx); letter-spacing: -.02em; }
.rw-stats span { color: var(--tx-3); }

/* ── sector index ───────────────────────────────────────── */
.rw-index { border-top: 1px solid var(--line-d); }
.rw-index a { display: grid; grid-template-columns: 70px 1fr auto 40px; align-items: center; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--line-d); transition: padding .3s var(--ease), color .2s; }
.rw-index a:hover { padding-left: 14px; color: var(--blue-2); }
.rw-index .n { color: var(--blue-2); }
.rw-index h3 { font-size: clamp(24px, 3.4vw, 52px); line-height: 1; }
.rw-index .fam { color: rgba(255,255,255,.45); }
.rw-index .ar { font-size: 24px; opacity: .5; }

/* ── story (pinned) ─────────────────────────────────────── */
.rw-story { position: relative; background: var(--paper); }
.rw-story:nth-of-type(even) { background: #EEF2F7; }
.rw-pin { position: sticky; top: 0; height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; padding: 88px 0 22px; overflow: hidden; }
.rw-pin-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: end; }
.rw-pin-head .mono { color: var(--tx-3); margin-bottom: 14px; display: flex; gap: 12px; } .rw-pin-head .mono b { color: var(--blue); font-weight: 500; }
.rw-pin-head h2 { font-size: var(--h-l); }
.rw-pin-head h2 small { display: block; font-size: .42em; color: var(--blue); letter-spacing: 0; margin-top: 12px; }
.rw-pin-head p { color: var(--tx-2); font-size: 15.5px; max-width: 52ch; }
.rw-stage { position: relative; margin: 18px 0 0; overflow: hidden; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; min-height: 0; }
.rw-steps { list-style: none; margin: 0; padding: 0; align-self: center; counter-reset: s; }
.rw-steps li { counter-increment: s; display: flex; gap: 12px; align-items: center; padding: 5px 0; color: var(--tx-3); cursor: pointer; font: 600 13px/1.25 var(--f-t); text-transform: uppercase; letter-spacing: .04em; transition: color .25s, transform .3s var(--ease); }
.rw-steps li::before { content: attr(data-n); font: 500 10.5px/1 var(--f-m); width: 22px; opacity: .7; }
.rw-steps li.done { color: var(--tx-2); } .rw-steps li.done::before { color: var(--blue); }
.rw-steps li.on { color: var(--tx); transform: translateX(6px); } .rw-steps li.on::before { color: var(--blue); opacity: 1; }
.rw-view { min-width: 0; position: relative; overflow: hidden; border-radius: 18px; background: var(--white); border: 1px solid var(--line); min-height: 0; }
.rw-view::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #fff 0, transparent 8%, transparent 92%, #fff 100%); }
.rw-strip { max-width: none; height: 100%; transition: transform .9s var(--ease); will-change: transform; overflow: visible; }
.rw-cap { position: absolute; left: 22px; bottom: 20px; z-index: 2; display: flex; flex-direction: column; gap: 4px; max-width: 70%; }
.rw-cap b { font: 800 clamp(20px, 2.4vw, 34px)/1 var(--f-d); text-transform: uppercase; color: var(--blue); }
.rw-cap span { color: var(--tx-2); font-size: 14.5px; }
.rw-stepnum { position: absolute; right: 22px; top: 18px; z-index: 2; color: var(--tx-3); }
.rw-pin-foot { display: flex; align-items: center; gap: 18px; margin-top: 16px; }
.rw-bar { flex: 0 0 160px; height: 2px; background: var(--line); } .rw-bar i { display: block; height: 100%; background: var(--blue); transform-origin: 0 0; transform: scaleX(0); }
.rw-caps { display: flex; gap: 8px; overflow: hidden; mask-image: linear-gradient(90deg, #000 85%, transparent); flex: 1; }
.rw-caps span { flex: none; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; font: 500 12px/1 var(--f-t); color: var(--tx-2); background: rgba(255,255,255,.6); }
.rw-pin-foot a { flex: none; color: var(--blue); font-weight: 600; font-size: 13px; }

/* art */
.rw-strip .ln, .rw-static .ln { fill: none; stroke: var(--tx); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rw-strip .lw { fill: none; stroke: #fff; stroke-width: 2.5; }
.rw-strip .lw2, .rw-static .lw2 { fill: none; stroke: var(--blue); stroke-width: 1.5; stroke-dasharray: 5 6; }
.rw-strip .fl, .rw-static .fl { fill: var(--blue-t); stroke: none; }
.rw-strip .fk, .rw-static .fk { fill: var(--ink-3); stroke: none; }
.rw-strip .tx, .rw-static .tx { font: 600 11px var(--f-m); fill: var(--blue-d); letter-spacing: .06em; }
.rw-static .lw { fill: none; stroke: #fff; stroke-width: 2.5; }
.rw-art { transition: opacity .6s; }
.rw-art .ln, .rw-art .lw2 { stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.1s var(--ease) .1s; }
.rw-art .lw2 { stroke-dasharray: .02 .02; }
.rw-art .fl, .rw-art .fk, .rw-art .tx, .rw-art .lw { opacity: 0; transition: opacity .6s .35s; }
.rw-art.is-now .ln, .rw-art.is-past .ln, .rw-art.is-now .lw2, .rw-art.is-past .lw2 { stroke-dashoffset: 0; }
.rw-art.is-now .fl, .rw-art.is-now .fk, .rw-art.is-now .tx, .rw-art.is-now .lw, .rw-art.is-past .fl, .rw-art.is-past .fk, .rw-art.is-past .lw { opacity: 1; }
.rw-art.is-past { opacity: .28; } .rw-art.is-next { opacity: 0; }
.rw-art.is-now .fl { fill: #CFE2FD; }
.rw-flow { fill: none; stroke: var(--blue); stroke-width: 3; stroke-dasharray: 1 1; stroke-dashoffset: calc(1 - var(--flow, 0)); transition: stroke-dashoffset .9s var(--ease); transform: translateY(1.5px); }

/* ── ecosystem ──────────────────────────────────────────── */
.rw-eco-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: center; }
#rwEco { width: 100%; height: auto; overflow: visible; }
.eco-l { stroke: rgba(75,151,247,.5); stroke-width: 1; fill: none; stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1s var(--ease) var(--d); }
.eco-l2 { stroke: rgba(255,255,255,.1); stroke-width: 1; fill: none; stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.4s var(--ease) var(--d); }
.eco-n { opacity: 0; transform: scale(.6); transform-box: fill-box; transform-origin: center; transition: opacity .5s var(--d), transform .6s var(--ease) var(--d); }
.eco-n circle { fill: var(--blue); stroke: var(--ink); stroke-width: 4; }
.eco-n text { fill: #fff; font: 700 17px var(--f-d); text-transform: uppercase; letter-spacing: .02em; }
.eco-core { fill: var(--blue); } .eco-core-t { fill: #fff; font: 800 34px var(--f-d); letter-spacing: .04em; } .eco-core-s { fill: rgba(255,255,255,.8); font: 500 12px var(--f-m); letter-spacing: .16em; }
.rw-eco.in .eco-l, .rw-eco.in .eco-l2 { stroke-dashoffset: 0; } .rw-eco.in .eco-n { opacity: 1; transform: none; }

.rw-final { padding: clamp(90px, 14vw, 200px) 0; background: var(--blue); color: #fff; overflow: hidden; }
.rw-final h2 { font-size: var(--h-xl); line-height: .9; }
.rw-final h2 span { display: block; overflow: hidden; }
.rw-final h2 span i { display: block; font-style: normal; transform: translateY(105%); transition: transform 1s var(--ease); }
.rw-final h2 span:nth-child(2) i { transition-delay: .12s; } .rw-final h2 span:nth-child(3) i { transition-delay: .24s; } .rw-final h2 span:nth-child(4) i { transition-delay: .36s; }
.rw-final h2 span:nth-child(even) i { color: var(--ink); }
.rw-final.in h2 span i { transform: none; }
.rw-final .acts { display: flex; gap: 12px; margin-top: 48px; flex-wrap: wrap; }
.rw-final .btn-p { background: #fff; color: var(--blue); } .rw-final .btn-o { color: #fff; }

/* ── countries ──────────────────────────────────────────── */
.rw-find { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 40px 0 28px; }
.rw-find input { flex: 1 1 320px; height: 56px; border-radius: 999px; border: 1px solid var(--line); background: #fff; padding: 0 24px; font: 500 16px var(--f-t); color: var(--tx); outline: none; }
.rw-find input:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(24,119,242,.14); }
.rw-reg { display: flex; gap: 6px; flex-wrap: wrap; }
.rw-reg button { border: 1px solid var(--line); background: transparent; border-radius: 999px; height: 38px; padding: 0 14px; font: 500 11px var(--f-m); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; color: var(--tx-2); }
.rw-reg button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.rw-ctys { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.rw-cty { padding: 22px 20px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 12px; transition: background .2s; min-height: 170px; }
.rw-cty:hover { background: #fff; }
.rw-cty .top { display: flex; justify-content: space-between; color: var(--tx-3); }
.rw-cty h3 { font-size: 24px; line-height: 1; }
.rw-cty dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: auto 0 0; font-size: 13px; }
.rw-cty dt { color: var(--tx-3); } .rw-cty dd { margin: 0; font-weight: 600; }
.rw-cty .go { color: var(--blue); font-size: 13px; font-weight: 600; }
.lvl { font: 500 10px/1 var(--f-m); letter-spacing: .1em; padding: 4px 7px; border-radius: 4px; background: var(--blue-t); color: var(--blue-d); }
.lvl.ops { background: #EEF0F3; color: var(--tx-2); } .lvl.full { background: var(--blue); color: #fff; }

/* ── footer ─────────────────────────────────────────────── */
.rw-ft { background: var(--ink); color: rgba(255,255,255,.7); padding: 80px 0 36px; font-size: 13.5px; }
.rw-ft-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; }
.rw-ft h4 { font: 500 11px var(--f-m); letter-spacing: .12em; color: rgba(255,255,255,.4); margin-bottom: 16px; }
.rw-ft ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; } .rw-ft a:hover { color: #fff; }
.rw-ft .big { font: 800 clamp(34px, 5vw, 64px)/.95 var(--f-d); text-transform: uppercase; color: #fff; }
.rw-ft-base { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--line-d); color: rgba(255,255,255,.4); }

/* ── sub pages ──────────────────────────────────────────── */
.rw-sub-hero { background: var(--ink); color: #fff; padding: 150px 0 80px; }
.rw-crumb { color: rgba(255,255,255,.5); margin-bottom: 26px; } .rw-crumb a:hover { color: #fff; }
.rw-sub-hero h1 { font-size: clamp(34px, 7.2vw, 112px); max-width: 16ch; overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 420px) { .rw-sub-hero h1 { font-size: 30px; } }
.rw-sub-hero h1 em { font-style: normal; color: var(--blue); }
.rw-sub-hero p { font-size: var(--t-l); color: rgba(255,255,255,.72); max-width: 60ch; margin-top: 28px; }
.rw-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-d); margin-top: 56px; }
.rw-facts div { padding: 20px 16px 0 0; } .rw-facts b { display: block; font: 800 clamp(26px, 3vw, 44px)/1 var(--f-d); color: #fff; margin-top: 8px; } .rw-facts span { color: rgba(255,255,255,.5); }
.rw-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(24px, 5vw, 72px); }
.rw-block h2 { font-size: var(--h-m); margin-bottom: 18px; }
.rw-block p, .rw-block li { color: var(--tx-2); font-size: 16px; }
.rw-block ul { padding-left: 18px; margin: 0; display: grid; gap: 6px; }
.rw-note { border-left: 3px solid var(--blue); padding: 14px 18px; background: #fff; color: var(--tx-2); font-size: 14px; margin-top: 24px; }
.rw-flowlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-top: 36px; }
.rw-flowlist div { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px; min-height: 130px; display: flex; flex-direction: column; gap: 6px; }
.rw-flowlist b { font: 800 20px/1 var(--f-d); text-transform: uppercase; } .rw-flowlist i { font-style: normal; color: var(--blue); } .rw-flowlist span { color: var(--tx-2); font-size: 13.5px; }
.rw-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.rw-chips span, .rw-chips a { border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: 13px; background: #fff; }
.rw-chips a:hover { border-color: var(--blue); color: var(--blue); }
.rw-art-frame { background: #fff; border: 1px solid var(--line); border-radius: 18px; aspect-ratio: 4/3; padding: 12px; }
table.rw-t { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.rw-t th, .rw-t td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.rw-t th { font: 500 11px var(--f-m); letter-spacing: .1em; text-transform: uppercase; color: var(--tx-3); width: 34%; }

.rv { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.rv.in { opacity: 1; transform: none; }

/* ── responsive ─────────────────────────────────────────── */
@media (max-width: 980px) {
  .rw-nav, .rw-hd .btn-p { display: none; }
  .rw-menu-btn { display: block; }
  .rw-menu { display: flex; position: fixed; inset: 0; background: var(--ink); color: #fff; z-index: 45; flex-direction: column; justify-content: center; gap: 8px; padding: 0 var(--gut); transform: translateY(-100%); transition: transform .5s var(--ease); }
  .rw-menu.open { transform: none; }
  .rw-menu a { font: 800 40px/1.1 var(--f-d); text-transform: uppercase; }
  .rw-hd.menu-lock { color: #fff; }
  .rw-hero canvas { right: -30vw; top: 34%; opacity: .75; }
  .rw-hero-foot, .rw-lede, .rw-pin-head, .rw-eco-wrap, .rw-cols, .rw-ft-grid { grid-template-columns: 1fr; }
  .rw-stats, .rw-facts { grid-template-columns: repeat(2, 1fr); } .rw-stats div { border-right: 0; }
  .rw-stage { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 12px; }
  .rw-steps { display: flex; gap: 6px; overflow: hidden; } .rw-steps li { flex: none; font-size: 11px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; display: none; }
  .rw-steps li.on, .rw-steps li.on + li { display: flex; } .rw-steps li.on { transform: none; background: var(--ink); color: #fff; }
  .rw-pin-head p { display: none; }
  .rw-index a { grid-template-columns: 44px 1fr 24px; } .rw-index .fam { display: none; }
  .rw-pin-foot a { display: none; }
  .rw-stage { align-content: center; }
  .rw-view { aspect-ratio: 1 / 1; max-height: 100%; align-self: center; }
  .rw-strip { height: calc(100% - 78px); }
  .rw-view::after { display: none; }
  .rw-cap { left: 16px; right: 16px; bottom: 14px; max-width: none; }
}
@media (max-width: 560px) {
  .rw-pin { padding-top: 78px; }
  .rw-cap span { font-size: 13px; } .rw-cap { max-width: 88%; }
  .rw-caps { display: none; } .rw-bar { flex: 1; }
}

/* ── sector fly-overs ───────────────────────────────────── */
.rw-fly { position: relative; height: 230vh; background: #fff; }
.rw-fly-pin { position: sticky; top: 0; height: 100svh; overflow: hidden; display: grid; place-items: center; }
.rw-fly-k { position: absolute; top: 96px; left: var(--gut); color: var(--tx-3); z-index: 3; } .rw-fly-k b { color: var(--blue); font-weight: 500; margin-right: 8px; }
.rw-fly-h { position: relative; z-index: 1; text-align: center; font-size: clamp(40px, 8.2vw, 170px); line-height: .88; overflow-wrap: anywhere; padding: 0 var(--gut); color: var(--tx);
  opacity: calc(.25 + var(--p, 0) * 3); transform: translateY(calc((1 - min(1, var(--p, 0) * 2.5)) * 40px)); }
.rw-fly-h span { display: block; } .rw-fly-h span:nth-child(2) { color: var(--blue); }
.rw-fly-h span:nth-child(3) { color: #A6AFBD; }
.rw-fly-obj { position: absolute; left: 0; top: 50%; margin-top: -30vh; width: min(128vw, 2000px); height: 60vh; max-width: none; z-index: 2; will-change: transform; filter: drop-shadow(0 30px 40px rgba(11,18,32,.18)); pointer-events: none; }
.rw-fly-obj.o1 { top: auto; bottom: 4vh; margin-top: 0; height: 30vh; width: min(80vw, 1200px); z-index: 0; opacity: .95; }
.rw-fly-foot { position: absolute; left: 0; right: 0; bottom: 26px; display: flex; justify-content: space-between; align-items: end; gap: 20px; z-index: 3; opacity: 0; transform: translateY(12px); transition: opacity .6s, transform .6s var(--ease); }
.rw-fly-foot.in { opacity: 1; transform: none; }
.rw-fly-foot p { font: 800 clamp(18px, 2vw, 28px)/1 var(--f-d); text-transform: uppercase; color: var(--blue); }
.rw-fly-foot .mono { color: var(--tx-3); }
.rw-fly.sky { background: linear-gradient(180deg, #F4F6F9 0%, #fff 30%, #E3ECF8 70%, #3D5A9E 100%); }
.rw-fly.sky .rw-fly-obj.o0 { top: 4vh; margin-top: 0; height: 66vh; filter: drop-shadow(0 50px 50px rgba(11,18,32,.28)); }
@media (max-width: 980px) {
  .rw-fly { height: 200vh; }
  .rw-fly-obj { width: 190vw; height: 42vh; margin-top: -21vh; }
  .rw-fly-obj.o1 { width: 130vw; height: 20vh; }
  .rw-fly.sky .rw-fly-obj.o0 { height: 50vh; top: 10vh; }
  .rw-fly-h { font-size: clamp(26px, 6.9vw, 80px); }
  .rw-fly-foot { flex-direction: column; align-items: start; }
}
/* globe interaction */
#rwGlobe { touch-action: pan-y; cursor: grab; z-index: 1; }
.rw-hero .wrap { pointer-events: none; } .rw-hero .wrap a, .rw-hero .wrap button, .rw-hero .wrap p { pointer-events: auto; }
.rw-hero .rw-drag { position: absolute; right: var(--gut); bottom: 22px; z-index: 2; color: rgba(255,255,255,.5); }
@media (max-width: 980px) { .rw-hero .rw-drag { display: none; } }
/* compact header (half height) */
.rw-hd { transition: background .3s, color .3s, border-color .3s, top .3s; }
.rw-hd .wrap { height: 34px; }
.rw-logo { font-size: 15px; gap: 8px; } .rw-logo i { width: 20px; height: 20px; border-radius: 5px; font-size: 12px; }
.rw-hd .btn { height: 26px; padding: 0 14px; font-size: 12.5px; }

/* pricing · apps · contact — same system as the rest of the page */
.rw-price-lede{margin-top:24px;color:rgba(255,255,255,.66);font-size:var(--t-l);max-width:60ch}
.rw-ptog{display:inline-flex;margin-top:32px;border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:4px}
.rw-ptog button{border:0;background:none;color:rgba(255,255,255,.6);font:500 11px var(--f-m);letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;border-radius:99px;cursor:pointer}
.rw-ptog button.on{background:#fff;color:var(--ink)}
.rw-plans{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:48px;border-top:1px solid rgba(255,255,255,.14)}
.rw-plan{padding:28px 24px 32px;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}
.rw-plan:last-child{border-right:0}
.rw-plan.hot{background:rgba(24,119,242,.14);box-shadow:inset 0 3px 0 var(--blue)}
.rw-plan-k{color:var(--blue-2,#6AA9FF);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;min-height:14px}
.rw-plan h3{font:700 24px/1 var(--f-uc);text-transform:uppercase;margin:14px 0 8px}
.rw-plan-tag{color:rgba(255,255,255,.55);font-size:13.5px;line-height:1.45;min-height:40px}
.rw-plan-amt{font:700 clamp(30px,2.4vw,40px)/1 var(--f-uc);margin-top:22px}
.rw-plan-per{color:rgba(255,255,255,.5);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
.rw-plan ul{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.78);flex:1}
.rw-plan li{padding-left:18px;position:relative}.rw-plan li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:2px;background:var(--blue)}
.rw-plan .btn{justify-content:center;color:#fff}.rw-plan .btn-p{color:#fff}
.rw-price-note{margin-top:28px;color:rgba(255,255,255,.45);font-size:10.5px;letter-spacing:.06em;line-height:1.8}
.rw-price-note a{color:#fff}
.rw-app-row,.rw-ct-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--tx)}
.rw-ct-row{grid-template-columns:repeat(4,minmax(0,1fr));border-color:rgba(255,255,255,.2)}
.rw-app,.rw-ct{display:flex;flex-direction:column;gap:10px;padding:28px 24px 30px 0;border-right:1px solid var(--line);transition:color .2s}
.rw-ct{border-color:rgba(255,255,255,.14);padding-left:0}
.rw-app:not(:first-child),.rw-ct:not(:first-child){padding-left:24px}
.rw-app:last-child,.rw-ct:last-child{border-right:0}
.rw-app span,.rw-ct span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.rw-app b{font:700 clamp(22px,2vw,30px)/1 var(--f-uc);text-transform:uppercase}
.rw-ct b{font:700 clamp(18px,1.5vw,24px)/1.1 var(--f-uc);color:#fff;overflow-wrap:anywhere}
.rw-app i{font-style:normal;color:var(--tx-2);font-size:14px}
.rw-app:hover b,.rw-ct:hover b{color:var(--blue)}
.rw-ct-foot{margin-top:36px;color:rgba(255,255,255,.45);font-size:10.5px;letter-spacing:.06em;line-height:1.8}
@media (max-width:980px){
  .rw-plans{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80vw;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--gut) * -1);scrollbar-width:none}
  .rw-plans::-webkit-scrollbar{display:none}
  .rw-plan{scroll-snap-align:start}
  .rw-app-row,.rw-ct-row{grid-template-columns:1fr}
  .rw-app,.rw-ct,.rw-app:not(:first-child),.rw-ct:not(:first-child){padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .rw-ct,.rw-ct:not(:first-child){border-color:rgba(255,255,255,.14)}
}
/* mobile header: taller, easier to tap */
@media (max-width:980px){
  .rw-hd .wrap{height:56px}
  .rw-logo{font-size:18px}.rw-logo i{width:26px;height:26px;font-size:15px;border-radius:7px}
}
/* mobile menu: compact list under the header, actions as buttons at the foot */
@media (max-width:980px){
  .rw-menu-btn{width:40px;margin-right:-8px;flex:none}
  .rw-menu{justify-content:flex-start;gap:0;padding:88px var(--gut) 28px;counter-reset:m}
  .rw-menu a{counter-increment:m;display:flex;align-items:baseline;gap:14px;font:700 22px/1 var(--f-uc);letter-spacing:.01em;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .rw-menu a::before{content:"0" counter(m);font:500 10.5px var(--f-m);letter-spacing:.08em;color:rgba(255,255,255,.4)}
  .rw-menu a:nth-last-child(2),.rw-menu a:last-child{justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:99px;font:600 14px/1 var(--f-t);text-transform:none;padding:15px 0}
  .rw-menu a:nth-last-child(2){margin-top:auto}
  .rw-menu a:last-child{margin-top:10px;background:var(--blue);border-color:var(--blue);color:#fff}
  .rw-menu a:nth-last-child(2)::before,.rw-menu a:last-child::before{content:none}
}
/* start-free lead popup */
.rw-lead{position:fixed;inset:0;z-index:80;background:rgba(6,9,15,.72);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px}
.rw-lead[hidden]{display:none}
body.rw-lead-on{overflow:hidden}
.rw-lead-box{position:relative;width:min(460px,100%);background:#fff;color:#111;border-radius:14px;padding:34px 30px 26px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.rw-lead-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;background:none;font-size:18px;cursor:pointer;color:#666}
.rw-lead-k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.rw-lead-box h3{font:700 clamp(26px,5vw,32px)/1.02 var(--f-uc);text-transform:uppercase;margin:12px 0 22px;color:#111}
.rw-lead-box h3 span{color:rgba(17,17,17,.4)}
.rw-lead-box form{display:grid;gap:14px}
.rw-lead-box label{display:grid;gap:6px;font:500 10.5px var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:rgba(17,17,17,.6)}
.rw-lead-box input{height:48px;border:1px solid #D8DDE4;border-radius:10px;padding:0 14px;font:500 16px var(--f-t);color:#111;text-transform:none;letter-spacing:0}
.rw-lead-box input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,119,242,.15)}
.rw-lead-box .btn{justify-content:center;height:50px;margin-top:4px}
.rw-lead-err{color:#C62828;font-size:13px;margin:0}
.rw-lead-wa{display:block;text-align:center;margin-top:16px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#128C7E}

/* footer — unitedcarriers.com layout: white, statement line, mono column heads, small ink links */
.rw-ft{background:#fff!important;color:#111;padding:clamp(70px,9vw,130px) 0 30px;font:400 13.5px/1.55 var(--f-body)}
.rw-ft-say{font:700 clamp(36px,4.4vw,72px)/1 var(--f-uc);text-transform:uppercase;color:#111;margin:0 0 clamp(50px,6vw,90px)}
.rw-ft-say span{color:rgba(17,17,17,.3)}
.rw-ft-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;border-top:1px solid #111;padding-top:28px}
.rw-ft h4{font:500 10.5px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:rgba(17,17,17,.45);margin:0 0 16px}
.rw-ft ul{display:grid;gap:7px}
.rw-ft a{color:#111}.rw-ft a:hover{color:var(--blue)}
.rw-ft p{margin:0;color:rgba(17,17,17,.72)}
.rw-ft-base{margin-top:clamp(50px,6vw,80px);padding-top:18px;border-top:1px solid #E3E7ED;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(17,17,17,.55)}
@media (max-width:980px){.rw-ft-grid{grid-template-columns:1fr 1fr;row-gap:36px}}

/* countries: faint background, dark text; rows no longer flash white on hover */
#countries{background:#F3F7FE!important;color:#111;--tx:#111;--tx-2:rgba(17,17,17,.7);--tx-3:rgba(17,17,17,.5);--line:#DCE4F0}
#countries .rw-state{color:#111!important}
#countries .rw-kick{color:rgba(17,17,17,.5)}
#countries .rw-cty,#countries .rw-cty h3,#countries .rw-cty dd{color:#111}
#countries .rw-cty:hover{background:#E6EFFD!important}
#countries .rw-find input{background:#fff;color:#111;border-color:#DCE4F0}
#countries .rw-find input::placeholder{color:rgba(17,17,17,.4)}
#countries .rw-reg button{color:rgba(17,17,17,.7);border-color:#DCE4F0}
#countries .rw-reg button.on{background:var(--blue);border-color:var(--blue);color:#fff}
/* device drawings under the app options */
.rw-dev{width:100%;max-width:300px;height:auto;margin-top:22px;fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,transform .4s var(--ease)}
.rw-dev .f{fill:rgba(255,255,255,.04)}
.rw-dev .b{fill:var(--blue);stroke:none}
.rw-dev .b2{fill:rgba(24,119,242,.18);stroke:rgba(24,119,242,.6)}
.rw-dev .bl{stroke:var(--blue);stroke-width:2.4}
.rw-app:hover .rw-dev{stroke:#fff;transform:translateY(-4px)}
/* stats: centred in each column; app drawings centred under their cards */
.rw-stats div{padding:30px 16px;text-align:center}
.rw-stats span{display:block;max-width:22ch;margin:6px auto 0}
.rw-app{align-items:center;text-align:center}
.rw-dev{margin-left:auto;margin-right:auto}
/* header logo: the site favicon */
.rw-logo img{width:26px;height:26px;border-radius:50%;background:#fff;display:block;flex:none}
@media (max-width:980px){.rw-logo img{width:28px;height:28px}}
/* scroll-in text: from the left / from the right */
[data-sx]{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)!important}
[data-sx="l"]{transform:translate3d(-72px,0,0)!important}
[data-sx="r"]{transform:translate3d(72px,0,0)!important}
[data-sx].sx-in{opacity:1!important;transform:none!important}
@media (max-width:980px){[data-sx="l"]{transform:translate3d(-36px,0,0)!important}[data-sx="r"]{transform:translate3d(36px,0,0)!important}}
.rw-where.rw-pinged select{animation:rwPing .9s ease}
@keyframes rwPing{0%{box-shadow:0 0 0 0 rgba(24,119,242,.8)}100%{box-shadow:0 0 0 14px rgba(24,119,242,0)}}
/* phones with a notch / status bar: keep the header below it */
.rw-hd{padding-top:env(safe-area-inset-top,0px)}
.rw-menu{padding-top:calc(88px + env(safe-area-inset-top,0px))}
@media (max-width:980px){
  .rw-hd{background:rgba(6,9,15,.9);backdrop-filter:blur(12px)}
  body:has(.rw-ticker) .rw-hd:not(.scrolled){top:0}
  .rw-ticker{top:calc(56px + env(safe-area-inset-top,0px))}
}
