.tmn-intro {
    --tmn-navy: #07477e;
    --tmn-navy-dark: #032e52;
    --tmn-gold: #f2c536;
    --tmn-text: #425466;
    --tmn-surface: #f7f9fc;
    --tmn-tilt-x: 0deg;
    --tmn-tilt-y: 0deg;
    --tmn-shift-x: 0px;
    --tmn-shift-y: 0px;
    --tmn-card-lift: 0px;
    --tmn-pointer-x: 50%;
    --tmn-pointer-y: 50%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,249,252,.97)),
        var(--tmn-surface);
    box-shadow: 0 24px 70px rgba(3, 46, 82, .10);
    transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;
}

.tmn-intro,
.tmn-intro * {
    box-sizing: border-box;
}

.tmn-intro::before,
.tmn-intro::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.tmn-intro::before {
    inset: -45%;
    opacity: .62;
    background:
        radial-gradient(circle at 32% 34%, rgba(7,71,126,.13), transparent 25%),
        radial-gradient(circle at 72% 60%, rgba(242,197,54,.13), transparent 22%),
        radial-gradient(circle at 56% 18%, rgba(255,255,255,.8), transparent 20%);
    transform: translate3d(var(--tmn-shift-x), var(--tmn-shift-y), 0) rotate(0deg);
}

.tmn-intro::after {
    top: -30%;
    left: -35%;
    width: 34%;
    height: 170%;
    opacity: .3;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
    transform: rotate(18deg) translateX(-160%);
    filter: blur(3px);
}

.tmn-intro--motion:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 90px rgba(3, 46, 82, .16);
}

.tmn-intro--motion::before {
    animation: tmn-background-drift 14s ease-in-out infinite alternate;
}

.tmn-intro--motion::after {
    animation: tmn-background-sheen 7.2s ease-in-out infinite;
}

.tmn-intro__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(380px, .98fr);
    gap: clamp(40px, 6vw, 88px);
    align-items: center;
    max-width: 1240px;
    margin: 0 auto;
}

.tmn-intro__copy {
    max-width: 650px;
}

.tmn-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--tmn-navy);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.tmn-intro__eyebrow-line {
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmn-gold), #fff0a3, var(--tmn-gold));
    background-size: 220% 100%;
}

.tmn-intro--motion .tmn-intro__eyebrow-line {
    animation: tmn-line-flow 3.5s linear infinite;
}

.tmn-intro__title {
    margin: 0;
    color: var(--tmn-navy-dark);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: clamp(36px, 4.4vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.tmn-intro__description {
    max-width: 610px;
    margin-top: 24px;
    color: var(--tmn-text);
    font-family: Roboto, Arial, sans-serif;
    font-size: clamp(16px, 1.2vw, 19px);
    line-height: 1.75;
}

.tmn-intro__description p {
    margin: 0;
}

.tmn-intro__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.tmn-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-family: Roboto, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transform: translateZ(0);
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, background-color .28s ease, color .28s ease, border-color .28s ease;
}

.tmn-button > * {
    position: relative;
    z-index: 2;
}

.tmn-button::before,
.tmn-button::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.tmn-button::before {
    inset: 0;
    z-index: 0;
    opacity: 0;
    transform: translateX(-120%) skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
    transition: transform .65s ease, opacity .2s ease;
}

.tmn-button::after {
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    opacity: 0;
    box-shadow: 0 0 0 0 rgba(242,197,54,.34);
}

.tmn-button:hover,
.tmn-button:focus-visible {
    transform: translateY(-4px) scale(1.025);
}

.tmn-button:hover::before,
.tmn-button:focus-visible::before {
    opacity: 1;
    transform: translateX(120%) skewX(-18deg);
}

.tmn-button--primary {
    color: #fff !important;
    background: linear-gradient(120deg, var(--tmn-navy-dark), var(--tmn-navy), #0a6bac, var(--tmn-navy-dark));
    background-size: 260% 100%;
    box-shadow: 0 14px 30px rgba(3, 46, 82, .22);
}

.tmn-intro--motion .tmn-button--primary {
    animation: tmn-button-gradient 4.4s ease infinite, tmn-button-breathe 2.8s ease-in-out infinite;
}

.tmn-intro--button-attention .tmn-button--primary::after {
    animation: tmn-button-ring 2.7s ease-out infinite;
}

.tmn-button--primary:hover,
.tmn-button--primary:focus-visible {
    color: #fff !important;
    box-shadow: 0 20px 42px rgba(3, 46, 82, .34), 0 0 0 4px rgba(242,197,54,.14);
}

.tmn-button--primary svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .28s ease;
}

.tmn-button--primary:hover svg,
.tmn-button--primary:focus-visible svg {
    transform: translateX(5px);
}

.tmn-button--secondary {
    color: var(--tmn-navy-dark) !important;
    border-color: rgba(7, 71, 126, .22);
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(8px);
}

.tmn-button--secondary::before {
    opacity: 1;
    transform: translateX(-102%);
    background: linear-gradient(135deg, var(--tmn-navy), var(--tmn-navy-dark));
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

.tmn-button--secondary:hover,
.tmn-button--secondary:focus-visible {
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 15px 32px rgba(3, 46, 82, .18);
}

.tmn-button--secondary:hover::before,
.tmn-button--secondary:focus-visible::before {
    transform: translateX(0);
}

.tmn-intro__visual {
    position: relative;
    perspective: 1200px;
}

.tmn-brand-card {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 4vw, 44px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 12%, rgba(242,197,54,.25), transparent 28%),
        linear-gradient(145deg, var(--tmn-navy), var(--tmn-navy-dark));
    box-shadow: 0 28px 65px rgba(3, 46, 82, .28);
    transform-style: preserve-3d;
    transform:
        perspective(1100px)
        translate3d(var(--tmn-shift-x), calc(var(--tmn-shift-y) + var(--tmn-card-lift)), 0)
        rotateX(var(--tmn-tilt-x))
        rotateY(var(--tmn-tilt-y));
    transition: transform .22s ease-out, box-shadow .38s ease, border-color .38s ease;
    will-change: transform;
}

.tmn-brand-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -55% -45%;
    opacity: .18;
    background: conic-gradient(from 180deg, transparent, rgba(255,255,255,.34), transparent 28%, rgba(242,197,54,.23), transparent 62%);
    transform: rotate(0deg);
    pointer-events: none;
}

.tmn-intro--motion .tmn-brand-card::before {
    animation: tmn-card-ambient 13s linear infinite;
}

.tmn-brand-card::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(255,255,255,.035), 0 0 0 70px rgba(255,255,255,.025);
    pointer-events: none;
    transition: transform .7s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
}

.tmn-intro--motion:hover {
    --tmn-card-lift: -7px;
}

.tmn-intro--motion:hover .tmn-brand-card {
    border-color: rgba(242,197,54,.34);
    box-shadow: 0 38px 82px rgba(3, 46, 82, .36), 0 0 0 1px rgba(242,197,54,.11);
}

.tmn-intro--motion:hover .tmn-brand-card::after {
    transform: scale(1.12) rotate(10deg);
    opacity: .9;
}

.tmn-brand-card__head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(130px, .9fr) minmax(150px, 1.1fr);
    gap: 26px;
    align-items: center;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255,255,255,.14);
    transform: translateZ(34px);
}

.tmn-brand-card__logo-wrap {
    display: flex;
    min-height: 132px;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 12px 28px rgba(0,0,0,.13);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}

.tmn-intro--motion:hover .tmn-brand-card__logo-wrap {
    transform: translateY(-4px) rotate(-1deg);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.9), 0 18px 36px rgba(0,0,0,.18);
}

.tmn-intro__logo {
    display: block;
    width: 100%;
    max-width: 210px;
    height: auto;
    max-height: 130px;
    object-fit: contain;
    transition: transform .5s cubic-bezier(.2,.8,.2,1);
}

.tmn-intro--motion:hover .tmn-intro__logo {
    transform: scale(1.045);
}

.tmn-brand-card__stat strong {
    display: block;
    color: var(--tmn-gold);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 600;
    line-height: .95;
    letter-spacing: -.05em;
    text-shadow: 0 8px 22px rgba(0,0,0,.18);
    transition: transform .38s cubic-bezier(.2,.8,.2,1), text-shadow .38s ease;
}

.tmn-intro--motion:hover .tmn-brand-card__stat strong {
    transform: translateY(-3px) scale(1.035);
    text-shadow: 0 10px 26px rgba(242,197,54,.18);
}

.tmn-brand-card__stat span {
    display: block;
    max-width: 190px;
    margin-top: 10px;
    color: rgba(255,255,255,.82);
    font-family: Roboto, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.tmn-brand-card__features {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 9px;
    margin-top: 22px;
    transform: translateZ(22px);
}

.tmn-feature {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(5px);
    transition: transform .32s cubic-bezier(.2,.8,.2,1), background-color .32s ease, border-color .32s ease, box-shadow .32s ease;
}

.tmn-feature:hover {
    transform: translateX(8px) scale(1.012);
    border-color: rgba(242,197,54,.28);
    background: rgba(255,255,255,.10);
    box-shadow: 0 14px 28px rgba(0,0,0,.12);
}

.tmn-feature__icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--tmn-gold);
    background: rgba(242,197,54,.12);
    transition: transform .42s cubic-bezier(.2,.8,.2,1), background-color .3s ease, box-shadow .3s ease;
}

.tmn-feature:hover .tmn-feature__icon {
    transform: rotate(-7deg) scale(1.11);
    background: rgba(242,197,54,.2);
    box-shadow: 0 8px 18px rgba(242,197,54,.13);
}

.tmn-feature__icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tmn-feature h3 {
    margin: 0 0 4px;
    color: #fff;
    font-family: Roboto, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.tmn-feature p {
    margin: 0;
    color: rgba(255,255,255,.67);
    font-family: Roboto, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

.tmn-intro__orb {
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(.2px);
}

.tmn-intro__orb--one {
    top: -130px;
    right: 22%;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(7,71,126,.12), transparent 68%);
}

.tmn-intro__orb--two {
    left: -110px;
    bottom: -150px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(242,197,54,.15), transparent 68%);
}

.tmn-intro--motion .tmn-intro__orb--one {
    animation: tmn-orb-one 9s ease-in-out infinite alternate;
}

.tmn-intro--motion .tmn-intro__orb--two {
    animation: tmn-orb-two 11s ease-in-out infinite alternate;
}

/* Entrada progresiva al aparecer en pantalla */
.tmn-intro--motion.tmn-pre-reveal:not(.is-visible) .tmn-intro__eyebrow,
.tmn-intro--motion.tmn-pre-reveal:not(.is-visible) .tmn-intro__title,
.tmn-intro--motion.tmn-pre-reveal:not(.is-visible) .tmn-intro__description,
.tmn-intro--motion.tmn-pre-reveal:not(.is-visible) .tmn-intro__actions,
.tmn-intro--motion.tmn-pre-reveal:not(.is-visible) .tmn-intro__visual {
    opacity: 0;
    transform: translateY(28px);
}

.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__eyebrow,
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__title,
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__description,
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__actions,
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__visual {
    animation: tmn-reveal .75s cubic-bezier(.2,.8,.2,1) forwards;
}

.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__title { animation-delay: .08s; }
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__description { animation-delay: .16s; }
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__actions { animation-delay: .24s; }
.tmn-intro--motion.tmn-pre-reveal.is-visible .tmn-intro__visual { animation-delay: .16s; }

.tmn-motion--subtle {
    --tmn-motion-scale: .65;
}

.tmn-motion--normal {
    --tmn-motion-scale: 1;
}

.tmn-motion--strong {
    --tmn-motion-scale: 1.35;
}


/* Refuerzo visual v1.1.1: malla animada y luz vinculada al cursor. */
.tmn-intro__mesh,
.tmn-intro__cursor-glow {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.tmn-intro__mesh {
    inset: -18%;
    opacity: .22;
    background-image:
        linear-gradient(rgba(7,71,126,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.08) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 65% 50%, #000 0, rgba(0,0,0,.72) 32%, transparent 72%);
    -webkit-mask-image: radial-gradient(circle at 65% 50%, #000 0, rgba(0,0,0,.72) 32%, transparent 72%);
    transform: perspective(620px) rotateX(58deg) translate3d(0, 12%, 0) scale(1.18);
    transform-origin: 50% 65%;
}

.tmn-intro--motion .tmn-intro__mesh {
    animation: tmn-mesh-drift 9s ease-in-out infinite alternate !important;
}

.tmn-intro__cursor-glow {
    opacity: 0;
    background: radial-gradient(circle 230px at var(--tmn-pointer-x) var(--tmn-pointer-y), rgba(242,197,54,.24), rgba(7,71,126,.09) 35%, transparent 72%);
    transition: opacity .35s ease;
}

.tmn-intro--motion.is-hovering .tmn-intro__cursor-glow,
.tmn-intro--motion:hover .tmn-intro__cursor-glow {
    opacity: 1;
}

.tmn-intro--motion:hover {
    transform: translateY(-7px) scale(1.004);
}

.tmn-intro--motion:hover .tmn-intro__title {
    text-shadow: 0 12px 32px rgba(3,46,82,.12);
}

.tmn-intro--motion:hover .tmn-intro__eyebrow-line {
    width: 48px;
}

.tmn-intro__eyebrow-line {
    transition: width .35s cubic-bezier(.2,.8,.2,1);
}

.tmn-button {
    will-change: transform;
}

.tmn-button__ripple {
    position: absolute !important;
    z-index: 1 !important;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(255,255,255,.62);
    transform: scale(0);
    opacity: .9;
    animation: tmn-ripple .7s ease-out forwards !important;
}

.tmn-button--primary:hover,
.tmn-button--primary:focus-visible {
    transform: translateY(-5px) scale(1.045);
}

.tmn-button--secondary:hover,
.tmn-button--secondary:focus-visible {
    transform: translateY(-4px) scale(1.035);
}

.tmn-intro--motion .tmn-feature__icon {
    animation: tmn-icon-float 4.2s ease-in-out infinite;
}

.tmn-intro--motion .tmn-feature:nth-child(2) .tmn-feature__icon {
    animation-delay: -.9s;
}

.tmn-intro--motion .tmn-feature:nth-child(3) .tmn-feature__icon {
    animation-delay: -1.8s;
}

.tmn-feature:hover .tmn-feature__icon {
    animation: tmn-icon-pop .55s cubic-bezier(.2,.9,.25,1.25) both !important;
}

@keyframes tmn-background-drift {
    0% { transform: translate3d(calc(var(--tmn-shift-x) - 20px), calc(var(--tmn-shift-y) - 10px), 0) rotate(0deg) scale(1); }
    100% { transform: translate3d(calc(var(--tmn-shift-x) + 24px), calc(var(--tmn-shift-y) + 18px), 0) rotate(7deg) scale(1.06); }
}

@keyframes tmn-background-sheen {
    0%, 18% { transform: rotate(18deg) translateX(-170%); opacity: 0; }
    35% { opacity: .34; }
    52%, 100% { transform: rotate(18deg) translateX(430%); opacity: 0; }
}

@keyframes tmn-line-flow {
    to { background-position: 220% 0; }
}

@keyframes tmn-button-gradient {
    0%, 100% { background-position: 0 50%; }
    50% { background-position: 100% 50%; }
}

@keyframes tmn-button-ring {
    0%, 55% { opacity: 0; box-shadow: 0 0 0 0 rgba(242,197,54,.34); }
    67% { opacity: 1; }
    100% { opacity: 0; box-shadow: 0 0 0 16px rgba(242,197,54,0); }
}

@keyframes tmn-card-ambient {
    to { transform: rotate(360deg); }
}

@keyframes tmn-orb-one {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(35px,26px,0) scale(1.12); }
}

@keyframes tmn-orb-two {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(28px,-30px,0) scale(1.10); }
}

@keyframes tmn-reveal {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}


@keyframes tmn-mesh-drift {
    0% { transform: perspective(620px) rotateX(58deg) translate3d(-1.5%, 12%, 0) scale(1.18); background-position: 0 0, 0 0; }
    100% { transform: perspective(620px) rotateX(58deg) translate3d(2.5%, 8%, 0) scale(1.24); background-position: 28px 18px, 28px 18px; }
}

@keyframes tmn-button-breathe {
    0%, 100% { transform: translateY(0) scale(1); box-shadow: 0 14px 30px rgba(3,46,82,.22); }
    50% { transform: translateY(-2px) scale(1.018); box-shadow: 0 20px 42px rgba(3,46,82,.31), 0 0 0 4px rgba(242,197,54,.10); }
}

@keyframes tmn-ripple {
    0% { transform: scale(0); opacity: .8; }
    100% { transform: scale(1); opacity: 0; }
}

@keyframes tmn-icon-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-3px) rotate(2deg); }
}

@keyframes tmn-icon-pop {
    0% { transform: scale(1) rotate(0); }
    55% { transform: scale(1.22) rotate(-8deg); }
    100% { transform: scale(1.08) rotate(0); }
}

@media (max-width: 1024px) {
    .tmn-intro__inner {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .tmn-intro__copy {
        max-width: 760px;
    }

    .tmn-intro__visual {
        max-width: 760px;
    }
}

@media (max-width: 767px) {
    .tmn-intro {
        border-radius: 20px;
    }

    .tmn-intro--motion:hover {
        transform: none;
    }

    .tmn-intro__inner {
        gap: 32px;
    }

    .tmn-intro__copy {
        text-align: center;
    }

    .tmn-intro__eyebrow {
        justify-content: center;
        font-size: 11px;
    }

    .tmn-intro__title {
        font-size: clamp(31px, 10vw, 43px);
    }

    .tmn-intro__description {
        font-size: 16px;
        line-height: 1.65;
    }

    .tmn-intro__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tmn-button {
        width: 100%;
    }

    .tmn-brand-card {
        padding: 24px 18px;
        border-radius: 20px;
        transform: none !important;
    }

    .tmn-brand-card__head {
        grid-template-columns: 1fr;
        gap: 20px;
        text-align: center;
    }

    .tmn-brand-card__logo-wrap {
        min-height: 120px;
    }

    .tmn-brand-card__stat span {
        max-width: none;
    }

    .tmn-feature {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
        text-align: left;
    }

    .tmn-feature:hover {
        transform: translateX(4px);
    }

    .tmn-feature__icon {
        width: 38px;
        height: 38px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-intro,
    .tmn-intro *,
    .tmn-intro::before,
    .tmn-intro::after {
        animation: none !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }

    .tmn-intro--motion.tmn-pre-reveal .tmn-intro__eyebrow,
    .tmn-intro--motion.tmn-pre-reveal .tmn-intro__title,
    .tmn-intro--motion.tmn-pre-reveal .tmn-intro__description,
    .tmn-intro--motion.tmn-pre-reveal .tmn-intro__actions,
    .tmn-intro--motion.tmn-pre-reveal .tmn-intro__visual {
        opacity: 1;
        transform: none;
    }
}

/* ========================================================================
   Servicios Náuticos · v1.2.0
   ======================================================================== */
.tmn-services {
    --tmns-navy: #07477e;
    --tmns-navy-dark: #032e52;
    --tmns-gold: #f2c536;
    --tmns-text: #536273;
    --tmns-bg: #f7f9fc;
    --tmns-card: #ffffff;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,249,252,.94)),
        var(--tmns-bg);
    box-shadow: 0 28px 80px rgba(3, 46, 82, .09);
}

.tmn-services,
.tmn-services * {
    box-sizing: border-box;
}

.tmn-services__inner {
    position: relative;
    z-index: 3;
    width: min(100%, 1240px);
    margin: 0 auto;
}

.tmn-services__wave,
.tmn-services__mesh,
.tmn-services__orb {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.tmn-services__wave {
    left: -12%;
    width: 124%;
    height: 180px;
    border: 1px solid rgba(7, 71, 126, .08);
    border-radius: 50%;
    transform: rotate(-4deg);
}

.tmn-services__wave--one {
    top: 15%;
    box-shadow:
        0 18px 0 rgba(7, 71, 126, .018),
        0 36px 0 rgba(7, 71, 126, .014),
        0 54px 0 rgba(7, 71, 126, .010);
}

.tmn-services__wave--two {
    bottom: 8%;
    border-color: rgba(242, 197, 54, .11);
    transform: rotate(5deg) scaleX(1.08);
    box-shadow:
        0 20px 0 rgba(242, 197, 54, .018),
        0 40px 0 rgba(242, 197, 54, .012);
}

.tmn-services__mesh {
    inset: 0;
    opacity: .24;
    background-image:
        linear-gradient(rgba(7,71,126,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.tmn-services__orb {
    border-radius: 999px;
    filter: blur(2px);
}

.tmn-services__orb--one {
    top: -120px;
    right: -95px;
    width: 390px;
    height: 390px;
    background: radial-gradient(circle at 35% 35%, rgba(7,71,126,.16), rgba(7,71,126,.03) 52%, transparent 72%);
}

.tmn-services__orb--two {
    left: -120px;
    bottom: -150px;
    width: 430px;
    height: 430px;
    background: radial-gradient(circle at 55% 45%, rgba(242,197,54,.15), rgba(242,197,54,.025) 54%, transparent 74%);
}

.tmn-services--background-motion .tmn-services__wave--one {
    animation: tmns-wave-drift-one 12s ease-in-out infinite alternate;
}

.tmn-services--background-motion .tmn-services__wave--two {
    animation: tmns-wave-drift-two 15s ease-in-out infinite alternate;
}

.tmn-services--background-motion .tmn-services__mesh {
    animation: tmns-mesh-shift 18s linear infinite;
}

.tmn-services--background-motion .tmn-services__orb--one {
    animation: tmns-orb-float-one 11s ease-in-out infinite alternate;
}

.tmn-services--background-motion .tmn-services__orb--two {
    animation: tmns-orb-float-two 13s ease-in-out infinite alternate;
}

.tmn-services__header {
    width: min(100%, 850px);
    margin: 0 auto 46px;
    text-align: center;
}

.tmn-services__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--tmns-navy);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.tmn-services__eyebrow-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: var(--tmns-navy-dark);
    border: 1px solid rgba(7,71,126,.15);
    border-radius: 50%;
    background: rgba(255,255,255,.82);
    box-shadow: 0 8px 20px rgba(3,46,82,.08);
}

.tmn-services__eyebrow-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tmn-services--motion .tmn-services__eyebrow-icon {
    animation: tmns-anchor-bob 3.8s ease-in-out infinite;
}

.tmn-services__title {
    margin: 0;
    color: var(--tmns-navy-dark);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: clamp(35px, 4vw, 56px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.tmn-services__description {
    width: min(100%, 760px);
    margin: 20px auto 0;
    color: var(--tmns-text);
    font-family: Roboto, Arial, sans-serif;
    font-size: clamp(16px, 1.15vw, 18px);
    line-height: 1.75;
}

.tmn-services__description p {
    margin: 0;
}

.tmn-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    perspective: 1200px;
}

.tmn-service-card {
    --tmns-card-rx: 0deg;
    --tmns-card-ry: 0deg;
    --tmns-card-x: 50%;
    --tmns-card-y: 50%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    min-height: 330px;
    flex-direction: column;
    padding: 30px 28px 27px;
    color: inherit !important;
    border: 1px solid rgba(7, 71, 126, .105);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(252,253,255,.94)),
        var(--tmns-card);
    box-shadow: 0 16px 42px rgba(3, 46, 82, .075);
    text-decoration: none !important;
    transform: translateZ(0) rotateX(var(--tmns-card-rx)) rotateY(var(--tmns-card-ry));
    transform-style: preserve-3d;
    transition:
        transform .38s cubic-bezier(.2,.8,.2,1),
        border-color .34s ease,
        box-shadow .38s ease,
        background-color .34s ease;
    will-change: transform;
}

.tmn-service-card::before,
.tmn-service-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.tmn-service-card::before {
    inset: 0;
    z-index: -2;
    opacity: 0;
    background: linear-gradient(135deg, rgba(7,71,126,.035), rgba(242,197,54,.065));
    transition: opacity .35s ease;
}

.tmn-service-card::after {
    top: -65%;
    left: -65%;
    z-index: 0;
    width: 45%;
    height: 230%;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.82), transparent);
    transform: rotate(21deg) translateX(-180%);
}

.tmn-service-card:hover,
.tmn-service-card:focus-visible {
    border-color: rgba(7, 71, 126, .25);
    box-shadow: 0 30px 68px rgba(3, 46, 82, .15), 0 0 0 1px rgba(242,197,54,.12);
    transform: translateY(-10px) scale(1.012) rotateX(var(--tmns-card-rx)) rotateY(var(--tmns-card-ry));
    outline: none;
}

.tmn-service-card:hover::before,
.tmn-service-card:focus-visible::before {
    opacity: 1;
}

.tmn-service-card:hover::after,
.tmn-service-card:focus-visible::after {
    opacity: .72;
    animation: tmns-card-sheen .85s ease forwards;
}

.tmn-service-card__spotlight {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
    background: radial-gradient(circle 230px at var(--tmns-card-x) var(--tmns-card-y), rgba(7,71,126,.12), transparent 68%);
    transition: opacity .25s ease;
}

.tmn-service-card:hover .tmn-service-card__spotlight,
.tmn-service-card:focus-visible .tmn-service-card__spotlight {
    opacity: 1;
}

.tmn-service-card__topline {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--tmns-navy-dark), var(--tmns-navy), var(--tmns-gold), var(--tmns-navy));
    background-size: 250% 100%;
    transform: scaleX(.3);
    transform-origin: left center;
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
}

.tmn-service-card:hover .tmn-service-card__topline,
.tmn-service-card:focus-visible .tmn-service-card__topline {
    transform: scaleX(1);
    animation: tmns-line-flow 2.2s linear infinite;
}

.tmn-service-card__head {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.tmn-service-card__icon {
    position: relative;
    display: inline-grid;
    width: 66px;
    height: 66px;
    flex: 0 0 66px;
    place-items: center;
    color: var(--tmns-navy);
    border: 1px solid rgba(7,71,126,.12);
    border-radius: 19px;
    background: linear-gradient(145deg, rgba(7,71,126,.10), rgba(255,255,255,.95));
    box-shadow: 0 12px 28px rgba(3,46,82,.10);
    transform: translateZ(26px);
    transition: color .3s ease, background .3s ease, transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
}

.tmn-service-card__icon::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px dashed rgba(7,71,126,.13);
    border-radius: 14px;
    transition: transform .55s ease, border-color .3s ease;
}

.tmn-service-card__icon i,
.tmn-service-card__icon svg {
    position: relative;
    z-index: 2;
    width: 27px;
    height: 27px;
    font-size: 27px;
    fill: currentColor;
}

.tmn-service-card:hover .tmn-service-card__icon,
.tmn-service-card:focus-visible .tmn-service-card__icon {
    color: #fff;
    background: linear-gradient(145deg, var(--tmns-navy), var(--tmns-navy-dark));
    box-shadow: 0 18px 34px rgba(3,46,82,.22);
    transform: translateZ(34px) translateY(-4px) rotate(-3deg) scale(1.06);
}

.tmn-service-card:hover .tmn-service-card__icon::after,
.tmn-service-card:focus-visible .tmn-service-card__icon::after {
    border-color: rgba(255,255,255,.35);
    transform: rotate(90deg);
}

.tmn-service-card__number {
    color: rgba(3, 46, 82, .12);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.07em;
    transform: translateZ(18px);
    transition: color .3s ease, transform .35s ease;
}

.tmn-service-card:hover .tmn-service-card__number,
.tmn-service-card:focus-visible .tmn-service-card__number {
    color: rgba(242, 197, 54, .48);
    transform: translateZ(24px) translateX(-3px);
}

.tmn-service-card__badge {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    margin-top: 23px;
    padding: 6px 10px;
    color: var(--tmns-navy);
    border: 1px solid rgba(7,71,126,.10);
    border-radius: 999px;
    background: rgba(7,71,126,.055);
    font-family: Roboto, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: translateZ(20px);
}

.tmn-service-card__title {
    position: relative;
    z-index: 2;
    margin: 17px 0 0;
    color: var(--tmns-navy-dark);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -.02em;
    transform: translateZ(23px);
}

.tmn-service-card__text {
    position: relative;
    z-index: 2;
    margin: 13px 0 0;
    color: var(--tmns-text);
    font-family: Roboto, Arial, sans-serif;
    font-size: 15.5px;
    line-height: 1.68;
    transform: translateZ(18px);
}

.tmn-service-card__action {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    padding-top: 23px;
    color: var(--tmns-navy);
    font-family: Roboto, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    transform: translateZ(24px);
}

.tmn-service-card__action::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--tmns-gold);
    transition: width .35s ease;
}

.tmn-service-card__action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s ease;
}

.tmn-service-card:hover .tmn-service-card__action::before,
.tmn-service-card:focus-visible .tmn-service-card__action::before {
    width: 76px;
}

.tmn-service-card:hover .tmn-service-card__action svg,
.tmn-service-card:focus-visible .tmn-service-card__action svg {
    transform: translateX(6px);
}

.tmn-services__cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    margin-top: 34px;
    padding: 31px 34px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 22px;
    background:
        linear-gradient(120deg, rgba(3,46,82,.98), rgba(7,71,126,.96) 55%, rgba(9,91,151,.94));
    box-shadow: 0 24px 55px rgba(3,46,82,.20);
}

.tmn-services__cta::before,
.tmn-services__cta::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.tmn-services__cta::before {
    inset: 0;
    opacity: .25;
    background-image:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.4), transparent 20%),
        linear-gradient(105deg, transparent 20%, rgba(255,255,255,.10) 45%, transparent 70%);
}

.tmn-services__cta::after {
    top: -80%;
    left: -20%;
    width: 32%;
    height: 260%;
    opacity: .28;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
    transform: rotate(19deg) translateX(-220%);
}

.tmn-services--motion .tmn-services__cta::after {
    animation: tmns-cta-sheen 6.5s ease-in-out infinite;
}

.tmn-services__cta-copy {
    position: relative;
    z-index: 2;
}

.tmn-services__cta-copy h3 {
    margin: 0;
    color: #fff;
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 600;
    line-height: 1.25;
}

.tmn-services__cta-copy p {
    max-width: 760px;
    margin: 8px 0 0;
    color: rgba(255,255,255,.78);
    font-family: Roboto, Arial, sans-serif;
    font-size: 15.5px;
    line-height: 1.6;
}

.tmn-services__cta-orb {
    position: absolute;
    right: 10%;
    bottom: -85px;
    z-index: 0;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242,197,54,.27), transparent 68%);
    pointer-events: none;
}

.tmn-services__cta-button {
    z-index: 2;
    min-width: 215px;
    color: var(--tmns-navy-dark) !important;
    border: 1px solid rgba(255,255,255,.75);
    background: linear-gradient(120deg, #ffffff, #fff9d9, #ffffff);
    background-size: 220% 100%;
    box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

.tmn-services__cta-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .28s ease;
}

.tmn-services__cta-button:hover,
.tmn-services__cta-button:focus-visible {
    color: var(--tmns-navy-dark) !important;
    box-shadow: 0 20px 44px rgba(0,0,0,.24), 0 0 0 5px rgba(242,197,54,.18);
}

.tmn-services__cta-button:hover svg,
.tmn-services__cta-button:focus-visible svg {
    transform: translateX(6px);
}

.tmn-services--cta-attention .tmn-services__cta-button {
    animation: tmns-cta-button-breathe 2.8s ease-in-out infinite, tmns-cta-button-gradient 4s ease infinite;
}

.tmn-services-pre-reveal .tmn-services__header,
.tmn-services-pre-reveal .tmn-services__cta,
.tmn-services-pre-reveal .tmn-service-card {
    opacity: 0;
}

.tmn-services-pre-reveal .tmn-services__header {
    transform: translateY(24px);
}

.tmn-services-pre-reveal .tmn-service-card {
    transform: translateY(34px) scale(.965);
}

.tmn-services-pre-reveal .tmn-services__cta {
    transform: translateY(28px);
}

.tmn-services-pre-reveal.is-visible .tmn-services__header {
    opacity: 1;
    transform: none;
    transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1);
}

.tmn-services-pre-reveal.is-visible .tmn-service-card {
    opacity: 1;
    transform: translateZ(0) rotateX(var(--tmns-card-rx)) rotateY(var(--tmns-card-ry));
    transition:
        opacity .62s ease calc(var(--tmns-order) * 85ms + 150ms),
        transform .68s cubic-bezier(.2,.8,.2,1) calc(var(--tmns-order) * 85ms + 150ms),
        border-color .34s ease,
        box-shadow .38s ease,
        background-color .34s ease;
}

.tmn-services-pre-reveal.is-visible .tmn-service-card:hover,
.tmn-services-pre-reveal.is-visible .tmn-service-card:focus-visible {
    transform: translateY(-10px) scale(1.012) rotateX(var(--tmns-card-rx)) rotateY(var(--tmns-card-ry));
}

.tmn-services-pre-reveal.is-visible .tmn-services__cta {
    opacity: 1;
    transform: none;
    transition: opacity .72s ease .62s, transform .72s cubic-bezier(.2,.8,.2,1) .62s;
}

.tmn-services-motion--strong .tmn-service-card:hover,
.tmn-services-motion--strong .tmn-service-card:focus-visible {
    transform: translateY(-13px) scale(1.02) rotateX(var(--tmns-card-rx)) rotateY(var(--tmns-card-ry));
}

.tmn-services-motion--subtle .tmn-service-card:hover,
.tmn-services-motion--subtle .tmn-service-card:focus-visible {
    transform: translateY(-6px) scale(1.006) rotateX(var(--tmns-card-rx)) rotateY(var(--tmns-card-ry));
}

@keyframes tmns-wave-drift-one {
    from { transform: translate3d(-1.5%, -7px, 0) rotate(-4deg); }
    to   { transform: translate3d(1.8%, 9px, 0) rotate(-2.5deg); }
}

@keyframes tmns-wave-drift-two {
    from { transform: translate3d(1%, 7px, 0) rotate(5deg) scaleX(1.08); }
    to   { transform: translate3d(-2%, -8px, 0) rotate(3deg) scaleX(1.12); }
}

@keyframes tmns-mesh-shift {
    from { background-position: 0 0, 0 0; }
    to   { background-position: 42px 42px, 42px 42px; }
}

@keyframes tmns-orb-float-one {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to   { transform: translate3d(-26px, 24px, 0) scale(1.08); }
}

@keyframes tmns-orb-float-two {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to   { transform: translate3d(32px, -20px, 0) scale(1.1); }
}

@keyframes tmns-anchor-bob {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-4px) rotate(-4deg); }
}

@keyframes tmns-card-sheen {
    from { transform: rotate(21deg) translateX(-180%); }
    to   { transform: rotate(21deg) translateX(620%); }
}

@keyframes tmns-line-flow {
    from { background-position: 0 0; }
    to   { background-position: 250% 0; }
}

@keyframes tmns-cta-sheen {
    0%, 28% { transform: rotate(19deg) translateX(-220%); }
    62%, 100% { transform: rotate(19deg) translateX(520%); }
}

@keyframes tmns-cta-button-breathe {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-2px) scale(1.018); }
}

@keyframes tmns-cta-button-gradient {
    0% { background-position: 0 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

@media (max-width: 1024px) {
    .tmn-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tmn-services__header {
        margin-bottom: 38px;
    }

    .tmn-services__cta {
        grid-template-columns: 1fr;
        gap: 22px;
        text-align: center;
    }

    .tmn-services__cta-button {
        justify-self: center;
    }
}

@media (max-width: 767px) {
    .tmn-services__grid {
        grid-template-columns: 1fr;
    }

    .tmn-services__title {
        font-size: clamp(30px, 9vw, 40px);
    }

    .tmn-services__description {
        font-size: 16px;
        line-height: 1.65;
    }

    .tmn-service-card {
        min-height: 0;
        padding: 26px 22px 24px;
        border-radius: 18px;
    }

    .tmn-service-card__icon {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        border-radius: 17px;
    }

    .tmn-service-card__number {
        font-size: 38px;
    }

    .tmn-service-card__title {
        font-size: 21px;
    }

    .tmn-services__cta {
        padding: 28px 22px;
        border-radius: 19px;
    }

    .tmn-services__cta-button {
        width: 100%;
        min-width: 0;
    }
}

@media (hover: none), (pointer: coarse) {
    .tmn-service-card:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-services *,
    .tmn-services *::before,
    .tmn-services *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }

    .tmn-services-pre-reveal .tmn-services__header,
    .tmn-services-pre-reveal .tmn-services__cta,
    .tmn-services-pre-reveal .tmn-service-card {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ========================================================================
   Mejora automática de la sección de Servicios existente
   ======================================================================== */
.tmn-legacy-services-enhanced {
    --tmnl-blue: #07477e;
    --tmnl-dark: #032b4e;
    --tmnl-gold: #d7ad64;
    --tmnl-ink: #172638;
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(31, 148, 208, .15), transparent 29%),
        radial-gradient(circle at 87% 72%, rgba(215, 173, 100, .15), transparent 27%),
        linear-gradient(145deg, #f8fbfe 0%, #f3f7fb 48%, #fbfaf7 100%) !important;
}

.tmn-legacy-services-enhanced::before,
.tmn-legacy-services-enhanced::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 999px;
    filter: blur(2px);
    opacity: .72;
}

.tmn-legacy-services-enhanced::before {
    width: 520px;
    height: 520px;
    left: -250px;
    top: 120px;
    background: radial-gradient(circle, rgba(7, 71, 126, .14), rgba(7, 71, 126, 0) 70%);
    animation: tmnl-orbit-one 14s ease-in-out infinite alternate;
}

.tmn-legacy-services-enhanced::after {
    width: 430px;
    height: 430px;
    right: -170px;
    bottom: -120px;
    background: radial-gradient(circle, rgba(215, 173, 100, .2), rgba(215, 173, 100, 0) 70%);
    animation: tmnl-orbit-two 17s ease-in-out infinite alternate;
}

@keyframes tmnl-orbit-one {
    0% { transform: translate3d(0, -15px, 0) scale(.94); }
    100% { transform: translate3d(90px, 60px, 0) scale(1.12); }
}

@keyframes tmnl-orbit-two {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(-110px, -48px, 0) scale(1.15); }
}

.tmn-legacy-services-enhanced .elementor-heading-title {
    position: relative;
    display: inline-block;
    letter-spacing: .035em;
    text-shadow: 0 14px 34px rgba(7, 71, 126, .12);
}

.tmn-legacy-services-enhanced .elementor-widget-heading {
    text-align: center;
}

.tmn-legacy-services-enhanced .elementor-heading-title::after {
    content: "";
    display: block;
    width: 88px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnl-blue), var(--tmnl-gold), var(--tmnl-blue));
    background-size: 220% 100%;
    box-shadow: 0 7px 20px rgba(215, 173, 100, .26);
    animation: tmnl-heading-line 4s linear infinite;
}

@keyframes tmnl-heading-line {
    to { background-position: 220% 0; }
}

.tmn-legacy-services-intro {
    max-width: 760px;
    margin: 0 auto 38px;
    padding: 0 18px;
    text-align: center;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .65s ease .08s, transform .65s cubic-bezier(.2,.75,.25,1) .08s;
}

.tmn-legacy-services-intro > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--tmnl-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.tmn-legacy-services-intro > span::before,
.tmn-legacy-services-intro > span::after {
    content: "";
    width: 30px;
    height: 1px;
    background: currentColor;
    opacity: .65;
}

.tmn-legacy-services-intro p {
    margin: 0;
    color: #5a6878;
    font-size: 17px;
    line-height: 1.75;
}

.tmn-legacy-service-card {
    --tmn-legacy-rx: 0deg;
    --tmn-legacy-ry: 0deg;
    --tmn-legacy-x: 50%;
    --tmn-legacy-y: 50%;
    position: relative !important;
    overflow: hidden !important;
    min-height: 385px;
    border: 1px solid rgba(7, 71, 126, .1) !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 18px 50px rgba(13, 48, 78, .09) !important;
    backdrop-filter: blur(12px);
    transform: perspective(1000px) rotateX(var(--tmn-legacy-rx)) rotateY(var(--tmn-legacy-ry)) translateY(24px);
    transform-style: preserve-3d;
    opacity: 0;
    transition:
        opacity .62s ease calc(var(--tmn-legacy-index) * 80ms),
        transform .62s cubic-bezier(.18,.78,.24,1) calc(var(--tmn-legacy-index) * 80ms),
        box-shadow .35s ease,
        border-color .35s ease;
    will-change: transform;
}

.tmn-legacy-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at var(--tmn-legacy-x) var(--tmn-legacy-y), rgba(39, 155, 214, .20), transparent 36%),
        linear-gradient(125deg, transparent 15%, rgba(255,255,255,.78) 38%, transparent 58%);
    background-size: auto, 230% 100%;
    background-position: center, 170% 0;
    opacity: .28;
    transition: opacity .35s ease, background-position .65s ease;
}

.tmn-legacy-service-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    z-index: 2;
    background: linear-gradient(90deg, var(--tmnl-blue), #2a9dd1, var(--tmnl-gold), var(--tmnl-blue));
    background-size: 260% 100%;
    transform: scaleX(.34);
    transform-origin: left center;
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
    animation: tmnl-card-line 5s linear infinite;
}

@keyframes tmnl-card-line {
    to { background-position: 260% 0; }
}

.tmn-legacy-service-card:hover {
    border-color: rgba(7, 71, 126, .2) !important;
    box-shadow: 0 30px 72px rgba(7, 48, 85, .19) !important;
}

.tmn-legacy-service-card:hover::before {
    opacity: .95;
    background-position: center, -45% 0;
}

.tmn-legacy-service-card:hover::after {
    transform: scaleX(1);
}

.tmn-legacy-service-card > .elementor-widget-wrap,
.tmn-legacy-service-card > .elementor-element-populated,
.tmn-legacy-service-card .elementor-widget-image-box,
.tmn-legacy-service-card .elementor-widget-container,
.tmn-legacy-service-card .elementor-image-box-wrapper {
    position: relative;
    z-index: 1;
}

.tmn-legacy-service-card .elementor-widget-wrap,
.tmn-legacy-service-card .elementor-element-populated {
    width: 100%;
}

.tmn-legacy-service-number {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 20px;
    color: rgba(7, 71, 126, .11);
    font-size: 42px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.06em;
    transition: color .35s ease, transform .35s ease;
}

.tmn-legacy-service-card:hover .tmn-legacy-service-number {
    color: rgba(215, 173, 100, .35);
    transform: translateY(-4px) rotate(-4deg);
}

.tmn-legacy-service-card .elementor-image-box-img img {
    filter: drop-shadow(0 12px 18px rgba(7, 71, 126, .14));
    transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease;
    animation: tmnl-icon-float 5.2s ease-in-out infinite;
}

.tmn-legacy-service-card:nth-child(even) .elementor-image-box-img img {
    animation-delay: -2.3s;
}

@keyframes tmnl-icon-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-7px) rotate(1.5deg); }
}

.tmn-legacy-service-card:hover .elementor-image-box-img img {
    transform: translateY(-8px) scale(1.08) rotate(-2deg);
    filter: drop-shadow(0 20px 25px rgba(7, 71, 126, .24));
}

.tmn-legacy-service-badge {
    display: inline-flex;
    margin: 3px 0 10px;
    padding: 6px 10px;
    border: 1px solid rgba(215, 173, 100, .34);
    border-radius: 999px;
    background: rgba(215, 173, 100, .09);
    color: #a57832;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.tmn-legacy-service-card .elementor-image-box-title {
    margin-bottom: 10px !important;
    color: var(--tmnl-ink) !important;
    transition: color .3s ease, transform .3s ease;
}

.tmn-legacy-service-card:hover .elementor-image-box-title {
    color: var(--tmnl-blue) !important;
    transform: translateY(-2px);
}

.tmn-legacy-service-card .elementor-image-box-description {
    display: block !important;
    min-height: 78px;
    margin: 0 0 18px !important;
    color: #657181 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.tmn-legacy-service-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 10px 16px;
    overflow: hidden;
    border: 1px solid rgba(7, 71, 126, .16);
    border-radius: 999px;
    background: #f5f9fc;
    color: var(--tmnl-blue) !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    transition: color .35s ease, background .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}

.tmn-legacy-service-link::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(110deg, var(--tmnl-blue), #128ac4);
    transform: translateX(-104%);
    transition: transform .42s cubic-bezier(.2,.8,.2,1);
}

.tmn-legacy-service-link i {
    font-style: normal;
    font-size: 17px;
    transition: transform .32s ease;
}

.tmn-legacy-service-link:hover {
    color: #fff !important;
    border-color: transparent;
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(7, 71, 126, .2);
}

.tmn-legacy-service-link:hover::before {
    transform: translateX(0);
}

.tmn-legacy-service-link:hover i {
    transform: translateX(5px);
}

.tmn-legacy-services-cta {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 34px;
    width: min(1170px, calc(100% - 30px));
    margin: 48px auto 0;
    padding: 30px 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 82% 20%, rgba(42,157,209,.3), transparent 29%),
        linear-gradient(125deg, var(--tmnl-dark), var(--tmnl-blue));
    box-shadow: 0 24px 55px rgba(3, 43, 78, .2);
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s ease .52s, transform .7s cubic-bezier(.2,.8,.2,1) .52s;
}

.tmn-legacy-services-cta::before {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    right: -65px;
    top: -110px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(255,255,255,.035), 0 0 0 68px rgba(255,255,255,.025);
    animation: tmnl-cta-ring 8s ease-in-out infinite alternate;
}

@keyframes tmnl-cta-ring {
    to { transform: translate(-18px, 22px) scale(1.12); }
}

.tmn-legacy-services-cta > div {
    position: relative;
    z-index: 1;
}

.tmn-legacy-services-cta > div span {
    display: block;
    margin-bottom: 7px;
    color: var(--tmnl-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tmn-legacy-services-cta > div strong {
    display: block;
    max-width: 720px;
    color: #fff;
    font-size: 20px;
    line-height: 1.45;
}

.tmn-legacy-services-cta__button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-width: 226px;
    min-height: 54px;
    padding: 14px 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 999px;
    background: linear-gradient(105deg, #d1a456, #f0d390, #d1a456);
    background-size: 220% 100%;
    color: #183044 !important;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.18), 0 0 0 0 rgba(215,173,100,.42);
    animation: tmnl-cta-button 3.2s ease-in-out infinite, tmnl-cta-gradient 4s linear infinite;
    transition: transform .3s ease, box-shadow .3s ease;
}

@keyframes tmnl-cta-button {
    0%, 70%, 100% { box-shadow: 0 12px 28px rgba(0,0,0,.18), 0 0 0 0 rgba(215,173,100,.38); }
    82% { box-shadow: 0 16px 34px rgba(0,0,0,.24), 0 0 0 12px rgba(215,173,100,0); }
}

@keyframes tmnl-cta-gradient {
    to { background-position: 220% 0; }
}

.tmn-legacy-services-cta__button::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -38%;
    width: 28%;
    height: 220%;
    background: rgba(255,255,255,.65);
    transform: rotate(19deg) translateX(-180%);
    transition: transform .65s ease;
}

.tmn-legacy-services-cta__button:hover {
    transform: translateY(-4px) scale(1.025);
    box-shadow: 0 20px 36px rgba(0,0,0,.25), 0 0 0 8px rgba(215,173,100,.1);
}

.tmn-legacy-services-cta__button:hover::after {
    transform: rotate(19deg) translateX(650%);
}

.tmn-legacy-services-cta__button i {
    font-style: normal;
    font-size: 18px;
    transition: transform .3s ease;
}

.tmn-legacy-services-cta__button:hover i {
    transform: translateX(5px);
}

.tmn-legacy-ripple {
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.55);
    pointer-events: none;
    transform: scale(0);
    animation: tmnl-ripple .72s ease-out forwards;
}

@keyframes tmnl-ripple {
    to { transform: scale(1); opacity: 0; }
}

.tmn-legacy-services-enhanced.is-tmn-legacy-visible .tmn-legacy-services-intro,
.tmn-legacy-services-enhanced.is-tmn-legacy-visible .tmn-legacy-services-cta {
    opacity: 1;
    transform: translateY(0);
}

.tmn-legacy-services-enhanced.is-tmn-legacy-visible .tmn-legacy-service-card {
    opacity: 1;
    transform: perspective(1000px) rotateX(var(--tmn-legacy-rx)) rotateY(var(--tmn-legacy-ry)) translateY(0);
}

@media (max-width: 1024px) {
    .tmn-legacy-service-card {
        min-height: 365px;
    }

    .tmn-legacy-services-cta {
        grid-template-columns: 1fr;
        gap: 22px;
        text-align: center;
    }

    .tmn-legacy-services-cta > div strong {
        margin: 0 auto;
    }

    .tmn-legacy-services-cta__button {
        justify-self: center;
    }
}

@media (max-width: 767px) {
    .tmn-legacy-services-intro {
        margin-bottom: 24px;
    }

    .tmn-legacy-services-intro p {
        font-size: 15px;
        line-height: 1.65;
    }

    .tmn-legacy-service-card {
        min-height: 0;
        transform: translateY(18px);
    }

    .tmn-legacy-services-enhanced.is-tmn-legacy-visible .tmn-legacy-service-card {
        transform: translateY(0);
    }

    .tmn-legacy-service-card .elementor-image-box-description {
        min-height: 0;
    }

    .tmn-legacy-services-cta {
        width: calc(100% - 30px);
        padding: 27px 22px;
        border-radius: 18px;
    }

    .tmn-legacy-services-cta > div strong {
        font-size: 18px;
    }

    .tmn-legacy-services-cta__button {
        width: 100%;
        min-width: 0;
    }
}

@media (hover: none), (pointer: coarse) {
    .tmn-legacy-service-card:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-legacy-services-enhanced *,
    .tmn-legacy-services-enhanced *::before,
    .tmn-legacy-services-enhanced *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    .tmn-legacy-services-intro,
    .tmn-legacy-service-card,
    .tmn-legacy-services-cta {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ========================================================================
   v1.3.0 · Corrección de botones y mejora automática de ARTÍCULOS EN OFERTA
   ======================================================================== */

/* El texto del segundo botón quedaba por debajo del relleno animado en
   determinadas combinaciones de tema/caché. Se fuerza una capa propia. */
.tmn-button > .tmn-button__label,
.tmn-button > span,
.tmn-button > svg {
    position: relative !important;
    z-index: 4 !important;
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.tmn-button--secondary {
    color: var(--tmn-navy-dark, #032e52) !important;
    border-color: rgba(7, 71, 126, .24) !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 12px 28px rgba(3,46,82,.11);
}

.tmn-button--secondary::before {
    z-index: 1 !important;
}

.tmn-button--secondary:hover,
.tmn-button--secondary:focus-visible {
    color: #fff !important;
    background: rgba(255,255,255,.96) !important;
    border-color: transparent !important;
}

.tmn-button--secondary:hover .tmn-button__label,
.tmn-button--secondary:focus-visible .tmn-button__label {
    color: #fff !important;
}

/* ------------------------------------------------------------------------
   Artículos en oferta
   ------------------------------------------------------------------------ */
.tmn-offers-enhanced {
    --tmno-navy: #07477e;
    --tmno-navy-dark: #032e52;
    --tmno-blue: #0b6fae;
    --tmno-gold: #f2c536;
    --tmno-gold-soft: #fff5ca;
    --tmno-text: #506276;
    --tmno-surface: #f7f9fc;
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    margin: 0 !important;
    padding: clamp(72px, 7vw, 108px) 24px clamp(82px, 8vw, 120px) !important;
    background:
        radial-gradient(circle at 13% 20%, rgba(11,111,174,.11), transparent 25%),
        radial-gradient(circle at 87% 78%, rgba(242,197,54,.14), transparent 24%),
        linear-gradient(145deg, #ffffff 0%, #f7fafd 47%, #f3f7fb 100%) !important;
}

.tmn-offers-enhanced,
.tmn-offers-enhanced * {
    box-sizing: border-box;
}

.tmn-offers-enhanced::before,
.tmn-offers-enhanced::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.tmn-offers-enhanced::before {
    inset: -40% -20%;
    opacity: .55;
    background:
        linear-gradient(rgba(7,71,126,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.032) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
    -webkit-mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
    transform: rotate(-5deg) translate3d(0,0,0);
    animation: tmno-grid-drift 24s linear infinite;
}

.tmn-offers-enhanced::after {
    top: -32%;
    left: -20%;
    width: 34%;
    height: 180%;
    opacity: .32;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
    filter: blur(4px);
    transform: rotate(18deg) translateX(-210%);
    animation: tmno-section-sheen 9s ease-in-out infinite;
}

.tmn-offers-enhanced > .elementor-container,
.tmn-offers-enhanced > .e-con-inner,
.tmn-offers-enhanced > .elementor-widget-wrap,
.tmn-offers-enhanced .elementor-container {
    position: relative;
    z-index: 2;
}

.tmn-offers-enhanced > .elementor-container,
.tmn-offers-enhanced > .e-con-inner {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
}

.tmn-offers-enhanced .elementor-column,
.tmn-offers-enhanced .elementor-widget-wrap,
.tmn-offers-enhanced .elementor-element-populated {
    min-width: 0;
}

.tmn-offers-enhanced .elementor-widget-heading {
    margin-bottom: 0 !important;
}

.tmn-offers-enhanced .elementor-heading-title {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto !important;
    padding-bottom: 19px;
    color: var(--tmno-navy-dark) !important;
    font-family: Armata, Roboto, Arial, sans-serif !important;
    font-size: clamp(35px, 4.2vw, 58px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-align: center;
}

.tmn-offers-enhanced .elementor-heading-title::before,
.tmn-offers-enhanced .elementor-heading-title::after {
    content: "";
    position: absolute;
    left: 50%;
    border-radius: 999px;
    transform: translateX(-50%);
}

.tmn-offers-enhanced .elementor-heading-title::before {
    bottom: 0;
    width: 94px;
    height: 4px;
    background: linear-gradient(90deg, var(--tmno-navy), var(--tmno-gold), var(--tmno-navy));
    background-size: 220% 100%;
    animation: tmno-line-flow 3.4s linear infinite;
}

.tmn-offers-enhanced .elementor-heading-title::after {
    bottom: -4px;
    width: 12px;
    height: 12px;
    border: 3px solid #fff;
    background: var(--tmno-gold);
    box-shadow: 0 5px 15px rgba(242,197,54,.38);
}

.tmn-offers-intro {
    width: min(100%, 780px);
    margin: 22px auto 0;
    text-align: center;
}

.tmn-offers-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--tmno-navy);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.tmn-offers-intro__eyebrow::before,
.tmn-offers-intro__eyebrow::after {
    content: "";
    width: 22px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--tmno-gold));
}

.tmn-offers-intro__eyebrow::after {
    background: linear-gradient(90deg, var(--tmno-gold), transparent);
}

.tmn-offers-intro p {
    margin: 0;
    color: var(--tmno-text);
    font-family: Roboto, Arial, sans-serif;
    font-size: clamp(16px, 1.15vw, 18px);
    line-height: 1.72;
}

.tmn-offers-slider {
    position: relative;
    z-index: 3;
    margin-top: clamp(38px, 4vw, 54px) !important;
}

/* Contenedores de carrusel habituales de WPResidence, Slick, Owl y Bootstrap. */
.tmn-offers-enhanced .slick-list,
.tmn-offers-enhanced .owl-stage-outer,
.tmn-offers-enhanced .carousel-inner,
.tmn-offers-enhanced [class*="items_slider"] {
    padding-top: 14px;
    padding-bottom: 30px;
}

.tmn-offers-enhanced .slick-track,
.tmn-offers-enhanced .owl-stage,
.tmn-offers-enhanced .row {
    align-items: stretch;
}

.tmn-offers-enhanced .slick-slide,
.tmn-offers-enhanced .owl-item,
.tmn-offers-enhanced .carousel-item,
.tmn-offers-enhanced [class*="property_unit"] {
    min-height: 100%;
}

.tmn-offer-card {
    --tmno-card-rx: 0deg;
    --tmno-card-ry: 0deg;
    --tmno-card-x: 50%;
    --tmno-card-y: 50%;
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    height: 100%;
    min-height: 430px;
    border: 1px solid rgba(7,71,126,.10) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 18px 46px rgba(3,46,82,.09) !important;
    transform: perspective(1100px) rotateX(var(--tmno-card-rx)) rotateY(var(--tmno-card-ry)) translateY(0);
    transform-style: preserve-3d;
    transition:
        transform .42s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        border-color .35s ease;
    will-change: transform;
}

.tmn-offer-card::before,
.tmn-offer-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.tmn-offer-card::before {
    inset: 0;
    z-index: 5;
    opacity: 0;
    background: radial-gradient(circle 250px at var(--tmno-card-x) var(--tmno-card-y), rgba(11,111,174,.15), transparent 68%);
    transition: opacity .28s ease;
}

.tmn-offer-card::after {
    top: -70%;
    left: -85%;
    z-index: 8;
    width: 44%;
    height: 250%;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.82), transparent);
    transform: rotate(19deg) translateX(-180%);
}

.tmn-offer-card:hover,
.tmn-offer-card:focus-within {
    border-color: rgba(7,71,126,.24) !important;
    box-shadow: 0 32px 74px rgba(3,46,82,.17), 0 0 0 1px rgba(242,197,54,.11) !important;
    transform: perspective(1100px) rotateX(var(--tmno-card-rx)) rotateY(var(--tmno-card-ry)) translateY(-10px) scale(1.012);
}

.tmn-offer-card:hover::before,
.tmn-offer-card:focus-within::before {
    opacity: 1;
}

.tmn-offer-card:hover::after,
.tmn-offer-card:focus-within::after {
    opacity: .72;
    animation: tmno-card-sheen .9s ease forwards;
}

.tmn-offer-card__media,
.tmn-offer-card .listing-unit-img-wrapper,
.tmn-offer-card .property_listing_image,
.tmn-offer-card .property_listing_image_wrapper,
.tmn-offer-card [class*="listing-unit-img"],
.tmn-offer-card > a:first-child {
    position: relative;
    z-index: 2;
    display: block;
    overflow: hidden !important;
    width: 100%;
    min-height: 245px;
    border-radius: 22px 22px 0 0 !important;
    background: linear-gradient(145deg, #dfe9f1, #eef4f8);
}

.tmn-offer-card__media::after,
.tmn-offer-card .listing-unit-img-wrapper::after,
.tmn-offer-card .property_listing_image::after,
.tmn-offer-card .property_listing_image_wrapper::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    height: 45%;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(3,46,82,.30));
}

.tmn-offer-card img {
    width: 100% !important;
    height: 245px !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.002);
    transition: transform .72s cubic-bezier(.2,.8,.2,1), filter .45s ease;
}

.tmn-offer-card:hover img,
.tmn-offer-card:focus-within img {
    filter: saturate(1.08) contrast(1.025);
    transform: scale(1.075);
}

.tmn-offer-card__badge {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    z-index: 12 !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    align-items: center;
    gap: 7px;
    padding: 8px 12px !important;
    color: var(--tmno-navy-dark) !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ffe46f, var(--tmno-gold)) !important;
    box-shadow: 0 10px 24px rgba(3,46,82,.19) !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    transform: translateZ(30px);
}

.tmn-offer-card__badge::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--tmno-navy);
    box-shadow: 0 0 0 4px rgba(7,71,126,.12);
    animation: tmno-badge-pulse 2.2s ease-in-out infinite;
}

.tmn-offer-card__content {
    position: relative;
    z-index: 7;
    display: flex;
    min-height: 180px;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 22px 22px !important;
    background: rgba(255,255,255,.96);
    transform: translateZ(16px);
}

.tmn-offer-card__kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--tmno-blue);
    font-family: Roboto, Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.tmn-offer-card__kicker::before {
    content: "";
    width: 25px;
    height: 2px;
    border-radius: 999px;
    background: var(--tmno-gold);
}

.tmn-offer-card__title,
.tmn-offer-card .property_title,
.tmn-offer-card h3,
.tmn-offer-card h4 {
    margin: 0 !important;
    color: var(--tmno-navy-dark) !important;
    font-family: Armata, Roboto, Arial, sans-serif !important;
    font-size: clamp(19px, 1.65vw, 23px) !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
    letter-spacing: -.02em;
}

.tmn-offer-card__title a,
.tmn-offer-card .property_title a,
.tmn-offer-card h3 a,
.tmn-offer-card h4 a {
    color: inherit !important;
    text-decoration: none !important;
}

.tmn-offer-card__title a:hover,
.tmn-offer-card .property_title a:hover,
.tmn-offer-card h3 a:hover,
.tmn-offer-card h4 a:hover {
    color: var(--tmno-blue) !important;
}

.tmn-offer-card__price {
    position: relative;
    z-index: 8;
    display: inline-flex !important;
    width: auto !important;
    align-items: center;
    margin: 15px 0 0 !important;
    padding: 8px 12px !important;
    color: var(--tmno-navy) !important;
    border: 1px solid rgba(7,71,126,.09);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(242,197,54,.19), rgba(255,255,255,.9));
    font-family: Armata, Roboto, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.tmn-offer-card__action {
    position: relative;
    z-index: 10;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    padding: 12px 16px;
    color: #fff !important;
    border: 1px solid transparent;
    border-radius: 11px;
    background: linear-gradient(120deg, var(--tmno-navy-dark), var(--tmno-navy), var(--tmno-blue), var(--tmno-navy-dark));
    background-size: 260% 100%;
    box-shadow: 0 12px 26px rgba(3,46,82,.18);
    font-family: Roboto, Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
    animation: tmno-button-gradient 4.8s ease infinite;
}

.tmn-offer-card__action::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
    transform: translateX(-120%) skewX(-18deg);
}

.tmn-offer-card__action span,
.tmn-offer-card__action svg {
    position: relative;
    z-index: 2;
}

.tmn-offer-card__action svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: var(--tmno-gold);
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s ease, stroke .3s ease;
}

.tmn-offer-card__action:hover,
.tmn-offer-card__action:focus-visible {
    color: #fff !important;
    box-shadow: 0 18px 35px rgba(3,46,82,.30), 0 0 0 4px rgba(242,197,54,.16);
    outline: none;
    transform: translateY(-4px) scale(1.035);
}

.tmn-offer-card__action:hover::before,
.tmn-offer-card__action:focus-visible::before {
    opacity: 1;
    animation: tmno-button-sheen .72s ease forwards;
}

.tmn-offer-card__action:hover svg,
.tmn-offer-card__action:focus-visible svg {
    stroke: #fff;
    transform: translateX(5px);
}

/* Navegación del carrusel */
.tmn-offers-enhanced .slick-arrow,
.tmn-offers-enhanced .owl-prev,
.tmn-offers-enhanced .owl-next,
.tmn-offers-enhanced .carousel-control-prev,
.tmn-offers-enhanced .carousel-control-next,
.tmn-offers-enhanced [class*="carousel-control"] {
    z-index: 30 !important;
    display: grid !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    place-items: center;
    color: var(--tmno-navy) !important;
    border: 1px solid rgba(7,71,126,.12) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 12px 30px rgba(3,46,82,.16) !important;
    opacity: 1 !important;
    transition: transform .28s ease, color .28s ease, background .28s ease, box-shadow .28s ease !important;
    backdrop-filter: blur(10px);
}

.tmn-offers-enhanced .slick-arrow:hover,
.tmn-offers-enhanced .owl-prev:hover,
.tmn-offers-enhanced .owl-next:hover,
.tmn-offers-enhanced .carousel-control-prev:hover,
.tmn-offers-enhanced .carousel-control-next:hover,
.tmn-offers-enhanced [class*="carousel-control"]:hover {
    color: #fff !important;
    background: linear-gradient(145deg, var(--tmno-navy), var(--tmno-navy-dark)) !important;
    box-shadow: 0 16px 34px rgba(3,46,82,.27), 0 0 0 4px rgba(242,197,54,.17) !important;
    transform: scale(1.08) !important;
}

.tmn-offers-enhanced .slick-dots,
.tmn-offers-enhanced .owl-dots,
.tmn-offers-enhanced .carousel-indicators {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 22px !important;
}

.tmn-offers-enhanced .slick-dots li,
.tmn-offers-enhanced .owl-dot,
.tmn-offers-enhanced .carousel-indicators li,
.tmn-offers-enhanced .carousel-indicators button {
    overflow: hidden;
    width: 9px !important;
    height: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(7,71,126,.25) !important;
    opacity: 1 !important;
    transition: width .3s ease, background .3s ease, transform .3s ease !important;
}

.tmn-offers-enhanced .slick-dots li.slick-active,
.tmn-offers-enhanced .owl-dot.active,
.tmn-offers-enhanced .carousel-indicators .active {
    width: 32px !important;
    background: linear-gradient(90deg, var(--tmno-navy), var(--tmno-gold)) !important;
    transform: scaleY(1.08);
}

.tmn-offers-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    width: min(100%, 1040px);
    margin: 54px auto 0;
    padding: 25px 28px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 20%, rgba(242,197,54,.23), transparent 30%),
        linear-gradient(135deg, var(--tmno-navy), var(--tmno-navy-dark));
    box-shadow: 0 24px 58px rgba(3,46,82,.23);
}

.tmn-offers-cta::before {
    content: "";
    position: absolute;
    top: -70%;
    left: -35%;
    z-index: 0;
    width: 24%;
    height: 230%;
    opacity: .28;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
    transform: rotate(18deg) translateX(-180%);
    animation: tmno-cta-sheen 5.8s ease-in-out infinite;
}

.tmn-offers-cta__copy,
.tmn-offers-cta__button {
    position: relative;
    z-index: 2;
}

.tmn-offers-cta__copy span {
    display: block;
    margin-bottom: 7px;
    color: var(--tmno-gold);
    font-family: Roboto, Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tmn-offers-cta__copy strong {
    display: block;
    color: #fff;
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 500;
    line-height: 1.35;
}

.tmn-offers-cta__button {
    overflow: hidden;
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    color: var(--tmno-navy-dark) !important;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 12px;
    background: linear-gradient(135deg, #fff7cf, var(--tmno-gold));
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
    font-family: Roboto, Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
    animation: tmno-cta-button-breathe 2.9s ease-in-out infinite;
}

.tmn-offers-cta__button::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.85), transparent);
    transform: translateX(-120%) skewX(-18deg);
}

.tmn-offers-cta__button span,
.tmn-offers-cta__button svg {
    position: relative;
    z-index: 2;
}

.tmn-offers-cta__button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s ease;
}

.tmn-offers-cta__button:hover,
.tmn-offers-cta__button:focus-visible {
    color: var(--tmno-navy-dark) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,.26), 0 0 0 5px rgba(242,197,54,.18);
    outline: none;
    transform: translateY(-4px) scale(1.035);
}

.tmn-offers-cta__button:hover::before,
.tmn-offers-cta__button:focus-visible::before {
    opacity: 1;
    animation: tmno-button-sheen .72s ease forwards;
}

.tmn-offers-cta__button:hover svg,
.tmn-offers-cta__button:focus-visible svg {
    transform: translateX(5px);
}

.tmn-offers-ripple {
    position: absolute !important;
    z-index: 1 !important;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(255,255,255,.68);
    opacity: .85;
    transform: scale(0);
    animation: tmno-ripple .72s ease-out forwards !important;
}

/* Entrada escalonada. La visibilidad vuelve por temporizador si el observer
   no se ejecuta, de modo que el contenido nunca queda oculto. */
.tmn-offers-enhanced.tmn-offers-pre-reveal .elementor-widget-heading,
.tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offers-intro,
.tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offer-card,
.tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offers-cta {
    opacity: 0;
}

.tmn-offers-enhanced.tmn-offers-pre-reveal .elementor-widget-heading {
    transform: translateY(22px);
}

.tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offers-intro {
    transform: translateY(18px);
}

.tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offer-card {
    transform: perspective(1100px) translateY(30px) scale(.975);
}

.tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offers-cta {
    transform: translateY(24px);
}

.tmn-offers-enhanced.is-tmn-offers-visible .elementor-widget-heading,
.tmn-offers-enhanced.is-tmn-offers-visible .tmn-offers-intro,
.tmn-offers-enhanced.is-tmn-offers-visible .tmn-offer-card,
.tmn-offers-enhanced.is-tmn-offers-visible .tmn-offers-cta {
    opacity: 1;
    transform: none;
}

.tmn-offers-enhanced.is-tmn-offers-visible .elementor-widget-heading {
    transition: opacity .62s ease, transform .62s cubic-bezier(.2,.8,.2,1);
}

.tmn-offers-enhanced.is-tmn-offers-visible .tmn-offers-intro {
    transition: opacity .65s ease .09s, transform .65s cubic-bezier(.2,.8,.2,1) .09s;
}

.tmn-offers-enhanced.is-tmn-offers-visible .tmn-offer-card {
    transition:
        opacity .65s ease calc(var(--tmno-index, 0) * 110ms + 140ms),
        transform .65s cubic-bezier(.18,.78,.24,1) calc(var(--tmno-index, 0) * 110ms + 140ms),
        box-shadow .4s ease,
        border-color .35s ease;
}

.tmn-offers-enhanced.is-tmn-offers-visible .tmn-offers-cta {
    transition: opacity .66s ease .48s, transform .66s cubic-bezier(.2,.8,.2,1) .48s;
}

@keyframes tmno-grid-drift {
    from { transform: rotate(-5deg) translate3d(0,0,0); }
    to { transform: rotate(-5deg) translate3d(46px,46px,0); }
}

@keyframes tmno-section-sheen {
    0%, 34% { transform: rotate(18deg) translateX(-220%); }
    62%, 100% { transform: rotate(18deg) translateX(520%); }
}

@keyframes tmno-line-flow {
    to { background-position: 220% 0; }
}

@keyframes tmno-card-sheen {
    from { transform: rotate(19deg) translateX(-180%); }
    to { transform: rotate(19deg) translateX(520%); }
}

@keyframes tmno-badge-pulse {
    0%, 100% { transform: scale(.82); opacity: .68; }
    50% { transform: scale(1.14); opacity: 1; }
}

@keyframes tmno-button-gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes tmno-button-sheen {
    from { transform: translateX(-120%) skewX(-18deg); }
    to { transform: translateX(120%) skewX(-18deg); }
}

@keyframes tmno-cta-sheen {
    0%, 25% { transform: rotate(18deg) translateX(-180%); }
    62%, 100% { transform: rotate(18deg) translateX(650%); }
}

@keyframes tmno-cta-button-breathe {
    0%, 100% { box-shadow: 0 14px 30px rgba(0,0,0,.18), 0 0 0 0 rgba(242,197,54,.20); }
    50% { box-shadow: 0 18px 36px rgba(0,0,0,.22), 0 0 0 8px rgba(242,197,54,0); }
}

@keyframes tmno-ripple {
    to { transform: scale(1); opacity: 0; }
}

@media (max-width: 1024px) {
    .tmn-offers-enhanced {
        padding-inline: 18px !important;
    }

    .tmn-offer-card {
        min-height: 410px;
    }

    .tmn-offer-card img,
    .tmn-offer-card__media,
    .tmn-offer-card .listing-unit-img-wrapper,
    .tmn-offer-card .property_listing_image,
    .tmn-offer-card .property_listing_image_wrapper {
        height: 225px !important;
        min-height: 225px;
    }
}

@media (max-width: 767px) {
    .tmn-offers-enhanced {
        padding: 62px 14px 74px !important;
    }

    .tmn-offers-enhanced .elementor-heading-title {
        font-size: clamp(30px, 10vw, 40px) !important;
    }

    .tmn-offers-intro {
        margin-top: 20px;
    }

    .tmn-offers-slider {
        margin-top: 30px !important;
    }

    .tmn-offer-card {
        min-height: 0;
        transform: none !important;
    }

    .tmn-offer-card img,
    .tmn-offer-card__media,
    .tmn-offer-card .listing-unit-img-wrapper,
    .tmn-offer-card .property_listing_image,
    .tmn-offer-card .property_listing_image_wrapper {
        height: 230px !important;
        min-height: 230px;
    }

    .tmn-offers-cta {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 40px;
        padding: 23px 20px;
        text-align: center;
    }

    .tmn-offers-cta__button {
        width: 100%;
    }

    .tmn-offers-enhanced .slick-arrow,
    .tmn-offers-enhanced .owl-prev,
    .tmn-offers-enhanced .owl-next,
    .tmn-offers-enhanced .carousel-control-prev,
    .tmn-offers-enhanced .carousel-control-next,
    .tmn-offers-enhanced [class*="carousel-control"] {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-offers-enhanced,
    .tmn-offers-enhanced::before,
    .tmn-offers-enhanced::after,
    .tmn-offers-enhanced *,
    .tmn-offers-enhanced *::before,
    .tmn-offers-enhanced *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .tmn-offers-enhanced.tmn-offers-pre-reveal .elementor-widget-heading,
    .tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offers-intro,
    .tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offer-card,
    .tmn-offers-enhanced.tmn-offers-pre-reveal .tmn-offers-cta {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ========================================================================
   v1.3.1 · Reconstrucción estable de las tarjetas de ofertas de WPResidence
   ======================================================================== */

/* La plantilla interna de WPResidence cambia entre versiones y añadía
   controles, etiquetas y bloques con estilos propios. La tarjeta visible se
   reconstruye sin modificar los datos ni los enlaces del anuncio. */
.tmn-offer-card > .tmn-offer-card__original {
    display: none !important;
}

.tmn-offer-card {
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.tmn-offer-card__shell {
    position: relative;
    z-index: 4;
    overflow: hidden;
    display: flex;
    width: 100%;
    min-height: 430px;
    flex-direction: column;
    border: 1px solid rgba(7,71,126,.10);
    border-radius: 23px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 18px 46px rgba(3,46,82,.09);
}

.tmn-offer-card__media--custom {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
    min-height: 238px !important;
    flex: 0 0 238px;
    border-radius: 22px 22px 0 0 !important;
    background: #e7eef4;
    text-decoration: none !important;
}

.tmn-offer-card__media--custom::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    height: 48%;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(3,46,82,.34));
}

.tmn-offer-card__media--custom .tmn-offer-card__image {
    display: block !important;
    width: 100% !important;
    height: 238px !important;
    min-height: 238px !important;
    object-fit: cover !important;
    object-position: center !important;
}

.tmn-offer-card__content--custom {
    position: relative;
    z-index: 6;
    display: flex !important;
    width: 100%;
    min-height: 190px;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    padding: 22px 22px 20px !important;
    background: rgba(255,255,255,.98);
}

.tmn-offer-card__content--custom .tmn-offer-card__kicker {
    margin-bottom: 9px;
}

.tmn-offer-card__content--custom .tmn-offer-card__title {
    min-height: 58px;
    margin: 0 !important;
    font-size: clamp(18px, 1.45vw, 22px) !important;
}

.tmn-offer-card__footer {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(7,71,126,.08);
}

.tmn-offer-card__content--custom .tmn-offer-card__price {
    flex: 0 0 auto;
    margin: 0 !important;
    white-space: nowrap;
}

.tmn-offer-card__content--custom .tmn-offer-card__action {
    flex: 0 1 auto;
    margin: 0;
    white-space: nowrap;
}

/* Los círculos blancos de la captura eran los controles de la galería
   interna de cada anuncio. La navegación principal del slider se conserva. */
.tmn-offer-card .tmn-offer-card__gallery-control,
.tmn-offer-card .tmn-offer-card__gallery-pagination,
.tmn-offer-card .slick-arrow,
.tmn-offer-card .owl-prev,
.tmn-offer-card .owl-next,
.tmn-offer-card .carousel-control-prev,
.tmn-offer-card .carousel-control-next,
.tmn-offer-card [class*="carousel-control"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.tmn-offers-pagination--single {
    display: none !important;
}

.tmn-offers-cta {
    margin-top: 38px;
}

.tmn-offers-enhanced .tmn-offers-slider {
    margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
    .tmn-offer-card__shell {
        min-height: 410px;
    }

    .tmn-offer-card__media--custom,
    .tmn-offer-card__media--custom .tmn-offer-card__image {
        height: 220px !important;
        min-height: 220px !important;
    }

    .tmn-offer-card__media--custom {
        flex-basis: 220px;
    }

    .tmn-offer-card__content--custom {
        min-height: 190px;
    }
}

@media (max-width: 767px) {
    .tmn-offer-card__shell {
        min-height: 0;
    }

    .tmn-offer-card__media--custom,
    .tmn-offer-card__media--custom .tmn-offer-card__image {
        height: 225px !important;
        min-height: 225px !important;
    }

    .tmn-offer-card__media--custom {
        flex-basis: 225px;
    }

    .tmn-offer-card__content--custom {
        min-height: 0;
        padding: 21px 18px 19px !important;
    }

    .tmn-offer-card__content--custom .tmn-offer-card__title {
        min-height: 0;
    }

    .tmn-offer-card__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .tmn-offer-card__content--custom .tmn-offer-card__action {
        width: 100%;
    }

    .tmn-offers-cta {
        margin-top: 30px;
    }
}

.tmn-offers-enhanced .tmn-offers-pagination--single {
    display: none !important;
}

/* ========================================================================
   v1.4.0 · Contacto y ubicación Náutica
   ======================================================================== */
.tmnc-contact-location {
    --tmnc-navy: #07477e;
    --tmnc-navy-dark: #032e52;
    --tmnc-blue: #0b6fae;
    --tmnc-gold: #f2c536;
    --tmnc-gold-soft: #fff6cf;
    --tmnc-text: #526477;
    --tmnc-bg: #f7f9fc;
    --tmnc-card: #fff;
    --tmnc-radius: 26px;
    --tmnc-pointer-x: 50%;
    --tmnc-pointer-y: 50%;
    --tmnc-tilt-x: 0deg;
    --tmnc-tilt-y: 0deg;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,249,252,.98)),
        var(--tmnc-bg);
    color: var(--tmnc-text);
}

.tmnc-contact-location,
.tmnc-contact-location * {
    box-sizing: border-box;
}

.tmnc-contact-location::before,
.tmnc-contact-location::after {
    content: "";
    position: absolute;
    z-index: -2;
    pointer-events: none;
}

.tmnc-contact-location::before {
    inset: 0;
    opacity: .5;
    background-image:
        linear-gradient(rgba(7,71,126,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.035) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to bottom, transparent, #000 13%, #000 88%, transparent);
}

.tmnc-contact-location::after {
    top: -22%;
    left: -16%;
    width: 42%;
    height: 145%;
    opacity: .22;
    transform: rotate(18deg) translateX(-160%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
    filter: blur(5px);
}

.tmnc-contact-location--motion::before {
    animation: tmnc-grid-drift 24s linear infinite;
}

.tmnc-contact-location--motion::after {
    animation: tmnc-section-sheen 10s ease-in-out infinite;
}

.tmnc-contact-location__orb {
    position: absolute;
    z-index: -1;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(18px);
    opacity: .34;
}

.tmnc-contact-location__orb--one {
    top: 5%;
    left: -170px;
    background: radial-gradient(circle, rgba(11,111,174,.25), rgba(11,111,174,0) 69%);
}

.tmnc-contact-location__orb--two {
    top: 37%;
    right: -160px;
    background: radial-gradient(circle, rgba(242,197,54,.24), rgba(242,197,54,0) 69%);
}

.tmnc-contact-location--motion .tmnc-contact-location__orb--one {
    animation: tmnc-orb-one 13s ease-in-out infinite alternate;
}

.tmnc-contact-location--motion .tmnc-contact-location__orb--two {
    animation: tmnc-orb-two 15s ease-in-out infinite alternate;
}

.tmnc-contact-location__inner {
    position: relative;
    z-index: 2;
    width: min(1240px, 100%);
    margin: 0 auto;
}

.tmnc-contact {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(400px, .97fr);
    gap: clamp(24px, 3.2vw, 44px);
    align-items: stretch;
}

.tmnc-contact__media,
.tmnc-contact__form-card,
.tmnc-location__map-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--tmnc-radius);
    transform: perspective(1200px) rotateX(var(--tmnc-card-rx, 0deg)) rotateY(var(--tmnc-card-ry, 0deg));
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s ease, border-color .42s ease;
}

.tmnc-contact__media {
    min-height: 520px;
    border: 1px solid rgba(242,197,54,.54);
    background: var(--tmnc-navy-dark);
    box-shadow: 0 25px 70px rgba(3,46,82,.18);
}

.tmnc-contact__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle 280px at var(--tmnc-card-x, 50%) var(--tmnc-card-y, 50%), rgba(255,255,255,.25), transparent 72%);
    transition: opacity .35s ease;
}

.tmnc-contact__media:hover,
.tmnc-contact__media:focus-within {
    transform: perspective(1200px) rotateX(var(--tmnc-card-rx, 0deg)) rotateY(var(--tmnc-card-ry, 0deg)) translateY(-9px) scale(1.008);
    box-shadow: 0 38px 85px rgba(3,46,82,.25), 0 0 0 4px rgba(242,197,54,.08);
}

.tmnc-contact__media:hover::before {
    opacity: 1;
}

.tmnc-contact__media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform 1.1s cubic-bezier(.2,.8,.2,1), filter .6s ease;
}

.tmnc-contact__media:hover > img {
    transform: scale(1.065);
    filter: saturate(1.07) contrast(1.03);
}

.tmnc-contact__media-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(3,46,82,.02) 25%, rgba(3,46,82,.2) 70%, rgba(3,46,82,.5) 100%),
        linear-gradient(120deg, rgba(7,71,126,.15), transparent 46%);
}

.tmnc-contact__wave-lines {
    position: absolute;
    z-index: 4;
    top: 36px;
    left: 28px;
    display: grid;
    gap: 8px;
    width: 104px;
    opacity: .9;
}

.tmnc-contact__wave-lines span {
    display: block;
    height: 7px;
    border-top: 2px solid var(--tmnc-gold);
    border-radius: 50%;
    transform: skewX(-14deg);
}

.tmnc-contact-location--motion .tmnc-contact__wave-lines span:nth-child(1) { animation: tmnc-wave 3.2s ease-in-out infinite; }
.tmnc-contact-location--motion .tmnc-contact__wave-lines span:nth-child(2) { animation: tmnc-wave 3.2s .16s ease-in-out infinite; }
.tmnc-contact-location--motion .tmnc-contact__wave-lines span:nth-child(3) { animation: tmnc-wave 3.2s .32s ease-in-out infinite; }

.tmnc-contact__trust {
    position: absolute;
    z-index: 5;
    left: clamp(20px, 4vw, 34px);
    bottom: clamp(20px, 4vw, 34px);
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: center;
    max-width: min(330px, calc(100% - 40px));
    padding: 18px 20px;
    color: #fff;
    border: 1px solid rgba(242,197,54,.55);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(3,46,82,.96), rgba(7,71,126,.92));
    box-shadow: 0 18px 44px rgba(3,46,82,.38);
    backdrop-filter: blur(12px);
    transition: transform .35s ease, box-shadow .35s ease;
}

.tmnc-contact__media:hover .tmnc-contact__trust {
    transform: translateY(-7px);
    box-shadow: 0 25px 54px rgba(3,46,82,.46);
}

.tmnc-contact-location--motion .tmnc-contact__trust {
    animation: tmnc-trust-float 4.6s ease-in-out infinite;
}

.tmnc-contact__trust-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    color: var(--tmnc-gold);
    border: 1px solid rgba(242,197,54,.65);
    border-radius: 50%;
    background: rgba(255,255,255,.07);
}

.tmnc-contact__trust-icon svg {
    width: 30px;
    height: 30px;
}

.tmnc-contact__trust-copy {
    display: grid;
    gap: 5px;
}

.tmnc-contact__trust-copy strong {
    font: 700 16px/1.25 Roboto, Arial, sans-serif;
}

.tmnc-contact__trust-copy small {
    color: rgba(255,255,255,.82);
    font: 400 13px/1.45 Roboto, Arial, sans-serif;
}

.tmnc-contact__sail {
    position: absolute;
    z-index: 4;
    right: 18px;
    bottom: 14px;
    width: 82px;
    height: 82px;
    color: var(--tmnc-gold);
    opacity: .78;
    filter: drop-shadow(0 8px 12px rgba(242,197,54,.28));
}

.tmnc-contact__sail svg,
.tmnc-contact__anchor svg,
.tmnc-form svg,
.tmnc-location svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tmnc-contact-location--motion .tmnc-contact__sail {
    animation: tmnc-sail 4.8s ease-in-out infinite;
}

.tmnc-contact__form-card {
    min-height: 520px;
    padding: clamp(30px, 4vw, 50px);
    border: 1px solid rgba(7,71,126,.1);
    background:
        radial-gradient(circle at 100% 0, rgba(242,197,54,.11), transparent 26%),
        radial-gradient(circle at 0 100%, rgba(11,111,174,.08), transparent 30%),
        rgba(255,255,255,.94);
    box-shadow: 0 25px 70px rgba(3,46,82,.14);
    backdrop-filter: blur(16px);
}

.tmnc-contact__form-card::before {
    content: "";
    position: absolute;
    inset: -45% -15% auto auto;
    width: 360px;
    height: 360px;
    border: 2px solid rgba(7,71,126,.035);
    border-radius: 50%;
    box-shadow: inset 0 0 0 34px rgba(7,71,126,.018), inset 0 0 0 68px rgba(7,71,126,.014);
    pointer-events: none;
}

.tmnc-contact__form-card:hover,
.tmnc-contact__form-card:focus-within {
    transform: perspective(1200px) rotateX(var(--tmnc-card-rx, 0deg)) rotateY(var(--tmnc-card-ry, 0deg)) translateY(-7px);
    border-color: rgba(242,197,54,.34);
    box-shadow: 0 38px 86px rgba(3,46,82,.21), 0 0 0 4px rgba(242,197,54,.06);
}

.tmnc-contact__header {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    text-align: center;
    margin-bottom: 24px;
}

.tmnc-contact__anchor {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 7px;
    color: var(--tmnc-gold);
}

.tmnc-contact-location--motion .tmnc-contact__anchor {
    animation: tmnc-anchor-bob 3.4s ease-in-out infinite;
}

.tmnc-contact__eyebrow {
    color: var(--tmnc-navy);
    font: 700 11px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .17em;
}

.tmnc-contact__title {
    position: relative;
    margin: 10px 0 12px;
    color: var(--tmnc-navy-dark);
    font: 600 clamp(30px, 3.1vw, 46px)/1.08 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.tmnc-contact__title::after {
    content: "";
    display: block;
    width: 72px;
    height: 3px;
    margin: 14px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnc-navy), var(--tmnc-gold), var(--tmnc-navy));
    background-size: 220% 100%;
}

.tmnc-contact-location--motion .tmnc-contact__title::after {
    animation: tmnc-line-flow 3.4s linear infinite;
}

.tmnc-contact__description {
    max-width: 520px;
    color: var(--tmnc-text);
    font: 400 15px/1.65 Roboto, Arial, sans-serif;
}

.tmnc-contact__description p {
    margin: 0;
}

.tmnc-form {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 12px;
}

.tmnc-form__field {
    position: relative;
    display: grid;
    grid-template-columns: 24px 1fr;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7,71,126,.16);
    border-radius: 11px;
    background: rgba(255,255,255,.86);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, background .25s ease;
}

.tmnc-form__field:hover {
    border-color: rgba(7,71,126,.34);
    transform: translateY(-1px);
}

.tmnc-form__field:focus-within {
    border-color: var(--tmnc-blue);
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 0 0 4px rgba(11,111,174,.1), 0 9px 24px rgba(3,46,82,.08);
}

.tmnc-form__field--textarea {
    align-items: start;
    min-height: 122px;
    padding-top: 14px;
}

.tmnc-form__icon {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    color: var(--tmnc-navy-dark);
    transition: color .25s ease, transform .25s ease;
}

.tmnc-form__field:focus-within .tmnc-form__icon {
    color: var(--tmnc-blue);
    transform: scale(1.12);
}

.tmnc-form input[type="text"],
.tmnc-form input[type="email"],
.tmnc-form input[type="tel"],
.tmnc-form textarea {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 13px 0 !important;
    color: var(--tmnc-navy-dark) !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font: 400 15px/1.45 Roboto, Arial, sans-serif !important;
}

.tmnc-form textarea {
    min-height: 94px;
    resize: vertical;
}

.tmnc-form input::placeholder,
.tmnc-form textarea::placeholder {
    color: #748497;
    opacity: 1;
}

.tmnc-form__privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 2px 0 0;
    color: var(--tmnc-text);
    cursor: pointer;
    font: 400 12.5px/1.45 Roboto, Arial, sans-serif;
}

.tmnc-form__privacy input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.tmnc-form__check {
    position: relative;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    border: 1px solid rgba(7,71,126,.32);
    border-radius: 5px;
    background: #fff;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.tmnc-form__privacy input:checked + .tmnc-form__check {
    border-color: var(--tmnc-navy);
    background: var(--tmnc-navy);
    transform: scale(1.04);
}

.tmnc-form__privacy input:checked + .tmnc-form__check::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.tmnc-form__privacy input:focus-visible + .tmnc-form__check {
    box-shadow: 0 0 0 4px rgba(11,111,174,.12);
}

.tmnc-form__privacy a {
    color: var(--tmnc-navy) !important;
    text-decoration: underline;
    text-decoration-color: rgba(7,71,126,.3);
    text-underline-offset: 3px;
}

.tmnc-form__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.tmnc-form__submit {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid !important;
    grid-template-columns: 1fr 42px;
    align-items: center;
    width: 100%;
    min-height: 54px;
    margin-top: 4px;
    padding: 6px 6px 6px 48px !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(115deg, var(--tmnc-navy-dark), var(--tmnc-navy), var(--tmnc-blue), var(--tmnc-navy-dark)) !important;
    background-size: 280% 100% !important;
    box-shadow: 0 15px 34px rgba(3,46,82,.25) !important;
    cursor: pointer;
    font: 700 15px/1 Roboto, Arial, sans-serif !important;
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease !important;
}

.tmnc-form__submit::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
    transform: translateX(-120%) skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    transition: transform .7s ease, opacity .2s ease;
}

.tmnc-form__submit::after {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    opacity: 0;
    box-shadow: 0 0 0 0 rgba(242,197,54,.32);
}

.tmnc-contact-location--motion .tmnc-form__submit {
    animation: tmnc-button-gradient 4.6s ease infinite;
}

.tmnc-contact-location--button-attention .tmnc-form__submit::after {
    animation: tmnc-button-ring 2.8s ease-out infinite;
}

.tmnc-form__submit:hover,
.tmnc-form__submit:focus-visible {
    color: #fff !important;
    transform: translateY(-4px) scale(1.012) !important;
    box-shadow: 0 22px 48px rgba(3,46,82,.34), 0 0 0 4px rgba(242,197,54,.1) !important;
}

.tmnc-form__submit:hover::before,
.tmnc-form__submit:focus-visible::before {
    opacity: 1;
    transform: translateX(120%) skewX(-18deg);
}

.tmnc-form__submit:disabled {
    cursor: wait;
    opacity: .78;
    transform: none !important;
}

.tmnc-form__submit-text,
.tmnc-form__submit-icon,
.tmnc-form__spinner {
    position: relative;
    z-index: 3;
}

.tmnc-form__submit-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 9px;
    background: rgba(0,0,0,.12);
    transition: transform .28s ease, background .28s ease;
}

.tmnc-form__submit-icon svg {
    width: 20px;
    height: 20px;
}

.tmnc-form__submit:hover .tmnc-form__submit-icon {
    transform: translateX(3px);
    background: rgba(255,255,255,.12);
}

.tmnc-form__spinner {
    display: none;
    position: absolute;
    right: 17px;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: tmnc-spin .7s linear infinite;
}

.tmnc-form.is-sending .tmnc-form__submit-icon {
    opacity: 0;
}

.tmnc-form.is-sending .tmnc-form__spinner {
    display: block;
}

.tmnc-form__status {
    min-height: 0;
    padding: 0;
    border-radius: 9px;
    color: var(--tmnc-text);
    font: 600 13px/1.45 Roboto, Arial, sans-serif;
    transition: padding .25s ease, min-height .25s ease, background .25s ease;
}

.tmnc-form__status.is-success,
.tmnc-form__status.is-error {
    min-height: 40px;
    padding: 10px 12px;
}

.tmnc-form__status.is-success {
    color: #14633d;
    border: 1px solid rgba(20,99,61,.16);
    background: rgba(31,164,101,.09);
}

.tmnc-form__status.is-error {
    color: #8d2c2c;
    border: 1px solid rgba(141,44,44,.16);
    background: rgba(193,55,55,.08);
}

.tmnc-form__security {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    color: #748497;
    font: 400 11.5px/1.3 Roboto, Arial, sans-serif;
}

.tmnc-form__security svg {
    width: 15px;
    height: 15px;
    color: var(--tmnc-navy);
}

.tmnc-location {
    position: relative;
    margin-top: clamp(64px, 7vw, 94px);
}

.tmnc-location__heading {
    max-width: 720px;
    margin: 0 auto 26px;
    text-align: center;
}

.tmnc-location__eyebrow {
    color: var(--tmnc-navy);
    font: 700 11px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .17em;
}

.tmnc-location__heading h2 {
    margin: 8px 0 10px;
    color: var(--tmnc-navy-dark);
    font: 600 clamp(32px, 3.4vw, 48px)/1.08 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.tmnc-location__heading p {
    margin: 0;
    color: var(--tmnc-text);
    font: 400 16px/1.6 Roboto, Arial, sans-serif;
}

.tmnc-location__info {
    position: relative;
    z-index: 7;
    display: grid;
    grid-template-columns: 1.25fr .85fr 1.1fr 1.2fr;
    width: calc(100% - 76px);
    margin: 0 auto -34px;
    padding: 13px;
    border: 1px solid rgba(242,197,54,.38);
    border-radius: 20px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 52px rgba(3,46,82,.16);
    backdrop-filter: blur(16px);
}

.tmnc-location__info::before {
    content: "";
    position: absolute;
    top: -17px;
    left: 50%;
    width: 34px;
    height: 34px;
    border: 3px solid #fff;
    border-radius: 50%;
    transform: translateX(-50%);
    background: var(--tmnc-navy-dark);
    box-shadow: 0 7px 20px rgba(3,46,82,.26);
}

.tmnc-location__info-item {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 13px 16px;
    color: inherit !important;
    border-right: 1px solid rgba(7,71,126,.1);
    border-radius: 13px;
    text-decoration: none !important;
    transition: transform .27s ease, background .27s ease, box-shadow .27s ease;
}

.tmnc-location__info-item:last-child {
    border-right: 0;
}

.tmnc-location__info-item:hover,
.tmnc-location__info-item:focus-visible {
    transform: translateY(-4px);
    background: linear-gradient(135deg, rgba(7,71,126,.055), rgba(242,197,54,.08));
    box-shadow: 0 10px 26px rgba(3,46,82,.08);
}

.tmnc-location__info-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: var(--tmnc-navy);
    border-radius: 12px;
    background: rgba(7,71,126,.06);
    transition: transform .27s ease, color .27s ease, background .27s ease;
}

.tmnc-location__info-item:hover .tmnc-location__info-icon {
    color: var(--tmnc-navy-dark);
    background: var(--tmnc-gold-soft);
    transform: rotate(-5deg) scale(1.06);
}

.tmnc-location__info-icon svg {
    width: 23px;
    height: 23px;
}

.tmnc-location__info-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.tmnc-location__info-copy strong {
    color: var(--tmnc-navy-dark);
    font: 700 13px/1.2 Roboto, Arial, sans-serif;
}

.tmnc-location__info-copy small {
    overflow-wrap: anywhere;
    color: var(--tmnc-text);
    font: 400 12px/1.42 Roboto, Arial, sans-serif;
}

.tmnc-location__map-card {
    min-height: 510px;
    padding: 18px;
    border: 1px solid rgba(242,197,54,.42);
    background: rgba(255,255,255,.88);
    box-shadow: 0 25px 75px rgba(3,46,82,.17);
}

.tmnc-location__map-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 35px 90px rgba(3,46,82,.22), 0 0 0 4px rgba(242,197,54,.06);
}

.tmnc-location__map {
    position: absolute;
    inset: 18px;
    overflow: hidden;
    border-radius: calc(var(--tmnc-radius) - 9px);
    background: #e9eef3;
}

.tmnc-location__map > * {
    max-width: 100%;
}

.tmnc-location__map iframe,
.tmnc-location__map .wpgmza_map,
.tmnc-location__map [id^="wpgmza_map"] {
    width: 100% !important;
    min-height: 474px !important;
    border: 0 !important;
    border-radius: inherit !important;
}

.tmnc-location__map-placeholder {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 14px;
    width: 100%;
    min-height: 474px;
    color: var(--tmnc-text);
    background:
        linear-gradient(rgba(7,71,126,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.04) 1px, transparent 1px),
        #edf2f6;
    background-size: 34px 34px;
    text-align: center;
    font: 600 14px/1.5 Roboto, Arial, sans-serif;
}

.tmnc-location__map-placeholder svg {
    width: 48px;
    height: 48px;
    color: var(--tmnc-navy);
}

.tmnc-location__pin-card {
    position: absolute;
    z-index: 8;
    left: 50%;
    top: 54%;
    display: grid;
    grid-template-columns: 48px minmax(150px, 1fr);
    gap: 12px;
    align-items: center;
    max-width: min(330px, calc(100% - 44px));
    padding: 11px 14px 11px 8px;
    border: 1px solid rgba(242,197,54,.42);
    border-radius: 15px;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 42px rgba(3,46,82,.24);
    backdrop-filter: blur(12px);
    pointer-events: none;
}

.tmnc-contact-location--motion .tmnc-location__pin-card {
    animation: tmnc-pin-float 3.8s ease-in-out infinite;
}

.tmnc-location__pin-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--tmnc-navy), var(--tmnc-navy-dark));
    box-shadow: 0 10px 24px rgba(3,46,82,.24);
}

.tmnc-location__pin-icon svg {
    width: 28px;
    height: 28px;
}

.tmnc-location__pin-card > span:last-child {
    display: grid;
    gap: 3px;
}

.tmnc-location__pin-card strong {
    color: var(--tmnc-navy-dark);
    font: 700 13px/1.25 Roboto, Arial, sans-serif;
}

.tmnc-location__pin-card small {
    color: var(--tmnc-text);
    font: 400 11.5px/1.35 Roboto, Arial, sans-serif;
}

.tmnc-location__directions {
    position: absolute !important;
    z-index: 9;
    left: 38px;
    bottom: 38px;
    display: inline-flex !important;
    min-height: 48px;
    align-items: center;
    gap: 10px;
    padding: 13px 18px !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, var(--tmnc-navy-dark), var(--tmnc-navy)) !important;
    box-shadow: 0 14px 34px rgba(3,46,82,.32) !important;
    font: 700 14px/1 Roboto, Arial, sans-serif !important;
}

.tmnc-location__directions svg {
    width: 19px;
    height: 19px;
}

.tmnc-location__directions:hover,
.tmnc-location__directions:focus-visible {
    color: #fff !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 21px 44px rgba(3,46,82,.38), 0 0 0 4px rgba(242,197,54,.1) !important;
}

.tmnc-contact-location--motion.tmnc-contact-location--button-attention .tmnc-location__directions {
    animation: tmnc-directions-breathe 3.4s ease-in-out infinite;
}

.tmnc-contact-location.tmnc-pre-reveal .tmnc-contact__media,
.tmnc-contact-location.tmnc-pre-reveal .tmnc-contact__form-card,
.tmnc-contact-location.tmnc-pre-reveal .tmnc-location__heading,
.tmnc-contact-location.tmnc-pre-reveal .tmnc-location__info,
.tmnc-contact-location.tmnc-pre-reveal .tmnc-location__map-card {
    opacity: 0;
    transform: translateY(38px) scale(.98);
}

.tmnc-contact-location.tmnc-pre-reveal .tmnc-contact__media {
    transform: translateX(-45px) scale(.98);
}

.tmnc-contact-location.tmnc-pre-reveal .tmnc-contact__form-card {
    transform: translateX(45px) scale(.98);
}

.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-contact__media,
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-contact__form-card,
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-location__heading,
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-location__info,
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-location__map-card {
    opacity: 1;
    transform: none;
    transition: opacity .72s ease, transform .8s cubic-bezier(.2,.8,.2,1);
}

.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-contact__form-card { transition-delay: .12s; }
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-location__heading { transition-delay: .22s; }
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-location__info { transition-delay: .32s; }
.tmnc-contact-location.tmnc-pre-reveal.is-visible .tmnc-location__map-card { transition-delay: .42s; }

.tmnc-button__ripple,
.tmnc-form__submit .tmn-button__ripple,
.tmnc-location__directions .tmn-button__ripple {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    border-radius: 50%;
    transform: scale(0);
    background: rgba(255,255,255,.45);
    animation: tmnc-ripple .72s ease-out forwards;
}

@keyframes tmnc-grid-drift {
    to { background-position: 52px 52px, 52px 52px; }
}

@keyframes tmnc-section-sheen {
    0%, 24% { transform: rotate(18deg) translateX(-170%); }
    58%, 100% { transform: rotate(18deg) translateX(450%); }
}

@keyframes tmnc-orb-one {
    to { transform: translate(110px, 90px) scale(1.18); }
}

@keyframes tmnc-orb-two {
    to { transform: translate(-120px, 70px) scale(.9); }
}

@keyframes tmnc-wave {
    0%,100% { transform: translateX(0) skewX(-14deg); opacity: .68; }
    50% { transform: translateX(12px) skewX(-14deg); opacity: 1; }
}

@keyframes tmnc-trust-float {
    0%,100% { translate: 0 0; }
    50% { translate: 0 -7px; }
}

@keyframes tmnc-sail {
    0%,100% { transform: translateY(0) rotate(-2deg); }
    50% { transform: translateY(-7px) rotate(2deg); }
}

@keyframes tmnc-anchor-bob {
    0%,100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-4px) rotate(5deg); }
}

@keyframes tmnc-line-flow {
    to { background-position: 220% 0; }
}

@keyframes tmnc-button-gradient {
    0%,100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@keyframes tmnc-button-ring {
    0% { opacity: .65; box-shadow: 0 0 0 0 rgba(242,197,54,.3); }
    70%,100% { opacity: 0; box-shadow: 0 0 0 15px rgba(242,197,54,0); }
}

@keyframes tmnc-spin {
    to { transform: rotate(360deg); }
}

@keyframes tmnc-pin-float {
    0%,100% { transform: translate(-50%, -50%); }
    50% { transform: translate(-50%, calc(-50% - 7px)); }
}

@keyframes tmnc-directions-breathe {
    0%,100% { box-shadow: 0 14px 34px rgba(3,46,82,.32); }
    50% { box-shadow: 0 17px 42px rgba(3,46,82,.4), 0 0 0 5px rgba(242,197,54,.08); }
}

@keyframes tmnc-ripple {
    to { transform: scale(1); opacity: 0; }
}

@media (max-width: 1024px) {
    .tmnc-contact {
        grid-template-columns: 1fr;
    }

    .tmnc-contact__media,
    .tmnc-contact__form-card {
        min-height: auto;
    }

    .tmnc-contact__media {
        min-height: 430px;
    }

    .tmnc-location__info {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: calc(100% - 36px);
        margin-bottom: -28px;
    }

    .tmnc-location__info-item:nth-child(2) {
        border-right: 0;
    }

    .tmnc-location__info-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(7,71,126,.08);
    }

    .tmnc-location__map-card {
        min-height: 500px !important;
    }

    .tmnc-location__map iframe,
    .tmnc-location__map .wpgmza_map,
    .tmnc-location__map [id^="wpgmza_map"],
    .tmnc-location__map-placeholder {
        min-height: 464px !important;
    }
}

@media (max-width: 767px) {
    .tmnc-contact-location::before {
        background-size: 38px 38px;
    }

    .tmnc-contact {
        gap: 20px;
    }

    .tmnc-contact__media {
        min-height: 340px;
        border-radius: 20px;
    }

    .tmnc-contact__wave-lines {
        top: 22px;
        left: 18px;
        width: 80px;
    }

    .tmnc-contact__trust {
        left: 16px;
        bottom: 16px;
        grid-template-columns: 42px 1fr;
        gap: 11px;
        max-width: calc(100% - 32px);
        padding: 13px 14px;
        border-radius: 14px;
    }

    .tmnc-contact__trust-icon {
        width: 42px;
        height: 42px;
    }

    .tmnc-contact__trust-icon svg {
        width: 23px;
        height: 23px;
    }

    .tmnc-contact__trust-copy strong { font-size: 14px; }
    .tmnc-contact__trust-copy small { font-size: 11.5px; }

    .tmnc-contact__sail {
        display: none;
    }

    .tmnc-contact__form-card {
        padding: 28px 18px 24px;
        border-radius: 20px;
    }

    .tmnc-contact__title {
        font-size: 30px;
    }

    .tmnc-form__submit {
        padding-left: 42px !important;
    }

    .tmnc-location {
        margin-top: 58px;
    }

    .tmnc-location__heading h2 {
        font-size: 31px;
    }

    .tmnc-location__info {
        grid-template-columns: 1fr;
        width: calc(100% - 18px);
        margin-bottom: -20px;
        padding: 9px;
        border-radius: 17px;
    }

    .tmnc-location__info-item,
    .tmnc-location__info-item:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid rgba(7,71,126,.08);
    }

    .tmnc-location__info-item:last-child {
        border-bottom: 0;
    }

    .tmnc-location__map-card {
        min-height: 470px;
        padding: 10px;
        border-radius: 20px;
    }

    .tmnc-location__map {
        inset: 10px;
        border-radius: 14px;
    }

    .tmnc-location__map iframe,
    .tmnc-location__map .wpgmza_map,
    .tmnc-location__map [id^="wpgmza_map"],
    .tmnc-location__map-placeholder {
        min-height: 450px !important;
    }

    .tmnc-location__pin-card {
        top: 52%;
        grid-template-columns: 40px 1fr;
        max-width: calc(100% - 32px);
        padding: 9px 11px 9px 7px;
    }

    .tmnc-location__pin-icon {
        width: 40px;
        height: 40px;
    }

    .tmnc-location__directions {
        left: 24px;
        bottom: 24px;
    }

    .tmnc-contact__media:hover,
    .tmnc-contact__form-card:hover,
    .tmnc-location__map-card:hover {
        transform: translateY(-3px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmnc-contact-location *,
    .tmnc-contact-location *::before,
    .tmnc-contact-location *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .tmnc-contact-location.tmnc-pre-reveal .tmnc-contact__media,
    .tmnc-contact-location.tmnc-pre-reveal .tmnc-contact__form-card,
    .tmnc-contact-location.tmnc-pre-reveal .tmnc-location__heading,
    .tmnc-contact-location.tmnc-pre-reveal .tmnc-location__info,
    .tmnc-contact-location.tmnc-pre-reveal .tmnc-location__map-card {
        opacity: 1;
        transform: none;
    }
}

/* ========================================================================
   v1.4.1 · Contacto y mapa panorámicos a ancho completo
   ======================================================================== */
.tmnc-contact-location--full-width {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.tmnc-contact-location--full-width .tmnc-contact-location__inner {
    width: 100%;
    max-width: none;
    padding-inline: clamp(18px, 3.2vw, 64px);
}

.tmnc-contact-location--full-width .tmnc-contact {
    grid-template-columns: minmax(0, 1.62fr) minmax(390px, .88fr);
    gap: clamp(24px, 2.4vw, 44px);
    align-items: center;
}

.tmnc-contact-location--full-width .tmnc-contact__media {
    min-height: 610px !important;
    border-radius: clamp(24px, 2vw, 34px);
}

.tmnc-contact-location--full-width .tmnc-contact__media > img {
    object-position: center center;
}

.tmnc-contact-location--full-width .tmnc-contact__form-card {
    min-height: auto;
    max-width: 620px;
    width: 100%;
    justify-self: end;
    border-radius: clamp(24px, 2vw, 34px);
}

.tmnc-contact-location--full-width .tmnc-location {
    width: 100%;
    margin-top: clamp(72px, 7vw, 112px);
}

.tmnc-contact-location--full-width .tmnc-location__heading {
    max-width: 860px;
}

.tmnc-contact-location--full-width .tmnc-location__info {
    width: min(1420px, calc(100% - clamp(32px, 7vw, 120px)));
}

.tmnc-contact-location--full-width .tmnc-location__map-card {
    min-height: 620px;
    width: 100%;
    border-radius: clamp(24px, 2vw, 36px);
}

.tmnc-contact-location--full-width .tmnc-location__map iframe,
.tmnc-contact-location--full-width .tmnc-location__map .wpgmza_map,
.tmnc-contact-location--full-width .tmnc-location__map [id^="wpgmza_map"],
.tmnc-contact-location--full-width .tmnc-location__map-placeholder {
    min-height: 584px !important;
}

.tmnc-contact__media::after,
.tmnc-location__map-card::after {
    content: "";
    position: absolute;
    z-index: 4;
    pointer-events: none;
    inset: -35% auto -35% -22%;
    width: 26%;
    opacity: 0;
    transform: skewX(-18deg) translateX(-180%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
    filter: blur(2px);
}

.tmnc-contact-location--motion .tmnc-contact__media::after {
    animation: tmnc-panorama-sheen 8.5s 1.1s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-location__map-card::after {
    animation: tmnc-panorama-sheen 10.5s 2.6s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-contact__media-overlay {
    background:
        radial-gradient(circle 440px at var(--tmnc-card-x, 50%) var(--tmnc-card-y, 50%), rgba(242,197,54,.14), transparent 68%),
        linear-gradient(180deg, rgba(3,46,82,.01) 18%, rgba(3,46,82,.18) 68%, rgba(3,46,82,.56) 100%),
        linear-gradient(112deg, rgba(7,71,126,.12), transparent 48%);
}

.tmnc-location__map-card::before {
    content: "";
    position: absolute;
    z-index: 6;
    inset: 18px;
    pointer-events: none;
    opacity: .24;
    border-radius: calc(var(--tmnc-radius) - 9px);
    background:
        radial-gradient(circle 360px at var(--tmnc-map-x, 50%) var(--tmnc-map-y, 50%), rgba(242,197,54,.28), transparent 70%),
        linear-gradient(120deg, rgba(7,71,126,.08), transparent 36%, rgba(242,197,54,.05));
    mix-blend-mode: soft-light;
    transition: opacity .35s ease;
}

.tmnc-location__map-card:hover::before {
    opacity: .48;
}

.tmnc-contact-location--motion .tmnc-location__map {
    animation: tmnc-map-breathe 8s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-location__info {
    animation: tmnc-info-float 5.6s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-location__pin-icon {
    animation: tmnc-pin-pulse 2.8s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-location__directions svg {
    animation: tmnc-navigation-nudge 1.8s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-contact__wave-lines {
    animation: tmnc-wave-group 6s ease-in-out infinite;
}

.tmnc-contact-location--motion .tmnc-contact__form-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: -30% auto auto -35%;
    width: 60%;
    aspect-ratio: 1;
    border-radius: 50%;
    pointer-events: none;
    opacity: .36;
    background: radial-gradient(circle, rgba(11,111,174,.13), transparent 67%);
    animation: tmnc-form-glow 7s ease-in-out infinite alternate;
}

@keyframes tmnc-panorama-sheen {
    0%, 22% { opacity: 0; transform: skewX(-18deg) translateX(-180%); }
    38% { opacity: .58; }
    58%, 100% { opacity: 0; transform: skewX(-18deg) translateX(720%); }
}

@keyframes tmnc-map-breathe {
    0%,100% { filter: saturate(1) contrast(1); }
    50% { filter: saturate(1.08) contrast(1.025); }
}

@keyframes tmnc-info-float {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes tmnc-pin-pulse {
    0%,100% { box-shadow: 0 10px 24px rgba(3,46,82,.24), 0 0 0 0 rgba(242,197,54,.35); }
    50% { box-shadow: 0 15px 34px rgba(3,46,82,.32), 0 0 0 12px rgba(242,197,54,0); }
}

@keyframes tmnc-navigation-nudge {
    0%,100% { transform: translate(0,0) rotate(0deg); }
    50% { transform: translate(3px,-2px) rotate(4deg); }
}

@keyframes tmnc-wave-group {
    0%,100% { transform: translateX(0) translateY(0); }
    50% { transform: translateX(10px) translateY(-3px); }
}

@keyframes tmnc-form-glow {
    to { transform: translate(80px, 70px) scale(1.2); opacity: .56; }
}

@media (max-width: 1180px) {
    .tmnc-contact-location--full-width .tmnc-contact {
        grid-template-columns: minmax(0, 1.25fr) minmax(380px, .9fr);
    }

    .tmnc-contact-location--full-width .tmnc-contact__media {
        min-height: 540px !important;
    }
}

@media (max-width: 960px) {
    .tmnc-contact-location--full-width .tmnc-contact {
        grid-template-columns: 1fr;
    }

    .tmnc-contact-location--full-width .tmnc-contact__form-card {
        max-width: none;
        justify-self: stretch;
    }

    .tmnc-contact-location--full-width .tmnc-contact__media {
        min-height: 500px;
    }

    .tmnc-contact-location--full-width .tmnc-location__info {
        width: calc(100% - 28px);
    }
}

@media (max-width: 767px) {
    .tmnc-contact-location--full-width {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .tmnc-contact-location--full-width .tmnc-contact-location__inner {
        padding-inline: 14px;
    }

    .tmnc-contact-location--full-width .tmnc-contact__media {
        min-height: 360px !important;
    }

    .tmnc-contact-location--full-width .tmnc-contact__form-card {
        padding: 28px 18px;
    }

    .tmnc-contact-location--full-width .tmnc-location__map-card {
        min-height: 430px;
        padding: 10px;
    }

    .tmnc-contact-location--full-width .tmnc-location__map {
        inset: 10px;
    }

    .tmnc-contact-location--full-width .tmnc-location__map iframe,
    .tmnc-contact-location--full-width .tmnc-location__map .wpgmza_map,
    .tmnc-contact-location--full-width .tmnc-location__map [id^="wpgmza_map"],
    .tmnc-contact-location--full-width .tmnc-location__map-placeholder {
        min-height: 410px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmnc-contact-location--motion .tmnc-contact__media::after,
    .tmnc-contact-location--motion .tmnc-location__map-card::after,
    .tmnc-contact-location--motion .tmnc-location__map,
    .tmnc-contact-location--motion .tmnc-location__info,
    .tmnc-contact-location--motion .tmnc-location__pin-icon,
    .tmnc-contact-location--motion .tmnc-location__directions svg,
    .tmnc-contact-location--motion .tmnc-contact__wave-lines,
    .tmnc-contact-location--motion .tmnc-contact__form-card::after {
        animation: none !important;
    }
}


/* ========================================================================
   v1.4.2 · Ajustes móvil botón de ruta + apartado de marcas
   ======================================================================== */
.tmnc-location__map-card {
    position: relative;
    overflow: hidden;
}

.tmnc-location__directions {
    width: auto !important;
    max-width: calc(100% - 32px);
    white-space: nowrap;
    overflow: hidden !important;
    isolation: isolate;
    backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.tmnc-location__directions > * {
    position: relative;
    z-index: 2;
}

@media (hover: none), (pointer: coarse) {
    .tmnc-location__directions,
    .tmnc-location__directions:hover,
    .tmnc-location__directions:focus-visible,
    .tmnc-location__directions:active {
        transform: none !important;
        box-shadow: 0 14px 34px rgba(3,46,82,.32) !important;
    }

    .tmnc-location__directions::before,
    .tmnc-location__directions::after,
    .tmnc-location__directions .tmn-button__ripple {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .tmnc-location__map-card {
        overflow: hidden;
    }

    .tmnc-location__directions {
        left: 18px !important;
        right: auto !important;
        bottom: 18px !important;
        min-height: 44px;
        min-width: 142px;
        max-width: calc(100% - 36px);
        padding: 12px 16px !important;
        border-radius: 14px !important;
        font-size: 13.5px !important;
        line-height: 1 !important;
        box-shadow: 0 12px 28px rgba(3,46,82,.28) !important;
    }

    .tmnc-location__directions svg {
        width: 18px;
        height: 18px;
        flex: 0 0 auto;
    }

    .tmnc-location__directions span {
        flex: 0 1 auto;
    }
}

.tmn-brands-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.tmn-brands-section::before,
.tmn-brands-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.tmn-brands-section::before {
    inset: 12% -12% 10% -12%;
    background:
        radial-gradient(circle at 16% 30%, rgba(7,71,126,.08), transparent 18%),
        radial-gradient(circle at 84% 28%, rgba(242,197,54,.12), transparent 20%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,249,252,.98));
    animation: tmnb-bg-float 14s ease-in-out infinite alternate;
}

.tmn-brands-section::after {
    top: 8%;
    left: -18%;
    width: 28%;
    height: 84%;
    opacity: .22;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.88), transparent);
    transform: skewX(-18deg) translateX(-180%);
    filter: blur(2px);
    animation: tmnb-section-sheen 9s ease-in-out infinite;
}

.tmn-brands-section > .elementor-container,
.tmn-brands-section .e-con-inner,
.tmn-brands-section .elementor-widget-wrap,
.tmn-brands-section .elementor-container .elementor-column,
.tmn-brands-section .elementor-container .elementor-widget {
    position: relative;
    z-index: 2;
}

.tmn-brands-intro {
    position: relative;
    z-index: 2;
    max-width: 920px;
    margin: 0 auto 26px;
    text-align: center;
}

.tmn-brands-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: #07477e;
    font: 700 12px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tmn-brands-intro__eyebrow::before,
.tmn-brands-intro__eyebrow::after {
    content: "";
    width: 30px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f2c536, #fff4b8, #f2c536);
    background-size: 220% 100%;
    animation: tmnb-line-flow 3.4s linear infinite;
}

.tmn-brands-intro h2 {
    margin: 0;
    color: #032e52;
    font: 600 clamp(28px, 3vw, 44px)/1.08 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.tmn-brands-intro p {
    max-width: 760px;
    margin: 14px auto 0;
    color: #526477;
    font: 400 16px/1.7 Roboto, Arial, sans-serif;
}

.tmn-brands-enhanced {
    position: relative;
    isolation: isolate;
}

.tmn-brands-enhanced .elementor-image-carousel-wrapper,
.tmn-brands-enhanced .swiper,
.tmn-brands-enhanced .swiper-container,
.tmn-brands-enhanced .slick-slider {
    overflow: visible !important;
}

.tmn-brands-enhanced .swiper-wrapper,
.tmn-brands-enhanced .slick-track,
.tmn-brands-enhanced .owl-stage {
    align-items: stretch;
}

.tmn-brands-enhanced .swiper-slide,
.tmn-brands-enhanced .slick-slide,
.tmn-brands-enhanced .owl-item {
    height: auto;
    padding: 16px 10px 18px;
    box-sizing: border-box;
}

.tmn-brands-enhanced .swiper-slide > *,
.tmn-brands-enhanced .slick-slide > *,
.tmn-brands-enhanced .owl-item > * {
    height: 100%;
}

.tmn-brands-enhanced .tmn-brand-figure,
.tmn-brands-enhanced figure,
.tmn-brands-enhanced .swiper-slide > a,
.tmn-brands-enhanced .slick-slide > a,
.tmn-brands-enhanced .owl-item > a {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 148px;
    padding: 30px 26px;
    margin: 0;
    border: 1px solid rgba(7,71,126,.12);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.96));
    box-shadow: 0 16px 38px rgba(3,46,82,.1);
    overflow: hidden;
    transition: transform .34s cubic-bezier(.2,.8,.2,1), box-shadow .34s ease, border-color .34s ease, background .34s ease;
}

.tmn-brands-enhanced .tmn-brand-figure::before,
.tmn-brands-enhanced figure::before,
.tmn-brands-enhanced .swiper-slide > a::before,
.tmn-brands-enhanced .slick-slide > a::before,
.tmn-brands-enhanced .owl-item > a::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(circle 240px at var(--tmnb-x, 50%) var(--tmnb-y, 50%), rgba(242,197,54,.18), transparent 65%);
    opacity: .7;
    pointer-events: none;
}

.tmn-brands-enhanced .tmn-brand-figure::after,
.tmn-brands-enhanced figure::after,
.tmn-brands-enhanced .swiper-slide > a::after,
.tmn-brands-enhanced .slick-slide > a::after,
.tmn-brands-enhanced .owl-item > a::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    top: 0;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, rgba(7,71,126,.0), rgba(242,197,54,.95), rgba(7,71,126,.0));
    opacity: .88;
}

.tmn-brands-enhanced .swiper-slide:hover .tmn-brand-figure,
.tmn-brands-enhanced .swiper-slide:hover figure,
.tmn-brands-enhanced .swiper-slide:hover > a,
.tmn-brands-enhanced .slick-slide:hover .tmn-brand-figure,
.tmn-brands-enhanced .slick-slide:hover figure,
.tmn-brands-enhanced .owl-item:hover .tmn-brand-figure,
.tmn-brands-enhanced .owl-item:hover figure,
.tmn-brands-enhanced .owl-item:hover > a,
.tmn-brands-enhanced .tmn-brand-figure:hover,
.tmn-brands-enhanced figure:hover {
    transform: translateY(-9px) scale(1.01);
    border-color: rgba(242,197,54,.42);
    background: linear-gradient(180deg, rgba(255,255,255,1), rgba(249,251,253,.98));
    box-shadow: 0 24px 52px rgba(3,46,82,.16), 0 0 0 4px rgba(242,197,54,.07);
}

.tmn-brands-enhanced img,
.tmn-brands-enhanced .tmn-brand-logo {
    position: relative;
    z-index: 2;
    display: block;
    width: auto !important;
    max-width: 100%;
    max-height: 84px;
    object-fit: contain;
    filter: saturate(.96) contrast(1.03);
    transition: transform .34s cubic-bezier(.2,.8,.2,1), filter .34s ease, opacity .34s ease;
}

.tmn-brands-enhanced .swiper-slide:hover img,
.tmn-brands-enhanced .slick-slide:hover img,
.tmn-brands-enhanced .owl-item:hover img,
.tmn-brands-enhanced .tmn-brand-figure:hover img,
.tmn-brands-enhanced figure:hover img {
    transform: scale(1.05) translateY(-1px);
    filter: saturate(1.08) contrast(1.05);
}

.tmn-brands-enhanced .elementor-swiper-button,
.tmn-brands-enhanced .swiper-button-prev,
.tmn-brands-enhanced .swiper-button-next,
.tmn-brands-enhanced .slick-prev,
.tmn-brands-enhanced .slick-next {
    width: 46px !important;
    height: 46px !important;
    margin-top: -23px;
    border-radius: 50% !important;
    border: 1px solid rgba(7,71,126,.12) !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 14px 34px rgba(3,46,82,.12) !important;
    color: #07477e !important;
    transition: transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease !important;
}

.tmn-brands-enhanced .elementor-swiper-button:hover,
.tmn-brands-enhanced .swiper-button-prev:hover,
.tmn-brands-enhanced .swiper-button-next:hover,
.tmn-brands-enhanced .slick-prev:hover,
.tmn-brands-enhanced .slick-next:hover {
    transform: translateY(-3px) scale(1.05);
    background: linear-gradient(135deg, #032e52, #07477e) !important;
    color: #fff !important;
    box-shadow: 0 18px 42px rgba(3,46,82,.2), 0 0 0 4px rgba(242,197,54,.08) !important;
}

.tmn-brands-enhanced .elementor-swiper-button i,
.tmn-brands-enhanced .swiper-button-prev i,
.tmn-brands-enhanced .swiper-button-next i,
.tmn-brands-enhanced .slick-prev:before,
.tmn-brands-enhanced .slick-next:before {
    color: currentColor !important;
}

.tmn-brands-enhanced .swiper-pagination,
.tmn-brands-enhanced .swiper-pagination-bullets,
.tmn-brands-enhanced .slick-dots {
    position: relative;
    inset: auto !important;
    margin-top: 10px;
}

.tmn-brands-enhanced .swiper-pagination-bullet,
.tmn-brands-enhanced .slick-dots li button:before {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(7,71,126,.22);
    opacity: 1;
    transition: transform .26s ease, width .26s ease, background .26s ease;
}

.tmn-brands-enhanced .swiper-pagination-bullet-active,
.tmn-brands-enhanced .slick-dots li.slick-active button:before {
    width: 28px;
    background: linear-gradient(90deg, #032e52, #f2c536);
}

.tmn-brands-section.tmn-brands-pre-reveal .tmn-brands-intro,
.tmn-brands-section.tmn-brands-pre-reveal .tmn-brands-enhanced .swiper-slide,
.tmn-brands-section.tmn-brands-pre-reveal .tmn-brands-enhanced .slick-slide,
.tmn-brands-section.tmn-brands-pre-reveal .tmn-brands-enhanced .owl-item {
    opacity: 0;
    transform: translateY(32px) scale(.98);
}

.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-intro,
.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-enhanced .swiper-slide,
.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-enhanced .slick-slide,
.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-enhanced .owl-item {
    opacity: 1;
    transform: none;
    transition: opacity .68s ease, transform .78s cubic-bezier(.2,.8,.2,1);
}

.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-enhanced .swiper-slide,
.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-enhanced .slick-slide,
.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-enhanced .owl-item {
    transition-delay: calc(var(--tmn-brand-index, 0) * .08s);
}

.tmn-brands-section.tmn-brands-pre-reveal.is-visible .tmn-brands-intro {
    transition-delay: .08s;
}

@keyframes tmnb-bg-float {
    to { transform: translate3d(0, -12px, 0); }
}

@keyframes tmnb-section-sheen {
    0%, 24% { transform: skewX(-18deg) translateX(-180%); opacity: 0; }
    40% { opacity: .34; }
    60%,100% { transform: skewX(-18deg) translateX(620%); opacity: 0; }
}

@keyframes tmnb-line-flow {
    to { background-position: 220% 0; }
}

@media (max-width: 1024px) {
    .tmn-brands-enhanced .tmn-brand-figure,
    .tmn-brands-enhanced figure,
    .tmn-brands-enhanced .swiper-slide > a,
    .tmn-brands-enhanced .slick-slide > a,
    .tmn-brands-enhanced .owl-item > a {
        min-height: 136px;
        padding: 26px 22px;
    }

    .tmn-brands-enhanced img,
    .tmn-brands-enhanced .tmn-brand-logo {
        max-height: 72px;
    }
}

@media (max-width: 767px) {
    .tmn-brands-intro {
        margin-bottom: 18px;
    }

    .tmn-brands-intro h2 {
        font-size: 26px;
    }

    .tmn-brands-intro p {
        font-size: 14px;
        line-height: 1.62;
    }

    .tmn-brands-enhanced .swiper-slide,
    .tmn-brands-enhanced .slick-slide,
    .tmn-brands-enhanced .owl-item {
        padding: 12px 6px 14px;
    }

    .tmn-brands-enhanced .tmn-brand-figure,
    .tmn-brands-enhanced figure,
    .tmn-brands-enhanced .swiper-slide > a,
    .tmn-brands-enhanced .slick-slide > a,
    .tmn-brands-enhanced .owl-item > a {
        min-height: 118px;
        padding: 22px 18px;
        border-radius: 20px;
    }

    .tmn-brands-enhanced img,
    .tmn-brands-enhanced .tmn-brand-logo {
        max-height: 62px;
    }

    .tmn-brands-enhanced .elementor-swiper-button,
    .tmn-brands-enhanced .swiper-button-prev,
    .tmn-brands-enhanced .swiper-button-next,
    .tmn-brands-enhanced .slick-prev,
    .tmn-brands-enhanced .slick-next {
        width: 40px !important;
        height: 40px !important;
        margin-top: -20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-brands-section::before,
    .tmn-brands-section::after,
    .tmn-brands-intro__eyebrow::before,
    .tmn-brands-intro__eyebrow::after {
        animation: none !important;
    }
}


/* ========================================================================
   v1.4.3 · Ajustes mapa móvil y carrusel de marcas móvil
   ======================================================================== */
@media (max-width: 767px) {
    .tmnc-location__map-card,
    .tmnc-contact-location--full-width .tmnc-location__map-card {
        min-height: 540px !important;
        padding: 10px;
    }

    .tmnc-location__map iframe,
    .tmnc-location__map .wpgmza_map,
    .tmnc-location__map [id^="wpgmza_map"],
    .tmnc-location__map-placeholder,
    .tmnc-contact-location--full-width .tmnc-location__map iframe,
    .tmnc-contact-location--full-width .tmnc-location__map .wpgmza_map,
    .tmnc-contact-location--full-width .tmnc-location__map [id^="wpgmza_map"],
    .tmnc-contact-location--full-width .tmnc-location__map-placeholder {
        min-height: 520px !important;
    }

    .tmnc-location__pin-card {
        top: 18px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        grid-template-columns: 36px 1fr;
        gap: 10px;
        width: auto;
        max-width: calc(100% - 28px);
        padding: 9px 12px 9px 8px;
        border-radius: 16px;
    }

    .tmnc-location__pin-icon {
        width: 36px;
        height: 36px;
    }

    .tmnc-location__pin-icon svg {
        width: 20px;
        height: 20px;
    }

    .tmnc-location__pin-card strong {
        font-size: 12.5px;
        line-height: 1.2;
    }

    .tmnc-location__pin-card small {
        display: none;
    }

    .tmnc-location__directions {
        left: 14px !important;
        bottom: 14px !important;
        min-height: 42px;
        min-width: 0;
        padding: 11px 15px !important;
        border-radius: 13px !important;
        font-size: 14px !important;
        box-shadow: 0 10px 24px rgba(3,46,82,.25) !important;
    }

    .tmnc-location__directions svg {
        width: 17px;
        height: 17px;
    }

    .tmn-brands-enhanced .elementor-swiper-button,
    .tmn-brands-enhanced .swiper-button-prev,
    .tmn-brands-enhanced .swiper-button-next,
    .tmn-brands-enhanced .slick-prev,
    .tmn-brands-enhanced .slick-next {
        display: none !important;
    }

    .tmn-brands-enhanced .swiper-slide,
    .tmn-brands-enhanced .slick-slide,
    .tmn-brands-enhanced .owl-item {
        padding-left: 10px;
        padding-right: 10px;
    }

    .tmn-brands-enhanced .tmn-brand-figure,
    .tmn-brands-enhanced figure,
    .tmn-brands-enhanced .swiper-slide > a,
    .tmn-brands-enhanced .slick-slide > a,
    .tmn-brands-enhanced .owl-item > a {
        min-height: 126px;
        padding: 22px 20px;
    }
}


/* ========================================================================
   v1.4.4 · Ocultar por completo navegación lateral de marcas
   ======================================================================== */
.tmn-brands-enhanced .elementor-swiper-button,
.tmn-brands-enhanced .elementor-swiper-button-prev,
.tmn-brands-enhanced .elementor-swiper-button-next,
.tmn-brands-enhanced .swiper-button-prev,
.tmn-brands-enhanced .swiper-button-next,
.tmn-brands-enhanced .swiper-button-disabled,
.tmn-brands-enhanced .slick-prev,
.tmn-brands-enhanced .slick-next,
.tmn-brands-enhanced .owl-prev,
.tmn-brands-enhanced .owl-next,
.tmn-brands-enhanced [class*="swiper-button"],
.tmn-brands-enhanced [class*="carousel-control"],
.tmn-brands-enhanced [class*="slider-arrow"],
.tmn-brands-enhanced [class*="slick-arrow"],
.tmn-brands-enhanced [aria-label*="Previous"],
.tmn-brands-enhanced [aria-label*="Next"],
.tmn-brands-enhanced [aria-label*="Anterior"],
.tmn-brands-enhanced [aria-label*="Siguiente"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.tmn-brands-enhanced .swiper,
.tmn-brands-enhanced .swiper-container,
.tmn-brands-enhanced .elementor-image-carousel-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ========================================================================
   v1.4.5 · Eliminación definitiva de iconos laterales en marcas
   ======================================================================== */
.tmn-brands-section .elementor-swiper-button,
.tmn-brands-section .elementor-swiper-button-prev,
.tmn-brands-section .elementor-swiper-button-next,
.tmn-brands-section .swiper-button-prev,
.tmn-brands-section .swiper-button-next,
.tmn-brands-section .slick-prev,
.tmn-brands-section .slick-next,
.tmn-brands-section .owl-prev,
.tmn-brands-section .owl-next,
.tmn-brands-section [class*="swiper-button"],
.tmn-brands-section [class*="carousel-control"],
.tmn-brands-section [class*="slider-arrow"],
.tmn-brands-section [class*="slick-arrow"],
.tmn-brands-section [aria-label*="Previous"],
.tmn-brands-section [aria-label*="Next"],
.tmn-brands-section [aria-label*="Anterior"],
.tmn-brands-section [aria-label*="Siguiente"],
.tmn-brands-section [title*="Previous"],
.tmn-brands-section [title*="Next"],
.tmn-brands-section [title*="Anterior"],
.tmn-brands-section [title*="Siguiente"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.tmn-brands-section .eicon-chevron-right,
.tmn-brands-section .eicon-chevron-left,
.tmn-brands-section .fa-chevron-right,
.tmn-brands-section .fa-chevron-left {
    pointer-events: none;
}

/* ========================================================================
   Footer Náutico · v1.5.0
   ======================================================================== */
.tmnf-footer {
    --tmnf-navy: #032e52;
    --tmnf-blue: #07477e;
    --tmnf-gold: #f2c536;
    --tmnf-white: #ffffff;
    --tmnf-text: rgba(255,255,255,.76);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    color: var(--tmnf-white);
    background:
        radial-gradient(circle at 18% 20%, rgba(21,111,178,.32), transparent 25%),
        radial-gradient(circle at 82% 18%, rgba(242,197,54,.14), transparent 20%),
        linear-gradient(135deg, #021f39 0%, var(--tmnf-navy) 48%, #052844 100%);
    font-family: Roboto, Arial, sans-serif;
}

.tmnf-footer,
.tmnf-footer * {
    box-sizing: border-box;
}

.tmnf-footer--full-width {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.tmnf-footer__container {
    position: relative;
    z-index: 3;
    width: min(1380px, calc(100% - 48px));
    margin: 0 auto;
    padding: 56px 0 0;
}

.tmnf-footer__ambient,
.tmnf-footer__waves {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.tmnf-footer__ambient {
    border-radius: 50%;
    filter: blur(16px);
    opacity: .7;
}

.tmnf-footer__ambient--one {
    top: -140px;
    left: -110px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(17,119,191,.34), transparent 68%);
}

.tmnf-footer__ambient--two {
    right: -160px;
    bottom: 40px;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(242,197,54,.16), transparent 70%);
}

.tmnf-footer__waves {
    inset: 0;
    opacity: .22;
    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
        radial-gradient(ellipse at 14% 100%, transparent 0 34%, rgba(255,255,255,.06) 34.4% 35%, transparent 35.4% 41%, rgba(255,255,255,.04) 41.4% 42%, transparent 42.4%);
    background-size: 58px 58px, 58px 58px, 900px 460px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 100%);
}

.tmnf-footer__cta {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 30px 34px;
    margin-bottom: 48px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.05)),
        linear-gradient(135deg, rgba(7,71,126,.72), rgba(3,46,82,.82));
    box-shadow: 0 26px 70px rgba(0,18,38,.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.tmnf-footer__cta::before,
.tmnf-footer__cta::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.tmnf-footer__cta::before {
    inset: -80% auto -80% -28%;
    width: 30%;
    opacity: 0;
    transform: skewX(-18deg) translateX(-170%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
}

.tmnf-footer__cta::after {
    right: -80px;
    top: -90px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242,197,54,.24), transparent 68%);
}

.tmnf-footer__cta > * {
    position: relative;
    z-index: 2;
}

.tmnf-footer__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--tmnf-gold);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.tmnf-footer__eyebrow::before {
    content: "";
    width: 30px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnf-gold), #fff1a6, var(--tmnf-gold));
    background-size: 220% 100%;
}

.tmnf-footer__cta h2 {
    margin: 0;
    color: #fff;
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: clamp(26px, 2.5vw, 40px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.03em;
}

.tmnf-footer__cta p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.6;
}

.tmnf-footer__cta-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    padding: 15px 22px;
    border-radius: 14px;
    color: var(--tmnf-navy) !important;
    background: linear-gradient(120deg, var(--tmnf-gold), #ffe78a, var(--tmnf-gold));
    background-size: 220% 100%;
    box-shadow: 0 16px 34px rgba(242,197,54,.23);
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
}

.tmnf-footer__cta-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    transform: translateX(-130%) skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
    transition: transform .75s ease;
}

.tmnf-footer__cta-button > * {
    position: relative;
    z-index: 2;
}

.tmnf-footer__cta-button svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s ease;
}

.tmnf-footer__cta-button:hover,
.tmnf-footer__cta-button:focus-visible {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 21px 42px rgba(242,197,54,.32), 0 0 0 4px rgba(242,197,54,.09);
}

.tmnf-footer__cta-button:hover::before,
.tmnf-footer__cta-button:focus-visible::before {
    transform: translateX(130%) skewX(-18deg);
}

.tmnf-footer__cta-button:hover svg,
.tmnf-footer__cta-button:focus-visible svg {
    transform: translateX(5px);
}

.tmnf-footer__grid {
    display: grid;
    grid-template-columns: minmax(250px, 1.2fr) minmax(180px, .65fr) minmax(280px, 1fr) minmax(250px, .9fr);
    gap: clamp(30px, 4vw, 62px);
    align-items: start;
    padding-bottom: 48px;
}

.tmnf-footer__column {
    position: relative;
    min-width: 0;
}

.tmnf-footer__column h3 {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 13px;
    color: #fff;
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
}

.tmnf-footer__column h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnf-gold), rgba(242,197,54,.18));
}

.tmnf-footer__logo-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 138px;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.96));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 20px 46px rgba(0,17,35,.2);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}

.tmnf-footer__logo-shell > img {
    display: block;
    max-width: 100%;
    max-height: 110px;
    object-fit: contain;
}

.tmnf-footer__fallback-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
}

.tmnf-footer__fallback-mark {
    width: 54px;
    height: auto;
    flex: 0 0 auto;
}

.tmnf-footer__fallback-word {
    width: min(250px, calc(100% - 68px));
    height: auto;
}

.tmnf-footer__logo-shell:hover {
    transform: translateY(-7px);
    box-shadow: 0 28px 58px rgba(0,17,35,.28), 0 0 0 4px rgba(242,197,54,.06);
}

.tmnf-footer__about {
    margin: 20px 0 0;
    color: var(--tmnf-text);
    font-size: 15px;
    line-height: 1.75;
}

.tmnf-footer__trust {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    color: rgba(255,255,255,.9);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tmnf-footer__trust span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--tmnf-gold);
    box-shadow: 0 0 0 6px rgba(242,197,54,.1);
}

.tmnf-footer__links {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tmnf-footer__links a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    color: rgba(255,255,255,.78) !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: 15px;
    text-decoration: none !important;
    transition: color .25s ease, padding-left .25s ease, border-color .25s ease;
}

.tmnf-footer__links a svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .55;
    transition: transform .25s ease, opacity .25s ease;
}

.tmnf-footer__links a:hover,
.tmnf-footer__links a:focus-visible {
    padding-left: 7px;
    color: #fff !important;
    border-color: rgba(242,197,54,.28);
}

.tmnf-footer__links a:hover svg,
.tmnf-footer__links a:focus-visible svg {
    transform: translateX(4px);
    opacity: 1;
    color: var(--tmnf-gold);
}

.tmnf-footer__contact-list,
.tmnf-footer__schedule {
    display: grid;
    gap: 12px;
}

.tmnf-footer__contact-item,
.tmnf-footer__schedule-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.84) !important;
    text-decoration: none !important;
    transition: transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.tmnf-footer__contact-icon,
.tmnf-footer__schedule-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(242,197,54,.18), rgba(255,255,255,.06));
    color: var(--tmnf-gold);
}

.tmnf-footer__contact-icon svg,
.tmnf-footer__schedule-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tmnf-footer__contact-item span:last-child,
.tmnf-footer__schedule-row span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.45;
}

.tmnf-footer__contact-item small,
.tmnf-footer__schedule-row small {
    display: block;
    margin-bottom: 3px;
    color: rgba(255,255,255,.52);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.tmnf-footer__schedule-row strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 14px;
}

.tmnf-footer__contact-item:hover,
.tmnf-footer__contact-item:focus-visible,
.tmnf-footer__schedule-row:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.075);
    border-color: rgba(242,197,54,.22);
    box-shadow: 0 16px 30px rgba(0,17,35,.16);
}

.tmnf-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-height: 78px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,.11);
    color: rgba(255,255,255,.58);
    font-size: 13px;
}

.tmnf-footer__bottom p {
    margin: 0;
}

.tmnf-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 18px;
}

.tmnf-footer__legal a,
.tmnf-footer__credit {
    position: relative;
    color: rgba(255,255,255,.68) !important;
    text-decoration: none !important;
    transition: color .25s ease;
}

.tmnf-footer__legal a::after,
.tmnf-footer__credit::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -4px;
    height: 2px;
    background: var(--tmnf-gold);
    transition: right .28s ease;
}

.tmnf-footer__legal a:hover,
.tmnf-footer__legal a:focus-visible,
.tmnf-footer__credit:hover,
.tmnf-footer__credit:focus-visible {
    color: #fff !important;
}

.tmnf-footer__legal a:hover::after,
.tmnf-footer__legal a:focus-visible::after,
.tmnf-footer__credit:hover::after,
.tmnf-footer__credit:focus-visible::after {
    right: 0;
}

.tmnf-footer--motion .tmnf-footer__ambient--one {
    animation: tmnf-orb-one 13s ease-in-out infinite alternate;
}

.tmnf-footer--motion .tmnf-footer__ambient--two {
    animation: tmnf-orb-two 15s ease-in-out infinite alternate;
}

.tmnf-footer--motion .tmnf-footer__cta::before {
    animation: tmnf-sheen 8s ease-in-out infinite;
}

.tmnf-footer--motion .tmnf-footer__eyebrow::before {
    animation: tmnf-line 3.3s linear infinite;
}

.tmnf-footer--motion .tmnf-footer__cta-button {
    animation: tmnf-button 4.2s ease infinite;
}

.tmnf-footer--pre-reveal .tmnf-footer__cta,
.tmnf-footer--pre-reveal .tmnf-footer__column,
.tmnf-footer--pre-reveal .tmnf-footer__bottom {
    opacity: 0;
    transform: translateY(28px);
}

.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__cta,
.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__column,
.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__bottom {
    opacity: 1;
    transform: none;
    transition: opacity .72s ease, transform .78s cubic-bezier(.2,.8,.2,1);
}

.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__cta {
    transition-delay: .06s;
}

.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__column:nth-child(1) { transition-delay: .14s; }
.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__column:nth-child(2) { transition-delay: .21s; }
.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__column:nth-child(3) { transition-delay: .28s; }
.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__column:nth-child(4) { transition-delay: .35s; }
.tmnf-footer--pre-reveal.tmnf-footer--visible .tmnf-footer__bottom { transition-delay: .42s; }

@keyframes tmnf-orb-one {
    to { transform: translate3d(70px, 40px, 0) scale(1.1); }
}

@keyframes tmnf-orb-two {
    to { transform: translate3d(-80px, -35px, 0) scale(1.16); }
}

@keyframes tmnf-sheen {
    0%, 28% { opacity: 0; transform: skewX(-18deg) translateX(-170%); }
    42% { opacity: .44; }
    62%, 100% { opacity: 0; transform: skewX(-18deg) translateX(650%); }
}

@keyframes tmnf-line {
    to { background-position: 220% 0; }
}

@keyframes tmnf-button {
    0%, 100% { background-position: 0 50%; }
    50% { background-position: 100% 50%; }
}

@media (max-width: 1180px) {
    .tmnf-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .tmnf-footer__container {
        width: min(100% - 28px, 720px);
        padding-top: 34px;
    }

    .tmnf-footer__cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px 22px;
        margin-bottom: 34px;
        border-radius: 22px;
    }

    .tmnf-footer__cta-button {
        width: 100%;
    }

    .tmnf-footer__grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-bottom: 34px;
    }

    .tmnf-footer__logo-shell {
        min-height: 126px;
    }

    .tmnf-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px 0 30px;
    }

    .tmnf-footer__legal {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .tmnf-footer__container {
        width: calc(100% - 22px);
    }

    .tmnf-footer__cta {
        padding: 22px 17px;
    }

    .tmnf-footer__cta h2 {
        font-size: 25px;
    }

    .tmnf-footer__cta p {
        font-size: 14px;
    }

    .tmnf-footer__logo-shell {
        padding: 18px;
    }

    .tmnf-footer__fallback-mark {
        width: 46px;
    }

    .tmnf-footer__fallback-word {
        width: min(210px, calc(100% - 60px));
    }

    .tmnf-footer__contact-item,
    .tmnf-footer__schedule-row {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 9px 10px;
    }

    .tmnf-footer__contact-icon,
    .tmnf-footer__schedule-icon {
        width: 38px;
        height: 38px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmnf-footer *,
    .tmnf-footer *::before,
    .tmnf-footer *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

.tmnf-footer__ripple {
    position: absolute !important;
    z-index: 1 !important;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(255,255,255,.56);
    transform: scale(0);
    animation: tmnf-ripple .72s ease-out forwards;
}

@keyframes tmnf-ripple {
    to { transform: scale(1); opacity: 0; }
}


/* ========================================================================
   v1.6.0 · Página Servicios Náuticos
   ======================================================================== */
.tmn-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .75s ease, transform .9s cubic-bezier(.2,.8,.2,1);
}
.tmn-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* Hero de servicios */
.tmnsh {
    --tmnsh-navy: #073c68;
    --tmnsh-dark: #022743;
    --tmnsh-gold: #f2c536;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 720px;
    color: #fff;
    background:
        radial-gradient(circle at 74% 24%, rgba(73,186,255,.18), transparent 25%),
        radial-gradient(circle at 12% 82%, rgba(242,197,54,.12), transparent 23%),
        linear-gradient(135deg, var(--tmnsh-dark) 0%, var(--tmnsh-navy) 58%, #0d568e 100%);
}
.tmnsh::before,
.tmnsh::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.tmnsh::before {
    inset: 0;
    opacity: .5;
    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: 64px 64px;
    mask-image: linear-gradient(90deg, #000, transparent 85%);
}
.tmnsh::after {
    width: 520px;
    height: 520px;
    right: -180px;
    top: -160px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 0 0 56px rgba(255,255,255,.025), 0 0 0 112px rgba(255,255,255,.018);
    animation: tmnsh-orbit 18s linear infinite;
}
.tmnsh__inner {
    width: min(1460px, calc(100% - 64px));
    min-height: 720px;
    margin: 0 auto;
    padding: 82px 0 72px;
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(460px, .82fr);
    align-items: center;
    gap: clamp(48px, 7vw, 112px);
}
.tmnsh__content {
    position: relative;
    z-index: 4;
}
.tmnsh__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: #ffe27c;
    font: 700 12px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.tmnsh__eyebrow i {
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnsh-gold), #fff4b5, var(--tmnsh-gold));
    background-size: 220% 100%;
    animation: tmnsh-line 3.4s linear infinite;
}
.tmnsh__title {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font: 600 clamp(48px, 5.2vw, 82px)/.99 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.05em;
    text-wrap: balance;
}
.tmnsh__title strong {
    display: block;
    color: var(--tmnsh-gold);
    font-weight: 600;
}
.tmnsh__description {
    max-width: 690px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.82);
    font: 400 19px/1.72 Roboto, Arial, sans-serif;
}
.tmnsh__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}
.tmnsh__button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 56px;
    padding: 16px 24px;
    border-radius: 15px;
    text-decoration: none !important;
    font: 700 15px/1 Roboto, Arial, sans-serif;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.tmnsh__button::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-135%) skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
    transition: transform .8s ease;
}
.tmnsh__button:hover::before { transform: translateX(135%) skewX(-18deg); }
.tmnsh__button:hover { transform: translateY(-5px); }
.tmnsh__button span,
.tmnsh__button b { position: relative; z-index: 2; }
.tmnsh__button b { font-size: 20px; transition: transform .3s ease; }
.tmnsh__button:hover b { transform: translateX(5px); }
.tmnsh__button--primary {
    color: var(--tmnsh-dark) !important;
    background: linear-gradient(120deg, var(--tmnsh-gold), #ffe889, var(--tmnsh-gold));
    background-size: 220% 100%;
    box-shadow: 0 18px 38px rgba(242,197,54,.24);
    animation: tmnsh-button 4.4s ease infinite;
}
.tmnsh__button--secondary {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(8px);
}
.tmnsh__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
    margin-top: 42px;
}
.tmnsh__stat {
    position: relative;
    min-height: 104px;
    padding: 17px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(9px);
    transition: transform .32s ease, background .32s ease, border-color .32s ease;
}
.tmnsh__stat:hover {
    transform: translateY(-7px);
    background: rgba(255,255,255,.1);
    border-color: rgba(242,197,54,.35);
}
.tmnsh__stat strong {
    display: block;
    color: var(--tmnsh-gold);
    font: 700 28px/1 Armata, Roboto, Arial, sans-serif;
}
.tmnsh__stat span {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.76);
    font: 500 12px/1.45 Roboto, Arial, sans-serif;
}
.tmnsh__visual {
    position: relative;
    z-index: 3;
    perspective: 1200px;
    transform-style: preserve-3d;
    transition: transform .24s ease-out;
}
.tmnsh__image-wrap {
    position: relative;
    overflow: hidden;
    min-height: 540px;
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.07);
    box-shadow: 0 38px 90px rgba(0,18,36,.36), inset 0 1px 0 rgba(255,255,255,.12);
}
.tmnsh__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2,31,56,.02), rgba(2,31,56,.36));
}
.tmnsh__image-wrap img {
    width: 100%;
    height: 540px;
    display: block;
    object-fit: cover;
    filter: saturate(.95) contrast(1.04);
    transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter .5s ease;
}
.tmnsh__visual:hover .tmnsh__image-wrap img {
    transform: scale(1.055);
    filter: saturate(1.04) contrast(1.04);
}
.tmnsh__image-shine {
    position: absolute;
    inset: -30% auto -30% -42%;
    width: 34%;
    z-index: 3;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
    animation: tmnsh-shine 8s ease-in-out infinite;
}
.tmnsh__visual-label {
    position: absolute;
    left: -34px;
    bottom: 36px;
    z-index: 5;
    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 14px;
    max-width: 330px;
    padding: 14px 18px 14px 13px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(4,43,75,.88);
    box-shadow: 0 22px 46px rgba(0,18,36,.3);
    backdrop-filter: blur(15px);
    animation: tmnsh-float 4.8s ease-in-out infinite;
}
.tmnsh__visual-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: var(--tmnsh-dark);
    background: linear-gradient(135deg, var(--tmnsh-gold), #ffe98c);
    font-size: 24px;
}
.tmnsh__visual-label small {
    display: block;
    color: #ffe27c;
    font: 700 10px/1.2 Roboto, Arial, sans-serif;
    letter-spacing: .12em;
}
.tmnsh__visual-label strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font: 700 14px/1.35 Roboto, Arial, sans-serif;
}
.tmnsh__orbit {
    position: absolute;
    right: -42px;
    top: -42px;
    width: 150px;
    height: 150px;
    z-index: -1;
    border: 1px solid rgba(242,197,54,.35);
    border-radius: 50%;
    animation: tmnsh-orbit 15s linear infinite;
}
.tmnsh__orbit span {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--tmnsh-gold);
    box-shadow: 0 0 20px rgba(242,197,54,.55);
}
.tmnsh__orbit span:nth-child(1) { left: 20px; top: 22px; }
.tmnsh__orbit span:nth-child(2) { right: 11px; top: 68px; width: 7px; height: 7px; }
.tmnsh__orbit span:nth-child(3) { left: 55px; bottom: 2px; width: 6px; height: 6px; }
.tmnsh__waves {
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -4px;
    height: 120px;
    z-index: 1;
    opacity: .2;
    overflow: hidden;
}
.tmnsh__waves span {
    position: absolute;
    left: -10%;
    width: 120%;
    height: 70px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50%;
    animation: tmnsh-wave 9s ease-in-out infinite alternate;
}
.tmnsh__waves span:nth-child(1) { bottom: -35px; }
.tmnsh__waves span:nth-child(2) { bottom: -20px; animation-delay: -3s; opacity: .7; }
.tmnsh__waves span:nth-child(3) { bottom: -4px; animation-delay: -6s; opacity: .45; }

/* Explorador de servicios */
.tmnse {
    --tmnse-navy: #07477e;
    --tmnse-dark: #032e52;
    --tmnse-gold: #f2c536;
    --tmnse-bg: #f5f8fc;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 108px 0 120px;
    background: var(--tmnse-bg);
}
.tmnse__decor span {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(2px);
}
.tmnse__decor span:nth-child(1) {
    width: 420px;
    height: 420px;
    left: -220px;
    top: 120px;
    background: radial-gradient(circle, rgba(7,71,126,.1), transparent 70%);
}
.tmnse__decor span:nth-child(2) {
    width: 380px;
    height: 380px;
    right: -180px;
    top: 30px;
    background: radial-gradient(circle, rgba(242,197,54,.14), transparent 70%);
}
.tmnse__decor span:nth-child(3) {
    inset: 0;
    border-radius: 0;
    opacity: .45;
    background-image:
        linear-gradient(rgba(7,71,126,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.026) 1px, transparent 1px);
    background-size: 54px 54px;
}
.tmnse__header,
.tmnse__shell {
    position: relative;
    z-index: 2;
    width: min(1460px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}
.tmnse__header {
    max-width: 860px;
    margin-bottom: 44px;
    text-align: center;
}
.tmnse__eyebrow {
    display: inline-block;
    color: var(--tmnse-navy);
    font: 700 12px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.tmnse__header h2 {
    margin: 14px 0 0;
    color: var(--tmnse-dark);
    font: 600 clamp(38px, 4.2vw, 64px)/1.05 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.04em;
}
.tmnse__header p {
    max-width: 760px;
    margin: 18px auto 0;
    color: #5c6e80;
    font: 400 17px/1.72 Roboto, Arial, sans-serif;
}
.tmnse__shell {
    display: grid;
    grid-template-columns: 390px minmax(0,1fr);
    gap: 26px;
    align-items: stretch;
}
.tmnse__nav {
    display: grid;
    gap: 10px;
    align-content: start;
}
.tmnse__tab {
    --tmn-progress: 0%;
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 102px;
    display: grid;
    grid-template-columns: 42px 48px minmax(0,1fr) 24px;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 14px 14px;
    border: 1px solid rgba(7,71,126,.11);
    border-radius: 20px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 12px 32px rgba(3,46,82,.07);
    text-align: left;
    cursor: pointer;
    transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease;
}
.tmnse__tab:hover,
.tmnse__tab.is-active {
    transform: translateX(8px);
    border-color: rgba(242,197,54,.48);
    background: #fff;
    box-shadow: 0 20px 42px rgba(3,46,82,.13), 0 0 0 4px rgba(242,197,54,.06);
}
.tmnse__tab-number {
    color: rgba(7,71,126,.44);
    font: 700 12px/1 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .08em;
}
.tmnse__tab-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--tmnse-navy);
    background: rgba(7,71,126,.08);
    transition: transform .3s ease, color .3s ease, background .3s ease;
}
.tmnse__tab-icon svg { width: 21px; height: 21px; fill: currentColor; }
.tmnse__tab.is-active .tmnse__tab-icon,
.tmnse__tab:hover .tmnse__tab-icon {
    color: var(--tmnse-dark);
    background: linear-gradient(135deg, var(--tmnse-gold), #ffe98c);
    transform: rotate(-5deg) scale(1.05);
}
.tmnse__tab-copy { min-width: 0; }
.tmnse__tab-copy small {
    display: block;
    color: #7b8997;
    font: 700 10px/1.25 Roboto, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tmnse__tab-copy strong {
    display: block;
    margin-top: 6px;
    color: var(--tmnse-dark);
    font: 700 15px/1.25 Roboto, Arial, sans-serif;
}
.tmnse__tab-arrow {
    color: var(--tmnse-navy);
    font-size: 20px;
    transition: transform .3s ease;
}
.tmnse__tab.is-active .tmnse__tab-arrow,
.tmnse__tab:hover .tmnse__tab-arrow { transform: translateX(5px); }
.tmnse__tab-progress {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnse-gold) var(--tmn-progress), transparent var(--tmn-progress));
}
.tmnse__panels {
    position: relative;
    min-height: 652px;
}
.tmnse__panel {
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
    border-radius: 30px;
    border: 1px solid rgba(7,71,126,.1);
    background: #fff;
    box-shadow: 0 30px 70px rgba(3,46,82,.13);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(.985);
    transition: opacity .5s ease, transform .62s cubic-bezier(.2,.8,.2,1), visibility .5s;
}
.tmnse__panel.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: none;
}
.tmnse__panel[hidden] { display: grid !important; }
.tmnse__media {
    position: relative;
    overflow: hidden;
    min-height: 652px;
    background: var(--tmnse-dark);
}
.tmnse__media img {
    width: 100%;
    height: 100%;
    min-height: 652px;
    display: block;
    object-fit: cover;
    transition: transform 1s cubic-bezier(.2,.8,.2,1), filter .45s ease;
}
.tmnse__panel.is-active .tmnse__media img { animation: tmnse-media-in .9s cubic-bezier(.2,.8,.2,1) both; }
.tmnse__media:hover img { transform: scale(1.045); }
.tmnse__media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(3,46,82,.04), rgba(3,46,82,.55));
}
.tmnse__media-index {
    position: absolute;
    left: 28px;
    top: 26px;
    color: rgba(255,255,255,.72);
    font: 600 52px/1 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.04em;
}
.tmnse__media-badge {
    position: absolute;
    left: 28px;
    bottom: 28px;
    padding: 11px 15px;
    border-radius: 999px;
    color: var(--tmnse-dark);
    background: linear-gradient(135deg, var(--tmnse-gold), #ffe98d);
    box-shadow: 0 14px 30px rgba(0,0,0,.16);
    font: 700 11px/1 Roboto, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tmnse__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 4.4vw, 66px);
}
.tmnse__content-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 19px;
    color: var(--tmnse-dark);
    background: linear-gradient(135deg, var(--tmnse-gold), #ffe98d);
    box-shadow: 0 16px 32px rgba(242,197,54,.2);
}
.tmnse__content-icon svg { width: 27px; height: 27px; fill: currentColor; }
.tmnse__content h3 {
    margin: 24px 0 0;
    color: var(--tmnse-dark);
    font: 600 clamp(30px, 3vw, 46px)/1.08 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.04em;
}
.tmnse__content > p {
    margin: 18px 0 0;
    color: #5d6d7e;
    font: 400 16px/1.72 Roboto, Arial, sans-serif;
}
.tmnse__content ul {
    display: grid;
    gap: 11px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}
.tmnse__content li {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 10px;
    align-items: start;
    color: #334b60;
    font: 600 14px/1.45 Roboto, Arial, sans-serif;
}
.tmnse__content li span {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--tmnse-dark);
    background: rgba(242,197,54,.28);
    font-size: 12px;
}
.tmnse__button {
    position: relative;
    overflow: hidden;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    margin-top: 30px;
    padding: 15px 21px;
    border-radius: 14px;
    color: #fff !important;
    background: linear-gradient(135deg, var(--tmnse-dark), var(--tmnse-navy));
    box-shadow: 0 17px 34px rgba(3,46,82,.22);
    text-decoration: none !important;
    font: 700 14px/1 Roboto, Arial, sans-serif;
    transition: transform .3s ease, box-shadow .3s ease;
}
.tmnse__button::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-130%) skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
    transition: transform .8s ease;
}
.tmnse__button:hover { transform: translateY(-4px); box-shadow: 0 22px 42px rgba(3,46,82,.28); }
.tmnse__button:hover::before { transform: translateX(130%) skewX(-18deg); }
.tmnse__button span,
.tmnse__button b { position: relative; z-index: 2; }
.tmnse__button b { font-size: 20px; transition: transform .3s ease; }
.tmnse__button:hover b { transform: translateX(5px); }

/* Proceso */
.tmnsp {
    --tmnsp-navy: #07477e;
    --tmnsp-dark: #032e52;
    --tmnsp-gold: #f2c536;
    position: relative;
    overflow: hidden;
    padding: 108px 0 96px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 25%, rgba(72,185,255,.13), transparent 24%),
        radial-gradient(circle at 82% 78%, rgba(242,197,54,.12), transparent 22%),
        linear-gradient(135deg, var(--tmnsp-dark), #063f6d 62%, #0a4c7e);
}
.tmnsp::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .38;
    background-image:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
    background-size: 58px 58px;
}
.tmnsp__inner {
    position: relative;
    z-index: 2;
    width: min(1460px, calc(100% - 64px));
    margin: 0 auto;
}
.tmnsp__header {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}
.tmnsp__header > span {
    color: #ffe27b;
    font: 700 12px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.tmnsp__header h2 {
    margin: 14px 0 0;
    color: #fff;
    font: 600 clamp(38px, 4vw, 62px)/1.06 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.04em;
}
.tmnsp__header p {
    max-width: 760px;
    margin: 18px auto 0;
    color: rgba(255,255,255,.74);
    font: 400 17px/1.72 Roboto, Arial, sans-serif;
}
.tmnsp__timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
    margin-top: 58px;
}
.tmnsp__line {
    position: absolute;
    left: 8%;
    right: 8%;
    top: 42px;
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.12);
}
.tmnsp__line i {
    display: block;
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, var(--tmnsp-gold), #fff3ae, var(--tmnsp-gold));
    animation: tmnsp-line 4.8s ease-in-out infinite;
}
.tmnsp__step {
    position: relative;
    min-height: 300px;
    padding: 28px 24px 25px;
    border-radius: 23px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,20,40,.12);
    backdrop-filter: blur(10px);
    transition: transform .35s ease, background .35s ease, border-color .35s ease;
}
.tmnsp__step:hover {
    transform: translateY(-10px);
    background: rgba(255,255,255,.09);
    border-color: rgba(242,197,54,.32);
}
.tmnsp__number {
    position: absolute;
    right: 20px;
    top: 20px;
    color: rgba(255,255,255,.22);
    font: 700 34px/1 Armata, Roboto, Arial, sans-serif;
}
.tmnsp__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--tmnsp-dark);
    background: linear-gradient(135deg, var(--tmnsp-gold), #ffe98d);
    box-shadow: 0 15px 30px rgba(242,197,54,.16);
    transition: transform .35s ease;
}
.tmnsp__step:hover .tmnsp__icon { transform: rotate(-6deg) scale(1.06); }
.tmnsp__icon svg { width: 24px; height: 24px; fill: currentColor; }
.tmnsp__step h3 {
    margin: 25px 0 0;
    color: #fff;
    font: 700 20px/1.25 Roboto, Arial, sans-serif;
}
.tmnsp__step p {
    margin: 13px 0 0;
    color: rgba(255,255,255,.7);
    font: 400 14px/1.65 Roboto, Arial, sans-serif;
}
.tmnsp__cta {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 40px;
    margin-top: 72px;
    padding: 42px 46px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.07);
    box-shadow: 0 30px 66px rgba(0,19,38,.22), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
}
.tmnsp__cta-copy { position: relative; z-index: 2; }
.tmnsp__cta-copy > span {
    color: #ffe27b;
    font: 700 11px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .16em;
}
.tmnsp__cta-copy h2 {
    max-width: 900px;
    margin: 10px 0 0;
    color: #fff;
    font: 600 clamp(30px, 3vw, 46px)/1.1 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.035em;
}
.tmnsp__cta-copy p {
    max-width: 760px;
    margin: 14px 0 0;
    color: rgba(255,255,255,.7);
    font: 400 15px/1.65 Roboto, Arial, sans-serif;
}
.tmnsp__button {
    position: relative;
    z-index: 2;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 58px;
    padding: 17px 25px;
    border-radius: 15px;
    color: var(--tmnsp-dark) !important;
    background: linear-gradient(120deg, var(--tmnsp-gold), #ffe98d, var(--tmnsp-gold));
    background-size: 220% 100%;
    box-shadow: 0 18px 38px rgba(242,197,54,.24);
    text-decoration: none !important;
    font: 700 15px/1 Roboto, Arial, sans-serif;
    animation: tmnsh-button 4.4s ease infinite;
    transition: transform .3s ease;
}
.tmnsp__button:hover { transform: translateY(-5px); }
.tmnsp__button b { font-size: 20px; transition: transform .3s ease; }
.tmnsp__button:hover b { transform: translateX(5px); }
.tmnsp__cta-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: -180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242,197,54,.16), transparent 68%);
    animation: tmnsp-glow 6s ease-in-out infinite alternate;
}

@keyframes tmnsh-line { to { background-position: 220% 0; } }
@keyframes tmnsh-button { 0%,100% { background-position: 0 50%; } 50% { background-position: 100% 50%; } }
@keyframes tmnsh-shine { 0%,24% { transform: translateX(-180%) skewX(-18deg); opacity:0; } 42% { opacity:.6; } 62%,100% { transform: translateX(620%) skewX(-18deg); opacity:0; } }
@keyframes tmnsh-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes tmnsh-orbit { to { transform: rotate(360deg); } }
@keyframes tmnsh-wave { to { transform: translateX(4%) scaleY(1.08); } }
@keyframes tmnse-media-in { from { transform: scale(1.055); filter: blur(3px); } to { transform: scale(1); filter: blur(0); } }
@keyframes tmnsp-line { 0%,15% { transform: translateX(-100%); } 70%,100% { transform: translateX(100%); } }
@keyframes tmnsp-glow { to { transform: translate(-55px,50px) scale(1.16); opacity:.75; } }

@media (max-width: 1180px) {
    .tmnsh__inner { grid-template-columns: minmax(0,1fr) 430px; gap: 44px; }
    .tmnsh__title { font-size: 58px; }
    .tmnse__shell { grid-template-columns: 330px minmax(0,1fr); }
    .tmnse__panel { grid-template-columns: minmax(0,1fr) 390px; }
    .tmnse__content { padding: 38px; }
}
@media (max-width: 1024px) {
    .tmnsh { min-height: auto; }
    .tmnsh__inner { min-height: auto; grid-template-columns: 1fr; padding: 72px 0 86px; }
    .tmnsh__content { max-width: 820px; }
    .tmnsh__visual { max-width: 820px; width: 100%; margin: 0 auto; }
    .tmnsh__image-wrap, .tmnsh__image-wrap img { min-height: 480px; height: 480px; }
    .tmnsh__visual-label { left: 26px; }
    .tmnse__shell { grid-template-columns: 1fr; }
    .tmnse__nav { display: flex; overflow-x: auto; padding: 4px 4px 14px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
    .tmnse__tab { flex: 0 0 280px; min-height: 96px; scroll-snap-align: start; }
    .tmnse__tab:hover, .tmnse__tab.is-active { transform: translateY(-5px); }
    .tmnse__panel { grid-template-columns: 1fr 1fr; }
    .tmnse__panels, .tmnse__media, .tmnse__media img { min-height: 580px; }
    .tmnsp__timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tmnsp__line { display:none; }
}
@media (max-width: 767px) {
    .tmn-reveal { transform: translateY(18px); }
    .tmnsh__inner, .tmnse__header, .tmnse__shell, .tmnsp__inner { width: min(100% - 28px, 720px); }
    .tmnsh__inner { padding: 58px 0 72px; gap: 38px; }
    .tmnsh__eyebrow { font-size: 10px; letter-spacing: .14em; }
    .tmnsh__eyebrow i { width: 28px; }
    .tmnsh__title { font-size: clamp(38px, 12vw, 50px); line-height: 1.02; }
    .tmnsh__description { font-size: 16px; line-height: 1.65; }
    .tmnsh__actions { display: grid; }
    .tmnsh__button { width: 100%; }
    .tmnsh__stats { grid-template-columns: 1fr; }
    .tmnsh__stat { min-height: 84px; }
    .tmnsh__visual { padding-top: 4px; }
    .tmnsh__image-wrap, .tmnsh__image-wrap img { min-height: 360px; height: 360px; border-radius: 24px; }
    .tmnsh__visual-label { left: 14px; right: 14px; bottom: 14px; max-width: none; grid-template-columns: 46px 1fr; }
    .tmnsh__visual-icon { width: 46px; height: 46px; border-radius: 14px; font-size: 20px; }
    .tmnsh__orbit { display: none; }
    .tmnse { padding: 78px 0 84px; }
    .tmnse__header { margin-bottom: 30px; }
    .tmnse__header h2 { font-size: 38px; }
    .tmnse__header p { font-size: 15px; }
    .tmnse__tab { flex-basis: 248px; grid-template-columns: 34px 42px minmax(0,1fr); padding: 12px; }
    .tmnse__tab-icon { width: 42px; height: 42px; }
    .tmnse__tab-arrow { display: none; }
    .tmnse__panels { min-height: auto; }
    .tmnse__panel, .tmnse__panel[hidden] { position: relative; display: none !important; grid-template-columns: 1fr; border-radius: 24px; }
    .tmnse__panel.is-active { display: grid !important; }
    .tmnse__media, .tmnse__media img { min-height: 310px; height: 310px; }
    .tmnse__media-index { left: 20px; top: 18px; font-size: 40px; }
    .tmnse__media-badge { left: 20px; bottom: 18px; }
    .tmnse__content { padding: 28px 22px 30px; }
    .tmnse__content-icon { width: 54px; height: 54px; }
    .tmnse__content h3 { font-size: 32px; }
    .tmnse__button { width: 100%; justify-content:center; }
    .tmnsp { padding: 78px 0 70px; }
    .tmnsp__header h2 { font-size: 38px; }
    .tmnsp__header p { font-size: 15px; }
    .tmnsp__timeline { grid-template-columns: 1fr; margin-top: 38px; }
    .tmnsp__step { min-height: 0; }
    .tmnsp__cta { grid-template-columns: 1fr; gap: 26px; margin-top: 46px; padding: 30px 22px; border-radius: 23px; }
    .tmnsp__cta-copy h2 { font-size: 32px; }
    .tmnsp__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .tmn-reveal { opacity:1; transform:none; transition:none; }
    .tmnsh::after, .tmnsh__eyebrow i, .tmnsh__button--primary, .tmnsh__image-shine, .tmnsh__visual-label, .tmnsh__orbit, .tmnsh__waves span, .tmnsp__line i, .tmnsp__button, .tmnsp__cta-glow { animation:none !important; }
    .tmnsh__visual, .tmnse__panel, .tmnse__media img { transition:none !important; }
}


/* ========================================================================
   v1.6.1 · Compatibilidad del editor y plantilla de respaldo
   ======================================================================== */
.elementor-editor-active .tmn-reveal,
.elementor-editor-preview .tmn-reveal,
body.elementor-editor-active .tmn-reveal,
body.elementor-editor-preview .tmn-reveal {
    opacity: 1 !important;
    transform: none !important;
}
.elementor-editor-active [data-tmn-services-explorer],
.elementor-editor-preview [data-tmn-services-explorer] {
    visibility: visible !important;
}
.tmn-services-template-fallback { width:100%; max-width:none; }


/* ========================================================================
   v1.6.2 · Página de embarcaciones en venta
   ======================================================================== */
.tmn-sale-section {
    --tmnsale-navy: #07477e;
    --tmnsale-navy-dark: #032e52;
    --tmnsale-blue: #0b6fae;
    --tmnsale-gold: #f2c536;
    --tmnsale-text: #526477;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(64px, 7vw, 105px) 22px clamp(76px, 8vw, 120px) !important;
    background:
        radial-gradient(circle at 8% 6%, rgba(11,111,174,.10), transparent 22%),
        radial-gradient(circle at 94% 12%, rgba(242,197,54,.13), transparent 20%),
        linear-gradient(180deg, #f8fbfd 0%, #f4f8fb 52%, #fff 100%) !important;
}

.tmn-sale-section::before,
.tmn-sale-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.tmn-sale-section::before {
    inset: 0;
    z-index: 0;
    opacity: .40;
    background:
        linear-gradient(rgba(7,71,126,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,71,126,.035) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(180deg, #000, transparent 82%);
}

.tmn-sale-section::after {
    top: -48%;
    left: -15%;
    z-index: 0;
    width: 22%;
    height: 210%;
    opacity: .16;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
    transform: rotate(18deg) translateX(-220%);
    animation: tmnsale-section-sheen 9s ease-in-out infinite;
}

.tmn-sale-section > .elementor-container,
.tmn-sale-section > .e-con-inner {
    position: relative;
    z-index: 2;
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
}

.tmn-sale-section .elementor-column,
.tmn-sale-section .elementor-widget-wrap,
.tmn-sale-section .elementor-element-populated {
    min-width: 0;
}

.tmn-sale-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    width: min(100%, 1180px);
    margin: 0 auto clamp(42px, 5vw, 64px);
    padding: clamp(28px, 4vw, 50px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 30px;
    background:
        radial-gradient(circle at 88% 16%, rgba(242,197,54,.24), transparent 26%),
        radial-gradient(circle at 12% 110%, rgba(11,111,174,.42), transparent 38%),
        linear-gradient(135deg, var(--tmnsale-navy), var(--tmnsale-navy-dark));
    box-shadow: 0 30px 70px rgba(3,46,82,.20);
}

.tmn-sale-hero::before {
    content: "";
    position: absolute;
    top: -90%;
    left: -36%;
    width: 24%;
    height: 280%;
    opacity: .26;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
    transform: rotate(18deg) translateX(-180%);
    animation: tmnsale-hero-sheen 7s ease-in-out infinite;
}

.tmn-sale-hero__content,
.tmn-sale-hero__chips {
    position: relative;
    z-index: 2;
}

.tmn-sale-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: var(--tmnsale-gold);
    font-family: Armata, Roboto, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tmn-sale-hero__eyebrow::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tmnsale-gold), #fff2aa, var(--tmnsale-gold));
    background-size: 220% 100%;
    animation: tmnsale-line 3.2s linear infinite;
}

.tmn-sale-hero h1,
.tmn-sale-hero h2 {
    margin: 0 !important;
    color: #fff !important;
    font-family: Armata, Roboto, Arial, sans-serif !important;
    font-size: clamp(34px, 4.4vw, 62px) !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
}

.tmn-sale-hero p {
    max-width: 760px;
    margin: 17px 0 0;
    color: rgba(255,255,255,.82);
    font-family: Roboto, Arial, sans-serif;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.72;
}

.tmn-sale-hero__chips {
    display: grid;
    gap: 10px;
    min-width: 230px;
}

.tmn-sale-hero__chip {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    padding: 11px 14px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    font-family: Roboto, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.tmn-sale-hero__chip::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--tmnsale-gold);
    box-shadow: 0 0 0 5px rgba(242,197,54,.12);
}

.tmn-sale-hero__chip:hover {
    border-color: rgba(242,197,54,.44);
    background: rgba(255,255,255,.12);
    transform: translateX(-5px);
}

.tmn-sale-list-widget {
    position: relative;
    z-index: 3;
}

.tmn-sale-list-widget > .elementor-widget-container {
    overflow: visible !important;
}

.tmn-sale-list-widget .row,
.tmn-sale-list-widget [class*="items_list"],
.tmn-sale-list-widget .listing_wrapper,
.tmn-sale-list-widget .property_listings {
    align-items: stretch;
}

.tmn-sale-list-widget .row {
    row-gap: 30px;
}

.tmn-sale-list-widget .listing_wrapper,
.tmn-sale-list-widget [class*="property_unit"],
.tmn-sale-list-widget [class*="listing_wrapper"] {
    margin-bottom: 0 !important;
}

.tmn-sale-card {
    height: 100% !important;
}

.tmn-sale-card .tmn-offer-card__badge {
    background: linear-gradient(135deg, #fff2a8, var(--tmnsale-gold)) !important;
}

.tmn-sale-card .tmn-offer-card__content--custom .tmn-offer-card__title {
    min-height: 58px;
}

.tmn-sale-end,
.tmn-sale-empty {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: min(100%, 920px);
    margin: clamp(40px, 5vw, 64px) auto 0;
    border: 1px solid rgba(7,71,126,.12);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 62px rgba(3,46,82,.12);
    text-align: center;
}

.tmn-sale-empty {
    padding: clamp(34px, 6vw, 64px) clamp(22px, 5vw, 58px);
}

.tmn-sale-end {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 22px 24px;
    text-align: left;
}

.tmn-sale-empty::before,
.tmn-sale-end::before {
    content: "";
    position: absolute;
    inset: auto -90px -130px auto;
    z-index: 0;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242,197,54,.20), transparent 68%);
}

.tmn-sale-empty__icon,
.tmn-sale-end__icon {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--tmnsale-blue), var(--tmnsale-navy-dark));
    box-shadow: 0 16px 35px rgba(3,46,82,.22), 0 0 0 8px rgba(11,111,174,.07);
}

.tmn-sale-empty__icon {
    width: 78px;
    height: 78px;
    margin-bottom: 24px;
}

.tmn-sale-end__icon {
    width: 54px;
    height: 54px;
}

.tmn-sale-empty__icon svg,
.tmn-sale-end__icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tmn-sale-end__icon svg {
    width: 26px;
    height: 26px;
}

.tmn-sale-empty__content,
.tmn-sale-end__content,
.tmn-sale-empty__actions,
.tmn-sale-end__action {
    position: relative;
    z-index: 2;
}

.tmn-sale-empty h3,
.tmn-sale-end strong {
    color: var(--tmnsale-navy-dark);
    font-family: Armata, Roboto, Arial, sans-serif;
}

.tmn-sale-empty h3 {
    margin: 0;
    font-size: clamp(25px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.tmn-sale-empty p {
    max-width: 650px;
    margin: 14px auto 0;
    color: var(--tmnsale-text);
    font-family: Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.72;
}

.tmn-sale-end strong {
    display: block;
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 600;
}

.tmn-sale-end span {
    color: var(--tmnsale-text);
    font-family: Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.tmn-sale-empty__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

.tmn-sale-empty__button,
.tmn-sale-end__action {
    overflow: hidden;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 19px;
    border-radius: 13px;
    font-family: Roboto, Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .3s ease, box-shadow .3s ease;
}

.tmn-sale-empty__button--primary,
.tmn-sale-end__action {
    color: var(--tmnsale-navy-dark) !important;
    border: 1px solid rgba(255,255,255,.7);
    background: linear-gradient(135deg, #fff5bf, var(--tmnsale-gold));
    box-shadow: 0 14px 30px rgba(242,197,54,.22);
}

.tmn-sale-empty__button--secondary {
    color: #fff !important;
    border: 1px solid rgba(7,71,126,.16);
    background: linear-gradient(135deg, var(--tmnsale-navy), var(--tmnsale-navy-dark));
    box-shadow: 0 14px 30px rgba(3,46,82,.18);
}

.tmn-sale-empty__button:hover,
.tmn-sale-end__action:hover {
    transform: translateY(-4px);
}

.tmn-sale-empty__button--primary:hover,
.tmn-sale-end__action:hover {
    color: var(--tmnsale-navy-dark) !important;
    box-shadow: 0 20px 40px rgba(242,197,54,.28), 0 0 0 5px rgba(242,197,54,.10);
}

.tmn-sale-empty__button--secondary:hover {
    color: #fff !important;
    box-shadow: 0 20px 40px rgba(3,46,82,.24);
}

.tmn-sale-native-empty {
    display: none !important;
}

.tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-hero,
.tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-card,
.tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-empty,
.tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-end {
    opacity: 0;
    transform: translateY(28px) scale(.985);
}

.tmn-sale-section.tmn-sale-pre-reveal.is-tmn-sale-visible .tmn-sale-hero,
.tmn-sale-section.tmn-sale-pre-reveal.is-tmn-sale-visible .tmn-sale-card,
.tmn-sale-section.tmn-sale-pre-reveal.is-tmn-sale-visible .tmn-sale-empty,
.tmn-sale-section.tmn-sale-pre-reveal.is-tmn-sale-visible .tmn-sale-end {
    opacity: 1;
    transform: none;
    transition: opacity .68s ease, transform .76s cubic-bezier(.2,.8,.2,1);
}

.tmn-sale-section.tmn-sale-pre-reveal.is-tmn-sale-visible .tmn-sale-card {
    transition-delay: calc(var(--tmnsale-index, 0) * 90ms + 140ms);
}

@keyframes tmnsale-section-sheen {
    0%, 35% { transform: rotate(18deg) translateX(-220%); }
    64%, 100% { transform: rotate(18deg) translateX(620%); }
}

@keyframes tmnsale-hero-sheen {
    0%, 28% { transform: rotate(18deg) translateX(-180%); }
    62%, 100% { transform: rotate(18deg) translateX(720%); }
}

@keyframes tmnsale-line {
    to { background-position: 220% 0; }
}

@media (max-width: 1024px) {
    .tmn-sale-section {
        padding-inline: 18px !important;
    }

    .tmn-sale-hero {
        grid-template-columns: 1fr;
    }

    .tmn-sale-hero__chips {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        min-width: 0;
    }

    .tmn-sale-hero__chip:hover {
        transform: translateY(-3px);
    }
}

@media (max-width: 767px) {
    .tmn-sale-section {
        padding: 52px 12px 74px !important;
    }

    .tmn-sale-hero {
        gap: 24px;
        padding: 28px 20px;
        border-radius: 24px;
        text-align: center;
    }

    .tmn-sale-hero__eyebrow {
        justify-content: center;
    }

    .tmn-sale-hero p {
        font-size: 15px;
    }

    .tmn-sale-hero__chips {
        grid-template-columns: 1fr;
    }

    .tmn-sale-hero__chip {
        justify-content: center;
    }

    .tmn-sale-end {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 26px 20px;
        text-align: center;
    }

    .tmn-sale-end__action {
        width: 100%;
    }

    .tmn-sale-empty {
        padding: 38px 20px;
    }

    .tmn-sale-empty__actions {
        flex-direction: column;
    }

    .tmn-sale-empty__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-sale-section::after,
    .tmn-sale-hero::before,
    .tmn-sale-hero__eyebrow::before {
        animation: none !important;
    }

    .tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-hero,
    .tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-card,
    .tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-empty,
    .tmn-sale-section.tmn-sale-pre-reveal .tmn-sale-end {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* ========================================================================
   v1.6.4 · Corrección segura del listado de embarcaciones
   ======================================================================== */
.tmn-sale-native-grid-v164 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
}

.tmn-sale-native-grid-v164 > .tmn-sale-card-v164,
.tmn-sale-card-v164 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tmn-sale-card-v164 > .tmn-offer-card__original {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tmn-sale-card-v164 > .tmn-offer-card__shell {
    display: flex !important;
    flex-direction: column !important;
    min-height: 430px;
    height: 100%;
    border-radius: 22px !important;
    overflow: hidden !important;
    border: 1px solid rgba(7,71,126,.12) !important;
    background: #fff !important;
    box-shadow: 0 18px 46px rgba(3,46,82,.11) !important;
}

.tmn-sale-card-v164 .tmn-offer-card__media {
    min-height: 238px !important;
    height: 238px !important;
    border-radius: 0 !important;
}

.tmn-sale-card-v164 .tmn-offer-card__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.tmn-sale-card-v164 .tmn-offer-card__content--custom {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 22px 22px 20px !important;
}

.tmn-sale-card-v164 .tmn-offer-card__title {
    min-height: 54px !important;
    margin: 10px 0 18px !important;
}

.tmn-sale-card-v164 .tmn-offer-card__footer {
    margin-top: auto !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(7,71,126,.09) !important;
}

.tmn-sale-card-v164 .tmn-offer-card__badge {
    background: linear-gradient(135deg, #fff2a8, #f2c536) !important;
    color: #032e52 !important;
}

.tmn-sale-card-v164:hover > .tmn-offer-card__shell {
    box-shadow: 0 26px 64px rgba(3,46,82,.17) !important;
}

@media (max-width: 1024px) {
    .tmn-sale-native-grid-v164 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

@media (max-width: 767px) {
    .tmn-sale-native-grid-v164 {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }
    .tmn-sale-card-v164 > .tmn-offer-card__shell {
        min-height: 0;
    }
    .tmn-sale-card-v164 .tmn-offer-card__media {
        height: 220px !important;
        min-height: 220px !important;
    }
}


/* ========================================================================
   v1.6.6 · Parrilla de embarcaciones y estados finales
   ======================================================================== */
.tmn-sale-section-v165 {
    --tmno-navy: #07477e;
    --tmno-navy-dark: #032e52;
    --tmno-blue: #0b6fae;
    --tmno-gold: #f2c536;
    --tmno-gold-soft: #fff5ca;
    --tmno-text: #506276;
    --tmno-surface: #f7f9fc;
}

.tmn-sale-source-card-v165,
.tmn-sale-source-container-v165 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tmn-sale-grid-v165 {
    position: relative;
    z-index: 4;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    width: 100%;
    max-width: 1320px;
    margin: 44px auto 20px;
    padding: 0;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .62s ease, transform .72s cubic-bezier(.2,.8,.2,1);
}

.tmn-sale-grid-v165.is-visible {
    opacity: 1;
    transform: none;
}

.tmn-sale-rendered-card-v165 {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tmn-sale-rendered-card-v165 > .tmn-offer-card__shell {
    min-height: 430px;
    height: 100%;
    border-radius: 23px;
    box-shadow: 0 18px 46px rgba(3,46,82,.11);
}

.tmn-sale-rendered-card-v165 .tmn-offer-card__media--custom,
.tmn-sale-rendered-card-v165 .tmn-offer-card__image {
    height: 238px !important;
    min-height: 238px !important;
}

.tmn-sale-rendered-card-v165 .tmn-offer-card__content--custom {
    min-height: 190px;
}

.tmn-sale-rendered-card-v165 .tmn-offer-card__title {
    min-height: 58px;
}

.tmn-sale-rendered-card-v165:hover > .tmn-offer-card__shell,
.tmn-sale-rendered-card-v165:focus-within > .tmn-offer-card__shell {
    box-shadow: 0 30px 70px rgba(3,46,82,.18), 0 0 0 1px rgba(242,197,54,.12);
}

.tmn-sale-list-widget-v165 .tmn-sale-end-v165,
.tmn-sale-list-widget-v165 .tmn-sale-empty-v165 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

.tmn-sale-native-empty {
    display: none !important;
}

@media (max-width: 1024px) {
    .tmn-sale-grid-v165 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        padding-inline: 18px;
    }
}

@media (max-width: 767px) {
    .tmn-sale-grid-v165 {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-top: 30px;
        padding-inline: 12px;
    }
    .tmn-sale-rendered-card-v165 {
        transform: none !important;
    }
    .tmn-sale-rendered-card-v165 > .tmn-offer-card__shell {
        min-height: 0;
    }
    .tmn-sale-rendered-card-v165 .tmn-offer-card__media--custom,
    .tmn-sale-rendered-card-v165 .tmn-offer-card__image {
        height: 220px !important;
        min-height: 220px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-sale-grid-v165 {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* v1.6.6 · Oculta el control agotado y el mensaje nativo de WPResidence. */
.tmn-sale-load-more-finished,
.tmn-sale-native-empty {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tmn-sale-rendered-card-v165:not(.tmn-sale-rendered-card--offer) .tmn-offer-card__media {
    padding-top: 0;
}


/* ========================================================================
   v1.6.7 · Posición y diseño del botón Cargar más
   ======================================================================== */
.tmn-sale-section-v167 .tmn-sale-hero {
    margin-bottom: clamp(30px, 4vw, 44px) !important;
}

.tmn-sale-section-v167 .tmn-sale-grid-v165 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.tmn-sale-loadmore-v167 {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 1320px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: clamp(30px, 4vw, 46px) auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tmn-sale-loadmore-v167 .tmn-sale-loadmore-button-v167,
.tmn-sale-loadmore-v167 > .tmn-sale-loadmore-button-v167,
.tmn-sale-loadmore-button-v167 {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: auto !important;
    min-width: 250px !important;
    min-height: 54px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px 24px !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #07477e, #032e52) !important;
    box-shadow: 0 16px 34px rgba(3,46,82,.20) !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}

.tmn-sale-loadmore-button-v167::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    transform: translateX(-135%) skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
    transition: transform .8s ease;
}

.tmn-sale-loadmore-button-v167:hover,
.tmn-sale-loadmore-button-v167:focus-visible {
    color: #fff !important;
    border-color: rgba(242,197,54,.46) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 44px rgba(3,46,82,.28), 0 0 0 5px rgba(242,197,54,.08) !important;
}

.tmn-sale-loadmore-button-v167:hover::before,
.tmn-sale-loadmore-button-v167:focus-visible::before {
    transform: translateX(135%) skewX(-18deg);
}

.tmn-sale-loadmore-button-v167 > span,
.tmn-sale-loadmore-button-v167 > svg {
    position: relative;
    z-index: 2;
}

.tmn-sale-loadmore-button-v167 > svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #f2c536;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s ease;
}

.tmn-sale-loadmore-button-v167:hover > svg,
.tmn-sale-loadmore-button-v167:focus-visible > svg {
    transform: translateX(5px);
}

.tmn-sale-loadmore-duplicate-v167 {
    display: none !important;
}

.tmn-sale-load-more-finished.tmn-sale-loadmore-v167,
.tmn-sale-load-more-finished .tmn-sale-loadmore-button-v167 {
    display: none !important;
}

@media (max-width: 767px) {
    .tmn-sale-loadmore-v167 {
        margin-top: 26px !important;
        padding-inline: 12px !important;
    }
    .tmn-sale-loadmore-button-v167 {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-sale-loadmore-button-v167,
    .tmn-sale-loadmore-button-v167::before,
    .tmn-sale-loadmore-button-v167 > svg {
        transition: none !important;
    }
}


/* ========================================================================
   v1.6.8 · Control visual independiente para “Cargar más”
   ======================================================================== */
.tmn-sale-native-loadmore-v168 {
    position: absolute !important;
    left: -99999px !important;
    top: auto !important;
    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.tmn-sale-native-loadmore-wrap-v168 {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tmn-sale-loadmore-proxy-wrap-v168 {
    position: relative !important;
    z-index: 6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 1320px !important;
    margin: clamp(30px, 4vw, 46px) auto 0 !important;
    padding: 0 !important;
    order: 999 !important;
}

.tmn-sale-loadmore-proxy-v168 {
    margin: 0 auto !important;
}

.tmn-sale-loadmore-proxy-v168.is-loading {
    opacity: .72 !important;
    cursor: wait !important;
}

.tmn-sale-loadmore-proxy-v168.is-loading > svg {
    animation: tmn-sale-loadmore-spin-v168 .9s linear infinite;
}

@keyframes tmn-sale-loadmore-spin-v168 {
    to { transform: rotate(360deg); }
}

.tmn-sale-grid-v165 + .tmn-sale-loadmore-proxy-wrap-v168 {
    margin-top: clamp(30px, 4vw, 46px) !important;
}

@media (max-width: 767px) {
    .tmn-sale-loadmore-proxy-wrap-v168 {
        margin-top: 26px !important;
        padding-inline: 12px !important;
    }
    .tmn-sale-loadmore-proxy-v168 {
        width: 100% !important;
    }
}


/* ========================================================================
   v1.6.9 · Elimina definitivamente el control Cargar más
   ======================================================================== */
.tmn-sale-native-loadmore-v169,
.tmn-sale-native-loadmore-wrap-v169,
.tmn-sale-section-v165 .tmn-sale-loadmore-proxy-wrap-v168,
.tmn-sale-section-v165 .tmn-sale-loadmore-proxy-v168 {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}


/* ========================================================================
   v1.7.0 · Limpieza global definitiva del control nativo de carga
   ======================================================================== */
.tmn-force-hide-loadmore-v170,
.tmn-force-hide-loadmore-wrap-v170 {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -999999px !important;
    top: auto !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tmn-force-hide-native-end-v170 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
}

.tmn-sale-end-v170 {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 28px;
    width: min(1180px, calc(100% - 32px));
    margin: clamp(34px, 5vw, 58px) auto 0;
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(242,197,54,.24);
    border-radius: 26px;
    background:
        radial-gradient(circle at 92% 20%, rgba(242,197,54,.16), transparent 28%),
        linear-gradient(135deg, #073b66, #032e52);
    box-shadow: 0 24px 54px rgba(3,46,82,.18);
    overflow: hidden;
    color: #fff;
}

.tmn-sale-end-v170::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.12) 50%, transparent 65%);
    transform: translateX(-120%);
    animation: tmn-sale-end-sheen-v170 8s ease-in-out infinite;
}

.tmn-sale-end-v170__content,
.tmn-sale-end-v170__action {
    position: relative;
    z-index: 2;
}

.tmn-sale-end-v170__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
    color: #f2c536;
    font: 700 11px/1.2 Armata, Roboto, Arial, sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.tmn-sale-end-v170__eyebrow::before {
    content: "";
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: #f2c536;
}

.tmn-sale-end-v170 h3 {
    margin: 0;
    color: #fff;
    font: 600 clamp(22px, 2.6vw, 34px)/1.15 Armata, Roboto, Arial, sans-serif;
    letter-spacing: -.025em;
}

.tmn-sale-end-v170 p {
    max-width: 720px;
    margin: 10px 0 0;
    color: rgba(255,255,255,.8);
    font: 400 15px/1.65 Roboto, Arial, sans-serif;
}

.tmn-sale-end-v170__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 14px 20px;
    border-radius: 14px;
    background: linear-gradient(120deg, #f2c536, #ffe88a, #f2c536);
    background-size: 220% 100%;
    color: #032e52 !important;
    font: 700 14px/1 Roboto, Arial, sans-serif;
    text-decoration: none !important;
    box-shadow: 0 14px 30px rgba(242,197,54,.22);
    transition: transform .28s ease, box-shadow .28s ease;
    animation: tmn-sale-end-button-v170 4s ease infinite;
}

.tmn-sale-end-v170__action:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px rgba(242,197,54,.28);
}

@keyframes tmn-sale-end-sheen-v170 {
    0%, 25% { transform: translateX(-120%); opacity: 0; }
    45% { opacity: .35; }
    65%, 100% { transform: translateX(120%); opacity: 0; }
}

@keyframes tmn-sale-end-button-v170 {
    0%, 100% { background-position: 0 50%; }
    50% { background-position: 100% 50%; }
}

@media (max-width: 767px) {
    .tmn-sale-end-v170 {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 20px;
        width: calc(100% - 24px);
        border-radius: 22px;
    }
    .tmn-sale-end-v170__eyebrow {
        justify-content: center;
    }
    .tmn-sale-end-v170__action {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmn-sale-end-v170::before,
    .tmn-sale-end-v170__action {
        animation: none !important;
    }
}

/* -------------------------------------------------------------------------
   Ficha individual de embarcación
   ------------------------------------------------------------------------- */
body.tmn-boat-single-page{
    background:
        radial-gradient(circle at 50% 0%, rgba(11,76,132,.10), transparent 38%),
        linear-gradient(180deg, #f4f8fc 0%, #f7fafc 55%, #eef3f8 100%);
}

body.tmn-boat-single-page .tmn-boat-gallery-shell{
    position:relative;
    margin:18px auto 34px;
    padding:12px;
    border-radius:30px;
    background:linear-gradient(145deg, rgba(255,255,255,.92), rgba(246,249,253,.96));
    border:1px solid rgba(14,71,121,.10);
    box-shadow:0 28px 65px rgba(9,41,71,.14);
    overflow:hidden;
}
body.tmn-boat-single-page .tmn-boat-gallery-shell::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 20% 0%, rgba(243,201,70,.16), transparent 36%), radial-gradient(circle at 80% 0%, rgba(14,95,160,.12), transparent 42%);
}
body.tmn-boat-single-page .tmn-boat-gallery-shell img{
    border-radius:18px !important;
    transition:transform .65s ease, filter .45s ease, box-shadow .45s ease;
    box-shadow:0 10px 25px rgba(11,39,68,.10);
}
body.tmn-boat-single-page .tmn-boat-gallery-shell a:hover img,
body.tmn-boat-single-page .tmn-boat-gallery-shell img:hover{
    transform:scale(1.025);
    filter:saturate(1.05) contrast(1.01);
}

body.tmn-boat-single-page .tmn-boat-panel,
body.tmn-boat-single-page .tmn-boat-price-card,
body.tmn-boat-single-page .tmn-boat-contact-panel{
    position:relative;
    margin-bottom:28px;
    padding:28px 30px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,253,.98));
    border:1px solid rgba(14,71,121,.12);
    box-shadow:0 22px 50px rgba(8,38,67,.11);
    overflow:hidden;
}
body.tmn-boat-single-page .tmn-boat-panel::before,
body.tmn-boat-single-page .tmn-boat-price-card::before,
body.tmn-boat-single-page .tmn-boat-contact-panel::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:4px;
    background:linear-gradient(90deg, #f3c946, #0f5fa0 65%, rgba(15,95,160,.35));
}
body.tmn-boat-single-page .tmn-boat-panel__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    color:#c89912;
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
body.tmn-boat-single-page .tmn-boat-panel__eyebrow::before{
    content:"";
    width:28px;height:2px;border-radius:999px;background:#f3c946;
}
body.tmn-boat-single-page .tmn-boat-panel__heading,
body.tmn-boat-single-page .tmn-boat-price-card__heading{
    margin:0 0 18px !important;
    color:#0a3b69 !important;
    font-size:clamp(1.65rem, 1.2rem + 1vw, 2.2rem) !important;
    line-height:1.1;
    font-weight:800 !important;
}
body.tmn-boat-single-page .tmn-boat-panel p,
body.tmn-boat-single-page .tmn-boat-panel li,
body.tmn-boat-single-page .tmn-boat-contact-panel p,
body.tmn-boat-single-page .tmn-boat-contact-panel li,
body.tmn-boat-single-page .tmn-boat-panel div{
    color:#4b6580;
}
body.tmn-boat-single-page .tmn-boat-panel--details li,
body.tmn-boat-single-page .tmn-boat-panel--extras li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:10px;
}
body.tmn-boat-single-page .tmn-boat-panel--extras li::before,
body.tmn-boat-single-page .tmn-boat-panel--details li::before{
    content:"";
    width:9px;height:9px;border-radius:50%;
    margin-top:.55em;
    flex:0 0 auto;
    background:linear-gradient(180deg,#f3c946,#c89912);
    box-shadow:0 0 0 4px rgba(243,201,70,.18);
}

body.tmn-boat-single-page .tmn-boat-price-card{
    background:linear-gradient(145deg, #083760 0%, #0b4c84 68%, #0d5ea6 100%);
    color:#fff;
    position:sticky;
    top:116px;
}
body.tmn-boat-single-page .tmn-boat-price-card::after{
    content:"";
    position:absolute; inset:auto -80px -80px auto;
    width:220px; height:220px; border-radius:50%;
    background:radial-gradient(circle, rgba(243,201,70,.22), transparent 62%);
    pointer-events:none;
}
body.tmn-boat-single-page .tmn-boat-price-card .tmn-boat-price-card__heading,
body.tmn-boat-single-page .tmn-boat-price-card h1,
body.tmn-boat-single-page .tmn-boat-price-card h2,
body.tmn-boat-single-page .tmn-boat-price-card h3,
body.tmn-boat-single-page .tmn-boat-price-card h4,
body.tmn-boat-single-page .tmn-boat-price-card strong{ color:#fff !important; }
body.tmn-boat-single-page .tmn-boat-price-card__value{
    display:block;
    margin-top:6px;
    font-size:clamp(2rem, 1.4rem + 1.4vw, 3rem) !important;
    line-height:1;
    font-weight:900 !important;
    color:#f3c946 !important;
    text-shadow:0 8px 24px rgba(0,0,0,.22);
}
body.tmn-boat-single-page .tmn-boat-price-card__actions{
    display:grid;
    gap:12px;
    margin-top:24px;
}
body.tmn-boat-single-page .tmn-boat-price-action{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 18px;
    border-radius:16px;
    text-decoration:none;
    font-weight:800;
    transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
}
body.tmn-boat-single-page .tmn-boat-price-action i{ font-style:normal; }
body.tmn-boat-single-page .tmn-boat-price-action--primary{
    color:#083760;
    background:linear-gradient(135deg,#f3c946,#ffe07a);
    box-shadow:0 14px 28px rgba(243,201,70,.18);
}
body.tmn-boat-single-page .tmn-boat-price-action--secondary{
    color:#fff;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.20);
}
body.tmn-boat-single-page .tmn-boat-price-action:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 30px rgba(8,31,56,.20);
}

body.tmn-boat-single-page .tmn-boat-contact-panel__field,
body.tmn-boat-single-page .tmn-boat-contact-panel input,
body.tmn-boat-single-page .tmn-boat-contact-panel textarea,
body.tmn-boat-single-page .tmn-boat-contact-panel select{
    width:100%;
    min-height:54px;
    border-radius:16px !important;
    border:1px solid rgba(14,71,121,.14) !important;
    background:#f8fbfe !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
    transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
body.tmn-boat-single-page .tmn-boat-contact-panel textarea{ min-height:180px; }
body.tmn-boat-single-page .tmn-boat-contact-panel input:focus,
body.tmn-boat-single-page .tmn-boat-contact-panel textarea:focus,
body.tmn-boat-single-page .tmn-boat-contact-panel select:focus{
    border-color:#0f5fa0 !important;
    box-shadow:0 0 0 4px rgba(15,95,160,.12) !important;
    background:#fff !important;
    outline:none;
}
body.tmn-boat-single-page .tmn-boat-contact-panel__button,
body.tmn-boat-single-page .tmn-boat-contact-panel button,
body.tmn-boat-single-page .tmn-boat-contact-panel input[type="submit"],
body.tmn-boat-single-page .tmn-boat-contact-panel a.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 24px;
    border-radius:16px !important;
    border:none !important;
    background:linear-gradient(135deg,#0a4d86,#0f5fa0) !important;
    color:#fff !important;
    font-weight:800 !important;
    box-shadow:0 16px 30px rgba(10,77,134,.18);
    transition:transform .28s ease, box-shadow .28s ease, filter .28s ease;
}
body.tmn-boat-single-page .tmn-boat-contact-panel button:hover,
body.tmn-boat-single-page .tmn-boat-contact-panel input[type="submit"]:hover,
body.tmn-boat-single-page .tmn-boat-contact-panel a.button:hover{
    transform:translateY(-3px);
    filter:brightness(1.04);
    box-shadow:0 20px 34px rgba(10,77,134,.22);
}

body.tmn-boat-single-page .tmn-boat-single-reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .75s ease, transform .75s cubic-bezier(.2,.65,.22,1);
}
body.tmn-boat-single-page .tmn-boat-single-reveal.is-visible{
    opacity:1;
    transform:none;
}

@media (max-width: 1024px){
    body.tmn-boat-single-page .tmn-boat-price-card{ position:relative; top:auto; }
}
@media (max-width: 767px){
    body.tmn-boat-single-page .tmn-boat-gallery-shell{ padding:8px; border-radius:22px; }
    body.tmn-boat-single-page .tmn-boat-panel,
    body.tmn-boat-single-page .tmn-boat-price-card,
    body.tmn-boat-single-page .tmn-boat-contact-panel{ padding:22px 18px; border-radius:22px; }
    body.tmn-boat-single-page .tmn-boat-price-card__actions{ grid-template-columns:1fr; }
}

/* -------------------------------------------------------------------------
   Hero slider premium para la ficha individual
   ------------------------------------------------------------------------- */
body.tmn-boat-single-page .tmn-boat-gallery-shell--hidden{ display:none !important; }
body.tmn-boat-single-page .tmn-boat-hero-slider{
    position:relative;
    margin:18px auto 34px;
    padding:16px;
    border-radius:34px;
    background:linear-gradient(155deg, rgba(255,255,255,.98), rgba(242,247,252,.96));
    border:1px solid rgba(14,71,121,.12);
    box-shadow:0 28px 60px rgba(7,39,70,.16);
    overflow:hidden;
}
body.tmn-boat-single-page .tmn-boat-hero-slider::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 10% 0%, rgba(243,201,70,.14), transparent 28%),
        radial-gradient(circle at 85% 0%, rgba(15,95,160,.10), transparent 33%);
    pointer-events:none;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__media{
    position:relative;
    border-radius:26px;
    overflow:hidden;
    min-height:560px;
    background:#062744;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__slides,
body.tmn-boat-single-page .tmn-boat-hero-slider__slide{
    position:relative;
    width:100%;
    min-height:560px;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__slide{
    position:absolute;
    inset:0;
    opacity:0;
    transform:scale(1.03);
    transition:opacity .7s ease, transform 1.1s ease;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__slide.is-active{
    opacity:1;
    transform:scale(1);
    z-index:2;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__slide img{
    width:100%;
    height:100%;
    min-height:560px;
    object-fit:cover;
    display:block;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__overlay{
    position:absolute;
    inset:0;
    z-index:3;
    background:linear-gradient(90deg, rgba(4,27,48,.78) 0%, rgba(4,27,48,.26) 38%, rgba(4,27,48,.16) 55%, rgba(4,27,48,.52) 100%);
    pointer-events:none;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__meta{
    position:absolute;
    left:36px;
    bottom:36px;
    z-index:4;
    max-width:min(560px, 74%);
    color:#fff;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__badge{
    display:inline-flex;
    align-items:center;
    padding:9px 14px;
    margin-bottom:16px;
    border-radius:999px;
    background:linear-gradient(135deg, #f04b37, #ff6b4f);
    color:#fff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    box-shadow:0 12px 26px rgba(240,75,55,.22);
}
body.tmn-boat-single-page .tmn-boat-hero-slider__badge--blue{
    background:linear-gradient(135deg, #0a4d86, #0f69ad);
    box-shadow:0 12px 26px rgba(10,77,134,.22);
}
body.tmn-boat-single-page .tmn-boat-hero-slider__eyebrow{
    display:block;
    margin-bottom:8px;
    color:#f3c946;
    font-size:13px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__title{
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(2rem, 1.45rem + 1.6vw, 3.45rem);
    line-height:1.02;
    font-weight:900;
    text-shadow:0 10px 28px rgba(0,0,0,.30);
}
body.tmn-boat-single-page .tmn-boat-hero-slider__details{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__price{
    display:inline-flex;
    align-items:center;
    padding:14px 18px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(243,201,70,.96), rgba(255,225,120,.96));
    color:#082f52;
    font-size:clamp(1.2rem, 1.05rem + .7vw, 1.8rem);
    font-weight:900;
    box-shadow:0 16px 30px rgba(243,201,70,.18);
}
body.tmn-boat-single-page .tmn-boat-hero-slider__note{
    display:inline-flex;
    align-items:center;
    padding:12px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(10px);
    color:#fff;
    font-weight:600;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__nav{
    position:absolute;
    top:50%;
    z-index:5;
    width:54px; height:54px;
    border:none;
    border-radius:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.14);
    color:#fff;
    backdrop-filter:blur(12px);
    box-shadow:0 16px 30px rgba(0,0,0,.18);
    transition:transform .28s ease, background .28s ease;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__nav span{ font-size:2rem; line-height:1; display:block; margin-top:-4px; }
body.tmn-boat-single-page .tmn-boat-hero-slider__nav:hover{ transform:translateY(-50%) scale(1.06); background:rgba(255,255,255,.24); }
body.tmn-boat-single-page .tmn-boat-hero-slider__nav--prev{ left:22px; }
body.tmn-boat-single-page .tmn-boat-hero-slider__nav--next{ right:22px; }
body.tmn-boat-single-page .tmn-boat-hero-slider__counter{
    position:absolute;
    right:26px;
    bottom:24px;
    z-index:5;
    display:inline-flex;
    align-items:flex-end;
    gap:8px;
    padding:10px 14px;
    border-radius:14px;
    background:rgba(7,39,68,.42);
    color:#dce8f4;
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.12);
}
body.tmn-boat-single-page .tmn-boat-hero-slider__counter strong{ color:#fff; font-size:1.2rem; }
body.tmn-boat-single-page .tmn-boat-hero-slider__thumbs{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:10px;
    margin-top:14px;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__thumb{
    position:relative;
    height:92px;
    padding:0;
    border:none;
    border-radius:16px;
    overflow:hidden;
    cursor:pointer;
    background:#d9e4ef;
    box-shadow:0 10px 20px rgba(9,41,70,.08);
    transition:transform .28s ease, box-shadow .28s ease, opacity .28s ease;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__thumb::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(180deg, transparent, rgba(4,27,48,.18));
}
body.tmn-boat-single-page .tmn-boat-hero-slider__thumb.is-active{
    transform:translateY(-4px);
    box-shadow:0 16px 30px rgba(9,41,70,.16);
    outline:2px solid #f3c946;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__thumb img{
    width:100%; height:100%; object-fit:cover; display:block;
}
body.tmn-boat-single-page .tmn-boat-hero-slider__thumb:hover{ transform:translateY(-3px); }

@media (max-width: 1024px){
    body.tmn-boat-single-page .tmn-boat-hero-slider__media,
    body.tmn-boat-single-page .tmn-boat-hero-slider__slides,
    body.tmn-boat-single-page .tmn-boat-hero-slider__slide,
    body.tmn-boat-single-page .tmn-boat-hero-slider__slide img{ min-height:480px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__thumbs{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px){
    body.tmn-boat-single-page .tmn-boat-hero-slider{ padding:10px; border-radius:24px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__media,
    body.tmn-boat-single-page .tmn-boat-hero-slider__slides,
    body.tmn-boat-single-page .tmn-boat-hero-slider__slide,
    body.tmn-boat-single-page .tmn-boat-hero-slider__slide img{ min-height:360px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__meta{ left:18px; right:18px; bottom:18px; max-width:none; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__title{ font-size:1.8rem; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__details{ gap:10px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__note{ display:none; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__nav{ width:44px; height:44px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__nav--prev{ left:12px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__nav--next{ right:12px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__counter{ right:14px; bottom:14px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__thumbs{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
    body.tmn-boat-single-page .tmn-boat-hero-slider__thumb{ height:72px; border-radius:12px; }
}
body.tmn-boat-single-page .tmn-boat-gallery-parent--hidden{display:none !important;}


/* v1.7.4 · Presentación de portada: sin animación al pulsar */
.tmn-intro .tmn-button:active,
.tmn-intro .tmn-button--primary:active,
.tmn-intro .tmn-button--secondary:active {
    transform: none !important;
    animation-play-state: paused !important;
}

.tmn-intro .tmn-button__ripple {
    display: none !important;
    animation: none !important;
    transform: none !important;
}

.tmn-intro .tmn-button:active::before,
.tmn-intro .tmn-button:active::after {
    animation: none !important;
}
