/* Productos — Hero — #products_hero */

#products_hero {
    padding: clamp(48px,7vw,104px) 0 clamp(36px,4.4vw,60px);
    background: radial-gradient(120% 80% at 12% 0%,#fcfbf8 0%,#f4f2ee 52%,#e9e5de 100%);
}

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

#products_hero .mgx-products-hero-003 {
    display: flex;
    align-items: center;
    gap: 10px;
    font: 400 12px var(--font-body);
    color: var(--mg-grey);
    margin-bottom: clamp(28px,3.4vw,44px);
}

#products_hero .mgx-products-hero-004 {
    color: var(--mg-grey);
    text-decoration: none;
}

#products_hero .mgx-products-hero-005 {
    color: var(--color-text);
}

#products_hero .mgx-products-hero-006 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

#products_hero .mgx-products-hero-007 {
    display: block;
    width: 44px;
    height: 2px;
    background: var(--mg-gold);
}

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

#products_hero .mgx-products-hero-009 {
    margin: 0 0 clamp(24px,3vw,38px);
    max-width: 20ch;
    text-wrap: balance;
}

#products_hero .mgx-products-hero-010 {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(24px,4vw,72px);
    align-items: end;
    border-top: 2px solid var(--color-divider);
    padding-top: 28px;
}

#products_hero .mgx-products-hero-011 {
    font: 400 clamp(15px,1.35vw,19px)/1.7 var(--font-body);
    color: var(--mg-body);
    margin: 0;
    max-width: 56ch;
}

#products_hero .mgx-products-hero-012 {
    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);
    justify-self: start;
}

/* Productos — Materiales — #products_catalog */

#products_catalog {
    border-top: 2px solid var(--color-divider);
}

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

#products_catalog .mgx-products-catalog-003 {
    display: grid;
    grid-template-columns: .42fr 1fr;
    gap: clamp(24px,4vw,60px);
    align-items: center;
    padding: clamp(34px,4.4vw,64px) 0;
    border-bottom: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-004 {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-005 {
    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%);
}

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

#products_catalog .mgx-products-catalog-007 {
    position: absolute;
    left: 18px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#products_catalog .mgx-products-catalog-008 {
    font: 600 10px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin-bottom: 12px;
}

#products_catalog .mgx-products-catalog-009 {
    margin: 0 0 14px;
}

#products_catalog .mgx-products-catalog-010 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 20px;
}

#products_catalog .mgx-products-catalog-011 {
    font: 400 clamp(15px,1.1vw,16.5px)/1.75 var(--font-body);
    color: var(--mg-body);
    margin: 0 0 24px;
    max-width: 60ch;
}

#products_catalog .mgx-products-catalog-012 {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 18px 26px;
}

#products_catalog .mgx-products-catalog-013 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-014 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-015 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-016 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-017 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-018 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-019 {
    display: grid;
    grid-template-columns: .42fr 1fr;
    gap: clamp(24px,4vw,60px);
    align-items: center;
    padding: clamp(34px,4.4vw,64px) 0;
    border-bottom: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-020 {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-021 {
    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;
}

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

#products_catalog .mgx-products-catalog-023 {
    position: absolute;
    left: 18px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#products_catalog .mgx-products-catalog-024 {
    font: 600 10px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin-bottom: 12px;
}

#products_catalog .mgx-products-catalog-025 {
    margin: 0 0 14px;
}

#products_catalog .mgx-products-catalog-026 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 20px;
}

#products_catalog .mgx-products-catalog-027 {
    font: 400 clamp(15px,1.1vw,16.5px)/1.75 var(--font-body);
    color: var(--mg-body);
    margin: 0 0 24px;
    max-width: 60ch;
}

#products_catalog .mgx-products-catalog-028 {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 18px 26px;
}

#products_catalog .mgx-products-catalog-029 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-030 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-031 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-032 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-033 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-034 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-035 {
    display: grid;
    grid-template-columns: .42fr 1fr;
    gap: clamp(24px,4vw,60px);
    align-items: center;
    padding: clamp(34px,4.4vw,64px) 0;
    border-bottom: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-036 {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-037 {
    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%;
}

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

#products_catalog .mgx-products-catalog-039 {
    position: absolute;
    left: 18px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#products_catalog .mgx-products-catalog-040 {
    font: 600 10px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin-bottom: 12px;
}

#products_catalog .mgx-products-catalog-041 {
    margin: 0 0 14px;
}

#products_catalog .mgx-products-catalog-042 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 20px;
}

#products_catalog .mgx-products-catalog-043 {
    font: 400 clamp(15px,1.1vw,16.5px)/1.75 var(--font-body);
    color: var(--mg-body);
    margin: 0 0 24px;
    max-width: 60ch;
}

#products_catalog .mgx-products-catalog-044 {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 18px 26px;
}

#products_catalog .mgx-products-catalog-045 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-046 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-047 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-048 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-049 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-050 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-051 {
    display: grid;
    grid-template-columns: .42fr 1fr;
    gap: clamp(24px,4vw,60px);
    align-items: center;
    padding: clamp(34px,4.4vw,64px) 0;
}

#products_catalog .mgx-products-catalog-052 {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border: 1px solid var(--color-divider);
}

#products_catalog .mgx-products-catalog-053 {
    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%);
}

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

#products_catalog .mgx-products-catalog-055 {
    position: absolute;
    left: 18px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: #fcfbf8;
    border: 1px solid rgba(33,31,29,.11);
    border-radius: 3px;
    box-shadow: 0 4px 14px rgba(45,43,43,.16);
}

#products_catalog .mgx-products-catalog-056 {
    font: 600 10px var(--font-body);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin-bottom: 12px;
}

#products_catalog .mgx-products-catalog-057 {
    margin: 0 0 14px;
}

#products_catalog .mgx-products-catalog-058 {
    width: 26px;
    height: 2px;
    background: var(--color-accent);
    transition: width .45s cubic-bezier(.22,1,.36,1);
    margin-bottom: 20px;
}

#products_catalog .mgx-products-catalog-059 {
    font: 400 clamp(15px,1.1vw,16.5px)/1.75 var(--font-body);
    color: var(--mg-body);
    margin: 0 0 24px;
    max-width: 60ch;
}

#products_catalog .mgx-products-catalog-060 {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 18px 26px;
}

#products_catalog .mgx-products-catalog-061 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-062 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-063 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-064 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

#products_catalog .mgx-products-catalog-065 {
    font: 600 10px var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mg-grey);
    margin: 0 0 6px;
}

#products_catalog .mgx-products-catalog-066 {
    font: 400 14px/1.55 var(--font-body);
    margin: 0;
}

/* Productos — Comparativa — #products_comparison */

#products_comparison {
    border-top: 2px solid var(--color-divider);
    background: var(--color-surface);
    padding: clamp(56px,8vw,116px) 0;
}

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

#products_comparison .mgx-products-comparison-003 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

#products_comparison .mgx-products-comparison-004 {
    display: block;
    width: 44px;
    height: 2px;
    background: var(--mg-gold);
}

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

#products_comparison .mgx-products-comparison-006 {
    margin: 0 0 20px;
    max-width: 22ch;
}

#products_comparison .mgx-products-comparison-007 {
    font: 400 15px/1.7 var(--font-body);
    color: var(--mg-body);
    margin: 0 0 clamp(28px,3.4vw,44px);
    max-width: 58ch;
}

#products_comparison .mgx-products-comparison-008 {
    overflow-x: auto;
    background: var(--color-bg);
    border: 2px solid var(--color-divider);
}

#products_comparison .mgx-products-comparison-009 {
    min-width: 660px;
}

#products_comparison .mgx-products-comparison-010 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: 17px;
}

#products_comparison .mgx-products-comparison-011 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: 17px;
}

#products_comparison .mgx-products-comparison-012 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: 17px;
}

#products_comparison .mgx-products-comparison-013 {
    font-family: "Playfair Display",Georgia,serif;
    font-size: 17px;
}

/* Productos — CTA — #products_cta */

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

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

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

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

#products_cta .mgx-products-cta-005 {
    margin: 0 0 18px;
    color: #faf8f4;
    max-width: 22ch;
}

#products_cta .mgx-products-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;
}

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

#products_cta .mgx-products-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;
}

#products_cta .mgx-products-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;
}
