/* =============================================
   AK SURVEYORS & ENGINEERS – SHARED STYLESHEET
   Black + Orange Theme (aksurveyors.in)
   ============================================= */
:root {
  --black:        #0d0d0d;
  --black-mid:    #111111;
  --black-soft:   #181818;
  --black-card:   #1e1e1e;
  --black-border: #2a2a2a;
  --orange:       #ff6b1a;
  --orange-dark:  #e8520a;
  --orange-light: #ff8c4a;
  --orange-pale:  rgba(255,107,26,0.12);
  --white:        #ffffff;
  --off-white:    #f5f5f5;
  --gray-400:     #666666;
  --gray-600:     #999999;
  --text-dark:    #ffffff;
  --text-body:    #b0b0b0;
  --shadow-sm:    0 4px 16px rgba(0,0,0,0.5);
  --shadow-md:    0 8px 32px rgba(0,0,0,0.6);
  --shadow-lg:    0 20px 60px rgba(0,0,0,0.7);
  --shadow-orange:0 8px 32px rgba(255,107,26,0.3);
  --radius-sm:    8px;
  --radius-md:    14px;
  --radius-lg:    24px;
  --transition:   0.35s cubic-bezier(.4,0,.2,1);
  --font-head:    'Rajdhani', sans-serif;
  --font-body:    'Outfit', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);color:var(--text-body);background:var(--black);overflow-x:hidden;}

img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.section-pad{padding:96px 0;}
.accent{color:var(--orange);}

/* TYPOGRAPHY */
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:0.78rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.section-label::before{content:'';display:block;width:28px;height:3px;background:var(--orange);border-radius:2px;}
.section-title{font-family:var(--font-head);font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:18px;}
.section-header{text-align:center;max-width:640px;margin:0 auto 60px;}
.section-header p{color:var(--text-body);font-size:1rem;line-height:1.7;}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:var(--white);padding:14px 30px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.95rem;font-weight:600;border:2px solid var(--orange);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;z-index:1;}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--orange-dark);transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease;z-index:-1;}
.btn-primary:hover::before{transform:scaleX(1);}
.btn-primary:hover{box-shadow:var(--shadow-orange);}
.btn-primary i{transition:transform 0.3s;}
.btn-primary:hover i{transform:translateX(4px);}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--white);padding:14px 30px;border-radius:var(--radius-sm);font-size:0.95rem;font-weight:600;border:2px solid rgba(255,255,255,0.3);cursor:pointer;transition:var(--transition);}
.btn-outline:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.6);}
.btn-outline-dark{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--orange);padding:13px 28px;border-radius:var(--radius-sm);font-size:0.95rem;font-weight:600;border:2px solid var(--orange);cursor:pointer;transition:var(--transition);}
.btn-outline-dark:hover{background:var(--orange);color:var(--white);}
.btn-full{width:100%;justify-content:center;}

/* HEADER */
#header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;background:linear-gradient(to bottom,rgba(13,13,13,0.65),rgba(13,13,13,0));transition:background 0.35s,padding 0.35s,box-shadow 0.35s;}
#header.scrolled{background:rgba(13,13,13,0.97);backdrop-filter:blur(12px);padding:12px 0;box-shadow:0 4px 24px rgba(0,0,0,0.7);}
.nav-container{display:flex;align-items:center;gap:32px;}
.logo{flex-shrink:0;}
.logo img{height:48px;width:auto;}
.main-nav{flex:1;}
.main-nav ul{display:flex;gap:4px;justify-content:center;}
.nav-link{display:block;padding:8px 14px;font-size:0.85rem;font-weight:600;color:rgba(255,255,255,0.7);letter-spacing:0.04em;text-transform:uppercase;border-radius:6px;transition:var(--transition);position:relative;}
.nav-link::after{content:'';position:absolute;bottom:2px;left:14px;right:14px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:center;transition:transform 0.3s;border-radius:2px;}
.nav-link:hover,.nav-link.active{color:var(--white);}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);}
.btn-header-cta{display:flex;align-items:center;gap:8px;background:var(--orange);color:var(--white);padding:10px 20px;border-radius:var(--radius-sm);font-size:0.85rem;font-weight:700;white-space:nowrap;transition:var(--transition);flex-shrink:0;}
.btn-header-cta:hover{background:var(--orange-dark);box-shadow:var(--shadow-orange);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:auto;}
.hamburger span{display:block;width:26px;height:2.5px;background:var(--white);border-radius:2px;transition:var(--transition);}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* PAGE HERO BANNER */
.page-hero{min-height:380px;display:flex;align-items:flex-end;background:var(--black);position:relative;overflow:hidden;padding-top:90px;border-bottom:1px solid var(--black-border);}
.page-hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,107,26,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,107,26,0.05) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.page-hero-content{position:relative;z-index:2;padding:60px 0 50px;}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:18px;}
.breadcrumb a,.breadcrumb span{font-size:0.82rem;color:rgba(255,255,255,0.4);}
.breadcrumb a:hover{color:var(--orange);}
.breadcrumb i{font-size:0.65rem;color:rgba(255,255,255,0.2);}
.breadcrumb .current{color:var(--orange);font-weight:600;}
.page-hero h1{font-family:var(--font-head);font-size:clamp(2.2rem,6vw,4rem);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:16px;}
.page-hero p{font-size:1.05rem;color:rgba(255,255,255,0.5);max-width:560px;line-height:1.7;}

/* MARQUEE */
.marquee-strip{background:var(--orange);overflow:hidden;padding:14px 0;}
.marquee-track{display:flex;animation:marqueeScroll 22s linear infinite;white-space:nowrap;}
.marquee-track span{padding:0 40px;font-size:0.85rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);display:flex;align-items:center;gap:10px;}
.marquee-track span::after{content:'·';margin-left:40px;opacity:0.6;}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* FOOTER */
.footer{background:var(--black-mid);color:rgba(255,255,255,0.55);padding-top:80px;border-top:1px solid var(--black-border);}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:60px;border-bottom:1px solid var(--black-border);}
.footer-logo{height:52px;width:auto;margin-bottom:18px;}
.footer-brand p{font-size:0.88rem;line-height:1.75;margin-bottom:22px;}
.footer-col h5{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:20px;position:relative;padding-bottom:10px;}
.footer-col h5::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:2px;background:var(--orange);border-radius:2px;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{font-size:0.88rem;color:rgba(255,255,255,0.45);transition:color 0.2s,padding-left 0.2s;display:block;}
.footer-col ul li a:hover{color:var(--orange);padding-left:6px;}
.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;font-size:0.88rem;color:rgba(255,255,255,0.45);margin-bottom:10px;}
.footer-contact-list li i{color:var(--orange);margin-top:2px;flex-shrink:0;}
.footer-contact-list li a{color:rgba(255,255,255,0.45);transition:color 0.2s;}
.footer-contact-list li a:hover{color:var(--orange);}
.footer-bottom{padding:22px 0;}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:0.82rem;color:rgba(255,255,255,0.25);}
.footer-bottom strong{color:rgba(255,255,255,0.5);}
.social-links{display:flex;gap:10px;}
.social-links a{width:40px;height:40px;background:var(--black-card);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-600);font-size:0.9rem;transition:var(--transition);border:1px solid var(--black-border);}
.social-links a:hover{background:var(--orange);color:var(--white);border-color:var(--orange);transform:translateY(-3px);}

/* BACK TO TOP */
.back-to-top{position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:var(--orange);color:var(--white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9rem;box-shadow:var(--shadow-orange);opacity:0;pointer-events:none;transform:translateY(12px);transition:var(--transition);z-index:998;}
.back-to-top.visible{opacity:1;pointer-events:all;transform:translateY(0);}
.back-to-top:hover{background:var(--orange-dark);transform:translateY(-3px);}

/* FADE UP */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity 0.6s ease,transform 0.6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
/* Safety net: if JS fails, show content after 2s via animation */
@keyframes fadeInSafe{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.fade-up{animation:fadeInSafe 0.6s ease 2s both;}
.fade-up.visible{animation:none;opacity:1;transform:translateY(0);}

/* FORMS */
.form-group{display:flex;flex-direction:column;gap:7px;}
.form-group label{font-size:0.82rem;font-weight:600;color:var(--white);letter-spacing:0.04em;}
.form-group input,.form-group textarea,.form-group select{padding:12px 16px;border:1.5px solid var(--black-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.92rem;color:var(--white);background:var(--black-card);transition:border-color 0.25s,box-shadow 0.25s;outline:none;}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400);}
.form-group select option{background:var(--black-card);color:var(--white);}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,26,0.15);}
.form-group textarea{resize:vertical;}

/* MOBILE NAV */
@media(max-width:900px){
  .nav-container{flex-wrap:wrap;justify-content:space-between;position:relative;}
  #header{background:rgba(13,13,13,0.97)!important;backdrop-filter:blur(10px);}
  .main-nav{display:none;width:100%;order:4;background:rgba(13,13,13,0.98);border-radius:var(--radius-md);margin-top:8px;padding:12px 0;border:1px solid var(--black-border);max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1001;position:relative;}
  .main-nav.open{display:block;animation:navDrop 0.25s ease;}
  @keyframes navDrop{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
  .main-nav ul{flex-direction:column;gap:0;width:100%;}
  .nav-link{padding:14px 20px;border-radius:0;width:100%;}
  .hamburger{display:flex;z-index:1002;}
  .btn-header-cta{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
}
@media(max-width:640px){
  .section-pad{padding:64px 0;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom .container{flex-direction:column;text-align:center;}
}

/* WHATSAPP FLOATING BUTTON */
.whatsapp-float{
  position:fixed;bottom:90px;right:22px;z-index:999;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;box-shadow:0 4px 20px rgba(37,211,102,0.45);
  transition:transform 0.25s, box-shadow 0.25s;
  animation:waPulse 2.5s ease infinite;
}
.whatsapp-float:hover{transform:scale(1.12);box-shadow:0 6px 28px rgba(37,211,102,0.6);}
@keyframes waPulse{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.45);}
  50%{box-shadow:0 4px 32px rgba(37,211,102,0.75),0 0 0 10px rgba(37,211,102,0.1);}
}
.wa-tooltip{
  position:absolute;right:66px;background:#111;color:#fff;
  font-family:var(--font-body);font-size:0.78rem;font-weight:600;
  padding:6px 12px;border-radius:6px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity 0.2s;
}
.wa-tooltip::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#111;}
@media(hover:hover) and (pointer:fine){
  .whatsapp-float:hover .wa-tooltip{opacity:1;}
}
@media(max-width:600px){
  .whatsapp-float{width:50px;height:50px;font-size:1.5rem;bottom:20px;right:16px;}
  .wa-tooltip{display:none;}
  .back-to-top{bottom:80px;right:16px;width:42px;height:42px;}
}

/* HOME CONTACT SECTION */
.home-contact{background:var(--black-mid);}
.hc-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start;}
.hc-info{display:flex;flex-direction:column;gap:18px;}
.hci-item{display:flex;align-items:flex-start;gap:14px;}
.hci-icon{width:42px;height:42px;background:var(--orange);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hci-icon i{color:#fff;font-size:0.95rem;}
.hci-item strong{display:block;font-size:0.9rem;font-weight:700;color:var(--white);margin-bottom:3px;}
.hci-item p{font-size:0.86rem;color:var(--text-body);line-height:1.6;margin:0;}
.hci-item a{color:var(--orange);transition:color 0.2s;}
.hci-item a:hover{color:var(--orange-light);}
.hc-form-wrap{background:var(--black-card);border:1px solid var(--black-border);border-radius:var(--radius-lg);padding:40px 36px;}
.hc-form{display:flex;flex-direction:column;gap:16px;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-success{display:flex;align-items:center;gap:10px;background:rgba(40,167,69,0.12);border:1px solid rgba(40,167,69,0.4);border-radius:var(--radius-sm);padding:14px 16px;font-size:0.9rem;color:#4caf50;margin-top:6px;}
.form-error{display:flex;align-items:center;gap:10px;background:rgba(220,53,69,0.12);border:1px solid rgba(220,53,69,0.4);border-radius:var(--radius-sm);padding:14px 16px;font-size:0.9rem;color:#f44336;margin-top:6px;}
.form-error a{color:var(--orange);}

@media(max-width:900px){
  .hc-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .form-row-2{grid-template-columns:1fr;}
  .hc-form-wrap{padding:24px 18px;}
}
