/* fiywork — sistema de diseño compartido */
@font-face{font-family:'Bricolage';src:url('vendor/fonts/bri-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Bricolage';src:url('vendor/fonts/bri-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Bricolage';src:url('vendor/fonts/bri-800.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Geist';src:url('vendor/fonts/geist-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Geist';src:url('vendor/fonts/geist-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Geist';src:url('vendor/fonts/geist-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Geist';src:url('vendor/fonts/geist-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('vendor/fonts/jbm-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('vendor/fonts/jbm-500.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  color-scheme: dark;
  --ink:#f6f6f8; --ink-dim:rgba(246,246,248,.62); --ink-faint:rgba(246,246,248,.40);
  --accent:#7ad6ff; --accent-deep:#3aa8e0; --accent-ink:#08131a;
  --ok:#5ee39b; --err:#ff8080; --warn:#ffcf5e;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --display:'Bricolage','Geist',sans-serif;
  --glass-bg:
    radial-gradient(130% 90% at 12% -10%, rgba(255,255,255,.22), transparent 46%),
    radial-gradient(90% 70% at 100% 110%, rgba(150,180,255,.10), transparent 55%),
    linear-gradient(158deg, rgba(255,255,255,.10), rgba(255,255,255,.025) 52%, rgba(255,255,255,.06));
  --glass-blur: blur(34px) saturate(210%) brightness(1.10);
  --glass-edge: rgba(255,255,255,.22);
  --glass-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 1px rgba(255,255,255,.10),
    inset 0 0 30px rgba(255,255,255,.05),
    0 26px 60px -26px rgba(0,0,0,.78),
    0 6px 20px -10px rgba(0,0,0,.55);
  --r-lg:30px; --r-md:20px; --r-sm:14px; --r-pill:999px;
}
*{box-sizing:border-box} html,body{margin:0;padding:0} html{-webkit-text-size-adjust:100%}
body{min-height:100vh;background:#07070b;color:var(--ink);
  font:15px/1.55 'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;letter-spacing:-.006em;overflow-x:hidden}

body::before{content:"";position:fixed;inset:-30%;z-index:-2;
  background:
    radial-gradient(circle at center, rgba(90,160,255,.55), transparent 60%),
    radial-gradient(circle at center, rgba(150,90,255,.50), transparent 60%),
    radial-gradient(circle at center, rgba(60,200,180,.44), transparent 60%),
    radial-gradient(circle at center, rgba(255,120,90,.34), transparent 60%),
    radial-gradient(circle at center, rgba(255,201,77,.30), transparent 62%);
  background-repeat:no-repeat;
  background-size:60% 60%,56% 56%,58% 58%,50% 50%,52% 52%;
  background-position:8% 12%, 88% 8%, 78% 82%, 16% 86%, 50% 45%;
  filter:blur(62px);animation:blobs 20s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.26;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.5'/></svg>")}
@keyframes blobs{
  0%{background-position:8% 12%, 88% 8%, 78% 82%, 16% 86%, 50% 45%}
  25%{background-position:22% 28%, 70% 20%, 62% 66%, 30% 70%, 42% 58%}
  50%{background-position:2% 44%, 92% 36%, 86% 92%, 6% 66%, 60% 28%}
  75%{background-position:26% 6%, 74% 14%, 68% 72%, 26% 92%, 38% 66%}
  100%{background-position:12% 20%, 84% 26%, 72% 88%, 20% 78%, 52% 40%}}
@media (prefers-reduced-motion: reduce){body::before{animation:none}}

.glass{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:var(--r-lg);overflow:hidden;isolation:isolate}
/* bright refractive rim (masked border) */
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.3px;z-index:1;
  background:linear-gradient(140deg, rgba(255,255,255,.85), rgba(255,255,255,.12) 26%, transparent 46%, rgba(150,190,255,.10) 62%, rgba(255,255,255,.55));
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);-webkit-mask-composite:xor;
  mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);mask-composite:exclude;pointer-events:none}
/* diagonal light streak across the crystal */
.glass::after{content:"";position:absolute;top:-60%;left:-20%;width:55%;height:220%;z-index:0;pointer-events:none;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.13) 45%, rgba(255,255,255,.03) 55%, transparent);
  transform:rotate(8deg);filter:blur(4px)}
.glass>*{position:relative;z-index:2}

.wrap{max-width:920px;margin:0 auto;padding:40px 22px 100px}

.topnav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:34px;flex-wrap:wrap}
.topnav .brand{font-family:var(--display);display:flex;align-items:center;gap:13px;font-weight:800;font-size:24px;color:var(--ink);text-decoration:none;letter-spacing:-.028em}
.topnav .brand .dot{width:44px;height:44px;border-radius:13px;filter:drop-shadow(0 4px 14px rgba(120,150,255,.6))}
.topnav .brand .tag{font-size:10px;font-weight:600;color:var(--ink-faint);border:1px solid rgba(255,255,255,.14);padding:1px 6px;border-radius:999px}
.topnav .brand .bi{background:linear-gradient(135deg,#7ad6ff,#c39bff);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}

.topnav .links{display:flex;gap:3px;flex-wrap:wrap}
.topnav .links a{color:var(--ink-dim);text-decoration:none;font-size:13px;font-weight:500;padding:7px 13px;border-radius:999px;border:1px solid transparent}
.topnav .links a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.topnav .links a.on{color:var(--ink);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.15)}

header{margin-bottom:22px}
.badge{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:500;color:var(--ink-dim);
  padding:6px 13px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.22);margin-bottom:18px}
.badge i{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px 1px rgba(94,227,155,.8)}
header{position:relative}
header h1{font-family:var(--display);font-size:40px;line-height:1.04;margin:0 0 10px;font-weight:700;letter-spacing:-.032em;
  background:linear-gradient(180deg,#fff 32%, color-mix(in srgb, var(--accent) 62%, #fff));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 26px color-mix(in srgb, var(--accent) 45%, transparent))}
/* accent backlight behind the header */
header::before{content:"";position:absolute;left:-40px;top:-30px;width:320px;height:150px;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--accent) 32%, transparent), transparent 70%);
  filter:blur(20px)}
header p{margin:0;color:var(--ink-dim);font-size:15px;max-width:60ch}

.card{padding:22px}
.card h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin:0 0 14px;font-weight:600;display:flex;align-items:center;gap:8px}
.card h2 .tag{font-size:10px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.1);color:var(--ink-dim);letter-spacing:.04em}

.drop{display:block;width:100%;text-align:center;cursor:pointer;padding:48px 26px;border-radius:var(--r-lg);
  transition:transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s, border-color .3s}
.drop:hover{transform:translateY(-2px)}
.drop.over{border-color:var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 4px rgba(122,214,255,.13), 0 26px 54px -24px rgba(0,0,0,.8);transform:translateY(-3px)}
.drop .ic{width:50px;height:50px;margin:0 auto 15px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(160deg, rgba(255,255,255,.2), rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.drop .ic svg{width:23px;height:23px;stroke:var(--ink);opacity:.9;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.drop strong{font-family:var(--display);display:block;font-size:16px;font-weight:600;margin-bottom:5px}
.drop span{color:var(--ink-faint);font-size:13px}
input[type=file]{display:none}

label.field{display:block;margin:0 0 13px}
.field .lbl{display:block;font-size:11.5px;color:var(--ink-faint);margin-bottom:6px;font-weight:500}
input[type=text],input[type=password],input[type=number],input[type=datetime-local],select,textarea{
  width:100%;appearance:none;-webkit-appearance:none;font:inherit;font-size:13.5px;color:var(--ink);
  padding:10px 12px;border-radius:var(--r-sm);
  background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.20)}
textarea{min-height:120px;resize:vertical;font-family:var(--mono);font-size:13px;line-height:1.5}
select{padding-right:36px;cursor:pointer;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='rgba(246,246,248,.55)' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1.5 6 6.5 11 1.5'/></svg>") right 13px center/12px 8px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05))}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 0 0 3px rgba(122,214,255,.16)}

button.go{position:relative;overflow:hidden;width:100%;margin-top:6px;font:inherit;font-weight:650;font-size:14px;
  padding:13px 20px;border-radius:var(--r-sm);cursor:pointer;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.42);
  -webkit-backdrop-filter:blur(10px) saturate(200%);backdrop-filter:blur(10px) saturate(200%);
  border:1px solid color-mix(in srgb, var(--accent) 60%, rgba(255,255,255,.55));
  background:
    radial-gradient(120% 80% at 20% -20%, rgba(255,255,255,.35), transparent 55%),
    linear-gradient(180deg, color-mix(in srgb, var(--accent) 48%, transparent), color-mix(in srgb, var(--accent-deep) 34%, transparent));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), inset 0 -9px 18px -8px color-mix(in srgb, var(--accent) 45%, transparent), 0 12px 30px -12px color-mix(in srgb, var(--accent) 60%, transparent);
  transition:transform .16s, filter .2s, box-shadow .25s}
button.go::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,.5) 47%, transparent 60%);transform:translateX(-130%);transition:transform .7s cubic-bezier(.4,0,.2,1)}
button.go:hover:not(:disabled){transform:translateY(-1.5px);filter:brightness(1.1)}
button.go:hover:not(:disabled)::after{transform:translateX(130%)}
button.go:active:not(:disabled){transform:translateY(0) scale(.99)}
button.go.ghost{color:var(--ink);text-shadow:none;border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32), 0 8px 22px -14px rgba(0,0,0,.6)}
button.go.ghost:hover:not(:disabled){background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.09))}
button.go:disabled{opacity:.45;cursor:not-allowed}

.rows{display:grid;gap:1px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-sm);overflow:hidden}
.row{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:9px 14px;background:rgba(10,10,14,.55);font-size:13px}
.row .k{color:var(--ink-faint);font-size:12px}
.row .v{color:var(--ink);font-family:var(--mono);font-size:12.5px;word-break:break-word}
.row .v.hot{color:var(--warn)}
@media (max-width:520px){.row{grid-template-columns:1fr;gap:2px}}

.status{font-size:12.5px;margin-top:11px;min-height:16px;color:var(--ink-dim)}
.status.ok{color:var(--ok)} .status.err{color:var(--err)}
.note{font-size:12.5px;color:var(--ink-faint);line-height:1.6}
.note b{color:var(--ink-dim)}
.privacy{margin-top:26px;padding:18px 22px;font-size:12.5px;color:var(--ink-faint)}
.privacy b{color:var(--ink-dim)}
.hidden{display:none!important}

/* ---------- nav dropdown (categorías) ---------- */
.topnav{position:relative;z-index:40}
.topnav .cat{position:relative}
.topnav .cat>button{display:flex;align-items:center;gap:6px;color:var(--ink-dim);background:transparent;
  border:1px solid transparent;font:inherit;font-size:13px;font-weight:500;padding:7px 13px;border-radius:999px;cursor:pointer}
.topnav .cat>button:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.topnav .cat>button .chev{width:9px;height:9px;opacity:.6;transition:transform .2s}
.topnav .cat.open>button{color:var(--ink);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.15)}
.topnav .cat.open>button .chev{transform:rotate(180deg)}
.topnav .cat.hasactive>button{color:var(--ink)}
.menu{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;padding:8px;z-index:60;
  border-radius:20px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);
  opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .18s,transform .18s}
.cat.open .menu{opacity:1;transform:none;pointer-events:auto}
.cat:last-child .menu{left:auto;right:0}
.menu a{display:flex;gap:12px;align-items:flex-start;padding:10px 11px;border-radius:13px;text-decoration:none;color:inherit}
.menu a:hover{background:rgba(255,255,255,.07)}
.menu a.on{background:rgba(255,255,255,.06)}
.menu a .mi{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.menu a .mi svg{width:17px;height:17px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.menu a .mt b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.menu a .mt span{font-size:11.5px;color:var(--ink-faint);line-height:1.35;display:block;margin-top:1px}
.menu a .soon-tag{margin-left:auto;align-self:center;font-size:9.5px;color:var(--ink-faint);border:1px solid rgba(255,255,255,.14);padding:1px 6px;border-radius:999px}
.menu a.soon{opacity:.55;pointer-events:none}
.a-cyan{stroke:#7ad6ff}.a-violet{stroke:#c39bff}.a-amber{stroke:#ffc94d}.a-green{stroke:#5ee39b}.a-pink{stroke:#ff9ecb}.a-blue{stroke:#8ab4ff}
@media (max-width:640px){.topnav .links{width:100%;justify-content:flex-start}.menu{position:static;opacity:1;transform:none;pointer-events:auto;min-width:0;margin:6px 0 4px;display:none}.cat.open .menu{display:block}}

/* ---------- landing hero (estilo PhotoRoom) ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:40px 0 64px}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:36px;padding:24px 0 48px}}
.hero-copy .pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:500;color:var(--ink-dim);
  padding:6px 13px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.22);margin-bottom:22px}
.hero-copy .pill i{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px 1px rgba(94,227,155,.8)}
.hero-copy h1{font-family:var(--display);font-size:clamp(38px,5.2vw,60px);line-height:1.02;margin:0 0 20px;font-weight:700;letter-spacing:-.036em;
  background:linear-gradient(118deg,#eaf3ff 6%,#a9cdff 34%,#cdb6ff 62%,#ffe4a8 98%);
  -webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 34px rgba(130,170,255,.34))}
.hero-copy>p{margin:0 0 28px;color:var(--ink-dim);font-size:17px;line-height:1.55;max-width:48ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  font-weight:650;font-size:15px;color:#08131a;padding:14px 26px;border-radius:var(--r-sm);
  border:1px solid color-mix(in srgb, var(--accent) 60%, rgba(255,255,255,.6));
  background:radial-gradient(120% 80% at 20% -20%, rgba(255,255,255,.4), transparent 55%),linear-gradient(180deg,#bfe9ff,#8fb8f0);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 30px -10px rgba(120,160,255,.6);transition:transform .16s,filter .2s}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-secondary{display:inline-flex;align-items:center;text-decoration:none;font-weight:600;font-size:15px;color:var(--ink);
  padding:14px 22px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));transition:transform .16s,background .2s}
.btn-secondary:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08))}
.hero-trust{margin-top:22px;font-size:12.5px;color:var(--ink-faint)}
.hero-trust b{color:var(--ink-dim)}

.hero-visual{position:relative}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}
.ba-col{position:relative;border-radius:16px;overflow:hidden}
.ba-col img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:.72;border-radius:16px}
.ba-tag{position:absolute;top:10px;left:10px;z-index:3;font-size:11px;font-weight:600;color:var(--ink);
  padding:4px 10px;border-radius:999px;background:rgba(10,10,14,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14)}
.ba-tag-hi{color:#08131a;background:linear-gradient(180deg,#bfe9ff,#8fb8f0);border-color:transparent}
.ba .checker{background-image:linear-gradient(45deg,#2a2a30 25%,transparent 25%),linear-gradient(-45deg,#2a2a30 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a30 75%),linear-gradient(-45deg,transparent 75%,#2a2a30 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
.ba-badge{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;
  font-size:12px;font-weight:500;color:var(--ink-dim);padding:9px 16px;border-radius:999px}

/* ---------- closing CTA band ---------- */
.closing{text-align:center;padding:48px 26px;margin-top:38px}
.closing h2{font-family:var(--display);font-size:clamp(24px,3.2vw,34px);font-weight:700;letter-spacing:-.02em;margin:0 0 10px;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.72));-webkit-background-clip:text;background-clip:text;color:transparent}
.closing p{margin:0 0 24px;color:var(--ink-dim);font-size:15px}

/* ---------- PhotoRoom-style centered hero + collage ---------- */
.lp{position:relative;width:min(1140px,100vw - 40px);margin:8px 0 44px;margin-left:50%;transform:translateX(-50%);min-height:580px;display:flex;align-items:center;justify-content:center}
.lp-center{position:relative;z-index:3;text-align:center;max-width:600px;margin:0 auto;padding:20px}
.lp-center .pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:500;color:var(--ink-dim);
  padding:6px 13px;border-radius:var(--r-pill);background:rgba(15,15,22,.55);
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.22);margin-bottom:22px}
.lp-center .pill i{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px 1px rgba(94,227,155,.8)}
.lp-center h1{font-family:var(--display);font-size:clamp(40px,6vw,68px);line-height:1.0;margin:0 0 20px;font-weight:700;letter-spacing:-.04em;
  background:linear-gradient(118deg,#eaf3ff 6%,#a9cdff 34%,#cdb6ff 62%,#ffe4a8 98%);
  -webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 40px rgba(130,170,255,.4))}
.lp-center>p{margin:0 auto 26px;color:var(--ink-dim);font-size:17px;line-height:1.55;max-width:46ch}
.lp-center .hero-cta{justify-content:center}
.lp-center .hero-trust{margin-top:22px}

/* collage frame */
.lp-frame{position:absolute;inset:0;z-index:1;pointer-events:none}
.lpf{position:absolute;margin:0;width:172px;border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 26px 60px -26px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .4s cubic-bezier(.4,0,.2,1)}
.lpf img{display:block;width:100%;aspect-ratio:.74;object-fit:cover}
.lpf-tag{position:absolute;top:8px;left:8px;font-size:10px;font-weight:600;color:var(--ink);
  padding:3px 8px;border-radius:999px;background:rgba(10,10,14,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14)}
.lpf.checker{background-image:linear-gradient(45deg,#2a2a30 25%,transparent 25%),linear-gradient(-45deg,#2a2a30 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a30 75%),linear-gradient(-45deg,transparent 75%,#2a2a30 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}

/* below ~1080 the corner tiles would collide with text -> hide, show a strip */
@media (max-width:1080px){
  .lp{flex-direction:column;min-height:0}
  .lp-center{order:-1}
  .lp-frame{position:static;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:32px;width:100%}
  .lpf{position:relative;width:auto;rotate:none!important;animation:none;border-radius:14px}
  .lpf img{aspect-ratio:.8}
}
@media (max-width:560px){ .lp-frame{grid-template-columns:repeat(2,1fr)} }

/* ================= LANDING SECTIONS ================= */
/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* hero tiles: use individual rotate/translate so they can float */
.lpf{animation:floaty 7s ease-in-out infinite}
.lpf-1{top:6%;left:0;rotate:-5deg}
.lpf-2{bottom:2%;left:5%;rotate:4deg;animation-delay:-1.7s}
.lpf-3{top:4%;right:0;rotate:5deg;animation-delay:-3.4s}
.lpf-4{bottom:2%;right:5%;rotate:-4deg;animation-delay:-5s}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media (prefers-reduced-motion:reduce){.lpf{animation:none}}

/* section heading */
.sec-head{text-align:center;max-width:640px;margin:0 auto 40px}
.kicker{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:12px}
.sec-head h2{font-family:var(--display);font-size:clamp(28px,3.6vw,42px);line-height:1.08;margin:0;font-weight:700;letter-spacing:-.03em;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head p{margin:14px auto 0;color:var(--ink-dim);font-size:16px;max-width:52ch}
section.block{margin:72px 0}
@media (max-width:640px){section.block{margin:52px 0}}

/* trust strip */
.featbar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0}
.feat{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:var(--r-pill);font-size:13.5px;font-weight:500;color:var(--ink-dim)}
.feat svg{width:17px;height:17px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* cómo funciona - 3 steps */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:760px){.steps3{grid-template-columns:1fr}}
.step{padding:26px}
.step-n{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:16px;color:var(--accent-ink);
  background:linear-gradient(180deg,#bfe9ff,#8fb8f0);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);margin-bottom:16px}
.step h3{font-family:var(--display);margin:0 0 7px;font-size:17px;font-weight:600;letter-spacing:-.01em}
.step p{margin:0;font-size:13.5px;color:var(--ink-dim);line-height:1.55}

/* spotlight (alternating text/visual) */
.spot{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:64px 0}
@media (max-width:800px){.spot{grid-template-columns:1fr;gap:28px}}
.spot-rev .spot-text{order:2}
@media (max-width:800px){.spot-rev .spot-text{order:0}}
.spot-text .kicker{margin-bottom:10px}
.spot-text h2{font-family:var(--display);font-size:clamp(24px,3vw,34px);line-height:1.1;margin:0 0 14px;font-weight:700;letter-spacing:-.025em;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.74));-webkit-background-clip:text;background-clip:text;color:transparent}
.spot-text p{margin:0 0 20px;color:var(--ink-dim);font-size:15.5px;line-height:1.6}
.spot-visual{position:relative}
.spot-card{padding:16px}
/* before/after inside spotlight */
.spot-ba{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.spot-ba figure{margin:0;position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.spot-ba img{display:block;width:100%;aspect-ratio:.8;object-fit:cover}
.spot-ba .tg{position:absolute;top:8px;left:8px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;background:rgba(10,10,14,.6);border:1px solid rgba(255,255,255,.14);color:var(--ink)}
.chk{background-image:linear-gradient(45deg,#2a2a30 25%,transparent 25%),linear-gradient(-45deg,#2a2a30 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a30 75%),linear-gradient(-45deg,transparent 75%,#2a2a30 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
/* faux EXIF readout */
.exif{font-family:var(--mono);font-size:12.5px}
.exif .er{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.exif .er:last-child{border:0}
.exif .ek{color:var(--ink-faint)} .exif .ev{color:var(--ink)} .exif .ev.hot{color:var(--warn)}
.exif .map-img{display:block;width:100%;height:130px;object-fit:cover;margin-top:14px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}
/* mini batch grid */
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mini img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1)}
.mini .more{grid-column:span 3;text-align:center;font-size:12px;color:var(--ink-dim);padding-top:4px}

/* why / privacy */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:760px){.why-grid{grid-template-columns:1fr}}
.why-card{padding:24px}
.why-card .wi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.16)}
.why-card .wi svg{width:21px;height:21px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.why-card h3{font-family:var(--display);margin:0 0 7px;font-size:16px;font-weight:600}
.why-card p{margin:0;font-size:13.5px;color:var(--ink-dim);line-height:1.55}

/* ---------- interactive before/after slider ---------- */
.ba-slider{position:relative;width:100%;max-width:420px;margin:0 auto;aspect-ratio:.8;border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 26px 60px -26px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.25);cursor:ew-resize;user-select:none;touch-action:none}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-slider .ba-after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.ba-slider .after-bg{position:absolute;inset:0;background-image:linear-gradient(45deg,#2a2a30 25%,transparent 25%),linear-gradient(-45deg,#2a2a30 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a30 75%),linear-gradient(-45deg,transparent 75%,#2a2a30 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.ba-handle{position:absolute;top:0;bottom:0;width:3px;background:rgba(255,255,255,.9);box-shadow:0 0 12px rgba(0,0,0,.5);left:50%;transform:translateX(-50%);pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;
  background:rgba(15,15,22,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.7);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 6 4 10l5 4M15 6l5 4-5 4'/></svg>");background-repeat:no-repeat;background-position:center}
.ba-lbl{position:absolute;bottom:10px;font-size:11px;font-weight:600;color:#fff;padding:4px 10px;border-radius:999px;background:rgba(10,10,14,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;z-index:3}
.ba-lbl.l{left:10px} .ba-lbl.r{right:10px}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:0 auto}
.faq-item{border-radius:var(--r-md);margin-bottom:10px;overflow:hidden}
.faq-q{font-family:var(--display);width:100%;text-align:left;background:transparent;border:0;color:var(--ink);font:inherit;font-weight:600;font-size:15.5px;
  padding:18px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-q .fx{flex:none;width:20px;height:20px;transition:transform .25s;color:var(--ink-dim)}
.faq-item.open .faq-q .fx{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--ink-dim);font-size:14px;line-height:1.6}
.faq-a div{padding:0 20px 18px}
.faq-item.open .faq-a{max-height:260px}

/* ---------- site credit ---------- */
.site-credit{text-align:center;margin:36px 0 8px;font-size:12.5px;color:var(--ink-faint)}
.site-credit a{color:var(--ink-dim);text-decoration:none;font-weight:600;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.site-credit a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- nav móvil: hamburguesa + acordeón ---------- */
.nvburger{display:none}
@media (max-width:760px){
  .topnav{position:relative;flex-wrap:nowrap;align-items:center}
  .nvburger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;
    border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--ink);cursor:pointer;margin-left:auto;flex:none}
  .nvburger svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .nvburger[aria-expanded="true"]{background:rgba(122,184,255,.16);border-color:rgba(122,184,255,.4);color:var(--accent)}
  .topnav .links{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:70;width:auto;
    flex-direction:column;align-items:stretch;gap:2px;padding:10px;border-radius:18px;
    background:rgba(17,17,25,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.13);box-shadow:0 24px 60px rgba(0,0,0,.6);max-height:72vh;overflow-y:auto}
  .topnav.open .links{display:flex}
  .topnav .cat{width:100%;position:static}
  .topnav .cat>button{width:100%;justify-content:space-between;font-size:15px;padding:12px}
  .topnav .cat .menu{position:static;display:none;opacity:1;visibility:visible;transform:none;width:auto;min-width:0;
    background:transparent;border:0;box-shadow:none;padding:0 0 6px;margin:0;pointer-events:auto}
  .topnav .cat.open .menu{display:block}
}
/* ---------- hero más compacto en mobile ---------- */
@media (max-width:640px){
  .lp-center .hero-cta{gap:10px;flex-wrap:nowrap}
  .lp-center .hero-cta .btn-primary,.lp-center .hero-cta .btn-secondary{flex:1 1 0;min-width:0;padding:0 14px;font-size:14.5px;text-align:center;justify-content:center}
  .site-credit{margin:26px 0 6px}
}
