:root { --ink: #10120f; --paper: #f3f1e9; --yellow: #f6d80b; --muted: #a8aaa3; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
.topbar { height: 86px; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; background: #11130f; border-bottom: 1px solid #32342e; position: relative; z-index: 10; }
.brand { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 900; letter-spacing: -.4px; }
.brand b { display: block; color: var(--yellow); font-size: 9px; letter-spacing: 3.2px; margin-top: 2px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; color: var(--ink); background: var(--yellow); font-size: 25px; font-weight: 950; transform: skew(-8deg); }
nav { display: flex; gap: 36px; font-size: 12px; text-transform: uppercase; letter-spacing: 1.6px; }
nav a { color: #d6d7d1; transition: color .2s; }
nav a:hover { color: var(--yellow); }
.call-mini { border: 1px solid #55584f; padding: 13px 17px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }
.call-mini span, .button span, .service-card a span { color: var(--yellow); margin-left: 14px; }
.hero { min-height: calc(100vh - 86px); position: relative; overflow: hidden; display: flex; align-items: center; }
.hero-image { position: absolute; inset: 0; background: url('assets/wall_framing_electrical_electric_construction_home_build_building_new_shutterstock_149630042.jpg') center/cover no-repeat; filter: saturate(.65) contrast(1.05); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,14,11,.98) 0%, rgba(12,14,11,.86) 39%, rgba(12,14,11,.18) 77%), linear-gradient(0deg, rgba(12,14,11,.6), transparent 45%); }
.hero-content { position: relative; z-index: 1; width: min(800px, 90vw); margin-left: 7vw; padding-bottom: 80px; }
.eyebrow, .kicker { text-transform: uppercase; letter-spacing: 3px; font-size: 11px; font-weight: 700; color: #d5d6d0; }
.eyebrow { display: flex; align-items: center; gap: 12px; }
.eyebrow span { width: 38px; height: 3px; background: var(--yellow); }
h1 { font-size: clamp(58px, 7.7vw, 118px); line-height: .87; letter-spacing: -6px; text-transform: uppercase; margin: 28px 0 30px; max-width: 960px; font-weight: 950; }
h1 em, h2 em { color: var(--yellow); font-style: normal; }
.hero-copy { color: #c8cac3; line-height: 1.65; max-width: 510px; font-size: 17px; }
.hero-actions { display: flex; gap: 14px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; min-width: 205px; padding: 17px 20px; text-transform: uppercase; letter-spacing: 1.4px; font-size: 11px; font-weight: 800; transition: transform .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--yellow); color: var(--ink); }
.button-primary span { color: var(--ink); }
.button-ghost { border: 1px solid #70736b; }
.hero-stats { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); background: rgba(16,18,15,.88); border-top: 1px solid #3a3c35; padding-left: 7vw; backdrop-filter: blur(8px); }
.hero-stats div { padding: 24px 34px; border-right: 1px solid #3a3c35; }
.hero-stats strong { display: block; color: var(--yellow); text-transform: uppercase; font-size: 12px; letter-spacing: 1.3px; margin-bottom: 7px; }
.hero-stats span { color: #aaa99f; font-size: 11px; }
.section { padding: 110px 7vw; }
.services { background: var(--paper); color: var(--ink); display: grid; grid-template-columns: 1.4fr .6fr; gap: 30px; }
.kicker { color: #6d6f68; margin: 0 0 20px; }
.kicker::before { content: ''; display: inline-block; width: 28px; height: 2px; background: var(--yellow); margin: 0 10px 3px 0; }
h2 { text-transform: uppercase; font-weight: 950; font-size: clamp(44px, 5.6vw, 82px); line-height: .94; letter-spacing: -4px; margin: 0; }
.section-lead { color: #65675f; line-height: 1.8; align-self: end; max-width: 420px; font-size: 15px; }
.service-grid { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 55px; border-top: 1px solid #d2d0c8; border-bottom: 1px solid #d2d0c8; }
.service-card { padding: 40px 34px 36px; min-height: 360px; border-right: 1px solid #d2d0c8; position: relative; transition: background .25s; }
.service-card:last-child { border-right: 0; }
.service-card:hover { background: white; }
.service-number { position: absolute; right: 24px; top: 24px; color: #a4a59e; font: 11px monospace; }
.service-icon { width: 48px; height: 48px; border: 1px solid #b9b9b0; color: #b79f00; display: grid; place-items: center; font-size: 28px; margin-bottom: 42px; }
.service-card h3 { text-transform: uppercase; font-size: 19px; margin: 0 0 18px; max-width: 240px; }
.service-card p { color: #6d6f67; font-size: 13px; line-height: 1.7; max-width: 310px; }
.service-card a { position: absolute; bottom: 28px; font-size: 10px; text-transform: uppercase; letter-spacing: 1.6px; font-weight: 800; }
.service-card a span { color: #9c8700; }
.projects { background: #171914; }
.project-heading { margin-bottom: 55px; }
.project-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 330px 330px; gap: 14px; }
.project { margin: 0; position: relative; overflow: hidden; background: #333; }
.project-1 { grid-row: 1 / 3; }
.project img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); transition: transform .5s, filter .5s; }
.project:hover img { transform: scale(1.025); filter: saturate(1); }
.project figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 24px 18px; background: linear-gradient(transparent, rgba(0,0,0,.75)); text-transform: uppercase; font-size: 10px; letter-spacing: 1.8px; }
.project figcaption span { color: var(--yellow); margin-right: 12px; }
.project-4 { display: none; }
.contact { background: var(--yellow); color: var(--ink); display: grid; grid-template-columns: 1.1fr .9fr; gap: 8vw; align-items: end; }
.contact .kicker { color: #3f3f34; }
.contact .kicker::before { background: var(--ink); }
.contact h2 em { color: var(--ink); -webkit-text-stroke: 1px var(--ink); }
.contact-copy > p { max-width: 520px; line-height: 1.7; font-size: 16px; }
.contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 28px; }
.button-dark { background: var(--ink); color: white; min-width: 245px; }
.email-link { border-bottom: 1px solid #847600; padding-bottom: 5px; font-size: 14px; }
footer { padding: 42px 7vw; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; color: #8f9188; font-size: 11px; line-height: 1.7; }
.footer-brand { color: white; }
.copyright { text-align: right; }
@media (max-width: 800px) {
  .topbar { height: 72px; padding: 0 20px; } nav { display: none; } .call-mini { padding: 11px; font-size: 9px; }
  .hero { min-height: 780px; } .hero-content { margin: 0 22px; padding-bottom: 150px; }
  h1 { letter-spacing: -3px; font-size: clamp(52px, 16vw, 76px); }
  .hero-shade { background: linear-gradient(90deg, rgba(12,14,11,.94), rgba(12,14,11,.38)), linear-gradient(0deg, rgba(12,14,11,.8), transparent); }
  .hero-actions { flex-direction: column; align-items: flex-start; } .hero-stats { padding: 0; grid-template-columns: 1fr 1fr; }
  .hero-stats div { padding: 18px 20px; } .hero-stats div:last-child { display: none; }
  .section { padding: 76px 22px; } .services, .contact { grid-template-columns: 1fr; } h2 { letter-spacing: -2.5px; }
  .service-grid { grid-template-columns: 1fr; margin-top: 25px; } .service-card { border-right: 0; border-bottom: 1px solid #d2d0c8; min-height: 330px; padding-left: 10px; }
  .project-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4, 300px); } .project-1 { grid-row: auto; } .project-4 { display: block; }
  footer { grid-template-columns: 1fr; gap: 24px; } .copyright { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
