@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&display=swap');

@font-face {font-family: 'light'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/light.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'regular'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/regular.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'bold'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/bold.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root{
    --color-primary: #153373;
    --color-secondary: #153373;
    --color-hover: #0b2660;
    --color-terracotta: #c05b4d;
    --color-ocre: #d4a373;
    --color-crudo: #f5f5f5;
    --color-background-dark: #0a0a0a;
    --color-text-default: #e5e7eb;
}

/* GLOBAL DESIGN TOKENS */
.seccion .title-xl { font-size: clamp(2.6rem, 8vw, 6.8rem); font-weight: 200; letter-spacing: 0.22em; text-transform: uppercase; }
.seccion .title-lg { font-size: clamp(2rem, 4.8vw, 3.35rem); font-weight: 300; letter-spacing: 0.16em; text-transform: uppercase; }
.seccion .subtitle { font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 300; letter-spacing: 0.08em; text-transform: uppercase; }
.seccion .subtitle-2 { font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; }
.seccion .subtitle-3 { font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }
.seccion .text-body { font-size: 18px; line-height: 1.72; font-weight: 300; }
.seccion .btn { border-radius: 0 !important; border-width: 1px; border-style: solid; padding: 0.78rem 1.35rem; text-transform: uppercase; letter-spacing: 0.18em; font-size: 12px; font-weight: 600; transition: all 0.25s ease; }
.seccion .btn-primary { background: var(--color-terracotta); border-color: var(--color-terracotta); color: #fff; }
.seccion .btn-primary:hover { background: #b15043; border-color: #b15043; color: #fff; }
.seccion .btn-secondary { background: var(--color-ocre); border-color: var(--color-ocre); color: #111; }
.seccion .btn-secondary:hover { opacity: 0.9; color: #111; }
.seccion .btn-default { background: transparent; border-color: rgba(255,255,255,0.3); color: #fff; }
.seccion .btn-default:hover { border-color: #fff; color: #fff; }
.seccion .btn-outline { background: transparent; border-color: var(--color-terracotta); color: var(--color-terracotta); }
.seccion .btn-outline:hover { background: var(--color-terracotta); color: #fff; }

/*HEADER*/
header.header-main {
    background: rgba(10,10,10,0.54);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    backdrop-filter: blur(18px) saturate(120%);
    border-bottom: 1px solid rgba(255,255,255,0.10);
    transition: background 0.25s ease, min-height 0.25s ease, border-color 0.25s ease;
}
header.header-main::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(212,163,115,0.4) 20%, rgba(212,163,115,0.6) 50%, rgba(212,163,115,0.4) 80%, transparent 100%);
    pointer-events: none;
}
header.header-main.scrolled { background: rgba(10,10,10,0.62); border-bottom-color: rgba(255,255,255,0.14); }
header.header-main.scrolled::after {
    background: linear-gradient(90deg, transparent 0%, rgba(212,163,115,0.5) 20%, rgba(212,163,115,0.75) 50%, rgba(212,163,115,0.5) 80%, transparent 100%);
}
header.header-main .logo { max-height: 40px; width: auto; }
header.header-main .navbar { background: transparent; max-width: 1320px; margin: 0 auto; min-height: 84px; }
header.header-main .nav-link { color: #fff; font-family: 'Manrope',sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.19em; text-transform: uppercase; transition: color 0.3s ease; }
header.header-main .nav-link:hover, header.header-main .nav-link.active { color: var(--color-ocre); }
header.header-main .navbar-actions .nav-icon { color: #fff; text-decoration: none; transition: all 0.3s ease; }
header.header-main .navbar-actions .nav-icon:hover { color: var(--color-ocre); }
header.header-main .navbar-actions .cta-header { border: 1px solid rgba(212,163,115,0.55); padding: 10px 14px; border-radius: 999px; letter-spacing: 0.12em; font-size: 11px; }
header.header-main .header-divider { width: 1px; height: 22px; background: rgba(255,255,255,0.25); }
header.header-main .social-mini { width: 36px; height: 36px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.22); display: inline-flex; align-items: center; justify-content: center; padding: 8px; line-height: 1; }
header.header-main .social-mini i { font-size: 13px !important; line-height: 1; }
header.header-main .lang-link { font-size: 13px; letter-spacing: 0.12em; font-family: 'Manrope',sans-serif; }
header.header-main .lang-link.active { color: var(--color-ocre); }
header.header-main .text-sm { font-size: 12px; }
header.header-main button.btn-mobile { color: #fff; background: transparent; padding: 6px 10px; margin: 8px 0; border-radius: 0; outline: none !important; border: none !important; box-shadow: none !important; }
header.header-main .btn-mobile .icon-bar { background-color: #fff; transition: .4s cubic-bezier(0.68,-0.6,0.32,1.6); display: block; height: 3px; width: 22px; margin: 4px 0; }
header.header-main .btn-mobile.open .icon-bar:nth-child(1){ transform: rotate(45deg) translateY(5px) translateX(5px); }
header.header-main .btn-mobile.open .icon-bar:nth-child(2){ transform: rotate(-45deg); }
header.header-main .btn-mobile.open .icon-bar:nth-child(3){ transform: rotate(45deg) translateY(-7px) translateX(-7px); opacity: 0; }

@media (max-width: 768px){
    header.header-main .navbar-collapse { background: rgba(10,10,10,0.95); border-bottom: 1px solid rgba(255,255,255,0.05); position: absolute; width: 100%; top: 100%; left: 0; padding: 20px; z-index: 50; }
    header.header-main .nav-link { font-size: 14px; padding: 10px 0; }
    header.header-main .navbar-actions { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 15px; }
    header.header-main .header-divider { display: none; }
    header.header-main .header-socials { margin-right: auto; }
}

@media (min-width: 992px){
    header.header-main .navbar-collapse { display: flex !important; align-items: center; justify-content: space-between; }
}
/*END HEADER*/

*{line-height: 136%; } 
html{ width:100%; scroll-behavior: smooth; }
body{ background: var(--color-background-dark); color: #eef0f5; overflow-x:hidden; font-family: 'Manrope',sans-serif; }
p{ font-size: 12px; line-height: 140%; max-height: 999999px; color: inherit; }
li{ font-size: 12px; line-height: 140%; max-height: 999999px;}
.general{height: auto; margin: 0 auto; }
#menu{ margin: 0 auto; height: 113px; overflow: visible; position: relative; }
.seccion { height:auto; background:#fff; }
.seccion .text_descripciones{font-size: 12px; color:#7b7070; }
.seccion .text-center{ text-align: center !important }
.seccion .text-left{ text-align: left !important }
.seccion .h100{ height: 100%;}
.seccion .section-width { max-width: 1320px; }
.seccion .section-dark { background: var(--color-background-dark); }
.seccion .section-border { border-color: rgba(255,255,255,0.05) !important; }
.seccion-home { font-family: 'Manrope',sans-serif; font-weight: 300; overflow-x: hidden; }
.seccion-home h1, .seccion-home h2, .seccion-home h3, .seccion-home h4, .seccion-home p, .seccion-home a, .seccion-home button, .seccion-home label, .seccion-home input, .seccion-home textarea, .seccion-home span { font-family: 'Manrope',sans-serif; }
.seccion .hero-section { min-height: 90dvh; height: 90dvh; }
.seccion .hero-title { letter-spacing: 0.22em; font-size: clamp(2.6rem, 8vw, 6.8rem); font-family: 'Manrope',sans-serif; font-weight: 200; }
.seccion .hero-subtitle { letter-spacing: 0.52em; font-size: clamp(0.75rem, 2vw, 1.5rem); color: var(--color-crudo); font-weight: 300; text-transform: uppercase; }
.seccion .hero-arrow { color: inherit; text-decoration: none; }
.seccion .hero-arrow-icon { display: block; animation: heroFloatY 1.7s ease-in-out infinite; }
.seccion .video-play-icon { font-size: clamp(3.8rem, 8.4vw, 5.2rem) !important; }
.seccion .copy-block p { color: var(--color-text-default); font-size: 18px; line-height: 1.75; }
.seccion .media-frame { aspect-ratio: 4/5; }
.seccion .frame-stroke { border-width: 10px !important; }
.seccion .video-block { aspect-ratio: 16/9; background: rgba(255,255,255,0.05); cursor: pointer; border: 1px solid rgba(255,255,255,0.22); }
@media (max-width: 767px) { .seccion .video-block { aspect-ratio: unset; min-height: 160px; } }
.seccion .video-block:hover img { transform: scale(1.05); }
.seccion .video-block.is-playing { cursor: default; background: #000; }
.seccion .video-block .video-embed { position: absolute; inset: 0; z-index: 3; }
.seccion .video-block .video-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.seccion .projects-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.seccion .projects-nav { display: inline-flex; align-items: center; gap: 0.55rem; flex-shrink: 0; }
.seccion .projects-nav .swiper-button-next,
.seccion .projects-nav .swiper-button-prev {
    position: static;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.9);
    width: 42px;
    height: 42px;
    margin-top: 0 !important;
    left: auto;
    right: auto;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(8,8,8,0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.seccion .projects-nav .swiper-button-next:after,
.seccion .projects-nav .swiper-button-prev:after { font-size: 16px; font-weight: 700; }
.youtube-video-modal .modal-content { background: #050505; border: 1px solid rgba(255,255,255,0.08); border-radius: 0; }
.youtube-video-modal .modal-body { padding: 0; }
.youtube-video-modal .video-modal-topbar {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}
.youtube-video-modal .video-modal-logo {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}
.youtube-video-modal .video-modal-logo img {
    height: 30px;
    width: auto;
    display: block;
}
.youtube-video-modal .video-modal-close {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(212,163,115,0.55);
    color: var(--color-ocre);
    opacity: 1;
    background-color: rgba(0,0,0,0.45);
    border-radius: 999px;
    padding: 0;
    cursor: pointer;
}
.youtube-video-modal .video-modal-close i { font-size: 16px; line-height: 1; }
.youtube-video-modal .video-modal-close:hover { background: rgba(212,163,115,0.15); color: var(--color-ocre); }
.youtube-video-modal .video-modal-embed-wrap { width: 100%; background: #000; aspect-ratio: 16 / 9; }
.youtube-video-modal .video-modal-embed { width: 100%; height: 100%; }
.youtube-video-modal .video-modal-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 991px) {
    .youtube-video-modal .modal-dialog { margin: 0; max-width: 100vw; width: 100vw; }
    .youtube-video-modal .modal-content { min-height: 100dvh; }
    .youtube-video-modal .modal-body {
        min-height: 100dvh;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .youtube-video-modal .video-modal-embed-wrap { width: 100%; aspect-ratio: 16 / 9; margin: auto 0; }
}
.seccion .proyectos-swiper { overflow: visible; }
.seccion .proyectos-swiper .swiper-wrapper { align-items: stretch; }
.seccion .proyectos-swiper .swiper-button-next, .seccion .proyectos-swiper .swiper-button-prev { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.9); }
.seccion .proyectos-swiper .swiper-button-next:after, .seccion .proyectos-swiper .swiper-button-prev:after { font-size: 26px; font-weight: 700; }
.seccion .project-card { width: min(78vw, 560px); max-width: 560px; aspect-ratio: 4/5; }
.seccion .project-card:hover img { transform: scale(1.1); }
.seccion .bg-gradient-project { background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%); }
.seccion .class-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08) !important; transition: all 0.35s ease; }
.seccion .class-card:hover { border-color: rgba(212,163,115,0.45) !important; transform: translateY(-3px); }
.seccion .classes-section .classes-title { margin-bottom: 0.9rem; padding-bottom: 0; }
.seccion .classes-section .workshop-row { margin-top: 0; margin-bottom: 0; }
.seccion .classes-section .workshop-col { margin-bottom: 1.5rem; }
.seccion .classes-section .workshop-card { border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 2rem 1.6rem; height: 100%; }
.seccion .classes-section .workshop-col--private .workshop-card { min-height: 100%; }
.seccion .classes-section .classes-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.seccion .classes-section .classes-nav { display: inline-flex; align-items: center; gap: 0.55rem; flex-shrink: 0; }
.seccion .classes-section .classes-swiper { overflow: visible; }
.seccion .classes-section .classes-swiper .swiper-wrapper { align-items: stretch; }
.seccion .classes-section .classes-col { width: min(82vw, 520px); max-width: 520px; height: auto; }
.seccion .classes-section .classes-nav .swiper-button-next,
.seccion .classes-section .classes-nav .swiper-button-prev {
    position: static;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.9);
    width: 42px;
    height: 42px;
    margin-top: 0 !important;
    left: auto;
    right: auto;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(8,8,8,0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.seccion .classes-section .classes-nav .swiper-button-next:after,
.seccion .classes-section .classes-nav .swiper-button-prev:after { font-size: 16px; font-weight: 700; }
.seccion .class-tag { display: inline-block; margin-bottom: 12px; font-size: 10px; letter-spacing: 0.22em; color: rgba(255,255,255,0.82); font-family: 'Manrope',sans-serif; text-transform: uppercase; }
.seccion .class-level { font-size: 12px; color: rgba(255,255,255,0.42); }
.seccion .class-card:hover .class-level { color: var(--color-ocre); }
.seccion .class-link { border-bottom: 1px solid rgba(255,255,255,0.22); font-size: 13px; letter-spacing: 0.18em; }
.seccion .class-card:hover .class-link { border-color: var(--color-ocre); color: var(--color-ocre) !important; }
.seccion .classes-section .class-card p { color: var(--color-text-default) !important; }
.seccion .classes-section .class-card p { font-size: 15px !important; line-height: 1.55; font-weight: 300; }
.seccion .events-section .events-title { margin-bottom: 3rem; padding-bottom: 1.5rem; }
.seccion .events-section .events-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.seccion .events-section .events-nav { display: inline-flex; align-items: center; gap: 0.55rem; flex-shrink: 0; }
.seccion .events-section .events-swiper { overflow: visible; }
.seccion .events-section .events-swiper .swiper-wrapper { align-items: stretch; }
.seccion .events-section .events-nav .swiper-button-next,
.seccion .events-section .events-nav .swiper-button-prev {
    position: static;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.9);
    width: 42px;
    height: 42px;
    margin-top: 0 !important;
    left: auto;
    right: auto;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(8,8,8,0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 8;
}
.seccion .events-section .events-nav .swiper-button-next:after,
.seccion .events-section .events-nav .swiper-button-prev:after { font-size: 16px; font-weight: 700; }
.seccion .events-section .events-col { width: min(78vw, 430px); max-width: 430px; height: auto; }
.seccion .events-section .event-card { height: 100%; border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.8rem 1.5rem; background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%); display: flex; flex-direction: column; gap: 1rem; }
.seccion .events-section .event-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 0.45rem; }
.seccion .events-section .event-date { font-size: 12px; color: var(--color-ocre); letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; }
.seccion .events-section .event-location { font-size: 13px; color: rgba(255,255,255,0.72); letter-spacing: 0.01em; text-transform: none; display: inline-flex; align-items: center; gap: 0.35rem; }
.seccion .events-section .event-location i { font-size: 14px; color: var(--color-ocre); }
.seccion .events-section .event-title { margin: 0 0 0.45rem 0; font-size: 21px; line-height: 1.3; color: var(--color-ocre); font-weight: 300; text-transform: uppercase; letter-spacing: 0.05em; }
.seccion .events-section .event-desc { margin: 0 0 0.55rem 0; font-size: 15px; line-height: 1.55; color: var(--color-text-default); font-weight: 300; }
.seccion .events-section .event-btn { align-self: flex-start; margin-top: auto; padding: 0.7rem 1.3rem; letter-spacing: 0.18em; font-size: 11px; display: inline-flex; align-items: center; gap: 0.45rem; }
.seccion .events-section .event-btn i { font-size: 14px; }
.seccion .events-section .events-swiper.events-static { overflow: visible; }
.seccion .events-section .events-swiper.events-static .swiper-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; transform: none !important; width: 100% !important; }
.seccion .events-section .events-swiper.events-static .events-col { width: auto !important; max-width: none; min-width: 0; }
.seccion .events-section .events-swiper.events-static .swiper-button-next,
.seccion .events-section .events-swiper.events-static .swiper-button-prev { display: none; }
.seccion .events-section.events-static .events-nav { display: none; }
.seccion .social-circle { width: 48px; height: 48px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.12); display: inline-flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
.seccion .social-circle:hover { border-color: var(--color-ocre); background: var(--color-ocre); color: #111 !important; }
.seccion .form-label-mini { font-size: 12px; letter-spacing: 0.24em; }
.seccion .contact-form-shell { background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 28px; }
.seccion .form-control-custom { background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,0.15); border-radius: 0; color: #fff; padding: 10px 0; font-size: 16px; }
.seccion .form-control-custom:focus { background: transparent; color: #fff; box-shadow: none; border-bottom-color: var(--color-ocre); }
.seccion .form-control-custom::placeholder { color: rgba(255,255,255,0.72); opacity: 1; }
.seccion .legal-checks { margin-top: 6px; }
.seccion .legal-check-item { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,0.72); font-family: 'Manrope',sans-serif; margin-bottom: 0; }
.seccion .legal-check-item input { margin-top: 3px; accent-color: var(--color-terracotta); }
.seccion .legal-link { color: var(--color-ocre); text-decoration: underline; }
/* legacy aliases kept for compatibility */
.seccion .btn-terracotta { background: var(--color-terracotta); border: 1px solid var(--color-terracotta); color: #fff; letter-spacing: 0.3em; font-size: 12px; }
.seccion .btn-terracotta:hover { background: #b15043; border-color: #b15043; color: #fff; }
.seccion .btn-outline-terracotta { border: 1px solid var(--color-terracotta); color: var(--color-terracotta); background: transparent; font-size: 12px; letter-spacing: 0.2em; }
.seccion .btn-outline-terracotta:hover { background: var(--color-terracotta); color: #fff; }
.seccion .text-terracotta { color: var(--color-terracotta) !important; }
.seccion .text-ocre { color: var(--color-ocre) !important; }
.seccion .text-crudo { color: var(--color-crudo) !important; }
.seccion .tracking-widest { letter-spacing: 0.2em; }
.seccion .text-shadow-lg { text-shadow: 0 4px 12px rgba(0,0,0,0.5); }
.footer-main { position: relative; background: var(--color-background-dark); border-color: transparent !important; }
.footer-main::before { content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(212,163,115,0.4) 20%, rgba(212,163,115,0.6) 50%, rgba(212,163,115,0.4) 80%, transparent 100%); pointer-events: none; }
.footer-main .footer-container { max-width: 1320px; }
.footer-main .footer-copy { letter-spacing: 0.1em; font-size: 14px; color: rgba(255,255,255,0.72) !important; }
.footer-main .footer-links-wrap { letter-spacing: 0.1em; font-size: 12px; }
.footer-main .footer-link { color: rgba(255,255,255,0.7); text-decoration: none; transition: color 0.25s ease; }
.footer-main .footer-link:hover { color: var(--color-ocre); }
.footer-main .footer-dev-strip {
    margin-top: 1.25rem;
    padding: 0.95rem 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    opacity: 0.6;
}
.footer-main .footer-dev-strip p {
    letter-spacing: 0.1em;
    font-size: 12px;
    text-align: center;
}
.footer-main .footer-dev-strip a { color: rgba(255,255,255,0.78); text-decoration: none; }
.footer-main .footer-dev-strip a:hover, .footer-main .footer-dev-strip a:focus { color: var(--color-ocre); text-decoration: underline; }
.no-scrollbar { scrollbar-width: none; -ms-overflow-style: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.opacity-55 { opacity: 0.55 !important; }
.reveal-item { opacity: 0; transform: translateY(34px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal-item.is-visible { opacity: 1; transform: translateY(0); }
@keyframes heroFloatY { 0%,100% { transform: translateY(0); opacity: 0.82; } 50% { transform: translateY(8px); opacity: 1; } }
.noselect {-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
table.table-middle tr, table.table-middle td{ vertical-align: middle !important; }
@media screen and (min-width: 992px){
    .seccion .row-table{ display: table; }
    .seccion .row-table .col{ display: table-cell; float:none; vertical-align: middle; text-align: center;  }
}

/* =========================
   SweetAlert2 - Personalización tema oscuro
   ========================= */
.swal2-container { font-family: 'Manrope', sans-serif; }
.swal2-popup {
    background: var(--color-background-dark) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
}
.swal2-title {
    color: var(--color-ocre) !important;
    font-size: 1.8rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.05em !important;
}
.swal2-html-container {
    height: auto;
    max-height: calc(100vh - 150px);
    overflow: auto;
    color: var(--color-text-default) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}
.swal2-html-container h2,
.swal2-html-container h3 {
    color: var(--color-ocre) !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1rem !important;
    font-weight: 300 !important;
}
.swal2-html-container p,
.swal2-html-container li {
    color: var(--color-text-default) !important;
    font-size: 15px !important;
    margin-bottom: 0.8rem !important;
}
.swal2-html-container ul,
.swal2-html-container ol {
    padding-left: 20px !important;
    margin: 1rem 0 !important;
}
.swal2-html-container em {
    color: rgba(255,255,255,0.7) !important;
    font-style: italic !important;
}
.swal2-html-container strong,
.swal2-html-container b {
    color: var(--color-ocre) !important;
    font-weight: 600 !important;
}
.swal2-html-container #swal2-content { overflow: hidden; }
.swal2-actions {
    gap: 12px !important;
    padding: 0 !important;
}
.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel {
    border-radius: 0 !important;
    padding: 0.75rem 1.8rem !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    border: 1px solid !important;
    transition: all 0.25s ease !important;
}
.swal2-styled.swal2-confirm {
    background-color: var(--color-terracotta) !important;
    border-color: var(--color-terracotta) !important;
    color: #fff !important;
}
.swal2-styled.swal2-confirm:hover {
    background-color: #b15043 !important;
    border-color: #b15043 !important;
    box-shadow: 0 8px 20px rgba(192, 91, 77, 0.3) !important;
}
.swal2-styled.swal2-cancel {
    background-color: transparent !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: rgba(255,255,255,0.8) !important;
}
.swal2-styled.swal2-cancel:hover {
    background-color: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.4) !important;
}
.swal2-close {
    color: rgba(255,255,255,0.6) !important;
}
.swal2-close:hover {
    color: var(--color-ocre) !important;
}
.swal2-popup.large { width: 800px !important; }
.swal2-scrollbar::-webkit-scrollbar { width: 8px; }
.swal2-scrollbar::-webkit-scrollbar-track { background: rgba(255,255,255,0.05); }
.swal2-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 4px; }
.swal2-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.25); }

.LSSI{height: auto; display: none; overflow: hidden; background: rgba(0,0,0,0.6); padding: 0 0 12px; position: fixed; bottom: 0; z-index:10; }
.LSSI .centered{min-height: 40px; margin: 0 auto; padding: 10px 0; width:auto; max-width: 1100px; }
.LSSI p{color:#fff; font-size:16px; margin: 10px; position: relative; font-family: 'regular', sans-serif; } 
.LSSI a{color:#fff; text-decoration: underline; cursor:pointer; }
.LSSI .text-link{color:#fff; text-decoration: underline; cursor:pointer; }
.LSSI .btn{background: #d90030; cursor: pointer; margin: 0 5px 5px 5px; padding: 5px 15px; text-align: center; width: auto; position: relative; border-radius: 5px; text-decoration: none; }
.LSSI .btn span{color: #FFFFFF; font-family: 'regular', sans-serif; font-size: 14px; }
	

.easing{transition: all 400ms cubic-bezier(0.250, 0.460, 0.450, 0.940); transition-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940); }
.easingMedium{transition: all 700ms cubic-bezier(0.000, 0.090, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.090, 0.000, 0.995); }
.easingMediumFast{transition: all 400ms cubic-bezier(0.000, 0.520, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.520, 0.000, 0.995); }
.easingFast{transition: all 200ms cubic-bezier(0.250, 0.460, 0.450, 0.940); transition-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940); }

img.responsive{ width:100%; height:auto; }
img.max-responsive{ max-width:100%; height:auto; }
img.max-responsive-centered{ max-width:100%; height:auto; margin:0 auto; display: block; }

.mt0{ margin-top: 0px !important; } .mt-10{ margin-top: -10px !important; } .mt-20{ margin-top: -20px !important; } .mt10{ margin-top: 10px !important; } .mt20{ margin-top: 20px !important; } .mt30{ margin-top: 30px !important; } .mt40{ margin-top: 40px !important; } .mt50{ margin-top: 50px !important; } .mt100{ margin-top: 100px !important; } .mb0{ margin-bottom: 0 !important; } .mb5{ margin-bottom: 5px !important; } .mb10{ margin-bottom: 10px !important; } .mb20{ margin-bottom: 20px !important; } .mb30{ margin-bottom: 30px !important; } .mb40{ margin-bottom: 40px !important; } .mb50{ margin-bottom: 50px !important; } .ml10{ margin-left: 10px !important; } .ml20{ margin-left: 20px !important; } .ml30{ margin-left: 30px !important; } .mr10{ margin-right: 10px !important;} .mr15{ margin-right: 15px !important;} .mr20{ margin-right: 20px !important;} .mr30{ margin-right: 30px !important;} .pt0{ padding-top: 0 !important;} .pt10{ padding-top: 10px !important;} .pt20{ padding-top: 20px !important;} .pt30{ padding-top: 30px !important;} .pt40{ padding-top: 40px !important;} .pt50{ padding-top: 50px !important;} .pb0{ padding-bottom: 0 !important;} .pb10{ padding-bottom: 10px !important;} .pb20{ padding-bottom: 20px !important;} .pb30{ padding-bottom: 30px !important;} .pb40{ padding-bottom: 40px !important;} .pb50{ padding-bottom: 50px !important;}
.pl20{ padding-left: 20px !important;} .pl40{ padding-left: 40px !important;} .pr20{ padding-right: 20px !important;} .pr40{ padding-right: 40px !important;}
.delay01{ animation-delay: 0.1s; -webkit-animation-delay: 0.1s; } .delay02{ animation-delay: 0.2s; -webkit-animation-delay: 0.2s; } .delay03{ animation-delay: 0.3s; -webkit-animation-delay: 0.3s; } .delay04{ animation-delay: 0.4s; -webkit-animation-delay: 0.4s; } .delay05{ animation-delay: 0.5s; -webkit-animation-delay: 0.5s; } .delay06{ animation-delay: 0.6s; -webkit-animation-delay: 0.6s; } .delay07{ animation-delay: 0.7s; -webkit-animation-delay: 0.7s; } .delay08{ animation-delay: 0.8s; -webkit-animation-delay: 0.8s; } .delay09{ animation-delay: 0.9s; -webkit-animation-delay: 0.9s; } .delay10{ animation-delay: 1s; -webkit-animation-delay: 1s; } .delay11{ animation-delay: 1.1s; -webkit-animation-delay: 1.1s; } .delay12{ animation-delay: 1.2s; -webkit-animation-delay: 1.2s; } .delay13{ animation-delay: 1.3s; -webkit-animation-delay: 1.3s; } .delay14{ animation-delay: 1.4s; -webkit-animation-delay: 1.4s; } .delay15{ animation-delay: 1.5s; -webkit-animation-delay: 1.5s; } .delay16{ animation-delay: 1.6s; -webkit-animation-delay: 1.5s; } .delay17{ animation-delay: 1.7s; -webkit-animation-delay: 1.5s; } .delay18{ animation-delay: 1.8s; -webkit-animation-delay: 1.5s; } .delay19{ animation-delay: 1.9s; -webkit-animation-delay: 1.5s; } .delay2{ animation-delay: 2s; -webkit-animation-delay: 2s; } .delay21{ animation-delay: 2.1s; -webkit-animation-delay: 2s; } .delay22{ animation-delay: 2.2s; -webkit-animation-delay: 2s; } .delay23{ animation-delay: 2.3s; -webkit-animation-delay: 2s; } .delay24{ animation-delay: 2.4s; -webkit-animation-delay: 2s; } .delay25{ animation-delay: 2.5s; -webkit-animation-delay: 2.5s; } .delay3{ animation-delay: 3s; -webkit-animation-delay: 3s; } .delay4{ animation-delay: 4s; -webkit-animation-delay: 4s; } .delay5{ animation-delay: 5s; -webkit-animation-delay: 5s; } .delay6{ animation-delay: 6s; -webkit-animation-delay: 6s; }
.text-clamp2{ -webkit-line-clamp:2; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;}
.text-clamp3{ -webkit-line-clamp:3; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;}
ul{ padding-left: 0; list-style: outside none; }
.badge-success{ background: #00A93E; white-space: normal; }
.badge-info{ background: #57b0c9; white-space: normal; }
.badge-danger{ background: #D03A3A; white-space: normal; }
.badge-orange{ background: #E7C03A; white-space: normal; }
.badge-purple{ background: #B25EFD; white-space: normal; }
.badge-blue {color: white; background:#4A7AF5 ; }
.badge-light{ background: #FFFFFF; white-space: normal; color:#5E5E5E; border:1px solid rgba(0,0,0,0.1); }

.manage-admin-content.cke_editable{ outline: 1px dashed white; box-shadow: 0 0 1px #000; }
.manage-admin-content.cke_focus{ outline: 2px solid white; box-shadow: 0 0 3px #000; }

.btn{ border-radius: 8px; border:none; white-space: normal; padding:5px 20px;}
.btn-primary{ background-color: var(--color-primary); font-family: 'regular'; font-size: 16px; color: white; }
.btn-primary:hover{ background-color: var(--color-primary); }
.btn-primary.btn-lg{ padding:5px 25px; font-size: 26px;  }
.btn-block{ width: 100%;}
.contentSection a.btn{ color:#fff; font-size: 18px; }
.btn-center{ display: table; margin:0 auto; }
.seccion .btn-primary.transparent {margin: 28px 8px 0 0; padding: 6px 75px 6px 63px; border: solid 2px black; background-color: transparent; font-family: 'regular'; font-size: 26px; color: #000; }

.contentSection h3{ font-weight: bold; }
.seccion{ font-family: 'regular',sans-serif; }
.seccion .slide-big{ position: relative; width: 100%; overflow: hidden;} 
.seccion .relative { position: relative; }
.seccion .absolute { position: absolute; }
.seccion .slide-big p.text-slide {position: absolute; font-family: 'bold'; font-size: 50px; line-height: 42px; transform: translate(-50%); left: 50%; top: 50%; text-shadow:0 0 5px rgba(0,0,0,0.8) }
.seccion .slide-big img{ min-height:50vh; object-fit: cover; }
.seccion .text-white {color: white;}
.seccion .title{font-size: 40px; font-family: 'bold'; text-align: center;}
.seccion .subtitle {font-family: 'bold'; font-size: 30px; }
.seccion .subtitle2 {font-family: 'bold'; font-size: 20px; }
.seccion .subtitle3 {font-size: 18px; }
.seccion .text-xl {font-size: 30px; font-family: 'regular'; }
.seccion .text-lg {font-size: 25px; font-family: 'regular'; }
.seccion .text-md {font-size: 18px; font-family: 'regular'; }
.seccion .text {font-size: 18px; font-family: 'regular'; }
.seccion .separator {height: 4px; width: 100%;background-color: var(--color-primary);}
.seccion .separator-small {width: 267px; height: 4px; margin: 30px auto; background-color: var(--color-primary); }
.seccion .checkbox label {font-size: 15px; font-family: 'regular';margin: 0 auto 10px auto; padding-left: 5px; display:block;}
.seccion .google-maps {margin-top: 20px; }
.seccion #map {width: 100%; height: auto; }
.seccion .checkbox {position: relative; }
.checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {position: relative; float:left; width: 30px; height: 20px; margin-top: 0; }
.seccion .background-gray{background: rgb(233 233 233 / 90%); ; padding: 50px 0 20px 0;;}
.seccion ul.list.checked {padding-left: 15px; } 
.seccion ul.list li {font-size: 20px; font-family: 'regular'; line-height: 32px; }
.seccion ul.list.checked li::before {content: "\f00c"; font-family: 'FontAwesome'; color: var(--color-primary); margin-right: 10px; margin-left: -30px; }
.seccion textarea{ resize:none; }
.seccion .w800{ max-width: 800px; display:table; margin:0 auto; }
.seccion .w1000{ max-width: 1000px; display:table; margin:0 auto; }
.row-parallax {position: relative; padding: 15px 15px; overflow: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d;} 
.row-parallax:before {content: ""; position: absolute; z-index: 1; top: 0; width: 100%; height: 58px; }
.parallax  {transform: translateY(-57.9271px) translateX(-50%); }
.row-parallax .container{ position:relative; z-index: 1;}
.row-parallax img.parallax {position: absolute; left: 50%; top: -20%; bottom: 20px; height: 150%; min-width:100%; z-index: 0; filter: brightness(0.5); }
.visible-sm{ display:none !important;} .visible-xs{ display:none !important;}
@media (max-width:992px){
    .hidden-sm{ display:none !important}
    .visible-sm{ display:block !important}
    .hidden-sm{ display:none}
}
@media (max-width:768px){
    .hidden-xs{ display:none}
    .hidden-xs{ display:none !important}
    .visible-xs{ display:block !important}
}

.swiper-pagination-bullets .swiper-pagination-bullet-active-main{ background:white; }

.seccion ul.special-links li{ font-size:16px; font-family: 'bold'; margin-bottom: 10px; }
.seccion ul.special-links li a{ text-decoration: none; color:#00133A;}
.seccion ul.special-links li a:hover{ text-decoration: underline;}

.seccion .img-cover{ width: 100%; height:100%; object-fit: cover;}
@media (max-width:992px){
    .seccion .img-cover{ width: 100%; height:auto; object-fit: unset;}
}

img.products {width: 80%;}
.box-white-ul {background: white; padding: 30px 15px; box-shadow: 0 3px 50px 0 rgb(0 0 0 / 16%); }
.box-white-ul ul.list {padding-left: 25px; margin-top: 30px; }
i.fa { font-size: 20px;}
.nav-logotipos {padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-logotipos .logo.active {opacity: 1; }
.nav-logotipos .logo {width: 20%; padding: 0 15px; float: left; opacity: 0.5; transition: ease all 0.3s; outline: none; }
.portfolio .categorias {display: block;}
.portfolio .fusion-filters {display: none; overflow: hidden; list-style: none; margin-bottom: 55px; padding: 0; line-height: 34px; border-top: 1px solid #e7e6e6; border-bottom: 1px solid #e7e6e6; }
.portfolio .fusion-filters li{float: left; margin-right: 30px; line-height: 34px; font-size: 20px; font-family: regular;}
.portfolio .trabajos {margin: -10px; position: relative; }


@media screen and (max-width: 992px){
	.seccion .slide-big p.text-slide {font-size: 35px; }
	.seccion h1{font-size: 50px;}
	.row-parallax::before{ left:0;}
    .row-parallax::after{ left:0;}
    .row-parallax img.parallax{position: absolute; left:50%; top:0; min-width: 100%; width:auto; height: 150%; }
    .seccion .row-galeria-1 .col .overlay .title{ font-size: 19px; }
    .seccion .galeria2 .featured-services a:hover .glyphicon { opacity: 1; font-size: 12px; padding: 0px;}
}


/*MODAL center in middle*/
.modal {text-align: center; padding: 0!important; }
.modal:before {content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -4px; }
.modal-dialog {display: inline-block; text-align: left; vertical-align: middle; }

.row-table-price { margin-top: 40px; }
.row-table-price .bakground-top {object-fit: contain; background: #063064; border-top-left-radius: 20px; border-top-right-radius: 20px; margin-bottom: 0px; padding: 20px; }
.row-table-price .box-content {box-shadow: 0 5px 15px 0 rgb(6 48 100 / 26%); min-height: 990px; }
.row-table-price p.price {font-size: 60px; font-family: 'bold'; color: #063064; text-align: center; font-weight: bold; margin-bottom: 0; }
.row-table-price p.ahorra {font-size: 18px; font-family: 'bold'; color: #063064; text-align: center; font-weight: bold; }
.row-table-price .btn-primary.blue {background-color: var(--color-primary); padding: 15px 20px; border-radius: 9px; font-size: 20px; }
.row-table-price .box-content {border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
.row-table-price .box-content {padding: 52px; }
.row-table-price .box-content {background: #ebf8fb; padding: 31px;}
.swiper-container {margin-left: auto; margin-right: auto; position: relative; overflow: hidden; list-style: none; padding: 0; z-index: 1; }
.swiper-wrapper {position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; }
.swiper-slide {flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }
.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {left: 50%; transform: translateX(-50%); white-space: nowrap; }
.swiper-container .swiper-notification {position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; }

@media screen and (max-width: 1200px){
	.row-table-price .box-content {padding: 12px;}

}
@media screen and (max-width: 992px){
	.row-table-price .box-content {padding: 40px;}
}

.row-white{ padding:40px 15px; }

/*SLIDER HOME*/
.seccion .slider-home .swiper-slide { height: 80vh; min-height: 600px; overflow: hidden; }
.seccion .slider-home .swiper-slide img.responsive { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.seccion .slider-home .carousel-caption { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 15px; left: 0; right: 0; bottom: auto; }

/* Ensure text visibility over images */
.seccion .slider-home .carousel-caption p, 
.seccion .slider-home .carousel-caption .text-black { font-size: 32px; margin-top: -10px; margin-bottom: 0; color: #fff !important; text-shadow: 0 2px 5px rgba(0,0,0,0.7); }

.seccion .slider-home .carousel-caption span.background {font-family: 'bold' !important; padding: 3px 15px 3px 15px; display: inline-block; line-height: 88%; }
.seccion .slider-home .carousel-caption .btn{ font-weight: 800; }
.seccion .slider-home .carousel-caption .title{font-size: 60px; margin-top: -10px; margin-bottom: 0; color:var(--color-primary); line-height: 1; }
.seccion .slider-home .carousel-caption .title strong{font-size: 60px; margin-top: -10px; margin-bottom: 0; color:var(--color-pink); line-height: 1; }

.seccion .slider-home .carousel-caption.left { align-items: flex-start; text-align: left; }
.seccion .slider-home .carousel-caption.left p{text-align: left; }
.seccion .slider-home .carousel-caption.left .title{text-align: left; }

.seccion .slider-home .carousel-caption.right { align-items: flex-end; text-align: right; }
.seccion .slider-home .carousel-caption.right p{ text-align: right; }
.seccion .slider-home .carousel-caption.right .title{ text-align: right; }

.seccion .slider-home .carousel-caption.center{ align-items: center; text-align: center; }
.seccion .slider-home .carousel-caption.center p{ text-align: center; }
.seccion .slider-home .carousel-caption.center p.title{text-align: center;}

@media screen and (max-width: 992px){
	.seccion .slider-home .swiper-slide { height: 500px; }
}
@media (max-width:768px){
    .seccion .slider-home .carousel-caption .title{ font-size:9vw; }
    .seccion .slider-home .carousel-caption .title strong{ font-size:9vw; }
}
/*END SLIDER HOME*/

/*HOME*/
.seccion-home .gallery-slider .swiper-slide{ width:28%; position:relative; }
.seccion-home .gallery-slider .swiper-slide img{ transition:ease filter .3s; }
.seccion-home .gallery-slider .swiper-button-next {color: white!important; text-shadow:0 0 5px rgba(0,0,0,0.3),0 0 10px black,0 0 15px black;}
.seccion-home .gallery-slider .swiper-button-prev{color: white!important;opacity: 1.35; text-shadow:0 0 5px rgba(0,0,0,0.3),0 0 10px black,0 0 15px black;}
.seccion-home .text-carousel{position: absolute; display:none; left:5%; top:0; width: 90%; height: 100%; padding:15px;}
.seccion-home .text-carousel p{position: absolute; top:50%; transform: translateY(-50%); color: white; margin: auto 0; line-height: 1.3;}
.seccion-home .swiper-slide:hover .text-carousel{ display:block; }

/*END HOME*/

/*CONTACTO*/
.contact-2 .form-group input {display: block; width: 100%; height: 50px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: black; background-color: transparent; background-image: none; border: 3px solid #707070; border-radius: 10px; }
.contact-2 textarea.form-control {display: block; width: 100%; height: 300px; padding: 25px 12px; font-size: 14px; line-height: 1.42857143; color: black; background-color: transparent; background-image: none; border: 3px solid #707070; border-radius: 15px; border-color: var(--color-primary); font-size: 22px; } 
.contact-2 .form-group .form-control {border-color: var(--color-primary); font-size: 15px; }
.contact-3 .pie-slider {background-color: var(--color-primary); position: relative; width: 100%; display: inline-block; padding: 30px 10px; }
.contact-3 .pie-slider h1{ margin:0; font-family: 'bold'; }
.contact-3 .fa-map-marker{ font-size:40px; }
/*END CONTACTO*/

/*QUIENES SOMOS*/
.seccion-quienes-somos .linea {position: relative; }
.seccion-quienes-somos .linea p {display: table; margin-left: auto; margin-right: auto; background: white; z-index: 1; position: relative; padding-right: 16px; padding-left: 16px; }
.seccion-quienes-somos .linea::after {content: ''; height: 2px; width: 100%; background: var(--color-primary); display: block; position: absolute; top: 50%; }
.seccion-quienes-somos .title-first {font-size: 40px; margin-top: 30px; font-weight: normal; }
.seccion-quienes-somos .fa{font-size: 25px;}
.seccion-quienes-somos .box-blue {padding: 30px 100px; border-radius: 37px; background-color: rgb(233 233 233 / 90%); }
.seccion-quienes-somos .box-blue.pequeña {padding: 20px 30px; border-radius: 37px; background-color: rgb(233 233 233 / 90%); }
.seccion-quienes-somos .col-text-special {padding-left: 100px; padding-right: 60px; }
.seccion-quienes-somos .background-gray.pasos-a-seguir span.number{background-color: #099ECE; color: white; border-radius: 50%; padding: 10px 18px; font-family: 'bold'; margin-right: 10px; margin-left: -55px; float: left;}
.seccion-quienes-somos .background-gray.pasos-a-seguir ul.list {padding-left: 55px;}
.seccion-quienes-somos .background-gray.pasos-a-seguir ul.list li{margin-bottom: 25px;}

@media screen and (max-width: 992px){
	.seccion-quienes-somos .col-text-special {padding-left: 20px; padding-right: 20px; }
	.seccion-quienes-somos .box-blue {padding: 20px 30px; }

}
/*END QUIENES SOMOS*/



/*BLOG*/
.sidebar-blog { margin-top: 20px; width: 100%; box-sizing: border-box; background-color: transparent; border:none; }
.sidebar-blog .containerSidebar { position: relative; margin-bottom: 40px; }
.sidebar-blog .title { margin-bottom: 0; font-weight: normal; font-family: 'bold'; font-size: 25px; text-align:left; }

.sidebar-blog ul{  padding-left:0; list-style: outside none none; margin-bottom: 0; }
.sidebar-blog ul li{ display: block; margin-top: 10px;}
.sidebar-blog ul li:hover{ background-color:#fff; }
.sidebar-blog .latestPosts ul li:hover a{ color:#1A1916; }
.sidebar-blog ul li a{ color:#1A1916; text-decoration: none; display: block; width: 100%; font-size:20px; font-family: 'light'; line-height: 150%}
.sidebar-blog ul li a:hover{ text-decoration: underline; }
.sidebar-blog .popularTags ul li{ display: inline-block; float:left; }
.sidebar-blog .popularTags ul li a{ padding:5px 15px; background-color:#008cd0; color:#fff; text-decoration: none; display: inline-block; width: auto; font-size: 14px;}
.sidebar-blog .btn{ color:#30394D !important }
.sidebar-blog .row-icons img{ width: 50px; margin:0 3px 30px 3px; }

.seccion-blog .row-top{ background-color: #000; padding:30px 15px; }
.seccion-blog .title{ color:#c3c3c4; }
.seccion-blog .subtitle{ color:#c3c3c4; font-size:28px; }
.seccion-blog p,.seccion-blog a,.seccion-blog li{ color:#1A1916; }
.seccion-blog .text-orange {color: #ff6501; }
.seccion-blog .banner{display: block; width: 950px; height: auto; }
.seccion-blog .postContainer { box-sizing: border-box; display: block; height: auto; position:relative; overflow: hidden; margin-top: 20px; margin-bottom: 30px; padding-bottom: 15px; }
.seccion-blog .postDate {background-color: transparent; box-sizing: border-box; display:block; padding: 9px; }
.seccion-blog .glyphicon-time{ color:#666666; font-size:12px; }
.seccion-blog .postContent{ text-decoration: none; display: block; position: relative; height: 100%;}
.seccion-blog .postContent .time{font-size:12px;}
.seccion-blog .postContent .imgPost{width: 100%;}
.seccion-blog .postContent .textPost{ color: #363636; font-size:18px; display: block; margin-bottom: 10px; }
.seccion-blog .postContent .textPost b{ color: #1C1C1C; font-size:18px; }
.seccion-blog .postContent .textPost h3{ color: #008cd0;  }
.seccion-blog .postContent .textPost h4{ color: #000; }
.seccion-blog .postContent .textPost strong{ color: #1C1C1C; }
.seccion-blog .postContent .textPost .orange{ color: #ff6501; }
.seccion-blog .postContent .textPost .blue{ color: #008cd0; }
.seccion-blog .postContent .textPost pre{ font-weight: bold; border-radius: 0; border:0; border-bottom: 1px solid #008cd0; }
.seccion-blog .postContent .textPost pre:before{ content:"\E044"; display: inline; font-family: "Glyphicons Halflings"; float:left; margin-right: 10px; color:#008cd0;  }
.seccion-blog .postContent .readmore:after{ content: "\e161"; font-family: "Glyphicons Halflings"; display: inline; margin-left: 10px; font-size:13px ;}
.seccion-blog .postContent .readmore{ float: right; font-weight: bold; color:#ff5e00;  margin-top: 15px; text-decoration: none;}
.seccion-blog .postContent .readmore:hover{ color:black;}
.seccion-blog .postContainer  .btn{ color:#30394D;}
.seccion-blog .postDate span {border-bottom: 1px solid #E1E1E1; display: inline-block; font-size: 60px; line-height: 50px; text-align: center; width: 100%; padding-bottom: 5px; }
.seccion-blog .postDate small { display:block; color: #7F7F7F; width: 100%; text-align: center; margin-top: 5px; }
.seccion-blog .titlePost{ margin-top:0; font-weight: bold; margin-bottom: 10px; font-family: 'regular'; font-size:28px; color:#c3c3c4; height: 26px; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; display: -webkit-box; display: box; display: -ms-flexbox; }
.seccion-blog .titlePost a{ text-decoration: none; font-size: 18px; font-weight: normal; color:#c3c3c4; font-family: 'regular'; line-height: 100%; text-transform: uppercase; }
.seccion-blog .btnLoadMore{ color:white; }


.seccion-blog .postContainer .separator{ margin-top: 0}
.seccion-blog .tagConnected li{ display: inline; margin-right: 5px; }
.seccion-blog .tagConnected li a{ color:#777; font-size: 18px; font-weight: normal; text-transform: uppercase; font-family: 'light'; white-space: nowrap;}
.seccion-blog .tagConnected li a:hover{ text-decoration: underline; }
.seccion-blog p.shareTitle{ width: 100%; display:block; font-size: 25px; }
.seccion-blog .socialButtons {box-sizing: border-box; height: auto; min-height: 40px; padding: 10px 0 0 10px; width: 100%; background-color: #F7F7F7;}
.seccion-blog h1 span .glyphicon{ font-size:24px;}
.seccion-blog .pagination li.active a{ background: #008cd0; border:1px solid #008cd0; }
.seccion-blog .extra{ transition: all 400ms cubic-bezier(0.000, 0.520, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.520, 0.000, 0.995);}
.seccion-blog .postContainer .subtitle2{ padding:8px; }
.seccion-blog .postContainer .postDate{ padding:8px; }
.seccion-blog .postContainer .textPost{ padding:8px; }
.seccion-blog .postContainer .tags-connected{ padding:8px; }
.seccion-blog .postContainer .tags-connected .badge{ background:#000; }
.seccion-blog .postContainer .over-layer{ display:block; opacity:0; transition:ease all .3s; position:absolute; top:50%; left:50%; transform:translateX(-50%) translatey(-50%); }
.seccion-blog .postContainer .over-layer img{ position:absolute; top:80%; left:50%; transform:translateX(-50%) translateY(-50%); transition:ease-out all .3s; }
.seccion-blog .postContainer:hover .over-layer{ background:rgba(91, 120, 199, 0.4); color:white;  font-size:100px; font-family: 'bold'; width: 100%; height:100%; z-index: 10; opacity:1;}
.seccion-blog .postContainer:hover .over-layer img{ top:50%; }
.seccion-blog .fixed{ position: relative; margin-top: 100px; }

.seccion-blog-detail .postContainer .title{ color:#222; }
.seccion-blog-detail .postContainer .subtitle{ color:#222; font-size:28px; }
.seccion-blog-detail p,.seccion-blog-detail a,.seccion-blog-detail li{ font-family:'regular'; }
.seccion-blog-detail h2,.seccion-blog-detail h3,.seccion-blog-detail h4{ font-family:'regular'; font-weight: normal; }
.seccion-blog-detail .contentSection .breadcrumbs{ margin:-15px -15px 0 -15px; background-image: linear-gradient(#4d4d4f, #000); }
.seccion-blog-detail .contentSection .breadcrumbs .breadcrumb{ background-image: linear-gradient(#4d4d4f, #000); color:white; margin-bottom: 0; }
.seccion-blog-detail .text-orange {color: #ff6501; }
.seccion-blog-detail .contentSection .breadcrumbs .breadcrumb a{ color:#E9E5D3; font-size:14px; }
.seccion-blog-detail .contentSection .breadcrumbs .breadcrumb span{ font-size:14px; }
.seccion-blog-detail .postContainer { box-sizing: border-box; display: block; height: auto; overflow: hidden; }
.seccion-blog-detail .postDate {background-color: #F7F7F7; box-sizing: border-box; float: left; padding: 9px; }
.seccion-blog-detail .postContent .imgPost{width: 100%; margin-bottom: 0; }
.seccion-blog-detail .postContent .textPost{ color: #666666; font-size: 20px; font-family: 'regular'; color: #555555; text-align: left }
.seccion-blog-detail .postContent .textPost a{ font-size: 18px; color:#666666;  }
.seccion-blog-detail .postContent .textPost a:hover{ color:#222;  }
.seccion-blog-detail .postContent .textPost b{ font-family: 'regular'; font-weight: normal; color:#222; }
.seccion-blog-detail .postContent .textPost strong{ font-family: 'regular'; font-weight: normal; color:#222; }
.seccion-blog-detail .postContent .textPost p{ color: #666666; }
.seccion-blog-detail .postContent .textPost h3{ color: #008cd0;  }
.seccion-blog-detail .postContent .textPost h4{ color: #000; }
.seccion-blog-detail .postContent .textPost .big{ font-size: 27px !important; font-weight: normal; margin-top: 5px; color:#008cd0; line-height: 120%; }
.seccion-blog-detail .postContent .time span{font-size:14px; }
.seccion-blog-detail .postContent .time{font-size:14px; text-align: right; color:rgba(0,0,0,0.5);}
.seccion-blog-detail .postContent .textPost .bold{ color:#444; }
.seccion-blog-detail .postContent .textPost strong{ color:#444; font-weight: bold; }
.seccion-blog-detail .postContent li{ font-size: 18px; }
.seccion-blog-detail .postContent ul{ padding-left: 0; list-style: outside none; margin-top: 10px; margin-bottom: 10px; }
.seccion-blog-detail .postContent ul li::before{ content:"\e046"; font-size:12px; font-family: 'Glyphicons Halflings'; float:left; margin-right: 10px; color:#999; }
.seccion-blog-detail .postContent ol{ padding-left: 0; margin-top: 10px; margin-bottom: 10px; list-style:outside none; counter-reset: item; }
.seccion-blog-detail .postContent ol li::before{ color:#444; font-size:15px; content: counter(item) ". "; counter-increment: item; font-weight: bold; }
.seccion-blog-detail .postContent .textPost .orange{ color: #e35a17; }
.seccion-blog-detail .postContent .textPost .blue{ color: #008cd0; }
.seccion-blog-detail .postContent .textPost pre{ font-weight: bold; border-radius: 0; border:0; border-bottom: 1px solid #62a217; }
.seccion-blog-detail .postContent .textPost pre:before{ content:"\E044"; display: inline; font-family: "Glyphicons Halflings"; float:left; margin-right: 10px; color:#444;  }
.seccion-blog-detail .postContent .readmore:after{ content: "\e161"; font-family: "Glyphicons Halflings"; display: inline; margin-left: 10px; }
.seccion-blog-detail .postContent .readmore{ float: right; font-weight: bold; color:#ff5e00; margin-top: 15px; text-decoration: none;}
.seccion-blog-detail .postContent .readmore:hover{ color:black;}
.seccion-blog-detail .postContent table{ border-color: #ccc; width: 100%;  }
.seccion-blog-detail .postContent table th{ padding:4px 10px; border-color: #ccc; border-bottom: 3px #ccc solid; }
.seccion-blog-detail .postContent table td{ padding:4px 10px; border-color: #ccc; }
.seccion-blog-detail .postContent .btn{ margin-bottom: 10px; }
.seccion-blog-detail .postContent a{ color:#008cd0;}
.seccion-blog-detail .postContent a.btn{ text-decoration: none; color:white; }
.seccion-blog-detail .postContent a.btn.yellow{ color:#30394D; }
.seccion-blog-detail .postContent a.btn.blue{ color:white; }
.seccion-blog-detail .postContent a.btn.orange{ color:white; }
.seccion-blog-detail .postDate span {border-bottom: 1px solid #E1E1E1; display: inline-block; font-size: 60px; line-height: 50px; text-align: center; width: 100%; padding-bottom: 5px;}
.seccion-blog-detail .postDate small { display:block; color: #7F7F7F; width: 100%; text-align: center; margin-top: 5px; }
.seccion-blog-detail .titlePost{ margin-top:0; text-align: left; font-weight: normal; }
.seccion-blog-detail .titlePost a{ text-decoration: none; color: #008cd0; font-size: 20px; }
.seccion-blog-detail .postContainer .separator{ margin-top: 0}
.seccion-blog-detail ul.tagConnected li::before{ content:''; }
.seccion-blog-detail .tagConnected { display: inline-block; list-style: outside none none; padding-top: 15px; padding-bottom: 20px; width: 100%; }
.seccion-blog-detail .bottom p.big{ color:white !important; padding-top: 10px; }
.seccion-blog-detail .tagConnected li{ display: inline; padding:0 7px 0 7px; }
.seccion-blog-detail .tagConnected li+li{ border-left:3px solid #008cd0; }
.seccion-blog-detail .tagConnected li a{ background: var(--color-primary); padding:10px 15px; border-radius: 5px; color:white; font-size: 16px; font-weight: normal; font-family: 'light'; text-decoration: none; }
.seccion-blog-detail .tagConnected li a:hover{ text-decoration: underline; }
.seccion-blog-detail p.shareTitle{ width: 100%; display:block; font-size: 25px; }
.seccion-blog-detail .socialButtons {box-sizing: border-box; height: auto; min-height: 40px; padding: 10px 0 0 10px; width: 100%; background-color: #F7F7F7;}
.seccion-blog-detail h1 span .glyphicon{ font-size:24px;}
.seccion-blog-detail blockquote p{ color:white; font-size:25px; }
.seccion-blog-detail .postContent blockquote{ margin:0; border:none; padding:20px 15px; color:white; font-size:25px; font-family:'regular'; font-style: normal; background: rgb(35,180,176);
background: -moz-linear-gradient(left,  rgba(35,180,176,1) 0%, rgba(10,103,139,1) 100%);
background: -webkit-linear-gradient(left,  rgba(35,180,176,1) 0%,rgba(10,103,139,1) 100%);
background: linear-gradient(to right,  rgba(35,180,176,1) 0%,rgba(10,103,139,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#23b4b0', endColorstr='#0a678b',GradientType=1 );
}
.seccion-blog-detail .postContent blockquote p{ color:white !important; margin-top: 0; font-size:25px; font-family:'regular'}
.seccion-blog-detail .textPost .bottom{ background-image: linear-gradient(#4d4d4f, #000); color:white; }
.seccion-blog-detail .textPost a{ text-decoration: underline; }
.seccion-blog-detail .extra{ transition: all 400ms cubic-bezier(0.000, 0.520, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.520, 0.000, 0.995);}
.seccion-blog-detail .fixed{ position: relative; margin-top: 100px; }
.seccion-blog-detail .share-box .big{ display: inline-block; }
.seccion-blog-detail .share-box #st-1{ display: inline-block; }
.seccion-blog-detail .share-box p.text-info{ font-size:18px; color:#1978f2; margin-top: 15px; }
.seccion-blog-detail .share-box .likefb{ display: inline-block; margin-top: -20px; }
@media screen and (max-width: 1200px){
    .seccion-blog-detail .share-box{ margin-bottom: 100px; }
}
@media screen and (max-width: 992px){
    .seccion-blog-detail .share-box{ margin-bottom: 20px; text-align: center; }
  .seccion-blog-detail .container > div{ padding:0; }
  .seccion-blog-detail .postContent .textPost{ font-size: 20px; line-height: 150%; }
  .seccion-blog-detail .postContent .textPost a{ font-size: 20px; }
  .seccion-blog-detail .sidebar-blog{ margin-bottom: 100px; }
  .seccion-blog-detail .sidebar ul li a{ font-size: 18px;}
  .seccion-blog-detail .container-caption{ width: 100%; height: 100%; position: absolute; left:0; top:0; }
  .seccion-blog-detail .carousel-caption{ top:0; transform:initial; }
  .seccion-blog-detail .carousel-caption h2{ overflow: hidden; font-size:38px; top:50%; transform:translateY(-50%); }
}
/*END BLOG*/

.login-layer{ position:fixed; top:0; left:0; width:100%; height:100%; z-index: 10; overflow:auto; }
.login-layer .backdrop{ top:0; left:0; width: 100%; height: 100%; position:fixed; background-color: rgba(0,0,0,0.5) }
.login-layer .layer{ background-color: white; top:50%; left:50%; transform:translateX(-50%) translateY(-50%); position:absolute; padding:15px 20px; width: 100%; max-width: 470px; font-family: 'light'; font-size:15px; -webkit-animation: custom-login 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; animation: custom-login 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; max-height:calc(100% - 15px); overflow: auto; }
.login-layer .layer p{ font-family: 'light'; font-size:15px; z-index: 1; }
.login-layer .btn-primary{ padding:6px 15px !important; }
.login-layer .btn-primary i{ font-size: 25px; }
.login-layer .form-control {box-shadow: none; border-bottom: 1px solid rgba(0,0,0,.075); font-family: 'regular'; margin-bottom: 10px; }
.login-layer .close {margin-top: 5px; font-family: serif; font-size: 35px; position: absolute; z-index: 10; top: 0; right: 12px; opacity:1; color:white; text-shadow:0 0 3px black; cursor:pointer; }
.login-layer p.subtitle{ font-family: 'light'; font-size:28px; margin-top: 20px; color:#5d4e42; }
.login-layer p.subtitle b{ color:#5d4e42; font-family: 'bold';  }
.login-layer p.subtitle2{ font-family: 'bold'; color:#212121; font-size:18px; margin-bottom: 20px; }
.login-layer .pass{ float:right; margin-top: 30px; font-size:14px; color:#212121;}
.login-layer .checkbox label{ font-family: 'light'; color:#5d4e42; font-size: 14px; }
.login-layer .checkbox a{ font-family: 'bold'; color:#5d4e42; font-size: 14px; text-decoration: underline; }
.login-layer .header{ position:relative; margin:-15px -20px 0 -20px; }
.login-layer .header .btn {position: absolute; bottom: 10px; left: 50%; z-index: 1; transform: translateX(-50%); background:rgba(255,255,255,0.9); color: #3e2e24; border-radius: 0; font-size: 20px;}
.login-layer .header .btn:hover{ background:rgba(255,255,255,0.7); }

.login-layer .header .logo-label{ position:absolute; top:0; left:0; z-index: 1; }
.login-layer .header .background{ position:relative; }
.login-layer .badge-light{ display: table; margin: 14px auto; background-color: white; border: 1px solid #5d4e42; color: black; padding: 8px 10px; font-family: 'bold'; font-weight: bold; font-size: 14px; }
@media screen and (max-width: 992px) {
    .login-layer .form-control{ font-size:18px; }
}

/*footer*/
#pie{position: relative; height:auto; color:#ddd; background: #2b2b2b; }
#pie h4,#pie h3,#pie h5{ font-family:'bold' }
#pie .logo{ width: 100%; max-width: 90px; }
#pie ul.text-white li a{ color:white; font-family:'regular'; font-size:15px; }
#pie ul.text-white li{ float:left; width: 50%; max-width: 300px; margin-bottom:12px }
#pie .copyright {background-color: #252525; padding: 20px 0; }
#pie span.glyphicon{ color:#000; }
#pie a{ color:white; }
#pie a:hover{ color:#008cd0; }
#pie a.link{ color:#000; }
#pie .btn{font-size: 16px; }

.container-pils{ padding: 5px 25px; border-bottom: 1px solid #F5F5F5;  }
.container-pils .nav-pills{ border-radius: 0; }
.container-pils .nav-pills > li.active > a{ background-color: #008cd0; }
.container-pils .nav-pills > li a{ border-radius: 0; }

/* HOME SKELETON */
.bg-background-dark { background-color: var(--color-background-dark) !important; color: #fff;}
.text-ocre { color: var(--color-ocre) !important; }
.text-terracotta { color: var(--color-terracotta) !important; }
.tracking-widest { letter-spacing: 0.1em !important; }
.tracking-wide { letter-spacing: 0.05em !important; }
.max-w-7xl { max-width: 1280px; margin: 0 auto; }
.leading-relaxed { line-height: 1.625 !important; }

/* HERO */
.text-shadow-lg { text-shadow: 0 4px 12px rgba(0,0,0,0.5); }
.animate-bounce { animation: bounce 2s infinite; }
@keyframes bounce {
    0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8,0,1,1); }
    50% { transform: none; animation-timing-function: cubic-bezier(0,0,0.2,1); }
}

/* CARDS & COMPONENTS */
.seccion .media-frame .gs-img { filter: grayscale(100%); transition: filter 0.7s ease; }
.seccion .media-frame:hover .gs-img,
.seccion .media-frame .gs-img:hover { filter: grayscale(0%) !important; }
.btn-outline-terracotta { border-color: var(--color-terracotta); color: var(--color-terracotta); transition: all 0.3s ease; }
.btn-outline-terracotta:hover { background-color: var(--color-terracotta); color: #fff; }
.video-block img { transition: all 0.7s ease; }
.video-block:hover img { transform: scale(1.05); }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.project-card img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.7s ease;
}
.project-card:hover img { transform: scale(1.1); }
.bg-gradient-project { background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 60%); pointer-events: none; }
.class-card { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.05) !important; transition: all 0.3s ease; }
.class-card:hover { border-color: rgba(212, 163, 115, 0.3) !important; }
.class-level { color: rgba(255,255,255,0.4); line-height: 1.2; }
.class-card:hover .class-level { color: var(--color-ocre); }
.class-link { border-bottom: 1px solid rgba(255,255,255,0.2); }
.class-card:hover .class-link { border-color: var(--color-ocre); }
.text-content ul, .text-content ol { padding-left: 1.2em; margin-bottom: 1em; list-style: none; }
.text-content ul li { padding: 0.5em 0; border-bottom: 1px solid rgba(255,255,255,0.08); position: relative; padding-left: 1.2em; }
.text-content ul li::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 6px; height: 6px; border-radius: 50%; background-color: var(--color-terracotta); }
.text-content ol li { padding: 0.5em 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.text-content p { margin-bottom: 1em; }
.text-content strong, .text-content b { font-weight: 700; }
.text-content em, .text-content i { font-style: italic; }

/* FORMS & SOCIAL */
.social-circle { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
.social-circle:hover { background-color: var(--color-ocre); border-color: var(--color-ocre); }
.form-control-custom { background: transparent !important; border: none; border-bottom: 1px solid rgba(255,255,255,0.1); border-radius: 0; padding: 12px 0; color: #fff !important; transition: all 0.3s ease; box-shadow: none !important; }
.form-control-custom:focus { border-color: var(--color-ocre); }
.btn-terracotta { background-color: var(--color-terracotta); color: #fff; transition: all 0.3s ease; letter-spacing: 0.3em !important; }
.btn-terracotta:hover { background-color: rgba(192, 91, 77, 0.8); color: #fff; }

/* FOOTER */
footer.footer-main { background: var(--color-background-dark); }
footer.footer-main .footer-link { color: rgba(255,255,255,0.7); text-decoration: none; transition: color 0.3s ease; }
footer.footer-main .footer-link:hover { color: var(--color-ocre); }

@media (max-width: 992px){
    .seccion .project-card { width: min(84vw, 500px); }
    .seccion .contact-form-shell { padding: 20px; }
    .seccion .classes-section .workshop-card { padding: 1.8rem 1.35rem; }
    .seccion .classes-section .workshop-col { margin-bottom: 1.25rem; }
    .seccion .events-section .events-col { width: min(84vw, 390px); max-width: 390px; }
    .seccion .events-section .event-card { padding: 1.5rem 1.25rem; }
    .seccion .events-section .event-title { font-size: 20px; }
    .seccion .events-section .events-swiper.events-static .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}

@media (max-width: 768px){
    #projects { overflow-x: clip; }
    #projects .container-fluid { overflow-x: hidden; }
    .seccion .proyectos-swiper { overflow: hidden; }
    .seccion .project-card { width: calc(100vw - 56px); max-width: calc(100vw - 56px); }
    .seccion .proyectos-swiper .swiper-button-next, .seccion .proyectos-swiper .swiper-button-prev { display: none; }
    .seccion .events-section .events-col { width: 74vw; max-width: 74vw; }
    .seccion .events-section .events-swiper .swiper-button-next, .seccion .events-section .events-swiper .swiper-button-prev { display: none; }
    .seccion .events-section .events-swiper.events-static .swiper-wrapper { grid-template-columns: 1fr; }
    .seccion .hero-section { min-height: 96dvh; height: 96dvh; }
}

/* =========================
   Global Design System Final Override
   Keep this block at the end to avoid conflicts with legacy rules above.
   ========================= */
.seccion .title-xl { font-size: clamp(2.6rem, 8vw, 6.8rem); font-weight: 200; letter-spacing: 0.22em; text-transform: uppercase; }
.seccion .title-lg { font-size: clamp(2rem, 4.8vw, 3.35rem); font-weight: 300; letter-spacing: 0.16em; text-transform: uppercase; font-family: 'Manrope',sans-serif; }
.seccion .subtitle { font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 300; letter-spacing: 0.08em; text-transform: uppercase; font-family: 'Manrope',sans-serif; }
.seccion .subtitle-2 { font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 300; letter-spacing: 0.06em; text-transform: uppercase; font-family: 'Manrope',sans-serif; }
.seccion .subtitle-3 { font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }
.seccion .text-body { font-size: 18px; line-height: 1.72; font-weight: 300; font-family: 'Manrope',sans-serif; }
.seccion .btn { border-radius: 0 !important; border-width: 1px; border-style: solid; padding: 0.78rem 1.35rem; text-transform: uppercase; letter-spacing: 0.18em; font-size: 12px; font-weight: 600; transition: all 0.25s ease; }
.seccion .btn.btn-primary { background: var(--color-terracotta); border-color: var(--color-terracotta); color: #fff; }
.seccion .btn.btn-primary:hover { background: #b15043; border-color: #b15043; color: #fff; }
.seccion .btn.btn-secondary { background: var(--color-ocre); border-color: var(--color-ocre); color: #111; }
.seccion .btn.btn-secondary:hover { opacity: 0.9; color: #111; }
.seccion .btn.btn-default { background: transparent; border-color: rgba(255,255,255,0.3); color: #fff; }
.seccion .btn.btn-default:hover { border-color: #fff; color: #fff; }
.seccion .btn.btn-outline { background: transparent; border-color: var(--color-terracotta); color: var(--color-terracotta); }
.seccion .btn.btn-outline:hover { background: var(--color-terracotta); color: #fff; }
.seccion-home .text-secondary { color: rgba(241,242,247,0.72) !important; }
.seccion .hero-subtitle.subtitle-2 { letter-spacing: 0.52em !important; }

/* =========================
   Support Classes (Global in .seccion)
   ========================= */
.seccion .txt-ocre { color: var(--color-ocre) !important; }
.seccion .txt-white { color: #ffffff !important; }
.seccion .txt-gray { color: var(--color-text-default) !important; }
.seccion .txt-terracotta { color: var(--color-terracotta) !important; }
.seccion .text-ocre { color: var(--color-ocre) !important; }
.seccion .text-terracotta { color: var(--color-terracotta) !important; }
.seccion .text-default { color: var(--color-text-default) !important; }
.seccion .text-crudo { color: var(--color-crudo) !important; }

.seccion { font-family: 'Manrope', sans-serif; font-size: 18px; line-height: 1.6; font-weight: 300; color: var(--color-text-default); }
.seccion p, .seccion li { font-size: 18px; line-height: 1.7; font-weight: 300; color: var(--color-text-default); }
.seccion .txt-normal { font-weight: 300 !important; }
.seccion .txt-medium { font-weight: 500 !important; }
.seccion .txt-bold { font-weight: 700 !important; }
.seccion strong, .seccion b { font-weight: 700; }

.seccion .btn,
.seccion .btn.btn-primary,
.seccion .btn.btn-secondary,
.seccion .btn.btn-default,
.seccion .btn.btn-outline {
    border-radius: 0 !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}
.seccion .btn:hover,
.seccion .btn.btn-primary:hover,
.seccion .btn.btn-secondary:hover,
.seccion .btn.btn-default:hover,
.seccion .btn.btn-outline:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.22);
}
.seccion .btn:active,
.seccion .btn.btn-primary:active,
.seccion .btn.btn-secondary:active,
.seccion .btn.btn-default:active,
.seccion .btn.btn-outline:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}

.seccion input::placeholder,
.seccion textarea::placeholder {
    color: #e5e7eb;
    opacity: 1;
    font-weight: 400;
}

/* =========================
   Proyectos: borde sutil en project-card
   ========================= */
.seccion .project-card { border: 1px solid rgba(255,255,255,0.13) !important; }

/* =========================
   Contacto: email y teléfono siempre blancos
   ========================= */
.seccion .text-white { color: #ffffff !important; }

/* =========================
   Labels formulario: siempre blancos
   ========================= */
.seccion .contact-form-shell .form-label-mini { color: rgba(255,255,255,0.85) !important; }

/* =========================
   Clases/Workshops: scroll horizontal en móvil
   ========================= */
.seccion .classes-scroll-mobile { overflow: hidden; }
.seccion .classes-scroll-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    padding-bottom: 1.2rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.seccion .classes-scroll-track::-webkit-scrollbar { display: none; }
.seccion .classes-scroll-item {
    flex: 0 0 83%;
    scroll-snap-align: start;
}
.seccion .classes-scroll-item .class-card { height: 100%; }

/* =========================
   Proyectos: 10% del siguiente visible en móvil
   ========================= */
@media (max-width: 767px) {
    .seccion .project-card { width: 84vw !important; max-width: 84vw !important; }
}

/* =========================
   Eventos: grid horizontal en desktop, vertical en móvil
   ========================= */


/* =========================
   Proyectos: reducir ancho en móvil para mostrar más del siguiente
   ========================= */
@media (max-width: 767px) {
    .seccion .project-card { width: 74vw !important; max-width: 74vw !important; }
}

/* =========================
   Contacto: links de email y teléfono
   ========================= */
.seccion .contact-info-link { text-decoration: none; color: #fff !important; }
.seccion .contact-info-link:hover { text-decoration: underline; color: #fff !important; }

/* =========================
   Project Single
   ========================= */
.seccion-project-single .project-single-hero { height: 70vh; min-height: 420px; }
.seccion-project-single .project-single-hero-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.seccion-project-single .project-single-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.65) 100%); }
.seccion-project-single .project-single-media { position: relative; overflow: hidden; border-radius: 0.5rem; aspect-ratio: 4/5; cursor: pointer; }
.seccion-project-single .text-content { line-height: 1.75; }
@media (max-width: 991px) { .seccion-project-single .project-single-hero { height: 50vw; min-height: 260px; } }

/* =========================
   Workshop Single
   ========================= */
.seccion-workshop-single .workshop-single-list { list-style: none; padding: 0; margin: 0; }
.seccion-workshop-single .workshop-single-list li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 16px; font-weight: 300; color: inherit; padding-left: 1.2rem; position: relative; }
.seccion-workshop-single .workshop-single-list li::before { content: '—'; position: absolute; left: 0; color: var(--color-ocre); }
.seccion-workshop-single .workshop-single-media { position: relative; overflow: hidden; border-radius: 0.5rem; aspect-ratio: 16/9; cursor: pointer; }
.seccion-workshop-single .text-content { line-height: 1.75; }
@media (max-width: 991px) { .seccion-workshop-single .workshop-single-media { aspect-ratio: 16/9; } }
