/* ====  GLOBAL  ==== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
body{
    font-family: "SuisseIntlMono-Regular", sans-serif;
    color:#000;
    background:#fff;
    text-transform:uppercase !important;
    /* padding-top: 70px; */
}
body.modal-open{
    overflow:hidden;
}
a{
    color:inherit;
    text-decoration:none;
}
.cs-fill-top{
    width: 100%;
    height: 128px;
    margin-bottom: 64px;
    position: relative;
}

.margin-bottom-0 {
    margin-bottom: 0 !important;
}

.container{
    width:min(1400px,90%);
    margin:auto;
}
p {
    font-size:clamp(0.8rem, 2vw, 16px);
    line-height:1.5;
    letter-spacing: .8px;
}
.cs-outline-button{
    width:150px;
    height:24px;
    border:1px solid rgb(0, 0, 0);
    background:#fff;
    font-family:"SuisseIntlMono-Regular",sans-serif;
    font-size:clamp(14px, 2vw, 16px);
    letter-spacing:.12em;
    text-transform:uppercase;
    cursor:pointer;
    transition:.25s;
}
.cs-outline-button:hover{
    background:#FF9D00;
    color:#fff;
    border-color:#FF9D00;
}

.cs-solid-button {
    background: white;
    color: black;
    border: 0px solid black;
    padding: 0px 36px;
    font-size: clamp(0.8rem, 2vw, 16px);
    transition: 0.3s;
    text-wrap: nowrap;
    width: fit-content;
  
    letter-spacing: 1px;
    cursor: pointer;
    text-transform: uppercase;
    font-family: "SuisseIntlMono-Regular", sans-serif;
}
.cs-solid-button:hover {
    background: #FF9D00;
    color: white;
}
/* ==========================
   HERO SLIDER 
========================== */
.hero-slider {
    position: relative;
    width: 100%; 
    height: calc(100vh - 64px);
    min-height: 600px;
    overflow: hidden;
    margin-bottom: 64px; 
    margin-top: 64px;  
}
@media (max-width: 768px) {
    .hero-slider {
        height: 780px;
        margin-bottom: 48px;
    }
}
.hero-img{
    width: 100%;
    height: 300px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.slides {
    position: absolute;
    inset: 0;
    z-index:1;
}
.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: none;
}
.slide.active {
    opacity: 1;
}
.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: overlay;
}

.slide:nth-child(4) img {
    mix-blend-mode: overlay;
}
.hero-content {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;

    text-align: center;
    padding: 64px;
}
@media (max-width: 768px) {
    .hero-content {
        padding: 32px;
    }
}
.hero-link-container p {
    mix-blend-mode: normal;
    color: white;
}
.hero-content-global {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;

    text-align: center;
    padding: 64px;
}
.hero-content.difference {
    opacity: 1;
    mix-blend-mode: difference;
}

.hero-content.overlay {
    opacity: 1;
    mix-blend-mode: overlay;
}
.hero-content h1 {
    font-size: clamp(58px, 10vw, 128px);
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 12px;
    line-height: .9;
    font-weight: 900;
    text-align: center;
    margin: auto;
    color: #fff;
    font-synthesis: weight;
    -webkit-text-stroke: .1rem currentColor;
}
.hero-link { 
    color: white;
    text-decoration: none;
    border: 0px solid;
    transition: 0.3s;
    text-align: left;
}
.hero-link-container{
    position:absolute;
    left:0;
    bottom: 0;  
    z-index: 10; 
    padding: 0px 0px 64px 64px;
}
/* ==========================
    FEATURE BANNER 
========================== */
.cs-feature-banner {
    width: 100%;
    height: auto;
    margin: auto;
    padding: 0px 64px 64px 64px;
    margin-bottom: 64px;
}
@media (max-width: 768px) {
    .cs-feature-banner {
        padding: 0px 48px 48px 48px;
        margin-bottom: 48px;
    }
}
.cs-feature-banner-img {
    width: 100%;
    height: 840px;
    padding: 64px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: block;
}
@media (max-width: 768px) {
    .cs-feature-banner-img {
        height: 640px;
        padding: 48px;
    }
}
.cs-feature-banner h2 {
    font-size: clamp(2rem, 5vw, 64px);
    line-height: 1.1;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 5px;
    color: white;
    -webkit-text-stroke: .1px currentColor;
}
.cs-feature-banner .cs-feature-link {
    font-size: clamp(.9rem,2vw,16px);
    line-height: 1.0;
    font-family: "SuisseIntlMono-Regular", sans-serif;
    color: white;
    
    
     position: absolute;
    bottom: 64px;
    left: 64px;
}
@media (max-width: 768px) {
    .cs-feature-banner .cs-feature-link{
         bottom: 48px;
    left: 48px;
    }
}
/* ==========================
    FEATURE VIDEO 
========================== */
.cs-feature-video {
    width: 100%;
    height: 980px;
    overflow: hidden;
    margin: auto;
    padding: 0 64px 64px 64px;
}
@media (max-width: 768px) {
    .cs-feature-video {
        padding: 0px 48px 48px 48px;
        height: 680px;
    }
}
.cs-feature-video video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* llena todo el contenedor */
}
/* ==========================
   BIG TITLE 
========================== */
.cs-big-title{
    width: 100%;
    height: auto;
    text-align: center;
    padding: 0px 64px 96px 64px;
}
@media (max-width: 768px) {
    .cs-big-title {
        padding: 0px 48px 48px 48px;
    }
}

.cs-modal h2{
    font-size: clamp(2.4rem, 7vw, 128px);
    line-height: 1.1;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 5px;
    color: #000;
    margin-bottom: 96px;
    -webkit-text-stroke: .1px currentColor;
}

.cs-big-title h2{
    font-size: clamp(2.4rem, 7vw, 128px);
    line-height: .9;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 9px;
    color: #000;
    margin-bottom: 96px;
    -webkit-text-stroke: 2px currentColor;
}
.cs-big-title h3{
    font-size: clamp(2.2rem, 6vw, 96px);
    line-height: 1.0;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 7px;
    color: #000;
    margin-bottom: 96px;
    -webkit-text-stroke: 1.1px currentColor;
}
.cs-big-title h4{
    font-size: clamp(1.8rem, 5vw, 64px);
    line-height: 1.1;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 6px;
    color: #000;
    margin-bottom: 96px;
    -webkit-text-stroke: 1px currentColor;
}
.cs-big-title-txt{
    /* width: 80%; */
    margin: auto;
    letter-spacing: 1.5px;
}
@media (max-width: 768px) {
    .cs-big-title-txt{
        width: 90%;
    }
}
/* ==========================
   BIG TITLE HORIZONTAL
========================== */
.cs-big-title-horizontal {
    width: 100%;
    padding: 0px 64px 64px 64px;
    grid-template-columns:repeat(2,1fr);
}
@media (max-width: 768px) {
    .cs-big-title-horizontal {
        padding: 0px 48px 48px 48px;
    }
}
.cs-big-title-horizontal .row {
     display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:96px;
    align-items:start;
}

.cs-big-title-horizontal h2,
.cs-big-title-horizontal p {
    flex: 1;
    margin: 0;
}

.cs-big-title-horizontal h2 {
    font-size: clamp(2rem, 5vw, 64px);
    line-height: 1.1;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 8px;
    color: #000;
    text-align: left;
}

.cs-big-title-horizontal h3{
    font-size: clamp(2.2rem, 6vw, 96px);
    line-height: 1.1;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 7px;
    color: #000;
    text-align: left;
    -webkit-text-stroke: 1.1px currentColor;
}
.cs-big-title-horizontal h4{
    font-size: clamp(1.8rem, 5vw, 64px);
    line-height: 1;
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 5px;
    color: #000;
    text-align: left;
    -webkit-text-stroke: 1px currentColor;
}
.cs-big-title-horizontal p {
    text-align: left;
}

/* Tablet y móvil */
@media (max-width: 1024px) {
    .cs-big-title-horizontal .row {
        flex-direction: column;
        gap: 30px;
    }

    .cs-big-title-horizontal h2,
    .cs-big-title-horizontal p {
        text-align: center;
        width: 100%;
        max-width: 800px;
    }
}
/* ==========================
   SUB TITLE 
========================== */
.sub-title{
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    color: #8E8E8E;
    padding: 0px 32px 64px 32px;
    font-size: clamp(.8rem,2vw,16px);
}
@media (max-width: 768px) {
    .sub-title {
        padding: 0px 48px 48px 48px;
    }
}
.sub-title .row{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sub-title .fw-center {
    width: 100%;
    display: flex;
    justify-content: center !important;
    align-items: center;
    text-align: center !important;
}
.sub-title h2{
    font-size: clamp(1.2rem,3vw,64px);
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #000;
}
.cs-search{
    display: flex;
    align-items: center;
}
.cs-search p{
    border-bottom: 1px solid #8E8E8E;
}
/* ==========================
   PRODUCT GRID 3 CARDS 
========================== */
.product-grid {
    padding: 0px 64px 64px 64px;
}
@media (max-width: 768px) {
    .product-grid {
        padding: 0px 48px 48px 48px;
    }
}
.product-grid .row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
    margin-bottom: 64px;
    gap: 96px;
}
@media (max-width: 768px) {
    .product-grid .row {
        gap: 8px;
        margin-bottom: 48px;
    }
}
.product-card {
    flex: 0 0 calc((100% - 192px) / 3);
}
@media (max-width: 1024px) {
    .product-card {
        flex: 0 0 calc((100% - 80px) / 3);
    }
}
.product-card-media {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.product-card-title{
    font-size: clamp(14px, 2vw, 20px) !important;
    margin-bottom: 32px;
    text-align: center;
}
.product-card-content p {
    font-size: clamp(0.8rem, 1vw, 16px);
    margin-bottom: 10px;
    text-align: center;
    margin-top: 32px;
}
.product-card-content span{
    color: #8E8E8E;
}
.product-card-button {
    background: white;
    color: black;
    border: 0px solid black;
    padding: 0px 36px;
    font-size: clamp(0.8rem, 2vw, 16px);
    transition: 0.3s;
    text-wrap: nowrap;
    width: fit-content;
  
    letter-spacing: 1px;
    cursor: pointer;
    text-transform: uppercase;
    font-family: "SuisseIntlMono-Regular", sans-serif;
}
.product-card-button:hover {
    background: #FF9D00;
    color: white;
}
.product-card-media {
    aspect-ratio: 1 / 0.9;

}
.product-card-content-team{
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: left;
    padding-top: 32px;
}
.product-card-content-team span{
    color: #8E8E8E;
    font-weight: 500;
    font-size: 16px;
    font-family: "SuisseIntlMono-Regular", sans-serif;
}
.product-card-content-team p{
    font-size: clamp(0.8rem, 2vw, 24px);
    font-weight: 600;
    letter-spacing: 2.5px;
    font-family: "Europa Grotesk SH Con", sans-serif;
}
.product-card-content {
    margin-top: auto;
    margin:auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* ==========================
   PRODUCT GRID 2 CARDS 
========================== */
.product-grid-2 {
    width: 100%;
    
    padding: 0px 64px 64px 64px;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .product-grid-2 {
        padding: 0px 48px 48px 48px;
    }
}
.product-grid-2-row {
    display: flex;
    gap: 96px;
    width: 100%;
}
@media (max-width: 768px) {
    .product-grid-2-row {
        gap: 48px;
    }
}
.product-grid-2-card {
    flex: 1 1 0;
    min-width: 0;
    aspect-ratio: 1.2 / 1;

    display: flex;
    flex-direction: column;

    position: relative;
    overflow: hidden;
}
.product-grid-2-card--image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #ECECEC;
    color: white;
}

.product-grid-2-card--video {
    padding: 0;
}

.product-grid-2-card--video video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.product-grid-2-card-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 64px;
}

.product-grid-2-card-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.product-grid-2-card-top h3 {
    font-size: clamp(1rem, 3vw, 48px);
}
.product-grid-2-card-content p {
    font-size: clamp(0.7rem, 2vw, 16px);
}
.product-grid-2-card-bottom {
    margin-top: auto;
}

.product-grid-2-card-top p,
.product-grid-2-card-top h3,
.product-grid-2-card-bottom p {
    margin: 0;
}

@media (max-width: 768px) {
    .product-grid-2-card {
        aspect-ratio: 1.2 / 2;
    }
  
    .product-grid-2-card--image {
        padding: 32px;
    }
}
@media (max-width: 468px) {
     .product-grid-2-card-top {
        gap: 0px;
    }
    .product-grid-2-card--image {
        padding: 16px;
    }
}
/* ========================================
   CS TEAM
======================================== */
.cs-team {
    width: 100%;
    padding: 64px;
    margin-bottom: 192px;
}
.cs-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 128px;
    row-gap: 96px;
    width: 100%;
}
.cs-team-card {
    width: 100%;
    min-width: 0;
}
.cs-team-image {
    width: 100%;
    height: 670px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.cs-team-content {
    margin-top: 48px;

    display: flex;
    flex-direction: column;
    align-items: stretch;

    text-align: left;
}
.cs-team-info {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
}
.cs-team-info .label {
    color: #8E8E8E;
    font-size: clamp(0.7rem, 1vw, 0.9rem);
    font-weight: 500;
    line-height: 1.2;
}
.cs-team-info p {
    margin: 0;
    font-size: clamp(0.7rem, 1vw, 16px);
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
}
@media (max-width: 1024px) {
    .cs-team {
        padding-left: 48px;
        padding-right: 48px;
    }
    .cs-team-grid {
        column-gap: 64px;
    }
}
@media (max-width: 768px) {
    .cs-team {
        padding: 0 48px 48px;
    }
    .cs-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 96px;
    }
    .cs-team-image {
        height: 512px;
    }
    .cs-team-content {
        margin-top: 48px;
    }
    .cs-team-info {
        grid-template-columns: 55px minmax(0, 1fr);
        column-gap: 6px;
    }
    .cs-team-info .label,
    .cs-team-info p {
        font-size: 0.6rem;
    }
}

/* ==========================
   FOOTER 
========================== */
.site-footer {
    width: 100%;
    padding: 96px 0 64px 0px;
    background: #fff;
    border-top: 2px solid #000;
    box-sizing: border-box;
}

.site-footer .container {
    width: 92%;
    margin: 0 auto;
}

/* DESKTOP: 5 columnas */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr repeat(5, 1fr);
    gap: 48px;
    align-items: start;
    padding-bottom: 96px;
}

/* LOGO */
.footer-grid img {
    max-width: 260px;
    height: auto;
    display: block;
}

/* TITULOS */
.footer-grid h4 {
    font-size: clamp(1rem,3vw,22px);
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 25px;
    text-transform: uppercase;
}

/* LISTAS */
.footer-grid ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-grid ul li {
    margin-bottom: 10px;
}

.footer-grid ul li a {
    text-decoration: none;
    color: #999;
    font-size: clamp(.8rem,2vw,15px);
    letter-spacing: 1px;
    transition: 0.3s;
}

.footer-grid ul li a:hover {
    color: #000;
}

/* FORM */
.footer-grid form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-grid input {
    border: none;
    border-bottom: 2px solid #000;
    padding: 10px 0;
    outline: none;
    font-size: clamp(.7rem,2vw,15px);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: "SuisseIntlMono-Regular", sans-serif;
}

.footer-grid button {
    width: fit-content;
   padding: 0px 20px;
    border: 1px solid #000;
    background: transparent;
     font-size: clamp(.8rem,2vw,16px);
    letter-spacing: 1px;
    cursor: pointer;
    transition: 0.3s;
    text-transform: uppercase;
    color: #000;
    font-family: "SuisseIntlMono-Regular", sans-serif;
}

.footer-grid button:hover {
    background: #FF9D00;
    border-color: #FF9D00;
    color: #fff;
}
@media (max-width: 1424px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

    .footer-grid img {
        max-width: 220px;
    }
}
@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .site-footer {
        padding: 48px 0;
    }

    .footer-grid img {
        max-width: 280px;
        margin: auto;
    }
}
.footer-bottom {
    text-align: center;
    margin-top: 40px;
    font-size: clamp(.7rem,2vw,14px);
    color: #999;
    letter-spacing: 1px;
}
/* ==========================
   TIMELINE NUMBERS GRID 10 cols
========================== */
.numbers-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    min-height: 650px;
    height: auto;
    background: #fff;
    padding:64px;
    margin-bottom: 64px;
}

.item {
    position: relative;
    border-left: 2px solid #000;
    padding-top: 90px;
    display: flex;
    padding-left: 20px;
    align-items: flex-end;
    box-sizing: border-box;
     overflow: hidden;
     margin-bottom: 40px;
}

.number {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
}

.text {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    margin-bottom: 0px;

    font-size: 1.1rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000;
    white-space: nowrap;
}

/* Tablet */
@media (max-width: 1024px) {
    .numbers-grid {
        grid-template-columns: repeat(5, 1fr);
        
        height: auto;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .numbers-grid {
        grid-template-columns: repeat(5, 1fr);
        
    }

    .number {
        font-size: 1.5rem;
        left: 12px;
        top: 12px;
    }

    .text {
        font-size: 0.8rem;
        letter-spacing: 1px;
        margin-bottom: 15px;
    }
}
/* ==========================
   TIMELINE NUMBERS GRID 4 cols
========================== */
.numbers-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    padding: 0 2%;
    margin-bottom: 80px;
    gap: 0;
}

.numbers-grid-4 .item {
    position: relative;
    border-left: 2px solid #000;
    min-height: 240px;
    padding: 90px 25px 0px;
    display: flex;
    align-items: flex-end;
    box-sizing: border-box;
    overflow: hidden;
}

.numbers-grid-4 .number {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
}

.numbers-grid-4 .text {
    font-size: 1.1rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000;
    line-height: 1.5;
    writing-mode: initial;
    transform: none;
    white-space: normal;
    margin-top:auto;
    margin-bottom: 0px;
}

/* Tablet */
@media (max-width: 1024px) {
    .numbers-grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .numbers-grid-4 .item {
        min-height: 220px;
    }

    .numbers-grid-4 .text {
        font-size: 1rem;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .numbers-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .numbers-grid-4 .item {
        min-height: 180px;
        padding: 70px 18px 20px;
    }

    .numbers-grid-4 .number {
        font-size: 1.5rem;
        top: 15px;
        left: 15px;
    }

    .numbers-grid-4 .text {
        font-size: 0.85rem;
        letter-spacing: 1px;
    }
}
/* ==========================
   LINK LIST GRID 
========================== */
.links-list{
    width:100%;
    background:#fff;
    margin-bottom:80px;
    border-top:2px solid #000;
}

.links-list .link-item{
    display:flex;
    align-items:center;
    gap:40px;
    min-height:96px;

    padding:0 0;
    border-bottom:2px solid #000;

    text-decoration:none;
    color:#000;

    transition:.25s ease;
}

.links-list .link-letter{
    flex:0 0 70px;
    font-size:2rem;
    font-weight:700;
    line-height:1;
}

.links-list .link-text{
    font-size:1.1rem;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#7d7d7d;

    transition:.25s ease;
}

/* Hover */
.links-list .link-item:hover .link-text{
    color:#000;
}

.links-list .link-item:hover{
    padding-left:10px;
}

/* Tablet */
@media (max-width:1024px){

    .links-list .link-item{
        min-height:82px;
        gap:30px;
    }

    .links-list .link-letter{
        flex-basis:60px;
        font-size:1.8rem;
    }

    .links-list .link-text{
        font-size:1rem;
    }

}

/* Mobile */
@media (max-width:768px){

    .links-list .link-item{
        min-height:70px;
        gap:20px;
        align-items:center;
    }

    .links-list .link-letter{
        flex:0 0 40px;
        font-size:1.5rem;
    }

    .links-list .link-text{
        font-size:.85rem;
        letter-spacing:.5px;
        line-height:1.4;
    }

}

/*==================================================
 ACCORDION
==================================================*/

.accordion{
    --line:2px;
    --pad-x:32px;
    --pad-y:16px;
    --icon-size:26px;

    width:100%;
    font-family: "SuisseIntlMono-Regular", sans-serif;
    text-transform:uppercase;
    padding: 0 64px 64px 64px;

}
.accordion__header{
    display:flex;
    align-items:center;

    margin-bottom:2px;
}

.accordion__item{
    border-bottom:2px solid #111;
}
.accordion__summary{
    display:flex;
    align-items:center;
    width:100%;
    background:none;
    border:none;
    cursor:pointer;
    padding:var(--pad-y) var(--pad-x);
}
.accordion__left{
    flex:0 0 480px;
    text-align:left;
    font-weight:700;
    font-size: 18px;
    letter-spacing:2.8px;
    text-transform:uppercase !important;
    font-family: "Europa Grotesk SH Con", sans-serif;
}
.accordion__left-lg{
    width: auto !important;
     text-align:left;
    font-weight:700;
    font-size:clamp(0.8rem,3vw,24px);
    letter-spacing:2.8px;
    text-transform:uppercase !important;
    font-family: "Europa Grotesk SH Con", sans-serif;
}
.accordion__content{
    height:0;
    overflow:hidden;
    opacity:0;
    transition: height .6s cubic-bezier(.19,1,.22,1);
}
.accordion__body{
    overflow:hidden;
    padding: 0;
}
.politics .accordion__body p{
    color: #8E8E8E;
    font-family: "Inter", sans-serif;
    letter-spacing: 0.5px;
}
.accordion__item.is-open .accordion__content{
    opacity:1;
    grid-template-rows:1fr;
    padding: 32px 32px 28px 32px;
    /* border-top: 2px solid #000; */
}
.accordion__icon{
    margin-left:auto;
    position:relative;
    flex-shrink:0;
    width:42px;
    height:42px;
}


.accordion__columns{
    flex:1;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:center;
    text-align:center;
    color: #7d7d7d;
}
.dot{
    width:8px;
    height:8px;
    background:#111;
    border-radius:50%;
    margin:auto;
}


/*==================================================
VARIANTE LOTES
==================================================*/
.accordion--lots .accordion__summary{
    min-height:72px;
}
.accordion__header--columns{
    display:grid;
    grid-template-columns:180px 1fr 40px;
    align-items:center;
}
/*==================================================
 RESTAURANTES
==================================================*/
.accordion__panel{
    display:none;
}

.accordion__panel.is-active{
    display:block;
}
.accordion__header--filters{
    justify-content:center;
    gap:96px;
    padding-bottom: 32px;
    font-weight:700;
}
.accordion__filter{
    border:none;
    background:none;
    cursor:pointer;
    padding:8px 16px;
    font:inherit;
    text-transform:inherit;
}

.accordion--restaurants .accordion__summary{
    min-height:68px;
}
.info-grid{
    display:grid;
    grid-template-columns:100px 1fr;
    /* row-gap:5px; */
    column-gap:32px;
}
.label{
    opacity:.4;
}
@media (max-width:768px){
    .accordion{
        --pad-x:14px;
        --pad-y:14px;
    }
    .accordion__left{
        flex-basis:110px;
        font-size:13px;
    }
    .accordion__header--columns{
        grid-template-columns:110px 1fr 32px;
    }
    .accordion__columns{
        font-size:10px;
    }
    .accordion__header--filters{
        gap:24px;
    }
    .info-grid{
        grid-template-columns:90px 1fr;
        column-gap:18px;
        font-size:12px;
    }
}
.accordion__filter{
    background:none;
    border:none;
    padding:.55rem 1rem;
    cursor:pointer;
    transition:
        background .25s,
        color .25s;
}
.accordion__filter.is-active{
    background:#111;
    color:#fff;
}
/*==================================================
 SUBFILTROS (CIUDADES)
==================================================*/

.accordion__header--subfilters{
    justify-content:center;
    padding-bottom:64px;
    border-bottom:2px solid #111;
}

.accordion__subpanel{
    display:none;
    gap:48px;
}

.accordion__subpanel.is-active{
    display:flex;
    justify-content:center;
    align-items:center;
}

.accordion__subfilter{
    background:none;
    border:none;
    border-bottom:2px solid transparent;
    color:#111;
    cursor:pointer;
    font:inherit;
    text-transform:inherit;
    transition:border-color .25s;
}

.accordion__subfilter.is-active{
    border-bottom:2px solid #111;
}
@media (max-width:768px){

    .accordion__subpanel{
        gap:24px;
        flex-wrap:wrap;
    }

}
/* ==========================
   NEWS HERO
========================== */
.cs-news-hero{
    width:100%;
    
    margin:auto;
    padding: 0px 98px 64px 64px;
}
.cs-news-hero-row{
    display:flex;
    flex-wrap:wrap;
}
.cs-news-hero-content,
.cs-news-hero-img{
    width:100%;
    min-height: 678px;
}

.cs-news-hero-content{
    padding:30px 20px;
    border-left:2px solid #000;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
.cs-news-hero-content p{
    color: #8E8E8E;
    font-size: 16px;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:15px;
}
.cs-news-hero-content h3{
    font-size: clamp(28px, 2vw, 32px);
    line-height:1;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing: 3px;
    font-family: "Europa Grotesk SH Con", sans-serif;
}
.cs-news-hero-img{
    min-height:600px;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    background-color:#ECECEC;
}
@media (min-width:992px){
    .cs-news-hero-content{
        width:30%;
    }
    .cs-news-hero-img{
        width:70%;
    }
    .cs-news-hero-content{
        padding:0px 32px 32px 32px;
    }

}
.cs-news-grid{
    width:100%;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:64px 96px;
    padding: 0px 64px 64px 64px;
}

.cs-news-card{
    display:flex;
    flex-direction:column;
    margin-bottom:40px;
}

.cs-news-card-content{
    border-left:2px solid #111;
    padding-left:20px;
    margin-bottom:32px;
}

.cs-news-card-content p{
    margin:0 0 15px;
    font-size:16px;
    color:#999;
    letter-spacing:1px;
    text-transform:uppercase;
}

.cs-news-card-content h4{
    min-height: calc(1em * 2);
    margin:0;
    font-size: clamp(16px, 2vw, 32px);
    line-height:1;
    font-weight:700;
    letter-spacing: 3px;
    text-transform:uppercase;
    font-family: "Europa Grotesk SH Con", sans-serif;
}

.cs-news-card-img{
    width:100%;
    aspect-ratio: 4 / 3;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    background-color:#eee;
}
.cs-cms-content {
    width: 100%;
    padding: 0 64px 64px;
}

.cs-cms-content > .uxn-cms-stored-block {
    width: 45%;
    margin-left: auto;
    margin-bottom: 64px;
    font-family: "SuisseIntlMono-Regular", sans-serif !important;
}
/* Oculto por defecto */
.cs-cms-content > .uxn-cms-stored-block[data-uxn-type="title"] 
:is(h1, h2, h3, h4, h5, h6) .heading-anchor {
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* Aparece al pasar sobre el heading */
.cs-cms-content > .uxn-cms-stored-block[data-uxn-type="title"] 
:is(h1, h2, h3, h4, h5, h6):hover .heading-anchor {
    opacity: 1;
    color: #7d7d7d;
}
@media (max-width: 1024px) {
    .cs-cms-content > .uxn-cms-stored-block {
        width: 100%;
        margin-left: 0;
    }
}
/* Tableta */
@media (min-width: 769px) and (max-width: 1024px) {
    .cs-cms-content > .uxn-cms-stored-block {
        width: 100%;
        margin-left: 0;
    }
}

/* Móvil */
@media (max-width: 768px) {
    .cs-cms-content > .uxn-cms-stored-block {
        width: 100%;
        margin-left: 0;
    }
}
.cs-cms-content > .uxn-cms-stored-block[data-uxn-type="image"] {
    width: 100%;
    
}

.cs-cms-content > .uxn-cms-stored-block[data-uxn-type="image"] figure img{
    width: 100%;
    margin-left: 0;
    margin-bottom: 32px;
    min-height: 840px;
}

.cs-cms-content p,
.cs-cms-content span,
.cs-cms-content li,
.cs-cms-content ul,
.cs-cms-content ol,
.cs-cms-content font{
    font-family: "SuisseIntlMono-Regular", sans-serif !important;
    line-height: 1.2;
}

.cs-cms-content h1,
.cs-cms-content h2,
.cs-cms-content h3,
.cs-cms-content h4,
.cs-cms-content h5,
.cs-cms-content h6 {
    font-family: "Europa Grotesk SH Con", sans-serif;
    letter-spacing: 4px;
    line-height: 1.8;
}

.cs-slide-salut{
    width:60%;
    height:100%;
    margin:auto;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
}