/* Spark Factor Universal Site Styles
   Shared design system for navigation, typography, section labels, buttons,
   spacing, cards, footer, and mobile responsiveness.
*/

:root{
  --dark:#252B2D;
  --dark2:#2d3436;
  --cream:#ede8dc;
  --cream2:#f5f1e6;
  --gold:#cfa96e;
  --goldDeep:#b9874f;
  --mutedLight:rgba(237,232,220,0.70);
  --mutedDark:rgba(37,43,45,0.66);
  --lineDark:rgba(37,43,45,0.16);
  --lineGold:rgba(207,169,110,0.30);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--dark);
  color:var(--cream);
  font-family:"Barlow", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.site-page{min-height:100vh;background:var(--dark);color:var(--cream);}

/* Universal Navigation */
.site-header{background:var(--dark);}
.nav{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:1.6rem 3.5rem 1.1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.nav-logo{display:inline-flex;align-items:center;}
.nav-logo img{height:104px;width:auto;max-width:260px;object-fit:contain;}
.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:2.65rem;flex-wrap:wrap;}
.nav-links a{
  font-family:"Barlow Condensed", Arial, sans-serif;
  font-size:15px;
  font-weight:500;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--mutedLight);
  transition:color .22s ease, opacity .22s ease;
}
.nav-links a:hover,
.nav-links a.active,
.nav-links a[aria-current="page"]{color:var(--gold);}

/* Universal Layout */
.page-hero,.content-section,.footer{padding-left:3.5rem;padding-right:3.5rem;}
.inner,.nav-inner,.footer-inner{width:100%;max-width:1120px;margin:0 auto;}
.inner-wide{width:100%;max-width:1180px;margin:0 auto;}
.page-hero{background:var(--dark);color:var(--cream);padding-top:4.5rem;padding-bottom:6rem;}
.content-section{padding-top:5rem;padding-bottom:5rem;}
.content-section.dark{background:var(--dark);color:var(--cream);}
.content-section.dark2{background:var(--dark2);color:var(--cream);}
.content-section.light{background:var(--cream);color:var(--dark);}
.content-section.light2{background:var(--cream2);color:var(--dark);}

/* Universal Section Labels and Lines */
.section-label,.kicker{
  font-family:"Barlow Condensed", Arial, sans-serif;
  font-size:15px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 .85rem;
}
.light .section-label,.light .kicker,.light2 .section-label,.light2 .kicker{color:var(--goldDeep);}
.label-line,.gold-line{width:52px;height:1px;background:var(--gold);margin:0 0 2.4rem;}
.light .label-line,.light .gold-line,.light2 .label-line,.light2 .gold-line{background:var(--goldDeep);}
.statement-line{width:56px;height:1px;background:var(--gold);margin:0 0 2rem;}
.light .statement-line,.light2 .statement-line{background:var(--goldDeep);}

/* Universal Typography */
h1,h2,h3,h4{font-family:"Cormorant Garamond", Georgia, serif;font-weight:300;margin:0;}
.hero-title{font-size:clamp(54px,7vw,86px);line-height:1.05;max-width:980px;margin:0 0 2rem;}
.page-title{font-size:clamp(52px,6.5vw,82px);line-height:1.06;max-width:980px;margin:0 0 2rem;}
.section-title{font-size:clamp(44px,5vw,72px);line-height:1.08;max-width:820px;margin:0 0 2rem;}
.card-title{font-size:clamp(30px,3vw,38px);line-height:1.12;margin:0 0 1.1rem;}
.lead,.hero-copy,.section-copy{font-size:17px;line-height:1.72;max-width:760px;margin:0;}
.dark .lead,.dark .hero-copy,.dark .section-copy,.dark2 .lead,.dark2 .hero-copy,.dark2 .section-copy{color:var(--mutedLight);}
.light .lead,.light .hero-copy,.light .section-copy,.light2 .lead,.light2 .hero-copy,.light2 .section-copy{color:var(--mutedDark);}
.gold-text{color:var(--gold);}

/* Universal Buttons */
.button,.btn,.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  min-height:50px;
  padding:1rem 2.5rem;
  border:1px solid var(--gold);
  background:transparent;
  color:inherit;
  font-family:"Barlow Condensed", Arial, sans-serif;
  font-size:12px;
  font-weight:500;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .22s ease, color .22s ease, border-color .22s ease;
}
.button:hover,.btn:hover,.cta:hover{background:var(--gold);color:var(--dark);}
.light .button,.light .btn,.light .cta,.light2 .button,.light2 .btn,.light2 .cta{color:var(--dark);border-color:var(--gold);}
.light .button:hover,.light .btn:hover,.light .cta:hover,.light2 .button:hover,.light2 .btn:hover,.light2 .cta:hover{background:var(--gold);color:var(--dark);}

/* Universal Cards and Rows */
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
.card{border:1px solid var(--lineGold);padding:1.65rem;}
.light .card,.light2 .card{border-color:var(--lineDark);}
.card-number{font-family:"Barlow Condensed", Arial, sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.light .card-number,.light2 .card-number{color:var(--goldDeep);}
.divider-row{border-bottom:1px solid var(--lineGold);padding-bottom:2.25rem;margin-bottom:2.25rem;}
.light .divider-row,.light2 .divider-row{border-bottom-color:var(--lineDark);}

/* Universal Footer */
.footer{background:var(--dark);color:var(--cream);padding-top:3rem;padding-bottom:3rem;border-top:1px solid rgba(207,169,110,0.18);}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.footer-brand,.footer-links{font-family:"Barlow Condensed", Arial, sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--mutedLight);}
.footer-links{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.footer-links a:hover{color:var(--gold);}

/* Page-specific helper classes */
.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;}
.stack{display:flex;flex-direction:column;gap:2.25rem;}
.narrow{max-width:720px;}
.medium{max-width:820px;}

/* Responsive */
@media(max-width:900px){
  .nav,.page-hero,.content-section,.footer{padding-left:1.5rem;padding-right:1.5rem;}
  .nav{height:auto;padding-top:1.5rem;gap:1.5rem;align-items:flex-start;flex-direction:column;}
  .nav-logo img{height:108px;max-width:260px;}
  .nav-links{justify-content:flex-start;gap:1rem 1.35rem;}
  .nav-links a{font-size:15px;letter-spacing:.14em;}
  .page-hero{padding-top:3.75rem;padding-bottom:4.5rem;}
  .content-section{padding-top:4.25rem;padding-bottom:4.25rem;}
  .card-grid,.two-column{grid-template-columns:1fr;gap:1.5rem;}
  .footer-inner{flex-direction:column;align-items:flex-start;}
}

@media(max-width:520px){
  .nav,.page-hero,.content-section,.footer{padding-left:1.25rem;padding-right:1.25rem;}
  .nav-logo img{height:98px;max-width:240px;}
  .nav-links{gap:.8rem 1rem;}
  .nav-links a{font-size:15px;letter-spacing:.12em;}
  .section-label,.kicker{font-size:15px;letter-spacing:.22em;}
  .lead,.hero-copy,.section-copy{font-size:16px;line-height:1.7;}
  .button,.btn,.cta{width:100%;min-width:0;}
}


/* Mobile menu support */
.mobile-menu-toggle{display:none;background:transparent;border:0;width:42px;height:34px;padding:0;cursor:pointer;z-index:100;}
.mobile-menu-toggle span{display:block;width:38px;height:2px;background:var(--cream);margin:8px 0;}

/* Legal and contact pages */
.legal-copy{max-width:820px;color:var(--mutedLight);font-size:17px;line-height:1.78;}
.legal-copy h2{font-family:"Cormorant Garamond", Georgia, serif;font-size:32px;font-weight:300;line-height:1.15;color:var(--cream);margin:2.25rem 0 .85rem;}
.legal-copy p{margin:0 0 1.15rem;}
.contact-panel{max-width:780px;border:1px solid var(--lineGold);padding:2.2rem;background:rgba(237,232,220,.03);}
.contact-panel p{font-size:17px;line-height:1.75;color:var(--mutedLight);margin:0 0 1.2rem;}
.contact-list{display:grid;gap:1rem;margin-top:1.6rem;}
.contact-item{border-top:1px solid var(--lineGold);padding-top:1rem;}
.contact-item strong{display:block;font-family:"Barlow Condensed", Arial, sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;}

@media(max-width:900px){
  .mobile-menu-toggle{display:block;}
  .nav{position:relative;flex-direction:row !important;align-items:center !important;}
  .nav-links{display:none !important;position:absolute;top:100%;left:1.5rem;right:1.5rem;background:var(--dark);border:1px solid var(--lineGold);padding:1.35rem;flex-direction:column;align-items:flex-start;gap:1rem;z-index:99;}
  .nav-links.open{display:flex !important;}
  .contact-panel{padding:1.5rem;}
}


/* Relational Intelligence 01–03 card system */
.ri-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--lineDark);
  border:1px solid var(--lineDark);
  margin-top:3rem;
}
.ri-card{
  background:var(--cream2);
  color:var(--dark);
  padding:2rem 1.75rem 1.8rem;
  min-height:150px;
}
.ri-card-number{
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;
  letter-spacing:.22em;
  color:var(--goldDeep);
  margin-bottom:1rem;
}
.ri-card-title{
  font-family:'Barlow',sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:1.22;
  color:var(--dark);
  margin:0 0 .65rem;
}
.ri-card-copy{
  font-size:15px;
  line-height:1.55;
  color:var(--mutedDark);
  margin:0;
}
@media(max-width:900px){
  .ri-card-grid{grid-template-columns:1fr;margin-top:2.5rem;}
  .ri-card{min-height:0;padding:1.6rem 1.45rem;}
}


/* FINAL GLOBAL 01-03 CARD / TABLE STANDARD */
.ri-card-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1px !important;
  background:var(--lineDark) !important;
  border:1px solid var(--lineDark) !important;
  margin-top:3rem !important;
  max-width:100% !important;
}
.ri-card{
  display:block !important;
  background:var(--cream2) !important;
  color:var(--dark) !important;
  padding:2.25rem 2rem 2.1rem !important;
  min-height:148px !important;
}
.ri-card-number{
  display:block !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.24em !important;
  color:var(--goldDeep,#b9874f) !important;
  margin-bottom:1rem !important;
}
.ri-card-title{
  display:block !important;
  font-family:'Barlow',sans-serif !important;
  font-size:18px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  color:var(--dark) !important;
  margin:0 0 .7rem 0 !important;
}
.ri-card-copy{
  display:block !important;
  font-family:'Barlow',sans-serif !important;
  font-size:15px !important;
  line-height:1.55 !important;
  color:var(--mutedDark) !important;
  margin:0 !important;
}
.ri-card-grid--compact .ri-card{min-height:132px !important;padding:2rem 1.75rem 1.85rem !important;}
.ri-card-grid--detailed .ri-card{min-height:172px !important;padding:2.2rem 1.9rem 2rem !important;}
@media(max-width:900px){
  .ri-card-grid{grid-template-columns:1fr !important;margin-top:2.5rem !important;}
  .ri-card,.ri-card-grid--compact .ri-card,.ri-card-grid--detailed .ri-card{min-height:0 !important;padding:1.6rem 1.45rem !important;}
}


/* TEAM PAGE EXACT INDEX-ALIGNED FIX */
.team-hero{
  min-height:auto !important;
  padding-bottom:6rem !important;
}
.team-hero .section-kicker{
  margin-top:2.25rem !important;
  margin-bottom:2.25rem !important;
}
.team-hero .body{
  max-width:760px !important;
  margin-bottom:0 !important;
}
.team-detail-section{
  background:var(--cream) !important;
  color:var(--dark) !important;
  padding-top:5rem !important;
  padding-bottom:5rem !important;
}
.team-detail-list{
  display:flex;
  flex-direction:column;
  gap:4.5rem;
}
.team-member{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  gap:4rem;
  align-items:center;
}
.team-member:nth-child(even){
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
}
.team-member:nth-child(even) .team-photo{order:2;}
.team-member:nth-child(even) .team-content{order:1;}
.team-photo{
  width:100%;
  height:520px;
  overflow:hidden;
  border-radius:2px;
  background:var(--cream2);
}
.team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.team-photo-rabia img{
  object-position:center 45%;
  transform:scale(1.14);
  transform-origin:center 45%;
}
.team-photo-queena img{
  object-position:center 38%;
  transform:scale(1.18);
  transform-origin:center 38%;
}
.team-content h3{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,4vw,54px);
  line-height:1.08;
  font-weight:300;
  color:var(--dark);
  margin:0 0 1rem;
}
.team-role{
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#b9874f;
  margin:0 0 1.8rem;
}
.team-bio p{
  font-size:16px;
  line-height:1.78;
  color:var(--mutedDark);
  margin:0 0 1.2rem;
}
@media(max-width:900px){
  .team-member,
  .team-member:nth-child(even){grid-template-columns:1fr;gap:2rem;}
  .team-member:nth-child(even) .team-photo,
  .team-member:nth-child(even) .team-content{order:initial;}
  .team-photo{height:430px;}
}
@media(max-width:520px){
  .team-photo{height:360px;}
}

/* GLOBAL LOGO / NAV LEFT ALIGNMENT STANDARD
   Aligns the logo with the Section 1/content left edge across pages. */
.nav{
  width:calc(100% - 8rem) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hero-inner > .nav,
.section-inner > .nav,
.page-hero-inner > .nav{
  width:100% !important;
  max-width:1120px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
@media(max-width:900px){
  .nav{
    width:calc(100% - 3rem) !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .hero-inner > .nav,
  .section-inner > .nav,
  .page-hero-inner > .nav{
    width:100% !important;
  }
}
@media(max-width:520px){
  .nav{
    width:calc(100% - 2.5rem) !important;
  }
}


/* Events hero title control */
.events-hero-title .events-title-main{color:var(--cream) !important;font-style:normal !important;white-space:nowrap;}
.events-hero-title .events-title-in{color:var(--cream) !important;font-style:normal !important;}
.events-hero-title .events-title-emphasis{color:var(--gold) !important;font-style:italic !important;white-space:nowrap;}


/* GLOBAL HEADER ALIGNMENT OVERRIDE - matches approved Home/System/Team */
.hero-inner{max-width:1120px;margin:0 auto;}
.nav{
  width:100% !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.nav-logo,.logo{display:inline-flex !important;align-items:center !important;flex:0 0 auto !important;}
.nav-logo img,.logo img{height:116px !important;width:auto !important;max-width:260px !important;object-fit:contain !important;display:block !important;}
.nav-links{margin-left:auto !important;display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:3.6rem !important;}
@media(max-width:900px){
  .nav{height:auto !important;padding-top:1.5rem !important;position:relative !important;}
  .nav-logo img,.logo img{height:108px !important;max-width:260px !important;}
  .nav-links{display:none !important;position:absolute !important;top:100% !important;left:0 !important;right:0 !important;background:var(--dark) !important;padding:1.5rem !important;border-top:1px solid rgba(207,169,110,.22) !important;flex-direction:column !important;align-items:flex-start !important;justify-content:flex-start !important;gap:1.25rem !important;z-index:99 !important;margin-left:0 !important;}
  .nav-links.open{display:flex !important;}
}
@media(max-width:520px){.nav-logo img,.logo img{height:98px !important;max-width:240px !important;}}
