:root{
  --black:#0A0B0C;
  --panel:#141618;
  --panel-2:#1B1E21;
  --orange:#F5A623;
  --brass:#C99A5B;
  --white:#F3F1EC;
  --grey:#9096A0;
  --line:#2A2D30;
  --maxw:1080px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--white);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brand{
  font-family:'Archivo Expanded',sans-serif;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.01em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
section{padding:88px 0;}
@media(max-width:720px){ section{padding:56px 0;} }

.trace{width:100%;height:1px;position:relative;background:var(--line);margin:0;}
.trace::before{
  content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;
  border-radius:50%;background:var(--orange);
}

header{
  position:sticky;top:0;z-index:50;
  background:rgba(10,11,12,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:var(--maxw);margin:0 auto;}
.brand-mark{display:flex;align-items:center;gap:10px;}
.brand-mark img{height:72px;width:72px;object-fit:contain;}
.brand-mark span{font-size:1.05rem;letter-spacing:-0.01em;}
.brand-mark .sub{font-family:'Inter';font-weight:600;font-size:0.6rem;letter-spacing:0.12em;color:var(--orange);display:block;text-transform:uppercase;}
nav ul{display:flex;gap:32px;list-style:none;}
nav ul a{font-size:0.94rem;color:var(--grey);transition:color .2s;}
nav ul a:hover, nav ul a.active{color:var(--white);}
.call-btn{
  background:var(--orange);color:var(--black);font-weight:700;
  padding:10px 20px;border-radius:3px;font-size:0.9rem;
  transition:background .2s;
}
.call-btn:hover{background:var(--brass);}
@media(max-width:760px){
  nav ul{gap:18px;}
  .brand-mark span{font-size:0.92rem;}
}
@media(max-width:600px){
  nav ul{display:none;}
}

.hero{padding:88px 0 56px;}
.eyebrow-line{
  display:flex;align-items:center;gap:10px;
  color:var(--orange);font-weight:600;font-size:0.88rem;
  margin-bottom:22px;
}
.eyebrow-line .dash{width:24px;height:2px;background:var(--orange);}
.hero h1{font-size:clamp(2rem,4.4vw,3.1rem);margin-bottom:22px;max-width:680px;}
.hero p.lead{font-size:1.1rem;color:var(--grey);max-width:600px;margin-bottom:32px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.btn-primary{
  background:var(--orange);color:var(--black);font-weight:700;
  padding:15px 28px;border-radius:3px;font-size:0.98rem;transition:background .2s;
}
.btn-primary:hover{background:var(--brass);}
.btn-secondary{
  border:1px solid var(--line);color:var(--white);
  padding:14px 26px;border-radius:3px;font-size:0.98rem;
  transition:border-color .2s, background .2s;
}
.btn-secondary:hover{border-color:var(--orange);background:var(--panel);}

.about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
@media(max-width:820px){ .about-grid{grid-template-columns:1fr;gap:32px;} }
.about-photo{position:relative;}
.about-photo img{border-radius:2px;}
.license-badge{
  position:absolute;bottom:-16px;left:-16px;
  background:var(--orange);color:var(--black);
  padding:12px 18px;border-radius:3px;
  font-weight:700;font-size:0.82rem;line-height:1.3;
  box-shadow:0 10px 30px rgba(0,0,0,0.4);
}
@media(max-width:480px){ .license-badge{position:static;margin-top:14px;display:inline-block;} }
.about-copy p{color:var(--grey);margin-bottom:16px;font-size:1.01rem;}
.about-copy p strong{color:var(--white);}

.section-head{max-width:560px;margin-bottom:44px;}
.section-tag{color:var(--orange);font-weight:600;font-size:0.86rem;margin-bottom:10px;display:block;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.15rem);margin-bottom:12px;}
.section-head p{color:var(--grey);font-size:1rem;}

.service-list{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);border:1px solid var(--line);
}
.service-row{
  background:var(--black);padding:22px 26px;display:flex;align-items:center;gap:16px;
  transition:background .2s;
}
.service-row:hover{background:var(--panel);}
.service-row svg{flex:none;}
.service-row span{font-size:0.98rem;font-weight:500;}
@media(max-width:640px){ .service-list{grid-template-columns:1fr;} }

.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.work-item{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/3;}
.work-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.work-item:hover img{transform:scale(1.05);}
.work-caption{
  position:absolute;left:0;right:0;bottom:0;padding:16px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,0.85));
  font-size:0.9rem;font-weight:600;
}
@media(max-width:640px){ .work-grid{grid-template-columns:1fr;} }

.cta-band{
  background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  text-align:left;
}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding:48px 28px;}
.cta-band h2{font-size:clamp(1.4rem,2.6vw,1.9rem);max-width:480px;}
.cta-band p{color:var(--grey);margin-top:8px;}

footer{border-top:1px solid var(--line);padding:36px 0;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-row .brand-mark img{height:48px;width:48px;}
.footer-row .brand-mark span{font-size:0.9rem;}
footer .meta{color:var(--grey);font-size:0.82rem;}
footer nav ul{gap:20px;}
footer .nav{padding:0;}

/* Contact page specific */
.contact-hero{padding:72px 0 40px;}
.contact-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:14px;}
.contact-hero p{color:var(--grey);max-width:520px;font-size:1.05rem;}

.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.contact-card{
  background:var(--black);padding:38px 30px;display:flex;flex-direction:column;gap:16px;
  transition:background .25s;
}
.contact-card:hover{background:var(--panel);}
.contact-card .icon-wrap{
  width:48px;height:48px;border-radius:50%;background:var(--panel-2);
  display:flex;align-items:center;justify-content:center;
}
.contact-card h3{font-size:1.05rem;}
.contact-card p{color:var(--grey);font-size:0.92rem;}
.contact-card a.value{color:var(--orange);font-weight:600;font-size:1rem;margin-top:auto;}
.contact-card a.value:hover{color:var(--brass);}
@media(max-width:820px){ .contact-grid{grid-template-columns:1fr;} }

.hours-panel{
  background:var(--panel);border:1px solid var(--line);border-radius:4px;
  padding:36px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:center;
}
.hours-panel h3{font-size:1.1rem;margin-bottom:6px;}
.hours-panel p{color:var(--grey);font-size:0.95rem;}
