/* Inicio — Hero — #home_hero */

#home_hero .mgx-home-hero-001 {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    min-height: min(86vh,820px);
    border-bottom: 2px solid var(--color-divider);
}

#home_hero .mgx-home-hero-002 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(48px,7vw,104px) clamp(20px,5vw,72px);
    background: var(--color-bg);
}

#home_hero .mgx-home-hero-003 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
}

#home_hero .mgx-home-hero-004 {
    display: block;
    width: 44px;
    height: 2px;
    background: var(--color-accent);
}

#home_hero .mgx-home-hero-005 {
    font: 600 11px var(--font-body);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--mg-grey);
}

#home_hero .mgx-home-hero-006 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h1);
    line-height: 1.02;
    letter-spacing: -.028em;
    margin: 0 0 24px;
    max-width: 18ch;
    text-wrap: balance;
}

#home_hero .mgx-home-hero-007 {
    font-style: italic;
    color: var(--color-accent);
}

#home_hero .mgx-home-hero-008 {
    font: 400 clamp(15px,1.25vw,18px)/1.7 var(--font-body);
    color: #4a4642;
    max-width: 46ch;
    margin: 0 0 36px;
}

#home_hero .mgx-home-hero-009 {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-bottom: 44px;
}

#home_hero .mgx-home-hero-010 {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    background: var(--color-accent);
    color: #f7f5f1;
    text-decoration: none;
    font: 600 14px var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 19px 32px;
    border-radius: 3px;
}

#home_hero .mgx-home-hero-011 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    border-top: 2px solid var(--color-divider);
    padding-top: 22px;
    font: 400 13.5px/1.5 var(--font-body);
    color: #4a4642;
}

#home_hero .mgx-home-hero-012 {
    white-space: nowrap;
}

#home_hero .mgx-home-hero-013 {
    color: var(--mg-grey);
}

#home_hero .mgx-home-hero-014 {
    white-space: nowrap;
}

#home_hero .mgx-home-hero-015 {
    color: var(--mg-grey);
}

#home_hero .mgx-home-hero-016 {
    white-space: nowrap;
}

#home_hero .mgx-home-hero-017 {
    position: relative;
    overflow: hidden;
    background: #211f1d;
    min-height: 340px;
}

#home_hero .mgx-home-hero-018 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home_hero .mgx-home-hero-019 {
    position: absolute;
    left: 0;
    bottom: 34px;
    background: rgba(244,242,238,.95);
    padding: 16px 22px;
    max-width: 75%;
}

#home_hero .mgx-home-hero-020 {
    font: 600 10px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 5px;
}

#home_hero .mgx-home-hero-021 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: 19px;
}

/* Inicio — Quiénes somos — #home_about */

#home_about {
    padding: clamp(64px,9vw,132px) 0 0;
}

#home_about .mgx-home-about-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px);
}

#home_about .mgx-home-about-003 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

#home_about .mgx-home-about-004 {
    display: block;
    width: 44px;
    height: 2px;
    background: var(--color-accent);
}

#home_about .mgx-home-about-005 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-accent);
}

#home_about .mgx-home-about-006 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0 0 clamp(28px,4vw,56px);
    max-width: 19ch;
    text-wrap: balance;
}

#home_about .mgx-home-about-007 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px) clamp(56px,8vw,110px);
}

#home_about .mgx-home-about-008 {
    font: 400 clamp(16px,1.35vw,19px)/1.75 var(--font-body);
    color: var(--mg-body);
    margin: 0 0 clamp(38px,5vw,68px);
    max-width: 56ch;
    text-wrap: pretty;
}

#home_about .mgx-home-about-009 {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: clamp(18px,2.2vw,30px);
}

#home_about .mgx-home-about-010 {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-top: 3px solid var(--color-accent);
    padding: clamp(24px,2.8vw,36px);
    transition: box-shadow .4s,transform .45s cubic-bezier(.22,1,.36,1);
}

#home_about .mgx-home-about-011 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(20px,2.2vw,28px);
}

#home_about .mgx-home-about-012 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: clamp(30px,3vw,42px);
    line-height: 1;
    color: rgba(33,31,29,.14);
}

#home_about .mgx-home-about-013 {
    margin: 0 0 12px;
}

#home_about .mgx-home-about-014 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 16px;
}

#home_about .mgx-home-about-015 {
    font: 400 clamp(14.5px,1.05vw,15.5px)/1.72 var(--font-body);
    color: var(--mg-body);
    margin: 0;
}

#home_about .mgx-home-about-016 {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-top: 3px solid var(--color-accent);
    padding: clamp(24px,2.8vw,36px);
    transition: box-shadow .4s,transform .45s cubic-bezier(.22,1,.36,1);
}

#home_about .mgx-home-about-017 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(20px,2.2vw,28px);
}

#home_about .mgx-home-about-018 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: clamp(30px,3vw,42px);
    line-height: 1;
    color: rgba(33,31,29,.14);
}

#home_about .mgx-home-about-019 {
    margin: 0 0 12px;
}

#home_about .mgx-home-about-020 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 16px;
}

#home_about .mgx-home-about-021 {
    font: 400 clamp(14.5px,1.05vw,15.5px)/1.72 var(--font-body);
    color: var(--mg-body);
    margin: 0;
}

#home_about .mgx-home-about-022 {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-top: 3px solid var(--color-accent);
    padding: clamp(24px,2.8vw,36px);
    transition: box-shadow .4s,transform .45s cubic-bezier(.22,1,.36,1);
}

#home_about .mgx-home-about-023 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(20px,2.2vw,28px);
}

#home_about .mgx-home-about-024 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: clamp(30px,3vw,42px);
    line-height: 1;
    color: rgba(33,31,29,.14);
}

#home_about .mgx-home-about-025 {
    margin: 0 0 12px;
}

#home_about .mgx-home-about-026 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 16px;
}

#home_about .mgx-home-about-027 {
    font: 400 clamp(14.5px,1.05vw,15.5px)/1.72 var(--font-body);
    color: var(--mg-body);
    margin: 0;
}

/* Inicio — Servicios — #home_services */

#home_services {
    border-top: 2px solid var(--color-divider);
    padding: clamp(64px,9vw,132px) 0;
    background: var(--color-surface);
}

#home_services .mgx-home-services-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px);
}

#home_services .mgx-home-services-003 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px,4vw,60px);
    align-items: end;
    margin-bottom: clamp(36px,5vw,64px);
}

#home_services .mgx-home-services-004 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 20px;
}

#home_services .mgx-home-services-005 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0;
    max-width: 22ch;
}

#home_services .mgx-home-services-006 {
    font: 400 clamp(15px,1.15vw,17px)/1.7 var(--font-body);
    color: #4a4642;
    margin: 0;
    max-width: 48ch;
}

#home_services .mgx-home-services-007 {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap: clamp(16px,2vw,28px);
}

#home_services .mgx-home-services-008 {
    display: block;
    text-decoration: none;
    color: var(--color-text);
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
}

#home_services .mgx-home-services-009 {
    position: relative;
    aspect-ratio: 16/11;
    overflow: hidden;
}

#home_services .mgx-home-services-010 {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home_services .mgx-home-services-011 {
    padding: 26px 26px 30px;
}

#home_services .mgx-home-services-012 {
    margin-bottom: 16px;
}

#home_services .mgx-home-services-013 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 0 0 10px;
}

#home_services .mgx-home-services-014 {
    width: 28px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 16px;
}

#home_services .mgx-home-services-015 {
    font: 400 14.5px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0 0 20px;
}

#home_services .mgx-home-services-016 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 600 12px var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-accent);
}

#home_services .mgx-home-services-017 {
    transition: transform .35s;
}

#home_services .mgx-home-services-018 {
    display: block;
    text-decoration: none;
    color: var(--color-text);
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
}

#home_services .mgx-home-services-019 {
    position: relative;
    aspect-ratio: 16/11;
    overflow: hidden;
}

#home_services .mgx-home-services-020 {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home_services .mgx-home-services-021 {
    padding: 26px 26px 30px;
}

#home_services .mgx-home-services-022 {
    margin-bottom: 16px;
}

#home_services .mgx-home-services-023 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 0 0 10px;
}

#home_services .mgx-home-services-024 {
    width: 28px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 16px;
}

#home_services .mgx-home-services-025 {
    font: 400 14.5px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0 0 20px;
}

#home_services .mgx-home-services-026 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 600 12px var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-accent);
}

#home_services .mgx-home-services-027 {
    transition: transform .35s;
}

#home_services .mgx-home-services-028 {
    display: block;
    text-decoration: none;
    color: var(--color-text);
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
}

#home_services .mgx-home-services-029 {
    position: relative;
    aspect-ratio: 16/11;
    overflow: hidden;
}

#home_services .mgx-home-services-030 {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home_services .mgx-home-services-031 {
    padding: 26px 26px 30px;
}

#home_services .mgx-home-services-032 {
    margin-bottom: 16px;
}

#home_services .mgx-home-services-033 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 0 0 10px;
}

#home_services .mgx-home-services-034 {
    width: 28px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 16px;
}

#home_services .mgx-home-services-035 {
    font: 400 14.5px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0 0 20px;
}

#home_services .mgx-home-services-036 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 600 12px var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-accent);
}

#home_services .mgx-home-services-037 {
    transition: transform .35s;
}

#home_services .mgx-home-services-038 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: clamp(28px,3.4vw,44px);
}

#home_services .mgx-home-services-039 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-040 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-041 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-042 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-043 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-044 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-045 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_services .mgx-home-services-046 {
    font: 500 12.5px var(--font-body);
    padding: 9px 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

/* Inicio — Productos — #home_products */

#home_products {
    position: relative;
    border-top: 2px solid var(--color-divider);
    padding: clamp(64px,9vw,132px) 0;
    background: radial-gradient(120% 80% at 12% 0%,#fcfbf8 0%,#f4f2ee 52%,#e9e5de 100%);
}

#home_products .mgx-home-products-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px);
}

#home_products .mgx-home-products-003 {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(20px,4vw,60px);
    align-items: end;
    margin-bottom: clamp(32px,4.4vw,56px);
}

#home_products .mgx-home-products-004 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

#home_products .mgx-home-products-005 {
    display: block;
    width: 44px;
    height: 2px;
    background: var(--mg-gold);
}

#home_products .mgx-home-products-006 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-accent);
}

#home_products .mgx-home-products-007 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0 0 20px;
    max-width: 22ch;
    text-wrap: balance;
}

#home_products .mgx-home-products-008 {
    font: 400 clamp(15px,1.15vw,17px)/1.7 var(--font-body);
    color: #4a4642;
    margin: 0;
    max-width: 58ch;
}

#home_products .mgx-home-products-009 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font: 600 12px var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-accent);
    text-decoration: none;
    padding-bottom: 5px;
    border-bottom: 2px solid var(--color-accent);
}

#home_products .mgx-home-products-010 {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(258px,1fr));
    gap: clamp(22px,2.6vw,38px);
}

#home_products .mgx-home-products-011 {
    display: flex;
    flex-direction: column;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(45,43,43,.08);
    overflow: hidden;
    transition: transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .3s;
}

#home_products .mgx-home-products-012 {
    position: relative;
    height: clamp(130px,13vw,168px);
    overflow: hidden;
}

#home_products .mgx-home-products-013 {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(112deg,transparent 44%,rgba(112,108,102,.5) 45.2%,rgba(160,156,150,.18) 47%,transparent 48%),linear-gradient(98deg,transparent 66%,rgba(134,130,124,.32) 67%,transparent 68.4%),radial-gradient(130% 95% at 18% 8%,#fefdfb 0%,#f1efea 56%,#e0ddd6 100%);
}

#home_products .mgx-home-products-014 {
    position: absolute;
    left: 20px;
    top: 18px;
    font-family: "Playfair Display",Georgia,serif;
    font-size: 12px;
    letter-spacing: .24em;
    color: rgba(33,31,29,.42);
}

#home_products .mgx-home-products-015 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 7px 12px;
    background: rgba(252,251,248,.9);
    font: 600 10px var(--font-body);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mg-grey);
}

#home_products .mgx-home-products-016 {
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding: 0 22px 26px;
    flex: 1;
}

#home_products .mgx-home-products-017 {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#home_products .mgx-home-products-018 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 4px 0 0;
}

#home_products .mgx-home-products-019 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
}

#home_products .mgx-home-products-020 {
    font: 400 14px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0;
    flex: 1;
}

#home_products .mgx-home-products-021 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#home_products .mgx-home-products-022 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #f8eeef;
    color: #5d0f18;
    border-radius: 2px;
}

#home_products .mgx-home-products-023 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #f8eeef;
    color: #5d0f18;
    border-radius: 2px;
}

#home_products .mgx-home-products-024 {
    display: flex;
    align-items: center;
    gap: 7px;
    font: 500 10.5px var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mg-grey);
    border-top: 1px solid rgba(33,31,29,.1);
    padding-top: 13px;
}

#home_products .mgx-home-products-025 {
    display: flex;
    flex-direction: column;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(45,43,43,.08);
    overflow: hidden;
    transition: transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .3s;
}

#home_products .mgx-home-products-026 {
    position: relative;
    height: clamp(130px,13vw,168px);
    overflow: hidden;
}

#home_products .mgx-home-products-027 {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.24) .9px,transparent 1.2px),radial-gradient(rgba(214,204,192,.2) .8px,transparent 1.1px),radial-gradient(rgba(0,0,0,.35) 1px,transparent 1.3px),linear-gradient(155deg,#57534e 0%,#3a3633 55%,#26231f 100%);
    background-size: 9px 9px,14px 14px,19px 19px,100% 100%;
    background-position: 0 0,5px 7px,11px 3px,0 0;
}

#home_products .mgx-home-products-028 {
    position: absolute;
    left: 20px;
    top: 18px;
    font-family: "Playfair Display",Georgia,serif;
    font-size: 12px;
    letter-spacing: .24em;
    color: rgba(252,251,248,.6);
}

#home_products .mgx-home-products-029 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 7px 12px;
    background: rgba(252,251,248,.9);
    font: 600 10px var(--font-body);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mg-grey);
}

#home_products .mgx-home-products-030 {
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding: 0 22px 26px;
    flex: 1;
}

#home_products .mgx-home-products-031 {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#home_products .mgx-home-products-032 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 4px 0 0;
}

#home_products .mgx-home-products-033 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
}

#home_products .mgx-home-products-034 {
    font: 400 14px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0;
    flex: 1;
}

#home_products .mgx-home-products-035 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#home_products .mgx-home-products-036 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #eef2f8;
    color: #123d70;
    border-radius: 2px;
}

#home_products .mgx-home-products-037 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #eef2f8;
    color: #123d70;
    border-radius: 2px;
}

#home_products .mgx-home-products-038 {
    display: flex;
    align-items: center;
    gap: 7px;
    font: 500 10.5px var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mg-grey);
    border-top: 1px solid rgba(33,31,29,.1);
    padding-top: 13px;
}

#home_products .mgx-home-products-039 {
    display: flex;
    flex-direction: column;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(45,43,43,.08);
    overflow: hidden;
    transition: transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .3s;
}

#home_products .mgx-home-products-040 {
    position: relative;
    height: clamp(130px,13vw,168px);
    overflow: hidden;
}

#home_products .mgx-home-products-041 {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(58deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 42%),radial-gradient(rgba(150,144,136,.14) .7px,transparent .9px),radial-gradient(115% 100% at 72% 12%,#faf7f2 0%,#efeae1 58%,#ded8cd 100%);
    background-size: 100% 100%,7px 7px,100% 100%;
}

#home_products .mgx-home-products-042 {
    position: absolute;
    left: 20px;
    top: 18px;
    font-family: "Playfair Display",Georgia,serif;
    font-size: 12px;
    letter-spacing: .24em;
    color: rgba(33,31,29,.42);
}

#home_products .mgx-home-products-043 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 7px 12px;
    background: rgba(252,251,248,.9);
    font: 600 10px var(--font-body);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mg-grey);
}

#home_products .mgx-home-products-044 {
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding: 0 22px 26px;
    flex: 1;
}

#home_products .mgx-home-products-045 {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#home_products .mgx-home-products-046 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 4px 0 0;
}

#home_products .mgx-home-products-047 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
}

#home_products .mgx-home-products-048 {
    font: 400 14px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0;
    flex: 1;
}

#home_products .mgx-home-products-049 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#home_products .mgx-home-products-050 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #faf3df;
    color: #6b4e05;
    border-radius: 2px;
}

#home_products .mgx-home-products-051 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #faf3df;
    color: #6b4e05;
    border-radius: 2px;
}

#home_products .mgx-home-products-052 {
    display: flex;
    align-items: center;
    gap: 7px;
    font: 500 10.5px var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mg-grey);
    border-top: 1px solid rgba(33,31,29,.1);
    padding-top: 13px;
}

#home_products .mgx-home-products-053 {
    display: flex;
    flex-direction: column;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(45,43,43,.08);
    overflow: hidden;
    transition: transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .3s;
}

#home_products .mgx-home-products-054 {
    position: relative;
    height: clamp(130px,13vw,168px);
    overflow: hidden;
}

#home_products .mgx-home-products-055 {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(66deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 34%),repeating-linear-gradient(72deg,rgba(96,92,86,.08) 0 2px,transparent 2px 11px),radial-gradient(125% 100% at 82% 18%,#d8d3cb 0%,#bfb9b0 55%,#9d968c 100%);
}

#home_products .mgx-home-products-056 {
    position: absolute;
    left: 20px;
    top: 18px;
    font-family: "Playfair Display",Georgia,serif;
    font-size: 12px;
    letter-spacing: .24em;
    color: rgba(33,31,29,.5);
}

#home_products .mgx-home-products-057 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 7px 12px;
    background: rgba(252,251,248,.9);
    font: 600 10px var(--font-body);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mg-grey);
}

#home_products .mgx-home-products-058 {
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding: 0 22px 26px;
    flex: 1;
}

#home_products .mgx-home-products-059 {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#home_products .mgx-home-products-060 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 600;
    font-size: var(--mg-h3);
    margin: 4px 0 0;
}

#home_products .mgx-home-products-061 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
}

#home_products .mgx-home-products-062 {
    font: 400 14px/1.65 var(--font-body);
    color: #4a4642;
    margin: 0;
    flex: 1;
}

#home_products .mgx-home-products-063 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#home_products .mgx-home-products-064 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #eceae4;
    color: #403c37;
    border-radius: 2px;
}

#home_products .mgx-home-products-065 {
    font: 500 11px var(--font-body);
    padding: 5px 10px;
    background: #eceae4;
    color: #403c37;
    border-radius: 2px;
}

#home_products .mgx-home-products-066 {
    display: flex;
    align-items: center;
    gap: 7px;
    font: 500 10.5px var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mg-grey);
    border-top: 1px solid rgba(33,31,29,.1);
    padding-top: 13px;
}

#home_products .mgx-home-products-067 {
    position: relative;
    margin-top: clamp(48px,6vw,82px);
    background: #141211;
    border-top: 2px solid var(--color-accent);
    border-bottom: 2px solid var(--color-accent);
}

#home_products .mgx-home-products-068 {
    display: flex;
    align-items: stretch;
}

#home_products .mgx-home-products-069 {
    position: relative;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    padding: clamp(22px,2.4vw,30px) 0;
    mask-image: linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
    -webkit-mask-image: linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}

#home_products .mgx-home-products-070 {
    display: flex;
    align-items: center;
    gap: clamp(46px,6vw,92px);
    width: max-content;
}

#home_products .mgx-home-products-070 > img.mg-brand {
    display: block !important;
    flex: 0 0 auto;
    width: auto !important;
    height: 36px !important;
    max-width: none !important;
    max-height: 36px !important;
    object-fit: contain;
    filter: brightness(0) invert(1) !important;
    opacity: .72;
}

#home_products .mgx-home-products-070 > img.mg-brand:hover {
    opacity: 1;
}

#home_products .mgx-home-products-071 {
    flex: none;
    display: none;
    align-items: center;
    padding: 0 26px;
    border-left: 1px solid rgba(217,212,204,.14);
}

@media (max-width: 560px) {
    #home_products .mgx-home-products-070 > img.mg-brand {
        height: 30px !important;
        max-height: 30px !important;
    }
}


/* Inicio — Proyectos — #home_projects */

#home_projects {
    border-top: 2px solid var(--color-divider);
    padding: clamp(64px,9vw,132px) 0;
    background: var(--color-surface);
}

#home_projects .mgx-home-projects-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px);
}

#home_projects .mgx-home-projects-003 {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(20px,4vw,60px);
    align-items: end;
    margin-bottom: clamp(28px,3.4vw,44px);
}

#home_projects .mgx-home-projects-004 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 20px;
}

#home_projects .mgx-home-projects-005 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0;
    max-width: 22ch;
}

#home_projects .mgx-home-projects-006 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font: 600 12px var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-accent);
    text-decoration: none;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--color-accent);
}

#home_projects .mgx-home-projects-007 {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
    gap: clamp(16px,1.8vw,26px);
}

#home_projects .mgx-home-projects-008 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-009 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-010 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-011 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-012 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-013 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-014 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-015 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-016 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-017 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-018 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-019 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-020 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-021 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-022 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-023 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-024 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-025 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-026 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-027 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-028 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-029 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-030 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-031 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-032 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-033 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-034 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-035 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-036 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-037 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-038 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-039 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-040 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-041 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-042 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-043 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-044 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-045 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-046 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-047 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-048 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-049 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-050 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-051 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-052 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-053 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-054 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-055 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-056 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-057 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-058 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-059 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-060 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-061 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-062 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-063 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-064 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-065 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-066 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-067 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-068 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-069 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-070 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-071 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-072 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-073 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-074 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-075 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-076 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-077 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#home_projects .mgx-home-projects-078 {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #211f1d;
    text-decoration: none;
}

#home_projects .mgx-home-projects-079 {
    position: absolute;
    inset: 0;
    background-color: #211f1d;
    background-size: cover;
    background-position: center;
}

#home_projects .mgx-home-projects-080 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(18,16,15,.62) 0%,rgba(18,16,15,.16) 44%,rgba(18,16,15,0) 72%);
}

#home_projects .mgx-home-projects-081 {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .4s,transform .4s;
}

#home_projects .mgx-home-projects-082 {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 14px 17px 15px;
    background: rgba(24,21,20,.24);
    backdrop-filter: blur(11px) saturate(1.25);
    -webkit-backdrop-filter: blur(11px) saturate(1.25);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    transition: background .4s,transform .5s cubic-bezier(.22,1,.36,1),border-color .4s;
}

#home_projects .mgx-home-projects-083 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

#home_projects .mgx-home-projects-084 {
    display: block;
    width: 15px;
    height: 2px;
    background: #f2c14e;
}

#home_projects .mgx-home-projects-085 {
    font: 600 9.5px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f2c14e;
}

#home_projects .mgx-home-projects-086 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h4);
    line-height: 1.22;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.5),0 2px 16px rgba(0,0,0,.4);
    margin-bottom: 5px;
}

#home_projects .mgx-home-projects-087 {
    font: 400 12px/1.45 var(--font-body);
    color: rgba(255,255,255,.86);
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

/* Inicio — Testimonios — #home_testimonials */

#home_testimonials {
    border-top: 2px solid var(--color-divider);
    padding: clamp(64px,9vw,132px) 0;
}

#home_testimonials .mgx-home-testimonials-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px);
}

#home_testimonials .mgx-home-testimonials-003 {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(32px,5vw,80px);
    align-items: start;
}

#home_testimonials .mgx-home-testimonials-004 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 20px;
}

#home_testimonials .mgx-home-testimonials-005 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0 0 24px;
    max-width: 18ch;
}

#home_testimonials .mgx-home-testimonials-006 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: 3px;
    padding: 14px 18px;
    text-decoration: none;
    color: var(--color-text);
}

#home_testimonials .mgx-home-testimonials-007 {
    display: flex;
    gap: 2px;
}

#home_testimonials .mgx-home-testimonials-008 {
    font: 500 13px var(--font-body);
}

#home_testimonials .mgx-home-testimonials-009 {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap: clamp(16px,2vw,24px);
}

#home_testimonials .mgx-home-testimonials-010 {
    margin: 0;
    background: var(--color-surface);
    border-left: 2px solid var(--color-accent);
    padding: clamp(24px,2.6vw,34px);
}

#home_testimonials .mgx-home-testimonials-011 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(18px,1.6vw,22px);
    line-height: 1.45;
    margin: 0 0 24px;
}

#home_testimonials .mgx-home-testimonials-012 {
    display: flex;
    align-items: center;
    gap: 14px;
}

#home_testimonials .mgx-home-testimonials-013 {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: none;
    border-radius: 50%;
    background: var(--color-accent);
    color: #f7f5f1;
    font: 600 15px var(--font-body);
    letter-spacing: .04em;
}

#home_testimonials .mgx-home-testimonials-014 {
    display: block;
    font: 600 14px var(--font-body);
}

#home_testimonials .mgx-home-testimonials-015 {
    display: block;
    font: 400 12.5px var(--font-body);
    color: var(--mg-grey);
    margin-top: 2px;
}

#home_testimonials .mgx-home-testimonials-016 {
    margin: 0;
    background: var(--color-surface);
    border-left: 2px solid var(--mg-blue);
    padding: clamp(24px,2.6vw,34px);
}

#home_testimonials .mgx-home-testimonials-017 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(18px,1.6vw,22px);
    line-height: 1.45;
    margin: 0 0 24px;
}

#home_testimonials .mgx-home-testimonials-018 {
    display: flex;
    align-items: center;
    gap: 14px;
}

#home_testimonials .mgx-home-testimonials-019 {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: none;
    border-radius: 50%;
    background: var(--mg-blue);
    color: #f7f5f1;
    font: 600 15px var(--font-body);
    letter-spacing: .04em;
}

#home_testimonials .mgx-home-testimonials-020 {
    display: block;
    font: 600 14px var(--font-body);
}

#home_testimonials .mgx-home-testimonials-021 {
    display: block;
    font: 400 12.5px var(--font-body);
    color: var(--mg-grey);
    margin-top: 2px;
}

/* Inicio — CTA — #home_cta */

#home_cta {
    position: relative;
    background: var(--color-accent);
    color: #f7f5f1;
    overflow: hidden;
}

#home_cta .mgx-home-cta-002 {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(52px,7vw,96px) clamp(20px,5vw,56px);
}

#home_cta .mgx-home-cta-003 {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: clamp(28px,5vw,72px);
    align-items: center;
}

#home_cta .mgx-home-cta-004 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(247,245,241,.7);
    margin-bottom: 20px;
}

#home_cta .mgx-home-cta-005 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0 0 18px;
    color: #faf8f4;
    max-width: 22ch;
}

#home_cta .mgx-home-cta-006 {
    font: 400 clamp(15px,1.2vw,18px)/1.65 var(--font-body);
    color: rgba(247,245,241,.86);
    margin: 0;
    max-width: 52ch;
}

#home_cta .mgx-home-cta-007 {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

#home_cta .mgx-home-cta-008 {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #f7f5f1;
    color: var(--color-accent);
    text-decoration: none;
    font: 600 14px var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 21px 26px;
    border-radius: 3px;
}

#home_cta .mgx-home-cta-009 {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: transparent;
    color: #f7f5f1;
    text-decoration: none;
    font: 600 14px var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 21px 26px;
    border: 1px solid rgba(247,245,241,.4);
    border-radius: 3px;
}

/* Inicio — Contacto — #home_contact */

#home_contact {
    padding: clamp(64px,9vw,132px) 0;
    background: var(--color-bg);
}

#home_contact .mgx-home-contact-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,56px);
}

#home_contact .mgx-home-contact-003 {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: clamp(32px,5vw,80px);
    align-items: start;
}

#home_contact .mgx-home-contact-004 {
    font: 600 11px var(--font-body);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 20px;
}

#home_contact .mgx-home-contact-005 {
    font-family: "Playfair Display",Georgia,serif;
    font-weight: 500;
    font-size: var(--mg-h2);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin: 0 0 22px;
    max-width: 18ch;
}

#home_contact .mgx-home-contact-006 {
    font: 400 15.5px/1.7 var(--font-body);
    color: #4a4642;
    margin: 0 0 34px;
    max-width: 42ch;
}

#home_contact .mgx-home-contact-007 {
    border-top: 2px solid var(--color-divider);
    padding-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

#home_contact .mgx-home-contact-008 {
    font: 600 10.5px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin-bottom: 9px;
}

#home_contact .mgx-home-contact-009 {
    margin: 0;
    padding-left: 20px;
    font: 400 14.5px/1.85 var(--font-body);
    color: #4a4642;
}

#home_contact .mgx-home-contact-010 {
    border-top: 1px solid var(--color-divider);
    padding-top: 22px;
}

#home_contact .mgx-home-contact-011 {
    font: 600 10.5px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin-bottom: 11px;
}

#home_contact .mgx-home-contact-012 {
    font: 400 14.5px/1.7 var(--font-body);
    color: #4a4642;
}

#home_contact .mgx-home-contact-013 {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 14px;
    font: 500 14.5px var(--font-body);
}

#home_contact .mgx-home-contact-014 {
    color: var(--color-text);
    text-decoration: none;
}

#home_contact .mgx-home-contact-015 {
    color: var(--color-text);
    text-decoration: none;
}

#home_contact .mgx-home-contact-016 {
    color: var(--color-accent);
    text-decoration: none;
}

#home_contact .mgx-home-contact-017 {
    background: var(--color-surface);
    border: 2px solid var(--color-divider);
    padding: clamp(24px,3.4vw,46px);
}

#home_contact .mgx-home-contact-018 {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

#home_contact .mgx-home-contact-019 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

#home_contact .mgx-home-contact-020 {
    font: 400 12px var(--font-body);
    color: #4a4642;
    margin-bottom: 8px;
}

#home_contact .mgx-home-contact-021 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#home_contact .mgx-home-contact-022 {
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_contact .mgx-home-contact-023 {
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_contact .mgx-home-contact-024 {
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_contact .mgx-home-contact-025 {
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_contact .mgx-home-contact-026 {
    border: 1px solid var(--color-divider);
    border-radius: 3px;
}

#home_contact .mgx-home-contact-027 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

#home_contact .mgx-home-contact-028 {
    font: 400 12px var(--font-body);
    color: #4a4642;
    margin-bottom: 8px;
}

#home_contact .mgx-home-contact-029 {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    background: var(--color-bg);
    border: 1px dashed var(--color-divider);
    border-radius: 3px;
    cursor: pointer;
}

#home_contact .mgx-home-contact-030 {
    flex: none;
}

#home_contact .mgx-home-contact-031 {
    display: block;
    font: 600 13.5px var(--font-body);
}

#home_contact .mgx-home-contact-032 {
    display: block;
    font: 400 12px var(--font-body);
    color: var(--mg-grey);
    margin-top: 2px;
}

#home_contact .mgx-home-contact-033 {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

#home_contact .mgx-home-contact-034 {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font: 400 12.5px/1.55 var(--font-body);
    color: #4a4642;
    cursor: pointer;
}

#home_contact .mgx-home-contact-035 {
    margin-top: 2px;
    accent-color: var(--color-accent);
    width: 16px;
    height: 16px;
    flex: none;
}

#home_contact .mgx-home-contact-036 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    background: var(--color-accent);
    color: #f7f5f1;
    font: 600 14px var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 20px 30px;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
}
