
/* FILE: styles.css */
/* Brand colors: gold, white, blue, minimal red & black */
:root{
  --gold:#d4af37;
  --blue:#0b3d91;
  --white:#ffffff;
  --muted:#6b7280;
  --accent-red:#b91c1c;
  --black:#0b0b0b;
  --bg:#fbfbfc;
  --glass: rgba(255,255,255,0.7);
}

/* Reset & base */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:Inter,system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  background:linear-gradient(180deg,var(--bg),#f3f6fb);
  color:var(--black);
  -webkit-font-smoothing:antialiased;
}

/* Layout container */
.container{max-width:1100px;margin:0 auto;padding:20px}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo{width:64px;height:64px;border-radius:12px;object-fit:cover;border:3px solid var(--gold)}
.brand-name{font-weight:800;color:var(--blue)}
.brand-sub{font-size:.85rem;color:var(--muted)}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:8px}
.theme-btn{background:transparent;border:1px solid rgba(11,61,145,.06);padding:8px 10px;border-radius:8px;cursor:pointer}
.hamburger{width:44px;height:36px;display:flex;flex-direction:column;justify-content:center;gap:4px;border-radius:8px;cursor:pointer;background:transparent;border:none}
.hamburger span{display:block;height:3px;background:var(--blue);border-radius:3px;transition:all .25s}

/* Nav */
.nav{padding:8px 0}
.nav-menu{display:flex;gap:18px;list-style:none;align-items:center;justify-content:center}
.nav-menu a{text-decoration:none;color:var(--blue);font-weight:600;padding:6px 10px;border-radius:8px}
.nav-menu a:hover{background:rgba(11,61,145,.05)}

/* Hero */
.hero{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:center;padding:28px 0}
.hero-left h1{font-size:2rem;color:var(--blue);margin-bottom:8px}
.lead{color:var(--muted);margin-bottom:12px}
.hero-cta{display:flex;gap:10px;margin-bottom:12px}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}
.btn-primary{background:var(--gold);color:var(--black);border:2px solid rgba(11,61,145,.03)}
.btn-outline{background:transparent;color:var(--blue);border:2px solid rgba(11,61,145,.08)}
.btn-ghost{background:transparent;border:1px solid rgba(11,61,145,.08);padding:8px 12px;border-radius:8px;color:var(--blue)}

/* Quicklist */
.quicklist{list-style:disc;margin-left:18px;color:var(--muted);margin-top:12px}

/* Cards & sections */
.section{margin:18px 0}
.card{background:var(--white);padding:16px;border-radius:12px;box-shadow:0 10px 30px rgba(11,61,145,.06)}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:12px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:12px}

/* Founders */
.founders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.founder .avatar{width:72px;height:72px;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--blue));display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:800;font-size:1.1rem;margin-bottom:10px}

/* Timeline */
.timeline-vertical{border-left:3px solid rgba(11,61,145,.06);padding-left:18px}
.timeline-item{position:relative;padding:12px 0}
.timeline-item::before{content:'';position:absolute;left:-11px;top:14px;width:14px;height:14px;background:var(--gold);border-radius:50%}

/* Posts */
.post .meta{color:var(--muted);font-size:.9rem;margin-bottom:10px}
.roles .role{background:linear-gradient(180deg,rgba(11,61,145,.03),rgba(212,175,55,.02));padding:10px;border-radius:8px}

/* Stats */
.stats-grid{display:flex;gap:12px;flex-wrap:wrap}
.stat{flex:1;min-width:160px;text-align:center;padding:18px;border-radius:12px;background:linear-gradient(180deg,rgba(212,175,55,.03),var(--white));}
.stat .num{font-weight:900;font-size:1.6rem;color:var(--blue)}

/* Carousel */
.carousel{position:relative;margin-top:12px;overflow:hidden;border-radius:12px}
.carousel-track{display:flex;transition:transform .6s ease}
.carousel-item{min-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px}
.carousel-item img{width:100%;max-width:420px;border-radius:10px;box-shadow:0 10px 30px rgba(11,61,145,.06)}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(11,61,145,.85);color:white;border:none;padding:10px;border-radius:40px;cursor:pointer}
.carousel-btn.prev{left:12px}
.carousel-btn.next{right:12px}

/* Forms / auth */
.join-form input, .join-form textarea, .join-form select, #loginForm input, #loginPageForm input{
  width:100%;padding:10px;border-radius:8px;border:1px solid rgba(11,61,145,.08);margin-bottom:10px;font-size:1rem
}
.form-actions{display:flex;gap:10px;align-items:center}

/* Modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,.5);z-index:90}
.modal[aria-hidden="false"]{display:flex}
.modal-panel{background:var(--white);padding:18px;border-radius:10px;width:320px;box-shadow:0 20px 60px rgba(11,61,145,.15)}
.modal-close{float:right;background:transparent;border:none;cursor:pointer}

/* Back to top */
.back-to-top{position:fixed;right:18px;bottom:18px;background:var(--gold);border:none;padding:10px 12px;border-radius:10px;display:none;cursor:pointer;box-shadow:0 8px 30px rgba(11,61,145,.08)}

/* Auth page */
.auth-page{display:flex;align-items:center;justify-content:center;min-height:80vh;background:linear-gradient(180deg,#f7fbff,#f3f6fb)}
.auth-card{max-width:420px;width:100%;text-align:center;padding:28px}
.logo-small{width:48px;height:48px;border-radius:8px;margin-bottom:12px}

/* Members directory */
.member-card{background:linear-gradient(180deg,rgba(255,255,255,.9),var(--white));padding:12px;border-radius:10px;box-shadow:0 8px 24px rgba(11,61,145,.04)}

/* Animations */
.fade{opacity:0;transform:translateY(12px);transition:all .6s ease}
.fade.visible{opacity:1;transform:none}

/* Visual refinements */
.mt{margin-top:16px}
.muted{color:var(--muted)}

/* DARK THEME (applies body.dark) */
body.dark{background:#081225;color:#eaf5ff}
body.dark .card{background:#071229}
body.dark .stat{background:linear-gradient(180deg,rgba(212,175,55,.03),#071229)}
body.dark .brand-name{color:#a9d1ff}

/* Responsive */
@media (max-width:900px){
  .nav-menu{display:none}
  .hero{grid-template-columns:1fr;gap:18px}
  .grid-3{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .carousel-item img{max-width:320px}
}
