:root{
  --bg:#0B131C;
  --bg-panel:#121D28;
  --bg-panel-2:#17232F;
  --line:#25384A;
  --amber:#FF8A3D;
  --teal:#4FD1C5;
  --ink:#EAEFF3;
  --ink-dim:#8FA1AF;
  --ink-dimmer:#5C707E;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink); font-family:'Inter',sans-serif;
  font-size:16px; line-height:1.6; overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.01em;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--amber); color:#0B131C;}
img{max-width:100%; display:block;}

.hud-grid{
  position:fixed; inset:0; z-index:-2;
  background-image:linear-gradient(var(--line) 1px, transparent 1px),
                    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:64px 64px; opacity:.18;
}
.hud-vignette{
  position:fixed; inset:0; z-index:-1;
  background:radial-gradient(ellipse at 50% -10%, rgba(255,138,61,.10), transparent 55%),
             radial-gradient(ellipse at 100% 100%, rgba(79,209,197,.08), transparent 50%);
}
#flightpath{position:fixed; top:0; left:0; height:100%; width:6px; z-index:40; pointer-events:none;}
#flightpath svg{height:100%; width:100%;}
#flightpath path{fill:none; stroke:var(--amber); stroke-width:2; stroke-dasharray:6 10; stroke-linecap:round; animation:dronefly 3.2s linear infinite; opacity:.55;}
@keyframes dronefly{ to{ stroke-dashoffset:-160; } }

header{position:sticky; top:0; z-index:50; background:rgba(11,19,28,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.topbar{max-width:1180px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk'; font-weight:700; font-size:1.05rem;}
.brand .dot{width:8px; height:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 10px var(--teal); animation:blink 2.4s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;} 50%{opacity:.25;}}
.brand small{display:block; font-family:'JetBrains Mono'; font-weight:400; font-size:.62rem; color:var(--ink-dim); letter-spacing:.08em;}

nav.mainnav{display:flex; gap:2px; flex-wrap:wrap;}
nav.mainnav a{font-family:'JetBrains Mono'; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-dim); padding:8px 12px; border:1px solid transparent; transition:.2s;}
nav.mainnav a.active{color:var(--amber); border-color:var(--amber); background:rgba(255,138,61,.08);}
.navtoggle{display:none; background:none; border:1px solid var(--line); color:var(--ink); padding:8px 10px; font-family:'JetBrains Mono'; cursor:pointer;}
@media (max-width:920px){
  nav.mainnav{display:none; width:100%; flex-direction:column; padding-top:10px;}
  nav.mainnav.open{display:flex;}
  .topbar{flex-wrap:wrap;}
  .navtoggle{display:block;}
}

.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
.eyebrow{font-family:'JetBrains Mono'; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); display:flex; align-items:center; gap:8px; margin-bottom:14px;}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--teal);}

.breadcrumb{font-family:'JetBrains Mono'; font-size:.68rem; color:var(--ink-dimmer); padding:14px 0; border-bottom:1px solid var(--line);}
.breadcrumb a{color:var(--ink-dim);}
.breadcrumb span.sep{margin:0 8px; color:var(--line);}
.breadcrumb span.current{color:var(--amber);}

.section{padding:88px 0; border-bottom:1px solid var(--line);}
.section.tight{padding:56px 0;}
.section.noborder{border-bottom:none;}

.hero{padding:90px 0 80px; position:relative; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(11,19,28,0) 0%, rgba(11,19,28,1) 100%),
             repeating-linear-gradient(115deg, rgba(255,255,255,.015) 0 2px, transparent 2px 40px);}
.hero h1{font-size:clamp(2rem, 4.6vw, 3.6rem); line-height:1.05; max-width:820px;}
.hero h1 em{font-style:normal; color:var(--amber);}
.hero p.lead{max-width:580px; color:var(--ink-dim); font-size:1.06rem; margin-top:20px;}
.hud-readout{margin-top:30px; display:flex; gap:26px; flex-wrap:wrap;}
.hud-readout .stat{font-family:'JetBrains Mono'; font-size:.72rem; color:var(--ink-dimmer); border-left:2px solid var(--line); padding-left:10px;}
.hud-readout .stat b{display:block; color:var(--teal); font-size:.95rem; margin-bottom:2px;}
.cta-row{margin-top:32px; display:flex; gap:14px; flex-wrap:wrap;}

.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 22px; font-family:'JetBrains Mono'; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; border:1px solid var(--line); cursor:pointer; transition:.2s; background:transparent; color:var(--ink);}
.btn.primary{background:var(--amber); color:#0B131C; border-color:var(--amber); font-weight:600;}
.btn.whatsapp{border-color:#3fbf6f; color:#7fe3a3;}

.frame{position:relative; border:1px solid var(--line); background:var(--bg-panel); overflow:hidden; aspect-ratio:16/10;}
.frame.portrait{aspect-ratio:9/16; max-width:280px;}
.frame .corner{position:absolute; width:16px; height:16px; border:2px solid var(--amber); opacity:.7;}
.frame .corner.tl{top:8px; left:8px; border-right:none; border-bottom:none;}
.frame .corner.tr{top:8px; right:8px; border-left:none; border-bottom:none;}
.frame .corner.bl{bottom:8px; left:8px; border-right:none; border-top:none;}
.frame .corner.br{bottom:8px; right:8px; border-left:none; border-top:none;}
.frame .fillbg{position:absolute; inset:0;
  background:linear-gradient(135deg, var(--bg-panel-2), var(--bg-panel)),
             repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 12px, transparent 12px 24px);
  display:flex; align-items:center; justify-content:center; padding:18px; text-align:center;}
.frame .fillbg span{font-family:'JetBrains Mono'; font-size:.68rem; color:var(--ink-dimmer); line-height:1.6;}
.frame-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.frame .altchip{position:absolute; bottom:0; left:0; right:0; padding:8px 12px; background:rgba(0,0,0,.55); font-family:'JetBrains Mono'; font-size:.62rem; color:var(--teal); border-top:1px solid var(--line);}
.frame .relchip{position:absolute; top:8px; right:8px; background:rgba(0,0,0,.55); border:1px solid var(--line); font-family:'JetBrains Mono'; font-size:.6rem; color:var(--ink-dim); padding:3px 8px;}

.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center;}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:860px){.grid3{grid-template-columns:1fr;} .grid2{grid-template-columns:1fr;} .grid4{grid-template-columns:1fr;}}

.card{border:1px solid var(--line); background:var(--bg-panel); padding:26px; transition:.25s;}
.card:hover{border-color:var(--amber); transform:translateY(-3px);}
.card .tag{font-family:'JetBrains Mono'; font-size:.65rem; color:var(--amber); letter-spacing:.08em; text-transform:uppercase;}
.card h3{margin-top:10px; font-size:1.2rem;}
.card h4{margin-top:8px; font-size:1rem;}
.card p{color:var(--ink-dim); margin-top:10px; font-size:.92rem;}
.card a.more{display:inline-block; margin-top:14px; font-family:'JetBrains Mono'; font-size:.72rem; color:var(--teal); border-bottom:1px solid var(--teal); padding-bottom:2px;}

h2{font-size:clamp(1.5rem,3vw,2.2rem);}
h2 + p.sub{color:var(--ink-dim); max-width:620px; margin-top:10px;}

ul.checklist{list-style:none; margin-top:22px; display:grid; gap:12px;}
ul.checklist li{display:flex; gap:10px; color:var(--ink-dim); font-size:.95rem;}
ul.checklist li::before{content:'▸'; color:var(--amber); font-family:'JetBrains Mono';}

.kwbar{margin-top:26px; display:flex; flex-wrap:wrap; gap:8px;}
.kwbar span{font-family:'JetBrains Mono'; font-size:.65rem; color:var(--ink-dimmer); border:1px solid var(--line); padding:5px 10px;}

.badge-legal{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--teal); color:var(--teal); font-family:'JetBrains Mono'; font-size:.68rem; padding:6px 12px; letter-spacing:.04em;}
.proband{background:linear-gradient(90deg, rgba(255,138,61,.1), transparent); border:1px dashed var(--amber); padding:8px 14px; font-family:'JetBrains Mono'; font-size:.68rem; color:var(--amber); display:inline-block; margin-bottom:18px;}

.microstrip{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); margin-top:20px;}
.microstrip .m{background:var(--bg); padding:24px;}
.microstrip .m .url{font-family:'JetBrains Mono'; font-size:.62rem; color:var(--ink-dimmer); word-break:break-all;}
.microstrip .m h4{margin-top:8px; font-size:1rem;}
.microstrip .m p{font-size:.85rem; color:var(--ink-dim); margin-top:8px;}
@media(max-width:860px){.microstrip{grid-template-columns:1fr;}}

.loclist{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
@media(max-width:860px){.loclist{grid-template-columns:1fr;}}
.loclist .card .focus{font-family:'JetBrains Mono'; font-size:.62rem; color:var(--amber); text-transform:uppercase; margin-top:8px;}

form{display:grid; gap:16px; max-width:640px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:640px){.form-row{grid-template-columns:1fr;}}
label{font-family:'JetBrains Mono'; font-size:.68rem; text-transform:uppercase; color:var(--ink-dim); letter-spacing:.05em; display:block; margin-bottom:6px;}
input, select, textarea{width:100%; background:var(--bg-panel); border:1px solid var(--line); color:var(--ink); padding:12px 14px; font-family:'Inter'; font-size:.92rem;}
input:focus, select:focus, textarea:focus{outline:none; border-color:var(--amber);}
textarea{resize:vertical; min-height:110px;}

.field-error{display:block; margin-top:6px; color:#ff8f8f; font-size:.75rem; font-family:'JetBrains Mono';}
.field-error:empty{display:none;}
input[aria-invalid="true"], textarea[aria-invalid="true"]{border-color:#ff6b6b;}

.check-row{display:flex; gap:10px; flex-wrap:wrap;}
.check-pill{display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--bg-panel); padding:10px 14px; font-size:.85rem; color:var(--ink-dim); cursor:pointer; transition:border-color .2s, color .2s;}
.check-pill:hover{border-color:var(--teal);}
.check-pill input{width:16px; height:16px; accent-color:var(--amber); cursor:pointer;}
.check-pill:has(input:checked){border-color:var(--amber); color:var(--ink);}

.form-alert{margin-top:16px; padding:14px 16px; font-size:.9rem; border:1px solid transparent;}
.form-alert:empty{display:none;}
.form-alert-success{background:rgba(79,209,197,.1); border-color:var(--teal); color:var(--teal);}
.form-alert-error{background:rgba(255,107,107,.1); border-color:#ff6b6b; color:#ff8f8f;}

button[data-fs-submit-btn]:disabled{opacity:.6; cursor:not-allowed;}

.legal-block{border:1px solid var(--teal); padding:26px; margin-top:26px; background:rgba(79,209,197,.05);}
.legal-block h3{color:var(--teal); font-size:1.1rem; display:flex; align-items:center; gap:10px;}

.fact-box{border:1px solid var(--line); background:var(--bg-panel); padding:22px; margin-top:20px;}
.fact-box-title{font-family:'JetBrains Mono'; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); margin-bottom:12px;}
.fact-list{list-style:none; display:grid; gap:10px;}
.fact-list li{font-size:.85rem; color:var(--ink-dim); padding-left:14px; position:relative;}
.fact-list li::before{content:'\2022'; position:absolute; left:0; color:var(--teal);}
.fact-list li b{color:var(--ink); font-weight:600;}

.cta-banner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; border:1px solid var(--amber); background:rgba(255,138,61,.06); padding:28px 32px;}
.cta-banner h2{font-size:1.3rem;}
.cta-banner p{color:var(--ink-dim); margin-top:6px; font-size:.92rem;}
.cta-banner .btn{flex-shrink:0;}

.pill-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;}
.pill{border:1px solid var(--line); padding:8px 14px; font-family:'JetBrains Mono'; font-size:.68rem; color:var(--ink-dim);}

.related{margin-top:20px;}
.related a{display:inline-block; font-family:'JetBrains Mono'; font-size:.72rem; color:var(--teal); border-bottom:1px solid var(--teal); padding-bottom:2px; margin-right:20px; margin-top:10px;}

footer{padding:50px 0;}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:center;}
footer p{font-family:'JetBrains Mono'; font-size:.68rem; color:var(--ink-dimmer);}
footer .footlinks{display:flex; gap:14px; flex-wrap:wrap; font-family:'JetBrains Mono'; font-size:.68rem;}
footer .footlinks a{color:var(--ink-dim);}

/* ---------------------------------------------------------------
   TRANSICIONES Y MICROINTERACCIONES
--------------------------------------------------------------- */
body{animation:pageIn .5s cubic-bezier(.22,1,.36,1);}
@keyframes pageIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);}
.reveal-stagger.is-visible > *{opacity:1; transform:translateY(0);}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.10s;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.18s;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.26s;}
.reveal-stagger.is-visible > *:nth-child(5){transition-delay:.34s;}
.reveal-stagger.is-visible > *:nth-child(6){transition-delay:.42s;}

.card{transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s, box-shadow .35s;}
.card:hover{transform:translateY(-6px); box-shadow:0 18px 40px -20px rgba(255,138,61,.35);}

.frame{transition:border-color .35s;}
.frame .fillbg, .frame .frame-video{transition:transform .6s cubic-bezier(.22,1,.36,1);}
.frame:hover .fillbg, .frame:hover .frame-video{transform:scale(1.045);}
.frame:hover{border-color:var(--amber);}

.btn{position:relative; overflow:hidden;}
.btn::after{content:''; position:absolute; inset:0; background:rgba(255,255,255,.18); transform:translateX(-110%) skewX(-12deg); transition:transform .5s cubic-bezier(.22,1,.36,1);}
.btn{transition:transform .25s ease, background .25s ease, border-color .25s ease;}

.more, .related a{position:relative;}
.more::after, .related a::after{content:''; position:absolute; left:0; bottom:-2px; width:100%; height:1px; background:var(--teal); transform:scaleX(0); transform-origin:right; transition:transform .35s cubic-bezier(.22,1,.36,1);}

nav.mainnav a{position:relative;}
nav.mainnav a::before{content:''; position:absolute; left:12px; right:12px; bottom:2px; height:1px; background:var(--amber); transform:scaleX(0); transition:transform .3s cubic-bezier(.22,1,.36,1);}

.kwbar span{transition:border-color .25s, color .25s;}
.kwbar span:hover{border-color:var(--teal); color:var(--teal);}

/* ---------------------------------------------------------------
   FAQ ACCORDION
--------------------------------------------------------------- */
.faq-list{margin-top:30px; display:grid; gap:2px; background:var(--line); border:1px solid var(--line);}
.faq-item{background:var(--bg); overflow:hidden;}
.faq-q{width:100%; text-align:left; background:var(--bg-panel); border:none; color:var(--ink); padding:20px 22px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family:'Space Grotesk'; font-weight:600; font-size:1rem; transition:background .25s;}
.faq-q:hover{background:var(--bg-panel-2);}
.faq-q .plus{font-family:'JetBrains Mono'; color:var(--amber); font-size:1.1rem; flex-shrink:0; transition:transform .35s cubic-bezier(.22,1,.36,1);}
.faq-item.open .faq-q .plus{transform:rotate(135deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.22,1,.36,1), padding .4s cubic-bezier(.22,1,.36,1);}
.faq-a p{padding:0 22px 20px; color:var(--ink-dim); font-size:.92rem; max-width:760px;}
.faq-item.open .faq-a{max-height:400px;}

/* ---------------------------------------------------------------
   PROCESO / STEPS
--------------------------------------------------------------- */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line); margin-top:32px; border:1px solid var(--line);}
.steps .step{background:var(--bg); padding:24px;}
.steps .step .n{font-family:'JetBrains Mono'; color:var(--amber); font-size:.75rem;}
.steps .step h4{margin-top:10px; font-size:.98rem;}
.steps .step p{margin-top:8px; color:var(--ink-dim); font-size:.85rem;}
@media(max-width:860px){.steps{grid-template-columns:1fr;}}

/* ---------------------------------------------------------------
   BLOG
--------------------------------------------------------------- */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px;}
@media(max-width:860px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{border:1px solid var(--line); background:var(--bg-panel); padding:24px; display:flex; flex-direction:column; transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s, opacity .3s ease, filter .3s ease;}
.blog-card.filtered-out{opacity:0; transform:scale(.94); pointer-events:none; filter:blur(2px);}
.blog-card:hover{transform:translateY(-6px); border-color:var(--teal);}
.blog-card .cat{font-family:'JetBrains Mono'; font-size:.62rem; color:var(--teal); text-transform:uppercase; letter-spacing:.06em;}
.blog-card h3{margin-top:10px; font-size:1.02rem; line-height:1.3;}
.blog-card p{margin-top:10px; color:var(--ink-dim); font-size:.85rem; flex-grow:1;}
.blog-card a.more{margin-top:16px;}

.post-meta{font-family:'JetBrains Mono'; font-size:.68rem; color:var(--ink-dimmer); margin-top:10px; display:flex; gap:14px; flex-wrap:wrap;}
.post-body p{color:var(--ink-dim); margin-top:16px; font-size:.98rem; max-width:760px;}
.post-body h2{margin-top:44px; font-size:1.5rem;}
.post-body ul{margin-top:16px; padding-left:20px; color:var(--ink-dim); max-width:760px;}
.post-body ul li{margin-top:8px;}
.blog-filter{display:flex; gap:8px; flex-wrap:wrap; margin-top:26px;}
.blog-filter span{font-family:'JetBrains Mono'; font-size:.65rem; color:var(--ink-dimmer); border:1px solid var(--line); padding:6px 12px; cursor:pointer; transition:.2s;}
.blog-filter span:hover{border-color:var(--teal); color:var(--teal);}
.blog-filter span.active{border-color:var(--amber); color:var(--amber);}

/* ---------------------------------------------------------------
   LOGO ANIMADO (rotores)
--------------------------------------------------------------- */
.brand{cursor:pointer;}
.brand-mark{flex-shrink:0; overflow:visible; transition:filter .3s ease;}

/* ---------------------------------------------------------------
   BOTONES MAGNÉTICOS + PING DE RADAR AL CLICAR
--------------------------------------------------------------- */
.btn{will-change:transform;}
.btn-ripple{position:absolute; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.55); transform:translate(-50%,-50%); pointer-events:none; animation:btnRipple .65s ease-out forwards;}
.btn.whatsapp .btn-ripple, .wa-float .btn-ripple{background:rgba(11,19,28,.35);}
@keyframes btnRipple{ to{ width:240px; height:240px; opacity:0; } }

/* ---------------------------------------------------------------
   TEXTO ESTILO "DECODIFICACIÓN" (HUD boot-up) PARA H1
--------------------------------------------------------------- */
h1.scramble-done{ } /* marcador, sin estilo propio */

/* ---------------------------------------------------------------
   PANEL DE TELEMETRÍA LATERAL (solo desktop ancho)
--------------------------------------------------------------- */
.hud-sidebar{
  display:none;
  position:fixed; top:130px; right:36px; z-index:30;
  width:132px; padding:18px 16px; background:rgba(18,29,40,.7); backdrop-filter:blur(6px);
  border:1px solid var(--line); font-family:'JetBrains Mono';
}
@media(min-width:1480px){ .hud-sidebar{display:block;} }
.hud-ring{width:56px; height:56px; margin:0 auto 14px;}
.hud-ring svg{width:100%; height:100%; animation:hudspin 14s linear infinite;}
@keyframes hudspin{ to{ transform:rotate(360deg); } }
.hud-row{display:flex; justify-content:space-between; align-items:center; font-size:.66rem; color:var(--ink-dimmer); padding:5px 0; border-bottom:1px solid var(--line);}
.hud-row b{color:var(--teal); font-weight:500;}
.hud-signal .hud-bars{display:flex; gap:2px; align-items:flex-end;}
.hud-bars i{display:block; width:3px; background:var(--line); border-radius:1px;}
.hud-bars i:nth-child(1){height:4px;}
.hud-bars i:nth-child(2){height:7px;}
.hud-bars i:nth-child(3){height:10px;}
.hud-bars i:nth-child(4){height:13px;}
.hud-bars i.on{background:var(--amber);}
.hud-divider{height:1px; background:var(--line); margin:10px 0;}
.hud-label{font-size:.6rem; color:var(--ink-dimmer); letter-spacing:.08em; margin-bottom:8px;}
.hud-scrollbar{width:100%; height:70px; background:var(--bg); border:1px solid var(--line); position:relative; overflow:hidden;}
.hud-scrollbar-fill{position:absolute; left:0; bottom:0; width:100%; height:0%; background:linear-gradient(180deg, var(--amber), var(--teal)); transition:height .08s linear;}

/* ---------------------------------------------------------------
   MARCADOR DE ALTITUD EN LA LÍNEA DE VUELO (según scroll)
--------------------------------------------------------------- */
.flightpath-marker{
  position:absolute; left:50%; top:0; width:9px; height:9px; border-radius:50%;
  background:var(--teal); box-shadow:0 0 10px var(--teal), 0 0 2px #fff;
  transform:translate(-50%,-50%); transition:top .08s linear;
}

/* ---------------------------------------------------------------
   BOTÓN FLOTANTE DE WHATSAPP (visible en todo el sitio)
--------------------------------------------------------------- */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:60;
  display:flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#0B131C; text-decoration:none;
  box-shadow:0 10px 30px -8px rgba(37,211,102,.55);
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s;
}
.wa-float svg{width:28px; height:28px; flex-shrink:0;}
@media(max-width:640px){
  .wa-float{width:52px; height:52px; right:16px; bottom:16px;}
  .wa-float svg{width:26px; height:26px;}
}

/* ---------------------------------------------------------------
   HOVER SOLO EN DISPOSITIVOS CON RATON REAL
   (evita el bug de iOS/Safari donde el primer toque en un enlace
   con :hover solo activa el hover y hace falta un segundo toque
   para navegar) */
@media (hover: hover) and (pointer: fine) {
  nav.mainnav a:hover{color:var(--ink); border-color:var(--line);}
  .breadcrumb a:hover{color:var(--teal);}
  .btn.primary:hover{background:#ffa066;}
  .btn.ghost:hover{border-color:var(--ink-dim); color:var(--ink);}
  .btn.whatsapp:hover{background:rgba(63,191,111,.12);}
  footer .footlinks a:hover{color:var(--teal);}
  .btn:hover::after{transform:translateX(110%) skewX(-12deg);}
  .btn.primary:hover{transform:translateY(-2px);}
  .more:hover::after, .related a:hover::after{transform:scaleX(1); transform-origin:left;}
  nav.mainnav a:hover::before{transform:scaleX(1);}
  .brand:hover .brand-mark{filter:drop-shadow(0 0 6px rgba(255,138,61,.55));}
  .wa-float:hover{transform:translateY(-3px) scale(1.06); box-shadow:0 16px 36px -8px rgba(37,211,102,.7);}
}
