:root{--black:#050505;--dark:#0b0b0b;--panel:#111;--line:#2d2d2d;--gold:#d39b27;--gold2:#f6bb39;--text:#fff;--muted:#d5d5d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--text);font-family:Arial,Helvetica,sans-serif;text-transform:none}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.topbar{height:102px;background:#030303;display:grid;grid-template-columns:210px 1fr auto;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:100}.logo img{width:96px}.nav{display:flex;justify-content:center;gap:48px;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.nav a{padding:40px 0 31px;position:relative}.nav a.active,.nav a:hover{color:var(--gold2)}.nav a.active:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:26px;height:4px;background:var(--gold2)}.header-actions{display:flex;align-items:center;gap:34px;text-transform:uppercase;font-weight:900}.phone{font-size:20px;color:var(--gold2);white-space:nowrap}.phone span{margin-left:8px}.quote-btn,.outline-btn{border:1px solid var(--gold2);color:#fff;text-transform:uppercase;font-weight:900;letter-spacing:.03em;padding:19px 31px;background:rgba(0,0,0,.25);display:inline-flex;align-items:center;justify-content:center}.quote-btn:hover,.outline-btn:hover{background:var(--gold);color:#090909}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:32px}.hero{min-height:650px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('images/IMG_2671.jpg') center right/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 20%,rgba(5,5,5,.78) 43%,rgba(5,5,5,.1) 100%)}.hero-copy{position:relative;z-index:2;width:min(760px,92vw);padding:58px 0 40px 5vw}.gold-label{color:var(--gold2);text-transform:uppercase;font-weight:900;letter-spacing:.08em;font-size:17px;margin:0 0 17px}.hero h1,.page-hero h1{font-family:Impact,'Arial Black',sans-serif;text-transform:uppercase;font-size:clamp(48px,6.5vw,78px);line-height:1.05;letter-spacing:.015em;margin:0}.gold-line{width:130px;height:4px;background:var(--gold2);margin:27px 0}.lead{font-size:21px;line-height:1.6;color:#f3f3f3;max-width:570px;margin:0 0 30px}.badges{display:flex;gap:46px;flex-wrap:wrap;margin:26px 0 34px}.badges div{display:flex;gap:15px;align-items:center}.badges span{font-size:40px;color:var(--gold2);line-height:1}.badges p{font-size:16px;text-transform:uppercase;line-height:1.45;font-weight:800;margin:0}.hero-buttons{display:flex;gap:24px;flex-wrap:wrap}.gold-btn{background:linear-gradient(135deg,#c89127,#efbd4f);color:white;text-transform:uppercase;font-weight:900;letter-spacing:.02em;padding:20px 34px;display:inline-flex;align-items:center;justify-content:center;min-width:250px}.gold-btn:hover{filter:brightness(1.1)}.trust-bar{display:grid;grid-template-columns:repeat(3,1fr);background:#080808;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 5vw}.trust-bar div{display:flex;align-items:center;justify-content:center;gap:22px;border-right:1px solid #595959}.trust-bar div:last-child{border-right:0}.trust-bar span{color:var(--gold2);font-size:42px}.trust-bar p{text-transform:uppercase;font-size:16px;line-height:1.45;margin:0}.services,.projects-preview,.about,.gallery-page{padding:26px 5vw 70px;background:#101010;background-image:linear-gradient(135deg,rgba(255,255,255,.025),transparent)}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}.section-title-row h2,.about h2,.contact h2{font-family:Impact,'Arial Black',sans-serif;text-transform:uppercase;font-size:clamp(36px,4vw,52px);letter-spacing:.04em;line-height:1.05;margin:0}.small{padding:16px 30px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:16px}.service-grid article{min-height:140px;border:1px solid #444;background:linear-gradient(180deg,#151515,#0b0b0b);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}.service-grid span{color:var(--gold2);font-size:42px;margin-bottom:13px}.service-grid h3{text-transform:uppercase;font-size:16px;line-height:1.25;margin:0}.about{display:grid;grid-template-columns:42% 1fr;gap:44px;padding-top:25px;align-items:center}.about-img img{width:100%;height:380px;object-fit:cover}.about-copy p:not(.gold-label){font-size:18px;line-height:1.7;color:var(--muted);max-width:710px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.preview-grid a,.gallery-page article{position:relative;overflow:hidden;background:#111;min-height:360px;border:1px solid #333}.preview-grid img,.gallery-page img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.4s}.preview-grid a:hover img,.gallery-page article:hover img{transform:scale(1.05)}.preview-grid span,.gallery-page div{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.95),transparent);padding:50px 22px 22px;text-transform:uppercase;font-weight:900}.page-hero{padding:100px 5vw 70px;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45)),url('images/IMG_7391.jpg') center/cover}.page-hero p:not(.gold-label){max-width:650px;font-size:21px;line-height:1.6;color:var(--muted)}.gallery-page{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:70px}.gallery-page article:first-child{grid-column:span 2;grid-row:span 2}.gallery-page div span{color:var(--gold2);font-weight:900;text-transform:uppercase}.gallery-page h3{font-size:24px;text-transform:uppercase;margin:8px 0 0}.contact{text-align:center;padding:80px 5vw;background:radial-gradient(circle at center,rgba(211,155,39,.22),transparent 55%),#080808}.contact p:not(.gold-label){color:var(--muted);font-size:20px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 5vw;background:#030303;color:#ddd;border-top:1px solid var(--line)}footer a{color:var(--gold2);font-weight:900}@media(max-width:1150px){.topbar{grid-template-columns:auto auto;gap:20px}.menu-toggle{display:block;justify-self:end}.nav,.header-actions{display:none}.nav.open{display:flex;position:absolute;left:5vw;right:5vw;top:102px;background:#080808;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid #333;gap:8px}.nav.open a{padding:12px 0}.nav.open a:after{bottom:4px}.header-actions.open{display:flex;position:absolute;left:5vw;right:5vw;top:360px;background:#080808;padding:20px;border:1px solid #333;flex-wrap:wrap}.service-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.hero-copy{padding-left:28px}.hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.98),rgba(5,5,5,.78))}.trust-bar,.about,.preview-grid,.gallery-page{grid-template-columns:1fr}.trust-bar div{justify-content:flex-start;border-right:0;border-bottom:1px solid #444;padding:18px 0}.trust-bar div:last-child{border-bottom:0}.service-grid{grid-template-columns:repeat(2,1fr)}.section-title-row{display:block}.about-img img{height:320px}.gallery-page article:first-child{grid-column:auto;grid-row:auto}footer{display:block}.logo img{width:78px}}@media(max-width:480px){.hero h1,.page-hero h1{font-size:44px}.badges{gap:22px}.gold-btn,.outline-btn{width:100%}.service-grid{grid-template-columns:1fr}.topbar{height:84px}.nav.open{top:84px}.header-actions.open{top:342px}.preview-grid a,.gallery-page article{min-height:300px}}


/* Service emblems */
.service-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.service-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-icon svg path:first-child {
  fill: rgba(246, 187, 57, .08);
}

/* Quote Request Page */
.quote-hero {
  min-height: 360px;
  display: flex;
  align-items: center;
  padding: 150px 6% 70px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.65), rgba(0,0,0,.25)),
    url("images/IMG_2671.jpg") center/cover no-repeat;
  border-bottom: 1px solid rgba(212,175,55,.25);
}
.quote-hero h1 {
  font-size: clamp(3rem, 8vw, 7rem);
  line-height: .9;
  text-transform: uppercase;
  margin: 0 0 22px;
}
.quote-section {
  display: grid;
  grid-template-columns: .85fr 1.25fr;
  gap: 40px;
  padding: 80px 6%;
  background: #111;
}
.quote-info {
  background: #151515;
  border: 1px solid rgba(212,175,55,.25);
  padding: 34px;
  height: fit-content;
}
.quote-info h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  text-transform: uppercase;
  line-height: 1;
  margin: 0 0 20px;
}
.quote-contact-card {
  margin-top: 28px;
  padding: 24px;
  background: #0b0b0b;
  border: 1px solid rgba(255,255,255,.12);
}
.quote-contact-card a {
  display: block;
  color: #d4af37;
  font-size: 1.25rem;
  font-weight: 800;
  margin-top: 10px;
  text-decoration: none;
}
.quote-form {
  background: #0b0b0b;
  border: 1px solid rgba(255,255,255,.12);
  padding: 34px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.quote-form label {
  display: block;
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 18px;
}
.quote-form input,
.quote-form select,
.quote-form textarea {
  width: 100%;
  margin-top: 10px;
  padding: 15px 16px;
  background: #171717;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font: inherit;
  box-sizing: border-box;
}
.quote-form textarea {
  resize: vertical;
}
.form-submit {
  border: none;
  cursor: pointer;
  width: 100%;
  justify-content: center;
  margin-top: 10px;
}
.form-note {
  color: #aaa;
  font-size: .9rem;
  margin-top: 16px;
}
.thank-you {
  min-height: 70vh;
}
@media (max-width: 850px) {
  .quote-section,
  .form-row {
    grid-template-columns: 1fr;
  }
  .quote-hero {
    padding-top: 120px;
  }
}


/* Cleaner quote form on homepage */
.home-quote {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 38px;
  align-items: start;
  padding: 90px 6%;
  background:
    radial-gradient(circle at top left, rgba(212,175,55,.12), transparent 34%),
    #0d0d0d;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-quote-copy {
  position: sticky;
  top: 110px;
}

.home-quote-copy h2 {
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .92;
  margin: 0 0 22px;
  text-transform: uppercase;
}

.home-quote-copy p {
  color: #d8d8d8;
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 560px;
}

.home-quote-points {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.home-quote-points span {
  display: block;
  color: #fff;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(212,175,55,.22);
  padding: 14px 16px;
  font-weight: 800;
  letter-spacing: .02em;
}

.clean-quote-form,
.quote-form {
  background: linear-gradient(180deg, #151515, #090909);
  border: 1px solid rgba(212,175,55,.32);
  box-shadow: 0 22px 60px rgba(0,0,0,.36);
  padding: clamp(24px, 4vw, 42px);
}

.clean-quote-form label,
.quote-form label {
  display: block;
  color: #ffffff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .82rem;
  margin-bottom: 18px;
}

.clean-quote-form input,
.clean-quote-form select,
.clean-quote-form textarea,
.quote-form input,
.quote-form select,
.quote-form textarea {
  width: 100%;
  margin-top: 9px;
  padding: 16px 15px;
  background: #101010;
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  font: inherit;
  border-radius: 0;
  box-sizing: border-box;
  outline: none;
  transition: border-color .2s ease, background .2s ease;
}

.clean-quote-form input:focus,
.clean-quote-form select:focus,
.clean-quote-form textarea:focus,
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  border-color: #d4af37;
  background: #151515;
}

.clean-quote-form textarea,
.quote-form textarea {
  resize: vertical;
}

.clean-quote-form .form-submit,
.quote-form .form-submit {
  border: none;
  cursor: pointer;
  width: 100%;
  justify-content: center;
  margin-top: 8px;
  font-weight: 900;
}

.form-note a {
  color: #d4af37;
  font-weight: 900;
}

.quote-section-clean {
  background:
    radial-gradient(circle at top right, rgba(212,175,55,.1), transparent 30%),
    #111;
}

@media (max-width: 900px) {
  .home-quote {
    grid-template-columns: 1fr;
    padding: 70px 6%;
  }

  .home-quote-copy {
    position: static;
  }
}
