/**
 * MS PLATFORM | LOGIN PUBLICO | CSS V1R1
 * UTF-8
 *
 * MAPA DE EDICION:
 * 01. Variables y colores
 * 02. Base / fondo
 * 03. Header Mendoza Service
 * 04. Layout principal
 * 05. Marquesina
 * 06. Tarjeta de producto
 * 07. Barra de modulos
 * 08. Login
 * 09. Footer
 * 10. Responsive
 */

/* ==========================================================
   01. VARIABLES Y COLORES
   ========================================================== */
:root{
    color-scheme:dark;
    --ms-bg:#06101b;
    --ms-bg-2:#081522;
    --ms-panel:#0b1726;
    --ms-panel-2:#0f1d2d;
    --ms-border:#233850;
    --ms-border-soft:rgba(99,135,171,.20);
    --ms-text:#f3f7fb;
    --ms-muted:#9fb0c2;
    --ms-dim:#6f8297;
    --ms-fiscal:#18e29a;
    --ms-fiscal-deep:#0bbf7e;
    --ms-remote:#1da1ff;
    --ms-blue:#2a8fff;
    --ms-orange:#f2a12b;
    --ms-red:#ef5269;
    --ms-danger:#ef7d88;
    --ms-radius-xl:22px;
    --ms-radius-lg:18px;
    --ms-radius-md:13px;
    --ms-shadow:0 28px 80px rgba(0,0,0,.30);
    --ms-content-width:1800px;
}

/* ==========================================================
   02. BASE / FONDO
   ========================================================== */
*{box-sizing:border-box}
html,body{min-height:100%}
html{background:var(--ms-bg)}
body{
    margin:0;
    color:var(--ms-text);
    background:
        radial-gradient(circle at 28% 8%, rgba(16,80,132,.22), transparent 34rem),
        radial-gradient(circle at 80% 18%, rgba(0,165,194,.08), transparent 30rem),
        linear-gradient(145deg, #071420 0%, var(--ms-bg) 48%, #050d16 100%);
    font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
    overflow-x:hidden;
}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}

.ms-brand-line{
    position:fixed;
    inset:0 0 auto;
    z-index:100;
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    height:3px;
}
.ms-brand-line i:nth-child(1){background:var(--ms-orange)}
.ms-brand-line i:nth-child(2){background:var(--ms-blue)}
.ms-brand-line i:nth-child(3){background:var(--ms-fiscal)}
.ms-brand-line i:nth-child(4){background:var(--ms-red)}

.ms-login-shell{
    width:min(var(--ms-content-width), calc(100% - 24px));
    min-height:100vh;
    margin:0 auto;
    padding:21px 0 15px;
}

/* ==========================================================
   03. HEADER MENDOZA SERVICE
   ========================================================== */
.ms-login-header{
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:0 8px;
}
.ms-brand-lockup{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1px;
}
.ms-brand-logo{
    width:min(310px, 42vw);
    height:auto;
    object-fit:contain;
}
.ms-brand-subtitle{
    margin-left:63px;
    margin-top:-5px;
    color:#c6d0db;
    font-size:13px;
    letter-spacing:.02em;
}
.ms-secure-pill{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border:1px solid var(--ms-border);
    border-radius:999px;
    color:#bcc9d6;
    background:rgba(8,19,31,.72);
    font-size:12px;
}
.ms-secure-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--ms-fiscal);
    box-shadow:0 0 18px rgba(24,226,154,.55);
}
.ms-platform-intro{display:none}

/* ==========================================================
   04. LAYOUT PRINCIPAL
   ========================================================== */
.ms-login-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 405px;
    gap:18px;
    align-items:stretch;
    margin-top:10px;
}
.ms-login-showcase{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* ==========================================================
   05. MARQUESINA
   ========================================================== */
.ms-marquee{
    position:relative;
    min-width:0;
}
.ms-marquee-stage{
    position:relative;
    height:clamp(610px, calc(100vh - 230px), 765px);
    min-height:610px;
    overflow:hidden;
    border:1px solid var(--ms-border-soft);
    border-radius:var(--ms-radius-xl);
    background:
        linear-gradient(120deg, rgba(10,25,42,.98), rgba(8,20,34,.90)),
        var(--ms-panel);
    box-shadow:var(--ms-shadow);
}
.ms-slide{
    --slide-accent:var(--ms-fiscal);
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:minmax(390px, .78fr) minmax(520px, 1.22fr);
    gap:18px;
    padding:42px 40px 34px;
    opacity:0;
    visibility:hidden;
    transform:translateX(22px);
    transition:opacity .55s ease, transform .55s ease, visibility .55s;
}
.ms-slide--fiscal{--slide-accent:var(--ms-fiscal)}
.ms-slide--remote{--slide-accent:var(--ms-remote)}
.ms-slide.is-active{
    opacity:1;
    visibility:visible;
    transform:none;
    z-index:2;
}
.ms-slide::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 72% 44%, color-mix(in srgb, var(--slide-accent) 15%, transparent), transparent 32rem),
        linear-gradient(90deg, rgba(5,16,28,.15), transparent 64%);
}
.ms-slide-copy,
.ms-slide-visual{position:relative;z-index:1}
.ms-slide-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
}
.ms-eyebrow{
    margin:0 0 14px;
    color:var(--ms-orange);
    font-size:11px;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
}
.ms-slide--remote .ms-eyebrow{color:#67c9ff}
.ms-hero-title{
    display:flex;
    flex-direction:column;
    margin:0;
    max-width:680px;
    font-size:clamp(46px, 4.2vw, 76px);
    line-height:.96;
    letter-spacing:-.035em;
    font-weight:800;
}
.ms-hero-title span,.ms-hero-title strong{display:block}
.ms-hero-title strong{
    color:var(--slide-accent);
    font-weight:800;
}
.ms-hero-description{
    max-width:610px;
    margin:18px 0 0;
    color:#b9c6d4;
    font-size:clamp(16px, 1.15vw, 20px);
    line-height:1.5;
}
.ms-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:14px 24px;
    margin-top:22px;
}
.ms-benefit{
    display:flex;
    align-items:center;
    gap:8px;
    color:#e2e9ef;
    font-size:13px;
    font-weight:600;
}
.ms-benefit-icon{
    color:var(--ms-remote);
    font-size:20px;
    line-height:1;
}
.ms-slide-visual{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px 0 10px;
}
.ms-slide-visual img{
    width:min(100%, 710px);
    max-height:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    border-radius:22px;
    border:1px solid color-mix(in srgb, var(--slide-accent) 35%, var(--ms-border));
    box-shadow:
        0 35px 80px rgba(0,0,0,.48),
        0 0 44px color-mix(in srgb, var(--slide-accent) 13%, transparent);
    transform:perspective(1200px) rotateY(-2deg) rotateX(.5deg);
}
.ms-visual-glow{
    position:absolute;
    width:70%;
    height:70%;
    border-radius:50%;
    background:color-mix(in srgb, var(--slide-accent) 18%, transparent);
    filter:blur(70px);
    opacity:.55;
}
.ms-marquee-arrow{
    position:absolute;
    top:50%;
    z-index:8;
    width:48px;
    height:48px;
    margin-top:-24px;
    border:1px solid #35516d;
    border-radius:50%;
    background:rgba(6,18,31,.78);
    color:#f2f6fa;
    cursor:pointer;
    font-size:32px;
    line-height:1;
    backdrop-filter:blur(8px);
    transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.ms-marquee-arrow:hover,
.ms-marquee-arrow:focus-visible{
    transform:scale(1.05);
    border-color:var(--ms-remote);
    outline:none;
    background:rgba(12,35,56,.92);
}
.ms-marquee-arrow--prev{left:16px}
.ms-marquee-arrow--next{right:16px}
.ms-marquee-dots{
    position:absolute;
    left:50%;
    bottom:17px;
    z-index:9;
    display:flex;
    gap:7px;
    transform:translateX(-50%);
}
.ms-marquee-dot{
    width:26px;
    height:5px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#42566d;
    cursor:pointer;
    transition:width .25s ease, background .25s ease;
}
.ms-marquee-dot.is-active{
    width:38px;
    background:var(--ms-fiscal);
}

/* ==========================================================
   06. TARJETA DE PRODUCTO
   ========================================================== */
.ms-product-card{
    width:min(100%, 455px);
    margin-top:auto;
    padding:18px 20px 17px;
    border:1px solid color-mix(in srgb, var(--slide-accent) 58%, transparent);
    border-radius:16px;
    background:linear-gradient(135deg, rgba(8,28,39,.88), rgba(8,20,33,.82));
    backdrop-filter:blur(12px);
    box-shadow:0 18px 55px rgba(0,0,0,.25);
}
.ms-product-card-head{
    display:flex;
    align-items:center;
    gap:13px;
}
.ms-product-badge{
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border:1px solid var(--slide-accent);
    border-radius:13px;
    background:color-mix(in srgb, var(--slide-accent) 26%, #061421);
    color:#fff;
    font-size:17px;
    font-weight:800;
}
.ms-product-card h2{
    margin:0;
    font-size:26px;
    line-height:1.1;
}
.ms-product-card-head p{
    margin:5px 0 0;
    color:#c0ccd8;
    font-size:13px;
}
.ms-feature-list{
    display:grid;
    gap:7px;
    margin:16px 0 0;
    padding:0;
    list-style:none;
}
.ms-feature-list li{
    display:flex;
    align-items:center;
    gap:9px;
    color:#e0e7ee;
    font-size:13px;
    line-height:1.3;
}
.ms-feature-list li span{
    display:grid;
    place-items:center;
    width:19px;
    height:19px;
    border-radius:50%;
    background:var(--slide-accent);
    color:#052019;
    font-size:12px;
    font-weight:900;
}
.ms-product-cta{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    min-width:150px;
    margin-top:15px;
    padding:10px 14px;
    border-radius:999px;
    background:var(--slide-accent);
    color:#04131f;
    font-size:13px;
    font-weight:800;
}

/* ==========================================================
   07. BARRA DE MODULOS
   ========================================================== */
.ms-module-strip{padding:0 1px}
.ms-module-strip-label{
    margin:0 0 8px 2px;
    color:#6fd2ff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.24em;
    text-transform:uppercase;
}
.ms-module-strip-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:8px;
}
.ms-module-chip{
    min-width:0;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    padding:10px;
    border:1px solid var(--ms-border);
    border-radius:12px;
    background:rgba(10,24,39,.86);
    text-align:left;
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.ms-module-chip:not(.is-future):hover,
.ms-module-chip:not(.is-future):focus-visible{
    transform:translateY(-1px);
    border-color:#3d789f;
    outline:none;
}
.ms-module-chip.is-active{
    border-color:var(--ms-fiscal);
    background:rgba(10,42,43,.82);
}
.ms-module-chip[data-ms-module="ms-remote"].is-active{
    border-color:var(--ms-remote);
    background:rgba(8,35,61,.86);
}
.ms-module-chip.is-future{
    opacity:.74;
    cursor:default;
}
.ms-module-chip-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:10px;
    background:#0d6c51;
    color:#fff;
    font-size:13px;
    font-weight:900;
}
.ms-module-chip[data-ms-module="ms-remote"] .ms-module-chip-icon{background:#116cc5}
.ms-module-chip[data-ms-module="ms-backup"] .ms-module-chip-icon{background:#5d3bc1}
.ms-module-chip[data-ms-module="ms-vpn"] .ms-module-chip-icon{background:#c8750f}
.ms-module-chip[data-ms-module="ms-ocr"] .ms-module-chip-icon{background:#c93355}
.ms-module-chip-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.ms-module-chip-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.ms-module-chip-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#93a5b7;font-size:10px}
.ms-module-chip-arrow{color:#a9bbcc;font-size:16px}

/* ==========================================================
   08. LOGIN
   ========================================================== */
.ms-login-panel{
    min-width:0;
    border:1px solid var(--ms-border);
    border-radius:var(--ms-radius-xl);
    background:
        linear-gradient(180deg, rgba(10,24,39,.98), rgba(7,18,30,.98));
    box-shadow:var(--ms-shadow);
}
.ms-login-panel-inner{
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:54px 26px 24px;
}
.ms-login-heading{
    display:flex;
    align-items:center;
    gap:15px;
}
.ms-platform-mark{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    border:1px solid #1265a9;
    border-radius:16px;
    background:linear-gradient(145deg, #082744, #071a2e);
    color:#3daeff;
    box-shadow:inset 0 0 28px rgba(34,137,214,.10);
    font-size:21px;
    font-weight:900;
    letter-spacing:.02em;
}
.ms-login-kicker{
    margin:0 0 7px;
    color:#43b7ff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em;
}
.ms-login-product-copy{min-width:0}
.ms-login-product-name{
    margin:0;
    font-size:clamp(38px, 2.65vw, 48px);
    line-height:.98;
    letter-spacing:-.035em;
    font-weight:850;
}
.ms-login-product-subtitle{
    max-width:270px;
    margin:9px 0 0;
    color:#9fb2c5;
    font-size:11px;
    line-height:1.42;
}
.ms-login-action-title{
    margin:30px 0 0;
    font-size:22px;
    line-height:1.1;
    font-weight:750;
}
.ms-login-lead{
    margin:9px 0 24px;
    color:#a9b8c6;
    font-size:12px;
    line-height:1.55;
}
.ms-login-error{
    margin:0 0 16px;
    padding:10px 12px;
    border:1px solid var(--ms-danger);
    border-radius:10px;
    background:rgba(113,33,45,.18);
    color:#ffd9dc;
    font-size:12px;
    line-height:1.45;
}
.ms-login-form label{
    display:block;
    margin:14px 0 7px;
    color:#eef4f9;
    font-size:11px;
    font-weight:700;
}
.ms-input-shell{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    align-items:center;
    min-height:48px;
    padding:0 12px;
    border:1px solid #2b4761;
    border-radius:10px;
    background:#0a1726;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.ms-input-shell:focus-within{
    border-color:#278ad1;
    box-shadow:0 0 0 3px rgba(35,136,208,.10);
}
.ms-input-icon{color:#91a6bb;font-size:15px}
.ms-input-shell input{
    width:100%;
    min-width:0;
    padding:12px 4px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ms-text);
    font-size:13px;
}
.ms-input-shell input::placeholder{color:#6e8195}
.ms-password-toggle{
    padding:7px 2px 7px 10px;
    border:0;
    background:transparent;
    color:#8396a9;
    cursor:pointer;
    font-size:10px;
}
.ms-password-toggle:hover,
.ms-password-toggle:focus-visible{color:#d8e3ec;outline:none}
.ms-login-submit{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:20px;
    padding:13px 15px;
    border:1px solid #47adf5;
    border-radius:10px;
    background:linear-gradient(90deg, #247db7, #2d96dd);
    color:#fff;
    cursor:pointer;
    font-size:13px;
    font-weight:800;
    box-shadow:0 14px 34px rgba(26,120,183,.18);
    transition:transform .2s ease, filter .2s ease;
}
.ms-login-submit:hover,
.ms-login-submit:focus-visible{transform:translateY(-1px);filter:brightness(1.08);outline:none}
.ms-login-security{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:22px;
    padding-top:15px;
    border-top:1px solid rgba(79,109,139,.24);
    color:#788b9e;
    font-size:9px;
    line-height:1.45;
}
.ms-login-security-icon{
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#0b4d38;
    color:#44e7a3;
    font-size:11px;
    font-weight:900;
}
.ms-login-signature{
    margin-top:auto;
    padding-top:28px;
    text-align:center;
    border-top:1px solid rgba(79,109,139,.18);
}
.ms-login-signature img{
    width:205px;
    height:auto;
    margin:0 auto;
}
.ms-login-signature span{
    display:block;
    margin-top:9px;
    color:#7f92a5;
    font-size:9px;
}

/* ==========================================================
   09. FOOTER
   ========================================================== */
.ms-login-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 3px 0;
    color:#52677d;
    font-size:8px;
}

/* ==========================================================
   10. RESPONSIVE
   ========================================================== */
@media (max-width:1450px){
    .ms-login-layout{grid-template-columns:minmax(0,1fr) 370px}
    .ms-slide{grid-template-columns:minmax(340px,.86fr) minmax(430px,1.14fr);padding:34px 32px 30px}
    .ms-hero-title{font-size:clamp(42px,4vw,62px)}
    .ms-module-chip-arrow{display:none}
}
@media (max-width:1180px){
    .ms-login-layout{grid-template-columns:1fr}
    .ms-login-panel{order:-1}
    .ms-login-panel-inner{min-height:auto;padding:26px}
    .ms-login-signature{margin-top:28px}
    .ms-marquee-stage{height:auto;min-height:720px}
    .ms-module-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
    .ms-login-shell{width:min(100% - 14px, var(--ms-content-width));padding-top:15px}
    .ms-login-header{padding:0 2px}
    .ms-brand-logo{width:235px}
    .ms-brand-subtitle{display:none}
    .ms-secure-pill{padding:8px 10px;font-size:10px}
    .ms-marquee-stage{min-height:910px}
    .ms-slide{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:12px;padding:28px 22px 52px}
    .ms-slide-copy{order:1}
    .ms-slide-visual{order:2;padding:0}
    .ms-slide-visual img{width:min(100%,560px);max-height:440px}
    .ms-product-card{margin-top:22px}
    .ms-benefits{gap:10px 14px}
    .ms-marquee-arrow{width:42px;height:42px;margin-top:-21px}
    .ms-marquee-arrow--prev{left:8px}
    .ms-marquee-arrow--next{right:8px}
}
@media (max-width:560px){
    .ms-login-layout{gap:10px;margin-top:7px}
    .ms-login-panel-inner{padding:22px 17px}
    .ms-login-heading h2{font-size:26px}
    .ms-platform-mark{width:54px;height:54px;border-radius:14px}
    .ms-login-product-name{font-size:34px}
    .ms-login-product-subtitle{max-width:240px}
    .ms-marquee-stage{min-height:880px;border-radius:16px}
    .ms-slide{padding:25px 17px 52px}
    .ms-eyebrow{font-size:9px;letter-spacing:.16em}
    .ms-hero-title{font-size:42px}
    .ms-hero-description{font-size:15px}
    .ms-benefit{font-size:12px}
    .ms-product-card{padding:15px}
    .ms-product-card h2{font-size:22px}
    .ms-module-strip-grid{grid-template-columns:1fr 1fr}
    .ms-module-chip{grid-template-columns:38px minmax(0,1fr);padding:8px}
    .ms-module-chip-icon{width:38px;height:38px}
    .ms-module-chip-arrow{display:none}
    .ms-login-footer{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* ==========================================================
   MS PLATFORM | LIVE LAYOUT FIX
   Ajuste directo sobre el diseño existente.
   - Más ancho útil
   - Titular más contenido
   - Imagen completa, centrada y sin recorte cuadrado
   - Se conserva la identidad visual y el login actual
   ========================================================== */

:root{
    --ms-content-width:2240px;
}

.ms-login-shell{
    width:min(var(--ms-content-width), calc(100% - 32px));
}

.ms-login-layout{
    grid-template-columns:minmax(0,1fr) 400px;
    gap:18px;
}

.ms-marquee-stage{
    height:clamp(610px, calc(100vh - 215px), 730px);
    min-height:610px;
}

.ms-slide{
    grid-template-columns:minmax(500px,.96fr) minmax(620px,1.24fr);
    gap:24px;
    padding:34px 34px 30px;
}

.ms-hero-title{
    max-width:640px;
    font-size:clamp(34px,2.55vw,50px);
    line-height:1.02;
    letter-spacing:-.03em;
}

.ms-hero-description{
    max-width:620px;
    margin-top:14px;
    font-size:clamp(14px,.95vw,18px);
}

.ms-slide-visual{
    align-items:center;
    justify-content:center;
    padding:4px 0;
    overflow:hidden;
}

.ms-slide-visual img{
    display:block;
    width:min(100%,920px);
    height:auto;
    max-height:540px;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center center;
    transform:none;
}

.ms-product-card{
    width:min(100%,440px);
    margin-top:22px;
    padding:15px 17px 14px;
}

.ms-product-badge{
    width:48px;
    height:48px;
}

.ms-product-card h2{
    font-size:23px;
}

.ms-feature-list{
    gap:6px;
    margin-top:12px;
}

.ms-product-cta{
    margin-top:12px;
}

@media (max-width:1450px){

    .ms-login-layout{
        grid-template-columns:minmax(0,1fr) 380px;
    }

    .ms-slide{
        grid-template-columns:minmax(440px,.96fr) minmax(520px,1.24fr);
        padding:30px 28px 28px;
    }

    .ms-hero-title{
        font-size:clamp(34px,3vw,46px);
    }

    .ms-slide-visual img{
        width:min(100%,760px);
        max-height:460px;
        object-fit:contain;
    }
}

@media (max-width:1180px){

    .ms-login-layout{
        grid-template-columns:1fr;
    }

    .ms-login-panel{
        order:-1;
    }

    .ms-marquee-stage{
        height:auto;
        min-height:720px;
    }

    .ms-slide{
        grid-template-columns:minmax(390px,.95fr) minmax(470px,1.15fr);
    }
}

@media (max-width:820px){

    .ms-login-shell{
        width:min(100% - 14px, var(--ms-content-width));
    }

    .ms-marquee-stage{
        min-height:910px;
    }

    .ms-slide{
        grid-template-columns:1fr;
        grid-template-rows:auto 1fr;
        gap:12px;
        padding:28px 22px 52px;
    }

    .ms-hero-title{
        font-size:clamp(34px,7vw,42px);
    }

    .ms-slide-visual{
        padding:0;
    }

    .ms-slide-visual img{
        width:min(100%,620px);
        max-height:440px;
    }
}

@media (max-width:560px){

    .ms-hero-title{
        font-size:34px;
    }
}

/* ==========================================================
   MS PLATFORM | IMAGE EDGE TO EDGE FIX
   - Imagen de marquesina sin borde ni radio
   - Ocupa completamente el sector visual
   - Más presencia visual, sin caja tipo tarjeta
   ========================================================== */

.ms-slide-visual{
    align-items:stretch;
    justify-content:stretch;
    padding:0;
    overflow:hidden;
}

.ms-slide-visual img{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center center;
    border:0;
    border-radius:0;
    box-shadow:none;
    transform:none;
}

.ms-visual-glow{
    width:100%;
    height:100%;
    opacity:.36;
}

@media (max-width:1450px){
    .ms-slide-visual img{
        width:100%;
        height:100%;
        max-height:none;
        object-fit:cover;
    }
}

@media (max-width:820px){
    .ms-slide-visual img{
        width:100%;
        height:100%;
        max-height:none;
        object-fit:cover;
    }
}

/* ==========================================================
   MS PLATFORM | PRODUCT CARD BOTTOM ALIGN
   Alinea MS Fiscal y MS Remote sobre la misma linea inferior.
   ========================================================== */

.ms-slide-copy{
    height:100%;
}

.ms-product-card{
    margin-top:auto;
}
