@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Fraunces:wght@600;700&family=IBM+Plex+Sans:wght@400;600&family=Libre+Baskerville:wght@700&family=Literata:wght@600&family=Newsreader:wght@600&family=Outfit:wght@600;700&family=Sora:wght@600;700&family=Source+Sans+3:wght@400;600&family=Space+Grotesk:wght@600;700&display=swap');
:root {
  --bg: #120f1a;
  --fg: #ecfdf5;
  --muted: #86efac;
  --accent: #4d10db;
  --card: color-mix(in srgb,#120f1a 60%, #022c22);
  --line: color-mix(in srgb, #4d10db 35%, #333);
  --disp: "Libre Baskerville", Georgia, serif;
  --body: "Source Sans 3", system-ui, sans-serif;
  --btn-rad: 12px;
  --img-rad: 12px;
  --card-rad: 12px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; font-family:var(--body); background: repeating-linear-gradient(-12deg, transparent, transparent 40px, color-mix(in srgb,#4d10db 6%, transparent) 40px, color-mix(in srgb,#4d10db 6%, transparent) 41px), #120f1a; color:var(--fg); line-height:1.55; overflow-x:hidden; }
img,video { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1120px,92%); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:20; background:color-mix(in srgb,#120f1a 90%, #000);border-bottom:1px dashed var(--line);backdrop-filter:none; }
.header-inner { display:flex; align-items:center; gap:1rem; padding:.75rem 0; min-width:0; }
.brand { display:flex; align-items:center; gap:.55rem; font-family:var(--disp); font-weight:700; font-size:1.15rem; min-width:0; }
.brand img { width:36px; height:36px; object-fit:cover; flex-shrink:0; border-radius:12px;transform:rotate(-3deg); }
.brand span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nav-desk { display:flex; gap:1rem; flex:1; flex-wrap:wrap; font-size:.9rem; color:var(--muted); }
.nav-desk a.active,.nav-desk a:hover { color:var(--accent);  }
.hdr-cta { display:flex; gap:.5rem; flex-shrink:0; }
.btn { display:inline-block; padding:.65rem 1.1rem; border-radius:var(--btn-rad); font-weight:700; font-size:.9rem; border:1px solid transparent; }
.btn-primary { background:var(--accent); color:#022c22; }
.btn-ghost { border-color:var(--line); color:var(--fg); }
.menu-btn { display:none; background:none; border:1px solid var(--line); color:var(--fg); border-radius:8px; padding:.35rem .55rem; }
.ace-offer,.section,.hero,.cash,.ref-band { padding:2.2rem 0; }
.ace-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:1.5rem; align-items:center; }
.ace-grid.rev { direction:rtl; }
.ace-grid.rev > * { direction:ltr; }
.ace-kicker { display:inline-block; color:var(--accent); font-size:.8rem; margin-bottom:.4rem; font-family:var(--disp);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--fg); }
h1 { font-family:var(--disp); font-size:clamp(1.55rem,5.2vw,2.55rem); line-height:1.15; margin:0 0 .75rem; overflow-wrap:anywhere; }
h1 em { font-style:normal; color:var(--accent); }
.ace-list { margin:.8rem 0 1.1rem; padding-left:1.1rem; color:var(--muted); }
.ace-list li { margin:.35rem 0; }
.ace-list b { color:var(--fg); }
.ace-cta { display:flex; flex-wrap:wrap; gap:.6rem; }
.ace-banner img,.ace-track img { width:100%; height:auto; border-radius:var(--img-rad); display:block; border:1px solid var(--line); }
.ace-banner a,.ace-track a,.ref-band a { display:block; }
.ace-banner a:hover img,.ace-track a:hover img,.ref-band a:hover img,.card:hover img { opacity:.92; }
.ace-track { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.6rem; }
.chips { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; }
.chips a { padding:.35rem .75rem; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-size:.85rem; }
.chips a.active,.chips a:hover { border-color:var(--accent); color:var(--accent); }
.section-h { display:flex; justify-content:space-between; gap:1rem; align-items:end; margin-bottom:1rem; }
.section-h h2 { font-family:var(--disp); margin:0; font-size:1.45rem; }
.section-h p { margin:.25rem 0 0; color:var(--muted); font-size:.92rem; }
.grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--card-rad); overflow:hidden; color:inherit; min-width:0;  }
a.card { display:block; cursor:pointer; }
.card img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; }
.card .meta { padding:.65rem .7rem .8rem; }
.card .meta strong { display:block; font-size:.92rem; }
.card .meta span { color:var(--muted); font-size:.78rem; }
.cash-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.cash-card { border:1px solid var(--line); border-radius:var(--card-rad); padding:1.1rem 1.15rem; background:color-mix(in srgb,var(--card) 80%, transparent); }
a.cash-card { display:block; color:inherit; cursor:pointer; transition:border-color .15s ease; }
a.cash-card:hover { border-color:var(--accent); }
.cash-card h3 { margin:0 0 .4rem; font-family:var(--disp); font-size:1.1rem; color:var(--accent); }
.cash-card .go { display:inline-block; margin-top:.55rem; font-size:.82rem; font-weight:700; color:var(--accent); }
.ref-band .ref-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.ref-band img {
  width:100%; height:auto; max-height:200px; object-fit:contain; object-position:center;
  background:color-mix(in srgb, var(--card) 70%, #000); border-radius:var(--img-rad); border:1px solid var(--line);
  display:block;
}
.blog-list { display:grid; gap:.55rem; }
.blog-list a,.guide-card { display:block; padding:.75rem .9rem; border:1px solid var(--line); border-radius:var(--card-rad); color:var(--muted); text-decoration:none; }
.blog-list a:hover,.guide-card:hover { border-color:var(--accent); color:var(--fg); }
.guide-card strong { display:block; color:var(--fg); font-size:.95rem; margin-bottom:.25rem; }
.guide-sum { display:block; font-size:.82rem; line-height:1.45; color:var(--muted); }
.section-h .h-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.site-footer { border-top:1px solid var(--line); padding:1.5rem 0 2rem; margin-top:1rem; color:var(--muted); font-size:.85rem; }
.legal-quiet { font-size:11px; opacity:.75; margin-top:.75rem; }
.stack-offer .ace-grid { grid-template-columns:1fr; }
.mid-offer { margin:1.25rem 0; }
.mid-offer img { width:100%; height:auto; border-radius:var(--img-rad); border:1px solid var(--line); display:block; }
.sticky-cta {
  position:fixed; left:0; right:0; bottom:0; z-index:30; display:none;
  gap:.5rem; padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom,0px));
  background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
}
.sticky-cta .btn { flex:1; text-align:center; min-height:44px; }
body.has-sticky { padding-bottom:calc(4.25rem + env(safe-area-inset-bottom,0px)); }
@media (max-width:860px) {
  .wrap { width:min(1120px, calc(100% - 1.25rem)); }
  .nav-desk,.menu-btn { display:none; }
  .header-inner { gap:.55rem; }
  .hdr-cta .btn-ghost { display:none; }
  .hdr-cta .btn-primary { padding:.55rem .85rem; min-height:40px; }
  .ace-grid,.ace-grid.rev,.stack-offer .ace-grid { grid-template-columns:1fr; direction:ltr; }
  .ace-banner { order:-1; }
  .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
  .cash-grid,.ace-track,.ref-band .ref-row { grid-template-columns:1fr 1fr; }
  .section-h { flex-direction:column; align-items:flex-start; gap:.45rem; }
  .section-h .btn,.section-h .h-actions { align-self:stretch; }
  .section-h .h-actions .btn { flex:1; text-align:center; }
  .ace-offer,.section,.hero,.cash,.ref-band { padding:1.5rem 0; }
  .sticky-cta { display:flex; }
}
@media (max-width:520px) {
  .brand span { max-width:38vw; font-size:.95rem; }
  .brand img { width:32px; height:32px; }
  .hdr-cta .btn-primary { font-size:.82rem; padding:.5rem .7rem; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
  .ace-track,.ref-band .ref-row,.cash-grid { grid-template-columns:1fr; }
  .card .meta { padding:.5rem .55rem .65rem; }
  .card .meta strong { font-size:.82rem; }
  .card .meta span { font-size:.7rem; }
  .chips a { padding:.45rem .7rem; min-height:36px; font-size:.8rem; }
  .ace-cta .btn { flex:1 1 auto; text-align:center; min-height:44px; }
  h1 { font-size:clamp(1.4rem,6.5vw,2rem); }
}
@media (max-width:360px) {
  .hdr-cta .btn-primary { font-size:.78rem; padding:.45rem .55rem; }
  .brand span { max-width:32vw; }
}
