/* Victorya Drone · estilos */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,video{max-width:100%}
/* Layout: light Apple-style; dark only where media sits (hero reel, service tiles, 3D viewer). Big client wall right after the hero. Amber is the only accent. */
:root{
  --bg:#FFFFFF;          /* blanco */
  --bg-2:#F5F4F1;        /* gris cálido, sesgado al ámbar */
  --bg-3:#ECEAE5;
  --line:#E3E0DA;
  --fg:#0A0A0A;          /* negro corporativo */
  --fg-2:#5E5A54;        /* secundario, 6.6:1 sobre blanco */
  --fg-3:#D6D2CB;        /* palabras apagadas */
  --amber:#F5A300;       /* corporativo: fondos y detalles */
  --amber-hi:#FFB61F;    /* ámbar sobre negro */
  --amber-deep:#C97A00;  /* ámbar para titulares grandes sobre blanco */
  --amber-ink:#9E5400;   /* ámbar para texto pequeño sobre blanco, 5.6:1 */
  --amber-dim:rgba(245,163,0,.16);
  --ink:#0A0A0A;
  --display:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --body:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --nav-h:56px;--ease:cubic-bezier(.2,.75,.15,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 8px);background:var(--bg)}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
main{overflow-x:clip}
a{color:inherit}
img{display:block}
:focus-visible{outline:2px solid var(--amber-deep);outline-offset:3px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;font-weight:700;letter-spacing:-.045em;line-height:1.02}
p{margin:0}
.failed{display:none!important}
.fb{background:repeating-radial-gradient(circle at 68% 34%,transparent 0 22px,rgba(201,122,0,.2) 22px 23px),var(--bg-2)}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-ink)}
.muted{color:var(--fg-2)}

/* ---------- motion type ---------- */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block;transform:translateY(.6em);opacity:.08;transition:transform 1s var(--ease) calc(var(--i)*22ms),opacity .8s var(--ease) calc(var(--i)*22ms)}
.split.in .c{transform:none;opacity:1}
.cycler{display:inline-grid;vertical-align:bottom;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.cycler>span{grid-area:1/1;transform:translateY(105%);opacity:0;transition:transform .75s var(--ease),opacity .6s var(--ease);white-space:nowrap}
.cycler:not(.js)>span:first-child,.cycler>span.cur{transform:none;opacity:1}
.cycler>span.out{transform:translateY(-105%);opacity:0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.split .c{transform:translateY(.25em);transition:transform .7s var(--ease) calc(var(--i)*16ms),opacity .6s ease calc(var(--i)*16ms)}.split.in .c{transform:none}.hero,.statement{height:auto!important}.hero-pin{position:relative!important;top:0!important}.stmt-pin{position:relative!important;top:0!important;height:auto!important}.statement .stmt-pin{height:auto;padding-block:110px}.cycler>span,.cycler>span.out{transform:none!important;transition:opacity .6s ease}}

/* ---------- NAV ---------- */
.nav{--fg:#FFFFFF;--fg-2:rgba(255,255,255,.72);--line:#2A2927;color:var(--fg);position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,10,10,.86);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav>.wrap{height:var(--nav-h);display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;min-height:44px}
.brand img{height:30px;width:auto}
.wordmark{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;letter-spacing:.14em}
.wordmark svg{width:22px;height:22px}
.wordmark span{font-weight:500;color:var(--amber-hi)}
.nav>.wrap>ul{list-style:none;margin:0 0 0 auto;padding:0;display:flex;gap:4px}
.nav>.wrap>ul a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font-size:13.5px;text-decoration:none;color:var(--fg-2);transition:color .2s}
.nav>.wrap>ul a:hover{color:var(--fg)}
.cta{display:inline-flex;align-items:center;min-height:40px;font-size:14px;font-weight:700;text-decoration:none;background:var(--amber);color:#0A0A0A;padding:0 18px;border-radius:999px;white-space:nowrap;transition:background .2s}
.cta:hover{background:var(--amber-hi)}
.menu-btn{display:none;background:none;border:0;color:var(--fg);width:44px;height:44px;margin-right:-10px;cursor:pointer}
.menu-btn svg{width:20px;height:20px;margin:auto;display:block}
.nav .mobile-menu{background:var(--ink);border-top:1px solid var(--line);max-height:calc(100dvh - var(--nav-h) - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.nav .mobile-menu ul{list-style:none;margin:0;padding:6px 0 22px;display:flex;flex-direction:column;gap:0}
.nav .mobile-menu a{display:block;min-height:0;padding:14px 0;font-family:var(--display);font-size:clamp(24px,7vw,30px);font-weight:700;letter-spacing:-.035em;color:#fff;text-decoration:none;border-bottom:1px solid var(--line)}
.nav .mobile-menu a[aria-current="page"]{color:var(--amber,#F5A300)}
.nav .mobile-menu li:last-child a{border-bottom:0}
@media (max-width:980px){.nav>.wrap>ul{display:none}.nav .cta{margin-left:auto}.menu-btn{display:block}}
@media (max-width:520px){.nav>.wrap{gap:10px}.brand{min-width:0;overflow:hidden}.brand img{height:24px}.wordmark{font-size:11px;letter-spacing:.06em;gap:6px}.wordmark svg{width:18px;height:18px}.nav .cta{padding:0 14px;font-size:13px}}

/* ---------- BUTTONS ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;font:700 16px var(--body);text-decoration:none;cursor:pointer;border:0;transition:background .25s,color .25s,transform .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-amber{background:var(--amber);color:#0A0A0A}.btn-amber:hover{background:var(--amber-hi)}
.btn-ghost{background:transparent;color:var(--fg);border:1px solid rgba(10,10,10,.2)}
.btn-ghost:hover{background:var(--fg);color:var(--bg)}
.hero .btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero .btn-ghost:hover{background:#fff;color:#0A0A0A}
.link{display:inline-flex;align-items:center;min-height:44px;color:var(--amber-ink);text-decoration:none;font-weight:600}
.link:hover{text-decoration:underline}

/* ---------- HERO ---------- */
.hero{--fg:#FFFFFF;--fg-2:rgba(255,255,255,.8);color:var(--fg);position:relative;height:125vh;height:125svh;background:var(--bg)}
.hero .label{color:var(--amber-hi)}
.hero-pin{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--nav-h));height:calc(100vh - var(--nav-h));height:calc(100svh - var(--nav-h));min-height:560px;overflow:hidden}
.hero-media{position:absolute;inset:0;overflow:hidden;background:#121212;transform-origin:50% 45%;will-change:transform}
.hero-media img,.hero-media video,.hero-media canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media video{opacity:0;transition:opacity 1.2s ease}
.hero-media video.on{opacity:1}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.1) 28%,rgba(10,10,10,.25) 55%,rgba(10,10,10,.92) 100%)}
.hud{position:absolute;inset:0;z-index:2;pointer-events:none;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(245,244,241,.85)}
.hud .tl,.hud .tr{position:absolute;top:18px;display:flex;gap:16px;align-items:center}
.hud .tl{left:max(20px,env(safe-area-inset-left,0px))}
.hud .tr{right:max(20px,env(safe-area-inset-right,0px))}
.hud .rec{display:inline-flex;align-items:center;gap:7px}
.hud .rec i{width:8px;height:8px;border-radius:50%;background:var(--amber);animation:blink 1.4s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.hud .alt{position:absolute;right:max(20px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);text-align:right}
.hud .alt b{display:block;font-family:var(--display);font-size:clamp(40px,5.4vw,72px);font-weight:600;letter-spacing:-.05em;line-height:.9;color:var(--fg);font-variant-numeric:tabular-nums}
.hud .alt b small{font-size:.38em;color:var(--amber-hi);margin-left:4px}
.hud .ticks{position:absolute;right:calc(max(20px,env(safe-area-inset-right,0px)) - 2px);top:calc(50% - 130px);height:80px;width:14px;background:repeating-linear-gradient(transparent 0 7px,rgba(245,244,241,.5) 7px 8px)}
.hud .frame-c{position:absolute;inset:14% 18%;border:1px solid rgba(255,255,255,.0)}
.hud .frame-c::before,.hud .frame-c::after{content:"";position:absolute;width:22px;height:22px;border:1.5px solid rgba(255,182,31,.9)}
.hud .frame-c::before{left:0;top:0;border-right:0;border-bottom:0}
.hud .frame-c::after{right:0;bottom:0;border-left:0;border-top:0}
.hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:3;padding-bottom:max(48px,7vh);will-change:transform,opacity}
.hero h1{font-size:clamp(40px,6.2vw,92px);max-width:17ch;font-weight:700}
.hero .sub{font-size:clamp(19px,2.2vw,26px);font-weight:500;margin-top:18px;color:var(--fg-2);line-height:1.25}
.hero .sub .cycler{color:var(--fg);font-weight:600}
.hero .trust{margin-top:26px;font-size:14px;color:var(--fg-2)}
.hero .trust b{color:var(--fg);font-weight:600}
.hero .label{margin-bottom:18px;display:block}
@media (max-width:640px){.hud .alt,.hud .ticks{display:none}.hud .tr span:not(:first-child){display:none}.hud .frame-c{inset:10% 8% 45%}}
@media (prefers-reduced-motion:reduce){.hud .rec i{animation:none}}

/* ---------- CLIENTES ---------- */
.clients{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.client{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:22px;height:200px;display:flex;align-items:center;justify-content:center;padding:28px;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s;opacity:1}
.client:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(10,10,10,.35);border-color:transparent}
.client img{max-height:110px;max-width:78%;width:auto;height:auto;object-fit:contain}
.client .fbt{font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.04em;text-align:center;background:none}
.clients.pre .client{opacity:0;transform:translateY(24px)}
.clients.in .client{opacity:1;transform:none;transition:transform .9s var(--ease) calc(var(--k)*70ms),opacity .9s var(--ease) calc(var(--k)*70ms),box-shadow .5s var(--ease)}
.clients-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;color:var(--fg-2);font-size:15px}
@media (max-width:900px){.clients{grid-template-columns:repeat(2,1fr)}.client{height:150px;padding:20px}.client img{max-height:80px}}

/* ---------- MANIFIESTO ---------- */
.statement{height:150vh;height:150svh}
.stmt-pin{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--nav-h));height:calc(100vh - var(--nav-h));height:calc(100svh - var(--nav-h));display:flex;align-items:center}
.stmt{font-family:var(--display);font-size:clamp(34px,5.6vw,80px);font-weight:700;line-height:1.04;letter-spacing:-.05em;max-width:19ch}
.stmt .sw{color:var(--fg-3);transition:color .3s ease}
.stmt .sw.on{color:var(--fg)}
.stmt .sw.hl.on{color:var(--amber-deep)}

/* ---------- SECTIONS ---------- */
.sec{padding-block:120px}
.sec-2{background:var(--bg-2)}
.head{max-width:820px;margin-bottom:56px}
.head .label{display:block;margin-bottom:16px}
.head h2{font-size:clamp(36px,5.4vw,72px)}
.head p{font-size:clamp(18px,2vw,21px);color:var(--fg-2);margin-top:20px;max-width:56ch}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:56px}
.head-row .head{margin-bottom:0}

/* ---------- SERVICIOS ---------- */
.famnav{display:flex;flex-wrap:wrap;gap:10px}
.famnav a{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border-radius:999px;background:var(--bg-2);text-decoration:none;font-weight:600;transition:background .2s,color .2s}
.famnav a:hover{background:var(--fg);color:var(--bg)}
.famnav span{font-family:var(--mono);font-size:12px;color:var(--amber-ink)}
.famnav a:hover span{color:var(--amber-hi)}
.fam{margin-top:64px}
.fam-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.fam-h h3{font-size:clamp(28px,3.2vw,40px)}
.fam-h p{color:var(--fg-2);font-size:15px}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sv{background:var(--bg-2);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sv:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(10,10,10,.35)}
.sv .th{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden;background:var(--bg-3)}
.sv .th img,.sv .th .fb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale 1s var(--ease)}
.sv:hover .th img{scale:1.05}
.sv .b{padding:22px 24px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.sv h4{margin:0;font-size:23px;font-weight:700;letter-spacing:-.035em;line-height:1.1}
.sv p{color:var(--fg-2);font-size:15.5px}
.inc{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.inc li{font-family:var(--mono);font-size:11.5px;padding:5px 10px;border-radius:999px;background:var(--bg);color:var(--fg)}
.acts{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}
.sv .pre{background:none;border:0;padding:0;font:600 15px var(--body);color:var(--fg);cursor:pointer;min-height:44px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(10,10,10,.25)}
.sv .pre:hover{text-decoration-color:var(--amber-deep)}
@media (max-width:960px){.sgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.sgrid{grid-template-columns:1fr}}

/* ---------- VISOR 3D ---------- */
.viewer{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center}
.vbox{position:relative;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#24221D 0%,#0E0E0E 72%);color:#fff;aspect-ratio:4/3;max-width:100%;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.vbox.drag{cursor:grabbing}
.vbox canvas{position:absolute;inset:0;width:100%;height:100%}
.vtag{position:absolute;top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:6px 10px;border-radius:999px;background:rgba(10,10,10,.6);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
.vtag.l{left:16px}.vtag.r{right:16px;color:var(--amber-hi)}
.vhint{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.65);pointer-events:none}
.vsplit{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--amber);pointer-events:none}
/* knob */
.vknob{position:absolute;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--amber);border:0;color:#0A0A0A;cursor:ew-resize;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.5);touch-action:none}
.vknob svg{width:20px;height:20px}
.viewer h2{font-size:clamp(36px,4.4vw,60px)}
.viewer .intro{color:var(--fg-2);font-size:18px;margin-top:18px}
.deliv{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.deliv li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}
.deliv li span{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--fg-2);text-align:right}
.vnote{font-size:13px;color:var(--fg-2);margin-top:14px}
@media (max-width:960px){.viewer{grid-template-columns:1fr}}

/* ---------- CINTA ---------- */
.marquee{padding-block:64px;display:flex;flex-direction:column;gap:10px;border-block:1px solid var(--line);overflow:hidden}
.mrow{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mtrack{display:flex;width:max-content;animation:mq 70s linear infinite}
.mrow.rev .mtrack{animation-direction:reverse;animation-duration:80s}
.mset{display:block;white-space:nowrap;padding-right:.3em;font-family:var(--display);font-size:clamp(44px,6.4vw,96px);font-weight:700;letter-spacing:-.05em;line-height:1.1}
.mset em{font-style:normal;color:var(--amber)}
.mrow.soft .mset{color:var(--fg-3)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mtrack{animation-duration:120s}.mrow.rev .mtrack{animation-duration:140s}}

/* ---------- PROYECTOS ---------- */
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.proj{position:relative;border-radius:24px;overflow:hidden;background:var(--bg-2);min-width:0}
.proj .pc{position:relative;aspect-ratio:4/3;max-width:100%;overflow:hidden}
.proj .pc img,.proj .pc video,.proj .pc canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proj .pc img{height:115%;will-change:transform}
.proj .pc video,.svc .media video{opacity:0;transition:opacity .6s}
.proj .pc video.on,.svc .media video.on{opacity:1}
.proj .badge{position:absolute;left:16px;top:16px;z-index:2;font-family:var(--mono);font-size:11px;padding:6px 10px;border-radius:999px;background:rgba(10,10,10,.65);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.proj .pb{padding:22px 26px 26px;display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:end}
.proj h3{font-size:clamp(26px,2.8vw,36px)}
.proj p{color:var(--fg-2);font-size:15.5px;grid-column:1}
.proj dl{margin:0;grid-column:2;grid-row:1/span 2;text-align:right;font-family:var(--mono);font-size:11.5px;color:var(--fg-2);line-height:1.8}
.proj dt{display:none}
.proj dd{margin:0}
.proj dd.s{color:var(--amber-ink)}
@media (max-width:760px){.projects{grid-template-columns:1fr}.proj .pb{grid-template-columns:1fr}.proj dl{grid-column:1;grid-row:auto;text-align:left;display:flex;gap:14px}}

/* ---------- 360 ---------- */
.lite{position:relative;display:block;width:100%;aspect-ratio:16/9;max-width:100%;border-radius:24px;overflow:hidden;background:#161616;border:0;padding:0;cursor:pointer;color:#fff}
.lite img,.lite .fb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale 1s var(--ease)}
.lite:hover img{scale:1.03}
.lite::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.1),rgba(10,10,10,.7))}
.lite .play{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease)}
.lite:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.lite .play svg{width:30px;height:30px;margin-left:5px}
.lite .cap{position:absolute;z-index:2;left:24px;bottom:22px;right:24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;font-family:var(--mono);font-size:12px}
.lite .cap b{font-family:var(--body);font-size:clamp(17px,2vw,22px);font-weight:700}
.lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.specs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;border-radius:24px;overflow:hidden;gap:1px;background:var(--line)}
.spec{background:var(--bg);padding:28px 22px}
.spec b{display:block;font-family:var(--display);font-size:clamp(40px,4.6vw,60px);font-weight:700;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.spec span{display:block;color:var(--fg-2);font-size:15px;margin-top:8px}
@media (max-width:760px){.specs{grid-template-columns:1fr 1fr}}

/* ---------- NOSOTROS / CIFRAS ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about .ph{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-width:100%;background:var(--bg-2)}
.about .ph img,.about .ph .fb{position:absolute;inset:0;width:100%;height:115%;object-fit:cover}
.about .ph img{will-change:transform}
.about h2{font-size:clamp(36px,4.4vw,60px)}
.about .txt p{color:var(--fg-2);font-size:18px;margin-top:18px;max-width:48ch}
.auth{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.auth li{font-family:var(--mono);font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--fg)}
@media (max-width:860px){.about{grid-template-columns:1fr}.about .ph{aspect-ratio:4/3}}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:100px;border-top:1px solid var(--line)}
.num{padding:28px 20px 0 0;position:relative}
.num::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:3px;background:var(--amber)}
.num b{display:block;font-family:var(--display);font-size:clamp(48px,6vw,88px);font-weight:700;letter-spacing:-.055em;line-height:1;color:var(--fg);font-variant-numeric:tabular-nums}
.num span{display:block;color:var(--fg-2);margin-top:10px;font-size:15.5px;max-width:22ch}
@media (max-width:760px){.nums{grid-template-columns:1fr;row-gap:30px}}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 30px;margin-top:90px}
.why h3{font-size:22px;letter-spacing:-.035em}
.why p{color:var(--fg-2);font-size:15.5px;margin-top:10px}
@media (max-width:960px){.why{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.why{grid-template-columns:1fr}}

/* ---------- PROCESO ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.steps li{position:relative;padding:26px 22px 0 0;min-width:0}
.steps li::before{content:"";position:absolute;top:-1px;left:0;height:2px;width:0;background:var(--amber);transition:width 1.1s var(--ease) calc(var(--k)*150ms)}
.steps.in li::before{width:calc(100% - 22px)}
.steps .n{font-family:var(--mono);font-size:12px;color:var(--amber-ink)}
.steps h3{font-size:21px;letter-spacing:-.035em;margin-top:12px}
.steps p{color:var(--fg-2);font-size:15.5px;margin-top:10px}
@media (max-width:960px){.steps{grid-template-columns:1fr 1fr;row-gap:30px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- TESTIMONIOS ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.q{margin:0;background:var(--bg);border-radius:24px;padding:32px 30px;display:flex;flex-direction:column;gap:20px;min-width:0}
.q .st{color:var(--amber);letter-spacing:3px}
.q blockquote{margin:0;font-size:19px;line-height:1.45;font-weight:500}
.q figcaption{margin-top:auto;font-size:14px;color:var(--fg-2)}
.q figcaption b{display:block;color:var(--fg);font-size:15px}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:26px 48px 26px 0;font-size:clamp(19px,2.2vw,24px);font-weight:700;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:300 34px/1 var(--body);color:var(--amber-ink);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 28px;color:var(--fg-2);max-width:68ch;font-size:17px}
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:56px}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr;gap:20px}}

/* ---------- CONTACTO ---------- */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.contact h2{font-size:clamp(40px,5.4vw,76px)}
.contact .lead{font-size:19px;color:var(--fg-2);margin-top:20px;max-width:40ch}
.promise{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-family:var(--mono);font-size:12.5px;color:var(--amber-ink)}
.promise i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 6px var(--amber-dim)}
.channels{margin-top:34px;border-top:1px solid var(--line)}
.ch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ch small{display:block;font-family:var(--mono);font-size:11px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.1em}
.ch a.v,.ch span.v{font-size:19px;font-weight:600;text-decoration:none;word-break:break-all}
.ch a.v:hover{color:var(--amber-ink)}
.ch button,.ch a.go{display:inline-flex;align-items:center;min-height:44px;background:none;border:1px solid var(--line);color:var(--fg);font:600 13px var(--body);padding:0 16px;border-radius:999px;cursor:pointer;text-decoration:none;white-space:nowrap}
.ch button:hover,.ch a.go:hover{border-color:var(--fg);color:var(--fg)}
form{background:var(--bg-2);border-radius:24px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0}
label small{font-weight:400;color:var(--fg-2)}
input,select,textarea{font:inherit;font-size:16px;letter-spacing:normal;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;width:100%;min-width:0;min-height:50px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--amber)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.either{grid-column:1/-1;font-size:13px;color:var(--fg-2);margin-top:-6px}
.send{grid-column:1/-1;min-height:56px;font-size:17px}
.form-note{grid-column:1/-1;font-size:14px;color:var(--fg-2);min-height:1.2em}
.form-note.ok{color:var(--amber-ink)}
.form-note.err{color:#B3261E}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
@media (max-width:540px){form{grid-template-columns:1fr;padding:22px}}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);color:var(--fg-2);font-size:14px}
footer .wrap{padding-block:56px 40px}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.fgrid .fh{color:var(--fg);font-weight:700;margin-bottom:8px}
.fgrid ul{list-style:none;margin:0;padding:0}
.fgrid li a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.fgrid li a:hover{color:var(--fg)}
.addr{font-style:normal;line-height:1.7;margin-top:14px}
.social{display:flex;gap:8px;margin-top:18px}
.social a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s}
.social a:hover{border-color:var(--fg);color:var(--fg)}
.social svg{width:18px;height:18px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:22px;align-items:center}
.legal nav{display:flex;flex-wrap:wrap;column-gap:20px}
.legal nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.legal nav a:hover{color:var(--fg)}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}

/* ---------- COOKIES ---------- */
.cookies{position:fixed;z-index:58;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:460px;width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:0 20px 50px -20px rgba(10,10,10,.35);font-size:14.5px}
.cookies a{color:var(--amber-ink)}
.ck-b{display:flex;gap:10px;margin-top:14px}
.ck-b .btn{flex:1;min-height:44px;font-size:15px;padding:0 16px}

/* ---------- WHATSAPP ---------- */
.wa{color:#0A0A0A;position:fixed;z-index:55;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:var(--amber);color:#0A0A0A;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(10,10,10,.25);transition:transform .3s var(--ease),opacity .3s}
.wa:hover{transform:scale(1.08)}
.wa svg{width:28px;height:28px}
.wa.hide{opacity:0;transform:scale(.6);pointer-events:none}

@media (max-width:700px){.hud .tl,.hud .tr{display:none}}
.lite[data-vr] .cap b{display:none}
.lite[data-vr] .cap{justify-content:flex-start}
.lite[data-vr] .cap span{background:rgba(10,10,10,.72);padding:7px 11px;border-radius:999px}
@media (max-width:700px){.lite .play{width:64px;height:64px}.lite .play svg{width:22px;height:22px;margin-left:3px}}

/* volver arriba: abajo a la derecha */
.totop{position:fixed;z-index:55;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:48px;height:48px;border-radius:50%;border:0;padding:0;background:#0A0A0A;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 26px -10px rgba(10,10,10,.6),inset 0 0 0 1px rgba(255,255,255,.14);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s,color .2s}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:var(--amber);color:#0A0A0A}
.totop:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.totop svg{width:20px;height:20px}
body.ck-open .totop{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.totop{transition:opacity .2s}}

/* WhatsApp: arriba a la derecha, justo debajo de la cabecera */
.wa{top:calc(var(--wa-top,72px) + env(safe-area-inset-top,0px));bottom:auto!important;width:52px;height:52px;transition:transform .25s,opacity .25s,top .15s linear}
.wa svg{width:26px;height:26px}
@media (max-width:640px){.wa{width:48px;height:48px;right:calc(14px + env(safe-area-inset-right,0px))}.wa svg{width:24px;height:24px}}
body.menu-open .wa{opacity:0;pointer-events:none}

/* =================== PÁGINAS INTERIORES =================== */
.crumbs{font-size:13.5px;color:var(--fg-2);padding-top:28px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--fg-3)}
.crumbs a{text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.crumbs a:hover{color:var(--fg)}
.crumbs [aria-current]{color:var(--fg)}

.phero{padding-block:24px 72px}
.phero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;margin-top:24px}
.phero .label{display:block;margin-bottom:16px}
.phero h1{font-size:clamp(38px,5.2vw,72px);max-width:16ch}
.phero .intro{font-size:clamp(18px,1.9vw,21px);color:var(--fg-2);margin-top:22px;max-width:52ch;line-height:1.5}
.phero .media{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--bg-2)}
.phero .media img,.phero .media video,.phero .media .fb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero.simple .phero-grid{grid-template-columns:1fr}
.phero.simple h1{max-width:20ch}
@media (max-width:900px){.phero-grid{grid-template-columns:1fr;gap:36px}.phero{padding-bottom:56px}}

.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat.two{grid-template-columns:repeat(2,1fr)}
.feat.four{grid-template-columns:repeat(4,1fr)}
.ft{background:var(--bg-2);border-radius:22px;padding:28px 26px;min-width:0}
.ft .k{font-family:var(--mono);font-size:12px;color:var(--amber-ink);letter-spacing:.06em}
.ft h3{font-size:23px;letter-spacing:-.035em;margin-top:12px}
.ft p{color:var(--fg-2);font-size:16px;margin-top:10px}
@media (max-width:960px){.feat,.feat.four{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.feat,.feat.two,.feat.four{grid-template-columns:1fr}}

.split2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.split2 h2{font-size:clamp(32px,4vw,52px)}
.split2 .txt p{color:var(--fg-2);font-size:18px;margin-top:16px;max-width:56ch}
@media (max-width:900px){.split2{grid-template-columns:1fr;gap:28px}}

.chips{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{padding:9px 14px;border-radius:999px;background:var(--bg-2);font-size:14.5px;font-weight:500}

.formats{border-top:1px solid var(--line)}
.formats div{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.formats dt{font-weight:600}
.formats dd{margin:0;font-family:var(--mono);font-size:13px;color:var(--fg-2)}

.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.media-grid.one{grid-template-columns:1fr}
.vframe{position:relative;border-radius:24px;overflow:hidden;background:#161616;aspect-ratio:16/9;max-width:100%}
.vframe video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mcap{font-size:14.5px;color:var(--fg-2);margin-top:12px}
.mcap b{color:var(--fg);font-weight:600}
@media (max-width:760px){.media-grid{grid-template-columns:1fr}}

.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:960px){.related{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.related{grid-template-columns:1fr}}

.cta-band{background:var(--ink);color:#fff;border-radius:28px;padding:56px clamp(24px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.cta-band h2{font-size:clamp(30px,3.8vw,50px);max-width:20ch}
.cta-band p{color:rgba(255,255,255,.75);margin-top:12px;font-size:17px}
.cta-band .btns{margin-top:0}
.cta-band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cta-band .btn-ghost:hover{background:#fff;color:#0A0A0A}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}}

.logo-row{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.logo-row .client{height:110px;padding:16px;border-radius:16px}
.logo-row .client img{max-height:60px}
@media (max-width:960px){.logo-row{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.logo-row{grid-template-columns:repeat(2,1fr)}}

/* prosa: blog y textos legales */
.prose{max-width:720px;font-size:18px;line-height:1.7}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(26px,3vw,34px);margin-top:2em;line-height:1.15}
.prose h3{font-size:clamp(21px,2.4vw,25px);margin-top:1.8em;letter-spacing:-.03em;line-height:1.2}
.prose h4{font-size:19px;margin-top:1.4em;letter-spacing:-.02em}
.prose ul,.prose ol{padding-left:1.2em}
.prose li+li{margin-top:.4em}
.prose a{color:var(--amber-ink)}
.prose figure{margin:2em 0}
.prose figure img{border-radius:18px;width:100%;height:auto}
.prose figcaption{font-size:14px;color:var(--fg-2);margin-top:8px}
.prose .note{background:var(--bg-2);border-radius:16px;padding:18px 20px;font-size:16px}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-weight:600}
.tbl{overflow-x:auto}
.meta-line{font-family:var(--mono);font-size:12.5px;color:var(--fg-2);margin-top:18px}
.article-hero{border-radius:28px;overflow:hidden;aspect-ratio:21/9;max-width:100%;background:var(--bg-2);position:relative;margin-top:36px}
.article-hero img,.article-hero .fb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.legal-doc{max-width:760px}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post{background:var(--bg-2);border-radius:22px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;min-width:0;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.post:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(10,10,10,.35)}
.post .th{position:relative;aspect-ratio:16/10;overflow:hidden;max-width:100%}
.post .th img,.post .th .fb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post .b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.post .cat{font-family:var(--mono);font-size:11.5px;color:var(--amber-ink);text-transform:uppercase;letter-spacing:.08em}
.post h2,.post h3{font-size:23px;letter-spacing:-.035em;line-height:1.15}
.post p{color:var(--fg-2);font-size:15.5px}
@media (max-width:960px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.posts{grid-template-columns:1fr}}

/* proyectos */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font:600 14.5px var(--body);color:var(--fg);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.vgrid .lite{aspect-ratio:16/9;border-radius:20px}
.vgrid .lite .play{width:64px;height:64px}
.vgrid .lite .cap{left:18px;bottom:14px;right:18px}
.vgrid .lite .cap b{font-size:16px}
@media (max-width:900px){.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vgrid{grid-template-columns:1fr}}

/* sitemap */
.smap{columns:2;column-gap:56px}
.smap section{break-inside:avoid;margin-bottom:32px}
.smap h2{font-size:22px;margin-bottom:10px}
.smap ul{list-style:none;margin:0;padding:0}
.smap a{display:inline-flex;min-height:40px;align-items:center;text-decoration:none;color:var(--fg-2)}
.smap a:hover{color:var(--fg)}
@media (max-width:700px){.smap{columns:1}}

/* 404 */
.nf{min-height:60vh;display:flex;flex-direction:column;justify-content:center}
.nf .big{font-size:clamp(90px,16vw,220px);font-weight:700;letter-spacing:-.06em;line-height:1;color:var(--amber-deep)}

/* nav actual */
.nav>.wrap>ul a[aria-current="page"]{color:#fff}
.lite.sketch{background:#161616}
.lite.sketch .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.6)}


/* muros de logos: filas incompletas centradas */
.clients{display:flex;flex-wrap:wrap;justify-content:center}
.clients .client{flex:0 0 calc((100% - 3*14px)/4)}
.logo-row{display:flex;flex-wrap:wrap;justify-content:center}
.logo-row .client{flex:0 0 calc((100% - 5*10px)/6)}
@media (max-width:960px){.logo-row .client{flex-basis:calc((100% - 3*10px)/4)}}
@media (max-width:900px){.clients .client{flex-basis:calc((100% - 14px)/2)}}
@media (max-width:520px){.logo-row .client{flex-basis:calc((100% - 10px)/2)}}

/* =================== NOTICIA MADRING =================== */
:root{--mr:#FF4545}
.newsbar{position:relative;z-index:51;display:flex;align-items:center;justify-content:center;gap:12px;min-height:40px;padding:6px max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px));background:#1A0B0B;color:#fff;text-decoration:none;font-size:14px;line-height:1.3;border-bottom:1px solid rgba(255,69,69,.35)}
.newsbar:hover .nb-go{text-decoration:underline}
.nb-tag{flex-shrink:0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--mr);color:#fff;padding:3px 8px;border-radius:999px}
.nb-txt{min-width:0}
.nb-go{flex-shrink:0;color:var(--amber-hi);font-weight:600}
@media (max-width:640px){.newsbar{font-size:13px;justify-content:flex-start}.nb-go{display:none}}

.mrband{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,#2A1414 0%,#0B0B0C 60%);color:#fff;padding-block:110px}
.mr-flag{position:absolute;right:-140px;top:-140px;width:640px;height:640px;transform:rotate(18deg);background:repeating-conic-gradient(#fff 0 25%,transparent 0 50%) 0 0/56px 56px;opacity:.07;-webkit-mask:radial-gradient(circle at 70% 30%,#000 25%,transparent 70%);mask:radial-gradient(circle at 70% 30%,#000 25%,transparent 70%);pointer-events:none}
.mr-track{position:absolute;right:-60px;bottom:-80px;width:min(900px,90%);height:auto;pointer-events:none}
.mr-road{stroke:rgba(255,255,255,.08);stroke-width:34;stroke-linecap:round}
.mr-line{stroke:var(--mr);stroke-width:4;stroke-dasharray:2 18;stroke-linecap:round;animation:mrdash 2.4s linear infinite}
@keyframes mrdash{to{stroke-dashoffset:-200}}
.mr-grid{position:relative;display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.mr-k,.nd-k{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mr);margin:0 0 18px}
.mr-k i,.nd-k i{width:10px;height:10px;border-radius:50%;background:var(--mr);box-shadow:0 0 0 6px rgba(255,69,69,.22);animation:mrpulse 1.6s ease-in-out infinite}
@keyframes mrpulse{50%{box-shadow:0 0 0 10px rgba(255,69,69,0)}}
.mrband h2{font-size:clamp(36px,5vw,68px);line-height:1.02;max-width:15ch}
.mr-lead{font-size:clamp(18px,2vw,21px);color:rgba(255,255,255,.78);margin-top:20px;max-width:46ch}
.mrband .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.mrband .btn-ghost:hover{background:#fff;color:#0A0A0A}
.mr-side{display:flex;flex-direction:column;align-items:flex-start;gap:30px}
.mr-logo{width:min(330px,80%);height:auto}
.mr-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);border-radius:18px;overflow:hidden;width:100%}
.mr-facts div{background:rgba(11,11,12,.85);padding:16px 18px}
.mr-facts dt{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.mr-facts dd{margin:6px 0 0;font-size:22px;font-weight:700;letter-spacing:-.03em}
@media (max-width:900px){.mr-grid{grid-template-columns:1fr;gap:40px}.mrband{padding-block:80px}}
@media (prefers-reduced-motion:reduce){.mr-line,.mr-k i,.nd-k i{animation:none}}

.newsdlg{padding:0;border:0;border-radius:26px;width:min(720px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;background:#0B0B0C;color:#fff;box-shadow:0 40px 120px -20px rgba(0,0,0,.6)}
.newsdlg::backdrop{background:rgba(10,10,10,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.newsdlg[open]{animation:ndin .5s var(--ease)}
@keyframes ndin{from{opacity:0;transform:translateY(24px) scale(.98)}}
.nd-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.nd-body{padding:26px 30px 30px}
.nd-body h2{font-size:clamp(26px,3.4vw,38px);line-height:1.05}
.nd-body p{color:rgba(255,255,255,.75);margin-top:12px;font-size:16.5px}
.nd-b{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.nd-b .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.nd-b .btn-ghost:hover{background:#fff;color:#0A0A0A}
.nd-x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(10,10,10,.6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nd-x svg{width:18px;height:18px}
@media (max-width:600px){.newsdlg{margin:auto 0 0;width:100%;max-width:100%;border-radius:22px 22px 0 0;max-height:88%}.nd-body{padding:20px 20px calc(24px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.newsdlg[open]{animation:none}}

/* artículo de la noticia */
.news-h1{font-size:clamp(32px,4.4vw,60px)!important;max-width:22ch!important}
.prose .lead-p{font-size:21px;line-height:1.55}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:18px;overflow:hidden;margin:2em 0}
.facts div{background:var(--bg-2);padding:18px}
.facts b{display:block;font-size:30px;letter-spacing:-.04em;line-height:1}
.facts span{display:block;font-size:14px;color:var(--fg-2);margin-top:8px;line-height:1.35}
@media (max-width:640px){.facts{grid-template-columns:1fr 1fr}}
.posts .post-feat{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;align-items:stretch}
.posts .post-feat .th{aspect-ratio:auto;min-height:280px}
.posts .post-feat .b{justify-content:center;padding:32px}
.posts .post-feat h2{font-size:clamp(24px,2.6vw,34px)}
.posts .post-feat .cat{color:#C62828}
@media (max-width:760px){.posts .post-feat{grid-template-columns:1fr}.posts .post-feat .th{aspect-ratio:16/9;min-height:0}}

.mr-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;opacity:.55}
.mrband::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(11,11,12,.96) 0%,rgba(11,11,12,.85) 45%,rgba(11,11,12,.35) 100%),linear-gradient(0deg,rgba(11,11,12,.8),transparent 40%)}
.mrband .mr-flag,.mrband .mr-track{z-index:0}
.mrband .mr-grid{z-index:1}
.mr-logo{padding:22px 26px;background:rgba(11,11,12,.75);border-radius:22px;box-sizing:content-box;width:min(280px,70%)!important}
.mr-credit{margin:-18px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.55)}
.article-hero img{object-position:50% 60%}

/* logotipo oficial en la cabecera */
.brand img{height:36px;width:auto}
@media (max-width:520px){.brand img{height:24px}}
@media (max-width:360px){.brand img{height:20px}}
.brand img{height:42px}
@media (max-width:520px){.brand img{height:26px}}
@media (max-width:380px){.nav .cta{display:none}.brand img{height:24px}}
.fgrid>div{min-width:0}
@media (max-width:400px){.fgrid{grid-template-columns:1fr}}

#heroPoster{object-position:55% 45%}
.hero-media::after{background:linear-gradient(90deg,rgba(10,10,10,.72) 0%,rgba(10,10,10,.35) 55%,rgba(10,10,10,.1) 100%),linear-gradient(180deg,rgba(10,10,10,.5) 0%,rgba(10,10,10,.05) 30%,rgba(10,10,10,.35) 60%,rgba(10,10,10,.92) 100%)}
@media (max-width:640px){.hero-media::after{background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.45) 35%,rgba(10,10,10,.75) 65%,rgba(10,10,10,.95) 100%)}}

/* =================== VENTANA FLOTANTE MADRING =================== */
.newsdlg,.mrband{display:none!important}
.nfloat{position:fixed;z-index:57;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));width:360px;max-width:calc(100% - 40px);opacity:0;transform:translateY(30px) scale(.94);transform-origin:100% 100%;transition:opacity .5s var(--ease),transform .6s cubic-bezier(.2,1.35,.3,1)}
.nfloat.show{opacity:1;transform:none}
.nf-card{position:relative;border-radius:24px;padding:2px;background:conic-gradient(from var(--nfa,0deg),#FF4545,#F5A300,#FFE1A0,#F5A300,#FF4545);animation:nfspin 4s linear infinite;box-shadow:0 30px 70px -20px rgba(10,10,10,.55),0 0 0 1px rgba(255,255,255,.04)}
@property --nfa{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes nfspin{to{--nfa:360deg}}
.nf-card>*{position:relative}
.nf-media{display:block;position:relative;border-radius:22px 22px 0 0;overflow:hidden;aspect-ratio:16/8;background:#0B0B0C}
.nf-media img{width:100%;height:100%;object-fit:cover;object-position:55% 45%;transition:scale 1.2s var(--ease)}
.nfloat:hover .nf-media img{scale:1.05}
.nf-flag{position:absolute;right:0;top:0;width:120px;height:100%;background:repeating-conic-gradient(#fff 0 25%,#0B0B0C 0 50%) 0 0/16px 16px;opacity:.85;-webkit-mask:linear-gradient(90deg,transparent,#000 70%);mask:linear-gradient(90deg,transparent,#000 70%)}
.nf-badge{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:#FF4545;color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 6px 18px rgba(255,69,69,.45)}
.nf-badge i{width:7px;height:7px;border-radius:50%;background:#fff;animation:nfblink 1.2s ease-in-out infinite}
@keyframes nfblink{50%{opacity:.25}}
.nf-body{background:#0B0B0C;color:#fff;border-radius:0 0 22px 22px;padding:16px 20px 20px}
.nf-k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#FF6B6B;margin:0}
.nf-t{margin:8px 0 0;font-size:20px;font-weight:700;letter-spacing:-.035em;line-height:1.15}
.nf-t em{font-style:normal;color:#F5A300}
.nf-go{margin-top:14px;width:100%;min-height:46px;font-size:15px}
.nf-x{position:absolute!important;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(10,10,10,.65);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nf-x::after{content:"";position:absolute;inset:-4px}
.nf-x svg{width:16px;height:16px}
.npill{position:fixed;z-index:56;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 10px;border:0;border-radius:999px;background:#0B0B0C;color:#fff;font:600 13.5px var(--body);cursor:pointer;box-shadow:0 12px 30px -10px rgba(10,10,10,.5),0 0 0 2px #FF4545;animation:nfpop .5s var(--ease)}
.npill:hover{box-shadow:0 12px 30px -10px rgba(10,10,10,.5),0 0 0 2px #F5A300}
.np-flag{width:26px;height:26px;border-radius:50%;background:repeating-conic-gradient(#fff 0 25%,#0B0B0C 0 50%) 0 0/8px 8px;box-shadow:0 0 0 2px #FF4545}
@keyframes nfpop{from{opacity:0;transform:translateY(12px)}}
@media (max-width:640px){
  .nfloat{left:12px;right:12px;width:auto;max-width:none;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .nf-card{border-radius:20px}
  .nf-media{aspect-ratio:auto;height:96px;border-radius:18px 18px 0 0}
  .nf-body{border-radius:0 0 18px 18px;padding:12px 16px 16px}
  .nf-t{font-size:17px}
  .nf-go{min-height:42px;margin-top:10px}
  .npill{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.nfloat{transition:none}.nf-card{animation:none}.nf-badge i{animation:none}.npill{animation:none}}
.hero-media::after{background:linear-gradient(90deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.2) 55%,rgba(10,10,10,0) 100%),linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,0) 28%,rgba(10,10,10,.1) 60%,rgba(10,10,10,.85) 100%)}
@media (max-width:640px){.hero-media::after{background:linear-gradient(180deg,rgba(10,10,10,.4) 0%,rgba(10,10,10,.3) 35%,rgba(10,10,10,.65) 65%,rgba(10,10,10,.92) 100%)}}
#heroPoster{object-position:50% 60%}
.nfloat{width:330px}

.vplace{position:absolute;left:16px;bottom:14px;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.7);pointer-events:none}
.vbox .vhint{left:auto;right:16px;text-align:right;max-width:60%}
.vbox canvas{opacity:0;transition:opacity .8s ease}
.vbox.loaded canvas{opacity:1}
@media (max-width:600px){.vbox .vhint{display:none}}
@media (max-width:600px){.vt-x{display:none}.vtag{font-size:10px;padding:5px 8px}}

.vr-note{margin:12px 0 0;font-size:14.5px;color:var(--fg-2)}
.vr-note a{color:var(--amber-ink);font-weight:600}
.vr-note.warn{background:#FFF4E0;color:#5A3A00;border-radius:12px;padding:10px 14px}
.vr-note.warn a{color:#8A4B00}

/* pastilla minimizada de la noticia: foto + texto, sin cuadros */
.npill{gap:10px;padding:4px 16px 4px 4px;min-height:52px;box-shadow:0 14px 34px -12px rgba(10,10,10,.55),0 0 0 2px #F5A300}
.npill:hover{box-shadow:0 14px 34px -12px rgba(10,10,10,.55),0 0 0 2px #FF4545}
.np-flag{display:none}
.np-img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:55% 45%}
.np-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;font-size:13px;font-weight:600}
.np-txt b{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#FF6B6B;font-weight:500}
.np-dot{width:8px;height:8px;border-radius:50%;background:#FF4545;margin-left:2px;animation:nfblink 1.2s ease-in-out infinite}
.nf-flag{display:none}
@media (prefers-reduced-motion:reduce){.np-dot{animation:none}}

.lite-on{position:relative;width:100%;aspect-ratio:16/9;max-width:100%;border-radius:24px;overflow:hidden;background:#000}
.vgrid .lite-on{border-radius:20px}
.lite-on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* noticia minimizada: junto al botón de WhatsApp (arriba a la derecha) */
.npill{left:auto!important;right:calc(80px + env(safe-area-inset-right,0px))!important;top:calc(var(--wa-top,72px) + env(safe-area-inset-top,0px));bottom:auto!important;transition:top .15s linear}
@media (max-width:640px){.npill{right:calc(70px + env(safe-area-inset-right,0px))!important;top:calc(var(--wa-top,72px) - 2px + env(safe-area-inset-top,0px));min-height:48px;padding:3px 14px 3px 3px}}
body.menu-open .npill{opacity:0;pointer-events:none}
