:root{
  --bg:#0c0c0e; --bg2:#121214; --ink:#f2f1ec; --ink-dim:#8f8d87;
  --accent:#d7ff3f; --accent2:#ff6a4d; --line:#232326;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){ --bg:#0c0c0e; --bg2:#121214; --ink:#f2f1ec; --ink-dim:#8f8d87; --line:#232326; }
}
html{scroll-padding-top:env(safe-area-inset-top,0px); scroll-behavior:smooth;}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Neue Haas Grotesk','Helvetica Neue',Arial,sans-serif;
  overflow-x:hidden;
}
::selection{background:var(--accent); color:#0c0c0e;}
a{color:inherit;}

/* SECTION / FOOTER shell shared by every page */
section, footer{border-top:1px solid var(--line);}
.reveal{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* Signature hover-fill-wipe button — used by .resume-btn (home) and
   .dash-btn (case studies). Keep this exact; brief calls it out as a
   detail to preserve. */
.resume-btn, .dash-btn{
  display:inline-flex; align-items:center; gap:10px; margin-top:30px;
  border:1px solid var(--accent); color:var(--ink); text-decoration:none;
  padding:13px 22px; border-radius:999px; font-size:14px;
  position:relative; overflow:hidden; transition:color .3s;
}
.resume-btn::before, .dash-btn::before{
  content:''; position:absolute; inset:0; background:var(--accent); transform:translateY(101%);
  transition:transform .35s cubic-bezier(.65,0,.35,1); z-index:-1;
}
.resume-btn:hover, .dash-btn:hover{color:#0c0c0e;}
.resume-btn:hover::before, .dash-btn:hover::before{transform:translateY(0);}

/* Shared tag pill (about section + case study hero tag rows) */
.tag-row{display:flex; flex-wrap:wrap; gap:10px;}
.tag{border:1px solid var(--line); padding:7px 14px; border-radius:999px; font-size:12px; color:var(--ink-dim);}

/* Shared stat block (case studies + reused nowhere else, kept here since
   it's plain enough to not warrant its own file) */
.stat-row{display:flex; flex-wrap:wrap; gap:28px; margin-top:26px;}
.stat{min-width:130px;}
.stat .num{font-size:clamp(1.6rem,3.5vw,2.4rem); font-weight:600; color:var(--accent2);}
.stat .label{color:var(--ink-dim); font-size:12px; letter-spacing:.05em; text-transform:uppercase; margin-top:4px;}

/* Shared findings list (bullet dash in accent color) */
ul.findings{margin-top:20px;}
ul.findings li{color:var(--ink-dim); font-size:15px; line-height:1.6; padding-left:20px; position:relative; margin-bottom:12px;}
ul.findings li::before{content:'—'; position:absolute; left:0; color:var(--accent);}
