:root {
    --tlc-navy-950: #001c4f;
    --tlc-navy-900: #09294e;
    --tlc-navy-800: #0d498a;
    --tlc-blue-700: #0948a5;
    --tlc-blue-500: #3e8ccc;
    --tlc-cyan-500: #2ac4d6;
    --tlc-cyan-400: #34eac7;
    --tlc-lime-400: #bcff52;
    --tlc-sky-300: #5ae0ff;
    --tlc-electric-500: #0086ff;
    --tlc-electric-700: #0055ff;
}

html {
    scroll-padding-top: 96px;
}

#topbar {
    background: var(--tlc-navy-950) !important;
    border-bottom: 1px solid rgba(62, 140, 204, .22) !important;
}

header,
header.transparent,
header.transparent.smaller,
header.header-mobile {
    background: rgba(0, 28, 79, .92) !important;
}

header .de-flex {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

div#logo img {
    max-width: 112px !important;
}

#mainmenu a,
#topbar a,
#topbar span,
.social-icons a {
    color: rgba(255, 255, 255, .9) !important;
}

#mainmenu a:hover,
.social-icons a:hover,
#topbar a:hover {
    color: var(--tlc-sky-300) !important;
}

.float-text,
.scrollbar-v {
    display: none !important;
}

#back-to-top {
    right: 24px !important;
    bottom: 24px !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--tlc-cyan-500), var(--tlc-blue-700)) !important;
    box-shadow: 0 16px 34px rgba(0, 28, 79, .28);
    opacity: .96 !important;
}

#back-to-top:before {
    color: #ffffff !important;
    line-height: 1 !important;
}

#back-to-top:hover {
    transform: translateY(-3px) !important;
    opacity: 1 !important;
}

.swiper-inner {
    background-color: var(--tlc-navy-950) !important;
}

.swiper-inner:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0, 28, 79, .94) 0%, rgba(0, 28, 79, .72) 42%, rgba(9, 72, 165, .22) 100%),
        radial-gradient(circle at 74% 48%, rgba(42, 196, 214, .28), transparent 34%);
    pointer-events: none;
}

.sw-caption {
    z-index: 1 !important;
    top: 55% !important;
}

h1.slider-title {
    max-width: 660px !important;
    font-size: 56px !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
}

p.slider-teaser,
.slider-teaser {
    max-width: 520px !important;
    font-size: 18px !important;
    color: rgba(255, 255, 255, .88) !important;
}

.slider-title strong,
.subtitle.s2 {
    color: var(--tlc-sky-300) !important;
}

.btn-main,
.btn-main.fx-slide {
    background: linear-gradient(90deg, var(--tlc-cyan-500), var(--tlc-blue-700)) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.btn-main.btn-line {
    background: transparent !important;
    border-color: rgba(90, 224, 255, .72) !important;
}

#servicios {
    background: #fff !important;
    scroll-margin-top: 170px;
}

#servicios .subtitle.s2,
#servicios h2,
.dif-title {
    color: var(--tlc-navy-900) !important;
}

#servicios .bg-dark-2 {
    background: linear-gradient(145deg, var(--tlc-navy-900), #144b82) !important;
    border: 1px solid rgba(62, 140, 204, .22) !important;
    box-shadow: 0 18px 40px rgba(0, 28, 79, .12) !important;
}

#servicios .bg-dark-2:hover {
    border-color: var(--tlc-cyan-500) !important;
    box-shadow: 0 22px 48px rgba(0, 28, 79, .2) !important;
}

.service-icon {
    color: var(--tlc-sky-300) !important;
}

#servicios .col-lg-4:nth-child(1) .service-icon { color: var(--tlc-lime-400) !important; }
#servicios .col-lg-4:nth-child(2) .service-icon { color: var(--tlc-cyan-400) !important; }
#servicios .col-lg-4:nth-child(3) .service-icon { color: var(--tlc-sky-300) !important; }
#servicios .col-lg-4:nth-child(4) .service-icon { color: #00b1ff !important; }
#servicios .col-lg-4:nth-child(5) .service-icon { color: var(--tlc-electric-500) !important; }
#servicios .col-lg-4:nth-child(6) .service-icon { color: var(--tlc-electric-700) !important; }

.diferenciadores-pro {
    background: #f4f7fb !important;
    scroll-margin-top: 170px;
}

.about-tlc-section {
    position: relative;
    min-height: 760px;
    padding: 120px 0;
    background:
        radial-gradient(circle at 78% 22%, rgba(62, 140, 204, .22), transparent 34%),
        linear-gradient(135deg, var(--tlc-navy-950) 0%, var(--tlc-navy-900) 54%, #00173f 100%);
    color: #fff;
}

.about-tlc-section:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(0, 28, 79, .94) 0%, rgba(0, 28, 79, .72) 45%, rgba(0, 28, 79, .2) 100%),
        radial-gradient(circle at 12% 82%, rgba(42, 196, 214, .2), transparent 34%);
    pointer-events: none;
}

.about-tlc-section > .container-fluid {
    position: relative;
    z-index: 1;
}

.about-tlc-section .container-fluid,
.about-tlc-section .container,
.about-tlc-section .row {
    min-height: 0;
}

.about-copy {
    position: relative;
    z-index: 2;
    max-width: 580px;
}

.about-copy-col {
    order: 1;
    width: 45% !important;
}

.about-copy h2 {
    color: #fff;
    font-size: 48px;
    line-height: 1.08;
    margin-bottom: 26px;
}

.about-copy p {
    color: rgba(255, 255, 255, .82);
    font-size: 18px;
    line-height: 1.8;
}

.about-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 34px 0 28px;
}

.about-proof-grid div {
    min-height: 118px;
    padding: 22px 18px;
    border: 1px solid rgba(90, 224, 255, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .06);
}

.about-proof-grid strong {
    display: block;
    color: var(--tlc-sky-300);
    font-size: 34px;
    line-height: 1;
    margin-bottom: 10px;
}

.about-proof-grid div:nth-child(3) strong {
    font-size: 30px;
}

.about-proof-grid span {
    display: block;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.about-visual-col {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    height: auto !important;
    order: 2;
    width: 52% !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    margin-top: 38px;
    border-radius: 30px;
    box-shadow: 0 32px 80px rgba(0, 28, 79, .32);
    border: 1px solid rgba(90, 224, 255, .2);
    background: rgba(255, 255, 255, .05);
    z-index: 2;
}

.about-visual-col:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(90deg, rgba(0, 28, 79, .34), transparent 34%);
    pointer-events: none;
}

.about-tlc-section .conocenos-slider {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    min-height: 0;
    aspect-ratio: 3 / 2;
    border-radius: 30px;
}

.about-tlc-section .conocenos-slider .swiper-wrapper,
.about-tlc-section .conocenos-slider .swiper-slide {
    height: 100%;
}

.about-tlc-section .swiper-slide {
    background: transparent;
}

.about-tlc-section .img-conocenos {
    object-fit: contain;
    object-position: center;
    background: var(--tlc-navy-950);
}

.about-tlc-section .swiper-button-prev,
.about-tlc-section .swiper-button-next {
    color: #fff;
}

.about-tlc-section .swiper-pagination-bullet {
    background: rgba(255, 255, 255, .55);
}

.about-tlc-section .swiper-pagination-bullet-active {
    background: var(--tlc-cyan-500);
}

.presence-section {
    position: relative;
    overflow: hidden;
    padding: 108px 0;
    background:
        radial-gradient(circle at 78% 18%, rgba(42, 196, 214, .22), transparent 34%),
        radial-gradient(circle at 16% 82%, rgba(9, 72, 165, .28), transparent 38%),
        linear-gradient(180deg, var(--tlc-navy-900) 0%, var(--tlc-navy-950) 100%);
}

.presence-section:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 44px 44px;
    pointer-events: none;
}

.presence-section .container {
    position: relative;
    z-index: 1;
}

.presence-copy h2 {
    margin-bottom: 22px;
    color: #ffffff;
    font-size: clamp(36px, 4vw, 56px);
    line-height: 1.05;
}

.presence-copy p {
    color: rgba(255, 255, 255, .78);
    font-size: 17px;
    line-height: 1.76;
}

.presence-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding: 14px 16px;
    border: 1px solid rgba(42, 196, 214, .26);
    border-radius: 14px;
    background: rgba(0, 28, 79, .36);
    color: rgba(255, 255, 255, .88);
    font-weight: 700;
    line-height: 1.45;
}

.presence-note i {
    color: var(--tlc-cyan-400);
}

.mexico-map-card {
    position: relative;
    padding: 28px;
    border: 1px solid rgba(90, 224, 255, .2);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 42%, rgba(42, 196, 214, .14), transparent 45%),
        rgba(20, 75, 130, .28);
    box-shadow: 0 28px 70px rgba(0, 20, 58, .34);
}

.mexico-map-stage {
    position: relative;
    aspect-ratio: 1486 / 1100;
    min-height: 420px;
}

.mexico-map-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 24px 34px rgba(0, 20, 58, .42)) saturate(1.08);
    opacity: .96;
}

.map-point {
    position: absolute;
    width: 15px;
    height: 15px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.map-point span {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--tlc-cyan-400);
    box-shadow: 0 0 0 6px rgba(42, 196, 214, .14), 0 0 22px rgba(42, 196, 214, .76);
}

.map-point span:after {
    content: "";
    position: absolute;
    inset: -12px;
    border: 1px solid rgba(42, 196, 214, .42);
    border-radius: 50%;
    animation: mapPulse 2.4s infinite;
}

.map-point strong,
.map-point em {
    position: absolute;
    left: 50%;
    width: 210px;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .25s ease;
}

.map-point strong {
    bottom: calc(100% + 18px);
    padding: 10px 12px 3px;
    border-radius: 14px 14px 0 0;
    background: rgba(0, 28, 79, .96);
    color: #ffffff;
    font-size: 15px;
    line-height: 1.3;
}

.map-point em {
    top: calc(-100% - 18px);
    padding: 0 12px 10px;
    border-radius: 0 0 14px 14px;
    background: rgba(0, 28, 79, .96);
    color: rgba(255, 255, 255, .72);
    font-style: normal;
    font-size: 12px;
    line-height: 1.45;
}

.map-point:hover strong,
.map-point:hover em,
.map-point:focus strong,
.map-point:focus em {
    opacity: 1;
    visibility: visible;
}

.map-point:focus {
    outline: none;
}

.office-point {
    width: 23px;
    height: 23px;
    z-index: 3;
}

.office-point span {
    background: var(--tlc-lime-400);
    box-shadow: 0 0 0 9px rgba(188, 255, 82, .15), 0 0 30px rgba(188, 255, 82, .86);
}

.office-point span:after {
    border-color: rgba(188, 255, 82, .52);
}

.office-point strong,
.office-point em {
    background: rgba(0, 28, 79, .98);
}

.point-tijuana { left: 2.4%; top: 4.8%; }
.point-mexicali { left: 8.2%; top: 5.4%; }
.point-rosarito { left: 3.1%; top: 8.8%; }
.point-tecate { left: 5.6%; top: 7.2%; }
.point-san-luis-rio-colorado { left: 15.6%; top: 11.5%; }
.point-ensenada { left: 7.2%; top: 18.8%; }
.point-nogales { left: 31.3%; top: 12.3%; }
.point-hermosillo { left: 33.8%; top: 25.6%; }
.point-guaymas { left: 36%; top: 34.7%; }
.point-juarez { left: 47.3%; top: 10.8%; }
.point-chihuahua { left: 48.8%; top: 29.8%; }
.point-nuevo-laredo { left: 67.4%; top: 25.8%; }
.point-reynosa { left: 73%; top: 32.8%; }
.point-monterrey { left: 64.5%; top: 39.2%; }
.point-apodaca { left: 65.8%; top: 38.3%; }
.point-zacatecas { left: 53.1%; top: 54.2%; }
.point-slp { left: 59.6%; top: 58.2%; }
.point-jalisco { left: 47%; top: 66.2%; }
.point-michoacan { left: 52.7%; top: 72.2%; }
.point-guanajuato { left: 56.1%; top: 64.8%; }
.point-queretaro { left: 59.3%; top: 65.7%; }
.point-hidalgo { left: 62.2%; top: 67.2%; }
.point-cdmx { left: 60.4%; top: 71.4%; }
.point-veracruz { left: 68.5%; top: 72.2%; }
.point-merida { left: 89.2%; top: 67.2%; }

.presence-map-legend {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 18px;
}

.presence-map-legend span {
    align-items: center;
    background: rgba(0, 28, 79, .34);
    border: 1px solid rgba(42, 196, 214, .2);
    border-radius: 999px;
    color: rgba(255, 255, 255, .86);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 8px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.legend-dot {
    border-radius: 50%;
    display: inline-block;
    height: 11px;
    width: 11px;
}

.coverage-dot {
    background: var(--tlc-cyan-400);
    box-shadow: 0 0 14px rgba(42, 196, 214, .75);
}

.office-dot {
    background: var(--tlc-lime-400);
    box-shadow: 0 0 14px rgba(188, 255, 82, .75);
}

.presence-region-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.presence-region-list span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 13px;
    border: 1px solid rgba(42, 196, 214, .24);
    border-radius: 999px;
    background: rgba(0, 28, 79, .32);
    color: rgba(255, 255, 255, .84);
    font-size: 13px;
    font-weight: 700;
}

.presence-logo-strip {
    margin-top: 54px;
    padding: 30px 28px;
    border: 1px solid rgba(90, 224, 255, .18);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(42, 196, 214, .08), rgba(0, 28, 79, .14)),
        rgba(0, 28, 79, .18);
    box-shadow: 0 22px 54px rgba(0, 20, 58, .22);
    text-align: center;
}

.presence-logo-strip .subtitle.s2 {
    color: var(--tlc-cyan-400) !important;
}

.presence-logo-strip .logo-carousel {
    padding: 16px 10px;
    border: 1px solid rgba(90, 224, 255, .24);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(235, 246, 255, .92));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .82),
        0 18px 42px rgba(0, 20, 58, .18);
}

.presence-logo-strip .logo-carousel .owl-stage-outer {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.presence-logo-strip .logo-carousel .owl-stage {
    display: flex;
    align-items: center;
}

.presence-logo-strip .logo-carousel .owl-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.presence-logo-strip .logo-carousel img {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    filter: saturate(1.08) contrast(1.06);
    height: 86px;
    max-height: 86px;
    mix-blend-mode: multiply;
    object-fit: contain;
    opacity: .9;
    padding: 6px 18px !important;
    transition: transform 240ms ease, opacity 240ms ease, filter 240ms ease;
}

.presence-logo-strip .logo-carousel img:hover {
    filter: saturate(1.18) contrast(1.12);
    opacity: 1;
    transform: translateY(-2px) scale(1.03);
}

@keyframes mapPulse {
    0% {
        transform: scale(.7);
        opacity: .8;
    }
    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}

.dif-green,
.dif-lime,
.dif-cyan,
.dif-blue,
.dif-sky,
.dif-indigo,
.circle-icon {
    color: var(--tlc-navy-800) !important;
}

.dif-green-bg,
.dif-lime-bg,
.dif-cyan-bg,
.dif-blue-bg,
.dif-sky-bg,
.dif-indigo-bg {
    background: var(--tlc-cyan-500) !important;
}

.main-circle {
    background: linear-gradient(135deg, var(--tlc-cyan-400), var(--tlc-blue-500), var(--tlc-electric-500)) !important;
}

.section-dark.text-light.jarallax .sw-overlay {
    background: linear-gradient(90deg, rgba(42, 196, 214, .88), rgba(9, 72, 165, .88)) !important;
}

.section-dark.text-light.jarallax .d-number {
    background: var(--tlc-cyan-500) !important;
    color: var(--tlc-navy-950) !important;
}

#contenido {
    background:
        radial-gradient(circle at 78% 12%, rgba(62, 140, 204, .18), transparent 34%),
        linear-gradient(180deg, var(--tlc-navy-950) 0%, var(--tlc-navy-900) 100%) !important;
}

#contenido .content-card {
    background: rgba(0, 20, 58, .72) !important;
    border: 1px solid rgba(62, 140, 204, .24);
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(0, 20, 58, .18);
}

#contenido .content-card i {
    color: var(--tlc-sky-300) !important;
}

#contenido .content-card p {
    color: rgba(255, 255, 255, .76);
}

.divisiones-premium,
.tech-section,
.sister-section,
.r3-section {
    background:
        radial-gradient(circle at 70% 15%, rgba(62, 140, 204, .22), transparent 34%),
        linear-gradient(180deg, var(--tlc-navy-950) 0%, var(--tlc-navy-900) 100%) !important;
}

.division-card,
.tech-card,
.sister-card,
.calendar-card,
.kci-box {
    background: rgba(20, 75, 130, .32) !important;
    border-color: rgba(62, 140, 204, .25) !important;
}

.sister-section h2,
.sister-section .sister-content h3,
.sister-section .sister-list li {
    color: #ffffff !important;
}

.sister-section > .container > .row:first-child p,
.sister-section .sister-content p {
    color: rgba(255, 255, 255, .78) !important;
}

.sister-section .subtitle {
    color: var(--tlc-cyan-400) !important;
}

.sister-section .row:first-child .wow {
    visibility: visible !important;
    opacity: 1 !important;
}

.about-tlc-section .wow,
.presence-section .wow,
.divisiones-premium .wow,
#contenido .wow,
.tlc-intelligence-section .wow,
.tech-section .wow,
.sister-section .wow,
.r3-section .wow {
    visibility: visible !important;
    opacity: 1 !important;
}

.division-icon i,
.sister-tag,
.calendar-badge {
    color: var(--tlc-sky-300) !important;
}

.division-icon,
.sister-tag,
.calendar-badge {
    background: rgba(42, 196, 214, .12) !important;
}

.tech-card {
    display: flex;
    flex-direction: column;
}

.tech-content {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.tech-content p {
    flex: 1;
}

.tech-actions .btn-main {
    padding-left: 22px;
    padding-right: 22px;
    white-space: nowrap;
}

.integrity-card {
    border-color: rgba(42, 196, 214, .34) !important;
}

.integrity-image {
    min-height: 215px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 70% 25%, rgba(42, 196, 214, .24), transparent 32%),
        linear-gradient(135deg, rgba(0, 28, 79, .62), rgba(13, 73, 138, .44)) !important;
}

.integrity-icon-wrap {
    position: relative;
    width: 136px;
    height: 136px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(42, 196, 214, .22), rgba(9, 72, 165, .32));
    box-shadow: 0 22px 46px rgba(0, 28, 79, .32);
}

.integrity-icon-wrap .fa-shield-halved {
    color: #ffffff;
    font-size: 72px;
}

.integrity-icon-wrap .fa-lock {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--tlc-cyan-500);
    color: var(--tlc-navy-950);
    font-size: 15px;
}

.ecosystem-visual {
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
}

.ecosystem-visual:before {
    content: "";
    position: absolute;
    inset: auto auto -70px -80px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .18);
}

.ecosystem-pill {
    position: relative;
    z-index: 1;
    width: min(100%, 300px);
    border-radius: 52px;
    padding: 24px 28px;
    text-align: center;
    box-shadow: 0 22px 48px rgba(0, 28, 79, .34);
}

.ecosystem-pill img {
    display: block;
    width: 100%;
    height: auto;
}

.trade-card {
    border-color: rgba(255, 214, 0, .22) !important;
}

.trade-visual {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .16), transparent 26%),
        linear-gradient(135deg, #001c4f 0%, #0d498a 56%, #144b82 100%);
}

.trade-pill {
    width: min(100%, 314px);
    padding: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .6);
}

.trade-pill img {
    border-radius: 50px;
}

.magazine-card {
    border-color: rgba(52, 234, 199, .22) !important;
}

.magazine-visual {
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 198, 134, .18), transparent 28%),
        radial-gradient(circle at 82% 20%, rgba(52, 234, 199, .18), transparent 30%),
        linear-gradient(135deg, #09294e 0%, #0d498a 58%, #001c4f 100%);
}

.magazine-pill {
    width: min(100%, 330px);
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .62);
}

.magazine-pill img {
    width: 112%;
    max-width: none;
}

.r3-circle {
    background: linear-gradient(135deg, var(--tlc-cyan-500), var(--tlc-blue-700)) !important;
}

.r3-brand-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 34px 0 46px;
    padding: 28px;
    border: 1px solid rgba(90, 224, 255, .22);
    border-radius: 24px;
    background:
        radial-gradient(circle at 25% 25%, rgba(42, 196, 214, .16), transparent 42%),
        rgba(255, 255, 255, .06);
    box-shadow: 0 24px 54px rgba(0, 28, 79, .28);
}

.r3-brand-visual img {
    display: block;
    width: min(100%, 720px);
    height: auto;
    filter: drop-shadow(0 18px 28px rgba(0, 28, 79, .26));
}

.r3-line,
.kci-box {
    border-color: var(--tlc-cyan-500) !important;
}

.tlc-intelligence-section {
    position: relative;
    overflow: hidden;
    padding: 88px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(62, 140, 204, .34), transparent 34%),
        radial-gradient(circle at 18% 76%, rgba(42, 196, 214, .26), transparent 36%),
        linear-gradient(135deg, var(--tlc-navy-950) 0%, #093a75 52%, var(--tlc-navy-900) 100%);
}

.tlc-intelligence-section:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 100%),
        linear-gradient(30deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 100%);
    background-size: 150px 150px;
    opacity: .28;
    pointer-events: none;
}

.tlc-intelligence-section .container {
    position: relative;
    z-index: 1;
}

.intelligence-copy {
    max-width: 500px;
}

.intelligence-copy .subtitle {
    color: var(--tlc-sky-300) !important;
}

.intelligence-copy h2 {
    margin-bottom: 18px;
    color: #ffffff;
    font-size: clamp(34px, 3.3vw, 50px);
    line-height: 1.06;
}

.intelligence-copy p {
    margin-bottom: 22px;
    color: rgba(255, 255, 255, .82);
    font-size: 17px;
    line-height: 1.68;
}

.intelligence-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}

.intelligence-points span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid rgba(42, 196, 214, .34);
    border-radius: 999px;
    background: rgba(0, 28, 79, .34);
    color: rgba(255, 255, 255, .88);
    font-weight: 700;
    font-size: 13px;
}

.intelligence-cta {
    background: linear-gradient(90deg, var(--tlc-cyan-500), var(--tlc-blue-700)) !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 18px 38px rgba(42, 196, 214, .28);
}

.intelligence-visual {
    position: relative;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 28px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 30px 80px rgba(0, 20, 58, .42);
}

.intelligence-visual:before {
    content: "";
    position: absolute;
    inset: -16px 10% auto auto;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(42, 196, 214, .22);
    filter: blur(44px);
    pointer-events: none;
}

.intelligence-visual img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
}

.brochure-section {
    background: linear-gradient(90deg, var(--tlc-navy-950), #001a4a 55%, var(--tlc-navy-900)) !important;
}

#conocenos,
#presencia-clientes,
#tlc-intelligence,
#tecnologia,
#empresas-hermanas,
#metodologia-r3,
#r3,
#contacto {
    scroll-margin-top: 96px;
}

#servicios,
#diferenciadores-pro,
#divisiones-premium,
#contenido {
    scroll-margin-top: 96px;
}

#conocenos {
    scroll-margin-top: 90px;
}

.brochure-submit {
    background: linear-gradient(90deg, var(--tlc-cyan-500), var(--tlc-blue-700)) !important;
    border: none !important;
}

.custom-input:focus {
    border-bottom-color: var(--tlc-cyan-500) !important;
}

footer,
footer.footer-black {
    background: var(--tlc-navy-950) !important;
}

footer .widget h5,
footer a:hover {
    color: var(--tlc-sky-300) !important;
}

.tlc-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
        opacity 760ms ease,
        transform 760ms cubic-bezier(.22, 1, .36, 1),
        box-shadow 320ms ease,
        border-color 320ms ease;
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.tlc-reveal.is-in-view {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.tlc-scroll-glow {
    position: relative;
    isolation: isolate;
}

.tlc-scroll-glow:after {
    content: "";
    position: absolute;
    inset: 8% -10% auto auto;
    width: min(420px, 44vw);
    height: min(420px, 44vw);
    background: radial-gradient(circle, rgba(52, 234, 199, .18), rgba(13, 73, 138, .06) 42%, transparent 70%);
    filter: blur(10px);
    opacity: .62;
    pointer-events: none;
    z-index: -1;
}

.service-card,
.division-card,
.content-card,
.tech-card,
.sister-card,
.calendar-card,
.mexico-map-card,
.intelligence-visual,
.about-proof-grid div {
    transition:
        transform 300ms ease,
        box-shadow 300ms ease,
        border-color 300ms ease,
        background 300ms ease;
}

.service-card:hover,
.division-card:hover,
.content-card:hover,
.tech-card:hover,
.sister-card:hover,
.calendar-card:hover,
.mexico-map-card:hover,
.intelligence-visual:hover,
.about-proof-grid div:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(0, 20, 74, .22), 0 0 0 1px rgba(52, 234, 199, .22);
}

.division-card:after,
.content-card:after,
.tech-card:after,
.sister-card:after,
.mexico-map-card:after,
.intelligence-visual:after {
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .18) 45%, transparent 70%);
    content: "";
    height: 180%;
    left: -85%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: -40%;
    transform: rotate(18deg);
    transition: left 700ms ease, opacity 300ms ease;
    width: 40%;
}

.division-card:hover:after,
.content-card:hover:after,
.tech-card:hover:after,
.sister-card:hover:after,
.mexico-map-card:hover:after,
.intelligence-visual:hover:after {
    left: 125%;
    opacity: 1;
}

.division-card,
.content-card,
.tech-card,
.sister-card,
.mexico-map-card,
.intelligence-visual {
    overflow: hidden;
    position: relative;
}

.subtitle.s2:before {
    transform-origin: right center;
    animation: tlc-line-breathe 2.8s ease-in-out infinite;
}

.map-point {
    animation: tlc-map-pulse 2.6s ease-in-out infinite;
}

.map-point:nth-of-type(2n) {
    animation-delay: .55s;
}

.map-point:nth-of-type(3n) {
    animation-delay: 1.1s;
}

@keyframes tlc-line-breathe {
    0%, 100% {
        transform: scaleX(.64);
        opacity: .45;
    }
    50% {
        transform: scaleX(1);
        opacity: 1;
    }
}

@keyframes tlc-map-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(52, 234, 199, .32), 0 0 22px rgba(52, 234, 199, .28);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(52, 234, 199, 0), 0 0 34px rgba(52, 234, 199, .42);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tlc-reveal,
    .service-card,
    .division-card,
    .content-card,
    .tech-card,
    .sister-card,
    .calendar-card,
    .mexico-map-card,
    .intelligence-visual,
    .about-proof-grid div {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .subtitle.s2:before,
    .map-point {
        animation: none !important;
    }
}

@media (max-width: 1199px) {
    .about-tlc-section {
        min-height: auto;
        padding: 76px 0 56px;
    }

    .about-tlc-section .row {
        display: flex;
        flex-direction: column;
        gap: 34px;
    }

    .about-copy-col,
    .about-visual-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .about-copy {
        max-width: 760px;
        margin: 0 auto;
    }

    .about-visual-col {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        display: block !important;
        height: auto !important;
        margin: 0 auto !important;
        border-radius: 24px;
        overflow: hidden !important;
    }

    .about-visual-col:before {
        display: none;
    }

    .about-tlc-section .conocenos-slider {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10;
        border-radius: 24px;
    }

    .about-tlc-section .conocenos-slider .swiper-wrapper,
    .about-tlc-section .conocenos-slider .swiper-slide {
        width: 100% !important;
        height: 100% !important;
    }

    .about-tlc-section .img-conocenos {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
}

@media (max-width: 991px) {
    h1.slider-title {
        font-size: 44px !important;
    }

    header .de-flex {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .r3-brand-visual {
        padding: 22px;
        margin: 28px 0 36px;
    }

    .about-tlc-section {
        min-height: auto;
        padding: 76px 0 56px;
    }

    .about-copy {
        max-width: none;
        margin-bottom: 34px;
    }

    .about-copy-col,
    .about-visual-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .about-copy h2 {
        font-size: 40px;
    }

    .about-proof-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .about-proof-grid div {
        min-height: 96px;
        padding: 16px 12px;
    }

    .about-proof-grid strong {
        font-size: 28px;
    }

    .about-proof-grid div:nth-child(3) strong {
        font-size: 24px;
    }

    .about-proof-grid span {
        font-size: 10px;
    }

    .about-visual-col {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        display: block !important;
        border-radius: 24px;
        margin: 0 auto;
        overflow: hidden !important;
    }

    .about-tlc-section .conocenos-slider {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10;
        border-radius: 24px;
    }

    .about-tlc-section .conocenos-slider .swiper-wrapper,
    .about-tlc-section .conocenos-slider .swiper-slide {
        width: 100% !important;
        height: 100% !important;
    }

    .about-tlc-section .img-conocenos {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }

    .presence-section {
        padding: 78px 0;
    }

    .presence-copy {
        text-align: center;
    }

    .presence-note {
        justify-content: center;
    }

    .mexico-map-card {
        padding: 18px;
    }

    .mexico-map-stage {
        min-height: 300px;
    }

    .tlc-intelligence-section {
        padding: 78px 0;
    }

    .intelligence-copy {
        max-width: none;
        text-align: center;
    }

    .intelligence-points {
        justify-content: center;
    }

    .tech-actions .btn-main {
        white-space: normal;
    }
}

@media (max-width: 575px) {
    h1.slider-title {
        font-size: 36px !important;
    }

    .about-copy h2 {
        font-size: 34px;
    }

    .about-copy p {
        font-size: 16px;
    }

    .about-proof-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .about-proof-grid div {
        min-height: 78px;
        padding: 12px 8px;
        border-radius: 14px;
    }

    .about-proof-grid strong {
        font-size: 24px;
        line-height: 1;
    }

    .about-proof-grid div:nth-child(3) strong {
        font-size: 18px;
    }

    .about-proof-grid span {
        font-size: 9px;
        line-height: 1.25;
    }

    .about-tlc-section .conocenos-slider {
        aspect-ratio: 4 / 5;
        border-radius: 20px;
    }

    .about-tlc-section .img-conocenos {
        object-position: 42% center !important;
    }

    .presence-copy h2 {
        font-size: 34px;
    }

    .presence-copy p {
        font-size: 16px;
    }

    .mexico-map-stage {
        min-height: 270px;
    }

    .map-point {
        width: 11px;
        height: 11px;
    }

    .office-point {
        width: 16px;
        height: 16px;
    }

    .map-point strong,
    .map-point em {
        width: 150px;
    }

    .presence-region-list {
        max-height: 150px;
        overflow: auto;
    }

    .presence-logo-strip {
        margin-top: 34px;
        padding: 24px 14px;
    }

    .presence-logo-strip .logo-carousel {
        padding: 12px 6px;
        border-radius: 18px;
    }

    .presence-logo-strip .logo-carousel img {
        height: 68px;
        max-height: 68px;
        padding: 4px 12px !important;
    }

.tlc-intelligence-section {
    padding: 64px 0;
}

    .intelligence-copy h2 {
        font-size: 34px;
    }

    .intelligence-copy p {
        font-size: 16px;
    }

    .intelligence-visual {
        padding: 9px;
        border-radius: 20px;
    }

    .intelligence-visual img {
        border-radius: 14px;
    }
}

.bulletins-hero,
.bulletin-article-hero {
    background:
        linear-gradient(90deg, rgba(0, 20, 58, .96) 0%, rgba(0, 35, 93, .82) 44%, rgba(0, 77, 145, .46) 100%),
        radial-gradient(circle at 18% 72%, rgba(42, 196, 214, .28), transparent 28%),
        url("../images/slider/12-1.webp") center / cover no-repeat;
    overflow: hidden;
    padding: 230px 0 150px;
    position: relative;
}

.bulletins-hero:before {
    background:
        linear-gradient(rgba(90, 224, 255, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(90, 224, 255, .08) 1px, transparent 1px);
    background-size: 72px 72px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, .78), transparent 76%);
    pointer-events: none;
    position: absolute;
}

.bulletins-hero:after {
    background: linear-gradient(90deg, var(--tlc-cyan-500), var(--tlc-blue-700));
    bottom: 0;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    width: 100%;
}

.bulletins-hero .container,
.bulletin-article-hero .container {
    position: relative;
    z-index: 1;
}

.bulletins-hero h1,
.bulletin-article-hero h1 {
    color: #ffffff;
    font-size: clamp(56px, 8vw, 118px);
    letter-spacing: 0;
    line-height: .96;
    margin-bottom: 34px;
    max-width: 980px;
}

.bulletin-article-hero h1 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.04;
}

.bulletins-hero p,
.bulletin-article-hero p {
    color: rgba(255, 255, 255, .78);
    font-size: 20px;
    line-height: 1.7;
    max-width: 760px;
}

.bulletin-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 44px;
}

.bulletin-hero-pills a {
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(90, 224, 255, .26);
    border-radius: 999px;
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
    font-weight: 800;
    padding: 11px 16px;
}

.bulletin-hero-pills a:hover {
    background: rgba(42, 196, 214, .18);
    border-color: rgba(90, 224, 255, .72);
    color: #ffffff;
    transform: translateY(-2px);
}

.bulletin-tag,
.bulletin-meta span,
.bulletin-meta time {
    color: var(--tlc-cyan-400);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bulletins-directory,
.bulletins-list-section,
.bulletins-archive-section,
.bulletin-article-body {
    background:
        radial-gradient(circle at 6% 12%, rgba(42, 196, 214, .12), transparent 26%),
        linear-gradient(180deg, #f5f8fc 0%, #ffffff 54%, #eef6ff 100%);
    padding: 96px 0;
}

.bulletins-directory h2,
.bulletins-list-section h2,
.bulletins-archive-section h2 {
    color: var(--tlc-navy-950);
    font-size: clamp(34px, 4vw, 54px);
}

.bulletin-division-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bulletin-division-card,
.bulletin-card {
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(145deg, rgba(42, 196, 214, .42), rgba(13, 73, 138, .08), rgba(0, 28, 79, .18)) border-box;
    border: 1px solid transparent;
    border-radius: 24px;
    box-shadow: 0 22px 58px rgba(0, 20, 74, .09);
    height: 100%;
    overflow: hidden;
    position: relative;
    transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.bulletin-division-card {
    min-height: 280px;
    padding: 28px;
}

.bulletin-division-card:hover,
.bulletin-card:hover {
    box-shadow: 0 30px 72px rgba(0, 20, 74, .16);
    transform: translateY(-6px);
}

.bulletin-division-card:before {
    background: radial-gradient(circle, rgba(42, 196, 214, .18), transparent 68%);
    content: "";
    height: 170px;
    position: absolute;
    right: -70px;
    top: -70px;
    width: 170px;
}

.division-icon {
    align-items: center;
    background: linear-gradient(135deg, var(--tlc-cyan-500), var(--tlc-blue-700));
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(42, 196, 214, .24);
    color: #ffffff;
    display: flex;
    font-size: 24px;
    font-weight: 900;
    height: 58px;
    justify-content: center;
    margin-bottom: 28px;
    position: relative;
    width: 58px;
    z-index: 1;
}

.bulletin-division-card .division-icon {
    background: linear-gradient(135deg, var(--tlc-cyan-500), var(--tlc-blue-700)) !important;
}

.bulletin-division-card .division-icon i {
    color: #ffffff !important;
}

.bulletin-division-card h3,
.bulletin-card h3 {
    color: var(--tlc-navy-950);
    font-size: 23px;
    line-height: 1.2;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.bulletin-division-card p,
.bulletin-card p {
    color: rgba(0, 28, 79, .68);
    line-height: 1.7;
    position: relative;
    z-index: 1;
}

.bulletin-card img {
    aspect-ratio: 16 / 10;
    display: block;
    height: 220px;
    object-fit: cover;
    width: 100%;
}

.bulletins-list-section .align-items-stretch {
    align-items: flex-start !important;
}

.bulletins-list-section .bulletin-card {
    height: auto;
}

.bulletin-card-featured {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.bulletin-card-featured > a {
    display: block;
    min-height: 420px;
}

.bulletin-card-featured img {
    height: 100%;
    max-height: 460px;
}

.bulletin-card-body {
    padding: 26px;
}

.bulletin-card-featured .bulletin-card-body {
    align-content: center;
    display: grid;
    padding: 34px;
}

.bulletin-card-featured h3 {
    font-size: clamp(26px, 3vw, 38px);
}

.bulletin-card time {
    color: rgba(0, 28, 79, .48);
    display: block;
    font-size: 13px;
    margin: 12px 0;
}

.bulletin-card h3 a,
.bulletin-link,
.bulletin-back-link,
.bulletin-source-box a,
.bulletin-contact-box a {
    color: var(--tlc-blue-800);
}

.bulletin-card h3 a:hover,
.bulletin-link:hover,
.bulletin-back-link:hover,
.bulletin-source-box a:hover,
.bulletin-contact-box a:hover {
    color: var(--tlc-cyan-500);
}

.bulletin-link {
    align-items: center;
    display: inline-flex;
    font-weight: 800;
    gap: 8px;
    margin-top: 8px;
}

.bulletin-division-link {
    align-items: center;
    background: rgba(42, 196, 214, .1);
    border: 1px solid rgba(42, 196, 214, .28);
    border-radius: 999px;
    color: var(--tlc-blue-800);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    margin-top: 14px;
    padding: 10px 15px;
    position: relative;
    z-index: 1;
}

.bulletin-division-link:after {
    content: ">";
    font-size: 16px;
}

.bulletin-division-link:hover {
    background: var(--tlc-blue-800);
    border-color: var(--tlc-blue-800);
    color: #ffffff;
}

.bulletin-link:after {
    content: ">";
    font-size: 18px;
}

.bulletin-card-empty {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(234, 245, 255, .88)),
        radial-gradient(circle at 80% 0%, rgba(42, 196, 214, .2), transparent 48%);
    display: flex;
    min-height: 100%;
}

.bulletin-side-stack {
    display: grid;
    gap: 20px;
    height: auto;
}

.bulletin-side-stack .bulletin-card img {
    height: 180px;
}

.bulletin-side-stack .bulletin-card-body {
    padding: 30px;
}

.bulletins-archive-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(42, 196, 214, .14), transparent 28%),
        linear-gradient(180deg, #eef6ff 0%, #ffffff 100%);
    padding-top: 20px;
}

.bulletins-archive-intro {
    color: rgba(0, 28, 79, .66);
    font-size: 18px;
    line-height: 1.7;
    max-width: 780px;
}

.bulletin-archive-shell {
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(13, 73, 138, .12);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(0, 20, 74, .1);
    padding: 26px;
}

.bulletin-archive-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.bulletin-archive-tabs button {
    background: #ffffff;
    border: 1px solid rgba(13, 73, 138, .16);
    border-radius: 999px;
    color: rgba(0, 28, 79, .72);
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    padding: 11px 16px;
    transition: background 260ms ease, border-color 260ms ease, color 260ms ease, transform 260ms ease;
}

.bulletin-archive-tabs button:hover,
.bulletin-archive-tabs button.active {
    background: linear-gradient(135deg, var(--tlc-cyan-500), var(--tlc-blue-700));
    border-color: transparent;
    color: #ffffff;
    transform: translateY(-2px);
}

.bulletin-archive-toolbar {
    align-items: center;
    border-bottom: 1px solid rgba(13, 73, 138, .1);
    color: rgba(0, 28, 79, .58);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    font-weight: 800;
    gap: 12px;
    justify-content: space-between;
    letter-spacing: .04em;
    margin-bottom: 24px;
    padding-bottom: 18px;
    text-transform: uppercase;
}

.bulletin-archive-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bulletin-archive-card {
    background: #ffffff;
    border: 1px solid rgba(13, 73, 138, .1);
    border-radius: 22px;
    box-shadow: 0 18px 46px rgba(0, 20, 74, .08);
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    overflow: hidden;
    transition: transform 300ms ease, box-shadow 300ms ease;
}

.bulletin-archive-card:hover {
    box-shadow: 0 26px 62px rgba(0, 20, 74, .14);
    transform: translateY(-5px);
}

.bulletin-archive-card[hidden] {
    display: none;
}

.bulletin-archive-thumb {
    display: block;
    min-height: 100%;
    overflow: hidden;
}

.bulletin-archive-thumb img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 360ms ease;
    width: 100%;
}

.bulletin-archive-card:hover .bulletin-archive-thumb img {
    transform: scale(1.04);
}

.bulletin-archive-content {
    padding: 24px;
}

.bulletin-archive-content time {
    color: var(--tlc-cyan-500);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.bulletin-archive-content h3 {
    font-size: 24px;
    line-height: 1.18;
    margin-bottom: 10px;
}

.bulletin-archive-content h3 a {
    color: var(--tlc-navy-950);
}

.bulletin-archive-content h3 a:hover {
    color: var(--tlc-blue-800);
}

.bulletin-archive-content p,
.bulletin-empty-state p {
    color: rgba(0, 28, 79, .66);
    line-height: 1.7;
    margin-bottom: 0;
}

.bulletin-empty-state {
    background: linear-gradient(135deg, rgba(42, 196, 214, .08), rgba(13, 73, 138, .06));
    border: 1px dashed rgba(13, 73, 138, .2);
    border-radius: 18px;
    padding: 28px;
    text-align: center;
}

.bulletin-empty-state strong {
    color: var(--tlc-navy-950);
    display: block;
    font-size: 24px;
    margin-bottom: 8px;
}

.bulletin-pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 26px;
}

.bulletin-pagination button {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(13, 73, 138, .16);
    border-radius: 12px;
    color: var(--tlc-navy-950);
    cursor: pointer;
    display: flex;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.bulletin-pagination button.active,
.bulletin-pagination button:hover {
    background: var(--tlc-blue-800);
    border-color: var(--tlc-blue-800);
    color: #ffffff;
}

.bulletin-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0;
}

.bulletin-back-link {
    display: inline-flex;
    font-weight: 800;
    margin-bottom: 18px;
}

.bulletin-back-link:before {
    content: "<";
    margin-right: 8px;
}

.bulletin-hero-image {
    aspect-ratio: 16 / 9;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 26px;
    box-shadow: 0 32px 82px rgba(0, 20, 58, .38);
    object-fit: contain;
    width: 100%;
}

.bulletin-editorial {
    background: #ffffff;
    border: 1px solid rgba(13, 73, 138, .1);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(0, 20, 74, .08);
    color: rgba(0, 28, 79, .78);
    font-size: 18px;
    line-height: 1.85;
    padding: clamp(28px, 6vw, 68px);
}

.bulletin-editorial .lead {
    color: var(--tlc-navy-950);
    font-size: 23px;
    line-height: 1.65;
}

.bulletin-editorial h2 {
    color: var(--tlc-navy-950);
    font-size: 32px;
    margin: 44px 0 16px;
}

.bulletin-editorial ul {
    margin: 22px 0 28px;
    padding-left: 22px;
}

.bulletin-editorial li {
    margin-bottom: 12px;
}

.bulletin-table-wrap {
    border: 1px solid rgba(13, 73, 138, .12);
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(0, 20, 74, .08);
    margin: 28px 0 34px;
    overflow-x: auto;
}

.bulletin-table {
    background: #ffffff;
    border-collapse: collapse;
    color: rgba(0, 28, 79, .76);
    font-size: 15px;
    line-height: 1.55;
    min-width: 680px;
    width: 100%;
}

.bulletin-table th {
    background: linear-gradient(135deg, var(--tlc-blue-800), var(--tlc-navy-950));
    color: #ffffff;
    font-weight: 800;
    padding: 16px 18px;
    text-align: left;
}

.bulletin-table td {
    border-top: 1px solid rgba(13, 73, 138, .1);
    padding: 16px 18px;
    vertical-align: top;
}

.bulletin-table tbody tr:nth-child(even) td {
    background: #f5f8fc;
}

.bulletin-table td:last-child {
    color: var(--tlc-blue-800);
    font-weight: 800;
    white-space: nowrap;
}

.bulletin-table-data td:last-child {
    color: rgba(0, 28, 79, .76);
    font-weight: 400;
    white-space: normal;
}

.bulletin-editorial blockquote {
    background: linear-gradient(135deg, rgba(42, 196, 214, .12), rgba(13, 73, 138, .08));
    border-left: 4px solid var(--tlc-cyan-500);
    border-radius: 18px;
    color: var(--tlc-navy-950);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.55;
    margin: 38px 0;
    padding: 28px;
}

.bulletin-source-box,
.bulletin-contact-box {
    background: #f5f8fc;
    border: 1px solid rgba(13, 73, 138, .1);
    border-radius: 18px;
    margin-top: 28px;
    padding: 22px;
}

.bulletin-contact-box span,
.bulletin-contact-box strong,
.bulletin-contact-box a {
    display: block;
}

.bulletin-contact-box strong {
    color: var(--tlc-navy-950);
    margin: 8px 0 2px;
}

.bulletin-disclaimer {
    border-top: 1px solid rgba(13, 73, 138, .12);
    color: rgba(0, 28, 79, .55);
    font-size: 13px;
    line-height: 1.7;
    margin-top: 36px;
    padding-top: 22px;
}

@media (max-width: 1199px) {
    .bulletin-division-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bulletin-card-featured {
        grid-template-columns: 1fr;
    }

    .bulletin-archive-grid {
        grid-template-columns: 1fr;
    }

    .bulletin-archive-card {
        grid-template-columns: 250px minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .bulletins-hero,
    .bulletin-article-hero {
        padding: 160px 0 92px;
    }

    .bulletins-hero h1,
    .bulletin-article-hero h1 {
        font-size: 52px;
    }

    .bulletin-hero-pills {
        gap: 8px;
    }

    .bulletin-hero-pills a {
        font-size: 12px;
        padding: 9px 12px;
    }

    .bulletin-division-grid {
        grid-template-columns: 1fr;
    }

    .bulletin-division-card {
        min-height: auto;
    }

    .bulletin-archive-shell {
        padding: 18px;
    }

    .bulletin-archive-card {
        grid-template-columns: 1fr;
    }

    .bulletin-archive-thumb img {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    .bulletin-archive-content h3 {
        font-size: 23px;
    }

    .bulletins-directory,
    .bulletins-list-section,
    .bulletin-article-body {
        padding: 68px 0;
    }

    .bulletin-editorial {
        font-size: 16px;
        line-height: 1.75;
    }

    .bulletin-editorial .lead {
        font-size: 19px;
    }

    .bulletin-editorial h2 {
        font-size: 26px;
    }

    .bulletin-editorial blockquote {
        font-size: 18px;
        padding: 22px;
    }

    .bulletin-table {
        font-size: 14px;
        min-width: 620px;
    }
}
