/* ============================================================
   BERYL RELIEF, HERO REDESIGN (section 00 only)
   All classes are prefixed .hx- so nothing collides with
   the existing css/impact.css. Append this file to impact.css
   or link it after it.
   ============================================================ */

.hx-hero{
  --hx-navy:#0b1524; --hx-navy-2:#101e33;
  --hx-on:#f2ede2; --hx-on-mute:#8e9bb0;
  --hx-coral:#e85c41; --hx-coral-deep:#c8492f;
  --hx-teal:#4cc4b8; --hx-gold:#dca54c;
  --hx-line:rgba(242,237,226,.13);
  --hx-mono:"IBM Plex Mono", monospace;
  --hx-disp:"Archivo", system-ui, sans-serif;

  position:relative;
  min-height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding:104px clamp(20px,5vw,72px) 28px;
  background:var(--hx-navy);
  color:var(--hx-on);
  font-family:var(--hx-disp);
  overflow:hidden;
}

/* --- photo + cinematic overlay --- */
.hx-hero__media{position:absolute; inset:0; z-index:0;}
.hx-hero__media img{width:100%; height:100%; object-fit:cover; object-position:center;}
.hx-hero__media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(11,21,36,.78) 0%, rgba(11,21,36,.35) 30%, rgba(11,21,36,.82) 86%, var(--hx-navy) 100%),
    linear-gradient(100deg, rgba(11,21,36,.88) 0%, rgba(11,21,36,.45) 52%, rgba(11,21,36,.72) 100%);
}

/* --- layout --- */
.hx-hero__in{
  position:relative; z-index:1;
  width:100%; max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,10fr) minmax(0,11fr);
  gap:clamp(28px,4vw,64px);
  align-items:center;
}

/* --- left: narrative --- */
.hx-kick{
  display:flex; align-items:center; gap:12px;
  font-family:var(--hx-mono); font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--hx-on);
  opacity:.9; margin-bottom:18px;
}
.hx-kick::before{content:""; width:30px; height:2px; background:var(--hx-coral); flex:none;}

.hx-hero h1.hx-title{
  margin:0 0 18px;
  font-weight:900; font-size:clamp(40px,5vw,74px);
  line-height:.99; letter-spacing:-.02em; text-wrap:balance;
}
.hx-title em{font-style:normal; color:var(--hx-coral);}

.hx-intro{
  margin:0 0 26px;
  max-width:62ch;
  color:rgba(242,237,226,.82);
}
.hx-intro h2{
  margin:0 0 12px;
  font-size:clamp(20px,2vw,30px);
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--hx-on);
}
.hx-intro p{
  margin:0 0 10px;
  font-size:clamp(14.5px,1.05vw,16px);
  line-height:1.6;
}
.hx-intro p:last-child{margin-bottom:0;}

.hx-sub{
  margin:0 0 26px; max-width:48ch;
  font-size:clamp(15px,1.15vw,17px); line-height:1.65;
  color:rgba(242,237,226,.8);
}
.hx-sub b{color:var(--hx-on); font-weight:700;}

.hx-ctas{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.hx-btn{
  display:inline-block; padding:14px 26px; border-radius:10px;
  background:var(--hx-coral); color:#fff; font-weight:700; font-size:15.5px;
  text-decoration:none; letter-spacing:.01em;
  box-shadow:0 12px 28px rgba(232,92,65,.35);
  transition:transform .25s cubic-bezier(.22,1,.36,1), background .25s;
}
.hx-btn:hover{background:var(--hx-coral-deep); transform:translateY(-2px);}
.hx-scrolllink{
  font-family:var(--hx-mono); font-size:12px; letter-spacing:.08em;
  color:var(--hx-on); text-decoration:none;
  border-bottom:1px solid rgba(242,237,226,.4); padding-bottom:3px;
}
.hx-scrolllink:hover{border-color:var(--hx-coral); color:#fff;}

/* --- right: the money panel --- */
.hx-panel{
  background:linear-gradient(165deg, rgba(16,30,51,.86), rgba(11,21,36,.93));
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid var(--hx-line);
  border-radius:18px;
  padding:clamp(20px,2.2vw,30px);
  box-shadow:0 34px 70px rgba(0,0,0,.5);
}

.hx-tag{
  display:inline-block; margin-bottom:14px; padding:5px 11px; border-radius:999px;
  font-family:var(--hx-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:#ffd9cf; background:rgba(232,92,65,.22); border:1px solid rgba(232,92,65,.45);
}

.hx-panel__lede{
  margin:0 0 10px; font-size:clamp(16px,1.3vw,19px); font-weight:700;
  line-height:1.35; color:var(--hx-on); letter-spacing:-.01em;
}

/* headline number */
.hx-mega{
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
  font-variant-numeric:tabular-nums;
}
.hx-mega .hx-cur{font-family:var(--hx-mono); font-size:clamp(16px,1.4vw,20px); font-weight:600; color:rgba(242,237,226,.75);}
.hx-mega .hx-n{font-size:clamp(44px,4.4vw,62px); font-weight:900; letter-spacing:-.025em; line-height:1; color:#fff;}
.hx-mega .hx-dec{font-size:clamp(18px,1.6vw,24px); font-weight:700; color:rgba(242,237,226,.55);}
.hx-usd{
  margin:8px 0 0; font-family:var(--hx-mono); font-size:13px; letter-spacing:.04em;
  color:var(--hx-on-mute);
}
.hx-usd b{color:rgba(242,237,226,.92); font-weight:600;}

/* two channels */
.hx-channels{
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 0;
}
.hx-chan{
  border:1px solid var(--hx-line); border-radius:12px; padding:11px 14px;
  background:rgba(242,237,226,.04);
}
.hx-chan--sol{border-style:dashed; border-color:rgba(220,165,76,.5);}
.hx-chan span{
  display:block; font-family:var(--hx-mono); font-size:9.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--hx-on-mute); margin-bottom:5px;
}
.hx-chan--sol span{color:var(--hx-gold);}
.hx-chan b{font-size:17.5px; font-weight:800; font-variant-numeric:tabular-nums; color:var(--hx-on);}

/* ledger */
.hx-ledger{margin-top:20px;}
.hx-ledger__head{
  display:flex; align-items:center; gap:12px; margin-bottom:6px;
  font-family:var(--hx-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--hx-on-mute);
}
.hx-ledger__head::after{content:""; flex:1; height:1px; background:var(--hx-line);}

.hx-row{
  display:grid; grid-template-columns:20px 1fr auto; gap:0 10px; align-items:baseline;
  padding:9px 10px; border-bottom:1px dashed var(--hx-line); border-radius:8px;
}
.hx-row:last-child{border-bottom:0;}
.hx-row--res{background:rgba(242,237,226,.055); border-bottom-style:solid;}
.hx-row--reach{background:rgba(76,196,184,.09); box-shadow:inset 3px 0 0 var(--hx-teal);}

.hx-op{font-family:var(--hx-mono); font-size:14px; font-weight:600; color:var(--hx-on-mute); text-align:center;}
.hx-op--minus{color:var(--hx-coral);}
.hx-op--res{color:var(--hx-on);}
.hx-op--reach{color:var(--hx-teal);}

.hx-lbl{font-size:13px; line-height:1.4; color:rgba(242,237,226,.82);}
.hx-row--res .hx-lbl,.hx-row--reach .hx-lbl{font-weight:700; color:var(--hx-on);}
.hx-val{
  font-size:16.5px; font-weight:800; font-variant-numeric:tabular-nums;
  white-space:nowrap; color:var(--hx-on);
}
.hx-val small{font-size:11.5px; font-weight:600; color:rgba(242,237,226,.55);}
.hx-val--minus{color:#ff9c87;}
.hx-val--reach{color:var(--hx-teal);}
.hx-note{
  grid-column:2/4; margin-top:3px;
  font-size:11.5px; line-height:1.45; color:var(--hx-on-mute);
}

/* spent, the finish line */
.hx-spent{
  margin-top:16px; padding:16px 18px; border-radius:13px;
  background:linear-gradient(120deg, var(--hx-coral), var(--hx-coral-deep));
  color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  box-shadow:0 16px 36px rgba(232,92,65,.32);
}
.hx-spent__txt span{
  display:block; font-family:var(--hx-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; opacity:.85; margin-bottom:4px;
}
.hx-spent__txt p{margin:0; font-size:12.5px; line-height:1.45; max-width:34ch; opacity:.95;}
.hx-spent__num{text-align:right;}
.hx-spent__num b{
  display:block; font-size:clamp(26px,2.4vw,32px); font-weight:900;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em; line-height:1.05;
}
.hx-spent__num b small{font-size:.55em; font-weight:700; opacity:.8;}
.hx-chip{
  display:inline-block; margin-top:6px; padding:3px 9px; border-radius:999px;
  background:rgba(255,255,255,.2); font-family:var(--hx-mono);
  font-size:10px; letter-spacing:.06em; white-space:nowrap;
}
.hx-spent__sol{
  flex-basis:100%; margin-top:6px; padding-top:11px;
  border-top:1px solid rgba(255,255,255,.3);
  display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
}
.hx-spent__sol-lbl{
  font-family:var(--hx-mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; white-space:nowrap; opacity:.9;
}
.hx-spent__sol p{
  margin:0; flex:1 1 220px; font-size:11.5px; line-height:1.45; opacity:.92;
}
.hx-spent__sol b{
  font-size:17px; font-weight:900; font-variant-numeric:tabular-nums;
  white-space:nowrap; margin-left:auto;
}
.hx-spent__sol b small{font-size:11px; font-weight:700; opacity:.8;}

/* footnotes */
.hx-foot{
  margin:14px 2px 0; font-size:11.5px; line-height:1.5; color:var(--hx-on-mute);
}
.hx-foot b{color:rgba(242,237,226,.85); font-weight:600;}

/* scroll cue */
.hx-cue{
  position:fixed; left:50%; bottom:max(16px, env(safe-area-inset-bottom));
  z-index:8; margin:0; transform:translateX(-50%);
  display:flex; align-items:center; gap:10px;
  padding:10px 14px 11px;
  border:1px solid rgba(242,237,226,.22); border-radius:999px;
  background:rgba(11,21,36,.76);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:0 16px 34px rgba(0,0,0,.28);
  font-family:var(--hx-mono); font-size:10px; letter-spacing:.2em;
  line-height:1; text-transform:uppercase; color:rgba(242,237,226,.9);
  text-decoration:none;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
}
.hx-cue::after{
  content:""; width:8px; height:8px;
  border-right:2px solid var(--hx-coral);
  border-bottom:2px solid var(--hx-coral);
  transform:rotate(45deg);
  animation:hx-drop 1.8s cubic-bezier(.22,1,.36,1) infinite;
}
.hx-cue:hover{color:#fff; border-color:rgba(232,92,65,.5);}
.hx-cue.is-hidden{
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateX(-50%) translateY(10px);
}
@keyframes hx-drop{
  0%,100%{transform:rotate(45deg) translate(0,0); opacity:.45;}
  50%{transform:rotate(45deg) translate(4px,4px); opacity:1;}
}

/* entrance */
.hx-rise{opacity:0; transform:translateY(18px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);}
.hx-rise.hx-in{opacity:1; transform:none;}

/* --- responsive --- */
@media (max-width:1020px){
  .hx-hero{padding-top:92px;}
  .hx-hero__in{grid-template-columns:1fr; gap:34px;}
  .hx-sub{max-width:60ch;}
}
@media (min-width:1021px) and (max-height:960px){
  .hx-hero{padding-top:88px;padding-bottom:18px;}
  .hx-hero__in{gap:clamp(24px,3.5vw,52px);}
  .hx-hero h1.hx-title{font-size:clamp(38px,4.65vw,66px);margin-bottom:14px;}
  .hx-sub{margin-bottom:20px;line-height:1.55;}
  .hx-panel{padding:20px 24px;}
  .hx-tag{margin-bottom:10px;}
  .hx-panel__lede{font-size:16px;margin-bottom:6px;}
  .hx-mega .hx-n{font-size:clamp(42px,4vw,56px);}
  .hx-usd{margin-top:5px;font-size:12px;}
  .hx-channels{margin-top:13px;}
  .hx-chan{padding:9px 12px;}
  .hx-ledger{margin-top:14px;}
  .hx-row{padding:6px 9px;}
  .hx-lbl{font-size:12.5px;}
  .hx-val{font-size:15.5px;}
  .hx-note{font-size:10.5px;margin-top:2px;}
  .hx-spent{margin-top:12px;padding:13px 16px;}
  .hx-spent__txt p{font-size:11.5px;}
  .hx-spent__num b{font-size:clamp(24px,2.1vw,29px);}
  .hx-spent__sol{padding-top:9px;}
  .hx-cue{bottom:max(14px, env(safe-area-inset-bottom));}
}
@media (max-width:560px){
  .hx-cue{font-size:9px; letter-spacing:.16em; padding:9px 12px 10px;}
  .hx-channels{grid-template-columns:1fr;}
  .hx-spent{flex-direction:column; align-items:flex-start;}
  .hx-spent__num{text-align:left;}
  .hx-val{font-size:15px;}
  .hx-row{padding:9px 6px;}
}
