/*
Theme Name: Ayo David Adeyemi — Spotlight
Theme URI: https://ayodavidadeyemi.com/
Author: Dr. Ayo David Adeyemi
Author URI: https://ayodavidadeyemi.com/
Description: A bold, one-page executive profile theme built around a "Focus Spotlight" interaction that lets visitors switch between three live work areas — healthcare training, corporate governance, and youth economic empowerment. Converted from a static HTML build.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: spotlight-profile
*/

/* ============================================================
   DESIGN SYSTEM — "Spotlight"
   A bold, marketplace-style system built around the idea that
   Dr. Adeyemi's work runs across three live focus areas. The
   hero's Focus Spotlight lets a visitor switch between them —
   the page's one signature interaction — driven entirely by the
   real work-concentration split (38 / 22 / 28%), not decoration.
   ============================================================ */
:root{
  --bg:#F5F4EF;
  --bg-2:#ECEAE1;
  --paper:#FFFFFF;
  --ink:#0A0D0C;
  --muted:#586158;
  --line:rgba(10,13,12,0.10);
  --line-strong:rgba(10,13,12,0.20);
  --black:#090C0B;
  --black-2:#101815;
  --on-black:#F3F5F1;
  --on-black-muted:rgba(243,245,241,0.60);

  --spot-health:#1FB8A6;
  --spot-gov:#E8A63C;
  --spot-youth:#F0603F;
  --spot: var(--spot-health);
  --spot-soft: rgba(31,184,166,0.14);

  --radius-s:10px;
  --radius-m:18px;
  --radius-l:26px;
  --radius-xl:32px;
  --ease:cubic-bezier(.19,1,.22,1);
}
[data-spot="gov"]{ --spot:var(--spot-gov); --spot-soft: rgba(232,166,60,0.16); }
[data-spot="youth"]{ --spot:var(--spot-youth); --spot-soft: rgba(240,96,63,0.16); }

/* ===== Preloader ===== */
body.preloading{overflow:hidden;}
.preloader{position:fixed; inset:0; z-index:999; background:var(--black); display:flex; align-items:center; justify-content:center; transition:opacity .7s var(--ease), visibility 0s linear .7s;}
.preloader.is-hidden{opacity:0; visibility:hidden; pointer-events:none;}
.preloader-inner{display:flex; flex-direction:column; align-items:center; gap:22px;}
.preloader-ring{position:relative; width:116px; height:116px; display:flex; align-items:center; justify-content:center;}
.preloader-ring-track{position:absolute; inset:0; border-radius:50%; border:1.5px solid rgba(255,255,255,0.10);}
.preloader-ring-arc{position:absolute; inset:0; border-radius:50%; border:1.5px solid transparent; border-top-color:var(--spot); border-right-color:var(--spot); transition:border-color .4s ease; animation:preloaderSpin 1.3s linear infinite;}
.preloader-logo-wrap{position:relative; width:64px; height:64px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--black-2); box-shadow:0 0 0 1px var(--line);}
.preloader-logo{width:40px; height:40px; object-fit:contain; animation:preloaderPulse 1.8s ease-in-out infinite;}
@keyframes preloaderSpin{to{transform:rotate(360deg);}}
@keyframes preloaderPulse{0%,100%{transform:scale(1); opacity:1;}50%{transform:scale(1.07); opacity:.86;}}
.preloader-word{display:flex; gap:7px; font-family:'Space Grotesk', sans-serif; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--on-black-muted);}
.preloader-word span{display:inline-block; opacity:0; transform:translateY(8px); animation:preloaderWordIn .55s var(--ease) forwards;}
.preloader-word span:nth-child(2){animation-delay:.12s; color:var(--spot); transition:color .4s ease;}
.preloader-word span:nth-child(3){animation-delay:.24s;}
@keyframes preloaderWordIn{to{opacity:1; transform:translateY(0);}}
.preloader-bar{width:132px; height:2px; border-radius:2px; background:rgba(255,255,255,0.10); overflow:hidden;}
.preloader-bar-fill{height:100%; width:4%; background:var(--spot); border-radius:2px; transition:width .3s ease, background .4s ease;}
@media (prefers-reduced-motion: reduce){
  .preloader-ring-arc, .preloader-logo, .preloader-word span{animation:none !important; opacity:1 !important; transform:none !important;}
  .preloader{transition:opacity .25s linear, visibility 0s linear .25s;}
}

*{box-sizing:border-box; margin:0; padding:0; min-width:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
html, body{max-width:100%; overflow-x:hidden;}
body{
  background:var(--bg); color:var(--ink); font-family:'Inter', sans-serif;
  line-height:1.6; font-size:16px;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4,p,span,div{overflow-wrap:break-word; word-break:break-word;}
h1,h2,h3,h4{ font-family:'Space Grotesk', sans-serif; font-weight:600; letter-spacing:-0.02em; line-height:1.05; }
.mono{ font-family:'JetBrains Mono', monospace; letter-spacing:0.04em; }
.wrap{max-width:1200px; margin:0 auto; padding-left:clamp(20px,5vw,56px); padding-right:clamp(20px,5vw,56px);}
::selection{background:var(--spot); color:#090C0B;}

a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--spot); outline-offset:3px; border-radius:4px;
}

.skip-link{
  position:absolute; left:12px; top:-60px; background:var(--black); color:#fff;
  padding:12px 18px; border-radius:100px; font-size:13px; font-weight:600; z-index:1000;
  transition:top .2s ease;
}
.skip-link:focus{ top:12px; }

noscript .reveal, .no-js .reveal,
noscript .hero h1 .line span, .no-js .hero h1 .line span{ opacity:1 !important; transform:none !important; }

/* ===== scroll progress ===== */
.progress-rail{position:sticky; top:0; z-index:110; height:2px; background:transparent;}
.progress-fill{height:100%; width:0%; background:var(--spot); transition:width .08s linear, background .4s ease;}

/* ===== NAV ===== */
header.nav{position:sticky; top:2px; z-index:100; background:rgba(9,12,11,0.86); backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,0.08); transition:box-shadow .3s ease;}
header.nav.scrolled{box-shadow:0 8px 24px rgba(0,0,0,0.28);}
.nav-inner{max-width:1200px; margin:0 auto; padding:14px clamp(16px,5vw,56px); display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:nowrap;}
.nav-id{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:clamp(13px,3.6vw,15px); min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff;}
.nav-id .mark{width:26px; height:26px; border-radius:8px; background:var(--spot); color:#090C0B; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; transition:background .4s ease;}
.nav-links{display:flex; gap:2px; list-style:none;}
.nav-links a{position:relative; font-size:13px; font-weight:500; color:var(--on-black-muted); padding:8px 14px; border-radius:100px; transition:color .2s ease, background .2s ease;}
.nav-links a:hover{color:#fff; background:rgba(255,255,255,0.06);}
.nav-links a[aria-current="true"]{color:#090C0B; background:var(--spot);}
.nav-cta{font-size:13px; font-weight:700; color:#090C0B !important; background:var(--spot); padding:10px 20px; border-radius:100px; white-space:nowrap; display:inline-block; flex-shrink:0; transition:background .4s ease, transform .18s ease;}
.nav-cta:hover{transform:translateY(-2px);}
.magnetic{transition:transform .18s ease;}
.nav-right{display:flex; align-items:center; gap:10px; flex-shrink:0;}
@media (max-width:960px){ .nav-links{display:none;} }
@media (max-width:420px){ .nav-cta{padding:10px 14px; font-size:12px;} }
@media (max-width:360px){ .nav-cta{display:none;} }

.nav-burger{display:none; width:44px; height:44px; border-radius:10px; border:1px solid rgba(255,255,255,0.14); background:transparent; align-items:center; justify-content:center; flex-direction:column; gap:4px; cursor:pointer; flex-shrink:0;}
.nav-burger span{width:16px; height:1.5px; background:#fff; display:block; transition:transform .25s ease, opacity .25s ease;}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
@media (max-width:960px){ .nav-burger{display:flex;} }

.mobile-menu{display:none; position:fixed; inset:0; z-index:99; background:var(--black); color:#fff; padding:96px 28px 40px; overflow-y:auto;}
.mobile-menu.open{display:block; animation:menuIn .3s var(--ease);}
@keyframes menuIn{ from{opacity:0;} to{opacity:1;} }
.mobile-menu ul{list-style:none; display:flex; flex-direction:column; gap:2px;}
.mobile-menu a{display:flex; align-items:baseline; gap:14px; padding:16px 4px; font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:600; border-bottom:1px solid rgba(255,255,255,0.1); color:#fff;}
.mobile-menu a .idx{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--spot); font-weight:500;}
.mobile-menu .mobile-cta{margin-top:28px; display:inline-flex; background:var(--spot); color:#090C0B; padding:14px 26px; border-radius:100px; font-weight:700; font-size:14px;}
body.menu-open{overflow:hidden;}

/* ===== HERO ===== */
.hero{padding:clamp(48px,8vw,88px) 0 0; position:relative; overflow:hidden; background:var(--black); color:var(--on-black);}
.hero-glow{position:absolute; inset:-20% -10% auto -10%; height:720px; z-index:0; filter:blur(80px); pointer-events:none;}
.hero-glow span{position:absolute; border-radius:50%; opacity:0; transition:opacity .6s ease;}
.hero-glow span.active{opacity:0.55;}
.hero-glow .g1{width:520px; height:520px; background:radial-gradient(circle, var(--spot-health), transparent 70%); top:-140px; left:-80px;}
.hero-glow .g2{width:460px; height:460px; background:radial-gradient(circle, var(--spot-gov), transparent 70%); top:-60px; right:-60px;}
.hero-glow .g3{width:460px; height:460px; background:radial-gradient(circle, var(--spot-youth), transparent 70%); bottom:-220px; left:30%;}
.hero .wrap{position:relative; z-index:1;}

.hero-top{display:flex; justify-content:space-between; align-items:center; font-size:11.5px; color:var(--on-black-muted); margin-bottom:32px; flex-wrap:wrap; gap:8px;}
.hero-top .badge{display:flex; align-items:center; gap:8px; font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:0.08em;}
.hero-top .badge::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--spot); transition:background .4s ease; animation:pulse-dot 2.4s ease-in-out infinite;}
@keyframes pulse-dot{ 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.hero-top .loc{font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:0.08em;}

.hero-grid{display:grid; grid-template-columns:1.3fr 0.9fr; gap:48px; align-items:start;}
@media (max-width:920px){ .hero-grid{grid-template-columns:1fr;} }

.hero h1{font-size:clamp(2.6rem,6.4vw,4.8rem); color:#fff;}
.hero h1 .line{display:block; overflow:hidden;}
.hero h1 .line span{display:inline-block; transform:translateY(110%); animation:lineUp .8s var(--ease) forwards;}
.hero h1 .line:nth-child(1) span{animation-delay:.05s;}
.hero h1 .line:nth-child(2) span{animation-delay:.16s; color:var(--spot); transition:color .4s ease;}
@keyframes lineUp{ to{transform:translateY(0);} }

.hero .role{margin-top:22px; font-size:clamp(1rem,1.5vw,1.18rem); color:var(--on-black-muted); max-width:50ch; font-weight:400; opacity:0; animation:fadeUp .7s ease .5s forwards;}
.hero .role b{color:#fff; font-weight:600;}
@keyframes fadeUp{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

.hero-actions{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; opacity:0; animation:fadeUp .7s ease .62s forwards;}
.btn{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; padding:14px 26px; border-radius:100px; transition:transform .18s ease, box-shadow .18s ease, background .3s ease;}
.btn-primary{background:var(--spot); color:#090C0B;}
.btn-primary:hover{box-shadow:0 12px 28px rgba(0,0,0,0.3); transform:translateY(-2px);}
.btn-ghost{border:1px solid rgba(255,255,255,0.24); color:#fff;}
.btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,0.06);}
.btn-outline{border:1px solid var(--line-strong); color:var(--ink); background:var(--paper);}
.btn-outline:hover{border-color:var(--ink);}

/* Focus Spotlight switcher — the signature element */
.spotlight{margin-top:40px; opacity:0; animation:fadeUp .7s ease .74s forwards;}
.spotlight-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; font-size:11.5px; color:var(--on-black-muted); flex-wrap:wrap; gap:6px;}
.spotlight-tabs{display:flex; gap:8px; flex-wrap:wrap;}
.spotlight-tab{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.02em; padding:10px 16px; border-radius:100px; border:1px solid rgba(255,255,255,0.16); color:var(--on-black-muted); background:rgba(255,255,255,0.03); cursor:pointer; transition:all .3s ease; display:flex; align-items:center; gap:8px;}
.spotlight-tab .sw{width:8px; height:8px; border-radius:50%; flex-shrink:0;}
.spotlight-tab[data-tab="health"] .sw{background:var(--spot-health);}
.spotlight-tab[data-tab="gov"] .sw{background:var(--spot-gov);}
.spotlight-tab[data-tab="youth"] .sw{background:var(--spot-youth);}
.spotlight-tab.active{color:#090C0B; background:var(--spot); border-color:transparent;}
.spotlight-tab.active .sw{background:#090C0B;}
.spotlight-panel{margin-top:16px; padding:20px 22px; border-radius:var(--radius-m); background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;}
.spotlight-panel .pct{font-family:'Space Grotesk',sans-serif; font-size:2.2rem; font-weight:700; color:var(--spot); transition:color .4s ease; line-height:1;}
.spotlight-panel p{color:var(--on-black-muted); font-size:0.92rem; max-width:48ch; margin:0;}
.spotlight-foot{margin-top:10px; font-size:11px; color:var(--on-black-muted); font-family:'JetBrains Mono',monospace;}

.portrait-card{position:relative; justify-self:end; width:100%; max-width:360px; opacity:0; animation:fadeUp .8s ease .3s forwards;}
@media (max-width:920px){ .portrait-card{justify-self:start; max-width:280px;} }
.portrait-frame{position:relative; border-radius:var(--radius-l); overflow:hidden; aspect-ratio:4/5; background:var(--spot); padding:3px; transition:background .4s ease;}
.portrait-frame .pic{width:100%; height:100%; object-fit:cover; border-radius:23px; display:block; opacity:0; transform:scale(1.05); animation:portraitIn .9s var(--ease) .5s forwards;}
@keyframes portraitIn{ to{opacity:1; transform:scale(1);} }
.portrait-glow{position:absolute; inset:-24px; border-radius:36px; background:radial-gradient(60% 60% at 50% 20%, var(--spot-soft), transparent 70%); z-index:-1; filter:blur(6px); transition:background .4s ease;}
.portrait-tag{position:absolute; bottom:14px; left:14px; right:14px; background:rgba(9,12,11,0.78); backdrop-filter:blur(6px); border-radius:12px; padding:10px 14px; font-size:11.5px; color:var(--on-black-muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 10px;}
.portrait-tag b{color:#fff; font-weight:600;}

.badge-float{position:absolute; background:var(--black-2); border:1px solid rgba(255,255,255,0.12); border-radius:100px; padding:8px 14px; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.04em; box-shadow:0 10px 26px rgba(0,0,0,0.35); display:flex; align-items:center; gap:6px; color:#fff;}
.badge-float .sw{width:7px; height:7px; border-radius:50%; flex-shrink:0;}
.badge-float.b-a{top:-6%; left:-16%; animation:floatY 5s ease-in-out infinite;}
.badge-float.b-b{bottom:6%; right:-14%; animation:floatY 6s ease-in-out infinite .8s;}
@keyframes floatY{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
@media (max-width:1080px){ .badge-float{display:none;} }

.marquee-wrap{background:var(--black-2); overflow:hidden; padding:15px 0; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); margin-top:56px;}
.marquee{display:flex; width:max-content; animation:scrollMarquee 32s linear infinite;}
.marquee:hover{animation-play-state:paused;}
.marquee span{font-family:'JetBrains Mono',monospace; font-size:12.5px; text-transform:uppercase; letter-spacing:0.1em; color:var(--on-black-muted); padding:0 22px; white-space:nowrap; display:flex; align-items:center; gap:22px;}
.marquee span::after{content:"◆"; color:var(--spot); font-size:8px; transition:color .4s ease;}
@keyframes scrollMarquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ===== STAT BAND ===== */
.stat-band{background:var(--paper); border-bottom:1px solid var(--line);}
.stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
@media (max-width:640px){ .stat-row{grid-template-columns:1fr;} }
.stat{background:var(--paper); padding:36px clamp(20px,5vw,56px);}
.stat .num{font-size:clamp(2rem,3.6vw,2.8rem); font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--ink);}
.stat .label{margin-top:8px; font-size:13.5px; color:var(--muted);}

/* sections */
section{padding:clamp(64px,9vw,112px) 0; position:relative;}
section.dark{background:var(--black); color:var(--on-black);}
section.dark .kicker{color:var(--on-black-muted);}
.eyebrow{display:inline-flex; align-items:baseline; gap:10px; font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:var(--spot); margin-bottom:16px; transition:color .4s ease;}
.eyebrow::after{content:""; width:16px; height:1.5px; background:currentColor; display:inline-block;}
.section-head{display:grid; grid-template-columns:1fr 1.4fr; gap:40px; margin-bottom:48px; align-items:end;}
@media (max-width:820px){ .section-head{grid-template-columns:1fr;} }
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.6rem);}
.kicker{color:var(--muted); font-size:1.02rem; max-width:52ch;}

/* about */
.about-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:52px; align-items:start;}
@media (max-width:820px){ .about-grid{grid-template-columns:1fr;} }
.about-grid p{color:#28312B; margin-bottom:16px; font-size:1.02rem;}
.pull-card{background:var(--black); color:#fff; padding:32px 30px; border-radius:var(--radius-m); font-family:'Space Grotesk', sans-serif; font-size:1.25rem; line-height:1.45; font-weight:500; position:relative; overflow:hidden;}
.pull-card::before{content:"\201C"; position:absolute; top:2px; left:22px; font-size:3.4rem; color:var(--spot); font-family:Georgia,serif; opacity:0.55; transition:color .4s ease;}
.pull-card cite{display:block; margin-top:20px; font-family:'JetBrains Mono',monospace; font-style:normal; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--spot); transition:color .4s ease;}

.testimonial{margin-top:36px; padding:28px 30px; border:1px solid var(--line); border-radius:var(--radius-m); display:flex; gap:18px; align-items:flex-start; background:var(--paper);}
.testimonial .quote-mark{font-family:'Space Grotesk',sans-serif; font-size:2rem; color:var(--spot); line-height:1; transition:color .4s ease;}
.testimonial p{color:#28312B;}
.testimonial cite{display:block; margin-top:10px; font-size:12px; color:var(--muted); font-style:normal;}

.impact-legend{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line);}
.impact-legend-item{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--muted);}
.impact-legend-item .sw{width:9px; height:9px; border-radius:2px; flex-shrink:0;}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.is-visible{opacity:1; transform:translateY(0);}

/* audience split */
.audience-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
@media (max-width:820px){ .audience-grid{grid-template-columns:1fr;} }
.audience-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-l); padding:32px; transition:transform .3s var(--ease), box-shadow .3s ease;}
.audience-card:hover{transform:translateY(-5px); box-shadow:0 20px 42px rgba(10,13,12,0.08);}
.audience-card .tag{display:inline-block; font-family:'JetBrains Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--spot); background:var(--spot-soft); padding:5px 12px; border-radius:100px; margin-bottom:16px; transition:color .4s ease, background .4s ease;}
.audience-card h3{font-size:1.4rem; margin-bottom:12px;}
.audience-card p{color:#28312B; margin-bottom:18px;}
.audience-list{list-style:none; display:flex; flex-direction:column; gap:10px;}
.audience-list li{display:flex; gap:10px; align-items:flex-start; font-size:0.95rem; color:#28312B;}
.audience-list .n{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--spot); font-weight:600; flex-shrink:0; margin-top:2px; transition:color .4s ease;}

/* ventures */
.venture-block{border:1px solid var(--line); background:var(--paper); border-radius:var(--radius-l); margin-bottom:18px; overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s ease;}
.venture-block:hover{transform:translateY(-5px); box-shadow:0 20px 42px rgba(10,13,12,0.10);}
.venture-block:last-child{margin-bottom:0;}
.venture-head{display:flex; justify-content:space-between; align-items:center; padding:24px 28px; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--line);}
.venture-head-brand{display:flex; align-items:center; gap:14px;}
.venture-logo{width:38px; height:38px; object-fit:contain; border-radius:9px;}
.venture-head h3{font-size:1.35rem;}
.venture-head .tag{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--spot); background:var(--spot-soft); padding:5px 12px; border-radius:100px; transition:color .4s ease, background .4s ease;}
.venture-body{padding:24px 28px; color:#28312B;}
.service-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:16px; list-style:none;}
.service-list li{display:flex; gap:10px; align-items:flex-start; font-size:0.96rem;}
.service-list .dot{color:var(--spot); font-weight:700; flex-shrink:0; transition:color .4s ease;}

.case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; padding-top:20px; border-top:1px solid var(--line);}
@media (max-width:700px){ .case-grid{grid-template-columns:1fr;} }
.case-label{display:block; font-family:'JetBrains Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); margin-bottom:6px;}
.case-item p{font-size:0.92rem; color:#28312B;}

.impact-strip{margin-top:22px; padding:28px 30px; border-radius:var(--radius-m); background:var(--spot-soft); border:1px solid var(--line); display:flex; gap:16px; align-items:flex-start; transition:background .4s ease;}
.impact-strip .mark{font-family:'Space Grotesk',sans-serif; font-size:1.8rem; color:var(--spot); line-height:1; transition:color .4s ease;}
.impact-strip p{color:#28312B; font-size:1rem;}

/* process (how it works) */
.process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:820px){ .process-grid{grid-template-columns:1fr;} }
.process-card{background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-l); padding:30px; position:relative;}
.process-card .idx{font-family:'Space Grotesk',sans-serif; font-size:2.6rem; font-weight:700; color:var(--spot); opacity:0.9; line-height:1; transition:color .4s ease;}
.process-card h3{font-size:1.2rem; margin-top:18px; color:#fff;}
.process-card p{color:var(--on-black-muted); font-size:0.94rem; margin-top:10px;}
.process-arrow{display:none; position:absolute; top:50%; right:-30px; transform:translateY(-50%); color:var(--on-black-muted); font-size:1.4rem;}
@media (min-width:821px){ .process-card:not(:last-child) .process-arrow{display:block;} }

/* timeline w/ scroll-draw line */
.timeline{position:relative; padding-left:28px;}
.timeline::before{content:""; position:absolute; left:0; top:4px; bottom:4px; width:2px; background:var(--line);}
section.dark .timeline::before{background:rgba(255,255,255,0.14);}
.timeline::after{content:""; position:absolute; left:0; top:4px; width:2px; height:0%; background:var(--spot); transition:height 1.1s var(--ease), background .4s ease;}
.timeline.is-visible::after{height:100%;}
.t-row{position:relative; padding-bottom:30px;}
.t-row:last-child{padding-bottom:0;}
.t-row::before{content:""; position:absolute; left:-33px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--spot); box-shadow:0 0 0 4px var(--bg); transition:background .4s ease;}
section.dark .t-row::before{box-shadow:0 0 0 4px var(--black);}
.t-row .yr{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--spot); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:4px; transition:color .4s ease;}
.t-row h4{font-size:1.14rem;}
.t-row .inst{color:var(--muted); font-size:0.94rem; margin-top:3px;}
section.dark .t-row .inst{color:var(--on-black-muted);}

/* recognition */
.award-wrap{display:grid; grid-template-columns:0.5fr 1.5fr; gap:40px; align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-l); padding:34px; margin-bottom:32px; position:relative; overflow:hidden;}
@media (max-width:760px){ .award-wrap{grid-template-columns:1fr;} }
.verified-tag{display:inline-flex; align-items:center; gap:6px; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--spot); background:var(--spot-soft); border:1px solid var(--line); padding:5px 12px; border-radius:100px; margin-bottom:14px; transition:color .4s ease, background .4s ease;}
.medallion{aspect-ratio:1; border-radius:50%; background:var(--black); display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; padding:22px; position:relative; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12), 0 14px 30px rgba(10,13,12,0.28);}
.medallion::before{content:""; position:absolute; inset:-8px; border-radius:50%; border:1.5px dashed var(--spot); opacity:0.6; animation:spin 26s linear infinite; transition:border-color .4s ease;}
@keyframes spin{ to{transform:rotate(360deg);} }
.medallion .yr{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; display:block; opacity:0.75;}
.medallion .ttl{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:1.1rem; display:block; margin-top:6px;}
.award-copy h3{font-size:1.4rem; margin-bottom:12px;}
.award-copy p{color:#28312B; margin-bottom:10px;}
.award-copy .loc{margin-top:12px; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--spot); text-transform:uppercase; letter-spacing:0.06em; transition:color .4s ease;}

.leadership-note{border:1px solid var(--line); border-radius:var(--radius-l); padding:30px; background:var(--paper);}
.leadership-note h4{font-size:1.14rem; margin-bottom:18px;}
.lead-item{display:grid; grid-template-columns:140px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--line);}
.lead-item:first-of-type{border-top:none;}
.lead-item .yr{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--spot); text-transform:uppercase; transition:color .4s ease;}
.lead-item p{color:#28312B; font-size:0.96rem;}
@media (max-width:560px){ .lead-item{grid-template-columns:1fr;} }

/* research */
.research-card{border:1px solid var(--line); border-radius:var(--radius-l); padding:34px; background:var(--paper);}
.journal{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--spot); text-transform:uppercase; letter-spacing:0.06em; transition:color .4s ease;}
.research-top h3{font-size:1.45rem; margin-top:10px; max-width:36ch;}
.research-meta{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin:24px 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.research-meta div span{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); margin-bottom:4px;}
.research-body p{color:#28312B; margin-bottom:18px;}
.finding{display:flex; gap:14px; margin-bottom:14px;}
.finding .idx{font-family:'JetBrains Mono',monospace; font-size:11px; color:#090C0B; background:var(--spot); border-radius:6px; padding:3px 7px; height:fit-content; transition:background .4s ease;}
.finding p{color:#28312B; margin-bottom:0;}

/* FAQ accordion */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 4px; background:none; border:none; text-align:left; cursor:pointer; font-family:'Space Grotesk',sans-serif; font-size:1.08rem; font-weight:600; color:var(--ink);}
.faq-q .plus{flex-shrink:0; width:26px; height:26px; border-radius:50%; border:1px solid var(--line-strong); display:flex; align-items:center; justify-content:center; position:relative; transition:transform .3s ease, background .3s ease, border-color .3s ease;}
.faq-q .plus::before, .faq-q .plus::after{content:""; position:absolute; background:var(--ink); transition:background .3s ease;}
.faq-q .plus::before{width:10px; height:1.5px;}
.faq-q .plus::after{width:1.5px; height:10px;}
.faq-item.open .faq-q .plus{background:var(--spot); border-color:var(--spot); transform:rotate(45deg);}
.faq-item.open .faq-q .plus::before, .faq-item.open .faq-q .plus::after{background:#090C0B;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s var(--ease);}
.faq-a p{padding:0 4px 22px; color:#28312B; max-width:70ch; font-size:0.98rem;}

/* presence bento */
.bento{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(120px,auto); gap:14px;}
.bento .presence-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-m); padding:22px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; display:flex; flex-direction:column; justify-content:center;}
.bento .presence-card:hover{transform:translateY(-4px); box-shadow:0 16px 28px rgba(10,13,12,0.08); border-color:var(--spot);}
.bento .p-enterprise{grid-column:span 2; grid-row:span 2; justify-content:space-between;}
.bento .p-learn{grid-column:span 2;}
.bento .p-network{grid-column:span 2;}
.bento .p-academic{grid-column:span 2;}
.bento .p-skills{grid-column:span 2;}
.bento .p-lang{grid-column:span 1;}
.bento .p-whatsapp{grid-column:span 1;}
.bento .p-pdf{grid-column:span 1;}
.bento .p-google{grid-column:span 2;}
@media (max-width:900px){ .bento{grid-template-columns:repeat(2,1fr);} .bento .presence-card{grid-column:span 2 !important; grid-row:span 1 !important;} }
.presence-card .mono{font-size:10.5px; text-transform:uppercase; color:var(--spot); letter-spacing:0.06em; transition:color .4s ease;}
.presence-card h4{font-size:1.1rem; margin:8px 0 6px;}
.presence-card p{font-size:0.92rem; color:var(--muted);}
.presence-card a:hover{color:var(--ink); text-decoration:underline;}
.p-enterprise-logo{width:40px; height:40px; object-fit:contain; margin-bottom:14px;}

.social-feeds-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px;}
@media (max-width:900px){ .social-feeds-grid{grid-template-columns:1fr;} }
.linkedin-feed{border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; background:var(--paper);}
.linkedin-feed-head{padding:16px 18px; border-bottom:1px solid var(--line);}
.linkedin-feed-head .mono{font-size:10.5px; text-transform:uppercase; color:var(--spot); letter-spacing:0.06em; transition:color .4s ease;}
.linkedin-feed-head h4{font-size:0.98rem; margin-top:4px; font-family:'Space Grotesk',sans-serif;}
.linkedin-feed-body{padding:10px; min-height:80px;}

/* CTA band */
.cta-band{background:var(--black); color:#fff; text-align:center; position:relative; overflow:hidden;}
.cta-band .wrap{position:relative; z-index:1;}
.cta-glow{position:absolute; inset:-40% -10% auto -10%; height:520px; background:radial-gradient(circle, var(--spot), transparent 70%); opacity:0.28; filter:blur(90px); pointer-events:none; transition:background .4s ease;}
.cta-band h2{font-size:clamp(1.9rem,4.4vw,3.2rem); max-width:20ch; margin:0 auto;}
.cta-band p{color:var(--on-black-muted); margin:18px auto 0; max-width:52ch; font-size:1.05rem;}
.cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:34px;}

footer{background:var(--black); color:var(--on-black-muted); padding:64px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:32px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.1);}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.footer-logo{width:32px; height:32px; object-fit:contain; border-radius:8px;}
.footer-brand h3{color:#fff; font-size:1.1rem;}
.footer-col h5{font-family:'JetBrains Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--on-black-muted); margin-bottom:16px;}
.footer-col a, .footer-col span{display:block; margin-bottom:10px; font-size:13.5px;}
.footer-col a:hover{color:#fff;}
.footer-social{display:flex; gap:10px; margin-top:6px;}
.footer-social a{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; margin:0;}
.footer-social a:hover{background:var(--spot);}
.footer-social svg{width:15px; height:15px; color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:22px; font-size:11.5px;}
.footer-note{margin-top:14px; font-size:11px; color:var(--on-black-muted); max-width:60ch;}

/* back to top */
.to-top{position:fixed; right:20px; bottom:20px; width:46px; height:46px; border-radius:50%; background:var(--spot); color:#090C0B; display:flex; align-items:center; justify-content:center; z-index:90; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, background .4s ease; box-shadow:0 10px 24px rgba(0,0,0,0.3);}
.to-top.visible{opacity:1; pointer-events:auto; transform:translateY(0);}
.to-top svg{width:18px; height:18px;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
  .reveal{opacity:1; transform:none;}
  .hero h1 .line span{transform:translateY(0);}
  .hero .role, .hero-actions, .spotlight, .portrait-card, .portrait-frame .pic{opacity:1; transform:none;}
  .timeline::after{height:100%;}
  .hero-glow span.active{opacity:0.55;}
}

@media print{
  .progress-rail, header.nav, .to-top, .marquee-wrap, .badge-float, .mobile-menu{display:none !important;}
  section{padding:20px 0;}
  section.dark, .hero, footer, .cta-band{background:#fff !important; color:#111 !important;}
  a{text-decoration:underline;}
}
