*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#171717;background:#f5f3ee}a{text-decoration:none;color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.top{height:82px;background:#0d0d0d;color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #272727}.nav{height:100%;display:flex;align-items:center;gap:35px}.logo{font-weight:900;letter-spacing:.5px;white-space:nowrap}.logo b{display:inline-grid;place-items:center;background:#f5bd12;color:#111;border-radius:5px;padding:7px 9px;margin-left:5px}.nav nav{display:flex;gap:27px;margin-left:auto;font-size:14px}.nav nav a{transition:.2s}.nav nav a:hover{color:#f5bd12}.phone{font-weight:800;color:#f5bd12;white-space:nowrap}.hero{min-height:610px;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 48%,rgba(0,0,0,.22) 100%),url("hero.jpg") center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-inner{padding:70px 0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:3px;color:#f5bd12;margin-bottom:18px}.eyebrow.dark{color:#9b7200}.hero h1,.pagehead h1{font-size:58px;line-height:1.02;margin:0 0 22px;letter-spacing:-2px}.hero p{font-size:18px;line-height:1.6;max-width:790px;color:#eee}.actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-block;background:#f5bd12;color:#111;padding:15px 22px;border-radius:7px;font-weight:900;box-shadow:0 8px 24px rgba(245,189,18,.18);transition:.25s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn.ghost{background:#fff}.btn.black{background:#111;color:#fff}.btn.small{margin-top:18px;padding:12px 16px}.section{padding:78px 0}.section h2{font-size:38px;margin:0 0 12px}.lead{font-size:18px;line-height:1.65;color:#555;max-width:820px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #ddd;box-shadow:0 10px 35px rgba(0,0,0,.06);transition:.35s}.card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(0,0,0,.13)}.pic{height:215px;background-position:center;background-size:cover;transition:.45s}.card:hover .pic{transform:scale(1.04)}.pic.granite{background-image:url("granite.jpg")}.pic.gravel{background-image:url("gravel.jpg")}.pic.limestone{background-image:url("limestone.jpg")}.pic.sand{background-image:url("sand.jpg")}.pic.pgs{background-image:url("pgs.jpg")}.pic.screenings{background-image:url("screenings.jpg")}.cardbody{padding:23px}.card h3{font-size:22px;margin:0 0 12px}.card p{color:#666;line-height:1.55;min-height:66px}.tag{display:block;font-size:13px;font-weight:800;background:#fff3c9;width:max-content;padding:7px 10px;border-radius:30px}.darksection{background:#151515;color:#fff;padding:50px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.stats div{display:flex;flex-direction:column;gap:8px}.stats strong{font-size:34px;color:#f5bd12}.stats span{color:#bbb}.split{display:grid;grid-template-columns:1.5fr .8fr;gap:60px;align-items:center}.callout{background:#f5bd12;padding:34px;border-radius:14px}.callout h3{font-size:27px;margin-top:0}.pagehead{background:#171717;color:#fff;padding:75px 0}.pagehead h1{font-size:48px}.pagehead p{font-size:17px;color:#ccc;max-width:720px;line-height:1.6}.info{background:#fff;padding:30px;border-radius:14px;border:1px solid #ddd}.info>b{font-size:32px;color:#f5bd12}.three{grid-template-columns:repeat(3,1fr)}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.bigphone{font-size:30px;font-weight:900;color:#111}footer{background:#0d0d0d;color:#888;padding:35px 0}.foot{display:flex;align-items:center;gap:30px}.foot>span:nth-child(2){margin-right:auto;font-size:13px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}@media(max-width:800px){.top{height:auto}.nav{padding:14px 0;flex-wrap:wrap}.nav nav{order:3;width:100%;overflow:auto;gap:18px;margin:0}.phone{margin-left:auto}.hero{min-height:540px}.hero h1,.pagehead h1{font-size:39px}.hero-inner{padding:55px 0}.grid,.stats,.split,.contactgrid,.three{grid-template-columns:1fr}.section{padding:55px 0}.foot{align-items:flex-start;flex-direction:column}.card p{min-height:0}}