
.rm-hero{ position:relative; padding:104px 0 30px; overflow:hidden; }
.rm-hero::before{
  content:""; position:absolute; right:-120px; top:-140px; width:820px; height:660px;
  background:radial-gradient(circle, rgba(255,45,28,.22), transparent 62%);
  pointer-events:none;
}
.rhero-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:.72fr 1fr; gap:30px; align-items:center;
}
.rhero-copy h1{
  font-size:clamp(30px,3.2vw,44px); font-weight:700;
  letter-spacing:-.02em; margin:14px 0 16px;
}
.rhero-copy .lead{ max-width:390px; font-size:13.5px; }

.rhero-stats{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.rbox{
  display:flex; align-items:center; gap:11px;
  padding:13px 18px; border-radius:13px;
  background:var(--glass-bg); border:1px solid var(--line);
  transition:border-color .25s ease, transform .25s ease;
}
.rbox:hover{ border-color:rgba(255,255,255,.21); transform:translateY(-3px); }
.rbox-ico{
  width:32px; height:32px; border-radius:10px; flex:none;
  background:rgba(255,45,28,.15); border:1px solid var(--glass-border);
  display:grid; place-items:center; color:var(--purple-light);
}
.rbox-ico svg{ width:17px; height:17px; }
.rbox strong{ display:block; font-family:var(--f-display); font-size:17px; font-weight:600; line-height:1.2; }
.rbox span{ font-size:10.5px; color:var(--muted-2); }

.peak{
  border-radius:var(--radius-lg); overflow:hidden; line-height:0;
  border:1px solid var(--glass-border);
  box-shadow: 0 40px 80px -46px rgba(0, 0, 0, 0.40);
}
.peak svg{ width:100%; height:auto; display:block; }

.rm-head{ text-align:center; margin-bottom:38px; }
.rm-head h2{ font-size:clamp(22px,2.4vw,30px); font-weight:600; margin-bottom:8px; }
.rm-head p{ color:var(--muted); font-size:12.5px; }

.tl{ position:relative; }

.tl-block{ position:relative; padding-top:16px; }
.tl-block + .tl-block{ margin-top:52px; }

.tl-block.loop::after{
  content:""; position:absolute; pointer-events:none;
  left:16px; right:16px; top:6px; bottom:-30px;
  border:1.5px dashed var(--glass-border);
  border-top:none; border-radius:0 0 28px 28px;
}

.tl-rail{
  position:absolute; left:5%; right:5%; top:6px; height:1.5px;
  background:linear-gradient(90deg,transparent,rgba(255,107,95,.6) 6%,rgba(255,107,95,.6) 94%,transparent);
}
.tl-rail.dashed{
  background:none;
  border-top:1.5px dashed var(--glass-border);
}

.tl-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

.tl-card{
  position:relative; display:flex; flex-direction:column;
  padding:20px 18px 34px; border-radius:var(--radius);
  background:var(--glass-bg); border:1px solid var(--line);
  transition:border-color .25s ease, transform .25s ease;
}
.tl-card:hover{ border-color:rgba(255,255,255,.21); transform:translateY(-4px); }
.tl-card.is-now{
  border-color:var(--glass-border);
  background:
    radial-gradient(circle at 85% 0%, rgba(255,45,28,.16), transparent 58%),
    var(--glass-bg);
}

.tl-dot{
  position:absolute; left:24px; top:-16px;
  width:13px; height:13px; border-radius:50%;
  background:var(--glass-bg-strong); border:1px solid var(--accent);
  box-shadow:0 0 0 5px rgba(255,45,28,.14);
}
.tl-dot.on{
  background:var(--purple-light);
  box-shadow:0 0 0 6px rgba(255,45,28,.22), 0 0 20px rgba(255,107,95,.85);
}
.tl-dot.soft{ border-color:var(--glass-border); }

.tl-year{
  display:block; font-family:var(--f-display); font-weight:600;
  font-size:19px; color:var(--purple-light); margin-bottom:5px;
}
.tl-title{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:13px; }
.tl-title h4{ font-size:14.5px; font-weight:600; }

.tag{
  padding:3px 9px; border-radius:7px;
  font-family:var(--f-display); font-size:10px; font-weight:500; white-space:nowrap;
}
.t-done, .t-now, .t-plan { border:1px solid transparent; }
.t-future{ background:transparent; border:1px dashed var(--glass-border); color:var(--text-muted); }

.checks li{
  position:relative; padding-left:23px;
  color:var(--muted); font-size:11.5px; line-height:2.05;
}
.checks li::before{
  content:""; position:absolute; left:0; top:7px;
  width:14px; height:14px; border-radius:50%;
  border:1.4px solid var(--glass-border);
}
.checks li.ok::before{
  background:var(--accent-strong); border-color:var(--accent-strong);
}
.checks li.ok::after{
  content:""; position:absolute; left:4px; top:10.4px;
  width:5px; height:2.6px; border-left:1.6px solid #fff; border-bottom:1.6px solid #fff;
  transform:rotate(-45deg);
}
.checks li.doing::before{
  background:var(--accent); border-color:var(--accent);
}
.checks li.doing::after{
  content:""; position:absolute; left:4px; top:10.4px;
  width:5px; height:2.6px; border-left:1.6px solid #fff; border-bottom:1.6px solid #fff;
  transform:rotate(-45deg);
}

.tl-ico{
  position:absolute; left:24px; bottom:-24px;
  width:48px; height:48px; border-radius:14px;
  background:var(--glass-bg-strong); border:1px solid var(--glass-border);
  backdrop-filter:blur(30px) saturate(130%); -webkit-backdrop-filter:blur(30px) saturate(130%);
  display:grid; place-items:center; color:var(--purple-light);
  box-shadow:0 12px 26px -12px rgba(0,0,0,.9);
}
.tl-ico svg{ width:23px; height:23px; }
.tl-ico.on{
  background:linear-gradient(150deg,var(--accent),var(--accent-strong)); color:#fff; border-color:transparent;
  box-shadow: 0 14px 30px -10px rgba(0, 0, 0, 0.40);
}

.split{ display:grid; grid-template-columns:1fr 1.12fr; gap:16px; align-items:stretch; }
.panel{
  padding:24px 24px 26px; border-radius:var(--radius-lg);
  background:var(--glass-bg); border:1px solid var(--line);
}
.panel-title{ font-size:19px; font-weight:600; margin-bottom:20px; }

.principles{ display:grid; grid-template-columns:1fr 1fr; gap:20px 22px; }
.pr{ display:flex; gap:12px; align-items:flex-start; }
.pr-ico{
  width:34px; height:34px; border-radius:11px; flex:none;
  background:rgba(255,45,28,.14); border:1px solid var(--glass-border);
  display:grid; place-items:center; color:var(--purple-light);
}
.pr-ico svg{ width:18px; height:18px; }
.pr h5{ font-size:12.5px; font-weight:600; margin-bottom:3px; }
.pr p{ color:var(--muted-2); font-size:11px; line-height:1.6; }

.started{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr .82fr; gap:20px; align-items:center;
  background:
    radial-gradient(circle at 82% 55%, rgba(255,45,28,.2), transparent 58%),
    var(--glass-bg);
}
.started-copy h3{ font-size:clamp(19px,1.9vw,24px); font-weight:600; margin-bottom:11px; }
.started-copy p{ color:var(--muted); font-size:12px; line-height:1.75; margin-bottom:18px; }

.started-art{ position:relative; height:210px; }
.big-c{
  position:absolute; left:50%; top:38%; transform:translate(-50%,-50%);
  width:96px; height:96px; border-radius:24px;
  background:linear-gradient(150deg,var(--accent),var(--accent-strong)); color:#fff;
  display:grid; place-items:center;
  box-shadow: 0 20px 46px -14px rgba(0, 0, 0, 0.40);
}
.big-c svg{ width:56px; height:56px; }
.rings{ position:absolute; left:0; right:0; bottom:6px; width:100%; }
.sat{
  position:absolute; width:34px; height:34px; border-radius:11px;
  background:var(--glass-bg-strong); border:1px solid var(--glass-border);
  backdrop-filter:blur(26px) saturate(130%); -webkit-backdrop-filter:blur(26px) saturate(130%);
  display:grid; place-items:center; color:var(--purple-light);
  box-shadow:0 10px 22px -10px rgba(0,0,0,.8);
}
.sat svg{ width:18px; height:18px; }
.s1{ left:2%;  top:26%; }
.s2{ left:26%; top:2%; }
.s3{ left:58%; top:0; }
.s4{ left:84%; top:20%; }
.s5{ left:82%; top:56%; }
.s6{ left:0;   top:60%; }

.join{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between;
  gap:26px; flex-wrap:wrap;
  padding:24px 30px; border-radius:var(--radius-lg);
  background:linear-gradient(105deg,rgba(255,45,28,.16) 0%,transparent 55%), var(--glass-bg-strong);
  border:1px solid var(--glass-border);
}
.join-copy{ display:flex; align-items:center; gap:16px; }
.join-ico{
  width:48px; height:48px; border-radius:14px; flex:none;
  background:var(--glass-bg-strong); border:1px solid var(--glass-border);
  display:grid; place-items:center; color:#fff;
}
.join-ico svg{ width:24px; height:24px; }
.join-copy h3{ font-size:clamp(17px,1.8vw,21px); font-weight:600; margin-bottom:3px; }
.join-copy p{ font-size:12px; color:var(--text-body); }

.join-form{ display:flex; gap:11px; flex-wrap:wrap; }
.join-form input{
  min-width:230px; padding:11px 16px; border-radius:10px;
  background:var(--glass-bg-strong); border:1px solid var(--glass-border);
  font-size:12.5px; color:var(--text-main); outline:none;
}
.join-form input::placeholder{ color:var(--text-body); }
.join-form input:focus{ border-color:var(--glass-border); }
.join .sub-msg{ flex-basis:100%; color:var(--text-body); margin-top:2px; }

.foot-map{ margin-top:14px; opacity:.9; }
.foot-map svg{ width:100%; max-width:210px; }

@media (max-width:1080px){
  .rhero-grid{ grid-template-columns:1fr; gap:28px; }
  .tl-row{ grid-template-columns:repeat(2,1fr); row-gap:52px; }
  .tl-rail,.tl-block.loop::after{ display:none; }
  .tl-block{ padding-top:22px; }
  .tl-block + .tl-block{ margin-top:56px; }
  .split{ grid-template-columns:1fr; }
  .started{ grid-template-columns:1fr; }
  .started-art{ height:190px; }
}

@media (max-width:820px){
  .rm-hero{ padding-top:92px; }
  .join{ flex-direction:column; align-items:stretch; }
  .join-form{ width:100%; }
  .join-form input{ flex:1; min-width:0; }
}

@media (max-width:640px){
  .tl-row{ grid-template-columns:1fr; row-gap:52px; }
  .principles{ grid-template-columns:1fr; }
  .rhero-stats{ gap:9px; }
  .rbox{ flex:1 1 44%; padding:11px 12px; }
  .join{ padding:20px 18px; }
  .join-form{ flex-direction:column; }
  .join-form .btn{ justify-content:center; }
}

.rm3d{
  position:relative; height:360px; border-radius:var(--radius-lg);
  border:1px solid var(--glass-border); background:var(--glass-bg); overflow:hidden;
}
.rm-road{ position:absolute; inset:0; }
.rm-lane{
  position:absolute; left:7%; right:7%; top:52%; height:2px; border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--glass-border) 12%,var(--glass-border) 88%,transparent);
}
.rm-beam{
  position:absolute; top:52%; width:120px; height:2px; border-radius:2px; left:7%;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  box-shadow:0 0 18px 2px var(--wash-red);
  animation:rmRun 5.4s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes rmRun{ 0%{ transform:translateX(0) translateZ(10px) } 100%{ transform:translateX(min(74vw,760px)) translateZ(10px) } }
.rm-stop{
  position:absolute; top:52%; display:flex; flex-direction:column; align-items:center;
  gap:6px; transform:translate(-50%,-50%); text-align:center; width:120px;
}
.rm-stop i{
  width:13px; height:13px; border-radius:50%; display:block;
  background:var(--glass-bg-strong); border:1px solid var(--accent);
  box-shadow:0 0 0 5px var(--wash-red);
}
.rm-stop b{ font-family:var(--f-display); font-size:14px; font-weight:600; color:var(--label); margin-top:8px; }
.rm-stop em{ font-style:normal; font-size:10.5px; color:var(--text-muted); line-height:1.4; }
.rm-stop.p1{ left:16%; } .rm-stop.p2{ left:38.5%; }
.rm-stop.p3{ left:61.5%; } .rm-stop.p4{ left:84%; }
.rm-glow{
  position:absolute; left:50%; top:52%; width:70%; height:150px;
  transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(ellipse at center,var(--wash-red),transparent 70%);
}
@media (max-width: 900px){
  .rm3d{ height:280px; }
  .rm-stop{ width:84px; } .rm-stop em{ display:none; }
}
