/* Simulaciones ASDDRONES — todo con ámbito .asd-demo para no tocar el resto de la web */
.asd-demo{position:relative;padding:104px 0;overflow:hidden;background:#0D0D0D;color:#F3F3F1;font-family:"IBM Plex Sans",system-ui,sans-serif}
.asd-demo+.asd-demo{border-top:1px solid #1a1d22}
.asd-demo::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(242,241,236,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(242,241,236,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 75%);pointer-events:none}
.asd-demo--rev{background:#0A0B0D}
.asd-demo *,.asd-demo *::before,.asd-demo *::after{box-sizing:border-box}
.asd-demo .ad-row{position:relative;display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.asd-demo--rev .ad-row{flex-direction:row-reverse}
.asd-demo .ad-copy{flex:1 1 380px;display:flex;flex-direction:column;gap:18px;max-width:560px}
.asd-demo .ad-copy img.ad-logo{display:block;align-self:flex-start;height:56px;width:auto;max-width:260px;object-fit:contain;object-position:left center;margin:0 0 2px}
.asd-demo .ad-copy img.ad-logo--wide{height:30px}
.asd-demo .ad-copy img.ad-logo--emb{height:56px}
.asd-demo .ad-copy h2{margin:0;font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.01em;color:#F3F3F1}
.asd-demo .ad-copy p{margin:0;font-size:18px;line-height:1.6;color:#C8C8C4}
.asd-demo .ad-copy .ad-note{font-size:14px;color:#8A8D93;border-left:2px solid #F5C518;padding-left:14px}
.asd-demo .ad-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.asd-demo a.ad-btn,.asd-demo a.ad-btn:hover{background:#F5C518;color:#121417;text-decoration:none;font-weight:600;padding:15px 24px;border-radius:6px}
.asd-demo a.ad-btn:hover{background:#FFD43A}
.asd-demo a.ad-btn--ghost,.asd-demo a.ad-btn--ghost:hover{background:transparent;color:#F3F3F1;border:1px solid #3A3E45;padding:14px 22px;font-weight:500}
.asd-demo a.ad-btn--ghost:hover{border-color:#F5C518}
.asd-demo .ad-copy .ad-kicker{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#F5C518}
.asd-demo .ad-teaser{position:relative;flex:1.25 1 460px;max-width:680px;width:100%;display:block;border:1px solid #2E3238;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);background:#0A0D11}
.asd-demo .ad-teaser img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}
.asd-demo .ad-teaser:hover img{transform:scale(1.03)}
.asd-demo .ad-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#F5C518;color:#121417;font-weight:600;padding:14px 22px;border-radius:999px;font-size:16px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.asd-demo .ad-teaser:focus-visible{outline:2px solid #F5C518;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.asd-demo .ad-teaser img{transition:none}}
.asd-demo a.ad-btn:focus-visible,.asd-demo button:focus-visible,.asd-demo input:focus-visible{outline:2px solid #F5C518;outline-offset:3px}
.asd-demo .sim{flex:1.25 1 460px;min-width:0;max-width:680px;width:100%;background:#0A0D11;border:1px solid #2E3238;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.asd-demo .sim-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid #1F2329;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;color:#8A8D93}
.asd-demo .sim-bar>span:first-child{display:flex;align-items:center;gap:8px;white-space:nowrap}
.asd-demo .bar-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.asd-demo .pill{border:1px solid #3A3E45;border-radius:999px;padding:3px 10px}
.asd-demo .rec{display:inline-block;width:8px;height:8px;border-radius:50%;background:#E8321E;animation:adblink 1.4s steps(2) infinite}
@keyframes adblink{0%,100%{opacity:1}50%{opacity:.35}}
.asd-demo .seg{display:inline-flex;border:1px solid #3A3E45;border-radius:999px;overflow:hidden}
.asd-demo .seg button{font:inherit;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:#8A8D93;background:none;border:0;padding:4px 10px;cursor:pointer;margin:0}
.asd-demo .seg button[aria-pressed=true]{background:#F5C518;color:#121417}
.asd-demo .seg button[data-col]{display:inline-flex;align-items:center;gap:5px}
.asd-demo .seg button[data-col][aria-pressed=true]{background:#1F2329;color:#F3F3F1}
.asd-demo .seg .sw{width:9px;height:9px;border-radius:2px;display:inline-block}
.asd-demo .seg button[data-col][aria-pressed=false] .sw{opacity:.25}
.asd-demo .sim-pp{width:28px;height:24px;border:1px solid #3A3E45;border-radius:6px;background:none;color:#C8C8C4;cursor:pointer;display:grid;place-items:center;padding:0;margin:0}
.asd-demo .sim-pp::before{content:"";width:8px;height:10px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.asd-demo .sim-pp.is-paused::before{width:0;height:0;border-left:9px solid currentColor;border-right:0;border-top:6px solid transparent;border-bottom:6px solid transparent}
.asd-demo .sim-stage{position:relative;aspect-ratio:4/3;background:#07090C;touch-action:pan-y}
.asd-demo .sim-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.asd-demo .sim-stage.drag{cursor:ew-resize}.asd-demo .sim-stage.grab{cursor:grab}.asd-demo .sim-stage.grab:active{cursor:grabbing}
.asd-demo .r1610{aspect-ratio:16/10}.asd-demo .r169{aspect-ratio:16/9}.asd-demo .r32{aspect-ratio:3/2}
.asd-demo .sim-ctrl{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid #1F2329;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:#8A8D93}
.asd-demo .tol{display:flex;align-items:center;gap:10px;margin:0;color:#8A8D93}
.asd-demo .tol input{accent-color:#F5C518;width:140px;margin:0}
.asd-demo .tol output{color:#F3F3F1;min-width:2ch}
.asd-demo .sim-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid #1F2329}
.asd-demo .sim-stats div{padding:12px 16px;border-right:1px solid #1F2329;min-width:0}
.asd-demo .sim-stats div:last-child{border-right:0}
.asd-demo .sim-stats dt{font-size:12px;color:#8A8D93;margin:0 0 4px}
.asd-demo .sim-stats dd{margin:0;font-family:"IBM Plex Mono",monospace;font-size:14px;color:#F3F3F1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asd-demo .sim-log{list-style:none;margin:0;padding:14px 16px 16px;border-top:1px solid #1F2329;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.45;color:#C8C8C4;counter-reset:adstep}
.asd-demo .sim-log li{display:flex;gap:12px;margin:0;padding:0;opacity:.28;transition:opacity .4s ease,transform .4s ease;transform:translateX(-4px)}
.asd-demo .sim-log li::before{content:counter(adstep,decimal-leading-zero);counter-increment:adstep;font-family:"IBM Plex Mono",monospace;font-size:12px;color:#F5C518;padding-top:2px}
.asd-demo .sim-log li.on{opacity:1;transform:none}
.asd-demo .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){.asd-demo{padding:72px 0}.asd-demo .ad-row{gap:32px}.asd-demo .r1610,.asd-demo .r32{aspect-ratio:4/3}.asd-demo .sim-stats{grid-template-columns:repeat(2,1fr)}.asd-demo .sim-stats div:nth-child(2){border-right:0}.asd-demo .sim-stats div:nth-child(-n+2){border-bottom:1px solid #1F2329}.asd-demo .ad-copy p{font-size:17px}}
@media (prefers-reduced-motion:reduce){.asd-demo .rec{animation:none}.asd-demo .sim-log li{transition:none}}
