/*
Theme Name: Sands Africa Capital
Theme URI: https://www.sandsafricagroup.com
Author: Sands Africa Group
Author URI: https://www.sandsafricagroup.com
Description: One-page site for Sands Africa Capital, LLC, the investment arm of Sands Africa Group, Inc.
Version: 1.0
License: All Rights Reserved
Text Domain: sands-africa-capital
*/

:root{
  --ink:#101820;
  --ink-soft:#1c2836;
  --paper:#ffffff;
  --paper-soft:#f5f5f2;
  --slate:#4b5563;
  --brass:#8c6d2f;
  --brass-soft:#c7a76b;
  --line:#e1e0da;
  --serif:'Fraunces', Georgia, serif;
  --sans:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
.wrap{
  max-width:1120px;
  margin:0 auto;
  padding:0 32px;
}
@media (max-width:640px){
  .wrap{padding:0 20px;}
}

/* Header */
header{
  padding:28px 0;
  border-bottom:1px solid var(--line);
}
header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.logotype{
  font-family:var(--serif);
  font-weight:500;
  font-size:20px;
  letter-spacing:0.02em;
}
.logotype span{color:var(--brass);}
header nav a{
  font-size:14px;
  text-decoration:none;
  color:var(--slate);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:border-color .15s ease, color .15s ease;
}
header nav a:hover{
  color:var(--ink);
  border-color:var(--brass);
}

/* Hero */
.hero{
  padding:72px 0 88px;
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:56px;
  align-items:center;
}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;}
}
.hero h1{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(34px, 4.6vw, 54px);
  line-height:1.12;
  letter-spacing:-0.01em;
  margin:0 0 24px;
}
.hero .lede{
  font-size:17px;
  color:var(--slate);
  max-width:52ch;
  margin:0 0 32px;
}
.btn{
  display:inline-block;
  font-family:var(--sans);
  font-weight:500;
  font-size:15px;
  text-decoration:none;
  color:var(--paper);
  background:var(--ink);
  padding:13px 26px;
  border-radius:3px;
  transition:background .15s ease;
}
.btn:hover{background:var(--ink-soft);}

.chart-panel{
  background:var(--ink);
  border-radius:6px;
  padding:28px 24px 22px;
}
.chart-panel .cap{
  font-family:var(--sans);
  font-size:13px;
  color:#a8b0bb;
  margin:0 0 6px;
}
.chart-panel .fig{
  font-family:var(--serif);
  font-size:15px;
  color:var(--brass-soft);
  margin:0 0 18px;
}
.chart-panel svg{width:100%;height:auto;display:block;}

/* Section rhythm */
section{padding:64px 0;}
section + section{border-top:1px solid var(--line);}
.section-alt{background:var(--paper-soft);}
h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(24px, 2.6vw, 32px);
  margin:0 0 22px;
  letter-spacing:-0.005em;
}
.measure{max-width:62ch;}
.measure p{color:var(--slate); font-size:16px;}
.measure p + p{margin-top:16px;}

/* Approach grid */
.pillars{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:36px;
  margin-top:8px;
}
@media (max-width:760px){
  .pillars{grid-template-columns:1fr;}
}
.pillar{
  border-top:2px solid var(--brass);
  padding-top:16px;
}
.pillar h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:19px;
  margin:0 0 10px;
}
.pillar p{
  color:var(--slate);
  font-size:15px;
  margin:0;
}

/* Family section */
.family-link{
  display:inline-block;
  margin-top:6px;
  font-weight:500;
  border-bottom:1px solid var(--brass);
  text-decoration:none;
  padding-bottom:1px;
}
.family-link:hover{color:var(--brass);}

/* Contact */
.contact-row{
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
}
.contact-row a{
  font-family:var(--serif);
  font-size:20px;
  text-decoration:none;
  border-bottom:1px solid var(--brass);
}

footer{
  background:var(--ink);
  color:#b7bec8;
  padding:36px 0;
}
footer .wrap{
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  font-size:13px;
  line-height:1.6;
}
footer p{margin:0; max-width:60ch;}
footer .legal{color:#8a93a1;}
