:root{--r:#c1272d;--r2:#ee3a41;--r-d:#9d1e23;--k:#141414;--k2:#0e0e0e;--tx:#3a3a3a;--mute:#6d6d6d;--bg2:#f4f4f4;--line:#e2e2e2;--w:#fff;
--head:"Montserrat",Arial,sans-serif;--body:"Open Sans",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;color-scheme:light}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip}
body{margin:0;background:var(--w);color:var(--tx);font:400 16px/1.7 var(--body);overflow-x:clip}
a{color:inherit}:focus-visible{outline:2px solid var(--r);outline-offset:2px}img{max-width:100%;display:block}
.con{max-width:1200px;margin:auto;width:100%;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--head);color:var(--k);line-height:1.2;margin:0;text-wrap:balance}
.mono{font:400 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.btn{display:inline-block;background:var(--r);color:#fff;border:2px solid var(--r);border-radius:2px;padding:12px 26px;font:700 13px/1.2 var(--head);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.btn:hover,.btn:focus-visible{background:var(--r-d);border-color:var(--r-d)}
.btn.line{background:transparent;border-color:#fff;color:#fff}.btn.line:hover,.btn.line:focus-visible{background:#fff;color:var(--k);border-color:#fff}
/* Barra superior y cabecera */
.tb{background:var(--k);color:#d5d5d5;font-size:13px}.tb .con{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding-block:8px}.tb span+span{margin-left:22px}
.hd{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 8px #0000001a}
.hd .con{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:12px}
.hd svg.lg{width:150px;height:54px;display:block;--logo-l:var(--k);--logo-m:var(--r)}
.mn{display:flex;align-items:center;gap:28px;font:600 13px/1 var(--head);text-transform:uppercase;letter-spacing:.04em}.mn a:not(.btn){text-decoration:none;color:var(--k);padding:8px 0;border-bottom:2px solid transparent}.mn a:not(.btn):hover,.mn a:not(.btn):focus-visible,.mn a.on{color:var(--r);border-color:var(--r)}.mn .btn{padding:10px 18px;font-size:12px}
.tg{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;cursor:pointer;padding:11px 10px}.tg i{display:block;height:2px;background:var(--k);margin:4px 0}
/* Efecto A: mirilla en la portada */
.hero{position:relative;height:calc(100vh - 116px);height:calc(100svh - 116px);min-height:560px;overflow:hidden;background:#050505;color:#fff;cursor:none;--x:50%;--y:36%;--rad:clamp(110px,15vw,215px)}
@media (hover:none){.hero{cursor:auto}}
.hero .logo{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);width:min(84vw,105vh,1020px);aspect-ratio:590/210;display:block}
.dim{--logo-l:#1e1e1e;--logo-m:#271416}
.lit{position:absolute;inset:0;--logo-l:#fff;--logo-m:var(--r2);background:radial-gradient(circle at var(--x) var(--y),#3a0a0d 0,#120405 calc(var(--rad)*.8),#090202 var(--rad));-webkit-mask-image:radial-gradient(circle var(--rad) at var(--x) var(--y),#000 97%,transparent 100%);mask-image:radial-gradient(circle var(--rad) at var(--x) var(--y),#000 97%,transparent 100%)}
.lit::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ee3a4122 1px,transparent 1px),linear-gradient(90deg,#ee3a4122 1px,transparent 1px);background-size:44px 44px}
.reticle{position:absolute;left:var(--x);top:var(--y);width:calc(var(--rad)*2);height:calc(var(--rad)*2);transform:translate(-50%,-50%);pointer-events:none}
.hud{position:absolute;top:18px;right:max(20px,env(safe-area-inset-right,0px));text-align:right;color:#a39f9d;font-variant-numeric:tabular-nums}.hud b{color:var(--r2);font-weight:600}
.foot{position:absolute;left:0;right:0;bottom:0;pointer-events:none;padding-bottom:30px}.foot .con{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 40px}
.foot h1{color:#fff;font-size:clamp(1.7rem,3.3vw,3rem);font-weight:800;max-width:21em}.foot p{margin:8px 0 0;color:#dcdcdc;max-width:54ch}
.acts{display:flex;flex-wrap:wrap;gap:12px;pointer-events:auto;cursor:auto;margin-bottom:34px}
/* Secciones */
.sec{padding-block:clamp(56px,9vh,90px)}.alt{background:var(--bg2)}
.eb{font:700 13px/1.3 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--r);margin:0 0 10px}
.tit{text-align:center;max-width:720px;margin:0 auto 44px}.tit h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}.tit h2::after{content:"";display:block;width:60px;height:3px;background:var(--r);margin:16px auto 0}.tit p:not(.eb){margin:18px 0 0;color:var(--mute)}
/* Servicios con instrumentos en directo */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.card{background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--r);display:flex;flex-direction:column;transition:box-shadow .2s;min-width:0}.card:hover{box-shadow:0 14px 30px #00000017}
.ins{position:relative;aspect-ratio:4/3;background:var(--k2);overflow:hidden}.ins canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.st{position:absolute;z-index:2;left:12px;top:9px;color:#a8a4a2}.st2{left:auto;right:12px;color:var(--r2);font-weight:600}
.cheq{position:absolute;inset:0;padding:34px 16px 12px;display:flex;flex-direction:column;justify-content:center;gap:7px;color:#f4f2f0}
.row{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:3px 10px;align-items:center}.row .pb{grid-column:1/-1;height:4px;background:#262626}.row .pb i{display:block;height:100%;width:0;background:#fff}.row b{text-align:right;font-weight:600;color:#a8a4a2}.row.ok b{color:#fff}.row.rev b{color:var(--r2)}.row.rev .pb i{background:var(--r2)}
.cb{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.cb h3{font-size:1.15rem;font-weight:700;margin-bottom:10px}.cb p{margin:0 0 12px}.cb ul{margin:0 0 18px;padding:0;list-style:none;font-size:15px}.cb li{padding:4px 0 4px 20px;position:relative}.cb li::before{content:"";position:absolute;left:2px;top:13px;width:8px;height:8px;background:var(--r)}
.more{margin-top:auto;font:700 13px/1 var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--r);text-decoration:none}.more:hover{color:var(--k)}
/* Efecto B: prueba de polígrafo */
.pg{padding-top:clamp(56px,9vh,90px);background-color:#faf8f5;background-image:linear-gradient(#c1272d14 1px,transparent 1px),linear-gradient(90deg,#c1272d14 1px,transparent 1px);background-size:24px 24px}
.pg .tit{margin-bottom:30px}.pg .tit p:not(.eb){color:var(--tx)}
.strip{position:relative;height:clamp(220px,32vh,320px);border-block:2px solid var(--k);background:#fff}.strip canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.exam{background:var(--k);color:#fff;padding-block:clamp(20px,3vh,30px)}.exam .con{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:center}
.exam .nota{margin:0;color:#c8c4c1;font-size:14px;max-width:80ch}.exam small{color:#c8c4c1}.exam .q{font:700 clamp(1.2rem,2.2vw,1.8rem)/1.2 var(--head);margin:6px 0 0;text-wrap:balance}.res{color:#ff8d8f;min-height:1.6em;margin:8px 0 0;font-size:14px}
.ans{display:flex;gap:8px}.ans button{background:transparent;border:2px solid #fff;border-radius:2px;color:#fff;font:700 15px/1 var(--head);text-transform:uppercase;padding:14px 30px;cursor:pointer}.ans button:hover,.ans button:focus-visible{background:var(--r);border-color:var(--r)}
/* Efecto C: cruzar el monograma */
#gate{position:relative;height:300vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#070707;color:#fff}
.scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(18px,3vh,30px);padding:90px 20px 40px;background:repeating-linear-gradient(115deg,#141414 0 2px,#070707 2px 26px)}
.scene h2{color:#fff;font-size:clamp(2.1rem,8.2vw,7.4rem);font-weight:900;text-transform:uppercase;line-height:.98;letter-spacing:-.02em;will-change:transform}.scene h2 span{display:block}.scene h2 span+span{color:var(--r2)}
.scene .sub{opacity:0;max-width:60ch;margin:0}.scene .sub p{margin:0 0 18px;font-size:clamp(16px,1.4vw,19px)}
#door{position:absolute;inset:0;width:100%;height:100%;display:block}
.over{position:absolute;left:0;right:0;bottom:0;padding-bottom:34px;color:#000;pointer-events:none}.over p{margin:0;font:800 clamp(1.4rem,3vw,2.7rem)/1.1 var(--head);max-width:22em;text-wrap:balance}.over span{display:block;margin-top:10px;font-weight:600}
/* Empresa y proceso */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,64px);align-items:center}
.panel{background:var(--k);aspect-ratio:4/3;display:grid;place-items:center;position:relative}.panel svg{width:66%;aspect-ratio:590/210;height:auto}.panel small{position:absolute;left:14px;bottom:10px;color:#a8a8a8;font-size:12px}
.two h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;margin-bottom:18px}.two p:not(.eb){margin:0 0 14px}
.rd{position:relative;display:inline-block}.rd::after{content:"";position:absolute;inset:.08em -.08em;background:var(--r);transform-origin:right;transition:transform .8s cubic-bezier(.7,0,.2,1) .3s}.seen .rd::after{transform:scaleX(0)}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;padding-top:22px;border-top:1px solid #d6d6d6}.vals b{display:block;font:700 15px/1.3 var(--head);color:var(--k);margin-bottom:4px}.vals span{font-size:14px;color:var(--mute);line-height:1.5;display:block}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0;counter-reset:s}.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);padding:26px 22px}.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;background:var(--r);color:#fff;font:800 16px/1 var(--head);margin-bottom:14px}.steps h3{font-size:1.02rem;font-weight:700;margin-bottom:6px}.steps p{margin:0;font-size:15px}
/* Marcas */
.lgs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.lgc{margin:0;border:1px solid var(--line);background:#fff}.lgc div{height:170px;display:grid;place-items:center;padding:18px}.lgc.bk div{background:#000}.lgc img{max-height:134px;max-width:100%;object-fit:contain}.lgc figcaption{padding:10px 14px;border-top:1px solid var(--line);font-size:14px;text-align:center}.lgc b{display:block;font:700 14px/1.4 var(--head);color:var(--k)}
/* Efecto C: material en recorrido horizontal */
#material{position:relative;background:var(--r);color:#fff}
.kstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;padding-top:80px}
.ktitle{position:absolute;left:0;right:0;top:92px;z-index:2}.ktitle .con{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 20px}.ktitle h2{color:#fff;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:800}.ktitle p{margin:0}
.track{display:flex;align-items:center;gap:6vw;padding-left:6vw;padding-right:14vw;will-change:transform}
.ki{flex:none;margin:0;position:relative;height:min(60vh,72vw);display:flex;align-items:center;justify-content:center}.ki img{height:100%;width:auto;max-width:80vw;object-fit:contain;filter:drop-shadow(0 30px 30px #0007)}.ki figcaption{position:absolute;left:0;bottom:-6px;background:#000;color:#fff;padding:6px 10px;font:600 13px/1.3 var(--head)}
/* Contacto */
.ct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,60px)}.dt{list-style:none;margin:0;padding:0}.dt li{padding:14px 0;border-bottom:1px solid var(--line)}.dt b{display:block;font:700 13px/1.4 var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--k)}.dt em{font-style:normal;color:var(--r)}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:var(--bg2);padding:clamp(20px,3vw,32px);min-width:0}label{display:grid;gap:5px;font:600 13px/1.3 var(--head);color:var(--k);min-width:0}.full{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid #cfcfcf;background:#fff;color:var(--tx);padding:11px 12px;font:400 15px/1.4 var(--body);border-radius:2px}textarea{min-height:120px}input:focus,select:focus,textarea:focus{outline:2px solid var(--r);outline-offset:0;border-color:var(--r)}
.chk{display:flex;gap:9px;align-items:flex-start;font:400 13px/1.5 var(--body)}.chk input{width:auto;margin-top:3px}.fmsg{margin:0;color:var(--r-d);font-weight:600}
/* Pie */
.ft{background:var(--k);color:#c4c4c4;font-size:15px}.ft .cols{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,3fr));gap:34px;padding-block:50px 36px}.ft h3{color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.ft ul{list-style:none;margin:0;padding:0}.ft li{padding:4px 0}.ft a{text-decoration:none}.ft a:hover,.ft a:focus-visible{color:#fff;text-decoration:underline}.ft p{margin:0}
.flogo{display:block;width:100%;height:auto;aspect-ratio:590/210;margin-top:10px}
.lg2{border-top:1px solid #333;font-size:13px}.lg2 .con{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding-block:16px}
@media (max-width:980px){.cards,.two,.ct{grid-template-columns:minmax(0,1fr)}.steps,.lgs{grid-template-columns:repeat(2,minmax(0,1fr))}.ft .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.exam .con{grid-template-columns:minmax(0,1fr)}.tg{display:block}.mn{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 18px;box-shadow:0 10px 16px #00000022}.mn.open{display:flex}.mn a:not(.btn){padding:13px 0;border-bottom:1px solid var(--line)}.mn .btn{margin-top:12px;text-align:center}.acts{margin-bottom:44px}}
@media (max-width:600px){.tb span.hm{display:none}.tb span+span{margin-left:0}.vals,.steps,.ft .cols{grid-template-columns:minmax(0,1fr)}form{grid-template-columns:minmax(0,1fr)}.lgc div{height:120px}.lgc img{max-height:90px}.hero{--y:27%}.hero .logo{top:27%}.over{padding-bottom:64px}.ki{height:52vh}.ktitle{top:84px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lit{-webkit-mask-image:none;mask-image:none}.reticle{display:none}.rd::after{display:none}.btn,.card{transition:none}}
/* Añadidos de la versión PHP */
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lgc a{display:block;text-decoration:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fmsg.ok{color:#1d6b35}.fmsg{grid-column:1/-1}
form button[disabled]{opacity:.6;cursor:wait}
.legal{padding-block:clamp(48px,8vh,80px)}.legal .con{max-width:820px}.legal h1{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;margin-bottom:24px}.legal h1::after{content:"";display:block;width:60px;height:3px;background:var(--r);margin-top:16px}.legal p{margin:0 0 16px}
.ft .lg2 a{text-decoration:none}.ft .lg2 a+a::before{content:" · "}
/* ===== Versión multipágina ===== */
.salto{position:absolute;left:-9999px;top:0;z-index:100;background:var(--r);color:#fff;padding:10px 16px}.salto:focus{left:10px}
.card,.curso,.nt{position:relative}.cl{text-decoration:none;color:inherit}.cl::after{content:"";position:absolute;inset:0;z-index:3}.cl:hover{color:var(--r)}.card:hover .more,.curso:hover .more,.nt:hover .more{color:var(--k)}
.cards{row-gap:30px}
/* Menú con desplegables */
.dd{position:relative;display:flex;align-items:center;gap:2px}
.ddb{width:22px;height:30px;border:0;background:none;cursor:pointer;padding:0;display:grid;place-items:center}.ddb::before{content:"";width:6px;height:6px;border-right:2px solid var(--k);border-bottom:2px solid var(--k);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.dd ul{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:-16px;min-width:270px;background:#fff;box-shadow:0 14px 30px #0000002a;border-top:3px solid var(--r);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.dd ul a{display:block;padding:10px 18px!important;border:0!important;text-transform:none;letter-spacing:0;font:600 14px/1.35 var(--head);color:var(--k)}.dd ul a:hover,.dd ul a:focus-visible{background:var(--bg2);color:var(--r)}
@media (hover:hover) and (min-width:981px){.dd:hover ul,.dd:focus-within ul{opacity:1;visibility:visible;transform:none}.dd:hover .ddb::before{transform:translateY(1px) rotate(225deg)}}
.dd.open ul{opacity:1;visibility:visible;transform:none}
/* Cabecera de página interior */
.ph{position:relative;overflow:hidden;background:#070707;color:#fff;padding:clamp(56px,10vh,110px) 0 clamp(44px,8vh,80px);background-image:linear-gradient(#ee3a4112 1px,transparent 1px),linear-gradient(90deg,#ee3a4112 1px,transparent 1px);background-size:44px 44px}
.ph .con{position:relative;z-index:2}.ph h1{color:#fff;font-size:clamp(2rem,5vw,3.6rem);font-weight:900;max-width:18em;letter-spacing:-.01em}.ph h1::after{content:"";display:block;width:70px;height:4px;background:var(--r2);margin-top:20px;transform-origin:left;animation:barra .9s cubic-bezier(.7,0,.2,1) .2s both}
.ph .eb{color:var(--r2)}.phx{margin:18px 0 0;max-width:62ch;color:#cfcfcf;font-size:clamp(16px,1.3vw,19px)}
.migas{color:#8f8f8f;margin:0 0 26px}.migas a{color:#bdbdbd;text-decoration:none}.migas a:hover{color:#fff}.migas [aria-current]{color:var(--r2)}
.phm{position:absolute;right:-4%;top:50%;width:min(62vw,820px);aspect-ratio:590/210;transform:translate(var(--px,0px),calc(-50% + var(--py,0px)));--logo-l:#ffffff0c;--logo-m:#ee3a411f;pointer-events:none;transition:transform .4s ease-out}
.phs{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--r2),transparent);opacity:.7;animation:escaner 6s linear infinite}
@keyframes escaner{0%{top:0}100%{top:100%}}@keyframes barra{from{transform:scaleX(0)}}
.ph h1,.ph .phx,.ph .eb{animation:sube .8s cubic-bezier(.2,.7,.2,1) both}.ph .phx{animation-delay:.12s}
@keyframes sube{from{opacity:0;transform:translateY(16px)}}
/* Banda de llamada a la acción */
.cta{background:var(--r);color:#fff}.cta .con{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 40px;padding-block:clamp(34px,6vh,56px)}.cta p{margin:0;font:800 clamp(1.25rem,2.4vw,1.9rem)/1.2 var(--head);max-width:30em;text-wrap:balance}
.btn.ghost{background:transparent;color:var(--k);border-color:var(--k)}.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--k);color:#fff}
.acts2{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.cen{text-align:center;margin:36px 0 0}
.h3{font-size:1.25rem;font-weight:800;margin:30px 0 14px}
/* Detalle de servicio y de curso */
.sv{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,70px);align-items:start}
.svt>p:first-child{font-size:1.12rem;color:var(--k)}.svt p{margin:0 0 16px}
.svp{position:sticky;top:100px}.ins.big{aspect-ratio:4/3;border-bottom:3px solid var(--r)}.svn{color:var(--mute);margin:12px 0 0}
.chk2,.cred{list-style:none;margin:0;padding:0}.chk2 li,.cred li{position:relative;padding:10px 0 10px 34px;border-bottom:1px solid var(--line)}.chk2 li::before,.cred li::before{content:"";position:absolute;left:4px;top:15px;width:14px;height:8px;border-left:3px solid var(--r);border-bottom:3px solid var(--r);transform:rotate(-45deg)}
.tem{margin:0;padding:0;list-style:none;counter-reset:t}.tem li{counter-increment:t;display:grid;grid-template-columns:44px 1fr;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.tem li::before{content:counter(t,decimal-leading-zero);font:600 13px/1 var(--mono);color:var(--r)}
.ficha{position:sticky;top:100px;background:var(--bg2);border-top:3px solid var(--r);padding:26px}.ficha .h3{margin-top:0}.ficha dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 22px}.ficha dt{font:700 12px/1.6 var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}.ficha dd{margin:0}.ficha .btn{width:100%;text-align:center}
.arti{width:100%;max-height:440px;object-fit:cover;margin-bottom:26px}
/* Logo del curso: entero, ajustado por altura */
.cimg{display:block;width:auto;max-width:100%;height:clamp(180px,26vw,300px);object-fit:contain;object-position:left center;margin-bottom:26px}
/* Catálogo de cursos */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-10px 0 34px}.chips a{padding:9px 16px;border:1px solid #cfcfcf;background:#fff;border-radius:40px;text-decoration:none;font:600 13px/1.2 var(--head);color:var(--k);transition:all .15s}.chips a:hover{border-color:var(--k)}.chips a[aria-current]{background:var(--k);border-color:var(--k);color:#fff}
.cursos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.curso{background:#fff;border:1px solid var(--line);border-left:4px solid var(--r);padding:24px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.curso:hover{box-shadow:0 14px 30px #00000017;transform:translateY(-3px)}
.curso h3{font-size:1.12rem;font-weight:800;margin:0 0 10px}.curso p{margin:0 0 14px;font-size:15px}.ccat{color:var(--r)!important;margin-bottom:10px!important}.cmeta{color:var(--mute)!important}.curso .more{margin-top:auto}
.curso.in{animation:sube .4s both}
/* Noticias */
.nts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),380px));justify-content:center;gap:26px}
.nt{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s}.nt:hover{box-shadow:0 14px 30px #00000017}
.nti{aspect-ratio:16/9;background:var(--k);display:grid;place-items:center;overflow:hidden}.nti img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.nt:hover .nti img{transform:scale(1.04)}.nti svg{width:55%;aspect-ratio:590/210}
.ntb{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}.ntb .mono{color:var(--r);margin:0 0 8px}.ntb h3{font-size:1.15rem;font-weight:800;margin:0 0 10px}.ntb p:not(.mono){margin:0 0 14px;font-size:15px}.ntb .more{margin-top:auto}
.art .con{max-width:820px}.art p{margin:0 0 18px}.lead{font-size:1.2rem;color:var(--k);font-weight:600}
.pag{display:flex;justify-content:center;gap:6px;margin-top:36px}.pag a{min-width:40px;padding:9px 12px;text-align:center;border:1px solid var(--line);text-decoration:none}.pag a[aria-current]{background:var(--k);color:#fff;border-color:var(--k)}
/* Perito judicial */
.pf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,70px);align-items:center}
.pfi{position:relative;aspect-ratio:4/5;background:var(--k);display:grid;place-items:center}.pfi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pfi>svg{width:70%;aspect-ratio:590/210}
.sello{position:absolute;right:-28px;bottom:-28px;width:132px;height:132px;color:#fff;background:var(--r);border-radius:50%;padding:6px;box-shadow:0 10px 26px #0005}.sello svg{width:100%;height:100%;animation:gira 26s linear infinite}.sello text{font-family:var(--head)}
@keyframes gira{to{transform:rotate(360deg)}}
.pf h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}.cargo{font:700 15px/1.4 var(--head);color:var(--r);margin:8px 0 18px}.pf p:not(.eb):not(.cargo){margin:0 0 16px}.cred{margin-top:18px}
/* Socio tecnológico */
.sc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,5vw,70px);align-items:center}.scl{background:#fff;border:1px solid var(--line);padding:40px 34px;display:grid;place-items:center}.scl img{width:100%;max-width:300px;height:auto}
.sc h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;margin-bottom:14px}.sc p:not(.eb){margin:0 0 14px}
/* Peritaje en la portada */
.pj{background:var(--k);color:#e6e6e6}.pj .con{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,70px);align-items:center;padding-block:clamp(56px,9vh,90px)}
.pj .eb{color:var(--r2)}.pj h2{color:#fff;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:800;margin-bottom:14px}.pj p:not(.eb){margin:0 0 12px;color:#cfcfcf}.pji{border:1px solid #2a2a2a}
/* Material en cuadrícula */
.mgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mgrid figure{margin:0;background:var(--bg2);padding:20px;text-align:center}.mgrid img{height:200px;width:100%;object-fit:contain;margin-bottom:12px}.mgrid figcaption{font:700 14px/1.3 var(--head);color:var(--k)}.mgrid .more{display:inline-block;margin-top:10px}
.fref{margin:0;padding:10px 14px;background:#fff;border-left:3px solid var(--r);font-size:14px}
@media (max-width:980px){
  .sv,.pf,.sc,.pj .con{grid-template-columns:minmax(0,1fr)}.svp,.ficha{position:static}.cursos{grid-template-columns:repeat(2,minmax(0,1fr))}.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dd{flex-wrap:wrap;border-bottom:1px solid var(--line)}.dd>a{flex:1;border-bottom:0!important}.ddb{width:44px;height:44px}
  .dd ul{position:static;width:100%;box-shadow:none;border-top:0;padding:0 0 8px 12px;display:none;opacity:1;visibility:visible;transform:none;min-width:0}.dd.open ul{display:block}.dd.open .ddb::before{transform:translateY(1px) rotate(225deg)}
  .mn{max-height:calc(100vh - 80px);overflow:auto}.sello{right:12px;bottom:-24px}.pfi{max-width:420px}
}
@media (max-width:600px){.cursos,.mgrid{grid-template-columns:minmax(0,1fr)}.cta .con{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.phs,.sello svg{animation:none}.ph h1,.ph .phx,.ph .eb,.ph h1::after{animation:none}.curso,.nt img{transition:none}}
/* ===== Marcas, partners, tienda, carrusel y mapa ===== */
.lgs{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.lgc{display:flex;flex-direction:column;transition:box-shadow .2s}.lgc:hover{box-shadow:0 12px 26px #00000014}
.lgc>div{height:140px!important;padding:16px!important}.lgc img{max-height:100px!important}
.lgc figcaption{flex:1}.lgc .mk{display:block;text-decoration:none;color:inherit}.lgc .mk span{display:block;font-size:13px;color:var(--mute);line-height:1.4}
.lgc .mk i{display:block;margin-top:6px;font:700 11px/1.2 var(--head);font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:var(--r)}.lgc .mk:hover b{color:var(--r)}
.lgo,.lgc .lgo{display:grid;place-items:center;width:100%;height:100%;text-decoration:none;position:relative}
.lgo[href]::after{content:"↗";position:absolute;top:-6px;right:-4px;font-size:13px;color:var(--mute);opacity:0;transition:opacity .2s}.lgo[href]:hover::after,.lgo[href]:focus-visible::after{opacity:1}
.lgo img{transition:transform .3s}.lgo:hover img{transform:scale(1.06)}.lgo svg{width:80%;aspect-ratio:590/210;--logo-l:#fff;--logo-m:var(--r2)}
.wm{font:800 1.05rem/1.2 var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--k);text-align:center;text-wrap:balance}.bk .wm,.mch .wm{color:#fff}
.lgn{text-align:center;color:var(--mute);margin:16px 0 0}
/* Partners en franja continua */
.ptn{padding-block:clamp(48px,7vh,72px);background:#fff;border-top:1px solid var(--line);overflow:hidden}.ptn .tit{margin-bottom:30px}
.mq{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mqt{display:flex;flex:none;gap:20px;padding:6px 20px 6px 0;margin:0;list-style:none;animation:mq 45s linear infinite}
.mq:hover .mqt,.mq:focus-within .mqt{animation-play-state:paused}@keyframes mq{to{transform:translateX(-100%)}}
.plg{display:grid;place-items:center;width:210px;height:104px;border:1px solid var(--line);background:#fff;padding:14px 18px;text-decoration:none;transition:border-color .2s,transform .2s}
.plg:hover,.plg:focus-visible{border-color:var(--r);transform:translateY(-3px)}.plg img{max-height:64px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}.plg:hover img{filter:none;opacity:1}.plg .wm{font-size:14px}
/* Productos */
.prds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.prd{position:relative;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.prd:hover{box-shadow:0 14px 30px #00000017;transform:translateY(-3px)}
.prdi{aspect-ratio:1;background:var(--bg2);display:grid;place-items:center;padding:18px;position:relative;overflow:hidden}.prdi img{max-height:100%;max-width:100%;object-fit:contain;transition:transform .4s}.prd:hover .prdi img{transform:scale(1.06)}.prdi svg{width:60%;aspect-ratio:590/210}
.prdb{padding:16px 18px 18px}.prdb .mono{color:var(--r);margin:0 0 6px}.prdb h3{font-size:1.02rem;font-weight:700;margin:0 0 10px}
.pz b{font:800 1.15rem/1 var(--head);color:var(--k)}.pz s{color:var(--mute);margin-right:6px}.pz0{font:600 14px/1.3 var(--body);color:var(--mute)}
.tag{position:absolute;top:10px;left:10px;background:var(--k);color:#fff;padding:4px 8px}.agot .prdi img{opacity:.45}
.aviso{margin:26px auto 0;max-width:70ch;text-align:center;color:var(--mute);font-size:14px}
.pdt .migas2{color:var(--mute);margin:0 0 26px}.migas2 a{color:inherit;text-decoration:none}.migas2 a:hover{color:var(--r)}
.pdg{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(30px,5vw,64px);align-items:start}
.pdi{background:var(--bg2);aspect-ratio:1;display:grid;place-items:center;padding:clamp(20px,4vw,48px);position:sticky;top:100px}.pdi img{max-height:100%;object-fit:contain;animation:sube .7s both}.pdi svg{width:60%}
.pdx h1{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:900;margin:6px 0 16px}.pdx .eb a{text-decoration:none}.pdx p{margin:0 0 14px}
.pdp{margin:0 0 4px!important}.pdp .pz b{font-size:2rem}.pdp .pz0{font-size:1.1rem}.pdiva{color:var(--mute)}.pdd.ok{color:#1d6b35}.pdd.ko{color:var(--r)}.pdx .aviso{text-align:left;margin:16px 0 0}
.mk2{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,5vw,64px);align-items:center}.mk2 p{margin:0 0 14px}
.mkl{border:1px solid var(--line);aspect-ratio:16/10;display:grid;place-items:center;padding:30px}.mkl.bk{background:#000}.mkl img{max-height:150px;max-width:100%;object-fit:contain}.mkl .wm{font-size:clamp(1.4rem,2.6vw,2rem)}
.mch{background:var(--k);color:#d6d6d6}.mch .con{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,5vw,64px);align-items:center;padding-block:clamp(48px,8vh,80px)}.mch h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;margin-bottom:12px}.mch .eb{color:var(--r2)}.mchlogo{display:block}.mchlogo svg{width:100%;aspect-ratio:590/210;--logo-l:#fff;--logo-m:var(--r2)}
.ki a{display:block;height:100%}
/* Carrusel de novedades */
.car{position:relative;background:#0b0b0b;color:#fff;overflow:hidden;border-top:3px solid var(--r);--seg:6s}
.carv{position:relative;height:clamp(440px,58vh,540px)}
.cs{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;background-image:linear-gradient(#ee3a410d 1px,transparent 1px),linear-gradient(90deg,#ee3a410d 1px,transparent 1px);background-size:44px 44px}
.cs.on{opacity:1;visibility:visible;z-index:1}
.cs::before{content:"";position:absolute;inset:0;background:var(--r);z-index:4;transform:scaleX(0);transform-origin:right;pointer-events:none}
.cs.on::before{animation:telon .8s cubic-bezier(.7,0,.2,1)}@keyframes telon{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.csg{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:40px;height:100%;padding-bottom:56px}
.cst h2{color:#fff;font-size:clamp(1.8rem,3.6vw,3.1rem);font-weight:900;line-height:1.08;margin:0 0 16px}.cst .eb{color:var(--r2)}.cst p:not(.eb){color:#cfcfcf;max-width:52ch;margin:0 0 26px;font-size:clamp(15px,1.2vw,18px)}
.cs.on .cst>*{animation:sube .7s cubic-bezier(.2,.7,.2,1) both}.cs.on .cst>*:nth-child(2){animation-delay:.35s}.cs.on .cst>*:nth-child(3){animation-delay:.45s}.cs.on .cst>*:nth-child(4){animation-delay:.55s}.cs.on .cst>*:first-child{animation-delay:.25s}
.cs .cl::after{z-index:3}.cs:hover .btn{background:var(--r-d);border-color:var(--r-d)}
.csi{height:100%;display:grid;place-items:center;position:relative}.csi img{max-height:82%;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 30px #000a)}.csi svg{width:90%;aspect-ratio:590/210;--logo-l:#ffffff12;--logo-m:#ee3a4155}
.cs.on .csi img,.cs.on .csi svg{animation:kb 9s ease-out both}@keyframes kb{from{transform:scale(1.1) translateX(20px)}to{transform:none}}
.csv,.csvf{position:relative;z-index:4;width:100%;max-height:82%;aspect-ratio:16/9;border:0;padding:0;background:#000;overflow:hidden;box-shadow:0 30px 60px #000a}
.csv{display:grid;place-items:center;cursor:pointer;color:#fff;font:inherit}.csv>img,.csv>svg{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;filter:none}.csv>svg{object-fit:contain;padding:12%}
.csv::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#000b)}
.csp{position:relative;z-index:1;width:76px;height:76px;border-radius:50%;background:var(--r);display:grid;place-items:center;box-shadow:0 0 0 0 #ee3a4199;transition:transform .2s,background .2s;animation:latido 2.4s ease-out infinite}.csp svg{width:34px;height:34px;margin-left:4px}
@keyframes latido{0%{box-shadow:0 0 0 0 #ee3a4199}70%,100%{box-shadow:0 0 0 22px #ee3a4100}}
.csv:hover .csp,.csv:focus-visible .csp{transform:scale(1.08);background:var(--r-d)}.csv:focus-visible{outline:3px solid #fff;outline-offset:3px}
.csn{position:absolute;z-index:1;left:14px;bottom:10px;font-size:11px;letter-spacing:.08em;color:#ffffffb3}
.carn{position:absolute;left:0;right:0;bottom:22px;z-index:5;display:flex;align-items:center;gap:22px}
.cnum{color:#a8a8a8}.cnum b{color:#fff;font-weight:600}
.cdots{display:flex;gap:6px;flex:1;max-width:340px}.cdots button{flex:1;height:22px;background:none;border:0;padding:9px 0;cursor:pointer}
.cdots i{display:block;height:3px;background:#ffffff2e;position:relative;overflow:hidden}.cdots i::after{content:"";position:absolute;inset:0;background:var(--r2);transform:scaleX(0);transform-origin:left}
.cdots [aria-current] i::after{animation:prog var(--seg) linear forwards}.car.paused .cdots [aria-current] i::after{animation-play-state:paused}.cdots .vista i::after{transform:none;background:#ffffff80}
@keyframes prog{to{transform:scaleX(1)}}
.carr{display:flex;gap:6px;margin-left:auto}.carr button{width:42px;height:42px;border:1px solid #ffffff40;background:transparent;color:#fff;font-size:16px;cursor:pointer;transition:background .2s,border-color .2s}.carr button:hover,.carr button:focus-visible{background:var(--r);border-color:var(--r)}.cpau{font-size:11px!important;letter-spacing:-1px}
/* Mapa de países */
.mapa{background:#070707;color:#d6d6d6;padding-block:clamp(56px,9vh,96px);overflow:hidden}.mapa .tit h2{color:#fff}.mapa .tit p:not(.eb){color:#bdbdbd}
.mapw{position:relative;max-width:1100px;margin:0 auto}.mapsvg{width:100%;height:auto;display:block;aspect-ratio:2/1}
.mapsvg .grat{fill:none;stroke:#ffffff0d;stroke-width:.5}.mapsvg .tierra{fill:#1d1d1d;stroke:#070707;stroke-width:.6;transition:fill .5s}
.mapsvg .tierra.on{fill:#7d1a1e;cursor:pointer}.mapa.vis .mapsvg .tierra.on{fill:var(--r);transition-delay:calc(var(--d,0) * 70ms)}.mapsvg .tierra.on:hover,.mapsvg .tierra.on.hl{fill:var(--r2)!important;transition-delay:0s}
.mapsvg .pt{fill:#fff;opacity:0;transition:opacity .4s}.mapa.vis .mapsvg .pt{opacity:1;transition-delay:calc(var(--d,0) * 70ms + .4s)}
.mapsvg .ring{fill:none;stroke:var(--r2);stroke-width:1.2;transform-box:fill-box;transform-origin:center;opacity:0}.mapa.vis .mapsvg .ring{animation:ping 2.6s ease-out infinite;animation-delay:calc(var(--d,0) * 110ms)}
@keyframes ping{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.6)}}
.maptip{position:absolute;pointer-events:none;background:#fff;color:var(--k);padding:6px 10px;transform:translate(-50%,-130%);white-space:nowrap;z-index:3;box-shadow:0 6px 18px #0006}
.mapc{position:absolute;left:0;bottom:6%;color:#a8a8a8;margin:0}.mapc b{display:block;font:900 clamp(2.2rem,5vw,4rem)/1 var(--head);color:#fff;letter-spacing:-.02em}
.mapl{list-style:none;margin:28px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1000px}
.mapl li{padding:7px 14px;border:1px solid #ffffff26;font:600 13px/1.2 var(--head);color:#e6e6e6;cursor:default;transition:border-color .2s,background .2s}.mapl li::before{content:"";display:inline-block;width:7px;height:7px;background:var(--r2);border-radius:50%;margin-right:8px;vertical-align:1px}
.mapl li:hover,.mapl li.hl{border-color:var(--r2);background:#ee3a411a}
@media (max-width:1100px){.lgs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:980px){.lgs{grid-template-columns:repeat(3,minmax(0,1fr))}.prds{grid-template-columns:repeat(3,minmax(0,1fr))}.pdg,.mk2,.mch .con{grid-template-columns:minmax(0,1fr)}.pdi{position:static}
  .carv{height:auto;min-height:560px}.csg{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;gap:10px;padding-top:24px;padding-bottom:90px}.csi{order:-1;height:180px}.csi img{max-height:180px}.csi:has(.csv,.csvf){height:auto}.csv,.csvf{max-height:none}.csp{width:58px;height:58px}.csp svg{width:26px;height:26px}.carn{flex-wrap:wrap}.cdots{order:3;flex-basis:100%;max-width:none}
  .mapc{position:static;text-align:center;margin-top:10px}}
@media (max-width:600px){.lgs{grid-template-columns:repeat(2,minmax(0,1fr))}.prds{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prdb{padding:12px}.plg{width:160px;height:86px}}
@media (prefers-reduced-motion:reduce){.mqt{animation:none}.mq{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}.mq .mqt[aria-hidden]{display:none}.mqt{flex-wrap:wrap;justify-content:center}
  .cs.on::before,.cs.on .cst>*,.cs.on .csi img,.cs.on .csi svg,.csp{animation:none}.cdots [aria-current] i::after{animation:none;transform:none}.mapa .ring{display:none}.mapsvg .tierra,.mapsvg .pt{transition:none}}
.plg.bk{background:#000;border-color:#000}.plg.bk img{filter:none;opacity:.9}.plg.bk:hover{border-color:var(--r)}
/* Página de colaboradores */
.cols-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.colab{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.colab:hover{box-shadow:0 14px 30px #00000017;transform:translateY(-3px)}
.colabl{height:180px;display:grid;place-items:center;padding:24px;border-bottom:3px solid var(--r)}.colabl.bk{background:#000}.colabl img{max-height:120px;max-width:100%;object-fit:contain}.colabl .wm{font-size:1.3rem}
.colabb{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}.colabb h2{font-size:1.15rem;font-weight:800;margin:0 0 6px}.colabb .mono{color:var(--r);margin:0 0 10px}.colabb p{margin:0 0 12px;font-size:15px}.colabb .more{margin-top:auto}
.ptn .cen{margin-top:24px}
@media (max-width:980px){.cols-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cols-g{grid-template-columns:minmax(0,1fr)}}
/* Redes sociales */
.rs{display:inline-flex;flex-wrap:wrap;gap:10px;vertical-align:middle}.rs a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.rs svg{width:18px;height:18px;flex:none}
.tbr{display:flex;align-items:center;gap:16px}.tb .rs{gap:16px;margin-block:-6px}.tb .rs a{color:#fff;transition:color .2s,transform .2s}.tb .rs svg{width:26px;height:26px}.tb .rs a:hover,.tb .rs a:focus-visible{color:var(--r2);transform:scale(1.1)}
.rs.big{display:flex;margin-top:8px}.rs.big a{padding:9px 16px 9px 12px;border:2px solid var(--k);font:700 13px/1 var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--k);transition:background .2s,color .2s}.rs.big a:hover,.rs.big a:focus-visible{background:var(--r);border-color:var(--r);color:#fff}.rs.big svg{width:20px;height:20px}
.rs.ftr{margin-top:14px;gap:14px}.rs.ftr svg{width:20px;height:20px}
.art h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:44px 0 16px;padding-top:22px;border-top:2px solid var(--r)}.art h2:first-child{margin-top:0;padding-top:0;border-top:0}.art h3{font-size:1.05rem;margin:28px 0 10px}.art ul{margin:0 0 18px;padding-left:20px}.art li{margin:0 0 8px}
/* Aviso de cookies */
.cbn{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--k);color:#e8e6e4;border-top:3px solid var(--r);box-shadow:0 -10px 30px #0006}.cbn .con{display:flex;align-items:center;justify-content:space-between;gap:14px 30px;padding-block:16px}.cbn p{margin:0;font-size:14px;line-height:1.55;max-width:780px}.cbn a{color:#fff}.cbb{display:flex;gap:10px;flex:none}
@media (max-width:700px){.cbn .con{flex-direction:column;align-items:stretch}.cbb .btn{flex:1;text-align:center}}
/* Botón flotante de contacto */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + var(--cb,0px));z-index:110;display:flex;flex-direction:column;align-items:flex-end;gap:12px;transition:bottom .25s}
.fabb{display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 22px 0 17px;border:0;border-radius:29px;background:var(--r);color:#fff;font:800 13px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px #0005,0 0 0 3px #ffffff22;transition:background .2s,transform .2s}
.fabb svg{width:26px;height:26px;flex:none}.fabb:hover,.fabb:focus-visible{background:var(--r-d);transform:translateY(-2px)}.fab.open .fabb{background:var(--k)}
.fabb::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--r2);animation:fabping 2.6s 1s 3;pointer-events:none;opacity:0}
.fabb{position:relative}@keyframes fabping{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
.fabp{width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 120px - var(--cb,0px));overflow:auto;background:var(--k);color:#e8e6e4;border-top:3px solid var(--r);padding:18px 20px 20px;box-shadow:0 16px 40px #0007}
.fabt{margin:0 0 8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a8a4a2}.fabp ul{list-style:none;margin:0 0 16px;padding:0}
.fabp li a{display:flex;gap:14px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #ffffff1a;color:#fff;text-decoration:none}.fabp li a:hover b,.fabp li a:focus-visible b{color:var(--r2)}
.fabp li svg{width:22px;height:22px;flex:none;color:var(--r2);margin-top:2px}.fabp li span{display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.fabp li b{font:700 12px/1.2 var(--head);text-transform:uppercase;letter-spacing:.06em;transition:color .2s}
.fabp .rs.big{margin:0 0 18px}.fabp .rs.big a{color:#fff;border-color:#ffffff55}.fabf{display:block;text-align:center}
@media (max-width:700px){.fabb{width:58px;padding:0;justify-content:center}.fabb span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.fabb::after{animation:none}.fab{transition:none}}
/* Carrusel: solo la diapositiva visible recibe clics; el botón es el enlace */
.cs:not(.on){pointer-events:none}.cs.on{cursor:pointer}.csb{position:relative;z-index:4}
/* Peritaje como servicio de empresa: foto apaisada, sin aire de ficha personal */
.pfs .pfi{aspect-ratio:4/3}.crt{margin:26px 0 4px}
/* Formación: entidad certificadora */
.cert{border-top:1px solid var(--line)}.cert .scl{border-left:4px solid var(--r)}
.csr{position:relative;z-index:4;display:inline-flex;align-items:center;gap:8px;margin-left:10px;vertical-align:top}.csr svg{width:18px;height:18px}
@media (max-width:700px){.csr{margin:10px 0 0}}

/* ── Idiomas ── */
.tbr{display:flex;align-items:center;gap:14px}
.idi{position:relative;font:600 12px/1 var(--head);letter-spacing:.06em}
.idi summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 2px;color:#d5d5d5}.idi summary::-webkit-details-marker{display:none}
.idi summary svg{width:15px;height:15px}.idi summary::after{content:"";width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);margin-inline-start:2px}
.idi summary:hover,.idi[open] summary{color:#fff}
.idi ul{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:70;list-style:none;margin:0;padding:6px 0;min-width:190px;background:#fff;box-shadow:0 12px 30px #0003;border-top:3px solid var(--r)}
.idi a{display:block;padding:9px 16px;color:var(--k);text-decoration:none;font:600 14px/1.3 var(--head);letter-spacing:0}.idi a:hover,.idi a:focus-visible{background:var(--bg2);color:var(--r)}
.idi a[aria-current]{color:var(--r)}.idi a[aria-current]::before{content:"●";font-size:9px;margin-inline-end:8px;vertical-align:2px}
.idm{display:none;list-style:none;margin:0;padding:0;gap:6px}.idm a{display:block;min-width:40px;text-align:center;padding:8px 6px!important;border:1px solid #d0d0d0!important;border-radius:2px}.idm a[aria-current]{background:var(--k);border-color:var(--k)!important;color:#fff!important}
@media (max-width:980px){.idi{display:none}.mn.open .idm,.mn .idm{display:flex;flex-wrap:wrap;padding:12px 0}}
canvas{direction:ltr}

/* ── Árabe: tipografía y derecha a izquierda ── */
html[lang^="ar"]{--head:"Cairo","Montserrat",Arial,sans-serif;--body:"IBM Plex Sans Arabic","Open Sans",Arial,sans-serif;--mono:"IBM Plex Mono","IBM Plex Sans Arabic",ui-monospace,monospace}
html[lang^="ar"] *{letter-spacing:0!important}
html[lang^="ar"] body{line-height:1.8}
[dir=rtl] .tb span+span{margin-left:0;margin-right:22px}
[dir=rtl] .cb li{padding:4px 20px 4px 0}[dir=rtl] .cb li::before{left:auto;right:2px}
[dir=rtl] .chk2 li,[dir=rtl] .cred li{padding:10px 34px 10px 0}[dir=rtl] .chk2 li::before,[dir=rtl] .cred li::before{left:auto;right:4px}
[dir=rtl] .curso,[dir=rtl] .cert .scl{border-left:1px solid var(--line);border-right:4px solid var(--r)}[dir=rtl] .cert .scl{border-left:0}
[dir=rtl] .mapl li::before{margin-right:0;margin-left:8px}
[dir=rtl] .dd ul{left:auto;right:-16px}
[dir=rtl] .ph h1::after,[dir=rtl] .cdots i::after{transform-origin:right}
[dir=rtl] .rd::after,[dir=rtl] .cs::before{transform-origin:left}
[dir=rtl] .fref{border-left:0;border-right:3px solid var(--r)}
[dir=rtl] .art ul{padding-left:0;padding-right:20px}
[dir=rtl] .pz s{margin-right:0;margin-left:6px}
[dir=rtl] .row b{text-align:left}
[dir=rtl] .pdx .aviso{text-align:right}
[dir=rtl] .carr{margin-left:0;margin-right:auto}
[dir=rtl] .csr{margin-left:0;margin-right:10px}
[dir=rtl] .csn{left:auto;right:14px}
[dir=rtl] .tag{left:auto;right:10px}
[dir=rtl] .phm{right:auto;left:-4%}
[dir=rtl] .sello{right:auto;left:-28px}
/* El recorrido horizontal del merchandising se mueve igual que en los demás idiomas */
[dir=rtl] .track{direction:ltr}[dir=rtl] .ki figcaption{direction:rtl}
.idi a[lang^="ar"],.idm a[lang^="ar"]{font-family:"IBM Plex Sans Arabic",system-ui,sans-serif;font-size:15px}
[dir=rtl] .mapc{left:auto;right:0}
