@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap");

/* Responsive base v4.3.4 */
html,body {
  max-width:100%;
  overflow-x:hidden;
}
.lpb-section,.lpb-header,.lpb-footer {
  max-width:100%;
  overflow-x:hidden;
}
.lpb-section img,.lpb-section video,.lpb-section iframe {
  max-width:100%;
}
.lpb-grid {
  min-width:0;
}
.lpb-grid>* {
  min-width:0;
}
.lpb-form input,.lpb-form textarea,.lpb-form select,.lpb-form button {
  max-width:100%;
}
@media(max-width:992px) {
  .lpb-grid[style*="grid-template-columns"] {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.lpb-hero-grid,.lpb-contact-grid {
  grid-template-columns:1fr!important;
}

.lpb-header-inner {
  align-items:flex-start!important;
  flex-wrap:wrap!important;
}

}
@media(max-width:768px) {
  .lpb-header-inner {
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
}

.lpb-header .lpb-nav-toggle {
  display:block!important;
}

.lpb-header .lpb-logo {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  max-width:100%;
}

.lpb-header .lpb-logo-img {
  max-width:48px!important;
  max-height:48px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain;
  flex-shrink:0;
}

.lpb-header .lpb-logo-text {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  white-space:normal;
}

.lpb-header .lpb-nav {
  display:none!important;
  grid-column:1/3;
  width:100%;
  max-width:100%;
  flex-direction:column!important;
  align-items:stretch!important;
  padding:12px 16px!important;
  gap:8px!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}

.lpb-header .lpb-nav a {
  display:block!important;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  color:#475569!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  text-align:left!important;
  opacity:1!important;
  visibility:visible!important;
  height:auto!important;
  position:relative!important;
  z-index:1;
  text-decoration:none!important;
}

.lpb-header .lpb-nav a.btn-primary {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  text-align:center!important;
  color:#fff!important;
}

.lpb-header-transparent .lpb-nav {
  background:#fff!important;
  box-shadow:0 10px 30px rgba(15,23,42,.18)!important;
}

.lpb-header-centered .lpb-nav {
  border-top:0!important;
  justify-content:flex-start!important;
}

.lpb-navcenter-grid {
  grid-template-columns:1fr auto!important;
}

.lpb-header .lpb-header-cta {
  grid-column:1/3;
  width:100%;
  justify-content:center!important;
}

.lpb-header .lpb-header-cta a,.lpb-header a.lpb-header-cta {
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  text-align:center;
}

.lpb-header .lpb-nav-check:checked ~ .lpb-nav {
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
}

}
@media(max-width:480px) {
  .lpb-header-minimal .lpb-header-inner {
  grid-template-columns:1fr!important;
}

.lpb-header-minimal .lpb-header-cta {
  grid-column:1!important;
  width:100%;
  display:flex!important;
  justify-content:center!important;
}

}
@media(max-width:640px) {
  .lpb-section {
  padding:56px 22px!important;
}

.lpb-header,.lpb-footer {
  padding-left:22px!important;
  padding-right:22px!important;
}

.lpb-grid[style*="grid-template-columns"] {
  grid-template-columns:1fr!important;
}

h1 {
  font-size:clamp(34px,10vw,48px)!important;
}

h2 {
  font-size:clamp(28px,8vw,40px)!important;
}

table {
  display:block;
  overflow-x:auto;
  white-space:nowrap;
}

}
#i2okqm {
  position:absolute;
  left:-100000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
  z-index:-1;
}
#ifcsda {
  background:#111111;
  --lpb-audio-accent:#3b82f6;
}
#itnk {
  objectFit:contain;
}
#ioaca3 {
  objectFit:contain;
}
#ipwm1:hover {
  background-color: #171717;
  color: #fafafa;
}
#ix7dw:hover {
  background-color: #1a1a1a;
  color: #ffffff;
}
#ie1fq9:hover {
  background-color: #bd4a06;
}
#icraqp:hover {
  background-color: #111827;
  color: #ffffff;
}
#istbl{animation-name:lpb-zoom-in;animation-duration:600ms;animation-delay:0ms;animation-fill-mode:both;animation-timing-function:ease;opacity:0;}
#il6sr{animation-name:lpb-zoom-out;animation-duration:600ms;animation-delay:0ms;animation-fill-mode:both;animation-timing-function:ease;opacity:0;}
#i4371j{width:100%;height:100%;object-fit:cover;display:block;}
#ihvhx3{border-radius:16px;overflow:hidden;grid-row:span 2;}
#icpr2b{width:100%;height:100%;object-fit:cover;display:block;}
#itsa5x{border-radius:16px;overflow:hidden;}
#i7481n{width:100%;height:100%;object-fit:cover;display:block;}
#in4wsg{border-radius:16px;overflow:hidden;}
#i9bywl{width:100%;height:100%;object-fit:cover;display:block;}
#iqowov{border-radius:16px;overflow:hidden;}
#iy9v4f{width:100%;height:100%;object-fit:cover;display:block;}
#iozyej{border-radius:16px;overflow:hidden;}
#sec-gallery-masonry-mrpyaq4t{background:#fff;padding-top:80px;padding-bottom:80px;}
#ije49g{width:100%;height:auto;display:block;}
#idaw3l{border-radius:12px;overflow:hidden;}
#ilqjpa{width:100%;height:auto;display:block;}
#ieutvw{border-radius:12px;overflow:hidden;}
#in6fsl{width:100%;height:auto;display:block;}
#ip6jwo{border-radius:12px;overflow:hidden;}
#i1hr7w{width:100%;height:auto;display:block;}
#itwcix{border-radius:12px;overflow:hidden;}
#ixqcir{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
#sec-gallery-4-mrpyaxeh{background:#fff;padding-top:80px;padding-bottom:80px;background-color:rgba(238,241,244,1);}
#igww6q{max-width:100%;height:auto;border-radius:12px;}
#iuxdfs{background:#111111;--lpb-audio-accent:#3b82f6;}
/* ===== Cambios web DIY (sep 2026) ===== */
/* Logo más grande */
.nav-container{height:92px}
.logo-img{height:72px!important;width:auto}
/* Nav: etiquetas en dos líneas */
nav ul{gap:24px}
nav a.nav-2l{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;text-align:center}
nav a.nav-2l small{font-size:11px;font-weight:700;color:#98a2b3}
/* Nav: viñeta desplegable DIY */
.nav-dd{position:relative}
.nav-dd-toggle{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;background:var(--yellow-soft);color:#735200!important}
.nav-dd-caret{transition:transform .2s ease}
.nav-dd-panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-6px);min-width:190px;padding:12px 16px;border-radius:14px;background:var(--dark);color:#fff;text-align:center;box-shadow:0 18px 40px rgba(15,23,42,.22);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;z-index:1100}
.nav-dd-panel::before{content:'';position:absolute;top:-6px;left:50%;width:12px;height:12px;background:var(--dark);transform:translateX(-50%) rotate(45deg);border-radius:2px}
.nav-dd-panel strong{display:block;font-size:14px;font-weight:800;letter-spacing:.2px}
.nav-dd-panel span{display:block;font-size:13px;font-weight:600;color:var(--yellow)}
.nav-dd:hover .nav-dd-panel,.nav-dd:focus-within .nav-dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-dd:hover .nav-dd-caret,.nav-dd:focus-within .nav-dd-caret{transform:rotate(180deg)}
/* Hero */
.hero{padding-top:175px}
.hero p.hero-diy strong{color:var(--text)}
.floating-note{max-width:240px;text-align:center}
.floating-note strong{font-size:34px}
.floating-note strong em{font-style:normal;color:var(--yellow)}
.floating-note span{display:block;color:var(--text);font-size:16px;line-height:1.3}
/* Proceso */
.section-head .section-sub{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.5px;margin-bottom:8px}
.process-step .step-note{display:block;margin-top:10px;font-size:12.5px;font-weight:700;color:#b54708;line-height:1.4}
@media(min-width:761px) and (max-width:1080px){nav ul{gap:16px}nav a{font-size:13px}}
@media(max-width:760px){
  .nav-container{height:78px}
  .logo-img{height:56px!important}
  nav a.nav-2l{display:block;text-align:left}
  nav a.nav-2l small::before{content:" "}
  nav a.nav-2l small{font-size:inherit;font-weight:800;color:inherit}
  .nav-dd-panel{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;background:none;box-shadow:none;color:var(--text);padding:6px 0 0;text-align:left;min-width:0}
  .nav-dd-panel::before{display:none}
  .nav-dd-panel span{color:#b54708}
  .nav-dd:hover .nav-dd-panel,.nav-dd:focus-within .nav-dd-panel{transform:none}
  .nav-dd-caret{display:none}
}

/* ===== Formulario de contacto ===== */
.form select{width:100%;border:1px solid var(--border);border-radius:16px;padding:17px 44px 17px 18px;font:inherit;background:#f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center;appearance:none;-webkit-appearance:none;color:var(--text);outline:none;transition:.25s ease;cursor:pointer}
.form select.is-empty{color:#757575}
.form select:focus{background-color:var(--white);border-color:var(--yellow);box-shadow:0 0 0 4px rgba(246,180,0,.16)}
.form .span-2{grid-column:1/-1}
.form .is-invalid{border-color:#f04438!important;box-shadow:0 0 0 4px rgba(240,68,56,.12)!important}
.form button:disabled{opacity:.7;cursor:progress;transform:none}
.form-status{grid-column:1/-1;padding:12px 16px;border-radius:14px;font-weight:700;font-size:14px}
.form-status.is-error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
.form-success{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px;border-radius:20px;background:#ecfdf3;border:1px solid #abefc6}
.form-success__icon{width:44px;height:44px;border-radius:50%;background:#12b76a;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px}
.footer-grid .form-success p{color:#054f31;font-weight:700;font-size:17px;margin:0}
