/* main.css - Go Construction - Fully Responsive & Aesthetically Refined */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg-deep:#0d0c0c;--charcoal:#1a1a1c;--concrete:#2b2a2a;--steel:#3a3939;
  --dark-brown:#2a241e;--amber:#c78d4b;--burnt-orange:#b45a2c;
  --text-primary:#e7e3df;--text-secondary:#9b958d;
  --glass-bg:rgba(20,20,20,0.45);--glass-border:rgba(255,255,255,0.08);
  --font-primary:'Inter',system-ui,sans-serif;--font-display:'Space Grotesk','Inter',sans-serif;
  --image-overlay:rgba(0,0,0,0.35);
  --card-gradient:linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.8) 100%);
}

html{background:var(--bg-deep);scroll-behavior:auto}
body{font-family:var(--font-primary);background:var(--bg-deep);color:var(--text-primary);line-height:1.5;overflow-x:hidden;cursor:none}

/* Prevent default cursors everywhere */
a, button, [role="button"], input, textarea, select {
  cursor: none !important;
}

/* Prevent grab/grabbing cursor */
* {
  -webkit-user-drag: none;
  user-select: none;
}
.mobile-menu,.mobile-menu *{cursor:auto!important}

/* Hide cursor on touch devices */
@media (hover: none) and (pointer: coarse) {
  .cursor, .cursor-follower { display: none !important; }
  body { cursor: none !important; }
  body * { cursor: none !important; }
}

/* CURSOR */
.cursor{position:fixed;top:0;left:0;width:12px;height:12px;background:var(--amber);border-radius:50%;pointer-events:none;z-index:10000;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .15s,height .15s,background .15s,opacity .2s;will-change:transform}
.cursor-follower{position:fixed;top:0;left:0;width:40px;height:40px;border:1px solid rgba(199,141,75,0.5);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s,background .2s,opacity .2s;will-change:transform}
.cursor.hidden,.cursor-follower.hidden{opacity:0}
.cursor.hover{width:28px;height:28px;background:var(--burnt-orange);mix-blend-mode:normal;box-shadow:0 0 25px var(--amber)}
.cursor-follower.hover{width:60px;height:60px;border-color:var(--amber);background:rgba(180,90,44,0.15)}

/* PRELOADER */
.preloader{position:fixed;inset:0;z-index:20000;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s}
.preloader-content{display:flex;align-items:center;justify-content:center;flex-direction:column}
.preloader-logo{width:180px;max-width:70%;opacity:0;transition:opacity 1s}
.preloader-logo.visible{opacity:1}
.preloader-logo.hidden{display:none}
.preloader-fallback{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;letter-spacing:.4em;color:var(--amber);opacity:0;transition:opacity 1s}
.preloader-fallback.visible{opacity:1}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;width:100%;z-index:9000;padding:1.2rem 2rem;transition:background .4s,backdrop-filter .4s,padding .3s;background:transparent}
.navbar.scrolled{background:rgba(18,17,17,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:.8rem 2rem;border-bottom:1px solid rgba(199,141,75,0.2);box-shadow:0 4px 30px rgba(0,0,0,0.5)}
.nav-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-primary);z-index:9001}
.logo-small{height:32px;filter:brightness(1.1)}
.logo-text{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:1px}
.construction-dot{color:var(--amber)}
.nav-links{display:flex;gap:2rem}
.nav-item{text-decoration:none;color:var(--text-primary);font-weight:500;font-size:.9rem;text-transform:uppercase;letter-spacing:1.5px;position:relative;padding:.3rem 0;transition:color .3s}
.nav-item::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--amber);transition:width .3s}
.nav-item:hover{color:var(--amber)}
.nav-item:hover::after{width:100%}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;cursor:pointer;z-index:9001}
.ham-line{width:26px;height:2px;background:var(--text-primary);transition:all .3s;border-radius:1px}
.hamburger.active .ham-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active .ham-line:nth-child(2){opacity:0}
.hamburger.active .ham-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Menu */
.mobile-menu{position:fixed;inset:0;z-index:8999;background:rgba(0,0,0,0.97);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.mobile-menu.active{opacity:1;visibility:visible}
.mobile-menu-inner{display:flex;flex-direction:column;align-items:center;gap:2rem}
.mobile-nav-item{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--text-primary);text-decoration:none;letter-spacing:2px;transition:color .3s}
.mobile-nav-item:hover{color:var(--amber)}

/* ========== UNIFIED IMAGE STYLING ========== */
/* All images across the site get consistent treatment */
img, 
[style*="background-image"] {
  filter: brightness(0.85) saturate(0.8) contrast(1.05);
  transition: filter 0.6s ease, transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Images warm up on hover */
a:hover img,
.project-card:hover [style*="background-image"],
.client-card:hover [style*="background-image"],
.service-card-v:hover img,
.team-card:hover [style*="background-image"],
.article-card:hover [style*="background-image"],
[style*="background-image"]:hover {
  filter: brightness(0.95) saturate(0.9) contrast(1.08);
}

/* Image overlays for text readability */
.hero-bg::after,
.project-card-overlay,
.client-card-inner,
.service-card-image-v::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Service card image overlay */
.service-card-image-v {
  position: relative;
}
.service-card-image-v::after {
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.3) 100%);
  z-index: 1;
}
.service-card-image-v img {
  position: relative;
  z-index: 0;
}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:7rem 2rem 4rem}
.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;animation:heroZoom 10s ease-in-out infinite alternate}
@keyframes heroZoom{0%{transform:scale(1)}100%{transform:scale(1.06)}}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(15,10,5,0.55) 100%)}
.hero-overlay{position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(45deg,rgba(255,255,255,0.008) 0px,rgba(255,255,255,0.008) 2px,transparent 2px,transparent 12px)}
.hero-particles{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-container{position:relative;z-index:2;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;width:100%}
.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.2rem;text-shadow:0 4px 20px rgba(0,0,0,0.5)}
.accent{color:var(--amber)}
.hero-overview{color:var(--text-secondary);font-size:clamp(.9rem,1.5vw,1.05rem);line-height:1.7;margin-bottom:2rem;max-width:500px;text-shadow:0 2px 8px rgba(0,0,0,0.4)}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary,.btn-ghost{padding:.85rem 2rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border:1px solid transparent;transition:all .35s cubic-bezier(0.25,0.1,0.25,1);font-size:.85rem;cursor:pointer;white-space:nowrap;border-radius:4px}
.btn-primary{background:var(--amber);color:#0d0c0c;border-color:var(--amber)}
.btn-primary:hover{background:transparent;color:var(--amber);box-shadow:0 0 35px rgba(199,141,75,0.5);transform:translateY(-2px)}
.btn-ghost{background:transparent;border-color:var(--text-secondary);color:var(--text-primary)}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);box-shadow:0 0 25px rgba(199,141,75,0.3);transform:translateY(-2px)}

.hero-right{display:flex;justify-content:center}
.hero-stats-glass{background:rgba(20,20,20,0.45);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(199,141,75,0.18);border-radius:10px;padding:2rem 1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;box-shadow:0 25px 50px -15px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.03);animation:floatPanel 5s ease-in-out infinite;min-width:260px}
@keyframes floatPanel{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-stat-item{text-align:center}
.hero-stat-value{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--amber);display:block;line-height:1;text-shadow:0 2px 10px rgba(199,141,75,0.3)}
.hero-stat-label{color:var(--text-secondary);font-size:.7rem;letter-spacing:1px;text-transform:uppercase;margin-top:.2rem;display:block}
.hero-stat-divider{display:none}
.scroll-indicator{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.scroll-text{font-size:.65rem;letter-spacing:3px;color:var(--text-secondary)}
.scroll-line{width:1px;height:40px;background:var(--amber);animation:scrollPulse 2s infinite}
@keyframes scrollPulse{0%{opacity:.3;height:25px}50%{opacity:1;height:50px}100%{opacity:.3;height:25px}}

/* SERVICES SECTION */
.services-section{padding:5rem 2rem;background:#151311;overflow:hidden;position:relative}
.services-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(199,141,75,0.025) 0%,transparent 70%);pointer-events:none;z-index:0}
.services-header{text-align:center;margin-bottom:3rem;position:relative;z-index:1}
.section-heading{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;margin-bottom:.5rem;letter-spacing:-0.01em}
.section-subtitle{color:var(--text-secondary);font-size:.95rem;letter-spacing:1px}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:1300px;margin:0 auto;position:relative;z-index:1}
.service-card-v{display:grid;grid-template-columns:1fr 1fr;background:rgba(22,21,20,0.7);border:1px solid rgba(199,141,75,0.08);border-radius:8px;overflow:hidden;transition:all .4s cubic-bezier(.23,1,.32,1);min-height:300px}
.service-card-v:hover{border-color:rgba(199,141,75,0.25);box-shadow:0 20px 40px -15px rgba(199,141,75,0.2);transform:translateY(-4px)}
.service-card-image-v{width:100%;height:100%;min-height:300px;overflow:hidden;background:#1a1917;position:relative}
.service-card-image-v img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.23,1,.32,1);filter:brightness(0.8) saturate(0.75) contrast(1.1);}
.service-card-v:hover .service-card-image-v img{transform:scale(1.05);filter:brightness(0.9) saturate(0.85) contrast(1.05);}
.service-card-body-v{padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.service-number-v{font-family:var(--font-display);font-size:2.8rem;font-weight:700;color:var(--amber);opacity:.12;line-height:1;margin-bottom:.2rem;transition:opacity .3s}
.service-card-v:hover .service-number-v{opacity:.25}
.service-card-body-v h3{font-size:1.3rem;font-weight:600;margin-bottom:.6rem;color:var(--text-primary);font-family:var(--font-display)}
.service-card-body-v p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:1.2rem}
.service-link-v{color:var(--amber);text-decoration:none;font-weight:600;font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:.4rem}
.service-link-v:hover{text-shadow:0 0 15px var(--amber);gap:.7rem}
.service-link-v::after{content:'→';transition:transform .3s}
.service-link-v:hover::after{transform:translateX(3px)}
.service-card-v{opacity:0;transform:translateX(-60px)}
.service-card-v.revealed{animation:serviceReveal .8s cubic-bezier(.23,1,.32,1) forwards}
@keyframes serviceReveal{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}
.services-footer-cta{text-align:center;margin-top:3rem;position:relative;z-index:1}

/* ========== NOTABLE PROJECTS / CLIENTS SECTION (REDESIGNED) ========== */
.clients-section{padding:5rem 2rem 3rem;background:#0a0909;position:relative}
.clients-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 40%,rgba(199,141,75,0.04) 0%,transparent 50%),radial-gradient(ellipse at 80% 60%,rgba(180,90,44,0.025) 0%,transparent 50%);pointer-events:none;z-index:0}
.clients-header{text-align:center;margin-bottom:3.5rem;position:relative;z-index:1}
.clients-grid-wrapper{position:relative;z-index:1;max-width:1300px;margin:0 auto}
.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}

/* Project Card Link - Unified Image Card */
.client-card.project-card-link,
a.client-card {
  display:block;text-decoration:none;position:relative;overflow:hidden;
  border-radius:8px;border:1px solid rgba(255,255,255,0.04);
  transition:all .45s cubic-bezier(.23,1,.32,1);
  min-height:300px;cursor:pointer;
  background:rgba(18,17,16,0.6);
}
.client-card.project-card-link:hover,
a.client-card:hover {
  transform:translateY(-6px);
  border-color:rgba(199,141,75,0.3);
  box-shadow:0 25px 50px -15px rgba(199,141,75,0.2);
}
.client-card-image{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .7s cubic-bezier(.25,.1,.25,1);
  z-index:0;
  filter:brightness(0.7) saturate(0.7) contrast(1.1);
}
.client-card.project-card-link:hover .client-card-image,
a.client-card:hover .client-card-image {
  transform:scale(1.05);
  filter:brightness(0.8) saturate(0.8) contrast(1.05);
}
/* Overlay gradient for text readability */
.client-card-image::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,0.75) 100%);
  z-index:1;pointer-events:none;
}
.client-card-inner{
  position:absolute;bottom:0;left:0;right:0;
  padding:2.5rem 1.8rem 1.8rem;
  z-index:2;text-align:left;
}
.client-card-inner h4{
  font-family:var(--font-display);font-size:1.3rem;font-weight:600;
  color:#fff;margin-bottom:.3rem;
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
}
.client-card-inner p{
  color:rgba(255,255,255,0.75);font-size:.85rem;margin-bottom:.6rem;
  text-shadow:0 1px 4px rgba(0,0,0,0.5);
}
.project-tag{
  display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:1.5px;
  padding:.25rem .7rem;border-radius:3px;text-transform:uppercase;
  background:rgba(0,0,0,0.5);color:var(--amber);
  backdrop-filter:blur(4px);
}
/* Hide old client styles */
.client-card{padding:0;background:transparent;border:none;opacity:1;transform:none;}
.client-card::after{display:none}
.client-initials{display:none}
.clients-footer{text-align:center;margin-top:3.5rem;position:relative;z-index:1}

/* FOOTER */
.footer{background:#060606;border-top:1px solid rgba(199,141,75,0.12);padding:3.5rem 2rem 2rem}
.footer-top{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1.5fr 1fr;gap:2.5rem}
.footer-brand{display:flex;align-items:flex-start;gap:.8rem}
.footer-logo{height:42px;margin-top:.2rem;filter:brightness(1.2)}
.footer-brand h4{font-family:var(--font-display);font-size:1.1rem;margin-bottom:.2rem}
.footer-brand p{color:var(--text-secondary);font-size:.85rem}
.footer-contact h4,.footer-social h4{font-family:var(--font-display);font-size:.9rem;margin-bottom:1rem;color:var(--amber);text-transform:uppercase;letter-spacing:2px}
.contact-info{display:flex;flex-direction:column;gap:.7rem}
.contact-item{display:flex;align-items:flex-start;gap:.6rem;color:var(--text-secondary);font-size:.85rem;line-height:1.5}
.contact-item svg{stroke:var(--text-secondary);flex-shrink:0;margin-top:2px}
.footer-social{display:flex;flex-direction:column;gap:.7rem}
.social-item{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary);transition:all .3s;font-size:.85rem;cursor:pointer}
.social-item svg{fill:var(--text-secondary);transition:fill .3s}
.social-item:hover{color:var(--amber);transform:translateX(3px)}
.social-item:hover svg{fill:var(--amber)}
.footer-bottom{max-width:1200px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.04);text-align:center}
.footer-bottom p{color:var(--text-secondary);font-size:.75rem;letter-spacing:1px}

/* ========== RESPONSIVE BREAKPOINTS ========== */
@media (max-width:1024px){
  .hero-container{grid-template-columns:1fr;gap:2.5rem}
  .hero-right{order:-1}
  .hero-stats-glass{grid-template-columns:repeat(4,1fr);max-width:500px;margin:0 auto;padding:1.5rem}
  .hero-stat-value{font-size:1.8rem}
  .hero-stat-label{font-size:.65rem}
  .hero-title{font-size:clamp(2.2rem,5vw,3.5rem)}
  .services-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .service-card-v{grid-template-columns:1fr;min-height:auto}
  .service-card-image-v{min-height:200px;max-height:220px}
  .service-card-body-v{padding:1.5rem}
  .service-number-v{font-size:2.2rem}
  .clients-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .client-card.project-card-link{min-height:260px}
  .client-card-inner{padding:2rem 1.5rem}
  .client-card-inner h4{font-size:1.2rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
}

@media (max-width:768px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .navbar{padding:1rem 1.5rem}
  .navbar.scrolled{padding:.7rem 1.5rem}
  .hero{padding:5rem 1.2rem 3rem;min-height:auto}
  .hero-container{gap:2rem}
  .hero-title{font-size:2.2rem;text-align:center}
  .hero-overview{font-size:.9rem;text-align:center;max-width:100%}
  .hero-cta{justify-content:center}
  .hero-right{order:-1}
  .hero-stats-glass{grid-template-columns:1fr 1fr;max-width:320px;margin:0 auto;padding:1.2rem;gap:.8rem}
  .hero-stat-value{font-size:1.6rem}
  .hero-stat-label{font-size:.6rem}
  .btn-primary,.btn-ghost{padding:.7rem 1.5rem;font-size:.8rem;letter-spacing:1px}
  .scroll-indicator{bottom:1rem}
  .services-section{padding:3.5rem 1.2rem}
  .services-grid{grid-template-columns:1fr;gap:1.2rem;max-width:500px}
  .service-card-v{grid-template-columns:1fr}
  .service-card-image-v{min-height:180px;max-height:200px}
  .service-card-body-v{padding:1.3rem}
  .service-number-v{font-size:2rem}
  .service-card-body-v h3{font-size:1.2rem}
  .clients-section{padding:3.5rem 1.2rem 2.5rem}
  .clients-grid{grid-template-columns:1fr;gap:1rem;max-width:450px;margin:0 auto}
  .client-card.project-card-link{min-height:240px}
  .client-card-inner{padding:1.8rem 1.3rem}
  .client-card-inner h4{font-size:1.1rem}
  .client-card-inner p{font-size:.8rem}
  .footer{padding:2.5rem 1.2rem 1.5rem}
  .footer-top{grid-template-columns:1fr;gap:1.5rem;text-align:center}
  .footer-brand{justify-content:center;flex-direction:column;align-items:center}
  .contact-item,.social-item{justify-content:center}
}

@media (max-width:480px){
  .hero-stats-glass{grid-template-columns:1fr 1fr;gap:.6rem;padding:1rem}
  .hero-stat-value{font-size:1.4rem}
  .clients-grid{grid-template-columns:1fr;max-width:350px;margin:0 auto}
  .client-card.project-card-link{min-height:220px}
  .client-card-inner{padding:1.5rem 1.2rem}
  .client-card-inner h4{font-size:1rem}
  .section-heading{font-size:1.8rem}
  .section-subtitle{font-size:.85rem}
}