/* --- Custom Fonts --- */
@font-face {
  font-family: 'DRUK';
  src: url('Fonts/DRUKWIDEHEAVYTRIAL.OTF') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* =============== RESET / BASE =============== */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
img { max-width: 100%; display: block; }
a { color: inherit; }

/* =============== THEME =============== */
:root{
  --bg:#111;              /* header */
  --page:rgb(217, 233, 220);         /* page background */
  --ink:#141414;          /* text */
  --muted:#6a6a6a;
  --primary:#3126cf;      /* neon green */
  --card:#fff;
  --radius:12px;
  --shadow-1:0 2px 0 #0003, 0 8px 18px rgba(0,0,0,.10);
  --shadow-2:0 2px 0 #0003, 0 16px 28px rgba(0,0,0,.18);
}

/* Page look + subtle pattern */
body{
  background: var(--page);
  color: var(--ink);
  line-height: 1.6;
  /* font-family: DRUK, sans-serif; */
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; 
  font-size: 16px;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(0,0,0,.03) 0 40%, transparent 41%),
    radial-gradient(circle at 75% 75%, rgba(0,0,0,.03) 0 40%, transparent 41%); 
  background-size: 40px 40px;
}

/* Containers */
.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
section { padding: 2.5rem 0; }

/* =============== HEADER / NAV =============== */
header{ position: sticky; top:0; z-index: 50; background:var(--bg); color:#fff; }
.navbar{
  max-width: 1200px; margin: 0 auto;
  padding: .75rem 1rem; display:flex; align-items:center; gap:1rem;
}
.logo{ display:flex; align-items:center; }
.logo img{ height:32px; width:auto; }

.nav-links{ margin-left:auto; display:flex; gap:1.25rem; list-style:none; font-family: 'DRUK', sans-serif;}
.nav-links a{
  color:#e6e6e6; text-decoration:none; padding:.35rem .6rem; border-radius:.5rem;
}
.nav-links a:hover, .nav-links a.active{ color:#fff; background:#1b1b1b; }

/* Hamburger (hidden on desktop) */
.hamburger{ display:none; width:28px; height:20px; cursor:pointer; flex-direction:column; justify-content:space-between; }
.hamburger span{ height:3px; width:100%; background:#fff; border-radius:2px; transition:.3s; }
.hamburger.open span:nth-child(1){ transform: rotate(45deg) translateY(8px); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform: rotate(-45deg) translateY(-8px); }

/* =============== HERO =============== */
.hero{
  display:grid; place-items:center; text-align:center; padding:6rem 1rem;
  background: url('Pictures/Guv\ Background1.png') no-repeat center center/cover;
  /* background: linear-gradient(135deg,#111 0%, #242424 100%); color:#fff; */
}
.hero h2{ 
  font-family: 'DRUK', sans-serif;
  font-size: 3rem;
   color: #ffffff;
  letter-spacing: 1px; margin-bottom:.6rem; }
.hero p{ color:#d6d6d6; margin-bottom:1rem; }

h1, h2, h3, .section-title {
  font-family: 'DRUK', sans-serif;
}

/* Buttons */
.btn, .btn-lg{
  font-family: DRUK, sans-serif; text-align:center;
  display:inline-block; text-decoration:none; font-weight:700; border:none; cursor:pointer;
  padding:.75rem 1rem; border-radius:.6rem; background:#fff; color:#111;
}
.btn-lg{
  background: var(--primary); color:#111; text-transform:uppercase; letter-spacing:.5px;
  padding:.95rem 1.35rem; border-radius:12px; box-shadow:0 2px 0 #0003;
}
.btn-lg:hover{ filter: brightness(1.06); }

/* Section title */
.section-title{
  font-family: Impact, Haettenschweiler, "Arial Black", sans-serif;
  text-transform: uppercase; letter-spacing:.5px;
  text-align:center; margin:2.2rem 0 1.1rem;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
}

/* Optional neon rails framing main content */
.main-wrap{ border-left:6px solid var(--primary); border-right:6px solid var(--primary); }

/* ===== Recent Work: continuous marquee ===== */
.work-strip{
  overflow:hidden;               /* viewport window */
  padding: .5rem 1rem 1.25rem;
}

.work-track{
  display:flex;
  gap:1.25rem;
  width:max-content;             /* size to content so translate works predictably */
  animation: marquee 40s linear infinite;
}
.work-strip:hover .work-track{ animation-play-state: paused; } /* pause on hover */

@keyframes marquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }  /* we duplicated items once, so half == one full set */
}

.work-card{
  flex:0 0 auto; width:360px; height:360px;
  background:var(--card); border:5px solid var(--primary); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-1);
  transition:transform .18s ease, box-shadow .18s ease; cursor:pointer;
}
.work-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-2); }
.work-card img{ width:100%; height:100%; object-fit:cover; }

/* responsive sizes + speed tweaks */
@media (max-width: 1024px){
  .work-card{ width:280px; height:280px; }
  .work-track{ animation-duration: 32s; }
}
@media (max-width: 768px){
  .work-card{ width:220px; height:220px; }
  .work-track{ animation-duration: 28s; }
}
@media (max-width: 480px){
  .work-card{ width:180px; height:180px; }
  .work-track{ animation-duration: 24s; }
}

/* =============== IMAGE MODAL (For Recent Work) =============== */
.image-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
}

.image-modal img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 10px;
  box-shadow: 0 0 30px rgba(0,0,0,0.5);
  animation: zoomIn 0.3s ease;
}

.image-modal .close {
  position: absolute;
  top: 20px;
  right: 35px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s;
}

.image-modal .close:hover {
  color: var(--primary);
}

@keyframes zoomIn {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

/* =============== PORTFOLIO GRID (Neon squares) =============== */
.portfolio-grid{
  display:grid; gap:1rem; padding:0 1rem 2.5rem;
  grid-template-columns: repeat(4, 1fr); max-width:1200px; margin:0 auto;
}
.portfolio-item{
  background:var(--card); border:5px solid var(--primary); border-radius:10px;
  overflow:hidden; box-shadow: var(--shadow-1);
}
.portfolio-item img{ width:100%; height:220px; object-fit:cover; display:block; }
a.portfolio-item{ text-decoration:none; color:inherit; }

/* =============== REGULAR PROJECT CARDS (3-col grid) =============== */
.projects-grid{
  display:grid; gap:1rem; grid-template-columns: repeat(3, 1fr);
  max-width: 1100px; margin: 0 auto; padding: 0 1rem;
}
.project-card{
  background:#fff; border:1px solid #eee; border-radius:.75rem;
  overflow:hidden; box-shadow: 0 4px 14px rgba(0,0,0,.06);
}
.project-card img{ width:100%; height:180px; object-fit:cover; }
.project-card h3{ padding:.9rem 1rem; }

/* Generic content wrapper */
.content{ max-width: 800px; margin: 0 auto; padding: 0 1rem; }
.content p{ color:#444; margin-top:.5rem; }

/* =============== VISUALIZERS (800x800 horizontal scroller) =============== */
.visualizer-gallery { padding: 2rem 0; }
.visualizer-strip{
  display:flex; gap:1rem; overflow-x:auto; padding:0 1rem 1rem;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
}
.visualizer-item{ flex:0 0 auto; width:800px; scroll-snap-align:start; }
.visualizer-frame{
  width:800px; height:800px; background:#000; border-radius:.75rem; overflow:hidden;
  border:5px solid var(--primary); box-shadow: var(--shadow-1);
  display:grid; place-items:center;
}
.visualizer-frame img{ width:100%; height:100%; object-fit:cover; }
.visualizer-item h3{ text-align:center; padding:.6rem 0 .2rem; color:#222; }

/* Responsive size for the visualizers */
@media (max-width: 840px){
  .visualizer-item, .visualizer-frame{ width:min(800px, 90vw); height:min(800px, 90vw); }
}

/* ===== Flyers gallery (5 across) ===== */
.flyer-grid{
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, 1fr);   /* 5 per row on desktop */
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem 2.5rem;
}
.flyer-item{
  background: var(--card);
  border: 5px solid var(--primary);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--shadow-1);
}
.flyer-item img{
  width: 100%;
  aspect-ratio: 3 / 4;    /* portrait tiles */
  object-fit: cover;      /* crop neatly if sizes vary */
  display: block;
}

/* Responsive columns */
@media (max-width: 1200px){ .flyer-grid{ grid-template-columns: repeat(4, 1fr);} }
@media (max-width: 900px) { .flyer-grid{ grid-template-columns: repeat(3, 1fr);} }
@media (max-width: 680px) { .flyer-grid{ grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 420px) { .flyer-grid{ grid-template-columns: 1fr; } }

/* ===== Lightbox overlay (for covers & flyers) ===== */
.lightbox{
  position: fixed;
  inset: 0;
  display: none;                     /* hidden by default */
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.85);      /* dark overlay */
  z-index: 1000;
}

/* when JS adds .open, the overlay appears */
.lightbox.open{
  display: flex;
}

.lightbox img{
  max-width: 92vw;                   /* fit within screen width */
  max-height: 90vh;                  /* fit within screen height */
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.6);
}

/* lightbox buttons */
.lb-btn{
  position: absolute;
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
}

.lb-close{
  top: 1.5rem;
  right: 1.5rem;
}

.lb-prev,
.lb-next{
  top: 50%;
  transform: translateY(-50%);
}

.lb-prev{ left: 1.5rem; }
.lb-next{ right: 1.5rem; }

/* =============== FOOTER =============== */
footer{
  border-top:1px solid #eaeaea; padding:1rem; text-align:center; color:#666; background:#fff;
}

/* === Social Links (Footer Icons) === */
.social-links{
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}

.social-links a{
  color: #111;              /* matches your footer */
  text-decoration: none;
  transition: .25s ease;
}

.social-links a:hover{
  color: var(--primary);    /* neon green glow on hover */
}

.social-links .icon{
  width: 28px;
  height: 28px;
  cursor: pointer;
  display: block;
}

/* ========== ABOUT PAGE ========== */
.about-wrapper {
  max-width: 1200px;
  margin: 4rem auto;
  padding: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

/* LEFT IMAGE */
.about-image img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: var(--shadow-2);
}

/* RIGHT TEXT BOX */
.about-text-box {
  background: #ffffffdd;
  padding: 2rem 2.5rem;
  border-radius: 12px;
  box-shadow: var(--shadow-1);
}

.about-text-box h2 {
  font-family: 'DRUK', sans-serif;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.about-text-box p {
  color: #333;
  font-size: 1.1rem;
  margin-bottom: 1rem;
  line-height: 1.6;
}

/* SOCIAL ICONS ROW */
.about-socials {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}

.social-icon img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(0);
  transition: 0.2s;
}

.social-icon img:hover {
  transform: scale(1.1);
  filter: brightness(0.2);
}

/* MOBILE RESPONSIVE */
@media (max-width: 820px) {
  .about-wrapper {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .about-socials {
    justify-content: center;
  }
}

/* =============== RESPONSIVE NAV / LAYOUT =============== */
@media (max-width: 1100px){ .portfolio-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 780px){
  .portfolio-grid{ grid-template-columns: repeat(2, 1fr); }
  .projects-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px){
  /* mobile nav */
  .hamburger{ display:flex; margin-left:auto; }
  .nav-links{
    position:absolute; right:0; left:0; top:60px;
    display:none; flex-direction:column; gap:.25rem;
    background:#111; padding: .75rem 1rem; border-top:1px solid #222;
  }
  .nav-links.show{ display:flex; }
  .nav-links li{ text-align:center; }
  .projects-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 520px){ .portfolio-grid{ grid-template-columns: 1fr; } }

/* Small utilities */
.center { text-align:center; }
.mt-1 { margin-top:.5rem; } .mt-2 { margin-top:1rem; } .mt-3 { margin-top:1.5rem; }