:root{
  --charcoal:#0d0e12;
  --charcoal-2:#15171d;
  --charcoal-3:#1d2029;
  --gold:#d4af37;
  --gold-soft:#e8cc7a;
  --indigo:#4b3f96;
  --indigo-soft:#7a6fd1;
  --ink:#eef0f4;
  --ink-dim:#a3a8b5;
  --line:rgba(212,175,55,0.18);
  --radius:14px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(75,63,150,0.35), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(212,175,55,0.10), transparent 55%),
    var(--charcoal);
  color:var(--ink);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display-font{font-family:"Space Grotesk","Inter",sans-serif;letter-spacing:-0.02em;}
.text-gold{color:var(--gold)!important;}
.text-indigo-soft{color:var(--indigo-soft)!important;}
.bg-charcoal-2{background:var(--charcoal-2)!important;}
.bg-charcoal-3{background:var(--charcoal-3)!important;}
a{color:var(--gold-soft); text-decoration:none;}
a:hover{color:var(--gold);}
.navbar-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--gold),var(--indigo));color:#0d0e12;font-weight:800;font-family:"Space Grotesk",sans-serif;margin-right:.55rem;}
.navbar-vision{background:rgba(13,14,18,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.navbar-vision .nav-link{color:var(--ink-dim); font-weight:500;}
.navbar-vision .nav-link.active,.navbar-vision .nav-link:hover{color:var(--gold);}
.btn-gold{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#161104; font-weight:700; border:none;box-shadow:0 6px 20px rgba(212,175,55,0.25);}
.btn-gold:hover{color:#161104; filter:brightness(1.06); box-shadow:0 8px 26px rgba(212,175,55,0.35);}
.btn-outline-gold{border:1px solid var(--gold); color:var(--gold-soft); background:transparent; font-weight:600;}
.btn-outline-gold:hover{background:var(--gold); color:#161104;}
.btn-indigo{background:var(--indigo); color:#fff; font-weight:600; border:none;}
.btn-indigo:hover{background:var(--indigo-soft); color:#fff;}
.card-vision{background:linear-gradient(180deg, var(--charcoal-3), var(--charcoal-2));border:1px solid var(--line);border-radius:var(--radius);transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;}
.card-vision:hover{transform:translateY(-4px);border-color:rgba(212,175,55,0.45);box-shadow:0 14px 34px rgba(0,0,0,0.35);}
.badge-free{background:rgba(88,196,140,0.15); color:#7fe3ac; border:1px solid rgba(88,196,140,0.35);}
.badge-paid{background:rgba(212,175,55,0.15); color:var(--gold-soft); border:1px solid var(--line);}
.badge-both{background:rgba(122,111,209,0.18); color:var(--indigo-soft); border:1px solid rgba(122,111,209,0.4);}
.section-eyebrow{text-transform:uppercase; letter-spacing:.18em; font-size:.72rem;color:var(--gold-soft); font-weight:700;}
.divider-gold{height:1px; width:64px;background:linear-gradient(90deg,var(--gold),transparent);margin:.75rem 0 1.25rem;}
.hero-photo{width:220px;height:220px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);box-shadow:0 0 0 8px rgba(212,175,55,0.08), 0 20px 50px rgba(0,0,0,0.45);}
footer.site-footer{background:var(--charcoal-2);border-top:1px solid var(--line);}
.footer-icon{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line); color:var(--gold-soft);transition:.18s;}
.footer-icon:hover{background:var(--gold); color:#161104; border-color:var(--gold);}
.skill-btn.active{background:var(--gold); color:#161104; border-color:var(--gold);}
.resource-panel{display:none;}
.resource-panel.show{display:block;}
.search-wrap input{background:var(--charcoal-2); border:1px solid var(--line); color:var(--ink);}
.search-wrap input:focus{background:var(--charcoal-2); color:var(--ink); border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(212,175,55,.15);}
.search-wrap input::placeholder{color:var(--ink-dim);}
.pill-filter{border:1px solid var(--line); background:transparent; color:var(--ink-dim);border-radius:999px; padding:.35rem .9rem; font-size:.85rem; font-weight:600;}
.pill-filter.active, .pill-filter:hover{background:var(--gold); color:#161104; border-color:var(--gold);}
.book-banner{background:linear-gradient(120deg, rgba(75,63,150,0.35), rgba(212,175,55,0.12));border:1px solid var(--line); border-radius:var(--radius);}
::selection{background:var(--gold); color:#161104;}
.hover-lift{transition:transform .15s ease;}
.hover-lift:hover{transform:translateY(-3px);}

/* Accordion (FAQ / hustle) */
.accordion-item{background:transparent;border:1px solid var(--line);border-radius:var(--radius)!important;margin-bottom:.75rem;overflow:hidden;}
.accordion-button{background:var(--charcoal-2)!important;color:var(--ink)!important;font-weight:700;}
.accordion-button:not(.collapsed){color:var(--gold)!important;box-shadow:none;}
.accordion-button::after{filter:invert(72%) sepia(41%) saturate(455%) hue-rotate(357deg);}
.accordion-body{background:var(--charcoal-3);}
.prompt-box{background:rgba(212,175,55,0.06);border-left:3px solid var(--gold);padding:.9rem 1.1rem;border-radius:8px;}

/* Modals */
.modal-content{background:var(--charcoal-3); border:1px solid var(--line); color:var(--ink); border-radius:var(--radius);}
.modal-header{border-bottom:1px solid var(--line);}
.modal-footer{border-top:1px solid var(--line);}
.btn-close{filter:invert(1);}
.form-control, .form-select{background:var(--charcoal-2); border:1px solid var(--line); color:var(--ink);}
.form-control:focus, .form-select:focus{background:var(--charcoal-2); color:var(--ink); border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(212,175,55,.15);}
.form-control::placeholder{color:var(--ink-dim);}
.form-label{color:var(--ink-dim); font-size:.85rem; font-weight:600;}

/* Stars */
.star-rate{font-size:1.4rem; cursor:pointer;}
.star-rate .bi{color:#3a3d47; transition:.1s;}
.star-rate .bi.active{color:var(--gold);}
.star-display .bi{color:var(--gold);}

/* Coffee floating button */
.coffee-fab{
  position:fixed; bottom:22px; right:22px; z-index:1040;
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  color:#161104; font-weight:700; border:none; border-radius:999px;
  padding:.7rem 1.3rem; box-shadow:0 10px 26px rgba(212,175,55,0.35);
  display:flex; align-items:center; gap:.5rem;
}
.coffee-fab:hover{filter:brightness(1.05); color:#161104;}
.bank-row{display:flex; justify-content:space-between; align-items:center; padding:.65rem 0; border-bottom:1px dashed var(--line);}
.bank-row:last-child{border-bottom:none;}

/* Collaborator cards */
.collab-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--charcoal-2);border:1px solid var(--line);color:var(--gold-soft);font-size:1.2rem;}
.admin-toast{position:fixed; top:90px; right:20px; z-index:1080;}
