
:root{--maroon:#500000;--ink:#171717;--gray:#5f6368;--lite:#f5f3f1;--white:#fff;--gold:#c5a46d;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{background:#111;color:#fff;font-size:.9rem}.wrap{max-width:var(--max);margin:auto;padding:0 22px}.topbar .wrap{display:flex;justify-content:space-between;gap:18px;padding-top:8px;padding-bottom:8px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #ddd}.nav{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.5px}.mark{width:46px;height:46px;border-radius:50%;background:var(--maroon);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.15rem}.brand small{display:block;font-size:.66rem;color:var(--gray);font-weight:700;letter-spacing:1.4px}.links{display:flex;align-items:center;gap:20px;font-weight:750;font-size:.93rem}.btn{display:inline-block;padding:13px 20px;border-radius:6px;background:var(--maroon);color:#fff;font-weight:800;border:2px solid var(--maroon);transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.1)}.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.light{background:#fff;color:var(--maroon);border-color:#fff}.hero{min-height:650px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.38)),url("/assets/images/foundation-prepour.webp") center/cover no-repeat}.hero .content{max-width:820px;padding:95px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.8rem;font-weight:900;color:#e2c9a4}.hero h1,.page-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.98;margin:12px 0 20px;letter-spacing:-2px}.hero p{font-size:1.24rem;max-width:720px;color:#eee}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.metrics{background:#fff;border-bottom:1px solid #ddd}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metric{padding:24px;text-align:center;border-right:1px solid #ddd}.metric:last-child{border-right:0}.metric strong{font-size:1.8rem;color:var(--maroon);display:block}.section{padding:82px 0}.section.alt{background:var(--lite)}.kicker{color:var(--maroon);text-transform:uppercase;font-weight:900;letter-spacing:1.6px;font-size:.78rem}.section h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:10px 0 18px;letter-spacing:-1.2px}.lead{font-size:1.12rem;color:#525252;max-width:780px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.card{border:1px solid #dedbd7;background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.04)}.card img{width:100%;height:210px;object-fit:cover}.card .pad{padding:22px}.card h3{margin:0 0 8px;font-size:1.3rem}.text-link{color:var(--maroon);font-weight:900}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.split img{border-radius:8px;min-height:420px;object-fit:cover}.dark{background:#151515;color:#fff}.dark .lead{color:#d7d7d7}.checklist{columns:2;gap:30px;padding:0;list-style:none}.checklist li{break-inside:avoid;margin:10px 0;padding-left:24px;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:#c9aa76;font-weight:900}.cta{background:var(--maroon);color:#fff;padding:55px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.page-hero{padding:94px 0 75px;background:#151515;color:#fff}.page-hero h1{font-size:clamp(2.5rem,5vw,4.7rem);max-width:1000px}.page-hero p{max-width:800px;font-size:1.15rem;color:#ddd}.content-block{max-width:820px}.content-block h2{font-size:2.2rem;margin-top:38px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0}.service-list div{background:#f6f4f2;padding:17px;border-left:4px solid var(--maroon);font-weight:750}.footer{background:#0c0c0c;color:#ddd;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px}.footer h3{color:#fff}.footer a{display:block;margin:7px 0;color:#ddd}.legal{margin-top:35px;padding-top:22px;border-top:1px solid #333;font-size:.86rem;color:#999}.mobilebar{display:none}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:25px}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid #bbb;border-radius:5px;font:inherit}.form textarea,.form .full{grid-column:1/-1}.form textarea{min-height:130px}.notice{font-size:.88rem;color:#666}.breadcrumbs{font-size:.85rem;color:#bbb;margin-bottom:14px}.pill{display:inline-block;padding:7px 10px;background:#f1e8e8;color:var(--maroon);border-radius:99px;font-size:.78rem;font-weight:900;margin:4px}.project{padding:24px;border:1px solid #ddd;border-radius:8px;background:#fff}.project strong{color:var(--maroon)}@media(max-width:900px){.grid3,.split,.footer-grid,.two-col{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:570px}.hero .content{padding:70px 0}.checklist{columns:1}.cta .wrap{display:block}.cta .btn{margin-top:15px}.mobilebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:99}.mobilebar a{text-align:center;padding:14px;background:#111;color:#fff;font-weight:900}.mobilebar a:last-child{background:var(--maroon)}body{padding-bottom:48px}.form{grid-template-columns:1fr}.form>*{grid-column:1!important}}

.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.project-gallery figure{margin:0;background:#fff;border:1px solid #ddd;border-radius:10px;overflow:hidden}.project-gallery img{width:100%;height:260px;object-fit:cover}.project-gallery figcaption{padding:12px 14px;font-weight:750}.brand-logo{width:76px;height:76px;object-fit:contain;flex:0 0 auto}@media(max-width:900px){.project-gallery{grid-template-columns:1fr 1fr}.project-gallery img{height:220px}}@media(max-width:560px){.project-gallery{grid-template-columns:1fr}}

/* Official CJM Concrete Co. logo */
.brand-image{display:flex;align-items:center;flex:0 0 auto;line-height:0}
.brand-image img{display:block;width:170px;height:auto;max-height:78px;object-fit:contain}
.footer-logo{display:inline-flex;background:#fff;border-radius:8px;padding:7px 10px;margin-bottom:14px}
.footer-logo img{width:185px;max-height:none}
@media(max-width:1050px){.brand-image img{width:150px}}
@media(max-width:700px){.brand-image img{width:132px}.footer-logo img{width:165px}}


/* v8 clean responsive navigation — single source of truth */
.menu-toggle{display:none;appearance:none;-webkit-appearance:none;background:var(--maroon);border:0;border-radius:7px;width:48px;height:44px;padding:0;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:0 0 48px}
.menu-toggle span{display:block;width:24px;height:3px;background:#fff;border-radius:3px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:900px){
  .site-header{overflow:visible}
  .nav{position:relative;min-height:76px;gap:12px}
  .brand-image{flex:1 1 auto;min-width:0}
  .brand-image img{width:auto;height:62px;max-width:215px;object-fit:contain;object-position:left center}
  .menu-toggle{display:flex}
  .links{display:none;position:absolute;top:100%;left:0;right:0;z-index:110;background:#fff;border-top:1px solid #ddd;border-bottom:4px solid var(--maroon);box-shadow:0 14px 28px rgba(0,0,0,.18);padding:8px 18px 18px;gap:0}
  .links.open{display:block}
  .links a{display:block;padding:14px 4px;border-bottom:1px solid #e6e6e6;font-size:1rem;color:var(--ink)}
  .links a.btn{margin-top:12px;padding:13px 18px;text-align:center;color:#fff;border-bottom:2px solid var(--maroon)}
  .topbar .wrap{align-items:center;font-size:.82rem}
  .topbar .wrap span{max-width:68%}
  .topbar a{white-space:nowrap}
}
@media(max-width:480px){.wrap{padding-left:16px;padding-right:16px}.brand-image img{height:56px;max-width:195px}}

/* v9 mobile navigation fix */
@media(max-width:900px){
  html.menu-open,body.menu-open{overflow:hidden}
  .site-header{z-index:1000}
  .nav{position:static}
  .menu-toggle{position:relative;z-index:1002;touch-action:manipulation}
  .links{
    display:flex;visibility:hidden;opacity:0;pointer-events:none;
    position:fixed;top:auto;left:0;right:0;width:100%;height:auto;max-height:calc(100dvh - 110px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    flex-direction:column;align-items:stretch;
    background:#fff;padding:10px 18px 24px;margin:0;
    transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .links.open{display:flex;visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .links a{width:100%;padding:15px 4px;flex:0 0 auto}
  .links a.btn{width:100%;margin:12px 0 0}
}
@media(max-width:480px){
  .topbar .wrap{gap:8px;padding-top:6px;padding-bottom:6px}
  .topbar .wrap span{font-size:.72rem;line-height:1.25}
  .nav{min-height:70px}
  .brand-image img{height:52px;max-width:180px}
  .menu-toggle{width:46px;height:42px;flex-basis:46px}
}
\n/* v10 mobile header hard fix */\n@media(max-width:900px){\n  .site-header .wrap.nav{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;align-items:center!important;padding-top:8px!important;padding-bottom:8px!important;min-height:78px!important}\n  .site-header .brand-image{min-width:0!important;max-width:230px!important}\n  .site-header .brand-image img{width:100%!important;height:auto!important;max-height:64px!important;object-fit:contain!important;object-position:left center!important}\n  .menu-toggle{display:flex!important;background:#500000!important;color:#fff!important;border-radius:8px!important;width:48px!important;height:46px!important;justify-self:end!important;font-size:0!important;line-height:0!important}\n  .menu-toggle svg{display:block!important;width:26px!important;height:26px!important;stroke:#fff!important}\n  .links{top:var(--mobile-menu-top,130px)!important;left:0!important;right:0!important;width:100vw!important;max-width:none!important;border-radius:0!important}\n}\n@media(max-width:480px){\n .site-header .wrap.nav{grid-template-columns:minmax(0,1fr) 46px!important;gap:12px!important}\n .site-header .brand-image{max-width:205px!important}\n .menu-toggle{width:46px!important;height:44px!important}\n}\n
/* v11: visible three-line hamburger on mobile, including iOS Safari */
@media(max-width:900px){
 .menu-toggle{display:flex!important;flex-direction:column!important;gap:5px!important;align-items:center!important;justify-content:center!important}
 .menu-toggle span{display:block!important;width:25px!important;height:3px!important;min-height:3px!important;background:#fff!important;border-radius:2px!important;opacity:1!important;visibility:visible!important}
 .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)!important}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important}
}
