/*
 * Alpha Computer Repair — Main Stylesheet
 * Version: 1.0.0
 * Industrial Tech / Bold Orange aesthetic
 */

/* =========================================
   CSS CUSTOM PROPERTIES
========================================= */
:root {
  --bg:       #0c0d0f;
  --bg2:      #111316;
  --bg3:      #161a1e;
  --card:     #1a1d22;
  --card2:    #1f2329;
  --orange:   #ff6b1a;
  --orange2:  #ff8c42;
  --amber:    #ffb347;
  --white:    #f2f4f7;
  --gray:     #7a8394;
  --lgray:    #b0b8c8;
  --border:   rgba(255,107,26,0.12);
  --border2:  rgba(255,255,255,0.06);
  --glow:     0 0 40px rgba(255,107,26,0.25);
  --shadow:   0 24px 60px rgba(0,0,0,0.5);
}

/* =========================================
   RESET & BASE
========================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Outfit', sans-serif;
  background: var(--bg);
  color: var(--white);
  overflow-x: hidden;
  line-height: 1.6;
}
h1,h2,h3,h4,h5 { font-family: 'Outfit', sans-serif; line-height: 1.15; font-weight: 800; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--orange); border-radius: 3px; }

/* =========================================
   ANNOUNCEMENT BAR
========================================= */
.topbar {
  background: linear-gradient(90deg, var(--orange), var(--orange2), var(--amber), var(--orange2), var(--orange));
  background-size: 300% 100%;
  animation: gradShift 5s ease infinite;
  text-align: center;
  padding: 9px 5%;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0c0d0f;
  letter-spacing: 0.3px;
  position: relative;
  z-index: 1001;
}
@keyframes gradShift { 0%,100%{background-position:0%} 50%{background-position:100%} }
.topbar a { color: #0c0d0f; text-decoration: underline; font-weight: 700; }

/* =========================================
   NAVBAR
========================================= */
nav#mainNav {
  position: fixed; top: 36px; left: 0; right: 0;
  z-index: 1000;
  padding: 0 5%;
  display: flex; align-items: center; justify-content: space-between;
  height: 68px;
  background: rgba(12,13,15,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border2);
  transition: top 0.3s ease;
}
nav#mainNav.scrolled { top: 0; border-bottom-color: var(--border); }

.logo {
  display: flex; align-items: center; gap: 11px;
  font-weight: 900; font-size: 1.25rem; letter-spacing: -0.5px;
}
.logo-mark {
  width: 40px; height: 40px;
  background: var(--orange);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  box-shadow: var(--glow);
  position: relative; overflow: hidden;
}
.logo-mark::after {
  content: '';
  position: absolute; top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(135deg, rgba(255,255,255,0.2), transparent 60%);
}
.logo-text { display: flex; flex-direction: column; line-height: 1; }
.logo-alpha { color: var(--orange); font-size: 1.1rem; }
.logo-sub { color: var(--gray); font-size: 0.65rem; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; margin-top: 1px; }

.nav-links { display: flex; gap: 28px; list-style: none; font-size: 0.88rem; font-weight: 500; }
.nav-links li a, .nav-links a {
  color: var(--lgray); transition: color 0.2s;
  position: relative; padding-bottom: 2px;
}
.nav-links li a::after, .nav-links a::after {
  content: ''; position: absolute; bottom: -2px; left: 0;
  width: 0; height: 2px; background: var(--orange);
  border-radius: 2px; transition: width 0.3s;
}
.nav-links li a:hover, .nav-links a:hover { color: var(--white); }
.nav-links li a:hover::after, .nav-links a:hover::after { width: 100%; }

.nav-phone {
  display: flex; align-items: center; gap: 8px;
  background: var(--orange); color: #0c0d0f !important;
  padding: 9px 20px; border-radius: 8px;
  font-weight: 700; font-size: 0.88rem;
  transition: all 0.2s; white-space: nowrap;
}
.nav-phone::after { display: none !important; }
.nav-phone:hover { background: var(--orange2); transform: translateY(-2px); box-shadow: var(--glow); }

.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.hamburger span { display: block; width: 24px; height: 2px; background: var(--white); border-radius: 2px; transition: all 0.3s; }

.mob-menu {
  position: fixed; top: 104px; left: 0; right: 0;
  background: rgba(12,13,15,0.98);
  backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border);
  padding: 12px 5% 24px; z-index: 999;
  transform: translateY(-110%);
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.mob-menu.open { transform: translateY(0); }
.mob-menu a {
  display: block; padding: 14px 0;
  border-bottom: 1px solid var(--border2);
  color: var(--lgray); font-size: 1rem; font-weight: 500;
  transition: color 0.2s;
}
.mob-menu a:last-child { border-bottom: none; }
.mob-menu a:hover { color: var(--orange); }

/* =========================================
   HERO SECTION
========================================= */
#home {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding: 140px 5% 80px;
  position: relative; overflow: hidden;
}
.hero-diagonal {
  position: absolute; top: 0; right: 0; width: 55%; height: 100%;
  background: linear-gradient(160deg, rgba(255,107,26,0.07) 0%, transparent 60%);
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
  pointer-events: none;
}
.hero-diagonal::before {
  content: '';
  position: absolute; top: 0; left: 15%;
  width: 1px; height: 100%;
  background: linear-gradient(180deg, transparent, var(--orange), transparent);
  opacity: 0.3;
}
.hero-dots {
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,107,26,0.12) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(ellipse 70% 70% at 80% 50%, black, transparent);
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at 80% 50%, black, transparent);
  pointer-events: none;
}
.hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,107,26,0.1);
  border: 1px solid rgba(255,107,26,0.3);
  color: var(--orange2);
  padding: 7px 16px; border-radius: 4px;
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  margin-bottom: 28px; width: fit-content;
  animation: fadeUp 0.5s ease both;
}
.live-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--orange);
  animation: blink 1.6s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.hero-h1 {
  font-size: clamp(2.8rem, 6.5vw, 6rem);
  font-weight: 900; letter-spacing: -2.5px; line-height: 1.0;
  margin-bottom: 6px; animation: fadeUp 0.5s 0.1s ease both;
}
.hero-h1 .accent { color: var(--orange); display: block; }
.hero-h1 .outline { -webkit-text-stroke: 2px var(--white); color: transparent; }
.hero-sub {
  font-size: 1.1rem; color: var(--lgray);
  max-width: 540px; margin: 24px 0 40px;
  line-height: 1.75; animation: fadeUp 0.5s 0.2s ease both; font-weight: 400;
}
.hero-sub strong { color: var(--white); font-weight: 600; }
.hero-ctas {
  display: flex; gap: 14px; flex-wrap: wrap;
  animation: fadeUp 0.5s 0.3s ease both; margin-bottom: 64px;
}
.hero-stats {
  display: flex; gap: 40px; flex-wrap: wrap;
  animation: fadeUp 0.5s 0.4s ease both;
  padding-top: 48px; border-top: 1px solid var(--border2); max-width: 620px;
}
.hstat { display: flex; flex-direction: column; }
.hstat-n { font-size: 2.2rem; font-weight: 900; line-height: 1; color: var(--white); }
.hstat-n em { color: var(--orange); font-style: normal; }
.hstat-l { font-size: 0.8rem; color: var(--gray); margin-top: 4px; font-weight: 400; }
.hero-visual {
  position: absolute; right: 5%; top: 50%;
  transform: translateY(-50%);
  width: min(420px, 42vw);
  animation: levitate 7s ease-in-out infinite;
  display: none;
}
@keyframes levitate { 0%,100%{transform:translateY(-50%)} 50%{transform:translateY(-55%)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)} }

/* Terminal */
.terminal {
  background: var(--card);
  border: 1px solid rgba(255,107,26,0.2);
  border-radius: 14px; overflow: hidden;
  box-shadow: var(--shadow), 0 0 60px rgba(255,107,26,0.1);
}
.term-bar {
  background: #0f1114; padding: 12px 16px;
  display: flex; align-items: center; gap: 7px;
  border-bottom: 1px solid var(--border2);
}
.tdot { width: 11px; height: 11px; border-radius: 50%; }
.tdot.r{background:#ff5f57}.tdot.y{background:#febc2e}.tdot.g{background:#28c840}
.term-title { margin-left: 8px; font-size: 0.75rem; color: var(--gray); font-family: monospace; }
.term-body { padding: 22px; font-family: monospace; font-size: 0.82rem; line-height: 2; }
.tl { display: flex; align-items: baseline; gap: 8px; }
.tl .prompt{color:var(--orange);flex-shrink:0}
.tl .cmd{color:#a8d8a8}
.tl .out{color:var(--lgray)}
.tl .ok{color:#5af78e}
.tl .warn{color:#ffb347}
.tl .err{color:#ff6b6b}
.cursor { display: inline-block; width: 8px; height: 14px; background: var(--orange); animation: curBlink 1s step-end infinite; vertical-align: text-bottom; }
@keyframes curBlink { 0%,100%{opacity:1}50%{opacity:0} }

/* =========================================
   SHARED SECTION STYLES
========================================= */
section { padding: 100px 5%; }
.sec-label {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 3px; color: var(--orange); margin-bottom: 14px;
}
.sec-label::before { content:''; width:28px; height:2px; background:var(--orange); border-radius:2px; flex-shrink:0; }
.sec-title { font-size: clamp(1.9rem,4vw,3.2rem); font-weight:900; letter-spacing:-1.5px; margin-bottom:14px; line-height:1.1; }
.sec-sub { color:var(--lgray); font-size:1rem; max-width:540px; line-height:1.75; margin-bottom:56px; font-weight:400; }

/* Buttons */
.btn-cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 15px 30px; border-radius: 6px;
  font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 0.95rem;
  cursor: pointer; border: none; transition: all 0.25s;
}
.btn-cta.primary { background: var(--orange); color: #0c0d0f; }
.btn-cta.primary:hover { background: var(--orange2); transform: translateY(-3px); box-shadow: var(--glow); }
.btn-cta.ghost { background: transparent; color: var(--white); border: 1px solid rgba(255,255,255,0.15); }
.btn-cta.ghost:hover { border-color: var(--orange); color: var(--orange); }

/* =========================================
   TRUST STRIP
========================================= */
.trust-strip {
  background: var(--bg3);
  border-top: 1px solid var(--border2); border-bottom: 1px solid var(--border2);
  padding: 24px 5%;
  display: flex; align-items: center; justify-content: center;
  gap: 40px; flex-wrap: wrap;
}
.trust-item { display:flex; align-items:center; gap:9px; font-size:0.85rem; font-weight:500; color:var(--lgray); white-space:nowrap; }
.trust-icon { font-size:1.1rem; }
.trust-divider { width:1px; height:20px; background:var(--border2); }

/* =========================================
   ABOUT
========================================= */
#about { background: var(--bg2); }
.about-wrap { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.about-left { position:relative; }
.about-bigcard {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:40px; position:relative; overflow:hidden;
}
.about-bigcard::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--orange),var(--amber)); }
.about-bigcard::after { content:''; position:absolute; bottom:-80px; right:-80px; width:200px; height:200px; background:radial-gradient(circle,rgba(255,107,26,.15),transparent 70%); border-radius:50%; }
.alpha-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,107,26,.1); border:1px solid rgba(255,107,26,.25); color:var(--orange); padding:6px 14px; border-radius:4px; font-size:.75rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px; }
.about-bigcard h2, .about-bigcard h3 { font-size:1.5rem; margin-bottom:14px; }
.about-bigcard p { color:var(--lgray); font-size:.93rem; line-height:1.75; margin-bottom:14px; }
.tech-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.tech-tag { background:rgba(255,255,255,.05); border:1px solid var(--border2); color:var(--lgray); padding:5px 13px; border-radius:4px; font-size:.78rem; font-weight:600; transition:all .2s; }
.tech-tag:hover { border-color:var(--orange); color:var(--orange); }
.about-float-card { position:absolute; bottom:-24px; right:-24px; background:var(--orange); color:#0c0d0f; border-radius:12px; padding:18px 22px; font-weight:900; box-shadow:var(--shadow),var(--glow); z-index:2; }
.afc-num { font-size:2rem; line-height:1; }
.afc-lbl { font-size:.68rem; font-weight:700; letter-spacing:.5px; opacity:.8; margin-top:3px; }
.about-values { display:flex; flex-direction:column; gap:16px; margin-top:32px; }
.value-row { display:flex; gap:16px; align-items:flex-start; padding:18px 20px; background:var(--card); border:1px solid var(--border2); border-radius:10px; transition:all .3s; }
.value-row:hover { border-color:var(--border); transform:translateX(4px); }
.val-icon { width:40px; height:40px; flex-shrink:0; background:rgba(255,107,26,.1); border:1px solid rgba(255,107,26,.2); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.val-text h3, .val-text h4 { font-size:.95rem; margin-bottom:3px; }
.val-text p { font-size:.85rem; color:var(--gray); line-height:1.5; }
.val-text a { color:var(--orange); font-weight:600; }

/* =========================================
   SERVICES
========================================= */
#services { background:var(--bg); }
.services-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:20px; }
.svc-card { background:var(--card); border:1px solid var(--border2); border-radius:14px; padding:30px; transition:all .3s; position:relative; overflow:hidden; cursor:pointer; }
.svc-card::before { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--orange),var(--amber)); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.svc-card:hover { border-color:var(--border); transform:translateY(-5px); box-shadow:var(--shadow); }
.svc-card:hover::before { transform:scaleX(1); }
.svc-icon-wrap { width:52px; height:52px; background:rgba(255,107,26,.1); border:1px solid rgba(255,107,26,.2); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:18px; transition:all .3s; }
.svc-card:hover .svc-icon-wrap { background:var(--orange); border-color:var(--orange); }
.svc-card h3 { font-size:1.05rem; margin-bottom:10px; }
.svc-card p { font-size:.87rem; color:var(--gray); line-height:1.65; margin-bottom:16px; }
.svc-more { font-size:.82rem; color:var(--orange); font-weight:600; display:flex; align-items:center; gap:5px; transition:gap .2s; }
.svc-card:hover .svc-more { gap:9px; }

/* =========================================
   HOW IT WORKS
========================================= */
.how-strip { background:var(--bg3); padding:80px 5%; border-top:1px solid var(--border2); border-bottom:1px solid var(--border2); position:relative; overflow:hidden; }
.how-strip::before { content:'ALPHA'; position:absolute; font-size:12rem; font-weight:900; color:rgba(255,107,26,.03); top:50%; left:50%; transform:translate(-50%,-50%); white-space:nowrap; letter-spacing:-4px; pointer-events:none; user-select:none; }
.steps-row { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:56px; position:relative; }
.steps-row::before { content:''; position:absolute; top:26px; left:calc(12.5%); right:calc(12.5%); height:1px; background:linear-gradient(90deg,transparent,var(--border),var(--border),transparent); }
.step { display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; z-index:1; }
.step-circle { width:52px; height:52px; border-radius:50%; background:var(--card); border:2px solid var(--orange); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:18px; box-shadow:0 0 20px rgba(255,107,26,.2); }
.step h3, .step h4 { font-size:.95rem; margin-bottom:8px; }
.step p { font-size:.82rem; color:var(--gray); line-height:1.6; }
.step a { color:var(--orange); font-weight:600; }

/* =========================================
   PRICING
========================================= */
#pricing { background:var(--bg2); }
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:20px; max-width:1160px; margin:0 auto; }
.price-card { background:var(--card); border:1px solid var(--border2); border-radius:14px; padding:34px 30px; position:relative; transition:all .3s; display:flex; flex-direction:column; }
.price-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.price-card.featured { background:linear-gradient(160deg,#1e1408,#1a1209); border-color:var(--orange); box-shadow:0 0 50px rgba(255,107,26,.12); }
.feat-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--orange); color:#0c0d0f; padding:4px 18px; border-radius:20px; font-size:.73rem; font-weight:800; letter-spacing:.5px; white-space:nowrap; }
.p-tier { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:2.5px; color:var(--orange); margin-bottom:8px; }
.p-name { font-size:1.5rem; font-weight:900; margin-bottom:6px; }
.p-tagline { font-size:.83rem; color:var(--gray); margin-bottom:28px; line-height:1.5; }
.p-price { display:flex; align-items:baseline; gap:3px; margin-bottom:30px; }
.p-dollar { font-size:1.3rem; font-weight:800; color:var(--orange); }
.p-amount { font-size:3.4rem; font-weight:900; line-height:1; }
.p-cycle { font-size:.82rem; color:var(--gray); }
.p-features { list-style:none; display:flex; flex-direction:column; gap:11px; margin-bottom:30px; flex:1; }
.p-features li { display:flex; align-items:flex-start; gap:10px; font-size:.88rem; }
.p-features li .chk { color:var(--orange); font-size:.9rem; flex-shrink:0; margin-top:1px; }
.p-features li .no { color:#3a3f47; flex-shrink:0; }
.p-features li span:last-child { color:var(--lgray); }
.p-features li.dim span:last-child { color:#3a3f47; }
.p-btn { width:100%; padding:14px; border-radius:7px; font-family:'Outfit',sans-serif; font-weight:700; font-size:.9rem; cursor:pointer; border:none; transition:all .25s; margin-top:auto; }
.p-btn.solid { background:var(--orange); color:#0c0d0f; }
.p-btn.solid:hover { background:var(--orange2); box-shadow:var(--glow); }
.p-btn.outline { background:transparent; border:1px solid rgba(255,255,255,.12); color:var(--white); }
.p-btn.outline:hover { border-color:var(--orange); color:var(--orange); }

/* =========================================
   BLOG
========================================= */
#blog { background:var(--bg); }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:22px; }
.blog-card { background:var(--card); border:1px solid var(--border2); border-radius:14px; overflow:hidden; transition:all .3s; }
.blog-card:hover { border-color:var(--border); transform:translateY(-4px); box-shadow:var(--shadow); }
.blog-thumb { height:190px; display:flex; align-items:center; justify-content:center; font-size:4.5rem; overflow:hidden; }
.blog-thumb img { width:100%; height:100%; object-fit:cover; }
.bt-a{background:linear-gradient(135deg,#1a0f00,#2e1800)}
.bt-b{background:linear-gradient(135deg,#001a1a,#002828)}
.bt-c{background:linear-gradient(135deg,#0f0a1a,#1a1030)}
.blog-body { padding:24px; }
.blog-meta { display:flex; align-items:center; gap:10px; font-size:.75rem; color:var(--gray); margin-bottom:12px; }
.b-tag { background:rgba(255,107,26,.12); border:1px solid rgba(255,107,26,.2); color:var(--orange); padding:3px 10px; border-radius:3px; font-weight:700; font-size:.7rem; text-transform:uppercase; letter-spacing:.5px; }
.blog-card h3 { font-size:1rem; font-weight:700; margin-bottom:10px; line-height:1.4; }
.blog-card h3 a { color:var(--white); transition:color .2s; }
.blog-card h3 a:hover { color:var(--orange); }
.blog-card p { font-size:.85rem; color:var(--gray); line-height:1.65; margin-bottom:18px; }
.blog-link { font-size:.82rem; color:var(--orange); font-weight:700; display:flex; align-items:center; gap:5px; }

/* =========================================
   US COVERAGE
========================================= */
#coverage { background:var(--bg3); padding:100px 5%; }
.coverage-inner { max-width:900px; margin:0 auto; }
.us-map-card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:40px; margin-bottom:50px; position:relative; overflow:hidden; }
.us-map-card::before { content:'🇺🇸'; position:absolute; top:-10px; right:20px; font-size:8rem; opacity:.08; }
.states-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:8px; margin-top:28px; }
.state-chip { background:rgba(255,255,255,.04); border:1px solid var(--border2); border-radius:6px; padding:9px 12px; font-size:.78rem; color:var(--gray); text-align:center; transition:all .2s; }
.state-chip:hover { border-color:var(--orange); color:var(--orange2); }
.state-chip.hq { background:rgba(255,107,26,.1); border-color:rgba(255,107,26,.35); color:var(--orange); font-weight:700; }
.why-remote { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.wr-card { background:var(--card); border:1px solid var(--border2); border-radius:12px; padding:24px; text-align:center; transition:all .3s; }
.wr-card:hover { border-color:var(--border); }
.wr-icon { font-size:2rem; margin-bottom:12px; }
.wr-card h3, .wr-card h4 { font-size:.9rem; margin-bottom:6px; }
.wr-card p { font-size:.8rem; color:var(--gray); line-height:1.55; }

/* =========================================
   FAQ
========================================= */
.faq-wrap-section { background:var(--bg2); padding:100px 5%; border-top:1px solid var(--border2); }
.faq-list { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.faq-item { background:var(--card); border:1px solid var(--border2); border-radius:10px; overflow:hidden; }
.faq-q { padding:20px 22px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; font-size:.95rem; gap:14px; transition:color .2s; user-select:none; }
.faq-q:hover { color:var(--orange); }
.faq-arrow { width:28px; height:28px; flex-shrink:0; border-radius:6px; border:1px solid var(--border2); display:flex; align-items:center; justify-content:center; font-size:.7rem; color:var(--orange); transition:all .3s; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease; padding:0 22px; }
.faq-a p { color:var(--lgray); font-size:.9rem; line-height:1.75; padding-bottom:20px; }
.faq-a a { color:var(--orange); font-weight:600; }
.faq-item.open .faq-a { max-height:300px; }
.faq-item.open .faq-arrow { background:var(--orange); border-color:var(--orange); color:#0c0d0f; transform:rotate(180deg); }

/* =========================================
   CTA BAND
========================================= */
.cta-band { background:var(--orange); padding:80px 5%; text-align:center; position:relative; overflow:hidden; }
.cta-band::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 1px,transparent 1px,transparent 20px); }
.cta-band h2 { font-size:clamp(1.8rem,4vw,3rem); color:#0c0d0f; font-weight:900; letter-spacing:-1px; margin-bottom:14px; position:relative; }
.cta-band p { color:rgba(12,13,15,.7); font-size:1rem; margin-bottom:36px; position:relative; }
.cta-band-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; }
.btn-dark { background:#0c0d0f; color:var(--orange); padding:16px 32px; border-radius:6px; font-family:'Outfit',sans-serif; font-weight:800; border:none; cursor:pointer; font-size:1rem; transition:all .25s; display:inline-flex; align-items:center; gap:8px; }
.btn-dark:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(0,0,0,.3); }
.btn-trans { background:transparent; color:#0c0d0f; padding:16px 32px; border-radius:6px; font-family:'Outfit',sans-serif; font-weight:700; border:2px solid rgba(0,0,0,.25); cursor:pointer; font-size:1rem; transition:all .25s; display:inline-flex; align-items:center; gap:8px; }
.btn-trans:hover { background:rgba(0,0,0,.1); }

/* =========================================
   CONTACT
========================================= */
#contact { background:var(--bg); }
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:56px; align-items:start; }
.contact-info-col { display:flex; flex-direction:column; gap:16px; }
.c-card { background:var(--card); border:1px solid var(--border2); border-radius:12px; padding:20px; display:flex; gap:15px; align-items:flex-start; transition:border-color .3s; }
.c-card:hover { border-color:var(--border); }
.c-ico { width:44px; height:44px; flex-shrink:0; background:rgba(255,107,26,.1); border:1px solid rgba(255,107,26,.2); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.c-card h4 { font-size:.78rem; font-weight:600; color:var(--gray); letter-spacing:.5px; margin-bottom:4px; text-transform:uppercase; }
.c-card p, .c-card a { font-size:.92rem; font-weight:500; color:var(--white); }
.c-card a:hover { color:var(--orange); }
.hours-table { width:100%; font-size:.82rem; margin-top:4px; }
.hours-table tr td:first-child { color:var(--gray); padding-right:16px; }
.hours-table tr td:last-child { color:var(--white); font-weight:500; }
.c-form { background:var(--card); border:1px solid var(--border2); border-radius:16px; padding:40px; }
.c-form h3 { font-size:1.4rem; margin-bottom:6px; }
.c-form .f-sub { font-size:.87rem; color:var(--gray); margin-bottom:28px; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.f-group { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; }
.f-group label { font-size:.82rem; font-weight:600; color:var(--lgray); }
.f-group input, .f-group textarea, .f-group select {
  background:rgba(255,255,255,.04); border:1px solid var(--border2); border-radius:8px;
  padding:13px 16px; color:var(--white); font-family:'Outfit',sans-serif;
  font-size:.9rem; outline:none; transition:border-color .2s,background .2s; width:100%; -webkit-appearance:none;
}
.f-group select option { background:var(--card); }
.f-group input:focus, .f-group textarea:focus, .f-group select:focus { border-color:var(--orange); background:rgba(255,107,26,.04); }
.f-group textarea { resize:vertical; min-height:120px; }
.f-submit { width:100%; padding:16px; border-radius:8px; font-family:'Outfit',sans-serif; font-weight:800; font-size:1rem; cursor:pointer; border:none; background:var(--orange); color:#0c0d0f; transition:all .25s; display:flex; align-items:center; justify-content:center; gap:8px; }
.f-submit:hover { background:var(--orange2); box-shadow:var(--glow); transform:translateY(-2px); }
.f-success { display:none; align-items:center; gap:10px; background:rgba(90,247,142,.08); border:1px solid rgba(90,247,142,.25); color:#5af78e; padding:14px 18px; border-radius:8px; font-size:.88rem; margin-top:14px; font-weight:500; }

/* =========================================
   FOOTER
========================================= */
footer { background:#070809; border-top:1px solid var(--border2); padding:72px 5% 32px; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:48px; margin-bottom:56px; }
.footer-brand p { color:var(--gray); font-size:.88rem; line-height:1.75; margin:16px 0 24px; }
.social-row { display:flex; gap:10px; }
.s-btn { width:38px; height:38px; border-radius:8px; background:var(--card); border:1px solid var(--border2); display:flex; align-items:center; justify-content:center; font-size:1rem; cursor:pointer; transition:all .2s; text-decoration:none; }
.s-btn:hover { border-color:var(--orange); background:rgba(255,107,26,.1); }
.f-col h5 { font-size:.72rem; text-transform:uppercase; letter-spacing:2.5px; color:var(--gray); margin-bottom:20px; font-weight:700; }
.f-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.f-col li a { font-size:.88rem; color:var(--gray); transition:color .2s; display:flex; align-items:center; gap:6px; }
.f-col li a:hover { color:var(--orange); }
.f-bottom { border-top:1px solid var(--border2); padding-top:28px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.f-bottom p { font-size:.82rem; color:var(--gray); }
.f-bottom-links { display:flex; gap:24px; }
.f-bottom-links a { font-size:.82rem; color:var(--gray); transition:color .2s; }
.f-bottom-links a:hover { color:var(--orange); }

/* =========================================
   BACK TO TOP
========================================= */
.btt { position:fixed; bottom:24px; right:24px; width:46px; height:46px; background:var(--orange); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; cursor:pointer; z-index:999; box-shadow:var(--glow); border:none; color:#0c0d0f; font-weight:900; opacity:0; transform:translateY(16px); transition:all .3s; }
.btt.show { opacity:1; transform:translateY(0); }
.btt:hover { background:var(--orange2); transform:translateY(-4px); }

/* =========================================
   SCROLL REVEAL
========================================= */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease,transform .65s ease; }
.reveal.vis { opacity:1; transform:translateY(0); }

/* =========================================
   SINGLE BLOG POST CONTENT
========================================= */
.entry-content h2 { font-size:1.5rem; font-weight:800; margin:32px 0 14px; color:var(--white); }
.entry-content h3 { font-size:1.2rem; font-weight:700; margin:24px 0 10px; color:var(--white); }
.entry-content p { margin-bottom:18px; }
.entry-content ul, .entry-content ol { padding-left:24px; margin-bottom:18px; color:var(--lgray); }
.entry-content li { margin-bottom:6px; line-height:1.7; }
.entry-content a { color:var(--orange); font-weight:600; }
.entry-content a:hover { text-decoration:underline; }
.entry-content strong { color:var(--white); font-weight:700; }
.entry-content blockquote { border-left:3px solid var(--orange); padding:16px 24px; background:var(--card); border-radius:0 8px 8px 0; margin:24px 0; color:var(--lgray); font-style:italic; }
.entry-content code { background:var(--card); color:var(--orange); padding:2px 6px; border-radius:4px; font-family:monospace; font-size:.9em; }
.entry-content pre { background:var(--card); border:1px solid var(--border2); border-radius:8px; padding:20px; overflow-x:auto; margin-bottom:18px; }
.entry-content img { border-radius:8px; margin-bottom:18px; }

/* =========================================
   RESPONSIVE
========================================= */
@media (min-width: 960px) { .hero-visual { display:block; } }

@media (max-width: 1100px) {
  .footer-top { grid-template-columns:1fr 1fr; }
}

@media (max-width: 960px) {
  .hero-visual { display:none; }
  .about-wrap { grid-template-columns:1fr; gap:40px; }
  .contact-grid { grid-template-columns:1fr; }
  .steps-row { grid-template-columns:1fr 1fr; }
  .steps-row::before { display:none; }
}

@media (max-width: 768px) {
  .nav-links, .nav-phone { display:none; }
  .hamburger { display:flex; }
  .topbar { font-size:.75rem; padding:8px 4%; }
  .f-row { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:32px; }
  section { padding:72px 5%; }
  .trust-strip { gap:16px; }
  .trust-divider { display:none; }
  .hero-stats { gap:24px; }
}

@media (max-width: 480px) {
  .steps-row { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
}
