:root {
  --bg: #020b14;
  --bg-deep: #01070d;
  --panel: #06111d;
  --panel-2: #081522;
  --gold: #ffd400;
  --gold-2: #ffb800;
  --gold-soft: rgba(255, 205, 0, 0.42);
  --line: rgba(255, 190, 0, 0.55);
  --text: #f5f7fa;
  --muted: #c2c7ce;
  --container: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 50% 18%, rgba(11, 29, 45, 0.35), transparent 36%),
    linear-gradient(180deg, #020a13 0%, #010a13 56%, #020b14 100%);
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  z-index: -1;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size: 32px 32px;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.container {
  width: min(var(--container), calc(100% - clamp(38px, 14vw, 160px)));
  margin-inline: auto;
}

.site-header {
  height: 58px;
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(1, 8, 15, .91);
  border-bottom: 1px solid rgba(255, 199, 0, .11);
  backdrop-filter: blur(15px);
}
.nav-wrap { height: 58px; display: grid; grid-template-columns: 230px 1fr 230px; align-items: center; }
.brand { width: 146px; height: 43px; display: flex; align-items: center; overflow: hidden; }
.brand img, .footer-brand img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; justify-content: center; align-self: stretch; gap: 34px; }
.desktop-nav a { position: relative; display: grid; place-items: center; color: #e3e5e8; font-size: 12px; transition: color .25s ease; }
.desktop-nav a::after { content: ""; position: absolute; height: 2px; bottom: 11px; left: 50%; right: 50%; background: var(--gold); box-shadow: 0 0 9px var(--gold); transition: left .25s ease, right .25s ease; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--gold); }
.desktop-nav a:hover::after, .desktop-nav a.active::after { left: 0; right: 0; }
.register-pill { justify-self: end; min-width: 102px; height: 32px; padding: 0 17px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid #8090a0; border-radius: 99px; font-size: 12px; transition: .25s ease; }
.register-pill svg { font-size: 17px; }
.register-pill:hover { color: #06101a; background: var(--gold); border-color: var(--gold); box-shadow: 0 0 18px rgba(255,205,0,.42); }
.menu-button, .mobile-panel { display: none; }

.hero { position: relative; min-height: 330px; isolation: isolate; overflow: hidden; }
.hero::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background:
    linear-gradient(90deg, #020b14 0%, rgba(2,11,20,.96) 27%, rgba(2,11,20,.44) 57%, rgba(2,11,20,.15) 100%),
    linear-gradient(180deg, transparent 62%, #020b14 100%),
    url("../img/hero-panther.png") 66% 42% / cover no-repeat;
}
.hero::after { content: ""; position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 75% 45%, rgba(255,186,0,.08), transparent 30%); }
.hero-aura { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.hero-aura::before, .hero-aura::after { content: ""; position: absolute; height: 1px; width: 45%; right: -3%; background: linear-gradient(90deg, transparent, rgba(255,211,0,.78), transparent); filter: drop-shadow(0 0 8px #ffbf00); transform-origin: right; }
.hero-aura::before { top: 52%; transform: rotate(-13deg); }
.hero-aura::after { top: 42%; transform: rotate(12deg); opacity: .48; }
.hero-copy { padding: 18px 0 26px; position: relative; z-index: 2; }
.eyebrow { margin: 0 0 9px; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--gold); letter-spacing: .15px; }
.target-dot { width: 16px; height: 16px; position: relative; border: 2px solid var(--gold); border-radius: 50%; }
.target-dot::before, .target-dot::after { content: ""; position: absolute; border-radius: 50%; inset: 3px; border: 1px solid var(--gold); }
.target-dot::after { inset: 6px; background: var(--gold); border: 0; }
.hero h1 { margin: 0; max-width: 475px; font-size: clamp(37px, 4.3vw, 49px); line-height: .98; letter-spacing: -1.7px; text-wrap: balance; text-shadow: 0 3px 11px #000; }
.hero h1 span, .hero h1 strong { display: block; }
.hero h1 strong { margin-top: 7px; color: var(--gold); font-weight: 800; }
.hero-sub { margin: 10px 0 10px; color: #e4e7eb; font-size: 15px; line-height: 1.23; text-shadow: 0 2px 7px #000; }
.hero-actions { display: flex; gap: 17px; }
.btn { min-width: 181px; height: 41px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid transparent; border-radius: 7px; font-weight: 700; font-size: 14px; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.btn svg { font-size: 21px; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #07101a; background: linear-gradient(110deg, #ffc800, #ffdf20 54%, #ffc400); border-color: #ffe449; box-shadow: 0 0 19px rgba(255, 196, 0, .39), inset 0 1px rgba(255,255,255,.5); }
.btn-primary:hover { box-shadow: 0 0 27px rgba(255, 203, 0, .68), inset 0 1px rgba(255,255,255,.55); }
.btn-ghost { color: #e9edf1; background: rgba(2,10,17,.67); border-color: #48515d; font-weight: 500; }
.btn-ghost:hover { color: var(--gold); border-color: var(--gold); }

.glow-card { position: relative; overflow: hidden; background: linear-gradient(145deg, rgba(5,17,29,.96), rgba(2,10,18,.98)); border: 1px solid var(--line); }
.glow-card::before { content: ""; pointer-events: none; position: absolute; width: 180px; height: 180px; left: calc(var(--mouse-x, 50%) - 90px); top: calc(var(--mouse-y, 50%) - 90px); opacity: 0; border-radius: 50%; background: radial-gradient(circle, rgba(255,206,0,.18), transparent 67%); transition: opacity .3s ease; }
.glow-card:hover::before { opacity: 1; }
.metric-grid { position: relative; z-index: 5; margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.metric-card { min-height: 176px; border-radius: 16px; padding: 18px 18px 16px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; box-shadow: 0 0 13px rgba(255,190,0,.39), inset 0 0 24px rgba(255,190,0,.025); }
.metric-card::after { content: ""; position: absolute; top: -1px; left: 17%; width: 66%; height: 2px; background: linear-gradient(90deg, transparent, #fff4ad, #ffd000, transparent); box-shadow: 0 0 16px 4px #ffbe00; }
.metric-top { width: 100%; min-height: 82px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.metric-card .metric-icon { position: relative; flex: 0 0 auto; width: 66px; height: 66px; display: grid; place-items: center; color: var(--gold); filter: drop-shadow(0 0 9px rgba(255,190,0,.65)); }
.metric-symbol { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 3.8; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.handshake-symbol, .lock-symbol { stroke-width: 1.8; }
.metric-main { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; column-gap: 7px; }
.metric-main strong { color: var(--gold); font-size: 61px; line-height: .8; letter-spacing: -2px; filter: drop-shadow(0 0 8px rgba(255,190,0,.47)); }
.metric-main span { font-size: 20px; line-height: 1; font-weight: 700; white-space: nowrap; }
.metric-card:nth-child(2) .metric-icon { width: 61px; height: 61px; }
.metric-card:nth-child(2) .metric-main strong { font-size: 55px; }
.metric-card:nth-child(2) .metric-top,
.metric-card:nth-child(3) .metric-top { min-height: 72px; }
.metric-card:nth-child(3) .metric-icon { width: 69px; height: 69px; }
.metric-card:nth-child(3) .metric-main strong { font-size: 60px; }
.metric-card:nth-child(3) .metric-main span { font-size: 36px; }
.metric-card h3 { margin: 1px 0 2px; font-size: 18px; line-height: 1; }
.metric-card p { margin: 2px 0 1px; color: #d6d9dd; font-size: 13px; }
.metric-card b { color: var(--gold); font-size: 13px; }

.trust-bar { height: 42px; margin-top: 10px; max-width: 711px; display: grid; grid-template-columns: repeat(4, 1fr); background: linear-gradient(180deg, #07131f, #030c15); border: 1px solid rgba(255,180,0,.43); border-radius: 12px; }
.trust-bar div { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; color: #e3e6e9; }
.trust-bar div:not(:last-child)::after { content: ""; position: absolute; width: 1px; height: 23px; right: 0; background: rgba(255,255,255,.34); }
.trust-bar svg { color: var(--gold); font-size: 25px; filter: drop-shadow(0 0 5px rgba(255,202,0,.36)); }

.feature-grid { margin-top: 7px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.feature-card { min-height: 140px; padding: 13px 8px 9px; border-radius: 8px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.icon-orbit, .mini-icon { flex: 0 0 auto; display: grid; place-items: center; color: var(--gold); border: 1px solid rgba(255,191,0,.48); border-radius: 50%; background: radial-gradient(circle, rgba(255,196,0,.11), rgba(2,10,18,.92) 65%); }
.icon-orbit { width: 53px; height: 53px; margin-bottom: 7px; box-shadow: inset 0 0 9px rgba(255,197,0,.15); }
.icon-orbit svg { font-size: 35px; filter: drop-shadow(0 0 6px rgba(255,194,0,.46)); }
.feature-card h3 { margin: 0 0 5px; font-size: 15px; }
.feature-card p { margin: 0; color: #d3d7dc; font-size: 12px; line-height: 1.22; }

.community-bar { margin-top: 8px; min-height: 61px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,183,0,.31); border-radius: 8px; background: linear-gradient(180deg, rgba(6,18,29,.95), rgba(3,12,20,.96)); }
.community-bar > div { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; }
.community-bar > div:not(:last-child)::after { content: ""; position: absolute; right: 0; height: 39px; width: 1px; background: rgba(255,255,255,.27); }
.mini-icon { width: 43px; height: 43px; }
.mini-icon svg { font-size: 29px; }
.community-bar p { margin: 0; display: grid; }
.community-bar strong { color: var(--gold); font-size: 20px; line-height: 1; }
.community-bar small { font-size: 13px; margin-top: 4px; }

.steps-section { padding-top: 10px; text-align: center; }
.section-kicker { color: var(--gold); font-size: 14px; font-weight: 700; }
.steps-section > h2 { margin: 1px 0 4px; font-size: 18px; line-height: 1; }
.steps-grid { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items: center; }
.step-card { min-height: 72px; padding: 10px 13px; border-color: rgba(255,185,0,.35); border-radius: 8px; display: grid; grid-template-columns: 47px 50px 1fr; gap: 7px; align-items: center; text-align: left; }
.step-no { display: grid; place-items: center; width: 45px; height: 45px; color: var(--gold); font-weight: 800; font-size: 23px; border: 1px solid rgba(255,185,0,.39); border-radius: 15px; }
.step-icon { position: relative; display: grid; place-items: center; color: var(--gold); font-size: 36px; }
.step-icon::before { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: rgba(255,194,0,.12); filter: blur(4px); }
.step-card h3 { margin: 0 0 2px; font-size: 13px; }
.step-card p { margin: 0; color: #d9dce0; font-size: 12px; line-height: 1.2; }
.step-arrow { color: var(--gold); font-size: 27px; display: grid; place-items: center; }

.main-cta { min-height: 95px; margin-top: 13px; padding: 16px 43px; display: flex; align-items: center; justify-content: space-between; border-radius: 16px; box-shadow: 0 0 16px rgba(255,184,0,.48), inset 0 0 22px rgba(255,198,0,.05); background:
  linear-gradient(100deg, #06131f 0 61%, rgba(20,20,8,.92) 100%),
  radial-gradient(circle at 85%, rgba(255,204,0,.23), transparent 38%);
}
.main-cta::after { content: ""; position: absolute; inset: auto -6% -60% 55%; height: 130px; transform: rotate(-12deg); background: repeating-linear-gradient(90deg, transparent 0 9px, rgba(255,207,0,.13) 10px, transparent 11px 18px); filter: blur(.5px); }
.main-cta > * { position: relative; z-index: 1; }
.main-cta p, .ready-card > p { margin: 0; color: var(--gold); font-size: 13px; font-weight: 800; letter-spacing: 1.7px; }
.main-cta h2 { margin: 3px 0 0; font-size: 29px; line-height: 1; }
.main-cta span { font-size: 13px; color: #d2d6dc; }
.main-cta .btn { min-width: 225px; height: 51px; font-size: 20px; padding-inline: 38px; }

.lower-grid { margin-top: 12px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px; }
.faq-card, .ready-card { min-height: 132px; border-radius: 8px; border-color: rgba(255,187,0,.46); }
.faq-card { padding: 13px 18px 10px; }
.faq-title { height: 11px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 7px; align-items: center; }
.faq-title span { height: 1px; background: rgba(255,255,255,.37); }
.faq-title h2 { margin: 0; font-size: 12px; font-weight: 500; }
.accordion { margin-top: 5px; }
.faq-item { margin-top: 2px; border: 1px solid rgba(130,150,167,.31); border-radius: 7px; background: rgba(10,25,38,.62); overflow: hidden; }
.faq-item button { width: 100%; min-height: 24px; padding: 3px 12px; display: grid; grid-template-columns: 18px 1fr 18px; gap: 8px; align-items: center; color: #edf0f3; border: 0; background: transparent; cursor: pointer; text-align: left; font-size: 11px; }
.faq-item button b { justify-self: end; font-size: 18px; line-height: 1; font-weight: 400; transition: transform .2s ease; }
.faq-item.open button b { transform: rotate(45deg); }
.faq-dot { width: 13px; height: 13px; display: block; border: 2px solid var(--gold); border-radius: 50%; box-shadow: inset 0 0 0 2px #06131e; background: var(--gold); }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s ease; }
.faq-answer p { min-height: 0; overflow: hidden; margin: 0 37px; color: #b9c1c9; font-size: 11px; line-height: 1.4; }
.faq-item.open .faq-answer { grid-template-rows: 1fr; }
.faq-item.open .faq-answer p { padding-bottom: 8px; }
.ready-card { padding: 14px 26px; }
.ready-card h2 { margin: 3px 0 2px; font-size: 23px; line-height: 1; }
.ready-card > span { font-size: 13px; color: #d4d8dc; }
.ready-card .btn { display: flex; width: 178px; min-width: 0; height: 37px; margin-top: 12px; font-size: 14px; }

.site-footer { margin-top: clamp(58px, 6vw, 92px); border-top: 1px solid rgba(255,194,0,.14); background: linear-gradient(180deg, rgba(1,9,16,.64), #010811 72%); }
.footer-grid { min-height: 152px; padding: 14px 4px 12px; display: grid; grid-template-columns: 1.45fr .9fr .9fr 1.4fr; gap: 34px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; }
.footer-brand img { width: 142px; height: 39px; }
.footer-brand p { margin: 4px 0 9px; color: #b8c0c8; font-size: 12px; line-height: 1.5; }
.footer-grid h3 { margin: 0 0 8px; color: var(--gold); font-size: 11px; }
.footer-grid a, .contact-line { margin: 0 0 3px; color: #b9c0c8; font-size: 11px; transition: color .2s ease; }
.footer-grid a:hover { color: var(--gold); }
.socials { display: flex; gap: 13px; }
.socials a { width: 22px; height: 22px; margin: 0; display: grid; place-items: center; color: #d1d6db; border: 1px solid #3a4856; border-radius: 50%; font-size: 11px; }
.footer-contact { min-width: 112px; height: 27px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border: 1px solid #385268; border-radius: 6px; }
.footer-contact svg, .contact-line svg { color: var(--gold); font-size: 15px; vertical-align: -3px; margin-right: 5px; }
.trust-note { margin: 9px 0 0; color: #9da8b2; font-size: 10px; }
.trust-note svg { color: var(--gold); font-size: 15px; vertical-align: -4px; margin-right: 5px; }
.risk-line { padding: 7px 0; border-top: 1px solid rgba(255,255,255,.05); color: #7d8995; text-align: center; font-size: 9px; }
.copyright { height: 40px; border-top: 1px solid rgba(255,255,255,.06); display: grid; place-items: center; color: #7f8995; font-size: 10px; }
.floating-contact { position: fixed; z-index: 45; right: 25px; bottom: 15px; height: 35px; padding: 0 16px; display: flex; align-items: center; gap: 8px; color: #fff; border: 1px solid rgba(255,255,255,.45); border-radius: 99px; background: linear-gradient(135deg, #19a1ff, #126dff); box-shadow: 0 8px 24px rgba(0,116,255,.4); font-size: 12px; transition: transform .2s ease; }
.floating-contact:hover { transform: translateY(-3px); }
.floating-contact svg { font-size: 18px; }

/*
 * The approved mockup was drawn at 1122px wide.  Above laptop size the old
 * build kept every component locked to a 960px canvas, which made the entire
 * page look like a tiny poster in the middle of a large monitor.  This desktop
 * tier scales the same composition up together: typography, hero, cards,
 * gutters and footer all retain the mockup's proportions.
 */
@media (min-width: 1280px) {
  html { scroll-padding-top: 74px; }

  .site-header,
  .nav-wrap { height: 74px; }

  .nav-wrap { grid-template-columns: 310px 1fr 310px; }
  .brand { width: 190px; height: 56px; }
  .desktop-nav { gap: 47px; }
  .desktop-nav a { font-size: 15px; }
  .desktop-nav a::after { height: 3px; bottom: 14px; }
  .register-pill { min-width: 132px; height: 40px; padding-inline: 22px; gap: 11px; font-size: 15px; }
  .register-pill svg { font-size: 21px; }

  .hero { min-height: 452px; }
  .hero::before {
    background:
      linear-gradient(90deg, #020b14 0%, rgba(2,11,20,.96) 27%, rgba(2,11,20,.44) 57%, rgba(2,11,20,.12) 100%),
      linear-gradient(180deg, transparent 62%, #020b14 100%),
      url("../img/hero-panther.png") calc(50% + 145px) 43% / 1680px auto no-repeat;
  }
  .hero-copy { padding: 30px 0 38px; }
  .eyebrow { margin-bottom: 13px; gap: 10px; font-size: 18px; }
  .target-dot { width: 20px; height: 20px; }
  .hero h1 { max-width: 650px; font-size: clamp(58px, 3.55vw, 72px); line-height: .98; letter-spacing: -2.2px; }
  .hero h1 strong { margin-top: 9px; }
  .hero-sub { margin: 15px 0 15px; font-size: 19px; line-height: 1.22; }
  .hero-actions { gap: 22px; }
  .btn { min-width: 235px; height: 52px; padding-inline: 29px; border-radius: 9px; font-size: 18px; }
  .btn svg { font-size: 26px; }

  .metric-grid { margin-top: 34px; gap: 20px; }
  .metric-card { min-height: 236px; padding: 27px 24px 22px; border-radius: 21px; gap: 5px; box-shadow: 0 0 20px rgba(255,190,0,.42), inset 0 0 32px rgba(255,190,0,.03); }
  .metric-top { min-height: 104px; gap: 18px; }
  .metric-card .metric-icon { width: 90px; height: 90px; }
  .metric-main { column-gap: 10px; }
  .metric-main strong { font-size: 82px; }
  .metric-main span { font-size: 27px; }
  .metric-card:nth-child(2) .metric-icon { width: 80px; height: 80px; }
  .metric-card:nth-child(2) .metric-main strong { font-size: 75px; }
  .metric-card:nth-child(2) .metric-top,
  .metric-card:nth-child(3) .metric-top { min-height: 92px; }
  .metric-card:nth-child(3) .metric-icon { width: 95px; height: 95px; }
  .metric-card:nth-child(3) .metric-main strong { font-size: 81px; }
  .metric-card:nth-child(3) .metric-main span { font-size: 48px; }
  .metric-card h3 { margin: 2px 0 3px; font-size: 24px; }
  .metric-card p { margin-block: 3px; font-size: 17px; }
  .metric-card b { font-size: 17px; }

  .trust-bar { max-width: 1000px; height: 56px; margin-top: 14px; border-radius: 15px; }
  .trust-bar div { gap: 14px; font-size: 18px; }
  .trust-bar div:not(:last-child)::after { height: 31px; }
  .trust-bar svg { font-size: 33px; }

  .feature-grid { margin-top: 10px; gap: 11px; }
  .feature-card { min-height: 187px; padding: 18px 11px 12px; border-radius: 10px; }
  .icon-orbit { width: 71px; height: 71px; margin-bottom: 10px; }
  .icon-orbit svg { font-size: 47px; }
  .feature-card h3 { margin-bottom: 7px; font-size: 20px; }
  .feature-card p { font-size: 16px; }

  .community-bar { min-height: 82px; margin-top: 11px; border-radius: 10px; }
  .community-bar > div { gap: 16px; }
  .community-bar > div:not(:last-child)::after { height: 52px; }
  .mini-icon { width: 57px; height: 57px; }
  .mini-icon svg { font-size: 39px; }
  .community-bar strong { font-size: 27px; }
  .community-bar small { margin-top: 5px; font-size: 17px; }

  .steps-section { padding-top: 14px; }
  .section-kicker { font-size: 18px; }
  .steps-section > h2 { margin: 2px 0 7px; font-size: 24px; }
  .steps-grid { grid-template-columns: 1fr 46px 1fr 46px 1fr; }
  .step-card { min-height: 96px; padding: 13px 18px; grid-template-columns: 63px 67px 1fr; gap: 9px; border-radius: 10px; }
  .step-no { width: 60px; height: 60px; border-radius: 20px; font-size: 31px; }
  .step-icon { font-size: 48px; }
  .step-card h3 { margin-bottom: 3px; font-size: 17px; }
  .step-card p { font-size: 16px; }
  .step-arrow { font-size: 36px; }

  .main-cta { min-height: 127px; margin-top: 18px; padding: 21px 58px; border-radius: 21px; }
  .main-cta p,
  .ready-card > p { font-size: 17px; letter-spacing: 2.2px; }
  .main-cta h2 { margin-top: 5px; font-size: 39px; }
  .main-cta span { font-size: 17px; }
  .main-cta .btn { min-width: 300px; height: 68px; padding-inline: 50px; font-size: 27px; }

  .lower-grid { margin-top: 16px; gap: 24px; }
  .faq-card,
  .ready-card { min-height: 176px; border-radius: 10px; }
  .faq-card { padding: 17px 24px 13px; }
  .faq-title { height: 15px; gap: 9px; }
  .faq-title h2 { font-size: 16px; }
  .accordion { margin-top: 7px; }
  .faq-item { margin-top: 3px; border-radius: 8px; }
  .faq-item button { min-height: 32px; padding: 4px 16px; grid-template-columns: 24px 1fr 24px; gap: 10px; font-size: 15px; }
  .faq-item button b { font-size: 24px; }
  .faq-dot { width: 17px; height: 17px; }
  .faq-answer p { margin-inline: 50px; font-size: 14px; }
  .ready-card { padding: 19px 35px; }
  .ready-card h2 { margin: 4px 0 3px; font-size: 31px; }
  .ready-card > span { font-size: 17px; }
  .ready-card .btn { width: 238px; height: 49px; margin-top: 16px; font-size: 18px; }

  .site-footer { margin-top: 86px; }
  .footer-grid { min-height: 214px; padding: 27px 5px 22px; gap: 46px; }
  .footer-brand img { width: 190px; height: 52px; }
  .footer-brand p { margin: 5px 0 12px; font-size: 16px; }
  .footer-grid h3 { margin-bottom: 11px; font-size: 15px; }
  .footer-grid a,
  .contact-line { margin-bottom: 4px; font-size: 15px; }
  .socials { gap: 17px; }
  .socials a { width: 29px; height: 29px; font-size: 15px; }
  .footer-contact { min-width: 150px; height: 36px; padding-inline: 16px; }
  .footer-contact svg,
  .contact-line svg { font-size: 20px; margin-right: 7px; }
  .trust-note { margin-top: 12px; font-size: 13px; }
  .trust-note svg { font-size: 20px; }
  .risk-line { padding-block: 9px; font-size: 12px; }
  .copyright { height: 53px; font-size: 13px; }
  .floating-contact { right: 30px; bottom: 18px; height: 44px; padding-inline: 20px; gap: 10px; font-size: 15px; }
  .floating-contact svg { font-size: 23px; }
}

@media (max-width: 900px) {
  .nav-wrap { grid-template-columns: 180px 1fr 130px; }
  .desktop-nav { gap: 20px; }
  .hero::before { background-position: 58% 45%; }
  .metric-top { gap: 10px; }
  .metric-card .metric-icon { width: 53px; height: 53px; }
  .metric-main strong { font-size: 50px; }
  .metric-main span { font-size: 16px; }
  .metric-card:nth-child(2) .metric-icon { width: 48px; height: 48px; }
  .metric-card:nth-child(2) .metric-main strong { font-size: 44px; }
  .metric-card:nth-child(3) .metric-icon { width: 57px; height: 57px; }
  .feature-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
  .container { width: min(100% - 32px, 570px); }
  .site-header, .nav-wrap { height: 64px; }
  .nav-wrap { grid-template-columns: 1fr auto; }
  .brand { width: 136px; height: 44px; }
  .desktop-nav, .desktop-register { display: none; }
  .menu-button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: var(--gold); border: 1px solid rgba(255,205,0,.52); border-radius: 11px; background: #07131f; }
  .menu-button svg { font-size: 22px; }
  .menu-close { display: none; }
  .site-header.menu-open .menu-open { display: none; }
  .site-header.menu-open .menu-close { display: block; }
  .mobile-panel { position: absolute; top: 64px; left: 0; right: 0; display: grid; grid-template-rows: 0fr; background: rgba(2,11,20,.98); border-bottom: 1px solid transparent; transition: grid-template-rows .28s ease, border-color .28s ease; }
  .mobile-panel nav { min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
  .mobile-panel a { padding: 13px 21px; border-top: 1px solid rgba(255,255,255,.06); font-size: 14px; }
  .mobile-panel a:last-child { color: var(--gold); font-weight: 700; }
  .site-header.menu-open .mobile-panel { grid-template-rows: 1fr; border-color: rgba(255,206,0,.35); }
  .hero { min-height: 0; }
  .hero::before { background:
    linear-gradient(180deg, rgba(2,11,20,.94) 0%, rgba(2,11,20,.60) 50%, #020b14 100%),
    linear-gradient(90deg, #020b14 0%, rgba(2,11,20,.54) 48%, rgba(2,11,20,.18) 100%),
    url("../img/hero-panther.png") 64% 60% / auto 100% no-repeat;
  }
  .hero-aura { opacity: .66; }
  .hero-copy { padding: 24px 0 42px; }
  .eyebrow { margin-bottom: 12px; font-size: 12px; }
  .hero h1 { max-width: 545px; font-size: clamp(32px, 6.2vw, 38px); line-height: 1; letter-spacing: -1.1px; }
  .hero h1 strong { margin-top: 9px; }
  .hero-sub { margin: 14px 0 15px; font-size: 14px; line-height: 1.3; }
  .hero-actions { width: min(100%, 360px); display: grid; grid-template-columns: 1fr; gap: 9px; }
  .btn { width: 100%; min-width: 0; height: 46px; padding-inline: 17px; }
  .metric-grid { margin-top: 18px; grid-template-columns: 1fr; gap: 12px; }
  .metric-card { min-height: 144px; padding: 14px 18px 13px; border-radius: 15px; gap: 1px; }
  .metric-card::after { left: 23%; width: 54%; }
  .metric-top { max-width: 420px; min-height: 64px; gap: 12px; }
  .metric-card .metric-icon { width: 53px; height: 53px; }
  .metric-main strong { font-size: 50px; }
  .metric-main span { font-size: 17px; }
  .metric-card:nth-child(2) .metric-icon { width: 49px; height: 49px; }
  .metric-card:nth-child(2) .metric-main strong { font-size: 46px; }
  .metric-card:nth-child(2) .metric-top,
  .metric-card:nth-child(3) .metric-top { min-height: 58px; }
  .metric-card:nth-child(3) .metric-icon { width: 54px; height: 54px; }
  .metric-card:nth-child(3) .metric-main strong { font-size: 50px; }
  .metric-card:nth-child(3) .metric-main span { font-size: 28px; }
  .metric-card h3 { margin: 2px 0 3px; font-size: 17px; }
  .metric-card p { margin: 2px 0; font-size: 13px; }
  .metric-card b { font-size: 13px; }
  .trust-bar { width: calc(100% - 26px); height: auto; grid-template-columns: 1fr 1fr; }
  .trust-bar div { min-height: 44px; font-size: 13px; }
  .trust-bar div:nth-child(2)::after { display: none; }
  .trust-bar div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .feature-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .feature-card { min-height: 132px; }
  .community-bar { grid-template-columns: 1fr 1fr; }
  .community-bar > div { min-height: 63px; }
  .community-bar > div:nth-child(2)::after { display: none; }
  .community-bar > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .steps-section { padding-top: 14px; }
  .steps-grid { grid-template-columns: 1fr; gap: 7px; }
  .step-arrow { transform: rotate(90deg); height: 20px; }
  .step-card { min-height: 84px; }
  .main-cta { padding: 21px; display: grid; gap: 17px; }
  .main-cta h2 { font-size: 26px; line-height: 1.02; }
  .main-cta .btn { width: 100%; min-width: 0; }
  .lower-grid { grid-template-columns: 1fr; gap: 10px; }
  .faq-card { padding-bottom: 15px; }
  .ready-card { min-height: 168px; }
  .ready-card .btn { width: 100%; }
  .site-footer { margin-top: 42px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 22px 24px; padding: 25px 0 20px; }
  .footer-brand,
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-brand { padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.07); }
  .footer-brand img { width: 138px; height: 40px; }
  .footer-brand p { margin-top: 6px; }
  .footer-grid > div:last-child { padding-top: 17px; border-top: 1px solid rgba(255,255,255,.07); }
  .footer-contact { min-width: 142px; }
  .risk-line { padding: 11px 15px; line-height: 1.45; }
  .copyright { height: 46px; padding-bottom: 6px; }
  .floating-contact { right: 12px; bottom: 10px; height: 40px; padding-inline: 15px; }
}

@media (max-width: 410px) {
  .container { width: calc(100% - 20px); }
  .brand { width: 126px; }
  .hero::before { background:
    linear-gradient(180deg, rgba(2,11,20,.95) 0%, rgba(2,11,20,.64) 50%, #020b14 100%),
    linear-gradient(90deg, #020b14 0%, rgba(2,11,20,.58) 48%, rgba(2,11,20,.20) 100%),
    url("../img/hero-panther.png") 63% 62% / auto 100% no-repeat;
  }
  .hero-copy { padding: 21px 0 34px; }
  .hero h1 { font-size: clamp(31px, 9.2vw, 35px); letter-spacing: -.9px; }
  .hero-sub { margin-block: 12px; font-size: 13px; }
  .hero-actions { grid-template-columns: 1fr; max-width: none; gap: 8px; }
  .btn { height: 44px; }
  .metric-grid { margin-top: 15px; gap: 11px; }
  .metric-card { min-height: 139px; padding-inline: 13px; }
  .metric-top { gap: 9px; }
  .metric-card .metric-icon { width: 48px; height: 48px; }
  .metric-main strong { font-size: 46px; }
  .metric-main span { font-size: 15px; }
  .metric-card:nth-child(2) .metric-icon { width: 45px; height: 45px; }
  .metric-card:nth-child(2) .metric-main strong { font-size: 42px; }
  .metric-card:nth-child(3) .metric-icon { width: 49px; height: 49px; }
  .metric-card:nth-child(3) .metric-main strong { font-size: 46px; }
  .metric-card:nth-child(3) .metric-main span { font-size: 25px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap-inline: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* =========================================================
   v6 — MOBILE-FIRST COPYTRADE FLOW
   Hero headline -> 3 compact proof cards -> closing CTA
   ========================================================= */
.hero-scroll-hint {
  width: max-content;
  margin-top: 15px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #dfe5eb;
  font-size: 13px;
  font-weight: 600;
  opacity: .86;
  transition: color .22s ease, transform .22s ease, opacity .22s ease;
}
.hero-scroll-hint::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(255, 212, 0, .55);
}
.hero-scroll-hint svg {
  color: var(--gold);
  font-size: 17px;
  transform: rotate(90deg);
  animation: hint-bob 1.8s ease-in-out infinite;
}
.hero-scroll-hint:hover {
  color: var(--gold);
  opacity: 1;
  transform: translateX(3px);
}

.copytrade-cta {
  min-height: 164px;
  margin-top: 28px;
  padding: 26px 32px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  isolation: isolate;
  box-shadow: 0 0 24px rgba(255, 190, 0, .23), inset 0 0 34px rgba(255, 190, 0, .03);
}
.copytrade-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--mouse-x, 20%) var(--mouse-y, 50%), rgba(255, 211, 0, .14), transparent 27%),
    linear-gradient(105deg, rgba(255, 212, 0, .035), transparent 42%);
}
.copytrade-cta .cta-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}
.cta-kicker {
  margin: 0 0 5px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.9px;
}
.copytrade-cta h2 {
  margin: 0;
  font-size: clamp(30px, 3.15vw, 47px);
  line-height: .98;
  letter-spacing: -1.25px;
  text-shadow: 0 3px 12px #000;
}
.copytrade-cta h2 span { color: var(--gold); }
.cta-note {
  margin: 9px 0 0;
  color: #b8c1ca;
  font-size: 13px;
}
.cta-join {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  min-width: 205px;
  height: 62px;
  padding: 0 10px 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  overflow: hidden;
  color: #06101a;
  border: 1px solid #ffe66d;
  border-radius: 12px;
  background: linear-gradient(105deg, #ffc400 0%, #ffe029 55%, #ffc400 100%);
  box-shadow: 0 0 20px rgba(255, 199, 0, .40), inset 0 1px 0 rgba(255,255,255,.65);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .3px;
  transition: transform .22s ease, box-shadow .22s ease;
}
.cta-join::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -45%;
  width: 35%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  transform: rotate(18deg);
  animation: cta-shine 3.8s ease-in-out infinite;
}
.cta-join:hover {
  transform: translateY(-3px) scale(1.015);
  box-shadow: 0 0 34px rgba(255, 205, 0, .67), inset 0 1px 0 rgba(255,255,255,.7);
}
.cta-arrow {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(4, 13, 22, .10);
  transition: transform .22s ease, background .22s ease;
}
.cta-join:hover .cta-arrow {
  transform: translateX(3px);
  background: rgba(4, 13, 22, .16);
}
.cta-arrow svg { font-size: 23px; }
.cta-scanline {
  position: absolute;
  left: 3%;
  right: 3%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), #fff2a2, var(--gold), transparent);
  opacity: .85;
  filter: drop-shadow(0 0 7px var(--gold));
  animation: scan-pulse 2.7s ease-in-out infinite;
}

.reveal-on-scroll,
.metric-card {
  transition: opacity .55s ease, transform .55s cubic-bezier(.2,.75,.25,1), box-shadow .25s ease, border-color .25s ease;
}
.js-reveal-ready .reveal-on-scroll,
.js-reveal-ready .metric-card {
  opacity: 0;
  transform: translateY(18px);
}
.js-reveal-ready .is-visible {
  opacity: 1;
  transform: translateY(0);
}
.metric-card.is-touched {
  border-color: rgba(255, 221, 62, .95);
  box-shadow: 0 0 24px rgba(255,190,0,.40), inset 0 0 28px rgba(255,190,0,.06);
}

@keyframes hint-bob {
  0%, 100% { transform: rotate(90deg) translateX(0); }
  50% { transform: rotate(90deg) translateX(4px); }
}
@keyframes cta-shine {
  0%, 62% { left: -45%; }
  82%, 100% { left: 125%; }
}
@keyframes scan-pulse {
  0%, 100% { opacity: .38; transform: scaleX(.82); }
  50% { opacity: 1; transform: scaleX(1); }
}

@media (min-width: 1280px) {
  .hero { min-height: 410px; }
  .hero-copy { padding-top: 42px; }
  .hero h1 { max-width: 720px; }
  .hero-scroll-hint { margin-top: 20px; font-size: 16px; }
  .copytrade-cta { min-height: 196px; margin-top: 35px; padding: 32px 45px; }
  .cta-kicker { font-size: 14px; }
  .cta-note { font-size: 16px; }
  .cta-join { min-width: 255px; height: 70px; padding-left: 31px; font-size: 20px; }
  .cta-arrow { width: 49px; height: 49px; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 64px; }
  .container { width: min(100% - 32px, 560px); }

  .hero {
    min-height: 354px;
    border-bottom: 1px solid rgba(255, 208, 0, .08);
  }
  .hero::before {
    background:
      linear-gradient(180deg, rgba(2,11,20,.75) 0%, rgba(2,11,20,.42) 49%, #020b14 100%),
      linear-gradient(90deg, #020b14 0%, rgba(2,11,20,.73) 38%, rgba(2,11,20,.08) 100%),
      url("../img/hero-panther.png") 69% 52% / auto 112% no-repeat;
  }
  .hero::after {
    background:
      radial-gradient(circle at 72% 47%, rgba(255,190,0,.09), transparent 31%),
      linear-gradient(180deg, transparent 66%, rgba(2,11,20,.92) 100%);
  }
  .hero-aura { opacity: .54; }
  .hero-copy {
    min-height: 354px;
    padding: 41px 0 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
  .eyebrow {
    margin-bottom: 15px;
    font-size: 11px;
    letter-spacing: .2px;
  }
  .target-dot { width: 15px; height: 15px; }
  .hero h1 {
    max-width: 440px;
    font-size: clamp(35px, 8.1vw, 45px);
    line-height: .98;
    letter-spacing: -1.4px;
  }
  .hero-sub {
    margin: 17px 0 0;
    max-width: 330px;
    font-size: 14px;
    line-height: 1.34;
    color: #edf1f4;
  }
  .hero-scroll-hint {
    margin-top: 19px;
    font-size: 12px;
  }

  /* Compact, horizontal proof cards on mobile */
  .metric-grid {
    margin-top: 20px;
    gap: 10px;
  }
  .metric-card {
    min-height: 112px;
    padding: 14px 17px 13px;
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    align-items: center;
    justify-items: stretch;
    gap: 1px;
    text-align: left;
    border-radius: 14px;
    box-shadow: 0 0 13px rgba(255,190,0,.23), inset 0 0 24px rgba(255,190,0,.02);
  }
  .metric-card::after {
    top: -1px;
    left: 12%;
    width: 36%;
    height: 1px;
    box-shadow: 0 0 11px 3px rgba(255,190,0,.72);
  }
  .metric-top,
  .metric-card:nth-child(2) .metric-top,
  .metric-card:nth-child(3) .metric-top {
    width: 100%;
    max-width: none;
    min-height: 0;
    justify-content: flex-start;
    gap: 13px;
  }
  .metric-card .metric-icon,
  .metric-card:nth-child(2) .metric-icon,
  .metric-card:nth-child(3) .metric-icon {
    width: 47px;
    height: 47px;
    flex-basis: 47px;
  }
  .metric-main {
    justify-content: flex-start;
    column-gap: 7px;
  }
  .metric-main strong,
  .metric-card:nth-child(2) .metric-main strong,
  .metric-card:nth-child(3) .metric-main strong {
    font-size: 44px;
    line-height: .82;
    letter-spacing: -1.5px;
  }
  .metric-main span,
  .metric-card:nth-child(3) .metric-main span {
    font-size: 16px;
  }
  .metric-card h3,
  .metric-card p,
  .metric-card b {
    margin-left: 60px;
  }
  .metric-card h3 {
    margin-top: 3px;
    margin-bottom: 1px;
    font-size: 14px;
    line-height: 1.08;
  }
  .metric-card p {
    margin-top: 3px;
    margin-bottom: 0;
    color: #bec7cf;
    font-size: 12px;
    line-height: 1.15;
  }
  .metric-card b {
    margin-top: 2px;
    color: var(--gold);
    font-size: 12px;
    line-height: 1.15;
  }

  /* Closing CTA stays side-by-side, like the requested composition. */
  .copytrade-cta {
    min-height: 144px;
    margin-top: 17px;
    padding: 18px 16px 18px 19px;
    gap: 12px;
    border-radius: 15px;
  }
  .cta-copy { flex: 1 1 auto; }
  .cta-kicker {
    margin-bottom: 5px;
    font-size: 9px;
    letter-spacing: 1.35px;
  }
  .copytrade-cta h2 {
    font-size: clamp(22px, 5.7vw, 31px);
    line-height: 1.01;
    letter-spacing: -.8px;
  }
  .cta-note {
    max-width: 280px;
    margin-top: 7px;
    font-size: 10.5px;
    line-height: 1.2;
  }
  .cta-join {
    min-width: 125px;
    height: 52px;
    padding: 0 7px 0 14px;
    gap: 8px;
    border-radius: 10px;
    font-size: 13px;
  }
  .cta-arrow {
    width: 36px;
    height: 36px;
    border-radius: 8px;
  }
  .cta-arrow svg { font-size: 19px; }

  /* Footer is intentionally compact on mobile. */
  .site-footer { margin-top: 30px; }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 15px 22px;
    padding: 22px 0 14px;
  }
  .footer-brand { padding-bottom: 13px; }
  .footer-brand img { width: 126px; height: 36px; }
  .footer-brand p {
    margin: 4px 0 0;
    font-size: 11px;
    line-height: 1.35;
  }
  .footer-grid h3 {
    margin: 0 0 7px;
    font-size: 10px;
  }
  .footer-grid a,
  .contact-line {
    margin-bottom: 3px;
    font-size: 11px;
    line-height: 1.25;
  }
  .footer-grid > div:last-child {
    padding-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 4px;
  }
  .footer-grid > div:last-child h3,
  .footer-grid > div:last-child .footer-contact,
  .footer-grid > div:last-child .trust-note {
    grid-column: 1 / -1;
  }
  .footer-contact {
    width: 100%;
    min-width: 0;
    height: 32px;
    margin-bottom: 4px !important;
  }
  .footer-contact svg,
  .contact-line svg,
  .trust-note svg { font-size: 14px; }
  .trust-note {
    margin-top: 5px;
    font-size: 9.5px;
  }
  .risk-line {
    padding: 9px 12px;
    font-size: 8.5px;
    line-height: 1.35;
  }
  .copyright {
    height: 38px;
    padding: 0;
    font-size: 9px;
  }
  .floating-contact {
    width: 43px;
    height: 43px;
    right: 12px;
    bottom: 12px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .floating-contact span { display: none; }
  .floating-contact svg { font-size: 21px; }
}

@media (max-width: 390px) {
  .container { width: calc(100% - 24px); }
  .hero { min-height: 332px; }
  .hero-copy { min-height: 332px; padding-top: 32px; }
  .hero h1 { font-size: clamp(32px, 9vw, 36px); }
  .hero-sub { font-size: 13px; }
  .metric-card { padding-inline: 14px; }
  .metric-card h3,
  .metric-card p,
  .metric-card b { margin-left: 57px; }
  .metric-main strong,
  .metric-card:nth-child(2) .metric-main strong,
  .metric-card:nth-child(3) .metric-main strong { font-size: 40px; }
  .metric-main span,
  .metric-card:nth-child(3) .metric-main span { font-size: 14px; }
  .copytrade-cta { padding: 17px 13px 17px 16px; gap: 9px; }
  .copytrade-cta h2 { font-size: 21px; }
  .cta-note { display: none; }
  .cta-join { min-width: 112px; height: 49px; font-size: 12px; }
  .cta-arrow { width: 33px; height: 33px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-scroll-hint svg,
  .cta-join::before,
  .cta-scanline { animation: none !important; }
}

/* =========================================================
   v7 — TEAM PEJUANG MAIN-SITE THEME + DENSER MOBILE HERO
   Palette synced from tp8 main page (V24 theme refresh)
   ========================================================= */
:root {
  --bg: #020813;
  --bg-deep: #020813;
  --panel: #061224;
  --panel-2: #08182d;
  --gold: #f0dc21;
  --gold-2: #f7e54e;
  --gold-soft: rgba(240, 220, 33, .28);
  --line: rgba(56, 107, 196, .34);
  --line-strong: rgba(56, 107, 196, .72);
  --blue: #245aa8;
  --blue-soft: #4f7fd1;
  --text: #f5f7fb;
  --muted: #a8b7cb;
}

body {
  background:
    radial-gradient(circle at 82% 14%, rgba(36, 90, 168, .20), transparent 30%),
    radial-gradient(circle at 14% 22%, rgba(240, 220, 33, .07), transparent 24%),
    radial-gradient(circle at 18% 70%, rgba(36, 90, 168, .10), transparent 34%),
    linear-gradient(180deg, #020813 0%, #031121 48%, #020813 100%);
}
body::before {
  opacity: .13;
  background-image:
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.01) 1px, transparent 1px);
}
.site-header {
  background: rgba(3, 10, 20, .92);
  border-bottom-color: rgba(255,255,255,.05);
}

/* Main-site blue framing, yellow reserved for emphasis. */
.menu-button {
  background: rgba(6, 14, 27, .90);
  border-color: rgba(54, 106, 196, .54);
}
.site-header.menu-open .mobile-panel { border-color: rgba(54, 106, 196, .42); }
.mobile-panel { background: rgba(3, 10, 20, .985); }

.glow-card {
  background: linear-gradient(180deg, rgba(6, 16, 31, .95), rgba(4, 12, 24, .97));
  border-color: rgba(52, 106, 196, .34);
  box-shadow: 0 18px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.018);
}
.glow-card::before {
  background: radial-gradient(circle, rgba(79,127,209,.18) 0%, rgba(240,220,33,.07) 38%, transparent 68%);
}
.metric-card {
  box-shadow: 0 16px 32px rgba(0,0,0,.26), 0 0 20px rgba(36,90,168,.08), inset 0 0 22px rgba(36,90,168,.025);
}
.metric-card::after {
  background: linear-gradient(90deg, transparent, rgba(79,127,209,.95), rgba(240,220,33,.95), transparent);
  box-shadow: 0 0 13px 2px rgba(36,90,168,.42);
}
.metric-card.is-touched,
.metric-card:hover {
  border-color: rgba(240,220,33,.50);
  box-shadow: 0 18px 38px rgba(0,0,0,.28), 0 0 22px rgba(240,220,33,.11), inset 0 0 24px rgba(36,90,168,.035);
}

.copytrade-cta {
  border-color: rgba(52, 106, 196, .40);
  background: linear-gradient(180deg, rgba(6, 16, 31, .96), rgba(4, 12, 24, .98));
  box-shadow: 0 22px 48px rgba(0,0,0,.28), 0 0 24px rgba(36,90,168,.09), inset 0 1px 0 rgba(255,255,255,.02);
}
.copytrade-cta::after {
  background:
    radial-gradient(circle at var(--mouse-x, 20%) var(--mouse-y, 50%), rgba(79,127,209,.18), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(240,220,33,.08), transparent 25%);
}
.cta-join,
.btn-primary {
  color: #101720;
  background: linear-gradient(180deg, #f7e54e 0%, #f0dc21 100%);
  border-color: rgba(255,241,118,.72);
  box-shadow: 0 16px 32px rgba(240, 220, 33, .22), inset 0 1px 0 rgba(255,255,255,.44);
}
.cta-join:hover,
.btn-primary:hover {
  box-shadow: 0 20px 38px rgba(240, 220, 33, .28), inset 0 1px 0 rgba(255,255,255,.5);
}
.cta-scanline {
  background: linear-gradient(90deg, transparent, rgba(79,127,209,.95), var(--gold), rgba(79,127,209,.95), transparent);
  filter: drop-shadow(0 0 7px rgba(79,127,209,.55));
}

.site-footer {
  border-top-color: rgba(255,255,255,.05);
  background: linear-gradient(180deg, rgba(3,10,20,.72), #020813 72%);
}
.footer-contact { border-color: rgba(54,106,196,.48); }
.floating-contact {
  background: linear-gradient(135deg, #0c6bd1, #1495ff);
  border-color: rgba(115, 192, 255, .55);
  box-shadow: 0 16px 36px rgba(5, 99, 190, .38);
}

/* Hero: same dark navy/yellow/blue visual language as the Team Pejuang main page. */
.hero {
  background: #020813;
  border-bottom-color: rgba(56,107,196,.12);
}
.hero::before {
  background:
    linear-gradient(90deg, rgba(2,8,19,.96) 0%, rgba(2,8,19,.88) 31%, rgba(2,8,19,.50) 55%, rgba(2,8,19,.18) 100%),
    linear-gradient(180deg, rgba(2,8,19,.06) 54%, #020813 100%),
    url("../img/hero-panther.png") 67% 47% / cover no-repeat;
}
.hero::after {
  background:
    radial-gradient(circle at 74% 44%, rgba(240,220,33,.08), transparent 25%),
    radial-gradient(circle at 76% 42%, rgba(36,90,168,.15), transparent 39%),
    linear-gradient(180deg, transparent 68%, rgba(2,8,19,.96) 100%);
}
.hero-aura { animation: hero-aura-pulse 5.5s ease-in-out infinite; will-change: transform, opacity; }
.hero-aura::before,
.hero-aura::after {
  background: linear-gradient(90deg, transparent, rgba(79,127,209,.72), rgba(240,220,33,.68), transparent);
  filter: drop-shadow(0 0 7px rgba(79,127,209,.55));
}
.eyebrow { color: var(--gold); }
.hero-scroll-hint::before { background: linear-gradient(90deg, var(--blue-soft), var(--gold)); }

@keyframes hero-aura-pulse {
  0%, 100% { opacity: .52; }
  50% { opacity: .78; }
}

@media (max-width: 700px) {
  /* No large dead zone: content starts near the top and the panther fills the right side. */
  .hero {
    min-height: 306px;
    border-bottom: 1px solid rgba(56,107,196,.12);
  }
  .hero::before {
    background:
      linear-gradient(180deg, rgba(2,8,19,.22) 0%, rgba(2,8,19,.34) 24%, rgba(2,8,19,.72) 72%, #020813 100%),
      linear-gradient(90deg, rgba(2,8,19,.96) 0%, rgba(2,8,19,.80) 39%, rgba(2,8,19,.18) 71%, rgba(2,8,19,.14) 100%),
      url("../img/hero-panther.png") 68% 47% / auto 108% no-repeat;
  }
  .hero::after {
    background:
      radial-gradient(circle at 72% 38%, rgba(240,220,33,.09), transparent 22%),
      radial-gradient(circle at 74% 40%, rgba(36,90,168,.13), transparent 38%),
      linear-gradient(180deg, transparent 69%, #020813 100%);
  }
  .hero-copy {
    min-height: 306px;
    padding: 27px 0 24px;
    justify-content: flex-start;
  }
  .eyebrow {
    margin: 0 0 12px;
    font-size: 10.5px;
    letter-spacing: .35px;
  }
  .hero h1 {
    max-width: 400px;
    font-size: clamp(34px, 8.2vw, 43px);
    line-height: .98;
    letter-spacing: -1.35px;
  }
  .hero-sub {
    margin: 13px 0 0;
    max-width: 300px;
    color: #edf1f4;
    font-size: 13px;
    line-height: 1.32;
  }
  .hero-scroll-hint {
    margin-top: 13px;
    padding: 5px 0;
    font-size: 11px;
  }
  .hero-aura { opacity: .58; }

  .metric-grid { margin-top: 14px; }
  .metric-card {
    border-color: rgba(52,106,196,.38);
    box-shadow: 0 13px 28px rgba(0,0,0,.24), 0 0 16px rgba(36,90,168,.07), inset 0 0 20px rgba(36,90,168,.025);
  }
  .copytrade-cta { margin-top: 14px; }
}

@media (max-width: 390px) {
  .hero { min-height: 292px; }
  .hero-copy { min-height: 292px; padding-top: 24px; }
  .hero h1 { font-size: clamp(31px, 9vw, 36px); }
  .hero-sub { margin-top: 11px; font-size: 12.5px; }
  .hero-scroll-hint { margin-top: 10px; }
}

/* =========================================================
   v8 — HERO JOIN CTA + MONTHLY WITHDRAW WINDOW CARD
   ========================================================= */
.hero-join-now {
  position: relative;
  width: 210px;
  height: 48px;
  margin-top: 17px;
  padding: 0 9px 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  overflow: hidden;
  color: #101720;
  border: 1px solid rgba(255,241,118,.82);
  border-radius: 10px;
  background: linear-gradient(180deg, #f7e54e 0%, #f0dc21 100%);
  box-shadow: 0 13px 28px rgba(240,220,33,.20), inset 0 1px 0 rgba(255,255,255,.5);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .45px;
  transition: transform .22s ease, box-shadow .22s ease;
}
.hero-join-now::before {
  content: "";
  position: absolute;
  top: -70%;
  left: -40%;
  width: 32%;
  height: 240%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
  transform: rotate(18deg);
  animation: hero-join-shine 3.6s ease-in-out infinite;
}
.hero-join-now:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(240,220,33,.29), inset 0 1px 0 rgba(255,255,255,.55); }
.hero-join-arrow {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(2,8,19,.10);
  transition: transform .22s ease, background .22s ease;
}
.hero-join-now:hover .hero-join-arrow { transform: translateX(3px); background: rgba(2,8,19,.16); }
.hero-join-arrow svg { font-size: 19px; }
.hero-join-now + .hero-scroll-hint { margin-top: 10px; }

.withdraw-window-card .calendar-symbol { stroke-width: 1.85; }
.withdraw-window-card .metric-main strong { font-size: 52px; letter-spacing: -2.2px; }
.withdraw-window-card .metric-main span { font-size: 25px; }

@keyframes hero-join-shine {
  0%, 60% { left: -40%; }
  82%, 100% { left: 125%; }
}

@media (min-width: 701px) {
  .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .withdraw-window-card .metric-icon { width: 62px; height: 62px; }
}

@media (max-width: 700px) {
  .hero { min-height: 358px; }
  .hero-copy { min-height: 358px; }
  .hero-join-now {
    width: min(235px, 76vw);
    height: 49px;
    margin-top: 15px;
    font-size: 13px;
  }
  .hero-join-now + .hero-scroll-hint { margin-top: 8px; }
  .withdraw-window-card .metric-icon { width: 47px; height: 47px; flex-basis: 47px; }
  .withdraw-window-card .metric-main strong { font-size: 41px; }
  .withdraw-window-card .metric-main span { font-size: 16px; }
}

@media (max-width: 390px) {
  .hero { min-height: 350px; }
  .hero-copy { min-height: 350px; }
  .hero-join-now { height: 46px; margin-top: 13px; }
  .withdraw-window-card .metric-main strong { font-size: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-join-now::before { animation: none !important; }
}


/* =========================================================
   v8 — hero join button + withdraw window card
   ========================================================= */
.hero-join {
  margin-top: 14px;
  min-width: 210px;
}
.hero-join span { text-transform: uppercase; }
.hero-join svg { font-size: 20px; }

.withdraw-window-card .metric-icon {
  width: 60px;
  height: 60px;
}
.withdraw-window-card .window-symbol {
  stroke-width: 2.1;
}
.withdraw-window-card .metric-main strong {
  font-size: 48px;
  letter-spacing: -1.2px;
}
.withdraw-window-card .metric-main span {
  font-size: 22px;
}

/* Four proof cards desktop, 2x2 on tablet, single column on mobile. */
.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hero-join {
    width: min(100%, 220px);
    height: 48px;
    margin-top: 12px;
    padding-inline: 16px;
    border-radius: 10px;
    font-size: 14px;
  }
  .metric-grid {
    grid-template-columns: 1fr;
  }
  .withdraw-window-card .metric-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }
  .withdraw-window-card .metric-main strong {
    font-size: 40px;
    letter-spacing: -1px;
  }
  .withdraw-window-card .metric-main span {
    font-size: 14px;
  }
}

@media (max-width: 390px) {
  .hero-join {
    width: min(100%, 205px);
    height: 46px;
    font-size: 13px;
  }
  .withdraw-window-card .metric-main strong {
    font-size: 37px;
  }
}


/* =========================================================
   v9 — MOBILE HERO HEIGHT REPAIR
   Remove forced hero height that caused a large empty gap
   below the hero content on mobile.
   ========================================================= */
@media (max-width: 700px) {
  .hero {
    min-height: auto !important;
    height: auto !important;
  }

  .hero-copy {
    min-height: auto !important;
    height: auto !important;
    padding-top: 27px;
    padding-bottom: 22px;
  }

  /* Keep the next section close to the hero without touching it. */
  .metric-grid {
    margin-top: 14px;
  }
}

@media (max-width: 390px) {
  .hero {
    min-height: auto !important;
    height: auto !important;
  }

  .hero-copy {
    min-height: auto !important;
    height: auto !important;
    padding-top: 24px;
    padding-bottom: 20px;
  }
}


/* =========================================================
   v10 — FULL-WIDTH MOBILE HERO CTA + STRONGER TAP EFFECT
   ========================================================= */
.hero-join-now {
  isolation: isolate;
}
.hero-join-now::after {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  box-shadow: 0 0 0 0 rgba(240,220,33,.0);
  transition: opacity .25s ease;
}
.hero-join-now:hover::after {
  opacity: 1;
}

@keyframes hero-join-pulse {
  0%, 100% {
    box-shadow: 0 14px 30px rgba(240,220,33,.22), inset 0 1px 0 rgba(255,255,255,.5);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 18px 38px rgba(240,220,33,.34), 0 0 0 6px rgba(240,220,33,.08), inset 0 1px 0 rgba(255,255,255,.58);
    transform: translateY(-1px);
  }
}

@keyframes hero-arrow-nudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

@media (max-width: 700px) {
  .hero-join-now {
    width: 100%;
    max-width: 100%;
    height: 60px;
    margin-top: 18px;
    padding: 0 12px 0 24px;
    border-radius: 15px;
    font-size: 19px;
    letter-spacing: .65px;
    box-shadow: 0 14px 30px rgba(240,220,33,.24), inset 0 1px 0 rgba(255,255,255,.52);
    animation: hero-join-pulse 2.1s ease-in-out infinite;
  }

  .hero-join-now::before {
    width: 22%;
  }

  .hero-join-now::after {
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(255,240,132,.28), 0 0 26px rgba(240,220,33,.18);
  }

  .hero-join-arrow {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(2,8,19,.12);
  }

  .hero-join-arrow svg {
    font-size: 22px;
    animation: hero-arrow-nudge 1.2s ease-in-out infinite;
  }

  .hero-join-now + .hero-scroll-hint {
    margin-top: 12px;
  }
}

@media (max-width: 390px) {
  .hero-join-now {
    height: 56px;
    font-size: 17px;
    padding-left: 20px;
  }

  .hero-join-arrow {
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-join-now,
  .hero-join-arrow svg {
    animation: none !important;
  }
}

/* =========================================================
   v10 — MOBILE FULL-WIDTH HERO CTA + ATTENTION EFFECT
   ========================================================= */
@media (max-width: 700px) {
  .hero-join-now {
    width: 100% !important;
    max-width: none !important;
    height: 56px;
    margin-top: 18px;
    padding: 0 10px 0 22px;
    border-radius: 12px;
    font-size: 15px;
    letter-spacing: .55px;
    box-shadow:
      0 10px 28px rgba(240, 220, 33, .24),
      0 0 0 0 rgba(240, 220, 33, .28),
      inset 0 1px 0 rgba(255,255,255,.58);
    animation: hero-cta-pulse 2.4s ease-in-out infinite;
  }

  .hero-join-now::before {
    width: 24%;
    animation: hero-join-shine 3.1s ease-in-out infinite;
  }

  .hero-join-arrow {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: rgba(2,8,19,.11);
  }

  .hero-join-arrow svg {
    font-size: 21px;
    animation: hero-arrow-nudge 1.55s ease-in-out infinite;
  }

  .hero-join-now:active {
    transform: scale(.985);
    box-shadow:
      0 7px 18px rgba(240, 220, 33, .22),
      inset 0 1px 0 rgba(255,255,255,.52);
  }

  .hero-join-now + .hero-scroll-hint {
    margin-top: 10px;
  }
}

@media (max-width: 390px) {
  .hero-join-now {
    width: 100% !important;
    height: 54px;
    padding-left: 19px;
    font-size: 14px;
  }
}

@keyframes hero-cta-pulse {
  0%, 100% {
    box-shadow:
      0 10px 28px rgba(240, 220, 33, .22),
      0 0 0 0 rgba(240, 220, 33, .25),
      inset 0 1px 0 rgba(255,255,255,.58);
  }
  50% {
    box-shadow:
      0 13px 34px rgba(240, 220, 33, .32),
      0 0 0 5px rgba(240, 220, 33, 0),
      inset 0 1px 0 rgba(255,255,255,.62);
  }
}

@keyframes hero-arrow-nudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-join-now,
  .hero-join-arrow svg {
    animation: none !important;
  }
}

/* =========================================================
   v10 — MOBILE FULL-WIDTH HERO CTA + ATTENTION EFFECT
   ========================================================= */
@media (max-width: 700px) {
  .hero-join-now {
    width: 100%;
    max-width: none;
    height: 56px;
    margin-top: 17px;
    padding: 0 10px 0 22px;
    border-radius: 12px;
    font-size: 15px;
    letter-spacing: .55px;
    box-shadow:
      0 14px 34px rgba(240, 220, 33, .24),
      0 0 0 0 rgba(240, 220, 33, .34),
      inset 0 1px 0 rgba(255,255,255,.56);
    animation: hero-cta-pulse 2.4s ease-in-out infinite;
  }

  .hero-join-arrow {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: rgba(2,8,19,.11);
  }

  .hero-join-arrow svg {
    font-size: 21px;
    animation: hero-arrow-nudge 1.5s ease-in-out infinite;
  }

  .hero-join-now:active {
    transform: scale(.985);
  }
}

@keyframes hero-cta-pulse {
  0%, 100% {
    box-shadow:
      0 14px 34px rgba(240, 220, 33, .24),
      0 0 0 0 rgba(240, 220, 33, .26),
      inset 0 1px 0 rgba(255,255,255,.56);
  }
  50% {
    box-shadow:
      0 18px 40px rgba(240, 220, 33, .33),
      0 0 0 5px rgba(240, 220, 33, 0),
      inset 0 1px 0 rgba(255,255,255,.66);
  }
}

@keyframes hero-arrow-nudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

@media (max-width: 390px) {
  .hero-join-now {
    width: 100%;
    height: 54px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-join-now,
  .hero-join-arrow svg {
    animation: none !important;
  }
}

/* =========================================================
   v10 — REPLACE BENEFIT CARDS WITH POSTER ARTWORKS
   ========================================================= */
.poster-grid {
  align-items: stretch;
}

.metric-card.poster-card {
  min-height: 0;
  aspect-ratio: 1 / 1;
  padding: 0;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: 0 14px 34px rgba(0,0,0,.30), 0 0 16px rgba(36,90,168,.10);
}

.metric-card.poster-card::before,
.metric-card.poster-card::after {
  display: none;
}

.metric-card.poster-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}

.metric-card.poster-card:hover,
.metric-card.poster-card.is-touched {
  border-color: transparent;
  box-shadow: 0 18px 42px rgba(0,0,0,.34), 0 0 24px rgba(36,90,168,.15);
}

@media (min-width: 1280px) {
  .metric-card.poster-card {
    min-height: 0;
    padding: 0;
    border-radius: 22px;
  }
}

@media (max-width: 900px) {
  .poster-grid {
    gap: 14px;
  }
}

@media (max-width: 700px) {
  .poster-grid {
    margin-top: 14px;
    gap: 13px;
  }

  .metric-card.poster-card {
    min-height: 0;
    padding: 0;
    display: block;
    border-radius: 16px;
  }
}

/* =========================================================
   v11 — MOBILE POSTER SIZE NORMALIZATION
   Keep benefit posters visually consistent across different
   phone widths by capping the card width on mobile.
   ========================================================= */
@media (max-width: 700px) {
  .poster-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: start;
    gap: 14px;
  }

  .metric-card.poster-card {
    width: min(100%, 380px);
    max-width: 380px;
    aspect-ratio: 1 / 1;
    margin-inline: auto;
    border-radius: 16px;
  }

  .metric-card.poster-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 430px) {
  .metric-card.poster-card {
    width: min(100%, 350px);
    max-width: 350px;
  }
}

@media (max-width: 380px) {
  .metric-card.poster-card {
    width: 100%;
    max-width: 100%;
  }
}

/* =========================================================
   v12 — MOBILE CLOSING CTA LAYOUT FIX
   Prevent the closing CTA from squeezing the headline on
   different phone widths. Stack copy + button consistently.
   ========================================================= */
@media (max-width: 700px) {
  .copytrade-cta {
    min-height: 0;
    padding: 22px 18px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 18px;
    border-radius: 16px;
  }

  .copytrade-cta .cta-copy,
  .cta-copy {
    width: 100%;
    min-width: 0;
  }

  .cta-kicker {
    margin-bottom: 8px;
    font-size: 10px;
    line-height: 1.25;
    letter-spacing: 1.45px;
  }

  .copytrade-cta h2 {
    max-width: 100%;
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.02;
    letter-spacing: -1px;
  }

  .cta-note {
    display: block;
    max-width: 100%;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.35;
  }

  .cta-join {
    width: 100%;
    min-width: 0;
    height: 56px;
    padding: 0 9px 0 18px;
    gap: 12px;
    border-radius: 11px;
    font-size: 14px;
  }

  .cta-arrow {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 9px;
  }
}

@media (max-width: 390px) {
  .copytrade-cta {
    padding: 20px 16px;
    gap: 16px;
  }

  .copytrade-cta h2 {
    font-size: clamp(27px, 8.6vw, 34px);
  }

  .cta-join {
    height: 54px;
    font-size: 13px;
  }
}
