/* RCKG — shared stylesheet */
:root{
  --gold: #F6B324;
  --gold-deep: #C9860E;
  --ink: #0E0E0E;
  --paper: #FAF9F6;
  --paper-dim: #F0EEE8;
  --text: #4A4844;
  --text-soft: #6B6860;
  --text-faint: #9A9690;
  --line: rgba(14,14,14,0.10);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--sans);
  background: var(--paper);
  color: var(--ink);
  line-height:1.6;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}

/* Placeholder blocks (stand in for real photos) */
.ph{
  background:#E8E5DF; border:2px dashed #BEBAB2;
  display:flex; align-items:center; justify-content:center;
  min-height:140px; padding:20px; text-align:center;
}
.ph span{font-size:12px; color:#88837C; font-style:italic; line-height:1.5;}

/* Type */
h1,h2,h3,h4{font-family:var(--serif); font-weight:700; line-height:1.15;}
.eyebrow{
  display:block; font-size:11px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px;
}
.eyebrow.light{color:var(--gold);}
.section-head{margin-bottom:44px; max-width:640px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center; max-width:600px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px); margin-bottom:14px;}
.section-head p{color:var(--text-soft); font-size:16px; line-height:1.6;}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px;
  padding:13px 24px; border:2px solid var(--gold); background:var(--gold); color:var(--ink);
  cursor:pointer; transition:background .2s ease, color .2s ease;
}
.btn:hover{background:var(--gold-deep); border-color:var(--gold-deep); color:#fff;}
.btn.outline{background:transparent;}
.btn.outline:hover{background:var(--gold); color:var(--ink);}
.btn.sm{padding:9px 18px; font-size:13px;}

/* Sections */
.section{padding:80px 0;}
.section.tight{padding:56px 0;}
.section.white{background:#fff;}
.section.dim{background:var(--paper-dim);}
.section.ink{background:var(--ink); color:#fff;}
.section.ink .section-head p{color:#9A9690;}
.section.gold{background:var(--gold);}

/* Page hero (inner pages) */
.page-hero{
  position:relative; min-height:48vh; display:flex; align-items:center;
  background:#141410; color:#fff; overflow:hidden;
}
.page-hero-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;}
.page-hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(10,10,8,.80) 0%, rgba(10,10,8,.50) 40%, rgba(10,10,8,.18) 64%, rgba(10,10,8,0) 84%),
    linear-gradient(to top, rgba(10,10,8,.45) 0%, rgba(10,10,8,0) 30%);
}
.page-hero .wrap{position:relative; z-index:2; padding:100px 24px 64px;}
.page-hero h1{font-size:clamp(32px,4.6vw,54px); color:#fff; max-width:680px; letter-spacing:-.01em;}
.page-hero p{color:#D9D6CF; font-size:17px; margin-top:16px; max-width:560px;}
.page-hero p em{color:#B9B6AF;}

/* Nav */
.nav{
  position:sticky; top:0; z-index:100; background:#fff;
  border-bottom:1px solid var(--line); box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.nav-inner{
  max-width:1180px; margin:0 auto; padding:0 24px; height:64px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo img{height:36px; width:auto;}
.nav-links{display:flex; align-items:center; gap:20px;}
.nav-links a{font-size:13px; font-weight:600; padding:4px 0; border-bottom:2px solid transparent;}
.nav-links a:hover, .nav-links a.active{color:var(--gold-deep); border-color:var(--gold);}
.nav-links a.btn:hover{color:#fff;}
.nav-burger{display:none; background:none; border:0; font-size:22px; cursor:pointer;}
.nav-mobile{display:none; flex-direction:column; padding:0 24px 16px; border-top:1px solid var(--line);}
.nav-mobile a{display:block; padding:12px 0; font-size:14px; font-weight:600; border-bottom:1px solid var(--line);}
.nav.open .nav-mobile{display:flex;}

/* Hero (home) */
.hero{
  position:relative; min-height:86vh; display:flex; align-items:center;
  background:#141410; color:#fff; overflow:hidden;
}
.hero .ph{position:absolute; inset:0; opacity:.55; border:0; border-radius:0; min-height:0;}
.hero-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;}
.hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(10,10,8,.78) 0%, rgba(10,10,8,.46) 38%, rgba(10,10,8,.14) 62%, rgba(10,10,8,0) 82%),
    linear-gradient(to top, rgba(10,10,8,.42) 0%, rgba(10,10,8,0) 26%);
}
.hero-inner{position:relative; z-index:2; max-width:660px; padding:120px 24px 100px;}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  padding:8px 16px; border:1px solid rgba(246,179,36,.35); border-radius:999px;
  background:rgba(246,179,36,.08); backdrop-filter:blur(6px); margin-bottom:26px;
}
.hero-badge::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none;}
.hero h1{font-size:clamp(38px,6vw,68px); color:#fff; margin-bottom:20px; letter-spacing:-.01em;}
.hero p.lead{color:#D9D6CF; font-size:18px; max-width:520px; margin-bottom:32px;}
.hero-meta{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:38px;}
.hero-meta span{
  display:flex; flex-direction:column; gap:3px; font-size:13.5px; color:#E4E1DA;
  padding:12px 18px; border:1px solid rgba(255,255,255,.16); border-radius:10px;
  background:rgba(255,255,255,.06); backdrop-filter:blur(8px);
}
.hero-meta strong{color:var(--gold); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.btn.light{background:transparent; border-color:rgba(255,255,255,.5); color:#fff;}
.btn.light:hover{background:#fff; color:var(--ink); border-color:#fff;}

/* Highlights (editorial zig-zag blocks) */
.highlight{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; margin-bottom:72px;}
.highlight:last-child{margin-bottom:0;}
.highlight.reverse .highlight-media{order:2;}
.highlight.reverse .highlight-text{order:1;}
.highlight-media{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.highlight-media .ph{min-height:220px; position:relative; overflow:hidden;}
.highlight-media .ph.wide{grid-column:1/3; min-height:220px;}
.highlight-media .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.highlight-text h3{font-family:var(--serif); font-size:27px; margin-bottom:16px;}
.highlight-text p{color:var(--text); font-size:15px; margin-bottom:14px; line-height:1.75;}
.highlight-text p:last-child{margin-bottom:0;}

/* Grids & cards */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.grid-5{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.card{background:#fff; border:1px solid var(--line); transition:box-shadow .2s ease;}
.card:hover{box-shadow:0 10px 26px rgba(0,0,0,0.06);}
.card .ph{height:180px; border:0;}
.card-img{width:100%; height:180px; object-fit:cover; display:block;}
.card-body h3 a{color:inherit;}
.card-body{padding:20px;}
.card-body .tag{font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); display:block; margin-bottom:8px;}
.card-body h3{font-size:17px; margin-bottom:8px;}
.card-body p{font-size:14px; color:var(--text-soft);}

/* Avenues strip */
.avenue-box{background:#fff; padding:28px 20px; text-align:center;}
.avenue-box .ico{
  width:54px; height:54px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:rgba(246,179,36,.10); border:1px solid rgba(246,179,36,.35); color:var(--gold-deep);
}
.avenue-box .ico svg{width:24px; height:24px;}
.avenue-box h4{font-size:14px; margin-bottom:6px;}
.avenue-box p{font-size:11px; color:var(--text-faint);}

/* Events / list rows */
.list-row{display:flex; gap:24px; align-items:center; padding:20px 0; border-top:1px solid var(--line);}
.list-row:last-child{border-bottom:1px solid var(--line);}
.list-date{width:64px; text-align:center; border-right:1px solid var(--line); padding-right:24px; flex-shrink:0;}
.list-date .d{font-family:var(--serif); font-size:22px; font-weight:700; color:var(--gold);}
.list-date .m{font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-faint);}
.list-title{font-weight:600; font-size:15px;}
.list-sub{font-size:12px; color:var(--text-faint); margin-top:3px;}
.list-tag{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-deep); border:1px solid rgba(201,134,14,.3); padding:4px 8px; flex-shrink:0;}

/* Instagram / gallery grid */
.insta-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:6px;}
.gallery-grid{columns:3; column-gap:10px;}
.gallery-grid .ph{margin-bottom:10px; break-inside:avoid;}
.gallery-grid img{width:100%; display:block; margin-bottom:10px; break-inside:avoid; object-fit:cover;}

/* FAQ accordion */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex; justify-content:space-between; align-items:center; width:100%; background:none; border:0; padding:18px 0; text-align:left; font-weight:600; font-size:15px; cursor:pointer;}
.faq-q:hover{color:var(--gold-deep);}
.faq-icon{transition:transform .2s ease; color:var(--gold-deep);}
.faq-item.open .faq-icon{transform:rotate(180deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding-bottom:18px; font-size:14px; color:var(--text); max-width:640px;}
.faq-item.open .faq-a{max-height:240px;}

/* Forms */
.field{margin-bottom:18px;}
.field label{display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); margin-bottom:6px;}
.field input, .field textarea, .field select{
  width:100%; border:1px solid rgba(14,14,14,0.15); background:var(--paper);
  padding:12px 14px; font-size:14px; font-family:var(--sans); outline:none; transition:border-color .2s ease;
}
.field input:focus, .field textarea:focus, .field select:focus{border-color:var(--gold);}
.field textarea{resize:vertical;}
.checkbox-row{display:flex; flex-wrap:wrap; gap:10px;}
.checkbox-row label{display:flex; align-items:center; gap:6px; font-size:13px; font-weight:400; text-transform:none; background:var(--paper); border:1px solid var(--line); padding:8px 12px; cursor:pointer;}
.checkbox-row input{width:auto;}
.form-success{background:var(--paper-dim); padding:32px; text-align:center;}
.form-success h3{margin-bottom:8px;}
.form-success p{color:var(--text-soft); font-size:14px;}

/* Steps (How to Join) */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.step{padding:24px; border:1px solid var(--line); position:relative;}
.step .num{font-family:var(--serif); font-size:32px; font-weight:700; color:var(--gold); margin-bottom:12px;}
.step h3{font-size:15px; margin-bottom:8px;}
.step p{font-size:13px; color:var(--text-soft);}

/* Downloads */
.dl-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px; border:1px solid var(--line); background:#fff; margin-bottom:12px;}
.dl-row .fname{font-weight:600; font-size:15px;}
.dl-row .ftype{font-size:12px; color:var(--text-faint); margin-top:4px;}

/* Leadership */
.exec-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:20px;}
.exec-card{text-align:center;}
.exec-card .ph{aspect-ratio:3/4; margin-bottom:12px; position:relative; overflow:hidden;}
.exec-card .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.exec-card h3{font-size:14px; margin-bottom:4px;}
.exec-card p{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-deep);}
.committee-group{margin-bottom:40px;}
.committee-group:last-child{margin-bottom:0;}
.committee-name{
  font-family:var(--serif); font-size:18px; font-weight:700; color:var(--ink);
  margin-bottom:18px; padding-bottom:10px; border-bottom:2px solid var(--gold); display:inline-block;
}
.committee-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,190px)); gap:20px;}

/* Footer */
.site-footer{background:var(--ink); color:#fff; padding-top:60px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px;}
.footer-grid h5{font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); margin-bottom:14px;}
.footer-grid a, .footer-grid p{display:block; font-size:13px; color:#888580; margin-bottom:9px;}
.footer-grid a:hover{color:var(--gold);}
.footer-tagline{color:#C8C5BF; font-family:var(--serif); font-style:italic; margin-bottom:16px; font-size:14px;}
.footer-social{display:flex; gap:14px;}
.footer-social a{width:34px; height:34px; border:1px solid #2E2E2E; display:flex; align-items:center; justify-content:center; font-size:13px;}
.footer-bottom{border-top:1px solid #1E1E1E; padding:20px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:#555;}

/* Responsive */
@media (max-width:900px){
  .nav-links{display:none;}
  .nav-burger{display:block;}
  .grid-2, .grid-3{grid-template-columns:1fr;}
  .highlight, .highlight.reverse{grid-template-columns:1fr;}
  .highlight-media, .highlight.reverse .highlight-media, .highlight-text, .highlight.reverse .highlight-text{order:0;}
  .grid-5{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;}
  .exec-grid{grid-template-columns:repeat(2,1fr);}
  .committee-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
  .gallery-grid{columns:2;}
  .list-row{flex-wrap:wrap;}
}
