:root {
  /* Apple HIG dark */
  --bg: #000;
  --bg2: #1C1C1E;
  --bg3: #2C2C2E;
  --label: #fff;
  --label2: rgba(235,235,245,.6);
  --label3: rgba(235,235,245,.3);
  --sep: rgba(84,84,88,.65);
  --gray: #8E8E93;

  /* JurisPro accent */
  --gold: #D4A853;
  --gold-a: rgba(212,168,83,.15);
  --gold-g: rgba(212,168,83,.30);

  /* System */
  --green: #30D158;
  --red: #FF453A;
  --blue: #0A84FF;

  /*
   TRUE macOS GLASS
   Much more transparent than before.
   The wallpaper bleeds through heavily.
  */
  --glass:    rgba(30, 30, 32, 0.35);
  --glass-s:  rgba(20, 20, 22, 0.50);
  --glass-b:  rgba(255,255,255, 0.12);
  --glass-b2: rgba(255,255,255, 0.20);

  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --mw: 1080px;
  --pad: clamp(20px,5vw,48px);
  --gap: clamp(100px,12vh,160px);
  --r: 16px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--label);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* SONOMA WALLPAPER — Vibrant animated mesh */
.wallpaper {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background:
    radial-gradient(ellipse 120% 80% at 50% 50%, #1a0a2e 0%, #000 100%);
}

.wallpaper .blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  will-change: transform;
}

.blob-1 {
  width: 55vw; height: 55vw;
  max-width: 700px; max-height: 700px;
  top: -15%; left: -10%;
  background: radial-gradient(circle, #6b2fa0 0%, #3a1078 40%, transparent 70%);
  opacity: 0.8;
  animation: b1 20s ease-in-out infinite;
}
.blob-2 {
  width: 50vw; height: 50vw;
  max-width: 600px; max-height: 600px;
  top: 20%; right: -12%;
  background: radial-gradient(circle, #e8722a 0%, #c44a18 35%, transparent 70%);
  opacity: 0.65;
  animation: b2 24s ease-in-out infinite;
}
.blob-3 {
  width: 45vw; height: 45vw;
  max-width: 550px; max-height: 550px;
  bottom: -10%; left: 15%;
  background: radial-gradient(circle, #0e9aa7 0%, #066d6f 40%, transparent 70%);
  opacity: 0.7;
  animation: b3 22s ease-in-out infinite;
}
.blob-4 {
  width: 35vw; height: 35vw;
  max-width: 400px; max-height: 400px;
  bottom: 10%; right: 10%;
  background: radial-gradient(circle, #d63384 0%, #8b1a5c 40%, transparent 70%);
  opacity: 0.45;
  animation: b4 28s ease-in-out infinite;
}
.blob-5 {
  width: 30vw; height: 30vw;
  max-width: 380px; max-height: 380px;
  top: 5%; right: 20%;
  background: radial-gradient(circle, #f0c040 0%, #d4a020 35%, transparent 70%);
  opacity: 0.35;
  animation: b5 18s ease-in-out infinite;
}

@keyframes b1 { 0%,100%{transform:translate(0,0) scale(1)} 40%{transform:translate(60px,80px) scale(1.08)} 75%{transform:translate(-30px,50px) scale(.95)} }
@keyframes b2 { 0%,100%{transform:translate(0,0) scale(1)} 35%{transform:translate(-55px,-40px) scale(1.1)} 70%{transform:translate(30px,60px) scale(.92)} }
@keyframes b3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(50px,-35px) scale(1.07)} }
@keyframes b4 { 0%,100%{transform:translate(0,0)} 45%{transform:translate(-40px,30px) scale(1.1)} 80%{transform:translate(20px,-20px) scale(.93)} }
@keyframes b5 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(30px,40px) scale(1.12)} }

.wallpaper::after {
  content:''; position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.018'/%3E%3C/svg%3E");
  background-size:256px;
}

.pg { position:relative; z-index:1 }
.w { max-width:var(--mw); margin:0 auto; padding:0 var(--pad) }

h1,h2 { font-family:var(--serif); font-weight:400; line-height:1.15 }
h1 { font-size:clamp(2.5rem,5.5vw,4.2rem) }
h2 { font-size:clamp(1.8rem,3.5vw,2.7rem) }
.ey { font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px }
.sub { font-size:clamp(1rem,1.6vw,1.12rem);font-weight:300;color:var(--label2);max-width:560px;line-height:1.8 }

.gl {
  position: relative;
  background: var(--glass);
  backdrop-filter: blur(40px) saturate(1.8) brightness(1.1);
  -webkit-backdrop-filter: blur(40px) saturate(1.8) brightness(1.1);
  border: 0.5px solid var(--glass-b);
  border-radius: var(--r);
  transition: border-color .35s, transform .35s, box-shadow .35s;
}
.gl::before {
  content:''; position:absolute; top:0; left:16px; right:16px; height:0.5px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  pointer-events:none;
}
.gl:hover {
  border-color: var(--glass-b2);
  transform: translateY(-4px);
  box-shadow: 0 24px 64px rgba(0,0,0,0.4);
}

.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 32px;border-radius:12px;
  font-family:var(--sans);font-size:.93rem;font-weight:600;
  text-decoration:none;border:none;cursor:pointer;
  transition:transform .25s,box-shadow .3s;
}
.btn:hover { transform:translateY(-2px) }

.btn-a {
  background:linear-gradient(135deg,var(--gold),#c49a3d);
  color:#000; box-shadow:0 4px 16px var(--gold-a);
}
.btn-a:hover { box-shadow:0 8px 36px var(--gold-g) }

.btn-g {
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);
  color:var(--label);border:0.5px solid var(--glass-b);
}
.btn-g:hover { border-color:var(--gold);color:var(--gold) }

/* NAVBAR */
.nb {
  position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:100;
  width:min(var(--mw),calc(100% - 24px));
  padding:10px 22px;
  background:rgba(0,0,0,0.25);
  backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);
  border:0.5px solid rgba(255,255,255,0.1);
  border-radius:16px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .3s;
}
.nb.s { background:rgba(0,0,0,0.55) }

.lo { font-family:var(--serif);font-size:1.3rem;color:var(--label);text-decoration:none;display:flex;align-items:center;gap:9px }
.lo-i { width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#c49a3d);display:grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:.75rem;color:#000 }
.nl { display:flex;gap:2px;list-style:none }
.nl a { color:var(--label2);text-decoration:none;font-size:.84rem;font-weight:500;padding:6px 13px;border-radius:8px;transition:color .2s,background .2s }
.nl a:hover { color:var(--label);background:rgba(255,255,255,0.08) }
.nr { display:flex;gap:8px }
.nr .btn { padding:8px 18px;font-size:.82rem }
.bu { display:none;background:none;border:none;color:var(--label);font-size:1.4rem;cursor:pointer }
@media(max-width:840px) {
  .nl,.nr{display:none}.bu{display:block}
  .nl.open{display:flex;flex-direction:column;position:absolute;top:calc(100% + 8px);left:0;right:0;background:rgba(0,0,0,.65);backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);border:0.5px solid var(--glass-b);border-radius:14px;padding:12px;gap:2px}
}

/* HERO */
.hero { min-height:100vh;display:flex;align-items:center;padding-top:80px;text-align:center }
.hb {
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 16px 5px 9px;border-radius:100px;
  background:rgba(0,0,0,0.2);
  backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);
  border:0.5px solid rgba(255,255,255,0.1);
  font-size:.78rem;font-weight:500;color:var(--gold);margin-bottom:32px;
}
.hb .dot { width:7px;height:7px;border-radius:50%;background:var(--green);animation:bk 2.5s infinite }
@keyframes bk { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(48,209,88,.4)} 50%{opacity:.5;box-shadow:0 0 0 6px rgba(48,209,88,0)} }

.hero h1 em { font-style:italic;color:var(--gold) }
.hero .sub { margin:0 auto 44px;max-width:620px;font-size:clamp(1.05rem,1.7vw,1.18rem) }
.hero-c { display:flex;gap:14px;justify-content:center;flex-wrap:wrap }
.ts {
  margin-top:72px;padding-top:36px;border-top:0.5px solid rgba(255,255,255,0.1);
  display:flex;justify-content:center;align-items:center;gap:clamp(16px,4vw,44px);flex-wrap:wrap;
}
.ts span { font-size:.82rem;color:var(--label3);font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:6px }
.ts .ic { width:28px;height:28px;border-radius:7px;background:rgba(0,0,0,0.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:grid;place-items:center;font-size:.85rem }

/* DASHBOARD */
.pv { padding:0 0 var(--gap) }
.pv-l { text-align:center;margin-bottom:32px }
.pv-l p { font-size:.88rem;color:var(--label3);margin-top:6px }

.mac {
  max-width:1120px; margin:0 auto;
  border-radius:12px; overflow:hidden;
  border:0.5px solid rgba(255,255,255,0.15);
  background:rgba(30, 30, 32, 0.38);
  backdrop-filter:blur(50px) saturate(2.0) brightness(1.05);
  -webkit-backdrop-filter:blur(50px) saturate(2.0) brightness(1.05);
  box-shadow:
    0 1px 3px rgba(0,0,0,0.3),
    0 8px 24px rgba(0,0,0,0.35),
    0 40px 80px rgba(0,0,0,0.35),
    inset 0 0.5px 0 rgba(255,255,255,0.12);
}

.mt {
  display:flex;align-items:center;padding:12px 16px;
  background:rgba(44,44,46,0.4);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:0.5px solid rgba(255,255,255,0.08);
  position:relative;
}
.md { display:flex;gap:8px }
.md span { width:12px;height:12px;border-radius:50%;display:block;position:relative }
.md span::after { content:'';position:absolute;inset:0.5px;border-radius:50% }
.md .c { background:#FF5F57 } .md .c::after { background:radial-gradient(circle at 35% 35%,#FF9A8F,#FF5F57) }
.md .m { background:#FEBC2E } .md .m::after { background:radial-gradient(circle at 35% 35%,#FFD669,#FEBC2E) }
.md .f { background:#28C840 } .md .f::after { background:radial-gradient(circle at 35% 35%,#71F28D,#28C840) }
.mt-t { position:absolute;left:50%;transform:translateX(-50%);font-size:.74rem;font-weight:500;color:var(--label3);display:flex;align-items:center;gap:5px }
.mt-t .lk { color:var(--green);font-size:.68rem }

.dg { display:grid;grid-template-columns:210px 1fr 260px;min-height:465px;font-size:.77rem }

.ds {
  background:rgba(0,0,0,0.15);
  border-right:0.5px solid rgba(255,255,255,0.06);
  padding:14px 10px;display:flex;flex-direction:column;gap:2px;
}
.ds-l { display:flex;align-items:center;gap:8px;padding:4px 8px 13px;border-bottom:0.5px solid rgba(255,255,255,0.06);margin-bottom:8px }
.ds-li { width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,var(--gold),#c49a3d);display:grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:.62rem;color:#000 }
.ds-l span { font-family:var(--serif);font-size:.9rem }
.ds-s { display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.06);border:0.5px solid rgba(255,255,255,0.08);border-radius:7px;padding:6px 10px;margin-bottom:10px;color:var(--label3);font-size:.7rem }
.ds-s .k { margin-left:auto;background:rgba(255,255,255,0.08);padding:1px 6px;border-radius:4px;font-size:.6rem }
.ds-lb { font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--gray);padding:10px 8px 4px }
.di { display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:7px;color:var(--label2);cursor:default;transition:background .15s }
.di:hover { background:rgba(255,255,255,0.06) }
.di.ac { background:rgba(212,168,83,.18);color:var(--gold) }
.di .bg { margin-left:auto;background:var(--red);color:#fff;font-size:.55rem;font-weight:700;padding:1px 6px;border-radius:10px }
.ds-u { margin-top:auto;display:flex;align-items:center;gap:8px;padding:10px 8px;border-top:0.5px solid rgba(255,255,255,0.06) }
.ds-ua { width:26px;height:26px;border-radius:6px;background:var(--gold-a);display:grid;place-items:center;font-size:.58rem;font-weight:700;color:var(--gold) }
.ds-un { color:var(--label2);font-size:.68rem }

.dm { padding:18px 20px;display:flex;flex-direction:column;gap:13px }
.dm-g { display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px }
.dm-g h2 { font-family:var(--sans);font-size:1.02rem;font-weight:600;color:var(--label) }
.dm-g .dd { font-size:.7rem;color:var(--label3) }
.dm-sy { display:flex;align-items:center;gap:5px;background:rgba(48,209,88,.1);border:0.5px solid rgba(48,209,88,.2);border-radius:100px;padding:4px 12px;font-size:.68rem;color:var(--green);white-space:nowrap }
.dm-sy .sd { width:6px;height:6px;border-radius:50%;background:var(--green) }
.dm-a { display:flex;gap:6px;flex-wrap:wrap }
.dm-ab { display:flex;align-items:center;gap:4px;padding:5px 11px;border-radius:7px;border:0.5px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.05);color:var(--label2);font-size:.68rem;cursor:default;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px) }

.dn { background:rgba(255,255,255,0.03);border:0.5px solid rgba(255,255,255,0.08);border-radius:11px;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px) }
.dn-h { display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:0.5px solid rgba(255,255,255,0.06) }
.dn-h .t { display:flex;align-items:center;gap:7px;font-weight:600;color:var(--label) }
.dn-h .ct { background:var(--red);color:#fff;font-size:.55rem;font-weight:700;width:17px;height:17px;border-radius:50%;display:grid;place-items:center }
.dn-h .v { color:var(--gold);font-size:.68rem }
.n2 { display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:0.5px solid rgba(255,255,255,0.04);transition:background .15s }
.n2:last-child { border-bottom:none }
.n2:hover { background:rgba(255,255,255,0.03) }
.nb2 { width:33px;height:17px;border-radius:4px;display:grid;place-items:center;font-size:.52rem;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px }
.nb2.p { background:var(--gold);color:#000 }
.ni { flex:1;min-width:0 }
.nc { font-size:.66rem;color:var(--label3) }
.nca { color:var(--gold);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.nde { font-size:.66rem;color:var(--label2);text-transform:uppercase;letter-spacing:.02em }
.nda { font-size:.64rem;color:var(--label3);white-space:nowrap;flex-shrink:0 }

.dr { background:rgba(0,0,0,0.15);border-left:0.5px solid rgba(255,255,255,0.06);padding:14px;display:flex;flex-direction:column;gap:13px }
.wb { background:rgba(255,255,255,0.03);border:0.5px solid rgba(255,255,255,0.08);border-radius:10px;overflow:hidden }
.wb-t { display:flex;align-items:center;gap:6px;padding:9px 11px;font-size:.68rem;font-weight:600;color:var(--label);border-bottom:0.5px solid rgba(255,255,255,0.06) }
.wb-r { display:flex;justify-content:space-between;align-items:center;padding:6px 11px;border-bottom:0.5px solid rgba(255,255,255,0.04) }
.wb-r:last-child { border-bottom:none }
.wb-r .rl { font-size:.68rem;color:var(--label2) }
.wb-r .rs { font-size:.58rem;color:var(--label3) }
.wb-r .rv2 { font-size:.78rem;font-weight:600 }
.wa2 { background:rgba(255,69,58,.07);border:0.5px solid rgba(255,69,58,.18);border-radius:10px;padding:10px }
.wa2-b { display:inline-flex;align-items:center;gap:5px;font-size:.64rem;font-weight:700;color:var(--red);margin-bottom:5px }
.wa2-b .ad { width:7px;height:7px;border-radius:50%;background:var(--red) }
.wa2-c { font-size:.74rem;font-weight:600;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.wa2-m { font-size:.64rem;color:var(--label3);margin-top:2px }
.wa2-t { font-size:.66rem;font-weight:700;color:var(--gold);margin-top:3px }
.wt .wb-t .nn { margin-left:auto;font-size:.6rem;color:var(--gold);background:var(--gold-a);padding:2px 7px;border-radius:4px }

@media(max-width:900px) { .dg{grid-template-columns:1fr} .ds,.dr{display:none} }

/* SECTIONS */
.sec { padding:var(--gap) 0 }
.sec-h { text-align:center;margin-bottom:64px }
.sec-h .sub { margin:12px auto 0 }

.bf-g { display:grid;grid-template-columns:repeat(3,1fr);gap:24px }
.bfc { position:relative;padding:clamp(28px,3vw,40px) }
.bfi { width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:20px }
.bfi.v { background:var(--gold-a) } .bfi.a { background:rgba(48,209,88,.12) } .bfi.s { background:rgba(10,132,255,.12) }
.bfc h3 { font-family:var(--sans);font-weight:600;font-size:1.08rem;margin-bottom:10px }
.bfc p { font-size:.92rem;color:var(--label2);line-height:1.75 }
.bfc .lm { display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:.84rem;font-weight:600;color:var(--gold);text-decoration:none;transition:gap .2s }
.bfc .lm:hover { gap:10px }
@media(max-width:768px) { .bf-g{grid-template-columns:1fr} }

.pf-g { display:grid;grid-template-columns:repeat(3,1fr);gap:24px }
.pfc { position:relative;padding:32px;display:flex;flex-direction:column }
.pf-s { color:var(--gold);font-size:.88rem;letter-spacing:3px;margin-bottom:16px }
.pf-q { font-size:.93rem;color:var(--label2);line-height:1.75;font-style:italic;flex:1;margin-bottom:20px }
.pf-w { display:flex;align-items:center;gap:12px;padding-top:16px;border-top:0.5px solid rgba(255,255,255,0.08) }
.pf-a { width:40px;height:40px;border-radius:10px;background:var(--gold-a);display:grid;place-items:center;font-weight:700;font-size:.85rem;color:var(--gold) }
.pf-n { font-weight:600;font-size:.86rem } .pf-r { font-size:.76rem;color:var(--gray) }
@media(max-width:768px) { .pf-g{grid-template-columns:1fr} }

/* Pricing */
.pr-g { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto }
.pc { position:relative;padding:36px;text-align:center }
.pc.pop { border-color:rgba(212,168,83,.4);background:rgba(212,168,83,.06) }
.pc.pop::after { content:'Mas elegido';position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--gold);color:#000;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 16px;border-radius:100px }
.pc-n { font-size:.76rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:6px }
.pc-p { font-family:var(--serif);font-size:2.5rem;margin-bottom:2px }
.pc-p .cu { font-size:1rem;color:var(--gray);vertical-align:super } .pc-p .pe { font-size:.85rem;color:var(--gray);font-family:var(--sans) }
.pc-no { font-size:.82rem;color:var(--gray);margin-bottom:24px }
.pc-l { list-style:none;text-align:left;display:flex;flex-direction:column;gap:10px;margin-bottom:28px }
.pc-l li { font-size:.88rem;color:var(--label2);display:flex;align-items:flex-start;gap:8px }
.pc-l li::before { content:'✓';color:var(--green);font-weight:700;flex-shrink:0 }
.pc .btn { width:100% }
.pr-e { text-align:center;margin-top:28px;font-size:.88rem;color:var(--gray) }
.pr-e a { color:var(--gold);text-decoration:none }
@media(max-width:768px) { .pr-g{grid-template-columns:1fr;max-width:380px;margin:0 auto} }

/* Support */
.sp { padding:56px 0 }
.sp .w {
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  background:var(--glass);backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);
  border:0.5px solid var(--glass-b);border-radius:var(--r);padding:40px;
}
.sp h2 { font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:6px }
.sp h2 em { color:var(--gold) }
.sp p { color:var(--label2);font-size:.95rem;max-width:480px }
.wab { display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:12px;background:var(--green);color:#000;font-size:.98rem;font-weight:700;text-decoration:none;font-family:var(--sans);transition:transform .2s,box-shadow .3s;white-space:nowrap }
.wab:hover { transform:translateY(-2px);box-shadow:0 8px 24px rgba(48,209,88,.25) }

/* Final CTA */
.fc { padding:var(--gap) 0;text-align:center }
.fc h2 { margin-bottom:14px } .fc h2 em { color:var(--gold) }
.fc p { color:var(--label2);font-size:1.05rem;margin-bottom:36px }
.fc .bg2 { display:flex;gap:14px;justify-content:center;flex-wrap:wrap }

/* Footer */
footer { padding:40px 0;border-top:0.5px solid rgba(255,255,255,0.06) }
.fr { display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px }
.fc2 { font-size:.78rem;color:var(--gray) }
.fl { display:flex;gap:20px;flex-wrap:wrap }
.fl a { font-size:.78rem;color:var(--gray);text-decoration:none;transition:color .2s }
.fl a:hover { color:var(--gold) }

/* Reveal */
.rv { opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease }
.rv.v { opacity:1;transform:none }

/* ── FEATURE PAGE STYLES ── */
.page-hero { padding-top: 140px; padding-bottom: var(--gap); text-align: center }
.page-hero h1 { margin-bottom: 20px }
.page-hero .sub { margin: 0 auto 40px; max-width: 660px }

/* Problem section */
.problem { padding: 60px 0; text-align: center }
.problem-box {
  max-width: 740px; margin: 0 auto; padding: 40px;
  background: rgba(255,69,58,.04); border: 0.5px solid rgba(255,69,58,.15);
  border-radius: var(--r); font-size: 1.05rem; color: var(--label2); line-height: 1.85;
  font-style: italic;
}

/* Feature grid */
.feat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px }
.feat-card { padding: clamp(28px,3vw,40px) }
.feat-card .feat-icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; margin-bottom: 18px; background: var(--gold-a) }
.feat-card h3 { font-family: var(--sans); font-weight: 600; font-size: 1.05rem; margin-bottom: 10px }
.feat-card p { font-size: .9rem; color: var(--label2); line-height: 1.75 }
.feat-card ul { list-style: none; margin-top: 12px; display: flex; flex-direction: column; gap: 6px }
.feat-card ul li { font-size: .88rem; color: var(--label2); display: flex; align-items: flex-start; gap: 8px }
.feat-card ul li::before { content: '\2713'; color: var(--green); font-weight: 700; flex-shrink: 0 }
@media(max-width:768px) { .feat-grid { grid-template-columns: 1fr } }

/* Steps */
.steps { counter-reset: step }
.step { display: flex; gap: 24px; align-items: flex-start; margin-bottom: 32px }
.step::before { counter-increment: step; content: counter(step); width: 40px; height: 40px; border-radius: 12px; background: var(--gold-a); color: var(--gold); display: grid; place-items: center; font-weight: 700; font-size: 1.1rem; flex-shrink: 0 }
.step-content h3 { font-family: var(--sans); font-weight: 600; font-size: 1rem; margin-bottom: 6px }
.step-content p { font-size: .9rem; color: var(--label2); line-height: 1.7 }

/* Category grid (funciones.html) */
.cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px }
.cat-card { padding: 32px }
.cat-card .cat-icon { font-size: 1.5rem; margin-bottom: 14px }
.cat-card h3 { font-family: var(--sans); font-weight: 600; font-size: 1.1rem; margin-bottom: 12px; color: var(--gold) }
.cat-card ul { list-style: none; display: flex; flex-direction: column; gap: 8px }
.cat-card ul li { font-size: .88rem; color: var(--label2); display: flex; align-items: flex-start; gap: 8px }
.cat-card ul li::before { content: '\2192'; color: var(--gold); flex-shrink: 0 }
.cat-card .cat-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: .84rem; font-weight: 600; color: var(--gold); text-decoration: none; transition: gap .2s }
.cat-card .cat-link:hover { gap: 10px }
@media(max-width:768px) { .cat-grid { grid-template-columns: 1fr } }

/* Pricing page extras */
.pr-g-6 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1080px; margin: 0 auto }
@media(max-width:900px) { .pr-g-6 { grid-template-columns: 1fr; max-width: 380px } }

/* Comparison table */
.cmp-table { width: 100%; border-collapse: collapse; margin: 40px 0; font-size: .82rem }
.cmp-table th, .cmp-table td { padding: 10px 14px; border-bottom: 0.5px solid rgba(255,255,255,.06); text-align: left }
.cmp-table th { color: var(--gold); font-weight: 600; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em }
.cmp-table td { color: var(--label2) }
.cmp-table tr:hover td { background: rgba(255,255,255,.02) }
.cmp-table .check { color: var(--green) }
.cmp-table .cross { color: var(--gray) }

/* Legal pages */
.legal { padding-top: 140px; padding-bottom: var(--gap) }
.legal h1 { font-size: clamp(1.8rem,3vw,2.5rem); margin-bottom: 8px }
.legal .updated { font-size: .82rem; color: var(--gray); margin-bottom: 40px }
.legal h2 { font-family: var(--sans); font-size: 1.1rem; font-weight: 600; color: var(--gold); margin: 40px 0 12px }
.legal h3 { font-family: var(--sans); font-size: .95rem; font-weight: 600; margin: 24px 0 8px }
.legal p, .legal li { font-size: .9rem; color: var(--label2); line-height: 1.85; margin-bottom: 12px }
.legal ul, .legal ol { padding-left: 24px }
.legal a { color: var(--gold); text-decoration: none }
.legal a:hover { text-decoration: underline }

/* FAQ section */
.faq { max-width: 740px; margin: 0 auto }
.faq-item { border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 20px 0 }
.faq-q { font-weight: 600; font-size: .95rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center }
.faq-q::after { content: '+'; color: var(--gold); font-size: 1.2rem; flex-shrink: 0 }
.faq-a { font-size: .88rem; color: var(--label2); line-height: 1.75; max-height: 0; overflow: hidden; transition: max-height .3s, padding .3s }
.faq-item.open .faq-a { max-height: 300px; padding-top: 12px }
.faq-item.open .faq-q::after { content: '\2212' }

/* 404 */
.e404 { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center }
.e404 h1 { font-size: clamp(3rem,8vw,6rem); color: var(--gold); margin-bottom: 12px }
.e404 p { font-size: 1.1rem; color: var(--label2); margin-bottom: 32px }
