/*
 * FAHPi — user customizations
 *
 * This file is safe to edit. It is loaded last so anything here overrides
 * theme.css without having to mark rules !important.
 */

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:72px;gap:2rem}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.nav-logo img{height:48px;width:auto}
.nav-logo-text{color:#fff;font-size:14px;font-weight:500;line-height:1.3}
.nav-logo-text span{color:var(--gold-light);font-size:11px;display:block;font-weight:400}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:13.5px;padding:6px 12px;border-radius:var(--r);transition:.15s}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-links a.active{color:var(--gold-light)}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;font-weight:600!important}
.nav-cta:hover{background:var(--gold-light)!important}

/* PAGES */
.page{display:none}
.page.active{display:block}

/* HERO */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--green-mid) 100%);color:#fff;padding:5rem 2.5rem;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(201,150,42,.12),transparent 60%);pointer-events:none}
.hero-stripe{position:absolute;top:0;right:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--red-ph) 50%,var(--blue-ph) 50%)}
.hero-inner{max-width:820px;margin:0 auto;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.25rem}
.eyebrow::before{content:"";width:24px;height:1.5px;background:var(--gold);display:inline-block}
.hero h1{color:#fff;font-family:"Playfair Display",serif;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:400;line-height:1.18;margin-bottom:1.5rem}
.hero h1 em{font-style:italic;color:var(--gold-light)}
.hero-lead{font-size:1.05rem;color:rgba(255,255,255,.72);max-width:600px;line-height:1.75;margin-bottom:2.5rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btnhero{display:inline-block;padding:12px 24px;border-radius:var(--r);border:none;cursor:pointer;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:.15s}
.btnhero-gold{background:var(--gold);color:var(--navy)}
.btnhero-gold:hover{background:var(--gold-light)}
.btnhero-outline{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.22);padding:11px 24px}
.btnhero-outline:hover{border-color:rgba(255,255,255,.5);color:#fff}

/* STATS BAR */
.stats-bar{background:var(--white);border-bottom:1px solid var(--border)}
.stats-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:1.75rem 2rem;border-right:1px solid var(--border);text-align:center}
.stat-item:last-child{border-right:none}
.stat-num{font-family:"Playfair Display",serif;font-size:2rem;color:var(--navy);line-height:1;margin-bottom:4px}
.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}

/* SECTIONS */
/*section{padding:5rem 2.5rem;}*/
section{padding:5rem 2.5rem;margin:0;} /* margin:0 andrea */
.inner{max-width:900px;margin:0 auto}
.sec-eye{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}
.sec-eye.green{color:var(--green)}
.sec-head{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:1rem}
.sec-sub{font-size:1rem;color:var(--muted);max-width:580px;line-height:1.7;margin-bottom:3rem}

/* PILLARS */
.pillars{background:var(--white)}
.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}
.pillar-card{background:var(--white);padding:2.25rem 2rem}
.pillar-num{font-family:"Playfair Display",serif;font-size:2.5rem;color:rgba(201,150,42,.18);line-height:1;margin-bottom:.25rem}
.pillar-title{font-size:1.05rem;font-weight:600;color:var(--navy);margin-bottom:.5rem}
.pillar-desc{font-size:14px;color:var(--muted);line-height:1.65}

/* NEWS GRID */
.news-section{background:var(--cream)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.news-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:1.5rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.75rem;transition:.2s;cursor:pointer}
.news-card:hover{border-color:var(--border-strong);box-shadow:0 4px 20px rgba(0,0,0,.07)}
.news-tag{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.news-title{font-size:15px;font-weight:500;color:var(--navy);line-height:1.4;flex:1}
.news-date{font-size:12.5px;color:var(--light)}

/* DARK SPLIT */
.dark-split{background:var(--navy);color:#fff;padding:5rem 2.5rem}
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.vm-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:2rem}
.vm-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.75rem}
.vm-card p{color:rgba(255,255,255,.75);font-size:15px;line-height:1.7}

/* BOARD */
.board-section{background:var(--white)}
.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.board-card{display:flex;align-items:center;gap:14px;padding:1.25rem;border:1px solid var(--border);border-radius:var(--rl)}
.board-avatar{width:52px;height:52px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--gold-light);flex-shrink:0;overflow:hidden}
.board-avatar img{width:100%;height:100%;object-fit:cover}
.board-name{font-size:14.5px;font-weight:600;color:var(--navy);line-height:1.3}
.board-role{font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}
.board-featured{grid-column:1/-1;display:flex;align-items:center;gap:20px;padding:1.75rem;background:var(--gold-pale);border:1px solid rgba(201,150,42,.25);border-radius:var(--rl)}
.board-featured .board-avatar{width:64px;height:64px;font-size:17px}
.board-featured .board-name{font-size:17px}

/* CTA */
.cta{background:var(--navy);color:#fff;padding:4.5rem 2.5rem;text-align:center}
.cta h2{font-family:"Playfair Display",serif;color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;margin-bottom:.75rem}
.cta p{color:rgba(255,255,255,.68);margin-bottom:2rem;font-size:15px;max-width:480px;margin-left:auto;margin-right:auto}

/* UPDATES */
.updates-section{background:var(--cream);padding:4rem 2.5rem}
.update-item{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:1.75rem 2rem;margin-bottom:1.25rem}
.update-meta{display:flex;gap:12px;align-items:center;margin-bottom:.75rem}
.update-cat{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:var(--gold-pale);padding:3px 10px;border-radius:20px}
.update-date{font-size:12.5px;color:var(--light)}
.update-title{font-size:1.1rem;font-weight:600;color:var(--navy);margin-bottom:.5rem}
.update-body{font-size:14.5px;color:var(--muted);line-height:1.7;white-space:pre-wrap}
.photo-grid-1 img{width:100%;max-height:420px;object-fit:cover;border-radius:var(--r);margin-top:1rem;cursor:zoom-in}
.photo-grid-multi{display:grid;gap:6px;margin-top:1rem}
.photo-grid-2{grid-template-columns:1fr 1fr}
.photo-grid-3{grid-template-columns:1fr 1fr 1fr}
.photo-grid-many{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.photo-grid-multi img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);cursor:zoom-in}
.empty-state{text-align:center;padding:3rem;color:var(--muted);font-size:15px}
.loading{opacity:.5}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9999;align-items:center;justify-content:center;padding:2rem}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--r)}
.lightbox-close{position:absolute;top:1rem;right:1.5rem;color:#fff;font-size:2rem;cursor:pointer;background:none;border:none;line-height:1}

/* FOOTER */
footer{background:#060f1a;color:rgba(255,255,255,.5);padding:3rem 2.5rem;}
/*.footer-inner{max-width:70%;padding:5px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}*/
.footer-inner{max-width:70%;padding:50px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-brand{color:#fff;font-weight:500;font-size:14px}
.footer-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;}
.footer-links a{color:rgba(255,255,255,.5);text-decoration:none;font-size:12.5px;}
.footer-links a:hover{color:rgba(255,255,255,.8);}

@media(max-width:700px){
  nav{padding:0 1.25rem}
  .nav-links{display:none}
  section,.hero,.dark-split,.cta,.updates-section{padding-left:1.25rem;padding-right:1.25rem}
  .stats-inner,.pillar-grid,.news-grid,.vm-grid,.board-grid{grid-template-columns:1fr}
  .board-featured{flex-direction:column;text-align:center}
  .footer-inner{flex-direction:column}
}

/* COLLABORATE */
.collab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.collab-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--rl);padding:2rem;display:flex;flex-direction:column;gap:.75rem;transition:.2s}
.collab-card:hover{border-color:var(--green);box-shadow:0 4px 24px rgba(46,125,82,.1)}
.collab-card-wide{grid-column:1/-1}
.collab-icon{width:52px;height:52px;border-radius:var(--rl);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.collab-title{font-size:1.1rem;font-weight:600;color:var(--navy)}
.collab-sub{font-size:13px;font-weight:500;color:var(--green);text-transform:uppercase;letter-spacing:.06em}
.collab-body{font-size:14.5px;color:var(--muted);line-height:1.65;flex:1}
.collab-btn{display:inline-block;margin-top:.5rem;padding:9px 20px;background:var(--white);border:1.5px solid var(--green);color:var(--green);border-radius:var(--r);font-size:13.5px;font-weight:600;text-decoration:none;transition:.15s}
.collab-btn:hover{background:var(--green);color:#fff}
@media(max-width:700px){.collab-grid{grid-template-columns:1fr}.collab-card-wide{grid-column:1}}

@media(max-width:700px){
  #page-join .inner > div{grid-template-columns:1fr !important}