:root{--yellow:#f7d000;--black:#000;--grey:#111;--grey2:#1a1a1a;--white:#fff;--muted:#666;}
body{background:var(--black);color:var(--white);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden;cursor:none;}
a,button,input,label{cursor:none;}

/* NAV */
nav{position:fixed;top:0;left:0;width:100%;z-index:100;padding:22px 60px;display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,.95);border-bottom:1px solid #1a1a1a;}
.nav-logo{text-decoration:none;display:flex;align-items:center;}
.nav-logo img{height:36px;width:auto;filter:brightness(0) invert(1);transition:filter .25s ease;}
.nav-logo:hover img{filter:brightness(0) invert(78%) sepia(85%) saturate(1650%) hue-rotate(1deg) brightness(98%) !important;}
.nav-back{font-family:'Syne',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .2s;}
.nav-back:hover{color:var(--yellow);}

/* HERO */
.project-hero{height:90vh;position:relative;display:flex;align-items:flex-end;padding:80px 60px;background:radial-gradient(ellipse at 60% 40%,#2a1f00,#000);overflow:hidden;background-size:cover;background-position:center;}
.hero-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.3) 100%);z-index:1;}
.hero-big-text,.hero-content{position:relative;z-index:2;}
.hero-grid-lines{display:none;}
.project-hero:not(.has-cover) .hero-grid-lines{display:block;position:absolute;inset:0;background-image:repeating-linear-gradient(-55deg,transparent,transparent 80px,rgba(247,208,0,.025) 80px,rgba(247,208,0,.025) 81px);}
.hero-big-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Bebas Neue',sans-serif;font-size:22vw;color:rgba(247,208,0,.05);letter-spacing:.05em;white-space:nowrap;pointer-events:none;user-select:none;}
.project-hero.has-cover .hero-big-text{display:none;}
.hero-content{position:relative;z-index:2;}
.hero-cat{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.hero-cat::before{content:'';width:30px;height:1px;background:var(--yellow);}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,8vw,8rem);line-height:.9;letter-spacing:.02em;margin-bottom:28px;}
.hero-meta{display:flex;gap:50px;}
.meta-label{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:6px;}
.meta-value{font-size:.95rem;color:#ccc;}

/* DETAILS */
.project-details{padding:100px 60px;display:grid;grid-template-columns:2fr 1fr;gap:80px;}
.detail-section{margin-bottom:60px;}
.detail-title{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;}
.detail-text{font-size:1.05rem;line-height:1.85;color:#999;}
.detail-text p{margin-bottom:16px;}
.detail-text p:last-child{margin-bottom:0;}
.sidebar-card{background:var(--grey);border:1px solid #1e1e1e;padding:32px;margin-bottom:24px;}
.sidebar-title{font-family:'Syne',sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;}
.sidebar-list{display:flex;flex-direction:column;gap:12px;}
.sidebar-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #222;}
.sidebar-item:last-child{border-bottom:none;padding-bottom:0;}
.sidebar-key{font-size:.82rem;color:var(--muted);}
.sidebar-val{font-size:.85rem;color:var(--white);font-family:'Syne',sans-serif;font-weight:600;}

/* GALLERY */
.gallery-section{padding:0 60px 100px;}
.gallery-title{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);margin-bottom:40px;display:flex;align-items:center;gap:14px;}
.gallery-title::before{content:'';width:30px;height:1px;background:var(--yellow);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.gallery-item{aspect-ratio:4/3;overflow:hidden;position:relative;cursor:none;}
.gallery-item.g-wide{grid-column:span 2;aspect-ratio:2/1;}
.gallery-item-bg{width:100%;height:100%;transition:transform .5s;position:relative;}
.gallery-item-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.gallery-item:hover .gallery-item-bg{transform:scale(1.04);}
.g1{background:radial-gradient(ellipse at 50% 40%,#3a2800,#0a0500);}
.g2{background:radial-gradient(ellipse at 60% 50%,#2a1800,#000);}
.g3{background:radial-gradient(ellipse at 40% 60%,#1e1200,#000);}
.g4{background:radial-gradient(ellipse at 70% 40%,#2e2000,#000);}
.g5{background:radial-gradient(ellipse at 30% 50%,#241a00,#000);}
.gallery-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.gallery-placeholder-text{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:rgba(247,208,0,.1);letter-spacing:.1em;}

/* GALLERY SLIDES */
.gallery-slides{display:flex;flex-direction:column;gap:0;}
.gallery-slide{width:100%;overflow:hidden;position:relative;cursor:none;}
.gallery-slide .gallery-item-bg,.gallery-slide>div{width:100%;}
.gallery-slide .gallery-placeholder{width:100%;min-height:340px;display:flex;align-items:center;justify-content:center;}
.gallery-slide .gallery-placeholder-text{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:rgba(247,208,0,.1);letter-spacing:.1em;}
.gallery-slide:hover img{transform:scale(1.02);}
.gallery-slide img{width:100%;height:auto;object-fit:unset;transition:transform .6s ease;display:block;}
/* Gallery video — default: landscape (16:9 etc.), same width as gallery images */
.gallery-slide.has-video{
  display:block;
  background:#000;
  overflow:hidden;
}
.gallery-slide.has-video .gallery-item-bg{
  width:100%;
  display:block;
}
.gallery-slide.has-video .gallery-video{
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
  vertical-align:top;
  object-fit:unset;
}
/* Portrait / square / vertical 4:3 — reel: full viewport height, width from aspect ratio, centered */
.gallery-slide.has-video.is-video-reel{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:100vh;
  min-height:100dvh;
  overflow:visible;
}
.gallery-slide.has-video.is-video-reel .gallery-item-bg{
  max-width:100vw;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  justify-content:center;
  align-items:center;
}
.gallery-slide.has-video.is-video-reel .gallery-video{
  width:auto;
  height:auto;
  max-height:100vh;
  max-height:100dvh;
  max-width:100vw;
  object-fit:contain;
}

/* REVIEW */
.review-new-card{background:#0a0a0a;border:1px solid #1e1e1e;padding:40px 50px;position:relative;overflow:hidden;}
.review-new-card::before{content:'"';font-family:'Bebas Neue',sans-serif;font-size:8rem;color:var(--yellow);opacity:.08;position:absolute;top:-10px;left:36px;line-height:1;pointer-events:none;}
.review-new-text{font-size:1rem;line-height:1.7;color:#aaa;font-style:italic;max-width:700px;margin-bottom:28px;position:relative;z-index:1;}
.review-new-footer{display:flex;align-items:center;justify-content:flex-start;}
.review-new-author{display:flex;align-items:center;gap:20px;}
.review-new-avatar{width:40px;height:40px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1rem;color:#000;flex-shrink:0;}
.review-new-stars{color:var(--yellow);font-size:.75rem;letter-spacing:2px;margin-bottom:3px;}
.review-new-name{font-family:'Syne',sans-serif;font-size:.88rem;font-weight:700;color:var(--white);}
.review-new-company{font-size:.65rem;color:var(--yellow);letter-spacing:.15em;text-transform:uppercase;font-family:'Syne',sans-serif;margin-top:2px;}

/* REVIEW (old layout - kept for compatibility) */
.review-section{padding:0 60px 60px;}
.review-card{background:var(--grey);border:1px solid var(--yellow);padding:60px;position:relative;max-width:900px;}
.review-card::before{content:'"';font-family:'Bebas Neue',sans-serif;font-size:10rem;color:var(--yellow);opacity:.12;position:absolute;top:-10px;right:40px;line-height:1;}
.review-tag{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);margin-bottom:30px;display:flex;align-items:center;gap:14px;}
.review-tag::before{content:'';width:30px;height:1px;background:var(--yellow);}
.review-stars{display:flex;gap:4px;margin-bottom:24px;}
.review-star{color:var(--yellow);font-size:1.1rem;}
.review-text{font-size:1.2rem;line-height:1.8;color:#ccc;font-style:italic;margin-bottom:36px;}
.review-author{display:flex;align-items:center;gap:18px;}
.review-avatar{width:52px;height:52px;border-radius:50%;background:var(--grey2);border:2px solid var(--yellow);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--yellow);}
.review-name{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;color:var(--white);}
.review-company{font-size:.82rem;color:var(--muted);margin-top:4px;}

/* NEXT PROJECT */
.next-project{display:flex;text-decoration:none;background:var(--grey);border-top:1px solid #1a1a1a;padding:60px;align-items:center;justify-content:space-between;transition:background .3s;}
.next-project:hover{background:var(--grey2);}
.next-label{font-family:'Syne',sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.next-name{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,5vw,4rem);color:var(--white);letter-spacing:.03em;}
.next-arrow{width:60px;height:60px;border:1px solid var(--yellow);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* CTA */
.cta-section{background:var(--black);padding:60px;text-align:center;border-top:1px solid #1a1a1a;position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(247,208,0,.04),transparent);}
.cta-inner{position:relative;z-index:1;}
.cta-tag{font-family:'Syne',sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.cta-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:.02em;color:var(--white);margin-bottom:14px;}
.cta-accent{color:var(--yellow);}
.cta-sub{font-size:.88rem;color:#666;margin-bottom:28px;letter-spacing:.03em;}
.cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--yellow);color:var(--black);font-family:'Syne',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:14px 30px;transition:background .2s,transform .2s;}
.cta-btn:hover{background:#c9a900;transform:translateY(-2px);}
.cta-btn svg{transition:transform .2s;}
.cta-btn:hover svg{transform:translateX(4px);}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* Scroll to top */
#scrollTop{position:fixed;bottom:100px;right:28px;width:42px;height:42px;background:var(--yellow);color:#000;border:none;cursor:none;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;z-index:500;}
#scrollTop.visible{opacity:1;transform:translateY(0);}
#scrollTop:hover{background:var(--yellow-dim,#c9a900);}

/* Footer */
footer{background:var(--black);border-top:1px solid #1a1a1a;padding:50px 60px;}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:40px;}
.footer-logo img{height:22px;width:auto;filter:brightness(0) invert(1);transition:filter .25s ease;display:block;}
.footer-logo:hover img{filter:brightness(0) invert(78%) sepia(85%) saturate(1650%) hue-rotate(1deg) brightness(98%) !important;}
.footer-tagline{font-size:.85rem;color:var(--muted);margin-top:12px;max-width:260px;line-height:1.6;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links-title{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:6px;}
.footer-links a{font-size:.85rem;color:var(--muted);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:var(--white);}
.footer-socials a{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;display:block;margin-bottom:10px;}
.footer-socials a:hover{color:var(--yellow);}
.footer-bottom{border-top:1px solid #1a1a1a;padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-copy{font-size:.78rem;color:var(--muted);font-family:'Syne',sans-serif;letter-spacing:.08em;}
.footer-bottom-socials{display:flex;gap:20px;}
.footer-bottom-socials a{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.footer-bottom-socials a:hover{color:var(--yellow);}
.footer-emails a{font-size:.82rem;color:var(--muted);text-decoration:none;display:block;transition:color .2s;}
.footer-emails a:hover{color:var(--yellow);}

/* Mobile hamburger */
#navHamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:none;padding:4px;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
#navHamburger span{display:block;width:22px;height:2px;background:var(--white);transition:transform .3s ease,opacity .2s ease;pointer-events:none;}
#navHamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
#navHamburger.open span:nth-child(2){opacity:0;}
#navHamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
#mobileMenu{display:none;position:fixed;top:60px;left:0;width:100%;background:rgba(0,0,0,.98);border-top:1px solid #1c1c1c;z-index:199;flex-direction:column;}
#mobileMenu.open{display:flex;}
#mobileMenu a{font-family:'Syne',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:16px 20px;border-bottom:1px solid #1a1a1a;display:block;}
#mobileMenu a:last-child{border-bottom:none;}
#mobileMenu a:hover,#mobileMenu a.active{color:var(--yellow);}

@media(max-width:900px){
  nav{padding:0 16px !important;height:60px !important;position:fixed !important;top:0;left:0;width:100% !important;z-index:200;display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,.98) !important;box-sizing:border-box;}
  .nav-logo img{height:26px !important;}
  .nav-back{display:none !important;}
  #navHamburger{display:flex;}
  .project-hero{padding:120px 24px 60px;height:auto;min-height:70vh;}
  .hero-meta{flex-wrap:wrap;gap:24px;}
  .project-details{padding:60px 24px;grid-template-columns:1fr;}
  .gallery-section{padding:0 0 60px;}
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-item.g-wide{grid-column:span 1;aspect-ratio:4/3;}
  .gallery-slide{max-width:100% !important;margin:0 !important;}
  .gallery-slide.has-video.is-video-reel{max-width:100vw !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;}
  .review-section{padding:0 24px 60px;}
  .review-card{padding:36px 24px;}
  .next-project{padding:40px 24px;}
  footer{padding:40px 20px;}
  .footer-top{flex-direction:column;gap:32px;}
  .footer-bottom{flex-direction:column;text-align:center;gap:12px;}
  .footer-bottom-socials{flex-wrap:wrap;justify-content:center;}
}

