
:root{
  --black:#0b0b0b; --charcoal:#14110f; --cream:#f4ead8; --paper:#fffaf0;
  --red:#8c1717; --red2:#5a0c0c; --gold:#d8a842; --muted:#b9aa92; --ink:#1a1511;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink);line-height:1.5}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,52px);background:linear-gradient(135deg,var(--charcoal),#24201d);color:white;border-bottom:3px solid var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.brand{display:flex;align-items:center;gap:12px;font-size:18px;text-transform:uppercase;letter-spacing:.04em}
.brand-mark{display:inline-grid;place-items:center;width:44px;height:44px;border:2px solid var(--gold);color:var(--gold);font-weight:900}
nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
nav a{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
nav a:hover{color:var(--gold)}
.hero-full{position:relative;min-height:calc(100vh - 78px);width:100%;overflow:hidden;background:#050505;color:white;border-bottom:3px solid var(--gold)}
.hero-bg-slider{position:absolute;inset:0;z-index:0}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:fullHeroFade 48s infinite}
.bg1{background-image:url('images/vcu-health-development.jpg');animation-delay:0s}
.bg2{background-image:url('images/large-development-site.jpg');animation-delay:8s}
.bg3{background-image:url('images/foundation-wide.jpg');animation-delay:16s}
.bg4{background-image:url('images/demolition-close.jpg');animation-delay:24s}
.bg5{background-image:url('images/residential-framing.jpg');animation-delay:32s}
.bg6{background-image:url('images/apartment-framing-front.jpg');animation-delay:40s}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,6,5,.88) 0%,rgba(58,8,8,.56) 42%,rgba(8,6,5,.70) 100%)}
.hero-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 55%,rgba(216,168,66,.20) 55.6% 57.4%,transparent 58%)}
.hero-content{position:relative;z-index:2;width:min(1320px,94vw);margin:0 auto;padding:clamp(72px,9vw,130px) 0}
.hero-content h1{max-width:1000px;font-size:clamp(52px,9vw,126px);line-height:.88;margin:14px 0 24px;text-transform:uppercase;letter-spacing:-.055em;text-shadow:0 18px 48px rgba(0,0,0,.55)}
.lead{max-width:830px;font-size:clamp(18px,2.1vw,26px);font-weight:700;color:rgba(255,255,255,.90)}
.kicker{margin:0 0 10px;color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.kicker.dark{color:var(--red)}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 22px;border:2px solid var(--gold);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.btn.gold{background:var(--gold);color:#1c1009}
.btn.outline{color:white;background:rgba(0,0,0,.15)}
.keyword-line{margin-top:16px;font-size:14px;font-weight:700;color:rgba(255,255,255,.84)}
.hero-caption-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-caption-row span{border:1px solid rgba(216,168,66,.55);background:rgba(0,0,0,.38);color:#f9deb0;padding:9px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
@keyframes fullHeroFade{0%{opacity:0;transform:scale(1.04)}4%{opacity:1;transform:scale(1.01)}17%{opacity:1}22%{opacity:0}100%{opacity:0}}

.cred-bar,.section,.seo-panel{width:min(1320px,94vw);margin-left:auto;margin-right:auto}
.cred-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.cred-bar div,.market-grid article,.service-grid article{background:linear-gradient(135deg,var(--charcoal),#2c2926);color:white;border-left:6px solid var(--gold);padding:22px;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.cred-bar strong{display:block;color:var(--gold);text-transform:uppercase}
.cred-bar span{display:block;margin-top:6px;font-size:14px;color:rgba(255,255,255,.78)}
.section{padding:72px 0}
.section h2,.seo-panel h2{font-size:clamp(38px,5vw,74px);line-height:.94;text-transform:uppercase;letter-spacing:-.055em;margin:0 0 24px}
.about-section,.request-section{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.request-section{grid-template-columns:.82fr 1.18fr;align-items:start}
.about-card,.request-copy,.seo-panel{background:var(--paper);border:2px solid rgba(90,12,12,.18);padding:clamp(26px,4vw,42px);box-shadow:14px 14px 0 rgba(216,168,66,.20)}
.about-card p,.seo-panel p{font-size:18px;color:#675943}
.insurance-card,.request-note,.request-form,.video-panel{background:linear-gradient(135deg,var(--red2),var(--black));color:white;border:2px solid var(--gold);padding:clamp(24px,4vw,40px)}
.insurance-card h3{font-size:clamp(28px,3.6vw,48px);line-height:.95;text-transform:uppercase;margin:0 0 20px;color:white}
.insurance-card ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.insurance-card li{border-left:6px solid var(--gold);padding:12px 12px 12px 16px;background:rgba(255,255,255,.08)}
.service-grid,.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.market-grid{grid-template-columns:repeat(4,1fr)}
.service-grid h3,.market-grid h3{margin:0 0 10px;color:var(--gold);text-transform:uppercase;font-size:22px;line-height:1}
.service-grid p,.market-grid p{margin:0;color:rgba(255,255,255,.80)}
.portfolio-section{padding-top:42px}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.portfolio-card{position:relative;min-height:330px;background:#181818;overflow:hidden;border:2px solid rgba(90,12,12,.18);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.portfolio-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.98) contrast(1.04)}
.portfolio-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.08) 58%,rgba(0,0,0,.04))}
.portfolio-card div{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;color:white}
.portfolio-card h3{margin:0;font-size:clamp(20px,2vw,30px);line-height:.92;text-transform:uppercase}
.portfolio-card p{margin:8px 0 0;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.video-panel{margin-top:28px}
.video-panel video{width:100%;border:2px solid rgba(216,168,66,.45);margin-top:18px;background:#000}
.seo-panel{margin-top:30px;margin-bottom:30px}
.request-note{margin-top:22px;border-left:6px solid var(--gold)}
.request-note strong{display:block;color:var(--gold);text-transform:uppercase;margin-bottom:4px}
.request-form{box-shadow:14px 14px 0 rgba(216,168,66,.20)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.request-form label,.message-label{display:grid;gap:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--gold)}
.request-form input,.request-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(216,168,66,.65);background:rgba(255,255,255,.08);color:white;padding:14px;font:inherit}
.request-form input::placeholder,.request-form textarea::placeholder{color:rgba(255,255,255,.55)}
.request-form textarea{resize:vertical;min-height:140px}
.message-label{margin-top:16px}
.form-submit{margin-top:18px;width:100%;border:0;cursor:pointer;background:var(--gold);color:#1c1009;padding:16px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:24px;background:var(--charcoal);color:white;border-top:3px solid var(--gold);padding:36px clamp(18px,4vw,52px)}
.site-footer p{margin:6px 0;color:rgba(255,255,255,.75)}
.site-footer a{color:var(--gold);font-weight:800}

@media(max-width:1150px){
  .portfolio-grid,.cred-bar,.market-grid{grid-template-columns:repeat(2,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .about-section,.request-section{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-header{position:relative;align-items:flex-start;flex-direction:column}
  nav{gap:14px}
  .hero-content{padding:72px 0}
  .hero-caption-row{display:none}
  .cred-bar,.service-grid,.market-grid,.portfolio-grid,.form-grid,.site-footer{grid-template-columns:1fr}
  .portfolio-card{min-height:320px}
}


.portfolio-disclosure{
  width:min(1320px,94vw);
  margin:24px auto 0;
  background:rgba(20,17,15,.92);
  color:rgba(255,255,255,.82);
  border-left:6px solid var(--gold);
  padding:18px 22px;
  font-size:14px;
  line-height:1.55;
}
.portfolio-disclosure strong{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.04em;
}
