:root { --navy:#061f32; --navy2:#0a3348; --teal:#087f82; --turq:#29c5bd; --cream:#f7f1e7; --paper:#fbf8f1; --gold:#d6a33e; --ink:#0b2c3e; --muted:#60747b; --line:rgba(6,31,50,.18); }
.site-header { background:rgba(6,31,50,.97); border-bottom:2px solid rgba(214,163,62,.72); }
.nav-cta { border-color:var(--gold); }
.hero-overlay { background:linear-gradient(90deg,rgba(3,20,34,.97) 0%,rgba(6,31,50,.88) 38%,rgba(6,31,50,.3) 73%,rgba(8,127,130,.12) 100%); }
.build { background:linear-gradient(135deg,#061f32 0%,#092f43 66%,#075b63 100%); border-top:7px solid var(--gold); }
.pillars article:hover { background:rgba(8,127,130,.48); }
.approach { background:#eef3f2; }
.approach-card { border-top:5px solid var(--gold); box-shadow:0 20px 50px rgba(6,31,50,.1); }
.principles { grid-template-columns:repeat(4,1fr); }
.principles>div { background:var(--navy); color:#fff; border-right-color:rgba(255,255,255,.16); }
.principles>div:nth-child(even) { border-top:4px solid var(--turq); }
.principles>div:nth-child(odd) { border-top:4px solid var(--gold); }
.principles p { margin:0; color:rgba(255,255,255,.64); font-size:.88rem; }
.founder-monogram { background:linear-gradient(145deg,#061f32,#0a3a4c); border-bottom:8px solid var(--gold); }
.founder-copy { max-width:760px; }
.founder-copy .lead { color:var(--teal); }
.founder-links { display:flex; flex-wrap:wrap; gap:2rem; }
.cta { background:linear-gradient(135deg,#061f32 0%,#0a3348 68%,#087f82 100%); }
footer { background:#041725; border-top:3px solid var(--gold); }
.partners-main { padding-top:88px; }
.partners-hero { min-height:600px; padding:clamp(6rem,12vw,10rem) clamp(1.25rem,7vw,7rem); display:flex; flex-direction:column; justify-content:center; color:#fff; background:linear-gradient(120deg,#041725 0%,#073149 64%,#087f82 100%); }
.partners-hero h1 { max-width:850px; margin:0; font:600 clamp(3.8rem,8vw,7.6rem)/.96 "Manrope",sans-serif; letter-spacing:-.05em; }
.partners-hero h1 em { font-family:Georgia,serif; font-weight:400; color:var(--gold); }
.partners-hero>p:last-child { max-width:650px; margin:2rem 0 0; font-size:1.2rem; color:rgba(255,255,255,.8); }
.partner-gallery { background:var(--paper); }
.logo-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.logo-card { min-height:240px; padding:2.5rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; text-decoration:none; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-top:3px solid transparent; transition:background .2s,transform .2s; }
.logo-card:hover { background:#e8f2f3; transform:translateY(-3px); border-top-color:var(--gold); }
.logo-card>span { color:var(--navy); line-height:1; }
.logo-card small { margin-top:1rem; color:var(--muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.ande-logo,.nbec-logo { font:700 3rem "Manrope",sans-serif; letter-spacing:-.08em; }
.palladium-logo { font:600 1.8rem "Manrope",sans-serif; letter-spacing:.08em; }
.palladium-logo b { color:var(--gold); }
.segal-logo { font:700 2.5rem "Manrope",sans-serif; letter-spacing:.05em; border-bottom:6px solid var(--gold); padding-bottom:.4rem; }
.kpmg-logo { display:flex; gap:2px; }
.kpmg-logo b { border:2px solid var(--navy); padding:.45rem .35rem; font:700 1.6rem "Manrope",sans-serif; }
.templeton-logo { font:600 2rem Georgia,serif; letter-spacing:.08em; }
.palette-switcher { position:fixed; right:1rem; bottom:1rem; z-index:30; display:flex; align-items:center; gap:1rem; padding:.75rem 1rem; background:#fff; color:var(--navy); border:1px solid var(--gold); box-shadow:0 8px 30px rgba(6,31,50,.22); font-size:.8rem; }
.palette-switcher a { color:var(--teal); font-weight:600; }
@media (max-width:900px) { .site-header nav{background:var(--navy)} .principles,.logo-grid{grid-template-columns:repeat(2,1fr)} .partners-main{padding-top:72px} }
@media (max-width:580px) { .hero-overlay{background:linear-gradient(90deg,rgba(3,20,34,.97),rgba(6,31,50,.7))} .principles,.logo-grid{grid-template-columns:1fr} .logo-card{min-height:200px} }
