/* Clean visual layer: restrained color, spacing, motion and surfaces. */
:root{
  --green:#287a46;
  --green2:#3f9360;
  --blue:#3e4583;
  --gold:#d39a2c;
  --bg:#0b100d;
  --bg2:#101713;
  --card:#151d18;
  --line:rgba(255,255,255,.1);
  --muted:#9ca7a0;
  --radius:14px;
  --shadow:0 16px 45px rgba(0,0,0,.18)
}
[data-theme=light]{
  --bg:#f7f8f6;
  --bg2:#eef1ed;
  --card:#fff;
  --line:rgba(19,32,23,.1);
  --muted:#69746c;
  --shadow:0 12px 35px rgba(27,48,34,.08)
}
body{background:var(--bg)}
#particles,.orb{display:none}
.site-header{background:linear-gradient(to bottom,var(--bg),transparent)}
.brand span{width:34px;height:34px;border-radius:9px;background:var(--green);color:#fff}
.hero{background:none;min-height:950px;padding-top:120px}
.hero-grid{gap:45px}
.hero .eyebrow{color:var(--green2);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em}
.hero h1{font-size:clamp(3rem,6vw,5.7rem);max-width:900px}
.hero .lead{max-width:700px;line-height:1.75}
.portrait-card{border:1px solid var(--line);background:var(--bg2)}
.portrait-placeholder{background:linear-gradient(180deg,var(--bg2),color-mix(in srgb,var(--green) 15%,var(--bg2)))}
.code-pill{display:none}
.hero-socials a{background:var(--card);box-shadow:none}
.nav-links{background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:var(--shadow);padding:8px 11px}
.nav-links a{width:44px;height:44px}
.nav-links a.active{background:var(--green)}
.section{padding:96px 0}
.section-heading{margin-bottom:50px}
.section-heading h2{font-size:clamp(2.35rem,4.5vw,4rem)}
.kicker{color:var(--green2);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.about,.education,.projects,.contact{background:var(--bg2)}
.capability-grid{gap:12px;border:0}
.capability-grid article{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:170px}
.capability-grid article:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.role-card,.education-card,.skill-groups article,.project-card,.testimonial-grid blockquote,.contact-form,.resume-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}
.role-card:hover,.education-card:hover,.skill-groups article:hover,.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.education-card{min-height:260px}
.skill-marquee{opacity:.55;padding:15px 0}
.skill-groups{gap:12px;margin-top:55px}
.project-tools{align-items:center}
.project-visual{background:var(--bg)}
.project-card.feature{grid-template-columns:1.15fr .85fr}
.metrics{background:var(--green)}
.testimonial-grid blockquote>p{font-size:1.05rem;line-height:1.75}
.map-placeholder{background:var(--card)}
.btn{border-radius:9px;box-shadow:none}
.btn:hover{transform:translateY(-2px)}
.filters button{background:var(--card)}
.filters button.active{background:var(--green)}
.footer{background:var(--bg2)}
.reveal{transform:translateY(20px);transition-duration:.55s}
@media(max-width:900px){
  .hero{min-height:900px;padding-top:105px}
  .about-grid{gap:45px}
  .project-card.feature{grid-template-columns:1fr}
}
@media(max-width:620px){
  .hero{min-height:860px;padding-top:90px}
  .hero h1{font-size:3rem}
  .hero .lead{font-size:.82rem}
  .hero-socials{display:flex;left:50%;bottom:72px;transform:translateX(-50%);flex-direction:row}
  .hero-socials i,.scroll-cue{display:none}
  .portrait-wrap{width:245px}
  .section{padding:76px 0}
  .section-heading{margin-bottom:38px}
  .capability-grid{border:0}
  .capability-grid article{border:1px solid var(--line)}
  .project-tools{align-items:stretch}
}
