:root{--black:#090909;--charcoal:#111;--soft:#f3f3f1;--white:#fff;--yellow:#ffd400;--muted:#686868;--line:#dcdcd7;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#111;background:var(--white);line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - 40px),var(--max));margin:0 auto}.section{padding:100px 0}.eyebrow{margin:0 0 16px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--yellow)}.eyebrow.dark{color:#877300}h1,h2,h3{margin:0;line-height:.97;letter-spacing:-.04em}h1{font-size:clamp(3.1rem,8vw,7.1rem);color:white;max-width:900px;text-transform:uppercase;font-weight:900}h1 span{color:var(--yellow)}h2{font-size:clamp(2.3rem,5vw,4.9rem);font-weight:900}h3{font-size:1.55rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:4px;font-weight:800;border:1px solid transparent;transition:.2s ease;cursor:pointer}.btn-primary{background:var(--yellow);color:#090909}.btn-primary:hover{background:#ffe052;transform:translateY(-1px)}.btn-secondary{border-color:rgba(255,255,255,.45);color:white;background:rgba(0,0,0,.28);backdrop-filter:blur(8px)}.btn-secondary:hover{border-color:white;background:rgba(255,255,255,.08)}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(8,8,8,.88);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(12px)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand img{width:220px;height:auto}.main-nav{display:flex;align-items:center;gap:28px;color:white;font-size:.94rem;font-weight:700}.main-nav>a:not(.nav-cta){opacity:.82}.main-nav>a:hover{opacity:1}.nav-cta{background:var(--yellow);color:#080808;padding:11px 16px;border-radius:3px}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.hero{min-height:820px;height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background:#111}.hero-image{position:absolute;inset:0;background:url('assets/resin-driveway-project.webp') center/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.7) 42%,rgba(0,0,0,.32) 75%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}.hero-content{position:relative;z-index:2;padding-top:90px}.hero-copy{max-width:700px;color:#e6e6e6;font-size:clamp(1rem,1.8vw,1.2rem);margin:24px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-points{display:flex;gap:28px;flex-wrap:wrap;color:#d6d6d6;margin-top:42px;font-size:.9rem}.hero-points span::before{content:'✓';color:var(--yellow);font-weight:900;margin-right:8px}
.services{background:var(--soft)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:48px}.section-heading>p{color:var(--muted);font-size:1.06rem;margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:white;border:1px solid var(--line);padding:32px;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.2s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(0,0,0,.07)}.service-card::after{content:'';position:absolute;width:110px;height:110px;border:18px solid #f2f2ef;border-radius:50%;right:-55px;top:-55px}.service-no{position:absolute;top:24px;left:28px;font-size:.78rem;font-weight:900;color:#a28a00}.service-card h3{margin-bottom:12px}.service-card p{margin:0;color:var(--muted)}.service-card.wide{grid-column:span 3;min-height:180px}.service-card.wide p{max-width:660px}
.work{background:#0c0c0c;color:white}.work-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.work-copy p:not(.eyebrow){color:#c8c8c8;font-size:1.05rem;max-width:500px}.text-link{display:inline-block;margin-top:15px;color:var(--yellow);font-weight:800}.text-link span{margin-left:8px}.project-card{margin:0;position:relative;background:#222;overflow:hidden}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;background:linear-gradient(transparent,rgba(0,0,0,.86));display:flex;flex-direction:column;padding-top:70px}.project-card figcaption span{color:#d0d0d0;font-size:.88rem;margin-top:3px}
.about{background:white}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy>p{font-size:1.1rem;color:var(--muted);margin:0 0 35px}.feature-list{border-top:1px solid var(--line)}.feature-list div{display:grid;grid-template-columns:55px 1fr;padding:19px 0;border-bottom:1px solid var(--line);align-items:center}.feature-list strong{color:#9b8500;font-size:.8rem}.feature-list span{font-weight:700}
.quote{background:#131313;color:white}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.quote-copy>p:not(.eyebrow){color:#c8c8c8;font-size:1.08rem}.contact-details{margin-top:34px}.contact-details a{display:block;padding:16px 0;border-top:1px solid #343434;color:#f2f2f2}.contact-details a:last-child{border-bottom:1px solid #343434}.contact-details span{display:block;text-transform:uppercase;font-size:.7rem;letter-spacing:.16em;color:#8f8f8f;margin-bottom:3px}.quote-form{background:white;color:#111;padding:34px;border-radius:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:15px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:7px;border:1px solid #d6d6d1;background:#f7f7f5;padding:13px 12px;font:inherit;color:#111;border-radius:2px;outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#9c8500;box-shadow:0 0 0 3px rgba(255,212,0,.18)}.form-btn{width:100%;border:0;font-size:.95rem}.form-note{font-size:.76rem;color:#777;margin:12px 0 0}.hidden{position:absolute!important;left:-9999px!important}
.site-footer{background:#070707;color:#bdbdbd;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px}.footer-brand img{width:225px;margin-bottom:14px}.site-footer strong{color:white;display:block;margin-bottom:10px}.site-footer p{font-size:.9rem;margin:5px 0}.site-footer a{color:#e0e0e0;font-size:.9rem}.footer-bottom{border-top:1px solid #252525;margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;font-size:.78rem;color:#777}
@media (max-width:900px){.section{padding:78px 0}.section-heading,.work-grid,.about-grid,.quote-grid{grid-template-columns:1fr;gap:38px}.service-grid{grid-template-columns:1fr 1fr}.service-card.wide{grid-column:span 2}.hero{min-height:720px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}
@media (max-width:700px){.wrap{width:min(calc(100% - 28px),var(--max))}.nav-wrap{height:70px}.brand img{width:185px}.nav-toggle{display:block}.main-nav{position:absolute;top:70px;left:0;right:0;background:#0b0b0b;display:none;flex-direction:column;align-items:stretch;padding:18px 22px 24px;gap:0;border-top:1px solid #242424}.main-nav.open{display:flex}.main-nav a{padding:14px 2px;border-bottom:1px solid #232323}.main-nav .nav-cta{text-align:center;margin-top:12px;border:0}.hero{height:auto;min-height:760px}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.64)),linear-gradient(0deg,rgba(0,0,0,.55),transparent)}.hero-content{padding-top:110px;padding-bottom:55px}.hero-points{gap:12px 22px}.service-grid{grid-template-columns:1fr}.service-card.wide{grid-column:span 1}.service-card{min-height:205px}.field-row{grid-template-columns:1fr}.quote-form{padding:24px 20px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-brand{grid-column:span 1}.footer-bottom{flex-direction:column;gap:8px}}

/* Image-led portfolio sections */
.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.option-card{background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;grid-template-columns:44% 56%;min-height:285px;transition:.25s ease}.option-card:hover{transform:translateY(-4px);box-shadow:0 20px 55px rgba(0,0,0,.1)}.option-image{min-height:100%;overflow:hidden}.option-image img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.option-card:hover .option-image img{transform:scale(1.04)}.option-body{padding:28px;display:flex;flex-direction:column;justify-content:center}.option-tag{font-size:.72rem;font-weight:900;color:#9b8500;letter-spacing:.12em;margin-bottom:14px}.option-body h3{margin-bottom:10px}.option-body p{color:var(--muted);margin:0 0 10px}.dark-link{color:#111!important;margin-top:auto}.options-note{margin-top:22px;border-left:4px solid var(--yellow);background:#fff;padding:17px 20px;color:#555}.options-note strong{color:#111}
.gallery-heading{color:#fff}.gallery-heading>p{color:#bdbdbd}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.gallery-item{border:0;padding:0;background:#222;position:relative;overflow:hidden;cursor:pointer;min-width:0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease}.gallery-item:hover img{transform:scale(1.05);filter:brightness(.82)}.gallery-item::after{content:'View image ↗';position:absolute;right:14px;top:14px;background:rgba(0,0,0,.65);color:#fff;padding:7px 10px;font-size:.68rem;font-weight:800;opacity:0;transform:translateY(-5px);transition:.25s ease}.gallery-item:hover::after{opacity:1;transform:none}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:35px 16px 14px;color:#fff;text-align:left;font-size:.82rem;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}
.before-after{background:var(--soft)}.before-heading>p{color:var(--muted)}.before-after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ba-card{background:#fff;border:1px solid var(--line);overflow:hidden}.ba-image{position:relative;aspect-ratio:4/3;background:#ddd;overflow:hidden}.ba-image img{width:100%;height:100%;object-fit:cover}.ba-labels{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between}.ba-labels span{background:#090909;color:#fff;padding:6px 10px;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.ba-labels span:last-child{background:var(--yellow);color:#111}.ba-caption{padding:18px 20px 20px;display:flex;flex-direction:column}.ba-caption strong{font-size:1.05rem}.ba-caption span{color:#777;font-size:.82rem;margin-top:4px}.center-cta{text-align:center;margin-top:35px}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,94vw);max-height:88vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:18px;right:24px;border:0;background:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer}.lightbox-caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:.85rem;background:rgba(0,0,0,.6);padding:8px 14px;white-space:nowrap}
@media (max-width:900px){.options-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.gallery-item.tall{grid-row:span 2}.before-after-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.option-card{grid-template-columns:1fr}.option-image{height:220px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:8px}.gallery-item.wide{grid-column:span 2}.before-after-grid{grid-template-columns:1fr}.lightbox{padding:18px}.lightbox-caption{bottom:10px;max-width:85vw;overflow:hidden;text-overflow:ellipsis}}
