*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111512;color:#f7f4ed;font-family:Arial,Helvetica,sans-serif}.nav{height:92px;background:#050505;display:flex;align-items:center;padding:12px 4%;position:sticky;top:0;z-index:20}.logo{width:185px;max-height:70px;object-fit:contain}.nav nav{margin-left:auto;display:flex;gap:28px}.nav a{color:#fff;text-decoration:none;font-weight:700}.menu{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:35px}.hero{min-height:680px;background:url('assets/project-1.jpg') center/cover;position:relative;display:flex;align-items:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.30))}.hero-content{position:relative;width:min(850px,92%);margin-left:5%}.eyebrow{color:#d6aa35;font-weight:800;letter-spacing:.25em;font-size:15px}.hero h1,.section h2{font-family:Georgia,serif;font-weight:400;line-height:.98}.hero h1{font-size:clamp(54px,7vw,94px);margin:25px 0}.hero h1 em{color:#d6aa35;font-style:normal}.lead{font-size:21px;line-height:1.7;max-width:720px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{padding:18px 28px;text-decoration:none;font-weight:800;text-align:center}.gold{background:#d2a329;color:#fff}.outline{border:1px solid currentColor;color:#fff}.section{padding:90px 5%}.section h2{font-size:clamp(48px,6vw,78px);margin:22px 0 40px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-grid article{border:1px solid #343934;padding:25px;display:flex;gap:22px;min-height:145px;align-items:flex-start}.service-grid span{font:italic 26px Georgia;color:#d6aa35}.service-grid h3{margin:4px 0 10px;text-transform:uppercase;font-size:19px}.service-grid p{margin:0;color:#c7c7c3;line-height:1.45}.work{background:#f3efe6;color:#151515}.work h2{max-width:800px}.work h2 span{white-space:nowrap}.intro{font-size:22px;max-width:700px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:40px}.gallery figure{margin:0;background:#fff}.gallery img{display:block;width:100%;height:430px;object-fit:cover}.gallery figcaption{font:30px Georgia;padding:20px}.cta{text-align:center;background:#0b0d0b}.cta h2{max-width:850px;margin:20px auto}.cta>p:not(.eyebrow){font-size:21px;color:#ccc}.cta .actions{justify-content:center}footer{padding:28px;text-align:center;background:#050505;color:#aaa}
@media(max-width:700px){
 .nav{height:76px;padding:7px 4%}.logo{width:150px;max-height:62px}.menu{display:block;font-size:31px}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:#050505;padding:20px;flex-direction:column}.nav nav.open{display:flex}
 .hero{min-height:570px;background-position:58% center}.hero-content{margin:0 auto;width:92%;padding:38px 0}.shade{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.40))}.eyebrow{font-size:12px;letter-spacing:.21em;line-height:1.45}.hero h1{font-size:clamp(45px,13vw,58px);line-height:.98;margin:17px 0 20px}.lead{font-size:17px;line-height:1.55}.actions{gap:10px;margin-top:24px}.actions .btn{flex:1 1 100%;padding:16px 18px}
 .section{padding:52px 4%}.section h2{font-size:42px;line-height:1.02;margin:15px 0 28px}.service-grid{grid-template-columns:1fr;gap:9px}.service-grid article{min-height:0;padding:16px 14px;gap:13px}.service-grid span{font-size:21px;min-width:31px}.service-grid h3{font-size:16px;margin:1px 0 5px}.service-grid p{font-size:14px;line-height:1.42}
 .work{padding-top:54px}.work h2{font-size:42px;line-height:1.02;margin-bottom:22px}.work h2 span{white-space:normal}.intro{font-size:17px;line-height:1.5;margin-bottom:0}.gallery{grid-template-columns:1fr;gap:16px;margin-top:28px}.gallery figure{overflow:hidden}.gallery img{height:250px;max-height:none;object-fit:cover}.gallery figcaption{font-size:22px;padding:13px 15px}.gallery figure:nth-child(2) img{object-position:center 48%}.gallery figure:nth-child(3) img{object-position:center 54%}.gallery figure:nth-child(4) img{object-position:center 58%}
 .cta{padding-top:58px;padding-bottom:58px}.cta h2{font-size:40px}.cta>p:not(.eyebrow){font-size:17px}footer{padding:22px 14px;font-size:13px}
}


.lang-switch{
  margin-left:auto;
  margin-right:18px;
  display:flex;
  align-items:center;
  gap:7px;
  color:#8f8f8f;
  font-weight:700;
  font-size:13px;
}
.lang-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:#8f8f8f;
  font:inherit;
  cursor:pointer;
  padding:7px 4px;
}
.lang-btn.active{color:#d6aa35}
.lang-btn:hover{color:#f1d47b}

@media(max-width:700px){
  .lang-switch{margin-right:10px;font-size:12px;gap:4px}
  .lang-btn{padding:5px 3px}
}


/* ===== V5 FINAL POLISH ===== */

/* Keep translated service copy visually consistent with the original design */
.service-grid article,
.service-grid article * {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
}

.service-grid article span[data-i18n^="service"][data-i18n$="Title"] {
  color: #f7f4ed;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1.15;
}

.service-grid article span[data-i18n^="service"][data-i18n$="Text"] {
  color: #c7c7c3;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.45;
}

/* Service numbers remain gold and serif/italic */
.service-grid article > span:first-child {
  color: #d6aa35;
  font-family: Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

/* Avoid sticky header covering section headings */
#services, #work, #estimate {
  scroll-margin-top: 92px;
}

/* Slightly tighter project cards on phones */
@media(max-width:700px){
  .nav{height:82px}
  .logo{width:172px;max-height:62px}
  .nav nav{top:82px}
  .hero{min-height:590px}
  .hero h1{font-size:50px;line-height:.98}
  .lead{font-size:17px;line-height:1.55}
  .section{padding:58px 4%}
  .section h2{font-size:44px;line-height:1.02;margin-bottom:30px}

  .service-grid article{
    padding:16px 14px;
    gap:12px;
    min-height:0;
  }
  .service-grid article > span:first-child{
    font-size:20px;
    min-width:34px;
  }
  .service-grid article span[data-i18n^="service"][data-i18n$="Title"]{
    font-size:16px;
  }
  .service-grid article span[data-i18n^="service"][data-i18n$="Text"]{
    font-size:14px;
    line-height:1.35;
  }

  .work h2{font-size:43px}
  .work .intro{font-size:19px;line-height:1.5}
  .gallery{gap:16px;margin-top:28px}
  .gallery figure{overflow:hidden}
  .gallery img{
    width:100%;
    height:300px;
    object-fit:cover;
  }
  .gallery figcaption{
    font-size:23px;
    line-height:1.15;
    padding:14px 16px;
  }

  .cta h2{font-size:43px}
  .cta>p:not(.eyebrow){font-size:18px}
}

/* Spanish is longer, so give it a little more breathing room */
html[lang="es"] .hero h1{font-size:clamp(46px,6.5vw,88px)}
@media(max-width:700px){
  html[lang="es"] .hero h1{font-size:47px}
  html[lang="es"] .section h2{font-size:41px}
  html[lang="es"] .service-grid article span[data-i18n^="service"][data-i18n$="Title"]{
    font-size:15px;
  }
  html[lang="es"] .gallery figcaption{font-size:21px}
}

/* Language selector refinement */
.lang-switch{
  min-width:82px;
  justify-content:center;
}


/* ===== V5.1 MICRO POLISH ===== */
@media(max-width:700px){
  .hero{
    min-height:560px;
  }

  .hero h1{
    font-size:48px;
    line-height:.96;
    margin:20px 0;
  }

  html[lang="es"] .hero h1{
    font-size:45px;
    line-height:.95;
  }

  .hero-content{
    padding-bottom:18px;
  }

  .lead{
    margin-top:14px;
    margin-bottom:8px;
  }

  .actions{
    margin-top:22px;
  }

  .gallery img{
    height:255px;
    object-fit:cover;
  }

  .gallery figcaption{
    font-size:21px;
    padding:12px 14px;
  }

  html[lang="es"] .gallery figcaption{
    font-size:20px;
  }

  .work .intro{
    margin-bottom:18px;
  }

  .work h2{
    margin-bottom:24px;
  }

  .service-grid{
    gap:9px;
  }
}


/* ===== V5.2 FINAL PRODUCTION ===== */
@media(max-width:700px){
  .nav{height:70px;padding:5px 4%}
  .logo{width:155px;max-height:58px}
  .nav nav{top:70px}
  .menu{font-size:29px}
  .lang-switch{margin-right:7px;min-width:76px}
  .hero{min-height:540px}
  .hero-content{padding:30px 0 20px}
  .gallery img{height:230px}
  .gallery figcaption{font-size:20px;padding:11px 13px}
  html[lang="es"] .gallery figcaption{font-size:19px}
  #services,#work,#estimate{scroll-margin-top:76px}
}

.estimate-form{
  width:min(760px,100%);
  margin:30px auto 0;
  text-align:left;
  display:grid;
  gap:14px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.estimate-form label{
  display:grid;
  gap:7px;
  color:#f4f0e7;
  font-weight:700;
  font-size:14px;
}
.estimate-form input,
.estimate-form select,
.estimate-form textarea{
  width:100%;
  border:1px solid #3c423c;
  background:#121612;
  color:#fff;
  padding:14px 15px;
  font:inherit;
  border-radius:0;
  outline:none;
}
.estimate-form input:focus,
.estimate-form select:focus,
.estimate-form textarea:focus{
  border-color:#d6aa35;
}
.estimate-form textarea{resize:vertical}
.form-submit{
  border:0;
  width:100%;
  cursor:pointer;
  font-size:15px;
}
.secondary-actions{
  margin-top:12px!important;
}
.secondary-actions .btn{
  min-width:260px;
}

@media(max-width:700px){
  .form-row{grid-template-columns:1fr}
  .estimate-form{margin-top:24px}
  .estimate-form input,
  .estimate-form select,
  .estimate-form textarea{font-size:16px}
  .secondary-actions .btn{width:100%;min-width:0}
}
