@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
    --vino: #5b0f2f;
    --oro: #c8a35a;
    --barro: #c86b45;
    --verde: #5d7a69;
    --crema: #f4efe6;
    --tinta: #201b1d;
    --blanco: #fffdf9
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Montserrat, Arial, sans-serif;
    color: var(--tinta);
    background: var(--blanco)
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
textarea {
    font: inherit
}

.tuingenio-acolman-header {
    height: 84px;
    padding: 0 6vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--vino);
    color: #fff;
    position: relative;
    z-index: 10
}

.tuingenio-acolman-logo {
    width: 250px
}

.tuingenio-acolman-nav {
    display: flex;
    gap: 22px;
    font-size: 11px;
    font-weight: 400
}

.tuingenio-acolman-nav a:hover,
.tuingenio-acolman-nav a.activo {
    color: var(--oro)
}

.tuingenio-acolman-menu {
    border: 1px solid #ffffff55;
    border-radius: 30px;
    padding: 12px 16px;
    background: transparent;
    color: #fff;
    cursor: pointer
}

.tuingenio-acolman-kicker {
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--oro);
    font-weight: 700
}

.tuingenio-acolman-hero {
    min-height: 640px;
    padding: 120px 8vw 70px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(120deg, #380619, var(--vino) 55%, #993b3a)
}

.tuingenio-acolman-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    background: repeating-linear-gradient(45deg, transparent 0 28px, #fff 29px 30px);
    mask-image: linear-gradient(90deg, #000, transparent 58%)
}

.tuingenio-acolman-copy {
    max-width: 720px;
    position: relative;
    z-index: 2;
    animation: tuingenio-acolman-rise .7s ease
}

.tuingenio-acolman-hero h1 {
    font-size: clamp(54px, 7vw, 96px);
    line-height: .94;
    letter-spacing: -.07em;
    margin: 18px 0 25px
}

.tuingenio-acolman-hero p {
    max-width: 590px;
    line-height: 1.75
}

.tuingenio-acolman-art {
    position: absolute;
    right: 3vw;
    bottom: -80px;
    width: 540px;
    height: 540px;
    border: 42px double #ffffff22;
    border-radius: 50%
}

.tuingenio-acolman-art:before,
.tuingenio-acolman-art:after {
    content: "";
    position: absolute;
    bottom: 50px;
    border: 16px solid #f2d18e;
    border-bottom: 0;
    border-radius: 100px 100px 0 0
}

.tuingenio-acolman-art:before {
    width: 185px;
    height: 300px;
    left: 55px
}

.tuingenio-acolman-art:after {
    width: 125px;
    height: 215px;
    right: 45px
}

.tuingenio-acolman-btn {
    display: inline-flex;
    gap: 30px;
    align-items: center;
    margin-top: 20px;
    padding: 15px 19px;
    background: var(--oro);
    color: #271319;
    font-size: 11px;
    font-weight: 700;
    transition: .25s
}

.tuingenio-acolman-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px #0003
}

.tuingenio-acolman-quick {
    display: grid;
    grid-template-columns: 1.2fr repeat(4, 1fr);
    padding: 0 6vw;
    background: var(--crema)
}

.tuingenio-acolman-quick>div,
.tuingenio-acolman-quick>a {
    padding: 28px 20px;
    border-right: 1px solid #2f17221b;
    min-height: 120px
}

.tuingenio-acolman-quick a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 700
}

.tuingenio-acolman-quick a:hover {
    background: var(--vino);
    color: #fff
}

.tuingenio-acolman-section {
    padding: 90px 8vw
}

.tuingenio-acolman-page-hero {
    padding: 78px 8vw 70px;
    background: var(--crema);
    position: relative;
    overflow: hidden
}

.tuingenio-acolman-page-hero:after {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    border: 38px double #5b0f2f10;
    border-radius: 50%;
    right: 5vw;
    top: -100px
}

.tuingenio-acolman-page-hero h1,
.tuingenio-acolman-title {
    font-size: clamp(42px, 6vw, 76px);
    line-height: 1;
    letter-spacing: -.06em;
    margin: 14px 0
}

.tuingenio-acolman-page-hero p {
    max-width: 660px;
    line-height: 1.8;
    color: #675d61
}

.tuingenio-acolman-head {
    display: grid;
    grid-template-columns: .7fr 1.4fr 1fr;
    gap: 40px;
    margin-bottom: 48px
}

.tuingenio-acolman-head h2 {
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1;
    letter-spacing: -.05em;
    margin: 0
}

.tuingenio-acolman-head p:last-child {
    font-size: 12px;
    line-height: 1.8;
    color: #6d6366
}

.tuingenio-acolman-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #d8cfc7
}

.tuingenio-acolman-card {
    padding: 36px 28px;
    border-right: 1px solid #d8cfc7;
    border-bottom: 1px solid #d8cfc7;
    min-height: 270px;
    transition: .25s
}

.tuingenio-acolman-card:hover {
    background: var(--crema);
    transform: translateY(-6px)
}

.tuingenio-acolman-card small {
    color: var(--barro)
}

.tuingenio-acolman-card h3 {
    font-size: 21px;
    margin-top: 36px
}

.tuingenio-acolman-card p {
    font-size: 11px;
    line-height: 1.75;
    color: #6d6366
}

.tuingenio-acolman-card a {
    display: flex;
    justify-content: space-between;
    margin-top: 26px;
    color: var(--vino);
    font-size: 10px;
    font-weight: 700
}

.tuingenio-acolman-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 65px;
    align-items: center
}

.tuingenio-acolman-visual {
    min-height: 420px;
    background: linear-gradient(145deg, var(--oro), var(--barro));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff88;
    font-size: 110px;
    font-weight: 800;
    position: relative;
    overflow: hidden
}

.tuingenio-acolman-visual:before {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    border: 35px double #ffffff25
}

.tuingenio-acolman-feature h2 {
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -.05em
}

.tuingenio-acolman-feature p {
    font-size: 13px;
    line-height: 1.8;
    color: #655b5f
}

.tuingenio-acolman-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 28px
}

.tuingenio-acolman-tabs button {
    border: 1px solid #d4c9bf;
    background: transparent;
    padding: 11px 16px;
    cursor: pointer;
    font-size: 10px
}

.tuingenio-acolman-tabs button.activo {
    background: var(--vino);
    color: #fff
}

.tuingenio-acolman-people {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px
}

.tuingenio-acolman-person {
    background: #fff;
    border: 1px solid #e1d9d1;
    padding: 20px;
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 14px
}

.tuingenio-acolman-avatar {
    width: 62px;
    height: 78px;
    background: var(--verde);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700
}

.tuingenio-acolman-person h3 {
    font-size: 12px;
    margin: 7px 0
}

.tuingenio-acolman-person p,
.tuingenio-acolman-person a {
    font-size: 9px;
    line-height: 1.5;
    color: #776b6f
}

.tuingenio-acolman-dark {
    background: #211b1d;
    color: #fff
}

.tuingenio-acolman-toolbar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 22px
}

.tuingenio-acolman-toolbar input {
    width: 55%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid currentColor;
    padding: 13px 0;
    color: inherit
}

.tuingenio-acolman-toolbar select {
    padding: 11px 16px;
    background: transparent;
    color: inherit;
    border: 1px solid #ffffff55
}

.tuingenio-acolman-table>div {
    display: grid;
    grid-template-columns: 2fr repeat(3, .6fr);
    padding: 18px 14px;
    border-bottom: 1px solid #ffffff25;
    font-size: 10px
}

.tuingenio-acolman-table .th {
    color: var(--oro);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 8px
}

.tuingenio-acolman-table strong {
    font-size: 12px
}

.tuingenio-acolman-table a {
    color: #e5cb92
}

.tuingenio-acolman-platforms {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.tuingenio-acolman-platforms a {
    padding: 28px;
    background: var(--crema);
    min-height: 210px;
    transition: .25s
}

.tuingenio-acolman-platforms a:hover {
    background: var(--vino);
    color: #fff
}

.tuingenio-acolman-platforms h3 {
    font-size: 19px;
    margin-top: 40px
}

.tuingenio-acolman-platforms p {
    font-size: 11px;
    line-height: 1.7
}

.tuingenio-acolman-calendar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px
}

.tuingenio-acolman-event {
    padding: 22px;
    background: var(--crema);
    border-top: 4px solid var(--barro)
}

.tuingenio-acolman-event b {
    font-size: 30px;
    color: var(--vino)
}

.tuingenio-acolman-event span {
    display: block;
    font-size: 9px;
    text-transform: uppercase
}

.tuingenio-acolman-event h3 {
    font-size: 14px;
    margin-top: 28px
}

.tuingenio-acolman-route {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    background: var(--verde);
    color: #fff;
    padding: 35px
}

.tuingenio-acolman-route span {
    padding: 17px;
    border-bottom: 1px solid #ffffff35;
    font-size: 11px
}

.tuingenio-acolman-route b {
    color: var(--oro);
    margin-right: 12px
}

.tuingenio-acolman-news {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.tuingenio-acolman-news article div {
    height: 210px;
    padding: 17px;
    display: flex;
    align-items: end;
    background: var(--verde);
    color: #fff;
    position: relative;
    overflow: hidden
}

.tuingenio-acolman-news article:nth-child(2n) div {
    background: var(--barro)
}

.tuingenio-acolman-news article div:after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    border: 25px double #ffffff27;
    border-radius: 50%;
    right: -35px;
    top: -30px
}

.tuingenio-acolman-news h3 {
    font-size: 17px
}

.tuingenio-acolman-news p {
    font-size: 10px;
    line-height: 1.7;
    color: #70666a
}

.tuingenio-acolman-article {
    max-width: 820px;
    margin: auto
}

.tuingenio-acolman-article h1 {
    font-size: clamp(40px, 6vw, 72px);
    letter-spacing: -.06em;
    line-height: 1
}

.tuingenio-acolman-article p {
    font-size: 14px;
    line-height: 2;
    color: #5e5558
}

.tuingenio-acolman-article .tuingenio-acolman-lead {
    font-size: 19px;
    color: var(--tinta)
}

.tuingenio-acolman-emergency {
    padding: 38px 8vw;
    background: var(--barro);
    color: #fff;
    display: grid;
    grid-template-columns: 1.2fr repeat(4, 1fr);
    align-items: center
}

.tuingenio-acolman-emergency a {
    text-align: center;
    border-left: 1px solid #ffffff40;
    display: grid;
    gap: 5px;
    justify-items: center
}

.tuingenio-acolman-emergency img {
    height: 38px;
    filter: brightness(0) invert(1)
}

.tuingenio-acolman-emergency span {
    font-size: 8px
}

.tuingenio-acolman-footer {
    padding: 50px 8vw 24px;
    background: #171315;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.tuingenio-acolman-footer img {
    width: 195px
}

.tuingenio-acolman-footer p {
    font-size: 10px;
    line-height: 1.7;
    color: #aaa
}

.tuingenio-acolman-help {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 20;
    border: 0;
    border-radius: 30px;
    background: var(--oro);
    color: var(--vino);
    padding: 14px 18px;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer
}

.tuingenio-acolman-overlay {
    position: fixed;
    inset: 0;
    background: #180710bb;
    z-index: 29;
    opacity: 0;
    visibility: hidden;
    transition: .3s
}

.tuingenio-acolman-overlay.open {
    opacity: 1;
    visibility: visible
}

.tuingenio-acolman-panel {
    position: fixed;
    z-index: 30;
    right: 0;
    top: 0;
    width: min(600px, 100%);
    height: 100vh;
    padding: 42px;
    background: var(--crema);
    transform: translateX(100%);
    transition: .4s;
    overflow: auto
}

.tuingenio-acolman-panel.open {
    transform: none
}

.tuingenio-acolman-close {
    float: right;
    border: 0;
    background: none;
    cursor: pointer
}

.tuingenio-acolman-panel h2 {
    font-size: 43px;
    line-height: 1;
    letter-spacing: -.05em;
    margin: 65px 0 28px
}

.tuingenio-acolman-panel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr
}

.tuingenio-acolman-panel-grid a {
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 15px;
    border-top: 1px solid #d2c7bd;
    font-size: 10px;
    font-weight: 700
}

.tuingenio-acolman-panel-grid img {
    width: 34px;
    height: 34px;
    object-fit: contain
}

.tuingenio-acolman-contact {
    background: var(--verde);
    color: #fff
}

.tuingenio-acolman-contact label {
    display: block;
    margin: 16px 0;
    font-size: 8px;
    text-transform: uppercase
}

.tuingenio-acolman-contact input,
.tuingenio-acolman-contact textarea {
    display: block;
    width: 100%;
    padding: 11px 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #ffffff55;
    color: #fff
}

.tuingenio-acolman-contact textarea {
    height: 80px
}

.tuingenio-acolman-contact form button {
    width: 100%;
    padding: 14px;
    background: var(--oro);
    border: 0;
    color: var(--vino);
    font-weight: 700
}

@keyframes tuingenio-acolman-rise {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media(max-width:900px) {
    .tuingenio-acolman-nav {
        display: none
    }

    .tuingenio-acolman-quick {
        grid-template-columns: 1fr 1fr
    }

    .tuingenio-acolman-quick>div {
        grid-column: 1/-1
    }

    .tuingenio-acolman-head,
    .tuingenio-acolman-feature {
        grid-template-columns: 1fr
    }

    .tuingenio-acolman-cards,
    .tuingenio-acolman-people,
    .tuingenio-acolman-news {
        grid-template-columns: 1fr 1fr
    }

    .tuingenio-acolman-platforms,
    .tuingenio-acolman-calendar {
        grid-template-columns: 1fr 1fr
    }

    .tuingenio-acolman-emergency {
        grid-template-columns: 1fr 1fr
    }

    .tuingenio-acolman-emergency>div {
        grid-column: 1/-1
    }

    .tuingenio-acolman-emergency a {
        padding: 15px
    }
}

@media(max-width:600px) {
    .tuingenio-acolman-header {
        height: 72px
    }

    .tuingenio-acolman-logo {
        width: 200px
    }

    .tuingenio-acolman-hero {
        min-height: 610px;
        padding: 110px 7vw 55px
    }

    .tuingenio-acolman-hero h1 {
        font-size: 48px
    }

    .tuingenio-acolman-art {
        opacity: .22
    }

    .tuingenio-acolman-section {
        padding: 70px 7vw
    }

    .tuingenio-acolman-quick,
    .tuingenio-acolman-cards,
    .tuingenio-acolman-people,
    .tuingenio-acolman-news,
    .tuingenio-acolman-platforms,
    .tuingenio-acolman-calendar,
    .tuingenio-acolman-route,
    .tuingenio-acolman-emergency {
        grid-template-columns: 1fr
    }

    .tuingenio-acolman-quick>div,
    .tuingenio-acolman-emergency>div {
        grid-column: 1
    }

    .tuingenio-acolman-toolbar {
        gap: 14px;
        flex-direction: column
    }

    .tuingenio-acolman-toolbar input {
        width: 100%
    }

    .tuingenio-acolman-table>div {
        grid-template-columns: 1.6fr repeat(3, .8fr);
        gap: 7px
    }

    .tuingenio-acolman-panel {
        padding: 30px 22px
    }

    .tuingenio-acolman-panel-grid {
        grid-template-columns: 1fr
    }
}