/* ════════════════════════════════════════════════════════════════════
   APEX HOME SERVICES — Shared stylesheet (all pages)
   ════════════════════════════════════════════════════════════════════ */

:root{
  --navy:#0d1b2a;
  --navy-mid:#1b2c3f;
  --navy-light:#2a3f57;
  --orange:#ff6a13;
  --orange-light:#ff8a3d;
  --orange-dark:#e25400;
  --white:#ffffff;
  --muted:#9aa6b3;
  --muted-light:#c5cdd5;
  --border:rgba(255,255,255,0.1);
  --border-strong:rgba(255,255,255,0.2);
  --font-cond:'Barlow Condensed',Impact,sans-serif;
  --font-sans:'Barlow','Helvetica Neue',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;width:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  background:var(--navy);color:var(--white);
  font-family:var(--font-sans);font-weight:400;line-height:1.55;
  overflow-x:hidden;width:100%;max-width:100vw;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img,svg,video{max-width:100%;display:block;}

/* ── NAV (shared across all pages) ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(13,27,42,0.96);
  border-bottom:1px solid var(--border);
  padding:1rem 5%;
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.nav-brand{display:flex;align-items:center;gap:0.75rem;}
.nav-logo{
  width:46px;height:46px;background:var(--orange);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-cond);font-size:1.4rem;font-weight:900;
  color:var(--white);letter-spacing:0;
}
.nav-name{
  font-family:var(--font-cond);font-size:1.15rem;font-weight:800;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--white);
}
.nav-name span{color:var(--orange);}
.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center;}
.nav-links a{
  font-family:var(--font-cond);font-size:0.92rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.75);
  transition:color 0.2s;padding:0.4rem 0;border-bottom:2px solid transparent;
}
.nav-links a:hover,.nav-links a.active{color:var(--orange);border-bottom-color:var(--orange);}
.nav-phone{
  background:var(--orange);color:var(--white);
  font-family:var(--font-cond);font-size:0.92rem;font-weight:800;
  letter-spacing:0.06em;text-transform:uppercase;
  padding:0.7rem 1.4rem;transition:background 0.2s;
}
.nav-phone:hover{background:var(--orange-light);}
.nav-toggle{display:none;background:none;border:none;color:var(--white);cursor:pointer;}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--white);margin:6px 0;transition:0.2s;}
.mobile-menu{
  display:none;position:fixed;top:78px;left:0;right:0;
  background:var(--navy);border-bottom:1px solid var(--border);
  padding:1.5rem 5%;flex-direction:column;gap:1rem;z-index:99;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  font-family:var(--font-cond);font-size:1rem;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--white);
  padding:0.7rem 0;border-bottom:1px solid var(--border);
}
.mobile-menu a:last-of-type{border-bottom:none;}
@media(max-width:880px){
  .nav-links,.nav-phone{display:none;}
  .nav-toggle{display:block;}
  nav{padding:0.85rem 5%;height:68px;}
  .mobile-menu{top:68px;}
}

/* ── PAGE HERO (subpages) ── */
.page-hero{
  position:relative;padding:11rem 5% 5rem;background:var(--navy);
  border-bottom:3px solid var(--orange);overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,106,19,0.08) 0%,transparent 60%);
  pointer-events:none;
}
.page-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.page-hero-eyebrow{
  font-family:var(--font-cond);font-size:0.85rem;font-weight:700;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--orange);
  display:flex;align-items:center;gap:0.7rem;margin-bottom:1rem;
}
.page-hero-eyebrow::before{content:'';width:32px;height:2px;background:var(--orange);}
.page-hero h1{
  font-family:var(--font-cond);
  font-size:clamp(2.8rem,7vw,5.5rem);
  font-weight:900;line-height:0.96;text-transform:uppercase;
  color:var(--white);letter-spacing:-0.005em;margin-bottom:1.25rem;
}
.page-hero h1 span{color:var(--orange);}
.page-hero-sub{
  font-size:1.05rem;color:var(--muted-light);max-width:600px;line-height:1.7;
}
@media(max-width:768px){
  .page-hero{padding:7.5rem 5% 3rem;}
}

/* ── SECTION ── */
.section{padding:5rem 5%;}
.section-inner{max-width:1200px;margin:0 auto;}
.bg-mid{background:var(--navy-mid);}
.bg-light{background:var(--navy-light);}
.section-eyebrow{
  font-family:var(--font-cond);font-size:0.78rem;font-weight:700;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--orange);
  margin-bottom:0.75rem;display:flex;align-items:center;gap:0.6rem;
}
.section-eyebrow::before{content:'';width:24px;height:2px;background:var(--orange);}
.section-title{
  font-family:var(--font-cond);
  font-size:clamp(2rem,4.5vw,3.4rem);
  font-weight:800;line-height:1.05;text-transform:uppercase;
  color:var(--white);margin-bottom:2.5rem;
}
.section-title span{color:var(--orange);}
.section-sub{
  font-size:1.02rem;color:var(--muted-light);max-width:680px;
  line-height:1.7;margin-bottom:3rem;margin-top:-1rem;
}

/* ── BUTTONS ── */
.btn{
  display:inline-block;font-family:var(--font-cond);
  font-size:0.95rem;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;padding:1rem 2.2rem;
  border:none;cursor:pointer;transition:all 0.2s;
}
.btn-orange{background:var(--orange);color:var(--white);}
.btn-orange:hover{background:var(--orange-light);}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,0.35);}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.08);}
.btn-arrow::after{content:' →';display:inline-block;margin-left:0.3em;transition:transform 0.2s;}
.btn-arrow:hover::after{transform:translateX(4px);}

/* ── CARDS / GRIDS ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;}
@media(max-width:880px){.grid-3{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.grid-3,.grid-2{grid-template-columns:1fr;}}

.card{
  background:var(--navy-light);padding:2rem;
  border-left:3px solid var(--orange);
  transition:transform 0.2s,background 0.2s;
}
.card:hover{transform:translateY(-4px);background:#243d57;}
.card h3{
  font-family:var(--font-cond);font-size:1.3rem;font-weight:700;
  text-transform:uppercase;color:var(--white);margin-bottom:0.6rem;
  letter-spacing:0.02em;
}
.card p{font-size:0.92rem;color:var(--muted-light);line-height:1.65;}
.card .tag{
  display:inline-block;margin-top:1rem;
  font-family:var(--font-cond);font-size:0.78rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--orange);
}

/* ── FOOTER (shared) ── */
footer{
  background:#0a141f;padding:3.5rem 5% 2rem;border-top:3px solid var(--orange);
}
.foot-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:3rem;margin-bottom:2rem;
}
.foot-brand{display:flex;align-items:center;gap:0.7rem;margin-bottom:1rem;}
.foot-brand .nav-logo{width:38px;height:38px;font-size:1.15rem;}
.foot-brand .nav-name{font-size:1rem;}
.foot-tagline{font-size:0.88rem;color:var(--muted);max-width:300px;line-height:1.65;margin-bottom:1.25rem;}
.foot-social{display:flex;gap:0.8rem;}
.foot-social a{
  width:38px;height:38px;background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted-light);transition:background 0.2s,color 0.2s;
}
.foot-social a:hover{background:var(--orange);color:var(--white);}
.foot-col h4{
  font-family:var(--font-cond);font-size:0.85rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--orange);
  margin-bottom:1rem;
}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem;}
.foot-col a{font-size:0.88rem;color:var(--muted-light);transition:color 0.2s;}
.foot-col a:hover{color:var(--orange);}
.foot-bottom{
  max-width:1200px;margin:0 auto;
  border-top:1px solid var(--border);padding-top:1.5rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  font-size:0.78rem;color:var(--muted);
}
@media(max-width:880px){
  .foot-inner{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:600px){
  .foot-inner{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column;text-align:center;}
}

/* ── BOTTOM CTA STRIP ── */
.cta-strip{
  background:var(--orange);
  padding:3.5rem 5%;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:2rem;
}
.cta-strip h3{
  font-family:var(--font-cond);
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  font-weight:900;line-height:1.1;text-transform:uppercase;color:var(--white);
}
.cta-strip h3 em{font-style:normal;color:var(--navy);}
.cta-strip-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.cta-strip .btn-orange{background:var(--navy);color:var(--white);}
.cta-strip .btn-orange:hover{background:#000;}
.cta-strip .btn-outline{border-color:rgba(255,255,255,0.5);color:var(--white);}
.cta-strip .btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.1);}

/* ── STATS BAR (shared) ── */
.stats-bar{
  background:var(--orange);padding:2rem 5%;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
}
.stat-item{
  text-align:center;padding:0.5rem 1rem;
  border-right:1px solid rgba(255,255,255,0.2);
}
.stat-item:last-child{border-right:none;}
.stat-num{
  font-family:var(--font-cond);font-size:2.6rem;font-weight:800;
  color:var(--white);line-height:1;
}
.stat-label{
  font-size:0.74rem;font-weight:600;letter-spacing:0.08em;
  text-transform:uppercase;color:rgba(255,255,255,0.85);margin-top:0.4rem;
}
@media(max-width:600px){
  .stats-bar{grid-template-columns:1fr 1fr;gap:1.5rem 1px;}
  .stat-item:nth-child(2){border-right:none;}
}
