:root { --ink:#171717; --paper:#f2f1ed; --accent:#79e0cd; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; min-height:100svh; color:var(--ink); background:#d9d8d3; font-family:Archivo,"Segoe UI",Arial,sans-serif; transition:background .45s,color .45s; }
a { color:inherit; }
button { color:inherit; font:inherit; }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.back { position:fixed; z-index:20; top:1.4rem; left:1.5rem; display:flex; gap:.5rem; align-items:center; color:inherit; text-decoration:none; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; mix-blend-mode:difference; filter:invert(1); }
.theme-switcher { position:fixed; z-index:20; top:1rem; right:1rem; }
.theme-switcher>button { min-width:120px; display:flex; justify-content:space-between; border:1px solid currentColor; padding:.7rem .85rem; background:rgba(255,255,255,.85); color:#111; cursor:pointer; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; backdrop-filter:blur(10px); }
.theme-switcher nav { width:180px; position:absolute; top:calc(100% + .4rem); right:0; display:grid; padding:.45rem; background:#fff; color:#111; box-shadow:0 12px 40px rgba(0,0,0,.18); opacity:0; transform:translateY(-8px); pointer-events:none; transition:.2s; }
.theme-switcher.is-open nav { opacity:1; transform:none; pointer-events:auto; }
.theme-switcher nav a { padding:.65rem; text-decoration:none; font-size:.72rem; }
.theme-switcher nav a:hover { background:#eee; }
.stage { min-height:100svh; padding:clamp(4.5rem,7vw,6rem) clamp(1rem,6vw,6rem) clamp(1rem,6vw,5rem); display:grid; place-items:center; }
.profile-card { width:min(1120px,100%); min-height:min(760px,calc(100svh - 8rem)); position:relative; display:grid; overflow:hidden; background:var(--paper); box-shadow:0 30px 80px rgba(0,0,0,.16); opacity:0; transform:translateY(18px); transition:opacity .65s,transform .65s; }
.ready .profile-card { opacity:1; transform:none; }
.card-head { grid-area:head; }
.portrait { grid-area:portrait; position:relative; overflow:hidden; min-height:280px; }
.portrait img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.image-tag { position:absolute; font-size:.6rem; text-transform:uppercase; letter-spacing:.12em; }
.identity { grid-area:identity; }
.bio { grid-area:bio; }
.actions { grid-area:actions; }
.socials { grid-area:socials; }
.card-foot { grid-area:foot; }
.mark { font-weight:800; text-decoration:none; letter-spacing:-.06em; }
.mark i { color:var(--accent); font-style:normal; }
.availability { display:flex; align-items:center; gap:.5rem; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.availability i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent),transparent 75%); }
.edition { font-size:.65rem; letter-spacing:.12em; }
.motion-badge { margin-left:auto; margin-right:1.4rem; font-size:.58rem; text-transform:uppercase; letter-spacing:.12em; opacity:.6; }
.motion-badge b { color:var(--accent); font-weight:700; }
.overline,.location { font-size:.65rem; text-transform:uppercase; letter-spacing:.15em; }
.identity h1 { margin:0; font-weight:400; letter-spacing:-.07em; line-height:.88; }
.role { margin:.7rem 0 0; }
.bio>p { margin:0; line-height:1.65; }
.actions a,.actions button { text-decoration:none; border:0; background:none; cursor:pointer; }
.actions span { opacity:.5; }
.socials a { text-decoration:none; }
.card-foot { display:flex; align-items:center; justify-content:space-between; }
.card-foot p { margin:0; }
.decor { position:absolute; pointer-events:none; z-index:3; }
.corporate-only { display:none; }
.corporate-qr { grid-area:qr; }
.profile-card :is(.decor,.decor span,.portrait::before,.identity::after,.mark) { animation-play-state:paused; }
.ready .profile-card :is(.decor,.decor span,.portrait::before,.identity::after,.mark) { animation-play-state:running; }
.toast { position:fixed; z-index:30; left:50%; bottom:1.4rem; transform:translate(-50%,20px); opacity:0; padding:.8rem 1rem; border-radius:99px; color:white; background:#111; font-size:.75rem; transition:.2s; }
.toast.show { opacity:1; transform:translate(-50%,0); }

/* Dock fijo de acciones + sheet QR (solo clientes/personales) */
.dock { position:fixed; z-index:25; left:50%; bottom:0; transform:translate(-50%,110%); width:min(460px,100%); display:flex; gap:10px; padding:14px 18px 28px; background:rgba(255,255,255,.92); backdrop-filter:blur(20px); border-top:1px solid rgba(17,22,28,.08); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.ready .dock { transform:translate(-50%,0); }
.dock #save-contact { flex:1; display:flex; align-items:center; justify-content:center; min-height:56px; border:0; border-radius:16px; color:#fff; font:700 15px Archivo,sans-serif; cursor:pointer; }
.dock #qr-open { display:grid; place-items:center; width:56px; min-height:56px; border:0; border-radius:16px; font:700 11px "IBM Plex Mono",monospace; cursor:pointer; }
.qr-sheet { position:fixed; z-index:40; inset:0; display:flex; align-items:flex-end; background:rgba(11,18,32,.5); backdrop-filter:blur(2px); }
.qr-sheet[hidden] { display:none; }
.qr-sheet>div:not(.sheet-handle) { display:none; }
.qr-sheet .sheet-body { width:100%; padding:26px 22px 34px; background:#fff; border-radius:28px 28px 0 0; text-align:center; }
.sheet-handle { width:44px; height:4px; border-radius:9px; background:rgba(17,22,28,.15); margin:12px auto 0; }
.qr-sheet img { width:200px; height:200px; display:block; margin:22px auto 0; }
.sheet-title { margin:18px 0 0; font:700 16px Archivo,sans-serif; color:#11161c; }
.sheet-sub { margin:6px 0 20px; font:400 13px Archivo,sans-serif; color:#7a828b; }
.qr-sheet #qr-close { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; border:0; border-radius:14px; background:#f0f2f6; font:700 14px Archivo,sans-serif; color:#11161c; cursor:pointer; }
.dock,.qr-sheet { display:none; }
.client-mode .dock,.personal-mode .dock,.client-mode .qr-sheet,.personal-mode .qr-sheet { display:flex; }
.sheet-open { overflow:hidden; }

/* 01 — NFC Smart Card (rediseño móvil) */
[data-theme="editorial"] { --accent:#ff7a3d; }
[data-theme="editorial"] body { background:radial-gradient(circle at 50% 0%,#1c1c22,#0b0b0d 62%); }
[data-theme="editorial"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "bio" "actions" "socials" "foot";
  background:#0e0e11; border:1px solid #232327; border-radius:32px;
  box-shadow:0 40px 100px rgba(0,0,0,.55);
}
[data-theme="editorial"] .card-head { padding:1.2rem 1.5rem; display:flex; align-items:center; justify-content:space-between; color:#eee; }
[data-theme="editorial"] .mark { font-size:1.05rem; color:#eee; }
[data-theme="editorial"] .availability { margin-left:auto; margin-right:1rem; color:#9a9aa2; font-size:.62rem; }
[data-theme="editorial"] .availability i { background:var(--accent); box-shadow:0 0 0 4px rgba(255,122,61,.14); }
[data-theme="editorial"] .motion-badge,[data-theme="editorial"] .edition,[data-theme="editorial"] .image-tag { display:none; }
[data-theme="editorial"] .portrait { min-height:0; width:148px; aspect-ratio:1; margin:1.2rem auto 0; overflow:visible; border-radius:50%; }
[data-theme="editorial"] .portrait::before { content:""; position:absolute; inset:-9px; border:2px solid var(--accent); border-radius:50%; box-shadow:0 0 34px rgba(255,122,61,.45); animation:editorial-scan 3.2s ease-in-out infinite; }
[data-theme="editorial"] .portrait img { border-radius:50%; filter:grayscale(.15) contrast(1.02); }
[data-theme="editorial"] .identity { padding:1.6rem 1.9rem 0; text-align:center; }
[data-theme="editorial"] .overline { color:var(--accent); font-weight:700; }
[data-theme="editorial"] .identity h1 { margin-top:.5rem; font-size:clamp(1.8rem,7vw,2rem); font-weight:800; letter-spacing:-.035em; line-height:1.05; color:#f5f5f5; }
[data-theme="editorial"] .role { margin-top:.55rem; color:#a8a8b0; font-size:.88rem; font-weight:600; }
[data-theme="editorial"] .company { margin-top:.3rem; color:#6f6f78; font-size:.8rem; }
[data-theme="editorial"] .bio { padding:.9rem 1.9rem 0; text-align:center; color:#8c8c94; font-size:.85rem; }
[data-theme="editorial"] .bio .location { display:block; margin-top:.6rem; color:#5f5f66; }
[data-theme="editorial"] .actions { margin:1.5rem 1.6rem 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
[data-theme="editorial"] .actions>* { display:flex; align-items:center; justify-content:center; min-height:54px; padding:.5rem; border:1px solid #2c2c31; border-radius:99px; color:#e4e4e8; font-size:.8rem; font-weight:700; }
[data-theme="editorial"] .actions span { display:none; }
[data-theme="editorial"] #share-button { grid-column:1/-1; order:-1; min-height:58px; border:0; color:#141417; background:var(--accent); font-weight:800; box-shadow:0 14px 34px rgba(255,122,61,.35); }
[data-theme="editorial"] .socials { margin:1.4rem 1.6rem 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
[data-theme="editorial"] .socials a { padding:.55rem 1rem; border:1px solid #2c2c31; border-radius:99px; color:#c9c9cf; font-size:.72rem; font-weight:600; }
[data-theme="editorial"] .socials a:hover { border-color:var(--accent); color:var(--accent); }
[data-theme="editorial"] .card-foot { margin-top:1.5rem; padding:1.1rem 1.5rem; border-top:1px solid #232327; color:#5f5f66; font-size:.7rem; }
[data-theme="editorial"] .decor { display:none; }

/* 02 — Gold Link (rediseño móvil) */
[data-theme="aurora"] { --accent:#d4af37; }
[data-theme="aurora"] body { color:#e9e0c8; background:radial-gradient(circle at 50% -10%,#26210f,#08070a 60%); }
[data-theme="aurora"] .profile-card {
  width:min(420px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "bio" "actions" "socials" "foot";
  background:#0b0a06; border:1px solid #2c2716; border-radius:24px;
  box-shadow:0 40px 100px rgba(0,0,0,.6);
}
[data-theme="aurora"] .card-head { padding:1.2rem 1.5rem; display:flex; align-items:center; justify-content:space-between; color:#a99a68; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; }
[data-theme="aurora"] .mark { color:var(--accent); }
[data-theme="aurora"] .availability,[data-theme="aurora"] .motion-badge,[data-theme="aurora"] .edition,[data-theme="aurora"] .image-tag { display:none; }
[data-theme="aurora"] .portrait { min-height:0; width:104px; aspect-ratio:1; margin:1.6rem auto 0; border-radius:50%; border:1px solid var(--accent); padding:5px; }
[data-theme="aurora"] .portrait img { border-radius:50%; filter:grayscale(1) contrast(1.05) brightness(.95); }
[data-theme="aurora"] .identity { padding:1.4rem 2rem 0; text-align:center; }
[data-theme="aurora"] .overline { color:#8b7d55; letter-spacing:.2em; }
[data-theme="aurora"] .identity h1 { margin-top:.6rem; font:400 clamp(1.4rem,6vw,1.6rem)/1.25 "Cormorant Garamond",Georgia,serif; letter-spacing:.16em; text-transform:uppercase; color:#f3ead0; }
[data-theme="aurora"] .identity h1::after { content:""; display:block; width:52px; height:1px; margin:18px auto 0; background:linear-gradient(90deg,transparent,var(--accent),transparent); }
[data-theme="aurora"] .role { margin-top:.8rem; color:var(--accent); font-size:.7rem; text-transform:uppercase; letter-spacing:.22em; font-weight:600; }
[data-theme="aurora"] .company { color:#8b7d55; font-size:.75rem; }
[data-theme="aurora"] .bio { padding:.9rem 2.2rem 0; text-align:center; color:#8b8368; font-size:.82rem; }
[data-theme="aurora"] .bio .location { display:block; margin-top:.6rem; color:#5c5642; }
[data-theme="aurora"] .actions { margin:1.4rem 1.5rem 0; display:flex; flex-direction:column; gap:0; }
[data-theme="aurora"] .actions>* { min-height:66px; display:flex; align-items:center; gap:.8rem; padding:0 1rem; border:0; border-top:1px solid #2c2716; border-radius:0; color:#e9e0c8; font-size:.85rem; font-weight:700; text-align:left; }
[data-theme="aurora"] .actions>*:last-child { border-bottom:1px solid #2c2716; }
[data-theme="aurora"] .actions span { display:none; }
[data-theme="aurora"] .actions>*::after { content:"↗"; margin-left:auto; color:var(--accent); }
[data-theme="aurora"] #share-button { order:-1; min-height:58px; justify-content:center; border:0; border-radius:12px; margin-bottom:.4rem; background:linear-gradient(90deg,#e9c862,var(--accent)); color:#191405; font-weight:800; }
[data-theme="aurora"] #share-button::after { display:none; }
[data-theme="aurora"] .socials { display:none; }
[data-theme="aurora"] .card-foot { margin-top:1.3rem; padding:1rem 1.5rem; color:#5c5642; font-size:.7rem; }
[data-theme="aurora"] .decor { display:none; }

/* 03 — Warm Glow ID (rediseño móvil) */
[data-theme="terracotta"] { --accent:#e0793f; }
[data-theme="terracotta"] .corporate-only { display:block; }
[data-theme="terracotta"] body { color:#5c4230; background:radial-gradient(circle at 50% 15%,#ffd9ae,#f3e3d2 55%); }
[data-theme="terracotta"] .profile-card {
  width:min(420px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  background:#fdf3e6; border-radius:30px;
  box-shadow:0 30px 70px rgba(139,90,43,.22);
}
[data-theme="terracotta"] .card-head { padding:1.1rem 1.5rem; display:flex; align-items:center; justify-content:space-between; color:#8a6a4c; }
[data-theme="terracotta"] .availability { margin-left:auto; }
[data-theme="terracotta"] .motion-badge,[data-theme="terracotta"] .edition,[data-theme="terracotta"] .image-tag { display:none; }
[data-theme="terracotta"] .portrait { min-height:0; width:136px; aspect-ratio:1; margin:1.4rem auto 0; border-radius:50%; overflow:visible; }
[data-theme="terracotta"] .portrait::before { content:""; position:absolute; inset:-22px; border-radius:50%; background:radial-gradient(circle,rgba(224,121,63,.42),transparent 68%); animation:terracotta-sun 5s ease-in-out infinite alternate; }
[data-theme="terracotta"] .portrait img { position:relative; border-radius:50%; filter:sepia(.15) saturate(1.05); }
[data-theme="terracotta"] .identity { padding:1.5rem 1.5rem 0; text-align:center; }
[data-theme="terracotta"] .overline { color:#a06437; font-weight:700; }
[data-theme="terracotta"] .identity h1 { margin-top:.45rem; font:800 clamp(1.6rem,7vw,2rem)/1.1 Archivo,sans-serif; letter-spacing:-.03em; color:#43291a; }
[data-theme="terracotta"] .role { margin-top:.4rem; color:#a06437; font-size:.82rem; font-weight:600; }
[data-theme="terracotta"] .company { margin-top:.2rem; color:#a98862; font-size:.72rem; }
[data-theme="terracotta"] .bio { display:none; }
[data-theme="terracotta"] .actions { margin:1.4rem 1.4rem 0; display:flex; flex-direction:column; gap:0; padding:6px 20px; background:#fffaf2; border-radius:26px; box-shadow:0 18px 44px rgba(139,90,43,.14); }
[data-theme="terracotta"] .actions>* { display:flex; align-items:center; gap:.8rem; min-height:68px; padding:0; border:0; border-bottom:1px solid #f2e2cd; color:#43291a; font-size:.82rem; font-weight:700; text-align:left; }
[data-theme="terracotta"] .actions>*:last-child { border-bottom:0; }
[data-theme="terracotta"] .actions span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; opacity:1; background:var(--accent); color:#fff; font-size:.7rem; font-weight:700; }
[data-theme="terracotta"] #share-button { margin-top:1.1rem; margin-left:1.4rem; margin-right:1.4rem; min-height:58px; width:calc(100% - 2.8rem); border:0; border-radius:99px; color:#fff; background:var(--accent); font-weight:800; justify-content:center; box-shadow:0 14px 30px rgba(224,121,63,.34); }
[data-theme="terracotta"] #share-button span { display:none; }
[data-theme="terracotta"] .corporate-qr { grid-area:qr; display:flex; align-items:center; gap:18px; margin:1.4rem 1.4rem 0; padding:18px; background:#fffaf2; border-radius:22px; }
[data-theme="terracotta"] .corporate-qr img { width:96px; height:96px; flex:none; }
[data-theme="terracotta"] .corporate-qr figcaption { margin:0; color:#a98862; font-size:.78rem; line-height:1.5; text-transform:none; letter-spacing:0; font-weight:600; }
[data-theme="terracotta"] .corporate-qr figcaption::before { content:"Comparte la tarjeta"; display:block; margin-bottom:6px; color:#43291a; font-size:.95rem; font-weight:700; }
[data-theme="terracotta"] .socials { margin:1.2rem 1.4rem 0; padding:0; display:flex; justify-content:center; gap:8px; }
[data-theme="terracotta"] .socials a { padding:.55rem 1rem; border:1px solid #eed9bd; border-radius:99px; color:#8a6a4c; font-size:.72rem; font-weight:600; }
[data-theme="terracotta"] .socials a:hover { border-color:var(--accent); color:var(--accent); }
[data-theme="terracotta"] .card-foot { margin-top:1.3rem; padding:1rem 1.5rem; border-top:1px solid #f0dfc9; color:#a98862; font-size:.7rem; }
[data-theme="terracotta"] .decor { display:none; }

/* 04 — Intro NFC (rediseño móvil) */
[data-theme="brutal"] { --accent:#ff5a1f; }
[data-theme="brutal"] body { background:radial-gradient(circle at 50% 0%,#241c16,#0c0906 65%); }
[data-theme="brutal"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "bio" "actions" "socials" "foot";
  background:#151210; border:1px solid #2c241c; border-radius:24px;
  box-shadow:0 40px 100px rgba(0,0,0,.55);
}
[data-theme="brutal"] .card-head { padding:1.4rem 1.5rem 0; display:flex; align-items:center; gap:16px; color:#f3ede2; }
[data-theme="brutal"] .mark { display:none; }
[data-theme="brutal"] .availability { margin-left:auto; }
[data-theme="brutal"] .motion-badge,[data-theme="brutal"] .edition,[data-theme="brutal"] .image-tag { display:none; }
[data-theme="brutal"] .portrait { min-height:0; width:72px; height:72px; margin:0; border-radius:18px; }
[data-theme="brutal"] .portrait img { border-radius:18px; filter:grayscale(.2) contrast(1.05); }
[data-theme="brutal"] .identity { align-self:center; padding:0; text-align:left; }
[data-theme="brutal"] .identity::after { content:"¡Hola!"; display:block; font:800 26px/1 Archivo,sans-serif; letter-spacing:-.03em; }
[data-theme="brutal"] .identity h1 { display:none; }
[data-theme="brutal"] .overline { display:none; }
[data-theme="brutal"] .role { margin-top:.5rem; color:#a89a86; font-size:.85rem; font-weight:600; }
[data-theme="brutal"] .identity .role::before { content:"Soy "; }
[data-theme="brutal"] .bio { padding:1.4rem 1.5rem 0; color:#8f8577; font-size:.84rem; }
[data-theme="brutal"] .bio>p { font-weight:400; }
[data-theme="brutal"] .location { display:block; margin-top:.5rem; color:#5c5346; }
[data-theme="brutal"] .actions { margin:1.3rem 1.5rem 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
[data-theme="brutal"] .actions>* { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.35rem; min-height:64px; padding:18px; border:1px solid #362c20; border-radius:18px; color:#f3ede2; font-size:.95rem; font-weight:800; text-align:left; }
[data-theme="brutal"] .actions span { font-size:.68rem; opacity:.55; font-weight:400; }
[data-theme="brutal"] #share-button { grid-column:1/-1; min-height:58px; align-items:center; justify-content:center; border:0; border-radius:99px; color:#171310; background:var(--accent); font-weight:800; box-shadow:0 14px 32px rgba(255,90,31,.34); }
[data-theme="brutal"] #share-button span { display:none; }
[data-theme="brutal"] .socials { margin:1.3rem 1.5rem 0; padding:0; display:flex; gap:10px; }
[data-theme="brutal"] .socials a { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; border:1px solid #362c20; color:#c9bfae; font-size:.62rem; font-weight:700; text-align:center; }
[data-theme="brutal"] .socials a:hover { border-color:var(--accent); color:var(--accent); }
[data-theme="brutal"] .card-foot { margin-top:1.5rem; padding:1.1rem 1.5rem; border-top:1px solid #2c241c; color:#5c5346; font-size:.7rem; }
[data-theme="brutal"] .decor { display:none; }

/* 05 — Cypal Elegante (rediseño móvil) */
[data-theme="midnight"] { --accent:#c23b3b; }
[data-theme="midnight"] .corporate-only { display:block; }
[data-theme="midnight"] body { color:#1c1c22; background:radial-gradient(circle at 50% 0%,#23232b,#0b0b10 65%); }
[data-theme="midnight"] .profile-card {
  width:min(420px,100%); min-height:auto; margin:2rem auto; overflow:visible;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  background:#fff; border-radius:32px;
  box-shadow:0 40px 100px rgba(0,0,0,.5);
}
[data-theme="midnight"] .card-head { position:absolute; z-index:2; top:0; left:0; right:0; padding:1.4rem 1.5rem; display:flex; align-items:center; justify-content:space-between; color:#f1ede4; font-size:.66rem; text-transform:uppercase; letter-spacing:.16em; font-weight:700; }
[data-theme="midnight"] .mark { display:none; }
[data-theme="midnight"] .motion-badge,[data-theme="midnight"] .edition,[data-theme="midnight"] .image-tag { display:none; }
[data-theme="midnight"] .availability { margin-left:auto; }
[data-theme="midnight"] .portrait { min-height:0; height:300px; margin:0; border-radius:32px 32px 0 0; }
[data-theme="midnight"] .portrait img { object-position:center 22%; filter:grayscale(1) contrast(1.08) brightness(.8); }
[data-theme="midnight"] .portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,10,14,.15) 0%,rgba(10,10,14,.72) 100%); }
[data-theme="midnight"] .identity { position:relative; z-index:1; margin-top:-42px; padding:1.7rem 1.6rem .2rem; text-align:center; background:#fff; border-radius:32px 32px 0 0; }
[data-theme="midnight"] .overline { color:#8a7a4e; font-weight:700; letter-spacing:.14em; }
[data-theme="midnight"] .identity h1 { margin-top:.4rem; font:italic 400 clamp(1.7rem,7vw,2.1rem)/1.1 "Cormorant Garamond",Georgia,serif; color:#1c1c22; }
[data-theme="midnight"] .role { margin-top:.4rem; color:#6a6a72; font-size:.82rem; }
[data-theme="midnight"] .company { color:#9a9aa2; font-size:.7rem; }
[data-theme="midnight"] .bio { display:none; }
[data-theme="midnight"] .actions { margin:1.2rem 1.6rem 0; display:flex; flex-direction:column; gap:0; }
[data-theme="midnight"] .actions>* { display:flex; align-items:center; gap:.7rem; min-height:64px; padding:0; border:0; border-bottom:1px solid #eeeae2; color:#2c2c32; font-size:.85rem; font-weight:600; }
[data-theme="midnight"] .actions span { display:none; }
[data-theme="midnight"] .actions>*::before { content:attr(data-label); margin-left:auto; order:2; font-size:.68rem; color:#a9a2a2; font-weight:500; }
[data-theme="midnight"] #share-button { margin-top:1.1rem; min-height:58px; border:0; border-radius:99px; color:#fff; background:var(--accent); font-weight:800; justify-content:center; box-shadow:0 14px 30px rgba(194,59,59,.3); }
[data-theme="midnight"] #share-button::before { display:none; }
[data-theme="midnight"] .corporate-qr { grid-area:qr; width:112px; margin:1.4rem auto 0; padding:0; background:none; border:0; }
[data-theme="midnight"] .corporate-qr img { width:100%; display:block; }
[data-theme="midnight"] .corporate-qr figcaption { display:none; }
[data-theme="midnight"] .socials { margin:1.2rem 1.6rem 0; padding:0; display:flex; justify-content:center; gap:1.4rem; }
[data-theme="midnight"] .socials a { color:#6a6a72; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
[data-theme="midnight"] .socials a:hover { color:var(--accent); }
[data-theme="midnight"] .card-foot { margin-top:1.3rem; padding:1rem 1.6rem; border-top:1px solid #eeeae2; color:#9a9aa2; font-size:.68rem; border-radius:0 0 32px 32px; }
[data-theme="midnight"] .decor { display:none; }

/* 06 — Paper Minimal (rediseño móvil) */
[data-theme="paper"] { --accent:#d3472f; }
[data-theme="paper"] body { background:#e6e1d8; }
[data-theme="paper"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "identity" "bio" "portrait" "actions" "socials" "foot";
  background:#f6f3ec; border-radius:4px;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
[data-theme="paper"] .card-head { padding:1.6rem 1.5rem 0; display:flex; align-items:center; justify-content:space-between; }
[data-theme="paper"] .mark { display:none; }
[data-theme="paper"] .availability { margin-left:auto; font-size:.66rem; letter-spacing:.18em; }
[data-theme="paper"] .availability i { display:none; }
[data-theme="paper"] .availability::after { content:""; display:block; width:10px; height:10px; margin-left:10px; border-radius:50%; background:var(--accent); }
[data-theme="paper"] .motion-badge,[data-theme="paper"] .edition,[data-theme="paper"] .image-tag { display:none; }
[data-theme="paper"] .identity { padding:1.2rem 1.5rem 0; }
[data-theme="paper"] .overline { display:none; }
[data-theme="paper"] .identity h1 { font:400 clamp(3.4rem,16vw,4.6rem)/.84 "Cormorant Garamond",Georgia,serif; letter-spacing:-.03em; color:#1a1a1a; }
[data-theme="paper"] .role { margin:1.2rem 0 0; padding-left:42%; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:#5b5b56; font-weight:600; }
[data-theme="paper"] .bio { padding:1.4rem 1.5rem 0; }
[data-theme="paper"] .bio>p { max-width:290px; font-size:.88rem; color:#3f3f3a; }
[data-theme="paper"] .location { display:block; margin-top:1.2rem; color:#7a766c; font-size:.66rem; }
[data-theme="paper"] .portrait { margin:1.4rem 1.5rem 0; min-height:280px; border-radius:50% 50% 0 0; clip-path:none; }
[data-theme="paper"] .portrait img { object-position:center 22%; filter:none; }
[data-theme="paper"] .actions { display:flex; flex-direction:column; align-items:start; gap:1rem; padding:1.4rem 1.5rem 0; }
[data-theme="paper"] .actions>* { padding-bottom:.25rem; border:0; border-bottom:1px solid; border-radius:0; color:#1a1a1a; font-size:.78rem; font-weight:600; }
[data-theme="paper"] .actions span { display:none; }
[data-theme="paper"] .actions>*::after { content:"↗"; margin-left:auto; }
[data-theme="paper"] #share-button { width:100%; justify-content:center; min-height:58px; padding:1rem; background:#1a1a1a; color:#f6f3ec; font-weight:800; }
[data-theme="paper"] #share-button::after { display:none; }
[data-theme="paper"] .socials { padding:1.2rem 1.5rem 0; display:flex; gap:1.4rem; font-size:.7rem; }
[data-theme="paper"] .card-foot { padding:1.4rem 1.5rem; border-top:0; color:#7a766c; font-size:.66rem; }
[data-theme="paper"] .decor { right:1.5rem; top:1.5rem; width:12px; aspect-ratio:1; border-radius:50%; background:var(--accent); }
[data-theme="paper"] .mark { animation:paper-breathe 4.5s ease-in-out infinite; }

/* 07 — Mission Control (rediseño móvil) */
[data-theme="mission"] { --accent:#f15a2b; }
[data-theme="mission"] body { color:#111820; background:linear-gradient(135deg,#edf0f2,#aeb4ba); }
[data-theme="mission"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "identity" "portrait" "bio" "actions" "socials" "foot";
  background:#dfe2e4; border:1px solid #8d949a; border-radius:18px;
  box-shadow:0 35px 90px rgba(25,32,38,.28);
}
[data-theme="mission"] .profile-card::before { content:"SYS / 07 — OPERATOR INTERFACE"; position:absolute; z-index:4; right:1.2rem; top:14px; padding:.4rem .55rem; color:#e5e7e8; background:#111820; font:800 .55rem "IBM Plex Mono",monospace; letter-spacing:.12em; }
[data-theme="mission"] .card-head { padding:1.4rem 1.2rem .9rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #9da3a8; }
[data-theme="mission"] .mark { display:none; }
[data-theme="mission"] .availability { margin-left:auto; font:600 .62rem "IBM Plex Mono",monospace; color:#596168; }
[data-theme="mission"] .motion-badge { color:#596168; }
[data-theme="mission"] .edition,[data-theme="mission"] .image-tag { display:none; }
[data-theme="mission"] .identity { padding:1.4rem 1.2rem 0; }
[data-theme="mission"] .identity h1 { font-size:clamp(2.8rem,12vw,3.6rem); font-weight:900; text-transform:uppercase; line-height:.78; letter-spacing:-.075em; }
[data-theme="mission"] .overline { display:none; }
[data-theme="mission"] .role { margin-top:.9rem; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
[data-theme="mission"] .portrait { margin:1.2rem 1.2rem 0; min-height:230px; border:1px solid #858c92; background:#c3c7ca; clip-path:polygon(0 8%,8% 0,100% 0,100% 92%,92% 100%,0 100%); }
[data-theme="mission"] .portrait img { object-position:center 22%; filter:grayscale(1) contrast(1.18); }
[data-theme="mission"] .portrait::after { content:"OPERATOR / MV"; position:absolute; left:0; right:0; bottom:0; padding:.65rem; color:white; background:rgba(17,24,32,.86); font-size:.55rem; letter-spacing:.14em; }
[data-theme="mission"] .bio { padding:1.1rem 1.2rem 0; }
[data-theme="mission"] .bio>p { max-width:100%; font-size:.72rem; font-weight:600; text-transform:uppercase; line-height:1.5; color:#3d454c; }
[data-theme="mission"] .location { display:block; margin-top:.8rem; color:#626a71; }
[data-theme="mission"] .actions { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:1.2rem 0 0; background:#9da3a8; border-top:1px solid #9da3a8; border-bottom:1px solid #9da3a8; }
[data-theme="mission"] .actions>* { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.3rem; min-height:62px; padding:16px 20px; border:0; border-radius:0; background:#dfe2e4; color:#111820; font:800 .9rem "IBM Plex Mono",monospace; text-align:left; }
[data-theme="mission"] .actions span { font:600 .58rem "IBM Plex Mono",monospace; color:#626a71; opacity:1; text-transform:uppercase; }
[data-theme="mission"] #share-button { grid-column:1/-1; min-height:58px; align-items:center; justify-content:center; padding:0; background:#111820; color:var(--accent); font:900 .85rem Archivo,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
[data-theme="mission"] .socials { display:grid; grid-template-columns:repeat(3,1fr); margin:1.1rem 0 1.2rem; border-top:1px solid #777f85; border-bottom:1px solid #777f85; }
[data-theme="mission"] .socials a { display:grid; place-items:center; min-height:58px; border-right:1px solid #777f85; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
[data-theme="mission"] .socials a:last-child { border-right:0; }
[data-theme="mission"] .card-foot { display:none; }
[data-theme="mission"] .decor { width:110px; aspect-ratio:1; right:1.4rem; bottom:7.5rem; border:1px solid #111820; border-radius:50%; animation:mission-telemetry 6s steps(12) infinite; }
[data-theme="mission"] .decor::before,[data-theme="mission"] .decor::after { content:""; position:absolute; inset:18%; border:1px solid #111820; border-radius:50%; }
[data-theme="mission"] .decor::after { inset:42%; background:var(--accent); border:0; }
[data-theme="mission"] .decor span { position:absolute; left:50%; top:-5px; width:9px; aspect-ratio:1; border-radius:50%; background:#111820; }

/* 08 — Executive Card (rediseño móvil) */
[data-theme="corporate"] { --accent:#d99a52; }
[data-theme="corporate"] body { color:#efe8d9; background:#0f1d18; }
[data-theme="corporate"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  color:#14261f; background:#eee7d9; border-radius:24px;
  box-shadow:0 40px 100px rgba(0,0,0,.38);
}
[data-theme="corporate"] .corporate-only { display:block; }
[data-theme="corporate"] .card-head { position:absolute; z-index:2; top:0; left:0; right:0; padding:1.4rem 1.4rem; display:flex; align-items:center; justify-content:space-between; color:#efe8d9; font-size:.66rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
[data-theme="corporate"] .mark { display:none; }
[data-theme="corporate"] .availability { margin-left:auto; }
[data-theme="corporate"] .motion-badge,[data-theme="corporate"] .edition,[data-theme="corporate"] .image-tag { display:none; }
[data-theme="corporate"] .portrait { min-height:0; height:280px; margin:0; border-radius:24px 24px 0 0; }
[data-theme="corporate"] .portrait img { object-position:center 20%; filter:grayscale(1) contrast(1.05); }
[data-theme="corporate"] .portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(15,29,24,.55)); }
[data-theme="corporate"] .identity { align-self:end; padding:1.6rem 1.4rem 0; }
[data-theme="corporate"] .identity h1 { font-size:clamp(2.4rem,10vw,2.8rem); font-weight:650; line-height:.88; letter-spacing:-.045em; }
[data-theme="corporate"] .overline { color:#3f5148; font-weight:700; }
[data-theme="corporate"] .role { margin:.8rem 0 0; font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; }
[data-theme="corporate"] .company { display:none; }
[data-theme="corporate"] .bio { display:none; }
[data-theme="corporate"] .actions { display:flex; flex-direction:column; padding:1.2rem 1.4rem 0; gap:.5rem; }
[data-theme="corporate"] .actions>* { display:flex; align-items:center; justify-content:space-between; min-height:64px; padding:0; border:0; border-bottom:1px solid #d8cfbd; color:#14261f; font-size:.85rem; font-weight:600; border-radius:0; }
[data-theme="corporate"] .actions span { display:none; }
[data-theme="corporate"] .actions>*::after { content:"↗"; color:#17352c; }
[data-theme="corporate"] #share-button { margin-top:.8rem; min-height:58px; justify-content:center; border:0; border-radius:12px; background:#17352c; color:#efe8d9; font-weight:800; }
[data-theme="corporate"] #share-button::after { display:none; }
[data-theme="corporate"] .socials { padding:1.2rem 1.4rem 0; display:flex; gap:1.2rem; color:#14261f; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
[data-theme="corporate"] .card-foot { padding:1.1rem 1.4rem; color:#59635d; font-size:.68rem; }
[data-theme="corporate"] .corporate-qr { grid-area:qr; display:none; }
[data-theme="corporate"] .decor { display:none; }

/* 09 — Constructor Pro (rediseño móvil) */
[data-theme="construction"] { --accent:#ffc400; }
[data-theme="construction"] body { color:#f4f7f8; background:#071019; }
[data-theme="construction"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  color:#f4f7f8; background:#0b1721; border:1px solid #263746; border-radius:16px;
  box-shadow:0 35px 90px rgba(0,0,0,.42);
}
[data-theme="construction"] .corporate-only { display:block; }
[data-theme="construction"] .card-head { padding:1.4rem 1.2rem .9rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #263746; }
[data-theme="construction"] .mark { display:grid; place-items:center; width:40px; aspect-ratio:1; color:var(--accent); border:2px solid var(--accent); border-radius:50%; font-size:.85rem; }
[data-theme="construction"] .mark i { display:none; }
[data-theme="construction"] .availability { margin-left:auto; }
[data-theme="construction"] .motion-badge { color:#8ea4b5; }
[data-theme="construction"] .edition,[data-theme="construction"] .image-tag { display:none; }
[data-theme="construction"] .portrait { margin:1.1rem 1.2rem 0; min-height:220px; border:1px solid #2b4050; border-radius:12px; }
[data-theme="construction"] .portrait img { object-position:center 20%; filter:grayscale(1) contrast(1.1) brightness(.82); }
[data-theme="construction"] .portrait::after { content:"DIRECCIÓN DE PROYECTO"; position:absolute; left:0; right:0; bottom:0; padding:14px; color:#071019; background:var(--accent); font-size:.7rem; font-weight:900; letter-spacing:.12em; }
[data-theme="construction"] .identity { align-self:end; padding:1.4rem 1.2rem 0; }
[data-theme="construction"] .identity h1 { font-size:clamp(2.6rem,11vw,3.2rem); font-weight:900; text-transform:uppercase; line-height:.82; letter-spacing:-.06em; }
[data-theme="construction"] .overline { color:#86a0b4; }
[data-theme="construction"] .role { color:var(--accent); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
[data-theme="construction"] .company { display:inline-flex; margin:.9rem 0 0; padding:.5rem .9rem; border:1px solid #344b5c; border-radius:99px; color:#a9c0d0; font-size:.72rem; }
[data-theme="construction"] .company::before { content:""; width:7px; height:7px; margin:.25rem .5rem 0 0; border-radius:50%; background:#ff2430; }
[data-theme="construction"] .bio { display:none; }
[data-theme="construction"] .actions { padding:1.3rem 1.2rem 0; display:flex; flex-direction:column; gap:10px; }
[data-theme="construction"] .actions>* { flex:1; min-height:58px; display:flex; align-items:center; gap:1rem; padding:0 16px; border:1px solid #293e4e; border-radius:12px; color:white; background:#0f1e2a; text-align:left; font-weight:800; font-size:.88rem; }
[data-theme="construction"] .actions span { color:var(--accent); opacity:1; }
[data-theme="construction"] .actions>*::after { content:"↗"; margin-left:auto; color:var(--accent); }
[data-theme="construction"] #share-button { min-height:60px; justify-content:center; border:0; border-radius:12px; background:var(--accent); color:#071019; font-weight:900; font-size:.95rem; }
[data-theme="construction"] #share-button::after { display:none; }
[data-theme="construction"] .socials { padding:1.2rem 1.2rem 0; display:flex; justify-content:center; gap:1.2rem; }
[data-theme="construction"] .socials a { font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; color:#a9c0d0; }
[data-theme="construction"] .card-foot { padding:1rem 1.2rem; flex-direction:column; justify-content:center; align-items:end; color:#8da1b0; border-top:1px solid #263746; font-size:.66rem; }
[data-theme="construction"] .corporate-qr { display:none; }
[data-theme="construction"] .decor { right:0; bottom:0; left:0; width:100%; height:8px; background:repeating-linear-gradient(135deg,var(--accent) 0 18px,#101e29 18px 36px); }

/* 10 — Business IO (rediseño móvil) */
[data-theme="steel"] { --accent:#d64545; }
[data-theme="steel"] body { color:#1c1c22; background:radial-gradient(circle at 50% 0%,#2a2a30,#0c0c10 65%); }
[data-theme="steel"] .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  background:#fff; border-radius:24px;
  box-shadow:0 40px 100px rgba(0,0,0,.5);
}
[data-theme="steel"] .corporate-only { display:block; }
[data-theme="steel"] .card-head { padding:1.3rem 1.4rem 1rem; display:flex; align-items:center; justify-content:space-between; color:#1c1c22; background:#f4f4f5; border-radius:24px 24px 0 0; }
[data-theme="steel"] .mark { padding:.35rem .6rem; border:1px solid #1c1c22; font-size:.72rem; letter-spacing:.06em; }
[data-theme="steel"] .motion-badge,[data-theme="steel"] .edition,[data-theme="steel"] .image-tag { display:none; }
[data-theme="steel"] .availability { margin-left:auto; }
[data-theme="steel"] .portrait { min-height:0; height:210px; margin:0; }
[data-theme="steel"] .portrait img { object-position:center 20%; filter:grayscale(1) contrast(1.1); }
[data-theme="steel"] .identity { padding:1.5rem 1.4rem 0; text-align:left; }
[data-theme="steel"] .identity h1 { font-size:clamp(1.6rem,7vw,1.9rem); font-weight:750; line-height:1.08; letter-spacing:-.035em; text-transform:none; color:#1c1c22; }
[data-theme="steel"] .overline { color:#8a8a92; font-weight:700; }
[data-theme="steel"] .role { font-size:.84rem; color:#6a6a72; font-weight:600; }
[data-theme="steel"] .company { margin-top:.35rem; padding-top:0; border-top:0; color:var(--accent); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
[data-theme="steel"] .bio { display:none; }
[data-theme="steel"] .actions { margin:1.2rem 1.4rem 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
[data-theme="steel"] .actions>* { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.3rem; min-height:64px; padding:16px; border:0; border-radius:16px; background:#f4f4f5; color:#1c1c22; font-size:.88rem; font-weight:700; }
[data-theme="steel"] .actions span { font-size:.64rem; opacity:.6; font-weight:400; }
[data-theme="steel"] #share-button { grid-column:1/-1; margin-top:.4rem; min-height:58px; align-items:center; justify-content:center; border:0; border-radius:99px; color:#fff; background:var(--accent); font-weight:800; box-shadow:0 14px 30px rgba(214,69,69,.28); }
[data-theme="steel"] #share-button span { display:none; }
[data-theme="steel"] .corporate-qr { grid-area:qr; display:flex; align-items:center; gap:18px; margin:1.3rem 1.4rem 0; padding:18px; border:1px solid #ececee; border-radius:18px; }
[data-theme="steel"] .corporate-qr img { width:88px; height:88px; flex:none; }
[data-theme="steel"] .corporate-qr figcaption { margin:0; color:#6a6a72; font-size:.8rem; line-height:1.55; text-transform:none; letter-spacing:0; }
[data-theme="steel"] .socials { margin:1.2rem 1.4rem 0; padding:0; display:flex; gap:1.2rem; }
[data-theme="steel"] .socials a { font-size:.7rem; color:#6a6a72; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
[data-theme="steel"] .socials a:hover { color:var(--accent); }
[data-theme="steel"] .card-foot { margin-top:1.2rem; padding:1rem 1.4rem; border-top:1px solid #eee; color:#9a9aa2; font-size:.68rem; border-radius:0 0 24px 24px; }
[data-theme="steel"] .decor { display:none; }

@keyframes editorial-scan { 0%,100% { box-shadow:0 0 16px color-mix(in srgb,var(--accent),transparent 35%); opacity:.85; } 50% { box-shadow:0 0 34px color-mix(in srgb,var(--accent),transparent 10%); opacity:1; } }
@keyframes aurora-orbit { to { transform:rotate(360deg); } }
@keyframes terracotta-sun { 0% { opacity:.75; } 100% { opacity:1; transform:scale(1.06); } }
@keyframes brutal-ticker { 0% { transform:translateX(0); } 50% { transform:translateX(-12%); } 52% { transform:translateX(-12%) rotate(-1deg); } 100% { transform:translateX(0); } }
@keyframes midnight-radar { to { transform:rotate(360deg); } }
@keyframes paper-breathe { 0%,100% { letter-spacing:-.06em; opacity:1; } 50% { letter-spacing:.08em; opacity:.62; } }
@keyframes mission-telemetry { 0% { transform:rotate(0); box-shadow:0 0 0 0 rgba(241,90,43,0); } 50% { box-shadow:0 0 0 8px rgba(241,90,43,.12); } 100% { transform:rotate(360deg); box-shadow:0 0 0 0 rgba(241,90,43,0); } }

@media (max-width:760px) {
  .back span { display:none; }
  .theme-switcher>button { min-width:100px; }
  .stage { padding:4.7rem 0 0; display:block; }
  .profile-card { min-height:calc(100svh - 4.7rem); width:100%; box-shadow:none; }
  [data-theme] .profile-card { grid-template-columns:1fr; grid-template-rows:auto; border-radius:0; transform:none; margin:0; }
  [data-theme="editorial"] .profile-card { grid-template-areas:"head" "portrait" "identity" "bio" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="aurora"] .profile-card { grid-template-areas:"head" "portrait" "identity" "bio" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="terracotta"] .profile-card { grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot"; border-radius:0; }
  [data-theme="brutal"] .profile-card { grid-template-areas:"head" "portrait" "identity" "bio" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="midnight"] .profile-card { grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot"; border-radius:0; }
  [data-theme="paper"] .profile-card { grid-template-areas:"head" "identity" "bio" "portrait" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="mission"] .profile-card { grid-template-areas:"head" "identity" "portrait" "bio" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="corporate"] .profile-card { grid-template-areas:"head" "portrait" "identity" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="construction"] .profile-card { grid-template-areas:"head" "portrait" "identity" "actions" "socials" "foot"; border-radius:0; }
  [data-theme="steel"] .profile-card { grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot"; border-radius:0; }
  [data-theme] .card-head { min-height:70px; padding:1.2rem 1.25rem; }
  [data-theme] .availability { margin-left:auto; margin-right:1rem; }
  [data-theme] .edition { display:none; }
  [data-theme] .motion-badge { margin-left:auto; margin-right:1rem; font-size:.5rem; }
  [data-theme] .portrait { height:390px; min-height:0; margin:0; border-radius:0; clip-path:none; transform:none; }
  [data-theme] .identity { padding:1.6rem 1.25rem 1rem; }
  [data-theme] .identity h1 { font-size:clamp(2rem,10vw,2.6rem); }
  [data-theme] .role { margin:.7rem 0 0; }
  [data-theme] .bio { padding:1rem 1.25rem 1.5rem; border-left:0; }
  [data-theme] .actions { min-height:auto; margin:0; padding:.5rem 1.25rem 1.2rem; display:flex; flex-direction:column; gap:.6rem; border-radius:0; }
  [data-theme] .actions>* { min-height:56px; padding:0 1rem; display:flex; align-items:center; justify-content:flex-start; border:1px solid currentColor; border-radius:14px; text-align:left; }
  [data-theme] .socials { min-height:auto; margin:0; padding:0 1.25rem 1.2rem; flex-direction:row; justify-content:center; gap:1.2rem; border:0; }
  [data-theme] .card-foot { min-height:auto; margin-top:0; padding:1rem 1.25rem; }
  [data-theme="editorial"] .portrait { height:auto; width:128px; margin:1.2rem auto 0; border-radius:50%; }
  [data-theme="editorial"] .actions { min-height:auto; margin:1.3rem 1.25rem 0; padding:0; grid-template-columns:1fr 1fr; display:grid; }
  [data-theme="editorial"] .actions>* { min-height:54px; padding:.5rem; justify-content:center; border:1px solid #2c2c31; border-radius:99px; }
  [data-theme="editorial"] .socials { min-height:auto; margin:1.2rem 1.25rem 0; padding:0; flex-wrap:wrap; }
  [data-theme="editorial"] .card-foot { margin-top:1.3rem; padding:1rem 1.25rem; }
  [data-theme="aurora"] .portrait { height:auto; width:96px; margin:1.5rem auto 0; border-radius:50%; }
  [data-theme="aurora"] .actions { min-height:auto; margin:1.3rem 1.25rem 0; padding:0; display:flex; flex-direction:column; gap:0; }
  [data-theme="aurora"] .actions>* { min-height:62px; border:0; border-top:1px solid #2c2716; border-radius:0; }
  [data-theme="aurora"] .socials { display:none; }
  [data-theme="aurora"] .card-foot { margin-top:1.2rem; padding:1rem 1.25rem; }
  [data-theme="terracotta"] .portrait { height:auto; width:120px; margin:1.3rem auto 0; border-radius:50%; }
  [data-theme="terracotta"] .actions { min-height:auto; margin:1.2rem 1.25rem 0; padding:6px 18px; display:flex; flex-direction:column; gap:0; }
  [data-theme="terracotta"] .actions>* { min-height:62px; padding:0; border:0; border-bottom:1px solid #f2e2cd; border-radius:0; }
  [data-theme="terracotta"] .socials { min-height:auto; margin:1.1rem 1.25rem 0; padding:0; }
  [data-theme="terracotta"] .card-foot { margin-top:1.2rem; padding:1rem 1.25rem; }
  [data-theme="brutal"] .portrait { height:64px; width:64px; margin:1.3rem 0 0 1.25rem; border-radius:16px; }
  [data-theme="brutal"] .identity { padding:0 1.25rem 0 1rem; }
  [data-theme="brutal"] .actions { min-height:auto; margin:1.2rem 1.25rem 0; padding:0; grid-template-columns:1fr 1fr; display:grid; gap:10px; }
  [data-theme="brutal"] .actions>* { min-height:60px; padding:14px; border:1px solid #362c20; border-radius:16px; }
  [data-theme="brutal"] .socials { min-height:auto; margin:1.2rem 1.25rem 0; padding:0; justify-content:flex-start; }
  [data-theme="brutal"] .card-foot { margin-top:1.3rem; padding:1rem 1.25rem; }
  [data-theme="midnight"] .portrait { height:260px; border-radius:0; }
  [data-theme="midnight"] .identity { margin-top:-38px; padding:1.5rem 1.25rem .2rem; border-radius:28px 28px 0 0; }
  [data-theme="midnight"] .actions { min-height:auto; margin:1.1rem 1.25rem 0; padding:0; display:flex; flex-direction:column; gap:0; }
  [data-theme="midnight"] .actions>* { min-height:60px; border:0; border-bottom:1px solid #eeeae2; border-radius:0; }
  [data-theme="midnight"] .socials { min-height:auto; margin:1rem 1.25rem 0; padding:0; border-top:0; }
  [data-theme="midnight"] .card-foot { margin-top:1.1rem; padding:1rem 1.25rem; border-radius:0; }
  [data-theme="paper"] .portrait { margin:1.3rem 1.25rem 0; height:260px; border-radius:50% 50% 0 0; width:auto; }
  [data-theme="mission"] .profile-card { min-height:calc(100svh - 4.7rem); border-width:1px 0; }
  [data-theme="mission"] .portrait { margin:1.1rem 1.25rem 0; height:220px; clip-path:polygon(0 8%,8% 0,100% 0,100% 92%,92% 100%,0 100%); }
  [data-theme="mission"] .actions { min-height:auto; margin:1.1rem 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1px; }
  [data-theme="mission"] .actions>* { min-height:60px; border:0; border-radius:0; }
  [data-theme="mission"] .socials { min-height:auto; margin:1rem 0 1.1rem; padding:0; }
  [data-theme="mission"] .decor { right:1.5rem; bottom:16rem; width:96px; }
  [data-theme="corporate"] .portrait { height:260px; border-radius:0; }
  [data-theme="corporate"] .identity { padding:1.5rem 1.25rem 1rem; }
  [data-theme="corporate"] .actions { min-height:auto; margin:0; padding:.8rem 1.25rem 1rem; display:flex; flex-direction:column; gap:.5rem; }
  [data-theme="corporate"] .actions>* { min-height:60px; padding:0; border:0; border-bottom:1px solid #d8cfbd; border-radius:0; }
  [data-theme="construction"] .portrait { height:210px; margin:1rem 1.25rem 0; border-radius:12px; }
  [data-theme="construction"] .identity { padding:1.3rem 1.25rem 0; }
  [data-theme="construction"] .actions { min-height:auto; margin:0; padding:1.2rem 1.25rem 0; display:flex; flex-direction:column; gap:10px; }
  [data-theme="construction"] .actions>* { min-height:56px; border:1px solid #293e4e; border-radius:12px; }
  [data-theme="construction"] .socials { min-height:auto; margin:0; padding:1.1rem 1.25rem 0; }
  [data-theme="construction"] .card-foot { padding:1rem 1.25rem; }
  [data-theme="steel"] .portrait { height:190px; border-radius:0; }
  [data-theme="steel"] .identity { padding:1.4rem 1.25rem 0; }
  [data-theme="steel"] .actions { min-height:auto; margin:1.1rem 1.25rem 0; padding:0; grid-template-columns:1fr 1fr; display:grid; gap:10px; }
  [data-theme="steel"] .actions>* { min-height:60px; padding:14px; border-radius:16px; }
  [data-theme="steel"] .socials { min-height:auto; margin:1.1rem 1.25rem 0; padding:0; }
  [data-theme="steel"] .card-foot { margin-top:1.1rem; padding:1rem 1.25rem; border-radius:0; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; animation-play-state:paused!important; scroll-behavior:auto!important; } .profile-card { opacity:1; transform:none; } }

/* Company cards (rediseño móvil 1b/1d) */
.client-mode .theme-switcher { display:none; }
.client-mode .stage { background:linear-gradient(135deg,var(--client-primary),#071019); }
.client-mode .stage::before { content:""; position:fixed; inset:0; opacity:.12; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(135deg,black,transparent 65%); }
.client-mode .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto; overflow:visible;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  color:#11161c; background:var(--client-surface); border:1px solid color-mix(in srgb,var(--client-primary),white 40%); border-radius:30px;
  box-shadow:0 35px 90px rgba(0,0,0,.35);
}
.client-mode.ready .profile-card { animation:client-card-in .85s cubic-bezier(.16,.84,.25,1) both; }
.client-mode .card-head { position:absolute; z-index:2; top:0; left:0; right:0; padding:1.5rem 1.4rem; display:flex; align-items:center; justify-content:space-between; color:#fff; }
.client-mode .mark { display:none; }
.client-mode .availability { margin-left:auto; font:500 .72rem "IBM Plex Mono",monospace; color:rgba(255,255,255,.85); }
.client-mode .availability i { animation:client-signal 2.2s ease-out infinite; }
.client-mode .motion-badge { display:none; }
.client-mode .edition { display:none; }
.client-mode .portrait { min-height:0; height:280px; margin:0; background:var(--client-primary); border-radius:30px 30px 0 0; clip-path:none; transform:none; }
.client-mode .portrait img { width:150px; height:150px; margin:3.4rem auto 0; display:block; object-fit:contain; object-position:center; padding:22px; background:#fff; border-radius:24px; box-shadow:0 18px 40px rgba(0,0,0,.25); filter:none; animation:client-logo-float 6s ease-in-out infinite; }
.client-mode .portrait::before { content:""; position:absolute; top:1.5rem; left:1.4rem; font:600 .62rem "IBM Plex Mono",monospace; letter-spacing:.14em; color:rgba(255,255,255,.6); }
.client-mode .portrait::after { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,transparent,var(--accent),transparent); }
.client-mode .image-tag { display:none; }
.client-mode .identity { position:relative; z-index:1; margin-top:-34px; padding:1.7rem 1.4rem 0; background:var(--client-surface); border-radius:30px 30px 0 0; animation:client-rise .72s .16s cubic-bezier(.2,.8,.2,1) both; }
.client-mode .overline { color:var(--client-primary); font:600 .62rem "IBM Plex Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
.client-mode .identity h1 { max-width:100%; margin:.55rem 0 0; font:800 clamp(1.8rem,8vw,2.1rem)/1.05 Archivo,sans-serif; letter-spacing:-.035em; overflow-wrap:normal; text-transform:none; color:#11161c; }
.client-mode .role { margin:.5rem 0 0; color:#5a626b; font-size:.84rem; font-weight:600; }
.client-mode .company { display:inline-flex; align-items:center; gap:8px; margin:.9rem 0 0; padding:.5rem .9rem; color:#fff; background:var(--client-primary); border-radius:99px; font-size:.72rem; font-weight:700; letter-spacing:.02em; }
.client-mode .company::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.client-mode .bio { display:block; padding:1rem 1.4rem 0; }
.client-mode .bio>p { font-size:.88rem; color:#5a626b; }
.client-mode .location { display:block; margin-top:.5rem; color:#9aa1a9; font-size:.64rem; }
.client-mode .actions { padding:1.2rem 1.4rem 0; display:flex; flex-direction:column; gap:0; border-top:1px solid rgba(17,22,28,.1); animation:client-rise .72s .28s cubic-bezier(.2,.8,.2,1) both; }
.client-mode .actions>* { min-height:64px; display:flex; align-items:center; gap:14px; padding:0; color:#11161c; background:none; border:0; border-bottom:1px solid rgba(17,22,28,.1); border-radius:0; text-align:left; font-weight:600; font-size:.9rem; }
.client-mode .actions span { width:66px; flex:none; color:#9aa1a9; font:500 .62rem "IBM Plex Mono",monospace; letter-spacing:.1em; opacity:1; }
.client-mode .actions>*::after { content:"↗"; margin-left:auto; color:var(--client-primary); font-size:1rem; }
.client-mode .actions>*:hover { color:var(--client-primary); }
.client-mode #share-button { min-height:58px; justify-content:center; border:0; border-radius:16px; color:#fff; background:var(--client-primary); font-weight:800; font-size:.95rem; margin-top:.8rem; }
.client-mode #share-button span { display:none; }
.client-mode #share-button::after { display:none; }
.client-mode .corporate-only { display:block; }
.client-mode .corporate-qr { display:none; }
.client-mode .socials { padding:1.2rem 1.4rem 0; display:flex; flex-wrap:wrap; gap:8px; animation:client-rise .72s .36s cubic-bezier(.2,.8,.2,1) both; }
.client-mode .socials a { padding:.6rem 1rem; border:1px solid color-mix(in srgb,var(--client-primary),transparent 78%); border-radius:99px; color:var(--client-primary); font-size:.7rem; font-weight:600; }
.client-mode .socials a:hover { color:#fff; background:var(--client-primary); }
.client-mode .card-foot { padding:1rem 1.4rem 1.4rem; color:#9aa1a9; font-size:.66rem; }
.client-mode .decor { right:0; bottom:0; left:0; width:100%; height:6px; background:repeating-linear-gradient(135deg,var(--accent) 0 18px,var(--client-primary) 18px 36px); background-size:102px 100%; border:0; border-radius:0; animation:client-stripe 3s linear infinite; }
.client-mode .actions [hidden] { display:none!important; }
.client-mode .dock #save-contact { background:var(--client-primary); }
.client-mode .dock #qr-open { background:var(--accent); color:#11161c; }
.client-mode .qr-sheet .sheet-body { display:block; }

/* Personal cards (rediseño móvil 1c) */
.personal-mode .theme-switcher { display:none; }
.personal-mode .stage { background:radial-gradient(circle at 50% 0%,#16233c,#0B1220 55%,#060911); }
.personal-mode .profile-card {
  width:min(430px,100%); min-height:auto; margin:2rem auto; overflow:visible;
  grid-template-columns:1fr; grid-template-rows:auto;
  grid-template-areas:"head" "portrait" "identity" "actions" "qr" "socials" "foot";
  color:#11161c; background:#fff; border-radius:30px;
  box-shadow:0 40px 100px rgba(0,0,0,.55);
}
.personal-mode .card-head { position:absolute; z-index:2; top:0; left:0; right:0; padding:1.5rem 1.4rem; display:flex; align-items:center; justify-content:space-between; }
.personal-mode .mark { display:block; width:auto; height:auto; padding:0; border:0; background:none; }
.personal-mode .mark img { display:none; }
.personal-mode .mark::before { content:""; display:block; width:auto; height:auto; }
.personal-mode .availability { margin-left:auto; font:500 .72rem Archivo,sans-serif; color:rgba(255,255,255,.85); }
.personal-mode .availability i { animation:client-signal 2.2s ease-out infinite; }
.personal-mode .motion-badge,.personal-mode .edition,.personal-mode .image-tag { display:none; }
.personal-mode .portrait { min-height:0; height:250px; margin:0; background:#0B1220; border-radius:30px 30px 0 0; clip-path:none; transform:none; }
.personal-mode .portrait::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,transparent,#FF6A00,transparent); }
.personal-mode .portrait img { position:absolute; top:1.4rem; left:1.4rem; width:104px; height:104px; margin:0; padding:0; object-fit:cover; object-position:center; border:2px solid #FF6A00; border-radius:50%; background:none; filter:none; box-shadow:none; }
.personal-mode .portrait img::after { content:""; }
.personal-mode .identity { position:relative; z-index:1; margin-top:-36px; padding:1.6rem 1.4rem 0; background:#fff; border-radius:30px 30px 0 0; }
.personal-mode .overline { color:#FF6A00; font:600 .62rem "IBM Plex Mono",monospace; letter-spacing:.14em; }
.personal-mode .identity h1 { max-width:100%; margin:.55rem 0 0; font:800 clamp(1.7rem,8vw,2rem)/1.03 Archivo,sans-serif; letter-spacing:-.035em; text-transform:none; color:#0B1220; }
.personal-mode .role { margin:.5rem 0 0; color:#5a626b; font-size:.85rem; font-weight:600; }
.personal-mode .company { display:inline-flex; align-items:center; gap:8px; margin:.9rem 0 0; padding:.5rem .9rem; color:#fff; background:#0B1220; border-radius:99px; font-size:.72rem; font-weight:700; }
.personal-mode .company::before { content:""; width:7px; height:7px; border-radius:50%; background:#FF6A00; }
.personal-mode .bio { display:block; padding:1rem 1.4rem 0; }
.personal-mode .bio>p { font-size:.88rem; color:#5a626b; }
.personal-mode .location { display:block; margin-top:.5rem; color:#9aa1a9; font-size:.64rem; }
.personal-mode .actions { padding:1.2rem 1.4rem 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.personal-mode .actions>* { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.35rem; min-height:70px; padding:16px; color:#0B1220; background:#F5F6F8; border:0; border-radius:16px; text-align:left; font-weight:700; font-size:.88rem; }
.personal-mode .actions span { font:500 .62rem "IBM Plex Mono",monospace; color:#8d96aa; letter-spacing:.1em; opacity:1; }
.personal-mode #share-button { grid-column:1/-1; margin-top:.4rem; min-height:58px; align-items:center; justify-content:center; border:0; border-radius:16px; color:#fff; background:linear-gradient(90deg,#FF6A00,#FF8A3D); font-weight:800; font-size:.95rem; box-shadow:0 14px 30px rgba(255,106,0,.3); }
.personal-mode #share-button span { display:none; }
.personal-mode .corporate-only { display:block; }
.personal-mode .corporate-qr { display:none; }
.personal-mode .socials { padding:1.2rem 1.4rem 0; display:flex; flex-direction:column; gap:0; border-top:1px solid rgba(17,22,28,.1); }
.personal-mode .socials a { display:flex; align-items:center; min-height:60px; padding:0; border:0; border-bottom:1px solid rgba(17,22,28,.1); color:#0B1220; font-size:.9rem; font-weight:600; }
.personal-mode .socials a::after { content:"↗"; margin-left:auto; color:#FF6A00; }
.personal-mode .socials a:hover { color:#FF6A00; }
.personal-mode .card-foot { padding:1rem 1.4rem 1.4rem; color:#9aa1a9; font-size:.66rem; }
.personal-mode .decor { display:none; }
.personal-mode .dock #save-contact { background:linear-gradient(90deg,#FF6A00,#FF8A3D); }
.personal-mode .dock #qr-open { background:#0B1220; color:#fff; }
.personal-mode .qr-sheet .sheet-body { display:block; }

@keyframes client-card-in { from { opacity:0; transform:translateY(28px) scale(.975); filter:blur(6px); } to { opacity:1; transform:none; filter:none; } }
@keyframes client-logo-float { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-7px) scale(1.015); } }
@keyframes client-sweep { 0%,12% { top:-2px; opacity:0; } 24%,76% { opacity:1; } 90%,100% { top:100%; opacity:0; } }
@keyframes client-qr-pulse { 0%,100% { transform:translateY(0); box-shadow:0 10px 25px rgba(0,0,0,.08); } 50% { transform:translateY(-5px); box-shadow:0 18px 34px color-mix(in srgb,var(--accent),transparent 70%); } }
@keyframes client-stripe { to { background-position:102px 0; } }
@keyframes client-signal { 0% { box-shadow:0 0 0 0 color-mix(in srgb,var(--accent),transparent 25%); } 70%,100% { box-shadow:0 0 0 9px transparent; } }
@keyframes client-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

@media (max-width:760px) {
  .client-mode .stage,.personal-mode .stage { padding-top:4.7rem; }
  .client-mode .profile-card,.personal-mode .profile-card { min-height:calc(100svh - 4.7rem); grid-template-columns:1fr; grid-template-rows:auto; margin:0; border-radius:0; box-shadow:none; }
  .client-mode .portrait,.personal-mode .portrait { height:230px; border-radius:0; }
  .client-mode .identity,.personal-mode .identity { margin-top:-32px; padding:1.5rem 1.25rem 0; border-radius:26px 26px 0 0; }
  .client-mode .actions,.personal-mode .actions { padding:1.1rem 1.25rem 0; }
  .client-mode .socials,.personal-mode .socials { padding:1.1rem 1.25rem 0; }
  .client-mode .bio,.personal-mode .bio { padding:.9rem 1.25rem 0; }
  .client-mode .card-foot,.personal-mode .card-foot { padding:.9rem 1.25rem 1.1rem; }
  .personal-mode .portrait img { top:1.2rem; left:1.25rem; width:96px; height:96px; }
  .personal-mode .actions { grid-template-columns:1fr 1fr; display:grid; }
  .personal-mode .actions>* { min-height:66px; padding:14px; }
  .personal-mode #share-button { grid-column:1/-1; }
  .dock { width:100%; border-radius:0; padding:12px 16px 24px; }
  .qr-sheet .sheet-body { padding:22px 18px 28px; border-radius:24px 24px 0 0; }
  .qr-sheet img { width:180px; height:180px; }
}
