:root{
  --navy:#182a70;
  --navy-dark:#101d4d;
  --gold:#ffc629;
  --cream:#fdf6ee;
  --dot-light:#8fa6e8;
  --dot-mid:#4a63b0;
  --green-bg:#dcecd9;
  --green-text:#3c6b3c;
  --orange-bg:#fbe0c8;
  --orange-text:#b5602a;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Lora', Georgia, serif;
  color:var(--navy-dark);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3,.display{
  font-family:'Anton', 'Arial Narrow', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.5px;
  color:var(--navy);
  line-height:0.95;
  margin:0;
}
.label{
  font-family:'Inter', sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-size:0.78rem;
}
a{color:inherit;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}

/* Header */
header{
  background:var(--cream);
  padding:20px 0;
  border-bottom:1px solid rgba(24,42,112,0.08);
  position:sticky;top:0;z-index:50;
}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
.logo-row{display:flex;align-items:center;gap:14px;}
.logo-row a{display:flex;align-items:center;}
.logo-img{height:30px;display:block;}
nav ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;}
nav a{
  font-family:'Inter', sans-serif;
  font-weight:700;
  font-size:0.82rem;
  letter-spacing:1px;
  text-decoration:none;
  color:var(--navy);
  padding-bottom:4px;
  border-bottom:2px solid transparent;
}
nav a:hover, nav a.active{color:var(--navy);border-bottom-color:var(--gold);}

/* Dot circle motif */
.dot-circle{position:relative;width:120px;height:100px;flex:none;}
.dot-circle span{position:absolute;border-radius:50%;background:var(--dot-mid);}

/* Page header banner (interior pages) */
.page-hero{
  background:var(--gold);
  padding:64px 0 50px;
}
.page-hero .label{color:var(--navy);margin-bottom:14px;}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);}
.page-hero p.lede{
  font-family:'Lora',serif;font-style:italic;font-size:1.15rem;
  margin-top:16px;max-width:680px;color:var(--navy-dark);
}

/* Hero (home) */
.hero{background:var(--gold);padding:90px 0 70px;overflow:hidden;}
.hero .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;}
.hero-copy{max-width:680px;}
.hero .label{color:var(--navy);margin-bottom:18px;}
.hero h1{font-size:clamp(2.6rem, 5.5vw, 4.6rem);}
.hero .sub{font-family:'Lora', serif;font-style:italic;font-size:1.3rem;color:var(--navy-dark);margin-top:20px;}
.hero-brand{display:flex;flex-direction:column;align-items:flex-end;gap:18px;flex:none;}
.hero-brand img{height:120px;max-width:100%;object-fit:contain;}
@media (max-width:860px){
  .hero-brand img{height:70px;}
}

/* Sections */
section{padding:90px 0;}
.section-cream{background:var(--cream);}
.section-tight{padding:60px 0;}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;}
.intro-grid .label{color:var(--navy);margin-bottom:16px;}
.intro-grid h2{font-size:2.6rem;margin-bottom:22px;}
.intro-grid p{font-size:1.05rem;color:#333;max-width:520px;}
.practitioners{margin-top:56px;padding-top:56px;border-top:1px solid rgba(24,42,112,0.12);}

/* Institutions */
.institutions{margin-top:56px;padding-top:56px;border-top:1px solid rgba(24,42,112,0.12);}
.inst-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;}
.inst-card{
  background:#fff;border:1px solid rgba(24,42,112,0.1);
  border-radius:4px;padding:20px 22px;flex:1 1 190px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:120px;
  text-align:center;
}
.inst-card img{max-height:34px;max-width:130px;object-fit:contain;}
.inst-card .role{font-family:'Lora',serif;font-style:italic;font-size:0.85rem;color:#555;}
.inst-card .soon{font-family:'Inter',sans-serif;font-size:0.7rem;color:var(--orange-text);font-weight:700;letter-spacing:.5px;}

/* Impact / dark stat sections */
.impact{
  background:linear-gradient(160deg, var(--navy-dark) 0%, var(--navy) 65%, #24378c 100%);
  color:#fff;text-align:center;
}
.impact .label{color:var(--gold);}
.impact h2{color:#fff;font-size:clamp(2.4rem,5vw,3.6rem);margin-top:14px;}
.impact .tag{font-family:'Lora',serif;font-style:italic;color:#e7ecff;font-size:1.1rem;margin-top:14px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:56px;}
.stat{padding:0 8px;}
.stat .num{font-family:'Lora',serif;font-weight:700;color:var(--gold);font-size:clamp(2.1rem,4vw,2.8rem);}
.impact .stat .num{color:var(--gold);}
.stat .desc{font-size:0.95rem;color:#dfe4f7;margin-top:10px;}

/* Opportunity / light stat variant */
.opportunity{background:var(--cream);}
.opportunity .label{color:var(--navy);}
.opportunity h2{margin-top:14px;font-size:clamp(2.2rem,4.6vw,3.2rem);max-width:760px;}
.opportunity .stat-grid .num{color:var(--navy);}
.opportunity .stat .desc{color:#444;}
.opportunity-context{margin-top:56px;padding-top:44px;border-top:1px solid rgba(24,42,112,0.12);font-size:1.05rem;color:#333;max-width:820px;}

/* CTA band */
.cta{background:var(--gold);text-align:center;}
.cta h2{font-size:clamp(1.9rem,4vw,2.6rem);}
.cta p{font-family:'Lora',serif;font-size:1.05rem;margin-top:14px;}
.cta a.btn{
  display:inline-block;margin-top:30px;background:var(--navy);color:#fff;
  font-family:'Inter',sans-serif;font-weight:700;letter-spacing:1px;font-size:0.85rem;
  text-decoration:none;padding:16px 34px;border-radius:2px;text-transform:uppercase;
}
.cta a.btn:hover{background:var(--navy-dark);}

/* Sub-tabs (About Us: Investment Team / Promoters / Board) */
.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px;}
.subtabs a{
  font-family:'Inter',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.6px;
  text-decoration:none;text-transform:uppercase;color:var(--navy);
  background:#fff;border:1px solid rgba(24,42,112,0.18);border-radius:20px;padding:9px 20px;
}
.subtabs a:hover{background:var(--gold);border-color:var(--gold);}

/* Team grid */
.team-section{padding:70px 0;}
.team-section + .team-section{border-top:1px solid rgba(24,42,112,0.12);}
.team-section .label{color:var(--navy);}
.team-section h2{font-size:2.2rem;margin-top:12px;}
.team-section > .wrap > p.intro-text{max-width:760px;color:#333;font-size:1.02rem;margin-top:18px;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:44px;}
.member{background:#fff;border:1px solid rgba(24,42,112,0.1);border-radius:6px;padding:28px;}
.member .photo{
  width:84px;height:84px;border-radius:50%;object-fit:cover;
  border:2px solid var(--gold);margin-bottom:16px;
}
.member h3{font-size:1.3rem;font-family:'Anton',sans-serif;}
.member .role{font-family:'Inter',sans-serif;font-weight:700;font-size:0.78rem;letter-spacing:0.8px;text-transform:uppercase;color:var(--navy);opacity:0.75;margin-top:4px;}
.member .bio{font-size:0.92rem;color:#444;margin-top:14px;}
.member .li-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  font-family:'Inter',sans-serif;font-size:0.78rem;font-weight:700;color:var(--navy);text-decoration:none;
}
.member .li-link:hover{color:var(--gold);}
.value-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.value-list li{
  background:#fff;border:1px solid rgba(24,42,112,0.1);border-radius:6px;padding:20px 22px;
  font-size:0.95rem;color:#333;
}
.value-list li strong{display:block;color:var(--navy);font-family:'Inter',sans-serif;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.4px;margin-bottom:6px;}

/* Feature grid (strategy page) */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px;}
.feature-card{background:#fff;border:1px solid rgba(24,42,112,0.1);border-radius:6px;padding:26px;}
.feature-card h3{font-size:1.1rem;font-family:'Anton',sans-serif;margin-bottom:10px;}
.feature-card p{font-size:0.92rem;color:#444;margin:0;}

/* Why list (stat/citation list on dark bg) */
.why-list{list-style:none;margin:44px auto 0;padding:0;max-width:820px;text-align:left;}
.why-list li{
  padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.14);
  font-size:1rem;color:#eef1fc;
}
.why-list li:last-child{border-bottom:none;}
.why-list li .source{display:block;font-family:'Inter',sans-serif;font-size:0.72rem;letter-spacing:0.4px;color:var(--gold);margin-top:4px;}

/* Why-now cards */
.whynow-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:44px;}
.whynow-card{background:#fff;border:1px solid rgba(24,42,112,0.1);border-radius:6px;padding:26px;}
.whynow-card h3{font-size:1.05rem;font-family:'Anton',sans-serif;margin-bottom:10px;}
.whynow-card p{font-size:0.92rem;color:#444;margin:0;}

/* Portfolio grid */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:44px;}
.portfolio-card{background:#fff;border:1px solid rgba(24,42,112,0.1);border-radius:6px;padding:28px;display:flex;gap:22px;}
.portfolio-card img{width:80px;height:80px;object-fit:cover;border-radius:8px;flex:none;}
.portfolio-card .body h3{font-size:1.2rem;font-family:'Anton',sans-serif;}
.portfolio-card .body p{font-size:0.92rem;color:#444;margin:10px 0;}
.portfolio-card .meta{font-family:'Inter',sans-serif;font-size:0.78rem;color:var(--navy);font-weight:700;}
.portfolio-card .site-link{
  display:inline-block;margin-top:10px;font-family:'Inter',sans-serif;font-weight:700;font-size:0.78rem;
  text-decoration:none;color:#fff;background:var(--navy);padding:8px 16px;border-radius:20px;
}
.portfolio-card .site-link:hover{background:var(--navy-dark);}
.pipeline-intro{margin-top:64px;padding-top:56px;border-top:1px solid rgba(24,42,112,0.12);}
.pipeline-intro p{max-width:700px;color:#333;}
.pipeline-card{margin-top:30px;}
.tag-pill{
  display:inline-block;font-family:'Inter',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.6px;
  text-transform:uppercase;background:var(--orange-bg);color:var(--orange-text);padding:5px 12px;border-radius:20px;margin-top:10px;
}

/* Footer */
footer{background:var(--navy-dark);color:#cfd6f0;padding:60px 0 30px;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;}
footer h3{color:#fff;font-size:1.1rem;margin-bottom:14px;}
footer .col p{margin:4px 0;font-size:0.92rem;}
footer nav ul{flex-direction:column;gap:10px;}
footer nav a{color:#cfd6f0;font-weight:600;border:none;}
footer nav a:hover{color:var(--gold);}
.footer-bottom{
  margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.12);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:'Inter',sans-serif;font-size:0.78rem;color:#9aa5cf;
}
.footer-bottom a{margin-right:14px;color:#9aa5cf;text-decoration:none;}
.footer-bottom a:hover{color:var(--gold);}

@media (max-width:860px){
  .hero .wrap{flex-direction:column;align-items:flex-start;}
  .hero-brand{align-items:flex-start;}
  .intro-grid{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:repeat(2,1fr);row-gap:36px;}
  .team-grid{grid-template-columns:1fr;}
  .value-list{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .whynow-grid{grid-template-columns:1fr;}
  .portfolio-grid{grid-template-columns:1fr;}
  .portfolio-card{flex-direction:column;}
  nav ul{gap:18px;}
  nav ul li:nth-child(2){display:none;}
  .dropdown{position:static !important;box-shadow:none !important;display:none;}
  .has-dropdown.open .dropdown{display:block;}
}

/* ---------- Generic site-link button (used outside cards too) ---------- */
.site-link{
  display:inline-block;font-family:'Inter',sans-serif;font-weight:700;font-size:0.78rem;
  text-decoration:none;color:#fff;background:var(--navy);padding:8px 16px;border-radius:20px;
}
.site-link:hover{background:var(--navy-dark);}
.site-link-light{background:var(--gold);color:var(--navy);}
.site-link-light:hover{background:#ffd75c;}
.impact-teaser .wrap{padding-top:6px;padding-bottom:6px;}
.impact-teaser h2{margin-top:14px;}

/* ---------- Nav dropdowns ---------- */
.has-dropdown{position:relative;}
.has-dropdown > a::after{content:"";display:inline-block;margin-left:5px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);}
.dropdown{
  list-style:none;margin:0;padding:10px;position:absolute;top:100%;left:50%;
  transform:translateX(-50%);background:#fff;border:1px solid rgba(24,42,112,0.12);
  border-radius:8px;box-shadow:0 12px 28px rgba(16,29,77,0.14);min-width:220px;
  display:none;z-index:60;
}
.has-dropdown:hover .dropdown,
.has-dropdown.open .dropdown{display:block;}
.dropdown li a{
  display:block;padding:9px 14px;font-size:0.78rem;border:none;border-radius:5px;white-space:nowrap;
}
.dropdown li a:hover{background:var(--cream);color:var(--navy);}

/* ---------- Member profile toggle ---------- */
.member .bio{display:none;margin-top:14px;}
.member.is-open .bio{display:block;}
.profile-toggle{
  display:inline-block;margin-top:12px;background:none;border:none;padding:0;cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:700;font-size:0.78rem;letter-spacing:0.4px;color:var(--navy);
  text-decoration:underline;text-underline-offset:3px;
}
.profile-toggle:hover{color:var(--gold-dark, var(--navy));opacity:0.75;}
.member .li-link{margin-top:10px;}

/* ---------- Logo-expand cards (portfolio / pipeline / shareholders) ---------- */
.logo-card{
  background:#fff;border:1px solid rgba(24,42,112,0.1);border-radius:8px;
  padding:36px 26px;text-align:center;transition:box-shadow .2s ease;
  display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;
}
.logo-card.is-expandable:hover{box-shadow:0 10px 24px rgba(16,29,77,0.1);}
.logo-card-trigger{display:flex;flex-direction:column;align-items:center;gap:14px;}
.logo-card img{width:132px;height:132px;object-fit:contain;border-radius:8px;}
.logo-card .lc-name{font-family:'Anton',sans-serif;font-size:1.05rem;color:var(--navy);}
.logo-card .lc-role{font-family:'Inter',sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:0.6px;text-transform:uppercase;color:#666;}
.plus-toggle{
  margin-top:16px;width:34px;height:34px;border-radius:50%;border:2px solid var(--navy);
  background:#fff;color:var(--navy);font-family:'Inter',sans-serif;font-size:1.1rem;font-weight:700;
  line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.plus-toggle:hover{background:var(--gold);border-color:var(--gold);}
.plus-toggle::before{content:"+";}
.logo-card.is-open .plus-toggle::before{content:"\2212";}
.logo-card-panel{
  max-height:0;overflow:hidden;opacity:0;text-align:left;
  transition:max-height .35s ease, opacity .3s ease, margin .35s ease;
}
.logo-card.is-open .logo-card-panel{max-height:600px;opacity:1;margin-top:20px;}
.logo-card-panel p{font-size:0.92rem;color:#444;margin:0 0 10px;}
.logo-card-panel .meta{font-family:'Inter',sans-serif;font-size:0.78rem;color:var(--navy);font-weight:700;margin-bottom:10px;}
.logo-card-panel .site-link{
  display:inline-block;font-family:'Inter',sans-serif;font-weight:700;font-size:0.78rem;
  text-decoration:none;color:#fff;background:var(--navy);padding:8px 16px;border-radius:20px;
}
.logo-card-panel .site-link:hover{background:var(--navy-dark);}
.logo-card-panel .pending{font-style:italic;color:#888;font-size:0.85rem;}
.logo-card-panel .tag-pill{margin-top:0;margin-bottom:12px;}

.logo-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px;align-items:start;}
.logo-card-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.eur-badge{
  position:relative;width:50px;height:50px;border-radius:50%;
  background:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;
}
.eur-badge .euro-symbol{
  font-family:'Anton',sans-serif;font-size:1.5rem;color:#fff;position:relative;z-index:2;
}
.eur-badge .star{
  position:absolute;top:50%;left:50%;font-size:7px;line-height:1;color:var(--gold);
  transform:translate(-50%,-50%) rotate(var(--a)) translateY(-19px) rotate(calc(var(--a) * -1));
}
@media (max-width:860px){
  .logo-card-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .logo-card-grid{grid-template-columns:1fr;}
}
