:root{
  --paper:#f2efe7;
  --paper-2:#ebe6dc;
  --ink:#1b1b19;
  --muted:#66645e;
  --rule:#cec8bc;
  --dark:#171816;
  --light:#f2efe7;

  --pad:clamp(34px,4vw,72px);
  --rail:clamp(175px,11.5vw,220px);
  --gap:clamp(42px,4vw,72px);

  --label:14px;
  --body:18px;
  --small:15px;

  --hero:clamp(70px,4.8vw,88px);
  --section-heading:clamp(43px,3vw,53px);
  --theme-heading:clamp(31px,2.25vw,39px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"DM Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0}

h1,h2,h3{
  font-family:"Instrument Serif",Georgia,serif;
  font-weight:400;
  letter-spacing:-.01em;
}

.site-header{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 var(--pad);
  border-bottom:1px solid var(--rule);
  position:sticky;
  top:0;
  background:rgba(242,239,231,.96);
  backdrop-filter:blur(12px);
  z-index:20;
}
.brand{
  font-size:14px;
  letter-spacing:.17em;
  font-weight:500;
}
.desktop-nav{
  display:flex;
  gap:28px;
  font-size:14px;
  font-weight:400;
  color:#484741;
}
.desktop-nav a,.mobile-nav a{transition:opacity .2s ease}
.desktop-nav a:hover,.mobile-nav a:hover{opacity:.58}
.menu-toggle{
  display:none;
  background:none;
  border:0;
  font:inherit;
  font-size:14px;
  font-weight:400;
}
.mobile-nav{display:none}

main{width:100%;margin:0}
section{padding-left:var(--pad);padding-right:var(--pad)}
.section-rule{border-bottom:1px solid var(--rule)}

.section-label,.eyebrow{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:var(--label);
  letter-spacing:.145em;
  font-weight:500;
  line-height:1.35;
}
.eyebrow{color:#66645e}

/* HERO — fuller, larger, but materially more compact */
.hero{
  min-height:calc(100svh - 76px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:42px;
  padding-bottom:48px;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(390px,.78fr);
  gap:clamp(52px,5.2vw,94px);
  align-items:center;
  margin-top:24px;
}
.hero h1{
  font-size:var(--hero);
  line-height:.94;
  max-width:980px;
}
.hero-support{
  width:100%;
  max-width:540px;
}
.hero-copy{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:19px;
  line-height:1.5;
  font-weight:400;
}
.hero-copy + .hero-copy{margin-top:18px}
.muted{color:var(--muted)}

/* SHARED SECTION GRID */
.about,.portfolio,.geography,.approach,.partnerships,.contact{
  display:grid;
  grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:var(--gap);
  padding-top:66px;
  padding-bottom:72px;
}
.about>.section-label,.portfolio>.section-label,.geography>.section-label,
.approach>.section-label,.partnerships>.section-label,.contact>.section-label{
  padding-top:7px;
}
.about-copy,.portfolio-copy,.geography-copy,.approach-copy,.partnerships-copy,.contact-copy{
  width:100%;
  max-width:1080px;
}

.about h2,.portfolio h2,.geography h2,.approach h2,.partnerships h2,.contact h2{
  font-size:var(--section-heading);
  line-height:1.04;
  margin-bottom:28px;
  max-width:900px;
}

.about-copy p,
.portfolio-copy>p,
.geography-copy>p,
.contact-copy>p{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:var(--body);
  line-height:1.56;
  font-weight:400;
  margin-top:14px;
  max-width:1020px;
}

/* No third body style: these stay in the same visual family */
.about-copy .emphasis{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:var(--body);
  line-height:1.56;
  font-weight:400;
  margin-top:25px;
  max-width:1020px;
}
.closing-line{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:var(--body);
  font-weight:500 !important;
  line-height:1.56;
  margin-top:14px !important;
}

/* INVESTMENT THEMES */
.themes{
  padding-top:66px;
  padding-bottom:74px;
}
.section-topline{
  display:grid;
  grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:var(--gap);
  align-items:start;
  margin-bottom:34px;
}
.section-topline p{
  max-width:720px;
  justify-self:start;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:18px;
  line-height:1.5;
  font-weight:400;
  color:#4f4d47;
}
.theme-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
}
.theme{
  min-height:310px;
  padding:28px 34px 31px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.theme span{
  display:block;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.12em;
  margin-bottom:37px;
}
.theme h3{
  font-size:var(--theme-heading);
  line-height:1.04;
  margin-bottom:15px;
}
.theme p{
  max-width:670px;
  color:#52504b;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.52;
  font-weight:400;
}
.theme ul{
  list-style:none;
  padding:0;
  margin:24px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 22px;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:13px;
  line-height:1.45;
  font-weight:400;
  color:#6a675f;
}

/* APPROACH */
.approach{background:var(--paper-2)}
.approach h2{
  margin-bottom:40px;
  max-width:760px;
}
.principles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  border-top:1px solid var(--rule);
  padding-top:22px;
}
.principles h4{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:15px;
  line-height:1.4;
  font-weight:500;
  margin-bottom:8px;
}
.principles p{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:15px;
  line-height:1.5;
  font-weight:400;
  color:#65635d;
  max-width:235px;
}

/* PORTFOLIO / GEOGRAPHY */
.portfolio h2{max-width:820px}
.disclosure{
  display:flex;
  gap:15px;
  align-items:center;
  border-top:1px solid var(--rule);
  margin-top:30px;
  padding-top:19px;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:15px;
  line-height:1.45;
  font-weight:400;
}
.geography{background:#eee9df}
.geography h2{max-width:760px}


/* PARTNERSHIPS */
.partnerships{
  background:var(--paper);
}
.partnerships h2{
  max-width:860px;
}
.partnerships-copy>p{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:var(--body);
  line-height:1.56;
  font-weight:400;
  max-width:920px;
}
.partnership-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--rule);
  margin-top:34px;
}
.partnership-list>div{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:20px 22px 20px 0;
  border-bottom:1px solid var(--rule);
}
.partnership-list>div:nth-child(odd){
  border-right:1px solid var(--rule);
  padding-right:32px;
}
.partnership-list>div:nth-child(even){
  padding-left:32px;
}
.partnership-list span{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:12px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:.08em;
  color:#77746c;
}
.partnership-list p{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.48;
  font-weight:400;
}
.partnership-closing{
  margin-top:28px;
  font-weight:500 !important;
}

/* CONTACT */
.contact{
  background:var(--dark);
  color:var(--light);
}
.section-label.light{color:#b0aea7}
.contact h2{
  max-width:850px;
  margin-bottom:27px;
}
.contact-copy>p{
  color:#c6c4bd;
  max-width:880px;
}
.contact-row{
  border-top:1px solid #3a3a36;
  margin-top:38px;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:15px;
  font-weight:400;
}
.contact-row a{text-decoration:underline;text-underline-offset:4px}

/* FOOTER */
footer{
  background:var(--dark);
  color:#85857f;
  border-top:1px solid #3a3a36;
  padding:22px var(--pad) 28px;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:10px;
  line-height:1.45;
  font-weight:400;
  letter-spacing:.02em;
}
.footer-main{
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.legal{
  max-width:760px;
  margin-top:18px;
  color:#72726c;
  line-height:1.5;
}

/* TABLET */
@media (max-width:1100px){
  :root{
    --rail:165px;
    --gap:40px;
    --body:17px;
    --label:13px;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:42px;
  }
  .hero-copy{font-size:18px}
  .principles{grid-template-columns:1fr 1fr;row-gap:28px}
}

/* MOBILE */
@media (max-width:800px){
  :root{
    --body:16px;
    --label:12px;
  }
  .site-header{height:68px}
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .mobile-nav{
    position:fixed;
    top:68px;
    left:0;
    right:0;
    z-index:19;
    background:var(--paper);
    border-bottom:1px solid var(--rule);
    padding:18px 24px 24px;
    flex-direction:column;
    gap:14px;
    font-size:14px;
  }
  .mobile-nav.open{display:flex}

  .hero{
    min-height:calc(100svh - 68px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:34px;
    padding-bottom:40px;
  }
  .hero-grid{
    grid-template-columns:1fr;
    gap:26px;
    margin-top:20px;
  }
  .hero h1{
    font-size:clamp(49px,13vw,65px);
    max-width:720px;
  }
  .hero-support{max-width:620px}
  .hero-copy{font-size:17px}

  .about,.portfolio,.geography,.approach,.partnerships,.contact{
    grid-template-columns:1fr;
    gap:27px;
    padding-top:54px;
    padding-bottom:60px;
  }
  .about>.section-label,.portfolio>.section-label,.geography>.section-label,
  .approach>.section-label,.partnerships>.section-label,.contact>.section-label{padding-top:0}

  .about h2,.portfolio h2,.geography h2,.approach h2,.partnerships h2,.contact h2{
    font-size:clamp(38px,10vw,48px);
    margin-bottom:24px;
  }

  .themes{padding-top:54px;padding-bottom:60px}
  .section-topline{
    grid-template-columns:1fr;
    gap:15px;
    margin-bottom:28px;
  }
  .section-topline p{font-size:16px}
  .theme-grid{grid-template-columns:1fr}
  .theme{min-height:auto;padding:26px}
  .theme span{margin-bottom:28px}
  .theme h3{font-size:34px}
  .theme ul{grid-template-columns:1fr 1fr}

  .principles{grid-template-columns:1fr 1fr;row-gap:26px}
  .principles h4,.principles p{font-size:14px}


  .partnership-list{
    grid-template-columns:1fr;
    margin-top:28px;
  }
  .partnership-list>div,
  .partnership-list>div:nth-child(odd),
  .partnership-list>div:nth-child(even){
    border-right:0;
    padding:17px 0;
  }

  .contact-row{flex-direction:column;gap:9px}
  .footer-main{flex-direction:column}
}

@media (max-width:500px){
  .theme ul{grid-template-columns:1fr}
  .principles{grid-template-columns:1fr}
}


/* APPROACH → PARTNERSHIPS CONTINUITY */
.approach + .partnerships{
  padding-top:58px;
}
