/* ===== cierre: logo sobre negro ===== */
#closing{position:fixed;inset:0;z-index:36;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;pointer-events:none;opacity:0;will-change:opacity,transform}
#closing img{width:clamp(110px,12vw,170px);height:auto;filter:drop-shadow(0 0 28px #D6AE6B66)}
#closing span{font:500 clamp(18px,2.4vw,30px) var(--sw-font-display,'Bodoni Moda',serif);color:#F3EFE6;letter-spacing:.42em;padding-left:.42em;white-space:nowrap}
#closing .cl-slogan{margin:6px 0 0;font:500 clamp(18px,2.2vw,28px)/1.3 var(--sw-font-display,'Bodoni Moda',serif);color:#EDE9DF;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0)) * 14px));max-width:22ch;text-align:center}
#closing .cl-btn{margin-top:8px;font:600 14px var(--sw-font-body,Archivo,sans-serif);letter-spacing:.04em;padding:15px 32px;border-radius:40px;border:1px solid #D6AE6B;background:#D6AE6B;color:#0B0B0D;cursor:pointer;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0)) * 14px));box-shadow:0 0 0 0 #D6AE6B88;animation:clpulse 2.6s ease-out infinite;transition:background .25s}
#closing .cl-btn:hover{background:#F0D9A8}
#closing .cl-btn::after{content:"↓";margin-left:10px;display:inline-block;animation:cldown 1.6s ease-in-out infinite}
@keyframes clpulse{0%{box-shadow:0 0 0 0 #D6AE6B88}70%,100%{box-shadow:0 0 0 18px #D6AE6B00}}
@keyframes cldown{50%{transform:translateY(4px)}}
/* ===== fondos dinámicos ===== */
.jmc-colwrap main>section,.jmc-colwrap main>.anchor+section{position:relative;isolation:isolate;overflow:clip}
.bgfx{position:absolute;left:0;right:0;top:-12%;bottom:-12%;z-index:-1;pointer-events:none;overflow:hidden;will-change:transform}
.bgfx img,.bgfx video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.bgfx video{opacity:0;transition:opacity 1.2s}
.bgfx video.on{opacity:.3}
.bgfx::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0B0B0D 0,#0B0B0D99 14%,#0B0B0D55 50%,#0B0B0D99 86%,#0B0B0D 100%),radial-gradient(ellipse at 50% 45%,transparent 30%,#0B0B0D 100%)}
#dust{position:fixed;inset:0;z-index:46;pointer-events:none;opacity:0;transition:opacity .8s}
body.in-col #dust{opacity:1}
/* ===== laboratorio de cancelación ===== */
.anc-lab{max-width:1020px;margin:70px auto 20px;border:1px solid #2f2c26;border-radius:24px;background:linear-gradient(160deg,#161512ee,#0d0d10ee);padding:34px 38px;display:grid;grid-template-columns:1fr 1.25fr;gap:34px;align-items:center}
.anc-lab h3{font-size:clamp(26px,2.6vw,38px)}
.anc-lab p{font-size:14px;max-width:38ch;margin-top:12px}
.anc-lab .anc-note{font-size:11px;opacity:.7;margin-top:18px}
.anc-controls{display:flex;gap:12px;align-items:center;margin-top:24px;flex-wrap:wrap}
.anc-btn{padding:13px 22px;border-radius:40px;background:#D6AE6B;color:#0B0B0D;font-weight:600;font-size:14px}
.anc-switch{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:40px;border:1px solid #3a362c;color:#EDE9DF;font-size:13px;background:#14141899}
.anc-switch i{width:36px;height:20px;border-radius:20px;background:#3a362c;position:relative;transition:background .3s}
.anc-switch i::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#EDE9DF;transition:transform .3s}
.anc-switch[aria-pressed="true"] i{background:#D6AE6B}.anc-switch[aria-pressed="true"] i::after{transform:translateX(16px);background:#0B0B0D}
.anc-viz{position:relative;border-radius:16px;overflow:hidden;background:#09090b;border:1px solid #26231d;height:230px}
.anc-viz canvas{width:100%;height:100%;display:block}
.anc-viz b{position:absolute;left:16px;top:14px;font:500 11px var(--sans,Archivo);letter-spacing:.14em;text-transform:uppercase;color:#D6AE6B}
.anc-viz output{position:absolute;right:16px;top:12px;font:500 28px var(--serif,'Bodoni Moda');color:#F3EFE6}
@media(max-width:860px){.anc-lab{grid-template-columns:1fr;padding:24px 20px}}
/* ===== explorador macro del reloj ===== */
.macro{max-width:1100px;margin:80px auto 10px;display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.macro-view{position:relative;border-radius:22px;overflow:hidden;border:1px solid #2f2c26;background:#08080a;aspect-ratio:950/1426;width:min(100%,calc(78vh * 950 / 1426));margin-inline:auto;cursor:zoom-in;touch-action:pan-y}
.macro-stack{position:absolute;inset:0;transition:transform .9s cubic-bezier(.22,1,.36,1);transform-origin:var(--ox,50%) var(--oy,40%)}
.macro-view .macro-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.macro-day{filter:brightness(calc(.5 + .5 * var(--light,1)))}
.macro-night{opacity:calc(1 - var(--light,1))}
.macro-glow{filter:blur(9px) saturate(1.5) brightness(1.2);mix-blend-mode:screen;opacity:calc((1 - var(--light,1)) * .7)}
.macro-view{background:#08080a}
.macro-view.zoomed{cursor:zoom-out}
.macro-loupe{position:absolute;width:190px;height:190px;border-radius:50%;border:2px solid #D6AE6B;box-shadow:0 12px 40px #000c,inset 0 0 20px #0008;pointer-events:none;background-repeat:no-repeat;opacity:0;transition:opacity .2s;transform:translate(-50%,-50%)}
.macro-view.looking .macro-loupe{opacity:1}
.macro-copy h3{font-size:clamp(28px,3vw,44px)}
.macro-copy p{margin-top:12px;max-width:40ch;font-size:15px}
.macro-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.macro-chips button{padding:11px 18px;border-radius:30px;border:1px solid #3a362c;background:#14141899;color:#EDE9DF;font-size:13px;transition:all .25s}
.macro-chips button:hover,.macro-chips button[aria-pressed="true"]{background:#D6AE6B;color:#0B0B0D;border-color:#D6AE6B}
.macro-hint{margin-top:18px;font-size:12px;color:#A9A396}
@media(max-width:860px){.macro{grid-template-columns:1fr;gap:26px}.macro-loupe{display:none}}
/* el capítulo de cierre no aparece en el menú ni en los puntos */
.sw-nav > *:last-child,.sw-route > *:last-child{display:none!important}
body.closing-on .sw-nav,body.closing-on .sw-route,body.closing-on .sw-copylayer,body.closing-on .sw-hint{opacity:0!important;transition:opacity .4s}

.macro-light{display:block;margin-top:26px}
.macro-light .ml-label{display:block;font:500 11px var(--sans,Archivo);letter-spacing:.14em;text-transform:uppercase;color:#D6AE6B;margin-bottom:12px}
.macro-light input{width:100%;accent-color:#D6AE6B;height:28px}
.macro-light .ml-ends{display:flex;justify-content:space-between;font-size:12px;color:#A9A396}
.macro-light .ml-ends i{font-style:normal}

/* rendimiento: no pintar secciones fuera de pantalla */
.jmc-colwrap main>section:not(.mission){content-visibility:auto}
#mision{contain-intrinsic-size:auto 2700px}#companies{contain-intrinsic-size:auto 2100px}#audio{contain-intrinsic-size:auto 4100px}#jewelry{contain-intrinsic-size:auto 4600px}
#digital{contain-intrinsic-size:auto 2000px}#vuelvo{contain-intrinsic-size:auto 2800px}#group{contain-intrinsic-size:auto 2600px}#contact{contain-intrinsic-size:auto 2400px}
.bgfx{contain:strict}

/* rendimiento de la película: sin capas animadas tapadas por el vídeo ni desenfoques sobre vídeo en movimiento */
.sw-sky{display:none!important}
.sw-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(24,21,16,.78)!important}
#lang-pill select{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:rgba(11,11,13,.78)!important}
body.in-col .sw-topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#col-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(14,14,17,.92)!important}
.orbit-auto{backdrop-filter:none!important}
/* con la colección cubriendo la pantalla, la película deja de dibujarse */
body.col-full .sw-stage,body.col-full .sw-copylayer,body.col-full .sw-route,body.col-full .sw-hint,body.col-full #closing{visibility:hidden}

/* ===== formatos: que el vídeo y los textos no se corten en ningún tamaño ===== */
/* logo y nombre escalan con el ancho */
@media (max-width:1100px){ .sw-brand__mark{width:76px!important;height:71px!important} .sw-brand__name{font-size:19px!important} }
@media (max-width:640px){ .sw-brand__mark{width:56px!important;height:52px!important} .sw-brand__name{font-size:16px!important} .sw-brand{gap:8px!important} #lang-pill{top:14px!important;right:12px!important} }
/* el menú de capítulos solo si cabe sin salirse */
@media (max-width:1279px){ .sw-nav{display:none!important} }
/* ventanas casi cuadradas o altas (tablet, ventana estrecha): se ve el encuadre COMPLETO del vídeo, nada recortado por los lados */
@media (min-aspect-ratio: 7/10) and (max-aspect-ratio: 6/5){
  .sw-scene{background:#0B0B0D}
  .sw-scene__video,.sw-scene__still{object-fit:contain!important;object-position:center 30%!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 70%,transparent 100%)}
  .sw-copylayer::before{width:100%!important;height:58%!important;top:auto!important;bottom:0!important;background:linear-gradient(0deg,#0B0B0D 10%,rgba(11,11,13,.78) 46%,transparent 100%)!important}
  .sw-copy{left:clamp(22px,6vw,72px)!important;right:clamp(22px,6vw,72px)!important;top:auto!important;bottom:clamp(60px,9dvh,120px)!important;width:auto!important;max-width:640px}
  .sw-copy__title{font-size:clamp(2rem,5.6vw,3.2rem)!important}
  .sw-copy__body{max-width:none!important}
  .sw-hint{bottom:18px!important}
}
/* proporciones muy anchas (ultra-wide): el encuadre se centra en el sujeto */
@media (min-aspect-ratio: 2/1){
  .sw-scene{background:#0B0B0D}
  .sw-scene__video,.sw-scene__still{object-fit:contain!important;object-position:center center!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
  .sw-copy{width:min(26vw,520px)}
}
html,body{background:#0B0B0D!important;color-scheme:dark}
/* selector de idioma: arriba a la derecha cuando no hay sitio abajo-izquierda */
@media (max-width:1279px){ #lang-pill{top:16px!important;right:16px!important;left:auto!important;bottom:auto!important} [dir="rtl"] #lang-pill{right:auto!important;left:16px!important} }
@media (max-height:700px) and (min-width:861px){ #lang-pill{top:16px!important;right:16px!important;left:auto!important;bottom:auto!important} }

/* ===== logotipo de texto "JMC HOLDING": MISMA tipografía en cabecera, entrada y cierre ===== */
:root{--wm-font:'Futura','Futura PT','Jost','Century Gothic','Avenir Next',sans-serif;--wm-weight:500;--wm-track:.36em}
.sw-brand__name,#closing span,#gate b{font-family:var(--wm-font)!important;font-weight:var(--wm-weight)!important;letter-spacing:var(--wm-track)!important;text-transform:uppercase;font-style:normal!important}
.sw-brand__name{font-size:clamp(17px,1.5vw,24px)!important;padding-inline-start:0}
#closing span,#gate b{padding-left:var(--wm-track);white-space:nowrap}

/* ===== bloque de texto de la película: centrado vertical, nunca cortado ===== */
@media (min-width:861px) and (min-aspect-ratio:6/5){
  .sw-copy{top:50%!important;transform:translateY(-50%)!important;max-height:calc(100dvh - 150px)}
}
@media (min-width:861px) and (max-height:820px){ .sw-copy__title{font-size:clamp(1.8rem,3.5vw,2.8rem)!important} .sw-copy__body{margin-top:12px} .sw-copy__tags{margin-top:16px} .sw-copy__cta{margin-top:18px} .sw-copy__eyebrow{margin-top:12px} }
@media (min-width:861px) and (max-height:680px){ .sw-copy__title{font-size:clamp(1.5rem,3vw,2.2rem)!important} .sw-copy__body{font-size:.9rem;line-height:1.45} .sw-copy__tags{margin-top:12px} .sw-btn{padding:10px 18px;font-size:.85rem} .sw-copy__cta{margin-top:14px} }

/* ===== puntos de capítulo: sin línea entre ellos y nombre legible, sin recuadro ===== */
.sw-route::before{display:none!important}
.sw-route__label{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;border-radius:0!important;color:#fff!important;font-weight:600!important;font-size:.86rem!important;letter-spacing:.06em;text-shadow:0 0 3px rgba(0,0,0,.95),0 1px 10px rgba(0,0,0,.9),0 0 22px rgba(0,0,0,.7);right:26px!important}
body.in-col .sw-route__label{opacity:0!important}
.client-links{display:flex;gap:18px;flex-wrap:wrap;align-items:stretch;justify-content:flex-end}
.client-link .if-mark,.demo-brand .if-mark{display:block;height:auto}
.demo-brand{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.client-link img[src*="ideaflow-logo"]{height:54px!important;width:auto!important;max-width:none!important}.client-link img[src*="jetmi"]{height:54px!important;width:auto!important}
