:root {
  --bg-dark: #07090f;
  --bg-dark-2: #0d1119;
  --bg-soft: #f6f7f9;
  --text: #10141d;
  --muted: #667085;
  --white: #ffffff;
  --line: #e4e7ec;
  --accent: #f97316;
  --accent-dark: #dd5f0b;
  --accent-soft: #fff1e8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.65;
}

a { text-decoration: none; }
img { max-width: 100%; display: block; }

/* Navbar */
.main-navbar {
  min-height: 82px;
  background: rgba(7, 9, 15, .96);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
}
.brand-logo { width: 200px; max-height: 56px; object-fit: contain; }
.main-navbar .nav-link {
  color: rgba(255,255,255,.72);
  font-weight: 600;
  font-size: .95rem;
  padding-inline: .4rem !important;
}
.main-navbar .nav-link:hover,
.main-navbar .nav-link.active { color: var(--white); }
.nav-phone { color: rgba(255,255,255,.82); font-size: .92rem; font-weight: 600; }
.nav-phone:hover { color: var(--accent); }

.btn-accent {
  background: var(--accent);
  color: var(--white);
  border: 1px solid var(--accent);
  border-radius: 8px;
  font-weight: 700;
  padding: .78rem 1.25rem;
}
.btn-accent:hover, .btn-accent:focus { background: var(--accent-dark); border-color: var(--accent-dark); color: var(--white); }
.btn-outline-light-custom {
  color: var(--white);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 8px;
  font-weight: 700;
  padding: .78rem 1.25rem;
}
.btn-outline-light-custom:hover { color: var(--white); border-color: var(--white); background: rgba(255,255,255,.08); }

/* Hero */
.hero-section {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background: var(--bg-dark);
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(7,9,15,.82), rgba(7,9,15,.90)), url('https://boomtecincllc.us/wp-content/uploads/2026/07/photo-1739598772503-a81c407a574b.avif');
  background-size: cover;
  background-position: center;
}
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: .08;
  background-image: linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}
.hero-container { z-index: 2; }
.min-vh-75 { min-height: 76vh; padding: 90px 0; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.78);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.eyebrow > span { display: inline-block; width: 34px; height: 2px; background: var(--accent); }
.eyebrow-dark { color: #70798b; }
.hero-title {
  max-width: 930px;
  font-size: clamp(2.7rem, 6vw, 5.6rem);
  line-height: .99;
  letter-spacing: -.055em;
  font-weight: 800;
}
.hero-title span { color: var(--accent); }
.hero-text { max-width: 760px; color: rgba(255,255,255,.70); font-size: 1.08rem; }
.hero-buttons .btn { min-width: 210px; }
.hero-stats { max-width: 820px; border-top: 1px solid rgba(255,255,255,.13); padding-top: 28px; }
.stat-value { font-size: 1.65rem; font-weight: 800; letter-spacing: -.03em; }
.stat-label { color: rgba(255,255,255,.52); font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; }

/* Global sections */
.section-pad { padding: 100px 0; }
.section-muted { background: var(--bg-soft); }
.border-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-title {
  font-size: clamp(2.25rem, 4vw, 4rem);
  line-height: 1.05;
  letter-spacing: -.045em;
  font-weight: 800;
}

/* Feature section */
.feature-image-wrap { position: relative; }
.feature-image, .industry-image { width: 100%; min-height: 460px; object-fit: cover; border-radius: 14px; box-shadow: 0 24px 70px rgba(16,24,40,.12); }
.support-badge {
  position: absolute;
  left: 24px;
  bottom: 24px;
  background: var(--bg-dark);
  color: var(--white);
  padding: 13px 18px;
  border-radius: 8px;
  font-weight: 700;
  box-shadow: 0 15px 35px rgba(0,0,0,.22);
}
.feature-stack { display: grid; gap: 12px; }
.feature-item {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.feature-item:last-child { border-bottom: 0; }
.feature-item h3, .service-card h3, .industry-card h3, .process-card h3 { font-size: 1.15rem; font-weight: 800; margin: 0 0 8px; }
.feature-item p, .service-card p, .industry-card p, .process-card p { color: var(--muted); margin: 0; font-size: .95rem; }
.icon-box {
  width: 46px;
  height: 46px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 46px;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid #fed7bd;
  border-radius: 10px;
  font-size: 1rem;
}

/* Services */
.service-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 620px; }
.service-tags span { border: 1px solid var(--line); border-radius: 999px; padding: 7px 11px; color: #667085; font-size: .75rem; font-weight: 700; background: #fff; }
.service-card, .testimonial-card, .industry-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:hover, .testimonial-card:hover { transform: translateY(-5px); border-color: #f3c5a5; box-shadow: 0 18px 48px rgba(16,24,40,.08); }
.service-card .icon-box { margin-bottom: 36px; }
.service-card h3 { font-size: 1.2rem; }
.service-cta-card {
  color: var(--white);
  background: var(--bg-dark);
  border-radius: 12px;
  padding: 28px;
  min-height: 100%;
}
.service-cta-card small { color: var(--accent); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.service-cta-card h3 { font-size: 1.25rem; margin: 7px 0 0; max-width: 270px; }

/* Process */
.process-card { position: relative; padding: 6px 8px 0 0; }
.process-num { color: var(--accent); font-size: 1.1rem; font-weight: 900; letter-spacing: .04em; }
.process-line { height: 1px; background: #cfd4dc; margin: 18px 0 24px; position: relative; }
.process-line::before { content:""; position:absolute; left:0; top:-3px; width:7px; height:7px; background: var(--accent); border-radius:50%; }
.process-card h3 { font-size: 1.3rem; }

/* Industries */
.industry-card { display: flex; gap: 18px; height: 100%; padding: 24px; }
.industry-card .icon-box { width: 50px; height: 50px; flex-basis: 50px; font-size: 1.1rem; }
.industry-image { min-height: 520px; }

/* Testimonials */
.testimonial-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 320px; }
.quote-mark { color: var(--accent); font-family: Georgia, serif; font-size: 4.8rem; line-height: .65; margin-bottom: 25px; }
.testimonial-card > p { color: #4f5968; font-size: 1.03rem; }
.testimonial-foot { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 32px; display: flex; flex-direction: column; }
.testimonial-foot strong { font-size: .94rem; }
.testimonial-foot span { color: #8a94a3; font-size: .82rem; }

/* FAQ */
.faq-title { max-width: 450px; }
.faq-intro { max-width: 420px; color: var(--muted); margin-top: 22px; }
.faq-intro a { color: var(--accent); font-weight: 800; }
.custom-accordion .accordion-item { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.custom-accordion .accordion-button { padding: 24px 0; font-weight: 800; color: var(--text); background: transparent; box-shadow: none; }
.custom-accordion .accordion-button:not(.collapsed) { color: var(--accent); background: transparent; }
.custom-accordion .accordion-button::after { filter: none; }
.custom-accordion .accordion-body { padding: 0 0 24px; color: var(--muted); }

/* CTA and Footer */
.final-cta {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  color: var(--white);
  background: var(--bg-dark);
}
.final-cta::before {
  content:"";
  position:absolute;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(249,115,22,.15), transparent 68%);
}
.cta-icon { width: 52px; height: 52px; display:flex; align-items:center; justify-content:center; color: var(--accent); border: 1px solid rgba(249,115,22,.42); border-radius: 50%; background: rgba(249,115,22,.09); }
.final-cta h2 { font-size: clamp(2.35rem, 5vw, 4.4rem); letter-spacing: -.05em; font-weight: 800; }
.final-cta p { max-width: 720px; margin: 18px auto 0; color: rgba(255,255,255,.62); }
.main-footer { background: #05070b; color: rgba(255,255,255,.55); padding: 30px 0; border-top: 1px solid rgba(255,255,255,.08); font-size: .82rem; }
.footer-bolt { display:inline-flex; width:22px; height:22px; align-items:center; justify-content:center; background: var(--accent); color: white; border-radius:50%; font-size:.65rem; margin-right:8px; }
.footer-links a { color: rgba(255,255,255,.56); }
.footer-links a:hover { color: var(--white); }

@media (max-width: 991.98px) {
  .main-navbar { min-height: 72px; }
  .brand-logo { width: 170px; }
  .navbar-collapse { padding: 18px 0 8px; border-top: 1px solid rgba(255,255,255,.08); margin-top: 10px; }
  .nav-actions { display: grid; gap: 12px !important; padding-top: 12px; }
  .nav-actions .btn { width: max-content; }
  .hero-title { font-size: clamp(2.6rem, 9vw, 4.8rem); }
  .section-pad { padding: 80px 0; }
  .service-tags { justify-content: flex-start; }
  .industry-image { min-height: 420px; }
}

@media (max-width: 575.98px) {
  .min-vh-75 { min-height: auto; padding: 75px 0; }
  .hero-title { font-size: clamp(2.35rem, 12vw, 3.35rem); }
  .hero-text { font-size: .98rem; }
  .hero-buttons .btn { width: 100%; min-width: 0; }
  .section-pad { padding: 64px 0; }
  .section-title { font-size: 2.35rem; }
  .feature-image, .industry-image { min-height: 330px; }
  .support-badge { left: 16px; right: 16px; bottom: 16px; text-align: center; }
  .service-card, .testimonial-card, .industry-card, .service-cta-card { padding: 22px; }
  .industry-card { flex-direction: column; }
  .testimonial-card { min-height: auto; }
  .final-cta { padding: 78px 0; }
}



/* ===== Inner Pages ===== */
.page-hero {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  display: flex;
  align-items: center;
  color: #fff;
  background: #07090f;
  background-image: var(--page-bg);
  background-size: cover;
  background-position: center;
}
.page-hero-overlay { position:absolute; inset:0; background:rgba(7,9,15,.84); }
.page-hero .hero-grid { opacity:.08; }
.page-hero-content { z-index:2; padding-top:78px; padding-bottom:78px; }
.page-hero h1 { max-width:900px; font-size:clamp(3rem,6vw,5.3rem); line-height:1; letter-spacing:-.055em; font-weight:800; margin:0 0 22px; }
.page-hero-text { max-width:760px; color:rgba(255,255,255,.68); font-size:1.08rem; }
.legal-hero { min-height:330px; background-image:none; }
.legal-hero .page-hero-content { padding-top:64px; padding-bottom:64px; }
.legal-updated { color:rgba(255,255,255,.58); font-size:.95rem; }
.text-muted-custom { color:var(--muted); }

/* Detailed services */
.service-details-section { padding-top:40px; padding-bottom:50px; }
.service-detail { padding:75px 0; border-bottom:1px solid var(--line); }
.service-detail:last-child { border-bottom:0; }
.service-icon-lg { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border:1px solid #fed7bd; border-radius:12px; color:var(--accent); background:var(--accent-soft); font-size:1.3rem; }
.service-label { margin-top:24px; color:var(--accent); font-size:.78rem; text-transform:uppercase; letter-spacing:.13em; font-weight:800; }
.service-detail h2 { font-size:clamp(2.1rem,4vw,3.65rem); line-height:1.04; letter-spacing:-.045em; font-weight:800; margin:10px 0 18px; }
.service-detail-desc { max-width:610px; color:var(--muted); font-size:1.02rem; }
.included-box { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.included-title { font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; }
.included-box ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.included-box li { display:flex; gap:10px; align-items:flex-start; color:#4f5968; }
.included-box li i { color:var(--accent); margin-top:5px; }
.service-detail-image-wrap { position:relative; min-height:460px; }
.service-detail-image { width:100%; height:500px; object-fit:cover; border-radius:14px; box-shadow:0 24px 70px rgba(16,24,40,.13); }
.image-number { position:absolute; left:20px; bottom:20px; width:54px; height:54px; display:flex; align-items:center; justify-content:center; background:#07090f; color:#fff; border-radius:10px; font-weight:800; letter-spacing:.05em; }
.compact-cta { padding:82px 0; }

/* Contact */
.contact-title { max-width:650px; }
.phone-card { display:flex; gap:18px; align-items:flex-start; padding:26px; background:#07090f; color:#fff; border-radius:14px; }
.contact-icon { width:48px; height:48px; flex:0 0 48px; display:flex; align-items:center; justify-content:center; border-radius:10px; color:var(--accent); background:rgba(249,115,22,.1); border:1px solid rgba(249,115,22,.3); }
.mini-label { color:rgba(255,255,255,.5); font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.phone-number { display:inline-block; color:#fff; font-size:1.55rem; font-weight:800; margin:3px 0 2px; }
.phone-number:hover { color:var(--accent); }
.phone-card p { margin:0; color:rgba(255,255,255,.55); font-size:.88rem; }
.contact-stat { height:100%; border:1px solid var(--line); border-radius:12px; padding:20px; background:#fff; }
.contact-stat span,.contact-stat strong,.contact-stat small { display:block; }
.contact-stat span { color:#8a94a3; font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.contact-stat strong { font-size:1.1rem; margin:5px 0 2px; }
.contact-stat small { color:var(--muted); }
.contact-visual { position:relative; min-height:620px; border-radius:16px; overflow:hidden; background:#07090f; }
.contact-image { width:100%; height:100%; min-height:620px; object-fit:cover; opacity:.78; }
.contact-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(7,9,15,.97) 0%,rgba(7,9,15,.12) 65%); }
.contact-panel { position:absolute; z-index:2; left:34px; right:34px; bottom:32px; color:#fff; }
.contact-panel h2 { font-size:2rem; font-weight:800; letter-spacing:-.035em; }
.contact-panel p { color:rgba(255,255,255,.65); max-width:580px; }
.contact-bottom-copy { max-width:720px; }

/* Legal */
.legal-main { background:#f6f7f9; }
.legal-card { max-width:940px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:16px; padding:clamp(26px,5vw,64px); box-shadow:0 20px 60px rgba(16,24,40,.06); }
.legal-intro { color:#4f5968; font-size:1.04rem; padding-bottom:30px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.legal-section { padding:28px 0 4px; }
.legal-section + .legal-section { border-top:1px solid var(--line); }
.legal-section h2 { font-size:1.35rem; line-height:1.3; font-weight:800; margin-bottom:13px; }
.legal-section p,.legal-section li { color:#5f6978; }
.legal-section ul { padding-left:1.25rem; }
.legal-card a { color:var(--accent); font-weight:700; }
.legal-card a:hover { color:var(--accent-dark); }

@media (max-width:991.98px){
  .page-hero{min-height:360px}.page-hero-content{padding-top:62px;padding-bottom:62px}
  .service-detail{padding:55px 0}.service-detail-image{height:420px}.contact-visual,.contact-image{min-height:560px}
}
@media (max-width:575.98px){
  .page-hero{min-height:315px}.page-hero h1{font-size:2.7rem}.page-hero-text{font-size:.98rem}
  .service-detail{padding:44px 0}.service-detail-image-wrap{min-height:auto}.service-detail-image{height:330px}
  .phone-card{padding:21px}.phone-number{font-size:1.2rem}.contact-visual,.contact-image{min-height:510px}
  .contact-panel{left:22px;right:22px;bottom:22px}.contact-panel h2{font-size:1.65rem}
}
