/* =======================================================
   THE RYAN FITZGERALD FOUNDATION — styles.css
   Shared stylesheet for index.html, board.html, founder-story.html
   Page-specific styles remain inline in each file
   ======================================================= */

/* VARIABLES */
:root {
  --royal-dark: #0f2560;
  --royal:      #1a3a8f;
  --royal-mid:  #1e4db7;
  --royal-lt:   #2d60d4;
  --gold:       #d4a017;
  --gold-shine: #f0c040;
  --gold-lt:    #f7d96a;
  --gold-dim:   #a87c10;
  --white:      #ffffff;
  --off-white:  #f5f8ff;
  --gray:       #edf1f9;
  --text:       #0d1b35;
  --muted:      #4a5a7a;
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--royal-dark);display:flex;align-items:center;justify-content:space-between;padding:0 56px;height:70px;}
.nav-gold-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-shine),var(--gold-lt),var(--gold-shine),transparent);}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.nav-wordmark strong{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;color:white;letter-spacing:.5px;display:block;}
.nav-wordmark span{font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--gold-shine);text-transform:uppercase;display:block;margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none;}
.nav-links a{text-decoration:none;color:rgba(255,255,255,.78);font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover{color:var(--gold-shine);}
.btn-donate-nav{background:var(--gold-shine);color:var(--royal-dark) !important;padding:9px 24px;border-radius:2px;font-weight:800 !important;letter-spacing:1.2px !important;transition:background .2s,transform .15s !important;}
.btn-donate-nav:hover{background:var(--gold-lt) !important;transform:translateY(-1px);}
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:210;}
.nav-hamburger span{display:block;width:24px;height:2px;background:white;border-radius:2px;transition:transform .3s,opacity .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-mobile{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--royal-dark);z-index:199;flex-direction:column;padding:32px 28px;gap:0;overflow-y:auto;}
.nav-mobile.open{display:flex;}
.nav-mobile a{display:block;color:rgba(255,255,255,.78);text-decoration:none;font-size:15px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);transition:color .2s;}
.nav-mobile a:hover{color:var(--gold-shine);}
.nav-mobile .btn-donate-mobile{margin-top:28px;background:var(--gold-shine);color:var(--royal-dark);text-align:center;padding:16px;border-radius:2px;font-weight:800;letter-spacing:2px;border-bottom:none;}
.nav-mobile .btn-donate-mobile:hover{background:var(--gold-lt);}

/* BUTTONS */
.btn-primary{background:var(--gold-shine);color:var(--royal-dark);padding:16px 42px;border-radius:2px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .15s;display:inline-block;box-shadow:0 4px 20px rgba(240,192,64,.35);}
.btn-primary:hover{background:var(--gold-lt);transform:translateY(-2px);}
.btn-secondary{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border-radius:2px;background:var(--royal);color:white;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;transition:background .2s;}
.btn-secondary:hover{background:var(--royal-mid);}
.btn-secondary::after{content:'→';font-size:15px;}
.btn-ghost{color:rgba(255,255,255,.82);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:color .2s;}
.btn-ghost:hover{color:var(--gold-shine);}
.btn-ghost::after{content:'→';font-size:16px;}
.btn-ghost-dark{color:var(--text);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(13,27,53,.2);padding-bottom:2px;transition:color .2s;}
.btn-ghost-dark:hover{color:var(--royal-mid);}
.btn-ghost-dark::after{content:'→';font-size:15px;}
.btn-outline{padding:14px 34px;border-radius:2px;border:1px solid rgba(255,255,255,.28);color:white;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:2px;text-transform:uppercase;transition:border-color .2s,color .2s;display:inline-block;}
.btn-outline:hover{border-color:var(--gold-shine);color:var(--gold-shine);}

/* SECTION COMMONS */
.section-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.section-label::before{content:'';display:block;width:22px;height:2px;background:var(--gold);flex-shrink:0;}
.section-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:48px;line-height:1;color:var(--text);margin-bottom:20px;}
.section-title span{color:var(--royal-mid);}

/* PAGE HERO (board.html, founder-story.html) */
.page-hero{background:var(--royal);padding:152px 56px 88px;position:relative;overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 80% at 85% 50%,rgba(45,96,212,.4) 0%,transparent 65%);}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;}
.page-hero-gold{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,transparent,var(--gold-shine),var(--gold-lt),transparent);}
.page-hero-inner{max-width:900px;margin:0 auto;position:relative;z-index:2;}
.breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;}
.breadcrumb a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--gold-shine);}
.breadcrumb-sep{color:rgba(255,255,255,.2);}
.breadcrumb-current{color:var(--gold-shine);}
.page-eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-shine);display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.page-eyebrow::before{content:'';display:block;width:22px;height:2px;background:var(--gold-shine);flex-shrink:0;}
.page-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:78px;line-height:.93;color:white;margin-bottom:22px;}
.page-hero h1 span{display:block;color:var(--gold-shine);}
.page-hero-sub{font-family:'Lora',serif;font-size:18px;line-height:1.72;color:rgba(255,255,255,.7);max-width:620px;font-style:italic;}

/* MISSION STRIP */
.mission-strip{background:var(--royal-dark);border-top:1px solid rgba(240,192,64,.2);border-bottom:1px solid rgba(240,192,64,.2);padding:32px 56px;display:flex;align-items:center;justify-content:center;}
.mission-strip-text{text-align:center;max-width:760px;padding:0 40px;}
.mission-strip-label{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-shine);margin-bottom:10px;}
.mission-strip-text p{font-size:15px;line-height:1.72;color:rgba(255,255,255,.72);font-style:italic;}
.mission-strip-text p strong{color:white;font-style:normal;}

/* PROBLEM SECTION */
.problem-snap{background:var(--royal-dark);padding:88px 56px;}
.problem-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.problem-snap .section-label{color:var(--gold-shine);}
.problem-snap .section-label::before{background:var(--gold-shine);}
.problem-snap .section-title{color:white;}
.problem-snap .section-title span{color:var(--gold-shine);}
.problem-body p{font-size:16px;line-height:1.88;color:rgba(255,255,255,.65);margin-bottom:16px;}
.problem-body p strong{color:white;}
.problem-callout{background:rgba(255,255,255,.05);border-left:4px solid var(--gold-shine);padding:36px 40px;position:relative;}
.problem-callout::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold-shine),transparent);}
.problem-callout p{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;line-height:1.35;color:white;}
.problem-callout p span{color:var(--gold-shine);}

/* BODY LINE STRIP */
.body-line-strip{background:var(--royal);padding:36px 56px;text-align:center;border-top:1px solid rgba(240,192,64,.15);border-bottom:1px solid rgba(240,192,64,.15);}
.body-line-strip p{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;color:white;letter-spacing:.5px;}
.body-line-strip p em{color:var(--gold-shine);font-style:normal;}

/* ABOUT */
.about-snap{padding:88px 56px;background:var(--white);}
.about-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-snap p{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:16px;}
.about-snap p strong{color:var(--text);}
.about-cta{margin-top:28px;}
.about-panel{background:var(--royal);clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%);padding:52px 44px;position:relative;overflow:hidden;}
.about-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-dim),var(--gold-shine),var(--gold-lt),var(--gold-shine),var(--gold-dim));}
.about-panel blockquote{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;line-height:1.38;color:white;font-style:italic;margin-bottom:22px;border-left:4px solid var(--gold-shine);padding-left:18px;}
.about-panel cite{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold-shine);font-style:normal;}

/* PROGRAMS */
.programs-snap{background:var(--gray);padding:88px 56px;}
.programs-inner{max-width:1100px;margin:0 auto;}
.programs-header{margin-bottom:48px;}
.programs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.program-card{background:var(--white);border-top:3px solid var(--royal-mid);padding:36px 32px;box-shadow:0 2px 16px rgba(13,27,53,.06);transition:transform .2s,box-shadow .2s,border-top-color .2s;}
.program-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px rgba(13,27,53,.1);border-top-color:var(--royal);}
.program-card.featured{border-top-color:var(--gold-shine);}
.program-card.featured:hover{border-top-color:var(--gold);}
.program-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:13px;letter-spacing:2px;color:var(--gold-shine);margin-bottom:10px;display:block;}
.program-card.featured .program-num{color:var(--gold-dim);}
.program-card h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:24px;color:var(--text);margin-bottom:10px;}
.program-card p{font-size:14px;line-height:1.75;color:var(--muted);}

/* LEADERSHIP */
.leadership-snap{background:var(--white);padding:88px 56px;}
.leadership-inner{max-width:1100px;margin:0 auto;}
.leadership-header{margin-bottom:48px;}
.leadership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.leader-card{display:flex;align-items:center;gap:18px;}
.leader-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;background:var(--royal);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--gold-shine),0 0 0 4px rgba(240,192,64,.15);}
.leader-avatar svg{width:32px;height:32px;fill:rgba(255,255,255,.5);}
.leader-info h4{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;color:var(--text);margin-bottom:2px;}
.leader-info .role{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dim);display:block;margin-bottom:5px;}
.leader-info a{font-size:12px;color:var(--royal-mid);text-decoration:none;font-weight:600;transition:color .2s;}
.leader-info a:hover{color:var(--royal);}

/* DONATE */
.donate-band{background:var(--royal);padding:88px 56px;position:relative;overflow:hidden;text-align:center;}
.donate-band::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold-shine),var(--gold-lt),var(--gold-shine),transparent);}
.donate-band::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold-shine),var(--gold-lt),var(--gold-shine),transparent);}
.donate-band-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 50%,rgba(45,96,212,.35) 0%,transparent 70%);}
.donate-band-inner{position:relative;z-index:2;max-width:700px;margin:0 auto;}
.donate-band h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:58px;line-height:.95;color:white;margin-bottom:16px;}
.donate-band h2 span{display:block;color:var(--gold-shine);}
.donate-band p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.7);margin-bottom:12px;}
.donate-band .vision{font-size:14px;color:rgba(255,255,255,.45);font-style:italic;margin-bottom:40px;}
.donate-btn{background:var(--gold-shine);color:var(--royal-dark);padding:17px 56px;border-radius:2px;border:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:2.5px;text-transform:uppercase;box-shadow:0 4px 24px rgba(240,192,64,.35);transition:background .2s,transform .15s;display:inline-block;}
.donate-btn:hover{background:var(--gold-lt);transform:translateY(-2px);}

/* CONTACT */
.contact-snap{background:var(--off-white);padding:88px 56px;}
.contact-inner{max-width:660px;margin:0 auto;text-align:center;}
.contact-inner .section-title{margin-bottom:10px;}
.contact-inner>p{font-size:16px;color:var(--muted);margin-bottom:40px;line-height:1.72;}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;}
.form-full{grid-column:1/-1;}
.form-group{display:flex;flex-direction:column;gap:7px;}
.form-group label{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text);}
.form-group input,.form-group select,.form-group textarea{padding:12px 15px;border:1px solid #c8d5e8;border-radius:2px;font-family:'Barlow',sans-serif;font-size:15px;color:var(--text);background:white;transition:border-color .2s;outline:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--royal-mid);}
.form-group textarea{resize:vertical;min-height:110px;}
.form-submit{grid-column:1/-1;background:var(--royal);color:white;padding:15px;border:none;border-radius:2px;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;letter-spacing:2px;text-transform:uppercase;transition:background .2s;}
.form-submit:hover{background:var(--royal-mid);}

/* FOOTER */
footer{background:var(--royal-dark);border-top:3px solid var(--gold-shine);padding:36px 56px 28px;}
.footer-inner{max-width:1100px;margin:0 auto;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.35);}
.footer-ein{font-size:12px;color:var(--gold-shine);opacity:.75;}
.footer-links{display:flex;gap:24px;list-style:none;}
.footer-links a{font-size:12px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:var(--gold-shine);}

/* ANIMATIONS */
@keyframes hexPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.025);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* RESPONSIVE */
@media(max-width:960px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .nav-hamburger{display:flex;}
  .leadership-grid{grid-template-columns:repeat(2,1fr);}
  .page-hero{padding:120px 24px 64px;}
  .page-hero h1{font-size:52px;}
}
@media(max-width:768px){
  .hero-content{padding:0 24px;}
  .hero-visual{display:none;}
  .hero-title{font-size:58px;}
  .hero{min-height:auto;padding-bottom:72px;}
  .about-inner,.problem-inner{grid-template-columns:1fr;gap:36px;}
  .about-snap,.programs-snap,.leadership-snap,.donate-band,.contact-snap,.problem-snap{padding:64px 24px;}
  .programs-grid{grid-template-columns:1fr;}
  .leadership-grid{grid-template-columns:1fr;}
  .contact-form{grid-template-columns:1fr;}
  .donate-band h2{font-size:44px;}
  .mission-strip{padding:28px 24px;}
  .body-line-strip{padding:28px 24px;}
  .body-line-strip p{font-size:22px;}
  footer{padding:32px 24px 24px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}
