@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800;900&display=swap');

:root{
  --bg: #000;
  --text: #fff;
  --text-muted: rgba(255,255,255,0.69);
  --text-body: rgba(255,255,255,0.6);
  --accent: #fff;
  --max-width: 1200px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background:var(--bg);
  color: var(--text-body);
  font-family:'DM Sans', Arial, sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }

.wrap{
  max-width: var(--max-width);
  margin:0 auto;
  padding: 0 32px;
}

h1,h2,h3{ color:#fff; font-weight:700; margin:0 0 16px; letter-spacing:-0.02em; }
h1{ font-size:64px; line-height:1.2; letter-spacing:-0.027em; }
h2{ font-size:48px; line-height:1.2; letter-spacing:-0.027em; }
h3{ font-size:24px; line-height:1.2; letter-spacing:-0.027em; }

@media (max-width:768px){
  h1{ font-size:40px; }
  h2{ font-size:30px; }
}

/* Buttons */
.btn{
  display:inline-block;
  padding:14px 30px;
  border-radius:999px;
  font-weight:700;
  font-size:15px;
  border:2px solid #fff;
  transition:opacity .2s ease, transform .2s ease;
}
.btn:hover{ opacity:.85; }
.btn-solid{ background:#fff; color:#000; }
.btn-outline{ background:transparent; color:#fff; }

/* Header */
.site-header{
  position:fixed; top:0; left:0; right:0; width:100%; z-index:50;
  background:transparent;
  transition:background .2s ease;
}
.site-header .logo,
.site-header .main-nav a,
.site-header .nav-toggle span{
  text-shadow:0 1px 3px rgba(0,0,0,0.5);
  transition:color .2s ease;
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:18px; padding-bottom:18px;
  gap:24px;
}
.logo{ font-weight:800; font-size:19px; color:#fff; white-space:nowrap; }
.main-nav ul{ display:flex; gap:32px; }
.main-nav a{ font-weight:700; font-size:16px; color:#fff; }
.main-nav a:hover{ color:rgba(255,255,255,0.7); }
.header-cta{
  padding:10px 22px; font-size:14px; white-space:nowrap;
  background:#fff; color:#000; border:2px solid #fff;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span{ display:block; width:24px; height:2px; background:#fff; margin:5px 0; }

/* Sticky header once scrolled past the hero */
.site-header.scrolled{
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,0.08);
}
.site-header.scrolled .logo,
.site-header.scrolled .main-nav a,
.site-header.scrolled .nav-toggle span{
  color:#111; text-shadow:none;
}
.site-header.scrolled .nav-toggle span{ background:#111; }
.site-header.scrolled .main-nav a:hover{ color:rgba(0,0,0,0.6); }
.site-header.scrolled .header-cta{
  background:#000; color:#fff; border-color:#000;
}

@media (max-width:900px){
  .main-nav{ display:none; width:100%; order:3; }
  .header-cta{ display:none; }
  .nav-toggle{ display:block; }
  body.nav-open .main-nav{ display:block; }
  body.nav-open .main-nav ul{ flex-direction:column; gap:0; padding-top:16px; }
  body.nav-open .main-nav a{ display:block; padding:12px 0; border-top:1px solid rgba(255,255,255,0.08); }
}

/* Hero */
.hero{
  position:relative; overflow:hidden;
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center top;
}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.75) 100%);
}
.hero-inner{
  position:relative; z-index:1;
  padding:90px 32px;
  text-align:center;
  max-width:900px;
}
.hero-tagline{
  color:var(--text-muted);
  font-size:18px;
  max-width:640px;
  margin:0 auto 36px;
}
.hero-buttons{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* As featured on */
.featured-on{ padding:64px 0; text-align:center; background:#000; }
.eyebrow{
  text-transform:uppercase; letter-spacing:.14em; font-size:13px;
  color:rgba(255,255,255,0.5); margin-bottom:24px; font-weight:700;
}
.wordmark-chip{
  display:inline-block; background:#e7e7e7; color:#111;
  font-weight:800; font-size:20px; padding:8px 18px; border-radius:4px;
}

/* Intro / feature grid */
.intro{ padding:20px 0 100px; text-align:center; background:#000; }
.intro h2{ max-width:920px; margin:0 auto 64px; }
.feature-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:40px;
  text-align:left;
}
@media (max-width:860px){ .feature-grid{ grid-template-columns:1fr; text-align:center; } }
.feature-card{ padding:8px; }
.feature-icon{ display:inline-flex; width:48px; height:48px; margin-bottom:20px; color:#fff; }
.feature-icon svg{ width:100%; height:100%; fill:currentColor; }
.feature-card h3{ margin-bottom:12px; }
.feature-card p{ margin:0; color:var(--text-body); }

/* Quote section */
.quote-section{ padding:100px 0; text-align:center; background:#000; border-top:1px solid rgba(255,255,255,0.08); }
.quote{
  font-size:26px; line-height:1.5; color:#fff; font-weight:500;
  max-width:760px; margin:0 auto 32px; font-style:italic;
}
.divider{ border:none; border-top:2px solid rgba(255,255,255,0.25); width:60px; margin:0 auto 40px; }
.quote-person{ display:flex; align-items:center; justify-content:center; gap:20px; }
.quote-person img{ width:80px; height:80px; border-radius:50%; object-fit:cover; }
.quote-person h3{ margin-bottom:4px; font-size:18px; }
.quote-person p{ margin:0; color:var(--text-muted); font-size:14px; }
.quote-person > div{ text-align:left; }

/* Footer */
.site-footer{ background:#000; border-top:1px solid rgba(255,255,255,0.08); padding:80px 0 32px; }
.footer-top{ margin-bottom:56px; }
.footer-logo{ font-size:22px; }
.footer-tagline{ margin-top:12px; color:#fff; }
.footer-columns{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,0.08);
}
@media (max-width:700px){ .footer-columns{ grid-template-columns:1fr; } }
.footer-col h5{ color:#fff; font-size:15px; margin:0 0 18px; text-transform:uppercase; letter-spacing:.06em; }
.footer-col li{ margin-bottom:10px; }
.footer-col a{ color:var(--text-body); }
.footer-col a:hover{ color:#fff; }
.copyright{ margin:32px 0 0; font-size:13px; color:rgba(255,255,255,0.4); }

/* Simple sub-pages */
.page-hero{ padding:160px 0 60px; text-align:center; background:#000; }
.page-content{ padding:0 0 120px; }
.page-content .wrap{ max-width:800px; }

/* About page */
.about-hero{ padding:170px 0 40px; text-align:left; }
.about-hero .wrap{ max-width:var(--max-width); }
.about-lead{ padding:20px 0 80px; }
.about-lead-grid{
  display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:start;
}
.about-lead-grid h2{ margin:0; }
.about-lead-grid p{ margin:0; font-size:18px; color:var(--text-body); }
@media (max-width:800px){ .about-lead-grid{ grid-template-columns:1fr; gap:24px; } }

.stats{ padding:60px 0; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); }
.stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; text-align:center; }
@media (max-width:700px){ .stats-grid{ grid-template-columns:1fr; } }
.stat-number{ font-size:56px; font-weight:800; color:#fff; line-height:1; letter-spacing:-0.02em; }
.stat-number span{ font-size:36px; }
.stat-label{ margin-top:12px; color:var(--text-muted); font-size:15px; }

.about-body{ padding:90px 0 120px; }
.about-body .wrap{ max-width:800px; }
.about-body h2{ font-size:32px; margin:0 0 20px; }
.about-body h2:not(:first-child){ margin-top:56px; }
.about-body p{ margin:0 0 18px; color:var(--text-body); font-size:17px; }

/* Consulting page */
.consulting-hero{ text-align:center; }
.consulting-hero .eyebrow{ text-align:center; }
.consulting-hero h1{ margin-bottom:20px; }
.consulting-hero .hero-tagline{ margin:0 auto; }
.audience-grid{ text-align:center; }
.audience-grid .feature-card{ text-align:center; }
.audience-grid .feature-icon{ margin-left:auto; margin-right:auto; }

.expertise-section{ text-align:left; }
.expertise-list{
  max-width:840px; margin:56px auto 0;
  display:flex; flex-direction:column; gap:40px;
}
.expertise-item{ display:flex; gap:24px; align-items:flex-start; }
.expertise-item .feature-icon{ flex:none; margin-bottom:0; }
.expertise-item h3{ margin-bottom:8px; }
.expertise-item p{ margin:0; color:var(--text-body); }
@media (max-width:600px){
  .expertise-item{ flex-direction:column; gap:12px; }
}

.consulting-form-section{ padding:100px 0 140px; border-top:1px solid rgba(255,255,255,0.08); }
.consult-form{ max-width:640px; margin:0 auto; }
.form-row{ margin-bottom:24px; }
.form-row.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.form-row label{ display:block; font-weight:700; font-size:14px; color:#fff; margin-bottom:8px; }
.form-row input, .form-row textarea{
  width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.16);
  border-radius:8px; padding:12px 14px; color:#fff; font-family:inherit; font-size:15px;
}
.form-row input:focus, .form-row textarea:focus{ outline:2px solid #fff; outline-offset:2px; }
.consult-form .btn{ border:2px solid #fff; cursor:pointer; font-family:inherit; }
.form-note{ margin-top:20px; font-size:13px; color:rgba(255,255,255,0.45); }
@media (max-width:600px){ .form-row.two-col{ grid-template-columns:1fr; } }

/* Legal / prose pages */
.legal-content h3{ font-size:22px; margin:48px 0 14px; }
.legal-content h3:first-of-type{ margin-top:40px; }
.legal-content p{ margin:0 0 16px; color:var(--text-body); font-size:16px; }
.legal-content ul{ list-style:disc; margin:0 0 16px; padding-left:22px; }
.legal-content li{ margin-bottom:8px; color:var(--text-body); font-size:16px; }
.legal-content a{ text-decoration:underline; text-underline-offset:2px; }
.legal-content a:hover{ color:#fff; }

/* Press & Media page */
.press-list{ padding:20px 0 140px; }
.press-list .wrap{ max-width:800px; display:flex; flex-direction:column; gap:28px; }
.press-card{
  border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:32px;
  display:flex; flex-wrap:wrap; align-items:center; gap:20px; justify-content:space-between;
}
.press-card .wordmark-chip{ flex:none; }
.press-headline{ flex:1 1 320px; margin:0; color:#fff; font-size:17px; }
.press-card .btn{ flex:none; }

/* Page hero subtitle (used on simple sub-pages like Ventures) */
.page-hero-sub{ margin:16px auto 0; max-width:600px; color:var(--text-muted); font-size:17px; }

/* Ventures page */
.venture-list{ padding:20px 0 140px; }
.venture-list .wrap{ max-width:820px; display:flex; flex-direction:column; gap:36px; }
.venture-card{
  border:1px solid rgba(255,255,255,0.1); border-radius:16px; padding:40px;
}
.venture-card .wordmark-chip{ margin-bottom:18px; }
.venture-tagline{
  text-transform:uppercase; letter-spacing:.06em; font-size:13px; font-weight:700;
  color:var(--text-muted); margin:0 0 18px;
}
.venture-card > p{ margin:0 0 20px; color:var(--text-body); font-size:16px; }
.venture-goals{ margin:0 0 28px; display:flex; flex-direction:column; gap:10px; }
.venture-goals li{
  position:relative; padding-left:22px; color:var(--text-body); font-size:15px;
}
.venture-goals li::before{ content:'\2014'; position:absolute; left:0; color:rgba(255,255,255,0.35); }
.venture-card .btn{ display:inline-block; }
@media (max-width:600px){ .venture-card{ padding:28px; } }
