/* RenBridge premium — Bitcoin amber/orange luxury (design language from Stablecoin Swap, recoloured) */
/* =========================================================================
   Stablecoin Swap â€” premium green-luxury theme
   Readable / un-minified by request. Single external stylesheet.
   Sections: tokens Â· base Â· frame Â· header Â· hero Â· widget Â· sections Â·
   coin grid Â· steps Â· capsule Â· table Â· trust Â· faq Â· footer Â· motion Â· responsive
   ========================================================================= */

:root {
  /* ---- color: near-black green base, emerald/jade accents (no gold) ---- */
  --bg:        #0B0A07;
  --bg-2:      #120F09;
  --surface:   #1A140B;
  --surface-2: #241B0E;
  --surface-3: #33260F;
  --ink:       #FBF6EC;
  --ink-2:     #F0E7D6;
  --muted:     #B0A488;
  --muted-2:   #7A6E58;
  --line:   rgba(255, 255, 255, 0.08);
  --line-2: rgba(255, 255, 255, 0.14);
  --line-3: rgba(253, 230, 138, 0.22);

  --green:      #F59E0B;  /* emerald */
  --green-mint: #FBBF24;  /* light mint */
  --green-pale: #FDE68A;  /* pale highlight */
  --green-deep: #B45309;  /* deep */
  --green-ink:  #1A0F02;  /* text on green buttons */
  --green-soft: rgba(245, 158, 11, 0.12);
  --green-glow: rgba(245, 158, 11, 0.34);
  --grad: linear-gradient(135deg, #FDE68A 0%, #F59E0B 45%, #B45309 100%);
  --grad-text: linear-gradient(120deg, #FDE68A 0%, #F59E0B 55%, #F59E0B 100%);

  /* ---- shape / depth ---- */
  --radius-sm: 10px;
  --radius:    14px;
  --radius-lg: 20px;
  --radius-xl: 26px;
  --shadow:    0 30px 80px -34px rgba(0, 0, 0, 0.75);
  --shadow-sm: 0 10px 30px -18px rgba(0, 0, 0, 0.7);

  /* ---- type / layout ---- */
  --disp: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --container: 1180px;
}

/* ---------------------------------------------------------------- base --- */
* { box-sizing: border-box; margin: 0; padding: 0; }

html { background: var(--bg); -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  min-height: 100vh;
  min-width: 320px;
  display: flex;
  flex-direction: column;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink);
  background:
    radial-gradient(900px 560px at 80% 22%, rgba(245, 158, 11, 0.12), transparent 60%),
    radial-gradient(720px 520px at 2% 2%, rgba(245, 158, 11, 0.07), transparent 58%),
    var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
img, svg { display: block; max-width: 100%; }
ul { list-style: none; }

:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
  border-radius: 6px;
}

h1, h2, h3 { font-family: var(--disp); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: clamp(18px, 4vw, 40px); }

.section { padding: clamp(46px, 7vw, 84px) 0; }
.section-alt { background: linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 40%), var(--bg-2); }
.section > .container > h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  margin-bottom: 8px;
}
.section-intro {
  color: var(--muted);
  max-width: 70ch;
  margin-bottom: clamp(22px, 3vw, 34px);
  font-size: 1.04rem;
}
.eyebrow-free { /* deliberate marker: NO eyebrow pills on this page */ }

/* gradient-green page frame (mask trick) */
body::after {
  content: "";
  position: fixed;
  inset: 9px;
  border-radius: 22px;
  padding: 1.5px;
  z-index: 60;
  pointer-events: none;
  background: linear-gradient(125deg,
    rgba(167, 243, 208, 0.65),
    rgba(245, 158, 11, 0.22) 30%,
    transparent 55%,
    rgba(5, 150, 105, 0.30) 80%,
    rgba(167, 243, 208, 0.55));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}

/* --------------------------------------------------------------- buttons - */
.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  cursor: pointer;
  font-family: var(--disp);
  font-weight: 600;
  border-radius: 999px;
  transition: transform 0.16s ease, box-shadow 0.2s ease, filter 0.18s ease, border-color 0.16s, background 0.16s, color 0.16s;
  white-space: nowrap;
}
.cta-primary {
  padding: 14px 28px;
  font-size: 1rem;
  color: var(--green-ink);
  background: var(--grad);
  box-shadow: 0 14px 34px -10px var(--green-glow), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  position: relative;
  overflow: hidden;
}
.cta-primary::after {
  content: "";
  position: absolute;
  top: 0; left: -60%;
  width: 40%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-18deg);
  animation: sheen 5.5s ease-in-out infinite;
}
.cta-primary:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 20px 44px -10px var(--green-glow), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
.cta-secondary {
  padding: 13px 24px;
  font-size: 0.96rem;
  color: var(--green-mint);
  border: 1px solid var(--line-3);
  background: var(--green-soft);
}
.cta-secondary:hover { border-color: var(--green); color: var(--green-pale); transform: translateY(-1px); }
.cta-ghost {
  padding: 11px 20px;
  font-size: 0.92rem;
  color: var(--ink);
  border: 1px solid var(--line-2);
}
.cta-ghost:hover { border-color: var(--green); color: var(--green-pale); background: var(--green-soft); }
.cta-mini {
  padding: 9px 16px;
  font-size: 0.84rem;
  color: var(--green-ink);
  background: var(--grad);
  box-shadow: 0 10px 22px -12px var(--green-glow);
}
.cta-mini:hover { transform: translateY(-1px); filter: brightness(1.06); }

/* ---------------------------------------------------------------- header - */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px clamp(18px, 4vw, 40px);
  background: rgba(6, 16, 11, 0.72);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-mark { width: 34px; height: 34px; flex: none; filter: drop-shadow(0 6px 16px var(--green-glow)); }
.brand h1 {
  font-size: 1.16rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.site-nav { margin-left: 6px; }
.nav-list { display: flex; align-items: center; gap: 4px; }
.nav-list a {
  display: inline-flex;
  padding: 8px 13px;
  border-radius: 10px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.16s, background 0.16s;
}
.nav-list a:hover { color: var(--ink); background: var(--green-soft); }
.header-spacer { flex: 1; }
.nav-toggle {
  display: none;
  width: 42px; height: 42px;
  border-radius: 12px;
  border: 1px solid var(--line-2);
  background: transparent;
  color: var(--ink);
  align-items: center;
  justify-content: center;
}
.nav-toggle svg { width: 20px; height: 20px; }

/* language switcher */
.lang-switch { position: relative; }
.lang-switch summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--muted); font-size: 0.86rem; font-weight: 600; transition: color .16s, border-color .16s; }
.lang-switch summary::-webkit-details-marker { display: none; }
.lang-switch summary svg { width: 16px; height: 16px; }
.lang-switch summary:hover { color: var(--ink); border-color: var(--green); }
.lang-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; display: grid; gap: 2px; min-width: 168px; max-height: 60vh; overflow: auto; padding: 8px; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--radius); box-shadow: var(--shadow); }
.lang-menu a { padding: 8px 12px; border-radius: 8px; color: var(--muted); font-size: 0.9rem; }
.lang-menu a:hover { color: var(--ink); background: var(--green-soft); }
.lang-menu a.is-active { color: var(--green-mint); background: var(--green-soft); }

/* ------------------------------------------------------------------ hero - */
.hero { padding: clamp(26px, 5vw, 60px) 0 clamp(30px, 5vw, 56px); }
.hero-grid {
  display: grid;
  grid-template-columns: 1.04fr 0.96fr;
  align-items: center;
  gap: clamp(28px, 4vw, 56px);
}
.hero-copy { max-width: 560px; }
.hero-title {
  font-size: clamp(2.3rem, 5.4vw, 3.9rem);
  line-height: 1.04;
  letter-spacing: -0.03em;
}
.hero-title .g {
  background: var(--grad-text);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.lead {
  margin-top: 20px;
  color: var(--muted);
  font-size: clamp(1.02rem, 1.3vw, 1.16rem);
  line-height: 1.6;
  max-width: 50ch;
}
.lead strong { color: var(--green-mint); font-weight: 600; }
.hero-cta-row { margin-top: 28px; display: flex; gap: 13px; flex-wrap: wrap; }
.hero-note { margin-top: 16px; font-size: 0.78rem; color: var(--muted-2); }

/* ----------------------------------------------------------- swap widget - */
.hero-widget { position: relative; }
.swap-widget {
  position: relative;
  z-index: 2;
  background: linear-gradient(165deg, rgba(18, 42, 31, 0.96), rgba(10, 22, 16, 0.96));
  border: 1px solid var(--line-2);
  border-radius: var(--radius-xl);
  padding: 22px;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(6px);
}
.swap-widget-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  font-family: var(--disp);
  font-weight: 600;
  font-size: 0.95rem;
}
.swap-widget-head .badge {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--green-mint);
  background: var(--green-soft);
  border: 1px solid var(--line-3);
  padding: 4px 9px;
  border-radius: 999px;
}
.swap-row {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.swap-row .swap-label { font-size: 0.74rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
.swap-row .swap-amount { font-family: var(--disp); font-size: 1.45rem; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.swap-col { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.token-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 12px 8px 8px;
  border-radius: 999px;
  background: var(--surface-2);
  border: 1px solid var(--line-2);
  font-family: var(--disp);
  font-weight: 600;
  font-size: 0.95rem;
  flex: none;
}
.token-chip img {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #fff;
  padding: 1px;
}
/* the morphing icon stack */
.token-icon-morph { position: relative; width: 28px; height: 28px; flex: none; }
.token-icon-morph img { position: absolute; inset: 0; width: 28px; height: 28px; border-radius: 50%; background: #fff; padding: 1px; opacity: 0; transform: rotateY(90deg); transition: opacity 0.5s ease, transform 0.5s ease; }
.token-icon-morph img.is-active { opacity: 1; transform: rotateY(0deg); }
.token-chip .token-ticker { transition: opacity 0.3s ease; min-width: 3.6ch; }

.swap-flip-wrap { display: flex; justify-content: center; height: 0; position: relative; z-index: 3; }
.swap-flip {
  width: 40px; height: 40px;
  margin: -8px 0;
  border-radius: 12px;
  border: 1px solid var(--line-2);
  background: var(--surface-3);
  color: var(--green-mint);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform 0.25s ease, color 0.16s, border-color 0.16s;
}
.swap-flip:hover { color: var(--green-pale); border-color: var(--green); }
.swap-flip.spin { transform: rotate(180deg); }
.swap-flip svg { width: 18px; height: 18px; }
.swap-widget .cta-primary { width: 100%; margin-top: 14px; padding: 15px; font-size: 1.02rem; }
.swap-note { margin-top: 12px; font-size: 0.74rem; color: var(--muted-2); text-align: center; }
.swap-widget.flash { animation: flashring 1.3s ease; }
@keyframes flashring {
  0%, 100% { box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, 0.06); }
  30%      { box-shadow: 0 0 0 2px var(--green), 0 24px 60px -20px var(--green-glow); }
}

/* floating decorative coins behind the widget */
.floating-coins { position: absolute; inset: -26px -10px; z-index: 1; pointer-events: none; }
.floating-coins .fc {
  position: absolute;
  width: var(--s, 52px); height: var(--s, 52px);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, #14271d, #0c1812);
  border: 1px solid var(--line-2);
  box-shadow: 0 16px 34px -14px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  animation: floaty 7s ease-in-out infinite;
}
.floating-coins .fc img { width: 60%; height: 60%; border-radius: 50%; background: #fff; padding: 1px; }
.floating-coins .fc.f1 { left: -2%;  top: 6%;   --s: 56px; animation-delay: -1s; }
.floating-coins .fc.f2 { right: -3%; top: 30%;  --s: 48px; animation-delay: -3s; }
.floating-coins .fc.f3 { left: 6%;   bottom: -4%; --s: 44px; animation-delay: -4.5s; }
.floating-coins .fc.f4 { right: 4%;  bottom: 8%; --s: 40px; animation-delay: -2.2s; }

/* ----------------------------------------------------------- coin cards - */
.coin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
  gap: 14px;
}
.coin-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.035), transparent 60%), var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 18px;
  transition: border-color 0.16s, box-shadow 0.16s, transform 0.16s;
}
.coin-card:hover { border-color: var(--line-3); box-shadow: 0 20px 44px -28px var(--green-glow); transform: translateY(-2px); }
.coin-card-head { display: flex; align-items: center; gap: 12px; }
.coin-icon {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #fff;
  padding: 2px;
  flex: none;
  box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.6);
}
.coin-fallback { background: var(--surface-3) !important; color: var(--green-mint); display: grid; place-items: center; font-family: var(--disp); font-weight: 700; font-size: 0.66rem; letter-spacing: -0.02em; padding: 0 !important; border: 1px solid var(--line-3); }
.coin-card h3 { font-size: 1.12rem; }
.coin-sub { font-size: 0.78rem; color: var(--muted); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tag {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green-mint);
  background: var(--green-soft);
  border: 1px solid var(--line-3);
  padding: 2px 7px;
  border-radius: 999px;
}
.coin-intent { font-size: 0.9rem; color: var(--ink-2); line-height: 1.55; flex: 1; }
.coin-card .cta-mini { align-self: flex-start; margin-top: 2px; }
/* i18n robustness: let cards shrink in the grid + break long localized words */
.coin-card { min-width: 0; }
.coin-card h3, .coin-sub, .coin-intent { overflow-wrap: anywhere; }
.coin-card .cta-mini { white-space: normal; text-align: center; }
/* featured (lead) card per band â€” slightly larger emphasis */
.coin-card.featured { grid-column: span 2; background: linear-gradient(150deg, rgba(245, 158, 11, 0.10), transparent 55%), var(--surface-2); border-color: var(--line-2); }
.coin-card.featured h3 { font-size: 1.28rem; }

/* ------------------------------------------------------------- steps ----- */
.steps { counter-reset: step; display: grid; gap: 12px; margin-bottom: 28px; }
.steps li {
  position: relative;
  padding: 14px 16px 14px 58px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.steps li::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 14px; top: 14px;
  width: 30px; height: 30px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  font-family: var(--disp);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--green-ink);
  background: var(--grad);
}
.steps li strong { font-family: var(--disp); display: block; margin-bottom: 2px; }
.steps li span { color: var(--muted); font-size: 0.92rem; }

/* cards (how-it-works h3 blocks, trust cards) */
.cards { display: grid; gap: 14px; }
.cards.three { grid-template-columns: repeat(3, 1fr); }
.card {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.03), transparent 60%), var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 22px;
}
.card h3 { font-size: 1.1rem; margin-bottom: 8px; color: var(--green-pale); }
.card p { font-size: 0.94rem; color: var(--ink-2); }

/* capsule (definition) */
.capsule {
  border: 1px solid var(--line-2);
  border-left: 3px solid var(--green);
  background: linear-gradient(120deg, var(--green-soft), transparent 50%);
  border-radius: var(--radius);
  padding: 22px 24px;
  font-size: 1.05rem;
  color: var(--ink-2);
  max-width: 80ch;
}

/* inline authority links woven in prose */
.inline-link { color: var(--green-mint); text-decoration: underline; text-decoration-color: var(--line-3); text-underline-offset: 2px; transition: color 0.16s; }
.inline-link:hover { color: var(--green-pale); text-decoration-color: var(--green); }

/* ---------------------------------------------------------- compare table */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.compare-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.compare-table th, .compare-table td { text-align: left; padding: 14px 16px; vertical-align: top; border-bottom: 1px solid var(--line); }
.compare-table thead th { font-family: var(--disp); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--green-mint); background: var(--surface-2); }
.compare-table tbody tr:last-child td { border-bottom: 0; }
.compare-table td:first-child { font-family: var(--disp); font-weight: 700; color: var(--ink); white-space: nowrap; }
.compare-table td { font-size: 0.9rem; color: var(--ink-2); }

/* irreversible note */
.note-irreversible {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.88rem;
  color: var(--muted);
  border: 1px dashed var(--line-2);
  border-radius: var(--radius);
  padding: 14px 16px;
}
.note-irreversible svg { width: 18px; height: 18px; color: var(--green-mint); flex: none; margin-top: 2px; }

/* ------------------------------------------------------------------ faq -- */
.faq-list { display: grid; gap: 10px; max-width: 880px; }
.faq-list details {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
}
.faq-list summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 20px;
  font-family: var(--disp);
  font-weight: 600;
  font-size: 1.02rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--green-mint); font-size: 1.3rem; transition: transform 0.2s; }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list details > div { padding: 0 20px 18px; color: var(--ink-2); font-size: 0.96rem; }

/* --------------------------------------------------------------- footer -- */
.site-footer { margin-top: auto; border-top: 1px solid var(--line); padding: 30px 0 38px; }
.footer-nav { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 16px; }
.footer-nav a { color: var(--muted); font-size: 0.9rem; }
.footer-nav a:hover { color: var(--green-mint); }
.footer-note { color: var(--muted-2); font-size: 0.82rem; max-width: 70ch; }
.footer-meta { margin-top: 12px; font-size: 0.82rem; }
.footer-meta a { color: var(--green-mint); }

/* --------------------------------------------------------------- motion -- */
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes sheen { 0%, 16% { left: -60%; } 42%, 100% { left: 135%; } }
@keyframes fadeup { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.hero-copy > * { animation: fadeup 0.7s both; }
.hero-title { animation-delay: 0.04s; }
.lead { animation-delay: 0.12s; }
.hero-cta-row { animation-delay: 0.2s; }
.hero-widget { animation: fadeup 0.9s 0.18s both; }

/* ----------------------------------------------------------- responsive -- */
@media (max-width: 900px) {
  .nav-list { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-nav.open .nav-list {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 64px; right: 14px;
    background: var(--surface-2);
    border: 1px solid var(--line-2);
    border-radius: var(--radius);
    padding: 8px;
    box-shadow: var(--shadow);
  }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hero-widget { order: -1; max-width: 460px; margin-inline: auto; width: 100%; }
  .cards.three { grid-template-columns: 1fr; }
  .coin-card.featured { grid-column: span 1; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .site-header .cta-ghost { display: none; }   /* keep only brand + menu toggle on small screens */
  .floating-coins { display: none; }            /* decorative â€” avoid cramping/overflow on mobile */
  .coin-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .coin-card { padding: 14px; }
  .coin-icon { width: 34px; height: 34px; }
  .coin-card h3 { font-size: 1rem; }
  .coin-intent { font-size: 0.84rem; }
  .hero-title { font-size: clamp(2rem, 9vw, 2.6rem); }
}
@media (max-width: 380px) {
  .coin-grid { grid-template-columns: 1fr; }
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * , *::before, *::after { animation: none !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .token-icon-morph img { transition: none; }
}
