/*
Theme Name: Just Push It Excavation Premium
Theme URI: https://enpointsystems.com/
Author: Enpoint
Author URI: https://enpointsystems.com/
Description: A custom professional WordPress theme for Just Push It Excavation in Auburn, CA. Built with project photography, drainage/excavation positioning, custom logo support, and a quote-focused homepage.
Version: 1.0.3
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: just-push-it-excavation-premium
*/

:root{
  --jpi-black:#0b0d0d;
  --jpi-ink:#121515;
  --jpi-coal:#1b1e1d;
  --jpi-stone:#edebe4;
  --jpi-paper:#f7f4ed;
  --jpi-muted:#8d8b82;
  --jpi-line:rgba(255,255,255,.14);
  --jpi-copper:#b6663e;
  --jpi-copper-dark:#8d4729;
  --jpi-clay:#6e5648;
  --jpi-olive:#6f735d;
  --jpi-white:#fff;
  --jpi-shadow:0 22px 70px rgba(0,0,0,.22);
  --jpi-radius:0;
  --jpi-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --jpi-display:"Arial Narrow", Impact, Haettenschweiler, "Franklin Gothic Condensed", "Oswald", sans-serif;
  --jpi-serif:Georgia, "Times New Roman", serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--jpi-paper);
  color:#1d1d1b;
  font-family:var(--jpi-sans);
  line-height:1.55;
  font-size:16px;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--jpi-copper)}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:min(1480px,calc(100% - 48px));margin-inline:auto}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:18px;top:18px;width:auto;height:auto;background:#fff;color:#000;padding:12px 16px;z-index:9999}

.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  background:linear-gradient(180deg,rgba(9,10,10,.96),rgba(9,10,10,.72));
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}
.admin-bar .site-header{top:32px}
.header-inner{
  width:min(1480px,calc(100% - 48px));
  margin:auto;
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:260px;color:#fff}
.custom-logo-link img{max-height:56px;width:auto}
.brand-lockup{line-height:1;text-transform:uppercase;letter-spacing:.26em;color:#fff}
.brand-main{font-family:var(--jpi-serif);font-size:clamp(25px,2.2vw,39px);font-weight:500;white-space:nowrap}
.brand-sub{
  color:var(--jpi-copper);
  letter-spacing:.52em;
  font-size:12px;
  margin-top:8px;
  position:relative;
  text-align:center;
}
.brand-sub:before,.brand-sub:after{content:"";display:inline-block;vertical-align:middle;width:54px;height:1px;background:var(--jpi-copper);opacity:.75;margin:0 12px 4px 0}
.brand-sub:after{margin:0 0 4px 12px}
.site-nav{display:flex;align-items:center;gap:30px;flex:1;justify-content:flex-end}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px}
.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.site-nav a{
  color:#fff;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  position:relative;
}
.site-nav a:after{content:"";position:absolute;left:0;bottom:-13px;width:0;height:2px;background:var(--jpi-copper);transition:width .2s ease}
.site-nav a:hover:after,.site-nav .current-menu-item>a:after{width:100%}
.header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 28px;
  color:#fff;border:1px solid var(--jpi-copper);
  text-transform:uppercase;font-weight:900;font-size:13px;letter-spacing:.08em;
  background:rgba(182,102,62,.05);
}
.header-cta:hover{background:var(--jpi-copper);color:#fff}
.menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;padding:10px 12px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em}

.hero{
  min-height:760px;
  background-color:#0a0b0b;
  background-size:cover;
  background-position:center right;
  position:relative;
  color:#fff;
  display:flex;
  align-items:flex-end;
  padding-top:86px;
  overflow:hidden;
}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 29%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.2) 100%)}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 23% 28%,rgba(255,255,255,.08),transparent 23%),linear-gradient(180deg,transparent 72%,#0e1111 100%);mix-blend-mode:screen;opacity:.5;pointer-events:none}
.hero-grid{position:relative;z-index:2;width:min(1480px,calc(100% - 48px));margin-inline:auto;padding:112px 0 76px;display:grid;grid-template-columns:minmax(320px,680px) 1fr;gap:50px;align-items:end}
.kicker{color:var(--jpi-copper);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:13px;margin-bottom:13px}
.hero h1{
  margin:0;
  font-family:var(--jpi-display);
  text-transform:uppercase;
  font-size:clamp(54px,7vw,118px);
  line-height:.86;
  letter-spacing:.015em;
  text-shadow:0 6px 24px rgba(0,0,0,.42);
}
.hero h1 .accent{color:var(--jpi-copper)}
.hero-copy{max-width:565px;font-size:clamp(17px,1.2vw,22px);margin:28px 0 30px;color:rgba(255,255,255,.92);line-height:1.45}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:13px;cursor:pointer;transition:.18s ease}
.btn-primary{background:linear-gradient(135deg,var(--jpi-copper),var(--jpi-copper-dark));color:#fff;border-color:var(--jpi-copper)}
.btn-primary:hover{color:#fff;filter:brightness(1.08);transform:translateY(-1px)}
.btn-outline{background:rgba(0,0,0,.24);border-color:rgba(255,255,255,.6);color:#fff}
.btn-outline:hover{background:#fff;color:#0b0d0d}
.hero-card{
  justify-self:end;
  width:min(420px,100%);
  background:rgba(13,16,16,.76);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--jpi-shadow);
  padding:28px;
  backdrop-filter:blur(8px);
}
.hero-card strong{display:block;font-family:var(--jpi-display);font-size:32px;line-height:1;text-transform:uppercase;margin-bottom:10px;color:#fff}
.hero-card p{margin:0;color:rgba(255,255,255,.74)}
.hero-card .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.mini-stat{border-left:2px solid var(--jpi-copper);padding:7px 0 7px 12px;font-size:13px;color:#d8d2c6;text-transform:uppercase;font-weight:800;letter-spacing:.04em}

.info-bar{background:#101313;color:#fff;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.info-inner{width:min(1480px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:0}
.info-item{display:flex;align-items:center;gap:12px;padding:17px 34px;border-right:1px solid rgba(255,255,255,.18);font-weight:700;white-space:nowrap}
.info-item:first-child{padding-left:0}.info-item:last-child{border-right:0}
.info-icon{color:var(--jpi-copper);font-size:18px}

.section{padding:82px 0}
.services{background:var(--jpi-paper);background-image:url('assets/images/topo-pattern.svg')}
.services-layout{display:grid;grid-template-columns:minmax(340px,360px) minmax(0,1fr);gap:58px;align-items:start}
.section-title .eyebrow{display:block;color:var(--jpi-copper);text-transform:uppercase;font-weight:900;letter-spacing:.1em;font-size:13px;margin-bottom:11px}
.section-title h2{font-family:var(--jpi-display);font-size:clamp(38px,4vw,68px);line-height:.9;text-transform:uppercase;margin:0;color:#111}
.services .section-title{max-width:360px;min-width:0}
.services .section-title h2{font-size:clamp(42px,3.1vw,56px);letter-spacing:-.01em;max-width:360px}
.section-title p{margin:20px 0 0;color:#4c4a43;font-size:15px}
.mountain-line{margin-top:34px;height:54px;opacity:.42;background:linear-gradient(135deg,transparent 52%,#39352f 53%,transparent 55%),linear-gradient(45deg,transparent 52%,#39352f 53%,transparent 55%);background-size:78px 54px;background-repeat:repeat-x}
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card{background:rgba(255,255,255,.82);border:1px solid rgba(28,24,20,.18);box-shadow:0 20px 50px rgba(45,34,25,.08);position:relative;overflow:hidden;min-height:272px;transition:transform .18s ease, box-shadow .18s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(45,34,25,.16)}
.service-img{height:118px;background-size:cover;background-position:center;filter:saturate(.96)}
.service-body{padding:22px 22px 24px}.service-icon{position:absolute;top:0;left:0;width:56px;height:56px;background:var(--jpi-copper);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;border-right:4px solid var(--jpi-paper);border-bottom:4px solid var(--jpi-paper)}
.service-card h3{font-size:16px;text-transform:uppercase;letter-spacing:.03em;margin:0 0 9px;color:#151514;font-weight:900}
.service-card p{margin:0;color:#46433c;font-size:14px;line-height:1.45}

.projects{background:#101313;color:#fff;position:relative;overflow:hidden}.projects:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(182,102,62,.18),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.03),transparent 40%);pointer-events:none}
.projects-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(340px,390px) minmax(0,1fr);gap:72px;align-items:center}.project-intro{padding:28px 0;min-width:0;max-width:390px}.project-intro h2{color:#fff;max-width:100%;font-size:clamp(58px,5.3vw,86px);line-height:.86;overflow-wrap:normal}.project-intro p{max-width:330px;color:rgba(247,244,237,.68);font-size:17px;line-height:1.58}.project-intro .btn{margin-top:30px}.project-mosaic{min-width:0;display:grid;grid-template-columns:1.28fr .86fr .86fr;grid-template-rows:174px 174px;gap:16px;align-items:stretch}.project-tile{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#222;box-shadow:0 18px 48px rgba(0,0,0,.3);min-width:0;margin:0}.project-tile:nth-child(1){grid-column:1/2;grid-row:1/3}.project-tile:nth-child(2){grid-column:2/3;grid-row:1/2}.project-tile:nth-child(3){grid-column:3/4;grid-row:1/2}.project-tile:nth-child(4){grid-column:2/4;grid-row:2/3}.project-tile:nth-child(n+5){display:none}
.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease;filter:saturate(.95) contrast(1.03)}.project-tile:hover img{transform:scale(1.04)}.project-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.76) 100%)}.project-tile span{position:absolute;z-index:2;left:18px;bottom:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:14px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}.project-large,.project-wide{grid-column:auto;grid-row:auto}.project-stack{grid-row:auto}

.about-quote{padding:0;background:linear-gradient(90deg,var(--jpi-paper) 0%,var(--jpi-paper) 49%,#121515 49%,#121515 100%)}
.about-quote-grid{display:grid;grid-template-columns:1fr 1fr;min-height:420px}.about-panel{padding:70px 62px 62px 0;background:var(--jpi-paper)}.about-copy{display:grid;grid-template-columns:280px 1fr;gap:45px;align-items:start}.about-copy p{margin:8px 0 0;color:#34322f}.value-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}.value{font-size:13px;text-transform:uppercase;font-weight:900;line-height:1.25;color:#25231f}.value:before{content:attr(data-icon);display:block;color:var(--jpi-copper);font-size:27px;margin-bottom:10px}.quote-panel{padding:64px 0 62px 62px;background:#121515;color:#fff;display:grid;grid-template-columns:1fr 235px;gap:32px;align-items:center;position:relative;overflow:hidden}.quote-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(182,102,62,.2),transparent 28%);pointer-events:none}.quote-content{position:relative;z-index:1}.quote-content h2{font-family:var(--jpi-display);font-size:54px;line-height:.92;text-transform:uppercase;margin:0 0 10px;color:#fff}.quote-content p{color:#cbc5b8;margin:0 0 20px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-form input,.quote-form textarea{width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.18);color:#fff;padding:12px 13px;min-height:44px}.quote-form textarea{grid-column:1/2;min-height:92px;resize:vertical}.quote-form button{grid-column:2/3;align-self:end}.quote-photo{position:relative;z-index:1}.quote-photo img{height:280px;width:100%;object-fit:cover;border:1px solid rgba(255,255,255,.16)}.contact-stack{margin-top:18px;display:grid;gap:10px;color:#e5dfd2;font-weight:700}.contact-stack a{color:#e5dfd2}.contact-stack span{color:var(--jpi-copper);margin-right:8px}

.content-wrap{width:min(960px,calc(100% - 48px));margin:150px auto 80px;background:#fff;padding:46px;box-shadow:0 18px 60px rgba(0,0,0,.08)}
.content-wrap h1{font-family:var(--jpi-display);text-transform:uppercase;line-height:.95;font-size:58px;margin:0 0 25px}.content-wrap a{color:var(--jpi-copper);font-weight:800}.content-wrap input,.content-wrap textarea{max-width:100%}

.site-footer{background:#0a0c0c;color:#fff;border-top:1px solid rgba(255,255,255,.12)}.footer-inner{width:min(1480px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;padding:28px 0}.footer-nav{display:flex;gap:28px;justify-content:center;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.08em}.footer-credit{text-align:right;color:#c9c1b4}.footer-credit a{color:var(--jpi-copper);font-weight:900}.footer-small{font-size:12px;color:#8f887c;margin-top:7px}.footer-brand .brand-main{font-size:25px}.footer-brand .brand-sub{font-size:9px;letter-spacing:.36em}.footer-brand .brand-sub:before,.footer-brand .brand-sub:after{width:30px}

@media (max-width:1280px){.services-layout{grid-template-columns:1fr;gap:34px}.services .section-title{max-width:760px}.services .section-title h2{max-width:760px;font-size:clamp(44px,6vw,68px)}.services .section-title p{max-width:620px}.mountain-line{max-width:360px}.projects-layout{grid-template-columns:minmax(315px,350px) minmax(0,1fr);gap:46px}.project-intro h2{font-size:clamp(52px,5vw,76px)}.project-mosaic{grid-template-rows:156px 156px}}
@media (max-width:1100px){.header-inner{min-height:74px}.menu-toggle{display:inline-flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0b0d0d;border-top:1px solid rgba(255,255,255,.12);padding:18px 24px;flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.site-nav ul{flex-direction:column;align-items:flex-start;width:100%;gap:12px}.header-cta{width:100%;margin-top:12px}.hero{min-height:680px}.hero-grid{grid-template-columns:1fr}.hero-card{justify-self:start}.services-layout,.projects-layout{grid-template-columns:1fr}.projects-layout{gap:34px}.project-intro{max-width:720px;padding:0}.project-intro h2{font-size:clamp(52px,8vw,84px)}.project-intro p{max-width:620px}.project-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.project-tile:nth-child(1){grid-column:1/2;grid-row:1/3}.project-tile:nth-child(2){grid-column:2/3;grid-row:1/2}.project-tile:nth-child(3){grid-column:2/3;grid-row:2/3}.project-tile:nth-child(4){grid-column:1/3;grid-row:3/4}.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.about-quote{background:var(--jpi-paper)}.about-quote-grid{grid-template-columns:1fr}.about-panel{padding-right:0}.quote-panel{padding:54px 0;background:#121515}}
@media (max-width:760px){.footer-nav ul{justify-content:flex-start}.container,.header-inner,.hero-grid,.info-inner,.footer-inner{width:min(100% - 34px,1480px)}.brand-main{font-size:24px}.brand-sub{font-size:9px;letter-spacing:.32em}.brand-sub:before,.brand-sub:after{width:24px}.hero h1{font-size:56px}.hero-card{display:none}.info-inner{grid-template-columns:1fr}.info-item{padding:14px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.service-cards{grid-template-columns:1fr}.project-mosaic{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:235px}.project-tile:nth-child(1),.project-tile:nth-child(2),.project-tile:nth-child(3),.project-tile:nth-child(4){grid-column:auto;grid-row:auto}.project-tile:nth-child(n+5){display:block}.project-large,.project-wide{grid-column:auto;grid-row:auto}.about-copy{grid-template-columns:1fr}.value-row{grid-template-columns:1fr 1fr}.quote-panel{grid-template-columns:1fr;padding-left:0}.quote-form{grid-template-columns:1fr}.quote-form textarea,.quote-form button{grid-column:auto}.footer-inner{grid-template-columns:1fr;text-align:left}.footer-nav{justify-content:flex-start;flex-wrap:wrap}.footer-credit{text-align:left}.content-wrap{margin-top:115px;padding:28px}.content-wrap h1{font-size:44px}}


/* Layout refinement: prevent about/quote overlap and clean up contact/footer alignment. */
.about-quote-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
}
.about-panel{
  padding:76px 74px 66px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.about-copy{
  grid-template-columns:minmax(315px,340px) minmax(260px,1fr);
  gap:64px;
  min-width:0;
}
.about-copy .section-title,
.about-copy p{
  min-width:0;
}
.about-copy .section-title h2{
  max-width:340px;
  font-size:clamp(42px,3.05vw,56px);
  line-height:.96;
  letter-spacing:-.015em;
}
.about-copy p{
  max-width:430px;
  margin:4px 0 0;
  font-size:16px;
  line-height:1.72;
}
.value-row{
  margin-top:54px;
  gap:22px;
}
.value{
  min-width:0;
}
.quote-panel{
  padding:70px 0 66px 70px;
  grid-template-columns:minmax(345px,1fr) minmax(210px,235px);
  gap:34px;
  align-items:center;
  min-width:0;
}
.quote-content,
.quote-photo{
  min-width:0;
}
.quote-content h2{
  max-width:440px;
  font-size:clamp(42px,3.2vw,58px);
  line-height:.94;
}
.quote-content p{
  max-width:510px;
  line-height:1.55;
}
.quote-form{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:11px;
}
.quote-form textarea{
  grid-column:1/2;
}
.quote-form button{
  grid-column:2/3;
  width:100%;
}
.quote-photo img{
  height:278px;
  object-position:center;
}
.contact-stack{
  gap:12px;
  font-weight:800;
  line-height:1.35;
}
.contact-stack a,
.contact-stack div{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.contact-stack .contact-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:10px;
  height:10px;
  min-width:10px;
  margin:7px 2px 0 0;
  border:2px solid var(--jpi-copper);
  border-radius:50%;
  color:transparent;
  font-size:0;
  line-height:0;
}
.footer-small{
  letter-spacing:.14em;
  line-height:1.35;
  max-width:430px;
}
.footer-credit{
  white-space:nowrap;
}

@media (max-width:1460px){
  .about-copy{
    grid-template-columns:minmax(285px,320px) minmax(240px,1fr);
    gap:46px;
  }
  .about-copy .section-title h2{
    font-size:clamp(40px,3vw,52px);
    max-width:320px;
  }
  .quote-panel{
    grid-template-columns:minmax(320px,1fr) minmax(190px,220px);
    gap:28px;
    padding-left:56px;
  }
}

@media (max-width:1280px){
  .about-copy{
    grid-template-columns:1fr;
    gap:24px;
  }
  .about-copy .section-title h2{
    max-width:720px;
  }
  .about-copy p{
    max-width:680px;
  }
  .quote-panel{
    grid-template-columns:1fr;
    padding:58px 0;
  }
  .quote-photo{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:24px;
    align-items:center;
  }
  .quote-photo img{
    height:220px;
  }
}

@media (max-width:1100px){
  .about-panel{
    padding:60px 0;
  }
  .quote-panel{
    padding:58px 0;
  }
}

@media (max-width:760px){
  .about-copy .section-title h2{
    font-size:clamp(38px,12vw,54px);
  }
  .quote-photo{
    grid-template-columns:1fr;
  }
  .quote-photo img{
    height:240px;
  }
  .footer-small{
    letter-spacing:.08em;
  }
}
