@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:wght@700;800&display=swap');

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

:root{
  --bg:        #080d1a;
  --bg2:       #0c1224;
  --bg3:       #111827;
  --bg4:       #0f1930;
  --navy:      #1a3c6e;
  --navy2:     #0f2447;
  --orange:    #e87722;
  --orange2:   #f5962e;
  --orange-light: rgba(232,119,34,.12);
  --white:     #ffffff;
  --text:      #f1f5f9;
  --text2:     #cbd5e1;
  --gray:      #94a3b8;
  --gray2:     #64748b;
  --border:    rgba(255,255,255,.07);
  --border2:   rgba(255,255,255,.12);
  --card:      #0d1527;
  --section-alt: #0b101f;
}

html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden;}

/* TOPBAR */
.topbar{background:rgba(0,0,0,.5);border-bottom:1px solid var(--border);padding:10px 0;backdrop-filter:blur(10px);}
.topbar-inner{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--gray);flex-wrap:wrap;gap:8px;}
.topbar a{color:var(--gray2);text-decoration:none;margin-left:16px;transition:color .2s;}
.topbar a:hover{color:var(--orange2);}

/* NAVBAR */
nav{background:rgba(8,13,26,.9);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;transition:all .3s;backdrop-filter:blur(16px);}
nav.scrolled{background:rgba(8,13,26,.98);box-shadow:0 4px 32px rgba(0,0,0,.5);}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;height:78px;position:relative;}
.logo{display:flex;align-items:center;text-decoration:none;}
.logo-img{height:48px;width:auto;object-fit:contain;}
.logo-icon,.logo-text{display:none;}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none;}
.nav-links>li>a{font-size:13px;font-weight:600;color:var(--text2);text-decoration:none;padding:8px 12px;border-radius:6px;transition:all .2s;letter-spacing:.2px;}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--white);background:rgba(255,255,255,.07);}
.nav-cta{background:var(--orange)!important;color:var(--white)!important;padding:10px 20px!important;border-radius:8px!important;font-weight:700!important;transition:all .3s!important;}
.nav-cta:hover{background:var(--orange2)!important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,119,34,.35)!important;}

/* DROPDOWN */
.has-dropdown{position:relative;}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#0f1930;border:1px solid var(--border2);border-radius:12px;padding:8px;min-width:240px;z-index:9999;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.has-dropdown:hover .dropdown-menu{display:block;}
.dropdown-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text2);text-decoration:none;transition:all .2s;}
.dropdown-menu a:hover{background:rgba(255,255,255,.07);color:var(--white);}
.dropdown-menu a::after{display:none!important;}
.dm-icon{font-size:16px;width:22px;text-align:center;}
.dropdown-arrow{font-size:9px;margin-left:2px;transition:transform .2s;display:inline-block;}
.has-dropdown:hover .dropdown-arrow{transform:rotate(180deg);}

/* HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.hamburger span{width:24px;height:2px;background:var(--text2);border-radius:2px;transition:all .3s;display:block;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;width:100%;background:#0c1224;border-top:1px solid var(--border);padding:16px 24px 24px;flex-direction:column;z-index:9998;box-shadow:0 16px 48px rgba(0,0,0,.8);max-height:calc(100vh - 64px);overflow-y:auto;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-size:13px;font-weight:600;color:var(--text2);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border);transition:color .2s;}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--orange);}
.mobile-nav .mob-cta{background:var(--orange);color:var(--white)!important;text-align:center;padding:14px;border-radius:8px;margin-top:12px;font-weight:700!important;}

/* BUTTONS */
.btn-primary{background:var(--orange);color:var(--white);padding:14px 32px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;}
.btn-primary:hover{background:var(--orange2);transform:translateY(-3px);box-shadow:0 12px 28px rgba(232,119,34,.4);}
.btn-outline{background:transparent;color:var(--white);padding:14px 32px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;border:2px solid var(--border2);cursor:pointer;transition:all .3s;display:inline-block;}
.btn-outline:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.3);}
.btn-outline-white{background:transparent;color:var(--white);padding:14px 32px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s;display:inline-block;}
.btn-outline-white:hover{border-color:var(--white);background:rgba(255,255,255,.07);}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(232,119,34,.5);}50%{box-shadow:0 0 0 14px rgba(232,119,34,0);}}
.btn-pulse{animation:pulse-glow 2.5s infinite;}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,var(--bg) 0%,var(--bg4) 100%);padding:80px 24px;text-align:center;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.page-hero::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(232,119,34,.06) 0%,transparent 70%);pointer-events:none;}
.page-hero .breadcrumb{font-size:13px;color:var(--gray2);margin-bottom:14px;position:relative;z-index:1;}
.page-hero .breadcrumb a{color:var(--orange2);text-decoration:none;}
.page-hero h1{font-family:'Playfair Display',serif;font-size:46px;font-weight:800;color:var(--white);margin-bottom:16px;line-height:1.2;position:relative;z-index:1;}
.page-hero h1 span{color:var(--orange2);}
.page-hero p{font-size:16px;color:var(--gray);max-width:560px;margin:0 auto;position:relative;z-index:1;}

/* SECTIONS */
.section{padding:90px 24px;}
.section-alt{background:var(--section-alt);}
.section-navy{background:var(--bg4);position:relative;overflow:hidden;}
.section-navy::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.section-navy .section-inner{position:relative;z-index:1;}
.section-inner{max-width:1280px;margin:0 auto;}
.section-tag{font-size:12px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:3px;margin-bottom:12px;display:inline-block;}
.section-title{font-family:'Playfair Display',serif;font-size:40px;font-weight:800;color:var(--white);margin-bottom:16px;line-height:1.2;}
.section-title span{color:var(--orange);}
.section-title.white{color:var(--white);}
.section-sub{font-size:15px;color:var(--gray);max-width:600px;line-height:1.85;}
.section-sub.white{color:var(--gray);}
.section-header{margin-bottom:56px;}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;transition:all .35s;position:relative;overflow:hidden;}
.card:hover{border-color:rgba(232,119,34,.3);box-shadow:0 20px 60px rgba(0,0,0,.4);transform:translateY(-6px);}

/* CTA BANNER */
.cta-banner{background:linear-gradient(135deg,#0d1a05 0%,#1a1005 50%,#0d0f1a 100%);padding:80px 24px;text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--border);}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(232,119,34,.1) 0%,transparent 65%);}
.cta-banner::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px;}
.cta-banner h2{font-family:'Playfair Display',serif;font-size:40px;font-weight:800;color:var(--white);margin-bottom:14px;position:relative;z-index:1;}
.cta-banner p{font-size:16px;color:var(--gray);margin-bottom:32px;position:relative;z-index:1;}
.btn-white{background:var(--orange);color:var(--white);padding:16px 38px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:all .3s;display:inline-block;position:relative;z-index:1;}
.btn-white:hover{background:var(--orange2);transform:translateY(-3px);box-shadow:0 12px 30px rgba(232,119,34,.4);}

/* FORM */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:12px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:14px;color:var(--text);background:rgba(255,255,255,.04);outline:none;transition:all .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,119,34,.12);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray2);}
.form-group select option{background:var(--bg3);color:var(--text);}
.form-group textarea{resize:vertical;min-height:110px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* FOOTER */
/* old footer removed */
/* old footer-inner removed */
/* old footer-grid removed */





.footer-col ul li a:hover{color:var(--orange2);}




/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity .75s ease,transform .75s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-in{opacity:0;transition:opacity .8s ease;}
.fade-in.visible{opacity:1;}
.slide-left{opacity:0;transform:translateX(-60px);transition:opacity .75s ease,transform .75s ease;}
.slide-left.visible{opacity:1;transform:translateX(0);}
.slide-right{opacity:0;transform:translateX(60px);transition:opacity .75s ease,transform .75s ease;}
.slide-right.visible{opacity:1;transform:translateX(0);}
.scale-up{opacity:0;transform:scale(.85);transition:opacity .65s ease,transform .65s ease;}
.scale-up.visible{opacity:1;transform:scale(1);}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.float-anim{animation:float 4s ease-in-out infinite;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.contact-form-box{background:var(--card);border:1.5px solid var(--border2);border-radius:16px;padding:40px;box-shadow:0 4px 40px rgba(0,0,0,.3);}
.contact-form-box h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:800;color:var(--white);margin-bottom:6px;}
.contact-form-box .sub{font-size:14px;color:var(--gray);margin-bottom:28px;}
.contact-info-box h2{font-family:'Playfair Display',serif;font-size:32px;font-weight:800;color:var(--white);margin-bottom:14px;}
.contact-info-box h2 span{color:var(--orange);}
.contact-info-box>p{font-size:15px;color:var(--gray);margin-bottom:32px;line-height:1.85;}
.contact-items{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;}
.contact-item{display:flex;gap:14px;align-items:flex-start;}
.ci-icon{width:46px;height:46px;background:rgba(232,119,34,.12);border:1px solid rgba(232,119,34,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.ci-text h4{font-size:11px;font-weight:700;color:var(--gray2);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
.ci-text p,.ci-text a{font-size:15px;color:var(--text2);font-weight:500;text-decoration:none;}
.ci-text a:hover{color:var(--orange);}
.discount-box{background:linear-gradient(135deg,var(--orange) 0%,var(--orange2) 100%);border-radius:14px;padding:28px;color:var(--white);text-align:center;}
.discount-box h4{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;margin-bottom:8px;}
.discount-box p{font-size:14px;opacity:.9;margin-bottom:16px;}
.discount-box a{background:var(--white);color:var(--orange);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;padding:11px 24px;border-radius:8px;text-decoration:none;display:inline-block;}
.offices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.office-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;transition:all .3s;}
.office-card:hover{border-color:rgba(232,119,34,.3);transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.4);}
.office-flag{font-size:36px;margin-bottom:14px;display:block;}
.office-card h3{font-size:14px;font-weight:700;color:var(--white);text-transform:uppercase;margin-bottom:12px;}
.office-card p{font-size:14px;color:var(--gray);line-height:1.8;}
.faq-list{display:flex;flex-direction:column;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{font-size:15px;font-weight:600;color:var(--text2);padding:18px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .2s;}
.faq-q:hover{color:var(--orange);}
.faq-a{font-size:14px;color:var(--gray);line-height:1.85;padding-bottom:18px;display:none;}
.faq-item.open .faq-a{display:block;}
.faq-item.open .faq-q{color:var(--orange);}
.faq-arrow{transition:transform .25s;color:var(--orange);font-size:12px;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}

/* RESPONSIVE */
@media(max-width:1024px){.section-title{font-size:32px;}}
@media(max-width:900px){
  .nav-links{display:none;} .hamburger{display:flex;}
  /* old footer-grid removed */
  .section{padding:60px 16px;} .page-hero{padding:56px 16px;}
  .page-hero h1{font-size:30px;} .section-title{font-size:26px;}
  .form-row{grid-template-columns:1fr;} .cta-banner{padding:56px 16px;}
  .contact-grid{grid-template-columns:1fr;} .offices-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .topbar-inner{justify-content:center;}
  /* old footer-grid removed */ 
  .section-title{font-size:24px;} .page-hero h1{font-size:26px;}
  .offices-grid{grid-template-columns:1fr;} .contact-form-box{padding:24px;}
  .btn-primary,.btn-outline{width:100%;text-align:center;justify-content:center;}
}

/* ── COMPAT CLASSES (used in sub-pages) ── */
.section-dark{background:var(--bg4);}
.btn-dark{background:var(--white);color:var(--orange);padding:16px 38px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:all .3s;display:inline-block;position:relative;z-index:1;}
.btn-dark:hover{background:var(--orange);color:var(--white);transform:translateY(-3px);box-shadow:0 12px 30px rgba(232,119,34,.4);}

/* Stat boxes (about page) */
.stat-box{background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:12px;padding:28px 16px;text-align:center;transition:all .3s;}
.stat-box:hover{border-color:rgba(232,119,34,.3);background:rgba(232,119,34,.05);}
.stat-box-num{font-family:'Playfair Display',serif;font-size:38px;font-weight:800;color:var(--orange);line-height:1;}
.stat-box-label{font-size:12px;color:var(--gray);margin-top:6px;text-transform:uppercase;letter-spacing:.5px;}

/* Value cards (about page) */
.value-card{padding:28px;border-radius:12px;background:rgba(255,255,255,.04);border-left:3px solid var(--orange);border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:all .3s;}
.value-card:hover{background:rgba(255,255,255,.07);transform:translateY(-4px);}
.value-card h3{font-size:14px;font-weight:700;color:var(--white);text-transform:uppercase;margin-bottom:10px;letter-spacing:.5px;}
.value-card p{font-size:14px;color:var(--gray);line-height:1.8;}

/* Team cards (about page) */
.team-card{text-align:center;}
.team-avatar{width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.05);border:2px solid var(--orange);display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 16px;}
.team-card h3{font-size:15px;font-weight:700;color:var(--white);margin-bottom:4px;}
.team-card p{font-size:13px;color:var(--orange);font-weight:600;text-transform:uppercase;letter-spacing:.5px;}

/* Services page cards */
.service-detail-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;transition:all .35s;}
.service-detail-card:hover{border-color:rgba(232,119,34,.3);transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.4);}
.service-detail-card h3{font-size:18px;font-weight:700;color:var(--white);margin-bottom:12px;}
.service-detail-card p{font-size:14px;color:var(--gray);line-height:1.8;}

/* Trades page */
.trade-section-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;color:var(--white);margin-bottom:16px;}
.trade-section-title span{color:var(--orange);}
.trade-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;transition:all .3s;}
.trade-card:hover{border-color:rgba(232,119,34,.3);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.3);}
.trade-card h4{font-size:15px;font-weight:700;color:var(--white);margin-bottom:8px;}
.trade-card p{font-size:13px;color:var(--gray);line-height:1.7;}

/* Contact page specific */
.contact-box-dark{background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:36px;}

/* About page grid layout fix */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.about-img-wrap{position:relative;padding-bottom:20px;padding-right:20px;}
.about-img{width:100%;height:440px;background:linear-gradient(145deg,#0d1a35 0%,#0f2040 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:100px;border:1px solid var(--border2);position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.about-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--orange);}
.about-badge{position:absolute;bottom:-18px;right:-18px;background:linear-gradient(135deg,var(--orange) 0%,var(--orange2) 100%);color:var(--white);border-radius:10px;padding:18px 22px;text-align:center;box-shadow:0 12px 32px rgba(232,119,34,.4);}
.about-badge-num{font-family:'Playfair Display',serif;font-size:34px;font-weight:800;line-height:1;}
.about-badge-text{font-size:11px;font-weight:700;text-transform:uppercase;margin-top:3px;}
.about-content h2{font-family:'Playfair Display',serif;font-size:36px;font-weight:800;color:var(--white);margin-bottom:20px;line-height:1.2;}
.about-content h2 span{color:var(--orange);}
.about-content p{font-size:15px;color:var(--gray);margin-bottom:16px;line-height:1.85;}

@media(max-width:900px){
  .stats-row{grid-template-columns:1fr 1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .values-grid,.team-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:1fr 1fr;}
}

/* ═══════════════════════════════════════════
   ANIMATIONS & MOBILE — GLOBAL
═══════════════════════════════════════════ */

/* ── PARTICLES CANVAS ── */
#particles-canvas{
  position:fixed;
  top:0;left:0;
  width:100%;height:100%;
  pointer-events:none;
  z-index:0;
  opacity:.55;
}

/* ── CURSOR RIPPLE ── */
.ripple{
  position:fixed;
  width:12px;height:12px;
  background:rgba(232,119,34,.5);
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(1);
  animation:ripple-out .6s ease forwards;
  z-index:9999;
}
@keyframes ripple-out{
  0%{opacity:1;transform:translate(-50%,-50%) scale(1);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(6);}
}

/* ── CLICK BURST ── */
.click-burst{
  position:fixed;
  pointer-events:none;
  z-index:9999;
}
.click-burst span{
  position:absolute;
  width:6px;height:6px;
  background:var(--orange);
  border-radius:50%;
  animation:burst .7s ease forwards;
}
@keyframes burst{
  0%{opacity:1;transform:translate(0,0) scale(1);}
  100%{opacity:0;transform:var(--tx,translateX(40px)) scale(0);}
}

/* ── SCROLL REVEAL CLASSES ── */
.reveal{opacity:0;transform:translateY(48px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);}
.reveal.left{transform:translateX(-60px);}
.reveal.right{transform:translateX(60px);}
.reveal.scale{transform:scale(.88);}
.reveal.visible{opacity:1;transform:none;}

/* ── MAGNETIC BUTTON ── */
.btn-primary,.btn-outline,.nav-cta{transition:all .3s,transform .15s!important;}

/* ── TILT CARDS ── */
.srv-card,.why-card,.testi-card,.scope-card,.sample-card,.blog-card,.reason-card{
  transform-style:preserve-3d;
  will-change:transform;
}

/* ── GLOWING BORDER ON HOVER ── */
.srv-card:hover,.why-card:hover,.testi-card:hover,.scope-card:hover{
  box-shadow:0 0 0 1px rgba(232,119,34,.3), 0 20px 60px rgba(0,0,0,.45), 0 0 30px rgba(232,119,34,.07);
}

/* ── SECTION COUNTER NUMBERS ── */
.count-up{display:inline-block;transition:all .3s;}

/* ── ORANGE LINE PROGRESS ── */
.progress-line{
  height:2px;
  background:linear-gradient(90deg,var(--orange),var(--orange2));
  position:fixed;top:0;left:0;
  z-index:9999;
  width:0%;
  transition:width .1s linear;
  box-shadow:0 0 8px rgba(232,119,34,.6);
}

/* ═══════════════════════════════════════════
   MOBILE FIXES — COMPLETE RESPONSIVE
═══════════════════════════════════════════ */

/* Base mobile */
@media(max-width:768px){
  /* NAV */
  .nav-links{display:none!important;}
  .hamburger{display:flex!important;}
  .nav-inner{height:64px;padding:0 20px;}
  .logo-img{height:38px;}
  .mobile-nav{top:64px;padding:12px 20px 20px;}
  .mobile-nav a{font-size:14px;padding:13px 0;}

  /* TOPBAR */
  .topbar-inner{flex-direction:column;gap:4px;text-align:center;font-size:12px;padding:8px 16px;}

  /* HERO */
  .hero{min-height:auto;padding:0;}
  .hero-inner{
    grid-template-columns:1fr!important;
    padding:48px 20px 40px!important;
    gap:36px!important;
  }
  .hero h1{font-size:28px!important;line-height:1.2;}
  .hero-desc{font-size:15px!important;}
  .hero-checks{grid-template-columns:1fr!important;gap:10px;}
  .hero-btns{flex-direction:column;}
  .hero-btns .btn-primary,.hero-btns .btn-outline{width:100%;text-align:center;justify-content:center;}
  .hero-card{margin-top:0;}
  .stats-4{grid-template-columns:1fr 1fr!important;}
  .stat-num{font-size:28px!important;}
  .hero-watermark{display:none;}

  /* PAGE HERO */
  .page-hero{padding:48px 20px;}
  .page-hero h1{font-size:26px;}
  .page-hero p{font-size:14px;}

  /* SECTIONS */
  .section{padding:52px 20px!important;}
  .section-title{font-size:24px!important;}
  .section-sub{font-size:14px!important;}
  .section-header{margin-bottom:36px;}

  /* GRIDS */
  .services-grid{grid-template-columns:1fr!important;}
  .why-grid{grid-template-columns:1fr!important;}
  .testi-grid{grid-template-columns:1fr!important;}
  .steps-grid{grid-template-columns:1fr 1fr!important;}
  .about-grid{grid-template-columns:1fr!important;gap:36px!important;}
  .about-mini-stats{grid-template-columns:repeat(3,1fr)!important;}
  /* old footer-grid removed */
  .about-imgs{padding-bottom:24px;padding-right:24px;}
  .about-img-main{height:280px!important;font-size:70px!important;}
  .contact-grid{grid-template-columns:1fr!important;}
  .offices-grid{grid-template-columns:1fr!important;}
  .detail-grid{grid-template-columns:1fr!important;}
  .scope-grid{grid-template-columns:1fr 1fr!important;}
  .reasons-grid{grid-template-columns:1fr!important;}
  .metrics-grid{grid-template-columns:repeat(3,1fr)!important;}
  .blog-grid{grid-template-columns:1fr!important;}
  .samples-grid{grid-template-columns:1fr 1fr!important;}
  .feat-grid{grid-template-columns:1fr!important;}
  .featured-post{grid-template-columns:1fr!important;}
  .fp-thumb{min-height:160px!important;font-size:60px!important;}
  .form-row{grid-template-columns:1fr!important;}
  .quote-grid{grid-template-columns:1fr!important;}
  .stats-bar{grid-template-columns:1fr 1fr!important;}
  .software-row{gap:10px!important;}
  .sw-pill{font-size:12px!important;padding:10px 14px!important;}

  /* WIN CALC */
  #projType{flex-direction:column!important;}
  #turnType{flex-direction:column!important;}

  /* HERO CARD */
  .hero-card{padding:24px!important;}
  .delivery-pill{flex-wrap:wrap;}

  /* CTA */
  .cta-banner{padding:48px 20px!important;}
  .cta-banner h2{font-size:24px!important;}
  .cta-banner p{font-size:14px!important;}
  .btn-white{width:100%;text-align:center;}

  /* CONTACT BOX */
  .contact-form-box{padding:24px!important;}

  /* FOOTER */
  
  footer{padding:48px 20px 24px!important;}

  /* TRUST LOGOS */
  .trust-logos{gap:20px!important;}

  /* COMPARE TABLE */
  .compare-table{font-size:12px!important;}
  .compare-table th,.compare-table td{padding:10px 12px!important;}

  /* TICKER */
  .ticker-item{padding:0 20px!important;font-size:12px!important;}
  .trade-pill-ticker{padding:8px 16px!important;font-size:12px!important;}

  /* BUTTONS */
  .btn-primary,.btn-outline,.btn-outline-white{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

@media(max-width:480px){
  .hero h1{font-size:24px!important;}
  .section-title{font-size:22px!important;}
  .page-hero h1{font-size:22px!important;}
  .scope-grid{grid-template-columns:1fr!important;}
  .samples-grid{grid-template-columns:1fr!important;}
  .metrics-grid{grid-template-columns:1fr 1fr!important;}
  .steps-grid{grid-template-columns:1fr!important;}
  .about-mini-stats{grid-template-columns:1fr 1fr!important;}
  /* old footer-grid removed */
  .stats-bar{grid-template-columns:1fr 1fr!important;}
}

/* ── TOUCH DEVICE TILT DISABLE ── */
@media(hover:none){
  .srv-card:hover,.why-card:hover,.testi-card:hover{transform:none!important;}
}

/* REAL IMAGE PAGE HEROES */
.page-hero{
  position:relative;
}
.page-hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.07;
  pointer-events:none;
  z-index:0;
}
.page-hero > *:not(.page-hero-img){
  position:relative;
  z-index:1;
}

/* ═══════════════════════════════════════════
   FOOTER BRAND BAR — BidWinners Style
═══════════════════════════════════════════ */
.footer-brand-bar{
  background:#020509;
  border-top:1px solid rgba(232,119,34,.15);
  padding:36px 24px;
}
.fbb-inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  text-align:center;
}
.fbb-logo-wrap{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
}
.fbb-logo-img{
  height:40px;
  width:auto;
  object-fit:contain;
  filter:brightness(1.1);
}
.fbb-brand-name{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:800;
  color:var(--white);
  letter-spacing:.5px;
}
.fbb-brand-name span{
  color:var(--orange);
}
.fbb-tagline{
  font-size:13px;
  font-weight:600;
  color:var(--gray2);
  text-transform:uppercase;
  letter-spacing:3px;
}
.fbb-badges{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
}
.fbb-badge{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:600;
  color:var(--gray2);
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  padding:6px 14px;
  border-radius:50px;
}
.fbb-badge .dot{
  width:6px;height:6px;
  background:var(--orange);
  border-radius:50%;
  flex-shrink:0;
}
.fbb-socials{
  display:flex;
  gap:10px;
  align-items:center;
}
.fbb-social-btn{
  width:38px;height:38px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border2);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:16px;
  transition:all .25s;
  color:var(--gray2);
}
.fbb-social-btn:hover{
  background:rgba(232,119,34,.12);
  border-color:rgba(232,119,34,.4);
  color:var(--orange);
  transform:translateY(-3px);
}
.fbb-divider{
  width:100%;
  height:1px;
  background:var(--border);
}
.fbb-copyright{
  font-size:12px;
  color:var(--gray2);
  line-height:1.7;
}
.fbb-copyright a{
  color:var(--gray2);
  text-decoration:none;
  transition:color .2s;
}
.fbb-copyright a:hover{color:var(--orange);}
.fbb-copyright span{color:var(--orange);}

@media(max-width:600px){
  .fbb-badges{gap:10px;}
  .fbb-badge{font-size:11px;padding:5px 10px;}
  .fbb-brand-name{font-size:18px;}
}

/* FOOTER — see below */


/* ═══════════════════════════════════════════
   MOBILE COMPLETE FIX — FINAL OVERRIDE
═══════════════════════════════════════════ */

/* Hamburger always visible on mobile */
@media(max-width:900px){
  .nav-links { display:none !important; }
  .hamburger { display:flex !important; }
  nav { position:sticky; top:0; z-index:9990; }
}

/* Mobile nav fixed and scrollable */
.mobile-nav {
  display: none;
  position: fixed !important;
  top: 64px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: #0c1224 !important;
  border-top: 1px solid var(--border) !important;
  padding: 0 !important;
  flex-direction: column !important;
  z-index: 9997 !important;
  max-height: calc(100vh - 64px) !important;
  overflow-y: auto !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.9) !important;
}
.mobile-nav.open {
  display: flex !important;
}
.mobile-nav a {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text2) !important;
  text-decoration: none !important;
  padding: 16px 24px !important;
  border-bottom: 1px solid var(--border) !important;
  transition: all .2s !important;
  display: block !important;
  -webkit-tap-highlight-color: rgba(232,119,34,0.1) !important;
}
.mobile-nav a:hover,
.mobile-nav a.active {
  color: var(--orange) !important;
  background: rgba(232,119,34,.06) !important;
}
.mobile-nav .mob-cta {
  background: var(--orange) !important;
  color: var(--white) !important;
  text-align: center !important;
  padding: 16px 24px !important;
  font-weight: 700 !important;
  border-bottom: none !important;
  margin: 12px 16px 16px !important;
  border-radius: 8px !important;
}

/* Main mobile layout */
@media(max-width:768px){
  body { overflow-x:hidden; }
  
  /* Nav */
  .nav-inner { height:64px; padding:0 16px; }
  .logo-img { height:36px; }

  /* Hero */
  .hero { min-height:auto; }
  .hero-inner {
    grid-template-columns: 1fr !important;
    padding: 48px 16px 40px !important;
    gap: 32px !important;
  }
  .hero h1 { font-size:26px !important; line-height:1.25 !important; }
  .hero-desc { font-size:14px !important; }
  .hero-checks { grid-template-columns:1fr !important; gap:8px !important; }
  .hero-btns { flex-direction:column !important; gap:10px; }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline { width:100% !important; text-align:center !important; justify-content:center !important; }
  .hero-watermark { display:none !important; }
  .hero-card { padding:20px !important; }
  .stats-4 { grid-template-columns:1fr 1fr !important; gap:10px !important; }
  .stat-num { font-size:26px !important; }

  /* Page Hero */
  .page-hero { padding:40px 16px !important; }
  .page-hero h1 { font-size:24px !important; }
  .page-hero p { font-size:13px !important; }

  /* Sections */
  .section { padding:48px 16px !important; }
  .section-title { font-size:22px !important; }
  .section-sub { font-size:13px !important; }
  .section-header { margin-bottom:28px !important; }

  /* Grids — all 1 column on mobile */
  .services-grid,
  .why-grid,
  .testi-grid,
  .about-grid,
  .contact-grid,
  .offices-grid,
  .detail-grid,
  .reasons-grid,
  .blog-grid,
  .feat-grid { grid-template-columns:1fr !important; gap:16px !important; }

  .steps-grid { grid-template-columns:1fr 1fr !important; gap:16px !important; }
  .scope-grid { grid-template-columns:1fr 1fr !important; gap:14px !important; }
  .samples-grid { grid-template-columns:1fr 1fr !important; gap:14px !important; }
  .metrics-grid { grid-template-columns:repeat(3,1fr) !important; gap:12px !important; }
  .stats-bar { grid-template-columns:1fr 1fr !important; }
  .form-row { grid-template-columns:1fr !important; }

  /* About */
  .about-imgs { padding:0 0 20px 0 !important; }
  .about-img-main { height:250px !important; font-size:60px !important; }
  .about-badge { bottom:-14px; right:-8px; padding:14px 16px; }
  .about-mini-stats { grid-template-columns:repeat(3,1fr) !important; }
  .about-grid { gap:28px !important; }

  /* CTA Banner */
  .cta-banner { padding:48px 16px !important; }
  .cta-banner h2 { font-size:22px !important; }
  .cta-banner p { font-size:13px !important; }
  .btn-white { width:100% !important; text-align:center !important; display:block !important; }

  /* Contact */
  .contact-form-box { padding:20px !important; }
  .contact-info-box h2 { font-size:24px !important; }

  /* Software row */
  .software-row { gap:8px !important; }
  .sw-pill { font-size:11px !important; padding:8px 12px !important; }

  /* Win calculator */
  #projType,
  #turnType { flex-direction:column !important; }

  /* Buttons */
  .btn-primary,
  .btn-outline,
  .btn-outline-white {
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  /* Blog */
  .blog-thumb { height:160px !important; }
  .featured-post { grid-template-columns:1fr !important; }
  .fp-thumb { min-height:180px !important; font-size:56px !important; }
  .fp-body { padding:24px !important; }

  /* Samples */
  .sample-preview { height:160px !important; }

  /* Ticker */
  .ticker-item { padding:0 16px !important; font-size:11px !important; }
  .trade-pill-ticker { padding:8px 14px !important; font-size:11px !important; }

  /* Trust */
  .trust-logos { gap:16px !important; }
  .trust-logo-item { font-size:13px !important; }

  /* Compare table */
  .compare-wrap { overflow-x:auto; }
  .compare-table { font-size:11px !important; min-width:500px; }
  .compare-table th,
  .compare-table td { padding:10px !important; }

  /* Quote page */
  .quote-grid { grid-template-columns:1fr !important; }
  .sf-badge { font-size:10px !important; padding:4px 10px !important; }

  /* Topbar */
  .topbar-inner { flex-direction:column !important; font-size:11px !important; text-align:center !important; padding:6px 16px !important; }
}

@media(max-width:480px){
  .hero h1 { font-size:22px !important; }
  .section-title { font-size:20px !important; }
  .page-hero h1 { font-size:20px !important; }
  .scope-grid,
  .samples-grid,
  .steps-grid { grid-template-columns:1fr !important; }
  .metrics-grid { grid-template-columns:1fr 1fr !important; }
  .sf-grid { grid-template-columns:1fr !important; }
  .about-mini-stats { grid-template-columns:1fr 1fr !important; }
  .stats-bar { grid-template-columns:1fr 1fr !important; }
  .hero-card { padding:16px !important; }
}

/* Touch devices — disable tilt */
@media(hover:none) and (pointer:coarse){
  .srv-card:hover,
  .why-card:hover,
  .testi-card:hover,
  .scope-card:hover,
  .sample-card:hover,
  .blog-card:hover { transform:none !important; }
}

/* ═══════════════════════════════════════════
   SITE FOOTER — SINGLE CLEAN FOOTER
═══════════════════════════════════════════ */
.site-footer {
  background: #040810;
  border-top: 1px solid rgba(255,255,255,.07);
  padding: 60px 24px 0;
}
.sf-inner {
  max-width: 1280px;
  margin: 0 auto;
}

/* Grid */
.sf-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
  gap: 36px;
  padding-bottom: 48px;
}

/* Brand col */
.sf-brand img {
  height: 46px;
  width: auto;
  object-fit: contain;
  display: block;
  margin-bottom: 14px;
}
.sf-brand p {
  font-size: 13px;
  color: #64748b;
  line-height: 1.85;
  margin-bottom: 20px;
  max-width: 230px;
}
.sf-socials {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.sf-social {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  transition: all .25s;
}
.sf-social:hover {
  background: rgba(232,119,34,.12);
  border-color: rgba(232,119,34,.4);
  color: #e87722;
  transform: translateY(-2px);
}

/* Columns */
.sf-col h4 {
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.sf-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sf-col ul li {
  margin-bottom: 10px;
  list-style: none !important;
  padding-left: 0 !important;
}
.sf-col ul li::before {
  display: none !important;
}
.sf-col ul li a {
  color: #64748b;
  text-decoration: none;
  font-size: 13px;
  transition: color .2s;
  display: block;
}
.sf-col ul li a:hover {
  color: #f5962e;
  padding-left: 4px;
}
.sf-col .sf-quote-btn {
  display: inline-block;
  margin-top: 16px;
  background: #e87722;
  color: #fff;
  padding: 11px 20px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: all .3s;
}
.sf-col .sf-quote-btn:hover {
  background: #f5962e;
  transform: translateY(-2px);
}

/* Divider */
.sf-divider {
  height: 1px;
  background: rgba(255,255,255,.06);
  margin: 0 0 28px;
}

/* Brand bar */
.sf-brand-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 28px;
}
.sf-brand-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.sf-brand-left img {
  height: 36px;
  width: auto;
}
.sf-brand-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sf-brand-name {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: .5px;
}
.sf-brand-name span { color: #e87722; }
.sf-tagline {
  font-size: 10px;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.sf-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.sf-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  padding: 6px 12px;
  border-radius: 50px;
  white-space: nowrap;
}
.sf-dot {
  width: 5px;
  height: 5px;
  background: #e87722;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Bottom bar */
.sf-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px 0 28px;
}
.sf-bottom p {
  font-size: 12px;
  color: #475569;
}
.sf-bottom span { color: #e87722; }
.sf-legal {
  display: flex;
  gap: 20px;
}
.sf-legal a {
  font-size: 12px;
  color: #475569;
  text-decoration: none;
  transition: color .2s;
}
.sf-legal a:hover { color: #e87722; }

/* ── WIN PROBABILITY & TERMINAL SOFTWARE GRIDS ── */
.wp-grid, .term-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.term-tools-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.tool-card:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(0,0,0,.35); }
.tool-card:active { transform: scale(.97); }
@media(max-width:900px) {
  .wp-grid, .term-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media(max-width:480px) {
  .term-tools-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ── FOOTER RESPONSIVE ── */
@media(max-width:1100px) {
  .sf-grid { grid-template-columns: 1fr 1fr 1fr; gap: 28px; }
  .sf-brand { grid-column: 1 / -1; }
  .sf-brand p { max-width: 100%; }
}
@media(max-width:768px) {
  .site-footer { padding: 40px 20px 0; }
  .sf-inner { display: flex; flex-direction: column; align-items: center; }
  .sf-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; text-align: center; justify-items: center; }
  .sf-brand { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; }
  .sf-brand p { max-width: 280px; margin-left: auto; margin-right: auto; text-align: center; }
  .sf-brand img { margin: 0 auto 14px; }
  .sf-socials { justify-content: center; }
  .sf-col { width: 100%; display: flex; flex-direction: column; align-items: center; }
  .sf-col h4 { text-align: center; width: 100%; }
  .sf-col ul { display: flex; flex-direction: column; align-items: center; }
  .sf-col ul li { text-align: center; }
  .sf-col ul li a { text-align: center; }
  .sf-col .sf-quote-btn { margin-left: auto; margin-right: auto; }
  .sf-brand-bar { flex-direction: column; align-items: center; text-align: center; gap: 14px; }
  .sf-brand-left { flex-wrap: wrap; justify-content: center; text-align: center; }
  .sf-brand-text { align-items: center; }
  .sf-badges { gap: 6px; justify-content: center; }
  .sf-badge { font-size: 10px; padding: 5px 10px; }
  .sf-bottom { flex-direction: column; align-items: center; text-align: center; gap: 8px; }
  .sf-legal { gap: 16px; justify-content: center; }
}
@media(max-width:480px) {
  .site-footer { padding: 32px 16px 0; }
  .sf-grid { grid-template-columns: 1fr; gap: 28px; text-align: center; }
  .sf-brand-name { font-size: 18px; }
  .sf-tagline { letter-spacing: 2px; }
}

/* ═══════════════════════════════════════════
   HORIZONTAL SCAN LINES ANIMATION
═══════════════════════════════════════════ */
.scan-lines-wrap{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.scan-line{
  position:absolute;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(232,119,34,0) 20%,
    rgba(232,119,34,0.35) 50%,
    rgba(232,119,34,0) 80%,
    transparent 100%
  );
  opacity:0;
  animation:scan-move linear infinite;
}
.scan-line:nth-child(1){animation-duration:8s; animation-delay:0s;   top:-2px;}
.scan-line:nth-child(2){animation-duration:12s;animation-delay:3s;   top:-2px; background:linear-gradient(90deg,transparent 0%,rgba(100,150,255,0) 20%,rgba(100,150,255,0.2) 50%,rgba(100,150,255,0) 80%,transparent 100%);}
.scan-line:nth-child(3){animation-duration:9s; animation-delay:6s;   top:-2px;}
.scan-line:nth-child(4){animation-duration:14s;animation-delay:2s;   top:-2px; background:linear-gradient(90deg,transparent 0%,rgba(232,119,34,0) 20%,rgba(232,119,34,0.2) 50%,rgba(232,119,34,0) 80%,transparent 100%);}
.scan-line:nth-child(5){animation-duration:10s;animation-delay:8s;   top:-2px;}

@keyframes scan-move{
  0%  { top:-2px;  opacity:0; }
  5%  { opacity:1; }
  95% { opacity:1; }
  100%{ top:100vh; opacity:0; }
}

/* Static faint grid lines on body */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size:100% 80px;
  animation:grid-drift 20s linear infinite;
}
@keyframes grid-drift{
  0%  { background-position:0 0;   }
  100%{ background-position:0 80px;}
}

/* ═══════════════════════════════════════════
   PAGE LOADER
═══════════════════════════════════════════ */
#page-loader{
  position:fixed;
  inset:0;
  background:#080d1a;
  z-index:99999;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:32px;
  transition:opacity .6s ease, visibility .6s ease;
}
#page-loader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* Logo */
.loader-logo{
  display:flex;
  align-items:center;
  gap:14px;
  animation:loader-logo-in .8s ease forwards;
  opacity:0;
}
.loader-logo img{
  height:52px;
  width:auto;
  filter:brightness(1.1);
}
.loader-brand{
  font-family:'Playfair Display',serif;
  font-size:26px;
  font-weight:800;
  color:#fff;
  letter-spacing:.5px;
}
.loader-brand span{ color:#e87722; }

@keyframes loader-logo-in{
  0%  { opacity:0; transform:translateY(-20px); }
  100%{ opacity:1; transform:translateY(0); }
}

/* Progress bar */
.loader-bar-wrap{
  width:260px;
  height:2px;
  background:rgba(255,255,255,.08);
  border-radius:2px;
  overflow:hidden;
  position:relative;
}
.loader-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, #e87722, #f5962e);
  border-radius:2px;
  box-shadow:0 0 12px rgba(232,119,34,.6);
  transition:width .1s linear;
}

/* Percentage text */
.loader-pct{
  font-size:13px;
  font-weight:700;
  color:#64748b;
  letter-spacing:2px;
  font-family:'Playfair Display',serif;
}

/* Tagline */
.loader-tagline{
  font-size:11px;
  font-weight:700;
  color:#334155;
  text-transform:uppercase;
  letter-spacing:4px;
  animation:loader-logo-in 1s ease .3s forwards;
  opacity:0;
}

/* Animated dots */
.loader-dots{
  display:flex;
  gap:8px;
  margin-top:4px;
}
.loader-dots span{
  width:6px; height:6px;
  background:#e87722;
  border-radius:50%;
  animation:dot-bounce .8s ease infinite;
}
.loader-dots span:nth-child(2){ animation-delay:.15s; }
.loader-dots span:nth-child(3){ animation-delay:.30s; }
@keyframes dot-bounce{
  0%,100%{ transform:translateY(0); opacity:.4; }
  50%    { transform:translateY(-8px); opacity:1; }
}

/* Grid lines on loader bg */
#page-loader::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}
/* Glow orb on loader */
#page-loader::after{
  content:'';
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(232,119,34,.07) 0%, transparent 65%);
  border-radius:50%;
  pointer-events:none;
  animation:orb-pulse 2s ease infinite;
}
@keyframes orb-pulse{
  0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:1; }
  50%    { transform:translate(-50%,-50%) scale(1.2); opacity:.7; }
}
/* ============================================
   RIGHT-SIDE QUOTE SIDEBAR (service/trade pages)
   ============================================ */
.page-with-sidebar{
  max-width:1320px;
  margin:0 auto;
  padding:56px 24px;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:40px;
  align-items:start;
}
.page-main{ min-width:0; }
.page-main section.section:first-of-type{ padding-top:0; }
.page-main .cta-banner{ border-radius:20px; overflow:hidden; }

.page-sidebar{
  position:sticky;
  top:100px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.qs-box{
  background:var(--card);
  border:1.5px solid var(--border2);
  border-radius:16px;
  padding:20px;
  box-shadow:0 4px 30px rgba(0,0,0,.25);
}
.qs-search-form{ display:flex; gap:8px; padding:0; box-shadow:none; }
.qs-search-form input{
  flex:1; padding:12px 14px; border:1.5px solid var(--border2); border-radius:8px;
  background:rgba(255,255,255,.04); color:var(--text); font-size:13px; outline:none;
}
.qs-search-form input:focus{ border-color:var(--orange); }
.qs-search-form button{
  background:var(--orange); color:#fff; border:none; border-radius:8px;
  padding:0 18px; font-weight:700; font-size:13px; cursor:pointer; transition:opacity .2s;
}
.qs-search-form button:hover{ opacity:.85; }

.qs-form-box h3{
  font-family:'Playfair Display',serif; font-size:20px; font-weight:800; color:var(--white); margin-bottom:4px;
}
.qs-form-box .qs-sub{ font-size:13px; color:var(--gray); margin-bottom:18px; line-height:1.5; }
.qs-file-group{ margin-bottom:16px; }
.qs-file-label{ display:block; font-size:12px; font-weight:700; color:var(--gray); text-transform:uppercase; letter-spacing:.8px; margin-bottom:6px; }
.qs-file-group input[type="file"]{
  width:100%; font-size:12px; color:var(--gray); padding:10px; border:1.5px dashed var(--border2);
  border-radius:8px; background:rgba(255,255,255,.03);
}
.qs-submit-btn{ width:100%; border:none; font-size:13px; letter-spacing:1px; padding:14px; }
.qs-msg{ display:none; border-radius:8px; padding:12px; margin-top:12px; font-size:12px; text-align:center; line-height:1.5; }
.qs-msg-ok{ background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.3); color:#4ade80; }
.qs-msg-err{ background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.3); color:#f87171; }
.qs-msg-err a{ color:#f87171; text-decoration:underline; }

.qs-promo{ padding:0; overflow:hidden; text-align:center; }
.qs-promo img{ width:100%; height:160px; object-fit:cover; display:block; }
.qs-review-btn{
  display:block; padding:14px; font-weight:700; font-size:13px; color:#fff;
  background:linear-gradient(90deg,#3b82f6,#22c55e); text-decoration:none;
}
.qs-review-btn:hover{ opacity:.9; }

@media(max-width:1024px){
  .page-with-sidebar{ grid-template-columns:1fr; padding:40px 20px; }
  .page-sidebar{ position:static; max-width:440px; margin:0 auto; width:100%; }
}
@media(max-width:600px){
  .page-with-sidebar{ padding:32px 16px; gap:28px; }
  .qs-box{ padding:16px; }
}
