
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-display:swap;src:url('../webfonts/bricolage.woff2') format('woff2')}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 500;font-display:swap;src:url('../webfonts/dmsans.woff2') format('woff2')}
:root{
  --bg-pink-100:#feedf6;
  --bg-pink-200:#fcdce7;
  --bg-pink-300:#f7c6db;
  --bg-pink-deep:#f5a8ca;
  --lilac:#eae6f9;
  --lilac-strong:#d7dbf7;

  --panel:#fffeff;
  --panel-50:#fef6f9;
  --panel-strong:#fce8ef;

  --accent:#ea4f97;
  --accent-deep:#e1307e;
  --red:#fa5c74;
  --red-strong:#fa4b63;
  --orange:#fd793d;
  --orange-strong:#f46823;
  --like:#ff4f5e;
  --indigo:#c9ccf2;
  --push-deep:linear-gradient(95deg,var(--orange),var(--red) 55%,var(--accent));

  --fg:#282630;
  --fg-50:#6b6273;
  --dim:#9b929f;
  --rule:#f1dae2;

  --invert:#fffeff;
  --light:#fffeff;
  --positive:#8dc8a7;
  --rule-50:rgba(255,254,255,.9);
  --panel-wash:rgba(255,254,255,.93);
  --veil:rgba(40,38,48,.51);
  --foot-wash:#282630;
  --foot:#d8d3df;
  --foot-strong:#fffeff;
  --foot-50:#a99db3;
  --foot-border:rgba(255,254,255,.08);

  --rnd-sm:14px;
  --rnd-md:20px;
  --rnd-lg:28px;
  --rnd-xl:36px;
  --rnd-pill:999px;
  --rnd-btn:10px;

  --shade-sm:0 6px 16px -8px rgba(234,79,151,.36);
  --shade-md:0 18px 38px -18px rgba(234,79,151,.41);
  --shade-lg:0 30px 60px -24px rgba(225,48,126,.43);

  --headline:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;

  --container:1200px;
  --inset:10px;
  --sy:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  color:var(--fg);background:linear-gradient(180deg, #fbf3f4 0%, #fffeff 30%, #fffeff 100%);font-family:var(--sans);line-height:1.6;
  background-attachment:fixed;
  margin:0;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
.menu-link{font-weight:600;font-size:.96rem;padding:9px 14px;transition:background .18s,color .18s;border-radius:var(--rnd-pill);color:var(--fg)}
.menu-link:hover{background:var(--panel-strong);color:var(--accent-deep)}
.menu-destello{gap:7px;font-weight:600;cursor:pointer;display:inline-flex;padding:9px 12px;color:var(--fg);font-size:.96rem;background:none;align-items:center;position:relative;border:none;transition:background .18s ease,color .18s ease;border-radius:var(--rnd-pill);text-decoration:none}
.menu-destello:hover{background:var(--panel-strong);color:var(--accent-deep)}
.menu-destello svg{color:var(--accent);height:20px;width:20px}
.menu-destello:hover svg{color:var(--accent-deep)}
.menu-destello-parrafo{white-space:nowrap}
.menu-destello .messenger-pildora{top:auto;right:auto;position:static}
.menu-destello-mobile{color:var(--fg);text-align:left;background:none;align-items:center;width:100%;text-decoration:none;padding:14px 2px;border:none;font-weight:600;cursor:pointer;gap:9px;display:flex;border-bottom:1px solid var(--rule);font-size:15px}
.menu-destello-mobile:hover{color:var(--accent-deep)}
.menu-destello-mobile svg{color:var(--accent);width:18px;height:18px}
.peek-rail{flex:none;align-items:center;display:inline-flex}
.peek-rail img{margin-left:-13px;border-radius:50%;object-fit:cover;box-shadow:var(--shade-sm);border:2px solid var(--invert);width:38px;height:38px}
.peek-rail img:first-child{margin-left:0}
.peek-titulo{flex:1 1 auto;overflow-wrap:break-word;text-align:center;white-space:normal}
.peek-fwd{display:inline-flex;flex:none;align-items:center}
.peek-fwd svg{width:20px;height:20px}
.accent{background:linear-gradient(92deg,var(--accent),var(--red) 60%,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.lead{color:var(--fg-50);margin-top:14px;font-size:1.06rem}




.personas-layout{display:grid;gap:5px;grid-template-columns:repeat(4,1fr)}
button{font-family:inherit}
:focus-visible{border-radius:6px;outline:3px solid var(--accent);outline-offset:2px}
.menu-overlay{visibility:hidden;z-index:1090;transition:opacity .3s ease;position:fixed;background:var(--veil);opacity:0;inset:0}
.menu-overlay.current{visibility:visible;opacity:1}
.icon-ticked svg{fill:currentColor;stroke:none}
h1,h2,h3,h4{margin:0;letter-spacing:-.01em;color:var(--fg);font-family:var(--headline);line-height:1.12}

.hamburguesa{cursor:pointer;background:none;display:none;z-index:1105;flex-direction:column;gap:5px;border:none;padding:6px}
.hamburguesa span{display:block;height:3px;transition:transform .3s ease,opacity .3s ease;background:var(--fg);border-radius:2px;width:26px}
.hamburguesa.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.hamburguesa.current span:nth-child(2){opacity:0}
.hamburguesa.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.bloque{padding-block:var(--sy)}
.bloque-alt{background:var(--panel-strong)}
ul{list-style:none;padding:0;margin:0}
.aside-mobile{height:100vh;top:0;position:fixed;padding:84px 22px 22px;right:-100%;height:100dvh;z-index:1100;overflow-y:auto;max-width:320px;box-shadow:-6px 0 30px rgba(40,38,48,.2);background:var(--panel);width:80%;transition:right .3s ease}
.aside-mobile.current{right:0}
.aside-mobile nav{flex-direction:column;display:flex}
.aside-mobile a:not(.btn){color:var(--fg);padding:14px 2px;font-weight:600;font-size:15px;border-bottom:1px solid var(--rule)}
.aside-mobile a:not(.btn):hover{color:var(--accent-deep)}
.aside-mobile a.btn{margin-top:22px}

.interior{max-width:var(--container);margin-inline:auto;padding-inline:var(--inset)}

.main-navbar{border-bottom:1px solid var(--rule);position:sticky;z-index:60;top:0;background:var(--panel)}
.main-navbar-body{align-items:center;padding-block:12px;justify-content:space-between;gap:20px;display:flex}
p{margin:0}
figure{margin:0}
.heading-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.main-menu{gap:8px;display:flex;margin-left:auto;align-items:center}
.ruta a:hover{color:var(--accent-deep)}
::selection{background:rgba(234,79,151,.21)}

.btn{
  display:inline-flex;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;cursor:pointer;text-align:center;
  justify-content:center;font-weight:700;padding:14px 26px;font-size:1rem;
  white-space:nowrap;border:1.5px solid transparent;gap:9px;border-radius:var(--rnd-btn);
  align-items:center;
}
.btn svg{width:18px;height:18px}
.btn-xs{font-size:.9rem;padding:10px 18px}
.btn-stretch{width:100%}
.btn-cta{color:var(--invert);box-shadow:0 14px 26px -12px rgba(250,75,99,.73);background:linear-gradient(95deg,var(--orange),var(--red) 55%,var(--accent))}
.btn-cta:hover{transform:translateY(-2px);color:var(--invert);box-shadow:0 20px 34px -12px rgba(250,75,99,.85);background:var(--push-deep)}
.btn-secondary{border-color:var(--rule);background:var(--panel);color:var(--accent)}
.btn-secondary:hover{background:var(--panel-strong);color:var(--accent-deep);transform:translateY(-2px)}
.btn-plain{color:var(--accent-deep);background:var(--light)}
.btn-plain:hover{box-shadow:var(--shade-md);color:var(--accent-deep);transform:translateY(-2px)}
.btn.peek{display:flex;padding-inline:16px;margin:0 auto 26px;justify-content:space-between;gap:12px;max-width:540px}
svg{display:block}
.section-head{max-width:640px;text-align:center;margin:0 auto 30px}
.distintivo,.menu-link,.aside-mobile a,.btn,.ruta a,.main-abajo a,.local-links a{text-decoration:none}
.distintivo{font-family:var(--headline);display:flex;color:var(--fg);font-weight:800;align-items:center;font-size:1.28rem;gap:11px;letter-spacing:-.02em}
.distintivo:hover{color:var(--fg)}
.distintivo-logo{border-radius:14px;align-items:center;justify-content:center;width:42px;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(234,79,151,.82);display:inline-flex;height:42px;color:var(--invert);background:linear-gradient(135deg,var(--accent),var(--red) 55%,var(--orange))}
.distintivo-logo svg{height:22px;width:22px}
.persona-tile{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;border-radius:var(--rnd-lg);border:1px solid var(--rule-50);position:relative;cursor:pointer;overflow:hidden;background:var(--panel)}
.persona-tile:hover{z-index:3;box-shadow:var(--shade-lg);transform:translateY(-8px) scale(1.02)}
.persona-rostro{overflow:hidden;display:block;background:linear-gradient(160deg,var(--bg-pink-200),var(--lilac-strong));aspect-ratio:3/4;position:relative}
.persona-rostro img{transition:transform .5s ease,filter .3s ease;width:100%;display:block;object-fit:cover;height:100%}
.persona-tile:hover .persona-rostro img{filter:brightness(.7);transform:scale(1.1)}
.persona-pildora{border:1px solid #5c99d9;padding:5px 9px;color:#ecf6ff;gap:6px;font-weight:800;top:10px;font-size:.68rem;align-items:center;display:inline-flex;letter-spacing:.05em;z-index:3;box-shadow:0 2px 8px rgba(0,0,1,.19);right:10px;background:linear-gradient(135deg,#0f2c48,#081e34);border-radius:var(--rnd-pill);position:absolute}
.persona-pildora .round{position:relative;font-size:0;width:8px;background:var(--positive);border-radius:50%;height:8px;color:transparent;box-shadow:0 0 6px rgba(141,200,167,.69)}
.persona-pildora .round::after{content:"";animation:shimmer 1.8s ease-out infinite;position:absolute;background:var(--positive);border-radius:50%;inset:0}
.persona-body{position:absolute;left:0;transition:opacity .3s ease;padding:20px 15px 15px;text-align:left;background:linear-gradient(to top,rgba(0,0,1,.96),rgba(0,0,1,.69) 55%,rgba(0,0,1,0));right:0;z-index:2;bottom:0}
.persona-tile:hover .persona-body{opacity:0}
.persona-subtitulo{font-size:.68rem;align-items:center;box-shadow:0 2px 8px rgba(0,0,1,.19);letter-spacing:.02em;background:rgba(21,47,42,.93);padding:4px 9px;color:#edfbf5;border-radius:var(--rnd-pill);font-weight:700;display:inline-flex;margin-bottom:8px;border:1px solid rgba(75,118,108,.9);gap:5px}
.persona-subtitulo svg{height:14px;width:14px;color:#a8e6cf}
.persona-titulo{font-family:var(--headline);font-weight:800;line-height:1.2;color:#fffeff;font-size:1.32rem}
.persona-titulo span{font-weight:600;font-size:.86rem;color:rgba(255,254,255,.84)}
.persona-addr{gap:6px;align-items:center;color:rgba(255,254,255,.9);font-size:.82rem;display:flex;margin-top:3px}
.persona-addr .locator svg{height:14px;width:14px;color:#fffeff}

.persona-addr{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block}
.persona-addr .locator{display:inline-flex;vertical-align:middle;margin-right:6px}
.persona-destello{display:grid;color:#fffeff;height:34px;cursor:pointer;width:34px;background:rgba(0,0,1,.43);z-index:6;border-radius:50%;top:10px;border:none;place-items:center;left:10px;box-shadow:0 2px 8px rgba(0,0,1,.28);transition:transform .2s ease,background .2s ease,color .2s ease;position:absolute}
.persona-destello svg{width:18px;height:18px}
.persona-destello:hover{transform:scale(1.1);background:rgba(0,0,1,.59)}
.persona-destello.ticked{background:var(--red);color:var(--invert)}
.persona-destello.ticked svg{fill:currentColor}
@media(max-width:768px){.persona-destello{top:8px;left:8px;width:30px;height:30px}.persona-destello svg{width:16px;height:16px}.persona-pildora{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.persona-pildora .round{width:6px;height:6px}.persona-tile .persona-body{padding:10px 9px 9px}.persona-subtitulo{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.persona-subtitulo svg{width:12px;height:12px}.persona-titulo{font-size:.92rem;line-height:1.2;padding-right:40px}.persona-titulo span{font-size:.72rem;white-space:nowrap}.persona-addr{font-size:.72rem;gap:4px;margin-top:2px;padding-right:40px}.persona-addr .locator svg{width:12px;height:12px}}
@keyframes shimmer{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}

.round{color:var(--positive);line-height:1;font-size:.6rem}
.persona-shot-destello{top:14px;right:14px;width:46px;left:auto;height:46px}
.persona-shot-destello svg{height:21px;width:21px}
.persona-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:22px;gap:clamp(24px,4vw,52px);display:grid;align-items:start}
.persona-side{min-width:0}
.persona-shot{background:linear-gradient(160deg,var(--bg-pink-200),var(--lilac-strong));border-radius:var(--rnd-sm);position:relative;margin:0;overflow:hidden;box-shadow:var(--shade-md)}
.persona-shot img{width:100%;height:auto;aspect-ratio:4/5;display:block;object-fit:cover}

.persona-link{margin-top:11px;gap:6px;align-items:center;box-shadow:var(--shade-sm);font-weight:700;justify-content:center;width:100%;font-size:.82rem;border-radius:var(--rnd-pill);background:linear-gradient(135deg,var(--accent),var(--red));color:var(--invert);display:inline-flex;padding:5px 14px}
.persona-link svg{height:15px;width:15px}
.persona-alt:hover .persona-body{opacity:1}
.persona-aside{position:sticky;top:96px}

.intro{margin-top:18px}
.intro-titulo{color:var(--fg);gap:7px;font-family:var(--headline);font-weight:800;align-items:center;margin:0 0 8px;font-size:1rem;display:flex}
.intro .lead{color:var(--fg-50);padding:13px 16px;border-left:3px solid var(--accent);font-style:italic;background:var(--panel-strong);margin:0;border-radius:0 var(--rnd-md) var(--rnd-md) 0}
.week{border:1px solid var(--rule);border-radius:var(--rnd-md);background:var(--panel-strong);margin-top:16px;padding:14px}
.week-titulo{display:flex;margin:0 0 12px;color:var(--accent-deep);letter-spacing:.05em;font-weight:800;align-items:center;gap:7px;font-size:.82rem;text-transform:uppercase}
.week-titulo svg{width:16px;height:16px;flex:none;color:var(--accent)}
.week-rail{list-style:none;margin:0 0 14px;padding:0;gap:5px;display:flex}
.week-item{gap:6px;border-radius:11px;padding:7px 1px;border:1px solid var(--rule);background:#fffeff;flex:1 1 0;flex-direction:column;align-items:center;min-width:0;display:flex}
.week-subtitulo{font-weight:800;font-size:.6rem;color:var(--dim);text-transform:uppercase;letter-spacing:.02em}
.week-round{background:#d4d4e4;border-radius:50%;height:7px;width:7px}
.week-item.ticked{border-color:var(--accent);background:var(--bg-pink-200)}
.week-item.ticked .week-subtitulo{color:var(--accent-deep)}
.week-item.ticked .week-round{background:var(--positive);box-shadow:0 0 0 3px rgba(141,200,167,.28)}
.week-list{flex-direction:column;display:flex;padding:0;gap:12px;list-style:none;margin:0}
.week-list li{align-items:center;display:flex;gap:11px}
.week-icon{display:grid;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--red));flex:none;height:34px;color:#fffeff;place-items:center;width:34px}
.week-icon svg{height:16px;width:16px}
.week-parrafo{min-width:0;flex-direction:column;display:flex;line-height:1.2}
.week-parrafo strong{color:var(--dim);letter-spacing:.05em;text-transform:uppercase;font-size:.66rem;font-weight:800}
.week-parrafo span{font-size:.92rem;color:var(--fg);font-weight:700}

.fancy{margin-top:18px}
.fancy-titulo{color:var(--accent-deep);font-family:var(--headline);font-weight:800;margin:0 0 12px;text-transform:uppercase;letter-spacing:.07em;font-size:.95rem}
.fancy-layout{display:grid;gap:12px;grid-template-columns:1fr 1fr;align-items:stretch}
.fancy-side{border-radius:var(--rnd-md);border:1px solid;padding:14px}
.fancy-side-ticked{border-color:var(--rule);background:var(--panel-strong)}
.fancy-side-off{border-color:#e5e7f2;background:#f5f5f9}
.fancy-head{display:flex;letter-spacing:.04em;align-items:center;margin:0 0 12px;gap:7px;font-weight:800;text-transform:uppercase;font-size:.82rem}
.fancy-head svg{height:16px;flex:none;width:16px}
.fancy-side-ticked .fancy-head{color:var(--accent-deep)}
.fancy-side-off .fancy-head{color:var(--dim)}
.fancy-side ul{margin:0;display:flex;gap:11px;list-style:none;padding:0;flex-direction:column}
.fancy-side li{font-size:.88rem;line-height:1.25;gap:10px;display:flex;align-items:center}
.fancy-side-ticked li{color:var(--fg)}
.fancy-side-off li{color:var(--dim)}
.fancy-icon{width:30px;border-radius:50%;display:grid;place-items:center;height:30px;flex:none}
.fancy-icon svg{height:15px;width:15px}
.fancy-side-ticked .fancy-icon{color:#fffeff;background:linear-gradient(135deg,var(--accent),var(--red))}
.fancy-side-off .fancy-icon{border:1.5px solid #d8d9e7;background:#fffeff;color:#a5a9c2}
.vault{margin-top:10px}
.vault-layout{gap:8px;grid-template-columns:repeat(3,1fr);display:grid}
.vault-item{overflow:hidden;display:block;position:relative;border-radius:var(--rnd-sm);cursor:pointer;box-shadow:var(--shade-sm);aspect-ratio:3/4}
.vault-item img{object-fit:cover;width:100%;height:100%;display:block}

.vault-item:nth-child(1) img{transform:scale(1.6) rotate(2deg);filter:blur(9px) brightness(.9) contrast(1.03);object-position:50% 12%}
.vault-item:nth-child(2) img{transform:scale(-2,2) rotate(5deg);object-position:88% 42%;filter:blur(11px) brightness(.82) contrast(1.06) grayscale(.3)}
.vault-item:nth-child(3) img{filter:blur(9px) brightness(.92) sepia(.38);object-position:12% 80%;transform:scale(-1.4,1.4) rotate(8deg)}
.vault-item::after{background:linear-gradient(180deg,rgba(0,0,1,.03),rgba(0,0,1,.19));inset:0;content:"";z-index:1;position:absolute}
.vault-pildora{display:grid;z-index:2;place-items:center;inset:0;color:#fffeff;position:absolute}
.vault-pildora svg{height:26px;width:26px;filter:drop-shadow(0 2px 6px rgba(0,0,1,.59))}
.vault-item:hover::after{background:linear-gradient(180deg,rgba(0,0,1,.03),rgba(0,0,1,.21))}
@media(max-width:480px){.fancy-layout{gap:8px}.fancy-side{padding:11px 9px}.fancy-side li{font-size:.78rem;gap:7px}.fancy-head{font-size:.74rem;gap:5px}.fancy-icon{width:26px;height:26px}.fancy-icon svg{width:13px;height:13px}.fancy-titulo{font-size:.88rem}}


.flotante-modal{right:16px;transform-origin:center bottom;height:58px;width:58px;border-radius:50%;pointer-events:none;transition:opacity .3s ease;opacity:0;bottom:86px;position:fixed;z-index:84;animation:waft 2.8s ease-in-out infinite}
.flotante-modal::after{content:"";inset:0;animation:quiver 2.2s ease-out infinite;pointer-events:none;border-radius:50%;position:absolute}

.caption{text-align:center;margin-bottom:14px;padding:16px 18px;border:1px solid var(--rule-50);background:var(--panel-strong);box-shadow:var(--shade-sm);border-radius:var(--rnd-sm)}
.caption-titulo{line-height:1.1;margin:0;font-family:var(--headline);color:var(--fg);font-weight:800;font-size:1.6rem}
.caption-subtitulo{font-size:.98rem;flex-wrap:wrap;gap:4px 10px;display:flex;justify-content:center;color:var(--fg-50);margin:6px 0 0;align-items:center}
.caption-subtitulo span,.caption-subtitulo a{align-items:center;gap:4px;display:inline-flex}
.caption-subtitulo a{color:var(--accent-deep);text-decoration:none}
.caption-subtitulo a:hover{text-decoration:underline}
.caption-subtitulo svg{height:14px;color:var(--accent);width:14px}
.persona-side .btn-stretch{margin-top:14px}
@keyframes waft{0%,78%,100%{transform:rotate(0) translate3d(0,0,0)}80%{transform:rotate(-9deg) translate3d(-4px,0,0)}83%{transform:rotate(8deg) translate3d(4px,0,0)}86%{transform:rotate(-6deg) translate3d(-3px,0,0)}89%{transform:rotate(4deg) translate3d(2px,0,0)}92%{transform:rotate(-2deg) translate3d(-1px,0,0)}95%{transform:rotate(1deg) translate3d(0,0,0)}}
@keyframes quiver{0%{box-shadow:0 0 0 0 rgba(234,79,151,.51)}70%,100%{box-shadow:0 0 0 16px rgba(234,79,151,0)}}
.abajo-layout{grid-template-columns:1.6fr 1fr 1fr;display:grid;gap:40px}
.abajo-distintivo{gap:10px;font-family:var(--headline);font-weight:800;margin-bottom:12px;align-items:center;display:flex;color:var(--foot-strong);font-size:1.2rem}
.abajo-side>p:not(.abajo-titulo){max-width:34ch;font-size:.94rem;color:var(--foot-50)}
.abajo-titulo{color:var(--foot-strong);font-size:1rem;font-weight:800;margin-bottom:14px}
.abajo-links{display:grid;font-size:.94rem;gap:10px}

.busqueda-form{display:flex;margin:0 auto;gap:12px;box-shadow:var(--shade-md);background:var(--panel);border-radius:var(--rnd-pill);border:1px solid var(--rule-50);padding:12px}
.busqueda-form .textbox{background:transparent;font-size:1.06rem;border:none;box-shadow:none}
.busqueda-form .textbox:focus{box-shadow:none}
.busqueda-form+.local{margin-top:40px}

.main-abajo{background:var(--foot-wash);color:var(--foot)}
.main-abajo .interior{padding-block:56px 22px}
.main-abajo a{color:var(--foot)}
.main-abajo a:hover{color:var(--foot-strong)}
.textbox-row{gap:18px;grid-template-columns:1fr 1fr;display:grid}
.textbox{color:var(--fg);font-family:inherit;font-size:1rem;transition:border-color .16s,box-shadow .16s;padding:13px 16px;border-radius:var(--rnd-sm);width:100%;border:1.5px solid var(--rule);background:var(--panel-50)}
.textbox:focus{outline:none;box-shadow:0 0 0 3px rgba(234,79,151,.17);border-color:var(--accent)}
textarea.textbox{resize:vertical;min-height:140px}
.area-tile{border-radius:var(--rnd-lg);background:var(--lilac);border:1px solid var(--rule-50);aspect-ratio:4/3;position:relative;box-shadow:var(--shade-md);overflow:hidden}
.area-tile.area-later{cursor:pointer}
.area-holder{text-align:center;gap:10px;background:linear-gradient(160deg,var(--lilac-strong),var(--panel-strong));display:grid;inset:0;place-items:center;position:absolute;padding:20px}
.area-holder p{font-weight:700;color:var(--fg)}
.area-locator{color:var(--red);filter:drop-shadow(0 10px 12px rgba(250,75,99,.51))}
.area-locator svg{width:40px;fill:currentColor;stroke:none;height:40px}
.area-tile iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.area-tile.is-ready .area-holder{display:none}
.legal{font-size:.86rem;margin-top:34px;padding-top:22px;border-top:1px solid var(--foot-border);color:var(--foot-50)}

.messenger-pildora{font-size:.72rem;color:var(--invert);box-shadow:var(--shade-sm);border-radius:var(--rnd-pill);font-weight:800;border:2px solid var(--panel);padding:0 6px;display:grid;line-height:1;min-width:22px;position:absolute;top:-3px;place-items:center;right:-3px;background:var(--like);height:22px}
.messenger-pildora[hidden]{display:none}

.form-box{max-width:640px}
.form-holder{height:1px;position:absolute;overflow:hidden;left:-9999px;width:1px}

.page-portada{padding-block:clamp(40px,6vw,80px) 20px}
.page-portada h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.page-portada p{margin:16px auto 0;color:var(--fg-50);font-size:1.08rem}
.ruta{gap:6px;font-size:.86rem;color:var(--dim);justify-content:flex-start;flex-wrap:wrap;margin-bottom:14px;display:flex}
.ruta li:not(:last-child)::after{color:var(--dim);content:"\00203a";margin-left:6px}
.ruta a{color:var(--fg-50)}
.ruta:has(+ .section-head){justify-content:center}


.info-metrics{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.flotante-modal-rostro{display:block;object-fit:cover;border-radius:50%;border:3px solid var(--panel);box-shadow:0 12px 26px -8px rgba(0,0,1,.46);height:100%;width:100%}
.flotante-modal-round{position:absolute;color:var(--invert);border-radius:50%;display:grid;width:23px;place-items:center;top:-3px;border:2px solid var(--panel);height:23px;background:linear-gradient(135deg,var(--accent),var(--red));box-shadow:var(--shade-sm);right:-3px}
.flotante-modal-round svg{width:12px;height:12px}

.local{display:flex;gap:32px;flex-direction:column}
.local-set h2{color:var(--fg);font-size:1.15rem;margin-bottom:16px;font-weight:800}
.local-links{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}
.local-links a{display:flex;box-shadow:var(--shade-sm);border:1px solid var(--rule);padding:13px 16px;gap:10px;color:var(--fg);font-size:.92rem;font-weight:600;transition:transform .14s,box-shadow .14s,color .14s;align-items:center;justify-content:space-between;border-radius:var(--rnd-md);background:var(--panel)}
.local-links a:hover{color:var(--accent-deep);transform:translateY(-3px);box-shadow:var(--shade-md)}
.local-links a .locator{align-items:center;color:var(--accent);white-space:nowrap;font-size:.82rem;display:inline-flex;flex:none;gap:4px;font-weight:700}
.local-links a .locator svg{width:14px;height:14px}
.metric{border-radius:var(--rnd-md);gap:12px;padding:14px 16px;display:flex;background:var(--panel);align-items:center;box-shadow:var(--shade-sm);border:1px solid var(--rule-50)}
.metric-icon{height:40px;flex:none;display:grid;border-radius:12px;place-items:center;width:40px;color:var(--accent);background:var(--panel-strong)}
.metric-icon svg{width:18px;height:18px}
.metric-parrafo dt{font-size:.78rem;color:var(--dim);letter-spacing:.05em;text-transform:uppercase}
.metric-parrafo dd{font-family:var(--headline);margin:2px 0 0;font-weight:800;font-size:.98rem}

.holder{text-align:center;padding-block:clamp(60px,10vw,140px)}
.holder-idx{font-family:var(--headline);font-weight:800;line-height:.9;font-size:clamp(6rem,20vw,13rem)}
.holder-set{flex-wrap:wrap;gap:14px;display:flex;justify-content:center;margin-top:30px}

.form{box-shadow:var(--shade-md);border-radius:var(--rnd-lg);border:1px solid var(--rule-50);background:var(--panel);padding:clamp(24px,3vw,40px)}
.form-item{margin-bottom:18px;gap:7px;display:grid}
.form-item label{font-weight:700;font-size:.92rem}

.persona-shot .persona-shot-pildora{top:12px;left:12px;right:auto}
.persona-aside .lead{margin-top:18px}

.pagina{align-items:center;gap:clamp(28px,4vw,56px);display:grid;grid-template-columns:1fr 1fr}
.form-pequeno{font-weight:700}
.form-pequeno-ticked{color:var(--positive)}
.form-pequeno-off{color:var(--accent-deep)}


.hub{left:0;justify-content:center;z-index:80;position:fixed;display:flex;pointer-events:none;right:0;padding:0 12px;bottom:14px}
.hub-body{border-radius:22px;max-width:calc(100vw - 24px);display:flex;align-items:center;background:rgba(20,14,29,.88);gap:7px;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);padding:6px 12px;pointer-events:auto;border:1px solid rgba(255,254,255,.08);box-shadow:0 14px 40px -10px rgba(0,0,1,.51)}
.hub-item{font-size:.6rem;padding:5px 7px;transition:color .15s ease,background .15s ease;gap:3px;flex-direction:column;min-width:50px;border-radius:13px;font-weight:700;justify-content:center;align-items:center;text-decoration:none;position:relative;color:rgba(255,254,255,.8);display:flex}
.hub-item:hover{color:#fffeff;background:rgba(255,254,255,.08)}
.hub-item svg{height:21px;width:21px}
.hub-conteo{border-radius:var(--rnd-pill);border:2px solid rgba(20,14,29,.96);line-height:15px;font-size:.56rem;text-align:center;color:#fffeff;min-width:15px;padding:0 4px;height:15px;background:var(--like);font-weight:800;position:absolute;margin-left:2px;top:-2px;left:50%}
.hub-item-off{pointer-events:none;opacity:.38}
.hub-item span{white-space:nowrap}
.hub-accion{font-size:.6rem;gap:3px;flex-direction:column;display:flex;margin:0 2px;text-decoration:none;font-weight:800;align-items:center;color:#fffeff}
.hub-accion-body{border-radius:50%;box-shadow:0 8px 20px -5px rgba(250,75,99,.85);height:54px;border:3px solid rgba(20,14,29,.96);display:grid;place-items:center;margin-top:-22px;overflow:hidden;width:54px;background:linear-gradient(135deg,var(--orange),var(--red) 55%,var(--accent))}
.hub-accion-body img{object-fit:cover;height:100%;width:100%}
.hub-accion-body svg{height:24px;color:#fffeff;width:24px}

@media (max-width:980px){
  
  .interior{max-width:720px}
  .personas-layout{grid-template-columns:repeat(3,1fr)}
  .persona-layout{grid-template-columns:1fr}
  .persona-shot{width:100%;justify-self:start}
  .persona-aside{position:static}
  .pagina{grid-template-columns:1fr}
  .abajo-layout{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .main-menu{display:none}
  .hamburguesa{display:flex;position:fixed;top:18px;right:18px}
}
@media (min-width:861px){
  .aside-mobile,.menu-overlay{display:none}
}
@media (max-width:600px){
  :root{--sy:clamp(30px,7vw,48px);--inset:8px}
  
  .section-head{margin-bottom:10px}
  .bloque{padding-top:16px}
  .abajo-layout,.textbox-row{grid-template-columns:1fr}
  .personas-layout{grid-template-columns:repeat(2,1fr);gap:5px}
  .persona-tile{border-radius:var(--rnd-sm)}
  .area-tile{border-radius:var(--rnd-sm)}
  .persona-body{padding:16px 10px}
  
  .bloque-lead{padding-top:8px}
  .bloque-lead .ruta{margin-bottom:8px;font-size:.78rem}
  .busqueda-form{flex-direction:column;border-radius:var(--rnd-lg)}
  .busqueda-form .btn{width:100%}
  .bloque-persona{padding-top:0}
  .bloque-persona .ruta{margin-bottom:8px;font-size:.78rem}
  .persona-shot img{aspect-ratio:1/1;max-height:40vh}
  .vault{margin-top:8px}
  .vault-layout{gap:6px}
  .vault-item{aspect-ratio:1/1}
  .caption{padding:8px 12px;margin-bottom:8px}
  .caption-titulo{font-size:1.2rem}
  .caption-subtitulo{font-size:.85rem;margin-top:3px}
  .persona-side .btn-stretch{margin-top:8px}
  .persona-layout{margin-top:0}
  .persona-aside{display:flex;flex-direction:column;margin-top:8px}
  .persona-aside>:first-child{margin-top:4px}
  .hub{bottom:10px;padding:0 8px}
  .hub-body{max-width:calc(100vw - 16px);gap:10px;padding:5px 14px}
  .hub-item{min-width:44px;padding:3px 4px;gap:2px;font-size:.54rem}
  .hub-item svg{width:20px;height:20px}
  .hub-destello span{max-width:88px;overflow:hidden;text-overflow:ellipsis}
  .hub-accion-body{width:46px;height:46px;margin-top:-16px}
  .hub-accion-body svg{width:22px;height:22px}
  .info-metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .metric{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .metric-icon{width:34px;height:34px}
  .metric-parrafo{min-width:0}
  .metric-parrafo dd{font-size:.92rem;overflow-wrap:anywhere}
}



.vuelve-modal{backdrop-filter:blur(3px);position:fixed;align-items:center;z-index:1200;display:none;inset:0;-webkit-backdrop-filter:blur(3px);justify-content:center;background:var(--veil);padding:20px}
.vuelve-modal.is-ready{display:flex}
.vuelve-modal-tile{border-radius:var(--rnd-xl);position:relative;width:100%;animation:teeter .34s cubic-bezier(.175,.885,.32,1.275);background:var(--panel);overflow:hidden;max-width:400px;color:var(--fg);box-shadow:var(--shade-lg)}
@keyframes teeter{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.vuelve-modal-head{position:relative;background:linear-gradient(135deg,var(--orange),var(--red) 52%,var(--accent));height:92px;overflow:hidden}
.vuelve-modal-head::after{content:"";right:-18%;border-radius:50%;position:absolute;height:220%;top:-70%;width:62%;border:18px solid rgba(255,254,255,.12)}
.vuelve-modal-body{padding:0 clamp(24px,5vw,34px) clamp(24px,5vw,30px);text-align:center}
.vuelve-modal-rostro{position:relative;width:88px;margin:-44px auto 0;height:88px}
.vuelve-modal-rostro img{height:100%;object-fit:cover;border-radius:50%;box-shadow:var(--shade-md);border:4px solid var(--panel);width:100%;display:block}
.vuelve-modal-rostro::before{content:"";border-radius:50%;inset:-5px;animation:throb 2.2s ease-out infinite;position:absolute;pointer-events:none}
@keyframes throb{0%{box-shadow:0 0 0 0 rgba(234,79,151,.51)}70%,100%{box-shadow:0 0 0 13px rgba(234,79,151,0)}}
.vuelve-modal-round{right:5px;width:17px;height:17px;border-radius:50%;bottom:5px;border:3px solid var(--panel);position:absolute;background:var(--positive)}
.vuelve-modal-pretitulo{letter-spacing:.1em;font-weight:800;text-transform:uppercase;margin:14px 0 0;font-size:.73rem;color:var(--accent-deep)}
.vuelve-modal-titulo{line-height:1.16;font-size:clamp(1.3rem,3.6vw,1.62rem);margin:7px 0 0}
.vuelve-modal-addr{font-weight:700;margin:9px 0 0;font-size:.9rem;color:var(--dim)}
.vuelve-modal-parrafo{font-size:.95rem;margin:11px 0 0;color:var(--fg-50)}
.vuelve-modal-accion{font-family:var(--headline);padding:14px 22px;border-radius:var(--rnd-btn);width:100%;box-shadow:var(--shade-md);font-weight:800;margin-top:20px;justify-content:center;gap:8px;align-items:center;color:var(--invert);display:inline-flex;transition:transform .16s ease,box-shadow .16s ease;background:linear-gradient(135deg,var(--orange),var(--red) 55%,var(--accent))}
.vuelve-modal-accion:hover{transform:translateY(-2px);box-shadow:var(--shade-lg)}
.vuelve-modal-accion svg{width:18px;height:18px}
.vuelve-modal-close{width:34px;cursor:pointer;position:absolute;color:var(--fg);box-shadow:var(--shade-sm);z-index:3;background:rgba(255,254,255,.9);border-radius:50%;top:12px;place-items:center;right:12px;display:grid;border:0;height:34px}
.vuelve-modal-close svg{width:15px;height:15px}
.vuelve-modal-cancela{border:0;background:none;cursor:pointer;margin:11px auto 0;text-decoration:underline;font-size:.83rem;color:var(--dim)}
@media(max-width:640px){.vuelve-modal{display:none!important}}
