:root{
  --brand: #7E64ED;
  --text: #0F172A;
  --muted: #64748B;
  --bg: #FFFFFF;
  --card: #F8FAFF;
  --line: #E6EAF5;
  --shadow: 0 10px 30px rgba(15, 23, 42, .06);
  --radius: 16px;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6
}

/* images & svgs scale to their container by default */
img, svg{display:inline-block;max-width:100%;height:auto}

a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92vw);margin-inline:auto}
.narrow{width:min(820px,92vw)}

main>section{padding:64px 0}

.site-header{
  position:sticky;top:0;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(120%) blur(8px);
  border-bottom:1px solid var(--line);z-index:50
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}

/* Header brand (small) */
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--text);text-decoration:none}
.brand .logo{width:28px;height:28px;flex:0 0 28px}
.brand span{font-weight:800}

/* Optional old demo class – safe to remove if unused */
.header-brand{width:40px}
.header-brand img{max-width:100%;height:auto}

.nav-links{display:flex;gap:24px;align-items:center}
.header-cta{display:flex;align-items:center;gap:12px}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:6px}
.menu-btn span{display:block;width:22px;height:2px;background:#1f2937;margin:5px 0;border-radius:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;border:1px solid transparent;font-weight:600;box-shadow:var(--shadow)}
.btn-primary{background:var(--brand);color:white}
.btn-primary:hover{filter:brightness(.96)}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--text)}
.btn-inverse{background:#fff;color:var(--text)}
.link{font-weight:600}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.lead{font-size:1.2rem;color:#334155}
.eyebrow{font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

.hero{padding:96px 0 56px;background:linear-gradient(180deg,#F8FAFF,transparent)}
.hero-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:36px;align-items:center}
.hero h1{font-size:3rem;line-height:1.05;margin:8px 0 8px;font-family:'Source Serif 4',serif;letter-spacing:-.01em}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.trust-row{display:flex;gap:16px;color:var(--muted);margin-top:12px;flex-wrap:wrap}
.hero-card{background:var(--card);padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.checklist{margin:0 0 8px 0;padding-left:18px}
.checklist li{margin:6px 0}

/* Big decorative logo in hero (only if you render it) */
.hero-mark{display:block;width:clamp(180px,28vw,380px)}
.hero-mark svg{width:100%;height:auto}

.section-header{text-align:center;margin:0 auto 48px}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0 auto}
.feature{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
.card h3{margin-top:4px}
.list{margin:0;padding-left:18px}
.list.large li{margin:10px 0}

.teams .three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}

.cta-slab{background:var(--text);color:white;margin-top:0}
.slab-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}
.slab{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}

.page .page-hero{padding:72px 0 40px;background:linear-gradient(180deg,#F8FAFF,transparent)}
.page h1{font-family:'Source Serif 4',serif;font-size:2.4rem;letter-spacing:-.01em;margin:8px 0}
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;margin:0 auto}
.split.reverse{grid-template-columns:.8fr 1.2fr}

.stage-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;margin:0 auto}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0 auto}
.stories{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:0 auto}
.waitlist .form, .slab .form{display:grid;grid-template-columns:1fr auto;gap:10px}
.form input, .form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font:inherit}
.form textarea{grid-column:1/-1}
.form button{white-space:nowrap}

.site-footer{margin-top:40px;border-top:1px solid var(--line);background:#fff}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.9fr;gap:24px;padding:24px 0}

/* Footer brand: small & aligned */
.brand-row{display:flex;align-items:center;gap:8px}
.site-footer .brand--small{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;color:inherit;text-decoration:none}
.site-footer .brand--small .logo{width:22px;height:22px;flex:0 0 22px} /* <- controls SVG size in footer */
.site-footer .brand--small span{font-size:.95rem;letter-spacing:.01em}

.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.footer-links h4{margin:0 0 8px 0}
.footer-links a{display:block;margin:6px 0;color:#334155}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}

@media (max-width: 980px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .hero-grid,.split,.stage-grid{grid-template-columns:1fr}
}
@media (max-width: 680px){
  .nav-links{display:none;position:absolute;top:62px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 4vw}
  .nav-links a{display:block;padding:10px}
  .menu-btn{display:inline-block}
  .features-grid, .cards, .steps{grid-template-columns:1fr}
  .teams .three-col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:6px}
}

/* Make the right column image look like your cards (optional border/shadow) */
.hero-grid { grid-template-columns: 1.3fr 1fr; } /* slightly more room for copy */

.hero-visual {
  display: block;
  align-self: center;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}

.hero-visual img { 
  display: block; 
  width: 100%; 
  height: auto; 
}

/* Mobile stacks already via your @media; ensure spacing looks good */
@media (max-width: 980px){
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { margin-top: 8px; }
}


.hero{
  padding:96px 0 56px;
  background:
    linear-gradient(180deg,#F8FAFF,transparent),
    url("/assets/foundaire-hero_svg.svg") center/cover no-repeat;
}

