:root{
  --black:#231F20;
  --gold:#F3B926;
  --gold-dim:#C99A20;
  --steel:#5A5758;
  --steel-light:#918F90;
  --offwhite:#F5F3EE;
  --white:#FFFFFF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Barlow Condensed','Oswald',Arial,sans-serif; background:var(--offwhite); color:var(--black);}
.body-font{font-family:Arial,Helvetica,sans-serif;}
a{color:inherit;}
img{max-width:100%; display:block;}

header{
  background:var(--black);
  padding:14px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:3px solid var(--gold);
  position:relative;
}
.brand{display:flex; align-items:center; gap:16px;}
.logo-box img{height:56px; width:auto; display:block;}
.brand-name{color:var(--white); font-size:23px; letter-spacing:1px; text-transform:uppercase; font-weight:600;}
.brand-sub{color:var(--gold); font-size:11px; letter-spacing:3px; text-transform:uppercase; font-family:Arial,sans-serif; margin-top:2px;}
nav ul{list-style:none; display:flex; gap:28px;}
nav li{position:relative;}
nav a{color:var(--white); text-decoration:none; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-family:Arial,sans-serif; font-weight:600;}
nav a:hover{color:var(--gold);}
nav .has-sub:hover .submenu{display:block;}
.submenu{
  display:none; position:absolute; top:100%; left:0; background:var(--black);
  border-top:2px solid var(--gold); min-width:180px; z-index:10; padding:8px 0;
}
.submenu li{padding:0;}
.submenu a{display:block; padding:10px 16px; font-size:12px;}
.nav-toggle{display:none;}

.hero{
  position:relative;
  background:
    linear-gradient(180deg, rgba(35,31,32,0.5), rgba(35,31,32,0.9)),
    url('https://sterlingcustom.us/wp-content/uploads/2020/11/IMG_2494.jpg') center 30%/cover no-repeat;
  height:480px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.reticle{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); opacity:0.35;}

.page-hero{
  position:relative;
  background:
    linear-gradient(180deg, rgba(35,31,32,0.6), rgba(35,31,32,0.92)),
    repeating-linear-gradient(135deg, #2e292a 0px, #2e292a 2px, #231F20 2px, #231F20 4px);
  padding:70px 40px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.page-hero .reticle{opacity:0.25;}
.page-hero-content{position:relative; z-index:2; text-align:center; max-width:700px;}
.hero-content{position:relative; z-index:2; text-align:center; max-width:700px; padding:0 20px;}
.hero-eyebrow{color:var(--gold); font-family:Arial,sans-serif; letter-spacing:3px; font-size:12px; text-transform:uppercase; margin-bottom:10px;}
.page-hero h1{color:var(--white); font-size:36px; line-height:1.2; text-transform:uppercase; letter-spacing:1px;}
.hero h1{color:var(--white); font-size:44px; line-height:1.2; text-transform:uppercase; letter-spacing:1px; margin-bottom:18px;}
.hero p{color:#D6D3CE; font-family:Arial,sans-serif; font-size:15px; line-height:1.6; margin-bottom:28px;}

.btn{
  display:inline-block; background:var(--gold); color:var(--black);
  font-family:Arial,sans-serif; font-weight:700; font-size:13px; letter-spacing:1.5px;
  text-transform:uppercase; padding:14px 32px; text-decoration:none; border-radius:2px; border:none; cursor:pointer;
}
.btn:hover{background:var(--gold-dim);}

.section{padding:64px 40px; max-width:1100px; margin:0 auto;}
.section-dark{background:var(--black); max-width:none; padding:64px 40px;}
.section-label{font-family:Arial,sans-serif; letter-spacing:3px; font-size:12px; color:var(--gold-dim); text-transform:uppercase; text-align:center; margin-bottom:8px;}
.section-label-dark{color:var(--gold);}
.section-title{text-align:center; font-size:32px; text-transform:uppercase; letter-spacing:1px; margin-bottom:40px; color:var(--black);}
.section-title-dark{color:var(--white);}

.bio-layout{display:grid; grid-template-columns:340px 1fr; gap:40px; align-items:start;}
.bio-layout img{border:1px solid #E2DFD6;}
.bio-copy p{font-family:Arial,sans-serif; font-size:15px; line-height:1.75; color:var(--steel); margin-bottom:18px;}
.bio-copy p:last-child{margin-bottom:0;}

.credential-strip{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.credential-tag{background:var(--white); border:1px solid #E2DFD6; padding:6px 14px; font-family:Arial,sans-serif; font-size:12px; letter-spacing:0.5px; color:var(--steel);}

.svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.svc-card{background:var(--white); border:1px solid #E2DFD6; overflow:hidden; text-decoration:none; color:inherit; display:block;}
.svc-img{height:150px; overflow:hidden;}
.svc-img img{width:100%; height:100%; object-fit:cover;}
.svc-body{padding:20px;}
.svc-code{font-size:11px; letter-spacing:2px; color:var(--gold-dim); text-transform:uppercase; font-weight:700; margin-bottom:6px; font-family:Arial,sans-serif;}
.svc-body h3{font-size:19px; margin-bottom:8px; text-transform:uppercase; letter-spacing:0.5px;}
.svc-body p{font-size:13px; color:var(--steel); margin-bottom:14px; line-height:1.55; font-family:Arial,sans-serif;}
.svc-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px;}
.svc-tags span{background:var(--offwhite); border:1px solid #E2DFD6; font-size:10px; padding:4px 8px; text-transform:uppercase; letter-spacing:0.5px; color:var(--steel); font-family:Arial,sans-serif;}
.svc-link{font-size:12px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:var(--gold-dim); font-family:Arial,sans-serif;}

.filmstrip{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.film-item{position:relative; aspect-ratio:4/3; overflow:hidden;}
.film-item img{width:100%; height:100%; object-fit:cover;}
.film-cap{
  position:absolute; bottom:0; left:0; right:0; background:linear-gradient(0deg, rgba(0,0,0,0.85), transparent);
  color:var(--white); font-family:Arial,sans-serif; font-size:11px; padding:24px 10px 8px; letter-spacing:0.5px;
}

.card-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.card{background:var(--white); border:1px solid #E2DFD6; padding:28px 20px; text-align:center; text-decoration:none; display:block;}
.card h3{font-size:17px; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; color:var(--black);}
.card p{font-family:Arial,sans-serif; font-size:13px; color:var(--steel); line-height:1.5;}

.testimonial-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.testimonial{background:var(--white); border:1px solid #E2DFD6; padding:28px; border-left:3px solid var(--gold);}
.testimonial p{font-family:Arial,sans-serif; font-size:14px; line-height:1.7; color:var(--steel); margin-bottom:16px;}
.testimonial .name{font-family:Arial,sans-serif; font-size:13px; font-weight:700; letter-spacing:0.5px; color:var(--black); text-transform:uppercase;}

.spec-block{background:var(--white); border:1px solid #E2DFD6; margin-bottom:24px;}
.spec-block h3{background:var(--black); color:var(--gold); font-size:18px; text-transform:uppercase; letter-spacing:1px; padding:14px 24px;}
.spec-block ul{list-style:none; padding:20px 24px;}
.spec-block li{font-family:Arial,sans-serif; font-size:14px; color:var(--steel); line-height:1.7; padding-left:18px; position:relative; margin-bottom:8px;}
.spec-block li::before{content:"—"; position:absolute; left:0; color:var(--gold-dim);}
.spec-block li ul{padding:6px 0 6px 20px;}
.spec-block li li::before{content:"·";}

.gallery-nav{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:36px;}
.gallery-nav a{
  font-family:Arial,sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  padding:10px 20px; border:1px solid var(--steel-light); text-decoration:none; color:var(--steel);
}
.gallery-nav a.active, .gallery-nav a:hover{background:var(--gold); border-color:var(--gold); color:var(--black);}
.g-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.g-item{aspect-ratio:4/3; position:relative; overflow:hidden; background:var(--steel-light);}
.g-item img{width:100%; height:100%; object-fit:cover;}
.g-item .cap{
  position:absolute; bottom:0; left:0; right:0; background:linear-gradient(0deg, rgba(0,0,0,0.85), transparent);
  color:var(--white); font-family:Arial,sans-serif; font-size:11px; padding:24px 10px 8px; letter-spacing:0.3px;
}

.class-card{background:var(--white); border:1px solid #E2DFD6; padding:28px; margin-bottom:20px;}
.class-card h3{font-size:19px; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:10px;}
.class-card p{font-family:Arial,sans-serif; font-size:14px; color:var(--steel); line-height:1.7;}

.sitemap-list{max-width:600px; margin:0 auto;}
.sitemap-list h3{font-size:16px; text-transform:uppercase; letter-spacing:1px; margin:20px 0 8px; color:var(--gold-dim);}
.sitemap-list ul{list-style:none; padding-left:16px;}
.sitemap-list li{margin-bottom:6px;}
.sitemap-list a{font-family:Arial,sans-serif; font-size:14px; color:var(--steel); text-decoration:none;}
.sitemap-list a:hover{color:var(--gold-dim);}

.contact-form label{
  display:block; font-family:Arial,sans-serif; font-size:11px; letter-spacing:1px; text-transform:uppercase;
  color:var(--gold); margin-bottom:6px; margin-top:14px;
}
.contact-form label:first-child{margin-top:0;}
.contact-form input, .contact-form textarea{
  width:100%; background:#332E2F; border:1px solid #4A4546; color:var(--white);
  font-family:Arial,sans-serif; font-size:14px; padding:10px 12px; border-radius:2px;
}
.contact-form input:focus, .contact-form textarea:focus{outline:1px solid var(--gold); border-color:var(--gold);}
.contact-form textarea{resize:vertical; min-height:90px;}
.contact-form button{margin-top:18px;}

.contact-card{background:#332E2F; border:1px solid #5A5758; padding:28px; margin-top:20px;}
.contact-card-label{font-family:Arial,sans-serif; letter-spacing:3px; font-size:12px; color:var(--gold-dim); text-transform:uppercase; font-weight:700;}
.big-phone{font-family:'Barlow Condensed',Arial,sans-serif; font-size:34px; font-weight:700; color:var(--gold); display:block; margin:10px 0; text-decoration:none;}
.contact-card p{font-family:Arial,sans-serif; font-size:13px; color:var(--steel-light); line-height:1.6;}

footer{background:var(--black); color:var(--offwhite); padding:48px 40px 24px;}
.footer-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px; max-width:1100px; margin:0 auto 32px;}
.footer-grid h4{color:var(--gold); font-size:14px; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:14px; font-family:Arial,sans-serif;}
.footer-grid p, .footer-grid a{font-family:Arial,sans-serif; font-size:13px; color:#D6D3CE; line-height:1.8; text-decoration:none;}
.footer-grid a:hover{color:var(--gold);}
.footer-bottom{
  max-width:1100px; margin:0 auto; padding-top:20px; border-top:1px solid #3A3536;
  font-family:Arial,sans-serif; font-size:12px; color:var(--steel-light);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
}

@media (max-width:900px){
  nav ul{display:none;}
  .bio-layout{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .filmstrip{grid-template-columns:repeat(2,1fr);}
  .testimonial-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .g-grid{grid-template-columns:repeat(2,1fr);}
}
