/* Rivmedia – About Us (about-us) */
.hero > .wrap { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: calc(2 * var(--leading)) clamp(32px, 5vw, 88px); align-items: center; }
.hero .glow-a { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; width: 540px; height: 540px; right: -140px; top: -160px;
  background: radial-gradient(circle, color-mix(in srgb, var(--magenta) 34%, transparent), transparent 70%); }
.portrait2 { position: relative; }
.portrait2 .riv-slot { display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--soft-md); }
.portrait2 .ptag { position: absolute; left: 16px; bottom: 16px; z-index: 2; background: rgba(10,10,51,.5);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--glass-border); color: var(--paper);
  padding: 9px 16px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
@media (max-width: 900px) { .hero > .wrap { grid-template-columns: 1fr; } .portrait2 { max-width: 360px; } }
/* timeline story */
.story { padding: calc(4 * var(--leading)) 0; }
.story .head { margin-bottom: calc(2 * var(--leading)); }
.tl { display: grid; gap: 0; position: relative; max-width: 780px; }
.tl::before { content: ""; position: absolute; left: 19px; top: 10px; bottom: 10px; width: 2px;
  background: linear-gradient(180deg, var(--blue-bright), var(--magenta), var(--cyan)); border-radius: 2px; }
.tli { display: grid; grid-template-columns: 40px 1fr; gap: var(--leading); padding: var(--leading) 0; position: relative; }
.tli .dot2 { width: 40px; height: 40px; border-radius: 50%; background: var(--paper); border: 2px solid var(--magenta);
  display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 11px; color: var(--magenta); z-index: 1; }
.tli:nth-child(odd) .dot2 { border-color: var(--blue-bright); color: var(--blue-bright); }
.tli h3 { font-family: var(--font-heading); font-weight: 800; font-size: 18px; margin: 6px 0 6px; color: var(--navy); }
.tli p { font-size: 15px; line-height: 23px; margin: 0; color: color-mix(in srgb, var(--ink) 76%, transparent); max-width: 60ch; }
/* values band */
.vals { background: linear-gradient(168deg, var(--navy) 0%, var(--navy-deep) 85%); color: var(--paper); position: relative; overflow: hidden; }
.vals .glow { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; width: 480px; height: 480px;
  left: -160px; bottom: -200px; background: radial-gradient(circle, color-mix(in srgb, var(--cyan) 26%, transparent), transparent 70%); }
.vals .wrap { position: relative; z-index: 1; padding-top: calc(4 * var(--leading)); padding-bottom: calc(4 * var(--leading)); }
.vals .head { margin-bottom: calc(2 * var(--leading)); }
.vgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--leading); }
.vc { background: var(--glass); border: 1px solid var(--glass-border); border-radius: var(--r-lg); backdrop-filter: blur(10px);
  padding: calc(1.25 * var(--leading)) var(--leading); display: grid; gap: 8px; align-content: start; }
.vc .k3 { font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--cyan); }
.vc h3 { font-family: var(--font-heading); font-weight: 800; font-size: 19px; line-height: 1.2; margin: 0; }
.vc p { font-size: 14.5px; line-height: 21px; margin: 0; color: color-mix(in srgb, var(--paper) 80%, transparent); }
@media (max-width: 800px) { .vgrid { grid-template-columns: 1fr; } }
/* numbers strip */
.nums { background: var(--blue); color: var(--paper); }
.nums .wrap { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: var(--half) calc(1.5 * var(--leading));
  padding-top: 22px; padding-bottom: 22px; }
.num b { display: block; font-family: var(--font-heading); font-weight: 800; font-size: 26px; letter-spacing: -0.02em; }
.num span { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: color-mix(in srgb, #ffffff 72%, transparent); }
@media (max-width: 800px) { .nums .wrap { grid-template-columns: repeat(2, auto); justify-content: start; } }
/* own platforms */
.built { background: var(--tint); padding: calc(4 * var(--leading)) 0; }
.built .head { margin-bottom: calc(2 * var(--leading)); }
.bgrid2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--leading); }
.bc2 { background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--soft-sm); padding: calc(1.25 * var(--leading)) var(--leading);
  display: grid; gap: 8px; align-content: start; }
.bc2 .k4 { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--magenta); }
.bc2 h3 { font-family: var(--font-heading); font-weight: 800; font-size: 17.5px; line-height: 1.25; margin: 0; color: var(--navy); }
.bc2 p { font-size: 14.5px; line-height: 21px; margin: 0; color: color-mix(in srgb, var(--ink) 72%, transparent); }
@media (max-width: 900px) { .bgrid2 { grid-template-columns: 1fr; } }
