:root{
  --bg:#ffffff;
  --bg-raised:#f4f4f2;
  --ink:#111111;
  --muted:#5c5c5c;
  --muted-2:#9a9a9a;
  --yellow:#ffe000;
  --yellow-deep:#e8b800;
  --line:#e6e6e4;
  --font-display:'Anton',Impact,sans-serif;
  --font-body:'Work Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);}
a{color:var(--ink);text-decoration:none;}
a:hover{color:var(--yellow-deep);}
button{font:inherit;cursor:pointer;}
::selection{background:var(--yellow);color:#111;}

@keyframes sparkle-wiggle{0%,100%{transform:rotate(-8deg) scale(1);}50%{transform:rotate(10deg) scale(1.06);}}
.hero-sparkle{animation:sparkle-wiggle 3.2s ease-in-out infinite;}
@keyframes nav-marquee{0%{transform:translateX(100%);}100%{transform:translateX(-100%);}}
.nav-marquee-track{display:inline-block;white-space:nowrap;animation:nav-marquee 6s linear infinite;}

/* NAV */
.site-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;background:var(--bg);border-bottom:1px solid var(--line);}
.site-nav .wordmark{display:block;overflow:hidden;width:190px;height:24px;position:relative;}
.site-nav .wordmark span{font-family:var(--font-display);font-size:20px;color:var(--ink);letter-spacing:0.01em;}
.site-nav .links{display:flex;gap:32px;align-items:center;}
.site-nav .links a{font-family:var(--font-body);font-weight:700;font-size:19px;color:var(--ink);}
.site-nav .links a.active{border-bottom:2px solid var(--yellow);}
.site-nav .links a.cta{background:var(--ink);color:var(--yellow);padding:14px 26px;border-radius:2px;}
.site-nav .links a.cta:hover{color:var(--yellow);opacity:.85;}

/* FOOTER */
.site-footer{margin-top:auto;padding:32px 48px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);}
.site-footer .social{display:flex;gap:20px;}
.site-footer a{color:var(--muted);}

.page-shell{width:100%;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;}

/* PROJECTS LIST */
.tag-chip{font-family:var(--font-body);font-weight:600;font-size:13px;padding:9px 16px;border-radius:2px;background:transparent;color:var(--muted);border:1px solid var(--line);}
.tag-chip.active{background:var(--yellow);color:#111;border:1px solid var(--yellow);}
.project-row-img,.featured-card-img{transition:transform 0.3s ease;}
.project-row:hover{background:var(--bg-raised);}
.project-row:hover .project-row-img{transform:scale(1.05);}
.project-row-highlight:hover{background:rgba(255,224,0,0.12);}
.project-row-highlight:hover .project-row-img{transform:scale(1.05);}
.featured-card{transition:transform 0.2s ease,box-shadow 0.2s ease;text-align:left;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--bg);}
.featured-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,0.12);}
.featured-card:hover .featured-card-img{transform:scale(1.04);}
.project-row-btn{width:100%;border:none;background:none;padding:0;margin:0;text-align:left;display:block;}

/* LIGHTBOX */
.lightbox-overlay{position:fixed;inset:0;z-index:200;background:rgba(10,10,8,0.96);display:none;flex-direction:column;padding:20px;}
.lightbox-overlay.open{display:flex;}
.lightbox-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:10px;}
.lightbox-count{color:#fff;font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:0.04em;text-transform:uppercase;opacity:.75;}
.lightbox-close{color:#fff;font-family:var(--font-body);font-weight:600;font-size:15px;background:none;border:none;cursor:pointer;}
.lightbox-body{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;min-height:0;}
.lightbox-nav-btn{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,0.3);background:rgba(255,255,255,0.06);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lightbox-img{max-width:82vw;max-height:84vh;object-fit:contain;border-radius:2px;box-shadow:0 12px 40px rgba(0,0,0,0.5);}
