*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--gold:#C9A84C;--black:#0C0C0C;--dark:#151515;--dark2:#1C1C1C;--gray:#777;--white:#fff}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--gold)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 60px;transition:background .3s}
nav.bg{background:rgba(12,12,12,.96);border-bottom:1px solid rgba(201,168,76,.15)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-mark{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;color:var(--gold);letter-spacing:-1px}
.logo-divider{width:1px;height:28px;background:rgba(201,168,76,.3)}
.logo-sub{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:rgba(201,168,76,.8)}
.nav-links{display:flex;align-items:center;gap:36px;list-style:none}
.nav-links a{color:rgba(255,255,255,.6);text-decoration:none;font-size:12px;letter-spacing:2px;text-transform:uppercase;transition:color .25s}
.nav-links a:hover{color:var(--gold)}
.nav-cta{background:var(--gold)!important;color:var(--black)!important;padding:10px 24px;font-weight:600!important}
.nav-cta:hover{opacity:.85}

/* HERO */
.hero{height:100vh;min-height:640px;position:relative;display:flex;align-items:flex-end;padding:0 60px 100px}
.hero-bg{position:absolute;inset:0;background:linear-gradient(110deg,rgba(12,12,12,.95) 42%,rgba(12,12,12,.55) 100%),url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1800&q=80') center/cover no-repeat}
.hero-line{position:absolute;left:52px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gold) 25%,var(--gold) 75%,transparent);opacity:.4}
.hero-content{position:relative;z-index:1;max-width:620px}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px;opacity:0;animation:up .7s .1s ease forwards}
.eyebrow-line{width:32px;height:1px;background:var(--gold)}
.eyebrow-text{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:500}
.hero-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(52px,8vw,96px);font-weight:700;line-height:.95;text-transform:uppercase;letter-spacing:-1px;opacity:0;animation:up .7s .25s ease forwards}
.hero-title b{color:var(--gold);font-weight:700;display:block}
.hero-desc{font-size:15px;line-height:1.85;color:rgba(255,255,255,.55);font-weight:300;margin:28px 0 44px;max-width:460px;opacity:0;animation:up .7s .4s ease forwards}
.hero-btns{display:flex;gap:16px;align-items:center;opacity:0;animation:up .7s .55s ease forwards}
.btn{display:inline-block;text-decoration:none;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;font-family:'Barlow',sans-serif;transition:all .25s;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:var(--black);padding:15px 40px}
.btn-gold:hover{background:#E8C97A;transform:translateY(-2px)}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.65);padding:14px 32px}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.hero-scroll{position:absolute;right:60px;bottom:90px;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:up .7s .7s ease forwards}
.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:pulse 2s ease infinite}
.scroll-text{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35);writing-mode:vertical-rl}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--dark)}
.about-img{position:relative;overflow:hidden}
.about-img img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block;filter:grayscale(15%) brightness(.85);transition:transform .6s}
.about-img:hover img{transform:scale(1.03)}
.about-img-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(12,12,12,.9),transparent);padding:28px 32px 24px;font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.about-content{padding:80px 72px;display:flex;flex-direction:column;justify-content:center}
.section-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.section-eyebrow span{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:500}
.section-line{width:24px;height:1px;background:var(--gold)}
.section-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,4vw,54px);font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:-.5px;margin-bottom:28px}
.section-title span{color:var(--gold)}
.about-text{font-size:15px;line-height:1.9;color:rgba(255,255,255,.55);font-weight:300;margin-bottom:20px}
.about-props{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:36px;border:1px solid rgba(201,168,76,.1)}
.prop{padding:18px 20px;border:1px solid rgba(201,168,76,.1);background:var(--dark2)}
.prop-icon{font-size:18px;margin-bottom:8px}
.prop-title{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:3px}
.prop-desc{font-size:12px;color:var(--gray);line-height:1.5}

/* SERVICES */
.services{background:var(--black);padding:100px 60px}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}
.services-count{font-family:'Barlow Condensed',sans-serif;font-size:80px;font-weight:700;color:rgba(201,168,76,.08);line-height:1}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(201,168,76,.1)}
.svc{padding:40px 30px;border-right:1px solid rgba(201,168,76,.1);border-bottom:1px solid rgba(201,168,76,.1);position:relative;overflow:hidden;transition:background .3s}
.svc:nth-child(4n){border-right:none}
.svc:nth-last-child(-n+4){border-bottom:none}
.svc::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width .4s ease}
.svc:hover::after{width:100%}
.svc:hover{background:rgba(201,168,76,.03)}
.svc-num{font-family:'Barlow Condensed',sans-serif;font-size:40px;font-weight:700;color:rgba(201,168,76,.1);margin-bottom:20px;line-height:1}
.svc-icon{font-size:22px;margin-bottom:18px}
.svc-name{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;line-height:1.15;margin-bottom:12px}
.svc-name em{color:var(--gold);font-style:normal;display:block}
.svc-desc{font-size:13px;line-height:1.8;color:rgba(255,255,255,.45);font-weight:300}

/* GALLERY */
.gallery{background:var(--dark);padding:100px 60px}
.gallery-header{margin-bottom:48px}
.gallery-filter{display:flex;gap:3px;margin-top:28px}
.filt{background:transparent;border:1px solid rgba(201,168,76,.15);color:rgba(255,255,255,.45);padding:9px 18px;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .25s;font-family:'Barlow',sans-serif}
.filt:hover,.filt.on{background:var(--gold);color:var(--black);border-color:var(--gold)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:260px 260px;gap:3px}
.gitem{position:relative;overflow:hidden;cursor:pointer}
.gitem:nth-child(1){grid-column:span 5;grid-row:span 2}
.gitem:nth-child(2){grid-column:span 4}
.gitem:nth-child(3){grid-column:span 3}
.gitem:nth-child(4){grid-column:span 3}
.gitem:nth-child(5){grid-column:span 4}
.gitem img{width:100%;height:100%;object-fit:cover;filter:brightness(.75) grayscale(15%);transition:transform .5s,filter .5s}
.gitem:hover img{transform:scale(1.05);filter:brightness(.55) grayscale(0%)}
.gitem-info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;opacity:0;transition:opacity .35s;background:linear-gradient(to top,rgba(12,12,12,.85) 0%,transparent 60%)}
.gitem:hover .gitem-info{opacity:1}
.gitem-cat{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.gitem-name{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;text-transform:uppercase}

/* CONTACT STRIP */
.contact-strip{background:var(--gold);padding:0 60px}
.contact-inner{display:flex;align-items:center;justify-content:space-between;padding:52px 0;border-top:1px solid rgba(0,0,0,.12)}
.contact-text{font-family:'Barlow Condensed',sans-serif;font-size:clamp(24px,3vw,38px);font-weight:700;text-transform:uppercase;color:var(--black);letter-spacing:-.5px}
.contact-text span{opacity:.55}
.contact-details{display:flex;gap:48px;align-items:center}
.contact-item{display:flex;flex-direction:column;gap:3px}
.contact-label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(0,0,0,.5);font-weight:600}
.contact-val{font-size:15px;font-weight:600;color:var(--black)}
.contact-btn{background:var(--black);color:var(--gold);padding:14px 32px;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:700;border:none;cursor:pointer;font-family:'Barlow',sans-serif;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:opacity .2s}
.contact-btn:hover{opacity:.8}

/* FOOTER */
footer{background:var(--dark);padding:40px 60px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(201,168,76,.08)}
.footer-logo{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--gold);letter-spacing:-0.5px}
.footer-copy{font-size:12px;color:rgba(255,255,255,.25);letter-spacing:1px}
.footer-tag{font-size:13px;color:rgba(201,168,76,.4);font-style:italic}

/* REVEAL */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}

/* ANIMATIONS */
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:.8}50%{opacity:.3}}

/* MOBILE */
@media(max-width:900px){
  nav{padding:0 24px}
  .nav-links{display:none}
  .hero{padding:0 24px 80px}
  .hero-scroll{display:none}
  .about{grid-template-columns:1fr}
  .about-img{display:none}
  .about-content{padding:64px 24px}
  .services{padding:80px 24px}
  .services-header{flex-direction:column;align-items:flex-start;gap:12px}
  .services-count{display:none}
  .services-grid{grid-template-columns:1fr 1fr}
  .svc:nth-child(2n){border-right:none}
  .gallery{padding:80px 24px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gitem{grid-column:span 1!important;grid-row:span 1!important;height:200px}
  .contact-strip{padding:0 24px}
  .contact-inner{flex-direction:column;align-items:flex-start;gap:28px;padding:44px 0}
  .contact-details{flex-direction:column;gap:20px;align-items:flex-start}
  footer{flex-direction:column;gap:12px;padding:32px 24px;text-align:center}
}
