
:root{--bg:#0e0e0b;--panel:#171711;--panel2:#211f17;--text:#f4efe3;--muted:#c8bfae;--accent:#d9822b;--accent2:#f2a23a;--border:rgba(255,255,255,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(18px,4vw,56px);background:rgba(14,14,11,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--accent);color:var(--accent2)}nav{display:flex;gap:22px;color:var(--muted);font-weight:700}nav a:hover{color:var(--accent2)}.hero{min-height:74vh;display:grid;align-items:center;padding:90px clamp(20px,6vw,80px);background:radial-gradient(circle at 20% 20%,rgba(217,130,43,.26),transparent 30%),linear-gradient(120deg,rgba(0,0,0,.4),rgba(0,0,0,.8)),repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 10px)}.hero-content{max-width:850px}.eyebrow{margin:0 0 12px;color:var(--accent2);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}h1{margin:0;font-size:clamp(3rem,8vw,7rem);line-height:.9;text-transform:uppercase;letter-spacing:-.05em}h2{margin:0 0 16px;font-size:clamp(2rem,4vw,3.2rem);line-height:1;text-transform:uppercase}h3{margin:0 0 8px}.hero-subtitle{max-width:720px;margin:24px 0 0;font-size:clamp(1.1rem,2vw,1.4rem);color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;border-radius:2px;padding:13px 20px;font-weight:900;text-transform:uppercase;border:1px solid var(--border);cursor:pointer}.primary{background:var(--accent);color:#111;border-color:var(--accent)}.secondary{background:transparent;color:var(--text)}.section{padding:74px clamp(20px,6vw,80px);border-top:1px solid var(--border)}.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:start}.split p:last-child{margin:0;color:var(--muted);font-size:1.12rem}.section-heading{max-width:760px;margin-bottom:26px}.section-heading p{color:var(--muted)}.card-grid,.review-grid,.placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.review-card,.quote-card,.placeholder-grid div{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--border);padding:24px}.card p,.review-card p,.quote-card p{color:var(--muted)}.text-link{color:var(--accent2);font-weight:800}.placeholder-grid div{display:grid;place-items:center;min-height:220px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.quote{background:#15140f}.quote-card{max-width:860px;margin:0 auto}form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;color:var(--muted);font-weight:700}input,textarea{width:100%;padding:13px 14px;border:1px solid var(--border);background:#0b0b08;color:var(--text);font:inherit}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:30px clamp(20px,6vw,80px);border-top:1px solid var(--border);color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:18px}@media(max-width:800px){.site-header{align-items:flex-start;gap:14px;flex-direction:column}nav{width:100%;overflow-x:auto;gap:16px}.split,.card-grid,.review-grid,.placeholder-grid{grid-template-columns:1fr}.hero{min-height:auto}}
.site-logo {
  height: 70px;
  width: auto;
}
.hero {
  min-height: 850px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-content {
  max-width: 950px;
  margin: 0 auto;
}
.hero-logo {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-bottom: 20px;

  opacity: .92;
  filter: drop-shadow(0 15px 30px rgba(0,0,0,.6));
}

.hero h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
  line-height: .95;
  margin-bottom: 20px;
}

.hero-subtitle {
  max-width: 750px;
  margin: 0 auto 30px;
}

.button-row {
  justify-content: center;
}
.hero {
  position: relative;
  overflow: hidden;
}

.hero-bg-logo {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 760px;
  max-width: 80%;
  opacity: 0.65;
  z-index: 0;
  pointer-events: none;
  filter: brightness(1.25) contrast(1.15);
}

.hero-content {
  position: relative;
  z-index: 1;
}
/* PROFESSIONAL RESPONSIVE POLISH */

/* Desktop quote form cleanup */
.quote-card {
  max-width: 900px;
  margin: 0 auto;
  padding: 36px;
  border-radius: 6px;
}

form input,
form textarea {
  border-radius: 4px;
  min-height: 54px;
}

form button {
  margin-top: 10px;
  min-height: 56px;
}

/* Footer cleanup */
.site-footer {
  align-items: center;
  font-size: 0.95rem;
}

.footer-links a {
  color: var(--muted);
}

.footer-links a:hover {
  color: var(--accent2);
}

/* Mobile polish */
@media (max-width: 700px) {
  .site-header {
    padding: 24px 28px;
    gap: 22px;
  }

  .brand {
    font-size: 1.35rem;
  }

  nav {
    gap: 26px;
    font-size: 1.05rem;
    flex-wrap: wrap;
  }

  .hero {
  min-height: 620px;
  padding: 30px 24px 55px;
}

  .hero-bg-logo {
  top: 45px;
  width: 500px;
  max-width: 92%;
  opacity: 0.38;
}

  .hero h1 {
  font-size: clamp(2.25rem, 9.5vw, 3.2rem);
  line-height: 0.95;
}

  .hero-subtitle {
  font-size: 1rem;
  line-height: 1.5;
  max-width: 95%;
}

 .button-row {
  gap: 14px;
  margin-top: 26px;
}

  .button {
    width: 100%;
    min-height: 58px;
  }

  .section {
    padding: 58px 24px;
  }

  .quote-card {
    padding: 24px;
  }

  .site-footer {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 24px;
  }

  .footer-links {
    flex-direction: column;
    gap: 10px;
  }
}
/* FINAL MOBILE + DESKTOP POLISH */

@media (max-width: 700px) {
  .site-header {
    padding: 18px 24px;
    gap: 16px;
  }

  .brand {
    font-size: 1.15rem;
    letter-spacing: .08em;
  }

  nav {
    gap: 22px;
    font-size: 1rem;
  }

  .hero {
    min-height: 690px;
    padding: 45px 24px 70px;
  }

  .hero-bg-logo {
    top: 10px;
    width: 560px;
    max-width: 95%;
    opacity: 0.45;
  }

  .hero h1 {
    font-size: clamp(2.4rem, 10vw, 3.6rem);
    line-height: 0.95;
  }

  .hero-subtitle {
    font-size: 1.05rem;
    line-height: 1.55;
  }

  .button-row {
    gap: 18px;
  }


/* Desktop quote form improvement */
.quote-card {
  max-width: 850px;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

.quote-card label {
  font-size: .95rem;
  letter-spacing: .02em;
}

.quote-card input,
.quote-card textarea {
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,.14);
}

.quote-card button {
  border-radius: 5px;
  letter-spacing: .04em;
}
/* BEST MOBILE HERO VERSION */
@media (max-width: 700px) {
  .site-header {
    padding: 24px 28px 22px !important;
    gap: 18px !important;
  }

  .brand {
    font-size: 1.18rem !important;
    letter-spacing: .08em !important;
  }

  nav {
    gap: 24px !important;
    font-size: 1rem !important;
  }

  .hero {
    min-height: 740px !important;
    padding: 120px 24px 80px !important;
    align-items: flex-start !important;
  }

  .hero-bg-logo {
    top: 48px !important;
    width: 460px !important;
    max-width: 88% !important;
    opacity: 0.42 !important;
  }

  .hero-content {
    max-width: 100% !important;
    margin-top: 170px !important;
  }

  .eyebrow {
    font-size: .72rem !important;
    letter-spacing: .22em !important;
    margin-bottom: 14px !important;
  }

  .hero h1 {
    font-size: clamp(2.25rem, 9.2vw, 3.25rem) !important;
    line-height: .95 !important;
    letter-spacing: -.04em !important;
    margin-bottom: 24px !important;
  }

  .hero-subtitle {
    font-size: 1rem !important;
    line-height: 1.55 !important;
    max-width: 92% !important;
    margin: 0 auto 24px !important;
  }

  .button-row {
    flex-direction: column !important;
    gap: 14px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }

  .button {
    width: 100% !important;
    min-height: 56px !important;
    padding: 14px 18px !important;
    font-size: .95rem !important;
  }

  .section {
    padding-top: 70px !important;
  }
}
/* PROFESSIONAL SERVICES SECTION */

#services {
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.15)),
    var(--bg);
}

#services .section-heading {
  margin-bottom: 38px;
}

#services .card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

#services .card {
  min-height: 230px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(145deg, rgba(217,130,43,.08), rgba(255,255,255,.02)),
    #15140f;
  border-radius: 8px;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

#services .card:hover {
  transform: translateY(-4px);
  border-color: rgba(242,162,58,.45);
  background:
    linear-gradient(145deg, rgba(217,130,43,.16), rgba(255,255,255,.03)),
    #17150f;
}

#services .card h3 {
  color: var(--text);
  font-size: 1.25rem;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 14px;
}

#services .card p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

/* Mobile services */
@media (max-width: 700px) {
  #services .card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #services .card {
    min-height: auto;
    padding: 24px;
  }

  #services .card h3 {
    font-size: 1.15rem;
  }
}
/* SERVICE CARD POLISH */
#services .card {
  position: relative;
  overflow: hidden;
}

#services .card::before {
  content: "";
  display: block;
  width: 42px;
  height: 4px;
  background: var(--accent);
  margin-bottom: 22px;
}

#services .card h3 {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}

#services .card p {
  font-size: 1rem;
  line-height: 1.65;
}

#services .card:hover {
  border-color: rgba(242,162,58,.55);
  transform: translateY(-3px);
}
/* BUILD GALLERY PLACEHOLDER CARDS */
.build-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.build-card {
  min-height: 260px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(145deg, rgba(217,130,43,.16), rgba(0,0,0,.3)),
    #15140f;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.build-card span {
  color: var(--accent2);
  font-weight: 900;
  letter-spacing: .16em;
  margin-bottom: auto;
}

.build-card h3 {
  text-transform: uppercase;
  font-size: 1.35rem;
  margin-bottom: 10px;
}

.build-card p {
  color: var(--muted);
  line-height: 1.55;
}

@media (max-width: 700px) {
  .build-grid {
    grid-template-columns: 1fr;
  }

  .build-card {
    min-height: 220px;
  }
}
/* FORCE BUILD GALLERY CARDS */
#gallery .build-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  margin-top: 34px !important;
}

#gallery .build-card {
  min-height: 260px !important;
  padding: 28px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: linear-gradient(145deg, rgba(217,130,43,.16), rgba(255,255,255,.03)) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

#gallery .build-card span {
  color: var(--accent2) !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  margin-bottom: auto !important;
}

#gallery .build-card h3 {
  text-transform: uppercase !important;
  font-size: 1.35rem !important;
  margin-bottom: 12px !important;
}

#gallery .build-card p {
  color: var(--muted) !important;
  line-height: 1.55 !important;
}

@media (max-width: 700px) {
  #gallery .build-grid {
    grid-template-columns: 1fr !important;
  }
}
/* MERCH SECTION */
.merch-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 34px;
}

.merch-card {
  min-height: 230px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg, rgba(217,130,43,.12), rgba(255,255,255,.03));
}

.merch-card span {
  color: var(--accent2);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .15em;
  font-size: .75rem;
}

.merch-card h3 {
  margin-top: 28px;
  text-transform: uppercase;
  font-size: 1.3rem;
}

.merch-card p {
  color: var(--muted);
  line-height: 1.55;
}

@media (max-width: 700px) {
  .merch-grid {
    grid-template-columns: 1fr;
  }
}
