/* ============================================================
   Orbit Capital — styles.css
   Premium dark VC theme · steel-blue accent #2f88bd
   ============================================================ */
:root{
  --blue:#2f88bd;
  --blue-bright:#4aa8e0;
  --blue-deep:#1f6ea0;
  --bg:#0a0f14;
  --bg-2:#0e151c;
  --surface:#121b24;
  --surface-2:#18232e;
  --line:rgba(255,255,255,.08);
  --text:#eaf1f7;
  --muted:#93a4b3;
  --white:#fff;
  --radius:14px;--radius-lg:22px;
  --shadow:0 24px 60px rgba(0,0,0,.5);
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(100% - 40px,var(--maxw));margin-inline:auto}
h1,h2,h3,.eyebrow,.btn,.nav a,.p-num{font-family:'Sora','Inter',sans-serif}
h1{font-size:clamp(2.7rem,6vw,4.8rem);line-height:1.02;font-weight:800;letter-spacing:-1px}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:700;letter-spacing:-.5px;line-height:1.1}
h3{font-size:1.3rem;font-weight:600}
.accent{color:var(--blue-bright)}
.eyebrow{font-family:'Sora',sans-serif;text-transform:uppercase;letter-spacing:3px;font-size:.8rem;font-weight:600;color:var(--blue-bright);margin-bottom:16px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 32px;border-radius:50px;font-weight:600;font-size:.95rem;letter-spacing:.3px;cursor:pointer;border:1.5px solid transparent;transition:transform .18s,box-shadow .18s,background .18s,color .18s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 30px rgba(47,136,189,.4)}
.btn-primary:hover{background:var(--blue-bright);transform:translateY(-2px);box-shadow:0 18px 40px rgba(47,136,189,.55)}
.btn-ghost{border-color:rgba(255,255,255,.22);color:#fff}
.btn-ghost:hover{border-color:var(--blue-bright);color:var(--blue-bright);transform:translateY(-2px)}
.btn-block{display:flex;width:100%;margin-top:16px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,15,20,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:24px;height:74px}
.brand-logo{height:30px;width:auto;filter:brightness(0) invert(1)}
.nav{margin-left:auto;display:flex;gap:28px;align-items:center}
.nav a{text-transform:uppercase;letter-spacing:1.2px;font-size:.76rem;font-weight:500;color:var(--muted);transition:color .15s}
.nav a:hover{color:#fff}
.nav .nav-cta{background:var(--blue);color:#fff;padding:10px 20px;border-radius:50px;letter-spacing:.8px}
.nav .nav-cta:hover{background:var(--blue-bright)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.nav-toggle span{width:26px;height:2px;background:#fff;border-radius:2px;transition:.25s}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(1200px 700px at 70% 20%,rgba(47,136,189,.18),transparent 60%),var(--bg)}
.hero-orbits{position:absolute;inset:0;pointer-events:none}
.hero-orbits span{position:absolute;top:50%;left:65%;transform:translate(-50%,-50%);border:1px solid rgba(47,136,189,.16);border-radius:50%}
.hero-orbits span:nth-child(1){width:520px;height:520px}
.hero-orbits span:nth-child(2){width:820px;height:820px;border-color:rgba(47,136,189,.1)}
.hero-orbits span:nth-child(3){width:1150px;height:1150px;border-color:rgba(47,136,189,.06)}
.hero-content{position:relative;max-width:780px;padding:100px 0}
.hero-sub{font-size:1.2rem;color:#c4d2de;margin:24px 0 34px;max-width:620px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}

/* sections */
.section{padding:100px 0}
.section-alt{background:var(--bg-2);border-block:1px solid var(--line)}
.section-head{text-align:center;max-width:680px;margin:0 auto 60px}
.section-lead{color:var(--muted);margin-top:14px;font-size:1.05rem}

/* about */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.about-head h2{margin-top:4px}
.about-body p{color:var(--muted);margin-bottom:18px;font-size:1.08rem}
.about-body p:first-child{color:var(--text)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px 30px;transition:transform .2s,border-color .2s}
.pillar:hover{transform:translateY(-6px);border-color:rgba(47,136,189,.5)}
.p-num{font-size:1.1rem;font-weight:700;color:var(--blue-bright);letter-spacing:2px;margin-bottom:20px}
.pillar h3{margin-bottom:12px}
.pillar p{color:var(--muted);font-size:.98rem}

/* criteria */
.criteria{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.criteria-text p{color:var(--muted);margin-top:14px;font-size:1.05rem}
.criteria-list{list-style:none;display:flex;flex-direction:column;gap:2px}
.criteria-list li{padding:20px 4px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.criteria-list li:before{content:"✦";color:var(--blue-bright);position:absolute;margin-left:-4px}
.criteria-list li{padding-left:28px;position:relative}
.criteria-list li:before{left:0;top:20px}
.criteria-list strong{font-size:1.1rem;font-weight:600;font-family:'Sora'}
.criteria-list span{color:var(--muted);font-size:.94rem}

/* PORTFOLIO — logos on white chips, in their true brand colours */
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pf-item{position:relative;aspect-ratio:16/9;background:#fff;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);display:grid;place-items:center;padding:14px 18px;cursor:pointer;transition:transform .22s,box-shadow .22s}
.pf-item:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(0,0,0,.5)}
.pf-item img{max-width:86%;max-height:70%;width:auto;object-fit:contain;opacity:0;transition:opacity .3s ease,transform .25s}
.pf-item:hover img{transform:scale(1.05)}
/* white-only wordmarks: render dark so they read on the white chip */
.pf-item.pf-darken img{filter:brightness(0) saturate(0)}
.pf-item .pf-name{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:#9aa7b4;opacity:0;transition:opacity .25s}
.pf-item:hover .pf-name{opacity:1;color:var(--blue-deep)}
.portfolio-note{text-align:center;color:var(--muted);margin-top:34px;font-size:1rem}
.portfolio-note a{color:var(--blue-bright);font-weight:600}
.portfolio-note #pfCount{color:var(--text);font-weight:700}

/* giving */
.giving{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.giving-text p{color:var(--muted);margin-top:14px;font-size:1.05rem}
.giving-badge{background:linear-gradient(160deg,var(--surface),var(--bg-2));border:1px solid rgba(47,136,189,.35);border-radius:var(--radius-lg);padding:40px;text-align:center;box-shadow:var(--shadow)}
.giving-badge span{font-size:3rem;display:block;margin-bottom:14px}
.giving-badge strong{display:block;font-family:'Sora';font-size:1.3rem;margin-bottom:8px}
.giving-badge small{color:var(--muted);font-size:.9rem}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact-text p{color:var(--muted);margin-top:14px;font-size:1.05rem}
.contact-email{margin-top:20px;color:var(--muted);display:flex;align-items:center;gap:10px}
.contact-email a{color:var(--blue-bright);font-weight:600}
.contact-email a:hover{text-decoration:underline}
.linkedin-link{display:inline-flex;align-items:center;margin-top:18px;color:var(--blue-bright);font-weight:600;border:1px solid rgba(47,136,189,.4);padding:10px 20px;border-radius:50px;transition:.18s}
.linkedin-link:hover{background:rgba(47,136,189,.12)}
.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px}
.field{margin-bottom:18px}
.field label{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;color:var(--muted);margin-bottom:8px}
.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--text);font-family:inherit;font-size:.96rem;transition:border-color .15s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue)}
.form-status{text-align:center;margin-top:14px;font-size:.9rem;min-height:1.2em}
.form-status.ok{color:var(--blue-bright);font-weight:600}

/* footer */
.site-footer{background:#070b0f;border-top:1px solid var(--line)}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding:60px 0 40px;align-items:start}
.footer-logo{height:26px;filter:brightness(0) invert(1);margin-bottom:16px}
.footer-brand p{color:var(--muted);font-size:.92rem;max-width:340px}
.footer-nav{display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:flex-end}
.footer-nav a{color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;font-size:.78rem}
.footer-nav a:hover{color:var(--blue-bright)}
.footer-bar{border-top:1px solid var(--line);padding:22px 0}
.footer-bar .container{display:flex;justify-content:center}
.footer-bar span{color:var(--muted);font-size:.82rem}

/* responsive */
@media (max-width:960px){
  .nav{position:fixed;inset:74px 0 auto 0;flex-direction:column;background:var(--bg-2);padding:24px;gap:18px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:transform .3s;margin:0}
  .nav.open{transform:translateY(0)}
  .nav-toggle{display:flex}
  .about,.criteria,.giving,.contact,.footer-inner{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:repeat(3,1fr)}
  .footer-nav{justify-content:flex-start}
}
@media (max-width:560px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.section{padding:68px 0}}
