/* SparkCap-inspired dark refined palette */
:root{
  --bg:#0c0f16;
  --bg-soft:#0e1420;
  --panel:#121827;
  --fg:#f3f6fb;
  --muted:#a6b0c2;
  --accent:#c9a860; /* champagne gold */
  --accent-2:#4ecdc4; /* cool teal */
  --stroke:rgba(255,255,255,0.08);
  --ring:rgba(201,168,96,0.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--fg);
}

.container{max-width:1120px;margin:0 auto;padding:0 16px}

.site-header{
  position:fixed;top:0;left:0;right:0;height:56px;z-index:40;
  backdrop-filter:saturate(120%) blur(8px);
  border-bottom:1px solid rgba(255,255,255,.06);
  background:color-mix(in oklab, var(--bg-soft) 80%, transparent);
}
.header-inner{
  height:56px;display:flex;align-items:center;justify-content:space-between;
}
.brand{font-weight:600;letter-spacing:.08em;text-decoration:none;color:var(--fg)}
.nav-desktop{display:none;gap:24px}
.nav-desktop a{color:var(--muted);text-decoration:none}
.nav-desktop a:hover{color:var(--fg)}
.cta-link{padding:6px 12px;border:1px solid var(--stroke);border-radius:999px}
.nav-toggle{display:inline-flex;gap:4px;background:none;border:none;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--fg)}
.nav-mobile{display:none;flex-direction:column;padding:8px 16px;border-bottom:1px solid var(--stroke);background:var(--bg-soft)}
.nav-mobile a{padding:10px 0;border-bottom:1px solid var(--stroke);text-decoration:none;color:var(--muted)}
.nav-mobile a:last-child{border-bottom:0}

@media(min-width:768px){
  .nav-desktop{display:flex}
  .nav-toggle{display:none}
}

.section-hero{
  position:relative;padding-top:112px;padding-bottom:96px;
  background:
    radial-gradient(60% 60% at 50% 10%, color-mix(in oklab, var(--accent-2) 20%, transparent), transparent),
    linear-gradient(to bottom, rgba(0,0,0,.5), color-mix(in oklab, var(--bg-soft) 10%, transparent), var(--bg));
}
.hero-overlay{position:absolute;inset:0}
.hero-inner{max-width:760px;position:relative}
.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-size:12px}
.section-hero h1{margin:.5rem 0 0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.12}
.accent{display:block;color:var(--accent)}
.lede{margin-top:1rem;color:var(--muted);font-size:1.125rem}
.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:10px 18px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--stroke);color:var(--fg);background:transparent}
.btn-primary{background:var(--accent);color:var(--bg);border-color:transparent}
.btn-primary:hover{opacity:.9}
.btn-outline:hover{border-color:var(--accent)}

.scroll-hint{
  position:absolute;left:50%;transform:translateX(-50%);bottom:16px;
  color:var(--muted);display:none;align-items:center;gap:6px;
  animation:bounce 1.5s infinite;
}
@media(min-width:768px){.scroll-hint{display:flex}}
@keyframes bounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}

.section-badges{border-block:1px solid var(--stroke);background:var(--bg-soft);padding:32px 0}
.badges-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:768px){.badges-grid{grid-template-columns:repeat(4,1fr)}}
.badge{border:1px solid var(--stroke);background:var(--panel);border-radius:16px;padding:16px}
.badge-sub{color:var(--muted);font-size:.9rem}
.badge-title{margin-top:6px;font-size:1.25rem;font-weight:600}

.section{padding:64px 0}
h2{font-size:clamp(1.5rem,3vw,2rem);margin:0}
.prose{margin-top:16px;line-height:1.7}
.muted{color:var(--muted)}

.cards-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:768px){.cards-grid{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--stroke);background:var(--panel);border-radius:16px;padding:20px}
.card-title{font-weight:600;font-size:1.1rem}
.card-body{color:var(--muted);margin-top:8px}

.projects-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:768px){.projects-grid{grid-template-columns:repeat(3,1fr)}}
.project{border:1px solid var(--stroke);background:var(--panel);border-radius:16px;overflow:hidden}
.project-thumb{aspect-ratio:16/10;background:linear-gradient(135deg, color-mix(in oklab, var(--accent-2) 20%, transparent), color-mix(in oklab, var(--accent) 15%, transparent))}
.project-body{padding:20px}
.project-sub{color:var(--muted);font-size:.9rem}
.project-title{margin-top:4px;font-weight:600}
.project-text{margin-top:8px;color:var(--muted)}

.list{margin-top:12px;line-height:1.8}
.list li{margin-left:18px}

.contact-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1fr}}
.info{margin-top:16px;display:grid;gap:8px}
.info-row{display:flex;gap:12px}
.info-label{min-width:96px;color:var(--muted)}
.info-value{color:var(--fg)}
.form{border:1px solid var(--stroke);background:var(--panel);border-radius:16px;padding:20px;display:grid;gap:10px}
.form input,.form textarea{width:100%;background:transparent;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;color:var(--fg);outline:none}
.form input:focus,.form textarea:focus{border-color:var(--accent)}

.site-footer{border-top:1px solid var(--stroke);padding:40px 0;margin-top:40px}
.footer-grid{display:grid;gap:24px}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}
.footer-cols{display:flex;gap:48px}
.col-title{color:var(--fg);margin-bottom:8px}
.footer-grid a{display:block;color:var(--muted);text-decoration:none;margin:6px 0}
.footer-grid a:hover{color:var(--fg)}
.newsletter{display:flex;gap:8px}
.newsletter input{flex:1;border:1px solid var(--stroke);background:transparent;border-radius:12px;padding:10px 12px;color:var(--fg)}

/* ----------------------------- */
/* TEAM (final, stacked layout)  */
/* ----------------------------- */

#team .team-grid{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  align-items:start;
}
@media(min-width:900px){
  #team .team-grid{ grid-template-columns:repeat(3,1fr); }
}

/* Each card is vertical by default: avatar → text block */
#team .member{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:12px;
  border:1px solid var(--stroke);
  background:var(--panel);
  border-radius:16px;
  padding:16px;
}

/* Portrait */
#team .member .avatar{
  width: 210px;
  height: 210px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 14%;
  border:none;
  box-shadow: 0 0 15px rgba(200,205,210,0.25), 0 6px 18px rgba(0,0,0,0.10);
  margin-bottom:8px;
}

/* Text block must be allowed to fill width and wrap */
#team .member .member-meta{
  display:grid;
  gap:6px;
  width:100%;
  max-width:none;
  min-width:0;              /* critical to prevent narrow columns */
}

/* Titles and bio */
#team .member .member-name{ font-weight:650; font-size:1.08rem; }
@media(min-width:900px){
  #team .member .member-name{ font-size:1.14rem; }
}
#team .member .member-title{ font-size:.95rem; color:var(--muted); }
#team .member .member-bio{
  color:var(--muted);
  margin-top:4px;
  line-height:1.6;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}

/* Show more/less button (if used) */
#team .member .bio-toggle{
  background:transparent;
  border:0;
  color:var(--fg);
  text-decoration:underline;
  cursor:pointer;
  margin-top:6px;
}

/* ----------------------------- */
/* HERO IMAGE LAYER & SPACING    */
/* (unchanged from your version) */
/* ----------------------------- */

.section-hero{position:relative;overflow:hidden}
.section-hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:url('../img/hero_generated.png');
  background-size:cover;background-position:center;
  filter:brightness(0.6) saturate(0.95);
  z-index:-2;
}
.section-hero .hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.45), color-mix(in oklab, var(--bg-soft) 24%, transparent), var(--bg));
  z-index:-1;
}

/* Tighter seamless spacing between Capabilities, Team, and Careers */
#capabilities, #team, #careers {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}
#team { border-top: 1px solid var(--stroke); border-bottom: 1px solid var(--stroke); }

/* Connect with Us (SparkCap-style minimal block) */
.section-connect{
  padding:28px 0;
  border-top:1px solid var(--stroke);
  border-bottom:1px solid var(--stroke);
  background:var(--bg-soft);
}
.connect-grid{
  display:grid;gap:16px;
  grid-template-columns:1fr;
}
@media(min-width:768px){.connect-grid{grid-template-columns:1fr 1fr 1fr}}
.connect-item{
  display:grid;gap:6px;
  align-content:start;
  border:1px solid var(--stroke);
  background:var(--panel);
  border-radius:16px;
  padding:16px;
}
.connect-icon{
  width:32px;height:32px;display:grid;place-items:center;
  border:1px solid var(--stroke);border-radius:8px;
  color:var(--accent);
}
.connect-label{color:var(--muted);font-size:.9rem}
.connect-value{color:var(--fg);font-weight:500}

/* Hero prominence upgrades */
.section-hero{
  min-height:88vh;
  padding-top:128px;
  padding-bottom:128px;
}
@media(min-width:900px){
  .section-hero{padding-top:144px;padding-bottom:144px}
}
.section-hero::before{
  filter:brightness(0.8) saturate(1.05);
  background-attachment:scroll;
  background-position:center calc(50% + var(--heroParallax, 0px));
}
.section-hero .hero-overlay{
  background:
    radial-gradient(80% 60% at 50% 10%, rgba(0,0,0,0.18), transparent 70%),
    linear-gradient(to bottom, rgba(0,0,0,0.30), color-mix(in oklab, var(--bg-soft) 18%, transparent), var(--bg));
}
.section-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:-1;
  background:radial-gradient(120% 90% at 50% 10%, transparent 40%, rgba(0,0,0,0.18));
}
.section-hero h1, .section-hero .lede{
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}

/* Tighten flow between About → Capabilities → Team → Connect */
#about, #capabilities, #team, #connect {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
#capabilities, #team { border-top: 1px solid var(--stroke); }

/* Centered navigation with logo left (SparkCap-style balance) */
.site-header .header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.site-header .brand { justify-self: start; }
.site-header .nav-desktop { justify-self: center; }
.site-header .nav-desktop a { display: inline-block; text-align: center; }
.site-header button.nav-toggle { justify-self: end; }
@media(max-width:767px){
  .site-header .header-inner { display:flex; justify-content:space-between; }
}

/* Transparent floating header with fade-in and glass effect */
.site-header {
  background: rgba(12, 15, 22, 0.2);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: background 0.3s ease, border-color 0.3s ease;
}
.site-header.scrolled {
  background: rgba(12, 15, 22, 0.85);
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

/* Ultra-minimal header: logo only */
.nav-desktop, .nav-toggle, .nav-mobile { display: none !important; }

/* Floating back-to-top button */
.to-top{
  position:fixed; right:16px; bottom:16px; z-index:50;
  padding:10px 12px; border-radius:999px;
  background:rgba(12,15,22,0.85); color:var(--fg);
  border:1px solid var(--stroke);
  backdrop-filter:saturate(140%) blur(6px);
  cursor:pointer; opacity:0; pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.to-top.show{ opacity:1; pointer-events:auto; transform:translateY(0) }
.to-top:not(.show){ transform:translateY(8px) }

/* Keep hero/badges spacing reasonable (your previous values retained) */
.section-hero{ padding-bottom: 160px; }
@media(min-width:900px){ .section-hero { padding-bottom: 176px; } }
.section-badges { margin-top: -150px; }
@media(min-width:900px){ .section-badges { margin-top: -210px; } }

/* Ensure anchored sections are not hidden beneath the fixed header */
:root{
  --header-h: 56px;
  --anchor-offset: calc(var(--header-h) + 16px);
}
#about, #capabilities, #team, #connect { scroll-margin-top: var(--anchor-offset); }
@media(min-width:900px){
  :root{ --header-h: 64px; --anchor-offset: calc(var(--header-h) + 18px); }
}

/* Warm white hero text color palette for natural elegance */
.section-hero h1{ color: #f7f7f7 !important; }
.section-hero p, .section-hero .tagline{ color: #e9e9e9 !important; }
.section-hero .btn{ color: #fafafa !important; }
.section-hero .btn:hover{ color: #fff !important; }
