/*
Theme Name:  Olusegun Omisakin
Theme URI:   https://olusegunomisakin.com
Author:      Olusegun Omisakin
Author URI:  https://olusegunomisakin.com
Description: Personal brand theme for Dr. Olusegun Omisakin — Economist, Institution Builder, Africa's Readiness Architect.
Version:     1.0.0
Text Domain: olusegun-omisakin
Tags:        one-page, full-width-template, custom-colors
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&display=swap');

:root {
  --ink:    #050A18;
  --surf:   #080F1E;
  --card:   #0C1428;
  --card2:  #101830;
  --line:   rgba(255,255,255,0.065);
  --gold:   #C9A84C;
  --gold2:  #E0C06A;
  --white:  #FFFFFF;
  --warm:   #EDE7DC;
  --grey:   #666666;
  --mid:    #999999;
  --light:  #C8C0B4;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:20px; }
body {
  background:var(--ink); color:var(--warm);
  font-family:'Inter',sans-serif; line-height:1.7;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
::-webkit-scrollbar { width:2px; }
::-webkit-scrollbar-thumb { background:var(--gold); }
a { color:inherit; }

/* ═══ NAV ═══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:78px; display:flex; align-items:center; justify-content:space-between;
  padding:0 88px;
  background:rgba(5,10,24,0.97); backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(201,168,76,0.09);
}
.nb .name {
  font-size:17px; font-weight:900; letter-spacing:0.06em; color:var(--white);
}
.nb .name em { color:var(--gold); font-style:normal; }
.nb .role {
  font-size:9px; letter-spacing:0.38em; text-transform:uppercase; color:var(--grey); margin-top:2px;
}
.nl { display:flex; gap:42px; align-items:center; }
.nl a {
  font-size:10px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--grey); text-decoration:none; transition:color .3s;
}
.nl a:hover { color:var(--gold); }
.nc {
  padding:11px 30px; border:1px solid var(--gold); color:var(--gold);
  border-radius:1px; font-size:10px; font-weight:700; letter-spacing:0.2em;
  text-transform:uppercase; text-decoration:none; transition:all .3s;
}
.nc:hover { background:var(--gold); color:var(--ink); }

/* ═══ HERO ═══ */
.hero {
  min-height:100vh; display:grid; grid-template-columns:1fr 460px;
  align-items:center; padding:130px 88px 96px; gap:88px; position:relative; overflow:hidden;
}
.hero-glow {
  position:absolute; pointer-events:none; inset:0;
  background:radial-gradient(ellipse 90% 110% at -8% 55%, rgba(201,168,76,0.038) 0%, transparent 58%);
}
.he { position:relative; z-index:2; }
.eyebrow {
  font-size:10px; font-weight:700; letter-spacing:0.56em; text-transform:uppercase;
  color:var(--gold); opacity:.75; margin-bottom:32px;
  display:flex; align-items:center; gap:20px;
}
.eyebrow::before { content:''; width:44px; height:1px; background:var(--gold); opacity:.35; }
h1.name {
  font-family:'Playfair Display',serif;
  font-size:clamp(72px,9vw,124px); font-weight:800;
  line-height:.92; letter-spacing:-0.025em; color:var(--white); margin-bottom:18px;
}
h1.name em { color:var(--gold); font-style:normal; }
.titles {
  font-size:13px; font-weight:400; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--grey); line-height:2.3; margin-bottom:60px;
}
.hook {
  border-left:2px solid var(--gold); padding-left:30px; margin-bottom:60px;
}
.hook .big {
  font-family:'Playfair Display',serif;
  font-size:clamp(28px,3.4vw,42px); font-weight:600;
  color:var(--white); line-height:1.2; margin-bottom:16px;
}
.hook .sub {
  font-size:18px; font-weight:300; color:var(--light); line-height:1.85;
}
.hbtns { display:flex; gap:14px; margin-bottom:52px; flex-wrap:wrap; }
.bg {
  padding:18px 48px; background:var(--gold); color:var(--ink);
  font-size:11px; font-weight:800; letter-spacing:0.26em; text-transform:uppercase;
  text-decoration:none; border-radius:1px; transition:all .3s; display:inline-block;
}
.bg:hover { background:var(--gold2); transform:translateY(-3px); box-shadow:0 18px 52px rgba(201,168,76,.22); }
.bo {
  padding:18px 48px; border:1px solid rgba(201,168,76,.35); color:var(--gold);
  font-size:11px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase;
  text-decoration:none; border-radius:1px; transition:all .3s; display:inline-block;
}
.bo:hover { border-color:var(--gold); background:rgba(201,168,76,.07); transform:translateY(-3px); }
.hlinks { display:flex; gap:10px; flex-wrap:wrap; }
.hl {
  font-size:9.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--grey); text-decoration:none; padding:8px 16px;
  border:1px solid var(--line); border-radius:1px; transition:all .3s;
  display:inline-flex; align-items:center; gap:7px;
}
.hl:hover { color:var(--gold); border-color:rgba(201,168,76,.28); }
.hl svg { width:12px; height:12px; fill:currentColor; }

/* HERO PHOTO */
.hpc { position:relative; z-index:2; }
.hpimg {
  width:100%; height:540px; object-fit:cover; object-position:top center;
  border-radius:2px; display:block; margin-bottom:3px;
  border:1px solid rgba(201,168,76,.16);
  box-shadow:0 52px 104px rgba(0,0,0,.82);
}
.hstats { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.hstat {
  background:var(--card); border:1px solid var(--line);
  padding:18px 10px; text-align:center;
}
.hsn {
  font-family:'Playfair Display',serif; font-size:30px; font-weight:700;
  color:var(--white); line-height:1;
}
.hsn span { color:var(--gold); font-size:20px; }
.hsl { font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); margin-top:6px; line-height:1.4; }

/* ═══ TICKER ═══ */
.ticker {
  border-top:1px solid rgba(201,168,76,.065); border-bottom:1px solid rgba(201,168,76,.065);
  padding:15px 0; overflow:hidden;
}
.ttrack { display:flex; animation:tick 65s linear infinite; white-space:nowrap; }
.titem {
  padding:0 52px; font-size:10px; font-weight:600; letter-spacing:.28em;
  text-transform:uppercase; color:var(--grey); border-right:1px solid var(--line); flex-shrink:0;
}
.titem em { color:var(--gold); margin-right:10px; font-style:normal; }
@keyframes tick { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ═══ SECTIONS ═══ */
.sec { padding:160px 88px; }
.slabel {
  font-size:9.5px; font-weight:700; letter-spacing:.56em; text-transform:uppercase;
  color:var(--gold); opacity:.72; margin-bottom:22px;
  display:flex; align-items:center; gap:18px;
}
.slabel::before { content:''; width:38px; height:1px; background:var(--gold); opacity:.35; }
h2.stitle {
  font-family:'Playfair Display',serif;
  font-size:clamp(48px,6.2vw,84px); font-weight:700;
  color:var(--white); line-height:1.04; margin-bottom:0; letter-spacing:-0.02em;
}
.sdesc {
  font-size:18px; font-weight:300; line-height:1.9; color:var(--mid); max-width:580px;
}
.divider { height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent); }

/* ═══ ABOUT ═══ */
.about { background:var(--surf); }
.about-grid {
  display:grid; grid-template-columns:1fr 340px;
  gap:108px; align-items:start; margin-top:96px;
}
.aq {
  font-family:'Playfair Display',serif;
  font-size:clamp(24px,3vw,36px); font-weight:400; font-style:italic;
  line-height:1.6; color:var(--warm);
  border-left:2px solid var(--gold); padding-left:30px; margin-bottom:52px;
}
.aq em { color:var(--gold); font-style:normal; font-weight:600; }
.ab {
  font-size:18px; font-weight:300; line-height:2.05; color:var(--mid);
  margin-bottom:24px; max-width:600px;
}
.ab strong { color:var(--light); font-weight:500; }
.creds { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:48px; }
.cred {
  display:flex; align-items:center; gap:16px;
  padding:18px 20px; border:1px solid var(--line); background:var(--card); border-radius:1px;
  transition:border-color .3s;
}
.cred:hover { border-color:rgba(201,168,76,.22); }
.cicon { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.cred h4 { font-size:13px; font-weight:700; color:var(--white); line-height:1.3; }
.cred p { font-size:11px; color:var(--grey); margin-top:2px; }
.aphoto {
  width:340px; height:440px; object-fit:cover; object-position:top center;
  border-radius:2px; border:1px solid rgba(201,168,76,.15);
  box-shadow:0 36px 80px rgba(0,0,0,.7);
}

/* ═══ WHO I SERVE ═══ */
.routing { background:var(--ink); }
.rgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-top:88px; }
.rcard {
  padding:52px 42px; background:var(--card); border:1px solid var(--line);
  text-decoration:none; display:block; position:relative; overflow:hidden; transition:all .38s;
}
.rcard::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transition:transform .38s; transform-origin:left;
}
.rcard:hover { border-color:rgba(201,168,76,.18); transform:translateY(-7px); background:var(--card2); }
.rcard:hover::after { transform:scaleX(1); }
.rtag { font-size:9.5px; font-weight:700; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); opacity:.65; margin-bottom:20px; }
.rcard h3 { font-size:21px; font-weight:700; color:var(--white); line-height:1.22; margin-bottom:16px; letter-spacing:-.015em; }
.rcard p { font-size:15px; font-weight:300; color:var(--mid); line-height:1.8; margin-bottom:28px; }
.rarrow { font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); opacity:.5; transition:opacity .3s; }
.rcard:hover .rarrow { opacity:1; }

/* ═══ VENTURES ═══ */
.ventures { background:var(--surf); }
.vheader {
  display:grid; grid-template-columns:1fr 1fr; gap:88px;
  align-items:end; margin-bottom:80px;
}
.vcards { display:flex; flex-direction:column; gap:4px; }
.vcard {
  border:1px solid var(--line); background:var(--card);
  transition:all .42s; overflow:hidden; border-radius:2px;
}
.vcard:hover { border-color:rgba(201,168,76,.22); transform:translateX(10px); background:var(--card2); }
.vhead {
  display:flex; align-items:center; justify-content:space-between;
  padding:38px 52px;
}
.vhl { display:flex; align-items:center; gap:22px; }
.vicon {
  width:56px; height:56px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:900; flex-shrink:0; letter-spacing:.06em;
}
.vname { font-size:22px; font-weight:800; color:var(--white); margin-bottom:4px; letter-spacing:-.015em; }
.vsub { font-size:11px; letter-spacing:.15em; font-weight:500; }
.vbadge { font-size:9px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; padding:7px 18px; border-radius:1px; flex-shrink:0; }
.vbody { padding:0 52px 40px; }
.vbody p {
  font-size:17px; font-weight:300; line-height:1.9; color:var(--mid);
  margin-bottom:26px; max-width:780px;
}
.vbtn {
  display:inline-flex; align-items:center; gap:10px;
  font-size:10px; font-weight:800; letter-spacing:.24em; text-transform:uppercase;
  padding:14px 32px; border-radius:1px; text-decoration:none; transition:all .3s;
}
.vtags { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.vtag {
  font-size:9px; letter-spacing:.1em; font-weight:500; padding:5px 13px; border-radius:1px;
  background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.065); color:var(--grey);
}
/* venture palette */
.arp .vicon { background:rgba(201,168,76,.12); color:var(--gold); }
.arp .vsub { color:var(--gold); }
.arp .vbadge { background:rgba(201,168,76,.09); color:var(--gold); }
.arp .vbtn { background:var(--gold); color:var(--ink); }
.arp .vbtn:hover { background:var(--gold2); transform:translateY(-2px); }
.asr .vicon { background:rgba(200,176,160,.1); color:#C8B0A0; }
.asr .vsub { color:#C8B0A0; }
.asr .vbadge { background:rgba(200,176,160,.08); color:#C8B0A0; }
.asr .vbtn { background:#B09080; color:var(--white); }
.asr .vbtn:hover { background:#C8B0A0; transform:translateY(-2px); }
.iip .vicon { background:rgba(255,255,255,.05); color:var(--light); }
.iip .vsub { color:var(--light); }
.iip .vbadge { background:rgba(255,255,255,.05); color:var(--light); }
.iip .vbtn { border:1px solid rgba(201,168,76,.3); color:var(--gold); }
.iip .vbtn:hover { background:rgba(201,168,76,.09); transform:translateY(-2px); }
.wet .vicon { background:rgba(201,168,76,.07); color:var(--gold); }
.wet .vsub { color:var(--grey); }
.wet .vbadge { background:rgba(255,255,255,.04); color:var(--grey); }
.wet .vbtn { border:1px solid var(--line); color:var(--light); }
.wet .vbtn:hover { background:rgba(255,255,255,.05); color:var(--white); transform:translateY(-2px); }

/* ═══ IMPACT ═══ */
.impact { background:var(--ink); }
.igrid { display:grid; grid-template-columns:1fr 1fr; gap:108px; margin-top:96px; }
.ilist { display:flex; flex-direction:column; }
.iitem { display:flex; gap:28px; padding:30px 0; border-bottom:1px solid var(--line); }
.iitem:last-child { border-bottom:none; }
.inum { font-size:11px; font-weight:700; color:var(--gold); letter-spacing:.22em; min-width:32px; padding-top:4px; opacity:.6; }
.iitem h4 { font-size:20px; font-weight:700; color:var(--white); margin-bottom:10px; letter-spacing:-.015em; }
.iitem p { font-size:16px; font-weight:300; line-height:1.85; color:var(--mid); }
.metrics { display:flex; flex-direction:column; gap:10px; }
.metric {
  padding:36px 42px; border:1px solid var(--line); background:var(--card); border-radius:1px;
}
.mn {
  font-family:'Playfair Display',serif; font-size:62px; font-weight:700;
  color:var(--white); line-height:1; margin-bottom:10px;
}
.mn span { color:var(--gold); font-size:40px; }
.ml { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--mid); line-height:1.5; }
.ms { font-size:14px; font-weight:300; color:var(--grey); margin-top:6px; font-style:italic; }

/* ═══ THINKING ═══ */
.thinking { background:var(--surf); }
.tq {
  font-family:'Playfair Display',serif;
  font-size:clamp(24px,3vw,38px); font-weight:400; font-style:italic;
  line-height:1.65; color:var(--warm);
  border-left:2px solid var(--gold); padding-left:32px;
  margin:96px 0 80px; max-width:820px;
}
.tq em { color:var(--gold); font-style:normal; font-weight:600; }
.titems { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.titem {
  padding:40px 36px; border:1px solid var(--line); background:var(--card);
  transition:border-color .3s;
}
.titem:hover { border-color:rgba(201,168,76,.18); background:var(--card2); }
.tiicon { font-size:24px; margin-bottom:18px; display:block; }
.titem h3 { font-size:18px; font-weight:700; color:var(--white); margin-bottom:12px; letter-spacing:-.01em; line-height:1.25; }
.titem p { font-size:14px; font-weight:300; line-height:1.85; color:var(--mid); }

/* ═══ CONTACT ═══ */
.contact { background:var(--ink); }
.cgrid { display:grid; grid-template-columns:1fr 1fr; gap:108px; margin-top:96px; }
.chook {
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,5vw,68px); font-weight:700;
  color:var(--white); line-height:1.1; margin-bottom:18px; letter-spacing:-.025em;
}
.csub { font-size:18px; font-weight:300; color:var(--mid); line-height:1.9; margin-bottom:52px; }
.cmethod {
  display:flex; align-items:flex-start; gap:20px;
  padding:24px 28px; border:1px solid var(--line); background:var(--card);
  text-decoration:none; transition:border-color .3s; margin-bottom:10px; border-radius:1px;
}
.cmethod:hover { border-color:rgba(201,168,76,.22); }
.cicon { font-size:22px; margin-top:2px; flex-shrink:0; }
.cmethod h4 { font-size:16px; font-weight:700; color:var(--white); margin-bottom:5px; }
.cmethod p { font-size:14px; font-weight:300; color:var(--mid); line-height:1.6; }
.cmethod a, .cmethod span { color:var(--gold); font-size:13px; font-weight:600; text-decoration:none; letter-spacing:.06em; }

/* FORM */
.cform-wrap h3 {
  font-size:18px; font-weight:700; color:var(--white); margin-bottom:8px; letter-spacing:-.01em;
}
.cform-wrap .fdesc {
  font-size:15px; font-weight:300; color:var(--mid); line-height:1.7; margin-bottom:36px;
}
.cform { display:flex; flex-direction:column; gap:12px; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.finput {
  width:100%; padding:16px 20px;
  background:var(--card); border:1px solid var(--line); border-radius:1px;
  color:var(--warm); font-family:'Inter',sans-serif; font-size:16px; font-weight:300;
  outline:none; transition:border-color .3s;
}
.finput:focus { border-color:rgba(201,168,76,.4); }
.finput::placeholder { color:var(--grey); }
select.finput { cursor:pointer; }
textarea.finput { resize:vertical; min-height:130px; }
.fsubmit {
  width:100%; padding:18px; background:var(--gold); color:var(--ink);
  border:none; border-radius:1px; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:800;
  letter-spacing:.28em; text-transform:uppercase; transition:all .3s; margin-top:4px;
}
.fsubmit:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 14px 44px rgba(201,168,76,.2); }

/* ═══ FOOTER ═══ */
footer {
  background:var(--surf); padding:96px 88px 48px;
  border-top:1px solid var(--line);
}
.ftop { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; margin-bottom:64px; }
.fmark { font-size:19px; font-weight:900; letter-spacing:.07em; color:var(--white); margin-bottom:3px; }
.fmark em { color:var(--gold); font-style:normal; }
.frole { font-size:9px; letter-spacing:.34em; text-transform:uppercase; color:var(--grey); margin-bottom:22px; }
.fbrand p { font-size:15px; font-weight:300; line-height:1.9; color:var(--grey); max-width:275px; }
.fsoc { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.fsoc a {
  font-size:9px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--grey); text-decoration:none; padding:7px 13px;
  border:1px solid var(--line); border-radius:1px; transition:all .3s;
}
.fsoc a:hover { color:var(--gold); border-color:rgba(201,168,76,.28); }
.fcol h4 { font-size:10px; font-weight:700; letter-spacing:.36em; text-transform:uppercase; color:var(--white); margin-bottom:22px; }
.fcol a { display:block; font-size:14px; font-weight:300; color:var(--grey); text-decoration:none; margin-bottom:12px; transition:color .2s; }
.fcol a:hover { color:var(--gold); }
.fbot {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:32px; border-top:1px solid var(--line); flex-wrap:wrap; gap:12px;
}
.fbot p { font-size:13px; font-weight:300; color:var(--grey); }

/* ═══ ANIMATE ═══ */
@keyframes fadeUp { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:translateY(0); } }
.fu { animation:fadeUp .9s ease forwards; }
.d1 { animation-delay:.1s; }
.d2 { animation-delay:.28s; }
.d3 { animation-delay:.48s; }

/* ═══ RESPONSIVE ═══ */
@media(max-width:1024px) {
  nav { padding:0 28px; } .nl { display:none; }
  .hero { grid-template-columns:1fr; padding:120px 28px 72px; }
  .hpc { display:none; }
  .sec { padding:96px 28px; }
  .about-grid, .igrid, .cgrid { grid-template-columns:1fr; gap:56px; }
  .rgrid, .vheader { grid-template-columns:1fr; gap:32px; }
  .titems { grid-template-columns:1fr 1fr; }
  .frow { grid-template-columns:1fr; }
  .ftop { grid-template-columns:1fr; gap:40px; }
  .aphoto { width:100%; height:320px; }
  .vhead { flex-wrap:wrap; gap:16px; padding:28px 28px; }
  .vbody { padding:0 28px 28px; }
}
