:root{
  --bg:#100f0d; --bg2:#181613; --line:#332f28; --line-soft:#241f1a;
  --ink:#ece6da; --muted:#a89c88; --accent:#d98c3a;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{
  color:var(--ink); font-family:'Archivo',system-ui,sans-serif;
}
a{color:inherit;text-decoration:none;}
img,video{max-width:100%;display:block;}

.eyebrow{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.display{font-family:'Fraunces',Georgia,serif;}
.headline{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.01em;text-transform:uppercase;}
.sprocket{height:10px;background-image:radial-gradient(circle,#3a352c 2px,transparent 2.6px);background-size:18px 10px;background-position:center;}

.navlink{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 2px;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;}
.navlink:hover{color:var(--ink);border-color:var(--accent);}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:13px 24px;border:1px solid var(--ink);color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease;}
.btn:hover{background:var(--ink);color:var(--bg);}
.btn-ghost{border-color:#4a453c;color:var(--muted);}
.btn-ghost:hover{background:var(--accent);border-color:var(--accent);color:#100f0d;}

.tab{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:none;border:none;padding:10px 0;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;}
.tab.active{color:var(--ink);border-bottom-color:var(--accent);}

.work-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.card{background:var(--bg);display:flex;flex-direction:column;}
.card-media{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:3px solid var(--accent-c,var(--accent));filter:grayscale(.08) contrast(1.03);}
img.card-media{cursor:default;}
.card-slate{width:100%;aspect-ratio:4/3;border-bottom:3px solid var(--accent-c,var(--accent));background:var(--accent-c,var(--accent));display:flex;align-items:center;justify-content:center;position:relative;}
.card:hover .card-media{filter:grayscale(0) contrast(1.05);}
.hover-cover-img{transition:opacity .35s ease;}
.hover-cover-video{transition:opacity .35s ease;opacity:0;}
.hover-cover:hover .hover-cover-img,.hover-cover.is-previewing .hover-cover-img{opacity:0;}
.hover-cover:hover .hover-cover-video,.hover-cover.is-previewing .hover-cover-video{opacity:1;}
.hover-cover-playbtn{transition:opacity .35s ease;opacity:0;}
.hover-cover:hover .hover-cover-playbtn,.hover-cover.is-previewing .hover-cover-playbtn{opacity:1;}
.watch{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-c,var(--accent));border-bottom:1px solid currentColor;padding-bottom:2px;align-self:flex-start;}
.about-fig{border:1px solid var(--line);}
.contact-link{font-family:'Fraunces',Georgia,serif;font-size:22px;font-style:italic;border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;align-items:center;transition:border-color .15s ease,color .15s ease;}
.contact-link:hover{border-color:var(--accent);color:var(--accent);}

.intro{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;}
.intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.scroll-hint-arrow{display:inline-block;animation:scrollHintBounce 1.8s ease-in-out infinite;}
@keyframes scrollHintBounce{
  0%,100%{transform:translateY(0);opacity:.75;}
  50%{transform:translateY(6px);opacity:1;}
}

.video-lightbox{position:fixed;inset:0;z-index:300;background:rgba(6,5,4,.97);display:none;align-items:center;justify-content:center;}
.video-lightbox.is-open{display:flex;}
.video-lightbox-player{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#000;}
.video-lightbox-close{position:absolute;top:20px;right:24px;width:40px;height:40px;border-radius:999px;background:rgba(236,230,218,0.12);border:1px solid rgba(236,230,218,0.4);color:#ece6da;font-family:'Space Mono',monospace;font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .15s ease;}
.video-lightbox-close:hover{background:rgba(236,230,218,0.25);}
.video-lightbox-mute{position:absolute;top:20px;left:24px;width:40px;height:40px;border-radius:999px;background:rgba(236,230,218,0.12);border:1px solid rgba(236,230,218,0.4);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .15s ease;}
.video-lightbox-mute:hover{background:rgba(236,230,218,0.25);}
.video-lightbox-shrink{position:absolute;bottom:20px;right:24px;width:40px;height:40px;border-radius:999px;background:rgba(236,230,218,0.12);border:1px solid rgba(236,230,218,0.4);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .15s ease;}
.video-lightbox-shrink:hover{background:rgba(236,230,218,0.25);}
body.video-lightbox-open{overflow:hidden;}

@media (max-width:600px){
  .intro-name{font-size:52px !important;}
}
@media (max-width:860px){
  .work-grid{grid-template-columns:repeat(min(var(--cols,3),2),1fr);}
  .hero-name{font-size:56px !important;}
  .about-row{flex-direction:column !important;}
  .about-fig{width:100% !important;}
}
@media (max-width:600px){
  .work-grid{grid-template-columns:1fr;}
  .hero-name{font-size:42px !important;}
  .nav-links{display:none !important;}
}
