:root{
  --bg:#050505;
  --panel:#0d0d0d;
  --panel2:#131313;
  --text:#f6f2ea;
  --muted:#aaa49a;
  --gold:#d49a2c;
  --gold2:#f1b643;
  --line:rgba(255,255,255,.1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Manrope,Arial,sans-serif;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
.header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:10;
  height:96px;
  padding:0 4vw;
  display:flex;
  align-items:center;
  gap:34px;
  border-bottom:1px solid rgba(255,255,255,.05);
  background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.08));
}
.brand img{
  width:180px;
  height:86px;
  object-fit:contain;
  filter:brightness(1.1) contrast(1.08);
}
.header nav{
  margin-left:auto;
  display:flex;
  gap:34px;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.08em;
  font-weight:700;
}
.header nav a:hover{color:var(--gold2)}
.outline-btn{
  border:1px solid var(--gold);
  padding:12px 22px;
  text-transform:uppercase;
  font-size:.76rem;
  font-weight:800;
}
.menu{display:none;background:none;border:0}
.menu span{display:block;width:26px;height:2px;background:white;margin:5px}

.hero{
  position:relative;
  min-height:800px;
  height:94vh;
  max-height:980px;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.78) 28%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.05) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.35));
}
.hero-copy{
  position:relative;
  z-index:2;
  width:560px;
  margin-left:4vw;
  padding-top:50px;
}
.eyebrow{
  margin:0 0 14px;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.72rem;
  font-weight:800;
}
.hero h1{
  margin:0 0 24px;
  font-size:clamp(4rem,6vw,7rem);
  text-transform:uppercase;
  line-height:.92;
  letter-spacing:-.065em;
}
.hero h1 span{color:var(--gold)}
.hero-copy>p:not(.eyebrow){
  max-width:370px;
  color:#d8d2c9;
  font-size:1.04rem;
}
.gold-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  margin-top:20px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#15100a;
  border:0;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
}
.section{
  max-width:1460px;
  margin:auto;
  padding:95px 4vw;
}
.section-title{margin-bottom:40px}
.section-title.centered{text-align:center}
.section-title p{
  margin:0;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:800;
}
.section-title h2{
  margin:8px 0 0;
  font-size:clamp(2.3rem,4.6vw,4.7rem);
  line-height:1;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.services-grid article{
  min-height:230px;
  padding:28px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.025),transparent),var(--panel);
}
.services-grid h3{
  text-transform:uppercase;
  font-size:1rem;
  margin:0 0 18px;
}
.services-grid p{color:var(--muted);font-size:.9rem}

.results{
  max-width:none;
  background:linear-gradient(180deg,#080808,#050505);
}
.results>*{max-width:1420px;margin-left:auto;margin-right:auto}
.result-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.result-card{
  border:1px solid var(--line);
  background:var(--panel);
  padding:14px;
}
.result-card>h3{
  text-align:center;
  text-transform:uppercase;
  margin:4px 0 14px;
}
.pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.pair figure{
  margin:0;
  position:relative;
  background:#050505;
}
.pair img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
}
.pair figcaption{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:5px 9px;
  background:#050505;
  text-transform:uppercase;
  font-size:.68rem;
  font-weight:800;
}
.pair figcaption.after{
  left:auto;
  right:10px;
  background:var(--gold);
  color:#160f06;
}
.result-card>p{
  text-align:center;
  color:var(--muted);
  padding:8px 10px 0;
}

.reviews{border-top:1px solid var(--line)}
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.review-grid article{
  padding:28px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,#151515,#0b0b0b);
}
.stars{
  color:var(--gold2);
  letter-spacing:.14em;
  margin-bottom:16px;
}
.review-grid blockquote{
  margin:0 0 24px;
  min-height:115px;
  color:#ddd7cf;
}
.review-grid strong,.review-grid small{display:block}
.review-grid small{color:var(--gold2)}

.review-submit{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:48px;
  padding:70px max(4vw,calc((100vw - 1420px)/2));
  border-top:1px solid var(--line);
  background:#080808;
}
.review-submit h2,.contact h2{
  margin:0 0 10px;
  font-size:clamp(2.2rem,4vw,4rem);
  text-transform:uppercase;
  letter-spacing:-.05em;
}
.review-submit>div>p:last-child{color:var(--muted)}
form{
  padding:28px;
  border:1px solid var(--line);
  background:var(--panel);
}
form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:14px;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:800;
  color:#bcb6ad;
}
.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
input,select,textarea{
  width:100%;
  padding:13px;
  color:white;
  background:#070707;
  border:1px solid var(--line);
  outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
.hidden{display:none}

.contact{
  display:grid;
  grid-template-columns:.6fr .7fr 1.3fr;
  gap:44px;
  padding:70px max(4vw,calc((100vw - 1420px)/2));
  border-top:1px solid var(--line);
  background:#050505;
}
.contact-brand img{
  width:230px;
  height:190px;
  object-fit:contain;
}
.contact a{
  display:block;
  color:var(--gold2);
  font-size:1.6rem;
  font-weight:800;
  margin:20px 0 4px;
}
.contact p{color:var(--muted)}

footer{
  padding:24px 4vw;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#7d786f;
  font-size:.8rem;
  border-top:1px solid var(--line);
}
.mobile-call{display:none}

@media(max-width:1000px){
  .header nav,.outline-btn{display:none}
  .menu{display:block;margin-left:auto}
  .hero{height:auto;min-height:900px}
  .hero-photo{object-position:62% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.65),rgba(0,0,0,.18))}
  .services-grid{grid-template-columns:1fr 1fr}
  .result-grid{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr}
  .review-submit,.contact{grid-template-columns:1fr}
}
@media(max-width:650px){
  body{padding-bottom:76px}
  .header{height:76px}
  .brand img{width:120px;height:68px}
  .hero{min-height:820px}
  .hero-photo{object-position:68% center}
  .hero-copy{width:auto;margin:0 20px}
  .hero h1{font-size:3.5rem}
  .section{padding:75px 20px}
  .services-grid{grid-template-columns:1fr}
  .pair img{height:300px}
  .review-submit,.contact{padding:65px 20px}
  .two{grid-template-columns:1fr}
  footer{padding:22px 20px;flex-direction:column}
  .mobile-call{
    display:flex;
    position:fixed;
    z-index:100;
    left:12px;right:12px;bottom:12px;
    min-height:52px;
    align-items:center;
    justify-content:center;
    background:var(--gold2);
    color:#160f06;
    font-weight:800;
    box-shadow:0 16px 40px rgba(0,0,0,.65);
  }
}


/* FINAL LOGO FIX — exact uploaded logo, transparent background, no cropping */
.brand {
  display: flex;
  align-items: center;
  min-width: 230px;
}

.brand img {
  width: 220px !important;
  height: 86px !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  display: block !important;
}

.contact-brand img {
  width: 280px !important;
  height: 220px !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.hero-photo {
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 650px) {
  .brand {
    min-width: 150px;
  }

  .brand img {
    width: 150px !important;
    height: 64px !important;
  }

  .contact-brand img {
    width: 220px !important;
    height: 180px !important;
  }
}


/* EXACT FULL LOGO — complete original canvas, no cropping */
.header {
  height: 150px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.brand {
  width: 260px !important;
  min-width: 260px !important;
  height: 134px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: visible !important;
}

.brand img {
  width: 260px !important;
  height: 134px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  overflow: visible !important;
  clip-path: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.hero {
  padding-top: 150px !important;
}

.contact-brand {
  overflow: visible !important;
}

.contact-brand img {
  width: 320px !important;
  height: 320px !important;
  object-fit: contain !important;
  object-position: center !important;
  overflow: visible !important;
  clip-path: none !important;
  background: transparent !important;
  filter: none !important;
}

@media (max-width: 650px) {
  .header {
    height: 110px !important;
  }

  .brand {
    width: 180px !important;
    min-width: 180px !important;
    height: 96px !important;
  }

  .brand img {
    width: 180px !important;
    height: 96px !important;
  }

  .hero {
    padding-top: 110px !important;
  }

  .contact-brand img {
    width: 240px !important;
    height: 240px !important;
  }
}
